@cqa-lib/cqa-ui 1.1.343 → 1.1.344
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.
- package/esm2020/lib/execution-screen/ai-action-step/ai-action-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/ai-agent-step/ai-agent-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/api-step/api-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/basic-step/basic-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/condition-step/condition-step.component.mjs +4 -4
- package/esm2020/lib/execution-screen/db-verification-step/db-verification-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/document-verification-step/document-verification-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/failed-step/failed-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/file-download-step/file-download-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/live-execution-step/live-execution-step.component.mjs +3 -3
- package/esm2020/lib/execution-screen/loop-step/loop-step.component.mjs +4 -4
- package/esm2020/lib/execution-screen/main-step-collapse/main-step-collapse.component.mjs +3 -3
- package/esm2020/lib/execution-screen/step-group/step-group.component.mjs +4 -4
- package/fesm2015/cqa-lib-cqa-ui.mjs +29 -29
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +29 -29
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -70,10 +70,10 @@ export class FailedStepComponent extends BaseStepComponent {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
FailedStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
-
FailedStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepComponent, selector: "cqa-failed-step", inputs: { id: "id", testStepResultId: "testStepResultId", stepNumber: "stepNumber", title: "title", status: "status", duration: "duration", timingBreakdown: "timingBreakdown", expanded: "expanded", subSteps: "subSteps", failureDetails: "failureDetails", isUploadingBaseline: "isUploadingBaseline", isLive: "isLive", isDebug: "isDebug", addStepMenuOptions: "addStepMenuOptions", stepMoreMenuOptions: "stepMoreMenuOptions" }, outputs: { makeCurrentBaseline: "makeCurrentBaseline", uploadBaseline: "uploadBaseline", analyze: "analyze", viewFullLogs: "viewFullLogs", editStep: "editStep", addStepOptionSelect: "addStepOptionSelect", stepMoreOptionSelect: "stepMoreOptionSelect" }, host: { classAttribute: "cqa-ui-root cqa-w-full" }, usesInheritance: true, ngImport: i0, template: "<div class=\"cqa-w-full\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-p-2 cqa-cursor-pointer cqa-bg-[#FFFAFA]\"\n style=\"border-left: '2px solid #EF4444'\"\n (click)=\"toggle()\">\n \n <!-- Status Icon -->\n <div *ngIf=\"config.status.toLowerCase() === 'success'\" ><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.9005 4.99999C11.1289 6.12064 10.9662 7.28571 10.4395 8.30089C9.91279 9.31608 9.054 10.12 8.00631 10.5787C6.95862 11.0373 5.78536 11.1229 4.6822 10.8212C3.57904 10.5195 2.61265 9.84869 1.94419 8.92071C1.27573 7.99272 0.945611 6.86361 1.00888 5.72169C1.07215 4.57976 1.52499 3.49404 2.29188 2.64558C3.05876 1.79712 4.09334 1.23721 5.22308 1.05922C6.35282 0.881233 7.50944 1.09592 8.50005 1.66749\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 5.5L6 7L11 2\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n <div *ngIf=\"config.status.toLowerCase() === 'failure'\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 11C8.76142 11 11 8.76142 11 6C11 3.23858 8.76142 1 6 1C3.23858 1 1 3.23858 1 6C1 8.76142 3.23858 11 6 11Z\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 4.5L4.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 4.5L7.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n\n <!-- Step Number and Title -->\n <div class=\"cqa-flex-1 cqa-flex cqa-items-center cqa-gap-3\">\n <span class=\"cqa-font-bold cqa-text-[#7F1D1D] cqa-text-[11px] cqa-leading-[13px]\">\n {{ config.stepNumber }}. <span [innerHTML]=\"config.title\"></span>\n </span>\n </div>\n\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <div *ngIf=\"isDebug\" class=\"cqa-flex cqa-items-center cqa-gap-0.5 cqa-text-[#9CA3AF]\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Edit\" (click)=\"onEditStep($event)\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">edit</mat-icon>\n </button>\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Add\" [matMenuTriggerFor]=\"addStepMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">add</mat-icon>\n </button>\n <mat-menu #addStepMenu=\"matMenu\" class=\"cqa-add-step-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of addStepMenuOptions\" (click)=\"onAddStepOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"More options\" [matMenuTriggerFor]=\"stepMoreMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">more_vert</mat-icon>\n </button>\n <mat-menu #stepMoreMenu=\"matMenu\" class=\"cqa-step-more-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of stepMoreMenuOptions\" (click)=\"onStepMoreOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n </div>\n <span class=\"cqa-text-[9px] cqa-leading-[20px] cqa-font-bold cqa-text-[#B91C1C]\">\n {{ formatDuration(config.duration) }}\n </span>\n <svg [class.cqa-rotate-180]=\"isExpanded\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 3.75L5 6.25L7.5 3.75\" stroke=\"#F87171\" stroke-width=\"0.833333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n </div>\n <!-- Expanded Content -->\n <div *ngIf=\"isExpanded\" class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-p-2\" style=\"border-left: '2px solid #FAC7C7'; border-bottom: '1px solid #FEE2E2'\">\n <!-- Sub-steps -->\n <div *ngIf=\"config.subSteps && config.subSteps.length > 0\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-pl-[9px]\" style=\"border-left: 1px solid #F3F4F6;\">\n <div\n *ngFor=\"let subStep of config.subSteps\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-text-[9px] cqa-leading-[20px]\"\n [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#B91C1C]' : 'cqa-text-[#475569]'\">\n \n <!-- Failed Action Indicator -->\n <span *ngIf=\"subStep.description === config.failureDetails.failedAction\" class=\"cqa-text-[#EF4444] cqa-font-bold\">\u2022</span>\n\n <!-- Sub-step Description -->\n <span class=\"cqa-flex-1\" [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-font-medium' : ''\">\n {{ subStep.description }}\n </span>\n\n <!-- Sub-step Timestamp or Duration -->\n <span [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#FCA5A5]' : 'cqa-text-[#D1D5DB]'\">\n {{ subStep.timestamp || formatDuration(subStep.duration) }}\n </span>\n </div>\n </div>\n\n <!-- Expected vs Actual Comparison -->\n <div *ngIf=\"config.failureDetails\" class=\"cqa-grid cqa-grid-cols-2 cqa-rounded cqa-overflow-hidden cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n <!-- Expected Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-white\" style=\"border-right: 1px solid #E5E7EB;\">\n <div class=\"cqa-text-[#9CA3AF]\">EXPECTED</div>\n <div class=\"cqa-text-[#374151]\">\n {{ config.failureDetails.expected }}\n </div>\n </div>\n\n <!-- Actual Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-[#FEF8F8]\">\n <div class=\"cqa-text-[#F87171]\">ACTUAL</div>\n <div class=\"cqa-text-[#991B1B]\">\n {{ config.failureDetails.actual }}\n </div>\n </div>\n </div>\n\n <!-- Visual Comparison Component -->\n <cqa-visual-comparison\n *ngIf=\"config.failureDetails\"\n [testStepResultId]=\"testStepResultId\"\n [screenshots]=\"config.failureDetails.screenshots\"\n [logs]=\"config.failureDetails.logs\"\n (makeCurrentBaseline)=\"onMakeCurrentBaseline($event)\"\n (uploadBaseline)=\"onUploadBaseline($event)\"\n (analyze)=\"onAnalyze()\"\n [testStepResultId]=\"testStepResultId\"\n [isUploadingBaseline]=\"isUploadingBaseline\"\n [isLive]=\"isLive\"\n (viewFullLogs)=\"onViewFullLogs()\">\n </cqa-visual-comparison>\n\n <!-- AI Fix Message -->\n <div *ngIf=\"config.failureDetails.aiFixApplied\" class=\"cqa-px-3 cqa-pt-1.5 cqa-pb-2 cqa-rounded-xl cqa-border cqa-border-solid cqa-border-[#E2E8F0] cqa-bg-[#FAF5FF]\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0F172A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-3\">\n <div><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"16\" height=\"16\" rx=\"4\" fill=\"url(#paint0_linear_4070_7201)\"/><path d=\"M8.00941 3.5C8.06489 3.52274 8.08859 3.57827 8.11131 3.62985C8.12269 3.6599 8.13314 3.69012 8.14329 3.72058C8.14726 3.73225 8.15123 3.74392 8.15532 3.75594C8.20806 3.913 8.25504 4.07175 8.30229 4.23038C8.31297 4.26619 8.32369 4.30199 8.33442 4.33778C8.38905 4.52004 8.44327 4.7024 8.49719 4.88484C8.50476 4.91047 8.51234 4.93609 8.51992 4.96171C8.54128 5.03395 8.56262 5.10619 8.58383 5.17847C8.62867 5.3312 8.67473 5.48347 8.72378 5.63501C8.72807 5.64827 8.73236 5.66152 8.73677 5.67518C8.8642 6.065 9.04482 6.41437 9.3409 6.71196C9.34823 6.7197 9.35556 6.72744 9.36312 6.73541C9.4895 6.86437 9.65169 6.96771 9.8138 7.05111C9.82206 7.05542 9.83031 7.05974 9.83882 7.06419C10.3159 7.30925 10.8895 7.41704 11.4062 7.5605C11.6326 7.6234 11.8583 7.68829 12.0832 7.75603C12.099 7.76079 12.1148 7.76554 12.1306 7.77028C12.1778 7.78445 12.225 7.79887 12.2721 7.81347C12.2831 7.81679 12.2941 7.82011 12.3054 7.82353C12.3703 7.84406 12.4324 7.86829 12.4857 7.91027C12.5019 7.94418 12.5019 7.94418 12.4975 7.9781C12.4456 8.02736 12.3942 8.05046 12.3258 8.073C12.316 8.07632 12.3062 8.07965 12.2961 8.08308C12.1806 8.12183 12.0635 8.15575 11.9463 8.18935C11.9222 8.1963 11.8981 8.20326 11.8741 8.21021C11.7257 8.25301 11.5771 8.2949 11.4283 8.33632C11.2323 8.39088 11.0366 8.44634 10.8411 8.50243C10.8091 8.51162 10.7771 8.52078 10.745 8.52991C10.5767 8.57786 10.4092 8.62753 10.2431 8.68208C10.2294 8.68659 10.2156 8.6911 10.2014 8.69574C9.64511 8.88082 9.2211 9.22609 8.95571 9.73099C8.81263 10.0148 8.72823 10.3216 8.64214 10.6245C8.61884 10.7062 8.59409 10.7875 8.56905 10.8687C8.5494 10.9326 8.5302 10.9966 8.51149 11.0608C8.50926 11.0684 8.50703 11.0761 8.50473 11.0839C8.49394 11.1209 8.48319 11.1579 8.47252 11.195C8.44519 11.2888 8.41578 11.3819 8.38555 11.4749C8.33191 11.6402 8.2831 11.8067 8.23459 11.9735C8.16144 12.2246 8.16144 12.2246 8.11997 12.3453C8.11721 12.3534 8.11446 12.3615 8.11163 12.3698C8.09649 12.4128 8.08092 12.4523 8.05226 12.4887C8.00867 12.4979 8.00867 12.4979 7.96951 12.5C7.92473 12.4376 7.89508 12.3771 7.87133 12.3051C7.86787 12.2949 7.86441 12.2847 7.86085 12.2741C7.81684 12.1425 7.77751 12.0095 7.73817 11.8765C7.72916 11.846 7.72011 11.8156 7.71106 11.7852C7.6436 11.5586 7.57725 11.3317 7.51101 11.1048C7.23507 9.98224 7.23507 9.98224 6.539 9.07466C6.52784 9.06596 6.51669 9.05726 6.50519 9.0483C6.04913 8.69902 5.44834 8.5697 4.89815 8.41813C4.76207 8.38062 4.62605 8.34293 4.49003 8.30523C4.47814 8.30193 4.47814 8.30193 4.466 8.29857C4.26981 8.24417 4.07367 8.18963 3.87822 8.13283C3.86996 8.13045 3.86169 8.12806 3.85317 8.12561C3.5529 8.03883 3.5529 8.03883 3.50065 7.9781C3.49917 7.95054 3.49917 7.95054 3.51247 7.92157C3.56708 7.8704 3.62008 7.84848 3.69216 7.82619C3.7026 7.82284 3.71303 7.81948 3.72379 7.81603C3.75575 7.80582 3.78779 7.79584 3.81985 7.78592C3.829 7.78305 3.83815 7.78017 3.84758 7.77722C3.91228 7.75693 3.97722 7.7374 4.04226 7.71809C4.05824 7.71332 4.05824 7.71332 4.07454 7.70846C4.35227 7.62587 4.63181 7.549 4.91126 7.47196C5.1195 7.41455 5.32738 7.35618 5.5346 7.29548C5.54413 7.29271 5.55365 7.28993 5.56346 7.28707C6.0435 7.14696 6.51278 6.94816 6.82274 6.5537C6.82738 6.54785 6.83202 6.542 6.8368 6.53597C7.18197 6.09815 7.31658 5.56572 7.46696 5.04621C7.51642 4.87535 7.56649 4.70464 7.61673 4.53399C7.63064 4.48673 7.64453 4.43947 7.65836 4.39219C7.71394 4.20229 7.77035 4.01264 7.83 3.82386C7.83558 3.80619 7.84114 3.7885 7.84666 3.77081C7.93017 3.50399 7.93017 3.50399 8.00941 3.5Z\" fill=\"white\"/><path d=\"M10.7358 4.05535C10.7901 4.11409 10.801 4.18312 10.8179 4.25813C10.8742 4.49376 10.9392 4.71042 11.1645 4.8473C11.3036 4.92083 11.4693 4.9543 11.6234 4.9859C11.6884 4.99951 11.7434 5.01758 11.7991 5.0537C11.8117 5.07278 11.8117 5.07278 11.8109 5.10598C11.798 5.14637 11.7867 5.15939 11.7526 5.18582C11.7153 5.19775 11.7153 5.19775 11.6706 5.20702C11.6536 5.21074 11.6367 5.21449 11.6198 5.21828C11.6107 5.22029 11.6017 5.2223 11.5924 5.22437C11.3168 5.28531 11.3168 5.28531 11.0787 5.42322C11.071 5.42918 11.0632 5.43514 11.0552 5.44128C10.885 5.58479 10.849 5.82351 10.7978 6.0235C10.7949 6.03448 10.7919 6.04546 10.7889 6.05678C10.7864 6.0665 10.7838 6.07622 10.7812 6.08624C10.7702 6.11593 10.7587 6.13528 10.7358 6.15803C10.6722 6.16576 10.6722 6.16576 10.6413 6.15803C10.592 6.12155 10.581 6.07999 10.5682 6.02414C10.566 6.01549 10.5639 6.00685 10.5616 5.99794C10.5548 5.97032 10.5481 5.94266 10.5415 5.91498C10.4897 5.69946 10.4311 5.488 10.2244 5.36167C10.0628 5.2755 9.86634 5.23475 9.68575 5.20185C9.63625 5.19199 9.60789 5.1796 9.57725 5.1406C9.5706 5.10104 9.5706 5.10104 9.57725 5.06147C9.62435 5.01486 9.6739 5.00348 9.73759 4.9894C9.75766 4.98465 9.77772 4.97987 9.79777 4.97505C9.80813 4.97258 9.81849 4.97011 9.82917 4.96756C9.882 4.95456 9.93431 4.93998 9.9866 4.92511C9.99611 4.92247 10.0056 4.91984 10.0154 4.91712C10.1217 4.88673 10.2134 4.84786 10.2984 4.77885C10.3063 4.77261 10.3143 4.76638 10.3224 4.75995C10.4547 4.64614 10.4996 4.47516 10.5404 4.31562C10.5435 4.30351 10.5466 4.2914 10.5498 4.27892C10.556 4.25459 10.5621 4.23023 10.5681 4.20585C10.5723 4.18888 10.5723 4.18888 10.5767 4.17157C10.5791 4.16144 10.5816 4.1513 10.5842 4.14086C10.5951 4.1086 10.6094 4.08326 10.6294 4.05535C10.668 4.03692 10.695 4.04525 10.7358 4.05535Z\" fill=\"#EDE9FE\"/><path d=\"M5.29554 9.74722C5.3096 9.74731 5.3096 9.74731 5.32395 9.74741C5.42486 9.75035 5.49314 9.78127 5.56745 9.84613C5.65393 9.93545 5.69386 10.0362 5.69159 10.1566C5.68188 10.2542 5.62167 10.3395 5.54782 10.4055C5.4609 10.4725 5.37322 10.4947 5.26215 10.4916C5.1685 10.4812 5.08039 10.4386 5.01402 10.3746C4.93147 10.2669 4.90734 10.1682 4.91944 10.0355C4.94443 9.93104 5.01646 9.84625 5.1086 9.78678C5.1726 9.75576 5.22408 9.74665 5.29554 9.74722Z\" fill=\"white\"/><defs><linearGradient id=\"paint0_linear_4070_7201\" x1=\"0\" y1=\"0\" x2=\"16\" y2=\"16\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#8B5CF6\"/><stop offset=\"1\" stop-color=\"#9333EA\"/></linearGradient></defs></svg></div>\n {{ config.failureDetails.aiFixMessage || 'AI Insights' }}\n <span class=\"cqa-inline-block cqa-py-[2px] cqa-px-[10px] cqa-text-center cqa-rounded-[5px] cqa-bg-[#EDE9FE] cqa-text-[8px] cqa-leading-[12px] cqa-text-[#6D28D9]\">94% confidence</span>\n </div>\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Reasoning</div>\n <ul class=\"cqa-flex cqa-flex-col cqa-gap-1.5\">\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Stale state: test attribute as primary locator (highest priority)\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Confidence score: 94% based on DOM similarity analysis\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Increased wait time from 2s to 5s due to button latency\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Environment binding: speed of assets by 20% through optimized caching\n </li>\n </ul>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Suggested Fixes</div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Update locator to use data-testid='registration-submit' instead of #submit-btn\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Add explicit wait for network idle before clicking submit\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Consider adding retry logic for form submission step\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i3.VisualComparisonComponent, selector: "cqa-visual-comparison", inputs: ["screenshots", "logs", "showFullLogsLink", "isUploadingBaseline", "isMakingCurrentBaseline", "isLive", "testStepResultId"], outputs: ["makeCurrentBaseline", "uploadBaseline", "analyze", "viewFullLogs"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
73
|
+
FailedStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepComponent, selector: "cqa-failed-step", inputs: { id: "id", testStepResultId: "testStepResultId", stepNumber: "stepNumber", title: "title", status: "status", duration: "duration", timingBreakdown: "timingBreakdown", expanded: "expanded", subSteps: "subSteps", failureDetails: "failureDetails", isUploadingBaseline: "isUploadingBaseline", isLive: "isLive", isDebug: "isDebug", addStepMenuOptions: "addStepMenuOptions", stepMoreMenuOptions: "stepMoreMenuOptions" }, outputs: { makeCurrentBaseline: "makeCurrentBaseline", uploadBaseline: "uploadBaseline", analyze: "analyze", viewFullLogs: "viewFullLogs", editStep: "editStep", addStepOptionSelect: "addStepOptionSelect", stepMoreOptionSelect: "stepMoreOptionSelect" }, host: { classAttribute: "cqa-ui-root cqa-w-full" }, usesInheritance: true, ngImport: i0, template: "<div class=\"cqa-w-full\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-p-2 cqa-cursor-pointer cqa-bg-[#FFFAFA]\"\n style=\"border-left: '2px solid #EF4444'\"\n (click)=\"toggle()\">\n \n <!-- Status Icon -->\n <div *ngIf=\"config.status.toLowerCase() === 'success'\" ><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.9005 4.99999C11.1289 6.12064 10.9662 7.28571 10.4395 8.30089C9.91279 9.31608 9.054 10.12 8.00631 10.5787C6.95862 11.0373 5.78536 11.1229 4.6822 10.8212C3.57904 10.5195 2.61265 9.84869 1.94419 8.92071C1.27573 7.99272 0.945611 6.86361 1.00888 5.72169C1.07215 4.57976 1.52499 3.49404 2.29188 2.64558C3.05876 1.79712 4.09334 1.23721 5.22308 1.05922C6.35282 0.881233 7.50944 1.09592 8.50005 1.66749\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 5.5L6 7L11 2\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n <div *ngIf=\"config.status.toLowerCase() === 'failure'\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 11C8.76142 11 11 8.76142 11 6C11 3.23858 8.76142 1 6 1C3.23858 1 1 3.23858 1 6C1 8.76142 3.23858 11 6 11Z\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 4.5L4.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 4.5L7.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n\n <!-- Step Number and Title -->\n <div class=\"cqa-flex-1 cqa-flex cqa-items-center cqa-gap-3\">\n <span class=\"cqa-font-bold cqa-text-[#7F1D1D] cqa-text-[11px] cqa-leading-[13px]\">\n {{ config.stepNumber }}. <span [innerHTML]=\"config.title\"></span>\n </span>\n </div>\n\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <div *ngIf=\"isDebug\" class=\"cqa-flex cqa-items-center cqa-gap-0.5 cqa-text-[#9CA3AF]\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Edit\" (click)=\"onEditStep($event)\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">edit</mat-icon>\n </button>\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Add\" [matMenuTriggerFor]=\"addStepMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">add</mat-icon>\n </button>\n <mat-menu #addStepMenu=\"matMenu\" class=\"cqa-add-step-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of addStepMenuOptions\" (click)=\"onAddStepOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n <button *ngIf=\"stepMoreMenuOptions.length\" type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"More options\" [matMenuTriggerFor]=\"stepMoreMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">more_vert</mat-icon>\n </button>\n <mat-menu #stepMoreMenu=\"matMenu\" class=\"cqa-step-more-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of stepMoreMenuOptions\" (click)=\"onStepMoreOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n </div>\n <span class=\"cqa-text-[9px] cqa-leading-[20px] cqa-font-bold cqa-text-[#B91C1C]\">\n {{ formatDuration(config.duration) }}\n </span>\n <svg [class.cqa-rotate-180]=\"isExpanded\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 3.75L5 6.25L7.5 3.75\" stroke=\"#F87171\" stroke-width=\"0.833333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n </div>\n <!-- Expanded Content -->\n <div *ngIf=\"isExpanded\" class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-p-2\" style=\"border-left: '2px solid #FAC7C7'; border-bottom: '1px solid #FEE2E2'\">\n <!-- Sub-steps -->\n <div *ngIf=\"config.subSteps && config.subSteps.length > 0\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-pl-[9px]\" style=\"border-left: 1px solid #F3F4F6;\">\n <div\n *ngFor=\"let subStep of config.subSteps\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-text-[9px] cqa-leading-[20px]\"\n [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#B91C1C]' : 'cqa-text-[#475569]'\">\n \n <!-- Failed Action Indicator -->\n <span *ngIf=\"subStep.description === config.failureDetails.failedAction\" class=\"cqa-text-[#EF4444] cqa-font-bold\">\u2022</span>\n\n <!-- Sub-step Description -->\n <span class=\"cqa-flex-1\" [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-font-medium' : ''\">\n {{ subStep.description }}\n </span>\n\n <!-- Sub-step Timestamp or Duration -->\n <span [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#FCA5A5]' : 'cqa-text-[#D1D5DB]'\">\n {{ subStep.timestamp || formatDuration(subStep.duration) }}\n </span>\n </div>\n </div>\n\n <!-- Expected vs Actual Comparison -->\n <div *ngIf=\"config.failureDetails\" class=\"cqa-grid cqa-grid-cols-2 cqa-rounded cqa-overflow-hidden cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n <!-- Expected Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-white\" style=\"border-right: 1px solid #E5E7EB;\">\n <div class=\"cqa-text-[#9CA3AF]\">EXPECTED</div>\n <div class=\"cqa-text-[#374151]\">\n {{ config.failureDetails.expected }}\n </div>\n </div>\n\n <!-- Actual Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-[#FEF8F8]\">\n <div class=\"cqa-text-[#F87171]\">ACTUAL</div>\n <div class=\"cqa-text-[#991B1B]\">\n {{ config.failureDetails.actual }}\n </div>\n </div>\n </div>\n\n <!-- Visual Comparison Component -->\n <cqa-visual-comparison\n *ngIf=\"config.failureDetails\"\n [testStepResultId]=\"testStepResultId\"\n [screenshots]=\"config.failureDetails.screenshots\"\n [logs]=\"config.failureDetails.logs\"\n (makeCurrentBaseline)=\"onMakeCurrentBaseline($event)\"\n (uploadBaseline)=\"onUploadBaseline($event)\"\n (analyze)=\"onAnalyze()\"\n [testStepResultId]=\"testStepResultId\"\n [isUploadingBaseline]=\"isUploadingBaseline\"\n [isLive]=\"isLive\"\n (viewFullLogs)=\"onViewFullLogs()\">\n </cqa-visual-comparison>\n\n <!-- AI Fix Message -->\n <div *ngIf=\"config.failureDetails.aiFixApplied\" class=\"cqa-px-3 cqa-pt-1.5 cqa-pb-2 cqa-rounded-xl cqa-border cqa-border-solid cqa-border-[#E2E8F0] cqa-bg-[#FAF5FF]\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0F172A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-3\">\n <div><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"16\" height=\"16\" rx=\"4\" fill=\"url(#paint0_linear_4070_7201)\"/><path d=\"M8.00941 3.5C8.06489 3.52274 8.08859 3.57827 8.11131 3.62985C8.12269 3.6599 8.13314 3.69012 8.14329 3.72058C8.14726 3.73225 8.15123 3.74392 8.15532 3.75594C8.20806 3.913 8.25504 4.07175 8.30229 4.23038C8.31297 4.26619 8.32369 4.30199 8.33442 4.33778C8.38905 4.52004 8.44327 4.7024 8.49719 4.88484C8.50476 4.91047 8.51234 4.93609 8.51992 4.96171C8.54128 5.03395 8.56262 5.10619 8.58383 5.17847C8.62867 5.3312 8.67473 5.48347 8.72378 5.63501C8.72807 5.64827 8.73236 5.66152 8.73677 5.67518C8.8642 6.065 9.04482 6.41437 9.3409 6.71196C9.34823 6.7197 9.35556 6.72744 9.36312 6.73541C9.4895 6.86437 9.65169 6.96771 9.8138 7.05111C9.82206 7.05542 9.83031 7.05974 9.83882 7.06419C10.3159 7.30925 10.8895 7.41704 11.4062 7.5605C11.6326 7.6234 11.8583 7.68829 12.0832 7.75603C12.099 7.76079 12.1148 7.76554 12.1306 7.77028C12.1778 7.78445 12.225 7.79887 12.2721 7.81347C12.2831 7.81679 12.2941 7.82011 12.3054 7.82353C12.3703 7.84406 12.4324 7.86829 12.4857 7.91027C12.5019 7.94418 12.5019 7.94418 12.4975 7.9781C12.4456 8.02736 12.3942 8.05046 12.3258 8.073C12.316 8.07632 12.3062 8.07965 12.2961 8.08308C12.1806 8.12183 12.0635 8.15575 11.9463 8.18935C11.9222 8.1963 11.8981 8.20326 11.8741 8.21021C11.7257 8.25301 11.5771 8.2949 11.4283 8.33632C11.2323 8.39088 11.0366 8.44634 10.8411 8.50243C10.8091 8.51162 10.7771 8.52078 10.745 8.52991C10.5767 8.57786 10.4092 8.62753 10.2431 8.68208C10.2294 8.68659 10.2156 8.6911 10.2014 8.69574C9.64511 8.88082 9.2211 9.22609 8.95571 9.73099C8.81263 10.0148 8.72823 10.3216 8.64214 10.6245C8.61884 10.7062 8.59409 10.7875 8.56905 10.8687C8.5494 10.9326 8.5302 10.9966 8.51149 11.0608C8.50926 11.0684 8.50703 11.0761 8.50473 11.0839C8.49394 11.1209 8.48319 11.1579 8.47252 11.195C8.44519 11.2888 8.41578 11.3819 8.38555 11.4749C8.33191 11.6402 8.2831 11.8067 8.23459 11.9735C8.16144 12.2246 8.16144 12.2246 8.11997 12.3453C8.11721 12.3534 8.11446 12.3615 8.11163 12.3698C8.09649 12.4128 8.08092 12.4523 8.05226 12.4887C8.00867 12.4979 8.00867 12.4979 7.96951 12.5C7.92473 12.4376 7.89508 12.3771 7.87133 12.3051C7.86787 12.2949 7.86441 12.2847 7.86085 12.2741C7.81684 12.1425 7.77751 12.0095 7.73817 11.8765C7.72916 11.846 7.72011 11.8156 7.71106 11.7852C7.6436 11.5586 7.57725 11.3317 7.51101 11.1048C7.23507 9.98224 7.23507 9.98224 6.539 9.07466C6.52784 9.06596 6.51669 9.05726 6.50519 9.0483C6.04913 8.69902 5.44834 8.5697 4.89815 8.41813C4.76207 8.38062 4.62605 8.34293 4.49003 8.30523C4.47814 8.30193 4.47814 8.30193 4.466 8.29857C4.26981 8.24417 4.07367 8.18963 3.87822 8.13283C3.86996 8.13045 3.86169 8.12806 3.85317 8.12561C3.5529 8.03883 3.5529 8.03883 3.50065 7.9781C3.49917 7.95054 3.49917 7.95054 3.51247 7.92157C3.56708 7.8704 3.62008 7.84848 3.69216 7.82619C3.7026 7.82284 3.71303 7.81948 3.72379 7.81603C3.75575 7.80582 3.78779 7.79584 3.81985 7.78592C3.829 7.78305 3.83815 7.78017 3.84758 7.77722C3.91228 7.75693 3.97722 7.7374 4.04226 7.71809C4.05824 7.71332 4.05824 7.71332 4.07454 7.70846C4.35227 7.62587 4.63181 7.549 4.91126 7.47196C5.1195 7.41455 5.32738 7.35618 5.5346 7.29548C5.54413 7.29271 5.55365 7.28993 5.56346 7.28707C6.0435 7.14696 6.51278 6.94816 6.82274 6.5537C6.82738 6.54785 6.83202 6.542 6.8368 6.53597C7.18197 6.09815 7.31658 5.56572 7.46696 5.04621C7.51642 4.87535 7.56649 4.70464 7.61673 4.53399C7.63064 4.48673 7.64453 4.43947 7.65836 4.39219C7.71394 4.20229 7.77035 4.01264 7.83 3.82386C7.83558 3.80619 7.84114 3.7885 7.84666 3.77081C7.93017 3.50399 7.93017 3.50399 8.00941 3.5Z\" fill=\"white\"/><path d=\"M10.7358 4.05535C10.7901 4.11409 10.801 4.18312 10.8179 4.25813C10.8742 4.49376 10.9392 4.71042 11.1645 4.8473C11.3036 4.92083 11.4693 4.9543 11.6234 4.9859C11.6884 4.99951 11.7434 5.01758 11.7991 5.0537C11.8117 5.07278 11.8117 5.07278 11.8109 5.10598C11.798 5.14637 11.7867 5.15939 11.7526 5.18582C11.7153 5.19775 11.7153 5.19775 11.6706 5.20702C11.6536 5.21074 11.6367 5.21449 11.6198 5.21828C11.6107 5.22029 11.6017 5.2223 11.5924 5.22437C11.3168 5.28531 11.3168 5.28531 11.0787 5.42322C11.071 5.42918 11.0632 5.43514 11.0552 5.44128C10.885 5.58479 10.849 5.82351 10.7978 6.0235C10.7949 6.03448 10.7919 6.04546 10.7889 6.05678C10.7864 6.0665 10.7838 6.07622 10.7812 6.08624C10.7702 6.11593 10.7587 6.13528 10.7358 6.15803C10.6722 6.16576 10.6722 6.16576 10.6413 6.15803C10.592 6.12155 10.581 6.07999 10.5682 6.02414C10.566 6.01549 10.5639 6.00685 10.5616 5.99794C10.5548 5.97032 10.5481 5.94266 10.5415 5.91498C10.4897 5.69946 10.4311 5.488 10.2244 5.36167C10.0628 5.2755 9.86634 5.23475 9.68575 5.20185C9.63625 5.19199 9.60789 5.1796 9.57725 5.1406C9.5706 5.10104 9.5706 5.10104 9.57725 5.06147C9.62435 5.01486 9.6739 5.00348 9.73759 4.9894C9.75766 4.98465 9.77772 4.97987 9.79777 4.97505C9.80813 4.97258 9.81849 4.97011 9.82917 4.96756C9.882 4.95456 9.93431 4.93998 9.9866 4.92511C9.99611 4.92247 10.0056 4.91984 10.0154 4.91712C10.1217 4.88673 10.2134 4.84786 10.2984 4.77885C10.3063 4.77261 10.3143 4.76638 10.3224 4.75995C10.4547 4.64614 10.4996 4.47516 10.5404 4.31562C10.5435 4.30351 10.5466 4.2914 10.5498 4.27892C10.556 4.25459 10.5621 4.23023 10.5681 4.20585C10.5723 4.18888 10.5723 4.18888 10.5767 4.17157C10.5791 4.16144 10.5816 4.1513 10.5842 4.14086C10.5951 4.1086 10.6094 4.08326 10.6294 4.05535C10.668 4.03692 10.695 4.04525 10.7358 4.05535Z\" fill=\"#EDE9FE\"/><path d=\"M5.29554 9.74722C5.3096 9.74731 5.3096 9.74731 5.32395 9.74741C5.42486 9.75035 5.49314 9.78127 5.56745 9.84613C5.65393 9.93545 5.69386 10.0362 5.69159 10.1566C5.68188 10.2542 5.62167 10.3395 5.54782 10.4055C5.4609 10.4725 5.37322 10.4947 5.26215 10.4916C5.1685 10.4812 5.08039 10.4386 5.01402 10.3746C4.93147 10.2669 4.90734 10.1682 4.91944 10.0355C4.94443 9.93104 5.01646 9.84625 5.1086 9.78678C5.1726 9.75576 5.22408 9.74665 5.29554 9.74722Z\" fill=\"white\"/><defs><linearGradient id=\"paint0_linear_4070_7201\" x1=\"0\" y1=\"0\" x2=\"16\" y2=\"16\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#8B5CF6\"/><stop offset=\"1\" stop-color=\"#9333EA\"/></linearGradient></defs></svg></div>\n {{ config.failureDetails.aiFixMessage || 'AI Insights' }}\n <span class=\"cqa-inline-block cqa-py-[2px] cqa-px-[10px] cqa-text-center cqa-rounded-[5px] cqa-bg-[#EDE9FE] cqa-text-[8px] cqa-leading-[12px] cqa-text-[#6D28D9]\">94% confidence</span>\n </div>\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Reasoning</div>\n <ul class=\"cqa-flex cqa-flex-col cqa-gap-1.5\">\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Stale state: test attribute as primary locator (highest priority)\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Confidence score: 94% based on DOM similarity analysis\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Increased wait time from 2s to 5s due to button latency\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Environment binding: speed of assets by 20% through optimized caching\n </li>\n </ul>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Suggested Fixes</div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Update locator to use data-testid='registration-submit' instead of #submit-btn\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Add explicit wait for network idle before clicking submit\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Consider adding retry logic for form submission step\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i3.VisualComparisonComponent, selector: "cqa-visual-comparison", inputs: ["screenshots", "logs", "showFullLogsLink", "isUploadingBaseline", "isMakingCurrentBaseline", "isLive", "testStepResultId"], outputs: ["makeCurrentBaseline", "uploadBaseline", "analyze", "viewFullLogs"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
74
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
|
-
args: [{ selector: 'cqa-failed-step', host: { class: 'cqa-ui-root cqa-w-full' }, template: "<div class=\"cqa-w-full\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-p-2 cqa-cursor-pointer cqa-bg-[#FFFAFA]\"\n style=\"border-left: '2px solid #EF4444'\"\n (click)=\"toggle()\">\n \n <!-- Status Icon -->\n <div *ngIf=\"config.status.toLowerCase() === 'success'\" ><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.9005 4.99999C11.1289 6.12064 10.9662 7.28571 10.4395 8.30089C9.91279 9.31608 9.054 10.12 8.00631 10.5787C6.95862 11.0373 5.78536 11.1229 4.6822 10.8212C3.57904 10.5195 2.61265 9.84869 1.94419 8.92071C1.27573 7.99272 0.945611 6.86361 1.00888 5.72169C1.07215 4.57976 1.52499 3.49404 2.29188 2.64558C3.05876 1.79712 4.09334 1.23721 5.22308 1.05922C6.35282 0.881233 7.50944 1.09592 8.50005 1.66749\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 5.5L6 7L11 2\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n <div *ngIf=\"config.status.toLowerCase() === 'failure'\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 11C8.76142 11 11 8.76142 11 6C11 3.23858 8.76142 1 6 1C3.23858 1 1 3.23858 1 6C1 8.76142 3.23858 11 6 11Z\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 4.5L4.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 4.5L7.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n\n <!-- Step Number and Title -->\n <div class=\"cqa-flex-1 cqa-flex cqa-items-center cqa-gap-3\">\n <span class=\"cqa-font-bold cqa-text-[#7F1D1D] cqa-text-[11px] cqa-leading-[13px]\">\n {{ config.stepNumber }}. <span [innerHTML]=\"config.title\"></span>\n </span>\n </div>\n\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <div *ngIf=\"isDebug\" class=\"cqa-flex cqa-items-center cqa-gap-0.5 cqa-text-[#9CA3AF]\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Edit\" (click)=\"onEditStep($event)\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">edit</mat-icon>\n </button>\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Add\" [matMenuTriggerFor]=\"addStepMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">add</mat-icon>\n </button>\n <mat-menu #addStepMenu=\"matMenu\" class=\"cqa-add-step-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of addStepMenuOptions\" (click)=\"onAddStepOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"More options\" [matMenuTriggerFor]=\"stepMoreMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">more_vert</mat-icon>\n </button>\n <mat-menu #stepMoreMenu=\"matMenu\" class=\"cqa-step-more-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of stepMoreMenuOptions\" (click)=\"onStepMoreOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n </div>\n <span class=\"cqa-text-[9px] cqa-leading-[20px] cqa-font-bold cqa-text-[#B91C1C]\">\n {{ formatDuration(config.duration) }}\n </span>\n <svg [class.cqa-rotate-180]=\"isExpanded\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 3.75L5 6.25L7.5 3.75\" stroke=\"#F87171\" stroke-width=\"0.833333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n </div>\n <!-- Expanded Content -->\n <div *ngIf=\"isExpanded\" class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-p-2\" style=\"border-left: '2px solid #FAC7C7'; border-bottom: '1px solid #FEE2E2'\">\n <!-- Sub-steps -->\n <div *ngIf=\"config.subSteps && config.subSteps.length > 0\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-pl-[9px]\" style=\"border-left: 1px solid #F3F4F6;\">\n <div\n *ngFor=\"let subStep of config.subSteps\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-text-[9px] cqa-leading-[20px]\"\n [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#B91C1C]' : 'cqa-text-[#475569]'\">\n \n <!-- Failed Action Indicator -->\n <span *ngIf=\"subStep.description === config.failureDetails.failedAction\" class=\"cqa-text-[#EF4444] cqa-font-bold\">\u2022</span>\n\n <!-- Sub-step Description -->\n <span class=\"cqa-flex-1\" [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-font-medium' : ''\">\n {{ subStep.description }}\n </span>\n\n <!-- Sub-step Timestamp or Duration -->\n <span [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#FCA5A5]' : 'cqa-text-[#D1D5DB]'\">\n {{ subStep.timestamp || formatDuration(subStep.duration) }}\n </span>\n </div>\n </div>\n\n <!-- Expected vs Actual Comparison -->\n <div *ngIf=\"config.failureDetails\" class=\"cqa-grid cqa-grid-cols-2 cqa-rounded cqa-overflow-hidden cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n <!-- Expected Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-white\" style=\"border-right: 1px solid #E5E7EB;\">\n <div class=\"cqa-text-[#9CA3AF]\">EXPECTED</div>\n <div class=\"cqa-text-[#374151]\">\n {{ config.failureDetails.expected }}\n </div>\n </div>\n\n <!-- Actual Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-[#FEF8F8]\">\n <div class=\"cqa-text-[#F87171]\">ACTUAL</div>\n <div class=\"cqa-text-[#991B1B]\">\n {{ config.failureDetails.actual }}\n </div>\n </div>\n </div>\n\n <!-- Visual Comparison Component -->\n <cqa-visual-comparison\n *ngIf=\"config.failureDetails\"\n [testStepResultId]=\"testStepResultId\"\n [screenshots]=\"config.failureDetails.screenshots\"\n [logs]=\"config.failureDetails.logs\"\n (makeCurrentBaseline)=\"onMakeCurrentBaseline($event)\"\n (uploadBaseline)=\"onUploadBaseline($event)\"\n (analyze)=\"onAnalyze()\"\n [testStepResultId]=\"testStepResultId\"\n [isUploadingBaseline]=\"isUploadingBaseline\"\n [isLive]=\"isLive\"\n (viewFullLogs)=\"onViewFullLogs()\">\n </cqa-visual-comparison>\n\n <!-- AI Fix Message -->\n <div *ngIf=\"config.failureDetails.aiFixApplied\" class=\"cqa-px-3 cqa-pt-1.5 cqa-pb-2 cqa-rounded-xl cqa-border cqa-border-solid cqa-border-[#E2E8F0] cqa-bg-[#FAF5FF]\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0F172A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-3\">\n <div><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"16\" height=\"16\" rx=\"4\" fill=\"url(#paint0_linear_4070_7201)\"/><path d=\"M8.00941 3.5C8.06489 3.52274 8.08859 3.57827 8.11131 3.62985C8.12269 3.6599 8.13314 3.69012 8.14329 3.72058C8.14726 3.73225 8.15123 3.74392 8.15532 3.75594C8.20806 3.913 8.25504 4.07175 8.30229 4.23038C8.31297 4.26619 8.32369 4.30199 8.33442 4.33778C8.38905 4.52004 8.44327 4.7024 8.49719 4.88484C8.50476 4.91047 8.51234 4.93609 8.51992 4.96171C8.54128 5.03395 8.56262 5.10619 8.58383 5.17847C8.62867 5.3312 8.67473 5.48347 8.72378 5.63501C8.72807 5.64827 8.73236 5.66152 8.73677 5.67518C8.8642 6.065 9.04482 6.41437 9.3409 6.71196C9.34823 6.7197 9.35556 6.72744 9.36312 6.73541C9.4895 6.86437 9.65169 6.96771 9.8138 7.05111C9.82206 7.05542 9.83031 7.05974 9.83882 7.06419C10.3159 7.30925 10.8895 7.41704 11.4062 7.5605C11.6326 7.6234 11.8583 7.68829 12.0832 7.75603C12.099 7.76079 12.1148 7.76554 12.1306 7.77028C12.1778 7.78445 12.225 7.79887 12.2721 7.81347C12.2831 7.81679 12.2941 7.82011 12.3054 7.82353C12.3703 7.84406 12.4324 7.86829 12.4857 7.91027C12.5019 7.94418 12.5019 7.94418 12.4975 7.9781C12.4456 8.02736 12.3942 8.05046 12.3258 8.073C12.316 8.07632 12.3062 8.07965 12.2961 8.08308C12.1806 8.12183 12.0635 8.15575 11.9463 8.18935C11.9222 8.1963 11.8981 8.20326 11.8741 8.21021C11.7257 8.25301 11.5771 8.2949 11.4283 8.33632C11.2323 8.39088 11.0366 8.44634 10.8411 8.50243C10.8091 8.51162 10.7771 8.52078 10.745 8.52991C10.5767 8.57786 10.4092 8.62753 10.2431 8.68208C10.2294 8.68659 10.2156 8.6911 10.2014 8.69574C9.64511 8.88082 9.2211 9.22609 8.95571 9.73099C8.81263 10.0148 8.72823 10.3216 8.64214 10.6245C8.61884 10.7062 8.59409 10.7875 8.56905 10.8687C8.5494 10.9326 8.5302 10.9966 8.51149 11.0608C8.50926 11.0684 8.50703 11.0761 8.50473 11.0839C8.49394 11.1209 8.48319 11.1579 8.47252 11.195C8.44519 11.2888 8.41578 11.3819 8.38555 11.4749C8.33191 11.6402 8.2831 11.8067 8.23459 11.9735C8.16144 12.2246 8.16144 12.2246 8.11997 12.3453C8.11721 12.3534 8.11446 12.3615 8.11163 12.3698C8.09649 12.4128 8.08092 12.4523 8.05226 12.4887C8.00867 12.4979 8.00867 12.4979 7.96951 12.5C7.92473 12.4376 7.89508 12.3771 7.87133 12.3051C7.86787 12.2949 7.86441 12.2847 7.86085 12.2741C7.81684 12.1425 7.77751 12.0095 7.73817 11.8765C7.72916 11.846 7.72011 11.8156 7.71106 11.7852C7.6436 11.5586 7.57725 11.3317 7.51101 11.1048C7.23507 9.98224 7.23507 9.98224 6.539 9.07466C6.52784 9.06596 6.51669 9.05726 6.50519 9.0483C6.04913 8.69902 5.44834 8.5697 4.89815 8.41813C4.76207 8.38062 4.62605 8.34293 4.49003 8.30523C4.47814 8.30193 4.47814 8.30193 4.466 8.29857C4.26981 8.24417 4.07367 8.18963 3.87822 8.13283C3.86996 8.13045 3.86169 8.12806 3.85317 8.12561C3.5529 8.03883 3.5529 8.03883 3.50065 7.9781C3.49917 7.95054 3.49917 7.95054 3.51247 7.92157C3.56708 7.8704 3.62008 7.84848 3.69216 7.82619C3.7026 7.82284 3.71303 7.81948 3.72379 7.81603C3.75575 7.80582 3.78779 7.79584 3.81985 7.78592C3.829 7.78305 3.83815 7.78017 3.84758 7.77722C3.91228 7.75693 3.97722 7.7374 4.04226 7.71809C4.05824 7.71332 4.05824 7.71332 4.07454 7.70846C4.35227 7.62587 4.63181 7.549 4.91126 7.47196C5.1195 7.41455 5.32738 7.35618 5.5346 7.29548C5.54413 7.29271 5.55365 7.28993 5.56346 7.28707C6.0435 7.14696 6.51278 6.94816 6.82274 6.5537C6.82738 6.54785 6.83202 6.542 6.8368 6.53597C7.18197 6.09815 7.31658 5.56572 7.46696 5.04621C7.51642 4.87535 7.56649 4.70464 7.61673 4.53399C7.63064 4.48673 7.64453 4.43947 7.65836 4.39219C7.71394 4.20229 7.77035 4.01264 7.83 3.82386C7.83558 3.80619 7.84114 3.7885 7.84666 3.77081C7.93017 3.50399 7.93017 3.50399 8.00941 3.5Z\" fill=\"white\"/><path d=\"M10.7358 4.05535C10.7901 4.11409 10.801 4.18312 10.8179 4.25813C10.8742 4.49376 10.9392 4.71042 11.1645 4.8473C11.3036 4.92083 11.4693 4.9543 11.6234 4.9859C11.6884 4.99951 11.7434 5.01758 11.7991 5.0537C11.8117 5.07278 11.8117 5.07278 11.8109 5.10598C11.798 5.14637 11.7867 5.15939 11.7526 5.18582C11.7153 5.19775 11.7153 5.19775 11.6706 5.20702C11.6536 5.21074 11.6367 5.21449 11.6198 5.21828C11.6107 5.22029 11.6017 5.2223 11.5924 5.22437C11.3168 5.28531 11.3168 5.28531 11.0787 5.42322C11.071 5.42918 11.0632 5.43514 11.0552 5.44128C10.885 5.58479 10.849 5.82351 10.7978 6.0235C10.7949 6.03448 10.7919 6.04546 10.7889 6.05678C10.7864 6.0665 10.7838 6.07622 10.7812 6.08624C10.7702 6.11593 10.7587 6.13528 10.7358 6.15803C10.6722 6.16576 10.6722 6.16576 10.6413 6.15803C10.592 6.12155 10.581 6.07999 10.5682 6.02414C10.566 6.01549 10.5639 6.00685 10.5616 5.99794C10.5548 5.97032 10.5481 5.94266 10.5415 5.91498C10.4897 5.69946 10.4311 5.488 10.2244 5.36167C10.0628 5.2755 9.86634 5.23475 9.68575 5.20185C9.63625 5.19199 9.60789 5.1796 9.57725 5.1406C9.5706 5.10104 9.5706 5.10104 9.57725 5.06147C9.62435 5.01486 9.6739 5.00348 9.73759 4.9894C9.75766 4.98465 9.77772 4.97987 9.79777 4.97505C9.80813 4.97258 9.81849 4.97011 9.82917 4.96756C9.882 4.95456 9.93431 4.93998 9.9866 4.92511C9.99611 4.92247 10.0056 4.91984 10.0154 4.91712C10.1217 4.88673 10.2134 4.84786 10.2984 4.77885C10.3063 4.77261 10.3143 4.76638 10.3224 4.75995C10.4547 4.64614 10.4996 4.47516 10.5404 4.31562C10.5435 4.30351 10.5466 4.2914 10.5498 4.27892C10.556 4.25459 10.5621 4.23023 10.5681 4.20585C10.5723 4.18888 10.5723 4.18888 10.5767 4.17157C10.5791 4.16144 10.5816 4.1513 10.5842 4.14086C10.5951 4.1086 10.6094 4.08326 10.6294 4.05535C10.668 4.03692 10.695 4.04525 10.7358 4.05535Z\" fill=\"#EDE9FE\"/><path d=\"M5.29554 9.74722C5.3096 9.74731 5.3096 9.74731 5.32395 9.74741C5.42486 9.75035 5.49314 9.78127 5.56745 9.84613C5.65393 9.93545 5.69386 10.0362 5.69159 10.1566C5.68188 10.2542 5.62167 10.3395 5.54782 10.4055C5.4609 10.4725 5.37322 10.4947 5.26215 10.4916C5.1685 10.4812 5.08039 10.4386 5.01402 10.3746C4.93147 10.2669 4.90734 10.1682 4.91944 10.0355C4.94443 9.93104 5.01646 9.84625 5.1086 9.78678C5.1726 9.75576 5.22408 9.74665 5.29554 9.74722Z\" fill=\"white\"/><defs><linearGradient id=\"paint0_linear_4070_7201\" x1=\"0\" y1=\"0\" x2=\"16\" y2=\"16\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#8B5CF6\"/><stop offset=\"1\" stop-color=\"#9333EA\"/></linearGradient></defs></svg></div>\n {{ config.failureDetails.aiFixMessage || 'AI Insights' }}\n <span class=\"cqa-inline-block cqa-py-[2px] cqa-px-[10px] cqa-text-center cqa-rounded-[5px] cqa-bg-[#EDE9FE] cqa-text-[8px] cqa-leading-[12px] cqa-text-[#6D28D9]\">94% confidence</span>\n </div>\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Reasoning</div>\n <ul class=\"cqa-flex cqa-flex-col cqa-gap-1.5\">\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Stale state: test attribute as primary locator (highest priority)\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Confidence score: 94% based on DOM similarity analysis\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Increased wait time from 2s to 5s due to button latency\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Environment binding: speed of assets by 20% through optimized caching\n </li>\n </ul>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Suggested Fixes</div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Update locator to use data-testid='registration-submit' instead of #submit-btn\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Add explicit wait for network idle before clicking submit\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Consider adding retry logic for form submission step\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
|
|
76
|
+
args: [{ selector: 'cqa-failed-step', host: { class: 'cqa-ui-root cqa-w-full' }, template: "<div class=\"cqa-w-full\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-p-2 cqa-cursor-pointer cqa-bg-[#FFFAFA]\"\n style=\"border-left: '2px solid #EF4444'\"\n (click)=\"toggle()\">\n \n <!-- Status Icon -->\n <div *ngIf=\"config.status.toLowerCase() === 'success'\" ><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.9005 4.99999C11.1289 6.12064 10.9662 7.28571 10.4395 8.30089C9.91279 9.31608 9.054 10.12 8.00631 10.5787C6.95862 11.0373 5.78536 11.1229 4.6822 10.8212C3.57904 10.5195 2.61265 9.84869 1.94419 8.92071C1.27573 7.99272 0.945611 6.86361 1.00888 5.72169C1.07215 4.57976 1.52499 3.49404 2.29188 2.64558C3.05876 1.79712 4.09334 1.23721 5.22308 1.05922C6.35282 0.881233 7.50944 1.09592 8.50005 1.66749\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 5.5L6 7L11 2\" stroke=\"#22C55E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n <div *ngIf=\"config.status.toLowerCase() === 'failure'\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 11C8.76142 11 11 8.76142 11 6C11 3.23858 8.76142 1 6 1C3.23858 1 1 3.23858 1 6C1 8.76142 3.23858 11 6 11Z\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 4.5L4.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.5 4.5L7.5 7.5\" stroke=\"#DC2626\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n\n <!-- Step Number and Title -->\n <div class=\"cqa-flex-1 cqa-flex cqa-items-center cqa-gap-3\">\n <span class=\"cqa-font-bold cqa-text-[#7F1D1D] cqa-text-[11px] cqa-leading-[13px]\">\n {{ config.stepNumber }}. <span [innerHTML]=\"config.title\"></span>\n </span>\n </div>\n\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <div *ngIf=\"isDebug\" class=\"cqa-flex cqa-items-center cqa-gap-0.5 cqa-text-[#9CA3AF]\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Edit\" (click)=\"onEditStep($event)\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">edit</mat-icon>\n </button>\n <button type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"Add\" [matMenuTriggerFor]=\"addStepMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">add</mat-icon>\n </button>\n <mat-menu #addStepMenu=\"matMenu\" class=\"cqa-add-step-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of addStepMenuOptions\" (click)=\"onAddStepOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n <button *ngIf=\"stepMoreMenuOptions.length\" type=\"button\" class=\"cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer hover:cqa-opacity-80 cqa-transition-opacity focus:cqa-outline-none\" aria-label=\"More options\" [matMenuTriggerFor]=\"stepMoreMenu\">\n <mat-icon class=\"!cqa-text-[14px] !cqa-w-[14px] !cqa-h-[14px]\">more_vert</mat-icon>\n </button>\n <mat-menu #stepMoreMenu=\"matMenu\" class=\"cqa-step-more-menu\" xPosition=\"before\" yPosition=\"below\">\n <button mat-menu-item *ngFor=\"let opt of stepMoreMenuOptions\" (click)=\"onStepMoreOptionSelect(opt, $event)\">{{ opt.label }}</button>\n </mat-menu>\n </div>\n <span class=\"cqa-text-[9px] cqa-leading-[20px] cqa-font-bold cqa-text-[#B91C1C]\">\n {{ formatDuration(config.duration) }}\n </span>\n <svg [class.cqa-rotate-180]=\"isExpanded\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 3.75L5 6.25L7.5 3.75\" stroke=\"#F87171\" stroke-width=\"0.833333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n </div>\n <!-- Expanded Content -->\n <div *ngIf=\"isExpanded\" class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-p-2\" style=\"border-left: '2px solid #FAC7C7'; border-bottom: '1px solid #FEE2E2'\">\n <!-- Sub-steps -->\n <div *ngIf=\"config.subSteps && config.subSteps.length > 0\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-pl-[9px]\" style=\"border-left: 1px solid #F3F4F6;\">\n <div\n *ngFor=\"let subStep of config.subSteps\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-text-[9px] cqa-leading-[20px]\"\n [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#B91C1C]' : 'cqa-text-[#475569]'\">\n \n <!-- Failed Action Indicator -->\n <span *ngIf=\"subStep.description === config.failureDetails.failedAction\" class=\"cqa-text-[#EF4444] cqa-font-bold\">\u2022</span>\n\n <!-- Sub-step Description -->\n <span class=\"cqa-flex-1\" [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-font-medium' : ''\">\n {{ subStep.description }}\n </span>\n\n <!-- Sub-step Timestamp or Duration -->\n <span [ngClass]=\"subStep.description === config.failureDetails.failedAction ? 'cqa-text-[#FCA5A5]' : 'cqa-text-[#D1D5DB]'\">\n {{ subStep.timestamp || formatDuration(subStep.duration) }}\n </span>\n </div>\n </div>\n\n <!-- Expected vs Actual Comparison -->\n <div *ngIf=\"config.failureDetails\" class=\"cqa-grid cqa-grid-cols-2 cqa-rounded cqa-overflow-hidden cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n <!-- Expected Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-white\" style=\"border-right: 1px solid #E5E7EB;\">\n <div class=\"cqa-text-[#9CA3AF]\">EXPECTED</div>\n <div class=\"cqa-text-[#374151]\">\n {{ config.failureDetails.expected }}\n </div>\n </div>\n\n <!-- Actual Column -->\n <div class=\"cqa-p-1.5 cqa-text-[9px] cqa-leading-[20px] cqa-bg-[#FEF8F8]\">\n <div class=\"cqa-text-[#F87171]\">ACTUAL</div>\n <div class=\"cqa-text-[#991B1B]\">\n {{ config.failureDetails.actual }}\n </div>\n </div>\n </div>\n\n <!-- Visual Comparison Component -->\n <cqa-visual-comparison\n *ngIf=\"config.failureDetails\"\n [testStepResultId]=\"testStepResultId\"\n [screenshots]=\"config.failureDetails.screenshots\"\n [logs]=\"config.failureDetails.logs\"\n (makeCurrentBaseline)=\"onMakeCurrentBaseline($event)\"\n (uploadBaseline)=\"onUploadBaseline($event)\"\n (analyze)=\"onAnalyze()\"\n [testStepResultId]=\"testStepResultId\"\n [isUploadingBaseline]=\"isUploadingBaseline\"\n [isLive]=\"isLive\"\n (viewFullLogs)=\"onViewFullLogs()\">\n </cqa-visual-comparison>\n\n <!-- AI Fix Message -->\n <div *ngIf=\"config.failureDetails.aiFixApplied\" class=\"cqa-px-3 cqa-pt-1.5 cqa-pb-2 cqa-rounded-xl cqa-border cqa-border-solid cqa-border-[#E2E8F0] cqa-bg-[#FAF5FF]\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0F172A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-3\">\n <div><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"16\" height=\"16\" rx=\"4\" fill=\"url(#paint0_linear_4070_7201)\"/><path d=\"M8.00941 3.5C8.06489 3.52274 8.08859 3.57827 8.11131 3.62985C8.12269 3.6599 8.13314 3.69012 8.14329 3.72058C8.14726 3.73225 8.15123 3.74392 8.15532 3.75594C8.20806 3.913 8.25504 4.07175 8.30229 4.23038C8.31297 4.26619 8.32369 4.30199 8.33442 4.33778C8.38905 4.52004 8.44327 4.7024 8.49719 4.88484C8.50476 4.91047 8.51234 4.93609 8.51992 4.96171C8.54128 5.03395 8.56262 5.10619 8.58383 5.17847C8.62867 5.3312 8.67473 5.48347 8.72378 5.63501C8.72807 5.64827 8.73236 5.66152 8.73677 5.67518C8.8642 6.065 9.04482 6.41437 9.3409 6.71196C9.34823 6.7197 9.35556 6.72744 9.36312 6.73541C9.4895 6.86437 9.65169 6.96771 9.8138 7.05111C9.82206 7.05542 9.83031 7.05974 9.83882 7.06419C10.3159 7.30925 10.8895 7.41704 11.4062 7.5605C11.6326 7.6234 11.8583 7.68829 12.0832 7.75603C12.099 7.76079 12.1148 7.76554 12.1306 7.77028C12.1778 7.78445 12.225 7.79887 12.2721 7.81347C12.2831 7.81679 12.2941 7.82011 12.3054 7.82353C12.3703 7.84406 12.4324 7.86829 12.4857 7.91027C12.5019 7.94418 12.5019 7.94418 12.4975 7.9781C12.4456 8.02736 12.3942 8.05046 12.3258 8.073C12.316 8.07632 12.3062 8.07965 12.2961 8.08308C12.1806 8.12183 12.0635 8.15575 11.9463 8.18935C11.9222 8.1963 11.8981 8.20326 11.8741 8.21021C11.7257 8.25301 11.5771 8.2949 11.4283 8.33632C11.2323 8.39088 11.0366 8.44634 10.8411 8.50243C10.8091 8.51162 10.7771 8.52078 10.745 8.52991C10.5767 8.57786 10.4092 8.62753 10.2431 8.68208C10.2294 8.68659 10.2156 8.6911 10.2014 8.69574C9.64511 8.88082 9.2211 9.22609 8.95571 9.73099C8.81263 10.0148 8.72823 10.3216 8.64214 10.6245C8.61884 10.7062 8.59409 10.7875 8.56905 10.8687C8.5494 10.9326 8.5302 10.9966 8.51149 11.0608C8.50926 11.0684 8.50703 11.0761 8.50473 11.0839C8.49394 11.1209 8.48319 11.1579 8.47252 11.195C8.44519 11.2888 8.41578 11.3819 8.38555 11.4749C8.33191 11.6402 8.2831 11.8067 8.23459 11.9735C8.16144 12.2246 8.16144 12.2246 8.11997 12.3453C8.11721 12.3534 8.11446 12.3615 8.11163 12.3698C8.09649 12.4128 8.08092 12.4523 8.05226 12.4887C8.00867 12.4979 8.00867 12.4979 7.96951 12.5C7.92473 12.4376 7.89508 12.3771 7.87133 12.3051C7.86787 12.2949 7.86441 12.2847 7.86085 12.2741C7.81684 12.1425 7.77751 12.0095 7.73817 11.8765C7.72916 11.846 7.72011 11.8156 7.71106 11.7852C7.6436 11.5586 7.57725 11.3317 7.51101 11.1048C7.23507 9.98224 7.23507 9.98224 6.539 9.07466C6.52784 9.06596 6.51669 9.05726 6.50519 9.0483C6.04913 8.69902 5.44834 8.5697 4.89815 8.41813C4.76207 8.38062 4.62605 8.34293 4.49003 8.30523C4.47814 8.30193 4.47814 8.30193 4.466 8.29857C4.26981 8.24417 4.07367 8.18963 3.87822 8.13283C3.86996 8.13045 3.86169 8.12806 3.85317 8.12561C3.5529 8.03883 3.5529 8.03883 3.50065 7.9781C3.49917 7.95054 3.49917 7.95054 3.51247 7.92157C3.56708 7.8704 3.62008 7.84848 3.69216 7.82619C3.7026 7.82284 3.71303 7.81948 3.72379 7.81603C3.75575 7.80582 3.78779 7.79584 3.81985 7.78592C3.829 7.78305 3.83815 7.78017 3.84758 7.77722C3.91228 7.75693 3.97722 7.7374 4.04226 7.71809C4.05824 7.71332 4.05824 7.71332 4.07454 7.70846C4.35227 7.62587 4.63181 7.549 4.91126 7.47196C5.1195 7.41455 5.32738 7.35618 5.5346 7.29548C5.54413 7.29271 5.55365 7.28993 5.56346 7.28707C6.0435 7.14696 6.51278 6.94816 6.82274 6.5537C6.82738 6.54785 6.83202 6.542 6.8368 6.53597C7.18197 6.09815 7.31658 5.56572 7.46696 5.04621C7.51642 4.87535 7.56649 4.70464 7.61673 4.53399C7.63064 4.48673 7.64453 4.43947 7.65836 4.39219C7.71394 4.20229 7.77035 4.01264 7.83 3.82386C7.83558 3.80619 7.84114 3.7885 7.84666 3.77081C7.93017 3.50399 7.93017 3.50399 8.00941 3.5Z\" fill=\"white\"/><path d=\"M10.7358 4.05535C10.7901 4.11409 10.801 4.18312 10.8179 4.25813C10.8742 4.49376 10.9392 4.71042 11.1645 4.8473C11.3036 4.92083 11.4693 4.9543 11.6234 4.9859C11.6884 4.99951 11.7434 5.01758 11.7991 5.0537C11.8117 5.07278 11.8117 5.07278 11.8109 5.10598C11.798 5.14637 11.7867 5.15939 11.7526 5.18582C11.7153 5.19775 11.7153 5.19775 11.6706 5.20702C11.6536 5.21074 11.6367 5.21449 11.6198 5.21828C11.6107 5.22029 11.6017 5.2223 11.5924 5.22437C11.3168 5.28531 11.3168 5.28531 11.0787 5.42322C11.071 5.42918 11.0632 5.43514 11.0552 5.44128C10.885 5.58479 10.849 5.82351 10.7978 6.0235C10.7949 6.03448 10.7919 6.04546 10.7889 6.05678C10.7864 6.0665 10.7838 6.07622 10.7812 6.08624C10.7702 6.11593 10.7587 6.13528 10.7358 6.15803C10.6722 6.16576 10.6722 6.16576 10.6413 6.15803C10.592 6.12155 10.581 6.07999 10.5682 6.02414C10.566 6.01549 10.5639 6.00685 10.5616 5.99794C10.5548 5.97032 10.5481 5.94266 10.5415 5.91498C10.4897 5.69946 10.4311 5.488 10.2244 5.36167C10.0628 5.2755 9.86634 5.23475 9.68575 5.20185C9.63625 5.19199 9.60789 5.1796 9.57725 5.1406C9.5706 5.10104 9.5706 5.10104 9.57725 5.06147C9.62435 5.01486 9.6739 5.00348 9.73759 4.9894C9.75766 4.98465 9.77772 4.97987 9.79777 4.97505C9.80813 4.97258 9.81849 4.97011 9.82917 4.96756C9.882 4.95456 9.93431 4.93998 9.9866 4.92511C9.99611 4.92247 10.0056 4.91984 10.0154 4.91712C10.1217 4.88673 10.2134 4.84786 10.2984 4.77885C10.3063 4.77261 10.3143 4.76638 10.3224 4.75995C10.4547 4.64614 10.4996 4.47516 10.5404 4.31562C10.5435 4.30351 10.5466 4.2914 10.5498 4.27892C10.556 4.25459 10.5621 4.23023 10.5681 4.20585C10.5723 4.18888 10.5723 4.18888 10.5767 4.17157C10.5791 4.16144 10.5816 4.1513 10.5842 4.14086C10.5951 4.1086 10.6094 4.08326 10.6294 4.05535C10.668 4.03692 10.695 4.04525 10.7358 4.05535Z\" fill=\"#EDE9FE\"/><path d=\"M5.29554 9.74722C5.3096 9.74731 5.3096 9.74731 5.32395 9.74741C5.42486 9.75035 5.49314 9.78127 5.56745 9.84613C5.65393 9.93545 5.69386 10.0362 5.69159 10.1566C5.68188 10.2542 5.62167 10.3395 5.54782 10.4055C5.4609 10.4725 5.37322 10.4947 5.26215 10.4916C5.1685 10.4812 5.08039 10.4386 5.01402 10.3746C4.93147 10.2669 4.90734 10.1682 4.91944 10.0355C4.94443 9.93104 5.01646 9.84625 5.1086 9.78678C5.1726 9.75576 5.22408 9.74665 5.29554 9.74722Z\" fill=\"white\"/><defs><linearGradient id=\"paint0_linear_4070_7201\" x1=\"0\" y1=\"0\" x2=\"16\" y2=\"16\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#8B5CF6\"/><stop offset=\"1\" stop-color=\"#9333EA\"/></linearGradient></defs></svg></div>\n {{ config.failureDetails.aiFixMessage || 'AI Insights' }}\n <span class=\"cqa-inline-block cqa-py-[2px] cqa-px-[10px] cqa-text-center cqa-rounded-[5px] cqa-bg-[#EDE9FE] cqa-text-[8px] cqa-leading-[12px] cqa-text-[#6D28D9]\">94% confidence</span>\n </div>\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Reasoning</div>\n <ul class=\"cqa-flex cqa-flex-col cqa-gap-1.5\">\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Stale state: test attribute as primary locator (highest priority)\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Confidence score: 94% based on DOM similarity analysis\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Increased wait time from 2s to 5s due to button latency\n </li>\n <li class=\"cqa-flex cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#475569]\">\n <div class=\"cqa-mt-1.5\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#A78BFA\"/></svg></div>\n Environment binding: speed of assets by 20% through optimized caching\n </li>\n </ul>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#64748B]\">Suggested Fixes</div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Update locator to use data-testid='registration-submit' instead of #submit-btn\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Add explicit wait for network idle before clicking submit\n </div>\n <div class=\"cqa-px-[10px] cqa-py-[2px] cqa-rounded-[5px] cqa-flex cqa-items-center cqa-gap-2 cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#065F46] cqa-bg-[#ECFDF5] cqa-border cqa-border-solid cqa-border-[#D1FAE5]\">\n <div><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.66662 5.83336C1.58777 5.83363 1.51047 5.81152 1.44369 5.7696C1.3769 5.72768 1.32339 5.66768 1.28935 5.59655C1.25532 5.52543 1.24216 5.4461 1.25141 5.3678C1.26067 5.2895 1.29195 5.21543 1.34162 5.15419L5.46662 0.904194C5.49757 0.868478 5.53973 0.844342 5.5862 0.835749C5.63267 0.827156 5.68067 0.834616 5.72234 0.856904C5.76401 0.879192 5.79687 0.914984 5.81551 0.958406C5.83416 1.00183 5.83749 1.0503 5.82496 1.09586L5.02496 3.60419C5.00137 3.66733 4.99344 3.73524 5.00187 3.80211C5.01029 3.86898 5.03481 3.93281 5.07333 3.98812C5.11184 4.04343 5.16319 4.08857 5.22299 4.11968C5.28278 4.15078 5.34922 4.16691 5.41662 4.16669H8.33329C8.41214 4.16643 8.48944 4.18853 8.55622 4.23045C8.62301 4.27237 8.67653 4.33238 8.71056 4.4035C8.7446 4.47463 8.75775 4.55395 8.7485 4.63225C8.73924 4.71056 8.70796 4.78463 8.65829 4.84586L4.53329 9.09586C4.50235 9.13158 4.46018 9.15571 4.41371 9.1643C4.36725 9.1729 4.31924 9.16544 4.27757 9.14315C4.2359 9.12086 4.20305 9.08507 4.1844 9.04165C4.16575 8.99823 4.16242 8.94976 4.17496 8.90419L4.97496 6.39586C4.99855 6.33273 5.00647 6.26481 4.99804 6.19794C4.98962 6.13107 4.9651 6.06724 4.92659 6.01193C4.88807 5.95662 4.83672 5.91148 4.77692 5.88038C4.71713 5.84927 4.65069 5.83314 4.58329 5.83336H1.66662Z\" stroke=\"#059669\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></div>\n Consider adding retry logic for form submission step\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
|
|
77
77
|
}], propDecorators: { id: [{
|
|
78
78
|
type: Input
|
|
79
79
|
}], testStepResultId: [{
|
|
@@ -119,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
119
119
|
}], stepMoreMenuOptions: [{
|
|
120
120
|
type: Input
|
|
121
121
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9leGVjdXRpb24tc2NyZWVuL2ZhaWxlZC1zdGVwL2ZhaWxlZC1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZXhlY3V0aW9uLXNjcmVlbi9mYWlsZWQtc3RlcC9mYWlsZWQtc3RlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBNkYsNkJBQTZCLEVBQXNCLDhCQUE4QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeE4sT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVUzRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBTjFEOztRQWtCVyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDbkUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN6RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDeEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDNUQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFDL0QsdUJBQWtCLEdBQXdCLDZCQUE2QixDQUFDO1FBQ3hFLHdCQUFtQixHQUF5Qiw4QkFBOEIsQ0FBQztLQTJEckY7SUF0RFUsUUFBUTtRQUNmLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsV0FBVyxFQUFFLFFBQVE7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ0osQ0FBQztRQUV0QixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQStCO1FBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUEwQjtRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQXlCLEVBQUUsS0FBWTtRQUMzRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBMEIsRUFBRSxLQUFZO1FBQzdELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O2dIQWpGVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix1eUJDWmhDLDg4cEJBbUpNOzJGRHZJTyxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLFFBR3JCLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFOzhCQUloQyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFpbGVkU3RlcENvbmZpZywgU3ViU3RlcCwgRmFpbHVyZURldGFpbHMsIFN0ZXBTdGF0dXMsIFRpbWluZ0JyZWFrZG93biwgQWRkU3RlcE1lbnVPcHRpb24sIERFRkFVTFRfQUREX1NURVBfTUVOVV9PUFRJT05TLCBTdGVwTW9yZU1lbnVPcHRpb24sIERFRkFVTFRfU1RFUF9NT1JFX01FTlVfT1BUSU9OUyB9IGZyb20gJy4uL2V4ZWN1dGlvbi1zdGVwLm1vZGVscyc7XG5pbXBvcnQgeyBCYXNlU3RlcENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2Utc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgbWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50IH0gZnJvbSAnLi4vdmlzdWFsLWNvbXBhcmlzb24vdmlzdWFsLWNvbXBhcmlzb24uY29tcG9uZW50JztcbmltcG9ydCB7IHVwbG9hZEJhc2VsaW5lRXZlbnQgfSBmcm9tICcuLi92aXN1YWwtY29tcGFyaXNvbi92aXN1YWwtY29tcGFyaXNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZmFpbGVkLXN0ZXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFpbGVkLXN0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QgY3FhLXctZnVsbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBGYWlsZWRTdGVwQ29tcG9uZW50IGV4dGVuZHMgQmFzZVN0ZXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBJbmRpdmlkdWFsIGlucHV0c1xuICBASW5wdXQoKSBpZCE6IHN0cmluZztcbiAgQElucHV0KCkgdGVzdFN0ZXBSZXN1bHRJZCE6IHN0cmluZztcbiAgQElucHV0KCkgc3RlcE51bWJlciE6IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0YXR1cyE6IFN0ZXBTdGF0dXM7XG4gIEBJbnB1dCgpIGR1cmF0aW9uITogbnVtYmVyO1xuICBASW5wdXQoKSB0aW1pbmdCcmVha2Rvd24/OiBUaW1pbmdCcmVha2Rvd247XG4gIEBJbnB1dCgpIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3ViU3RlcHMhOiBTdWJTdGVwW107XG4gIEBJbnB1dCgpIGZhaWx1cmVEZXRhaWxzITogRmFpbHVyZURldGFpbHM7XG4gIEBJbnB1dCgpIGlzVXBsb2FkaW5nQmFzZWxpbmUgPSB7fTtcbiAgQElucHV0KCkgaXNMaXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRGVidWc/OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBtYWtlQ3VycmVudEJhc2VsaW5lID0gbmV3IEV2ZW50RW1pdHRlcjxtYWtlQ3VycmVudEJhc2VsaW5lRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSB1cGxvYWRCYXNlbGluZSA9IG5ldyBFdmVudEVtaXR0ZXI8dXBsb2FkQmFzZWxpbmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGFuYWx5emUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSB2aWV3RnVsbExvZ3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBlZGl0U3RlcCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGFkZFN0ZXBPcHRpb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEFkZFN0ZXBNZW51T3B0aW9uPigpO1xuICBAT3V0cHV0KCkgc3RlcE1vcmVPcHRpb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXBNb3JlTWVudU9wdGlvbj4oKTtcbiAgQElucHV0KCkgYWRkU3RlcE1lbnVPcHRpb25zOiBBZGRTdGVwTWVudU9wdGlvbltdID0gREVGQVVMVF9BRERfU1RFUF9NRU5VX09QVElPTlM7XG4gIEBJbnB1dCgpIHN0ZXBNb3JlTWVudU9wdGlvbnM6IFN0ZXBNb3JlTWVudU9wdGlvbltdID0gREVGQVVMVF9TVEVQX01PUkVfTUVOVV9PUFRJT05TO1xuXG4gIC8vIENvbmZpZyBwcm9wZXJ0eSBmb3IgYmFzZSBjbGFzcyAtIGJ1aWx0IGZyb20gaW5kaXZpZHVhbCBpbnB1dHMgaW4gbmdPbkluaXRcbiAgb3ZlcnJpZGUgY29uZmlnITogRmFpbGVkU3RlcENvbmZpZztcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBCdWlsZCBjb25maWcgZnJvbSBpbmRpdmlkdWFsIGlucHV0c1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICB0ZXN0U3RlcFJlc3VsdElkOiB0aGlzLnRlc3RTdGVwUmVzdWx0SWQsXG4gICAgICBzdGVwTnVtYmVyOiB0aGlzLnN0ZXBOdW1iZXIsXG4gICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICAgIGRpc3BsYXlUeXBlOiAnZmFpbGVkJyxcbiAgICAgIHN1YlN0ZXBzOiB0aGlzLnN1YlN0ZXBzLFxuICAgICAgZmFpbHVyZURldGFpbHM6IHRoaXMuZmFpbHVyZURldGFpbHMsXG4gICAgICB0aW1pbmdCcmVha2Rvd246IHRoaXMudGltaW5nQnJlYWtkb3duLFxuICAgICAgZXhwYW5kZWQ6IHRoaXMuZXhwYW5kZWQsXG4gICAgfSBhcyBGYWlsZWRTdGVwQ29uZmlnO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIG9uTWFrZUN1cnJlbnRCYXNlbGluZShldmVudDogbWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ01ha2UgY3VycmVudCBiYXNlbGluZSBjbGlja2VkJyk7XG4gICAgdGhpcy5tYWtlQ3VycmVudEJhc2VsaW5lLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25VcGxvYWRCYXNlbGluZShldmVudDogdXBsb2FkQmFzZWxpbmVFdmVudCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdVcGxvYWQgYmFzZWxpbmUgY2xpY2tlZCcpO1xuICAgIHRoaXMudXBsb2FkQmFzZWxpbmUuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkFuYWx5emUoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ0FuYWx5emUgY2xpY2tlZCcpO1xuICAgIHRoaXMuYW5hbHl6ZS5lbWl0KCk7XG4gIH1cblxuICBvblZpZXdGdWxsTG9ncygpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnVmlldyBmdWxsIGxvZ3MgY2xpY2tlZCcpO1xuICAgIHRoaXMudmlld0Z1bGxMb2dzLmVtaXQoKTtcbiAgfVxuXG4gIG9uRWRpdFN0ZXAoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmVkaXRTdGVwLmVtaXQoKTtcbiAgfVxuXG4gIG9uQWRkU3RlcE9wdGlvblNlbGVjdChvcHRpb246IEFkZFN0ZXBNZW51T3B0aW9uLCBldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYWRkU3RlcE9wdGlvblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBvblN0ZXBNb3JlT3B0aW9uU2VsZWN0KG9wdGlvbjogU3RlcE1vcmVNZW51T3B0aW9uLCBldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RlcE1vcmVPcHRpb25TZWxlY3QuZW1pdChvcHRpb24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbFwiPlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXAtMiBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLWJnLVsjRkZGQUZBXVwiXG4gICAgc3R5bGU9XCJib3JkZXItbGVmdDogJzJweCBzb2xpZCAjRUY0NDQ0J1wiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gICAgXG4gICAgPCEtLSBTdGF0dXMgSWNvbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLnN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnc3VjY2VzcydcIiA+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMC45MDA1IDQuOTk5OTlDMTEuMTI4OSA2LjEyMDY0IDEwLjk2NjIgNy4yODU3MSAxMC40Mzk1IDguMzAwODlDOS45MTI3OSA5LjMxNjA4IDkuMDU0IDEwLjEyIDguMDA2MzEgMTAuNTc4N0M2Ljk1ODYyIDExLjAzNzMgNS43ODUzNiAxMS4xMjI5IDQuNjgyMiAxMC44MjEyQzMuNTc5MDQgMTAuNTE5NSAyLjYxMjY1IDkuODQ4NjkgMS45NDQxOSA4LjkyMDcxQzEuMjc1NzMgNy45OTI3MiAwLjk0NTYxMSA2Ljg2MzYxIDEuMDA4ODggNS43MjE2OUMxLjA3MjE1IDQuNTc5NzYgMS41MjQ5OSAzLjQ5NDA0IDIuMjkxODggMi42NDU1OEMzLjA1ODc2IDEuNzk3MTIgNC4wOTMzNCAxLjIzNzIxIDUuMjIzMDggMS4wNTkyMkM2LjM1MjgyIDAuODgxMjMzIDcuNTA5NDQgMS4wOTU5MiA4LjUwMDA1IDEuNjY3NDlcIiBzdHJva2U9XCIjMjJDNTVFXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNC41IDUuNUw2IDdMMTEgMlwiIHN0cm9rZT1cIiMyMkM1NUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZy5zdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhaWx1cmUnXCI+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk02IDExQzguNzYxNDIgMTEgMTEgOC43NjE0MiAxMSA2QzExIDMuMjM4NTggOC43NjE0MiAxIDYgMUMzLjIzODU4IDEgMSAzLjIzODU4IDEgNkMxIDguNzYxNDIgMy4yMzg1OCAxMSA2IDExWlwiIHN0cm9rZT1cIiNEQzI2MjZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk03LjUgNC41TDQuNSA3LjVcIiBzdHJva2U9XCIjREMyNjI2XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNC41IDQuNUw3LjUgNy41XCIgc3Ryb2tlPVwiI0RDMjYyNlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2Rpdj5cblxuICAgIDwhLS0gU3RlcCBOdW1iZXIgYW5kIFRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1mb250LWJvbGQgY3FhLXRleHQtWyM3RjFEMURdIGNxYS10ZXh0LVsxMXB4XSBjcWEtbGVhZGluZy1bMTNweF1cIj5cbiAgICAgICAge3sgY29uZmlnLnN0ZXBOdW1iZXIgfX0uIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlnLnRpdGxlXCI+PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNEZWJ1Z1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTAuNSBjcWEtdGV4dC1bIzlDQTNBRl1cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtYm9yZGVyLTAgY3FhLWJnLXRyYW5zcGFyZW50IGNxYS1jdXJzb3ItcG9pbnRlciBob3ZlcjpjcWEtb3BhY2l0eS04MCBjcWEtdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOmNxYS1vdXRsaW5lLW5vbmVcIiBhcmlhLWxhYmVsPVwiRWRpdFwiIChjbGljayk9XCJvbkVkaXRTdGVwKCRldmVudClcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXRleHQtWzE0cHhdICFjcWEtdy1bMTRweF0gIWNxYS1oLVsxNHB4XVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS1ib3JkZXItMCBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLWN1cnNvci1wb2ludGVyIGhvdmVyOmNxYS1vcGFjaXR5LTgwIGNxYS10cmFuc2l0aW9uLW9wYWNpdHkgZm9jdXM6Y3FhLW91dGxpbmUtbm9uZVwiIGFyaWEtbGFiZWw9XCJBZGRcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWRkU3RlcE1lbnVcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXRleHQtWzE0cHhdICFjcWEtdy1bMTRweF0gIWNxYS1oLVsxNHB4XVwiPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LW1lbnUgI2FkZFN0ZXBNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiY3FhLWFkZC1zdGVwLW1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIiB5UG9zaXRpb249XCJiZWxvd1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgb3B0IG9mIGFkZFN0ZXBNZW51T3B0aW9uc1wiIChjbGljayk9XCJvbkFkZFN0ZXBPcHRpb25TZWxlY3Qob3B0LCAkZXZlbnQpXCI+e3sgb3B0LmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtYm9yZGVyLTAgY3FhLWJnLXRyYW5zcGFyZW50IGNxYS1jdXJzb3ItcG9pbnRlciBob3ZlcjpjcWEtb3BhY2l0eS04MCBjcWEtdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOmNxYS1vdXRsaW5lLW5vbmVcIiBhcmlhLWxhYmVsPVwiTW9yZSBvcHRpb25zXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN0ZXBNb3JlTWVudVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiFjcWEtdGV4dC1bMTRweF0gIWNxYS13LVsxNHB4XSAhY3FhLWgtWzE0cHhdXCI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSAjc3RlcE1vcmVNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiY3FhLXN0ZXAtbW9yZS1tZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCIgeVBvc2l0aW9uPVwiYmVsb3dcIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IG9wdCBvZiBzdGVwTW9yZU1lbnVPcHRpb25zXCIgKGNsaWNrKT1cIm9uU3RlcE1vcmVPcHRpb25TZWxlY3Qob3B0LCAkZXZlbnQpXCI+e3sgb3B0LmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzlweF0gY3FhLWxlYWRpbmctWzIwcHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtWyNCOTFDMUNdXCI+XG4gICAgICAgIHt7IGZvcm1hdER1cmF0aW9uKGNvbmZpZy5kdXJhdGlvbikgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzdmcgW2NsYXNzLmNxYS1yb3RhdGUtMTgwXT1cImlzRXhwYW5kZWRcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEwIDEwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0yLjUgMy43NUw1IDYuMjVMNy41IDMuNzVcIiBzdHJva2U9XCIjRjg3MTcxXCIgc3Ryb2tlLXdpZHRoPVwiMC44MzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIEV4cGFuZGVkIENvbnRlbnQgLS0+XG4gIDxkaXYgKm5nSWY9XCJpc0V4cGFuZGVkXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1wLTJcIiBzdHlsZT1cImJvcmRlci1sZWZ0OiAnMnB4IHNvbGlkICNGQUM3QzcnOyBib3JkZXItYm90dG9tOiAnMXB4IHNvbGlkICNGRUUyRTInXCI+XG4gICAgPCEtLSBTdWItc3RlcHMgLS0+XG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZy5zdWJTdGVwcyAmJiBjb25maWcuc3ViU3RlcHMubGVuZ3RoID4gMFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMSBjcWEtcGwtWzlweF1cIiBzdHlsZT1cImJvcmRlci1sZWZ0OiAxcHggc29saWQgI0YzRjRGNjtcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHN1YlN0ZXAgb2YgY29uZmlnLnN1YlN0ZXBzXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtdGV4dC1bOXB4XSBjcWEtbGVhZGluZy1bMjBweF1cIlxuICAgICAgICBbbmdDbGFzc109XCJzdWJTdGVwLmRlc2NyaXB0aW9uID09PSBjb25maWcuZmFpbHVyZURldGFpbHMuZmFpbGVkQWN0aW9uID8gJ2NxYS10ZXh0LVsjQjkxQzFDXScgOiAnY3FhLXRleHQtWyM0NzU1NjldJ1wiPlxuICAgICAgICBcbiAgICAgICAgPCEtLSBGYWlsZWQgQWN0aW9uIEluZGljYXRvciAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWJTdGVwLmRlc2NyaXB0aW9uID09PSBjb25maWcuZmFpbHVyZURldGFpbHMuZmFpbGVkQWN0aW9uXCIgY2xhc3M9XCJjcWEtdGV4dC1bI0VGNDQ0NF0gY3FhLWZvbnQtYm9sZFwiPuKAojwvc3Bhbj5cblxuICAgICAgICA8IS0tIFN1Yi1zdGVwIERlc2NyaXB0aW9uIC0tPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1mbGV4LTFcIiBbbmdDbGFzc109XCJzdWJTdGVwLmRlc2NyaXB0aW9uID09PSBjb25maWcuZmFpbHVyZURldGFpbHMuZmFpbGVkQWN0aW9uID8gJ2NxYS1mb250LW1lZGl1bScgOiAnJ1wiPlxuICAgICAgICAgIHt7IHN1YlN0ZXAuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gU3ViLXN0ZXAgVGltZXN0YW1wIG9yIER1cmF0aW9uIC0tPlxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJzdWJTdGVwLmRlc2NyaXB0aW9uID09PSBjb25maWcuZmFpbHVyZURldGFpbHMuZmFpbGVkQWN0aW9uID8gJ2NxYS10ZXh0LVsjRkNBNUE1XScgOiAnY3FhLXRleHQtWyNEMUQ1REJdJ1wiPlxuICAgICAgICAgIHt7IHN1YlN0ZXAudGltZXN0YW1wIHx8IGZvcm1hdER1cmF0aW9uKHN1YlN0ZXAuZHVyYXRpb24pIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBFeHBlY3RlZCB2cyBBY3R1YWwgQ29tcGFyaXNvbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmZhaWx1cmVEZXRhaWxzXCIgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLXJvdW5kZWQgY3FhLW92ZXJmbG93LWhpZGRlbiBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl1cIj5cbiAgICAgIDwhLS0gRXhwZWN0ZWQgQ29sdW1uIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1wLTEuNSBjcWEtdGV4dC1bOXB4XSBjcWEtbGVhZGluZy1bMjBweF0gY3FhLWJnLXdoaXRlXCIgc3R5bGU9XCJib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRTVFN0VCO1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWyM5Q0EzQUZdXCI+RVhQRUNURUQ8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsjMzc0MTUxXVwiPlxuICAgICAgICAgIHt7IGNvbmZpZy5mYWlsdXJlRGV0YWlscy5leHBlY3RlZCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEFjdHVhbCBDb2x1bW4gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXAtMS41IGNxYS10ZXh0LVs5cHhdIGNxYS1sZWFkaW5nLVsyMHB4XSBjcWEtYmctWyNGRUY4RjhdXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bI0Y4NzE3MV1cIj5BQ1RVQUw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsjOTkxQjFCXVwiPlxuICAgICAgICAgIHt7IGNvbmZpZy5mYWlsdXJlRGV0YWlscy5hY3R1YWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gVmlzdWFsIENvbXBhcmlzb24gQ29tcG9uZW50IC0tPlxuICAgIDxjcWEtdmlzdWFsLWNvbXBhcmlzb25cbiAgICAgICpuZ0lmPVwiY29uZmlnLmZhaWx1cmVEZXRhaWxzXCJcbiAgICAgIFt0ZXN0U3RlcFJlc3VsdElkXT1cInRlc3RTdGVwUmVzdWx0SWRcIlxuICAgICAgW3NjcmVlbnNob3RzXT1cImNvbmZpZy5mYWlsdXJlRGV0YWlscy5zY3JlZW5zaG90c1wiXG4gICAgICBbbG9nc109XCJjb25maWcuZmFpbHVyZURldGFpbHMubG9nc1wiXG4gICAgICAobWFrZUN1cnJlbnRCYXNlbGluZSk9XCJvbk1ha2VDdXJyZW50QmFzZWxpbmUoJGV2ZW50KVwiXG4gICAgICAodXBsb2FkQmFzZWxpbmUpPVwib25VcGxvYWRCYXNlbGluZSgkZXZlbnQpXCJcbiAgICAgIChhbmFseXplKT1cIm9uQW5hbHl6ZSgpXCJcbiAgICAgIFt0ZXN0U3RlcFJlc3VsdElkXT1cInRlc3RTdGVwUmVzdWx0SWRcIlxuICAgICAgW2lzVXBsb2FkaW5nQmFzZWxpbmVdPVwiaXNVcGxvYWRpbmdCYXNlbGluZVwiXG4gICAgICBbaXNMaXZlXT1cImlzTGl2ZVwiXG4gICAgICAodmlld0Z1bGxMb2dzKT1cIm9uVmlld0Z1bGxMb2dzKClcIj5cbiAgICA8L2NxYS12aXN1YWwtY29tcGFyaXNvbj5cblxuICAgIDwhLS0gQUkgRml4IE1lc3NhZ2UgLS0+XG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZy5mYWlsdXJlRGV0YWlscy5haUZpeEFwcGxpZWRcIiBjbGFzcz1cImNxYS1weC0zIGNxYS1wdC0xLjUgY3FhLXBiLTIgY3FhLXJvdW5kZWQteGwgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFMkU4RjBdIGNxYS1iZy1bI0ZBRjVGRl1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzBGMTcyQV0gY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLW1iLTNcIj5cbiAgICAgICAgPGRpdj48c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiByeD1cIjRcIiBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzQwNzBfNzIwMSlcIi8+PHBhdGggZD1cIk04LjAwOTQxIDMuNUM4LjA2NDg5IDMuNTIyNzQgOC4wODg1OSAzLjU3ODI3IDguMTExMzEgMy42Mjk4NUM4LjEyMjY5IDMuNjU5OSA4LjEzMzE0IDMuNjkwMTIgOC4xNDMyOSAzLjcyMDU4QzguMTQ3MjYgMy43MzIyNSA4LjE1MTIzIDMuNzQzOTIgOC4xNTUzMiAzLjc1NTk0QzguMjA4MDYgMy45MTMgOC4yNTUwNCA0LjA3MTc1IDguMzAyMjkgNC4yMzAzOEM4LjMxMjk3IDQuMjY2MTkgOC4zMjM2OSA0LjMwMTk5IDguMzM0NDIgNC4zMzc3OEM4LjM4OTA1IDQuNTIwMDQgOC40NDMyNyA0LjcwMjQgOC40OTcxOSA0Ljg4NDg0QzguNTA0NzYgNC45MTA0NyA4LjUxMjM0IDQuOTM2MDkgOC41MTk5MiA0Ljk2MTcxQzguNTQxMjggNS4wMzM5NSA4LjU2MjYyIDUuMTA2MTkgOC41ODM4MyA1LjE3ODQ3QzguNjI4NjcgNS4zMzEyIDguNjc0NzMgNS40ODM0NyA4LjcyMzc4IDUuNjM1MDFDOC43MjgwNyA1LjY0ODI3IDguNzMyMzYgNS42NjE1MiA4LjczNjc3IDUuNjc1MThDOC44NjQyIDYuMDY1IDkuMDQ0ODIgNi40MTQzNyA5LjM0MDkgNi43MTE5NkM5LjM0ODIzIDYuNzE5NyA5LjM1NTU2IDYuNzI3NDQgOS4zNjMxMiA2LjczNTQxQzkuNDg5NSA2Ljg2NDM3IDkuNjUxNjkgNi45Njc3MSA5LjgxMzggNy4wNTExMUM5LjgyMjA2IDcuMDU1NDIgOS44MzAzMSA3LjA1OTc0IDkuODM4ODIgNy4wNjQxOUMxMC4zMTU5IDcuMzA5MjUgMTAuODg5NSA3LjQxNzA0IDExLjQwNjIgNy41NjA1QzExLjYzMjYgNy42MjM0IDExLjg1ODMgNy42ODgyOSAxMi4wODMyIDcuNzU2MDNDMTIuMDk5IDcuNzYwNzkgMTIuMTE0OCA3Ljc2NTU0IDEyLjEzMDYgNy43NzAyOEMxMi4xNzc4IDcuNzg0NDUgMTIuMjI1IDcuNzk4ODcgMTIuMjcyMSA3LjgxMzQ3QzEyLjI4MzEgNy44MTY3OSAxMi4yOTQxIDcuODIwMTEgMTIuMzA1NCA3LjgyMzUzQzEyLjM3MDMgNy44NDQwNiAxMi40MzI0IDcuODY4MjkgMTIuNDg1NyA3LjkxMDI3QzEyLjUwMTkgNy45NDQxOCAxMi41MDE5IDcuOTQ0MTggMTIuNDk3NSA3Ljk3ODFDMTIuNDQ1NiA4LjAyNzM2IDEyLjM5NDIgOC4wNTA0NiAxMi4zMjU4IDguMDczQzEyLjMxNiA4LjA3NjMyIDEyLjMwNjIgOC4wNzk2NSAxMi4yOTYxIDguMDgzMDhDMTIuMTgwNiA4LjEyMTgzIDEyLjA2MzUgOC4xNTU3NSAxMS45NDYzIDguMTg5MzVDMTEuOTIyMiA4LjE5NjMgMTEuODk4MSA4LjIwMzI2IDExLjg3NDEgOC4yMTAyMUMxMS43MjU3IDguMjUzMDEgMTEuNTc3MSA4LjI5NDkgMTEuNDI4MyA4LjMzNjMyQzExLjIzMjMgOC4zOTA4OCAxMS4wMzY2IDguNDQ2MzQgMTAuODQxMSA4LjUwMjQzQzEwLjgwOTEgOC41MTE2MiAxMC43NzcxIDguNTIwNzggMTAuNzQ1IDguNTI5OTFDMTAuNTc2NyA4LjU3Nzg2IDEwLjQwOTIgOC42Mjc1MyAxMC4yNDMxIDguNjgyMDhDMTAuMjI5NCA4LjY4NjU5IDEwLjIxNTYgOC42OTExIDEwLjIwMTQgOC42OTU3NEM5LjY0NTExIDguODgwODIgOS4yMjExIDkuMjI2MDkgOC45NTU3MSA5LjczMDk5QzguODEyNjMgMTAuMDE0OCA4LjcyODIzIDEwLjMyMTYgOC42NDIxNCAxMC42MjQ1QzguNjE4ODQgMTAuNzA2MiA4LjU5NDA5IDEwLjc4NzUgOC41NjkwNSAxMC44Njg3QzguNTQ5NCAxMC45MzI2IDguNTMwMiAxMC45OTY2IDguNTExNDkgMTEuMDYwOEM4LjUwOTI2IDExLjA2ODQgOC41MDcwMyAxMS4wNzYxIDguNTA0NzMgMTEuMDgzOUM4LjQ5Mzk0IDExLjEyMDkgOC40ODMxOSAxMS4xNTc5IDguNDcyNTIgMTEuMTk1QzguNDQ1MTkgMTEuMjg4OCA4LjQxNTc4IDExLjM4MTkgOC4zODU1NSAxMS40NzQ5QzguMzMxOTEgMTEuNjQwMiA4LjI4MzEgMTEuODA2NyA4LjIzNDU5IDExLjk3MzVDOC4xNjE0NCAxMi4yMjQ2IDguMTYxNDQgMTIuMjI0NiA4LjExOTk3IDEyLjM0NTNDOC4xMTcyMSAxMi4zNTM0IDguMTE0NDYgMTIuMzYxNSA4LjExMTYzIDEyLjM2OThDOC4wOTY0OSAxMi40MTI4IDguMDgwOTIgMTIuNDUyMyA4LjA1MjI2IDEyLjQ4ODdDOC4wMDg2NyAxMi40OTc5IDguMDA4NjcgMTIuNDk3OSA3Ljk2OTUxIDEyLjVDNy45MjQ3MyAxMi40Mzc2IDcuODk1MDggMTIuMzc3MSA3Ljg3MTMzIDEyLjMwNTFDNy44Njc4NyAxMi4yOTQ5IDcuODY0NDEgMTIuMjg0NyA3Ljg2MDg1IDEyLjI3NDFDNy44MTY4NCAxMi4xNDI1IDcuNzc3NTEgMTIuMDA5NSA3LjczODE3IDExLjg3NjVDNy43MjkxNiAxMS44NDYgNy43MjAxMSAxMS44MTU2IDcuNzExMDYgMTEuNzg1MkM3LjY0MzYgMTEuNTU4NiA3LjU3NzI1IDExLjMzMTcgNy41MTEwMSAxMS4xMDQ4QzcuMjM1MDcgOS45ODIyNCA3LjIzNTA3IDkuOTgyMjQgNi41MzkgOS4wNzQ2NkM2LjUyNzg0IDkuMDY1OTYgNi41MTY2OSA5LjA1NzI2IDYuNTA1MTkgOS4wNDgzQzYuMDQ5MTMgOC42OTkwMiA1LjQ0ODM0IDguNTY5NyA0Ljg5ODE1IDguNDE4MTNDNC43NjIwNyA4LjM4MDYyIDQuNjI2MDUgOC4zNDI5MyA0LjQ5MDAzIDguMzA1MjNDNC40NzgxNCA4LjMwMTkzIDQuNDc4MTQgOC4zMDE5MyA0LjQ2NiA4LjI5ODU3QzQuMjY5ODEgOC4yNDQxNyA0LjA3MzY3IDguMTg5NjMgMy44NzgyMiA4LjEzMjgzQzMuODY5OTYgOC4xMzA0NSAzLjg2MTY5IDguMTI4MDYgMy44NTMxNyA4LjEyNTYxQzMuNTUyOSA4LjAzODgzIDMuNTUyOSA4LjAzODgzIDMuNTAwNjUgNy45NzgxQzMuNDk5MTcgNy45NTA1NCAzLjQ5OTE3IDcuOTUwNTQgMy41MTI0NyA3LjkyMTU3QzMuNTY3MDggNy44NzA0IDMuNjIwMDggNy44NDg0OCAzLjY5MjE2IDcuODI2MTlDMy43MDI2IDcuODIyODQgMy43MTMwMyA3LjgxOTQ4IDMuNzIzNzkgNy44MTYwM0MzLjc1NTc1IDcuODA1ODIgMy43ODc3OSA3Ljc5NTg0IDMuODE5ODUgNy43ODU5MkMzLjgyOSA3Ljc4MzA1IDMuODM4MTUgNy43ODAxNyAzLjg0NzU4IDcuNzc3MjJDMy45MTIyOCA3Ljc1NjkzIDMuOTc3MjIgNy43Mzc0IDQuMDQyMjYgNy43MTgwOUM0LjA1ODI0IDcuNzEzMzIgNC4wNTgyNCA3LjcxMzMyIDQuMDc0NTQgNy43MDg0NkM0LjM1MjI3IDcuNjI1ODcgNC42MzE4MSA3LjU0OSA0LjkxMTI2IDcuNDcxOTZDNS4xMTk1IDcuNDE0NTUgNS4zMjczOCA3LjM1NjE4IDUuNTM0NiA3LjI5NTQ4QzUuNTQ0MTMgNy4yOTI3MSA1LjU1MzY1IDcuMjg5OTMgNS41NjM0NiA3LjI4NzA3QzYuMDQzNSA3LjE0Njk2IDYuNTEyNzggNi45NDgxNiA2LjgyMjc0IDYuNTUzN0M2LjgyNzM4IDYuNTQ3ODUgNi44MzIwMiA2LjU0MiA2LjgzNjggNi41MzU5N0M3LjE4MTk3IDYuMDk4MTUgNy4zMTY1OCA1LjU2NTcyIDcuNDY2OTYgNS4wNDYyMUM3LjUxNjQyIDQuODc1MzUgNy41NjY0OSA0LjcwNDY0IDcuNjE2NzMgNC41MzM5OUM3LjYzMDY0IDQuNDg2NzMgNy42NDQ1MyA0LjQzOTQ3IDcuNjU4MzYgNC4zOTIxOUM3LjcxMzk0IDQuMjAyMjkgNy43NzAzNSA0LjAxMjY0IDcuODMgMy44MjM4NkM3LjgzNTU4IDMuODA2MTkgNy44NDExNCAzLjc4ODUgNy44NDY2NiAzLjc3MDgxQzcuOTMwMTcgMy41MDM5OSA3LjkzMDE3IDMuNTAzOTkgOC4wMDk0MSAzLjVaXCIgZmlsbD1cIndoaXRlXCIvPjxwYXRoIGQ9XCJNMTAuNzM1OCA0LjA1NTM1QzEwLjc5MDEgNC4xMTQwOSAxMC44MDEgNC4xODMxMiAxMC44MTc5IDQuMjU4MTNDMTAuODc0MiA0LjQ5Mzc2IDEwLjkzOTIgNC43MTA0MiAxMS4xNjQ1IDQuODQ3M0MxMS4zMDM2IDQuOTIwODMgMTEuNDY5MyA0Ljk1NDMgMTEuNjIzNCA0Ljk4NTlDMTEuNjg4NCA0Ljk5OTUxIDExLjc0MzQgNS4wMTc1OCAxMS43OTkxIDUuMDUzN0MxMS44MTE3IDUuMDcyNzggMTEuODExNyA1LjA3Mjc4IDExLjgxMDkgNS4xMDU5OEMxMS43OTggNS4xNDYzNyAxMS43ODY3IDUuMTU5MzkgMTEuNzUyNiA1LjE4NTgyQzExLjcxNTMgNS4xOTc3NSAxMS43MTUzIDUuMTk3NzUgMTEuNjcwNiA1LjIwNzAyQzExLjY1MzYgNS4yMTA3NCAxMS42MzY3IDUuMjE0NDkgMTEuNjE5OCA1LjIxODI4QzExLjYxMDcgNS4yMjAyOSAxMS42MDE3IDUuMjIyMyAxMS41OTI0IDUuMjI0MzdDMTEuMzE2OCA1LjI4NTMxIDExLjMxNjggNS4yODUzMSAxMS4wNzg3IDUuNDIzMjJDMTEuMDcxIDUuNDI5MTggMTEuMDYzMiA1LjQzNTE0IDExLjA1NTIgNS40NDEyOEMxMC44ODUgNS41ODQ3OSAxMC44NDkgNS44MjM1MSAxMC43OTc4IDYuMDIzNUMxMC43OTQ5IDYuMDM0NDggMTAuNzkxOSA2LjA0NTQ2IDEwLjc4ODkgNi4wNTY3OEMxMC43ODY0IDYuMDY2NSAxMC43ODM4IDYuMDc2MjIgMTAuNzgxMiA2LjA4NjI0QzEwLjc3MDIgNi4xMTU5MyAxMC43NTg3IDYuMTM1MjggMTAuNzM1OCA2LjE1ODAzQzEwLjY3MjIgNi4xNjU3NiAxMC42NzIyIDYuMTY1NzYgMTAuNjQxMyA2LjE1ODAzQzEwLjU5MiA2LjEyMTU1IDEwLjU4MSA2LjA3OTk5IDEwLjU2ODIgNi4wMjQxNEMxMC41NjYgNi4wMTU0OSAxMC41NjM5IDYuMDA2ODUgMTAuNTYxNiA1Ljk5Nzk0QzEwLjU1NDggNS45NzAzMiAxMC41NDgxIDUuOTQyNjYgMTAuNTQxNSA1LjkxNDk4QzEwLjQ4OTcgNS42OTk0NiAxMC40MzExIDUuNDg4IDEwLjIyNDQgNS4zNjE2N0MxMC4wNjI4IDUuMjc1NSA5Ljg2NjM0IDUuMjM0NzUgOS42ODU3NSA1LjIwMTg1QzkuNjM2MjUgNS4xOTE5OSA5LjYwNzg5IDUuMTc5NiA5LjU3NzI1IDUuMTQwNkM5LjU3MDYgNS4xMDEwNCA5LjU3MDYgNS4xMDEwNCA5LjU3NzI1IDUuMDYxNDdDOS42MjQzNSA1LjAxNDg2IDkuNjczOSA1LjAwMzQ4IDkuNzM3NTkgNC45ODk0QzkuNzU3NjYgNC45ODQ2NSA5Ljc3NzcyIDQuOTc5ODcgOS43OTc3NyA0Ljk3NTA1QzkuODA4MTMgNC45NzI1OCA5LjgxODQ5IDQuOTcwMTEgOS44MjkxNyA0Ljk2NzU2QzkuODgyIDQuOTU0NTYgOS45MzQzMSA0LjkzOTk4IDkuOTg2NiA0LjkyNTExQzkuOTk2MTEgNC45MjI0NyAxMC4wMDU2IDQuOTE5ODQgMTAuMDE1NCA0LjkxNzEyQzEwLjEyMTcgNC44ODY3MyAxMC4yMTM0IDQuODQ3ODYgMTAuMjk4NCA0Ljc3ODg1QzEwLjMwNjMgNC43NzI2MSAxMC4zMTQzIDQuNzY2MzggMTAuMzIyNCA0Ljc1OTk1QzEwLjQ1NDcgNC42NDYxNCAxMC40OTk2IDQuNDc1MTYgMTAuNTQwNCA0LjMxNTYyQzEwLjU0MzUgNC4zMDM1MSAxMC41NDY2IDQuMjkxNCAxMC41NDk4IDQuMjc4OTJDMTAuNTU2IDQuMjU0NTkgMTAuNTYyMSA0LjIzMDIzIDEwLjU2ODEgNC4yMDU4NUMxMC41NzIzIDQuMTg4ODggMTAuNTcyMyA0LjE4ODg4IDEwLjU3NjcgNC4xNzE1N0MxMC41NzkxIDQuMTYxNDQgMTAuNTgxNiA0LjE1MTMgMTAuNTg0MiA0LjE0MDg2QzEwLjU5NTEgNC4xMDg2IDEwLjYwOTQgNC4wODMyNiAxMC42Mjk0IDQuMDU1MzVDMTAuNjY4IDQuMDM2OTIgMTAuNjk1IDQuMDQ1MjUgMTAuNzM1OCA0LjA1NTM1WlwiIGZpbGw9XCIjRURFOUZFXCIvPjxwYXRoIGQ9XCJNNS4yOTU1NCA5Ljc0NzIyQzUuMzA5NiA5Ljc0NzMxIDUuMzA5NiA5Ljc0NzMxIDUuMzIzOTUgOS43NDc0MUM1LjQyNDg2IDkuNzUwMzUgNS40OTMxNCA5Ljc4MTI3IDUuNTY3NDUgOS44NDYxM0M1LjY1MzkzIDkuOTM1NDUgNS42OTM4NiAxMC4wMzYyIDUuNjkxNTkgMTAuMTU2NkM1LjY4MTg4IDEwLjI1NDIgNS42MjE2NyAxMC4zMzk1IDUuNTQ3ODIgMTAuNDA1NUM1LjQ2MDkgMTAuNDcyNSA1LjM3MzIyIDEwLjQ5NDcgNS4yNjIxNSAxMC40OTE2QzUuMTY4NSAxMC40ODEyIDUuMDgwMzkgMTAuNDM4NiA1LjAxNDAyIDEwLjM3NDZDNC45MzE0NyAxMC4yNjY5IDQuOTA3MzQgMTAuMTY4MiA0LjkxOTQ0IDEwLjAzNTVDNC45NDQ0MyA5LjkzMTA0IDUuMDE2NDYgOS44NDYyNSA1LjEwODYgOS43ODY3OEM1LjE3MjYgOS43NTU3NiA1LjIyNDA4IDkuNzQ2NjUgNS4yOTU1NCA5Ljc0NzIyWlwiIGZpbGw9XCJ3aGl0ZVwiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzQwNzBfNzIwMVwiIHgxPVwiMFwiIHkxPVwiMFwiIHgyPVwiMTZcIiB5Mj1cIjE2XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agc3RvcC1jb2xvcj1cIiM4QjVDRjZcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOTMzM0VBXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPjwvZGl2PlxuICAgICAgICB7eyBjb25maWcuZmFpbHVyZURldGFpbHMuYWlGaXhNZXNzYWdlIHx8ICdBSSBJbnNpZ2h0cycgfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtaW5saW5lLWJsb2NrIGNxYS1weS1bMnB4XSBjcWEtcHgtWzEwcHhdIGNxYS10ZXh0LWNlbnRlciBjcWEtcm91bmRlZC1bNXB4XSBjcWEtYmctWyNFREU5RkVdIGNxYS10ZXh0LVs4cHhdIGNxYS1sZWFkaW5nLVsxMnB4XSBjcWEtdGV4dC1bIzZEMjhEOV1cIj45NCUgY29uZmlkZW5jZTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1ncmlkIGNxYS1ncmlkLWNvbHMtMiBjcWEtZ2FwLTRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM2NDc0OEJdXCI+UmVhc29uaW5nPC9kaXY+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMS41XCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJjcWEtZmxleCBjcWEtZ2FwLTIgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM0NzU1NjldXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbXQtMS41XCI+PHN2ZyB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCA2IDZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cmVjdCB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgcng9XCIzXCIgZmlsbD1cIiNBNzhCRkFcIi8+PC9zdmc+PC9kaXY+XG4gICAgICAgICAgICAgIFN0YWxlIHN0YXRlOiB0ZXN0IGF0dHJpYnV0ZSBhcyBwcmltYXJ5IGxvY2F0b3IgKGhpZ2hlc3QgcHJpb3JpdHkpXG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiY3FhLWZsZXggY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNDc1NTY5XVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLW10LTEuNVwiPjxzdmcgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgNiA2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHJlY3Qgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHJ4PVwiM1wiIGZpbGw9XCIjQTc4QkZBXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgICBDb25maWRlbmNlIHNjb3JlOiA5NCUgYmFzZWQgb24gRE9NIHNpbWlsYXJpdHkgYW5hbHlzaXNcbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJjcWEtZmxleCBjcWEtZ2FwLTIgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM0NzU1NjldXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbXQtMS41XCI+PHN2ZyB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCA2IDZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cmVjdCB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgcng9XCIzXCIgZmlsbD1cIiNBNzhCRkFcIi8+PC9zdmc+PC9kaXY+XG4gICAgICAgICAgICAgIEluY3JlYXNlZCB3YWl0IHRpbWUgZnJvbSAycyB0byA1cyBkdWUgdG8gYnV0dG9uIGxhdGVuY3lcbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJjcWEtZmxleCBjcWEtZ2FwLTIgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM0NzU1NjldXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbXQtMS41XCI+PHN2ZyB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCA2IDZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cmVjdCB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgcng9XCIzXCIgZmlsbD1cIiNBNzhCRkFcIi8+PC9zdmc+PC9kaXY+XG4gICAgICAgICAgICAgIEVudmlyb25tZW50IGJpbmRpbmc6IHNwZWVkIG9mIGFzc2V0cyBieSAyMCUgdGhyb3VnaCBvcHRpbWl6ZWQgY2FjaGluZ1xuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM2NDc0OEJdXCI+U3VnZ2VzdGVkIEZpeGVzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1weC1bMTBweF0gY3FhLXB5LVsycHhdIGNxYS1yb3VuZGVkLVs1cHhdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMDY1RjQ2XSBjcWEtYmctWyNFQ0ZERjVdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRDFGQUU1XVwiPlxuICAgICAgICAgICAgPGRpdj48c3ZnIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEuNjY2NjIgNS44MzMzNkMxLjU4Nzc3IDUuODMzNjMgMS41MTA0NyA1LjgxMTUyIDEuNDQzNjkgNS43Njk2QzEuMzc2OSA1LjcyNzY4IDEuMzIzMzkgNS42Njc2OCAxLjI4OTM1IDUuNTk2NTVDMS4yNTUzMiA1LjUyNTQzIDEuMjQyMTYgNS40NDYxIDEuMjUxNDEgNS4zNjc4QzEuMjYwNjcgNS4yODk1IDEuMjkxOTUgNS4yMTU0MyAxLjM0MTYyIDUuMTU0MTlMNS40NjY2MiAwLjkwNDE5NEM1LjQ5NzU3IDAuODY4NDc4IDUuNTM5NzMgMC44NDQzNDIgNS41ODYyIDAuODM1NzQ5QzUuNjMyNjcgMC44MjcxNTYgNS42ODA2NyAwLjgzNDYxNiA1LjcyMjM0IDAuODU2OTA0QzUuNzY0MDEgMC44NzkxOTIgNS43OTY4NyAwLjkxNDk4NCA1LjgxNTUxIDAuOTU4NDA2QzUuODM0MTYgMS4wMDE4MyA1LjgzNzQ5IDEuMDUwMyA1LjgyNDk2IDEuMDk1ODZMNS4wMjQ5NiAzLjYwNDE5QzUuMDAxMzcgMy42NjczMyA0Ljk5MzQ0IDMuNzM1MjQgNS4wMDE4NyAzLjgwMjExQzUuMDEwMjkgMy44Njg5OCA1LjAzNDgxIDMuOTMyODEgNS4wNzMzMyAzLjk4ODEyQzUuMTExODQgNC4wNDM0MyA1LjE2MzE5IDQuMDg4NTcgNS4yMjI5OSA0LjExOTY4QzUuMjgyNzggNC4xNTA3OCA1LjM0OTIyIDQuMTY2OTEgNS40MTY2MiA0LjE2NjY5SDguMzMzMjlDOC40MTIxNCA0LjE2NjQzIDguNDg5NDQgNC4xODg1MyA4LjU1NjIyIDQuMjMwNDVDOC42MjMwMSA0LjI3MjM3IDguNjc2NTMgNC4zMzIzOCA4LjcxMDU2IDQuNDAzNUM4Ljc0NDYgNC40NzQ2MyA4Ljc1Nzc1IDQuNTUzOTUgOC43NDg1IDQuNjMyMjVDOC43MzkyNCA0LjcxMDU2IDguNzA3OTYgNC43ODQ2MyA4LjY1ODI5IDQuODQ1ODZMNC41MzMyOSA5LjA5NTg2QzQuNTAyMzUgOS4xMzE1OCA0LjQ2MDE4IDkuMTU1NzEgNC40MTM3MSA5LjE2NDNDNC4zNjcyNSA5LjE3MjkgNC4zMTkyNCA5LjE2NTQ0IDQuMjc3NTcgOS4xNDMxNUM0LjIzNTkgOS4xMjA4NiA0LjIwMzA1IDkuMDg1MDcgNC4xODQ0IDkuMDQxNjVDNC4xNjU3NSA4Ljk5ODIzIDQuMTYyNDIgOC45NDk3NiA0LjE3NDk2IDguOTA0MTlMNC45NzQ5NiA2LjM5NTg2QzQuOTk4NTUgNi4zMzI3MyA1LjAwNjQ3IDYuMjY0ODEgNC45OTgwNCA2LjE5Nzk0QzQuOTg5NjIgNi4xMzEwNyA0Ljk2NTEgNi4wNjcyNCA0LjkyNjU5IDYuMDExOTNDNC44ODgwNyA1Ljk1NjYyIDQuODM2NzIgNS45MTE0OCA0Ljc3NjkyIDUuODgwMzhDNC43MTcxMyA1Ljg0OTI3IDQuNjUwNjkgNS44MzMxNCA0LjU4MzI5IDUuODMzMzZIMS42NjY2MlpcIiBzdHJva2U9XCIjMDU5NjY5XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgVXBkYXRlIGxvY2F0b3IgdG8gdXNlIGRhdGEtdGVzdGlkPSdyZWdpc3RyYXRpb24tc3VibWl0JyBpbnN0ZWFkIG9mICNzdWJtaXQtYnRuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1weC1bMTBweF0gY3FhLXB5LVsycHhdIGNxYS1yb3VuZGVkLVs1cHhdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMDY1RjQ2XSBjcWEtYmctWyNFQ0ZERjVdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRDFGQUU1XVwiPlxuICAgICAgICAgICAgPGRpdj48c3ZnIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEuNjY2NjIgNS44MzMzNkMxLjU4Nzc3IDUuODMzNjMgMS41MTA0NyA1LjgxMTUyIDEuNDQzNjkgNS43Njk2QzEuMzc2OSA1LjcyNzY4IDEuMzIzMzkgNS42Njc2OCAxLjI4OTM1IDUuNTk2NTVDMS4yNTUzMiA1LjUyNTQzIDEuMjQyMTYgNS40NDYxIDEuMjUxNDEgNS4zNjc4QzEuMjYwNjcgNS4yODk1IDEuMjkxOTUgNS4yMTU0MyAxLjM0MTYyIDUuMTU0MTlMNS40NjY2MiAwLjkwNDE5NEM1LjQ5NzU3IDAuODY4NDc4IDUuNTM5NzMgMC44NDQzNDIgNS41ODYyIDAuODM1NzQ5QzUuNjMyNjcgMC44MjcxNTYgNS42ODA2NyAwLjgzNDYxNiA1LjcyMjM0IDAuODU2OTA0QzUuNzY0MDEgMC44NzkxOTIgNS43OTY4NyAwLjkxNDk4NCA1LjgxNTUxIDAuOTU4NDA2QzUuODM0MTYgMS4wMDE4MyA1LjgzNzQ5IDEuMDUwMyA1LjgyNDk2IDEuMDk1ODZMNS4wMjQ5NiAzLjYwNDE5QzUuMDAxMzcgMy42NjczMyA0Ljk5MzQ0IDMuNzM1MjQgNS4wMDE4NyAzLjgwMjExQzUuMDEwMjkgMy44Njg5OCA1LjAzNDgxIDMuOTMyODEgNS4wNzMzMyAzLjk4ODEyQzUuMTExODQgNC4wNDM0MyA1LjE2MzE5IDQuMDg4NTcgNS4yMjI5OSA0LjExOTY4QzUuMjgyNzggNC4xNTA3OCA1LjM0OTIyIDQuMTY2OTEgNS40MTY2MiA0LjE2NjY5SDguMzMzMjlDOC40MTIxNCA0LjE2NjQzIDguNDg5NDQgNC4xODg1MyA4LjU1NjIyIDQuMjMwNDVDOC42MjMwMSA0LjI3MjM3IDguNjc2NTMgNC4zMzIzOCA4LjcxMDU2IDQuNDAzNUM4Ljc0NDYgNC40NzQ2MyA4Ljc1Nzc1IDQuNTUzOTUgOC43NDg1IDQuNjMyMjVDOC43MzkyNCA0LjcxMDU2IDguNzA3OTYgNC43ODQ2MyA4LjY1ODI5IDQuODQ1ODZMNC41MzMyOSA5LjA5NTg2QzQuNTAyMzUgOS4xMzE1OCA0LjQ2MDE4IDkuMTU1NzEgNC40MTM3MSA5LjE2NDNDNC4zNjcyNSA5LjE3MjkgNC4zMTkyNCA5LjE2NTQ0IDQuMjc3NTcgOS4xNDMxNUM0LjIzNTkgOS4xMjA4NiA0LjIwMzA1IDkuMDg1MDcgNC4xODQ0IDkuMDQxNjVDNC4xNjU3NSA4Ljk5ODIzIDQuMTYyNDIgOC45NDk3NiA0LjE3NDk2IDguOTA0MTlMNC45NzQ5NiA2LjM5NTg2QzQuOTk4NTUgNi4zMzI3MyA1LjAwNjQ3IDYuMjY0ODEgNC45OTgwNCA2LjE5Nzk0QzQuOTg5NjIgNi4xMzEwNyA0Ljk2NTEgNi4wNjcyNCA0LjkyNjU5IDYuMDExOTNDNC44ODgwNyA1Ljk1NjYyIDQuODM2NzIgNS45MTE0OCA0Ljc3NjkyIDUuODgwMzhDNC43MTcxMyA1Ljg0OTI3IDQuNjUwNjkgNS44MzMxNCA0LjU4MzI5IDUuODMzMzZIMS42NjY2MlpcIiBzdHJva2U9XCIjMDU5NjY5XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgQWRkIGV4cGxpY2l0IHdhaXQgZm9yIG5ldHdvcmsgaWRsZSBiZWZvcmUgY2xpY2tpbmcgc3VibWl0XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1weC1bMTBweF0gY3FhLXB5LVsycHhdIGNxYS1yb3VuZGVkLVs1cHhdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMDY1RjQ2XSBjcWEtYmctWyNFQ0ZERjVdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRDFGQUU1XVwiPlxuICAgICAgICAgICAgPGRpdj48c3ZnIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEuNjY2NjIgNS44MzMzNkMxLjU4Nzc3IDUuODMzNjMgMS41MTA0NyA1LjgxMTUyIDEuNDQzNjkgNS43Njk2QzEuMzc2OSA1LjcyNzY4IDEuMzIzMzkgNS42Njc2OCAxLjI4OTM1IDUuNTk2NTVDMS4yNTUzMiA1LjUyNTQzIDEuMjQyMTYgNS40NDYxIDEuMjUxNDEgNS4zNjc4QzEuMjYwNjcgNS4yODk1IDEuMjkxOTUgNS4yMTU0MyAxLjM0MTYyIDUuMTU0MTlMNS40NjY2MiAwLjkwNDE5NEM1LjQ5NzU3IDAuODY4NDc4IDUuNTM5NzMgMC44NDQzNDIgNS41ODYyIDAuODM1NzQ5QzUuNjMyNjcgMC44MjcxNTYgNS42ODA2NyAwLjgzNDYxNiA1LjcyMjM0IDAuODU2OTA0QzUuNzY0MDEgMC44NzkxOTIgNS43OTY4NyAwLjkxNDk4NCA1LjgxNTUxIDAuOTU4NDA2QzUuODM0MTYgMS4wMDE4MyA1LjgzNzQ5IDEuMDUwMyA1LjgyNDk2IDEuMDk1ODZMNS4wMjQ5NiAzLjYwNDE5QzUuMDAxMzcgMy42NjczMyA0Ljk5MzQ0IDMuNzM1MjQgNS4wMDE4NyAzLjgwMjExQzUuMDEwMjkgMy44Njg5OCA1LjAzNDgxIDMuOTMyODEgNS4wNzMzMyAzLjk4ODEyQzUuMTExODQgNC4wNDM0MyA1LjE2MzE5IDQuMDg4NTcgNS4yMjI5OSA0LjExOTY4QzUuMjgyNzggNC4xNTA3OCA1LjM0OTIyIDQuMTY2OTEgNS40MTY2MiA0LjE2NjY5SDguMzMzMjlDOC40MTIxNCA0LjE2NjQzIDguNDg5NDQgNC4xODg1MyA4LjU1NjIyIDQuMjMwNDVDOC42MjMwMSA0LjI3MjM3IDguNjc2NTMgNC4zMzIzOCA4LjcxMDU2IDQuNDAzNUM4Ljc0NDYgNC40NzQ2MyA4Ljc1Nzc1IDQuNTUzOTUgOC43NDg1IDQuNjMyMjVDOC43MzkyNCA0LjcxMDU2IDguNzA3OTYgNC43ODQ2MyA4LjY1ODI5IDQuODQ1ODZMNC41MzMyOSA5LjA5NTg2QzQuNTAyMzUgOS4xMzE1OCA0LjQ2MDE4IDkuMTU1NzEgNC40MTM3MSA5LjE2NDNDNC4zNjcyNSA5LjE3MjkgNC4zMTkyNCA5LjE2NTQ0IDQuMjc3NTcgOS4xNDMxNUM0LjIzNTkgOS4xMjA4NiA0LjIwMzA1IDkuMDg1MDcgNC4xODQ0IDkuMDQxNjVDNC4xNjU3NSA4Ljk5ODIzIDQuMTYyNDIgOC45NDk3NiA0LjE3NDk2IDguOTA0MTlMNC45NzQ5NiA2LjM5NTg2QzQuOTk4NTUgNi4zMzI3MyA1LjAwNjQ3IDYuMjY0ODEgNC45OTgwNCA2LjE5Nzk0QzQuOTg5NjIgNi4xMzEwNyA0Ljk2NTEgNi4wNjcyNCA0LjkyNjU5IDYuMDExOTNDNC44ODgwNyA1Ljk1NjYyIDQuODM2NzIgNS45MTE0OCA0Ljc3NjkyIDUuODgwMzhDNC43MTcxMyA1Ljg0OTI3IDQuNjUwNjkgNS44MzMxNCA0LjU4MzI5IDUuODMzMzZIMS42NjY2MlpcIiBzdHJva2U9XCIjMDU5NjY5XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgQ29uc2lkZXIgYWRkaW5nIHJldHJ5IGxvZ2ljIGZvciBmb3JtIHN1Ym1pc3Npb24gc3RlcFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9leGVjdXRpb24tc2NyZWVuL2ZhaWxlZC1zdGVwL2ZhaWxlZC1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZXhlY3V0aW9uLXNjcmVlbi9mYWlsZWQtc3RlcC9mYWlsZWQtc3RlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBNkYsNkJBQTZCLEVBQXNCLDhCQUE4QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeE4sT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVUzRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBTjFEOztRQWtCVyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDbkUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN6RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDeEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDNUQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFDL0QsdUJBQWtCLEdBQXdCLDZCQUE2QixDQUFDO1FBQ3hFLHdCQUFtQixHQUF5Qiw4QkFBOEIsQ0FBQztLQTJEckY7SUF0RFUsUUFBUTtRQUNmLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsV0FBVyxFQUFFLFFBQVE7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ0osQ0FBQztRQUV0QixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQStCO1FBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUEwQjtRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQXlCLEVBQUUsS0FBWTtRQUMzRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBMEIsRUFBRSxLQUFZO1FBQzdELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O2dIQWpGVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix1eUJDWmhDLG0vcEJBbUpNOzJGRHZJTyxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLFFBR3JCLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFOzhCQUloQyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFpbGVkU3RlcENvbmZpZywgU3ViU3RlcCwgRmFpbHVyZURldGFpbHMsIFN0ZXBTdGF0dXMsIFRpbWluZ0JyZWFrZG93biwgQWRkU3RlcE1lbnVPcHRpb24sIERFRkFVTFRfQUREX1NURVBfTUVOVV9PUFRJT05TLCBTdGVwTW9yZU1lbnVPcHRpb24sIERFRkFVTFRfU1RFUF9NT1JFX01FTlVfT1BUSU9OUyB9IGZyb20gJy4uL2V4ZWN1dGlvbi1zdGVwLm1vZGVscyc7XG5pbXBvcnQgeyBCYXNlU3RlcENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2Utc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgbWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50IH0gZnJvbSAnLi4vdmlzdWFsLWNvbXBhcmlzb24vdmlzdWFsLWNvbXBhcmlzb24uY29tcG9uZW50JztcbmltcG9ydCB7IHVwbG9hZEJhc2VsaW5lRXZlbnQgfSBmcm9tICcuLi92aXN1YWwtY29tcGFyaXNvbi92aXN1YWwtY29tcGFyaXNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZmFpbGVkLXN0ZXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFpbGVkLXN0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QgY3FhLXctZnVsbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBGYWlsZWRTdGVwQ29tcG9uZW50IGV4dGVuZHMgQmFzZVN0ZXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBJbmRpdmlkdWFsIGlucHV0c1xuICBASW5wdXQoKSBpZCE6IHN0cmluZztcbiAgQElucHV0KCkgdGVzdFN0ZXBSZXN1bHRJZCE6IHN0cmluZztcbiAgQElucHV0KCkgc3RlcE51bWJlciE6IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0YXR1cyE6IFN0ZXBTdGF0dXM7XG4gIEBJbnB1dCgpIGR1cmF0aW9uITogbnVtYmVyO1xuICBASW5wdXQoKSB0aW1pbmdCcmVha2Rvd24/OiBUaW1pbmdCcmVha2Rvd247XG4gIEBJbnB1dCgpIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3ViU3RlcHMhOiBTdWJTdGVwW107XG4gIEBJbnB1dCgpIGZhaWx1cmVEZXRhaWxzITogRmFpbHVyZURldGFpbHM7XG4gIEBJbnB1dCgpIGlzVXBsb2FkaW5nQmFzZWxpbmUgPSB7fTtcbiAgQElucHV0KCkgaXNMaXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRGVidWc/OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBtYWtlQ3VycmVudEJhc2VsaW5lID0gbmV3IEV2ZW50RW1pdHRlcjxtYWtlQ3VycmVudEJhc2VsaW5lRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSB1cGxvYWRCYXNlbGluZSA9IG5ldyBFdmVudEVtaXR0ZXI8dXBsb2FkQmFzZWxpbmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGFuYWx5emUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSB2aWV3RnVsbExvZ3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBlZGl0U3RlcCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGFkZFN0ZXBPcHRpb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEFkZFN0ZXBNZW51T3B0aW9uPigpO1xuICBAT3V0cHV0KCkgc3RlcE1vcmVPcHRpb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXBNb3JlTWVudU9wdGlvbj4oKTtcbiAgQElucHV0KCkgYWRkU3RlcE1lbnVPcHRpb25zOiBBZGRTdGVwTWVudU9wdGlvbltdID0gREVGQVVMVF9BRERfU1RFUF9NRU5VX09QVElPTlM7XG4gIEBJbnB1dCgpIHN0ZXBNb3JlTWVudU9wdGlvbnM6IFN0ZXBNb3JlTWVudU9wdGlvbltdID0gREVGQVVMVF9TVEVQX01PUkVfTUVOVV9PUFRJT05TO1xuXG4gIC8vIENvbmZpZyBwcm9wZXJ0eSBmb3IgYmFzZSBjbGFzcyAtIGJ1aWx0IGZyb20gaW5kaXZpZHVhbCBpbnB1dHMgaW4gbmdPbkluaXRcbiAgb3ZlcnJpZGUgY29uZmlnITogRmFpbGVkU3RlcENvbmZpZztcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBCdWlsZCBjb25maWcgZnJvbSBpbmRpdmlkdWFsIGlucHV0c1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICB0ZXN0U3RlcFJlc3VsdElkOiB0aGlzLnRlc3RTdGVwUmVzdWx0SWQsXG4gICAgICBzdGVwTnVtYmVyOiB0aGlzLnN0ZXBOdW1iZXIsXG4gICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICAgIGRpc3BsYXlUeXBlOiAnZmFpbGVkJyxcbiAgICAgIHN1YlN0ZXBzOiB0aGlzLnN1YlN0ZXBzLFxuICAgICAgZmFpbHVyZURldGFpbHM6IHRoaXMuZmFpbHVyZURldGFpbHMsXG4gICAgICB0aW1pbmdCcmVha2Rvd246IHRoaXMudGltaW5nQnJlYWtkb3duLFxuICAgICAgZXhwYW5kZWQ6IHRoaXMuZXhwYW5kZWQsXG4gICAgfSBhcyBGYWlsZWRTdGVwQ29uZmlnO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIG9uTWFrZUN1cnJlbnRCYXNlbGluZShldmVudDogbWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ01ha2UgY3VycmVudCBiYXNlbGluZSBjbGlja2VkJyk7XG4gICAgdGhpcy5tYWtlQ3VycmVudEJhc2VsaW5lLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25VcGxvYWRCYXNlbGluZShldmVudDogdXBsb2FkQmFzZWxpbmVFdmVudCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdVcGxvYWQgYmFzZWxpbmUgY2xpY2tlZCcpO1xuICAgIHRoaXMudXBsb2FkQmFzZWxpbmUuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkFuYWx5emUoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ0FuYWx5emUgY2xpY2tlZCcpO1xuICAgIHRoaXMuYW5hbHl6ZS5lbWl0KCk7XG4gIH1cblxuICBvblZpZXdGdWxsTG9ncygpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnVmlldyBmdWxsIGxvZ3MgY2xpY2tlZCcpO1xuICAgIHRoaXMudmlld0Z1bGxMb2dzLmVtaXQoKTtcbiAgfVxuXG4gIG9uRWRpdFN0ZXAoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmVkaXRTdGVwLmVtaXQoKTtcbiAgfVxuXG4gIG9uQWRkU3RlcE9wdGlvblNlbGVjdChvcHRpb246IEFkZFN0ZXBNZW51T3B0aW9uLCBldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYWRkU3RlcE9wdGlvblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBvblN0ZXBNb3JlT3B0aW9uU2VsZWN0KG9wdGlvbjogU3RlcE1vcmVNZW51T3B0aW9uLCBldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RlcE1vcmVPcHRpb25TZWxlY3QuZW1pdChvcHRpb24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbFwiPlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXAtMiBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLWJnLVsjRkZGQUZBXVwiXG4gICAgc3R5bGU9XCJib3JkZXItbGVmdDogJzJweCBzb2xpZCAjRUY0NDQ0J1wiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gICAgXG4gICAgPCEtLSBTdGF0dXMgSWNvbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLnN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnc3VjY2VzcydcIiA+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMC45MDA1IDQuOTk5OTlDMTEuMTI4OSA2LjEyMDY0IDEwLjk2NjIgNy4yODU3MSAxMC40Mzk1IDguMzAwODlDOS45MTI3OSA5LjMxNjA4IDkuMDU0IDEwLjEyIDguMDA2MzEgMTAuNTc4N0M2Ljk1ODYyIDExLjAzNzMgNS43ODUzNiAxMS4xMjI5IDQuNjgyMiAxMC44MjEyQzMuNTc5MDQgMTAuNTE5NSAyLjYxMjY1IDkuODQ4NjkgMS45NDQxOSA4LjkyMDcxQzEuMjc1NzMgNy45OTI3MiAwLjk0NTYxMSA2Ljg2MzYxIDEuMDA4ODggNS43MjE2OUMxLjA3MjE1IDQuNTc5NzYgMS41MjQ5OSAzLjQ5NDA0IDIuMjkxODggMi42NDU1OEMzLjA1ODc2IDEuNzk3MTIgNC4wOTMzNCAxLjIzNzIxIDUuMjIzMDggMS4wNTkyMkM2LjM1MjgyIDAuODgxMjMzIDcuNTA5NDQgMS4wOTU5MiA4LjUwMDA1IDEuNjY3NDlcIiBzdHJva2U9XCIjMjJDNTVFXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNC41IDUuNUw2IDdMMTEgMlwiIHN0cm9rZT1cIiMyMkM1NUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZy5zdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhaWx1cmUnXCI+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk02IDExQzguNzYxNDIgMTEgMTEgOC43NjE0MiAxMSA2QzExIDMuMjM4NTggOC43NjE0MiAxIDYgMUMzLjIzODU4IDEgMSAzLjIzODU4IDEgNkMxIDguNzYxNDIgMy4yMzg1OCAxMSA2IDExWlwiIHN0cm9rZT1cIiNEQzI2MjZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk03LjUgNC41TDQuNSA3LjVcIiBzdHJva2U9XCIjREMyNjI2XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNC41IDQuNUw3LjUgNy41XCIgc3Ryb2tlPVwiI0RDMjYyNlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2Rpdj5cblxuICAgIDwhLS0gU3RlcCBOdW1iZXIgYW5kIFRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1mb250LWJvbGQgY3FhLXRleHQtWyM3RjFEMURdIGNxYS10ZXh0LVsxMXB4XSBjcWEtbGVhZGluZy1bMTNweF1cIj5cbiAgICAgICAge3sgY29uZmlnLnN0ZXBOdW1iZXIgfX0uIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlnLnRpdGxlXCI+PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNEZWJ1Z1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTAuNSBjcWEtdGV4dC1bIzlDQTNBRl1cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtYm9yZGVyLTAgY3FhLWJnLXRyYW5zcGFyZW50IGNxYS1jdXJzb3ItcG9pbnRlciBob3ZlcjpjcWEtb3BhY2l0eS04MCBjcWEtdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOmNxYS1vdXRsaW5lLW5vbmVcIiBhcmlhLWxhYmVsPVwiRWRpdFwiIChjbGljayk9XCJvbkVkaXRTdGVwKCRldmVudClcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXRleHQtWzE0cHhdICFjcWEtdy1bMTRweF0gIWNxYS1oLVsxNHB4XVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS1ib3JkZXItMCBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLWN1cnNvci1wb2ludGVyIGhvdmVyOmNxYS1vcGFjaXR5LTgwIGNxYS10cmFuc2l0aW9uLW9wYWNpdHkgZm9jdXM6Y3FhLW91dGxpbmUtbm9uZVwiIGFyaWEtbGFiZWw9XCJBZGRcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWRkU3RlcE1lbnVcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXRleHQtWzE0cHhdICFjcWEtdy1bMTRweF0gIWNxYS1oLVsxNHB4XVwiPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LW1lbnUgI2FkZFN0ZXBNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiY3FhLWFkZC1zdGVwLW1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIiB5UG9zaXRpb249XCJiZWxvd1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgb3B0IG9mIGFkZFN0ZXBNZW51T3B0aW9uc1wiIChjbGljayk9XCJvbkFkZFN0ZXBPcHRpb25TZWxlY3Qob3B0LCAkZXZlbnQpXCI+e3sgb3B0LmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzdGVwTW9yZU1lbnVPcHRpb25zLmxlbmd0aFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNxYS1wLTAgY3FhLWJvcmRlci0wIGNxYS1iZy10cmFuc3BhcmVudCBjcWEtY3Vyc29yLXBvaW50ZXIgaG92ZXI6Y3FhLW9wYWNpdHktODAgY3FhLXRyYW5zaXRpb24tb3BhY2l0eSBmb2N1czpjcWEtb3V0bGluZS1ub25lXCIgYXJpYS1sYWJlbD1cIk1vcmUgb3B0aW9uc1wiIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdGVwTW9yZU1lbnVcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXRleHQtWzE0cHhdICFjcWEtdy1bMTRweF0gIWNxYS1oLVsxNHB4XVwiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LW1lbnUgI3N0ZXBNb3JlTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImNxYS1zdGVwLW1vcmUtbWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiIHlQb3NpdGlvbj1cImJlbG93XCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBvcHQgb2Ygc3RlcE1vcmVNZW51T3B0aW9uc1wiIChjbGljayk9XCJvblN0ZXBNb3JlT3B0aW9uU2VsZWN0KG9wdCwgJGV2ZW50KVwiPnt7IG9wdC5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVs5cHhdIGNxYS1sZWFkaW5nLVsyMHB4XSBjcWEtZm9udC1ib2xkIGNxYS10ZXh0LVsjQjkxQzFDXVwiPlxuICAgICAgICB7eyBmb3JtYXREdXJhdGlvbihjb25maWcuZHVyYXRpb24pIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3ZnIFtjbGFzcy5jcWEtcm90YXRlLTE4MF09XCJpc0V4cGFuZGVkXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMCAxMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMi41IDMuNzVMNSA2LjI1TDcuNSAzLjc1XCIgc3Ryb2tlPVwiI0Y4NzE3MVwiIHN0cm9rZS13aWR0aD1cIjAuODMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPCEtLSBFeHBhbmRlZCBDb250ZW50IC0tPlxuICA8ZGl2ICpuZ0lmPVwiaXNFeHBhbmRlZFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMiBjcWEtcC0yXCIgc3R5bGU9XCJib3JkZXItbGVmdDogJzJweCBzb2xpZCAjRkFDN0M3JzsgYm9yZGVyLWJvdHRvbTogJzFweCBzb2xpZCAjRkVFMkUyJ1wiPlxuICAgIDwhLS0gU3ViLXN0ZXBzIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJjb25maWcuc3ViU3RlcHMgJiYgY29uZmlnLnN1YlN0ZXBzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTEgY3FhLXBsLVs5cHhdXCIgc3R5bGU9XCJib3JkZXItbGVmdDogMXB4IHNvbGlkICNGM0Y0RjY7XCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBzdWJTdGVwIG9mIGNvbmZpZy5zdWJTdGVwc1wiXG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXRleHQtWzlweF0gY3FhLWxlYWRpbmctWzIwcHhdXCJcbiAgICAgICAgW25nQ2xhc3NdPVwic3ViU3RlcC5kZXNjcmlwdGlvbiA9PT0gY29uZmlnLmZhaWx1cmVEZXRhaWxzLmZhaWxlZEFjdGlvbiA/ICdjcWEtdGV4dC1bI0I5MUMxQ10nIDogJ2NxYS10ZXh0LVsjNDc1NTY5XSdcIj5cbiAgICAgICAgXG4gICAgICAgIDwhLS0gRmFpbGVkIEFjdGlvbiBJbmRpY2F0b3IgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic3ViU3RlcC5kZXNjcmlwdGlvbiA9PT0gY29uZmlnLmZhaWx1cmVEZXRhaWxzLmZhaWxlZEFjdGlvblwiIGNsYXNzPVwiY3FhLXRleHQtWyNFRjQ0NDRdIGNxYS1mb250LWJvbGRcIj7igKI8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBTdWItc3RlcCBEZXNjcmlwdGlvbiAtLT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtZmxleC0xXCIgW25nQ2xhc3NdPVwic3ViU3RlcC5kZXNjcmlwdGlvbiA9PT0gY29uZmlnLmZhaWx1cmVEZXRhaWxzLmZhaWxlZEFjdGlvbiA/ICdjcWEtZm9udC1tZWRpdW0nIDogJydcIj5cbiAgICAgICAgICB7eyBzdWJTdGVwLmRlc2NyaXB0aW9uIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIFN1Yi1zdGVwIFRpbWVzdGFtcCBvciBEdXJhdGlvbiAtLT5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwic3ViU3RlcC5kZXNjcmlwdGlvbiA9PT0gY29uZmlnLmZhaWx1cmVEZXRhaWxzLmZhaWxlZEFjdGlvbiA/ICdjcWEtdGV4dC1bI0ZDQTVBNV0nIDogJ2NxYS10ZXh0LVsjRDFENURCXSdcIj5cbiAgICAgICAgICB7eyBzdWJTdGVwLnRpbWVzdGFtcCB8fCBmb3JtYXREdXJhdGlvbihzdWJTdGVwLmR1cmF0aW9uKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gRXhwZWN0ZWQgdnMgQWN0dWFsIENvbXBhcmlzb24gLS0+XG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZy5mYWlsdXJlRGV0YWlsc1wiIGNsYXNzPVwiY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIGNxYS1yb3VuZGVkIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFNUU3RUJdXCI+XG4gICAgICA8IS0tIEV4cGVjdGVkIENvbHVtbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcC0xLjUgY3FhLXRleHQtWzlweF0gY3FhLWxlYWRpbmctWzIwcHhdIGNxYS1iZy13aGl0ZVwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0U1RTdFQjtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsjOUNBM0FGXVwiPkVYUEVDVEVEPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bIzM3NDE1MV1cIj5cbiAgICAgICAgICB7eyBjb25maWcuZmFpbHVyZURldGFpbHMuZXhwZWN0ZWQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBBY3R1YWwgQ29sdW1uIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1wLTEuNSBjcWEtdGV4dC1bOXB4XSBjcWEtbGVhZGluZy1bMjBweF0gY3FhLWJnLVsjRkVGOEY4XVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWyNGODcxNzFdXCI+QUNUVUFMPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bIzk5MUIxQl1cIj5cbiAgICAgICAgICB7eyBjb25maWcuZmFpbHVyZURldGFpbHMuYWN0dWFsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFZpc3VhbCBDb21wYXJpc29uIENvbXBvbmVudCAtLT5cbiAgICA8Y3FhLXZpc3VhbC1jb21wYXJpc29uXG4gICAgICAqbmdJZj1cImNvbmZpZy5mYWlsdXJlRGV0YWlsc1wiXG4gICAgICBbdGVzdFN0ZXBSZXN1bHRJZF09XCJ0ZXN0U3RlcFJlc3VsdElkXCJcbiAgICAgIFtzY3JlZW5zaG90c109XCJjb25maWcuZmFpbHVyZURldGFpbHMuc2NyZWVuc2hvdHNcIlxuICAgICAgW2xvZ3NdPVwiY29uZmlnLmZhaWx1cmVEZXRhaWxzLmxvZ3NcIlxuICAgICAgKG1ha2VDdXJyZW50QmFzZWxpbmUpPVwib25NYWtlQ3VycmVudEJhc2VsaW5lKCRldmVudClcIlxuICAgICAgKHVwbG9hZEJhc2VsaW5lKT1cIm9uVXBsb2FkQmFzZWxpbmUoJGV2ZW50KVwiXG4gICAgICAoYW5hbHl6ZSk9XCJvbkFuYWx5emUoKVwiXG4gICAgICBbdGVzdFN0ZXBSZXN1bHRJZF09XCJ0ZXN0U3RlcFJlc3VsdElkXCJcbiAgICAgIFtpc1VwbG9hZGluZ0Jhc2VsaW5lXT1cImlzVXBsb2FkaW5nQmFzZWxpbmVcIlxuICAgICAgW2lzTGl2ZV09XCJpc0xpdmVcIlxuICAgICAgKHZpZXdGdWxsTG9ncyk9XCJvblZpZXdGdWxsTG9ncygpXCI+XG4gICAgPC9jcWEtdmlzdWFsLWNvbXBhcmlzb24+XG5cbiAgICA8IS0tIEFJIEZpeCBNZXNzYWdlIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJjb25maWcuZmFpbHVyZURldGFpbHMuYWlGaXhBcHBsaWVkXCIgY2xhc3M9XCJjcWEtcHgtMyBjcWEtcHQtMS41IGNxYS1wYi0yIGNxYS1yb3VuZGVkLXhsIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTJFOEYwXSBjcWEtYmctWyNGQUY1RkZdXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyMwRjE3MkFdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1tYi0zXCI+XG4gICAgICAgIDxkaXY+PHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgcng9XCI0XCIgZmlsbD1cInVybCgjcGFpbnQwX2xpbmVhcl80MDcwXzcyMDEpXCIvPjxwYXRoIGQ9XCJNOC4wMDk0MSAzLjVDOC4wNjQ4OSAzLjUyMjc0IDguMDg4NTkgMy41NzgyNyA4LjExMTMxIDMuNjI5ODVDOC4xMjI2OSAzLjY1OTkgOC4xMzMxNCAzLjY5MDEyIDguMTQzMjkgMy43MjA1OEM4LjE0NzI2IDMuNzMyMjUgOC4xNTEyMyAzLjc0MzkyIDguMTU1MzIgMy43NTU5NEM4LjIwODA2IDMuOTEzIDguMjU1MDQgNC4wNzE3NSA4LjMwMjI5IDQuMjMwMzhDOC4zMTI5NyA0LjI2NjE5IDguMzIzNjkgNC4zMDE5OSA4LjMzNDQyIDQuMzM3NzhDOC4zODkwNSA0LjUyMDA0IDguNDQzMjcgNC43MDI0IDguNDk3MTkgNC44ODQ4NEM4LjUwNDc2IDQuOTEwNDcgOC41MTIzNCA0LjkzNjA5IDguNTE5OTIgNC45NjE3MUM4LjU0MTI4IDUuMDMzOTUgOC41NjI2MiA1LjEwNjE5IDguNTgzODMgNS4xNzg0N0M4LjYyODY3IDUuMzMxMiA4LjY3NDczIDUuNDgzNDcgOC43MjM3OCA1LjYzNTAxQzguNzI4MDcgNS42NDgyNyA4LjczMjM2IDUuNjYxNTIgOC43MzY3NyA1LjY3NTE4QzguODY0MiA2LjA2NSA5LjA0NDgyIDYuNDE0MzcgOS4zNDA5IDYuNzExOTZDOS4zNDgyMyA2LjcxOTcgOS4zNTU1NiA2LjcyNzQ0IDkuMzYzMTIgNi43MzU0MUM5LjQ4OTUgNi44NjQzNyA5LjY1MTY5IDYuOTY3NzEgOS44MTM4IDcuMDUxMTFDOS44MjIwNiA3LjA1NTQyIDkuODMwMzEgNy4wNTk3NCA5LjgzODgyIDcuMDY0MTlDMTAuMzE1OSA3LjMwOTI1IDEwLjg4OTUgNy40MTcwNCAxMS40MDYyIDcuNTYwNUMxMS42MzI2IDcuNjIzNCAxMS44NTgzIDcuNjg4MjkgMTIuMDgzMiA3Ljc1NjAzQzEyLjA5OSA3Ljc2MDc5IDEyLjExNDggNy43NjU1NCAxMi4xMzA2IDcuNzcwMjhDMTIuMTc3OCA3Ljc4NDQ1IDEyLjIyNSA3Ljc5ODg3IDEyLjI3MjEgNy44MTM0N0MxMi4yODMxIDcuODE2NzkgMTIuMjk0MSA3LjgyMDExIDEyLjMwNTQgNy44MjM1M0MxMi4zNzAzIDcuODQ0MDYgMTIuNDMyNCA3Ljg2ODI5IDEyLjQ4NTcgNy45MTAyN0MxMi41MDE5IDcuOTQ0MTggMTIuNTAxOSA3Ljk0NDE4IDEyLjQ5NzUgNy45NzgxQzEyLjQ0NTYgOC4wMjczNiAxMi4zOTQyIDguMDUwNDYgMTIuMzI1OCA4LjA3M0MxMi4zMTYgOC4wNzYzMiAxMi4zMDYyIDguMDc5NjUgMTIuMjk2MSA4LjA4MzA4QzEyLjE4MDYgOC4xMjE4MyAxMi4wNjM1IDguMTU1NzUgMTEuOTQ2MyA4LjE4OTM1QzExLjkyMjIgOC4xOTYzIDExLjg5ODEgOC4yMDMyNiAxMS44NzQxIDguMjEwMjFDMTEuNzI1NyA4LjI1MzAxIDExLjU3NzEgOC4yOTQ5IDExLjQyODMgOC4zMzYzMkMxMS4yMzIzIDguMzkwODggMTEuMDM2NiA4LjQ0NjM0IDEwLjg0MTEgOC41MDI0M0MxMC44MDkxIDguNTExNjIgMTAuNzc3MSA4LjUyMDc4IDEwLjc0NSA4LjUyOTkxQzEwLjU3NjcgOC41Nzc4NiAxMC40MDkyIDguNjI3NTMgMTAuMjQzMSA4LjY4MjA4QzEwLjIyOTQgOC42ODY1OSAxMC4yMTU2IDguNjkxMSAxMC4yMDE0IDguNjk1NzRDOS42NDUxMSA4Ljg4MDgyIDkuMjIxMSA5LjIyNjA5IDguOTU1NzEgOS43MzA5OUM4LjgxMjYzIDEwLjAxNDggOC43MjgyMyAxMC4zMjE2IDguNjQyMTQgMTAuNjI0NUM4LjYxODg0IDEwLjcwNjIgOC41OTQwOSAxMC43ODc1IDguNTY5MDUgMTAuODY4N0M4LjU0OTQgMTAuOTMyNiA4LjUzMDIgMTAuOTk2NiA4LjUxMTQ5IDExLjA2MDhDOC41MDkyNiAxMS4wNjg0IDguNTA3MDMgMTEuMDc2MSA4LjUwNDczIDExLjA4MzlDOC40OTM5NCAxMS4xMjA5IDguNDgzMTkgMTEuMTU3OSA4LjQ3MjUyIDExLjE5NUM4LjQ0NTE5IDExLjI4ODggOC40MTU3OCAxMS4zODE5IDguMzg1NTUgMTEuNDc0OUM4LjMzMTkxIDExLjY0MDIgOC4yODMxIDExLjgwNjcgOC4yMzQ1OSAxMS45NzM1QzguMTYxNDQgMTIuMjI0NiA4LjE2MTQ0IDEyLjIyNDYgOC4xMTk5NyAxMi4zNDUzQzguMTE3MjEgMTIuMzUzNCA4LjExNDQ2IDEyLjM2MTUgOC4xMTE2MyAxMi4zNjk4QzguMDk2NDkgMTIuNDEyOCA4LjA4MDkyIDEyLjQ1MjMgOC4wNTIyNiAxMi40ODg3QzguMDA4NjcgMTIuNDk3OSA4LjAwODY3IDEyLjQ5NzkgNy45Njk1MSAxMi41QzcuOTI0NzMgMTIuNDM3NiA3Ljg5NTA4IDEyLjM3NzEgNy44NzEzMyAxMi4zMDUxQzcuODY3ODcgMTIuMjk0OSA3Ljg2NDQxIDEyLjI4NDcgNy44NjA4NSAxMi4yNzQxQzcuODE2ODQgMTIuMTQyNSA3Ljc3NzUxIDEyLjAwOTUgNy43MzgxNyAxMS44NzY1QzcuNzI5MTYgMTEuODQ2IDcuNzIwMTEgMTEuODE1NiA3LjcxMTA2IDExLjc4NTJDNy42NDM2IDExLjU1ODYgNy41NzcyNSAxMS4zMzE3IDcuNTExMDEgMTEuMTA0OEM3LjIzNTA3IDkuOTgyMjQgNy4yMzUwNyA5Ljk4MjI0IDYuNTM5IDkuMDc0NjZDNi41Mjc4NCA5LjA2NTk2IDYuNTE2NjkgOS4wNTcyNiA2LjUwNTE5IDkuMDQ4M0M2LjA0OTEzIDguNjk5MDIgNS40NDgzNCA4LjU2OTcgNC44OTgxNSA4LjQxODEzQzQuNzYyMDcgOC4zODA2MiA0LjYyNjA1IDguMzQyOTMgNC40OTAwMyA4LjMwNTIzQzQuNDc4MTQgOC4zMDE5MyA0LjQ3ODE0IDguMzAxOTMgNC40NjYgOC4yOTg1N0M0LjI2OTgxIDguMjQ0MTcgNC4wNzM2NyA4LjE4OTYzIDMuODc4MjIgOC4xMzI4M0MzLjg2OTk2IDguMTMwNDUgMy44NjE2OSA4LjEyODA2IDMuODUzMTcgOC4xMjU2MUMzLjU1MjkgOC4wMzg4MyAzLjU1MjkgOC4wMzg4MyAzLjUwMDY1IDcuOTc4MUMzLjQ5OTE3IDcuOTUwNTQgMy40OTkxNyA3Ljk1MDU0IDMuNTEyNDcgNy45MjE1N0MzLjU2NzA4IDcuODcwNCAzLjYyMDA4IDcuODQ4NDggMy42OTIxNiA3LjgyNjE5QzMuNzAyNiA3LjgyMjg0IDMuNzEzMDMgNy44MTk0OCAzLjcyMzc5IDcuODE2MDNDMy43NTU3NSA3LjgwNTgyIDMuNzg3NzkgNy43OTU4NCAzLjgxOTg1IDcuNzg1OTJDMy44MjkgNy43ODMwNSAzLjgzODE1IDcuNzgwMTcgMy44NDc1OCA3Ljc3NzIyQzMuOTEyMjggNy43NTY5MyAzLjk3NzIyIDcuNzM3NCA0LjA0MjI2IDcuNzE4MDlDNC4wNTgyNCA3LjcxMzMyIDQuMDU4MjQgNy43MTMzMiA0LjA3NDU0IDcuNzA4NDZDNC4zNTIyNyA3LjYyNTg3IDQuNjMxODEgNy41NDkgNC45MTEyNiA3LjQ3MTk2QzUuMTE5NSA3LjQxNDU1IDUuMzI3MzggNy4zNTYxOCA1LjUzNDYgNy4yOTU0OEM1LjU0NDEzIDcuMjkyNzEgNS41NTM2NSA3LjI4OTkzIDUuNTYzNDYgNy4yODcwN0M2LjA0MzUgNy4xNDY5NiA2LjUxMjc4IDYuOTQ4MTYgNi44MjI3NCA2LjU1MzdDNi44MjczOCA2LjU0Nzg1IDYuODMyMDIgNi41NDIgNi44MzY4IDYuNTM1OTdDNy4xODE5NyA2LjA5ODE1IDcuMzE2NTggNS41NjU3MiA3LjQ2Njk2IDUuMDQ2MjFDNy41MTY0MiA0Ljg3NTM1IDcuNTY2NDkgNC43MDQ2NCA3LjYxNjczIDQuNTMzOTlDNy42MzA2NCA0LjQ4NjczIDcuNjQ0NTMgNC40Mzk0NyA3LjY1ODM2IDQuMzkyMTlDNy43MTM5NCA0LjIwMjI5IDcuNzcwMzUgNC4wMTI2NCA3LjgzIDMuODIzODZDNy44MzU1OCAzLjgwNjE5IDcuODQxMTQgMy43ODg1IDcuODQ2NjYgMy43NzA4MUM3LjkzMDE3IDMuNTAzOTkgNy45MzAxNyAzLjUwMzk5IDguMDA5NDEgMy41WlwiIGZpbGw9XCJ3aGl0ZVwiLz48cGF0aCBkPVwiTTEwLjczNTggNC4wNTUzNUMxMC43OTAxIDQuMTE0MDkgMTAuODAxIDQuMTgzMTIgMTAuODE3OSA0LjI1ODEzQzEwLjg3NDIgNC40OTM3NiAxMC45MzkyIDQuNzEwNDIgMTEuMTY0NSA0Ljg0NzNDMTEuMzAzNiA0LjkyMDgzIDExLjQ2OTMgNC45NTQzIDExLjYyMzQgNC45ODU5QzExLjY4ODQgNC45OTk1MSAxMS43NDM0IDUuMDE3NTggMTEuNzk5MSA1LjA1MzdDMTEuODExNyA1LjA3Mjc4IDExLjgxMTcgNS4wNzI3OCAxMS44MTA5IDUuMTA1OThDMTEuNzk4IDUuMTQ2MzcgMTEuNzg2NyA1LjE1OTM5IDExLjc1MjYgNS4xODU4MkMxMS43MTUzIDUuMTk3NzUgMTEuNzE1MyA1LjE5Nzc1IDExLjY3MDYgNS4yMDcwMkMxMS42NTM2IDUuMjEwNzQgMTEuNjM2NyA1LjIxNDQ5IDExLjYxOTggNS4yMTgyOEMxMS42MTA3IDUuMjIwMjkgMTEuNjAxNyA1LjIyMjMgMTEuNTkyNCA1LjIyNDM3QzExLjMxNjggNS4yODUzMSAxMS4zMTY4IDUuMjg1MzEgMTEuMDc4NyA1LjQyMzIyQzExLjA3MSA1LjQyOTE4IDExLjA2MzIgNS40MzUxNCAxMS4wNTUyIDUuNDQxMjhDMTAuODg1IDUuNTg0NzkgMTAuODQ5IDUuODIzNTEgMTAuNzk3OCA2LjAyMzVDMTAuNzk0OSA2LjAzNDQ4IDEwLjc5MTkgNi4wNDU0NiAxMC43ODg5IDYuMDU2NzhDMTAuNzg2NCA2LjA2NjUgMTAuNzgzOCA2LjA3NjIyIDEwLjc4MTIgNi4wODYyNEMxMC43NzAyIDYuMTE1OTMgMTAuNzU4NyA2LjEzNTI4IDEwLjczNTggNi4xNTgwM0MxMC42NzIyIDYuMTY1NzYgMTAuNjcyMiA2LjE2NTc2IDEwLjY0MTMgNi4xNTgwM0MxMC41OTIgNi4xMjE1NSAxMC41ODEgNi4wNzk5OSAxMC41NjgyIDYuMDI0MTRDMTAuNTY2IDYuMDE1NDkgMTAuNTYzOSA2LjAwNjg1IDEwLjU2MTYgNS45OTc5NEMxMC41NTQ4IDUuOTcwMzIgMTAuNTQ4MSA1Ljk0MjY2IDEwLjU0MTUgNS45MTQ5OEMxMC40ODk3IDUuNjk5NDYgMTAuNDMxMSA1LjQ4OCAxMC4yMjQ0IDUuMzYxNjdDMTAuMDYyOCA1LjI3NTUgOS44NjYzNCA1LjIzNDc1IDkuNjg1NzUgNS4yMDE4NUM5LjYzNjI1IDUuMTkxOTkgOS42MDc4OSA1LjE3OTYgOS41NzcyNSA1LjE0MDZDOS41NzA2IDUuMTAxMDQgOS41NzA2IDUuMTAxMDQgOS41NzcyNSA1LjA2MTQ3QzkuNjI0MzUgNS4wMTQ4NiA5LjY3MzkgNS4wMDM0OCA5LjczNzU5IDQuOTg5NEM5Ljc1NzY2IDQuOTg0NjUgOS43Nzc3MiA0Ljk3OTg3IDkuNzk3NzcgNC45NzUwNUM5LjgwODEzIDQuOTcyNTggOS44MTg0OSA0Ljk3MDExIDkuODI5MTcgNC45Njc1NkM5Ljg4MiA0Ljk1NDU2IDkuOTM0MzEgNC45Mzk5OCA5Ljk4NjYgNC45MjUxMUM5Ljk5NjExIDQuOTIyNDcgMTAuMDA1NiA0LjkxOTg0IDEwLjAxNTQgNC45MTcxMkMxMC4xMjE3IDQuODg2NzMgMTAuMjEzNCA0Ljg0Nzg2IDEwLjI5ODQgNC43Nzg4NUMxMC4zMDYzIDQuNzcyNjEgMTAuMzE0MyA0Ljc2NjM4IDEwLjMyMjQgNC43NTk5NUMxMC40NTQ3IDQuNjQ2MTQgMTAuNDk5NiA0LjQ3NTE2IDEwLjU0MDQgNC4zMTU2MkMxMC41NDM1IDQuMzAzNTEgMTAuNTQ2NiA0LjI5MTQgMTAuNTQ5OCA0LjI3ODkyQzEwLjU1NiA0LjI1NDU5IDEwLjU2MjEgNC4yMzAyMyAxMC41NjgxIDQuMjA1ODVDMTAuNTcyMyA0LjE4ODg4IDEwLjU3MjMgNC4xODg4OCAxMC41NzY3IDQuMTcxNTdDMTAuNTc5MSA0LjE2MTQ0IDEwLjU4MTYgNC4xNTEzIDEwLjU4NDIgNC4xNDA4NkMxMC41OTUxIDQuMTA4NiAxMC42MDk0IDQuMDgzMjYgMTAuNjI5NCA0LjA1NTM1QzEwLjY2OCA0LjAzNjkyIDEwLjY5NSA0LjA0NTI1IDEwLjczNTggNC4wNTUzNVpcIiBmaWxsPVwiI0VERTlGRVwiLz48cGF0aCBkPVwiTTUuMjk1NTQgOS43NDcyMkM1LjMwOTYgOS43NDczMSA1LjMwOTYgOS43NDczMSA1LjMyMzk1IDkuNzQ3NDFDNS40MjQ4NiA5Ljc1MDM1IDUuNDkzMTQgOS43ODEyNyA1LjU2NzQ1IDkuODQ2MTNDNS42NTM5MyA5LjkzNTQ1IDUuNjkzODYgMTAuMDM2MiA1LjY5MTU5IDEwLjE1NjZDNS42ODE4OCAxMC4yNTQyIDUuNjIxNjcgMTAuMzM5NSA1LjU0NzgyIDEwLjQwNTVDNS40NjA5IDEwLjQ3MjUgNS4zNzMyMiAxMC40OTQ3IDUuMjYyMTUgMTAuNDkxNkM1LjE2ODUgMTAuNDgxMiA1LjA4MDM5IDEwLjQzODYgNS4wMTQwMiAxMC4zNzQ2QzQuOTMxNDcgMTAuMjY2OSA0LjkwNzM0IDEwLjE2ODIgNC45MTk0NCAxMC4wMzU1QzQuOTQ0NDMgOS45MzEwNCA1LjAxNjQ2IDkuODQ2MjUgNS4xMDg2IDkuNzg2NzhDNS4xNzI2IDkuNzU1NzYgNS4yMjQwOCA5Ljc0NjY1IDUuMjk1NTQgOS43NDcyMlpcIiBmaWxsPVwid2hpdGVcIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQwX2xpbmVhcl80MDcwXzcyMDFcIiB4MT1cIjBcIiB5MT1cIjBcIiB4Mj1cIjE2XCIgeTI9XCIxNlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIHN0b3AtY29sb3I9XCIjOEI1Q0Y2XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzkzMzNFQVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz48L2Rpdj5cbiAgICAgICAge3sgY29uZmlnLmZhaWx1cmVEZXRhaWxzLmFpRml4TWVzc2FnZSB8fCAnQUkgSW5zaWdodHMnIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWlubGluZS1ibG9jayBjcWEtcHktWzJweF0gY3FhLXB4LVsxMHB4XSBjcWEtdGV4dC1jZW50ZXIgY3FhLXJvdW5kZWQtWzVweF0gY3FhLWJnLVsjRURFOUZFXSBjcWEtdGV4dC1bOHB4XSBjcWEtbGVhZGluZy1bMTJweF0gY3FhLXRleHQtWyM2RDI4RDldXCI+OTQlIGNvbmZpZGVuY2U8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNjQ3NDhCXVwiPlJlYXNvbmluZzwvZGl2PlxuICAgICAgICAgIDx1bCBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTEuNVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiY3FhLWZsZXggY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNDc1NTY5XVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLW10LTEuNVwiPjxzdmcgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgNiA2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHJlY3Qgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHJ4PVwiM1wiIGZpbGw9XCIjQTc4QkZBXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgICBTdGFsZSBzdGF0ZTogdGVzdCBhdHRyaWJ1dGUgYXMgcHJpbWFyeSBsb2NhdG9yIChoaWdoZXN0IHByaW9yaXR5KVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImNxYS1mbGV4IGNxYS1nYXAtMiBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzQ3NTU2OV1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1tdC0xLjVcIj48c3ZnIHdpZHRoPVwiNlwiIGhlaWdodD1cIjZcIiB2aWV3Qm94PVwiMCAwIDYgNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxyZWN0IHdpZHRoPVwiNlwiIGhlaWdodD1cIjZcIiByeD1cIjNcIiBmaWxsPVwiI0E3OEJGQVwiLz48L3N2Zz48L2Rpdj5cbiAgICAgICAgICAgICAgQ29uZmlkZW5jZSBzY29yZTogOTQlIGJhc2VkIG9uIERPTSBzaW1pbGFyaXR5IGFuYWx5c2lzXG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiY3FhLWZsZXggY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNDc1NTY5XVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLW10LTEuNVwiPjxzdmcgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgNiA2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHJlY3Qgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHJ4PVwiM1wiIGZpbGw9XCIjQTc4QkZBXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgICBJbmNyZWFzZWQgd2FpdCB0aW1lIGZyb20gMnMgdG8gNXMgZHVlIHRvIGJ1dHRvbiBsYXRlbmN5XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiY3FhLWZsZXggY3FhLWdhcC0yIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNDc1NTY5XVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLW10LTEuNVwiPjxzdmcgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgNiA2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHJlY3Qgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHJ4PVwiM1wiIGZpbGw9XCIjQTc4QkZBXCIvPjwvc3ZnPjwvZGl2PlxuICAgICAgICAgICAgICBFbnZpcm9ubWVudCBiaW5kaW5nOiBzcGVlZCBvZiBhc3NldHMgYnkgMjAlIHRocm91Z2ggb3B0aW1pemVkIGNhY2hpbmdcbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNjQ3NDhCXVwiPlN1Z2dlc3RlZCBGaXhlczwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcHgtWzEwcHhdIGNxYS1weS1bMnB4XSBjcWEtcm91bmRlZC1bNXB4XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzA2NUY0Nl0gY3FhLWJnLVsjRUNGREY1XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0QxRkFFNV1cIj5cbiAgICAgICAgICAgIDxkaXY+PHN2ZyB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEwIDEwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjY2NjYyIDUuODMzMzZDMS41ODc3NyA1LjgzMzYzIDEuNTEwNDcgNS44MTE1MiAxLjQ0MzY5IDUuNzY5NkMxLjM3NjkgNS43Mjc2OCAxLjMyMzM5IDUuNjY3NjggMS4yODkzNSA1LjU5NjU1QzEuMjU1MzIgNS41MjU0MyAxLjI0MjE2IDUuNDQ2MSAxLjI1MTQxIDUuMzY3OEMxLjI2MDY3IDUuMjg5NSAxLjI5MTk1IDUuMjE1NDMgMS4zNDE2MiA1LjE1NDE5TDUuNDY2NjIgMC45MDQxOTRDNS40OTc1NyAwLjg2ODQ3OCA1LjUzOTczIDAuODQ0MzQyIDUuNTg2MiAwLjgzNTc0OUM1LjYzMjY3IDAuODI3MTU2IDUuNjgwNjcgMC44MzQ2MTYgNS43MjIzNCAwLjg1NjkwNEM1Ljc2NDAxIDAuODc5MTkyIDUuNzk2ODcgMC45MTQ5ODQgNS44MTU1MSAwLjk1ODQwNkM1LjgzNDE2IDEuMDAxODMgNS44Mzc0OSAxLjA1MDMgNS44MjQ5NiAxLjA5NTg2TDUuMDI0OTYgMy42MDQxOUM1LjAwMTM3IDMuNjY3MzMgNC45OTM0NCAzLjczNTI0IDUuMDAxODcgMy44MDIxMUM1LjAxMDI5IDMuODY4OTggNS4wMzQ4MSAzLjkzMjgxIDUuMDczMzMgMy45ODgxMkM1LjExMTg0IDQuMDQzNDMgNS4xNjMxOSA0LjA4ODU3IDUuMjIyOTkgNC4xMTk2OEM1LjI4Mjc4IDQuMTUwNzggNS4zNDkyMiA0LjE2NjkxIDUuNDE2NjIgNC4xNjY2OUg4LjMzMzI5QzguNDEyMTQgNC4xNjY0MyA4LjQ4OTQ0IDQuMTg4NTMgOC41NTYyMiA0LjIzMDQ1QzguNjIzMDEgNC4yNzIzNyA4LjY3NjUzIDQuMzMyMzggOC43MTA1NiA0LjQwMzVDOC43NDQ2IDQuNDc0NjMgOC43NTc3NSA0LjU1Mzk1IDguNzQ4NSA0LjYzMjI1QzguNzM5MjQgNC43MTA1NiA4LjcwNzk2IDQuNzg0NjMgOC42NTgyOSA0Ljg0NTg2TDQuNTMzMjkgOS4wOTU4NkM0LjUwMjM1IDkuMTMxNTggNC40NjAxOCA5LjE1NTcxIDQuNDEzNzEgOS4xNjQzQzQuMzY3MjUgOS4xNzI5IDQuMzE5MjQgOS4xNjU0NCA0LjI3NzU3IDkuMTQzMTVDNC4yMzU5IDkuMTIwODYgNC4yMDMwNSA5LjA4NTA3IDQuMTg0NCA5LjA0MTY1QzQuMTY1NzUgOC45OTgyMyA0LjE2MjQyIDguOTQ5NzYgNC4xNzQ5NiA4LjkwNDE5TDQuOTc0OTYgNi4zOTU4NkM0Ljk5ODU1IDYuMzMyNzMgNS4wMDY0NyA2LjI2NDgxIDQuOTk4MDQgNi4xOTc5NEM0Ljk4OTYyIDYuMTMxMDcgNC45NjUxIDYuMDY3MjQgNC45MjY1OSA2LjAxMTkzQzQuODg4MDcgNS45NTY2MiA0LjgzNjcyIDUuOTExNDggNC43NzY5MiA1Ljg4MDM4QzQuNzE3MTMgNS44NDkyNyA0LjY1MDY5IDUuODMzMTQgNC41ODMyOSA1LjgzMzM2SDEuNjY2NjJaXCIgc3Ryb2tlPVwiIzA1OTY2OVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2Rpdj5cbiAgICAgICAgICAgIFVwZGF0ZSBsb2NhdG9yIHRvIHVzZSBkYXRhLXRlc3RpZD0ncmVnaXN0cmF0aW9uLXN1Ym1pdCcgaW5zdGVhZCBvZiAjc3VibWl0LWJ0blxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcHgtWzEwcHhdIGNxYS1weS1bMnB4XSBjcWEtcm91bmRlZC1bNXB4XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzA2NUY0Nl0gY3FhLWJnLVsjRUNGREY1XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0QxRkFFNV1cIj5cbiAgICAgICAgICAgIDxkaXY+PHN2ZyB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEwIDEwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjY2NjYyIDUuODMzMzZDMS41ODc3NyA1LjgzMzYzIDEuNTEwNDcgNS44MTE1MiAxLjQ0MzY5IDUuNzY5NkMxLjM3NjkgNS43Mjc2OCAxLjMyMzM5IDUuNjY3NjggMS4yODkzNSA1LjU5NjU1QzEuMjU1MzIgNS41MjU0MyAxLjI0MjE2IDUuNDQ2MSAxLjI1MTQxIDUuMzY3OEMxLjI2MDY3IDUuMjg5NSAxLjI5MTk1IDUuMjE1NDMgMS4zNDE2MiA1LjE1NDE5TDUuNDY2NjIgMC45MDQxOTRDNS40OTc1NyAwLjg2ODQ3OCA1LjUzOTczIDAuODQ0MzQyIDUuNTg2MiAwLjgzNTc0OUM1LjYzMjY3IDAuODI3MTU2IDUuNjgwNjcgMC44MzQ2MTYgNS43MjIzNCAwLjg1NjkwNEM1Ljc2NDAxIDAuODc5MTkyIDUuNzk2ODcgMC45MTQ5ODQgNS44MTU1MSAwLjk1ODQwNkM1LjgzNDE2IDEuMDAxODMgNS44Mzc0OSAxLjA1MDMgNS44MjQ5NiAxLjA5NTg2TDUuMDI0OTYgMy42MDQxOUM1LjAwMTM3IDMuNjY3MzMgNC45OTM0NCAzLjczNTI0IDUuMDAxODcgMy44MDIxMUM1LjAxMDI5IDMuODY4OTggNS4wMzQ4MSAzLjkzMjgxIDUuMDczMzMgMy45ODgxMkM1LjExMTg0IDQuMDQzNDMgNS4xNjMxOSA0LjA4ODU3IDUuMjIyOTkgNC4xMTk2OEM1LjI4Mjc4IDQuMTUwNzggNS4zNDkyMiA0LjE2NjkxIDUuNDE2NjIgNC4xNjY2OUg4LjMzMzI5QzguNDEyMTQgNC4xNjY0MyA4LjQ4OTQ0IDQuMTg4NTMgOC41NTYyMiA0LjIzMDQ1QzguNjIzMDEgNC4yNzIzNyA4LjY3NjUzIDQuMzMyMzggOC43MTA1NiA0LjQwMzVDOC43NDQ2IDQuNDc0NjMgOC43NTc3NSA0LjU1Mzk1IDguNzQ4NSA0LjYzMjI1QzguNzM5MjQgNC43MTA1NiA4LjcwNzk2IDQuNzg0NjMgOC42NTgyOSA0Ljg0NTg2TDQuNTMzMjkgOS4wOTU4NkM0LjUwMjM1IDkuMTMxNTggNC40NjAxOCA5LjE1NTcxIDQuNDEzNzEgOS4xNjQzQzQuMzY3MjUgOS4xNzI5IDQuMzE5MjQgOS4xNjU0NCA0LjI3NzU3IDkuMTQzMTVDNC4yMzU5IDkuMTIwODYgNC4yMDMwNSA5LjA4NTA3IDQuMTg0NCA5LjA0MTY1QzQuMTY1NzUgOC45OTgyMyA0LjE2MjQyIDguOTQ5NzYgNC4xNzQ5NiA4LjkwNDE5TDQuOTc0OTYgNi4zOTU4NkM0Ljk5ODU1IDYuMzMyNzMgNS4wMDY0NyA2LjI2NDgxIDQuOTk4MDQgNi4xOTc5NEM0Ljk4OTYyIDYuMTMxMDcgNC45NjUxIDYuMDY3MjQgNC45MjY1OSA2LjAxMTkzQzQuODg4MDcgNS45NTY2MiA0LjgzNjcyIDUuOTExNDggNC43NzY5MiA1Ljg4MDM4QzQuNzE3MTMgNS44NDkyNyA0LjY1MDY5IDUuODMzMTQgNC41ODMyOSA1LjgzMzM2SDEuNjY2NjJaXCIgc3Ryb2tlPVwiIzA1OTY2OVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2Rpdj5cbiAgICAgICAgICAgIEFkZCBleHBsaWNpdCB3YWl0IGZvciBuZXR3b3JrIGlkbGUgYmVmb3JlIGNsaWNraW5nIHN1Ym1pdFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcHgtWzEwcHhdIGNxYS1weS1bMnB4XSBjcWEtcm91bmRlZC1bNXB4XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzA2NUY0Nl0gY3FhLWJnLVsjRUNGREY1XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0QxRkFFNV1cIj5cbiAgICAgICAgICAgIDxkaXY+PHN2ZyB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEwIDEwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjY2NjYyIDUuODMzMzZDMS41ODc3NyA1LjgzMzYzIDEuNTEwNDcgNS44MTE1MiAxLjQ0MzY5IDUuNzY5NkMxLjM3NjkgNS43Mjc2OCAxLjMyMzM5IDUuNjY3NjggMS4yODkzNSA1LjU5NjU1QzEuMjU1MzIgNS41MjU0MyAxLjI0MjE2IDUuNDQ2MSAxLjI1MTQxIDUuMzY3OEMxLjI2MDY3IDUuMjg5NSAxLjI5MTk1IDUuMjE1NDMgMS4zNDE2MiA1LjE1NDE5TDUuNDY2NjIgMC45MDQxOTRDNS40OTc1NyAwLjg2ODQ3OCA1LjUzOTczIDAuODQ0MzQyIDUuNTg2MiAwLjgzNTc0OUM1LjYzMjY3IDAuODI3MTU2IDUuNjgwNjcgMC44MzQ2MTYgNS43MjIzNCAwLjg1NjkwNEM1Ljc2NDAxIDAuODc5MTkyIDUuNzk2ODcgMC45MTQ5ODQgNS44MTU1MSAwLjk1ODQwNkM1LjgzNDE2IDEuMDAxODMgNS44Mzc0OSAxLjA1MDMgNS44MjQ5NiAxLjA5NTg2TDUuMDI0OTYgMy42MDQxOUM1LjAwMTM3IDMuNjY3MzMgNC45OTM0NCAzLjczNTI0IDUuMDAxODcgMy44MDIxMUM1LjAxMDI5IDMuODY4OTggNS4wMzQ4MSAzLjkzMjgxIDUuMDczMzMgMy45ODgxMkM1LjExMTg0IDQuMDQzNDMgNS4xNjMxOSA0LjA4ODU3IDUuMjIyOTkgNC4xMTk2OEM1LjI4Mjc4IDQuMTUwNzggNS4zNDkyMiA0LjE2NjkxIDUuNDE2NjIgNC4xNjY2OUg4LjMzMzI5QzguNDEyMTQgNC4xNjY0MyA4LjQ4OTQ0IDQuMTg4NTMgOC41NTYyMiA0LjIzMDQ1QzguNjIzMDEgNC4yNzIzNyA4LjY3NjUzIDQuMzMyMzggOC43MTA1NiA0LjQwMzVDOC43NDQ2IDQuNDc0NjMgOC43NTc3NSA0LjU1Mzk1IDguNzQ4NSA0LjYzMjI1QzguNzM5MjQgNC43MTA1NiA4LjcwNzk2IDQuNzg0NjMgOC42NTgyOSA0Ljg0NTg2TDQuNTMzMjkgOS4wOTU4NkM0LjUwMjM1IDkuMTMxNTggNC40NjAxOCA5LjE1NTcxIDQuNDEzNzEgOS4xNjQzQzQuMzY3MjUgOS4xNzI5IDQuMzE5MjQgOS4xNjU0NCA0LjI3NzU3IDkuMTQzMTVDNC4yMzU5IDkuMTIwODYgNC4yMDMwNSA5LjA4NTA3IDQuMTg0NCA5LjA0MTY1QzQuMTY1NzUgOC45OTgyMyA0LjE2MjQyIDguOTQ5NzYgNC4xNzQ5NiA4LjkwNDE5TDQuOTc0OTYgNi4zOTU4NkM0Ljk5ODU1IDYuMzMyNzMgNS4wMDY0NyA2LjI2NDgxIDQuOTk4MDQgNi4xOTc5NEM0Ljk4OTYyIDYuMTMxMDcgNC45NjUxIDYuMDY3MjQgNC45MjY1OSA2LjAxMTkzQzQuODg4MDcgNS45NTY2MiA0LjgzNjcyIDUuOTExNDggNC43NzY5MiA1Ljg4MDM4QzQuNzE3MTMgNS44NDkyNyA0LjY1MDY5IDUuODMzMTQgNC41ODMyOSA1LjgzMzM2SDEuNjY2NjJaXCIgc3Ryb2tlPVwiIzA1OTY2OVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2Rpdj5cbiAgICAgICAgICAgIENvbnNpZGVyIGFkZGluZyByZXRyeSBsb2dpYyBmb3IgZm9ybSBzdWJtaXNzaW9uIHN0ZXBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|