@cqa-lib/cqa-ui 1.1.36 → 1.1.38
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/custom-textarea/custom-textarea.component.mjs +146 -0
- package/esm2020/lib/execution-screen/ai-agent-step/ai-agent-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/api-step/api-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/basic-step/basic-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/condition-step/condition-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/failed-step/failed-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/loop-step/loop-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/updated-failed-step/updated-failed-step.component.mjs +2 -2
- package/esm2020/lib/execution-screen/visual-comparison/visual-comparison.component.mjs +4 -4
- package/esm2020/lib/ui-kit.module.mjs +6 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +160 -11
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +158 -11
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/custom-textarea/custom-textarea.component.d.ts +39 -0
- package/lib/execution-screen/ai-agent-step/ai-agent-step.component.d.ts +1 -1
- package/lib/execution-screen/api-step/api-step.component.d.ts +1 -1
- package/lib/execution-screen/basic-step/basic-step.component.d.ts +1 -1
- package/lib/execution-screen/condition-step/condition-step.component.d.ts +1 -1
- package/lib/execution-screen/failed-step/failed-step.component.d.ts +1 -1
- package/lib/execution-screen/loop-step/loop-step.component.d.ts +1 -1
- package/lib/execution-screen/updated-failed-step/updated-failed-step.component.d.ts +1 -1
- package/lib/execution-screen/visual-comparison/visual-comparison.component.d.ts +1 -1
- package/lib/ui-kit.module.d.ts +19 -18
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/styles.css +1 -1
|
@@ -5,7 +5,7 @@ import * as i2 from "@angular/common";
|
|
|
5
5
|
export class VisualComparisonComponent {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.showFullLogsLink = true;
|
|
8
|
-
this.isUploadingBaseline =
|
|
8
|
+
this.isUploadingBaseline = {};
|
|
9
9
|
this.makeCurrentBaseline = new EventEmitter();
|
|
10
10
|
this.uploadBaseline = new EventEmitter();
|
|
11
11
|
this.analyze = new EventEmitter();
|
|
@@ -69,10 +69,10 @@ export class VisualComparisonComponent {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
VisualComparisonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VisualComparisonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
VisualComparisonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: VisualComparisonComponent, selector: "cqa-visual-comparison", inputs: { screenshots: "screenshots", logs: "logs", showFullLogsLink: "showFullLogsLink", isUploadingBaseline: "isUploadingBaseline", testStepResultId: "testStepResultId" }, outputs: { makeCurrentBaseline: "makeCurrentBaseline", uploadBaseline: "uploadBaseline", analyze: "analyze", viewFullLogs: "viewFullLogs" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"cqa-grid cqa-grid-cols-12 cqa-gap-4 cqa-w-full\">\n <!-- Left Panel: Screenshots & Visual Comparison -->\n <div class=\"cqa-col-span-9 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-pt-2 cqa-px-3 cqa-pb-1\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.00033 7.33268C6.73671 7.33268 7.33366 6.73573 7.33366 5.99935C7.33366 5.26297 6.73671 4.66602 6.00033 4.66602C5.26395 4.66602 4.66699 5.26297 4.66699 5.99935C4.66699 6.73573 5.26395 7.33268 6.00033 7.33268Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 10.0004L11.9427 7.94312C11.6926 7.69315 11.3536 7.55273 11 7.55273C10.6464 7.55273 10.3074 7.69315 10.0573 7.94312L4 14.0004\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Screenshots & Visual Comparison\n </div>\n \n <!-- Screenshot Comparison Grid -->\n <div class=\"cqa-grid cqa-grid-cols-3 cqa-gap-3 cqa-mb-2\">\n <!-- Baseline -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Baseline</div>\n <div class=\"cqa-bg-[#F5F5F5] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E5E5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('baseline')\">\n <div *ngIf=\"!screenshots?.baseline\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.baseline\" [src]=\"screenshots.baseline\" alt=\"Baseline\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Current -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Current</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('current')\">\n <div *ngIf=\"!screenshots?.current\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.current\" [src]=\"screenshots.current\" alt=\"Current\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Difference -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Difference</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('difference')\">\n <div *ngIf=\"!screenshots?.difference\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.difference\" [src]=\"screenshots.difference\" alt=\"Difference\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-end cqa-gap-2 cqa-flex-wrap\">\n <button \n (click)=\"onMakeCurrentBaseline()\"\n [disabled]=\"!isCurrentImageAvailable\"\n [class.cqa-opacity-50]=\"!isCurrentImageAvailable\"\n [class.cqa-cursor-not-allowed]=\"!isCurrentImageAvailable\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.39754 7.93752L2.31254 5.85252L1.60254 6.55752L4.39754 9.35252L10.3975 3.35252L9.69254 2.64752L4.39754 7.93752Z\" fill=\"black\"/></svg>\n Make current baseline\n </button>\n <button \n (click)=\"onUploadBaseline()\"\n [disabled]=\"isUploadingBaseline\"\n [class.cqa-opacity-50]=\"isUploadingBaseline\"\n [class.cqa-cursor-not-allowed]=\"isUploadingBaseline\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg *ngIf=\"!isUploadingBaseline\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 7.5V9H3V7.5H2V9C2 9.55 2.45 10 3 10H9C9.55 10 10 9.55 10 9V7.5H9ZM3.5 4.5L4.205 5.205L5.5 3.915V8H6.5V3.915L7.795 5.205L8.5 4.5L6 2L3.5 4.5Z\" fill=\"black\"/></svg>\n <svg *ngIf=\"isUploadingBaseline\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"animation: spin 1s linear infinite;\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" opacity=\"0.3\"/>\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" stroke-dashoffset=\"2\"/>\n </svg>\n <span>{{ isUploadingBaseline ? 'Uploading...' : 'Upload baseline' }}</span>\n </button>\n <!-- Hidden file input -->\n <input \n #fileInput\n type=\"file\" \n accept=\"image/*\"\n (change)=\"onFileSelected($event)\"\n style=\"display: none;\" \n />\n <button \n (click)=\"onAnalyze()\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122]\">\n <svg width=\"11\" height=\"12\" viewBox=\"0 0 11 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.5115 0C5.57931 0.0303178 5.60828 0.104354 5.63604 0.173128C5.64996 0.2132 5.66273 0.253489 5.67513 0.2941C5.67998 0.309662 5.68484 0.325224 5.68984 0.341258C5.7543 0.550673 5.81172 0.762331 5.86946 0.97384C5.88251 1.02159 5.89563 1.06932 5.90874 1.11704C5.97551 1.36005 6.04177 1.6032 6.10767 1.84646C6.11693 1.88062 6.12619 1.91479 6.13545 1.94895C6.16156 2.04527 6.18764 2.14159 6.21357 2.23796C6.26837 2.44159 6.32467 2.64463 6.38463 2.84668C6.38986 2.86435 6.3951 2.88203 6.4005 2.90024C6.55624 3.42 6.77701 3.88583 7.13888 4.28262C7.14784 4.29294 7.1568 4.30325 7.16603 4.31388C7.3205 4.48583 7.51873 4.62361 7.71687 4.73481C7.72696 4.74057 7.73705 4.74632 7.74745 4.75225C8.33051 5.079 9.03162 5.22272 9.66313 5.414C9.93984 5.49787 10.2157 5.58438 10.4905 5.6747C10.5099 5.68105 10.5292 5.68738 10.5485 5.6937C10.6062 5.7126 10.6639 5.73182 10.7215 5.7513C10.7349 5.75572 10.7483 5.76015 10.7621 5.76471C10.8415 5.79208 10.9174 5.82439 10.9825 5.88036C11.0023 5.92558 11.0023 5.92558 10.9969 5.9708C10.9336 6.03648 10.8707 6.06728 10.7871 6.09733C10.7751 6.10176 10.7632 6.1062 10.7508 6.11077C10.6096 6.16244 10.4665 6.20766 10.3232 6.25247C10.2938 6.26174 10.2644 6.27101 10.235 6.28028C10.0537 6.33735 9.87199 6.3932 9.69014 6.44842C9.45061 6.52117 9.21143 6.59512 8.97249 6.66991C8.93334 6.68216 8.89418 6.69437 8.85501 6.70654C8.64931 6.77048 8.44462 6.83671 8.24162 6.90944C8.22478 6.91545 8.20794 6.92147 8.19059 6.92766C7.51069 7.17443 6.99245 7.63478 6.66809 8.30799C6.49321 8.68634 6.39006 9.09548 6.28483 9.49929C6.25637 9.60825 6.22611 9.7166 6.1955 9.82492C6.17149 9.91015 6.14803 9.99551 6.12515 10.0811C6.12243 10.0913 6.1197 10.1014 6.1169 10.1119C6.1037 10.1612 6.09056 10.2106 6.07752 10.2599C6.04413 10.3851 6.00817 10.5092 5.97123 10.6332C5.90567 10.8536 5.84601 11.0757 5.78672 11.298C5.69732 11.6328 5.69732 11.6328 5.64662 11.7937C5.64326 11.8045 5.6399 11.8153 5.63644 11.8264C5.61793 11.8837 5.5989 11.9364 5.56388 11.9849C5.5106 11.9972 5.5106 11.9972 5.46273 12C5.40801 11.9168 5.37177 11.8361 5.34273 11.7401C5.33851 11.7265 5.33428 11.7129 5.32993 11.6989C5.27614 11.5233 5.22807 11.3459 5.17999 11.1686C5.16898 11.1281 5.15791 11.0875 5.14685 11.047C5.0644 10.7448 4.98331 10.4423 4.90234 10.1397C4.56509 8.64299 4.56509 8.64299 3.71433 7.43288C3.7007 7.42128 3.68706 7.40968 3.67302 7.39773C3.1156 6.93203 2.3813 6.75959 1.70885 6.55751C1.54254 6.50749 1.37628 6.45724 1.21004 6.40697C1.1955 6.40258 1.1955 6.40258 1.18067 6.39809C0.940881 6.32556 0.701157 6.25283 0.462274 6.17711C0.452168 6.17393 0.442063 6.17075 0.431651 6.16747C0.0646543 6.05178 0.0646543 6.05178 0.000790211 5.9708C-0.00101599 5.93406 -0.00101599 5.93406 0.0152398 5.89543C0.0819909 5.8272 0.14676 5.79797 0.234862 5.76825C0.247618 5.76378 0.260375 5.75931 0.273518 5.75471C0.312587 5.7411 0.351741 5.72779 0.390929 5.71455C0.402112 5.71073 0.413295 5.7069 0.424817 5.70296C0.503904 5.6759 0.583275 5.64986 0.662762 5.62412C0.682294 5.61777 0.682294 5.61777 0.70222 5.61129C1.04166 5.50116 1.38332 5.39867 1.72487 5.29595C1.97939 5.21939 2.23347 5.14157 2.48674 5.06065C2.49838 5.05694 2.51001 5.05324 2.52201 5.04943C3.10872 4.86262 3.68229 4.59755 4.06112 4.0716C4.06679 4.0638 4.07247 4.05599 4.07831 4.04796C4.50019 3.4642 4.6647 2.7543 4.8485 2.06161C4.90896 1.83379 4.97015 1.60619 5.03155 1.37865C5.04856 1.31564 5.06553 1.25263 5.08244 1.18959C5.15037 0.936385 5.21932 0.683523 5.29222 0.431818C5.29904 0.408248 5.30583 0.384667 5.31259 0.361076C5.41466 0.00531681 5.41466 0.00531681 5.5115 0Z\" fill=\"#161617\"/><path d=\"M8.84391 0.740443C8.91024 0.818762 8.92349 0.910806 8.94415 1.01081C9.01305 1.32499 9.09241 1.61388 9.36787 1.79638C9.53782 1.89443 9.74037 1.93904 9.92867 1.98118C10.0082 1.99933 10.0753 2.02341 10.1435 2.07158C10.1588 2.09701 10.1588 2.09701 10.1579 2.14129C10.1421 2.19513 10.1282 2.2125 10.0866 2.24774C10.041 2.26364 10.041 2.26364 9.98633 2.27601C9.96564 2.28096 9.94496 2.28597 9.9243 2.29102C9.91322 2.2937 9.90215 2.29638 9.89075 2.29914C9.55401 2.38039 9.55401 2.38039 9.26295 2.56428C9.25348 2.57222 9.24402 2.58017 9.23427 2.58836C9.02625 2.7797 8.98226 3.098 8.91963 3.36464C8.91605 3.37928 8.91246 3.39393 8.90876 3.40901C8.90566 3.42198 8.90255 3.43494 8.89935 3.4483C8.88584 3.48788 8.87183 3.51369 8.84391 3.54402C8.76614 3.55432 8.76614 3.55432 8.72831 3.54402C8.66814 3.49537 8.65468 3.43996 8.63896 3.3655C8.63633 3.35397 8.63369 3.34244 8.63098 3.33056C8.62259 3.29374 8.61447 3.25686 8.60639 3.21995C8.54302 2.93259 8.47148 2.65064 8.21879 2.4822C8.02131 2.36732 7.78118 2.31298 7.56045 2.26911C7.49996 2.25597 7.4653 2.23944 7.42785 2.18745C7.41972 2.1347 7.41972 2.1347 7.42785 2.08194C7.48541 2.01979 7.54597 2.00462 7.62382 1.98585C7.64835 1.97952 7.67286 1.97314 7.69737 1.96671C7.71003 1.96342 7.72269 1.96012 7.73574 1.95673C7.80032 1.93939 7.86425 1.91995 7.92817 1.90012C7.93978 1.89661 7.95139 1.89309 7.96336 1.88947C8.09329 1.84895 8.20541 1.79712 8.30927 1.70512C8.31896 1.6968 8.32864 1.68848 8.33862 1.67992C8.50026 1.52817 8.55518 1.3002 8.60504 1.08748C8.60884 1.07133 8.61264 1.05518 8.61655 1.03854C8.62411 1.0061 8.63154 0.973622 8.63882 0.94111C8.64403 0.918489 8.64403 0.918489 8.64935 0.895412C8.65238 0.881899 8.65542 0.868385 8.65855 0.854462C8.67186 0.811441 8.68935 0.77766 8.71386 0.740443C8.76096 0.715878 8.79401 0.726983 8.84391 0.740443Z\" fill=\"#414146\"/><path d=\"M2.19446 8.32962C2.21166 8.32975 2.21166 8.32975 2.22919 8.32988C2.35253 8.3338 2.43597 8.37503 2.5268 8.46151C2.6325 8.58061 2.6813 8.71497 2.67852 8.87549C2.66666 9.00565 2.59307 9.11929 2.50282 9.20727C2.39658 9.29672 2.28941 9.32628 2.15366 9.32215C2.03919 9.30825 1.93151 9.25153 1.85038 9.16618C1.7495 9.02258 1.72 8.89087 1.73479 8.71398C1.76533 8.57472 1.85337 8.46167 1.96598 8.38238C2.04421 8.34101 2.10713 8.32886 2.19446 8.32962Z\" fill=\"#4C4C51\"/></svg>\n Analyze\n </button>\n </div>\n </div>\n\n <!-- Right Panel: Logs -->\n <div class=\"cqa-col-span-3 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-py-2 cqa-px-3\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.6666 12L14.6666 8L10.6666 4\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.33337 4L1.33337 8L5.33337 12\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Logs\n </div>\n \n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-4\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Console</div>\n \n <div *ngFor=\"let log of logs\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium\" [ngClass]=\"getLogClass(log.level)\">\n {{ log.message }}\n </div>\n \n <div *ngIf=\"!logs || logs.length === 0\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#9CA3AF] cqa-bg-[#f8f8f8]\">\n No logs available\n </div>\n </div>\n\n <a \n *ngIf=\"showFullLogsLink\"\n (click)=\"onViewFullLogs()\"\n class=\"cqa-text-[10px] cqa-leading-[15px] cqa-text-[#3F43EE] cqa-font-medium cqa-flex cqa-items-center cqa-justify-end cqa-gap-[2px] cqa-cursor-pointer hover:cqa-underline\">\n View full logs Iterations\n <div><svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03833 6.74335L2.62833 7.33335L5.96166 4.00002L2.62833 0.666687L2.03833 1.25669L4.78166 4.00002L2.03833 6.74335Z\" fill=\"#3F43EE\"/></svg></div>\n </a>\n </div>\n\n \n <cqa-visual-difference-modal\n [isOpen]=\"isModalOpen\"\n [baselineUrl]=\"screenshots?.baseline || ''\"\n [currentUrl]=\"screenshots?.current || ''\"\n [differenceUrl]=\"screenshots?.difference || ''\"\n [initialView]=\"initialModalView\"\n (close)=\"onCloseModal()\">\n </cqa-visual-difference-modal>\n</div>\n\n<style>\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n</style>", styles: ["\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n"], components: [{ type: i1.VisualDifferenceModalComponent, selector: "cqa-visual-difference-modal", inputs: ["baselineUrl", "currentUrl", "differenceUrl", "title", "subtitle", "isOpen", "initialView"], outputs: ["close"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
72
|
+
VisualComparisonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: VisualComparisonComponent, selector: "cqa-visual-comparison", inputs: { screenshots: "screenshots", logs: "logs", showFullLogsLink: "showFullLogsLink", isUploadingBaseline: "isUploadingBaseline", testStepResultId: "testStepResultId" }, outputs: { makeCurrentBaseline: "makeCurrentBaseline", uploadBaseline: "uploadBaseline", analyze: "analyze", viewFullLogs: "viewFullLogs" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"cqa-grid cqa-grid-cols-12 cqa-gap-4 cqa-w-full\">\n <!-- Left Panel: Screenshots & Visual Comparison -->\n <div class=\"cqa-col-span-9 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-pt-2 cqa-px-3 cqa-pb-1\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.00033 7.33268C6.73671 7.33268 7.33366 6.73573 7.33366 5.99935C7.33366 5.26297 6.73671 4.66602 6.00033 4.66602C5.26395 4.66602 4.66699 5.26297 4.66699 5.99935C4.66699 6.73573 5.26395 7.33268 6.00033 7.33268Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 10.0004L11.9427 7.94312C11.6926 7.69315 11.3536 7.55273 11 7.55273C10.6464 7.55273 10.3074 7.69315 10.0573 7.94312L4 14.0004\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Screenshots & Visual Comparison\n </div>\n \n <!-- Screenshot Comparison Grid -->\n <div class=\"cqa-grid cqa-grid-cols-3 cqa-gap-3 cqa-mb-2\">\n <!-- Baseline -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Baseline</div>\n <div class=\"cqa-bg-[#F5F5F5] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E5E5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('baseline')\">\n <div *ngIf=\"!screenshots?.baseline\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.baseline\" [src]=\"screenshots.baseline\" alt=\"Baseline\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Current -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Current</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('current')\">\n <div *ngIf=\"!screenshots?.current\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.current\" [src]=\"screenshots.current\" alt=\"Current\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Difference -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Difference</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('difference')\">\n <div *ngIf=\"!screenshots?.difference\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.difference\" [src]=\"screenshots.difference\" alt=\"Difference\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-end cqa-gap-2 cqa-flex-wrap\">\n <button \n (click)=\"onMakeCurrentBaseline()\"\n [disabled]=\"!isCurrentImageAvailable\"\n [class.cqa-opacity-50]=\"!isCurrentImageAvailable\"\n [class.cqa-cursor-not-allowed]=\"!isCurrentImageAvailable\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.39754 7.93752L2.31254 5.85252L1.60254 6.55752L4.39754 9.35252L10.3975 3.35252L9.69254 2.64752L4.39754 7.93752Z\" fill=\"black\"/></svg>\n Make current baseline\n </button>\n <button \n (click)=\"onUploadBaseline()\"\n [disabled]=\"isUploadingBaseline?.[testStepResultId] === true\"\n [class.cqa-opacity-50]=\"isUploadingBaseline?.[testStepResultId] === true\"\n [class.cqa-cursor-not-allowed]=\"isUploadingBaseline?.[testStepResultId] === true\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg *ngIf=\"!isUploadingBaseline?.[testStepResultId]\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 7.5V9H3V7.5H2V9C2 9.55 2.45 10 3 10H9C9.55 10 10 9.55 10 9V7.5H9ZM3.5 4.5L4.205 5.205L5.5 3.915V8H6.5V3.915L7.795 5.205L8.5 4.5L6 2L3.5 4.5Z\" fill=\"black\"/></svg>\n <svg *ngIf=\"isUploadingBaseline?.[testStepResultId] === true\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"animation: spin 1s linear infinite;\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" opacity=\"0.3\"/>\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" stroke-dashoffset=\"2\"/>\n </svg>\n <span>{{ isUploadingBaseline?.[testStepResultId] === true ? 'Uploading...' : 'Upload baseline' }}</span>\n </button>\n <!-- Hidden file input -->\n <input \n #fileInput\n type=\"file\" \n accept=\"image/*\"\n (change)=\"onFileSelected($event)\"\n style=\"display: none;\" \n />\n <button \n (click)=\"onAnalyze()\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122]\">\n <svg width=\"11\" height=\"12\" viewBox=\"0 0 11 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.5115 0C5.57931 0.0303178 5.60828 0.104354 5.63604 0.173128C5.64996 0.2132 5.66273 0.253489 5.67513 0.2941C5.67998 0.309662 5.68484 0.325224 5.68984 0.341258C5.7543 0.550673 5.81172 0.762331 5.86946 0.97384C5.88251 1.02159 5.89563 1.06932 5.90874 1.11704C5.97551 1.36005 6.04177 1.6032 6.10767 1.84646C6.11693 1.88062 6.12619 1.91479 6.13545 1.94895C6.16156 2.04527 6.18764 2.14159 6.21357 2.23796C6.26837 2.44159 6.32467 2.64463 6.38463 2.84668C6.38986 2.86435 6.3951 2.88203 6.4005 2.90024C6.55624 3.42 6.77701 3.88583 7.13888 4.28262C7.14784 4.29294 7.1568 4.30325 7.16603 4.31388C7.3205 4.48583 7.51873 4.62361 7.71687 4.73481C7.72696 4.74057 7.73705 4.74632 7.74745 4.75225C8.33051 5.079 9.03162 5.22272 9.66313 5.414C9.93984 5.49787 10.2157 5.58438 10.4905 5.6747C10.5099 5.68105 10.5292 5.68738 10.5485 5.6937C10.6062 5.7126 10.6639 5.73182 10.7215 5.7513C10.7349 5.75572 10.7483 5.76015 10.7621 5.76471C10.8415 5.79208 10.9174 5.82439 10.9825 5.88036C11.0023 5.92558 11.0023 5.92558 10.9969 5.9708C10.9336 6.03648 10.8707 6.06728 10.7871 6.09733C10.7751 6.10176 10.7632 6.1062 10.7508 6.11077C10.6096 6.16244 10.4665 6.20766 10.3232 6.25247C10.2938 6.26174 10.2644 6.27101 10.235 6.28028C10.0537 6.33735 9.87199 6.3932 9.69014 6.44842C9.45061 6.52117 9.21143 6.59512 8.97249 6.66991C8.93334 6.68216 8.89418 6.69437 8.85501 6.70654C8.64931 6.77048 8.44462 6.83671 8.24162 6.90944C8.22478 6.91545 8.20794 6.92147 8.19059 6.92766C7.51069 7.17443 6.99245 7.63478 6.66809 8.30799C6.49321 8.68634 6.39006 9.09548 6.28483 9.49929C6.25637 9.60825 6.22611 9.7166 6.1955 9.82492C6.17149 9.91015 6.14803 9.99551 6.12515 10.0811C6.12243 10.0913 6.1197 10.1014 6.1169 10.1119C6.1037 10.1612 6.09056 10.2106 6.07752 10.2599C6.04413 10.3851 6.00817 10.5092 5.97123 10.6332C5.90567 10.8536 5.84601 11.0757 5.78672 11.298C5.69732 11.6328 5.69732 11.6328 5.64662 11.7937C5.64326 11.8045 5.6399 11.8153 5.63644 11.8264C5.61793 11.8837 5.5989 11.9364 5.56388 11.9849C5.5106 11.9972 5.5106 11.9972 5.46273 12C5.40801 11.9168 5.37177 11.8361 5.34273 11.7401C5.33851 11.7265 5.33428 11.7129 5.32993 11.6989C5.27614 11.5233 5.22807 11.3459 5.17999 11.1686C5.16898 11.1281 5.15791 11.0875 5.14685 11.047C5.0644 10.7448 4.98331 10.4423 4.90234 10.1397C4.56509 8.64299 4.56509 8.64299 3.71433 7.43288C3.7007 7.42128 3.68706 7.40968 3.67302 7.39773C3.1156 6.93203 2.3813 6.75959 1.70885 6.55751C1.54254 6.50749 1.37628 6.45724 1.21004 6.40697C1.1955 6.40258 1.1955 6.40258 1.18067 6.39809C0.940881 6.32556 0.701157 6.25283 0.462274 6.17711C0.452168 6.17393 0.442063 6.17075 0.431651 6.16747C0.0646543 6.05178 0.0646543 6.05178 0.000790211 5.9708C-0.00101599 5.93406 -0.00101599 5.93406 0.0152398 5.89543C0.0819909 5.8272 0.14676 5.79797 0.234862 5.76825C0.247618 5.76378 0.260375 5.75931 0.273518 5.75471C0.312587 5.7411 0.351741 5.72779 0.390929 5.71455C0.402112 5.71073 0.413295 5.7069 0.424817 5.70296C0.503904 5.6759 0.583275 5.64986 0.662762 5.62412C0.682294 5.61777 0.682294 5.61777 0.70222 5.61129C1.04166 5.50116 1.38332 5.39867 1.72487 5.29595C1.97939 5.21939 2.23347 5.14157 2.48674 5.06065C2.49838 5.05694 2.51001 5.05324 2.52201 5.04943C3.10872 4.86262 3.68229 4.59755 4.06112 4.0716C4.06679 4.0638 4.07247 4.05599 4.07831 4.04796C4.50019 3.4642 4.6647 2.7543 4.8485 2.06161C4.90896 1.83379 4.97015 1.60619 5.03155 1.37865C5.04856 1.31564 5.06553 1.25263 5.08244 1.18959C5.15037 0.936385 5.21932 0.683523 5.29222 0.431818C5.29904 0.408248 5.30583 0.384667 5.31259 0.361076C5.41466 0.00531681 5.41466 0.00531681 5.5115 0Z\" fill=\"#161617\"/><path d=\"M8.84391 0.740443C8.91024 0.818762 8.92349 0.910806 8.94415 1.01081C9.01305 1.32499 9.09241 1.61388 9.36787 1.79638C9.53782 1.89443 9.74037 1.93904 9.92867 1.98118C10.0082 1.99933 10.0753 2.02341 10.1435 2.07158C10.1588 2.09701 10.1588 2.09701 10.1579 2.14129C10.1421 2.19513 10.1282 2.2125 10.0866 2.24774C10.041 2.26364 10.041 2.26364 9.98633 2.27601C9.96564 2.28096 9.94496 2.28597 9.9243 2.29102C9.91322 2.2937 9.90215 2.29638 9.89075 2.29914C9.55401 2.38039 9.55401 2.38039 9.26295 2.56428C9.25348 2.57222 9.24402 2.58017 9.23427 2.58836C9.02625 2.7797 8.98226 3.098 8.91963 3.36464C8.91605 3.37928 8.91246 3.39393 8.90876 3.40901C8.90566 3.42198 8.90255 3.43494 8.89935 3.4483C8.88584 3.48788 8.87183 3.51369 8.84391 3.54402C8.76614 3.55432 8.76614 3.55432 8.72831 3.54402C8.66814 3.49537 8.65468 3.43996 8.63896 3.3655C8.63633 3.35397 8.63369 3.34244 8.63098 3.33056C8.62259 3.29374 8.61447 3.25686 8.60639 3.21995C8.54302 2.93259 8.47148 2.65064 8.21879 2.4822C8.02131 2.36732 7.78118 2.31298 7.56045 2.26911C7.49996 2.25597 7.4653 2.23944 7.42785 2.18745C7.41972 2.1347 7.41972 2.1347 7.42785 2.08194C7.48541 2.01979 7.54597 2.00462 7.62382 1.98585C7.64835 1.97952 7.67286 1.97314 7.69737 1.96671C7.71003 1.96342 7.72269 1.96012 7.73574 1.95673C7.80032 1.93939 7.86425 1.91995 7.92817 1.90012C7.93978 1.89661 7.95139 1.89309 7.96336 1.88947C8.09329 1.84895 8.20541 1.79712 8.30927 1.70512C8.31896 1.6968 8.32864 1.68848 8.33862 1.67992C8.50026 1.52817 8.55518 1.3002 8.60504 1.08748C8.60884 1.07133 8.61264 1.05518 8.61655 1.03854C8.62411 1.0061 8.63154 0.973622 8.63882 0.94111C8.64403 0.918489 8.64403 0.918489 8.64935 0.895412C8.65238 0.881899 8.65542 0.868385 8.65855 0.854462C8.67186 0.811441 8.68935 0.77766 8.71386 0.740443C8.76096 0.715878 8.79401 0.726983 8.84391 0.740443Z\" fill=\"#414146\"/><path d=\"M2.19446 8.32962C2.21166 8.32975 2.21166 8.32975 2.22919 8.32988C2.35253 8.3338 2.43597 8.37503 2.5268 8.46151C2.6325 8.58061 2.6813 8.71497 2.67852 8.87549C2.66666 9.00565 2.59307 9.11929 2.50282 9.20727C2.39658 9.29672 2.28941 9.32628 2.15366 9.32215C2.03919 9.30825 1.93151 9.25153 1.85038 9.16618C1.7495 9.02258 1.72 8.89087 1.73479 8.71398C1.76533 8.57472 1.85337 8.46167 1.96598 8.38238C2.04421 8.34101 2.10713 8.32886 2.19446 8.32962Z\" fill=\"#4C4C51\"/></svg>\n Analyze\n </button>\n </div>\n </div>\n\n <!-- Right Panel: Logs -->\n <div class=\"cqa-col-span-3 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-py-2 cqa-px-3\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.6666 12L14.6666 8L10.6666 4\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.33337 4L1.33337 8L5.33337 12\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Logs\n </div>\n \n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-4\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Console</div>\n \n <div *ngFor=\"let log of logs\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium\" [ngClass]=\"getLogClass(log.level)\">\n {{ log.message }}\n </div>\n \n <div *ngIf=\"!logs || logs.length === 0\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#9CA3AF] cqa-bg-[#f8f8f8]\">\n No logs available\n </div>\n </div>\n\n <a \n *ngIf=\"showFullLogsLink\"\n (click)=\"onViewFullLogs()\"\n class=\"cqa-text-[10px] cqa-leading-[15px] cqa-text-[#3F43EE] cqa-font-medium cqa-flex cqa-items-center cqa-justify-end cqa-gap-[2px] cqa-cursor-pointer hover:cqa-underline\">\n View full logs Iterations\n <div><svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03833 6.74335L2.62833 7.33335L5.96166 4.00002L2.62833 0.666687L2.03833 1.25669L4.78166 4.00002L2.03833 6.74335Z\" fill=\"#3F43EE\"/></svg></div>\n </a>\n </div>\n\n \n <cqa-visual-difference-modal\n [isOpen]=\"isModalOpen\"\n [baselineUrl]=\"screenshots?.baseline || ''\"\n [currentUrl]=\"screenshots?.current || ''\"\n [differenceUrl]=\"screenshots?.difference || ''\"\n [initialView]=\"initialModalView\"\n (close)=\"onCloseModal()\">\n </cqa-visual-difference-modal>\n</div>\n\n<style>\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n</style>", styles: ["\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n"], components: [{ type: i1.VisualDifferenceModalComponent, selector: "cqa-visual-difference-modal", inputs: ["baselineUrl", "currentUrl", "differenceUrl", "title", "subtitle", "isOpen", "initialView"], outputs: ["close"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VisualComparisonComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
|
-
args: [{ selector: 'cqa-visual-comparison', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-grid cqa-grid-cols-12 cqa-gap-4 cqa-w-full\">\n <!-- Left Panel: Screenshots & Visual Comparison -->\n <div class=\"cqa-col-span-9 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-pt-2 cqa-px-3 cqa-pb-1\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.00033 7.33268C6.73671 7.33268 7.33366 6.73573 7.33366 5.99935C7.33366 5.26297 6.73671 4.66602 6.00033 4.66602C5.26395 4.66602 4.66699 5.26297 4.66699 5.99935C4.66699 6.73573 5.26395 7.33268 6.00033 7.33268Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 10.0004L11.9427 7.94312C11.6926 7.69315 11.3536 7.55273 11 7.55273C10.6464 7.55273 10.3074 7.69315 10.0573 7.94312L4 14.0004\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Screenshots & Visual Comparison\n </div>\n \n <!-- Screenshot Comparison Grid -->\n <div class=\"cqa-grid cqa-grid-cols-3 cqa-gap-3 cqa-mb-2\">\n <!-- Baseline -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Baseline</div>\n <div class=\"cqa-bg-[#F5F5F5] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E5E5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('baseline')\">\n <div *ngIf=\"!screenshots?.baseline\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.baseline\" [src]=\"screenshots.baseline\" alt=\"Baseline\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Current -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Current</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('current')\">\n <div *ngIf=\"!screenshots?.current\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.current\" [src]=\"screenshots.current\" alt=\"Current\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Difference -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Difference</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('difference')\">\n <div *ngIf=\"!screenshots?.difference\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.difference\" [src]=\"screenshots.difference\" alt=\"Difference\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-end cqa-gap-2 cqa-flex-wrap\">\n <button \n (click)=\"onMakeCurrentBaseline()\"\n [disabled]=\"!isCurrentImageAvailable\"\n [class.cqa-opacity-50]=\"!isCurrentImageAvailable\"\n [class.cqa-cursor-not-allowed]=\"!isCurrentImageAvailable\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.39754 7.93752L2.31254 5.85252L1.60254 6.55752L4.39754 9.35252L10.3975 3.35252L9.69254 2.64752L4.39754 7.93752Z\" fill=\"black\"/></svg>\n Make current baseline\n </button>\n <button \n (click)=\"onUploadBaseline()\"\n [disabled]=\"isUploadingBaseline\"\n [class.cqa-opacity-50]=\"isUploadingBaseline\"\n [class.cqa-cursor-not-allowed]=\"isUploadingBaseline\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg *ngIf=\"!isUploadingBaseline\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 7.5V9H3V7.5H2V9C2 9.55 2.45 10 3 10H9C9.55 10 10 9.55 10 9V7.5H9ZM3.5 4.5L4.205 5.205L5.5 3.915V8H6.5V3.915L7.795 5.205L8.5 4.5L6 2L3.5 4.5Z\" fill=\"black\"/></svg>\n <svg *ngIf=\"isUploadingBaseline\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"animation: spin 1s linear infinite;\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" opacity=\"0.3\"/>\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" stroke-dashoffset=\"2\"/>\n </svg>\n <span>{{ isUploadingBaseline ? 'Uploading...' : 'Upload baseline' }}</span>\n </button>\n <!-- Hidden file input -->\n <input \n #fileInput\n type=\"file\" \n accept=\"image/*\"\n (change)=\"onFileSelected($event)\"\n style=\"display: none;\" \n />\n <button \n (click)=\"onAnalyze()\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122]\">\n <svg width=\"11\" height=\"12\" viewBox=\"0 0 11 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.5115 0C5.57931 0.0303178 5.60828 0.104354 5.63604 0.173128C5.64996 0.2132 5.66273 0.253489 5.67513 0.2941C5.67998 0.309662 5.68484 0.325224 5.68984 0.341258C5.7543 0.550673 5.81172 0.762331 5.86946 0.97384C5.88251 1.02159 5.89563 1.06932 5.90874 1.11704C5.97551 1.36005 6.04177 1.6032 6.10767 1.84646C6.11693 1.88062 6.12619 1.91479 6.13545 1.94895C6.16156 2.04527 6.18764 2.14159 6.21357 2.23796C6.26837 2.44159 6.32467 2.64463 6.38463 2.84668C6.38986 2.86435 6.3951 2.88203 6.4005 2.90024C6.55624 3.42 6.77701 3.88583 7.13888 4.28262C7.14784 4.29294 7.1568 4.30325 7.16603 4.31388C7.3205 4.48583 7.51873 4.62361 7.71687 4.73481C7.72696 4.74057 7.73705 4.74632 7.74745 4.75225C8.33051 5.079 9.03162 5.22272 9.66313 5.414C9.93984 5.49787 10.2157 5.58438 10.4905 5.6747C10.5099 5.68105 10.5292 5.68738 10.5485 5.6937C10.6062 5.7126 10.6639 5.73182 10.7215 5.7513C10.7349 5.75572 10.7483 5.76015 10.7621 5.76471C10.8415 5.79208 10.9174 5.82439 10.9825 5.88036C11.0023 5.92558 11.0023 5.92558 10.9969 5.9708C10.9336 6.03648 10.8707 6.06728 10.7871 6.09733C10.7751 6.10176 10.7632 6.1062 10.7508 6.11077C10.6096 6.16244 10.4665 6.20766 10.3232 6.25247C10.2938 6.26174 10.2644 6.27101 10.235 6.28028C10.0537 6.33735 9.87199 6.3932 9.69014 6.44842C9.45061 6.52117 9.21143 6.59512 8.97249 6.66991C8.93334 6.68216 8.89418 6.69437 8.85501 6.70654C8.64931 6.77048 8.44462 6.83671 8.24162 6.90944C8.22478 6.91545 8.20794 6.92147 8.19059 6.92766C7.51069 7.17443 6.99245 7.63478 6.66809 8.30799C6.49321 8.68634 6.39006 9.09548 6.28483 9.49929C6.25637 9.60825 6.22611 9.7166 6.1955 9.82492C6.17149 9.91015 6.14803 9.99551 6.12515 10.0811C6.12243 10.0913 6.1197 10.1014 6.1169 10.1119C6.1037 10.1612 6.09056 10.2106 6.07752 10.2599C6.04413 10.3851 6.00817 10.5092 5.97123 10.6332C5.90567 10.8536 5.84601 11.0757 5.78672 11.298C5.69732 11.6328 5.69732 11.6328 5.64662 11.7937C5.64326 11.8045 5.6399 11.8153 5.63644 11.8264C5.61793 11.8837 5.5989 11.9364 5.56388 11.9849C5.5106 11.9972 5.5106 11.9972 5.46273 12C5.40801 11.9168 5.37177 11.8361 5.34273 11.7401C5.33851 11.7265 5.33428 11.7129 5.32993 11.6989C5.27614 11.5233 5.22807 11.3459 5.17999 11.1686C5.16898 11.1281 5.15791 11.0875 5.14685 11.047C5.0644 10.7448 4.98331 10.4423 4.90234 10.1397C4.56509 8.64299 4.56509 8.64299 3.71433 7.43288C3.7007 7.42128 3.68706 7.40968 3.67302 7.39773C3.1156 6.93203 2.3813 6.75959 1.70885 6.55751C1.54254 6.50749 1.37628 6.45724 1.21004 6.40697C1.1955 6.40258 1.1955 6.40258 1.18067 6.39809C0.940881 6.32556 0.701157 6.25283 0.462274 6.17711C0.452168 6.17393 0.442063 6.17075 0.431651 6.16747C0.0646543 6.05178 0.0646543 6.05178 0.000790211 5.9708C-0.00101599 5.93406 -0.00101599 5.93406 0.0152398 5.89543C0.0819909 5.8272 0.14676 5.79797 0.234862 5.76825C0.247618 5.76378 0.260375 5.75931 0.273518 5.75471C0.312587 5.7411 0.351741 5.72779 0.390929 5.71455C0.402112 5.71073 0.413295 5.7069 0.424817 5.70296C0.503904 5.6759 0.583275 5.64986 0.662762 5.62412C0.682294 5.61777 0.682294 5.61777 0.70222 5.61129C1.04166 5.50116 1.38332 5.39867 1.72487 5.29595C1.97939 5.21939 2.23347 5.14157 2.48674 5.06065C2.49838 5.05694 2.51001 5.05324 2.52201 5.04943C3.10872 4.86262 3.68229 4.59755 4.06112 4.0716C4.06679 4.0638 4.07247 4.05599 4.07831 4.04796C4.50019 3.4642 4.6647 2.7543 4.8485 2.06161C4.90896 1.83379 4.97015 1.60619 5.03155 1.37865C5.04856 1.31564 5.06553 1.25263 5.08244 1.18959C5.15037 0.936385 5.21932 0.683523 5.29222 0.431818C5.29904 0.408248 5.30583 0.384667 5.31259 0.361076C5.41466 0.00531681 5.41466 0.00531681 5.5115 0Z\" fill=\"#161617\"/><path d=\"M8.84391 0.740443C8.91024 0.818762 8.92349 0.910806 8.94415 1.01081C9.01305 1.32499 9.09241 1.61388 9.36787 1.79638C9.53782 1.89443 9.74037 1.93904 9.92867 1.98118C10.0082 1.99933 10.0753 2.02341 10.1435 2.07158C10.1588 2.09701 10.1588 2.09701 10.1579 2.14129C10.1421 2.19513 10.1282 2.2125 10.0866 2.24774C10.041 2.26364 10.041 2.26364 9.98633 2.27601C9.96564 2.28096 9.94496 2.28597 9.9243 2.29102C9.91322 2.2937 9.90215 2.29638 9.89075 2.29914C9.55401 2.38039 9.55401 2.38039 9.26295 2.56428C9.25348 2.57222 9.24402 2.58017 9.23427 2.58836C9.02625 2.7797 8.98226 3.098 8.91963 3.36464C8.91605 3.37928 8.91246 3.39393 8.90876 3.40901C8.90566 3.42198 8.90255 3.43494 8.89935 3.4483C8.88584 3.48788 8.87183 3.51369 8.84391 3.54402C8.76614 3.55432 8.76614 3.55432 8.72831 3.54402C8.66814 3.49537 8.65468 3.43996 8.63896 3.3655C8.63633 3.35397 8.63369 3.34244 8.63098 3.33056C8.62259 3.29374 8.61447 3.25686 8.60639 3.21995C8.54302 2.93259 8.47148 2.65064 8.21879 2.4822C8.02131 2.36732 7.78118 2.31298 7.56045 2.26911C7.49996 2.25597 7.4653 2.23944 7.42785 2.18745C7.41972 2.1347 7.41972 2.1347 7.42785 2.08194C7.48541 2.01979 7.54597 2.00462 7.62382 1.98585C7.64835 1.97952 7.67286 1.97314 7.69737 1.96671C7.71003 1.96342 7.72269 1.96012 7.73574 1.95673C7.80032 1.93939 7.86425 1.91995 7.92817 1.90012C7.93978 1.89661 7.95139 1.89309 7.96336 1.88947C8.09329 1.84895 8.20541 1.79712 8.30927 1.70512C8.31896 1.6968 8.32864 1.68848 8.33862 1.67992C8.50026 1.52817 8.55518 1.3002 8.60504 1.08748C8.60884 1.07133 8.61264 1.05518 8.61655 1.03854C8.62411 1.0061 8.63154 0.973622 8.63882 0.94111C8.64403 0.918489 8.64403 0.918489 8.64935 0.895412C8.65238 0.881899 8.65542 0.868385 8.65855 0.854462C8.67186 0.811441 8.68935 0.77766 8.71386 0.740443C8.76096 0.715878 8.79401 0.726983 8.84391 0.740443Z\" fill=\"#414146\"/><path d=\"M2.19446 8.32962C2.21166 8.32975 2.21166 8.32975 2.22919 8.32988C2.35253 8.3338 2.43597 8.37503 2.5268 8.46151C2.6325 8.58061 2.6813 8.71497 2.67852 8.87549C2.66666 9.00565 2.59307 9.11929 2.50282 9.20727C2.39658 9.29672 2.28941 9.32628 2.15366 9.32215C2.03919 9.30825 1.93151 9.25153 1.85038 9.16618C1.7495 9.02258 1.72 8.89087 1.73479 8.71398C1.76533 8.57472 1.85337 8.46167 1.96598 8.38238C2.04421 8.34101 2.10713 8.32886 2.19446 8.32962Z\" fill=\"#4C4C51\"/></svg>\n Analyze\n </button>\n </div>\n </div>\n\n <!-- Right Panel: Logs -->\n <div class=\"cqa-col-span-3 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-py-2 cqa-px-3\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.6666 12L14.6666 8L10.6666 4\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.33337 4L1.33337 8L5.33337 12\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Logs\n </div>\n \n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-4\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Console</div>\n \n <div *ngFor=\"let log of logs\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium\" [ngClass]=\"getLogClass(log.level)\">\n {{ log.message }}\n </div>\n \n <div *ngIf=\"!logs || logs.length === 0\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#9CA3AF] cqa-bg-[#f8f8f8]\">\n No logs available\n </div>\n </div>\n\n <a \n *ngIf=\"showFullLogsLink\"\n (click)=\"onViewFullLogs()\"\n class=\"cqa-text-[10px] cqa-leading-[15px] cqa-text-[#3F43EE] cqa-font-medium cqa-flex cqa-items-center cqa-justify-end cqa-gap-[2px] cqa-cursor-pointer hover:cqa-underline\">\n View full logs Iterations\n <div><svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03833 6.74335L2.62833 7.33335L5.96166 4.00002L2.62833 0.666687L2.03833 1.25669L4.78166 4.00002L2.03833 6.74335Z\" fill=\"#3F43EE\"/></svg></div>\n </a>\n </div>\n\n \n <cqa-visual-difference-modal\n [isOpen]=\"isModalOpen\"\n [baselineUrl]=\"screenshots?.baseline || ''\"\n [currentUrl]=\"screenshots?.current || ''\"\n [differenceUrl]=\"screenshots?.difference || ''\"\n [initialView]=\"initialModalView\"\n (close)=\"onCloseModal()\">\n </cqa-visual-difference-modal>\n</div>\n\n<style>\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n</style>", styles: ["\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n"] }]
|
|
75
|
+
args: [{ selector: 'cqa-visual-comparison', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-grid cqa-grid-cols-12 cqa-gap-4 cqa-w-full\">\n <!-- Left Panel: Screenshots & Visual Comparison -->\n <div class=\"cqa-col-span-9 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-pt-2 cqa-px-3 cqa-pb-1\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.00033 7.33268C6.73671 7.33268 7.33366 6.73573 7.33366 5.99935C7.33366 5.26297 6.73671 4.66602 6.00033 4.66602C5.26395 4.66602 4.66699 5.26297 4.66699 5.99935C4.66699 6.73573 5.26395 7.33268 6.00033 7.33268Z\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 10.0004L11.9427 7.94312C11.6926 7.69315 11.3536 7.55273 11 7.55273C10.6464 7.55273 10.3074 7.69315 10.0573 7.94312L4 14.0004\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Screenshots & Visual Comparison\n </div>\n \n <!-- Screenshot Comparison Grid -->\n <div class=\"cqa-grid cqa-grid-cols-3 cqa-gap-3 cqa-mb-2\">\n <!-- Baseline -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Baseline</div>\n <div class=\"cqa-bg-[#F5F5F5] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E5E5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('baseline')\">\n <div *ngIf=\"!screenshots?.baseline\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#737373\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.baseline\" [src]=\"screenshots.baseline\" alt=\"Baseline\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Current -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Current</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('current')\">\n <div *ngIf=\"!screenshots?.current\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.current\" [src]=\"screenshots.current\" alt=\"Current\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n\n <!-- Difference -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Difference</div>\n <div class=\"cqa-bg-[#FEF2F3] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#F9C2C5] cqa-flex cqa-items-center cqa-justify-center cqa-h-[112px] cqa-cursor-pointer\" (click)=\"onImageClick('difference')\">\n <div *ngIf=\"!screenshots?.difference\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-text-[#EF4444]\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.3333 4H6.66667C5.19391 4 4 5.19391 4 6.66667V25.3333C4 26.8061 5.19391 28 6.66667 28H25.3333C26.8061 28 28 26.8061 28 25.3333V6.66667C28 5.19391 26.8061 4 25.3333 4Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.9997 14.6673C13.4724 14.6673 14.6663 13.4734 14.6663 12.0007C14.6663 10.5279 13.4724 9.33398 11.9997 9.33398C10.5269 9.33398 9.33301 10.5279 9.33301 12.0007C9.33301 13.4734 10.5269 14.6673 11.9997 14.6673Z\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M28 20.0009L23.8853 15.8862C23.3853 15.3863 22.7071 15.1055 22 15.1055C21.2929 15.1055 20.6147 15.3863 20.1147 15.8862L8 28.0009\" stroke=\"#E7000B\" stroke-opacity=\"0.5\" stroke-width=\"2.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </div>\n <img *ngIf=\"screenshots?.difference\" [src]=\"screenshots.difference\" alt=\"Difference\" class=\"cqa-w-full cqa-h-full cqa-object-cover cqa-rounded-lg\" />\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-end cqa-gap-2 cqa-flex-wrap\">\n <button \n (click)=\"onMakeCurrentBaseline()\"\n [disabled]=\"!isCurrentImageAvailable\"\n [class.cqa-opacity-50]=\"!isCurrentImageAvailable\"\n [class.cqa-cursor-not-allowed]=\"!isCurrentImageAvailable\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.39754 7.93752L2.31254 5.85252L1.60254 6.55752L4.39754 9.35252L10.3975 3.35252L9.69254 2.64752L4.39754 7.93752Z\" fill=\"black\"/></svg>\n Make current baseline\n </button>\n <button \n (click)=\"onUploadBaseline()\"\n [disabled]=\"isUploadingBaseline?.[testStepResultId] === true\"\n [class.cqa-opacity-50]=\"isUploadingBaseline?.[testStepResultId] === true\"\n [class.cqa-cursor-not-allowed]=\"isUploadingBaseline?.[testStepResultId] === true\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122] disabled:cqa-cursor-not-allowed\">\n <svg *ngIf=\"!isUploadingBaseline?.[testStepResultId]\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 7.5V9H3V7.5H2V9C2 9.55 2.45 10 3 10H9C9.55 10 10 9.55 10 9V7.5H9ZM3.5 4.5L4.205 5.205L5.5 3.915V8H6.5V3.915L7.795 5.205L8.5 4.5L6 2L3.5 4.5Z\" fill=\"black\"/></svg>\n <svg *ngIf=\"isUploadingBaseline?.[testStepResultId] === true\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"animation: spin 1s linear infinite;\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" opacity=\"0.3\"/>\n <circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"8 4\" stroke-dashoffset=\"2\"/>\n </svg>\n <span>{{ isUploadingBaseline?.[testStepResultId] === true ? 'Uploading...' : 'Upload baseline' }}</span>\n </button>\n <!-- Hidden file input -->\n <input \n #fileInput\n type=\"file\" \n accept=\"image/*\"\n (change)=\"onFileSelected($event)\"\n style=\"display: none;\" \n />\n <button \n (click)=\"onAnalyze()\"\n class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-pl-2 cqa-pr-4 cqa-py-[2px] cqa-rounded-lg cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-bg-transparent cqa-text-[#212122] cqa-border cqa-border-solid cqa-border-[#212122]\">\n <svg width=\"11\" height=\"12\" viewBox=\"0 0 11 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.5115 0C5.57931 0.0303178 5.60828 0.104354 5.63604 0.173128C5.64996 0.2132 5.66273 0.253489 5.67513 0.2941C5.67998 0.309662 5.68484 0.325224 5.68984 0.341258C5.7543 0.550673 5.81172 0.762331 5.86946 0.97384C5.88251 1.02159 5.89563 1.06932 5.90874 1.11704C5.97551 1.36005 6.04177 1.6032 6.10767 1.84646C6.11693 1.88062 6.12619 1.91479 6.13545 1.94895C6.16156 2.04527 6.18764 2.14159 6.21357 2.23796C6.26837 2.44159 6.32467 2.64463 6.38463 2.84668C6.38986 2.86435 6.3951 2.88203 6.4005 2.90024C6.55624 3.42 6.77701 3.88583 7.13888 4.28262C7.14784 4.29294 7.1568 4.30325 7.16603 4.31388C7.3205 4.48583 7.51873 4.62361 7.71687 4.73481C7.72696 4.74057 7.73705 4.74632 7.74745 4.75225C8.33051 5.079 9.03162 5.22272 9.66313 5.414C9.93984 5.49787 10.2157 5.58438 10.4905 5.6747C10.5099 5.68105 10.5292 5.68738 10.5485 5.6937C10.6062 5.7126 10.6639 5.73182 10.7215 5.7513C10.7349 5.75572 10.7483 5.76015 10.7621 5.76471C10.8415 5.79208 10.9174 5.82439 10.9825 5.88036C11.0023 5.92558 11.0023 5.92558 10.9969 5.9708C10.9336 6.03648 10.8707 6.06728 10.7871 6.09733C10.7751 6.10176 10.7632 6.1062 10.7508 6.11077C10.6096 6.16244 10.4665 6.20766 10.3232 6.25247C10.2938 6.26174 10.2644 6.27101 10.235 6.28028C10.0537 6.33735 9.87199 6.3932 9.69014 6.44842C9.45061 6.52117 9.21143 6.59512 8.97249 6.66991C8.93334 6.68216 8.89418 6.69437 8.85501 6.70654C8.64931 6.77048 8.44462 6.83671 8.24162 6.90944C8.22478 6.91545 8.20794 6.92147 8.19059 6.92766C7.51069 7.17443 6.99245 7.63478 6.66809 8.30799C6.49321 8.68634 6.39006 9.09548 6.28483 9.49929C6.25637 9.60825 6.22611 9.7166 6.1955 9.82492C6.17149 9.91015 6.14803 9.99551 6.12515 10.0811C6.12243 10.0913 6.1197 10.1014 6.1169 10.1119C6.1037 10.1612 6.09056 10.2106 6.07752 10.2599C6.04413 10.3851 6.00817 10.5092 5.97123 10.6332C5.90567 10.8536 5.84601 11.0757 5.78672 11.298C5.69732 11.6328 5.69732 11.6328 5.64662 11.7937C5.64326 11.8045 5.6399 11.8153 5.63644 11.8264C5.61793 11.8837 5.5989 11.9364 5.56388 11.9849C5.5106 11.9972 5.5106 11.9972 5.46273 12C5.40801 11.9168 5.37177 11.8361 5.34273 11.7401C5.33851 11.7265 5.33428 11.7129 5.32993 11.6989C5.27614 11.5233 5.22807 11.3459 5.17999 11.1686C5.16898 11.1281 5.15791 11.0875 5.14685 11.047C5.0644 10.7448 4.98331 10.4423 4.90234 10.1397C4.56509 8.64299 4.56509 8.64299 3.71433 7.43288C3.7007 7.42128 3.68706 7.40968 3.67302 7.39773C3.1156 6.93203 2.3813 6.75959 1.70885 6.55751C1.54254 6.50749 1.37628 6.45724 1.21004 6.40697C1.1955 6.40258 1.1955 6.40258 1.18067 6.39809C0.940881 6.32556 0.701157 6.25283 0.462274 6.17711C0.452168 6.17393 0.442063 6.17075 0.431651 6.16747C0.0646543 6.05178 0.0646543 6.05178 0.000790211 5.9708C-0.00101599 5.93406 -0.00101599 5.93406 0.0152398 5.89543C0.0819909 5.8272 0.14676 5.79797 0.234862 5.76825C0.247618 5.76378 0.260375 5.75931 0.273518 5.75471C0.312587 5.7411 0.351741 5.72779 0.390929 5.71455C0.402112 5.71073 0.413295 5.7069 0.424817 5.70296C0.503904 5.6759 0.583275 5.64986 0.662762 5.62412C0.682294 5.61777 0.682294 5.61777 0.70222 5.61129C1.04166 5.50116 1.38332 5.39867 1.72487 5.29595C1.97939 5.21939 2.23347 5.14157 2.48674 5.06065C2.49838 5.05694 2.51001 5.05324 2.52201 5.04943C3.10872 4.86262 3.68229 4.59755 4.06112 4.0716C4.06679 4.0638 4.07247 4.05599 4.07831 4.04796C4.50019 3.4642 4.6647 2.7543 4.8485 2.06161C4.90896 1.83379 4.97015 1.60619 5.03155 1.37865C5.04856 1.31564 5.06553 1.25263 5.08244 1.18959C5.15037 0.936385 5.21932 0.683523 5.29222 0.431818C5.29904 0.408248 5.30583 0.384667 5.31259 0.361076C5.41466 0.00531681 5.41466 0.00531681 5.5115 0Z\" fill=\"#161617\"/><path d=\"M8.84391 0.740443C8.91024 0.818762 8.92349 0.910806 8.94415 1.01081C9.01305 1.32499 9.09241 1.61388 9.36787 1.79638C9.53782 1.89443 9.74037 1.93904 9.92867 1.98118C10.0082 1.99933 10.0753 2.02341 10.1435 2.07158C10.1588 2.09701 10.1588 2.09701 10.1579 2.14129C10.1421 2.19513 10.1282 2.2125 10.0866 2.24774C10.041 2.26364 10.041 2.26364 9.98633 2.27601C9.96564 2.28096 9.94496 2.28597 9.9243 2.29102C9.91322 2.2937 9.90215 2.29638 9.89075 2.29914C9.55401 2.38039 9.55401 2.38039 9.26295 2.56428C9.25348 2.57222 9.24402 2.58017 9.23427 2.58836C9.02625 2.7797 8.98226 3.098 8.91963 3.36464C8.91605 3.37928 8.91246 3.39393 8.90876 3.40901C8.90566 3.42198 8.90255 3.43494 8.89935 3.4483C8.88584 3.48788 8.87183 3.51369 8.84391 3.54402C8.76614 3.55432 8.76614 3.55432 8.72831 3.54402C8.66814 3.49537 8.65468 3.43996 8.63896 3.3655C8.63633 3.35397 8.63369 3.34244 8.63098 3.33056C8.62259 3.29374 8.61447 3.25686 8.60639 3.21995C8.54302 2.93259 8.47148 2.65064 8.21879 2.4822C8.02131 2.36732 7.78118 2.31298 7.56045 2.26911C7.49996 2.25597 7.4653 2.23944 7.42785 2.18745C7.41972 2.1347 7.41972 2.1347 7.42785 2.08194C7.48541 2.01979 7.54597 2.00462 7.62382 1.98585C7.64835 1.97952 7.67286 1.97314 7.69737 1.96671C7.71003 1.96342 7.72269 1.96012 7.73574 1.95673C7.80032 1.93939 7.86425 1.91995 7.92817 1.90012C7.93978 1.89661 7.95139 1.89309 7.96336 1.88947C8.09329 1.84895 8.20541 1.79712 8.30927 1.70512C8.31896 1.6968 8.32864 1.68848 8.33862 1.67992C8.50026 1.52817 8.55518 1.3002 8.60504 1.08748C8.60884 1.07133 8.61264 1.05518 8.61655 1.03854C8.62411 1.0061 8.63154 0.973622 8.63882 0.94111C8.64403 0.918489 8.64403 0.918489 8.64935 0.895412C8.65238 0.881899 8.65542 0.868385 8.65855 0.854462C8.67186 0.811441 8.68935 0.77766 8.71386 0.740443C8.76096 0.715878 8.79401 0.726983 8.84391 0.740443Z\" fill=\"#414146\"/><path d=\"M2.19446 8.32962C2.21166 8.32975 2.21166 8.32975 2.22919 8.32988C2.35253 8.3338 2.43597 8.37503 2.5268 8.46151C2.6325 8.58061 2.6813 8.71497 2.67852 8.87549C2.66666 9.00565 2.59307 9.11929 2.50282 9.20727C2.39658 9.29672 2.28941 9.32628 2.15366 9.32215C2.03919 9.30825 1.93151 9.25153 1.85038 9.16618C1.7495 9.02258 1.72 8.89087 1.73479 8.71398C1.76533 8.57472 1.85337 8.46167 1.96598 8.38238C2.04421 8.34101 2.10713 8.32886 2.19446 8.32962Z\" fill=\"#4C4C51\"/></svg>\n Analyze\n </button>\n </div>\n </div>\n\n <!-- Right Panel: Logs -->\n <div class=\"cqa-col-span-3 cqa-border cqa-border-solid cqa-border-[##E5E5E5] cqa-rounded-[10px] cqa-py-2 cqa-px-3\">\n <div class=\"cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#0A0A0A] cqa-flex cqa-items-center cqa-gap-2 cqa-mb-2\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.6666 12L14.6666 8L10.6666 4\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.33337 4L1.33337 8L5.33337 12\" stroke=\"#0A0A0A\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n Logs\n </div>\n \n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-4\">\n <div class=\"cqa-text-[11px] cqa-leading-[100%] cqa-text-[#737373]\">Console</div>\n \n <div *ngFor=\"let log of logs\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium\" [ngClass]=\"getLogClass(log.level)\">\n {{ log.message }}\n </div>\n \n <div *ngIf=\"!logs || logs.length === 0\" class=\"cqa-px-2 cqa-py-[2px] cqa-rounded cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-text-[#9CA3AF] cqa-bg-[#f8f8f8]\">\n No logs available\n </div>\n </div>\n\n <a \n *ngIf=\"showFullLogsLink\"\n (click)=\"onViewFullLogs()\"\n class=\"cqa-text-[10px] cqa-leading-[15px] cqa-text-[#3F43EE] cqa-font-medium cqa-flex cqa-items-center cqa-justify-end cqa-gap-[2px] cqa-cursor-pointer hover:cqa-underline\">\n View full logs Iterations\n <div><svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03833 6.74335L2.62833 7.33335L5.96166 4.00002L2.62833 0.666687L2.03833 1.25669L4.78166 4.00002L2.03833 6.74335Z\" fill=\"#3F43EE\"/></svg></div>\n </a>\n </div>\n\n \n <cqa-visual-difference-modal\n [isOpen]=\"isModalOpen\"\n [baselineUrl]=\"screenshots?.baseline || ''\"\n [currentUrl]=\"screenshots?.current || ''\"\n [differenceUrl]=\"screenshots?.difference || ''\"\n [initialView]=\"initialModalView\"\n (close)=\"onCloseModal()\">\n </cqa-visual-difference-modal>\n</div>\n\n<style>\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n</style>", styles: ["\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n"] }]
|
|
76
76
|
}], propDecorators: { screenshots: [{
|
|
77
77
|
type: Input
|
|
78
78
|
}], logs: [{
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
95
95
|
type: ViewChild,
|
|
96
96
|
args: ['fileInput']
|
|
97
97
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsLWNvbXBhcmlzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9leGVjdXRpb24tc2NyZWVuL3Zpc3VhbC1jb21wYXJpc29uL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZXhlY3V0aW9uLXNjcmVlbi92aXN1YWwtY29tcGFyaXNvbi92aXN1YWwtY29tcGFyaXNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7OztBQW9COUYsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQVNXLHFCQUFnQixHQUFhLElBQUksQ0FBQztRQUNsQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFHcEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDbkUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN6RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFJbEQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIscUJBQWdCLEdBQWtCLFVBQVUsQ0FBQztLQWdFOUM7SUE5REMsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUM1QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2dCQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ3JDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVk7UUFDekIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsSUFBSTtnQkFDVixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2FBQ3hDLENBQUMsQ0FBQztZQUNILG1CQUFtQjtZQUNuQixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxxQ0FBcUMsQ0FBQztZQUMvQyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxxQ0FBcUMsQ0FBQztZQUMvQztnQkFDRSxPQUFPLHFDQUFxQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFxQixDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7c0hBOUVVLHlCQUF5QjswR0FBekIseUJBQXlCLHlnQkNwQnRDLHdtakJBaUlROzJGRDdHSyx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UsdUJBQXVCLFFBRzNCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs4QkFHckIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY3JlZW5zaG90RGF0YSwgTG9nRW50cnkgfSBmcm9tICcuLi9leGVjdXRpb24tc3RlcC5tb2RlbHMnO1xuaW1wb3J0IHsgSW1hZ2VWaWV3VHlwZSB9IGZyb20gJy4uLy4uL3Zpc3VhbC1kaWZmZXJlbmNlLW1vZGFsL3Zpc3VhbC1kaWZmZXJlbmNlLW1vZGFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgbWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50IHtcbiAgdGVzdFN0ZXBSZXN1bHRJZDogc3RyaW5nO1xuICBjdXJyZW50VXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdXBsb2FkQmFzZWxpbmVFdmVudCB7XG4gIGZpbGU6IEZpbGU7XG4gIHRlc3RTdGVwUmVzdWx0SWQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLXZpc3VhbC1jb21wYXJpc29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIFZpc3VhbENvbXBhcmlzb25Db21wb25lbnQge1xuICBASW5wdXQoKSBzY3JlZW5zaG90cz86IFNjcmVlbnNob3REYXRhO1xuICBASW5wdXQoKSBsb2dzPzogTG9nRW50cnlbXTtcbiAgQElucHV0KCkgc2hvd0Z1bGxMb2dzTGluaz86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBpc1VwbG9hZGluZ0Jhc2VsaW5lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRlc3RTdGVwUmVzdWx0SWQhOiBzdHJpbmc7XG4gIFxuICBAT3V0cHV0KCkgbWFrZUN1cnJlbnRCYXNlbGluZSA9IG5ldyBFdmVudEVtaXR0ZXI8bWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgdXBsb2FkQmFzZWxpbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHVwbG9hZEJhc2VsaW5lRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBhbmFseXplID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdmlld0Z1bGxMb2dzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgXG4gIGlzTW9kYWxPcGVuID0gZmFsc2U7XG4gIGluaXRpYWxNb2RhbFZpZXc6IEltYWdlVmlld1R5cGUgPSAnYmFzZWxpbmUnO1xuXG4gIGdldCBpc0N1cnJlbnRJbWFnZUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnNjcmVlbnNob3RzPy5jdXJyZW50O1xuICB9XG5cbiAgb25NYWtlQ3VycmVudEJhc2VsaW5lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNjcmVlbnNob3RzPy5jdXJyZW50KSB7XG4gICAgICBjb25zb2xlLmxvZygnTWFrZSBjdXJyZW50IGJhc2VsaW5lIGNsaWNrZWQgd2l0aCBVUkw6JywgdGhpcy5zY3JlZW5zaG90cy5jdXJyZW50KTtcbiAgICAgIHRoaXMubWFrZUN1cnJlbnRCYXNlbGluZS5lbWl0KHtcbiAgICAgICAgdGVzdFN0ZXBSZXN1bHRJZDogdGhpcy50ZXN0U3RlcFJlc3VsdElkLFxuICAgICAgICBjdXJyZW50VXJsOiB0aGlzLnNjcmVlbnNob3RzLmN1cnJlbnRcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uVXBsb2FkQmFzZWxpbmUoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ1VwbG9hZCBiYXNlbGluZSBjbGlja2VkJyk7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoaW5wdXQuZmlsZXMgJiYgaW5wdXQuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlsZSA9IGlucHV0LmZpbGVzWzBdO1xuICAgICAgY29uc29sZS5sb2coJ0ZpbGUgc2VsZWN0ZWQ6JywgZmlsZS5uYW1lKTtcbiAgICAgIHRoaXMudXBsb2FkQmFzZWxpbmUuZW1pdCh7XG4gICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICAgIHRlc3RTdGVwUmVzdWx0SWQ6IHRoaXMudGVzdFN0ZXBSZXN1bHRJZFxuICAgICAgfSk7XG4gICAgICAvLyBSZXNldCBmaWxlIGlucHV0XG4gICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIG9uQW5hbHl6ZSgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnQW5hbHl6ZSBjbGlja2VkJyk7XG4gICAgdGhpcy5hbmFseXplLmVtaXQoKTtcbiAgfVxuXG4gIG9uVmlld0Z1bGxMb2dzKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdWaWV3IGZ1bGwgbG9ncyBjbGlja2VkJyk7XG4gICAgdGhpcy52aWV3RnVsbExvZ3MuZW1pdCgpO1xuICB9XG5cbiAgZ2V0TG9nQ2xhc3MobGV2ZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyNCQjREMDBdIGNxYS1iZy1bI0ZGRkJFQl0nO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LVsjRTcwMDBCXSBjcWEtYmctWyNGREU1RTddJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyM5Q0EzQUZdIGNxYS1iZy1bI2Y4ZjhmOF0nO1xuICAgIH1cbiAgfVxuXG4gIG9uSW1hZ2VDbGljayh0eXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxNb2RhbFZpZXcgPSB0eXBlIGFzIEltYWdlVmlld1R5cGU7XG4gICAgdGhpcy5pc01vZGFsT3BlbiA9IHRydWU7XG4gIH1cblxuICBvbkNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5pc01vZGFsT3BlbiA9IGZhbHNlO1xuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTEyIGNxYS1nYXAtNCBjcWEtdy1mdWxsXCI+XG4gIDwhLS0gTGVmdCBQYW5lbDogU2NyZWVuc2hvdHMgJiBWaXN1YWwgQ29tcGFyaXNvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1jb2wtc3Bhbi05IGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjI0U1RTVFNV0gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1wdC0yIGNxYS1weC0zIGNxYS1wYi0xXCI+XG4gICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMEEwQTBBXSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtbWItMlwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMi42NjY3IDJIMy4zMzMzM0MyLjU5Njk1IDIgMiAyLjU5Njk1IDIgMy4zMzMzM1YxMi42NjY3QzIgMTMuNDAzIDIuNTk2OTUgMTQgMy4zMzMzMyAxNEgxMi42NjY3QzEzLjQwMyAxNCAxNCAxMy40MDMgMTQgMTIuNjY2N1YzLjMzMzMzQzE0IDIuNTk2OTUgMTMuNDAzIDIgMTIuNjY2NyAyWlwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNi4wMDAzMyA3LjMzMjY4QzYuNzM2NzEgNy4zMzI2OCA3LjMzMzY2IDYuNzM1NzMgNy4zMzM2NiA1Ljk5OTM1QzcuMzMzNjYgNS4yNjI5NyA2LjczNjcxIDQuNjY2MDIgNi4wMDAzMyA0LjY2NjAyQzUuMjYzOTUgNC42NjYwMiA0LjY2Njk5IDUuMjYyOTcgNC42NjY5OSA1Ljk5OTM1QzQuNjY2OTkgNi43MzU3MyA1LjI2Mzk1IDcuMzMyNjggNi4wMDAzMyA3LjMzMjY4WlwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMTQgMTAuMDAwNEwxMS45NDI3IDcuOTQzMTJDMTEuNjkyNiA3LjY5MzE1IDExLjM1MzYgNy41NTI3MyAxMSA3LjU1MjczQzEwLjY0NjQgNy41NTI3MyAxMC4zMDc0IDcuNjkzMTUgMTAuMDU3MyA3Ljk0MzEyTDQgMTQuMDAwNFwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgU2NyZWVuc2hvdHMgJiBWaXN1YWwgQ29tcGFyaXNvblxuICAgIDwvZGl2PlxuICAgIFxuICAgIDwhLS0gU2NyZWVuc2hvdCBDb21wYXJpc29uIEdyaWQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1ncmlkIGNxYS1ncmlkLWNvbHMtMyBjcWEtZ2FwLTMgY3FhLW1iLTJcIj5cbiAgICAgIDwhLS0gQmFzZWxpbmUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzExcHhdIGNxYS1sZWFkaW5nLVsxMDAlXSBjcWEtdGV4dC1bIzczNzM3M11cIj5CYXNlbGluZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLVsjRjVGNUY1XSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFNUU1RTVdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1oLVsxMTJweF0gY3FhLWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uSW1hZ2VDbGljaygnYmFzZWxpbmUnKVwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2NyZWVuc2hvdHM/LmJhc2VsaW5lXCI+XG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTI1LjMzMzMgNEg2LjY2NjY3QzUuMTkzOTEgNCA0IDUuMTkzOTEgNCA2LjY2NjY3VjI1LjMzMzNDNCAyNi44MDYxIDUuMTkzOTEgMjggNi42NjY2NyAyOEgyNS4zMzMzQzI2LjgwNjEgMjggMjggMjYuODA2MSAyOCAyNS4zMzMzVjYuNjY2NjdDMjggNS4xOTM5MSAyNi44MDYxIDQgMjUuMzMzMyA0WlwiIHN0cm9rZT1cIiM3MzczNzNcIiBzdHJva2Utb3BhY2l0eT1cIjAuNVwiIHN0cm9rZS13aWR0aD1cIjIuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0xMS45OTk3IDE0LjY2NzNDMTMuNDcyNCAxNC42NjczIDE0LjY2NjMgMTMuNDczNCAxNC42NjYzIDEyLjAwMDdDMTQuNjY2MyAxMC41Mjc5IDEzLjQ3MjQgOS4zMzM5OCAxMS45OTk3IDkuMzMzOThDMTAuNTI2OSA5LjMzMzk4IDkuMzMzMDEgMTAuNTI3OSA5LjMzMzAxIDEyLjAwMDdDOS4zMzMwMSAxMy40NzM0IDEwLjUyNjkgMTQuNjY3MyAxMS45OTk3IDE0LjY2NzNaXCIgc3Ryb2tlPVwiIzczNzM3M1wiIHN0cm9rZS1vcGFjaXR5PVwiMC41XCIgc3Ryb2tlLXdpZHRoPVwiMi42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTI4IDIwLjAwMDlMMjMuODg1MyAxNS44ODYyQzIzLjM4NTMgMTUuMzg2MyAyMi43MDcxIDE1LjEwNTUgMjIgMTUuMTA1NUMyMS4yOTI5IDE1LjEwNTUgMjAuNjE0NyAxNS4zODYzIDIwLjExNDcgMTUuODg2Mkw4IDI4LjAwMDlcIiBzdHJva2U9XCIjNzM3MzczXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjVcIiBzdHJva2Utd2lkdGg9XCIyLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJzY3JlZW5zaG90cz8uYmFzZWxpbmVcIiBbc3JjXT1cInNjcmVlbnNob3RzLmJhc2VsaW5lXCIgYWx0PVwiQmFzZWxpbmVcIiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWgtZnVsbCBjcWEtb2JqZWN0LWNvdmVyIGNxYS1yb3VuZGVkLWxnXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDdXJyZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMXB4XSBjcWEtbGVhZGluZy1bMTAwJV0gY3FhLXRleHQtWyM3MzczNzNdXCI+Q3VycmVudDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLVsjRkVGMkYzXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNGOUMyQzVdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1oLVsxMTJweF0gY3FhLWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uSW1hZ2VDbGljaygnY3VycmVudCcpXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFzY3JlZW5zaG90cz8uY3VycmVudFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS10ZXh0LVsjRUY0NDQ0XVwiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0yNS4zMzMzIDRINi42NjY2N0M1LjE5MzkxIDQgNCA1LjE5MzkxIDQgNi42NjY2N1YyNS4zMzMzQzQgMjYuODA2MSA1LjE5MzkxIDI4IDYuNjY2NjcgMjhIMjUuMzMzM0MyNi44MDYxIDI4IDI4IDI2LjgwNjEgMjggMjUuMzMzM1Y2LjY2NjY3QzI4IDUuMTkzOTEgMjYuODA2MSA0IDI1LjMzMzMgNFpcIiBzdHJva2U9XCIjRTcwMDBCXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjVcIiBzdHJva2Utd2lkdGg9XCIyLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMTEuOTk5NyAxNC42NjczQzEzLjQ3MjQgMTQuNjY3MyAxNC42NjYzIDEzLjQ3MzQgMTQuNjY2MyAxMi4wMDA3QzE0LjY2NjMgMTAuNTI3OSAxMy40NzI0IDkuMzMzOTggMTEuOTk5NyA5LjMzMzk4QzEwLjUyNjkgOS4zMzM5OCA5LjMzMzAxIDEwLjUyNzkgOS4zMzMwMSAxMi4wMDA3QzkuMzMzMDEgMTMuNDczNCAxMC41MjY5IDE0LjY2NzMgMTEuOTk5NyAxNC42NjczWlwiIHN0cm9rZT1cIiNFNzAwMEJcIiBzdHJva2Utb3BhY2l0eT1cIjAuNVwiIHN0cm9rZS13aWR0aD1cIjIuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0yOCAyMC4wMDA5TDIzLjg4NTMgMTUuODg2MkMyMy4zODUzIDE1LjM4NjMgMjIuNzA3MSAxNS4xMDU1IDIyIDE1LjEwNTVDMjEuMjkyOSAxNS4xMDU1IDIwLjYxNDcgMTUuMzg2MyAyMC4xMTQ3IDE1Ljg4NjJMOCAyOC4wMDA5XCIgc3Ryb2tlPVwiI0U3MDAwQlwiIHN0cm9rZS1vcGFjaXR5PVwiMC41XCIgc3Ryb2tlLXdpZHRoPVwiMi42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwic2NyZWVuc2hvdHM/LmN1cnJlbnRcIiBbc3JjXT1cInNjcmVlbnNob3RzLmN1cnJlbnRcIiBhbHQ9XCJDdXJyZW50XCIgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLWZ1bGwgY3FhLW9iamVjdC1jb3ZlciBjcWEtcm91bmRlZC1sZ1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlmZmVyZW5jZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTFweF0gY3FhLWxlYWRpbmctWzEwMCVdIGNxYS10ZXh0LVsjNzM3MzczXVwiPkRpZmZlcmVuY2U8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1iZy1bI0ZFRjJGM10gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRjlDMkM1XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtaC1bMTEycHhdIGNxYS1jdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvbkltYWdlQ2xpY2soJ2RpZmZlcmVuY2UnKVwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2NyZWVuc2hvdHM/LmRpZmZlcmVuY2VcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtdGV4dC1bI0VGNDQ0NF1cIj5cbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMjUuMzMzMyA0SDYuNjY2NjdDNS4xOTM5MSA0IDQgNS4xOTM5MSA0IDYuNjY2NjdWMjUuMzMzM0M0IDI2LjgwNjEgNS4xOTM5MSAyOCA2LjY2NjY3IDI4SDI1LjMzMzNDMjYuODA2MSAyOCAyOCAyNi44MDYxIDI4IDI1LjMzMzNWNi42NjY2N0MyOCA1LjE5MzkxIDI2LjgwNjEgNCAyNS4zMzMzIDRaXCIgc3Ryb2tlPVwiI0U3MDAwQlwiIHN0cm9rZS1vcGFjaXR5PVwiMC41XCIgc3Ryb2tlLXdpZHRoPVwiMi42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTExLjk5OTcgMTQuNjY3M0MxMy40NzI0IDE0LjY2NzMgMTQuNjY2MyAxMy40NzM0IDE0LjY2NjMgMTIuMDAwN0MxNC42NjYzIDEwLjUyNzkgMTMuNDcyNCA5LjMzMzk4IDExLjk5OTcgOS4zMzM5OEMxMC41MjY5IDkuMzMzOTggOS4zMzMwMSAxMC41Mjc5IDkuMzMzMDEgMTIuMDAwN0M5LjMzMzAxIDEzLjQ3MzQgMTAuNTI2OSAxNC42NjczIDExLjk5OTcgMTQuNjY3M1pcIiBzdHJva2U9XCIjRTcwMDBCXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjVcIiBzdHJva2Utd2lkdGg9XCIyLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMjggMjAuMDAwOUwyMy44ODUzIDE1Ljg4NjJDMjMuMzg1MyAxNS4zODYzIDIyLjcwNzEgMTUuMTA1NSAyMiAxNS4xMDU1QzIxLjI5MjkgMTUuMTA1NSAyMC42MTQ3IDE1LjM4NjMgMjAuMTE0NyAxNS44ODYyTDggMjguMDAwOVwiIHN0cm9rZT1cIiNFNzAwMEJcIiBzdHJva2Utb3BhY2l0eT1cIjAuNVwiIHN0cm9rZS13aWR0aD1cIjIuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGltZyAqbmdJZj1cInNjcmVlbnNob3RzPy5kaWZmZXJlbmNlXCIgW3NyY109XCJzY3JlZW5zaG90cy5kaWZmZXJlbmNlXCIgYWx0PVwiRGlmZmVyZW5jZVwiIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtaC1mdWxsIGNxYS1vYmplY3QtY292ZXIgY3FhLXJvdW5kZWQtbGdcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1lbmQgY3FhLWdhcC0yIGNxYS1mbGV4LXdyYXBcIj5cbiAgICAgIDxidXR0b24gXG4gICAgICAgIChjbGljayk9XCJvbk1ha2VDdXJyZW50QmFzZWxpbmUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXJyZW50SW1hZ2VBdmFpbGFibGVcIlxuICAgICAgICBbY2xhc3MuY3FhLW9wYWNpdHktNTBdPVwiIWlzQ3VycmVudEltYWdlQXZhaWxhYmxlXCJcbiAgICAgICAgW2NsYXNzLmNxYS1jdXJzb3Itbm90LWFsbG93ZWRdPVwiIWlzQ3VycmVudEltYWdlQXZhaWxhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtcGwtMiBjcWEtcHItNCBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWJnLXRyYW5zcGFyZW50IGNxYS10ZXh0LVsjMjEyMTIyXSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bIzIxMjEyMl0gZGlzYWJsZWQ6Y3FhLWN1cnNvci1ub3QtYWxsb3dlZFwiPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTQuMzk3NTQgNy45Mzc1MkwyLjMxMjU0IDUuODUyNTJMMS42MDI1NCA2LjU1NzUyTDQuMzk3NTQgOS4zNTI1MkwxMC4zOTc1IDMuMzUyNTJMOS42OTI1NCAyLjY0NzUyTDQuMzk3NTQgNy45Mzc1MlpcIiBmaWxsPVwiYmxhY2tcIi8+PC9zdmc+XG4gICAgICAgIE1ha2UgY3VycmVudCBiYXNlbGluZVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIFxuICAgICAgICAoY2xpY2spPVwib25VcGxvYWRCYXNlbGluZSgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzVXBsb2FkaW5nQmFzZWxpbmVcIlxuICAgICAgICBbY2xhc3MuY3FhLW9wYWNpdHktNTBdPVwiaXNVcGxvYWRpbmdCYXNlbGluZVwiXG4gICAgICAgIFtjbGFzcy5jcWEtY3Vyc29yLW5vdC1hbGxvd2VkXT1cImlzVXBsb2FkaW5nQmFzZWxpbmVcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1wbC0yIGNxYS1wci00IGNxYS1weS1bMnB4XSBjcWEtcm91bmRlZC1sZyBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLXRleHQtWyMyMTIxMjJdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjMjEyMTIyXSBkaXNhYmxlZDpjcWEtY3Vyc29yLW5vdC1hbGxvd2VkXCI+XG4gICAgICAgIDxzdmcgKm5nSWY9XCIhaXNVcGxvYWRpbmdCYXNlbGluZVwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTkgNy41VjlIM1Y3LjVIMlY5QzIgOS41NSAyLjQ1IDEwIDMgMTBIOUM5LjU1IDEwIDEwIDkuNTUgMTAgOVY3LjVIOVpNMy41IDQuNUw0LjIwNSA1LjIwNUw1LjUgMy45MTVWOEg2LjVWMy45MTVMNy43OTUgNS4yMDVMOC41IDQuNUw2IDJMMy41IDQuNVpcIiBmaWxsPVwiYmxhY2tcIi8+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJpc1VwbG9hZGluZ0Jhc2VsaW5lXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHN0eWxlPVwiYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcIj5cbiAgICAgICAgICA8Y2lyY2xlIGN4PVwiNlwiIGN5PVwiNlwiIHI9XCI1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1kYXNoYXJyYXk9XCI4IDRcIiBvcGFjaXR5PVwiMC4zXCIvPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCI2XCIgY3k9XCI2XCIgcj1cIjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWRhc2hhcnJheT1cIjggNFwiIHN0cm9rZS1kYXNob2Zmc2V0PVwiMlwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIDxzcGFuPnt7IGlzVXBsb2FkaW5nQmFzZWxpbmUgPyAnVXBsb2FkaW5nLi4uJyA6ICdVcGxvYWQgYmFzZWxpbmUnIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIEhpZGRlbiBmaWxlIGlucHV0IC0tPlxuICAgICAgPGlucHV0IFxuICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCIgXG4gICAgICAgIGFjY2VwdD1cImltYWdlLypcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgXG4gICAgICAvPlxuICAgICAgPGJ1dHRvbiBcbiAgICAgICAgKGNsaWNrKT1cIm9uQW5hbHl6ZSgpXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtcGwtMiBjcWEtcHItNCBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWJnLXRyYW5zcGFyZW50IGNxYS10ZXh0LVsjMjEyMTIyXSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bIzIxMjEyMl1cIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjExXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDExIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk01LjUxMTUgMEM1LjU3OTMxIDAuMDMwMzE3OCA1LjYwODI4IDAuMTA0MzU0IDUuNjM2MDQgMC4xNzMxMjhDNS42NDk5NiAwLjIxMzIgNS42NjI3MyAwLjI1MzQ4OSA1LjY3NTEzIDAuMjk0MUM1LjY3OTk4IDAuMzA5NjYyIDUuNjg0ODQgMC4zMjUyMjQgNS42ODk4NCAwLjM0MTI1OEM1Ljc1NDMgMC41NTA2NzMgNS44MTE3MiAwLjc2MjMzMSA1Ljg2OTQ2IDAuOTczODRDNS44ODI1MSAxLjAyMTU5IDUuODk1NjMgMS4wNjkzMiA1LjkwODc0IDEuMTE3MDRDNS45NzU1MSAxLjM2MDA1IDYuMDQxNzcgMS42MDMyIDYuMTA3NjcgMS44NDY0NkM2LjExNjkzIDEuODgwNjIgNi4xMjYxOSAxLjkxNDc5IDYuMTM1NDUgMS45NDg5NUM2LjE2MTU2IDIuMDQ1MjcgNi4xODc2NCAyLjE0MTU5IDYuMjEzNTcgMi4yMzc5NkM2LjI2ODM3IDIuNDQxNTkgNi4zMjQ2NyAyLjY0NDYzIDYuMzg0NjMgMi44NDY2OEM2LjM4OTg2IDIuODY0MzUgNi4zOTUxIDIuODgyMDMgNi40MDA1IDIuOTAwMjRDNi41NTYyNCAzLjQyIDYuNzc3MDEgMy44ODU4MyA3LjEzODg4IDQuMjgyNjJDNy4xNDc4NCA0LjI5Mjk0IDcuMTU2OCA0LjMwMzI1IDcuMTY2MDMgNC4zMTM4OEM3LjMyMDUgNC40ODU4MyA3LjUxODczIDQuNjIzNjEgNy43MTY4NyA0LjczNDgxQzcuNzI2OTYgNC43NDA1NyA3LjczNzA1IDQuNzQ2MzIgNy43NDc0NSA0Ljc1MjI1QzguMzMwNTEgNS4wNzkgOS4wMzE2MiA1LjIyMjcyIDkuNjYzMTMgNS40MTRDOS45Mzk4NCA1LjQ5Nzg3IDEwLjIxNTcgNS41ODQzOCAxMC40OTA1IDUuNjc0N0MxMC41MDk5IDUuNjgxMDUgMTAuNTI5MiA1LjY4NzM4IDEwLjU0ODUgNS42OTM3QzEwLjYwNjIgNS43MTI2IDEwLjY2MzkgNS43MzE4MiAxMC43MjE1IDUuNzUxM0MxMC43MzQ5IDUuNzU1NzIgMTAuNzQ4MyA1Ljc2MDE1IDEwLjc2MjEgNS43NjQ3MUMxMC44NDE1IDUuNzkyMDggMTAuOTE3NCA1LjgyNDM5IDEwLjk4MjUgNS44ODAzNkMxMS4wMDIzIDUuOTI1NTggMTEuMDAyMyA1LjkyNTU4IDEwLjk5NjkgNS45NzA4QzEwLjkzMzYgNi4wMzY0OCAxMC44NzA3IDYuMDY3MjggMTAuNzg3MSA2LjA5NzMzQzEwLjc3NTEgNi4xMDE3NiAxMC43NjMyIDYuMTA2MiAxMC43NTA4IDYuMTEwNzdDMTAuNjA5NiA2LjE2MjQ0IDEwLjQ2NjUgNi4yMDc2NiAxMC4zMjMyIDYuMjUyNDdDMTAuMjkzOCA2LjI2MTc0IDEwLjI2NDQgNi4yNzEwMSAxMC4yMzUgNi4yODAyOEMxMC4wNTM3IDYuMzM3MzUgOS44NzE5OSA2LjM5MzIgOS42OTAxNCA2LjQ0ODQyQzkuNDUwNjEgNi41MjExNyA5LjIxMTQzIDYuNTk1MTIgOC45NzI0OSA2LjY2OTkxQzguOTMzMzQgNi42ODIxNiA4Ljg5NDE4IDYuNjk0MzcgOC44NTUwMSA2LjcwNjU0QzguNjQ5MzEgNi43NzA0OCA4LjQ0NDYyIDYuODM2NzEgOC4yNDE2MiA2LjkwOTQ0QzguMjI0NzggNi45MTU0NSA4LjIwNzk0IDYuOTIxNDcgOC4xOTA1OSA2LjkyNzY2QzcuNTEwNjkgNy4xNzQ0MyA2Ljk5MjQ1IDcuNjM0NzggNi42NjgwOSA4LjMwNzk5QzYuNDkzMjEgOC42ODYzNCA2LjM5MDA2IDkuMDk1NDggNi4yODQ4MyA5LjQ5OTI5QzYuMjU2MzcgOS42MDgyNSA2LjIyNjExIDkuNzE2NiA2LjE5NTUgOS44MjQ5MkM2LjE3MTQ5IDkuOTEwMTUgNi4xNDgwMyA5Ljk5NTUxIDYuMTI1MTUgMTAuMDgxMUM2LjEyMjQzIDEwLjA5MTMgNi4xMTk3IDEwLjEwMTQgNi4xMTY5IDEwLjExMTlDNi4xMDM3IDEwLjE2MTIgNi4wOTA1NiAxMC4yMTA2IDYuMDc3NTIgMTAuMjU5OUM2LjA0NDEzIDEwLjM4NTEgNi4wMDgxNyAxMC41MDkyIDUuOTcxMjMgMTAuNjMzMkM1LjkwNTY3IDEwLjg1MzYgNS44NDYwMSAxMS4wNzU3IDUuNzg2NzIgMTEuMjk4QzUuNjk3MzIgMTEuNjMyOCA1LjY5NzMyIDExLjYzMjggNS42NDY2MiAxMS43OTM3QzUuNjQzMjYgMTEuODA0NSA1LjYzOTkgMTEuODE1MyA1LjYzNjQ0IDExLjgyNjRDNS42MTc5MyAxMS44ODM3IDUuNTk4OSAxMS45MzY0IDUuNTYzODggMTEuOTg0OUM1LjUxMDYgMTEuOTk3MiA1LjUxMDYgMTEuOTk3MiA1LjQ2MjczIDEyQzUuNDA4MDEgMTEuOTE2OCA1LjM3MTc3IDExLjgzNjEgNS4zNDI3MyAxMS43NDAxQzUuMzM4NTEgMTEuNzI2NSA1LjMzNDI4IDExLjcxMjkgNS4zMjk5MyAxMS42OTg5QzUuMjc2MTQgMTEuNTIzMyA1LjIyODA3IDExLjM0NTkgNS4xNzk5OSAxMS4xNjg2QzUuMTY4OTggMTEuMTI4MSA1LjE1NzkxIDExLjA4NzUgNS4xNDY4NSAxMS4wNDdDNS4wNjQ0IDEwLjc0NDggNC45ODMzMSAxMC40NDIzIDQuOTAyMzQgMTAuMTM5N0M0LjU2NTA5IDguNjQyOTkgNC41NjUwOSA4LjY0Mjk5IDMuNzE0MzMgNy40MzI4OEMzLjcwMDcgNy40MjEyOCAzLjY4NzA2IDcuNDA5NjggMy42NzMwMiA3LjM5NzczQzMuMTE1NiA2LjkzMjAzIDIuMzgxMyA2Ljc1OTU5IDEuNzA4ODUgNi41NTc1MUMxLjU0MjU0IDYuNTA3NDkgMS4zNzYyOCA2LjQ1NzI0IDEuMjEwMDQgNi40MDY5N0MxLjE5NTUgNi40MDI1OCAxLjE5NTUgNi40MDI1OCAxLjE4MDY3IDYuMzk4MDlDMC45NDA4ODEgNi4zMjU1NiAwLjcwMTE1NyA2LjI1MjgzIDAuNDYyMjc0IDYuMTc3MTFDMC40NTIxNjggNi4xNzM5MyAwLjQ0MjA2MyA2LjE3MDc1IDAuNDMxNjUxIDYuMTY3NDdDMC4wNjQ2NTQzIDYuMDUxNzggMC4wNjQ2NTQzIDYuMDUxNzggMC4wMDA3OTAyMTEgNS45NzA4Qy0wLjAwMTAxNTk5IDUuOTM0MDYgLTAuMDAxMDE1OTkgNS45MzQwNiAwLjAxNTIzOTggNS44OTU0M0MwLjA4MTk5MDkgNS44MjcyIDAuMTQ2NzYgNS43OTc5NyAwLjIzNDg2MiA1Ljc2ODI1QzAuMjQ3NjE4IDUuNzYzNzggMC4yNjAzNzUgNS43NTkzMSAwLjI3MzUxOCA1Ljc1NDcxQzAuMzEyNTg3IDUuNzQxMSAwLjM1MTc0MSA1LjcyNzc5IDAuMzkwOTI5IDUuNzE0NTVDMC40MDIxMTIgNS43MTA3MyAwLjQxMzI5NSA1LjcwNjkgMC40MjQ4MTcgNS43MDI5NkMwLjUwMzkwNCA1LjY3NTkgMC41ODMyNzUgNS42NDk4NiAwLjY2Mjc2MiA1LjYyNDEyQzAuNjgyMjk0IDUuNjE3NzcgMC42ODIyOTQgNS42MTc3NyAwLjcwMjIyIDUuNjExMjlDMS4wNDE2NiA1LjUwMTE2IDEuMzgzMzIgNS4zOTg2NyAxLjcyNDg3IDUuMjk1OTVDMS45NzkzOSA1LjIxOTM5IDIuMjMzNDcgNS4xNDE1NyAyLjQ4Njc0IDUuMDYwNjVDMi40OTgzOCA1LjA1Njk0IDIuNTEwMDEgNS4wNTMyNCAyLjUyMjAxIDUuMDQ5NDNDMy4xMDg3MiA0Ljg2MjYyIDMuNjgyMjkgNC41OTc1NSA0LjA2MTEyIDQuMDcxNkM0LjA2Njc5IDQuMDYzOCA0LjA3MjQ3IDQuMDU1OTkgNC4wNzgzMSA0LjA0Nzk2QzQuNTAwMTkgMy40NjQyIDQuNjY0NyAyLjc1NDMgNC44NDg1IDIuMDYxNjFDNC45MDg5NiAxLjgzMzc5IDQuOTcwMTUgMS42MDYxOSA1LjAzMTU1IDEuMzc4NjVDNS4wNDg1NiAxLjMxNTY0IDUuMDY1NTMgMS4yNTI2MyA1LjA4MjQ0IDEuMTg5NTlDNS4xNTAzNyAwLjkzNjM4NSA1LjIxOTMyIDAuNjgzNTIzIDUuMjkyMjIgMC40MzE4MThDNS4yOTkwNCAwLjQwODI0OCA1LjMwNTgzIDAuMzg0NjY3IDUuMzEyNTkgMC4zNjEwNzZDNS40MTQ2NiAwLjAwNTMxNjgxIDUuNDE0NjYgMC4wMDUzMTY4MSA1LjUxMTUgMFpcIiBmaWxsPVwiIzE2MTYxN1wiLz48cGF0aCBkPVwiTTguODQzOTEgMC43NDA0NDNDOC45MTAyNCAwLjgxODc2MiA4LjkyMzQ5IDAuOTEwODA2IDguOTQ0MTUgMS4wMTA4MUM5LjAxMzA1IDEuMzI0OTkgOS4wOTI0MSAxLjYxMzg4IDkuMzY3ODcgMS43OTYzOEM5LjUzNzgyIDEuODk0NDMgOS43NDAzNyAxLjkzOTA0IDkuOTI4NjcgMS45ODExOEMxMC4wMDgyIDEuOTk5MzMgMTAuMDc1MyAyLjAyMzQxIDEwLjE0MzUgMi4wNzE1OEMxMC4xNTg4IDIuMDk3MDEgMTAuMTU4OCAyLjA5NzAxIDEwLjE1NzkgMi4xNDEyOUMxMC4xNDIxIDIuMTk1MTMgMTAuMTI4MiAyLjIxMjUgMTAuMDg2NiAyLjI0Nzc0QzEwLjA0MSAyLjI2MzY0IDEwLjA0MSAyLjI2MzY0IDkuOTg2MzMgMi4yNzYwMUM5Ljk2NTY0IDIuMjgwOTYgOS45NDQ5NiAyLjI4NTk3IDkuOTI0MyAyLjI5MTAyQzkuOTEzMjIgMi4yOTM3IDkuOTAyMTUgMi4yOTYzOCA5Ljg5MDc1IDIuMjk5MTRDOS41NTQwMSAyLjM4MDM5IDkuNTU0MDEgMi4zODAzOSA5LjI2Mjk1IDIuNTY0MjhDOS4yNTM0OCAyLjU3MjIyIDkuMjQ0MDIgMi41ODAxNyA5LjIzNDI3IDIuNTg4MzZDOS4wMjYyNSAyLjc3OTcgOC45ODIyNiAzLjA5OCA4LjkxOTYzIDMuMzY0NjRDOC45MTYwNSAzLjM3OTI4IDguOTEyNDYgMy4zOTM5MyA4LjkwODc2IDMuNDA5MDFDOC45MDU2NiAzLjQyMTk4IDguOTAyNTUgMy40MzQ5NCA4Ljg5OTM1IDMuNDQ4M0M4Ljg4NTg0IDMuNDg3ODggOC44NzE4MyAzLjUxMzY5IDguODQzOTEgMy41NDQwMkM4Ljc2NjE0IDMuNTU0MzIgOC43NjYxNCAzLjU1NDMyIDguNzI4MzEgMy41NDQwMkM4LjY2ODE0IDMuNDk1MzcgOC42NTQ2OCAzLjQzOTk2IDguNjM4OTYgMy4zNjU1QzguNjM2MzMgMy4zNTM5NyA4LjYzMzY5IDMuMzQyNDQgOC42MzA5OCAzLjMzMDU2QzguNjIyNTkgMy4yOTM3NCA4LjYxNDQ3IDMuMjU2ODYgOC42MDYzOSAzLjIxOTk1QzguNTQzMDIgMi45MzI1OSA4LjQ3MTQ4IDIuNjUwNjQgOC4yMTg3OSAyLjQ4MjJDOC4wMjEzMSAyLjM2NzMyIDcuNzgxMTggMi4zMTI5OCA3LjU2MDQ1IDIuMjY5MTFDNy40OTk5NiAyLjI1NTk3IDcuNDY1MyAyLjIzOTQ0IDcuNDI3ODUgMi4xODc0NUM3LjQxOTcyIDIuMTM0NyA3LjQxOTcyIDIuMTM0NyA3LjQyNzg1IDIuMDgxOTRDNy40ODU0MSAyLjAxOTc5IDcuNTQ1OTcgMi4wMDQ2MiA3LjYyMzgyIDEuOTg1ODVDNy42NDgzNSAxLjk3OTUyIDcuNjcyODYgMS45NzMxNCA3LjY5NzM3IDEuOTY2NzFDNy43MTAwMyAxLjk2MzQyIDcuNzIyNjkgMS45NjAxMiA3LjczNTc0IDEuOTU2NzNDNy44MDAzMiAxLjkzOTM5IDcuODY0MjUgMS45MTk5NSA3LjkyODE3IDEuOTAwMTJDNy45Mzk3OCAxLjg5NjYxIDcuOTUxMzkgMS44OTMwOSA3Ljk2MzM2IDEuODg5NDdDOC4wOTMyOSAxLjg0ODk1IDguMjA1NDEgMS43OTcxMiA4LjMwOTI3IDEuNzA1MTJDOC4zMTg5NiAxLjY5NjggOC4zMjg2NCAxLjY4ODQ4IDguMzM4NjIgMS42Nzk5MkM4LjUwMDI2IDEuNTI4MTcgOC41NTUxOCAxLjMwMDIgOC42MDUwNCAxLjA4NzQ4QzguNjA4ODQgMS4wNzEzMyA4LjYxMjY0IDEuMDU1MTggOC42MTY1NSAxLjAzODU0QzguNjI0MTEgMS4wMDYxIDguNjMxNTQgMC45NzM2MjIgOC42Mzg4MiAwLjk0MTExQzguNjQ0MDMgMC45MTg0ODkgOC42NDQwMyAwLjkxODQ4OSA4LjY0OTM1IDAuODk1NDEyQzguNjUyMzggMC44ODE4OTkgOC42NTU0MiAwLjg2ODM4NSA4LjY1ODU1IDAuODU0NDYyQzguNjcxODYgMC44MTE0NDEgOC42ODkzNSAwLjc3NzY2IDguNzEzODYgMC43NDA0NDNDOC43NjA5NiAwLjcxNTg3OCA4Ljc5NDAxIDAuNzI2OTgzIDguODQzOTEgMC43NDA0NDNaXCIgZmlsbD1cIiM0MTQxNDZcIi8+PHBhdGggZD1cIk0yLjE5NDQ2IDguMzI5NjJDMi4yMTE2NiA4LjMyOTc1IDIuMjExNjYgOC4zMjk3NSAyLjIyOTE5IDguMzI5ODhDMi4zNTI1MyA4LjMzMzggMi40MzU5NyA4LjM3NTAzIDIuNTI2OCA4LjQ2MTUxQzIuNjMyNSA4LjU4MDYxIDIuNjgxMyA4LjcxNDk3IDIuNjc4NTIgOC44NzU0OUMyLjY2NjY2IDkuMDA1NjUgMi41OTMwNyA5LjExOTI5IDIuNTAyODIgOS4yMDcyN0MyLjM5NjU4IDkuMjk2NzIgMi4yODk0MSA5LjMyNjI4IDIuMTUzNjYgOS4zMjIxNUMyLjAzOTE5IDkuMzA4MjUgMS45MzE1MSA5LjI1MTUzIDEuODUwMzggOS4xNjYxOEMxLjc0OTUgOS4wMjI1OCAxLjcyIDguODkwODcgMS43MzQ3OSA4LjcxMzk4QzEuNzY1MzMgOC41NzQ3MiAxLjg1MzM3IDguNDYxNjcgMS45NjU5OCA4LjM4MjM4QzIuMDQ0MjEgOC4zNDEwMSAyLjEwNzEzIDguMzI4ODYgMi4xOTQ0NiA4LjMyOTYyWlwiIGZpbGw9XCIjNEM0QzUxXCIvPjwvc3ZnPlxuICAgICAgICBBbmFseXplXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBSaWdodCBQYW5lbDogTG9ncyAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1jb2wtc3Bhbi0zIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjI0U1RTVFNV0gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1weS0yIGNxYS1weC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMEEwQTBBXSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtbWItMlwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMC42NjY2IDEyTDE0LjY2NjYgOEwxMC42NjY2IDRcIiBzdHJva2U9XCIjMEEwQTBBXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTUuMzMzMzcgNEwxLjMzMzM3IDhMNS4zMzMzNyAxMlwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgTG9nc1xuICAgIDwvZGl2PlxuICAgIFxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1tYi00XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzExcHhdIGNxYS1sZWFkaW5nLVsxMDAlXSBjcWEtdGV4dC1bIzczNzM3M11cIj5Db25zb2xlPC9kaXY+XG4gICAgICBcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxvZyBvZiBsb2dzXCIgY2xhc3M9XCJjcWEtcHgtMiBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW1cIiBbbmdDbGFzc109XCJnZXRMb2dDbGFzcyhsb2cubGV2ZWwpXCI+XG4gICAgICAgIHt7IGxvZy5tZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgPGRpdiAqbmdJZj1cIiFsb2dzIHx8IGxvZ3MubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJjcWEtcHgtMiBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM5Q0EzQUZdIGNxYS1iZy1bI2Y4ZjhmOF1cIj5cbiAgICAgICAgTm8gbG9ncyBhdmFpbGFibGVcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGEgXG4gICAgICAqbmdJZj1cInNob3dGdWxsTG9nc0xpbmtcIlxuICAgICAgKGNsaWNrKT1cIm9uVmlld0Z1bGxMb2dzKClcIlxuICAgICAgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS10ZXh0LVsjM0Y0M0VFXSBjcWEtZm9udC1tZWRpdW0gY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1lbmQgY3FhLWdhcC1bMnB4XSBjcWEtY3Vyc29yLXBvaW50ZXIgaG92ZXI6Y3FhLXVuZGVybGluZVwiPlxuICAgICAgVmlldyBmdWxsIGxvZ3MgSXRlcmF0aW9uc1xuICAgICAgPGRpdj48c3ZnIHdpZHRoPVwiOFwiIGhlaWdodD1cIjhcIiB2aWV3Qm94PVwiMCAwIDggOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMi4wMzgzMyA2Ljc0MzM1TDIuNjI4MzMgNy4zMzMzNUw1Ljk2MTY2IDQuMDAwMDJMMi42MjgzMyAwLjY2NjY4N0wyLjAzODMzIDEuMjU2NjlMNC43ODE2NiA0LjAwMDAyTDIuMDM4MzMgNi43NDMzNVpcIiBmaWxsPVwiIzNGNDNFRVwiLz48L3N2Zz48L2Rpdj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG4gIFxuICA8Y3FhLXZpc3VhbC1kaWZmZXJlbmNlLW1vZGFsXG4gICAgW2lzT3Blbl09XCJpc01vZGFsT3BlblwiXG4gICAgW2Jhc2VsaW5lVXJsXT1cInNjcmVlbnNob3RzPy5iYXNlbGluZSB8fCAnJ1wiXG4gICAgW2N1cnJlbnRVcmxdPVwic2NyZWVuc2hvdHM/LmN1cnJlbnQgfHwgJydcIlxuICAgIFtkaWZmZXJlbmNlVXJsXT1cInNjcmVlbnNob3RzPy5kaWZmZXJlbmNlIHx8ICcnXCJcbiAgICBbaW5pdGlhbFZpZXddPVwiaW5pdGlhbE1vZGFsVmlld1wiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2VNb2RhbCgpXCI+XG4gIDwvY3FhLXZpc3VhbC1kaWZmZXJlbmNlLW1vZGFsPlxuPC9kaXY+XG5cbjxzdHlsZT5cbiAgQGtleWZyYW1lcyBzcGluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgfVxuPC9zdHlsZT4iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsLWNvbXBhcmlzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9leGVjdXRpb24tc2NyZWVuL3Zpc3VhbC1jb21wYXJpc29uL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZXhlY3V0aW9uLXNjcmVlbi92aXN1YWwtY29tcGFyaXNvbi92aXN1YWwtY29tcGFyaXNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7OztBQW9COUYsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQVNXLHFCQUFnQixHQUFhLElBQUksQ0FBQztRQUNsQyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFHeEIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDbkUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN6RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFJbEQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIscUJBQWdCLEdBQWtCLFVBQVUsQ0FBQztLQWdFOUM7SUE5REMsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUM1QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2dCQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ3JDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVk7UUFDekIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsSUFBSTtnQkFDVixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2FBQ3hDLENBQUMsQ0FBQztZQUNILG1CQUFtQjtZQUNuQixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxxQ0FBcUMsQ0FBQztZQUMvQyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxxQ0FBcUMsQ0FBQztZQUMvQztnQkFDRSxPQUFPLHFDQUFxQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFxQixDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7c0hBOUVVLHlCQUF5QjswR0FBekIseUJBQXlCLHlnQkNwQnRDLDZ3akJBaUlROzJGRDdHSyx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UsdUJBQXVCLFFBRzNCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs4QkFHckIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY3JlZW5zaG90RGF0YSwgTG9nRW50cnkgfSBmcm9tICcuLi9leGVjdXRpb24tc3RlcC5tb2RlbHMnO1xuaW1wb3J0IHsgSW1hZ2VWaWV3VHlwZSB9IGZyb20gJy4uLy4uL3Zpc3VhbC1kaWZmZXJlbmNlLW1vZGFsL3Zpc3VhbC1kaWZmZXJlbmNlLW1vZGFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgbWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50IHtcbiAgdGVzdFN0ZXBSZXN1bHRJZDogc3RyaW5nO1xuICBjdXJyZW50VXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdXBsb2FkQmFzZWxpbmVFdmVudCB7XG4gIGZpbGU6IEZpbGU7XG4gIHRlc3RTdGVwUmVzdWx0SWQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLXZpc3VhbC1jb21wYXJpc29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIFZpc3VhbENvbXBhcmlzb25Db21wb25lbnQge1xuICBASW5wdXQoKSBzY3JlZW5zaG90cz86IFNjcmVlbnNob3REYXRhO1xuICBASW5wdXQoKSBsb2dzPzogTG9nRW50cnlbXTtcbiAgQElucHV0KCkgc2hvd0Z1bGxMb2dzTGluaz86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBpc1VwbG9hZGluZ0Jhc2VsaW5lID0ge307XG4gIEBJbnB1dCgpIHRlc3RTdGVwUmVzdWx0SWQhOiBzdHJpbmc7XG4gIFxuICBAT3V0cHV0KCkgbWFrZUN1cnJlbnRCYXNlbGluZSA9IG5ldyBFdmVudEVtaXR0ZXI8bWFrZUN1cnJlbnRCYXNlbGluZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgdXBsb2FkQmFzZWxpbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHVwbG9hZEJhc2VsaW5lRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBhbmFseXplID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdmlld0Z1bGxMb2dzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgXG4gIGlzTW9kYWxPcGVuID0gZmFsc2U7XG4gIGluaXRpYWxNb2RhbFZpZXc6IEltYWdlVmlld1R5cGUgPSAnYmFzZWxpbmUnO1xuXG4gIGdldCBpc0N1cnJlbnRJbWFnZUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnNjcmVlbnNob3RzPy5jdXJyZW50O1xuICB9XG5cbiAgb25NYWtlQ3VycmVudEJhc2VsaW5lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNjcmVlbnNob3RzPy5jdXJyZW50KSB7XG4gICAgICBjb25zb2xlLmxvZygnTWFrZSBjdXJyZW50IGJhc2VsaW5lIGNsaWNrZWQgd2l0aCBVUkw6JywgdGhpcy5zY3JlZW5zaG90cy5jdXJyZW50KTtcbiAgICAgIHRoaXMubWFrZUN1cnJlbnRCYXNlbGluZS5lbWl0KHtcbiAgICAgICAgdGVzdFN0ZXBSZXN1bHRJZDogdGhpcy50ZXN0U3RlcFJlc3VsdElkLFxuICAgICAgICBjdXJyZW50VXJsOiB0aGlzLnNjcmVlbnNob3RzLmN1cnJlbnRcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uVXBsb2FkQmFzZWxpbmUoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ1VwbG9hZCBiYXNlbGluZSBjbGlja2VkJyk7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoaW5wdXQuZmlsZXMgJiYgaW5wdXQuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlsZSA9IGlucHV0LmZpbGVzWzBdO1xuICAgICAgY29uc29sZS5sb2coJ0ZpbGUgc2VsZWN0ZWQ6JywgZmlsZS5uYW1lKTtcbiAgICAgIHRoaXMudXBsb2FkQmFzZWxpbmUuZW1pdCh7XG4gICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICAgIHRlc3RTdGVwUmVzdWx0SWQ6IHRoaXMudGVzdFN0ZXBSZXN1bHRJZFxuICAgICAgfSk7XG4gICAgICAvLyBSZXNldCBmaWxlIGlucHV0XG4gICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIG9uQW5hbHl6ZSgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnQW5hbHl6ZSBjbGlja2VkJyk7XG4gICAgdGhpcy5hbmFseXplLmVtaXQoKTtcbiAgfVxuXG4gIG9uVmlld0Z1bGxMb2dzKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdWaWV3IGZ1bGwgbG9ncyBjbGlja2VkJyk7XG4gICAgdGhpcy52aWV3RnVsbExvZ3MuZW1pdCgpO1xuICB9XG5cbiAgZ2V0TG9nQ2xhc3MobGV2ZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyNCQjREMDBdIGNxYS1iZy1bI0ZGRkJFQl0nO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LVsjRTcwMDBCXSBjcWEtYmctWyNGREU1RTddJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyM5Q0EzQUZdIGNxYS1iZy1bI2Y4ZjhmOF0nO1xuICAgIH1cbiAgfVxuXG4gIG9uSW1hZ2VDbGljayh0eXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxNb2RhbFZpZXcgPSB0eXBlIGFzIEltYWdlVmlld1R5cGU7XG4gICAgdGhpcy5pc01vZGFsT3BlbiA9IHRydWU7XG4gIH1cblxuICBvbkNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5pc01vZGFsT3BlbiA9IGZhbHNlO1xuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTEyIGNxYS1nYXAtNCBjcWEtdy1mdWxsXCI+XG4gIDwhLS0gTGVmdCBQYW5lbDogU2NyZWVuc2hvdHMgJiBWaXN1YWwgQ29tcGFyaXNvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1jb2wtc3Bhbi05IGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjI0U1RTVFNV0gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1wdC0yIGNxYS1weC0zIGNxYS1wYi0xXCI+XG4gICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMEEwQTBBXSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtbWItMlwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMi42NjY3IDJIMy4zMzMzM0MyLjU5Njk1IDIgMiAyLjU5Njk1IDIgMy4zMzMzM1YxMi42NjY3QzIgMTMuNDAzIDIuNTk2OTUgMTQgMy4zMzMzMyAxNEgxMi42NjY3QzEzLjQwMyAxNCAxNCAxMy40MDMgMTQgMTIuNjY2N1YzLjMzMzMzQzE0IDIuNTk2OTUgMTMuNDAzIDIgMTIuNjY2NyAyWlwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNi4wMDAzMyA3LjMzMjY4QzYuNzM2NzEgNy4zMzI2OCA3LjMzMzY2IDYuNzM1NzMgNy4zMzM2NiA1Ljk5OTM1QzcuMzMzNjYgNS4yNjI5NyA2LjczNjcxIDQuNjY2MDIgNi4wMDAzMyA0LjY2NjAyQzUuMjYzOTUgNC42NjYwMiA0LjY2Njk5IDUuMjYyOTcgNC42NjY5OSA1Ljk5OTM1QzQuNjY2OTkgNi43MzU3MyA1LjI2Mzk1IDcuMzMyNjggNi4wMDAzMyA3LjMzMjY4WlwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMTQgMTAuMDAwNEwxMS45NDI3IDcuOTQzMTJDMTEuNjkyNiA3LjY5MzE1IDExLjM1MzYgNy41NTI3MyAxMSA3LjU1MjczQzEwLjY0NjQgNy41NTI3MyAxMC4zMDc0IDcuNjkzMTUgMTAuMDU3MyA3Ljk0MzEyTDQgMTQuMDAwNFwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgU2NyZWVuc2hvdHMgJiBWaXN1YWwgQ29tcGFyaXNvblxuICAgIDwvZGl2PlxuICAgIFxuICAgIDwhLS0gU2NyZWVuc2hvdCBDb21wYXJpc29uIEdyaWQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1ncmlkIGNxYS1ncmlkLWNvbHMtMyBjcWEtZ2FwLTMgY3FhLW1iLTJcIj5cbiAgICAgIDwhLS0gQmFzZWxpbmUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzExcHhdIGNxYS1sZWFkaW5nLVsxMDAlXSBjcWEtdGV4dC1bIzczNzM3M11cIj5CYXNlbGluZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLVsjRjVGNUY1XSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFNUU1RTVdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1oLVsxMTJweF0gY3FhLWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uSW1hZ2VDbGljaygnYmFzZWxpbmUnKVwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2NyZWVuc2hvdHM/LmJhc2VsaW5lXCI+XG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTI1LjMzMzMgNEg2LjY2NjY3QzUuMTkzOTEgNCA0IDUuMTkzOTEgNCA2LjY2NjY3VjI1LjMzMzNDNCAyNi44MDYxIDUuMTkzOTEgMjggNi42NjY2NyAyOEgyNS4zMzMzQzI2LjgwNjEgMjggMjggMjYuODA2MSAyOCAyNS4zMzMzVjYuNjY2NjdDMjggNS4xOTM5MSAyNi44MDYxIDQgMjUuMzMzMyA0WlwiIHN0cm9rZT1cIiM3MzczNzNcIiBzdHJva2Utb3BhY2l0eT1cIjAuNVwiIHN0cm9rZS13aWR0aD1cIjIuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0xMS45OTk3IDE0LjY2NzNDMTMuNDcyNCAxNC42NjczIDE0LjY2NjMgMTMuNDczNCAxNC42NjYzIDEyLjAwMDdDMTQuNjY2MyAxMC41Mjc5IDEzLjQ3MjQgOS4zMzM5OCAxMS45OTk3IDkuMzMzOThDMTAuNTI2OSA5LjMzMzk4IDkuMzMzMDEgMTAuNTI3OSA5LjMzMzAxIDEyLjAwMDdDOS4zMzMwMSAxMy40NzM0IDEwLjUyNjkgMTQuNjY3MyAxMS45OTk3IDE0LjY2NzNaXCIgc3Ryb2tlPVwiIzczNzM3M1wiIHN0cm9rZS1vcGFjaXR5PVwiMC41XCIgc3Ryb2tlLXdpZHRoPVwiMi42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTI4IDIwLjAwMDlMMjMuODg1MyAxNS44ODYyQzIzLjM4NTMgMTUuMzg2MyAyMi43MDcxIDE1LjEwNTUgMjIgMTUuMTA1NUMyMS4yOTI5IDE1LjEwNTUgMjAuNjE0NyAxNS4zODYzIDIwLjExNDcgMTUuODg2Mkw4IDI4LjAwMDlcIiBzdHJva2U9XCIjNzM3MzczXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjVcIiBzdHJva2Utd2lkdGg9XCIyLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJzY3JlZW5zaG90cz8uYmFzZWxpbmVcIiBbc3JjXT1cInNjcmVlbnNob3RzLmJhc2VsaW5lXCIgYWx0PVwiQmFzZWxpbmVcIiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWgtZnVsbCBjcWEtb2JqZWN0LWNvdmVyIGNxYS1yb3VuZGVkLWxnXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDdXJyZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMXB4XSBjcWEtbGVhZGluZy1bMTAwJV0gY3FhLXRleHQtWyM3MzczNzNdXCI+Q3VycmVudDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLVsjRkVGMkYzXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNGOUMyQzVdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1oLVsxMTJweF0gY3FhLWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uSW1hZ2VDbGljaygnY3VycmVudCcpXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFzY3JlZW5zaG90cz8uY3VycmVudFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS10ZXh0LVsjRUY0NDQ0XVwiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0yNS4zMzMzIDRINi42NjY2N0M1LjE5MzkxIDQgNCA1LjE5MzkxIDQgNi42NjY2N1YyNS4zMzMzQzQgMjYuODA2MSA1LjE5MzkxIDI4IDYuNjY2NjcgMjhIMjUuMzMzM0MyNi44MDYxIDI4IDI4IDI2LjgwNjEgMjggMjUuMzMzM1Y2LjY2NjY3QzI4IDUuMTkzOTEgMjYuODA2MSA0IDI1LjMzMzMgNFpcIiBzdHJva2U9XCIjRTcwMDBCXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjVcIiBzdHJva2Utd2lkdGg9XCIyLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMTEuOTk5NyAxNC42NjczQzEzLjQ3MjQgMTQuNjY3MyAxNC42NjYzIDEzLjQ3MzQgMTQuNjY2MyAxMi4wMDA3QzE0LjY2NjMgMTAuNTI3OSAxMy40NzI0IDkuMzMzOTggMTEuOTk5NyA5LjMzMzk4QzEwLjUyNjkgOS4zMzM5OCA5LjMzMzAxIDEwLjUyNzkgOS4zMzMwMSAxMi4wMDA3QzkuMzMzMDEgMTMuNDczNCAxMC41MjY5IDE0LjY2NzMgMTEuOTk5NyAxNC42NjczWlwiIHN0cm9rZT1cIiNFNzAwMEJcIiBzdHJva2Utb3BhY2l0eT1cIjAuNVwiIHN0cm9rZS13aWR0aD1cIjIuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0yOCAyMC4wMDA5TDIzLjg4NTMgMTUuODg2MkMyMy4zODUzIDE1LjM4NjMgMjIuNzA3MSAxNS4xMDU1IDIyIDE1LjEwNTVDMjEuMjkyOSAxNS4xMDU1IDIwLjYxNDcgMTUuMzg2MyAyMC4xMTQ3IDE1Ljg4NjJMOCAyOC4wMDA5XCIgc3Ryb2tlPVwiI0U3MDAwQlwiIHN0cm9rZS1vcGFjaXR5PVwiMC41XCIgc3Ryb2tlLXdpZHRoPVwiMi42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwic2NyZWVuc2hvdHM/LmN1cnJlbnRcIiBbc3JjXT1cInNjcmVlbnNob3RzLmN1cnJlbnRcIiBhbHQ9XCJDdXJyZW50XCIgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLWZ1bGwgY3FhLW9iamVjdC1jb3ZlciBjcWEtcm91bmRlZC1sZ1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlmZmVyZW5jZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTFweF0gY3FhLWxlYWRpbmctWzEwMCVdIGNxYS10ZXh0LVsjNzM3MzczXVwiPkRpZmZlcmVuY2U8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1iZy1bI0ZFRjJGM10gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRjlDMkM1XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtaC1bMTEycHhdIGNxYS1jdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvbkltYWdlQ2xpY2soJ2RpZmZlcmVuY2UnKVwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2NyZWVuc2hvdHM/LmRpZmZlcmVuY2VcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtdGV4dC1bI0VGNDQ0NF1cIj5cbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMjUuMzMzMyA0SDYuNjY2NjdDNS4xOTM5MSA0IDQgNS4xOTM5MSA0IDYuNjY2NjdWMjUuMzMzM0M0IDI2LjgwNjEgNS4xOTM5MSAyOCA2LjY2NjY3IDI4SDI1LjMzMzNDMjYuODA2MSAyOCAyOCAyNi44MDYxIDI4IDI1LjMzMzNWNi42NjY2N0MyOCA1LjE5MzkxIDI2LjgwNjEgNCAyNS4zMzMzIDRaXCIgc3Ryb2tlPVwiI0U3MDAwQlwiIHN0cm9rZS1vcGFjaXR5PVwiMC41XCIgc3Ryb2tlLXdpZHRoPVwiMi42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTExLjk5OTcgMTQuNjY3M0MxMy40NzI0IDE0LjY2NzMgMTQuNjY2MyAxMy40NzM0IDE0LjY2NjMgMTIuMDAwN0MxNC42NjYzIDEwLjUyNzkgMTMuNDcyNCA5LjMzMzk4IDExLjk5OTcgOS4zMzM5OEMxMC41MjY5IDkuMzMzOTggOS4zMzMwMSAxMC41Mjc5IDkuMzMzMDEgMTIuMDAwN0M5LjMzMzAxIDEzLjQ3MzQgMTAuNTI2OSAxNC42NjczIDExLjk5OTcgMTQuNjY3M1pcIiBzdHJva2U9XCIjRTcwMDBCXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjVcIiBzdHJva2Utd2lkdGg9XCIyLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMjggMjAuMDAwOUwyMy44ODUzIDE1Ljg4NjJDMjMuMzg1MyAxNS4zODYzIDIyLjcwNzEgMTUuMTA1NSAyMiAxNS4xMDU1QzIxLjI5MjkgMTUuMTA1NSAyMC42MTQ3IDE1LjM4NjMgMjAuMTE0NyAxNS44ODYyTDggMjguMDAwOVwiIHN0cm9rZT1cIiNFNzAwMEJcIiBzdHJva2Utb3BhY2l0eT1cIjAuNVwiIHN0cm9rZS13aWR0aD1cIjIuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGltZyAqbmdJZj1cInNjcmVlbnNob3RzPy5kaWZmZXJlbmNlXCIgW3NyY109XCJzY3JlZW5zaG90cy5kaWZmZXJlbmNlXCIgYWx0PVwiRGlmZmVyZW5jZVwiIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtaC1mdWxsIGNxYS1vYmplY3QtY292ZXIgY3FhLXJvdW5kZWQtbGdcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1lbmQgY3FhLWdhcC0yIGNxYS1mbGV4LXdyYXBcIj5cbiAgICAgIDxidXR0b24gXG4gICAgICAgIChjbGljayk9XCJvbk1ha2VDdXJyZW50QmFzZWxpbmUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXJyZW50SW1hZ2VBdmFpbGFibGVcIlxuICAgICAgICBbY2xhc3MuY3FhLW9wYWNpdHktNTBdPVwiIWlzQ3VycmVudEltYWdlQXZhaWxhYmxlXCJcbiAgICAgICAgW2NsYXNzLmNxYS1jdXJzb3Itbm90LWFsbG93ZWRdPVwiIWlzQ3VycmVudEltYWdlQXZhaWxhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtcGwtMiBjcWEtcHItNCBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWJnLXRyYW5zcGFyZW50IGNxYS10ZXh0LVsjMjEyMTIyXSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bIzIxMjEyMl0gZGlzYWJsZWQ6Y3FhLWN1cnNvci1ub3QtYWxsb3dlZFwiPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTQuMzk3NTQgNy45Mzc1MkwyLjMxMjU0IDUuODUyNTJMMS42MDI1NCA2LjU1NzUyTDQuMzk3NTQgOS4zNTI1MkwxMC4zOTc1IDMuMzUyNTJMOS42OTI1NCAyLjY0NzUyTDQuMzk3NTQgNy45Mzc1MlpcIiBmaWxsPVwiYmxhY2tcIi8+PC9zdmc+XG4gICAgICAgIE1ha2UgY3VycmVudCBiYXNlbGluZVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIFxuICAgICAgICAoY2xpY2spPVwib25VcGxvYWRCYXNlbGluZSgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzVXBsb2FkaW5nQmFzZWxpbmU/Llt0ZXN0U3RlcFJlc3VsdElkXSA9PT0gdHJ1ZVwiXG4gICAgICAgIFtjbGFzcy5jcWEtb3BhY2l0eS01MF09XCJpc1VwbG9hZGluZ0Jhc2VsaW5lPy5bdGVzdFN0ZXBSZXN1bHRJZF0gPT09IHRydWVcIlxuICAgICAgICBbY2xhc3MuY3FhLWN1cnNvci1ub3QtYWxsb3dlZF09XCJpc1VwbG9hZGluZ0Jhc2VsaW5lPy5bdGVzdFN0ZXBSZXN1bHRJZF0gPT09IHRydWVcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1wbC0yIGNxYS1wci00IGNxYS1weS1bMnB4XSBjcWEtcm91bmRlZC1sZyBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLXRleHQtWyMyMTIxMjJdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjMjEyMTIyXSBkaXNhYmxlZDpjcWEtY3Vyc29yLW5vdC1hbGxvd2VkXCI+XG4gICAgICAgIDxzdmcgKm5nSWY9XCIhaXNVcGxvYWRpbmdCYXNlbGluZT8uW3Rlc3RTdGVwUmVzdWx0SWRdXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNOSA3LjVWOUgzVjcuNUgyVjlDMiA5LjU1IDIuNDUgMTAgMyAxMEg5QzkuNTUgMTAgMTAgOS41NSAxMCA5VjcuNUg5Wk0zLjUgNC41TDQuMjA1IDUuMjA1TDUuNSAzLjkxNVY4SDYuNVYzLjkxNUw3Ljc5NSA1LjIwNUw4LjUgNC41TDYgMkwzLjUgNC41WlwiIGZpbGw9XCJibGFja1wiLz48L3N2Zz5cbiAgICAgICAgPHN2ZyAqbmdJZj1cImlzVXBsb2FkaW5nQmFzZWxpbmU/Llt0ZXN0U3RlcFJlc3VsdElkXSA9PT0gdHJ1ZVwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBzdHlsZT1cImFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XCI+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjZcIiBjeT1cIjZcIiByPVwiNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtZGFzaGFycmF5PVwiOCA0XCIgb3BhY2l0eT1cIjAuM1wiLz5cbiAgICAgICAgICA8Y2lyY2xlIGN4PVwiNlwiIGN5PVwiNlwiIHI9XCI1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1kYXNoYXJyYXk9XCI4IDRcIiBzdHJva2UtZGFzaG9mZnNldD1cIjJcIi8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8c3Bhbj57eyBpc1VwbG9hZGluZ0Jhc2VsaW5lPy5bdGVzdFN0ZXBSZXN1bHRJZF0gPT09IHRydWUgPyAnVXBsb2FkaW5nLi4uJyA6ICdVcGxvYWQgYmFzZWxpbmUnIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIEhpZGRlbiBmaWxlIGlucHV0IC0tPlxuICAgICAgPGlucHV0IFxuICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCIgXG4gICAgICAgIGFjY2VwdD1cImltYWdlLypcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgXG4gICAgICAvPlxuICAgICAgPGJ1dHRvbiBcbiAgICAgICAgKGNsaWNrKT1cIm9uQW5hbHl6ZSgpXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtcGwtMiBjcWEtcHItNCBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWJnLXRyYW5zcGFyZW50IGNxYS10ZXh0LVsjMjEyMTIyXSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bIzIxMjEyMl1cIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjExXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDExIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk01LjUxMTUgMEM1LjU3OTMxIDAuMDMwMzE3OCA1LjYwODI4IDAuMTA0MzU0IDUuNjM2MDQgMC4xNzMxMjhDNS42NDk5NiAwLjIxMzIgNS42NjI3MyAwLjI1MzQ4OSA1LjY3NTEzIDAuMjk0MUM1LjY3OTk4IDAuMzA5NjYyIDUuNjg0ODQgMC4zMjUyMjQgNS42ODk4NCAwLjM0MTI1OEM1Ljc1NDMgMC41NTA2NzMgNS44MTE3MiAwLjc2MjMzMSA1Ljg2OTQ2IDAuOTczODRDNS44ODI1MSAxLjAyMTU5IDUuODk1NjMgMS4wNjkzMiA1LjkwODc0IDEuMTE3MDRDNS45NzU1MSAxLjM2MDA1IDYuMDQxNzcgMS42MDMyIDYuMTA3NjcgMS44NDY0NkM2LjExNjkzIDEuODgwNjIgNi4xMjYxOSAxLjkxNDc5IDYuMTM1NDUgMS45NDg5NUM2LjE2MTU2IDIuMDQ1MjcgNi4xODc2NCAyLjE0MTU5IDYuMjEzNTcgMi4yMzc5NkM2LjI2ODM3IDIuNDQxNTkgNi4zMjQ2NyAyLjY0NDYzIDYuMzg0NjMgMi44NDY2OEM2LjM4OTg2IDIuODY0MzUgNi4zOTUxIDIuODgyMDMgNi40MDA1IDIuOTAwMjRDNi41NTYyNCAzLjQyIDYuNzc3MDEgMy44ODU4MyA3LjEzODg4IDQuMjgyNjJDNy4xNDc4NCA0LjI5Mjk0IDcuMTU2OCA0LjMwMzI1IDcuMTY2MDMgNC4zMTM4OEM3LjMyMDUgNC40ODU4MyA3LjUxODczIDQuNjIzNjEgNy43MTY4NyA0LjczNDgxQzcuNzI2OTYgNC43NDA1NyA3LjczNzA1IDQuNzQ2MzIgNy43NDc0NSA0Ljc1MjI1QzguMzMwNTEgNS4wNzkgOS4wMzE2MiA1LjIyMjcyIDkuNjYzMTMgNS40MTRDOS45Mzk4NCA1LjQ5Nzg3IDEwLjIxNTcgNS41ODQzOCAxMC40OTA1IDUuNjc0N0MxMC41MDk5IDUuNjgxMDUgMTAuNTI5MiA1LjY4NzM4IDEwLjU0ODUgNS42OTM3QzEwLjYwNjIgNS43MTI2IDEwLjY2MzkgNS43MzE4MiAxMC43MjE1IDUuNzUxM0MxMC43MzQ5IDUuNzU1NzIgMTAuNzQ4MyA1Ljc2MDE1IDEwLjc2MjEgNS43NjQ3MUMxMC44NDE1IDUuNzkyMDggMTAuOTE3NCA1LjgyNDM5IDEwLjk4MjUgNS44ODAzNkMxMS4wMDIzIDUuOTI1NTggMTEuMDAyMyA1LjkyNTU4IDEwLjk5NjkgNS45NzA4QzEwLjkzMzYgNi4wMzY0OCAxMC44NzA3IDYuMDY3MjggMTAuNzg3MSA2LjA5NzMzQzEwLjc3NTEgNi4xMDE3NiAxMC43NjMyIDYuMTA2MiAxMC43NTA4IDYuMTEwNzdDMTAuNjA5NiA2LjE2MjQ0IDEwLjQ2NjUgNi4yMDc2NiAxMC4zMjMyIDYuMjUyNDdDMTAuMjkzOCA2LjI2MTc0IDEwLjI2NDQgNi4yNzEwMSAxMC4yMzUgNi4yODAyOEMxMC4wNTM3IDYuMzM3MzUgOS44NzE5OSA2LjM5MzIgOS42OTAxNCA2LjQ0ODQyQzkuNDUwNjEgNi41MjExNyA5LjIxMTQzIDYuNTk1MTIgOC45NzI0OSA2LjY2OTkxQzguOTMzMzQgNi42ODIxNiA4Ljg5NDE4IDYuNjk0MzcgOC44NTUwMSA2LjcwNjU0QzguNjQ5MzEgNi43NzA0OCA4LjQ0NDYyIDYuODM2NzEgOC4yNDE2MiA2LjkwOTQ0QzguMjI0NzggNi45MTU0NSA4LjIwNzk0IDYuOTIxNDcgOC4xOTA1OSA2LjkyNzY2QzcuNTEwNjkgNy4xNzQ0MyA2Ljk5MjQ1IDcuNjM0NzggNi42NjgwOSA4LjMwNzk5QzYuNDkzMjEgOC42ODYzNCA2LjM5MDA2IDkuMDk1NDggNi4yODQ4MyA5LjQ5OTI5QzYuMjU2MzcgOS42MDgyNSA2LjIyNjExIDkuNzE2NiA2LjE5NTUgOS44MjQ5MkM2LjE3MTQ5IDkuOTEwMTUgNi4xNDgwMyA5Ljk5NTUxIDYuMTI1MTUgMTAuMDgxMUM2LjEyMjQzIDEwLjA5MTMgNi4xMTk3IDEwLjEwMTQgNi4xMTY5IDEwLjExMTlDNi4xMDM3IDEwLjE2MTIgNi4wOTA1NiAxMC4yMTA2IDYuMDc3NTIgMTAuMjU5OUM2LjA0NDEzIDEwLjM4NTEgNi4wMDgxNyAxMC41MDkyIDUuOTcxMjMgMTAuNjMzMkM1LjkwNTY3IDEwLjg1MzYgNS44NDYwMSAxMS4wNzU3IDUuNzg2NzIgMTEuMjk4QzUuNjk3MzIgMTEuNjMyOCA1LjY5NzMyIDExLjYzMjggNS42NDY2MiAxMS43OTM3QzUuNjQzMjYgMTEuODA0NSA1LjYzOTkgMTEuODE1MyA1LjYzNjQ0IDExLjgyNjRDNS42MTc5MyAxMS44ODM3IDUuNTk4OSAxMS45MzY0IDUuNTYzODggMTEuOTg0OUM1LjUxMDYgMTEuOTk3MiA1LjUxMDYgMTEuOTk3MiA1LjQ2MjczIDEyQzUuNDA4MDEgMTEuOTE2OCA1LjM3MTc3IDExLjgzNjEgNS4zNDI3MyAxMS43NDAxQzUuMzM4NTEgMTEuNzI2NSA1LjMzNDI4IDExLjcxMjkgNS4zMjk5MyAxMS42OTg5QzUuMjc2MTQgMTEuNTIzMyA1LjIyODA3IDExLjM0NTkgNS4xNzk5OSAxMS4xNjg2QzUuMTY4OTggMTEuMTI4MSA1LjE1NzkxIDExLjA4NzUgNS4xNDY4NSAxMS4wNDdDNS4wNjQ0IDEwLjc0NDggNC45ODMzMSAxMC40NDIzIDQuOTAyMzQgMTAuMTM5N0M0LjU2NTA5IDguNjQyOTkgNC41NjUwOSA4LjY0Mjk5IDMuNzE0MzMgNy40MzI4OEMzLjcwMDcgNy40MjEyOCAzLjY4NzA2IDcuNDA5NjggMy42NzMwMiA3LjM5NzczQzMuMTE1NiA2LjkzMjAzIDIuMzgxMyA2Ljc1OTU5IDEuNzA4ODUgNi41NTc1MUMxLjU0MjU0IDYuNTA3NDkgMS4zNzYyOCA2LjQ1NzI0IDEuMjEwMDQgNi40MDY5N0MxLjE5NTUgNi40MDI1OCAxLjE5NTUgNi40MDI1OCAxLjE4MDY3IDYuMzk4MDlDMC45NDA4ODEgNi4zMjU1NiAwLjcwMTE1NyA2LjI1MjgzIDAuNDYyMjc0IDYuMTc3MTFDMC40NTIxNjggNi4xNzM5MyAwLjQ0MjA2MyA2LjE3MDc1IDAuNDMxNjUxIDYuMTY3NDdDMC4wNjQ2NTQzIDYuMDUxNzggMC4wNjQ2NTQzIDYuMDUxNzggMC4wMDA3OTAyMTEgNS45NzA4Qy0wLjAwMTAxNTk5IDUuOTM0MDYgLTAuMDAxMDE1OTkgNS45MzQwNiAwLjAxNTIzOTggNS44OTU0M0MwLjA4MTk5MDkgNS44MjcyIDAuMTQ2NzYgNS43OTc5NyAwLjIzNDg2MiA1Ljc2ODI1QzAuMjQ3NjE4IDUuNzYzNzggMC4yNjAzNzUgNS43NTkzMSAwLjI3MzUxOCA1Ljc1NDcxQzAuMzEyNTg3IDUuNzQxMSAwLjM1MTc0MSA1LjcyNzc5IDAuMzkwOTI5IDUuNzE0NTVDMC40MDIxMTIgNS43MTA3MyAwLjQxMzI5NSA1LjcwNjkgMC40MjQ4MTcgNS43MDI5NkMwLjUwMzkwNCA1LjY3NTkgMC41ODMyNzUgNS42NDk4NiAwLjY2Mjc2MiA1LjYyNDEyQzAuNjgyMjk0IDUuNjE3NzcgMC42ODIyOTQgNS42MTc3NyAwLjcwMjIyIDUuNjExMjlDMS4wNDE2NiA1LjUwMTE2IDEuMzgzMzIgNS4zOTg2NyAxLjcyNDg3IDUuMjk1OTVDMS45NzkzOSA1LjIxOTM5IDIuMjMzNDcgNS4xNDE1NyAyLjQ4Njc0IDUuMDYwNjVDMi40OTgzOCA1LjA1Njk0IDIuNTEwMDEgNS4wNTMyNCAyLjUyMjAxIDUuMDQ5NDNDMy4xMDg3MiA0Ljg2MjYyIDMuNjgyMjkgNC41OTc1NSA0LjA2MTEyIDQuMDcxNkM0LjA2Njc5IDQuMDYzOCA0LjA3MjQ3IDQuMDU1OTkgNC4wNzgzMSA0LjA0Nzk2QzQuNTAwMTkgMy40NjQyIDQuNjY0NyAyLjc1NDMgNC44NDg1IDIuMDYxNjFDNC45MDg5NiAxLjgzMzc5IDQuOTcwMTUgMS42MDYxOSA1LjAzMTU1IDEuMzc4NjVDNS4wNDg1NiAxLjMxNTY0IDUuMDY1NTMgMS4yNTI2MyA1LjA4MjQ0IDEuMTg5NTlDNS4xNTAzNyAwLjkzNjM4NSA1LjIxOTMyIDAuNjgzNTIzIDUuMjkyMjIgMC40MzE4MThDNS4yOTkwNCAwLjQwODI0OCA1LjMwNTgzIDAuMzg0NjY3IDUuMzEyNTkgMC4zNjEwNzZDNS40MTQ2NiAwLjAwNTMxNjgxIDUuNDE0NjYgMC4wMDUzMTY4MSA1LjUxMTUgMFpcIiBmaWxsPVwiIzE2MTYxN1wiLz48cGF0aCBkPVwiTTguODQzOTEgMC43NDA0NDNDOC45MTAyNCAwLjgxODc2MiA4LjkyMzQ5IDAuOTEwODA2IDguOTQ0MTUgMS4wMTA4MUM5LjAxMzA1IDEuMzI0OTkgOS4wOTI0MSAxLjYxMzg4IDkuMzY3ODcgMS43OTYzOEM5LjUzNzgyIDEuODk0NDMgOS43NDAzNyAxLjkzOTA0IDkuOTI4NjcgMS45ODExOEMxMC4wMDgyIDEuOTk5MzMgMTAuMDc1MyAyLjAyMzQxIDEwLjE0MzUgMi4wNzE1OEMxMC4xNTg4IDIuMDk3MDEgMTAuMTU4OCAyLjA5NzAxIDEwLjE1NzkgMi4xNDEyOUMxMC4xNDIxIDIuMTk1MTMgMTAuMTI4MiAyLjIxMjUgMTAuMDg2NiAyLjI0Nzc0QzEwLjA0MSAyLjI2MzY0IDEwLjA0MSAyLjI2MzY0IDkuOTg2MzMgMi4yNzYwMUM5Ljk2NTY0IDIuMjgwOTYgOS45NDQ5NiAyLjI4NTk3IDkuOTI0MyAyLjI5MTAyQzkuOTEzMjIgMi4yOTM3IDkuOTAyMTUgMi4yOTYzOCA5Ljg5MDc1IDIuMjk5MTRDOS41NTQwMSAyLjM4MDM5IDkuNTU0MDEgMi4zODAzOSA5LjI2Mjk1IDIuNTY0MjhDOS4yNTM0OCAyLjU3MjIyIDkuMjQ0MDIgMi41ODAxNyA5LjIzNDI3IDIuNTg4MzZDOS4wMjYyNSAyLjc3OTcgOC45ODIyNiAzLjA5OCA4LjkxOTYzIDMuMzY0NjRDOC45MTYwNSAzLjM3OTI4IDguOTEyNDYgMy4zOTM5MyA4LjkwODc2IDMuNDA5MDFDOC45MDU2NiAzLjQyMTk4IDguOTAyNTUgMy40MzQ5NCA4Ljg5OTM1IDMuNDQ4M0M4Ljg4NTg0IDMuNDg3ODggOC44NzE4MyAzLjUxMzY5IDguODQzOTEgMy41NDQwMkM4Ljc2NjE0IDMuNTU0MzIgOC43NjYxNCAzLjU1NDMyIDguNzI4MzEgMy41NDQwMkM4LjY2ODE0IDMuNDk1MzcgOC42NTQ2OCAzLjQzOTk2IDguNjM4OTYgMy4zNjU1QzguNjM2MzMgMy4zNTM5NyA4LjYzMzY5IDMuMzQyNDQgOC42MzA5OCAzLjMzMDU2QzguNjIyNTkgMy4yOTM3NCA4LjYxNDQ3IDMuMjU2ODYgOC42MDYzOSAzLjIxOTk1QzguNTQzMDIgMi45MzI1OSA4LjQ3MTQ4IDIuNjUwNjQgOC4yMTg3OSAyLjQ4MjJDOC4wMjEzMSAyLjM2NzMyIDcuNzgxMTggMi4zMTI5OCA3LjU2MDQ1IDIuMjY5MTFDNy40OTk5NiAyLjI1NTk3IDcuNDY1MyAyLjIzOTQ0IDcuNDI3ODUgMi4xODc0NUM3LjQxOTcyIDIuMTM0NyA3LjQxOTcyIDIuMTM0NyA3LjQyNzg1IDIuMDgxOTRDNy40ODU0MSAyLjAxOTc5IDcuNTQ1OTcgMi4wMDQ2MiA3LjYyMzgyIDEuOTg1ODVDNy42NDgzNSAxLjk3OTUyIDcuNjcyODYgMS45NzMxNCA3LjY5NzM3IDEuOTY2NzFDNy43MTAwMyAxLjk2MzQyIDcuNzIyNjkgMS45NjAxMiA3LjczNTc0IDEuOTU2NzNDNy44MDAzMiAxLjkzOTM5IDcuODY0MjUgMS45MTk5NSA3LjkyODE3IDEuOTAwMTJDNy45Mzk3OCAxLjg5NjYxIDcuOTUxMzkgMS44OTMwOSA3Ljk2MzM2IDEuODg5NDdDOC4wOTMyOSAxLjg0ODk1IDguMjA1NDEgMS43OTcxMiA4LjMwOTI3IDEuNzA1MTJDOC4zMTg5NiAxLjY5NjggOC4zMjg2NCAxLjY4ODQ4IDguMzM4NjIgMS42Nzk5MkM4LjUwMDI2IDEuNTI4MTcgOC41NTUxOCAxLjMwMDIgOC42MDUwNCAxLjA4NzQ4QzguNjA4ODQgMS4wNzEzMyA4LjYxMjY0IDEuMDU1MTggOC42MTY1NSAxLjAzODU0QzguNjI0MTEgMS4wMDYxIDguNjMxNTQgMC45NzM2MjIgOC42Mzg4MiAwLjk0MTExQzguNjQ0MDMgMC45MTg0ODkgOC42NDQwMyAwLjkxODQ4OSA4LjY0OTM1IDAuODk1NDEyQzguNjUyMzggMC44ODE4OTkgOC42NTU0MiAwLjg2ODM4NSA4LjY1ODU1IDAuODU0NDYyQzguNjcxODYgMC44MTE0NDEgOC42ODkzNSAwLjc3NzY2IDguNzEzODYgMC43NDA0NDNDOC43NjA5NiAwLjcxNTg3OCA4Ljc5NDAxIDAuNzI2OTgzIDguODQzOTEgMC43NDA0NDNaXCIgZmlsbD1cIiM0MTQxNDZcIi8+PHBhdGggZD1cIk0yLjE5NDQ2IDguMzI5NjJDMi4yMTE2NiA4LjMyOTc1IDIuMjExNjYgOC4zMjk3NSAyLjIyOTE5IDguMzI5ODhDMi4zNTI1MyA4LjMzMzggMi40MzU5NyA4LjM3NTAzIDIuNTI2OCA4LjQ2MTUxQzIuNjMyNSA4LjU4MDYxIDIuNjgxMyA4LjcxNDk3IDIuNjc4NTIgOC44NzU0OUMyLjY2NjY2IDkuMDA1NjUgMi41OTMwNyA5LjExOTI5IDIuNTAyODIgOS4yMDcyN0MyLjM5NjU4IDkuMjk2NzIgMi4yODk0MSA5LjMyNjI4IDIuMTUzNjYgOS4zMjIxNUMyLjAzOTE5IDkuMzA4MjUgMS45MzE1MSA5LjI1MTUzIDEuODUwMzggOS4xNjYxOEMxLjc0OTUgOS4wMjI1OCAxLjcyIDguODkwODcgMS43MzQ3OSA4LjcxMzk4QzEuNzY1MzMgOC41NzQ3MiAxLjg1MzM3IDguNDYxNjcgMS45NjU5OCA4LjM4MjM4QzIuMDQ0MjEgOC4zNDEwMSAyLjEwNzEzIDguMzI4ODYgMi4xOTQ0NiA4LjMyOTYyWlwiIGZpbGw9XCIjNEM0QzUxXCIvPjwvc3ZnPlxuICAgICAgICBBbmFseXplXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBSaWdodCBQYW5lbDogTG9ncyAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1jb2wtc3Bhbi0zIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjI0U1RTVFNV0gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1weS0yIGNxYS1weC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMEEwQTBBXSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtbWItMlwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMC42NjY2IDEyTDE0LjY2NjYgOEwxMC42NjY2IDRcIiBzdHJva2U9XCIjMEEwQTBBXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTUuMzMzMzcgNEwxLjMzMzM3IDhMNS4zMzMzNyAxMlwiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgTG9nc1xuICAgIDwvZGl2PlxuICAgIFxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1tYi00XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzExcHhdIGNxYS1sZWFkaW5nLVsxMDAlXSBjcWEtdGV4dC1bIzczNzM3M11cIj5Db25zb2xlPC9kaXY+XG4gICAgICBcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxvZyBvZiBsb2dzXCIgY2xhc3M9XCJjcWEtcHgtMiBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW1cIiBbbmdDbGFzc109XCJnZXRMb2dDbGFzcyhsb2cubGV2ZWwpXCI+XG4gICAgICAgIHt7IGxvZy5tZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgPGRpdiAqbmdJZj1cIiFsb2dzIHx8IGxvZ3MubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJjcWEtcHgtMiBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM5Q0EzQUZdIGNxYS1iZy1bI2Y4ZjhmOF1cIj5cbiAgICAgICAgTm8gbG9ncyBhdmFpbGFibGVcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGEgXG4gICAgICAqbmdJZj1cInNob3dGdWxsTG9nc0xpbmtcIlxuICAgICAgKGNsaWNrKT1cIm9uVmlld0Z1bGxMb2dzKClcIlxuICAgICAgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS10ZXh0LVsjM0Y0M0VFXSBjcWEtZm9udC1tZWRpdW0gY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1lbmQgY3FhLWdhcC1bMnB4XSBjcWEtY3Vyc29yLXBvaW50ZXIgaG92ZXI6Y3FhLXVuZGVybGluZVwiPlxuICAgICAgVmlldyBmdWxsIGxvZ3MgSXRlcmF0aW9uc1xuICAgICAgPGRpdj48c3ZnIHdpZHRoPVwiOFwiIGhlaWdodD1cIjhcIiB2aWV3Qm94PVwiMCAwIDggOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMi4wMzgzMyA2Ljc0MzM1TDIuNjI4MzMgNy4zMzMzNUw1Ljk2MTY2IDQuMDAwMDJMMi42MjgzMyAwLjY2NjY4N0wyLjAzODMzIDEuMjU2NjlMNC43ODE2NiA0LjAwMDAyTDIuMDM4MzMgNi43NDMzNVpcIiBmaWxsPVwiIzNGNDNFRVwiLz48L3N2Zz48L2Rpdj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG4gIFxuICA8Y3FhLXZpc3VhbC1kaWZmZXJlbmNlLW1vZGFsXG4gICAgW2lzT3Blbl09XCJpc01vZGFsT3BlblwiXG4gICAgW2Jhc2VsaW5lVXJsXT1cInNjcmVlbnNob3RzPy5iYXNlbGluZSB8fCAnJ1wiXG4gICAgW2N1cnJlbnRVcmxdPVwic2NyZWVuc2hvdHM/LmN1cnJlbnQgfHwgJydcIlxuICAgIFtkaWZmZXJlbmNlVXJsXT1cInNjcmVlbnNob3RzPy5kaWZmZXJlbmNlIHx8ICcnXCJcbiAgICBbaW5pdGlhbFZpZXddPVwiaW5pdGlhbE1vZGFsVmlld1wiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2VNb2RhbCgpXCI+XG4gIDwvY3FhLXZpc3VhbC1kaWZmZXJlbmNlLW1vZGFsPlxuPC9kaXY+XG5cbjxzdHlsZT5cbiAgQGtleWZyYW1lcyBzcGluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgfVxuPC9zdHlsZT4iXX0=
|
|
@@ -77,6 +77,7 @@ import { CompareRunsComponent } from './compare-runs/compare-runs.component';
|
|
|
77
77
|
import { IterationsLoopComponent } from './iterations-loop/iterations-loop.component';
|
|
78
78
|
import { FailedStepCardComponent } from './failed-step-card/failed-step-card.component';
|
|
79
79
|
import { CustomInputComponent } from './custom-input/custom-input.component';
|
|
80
|
+
import { CustomTextareaComponent } from './custom-textarea/custom-textarea.component';
|
|
80
81
|
import { AiReasoningComponent } from './ai-reasoning/ai-reasoning.component';
|
|
81
82
|
import { ExecutionResultModalComponent } from './execution-result-modal/execution-result-modal.component';
|
|
82
83
|
import * as i0 from "@angular/core";
|
|
@@ -147,6 +148,7 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
147
148
|
IterationsLoopComponent,
|
|
148
149
|
FailedStepCardComponent,
|
|
149
150
|
CustomInputComponent,
|
|
151
|
+
CustomTextareaComponent,
|
|
150
152
|
AiReasoningComponent,
|
|
151
153
|
ExecutionResultModalComponent], imports: [CommonModule,
|
|
152
154
|
FormsModule,
|
|
@@ -223,6 +225,7 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
223
225
|
IterationsLoopComponent,
|
|
224
226
|
FailedStepCardComponent,
|
|
225
227
|
CustomInputComponent,
|
|
228
|
+
CustomTextareaComponent,
|
|
226
229
|
AiReasoningComponent,
|
|
227
230
|
ExecutionResultModalComponent] });
|
|
228
231
|
UiKitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiKitModule, providers: [
|
|
@@ -325,6 +328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
325
328
|
IterationsLoopComponent,
|
|
326
329
|
FailedStepCardComponent,
|
|
327
330
|
CustomInputComponent,
|
|
331
|
+
CustomTextareaComponent,
|
|
328
332
|
AiReasoningComponent,
|
|
329
333
|
ExecutionResultModalComponent
|
|
330
334
|
],
|
|
@@ -407,6 +411,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
407
411
|
IterationsLoopComponent,
|
|
408
412
|
FailedStepCardComponent,
|
|
409
413
|
CustomInputComponent,
|
|
414
|
+
CustomTextareaComponent,
|
|
410
415
|
AiReasoningComponent,
|
|
411
416
|
ExecutionResultModalComponent
|
|
412
417
|
],
|
|
@@ -430,4 +435,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
430
435
|
]
|
|
431
436
|
}]
|
|
432
437
|
}], ctorParameters: function () { return [{ type: i1.MatIconRegistry }]; } });
|
|
433
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWkta2l0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1C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akMseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQiw2QkFBNkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7d0JBQ2pFOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBb0I7Z0NBQ25DLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDO2dDQUM3QixDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztnQ0FDbEMsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUM7Z0NBQzNCLENBQUMsV0FBVyxFQUFFLHNCQUFzQixDQUFDO2dDQUNyQyxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztnQ0FDL0IsQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQztnQ0FDOUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7Z0NBQ2xDLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDO2dDQUN6QixDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztnQ0FDNUMsQ0FBQyx1QkFBdUIsRUFBRSxpQ0FBaUMsQ0FBQzs2QkFDN0QsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBmb3J3YXJkUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUsIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEJhckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWdtZW50Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxUZW1wbGF0ZURpcmVjdGl2ZSwgRHluYW1pY0hlYWRlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy1jZWxsLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3RoZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL290aGVyLWJ1dHRvbi9vdGhlci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZGF0ZXJhbmdlcGlja2VyL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXZpc2liaWxpdHkvY29sdW1uLXZpc2liaWxpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYWN0aW9uLXRvb2xiYXIvdGFibGUtYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2NoYXJ0LWNhcmQvY2hhcnQtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvY292ZXJhZ2UtbW9kdWxlLWNhcmQvY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQvdGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9mYWlsZWQtdGVzdC1jYXNlcy1jYXJkL2ZhaWxlZC10ZXN0LWNhc2VzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0ZWQtZmlsdGVycy9zZWxlY3RlZC1maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnNpZ2h0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2hlYXQtZXJyb3ItbWFwLWNlbGwvaGVhdC1lcnJvci1tYXAtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy90YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnLi91dGlscy90dy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Z1bGwtdGFibGUtbG9hZGVyL2Z1bGwtdGFibGUtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZURhdGFMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWRhdGEtbG9hZGVyL3RhYmxlLWRhdGEtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTVEVQX0NPTVBPTkVOVF9NQVAgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc3RlcC1yZWdpc3RyeS50b2tlbic7XG5pbXBvcnQgeyBCYXNpY1N0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vYmFzaWMtc3RlcC9iYXNpYy1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc3RlcC1yZW5kZXJlci9zdGVwLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc3RlcC1ncm91cC9zdGVwLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb29wU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9sb29wLXN0ZXAvbG9vcC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25kaXRpb25TdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2NvbmRpdGlvbi1zdGVwL2NvbmRpdGlvbi1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWlsZWRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2ZhaWxlZC1zdGVwL2ZhaWxlZC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi91cGRhdGVkLWZhaWxlZC1zdGVwL3VwZGF0ZWQtZmFpbGVkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdNb3JlRmFpbGVkU3RlcEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi92aWV3LW1vcmUtZmFpbGVkLXN0ZXAtYnV0dG9uL3ZpZXctbW9yZS1mYWlsZWQtc3RlcC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGZIZWFsQW5hbHlzaXNDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc2VsZi1oZWFsLWFuYWx5c2lzL3NlbGYtaGVhbC1hbmFseXNpcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQUlBZ2VudFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vYWktYWdlbnQtc3RlcC9haS1hZ2VudC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcGlTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2FwaS1zdGVwL2FwaS1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2ZpbGUtZG93bmxvYWQtc3RlcC9maWxlLWRvd25sb2FkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9kb2N1bWVudC12ZXJpZmljYXRpb24tc3RlcC9kb2N1bWVudC12ZXJpZmljYXRpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9tYWluLXN0ZXAtY29sbGFwc2UvbWFpbi1zdGVwLWNvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3Zpc3VhbC1jb21wYXJpc29uL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW11bGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NpbXVsYXRvci9zaW11bGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnNvbGVBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uc29sZS1hbGVydC9jb25zb2xlLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaURlYnVnQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2FpLWRlYnVnLWFsZXJ0L2FpLWRlYnVnLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXR3b3JrUmVxdWVzdENvbXBvbmVudCB9IGZyb20gJy4vbmV0d29yay1yZXF1ZXN0L25ldHdvcmstcmVxdWVzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQgfSBmcm9tICcuL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlzdWFsRGlmZmVyZW5jZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tY2FyZC9jb25maWd1cmF0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBhcmVSdW5zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYXJlLXJ1bnMvY29tcGFyZS1ydW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVyYXRpb25zTG9vcENvbXBvbmVudCB9IGZyb20gJy4vaXRlcmF0aW9ucy1sb29wL2l0ZXJhdGlvbnMtbG9vcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkU3RlcENhcmRDb21wb25lbnQgfSBmcm9tICcuL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFpUmVhc29uaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9haS1yZWFzb25pbmcvYWktcmVhc29uaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeGVjdXRpb25SZXN1bHRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXJlc3VsdC1tb2RhbC9leGVjdXRpb24tcmVzdWx0LW1vZGFsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgU2VnbWVudENvbnRyb2xDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBEeW5hbWljQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljQ2VsbENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFjdGlvbk1lbnVCdXR0b25Db21wb25lbnQsXG4gICAgT3RoZXJCdXR0b25Db21wb25lbnQsXG4gICAgRHluYW1pY0ZpbHRlckNvbXBvbmVudCxcbiAgICBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsXG4gICAgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LFxuICAgIENvbHVtblZpc2liaWxpdHlDb21wb25lbnQsXG4gICAgVGFibGVBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxuICAgIE1ldHJpY3NDYXJkQ29tcG9uZW50LFxuICAgIE1ldHJpY3NCbG9ja0NvbXBvbmVudCxcbiAgICBDaGFydENhcmRDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCxcbiAgICBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQsXG4gICAgQ292ZXJhZ2VNb2R1bGVDYXJkQ29tcG9uZW50LFxuICAgIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50LFxuICAgIEZhaWxlZFRlc3RDYXNlc0NhcmRDb21wb25lbnQsXG4gICAgRHluYW1pY1NlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgIFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCxcbiAgICBJbnNpZ2h0Q2FyZENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQsXG4gICAgVGFibGVEYXRhTG9hZGVyQ29tcG9uZW50LFxuICAgIEJhc2ljU3RlcENvbXBvbmVudCxcbiAgICBTdGVwUmVuZGVyZXJDb21wb25lbnQsXG4gICAgU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIExvb3BTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvblN0ZXBDb21wb25lbnQsXG4gICAgRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBWaWV3TW9yZUZhaWxlZFN0ZXBCdXR0b25Db21wb25lbnQsXG4gICAgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCxcbiAgICBBSUFnZW50U3RlcENvbXBvbmVudCxcbiAgICBBcGlTdGVwQ29tcG9uZW50LFxuICAgIEZpbGVEb3dubG9hZFN0ZXBDb21wb25lbnQsXG4gICAgRG9jdW1lbnRWZXJpZmljYXRpb25TdGVwQ29tcG9uZW50LFxuICAgIE1haW5TdGVwQ29sbGFwc2VDb21wb25lbnQsXG4gICAgVmlzdWFsQ29tcGFyaXNvbkNvbXBvbmVudCxcbiAgICBTaW11bGF0b3JDb21wb25lbnQsXG4gICAgQ29uc29sZUFsZXJ0Q29tcG9uZW50LFxuICAgIEFpRGVidWdBbGVydENvbXBvbmVudCxcbiAgICBOZXR3b3JrUmVxdWVzdENvbXBvbmVudCxcbiAgICBSdW5IaXN0b3J5Q2FyZENvbXBvbmVudCxcbiAgICBWaXN1YWxEaWZmZXJlbmNlTW9kYWxDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQsXG4gICAgQ29tcGFyZVJ1bnNDb21wb25lbnQsXG4gICAgSXRlcmF0aW9uc0xvb3BDb21wb25lbnQsXG4gICAgRmFpbGVkU3RlcENhcmRDb21wb25lbnQsXG4gICAgQ3VzdG9tSW5wdXRDb21wb25lbnQsXG4gICAgQWlSZWFzb25pbmdDb21wb25lbnQsXG4gICAgRXhlY3V0aW9uUmVzdWx0TW9kYWxDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxuICAgIFNlZ21lbnRDb250cm9sQ29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBEeW5hbWljVGFibGVDb21wb25lbnQsXG4gICAgRHluYW1pY0NlbGxUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljSGVhZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY0NlbGxDb250YWluZXJEaXJlY3RpdmUsXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50LFxuICAgIE90aGVyQnV0dG9uQ29tcG9uZW50LFxuICAgIER5bmFtaWNGaWx0ZXJDb21wb25lbnQsXG4gICAgRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlLFxuICAgIERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCxcbiAgICBDb2x1bW5WaXNpYmlsaXR5Q29tcG9uZW50LFxuICAgIFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCxcbiAgICBNZXRyaWNzQ2FyZENvbXBvbmVudCxcbiAgICBDaGFydENhcmRDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCxcbiAgICBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQsXG4gICAgQ292ZXJhZ2VNb2R1bGVDYXJkQ29tcG9uZW50LFxuICAgIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50LFxuICAgIEZhaWxlZFRlc3RDYXNlc0NhcmRDb21wb25lbnQsXG4gICAgRHluYW1pY1NlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgIFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCxcbiAgICBJbnNpZ2h0Q2FyZENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQsXG4gICAgVGFibGVEYXRhTG9hZGVyQ29tcG9uZW50LFxuICAgIEJhc2ljU3RlcENvbXBvbmVudCxcbiAgICBTdGVwUmVuZGVyZXJDb21wb25lbnQsXG4gICAgU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIExvb3BTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvblN0ZXBDb21wb25lbnQsXG4gICAgRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBWaWV3TW9yZUZhaWxlZFN0ZXBCdXR0b25Db21wb25lbnQsXG4gICAgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCxcbiAgICBBSUFnZW50U3RlcENvbXBvbmVudCxcbiAgICBBcGlTdGVwQ29tcG9uZW50LFxuICAgIEZpbGVEb3dubG9hZFN0ZXBDb21wb25lbnQsXG4gICAgRG9jdW1lbnRWZXJpZmljYXRpb25TdGVwQ29tcG9uZW50LFxuICAgIE1haW5TdGVwQ29sbGFwc2VDb21wb25lbnQsXG4gICAgVmlzdWFsQ29tcGFyaXNvbkNvbXBvbmVudCxcbiAgICBTaW11bGF0b3JDb21wb25lbnQsXG4gICAgQ29uc29sZUFsZXJ0Q29tcG9uZW50LFxuICAgIEFpRGVidWdBbGVydENvbXBvbmVudCxcbiAgICBOZXR3b3JrUmVxdWVzdENvbXBvbmVudCxcbiAgICBSdW5IaXN0b3J5Q2FyZENvbXBvbmVudCxcbiAgICBWaXN1YWxEaWZmZXJlbmNlTW9kYWxDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQsXG4gICAgQ29tcGFyZVJ1bnNDb21wb25lbnQsXG4gICAgSXRlcmF0aW9uc0xvb3BDb21wb25lbnQsXG4gICAgRmFpbGVkU3RlcENhcmRDb21wb25lbnQsXG4gICAgQ3VzdG9tSW5wdXRDb21wb25lbnQsXG4gICAgQWlSZWFzb25pbmdDb21wb25lbnQsXG4gICAgRXhlY3V0aW9uUmVzdWx0TW9kYWxDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBPdmVybGF5Q29udGFpbmVyLCB1c2VDbGFzczogVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU1RFUF9DT01QT05FTlRfTUFQLFxuICAgICAgdXNlVmFsdWU6IG5ldyBNYXA8c3RyaW5nLCBUeXBlPGFueT4+KFtcbiAgICAgICAgWydiYXNpYycsIEJhc2ljU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnc3RlcC1ncm91cCcsIFN0ZXBHcm91cENvbXBvbmVudF0sXG4gICAgICAgIFsnbG9vcCcsIExvb3BTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydjb25kaXRpb24nLCBDb25kaXRpb25TdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydmYWlsZWQnLCBGYWlsZWRTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWyd1cGRhdGVkLWZhaWxlZCcsIFVwZGF0ZWRGYWlsZWRTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydhaS1hZ2VudCcsIEFJQWdlbnRTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydhcGknLCBBcGlTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydmaWxlLWRvd25sb2FkJywgRmlsZURvd25sb2FkU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZG9jdW1lbnQtdmVyaWZpY2F0aW9uJywgRG9jdW1lbnRWZXJpZmljYXRpb25TdGVwQ29tcG9uZW50XSxcbiAgICAgIF0pXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVpS2l0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnkpIHtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcygnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcsICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJyk7XG4gIH1cbn1cblxuIl19
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWkta2l0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNySCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0ZBQXdGLENBQUM7QUFDM0ksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDdkksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7OztBQTBLMUcsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBWSxZQUE2QjtRQUN2QyxZQUFZLENBQUMsc0JBQXNCLENBQUMsMkJBQTJCLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUNoRyxDQUFDOzt3R0FIVSxXQUFXO3lHQUFYLFdBQVcsaUJBdEtwQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLG1CQUFtQjtRQUNuQix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0Isd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsMEJBQTBCO1FBQzFCLGlDQUFpQztRQUNqQyx5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQix5QkFBeUI7UUFDekIsaUNBQWlDO1FBQ2pDLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qiw4QkFBOEI7UUFDOUIsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLDZCQUE2QixhQUc3QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsWUFBWSxhQUdaLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5Qiw2QkFBNkI7UUFDN0IsbUJBQW1CO1FBQ25CLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIseUJBQXlCO1FBQ3pCLGlDQUFpQztRQUNqQyx5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsOEJBQThCO1FBQzlCLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQiw2QkFBNkI7eUdBcUJwQixXQUFXLGFBbkJYO1FBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFO1FBQ2pFO1lBQ0UsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixRQUFRLEVBQUUsSUFBSSxHQUFHLENBQW9CO2dCQUNuQyxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztnQkFDN0IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ2xDLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDO2dCQUMzQixDQUFDLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQztnQkFDckMsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUM7Z0JBQy9CLENBQUMsZ0JBQWdCLEVBQUUsMEJBQTBCLENBQUM7Z0JBQzlDLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDO2dCQUNsQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQztnQkFDekIsQ0FBQyxlQUFlLEVBQUUseUJBQXlCLENBQUM7Z0JBQzVDLENBQUMsdUJBQXVCLEVBQUUsaUNBQWlDLENBQUM7YUFDN0QsQ0FBQztTQUNIO0tBQ0YsWUFwR1E7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsWUFBWTtTQUNiOzJGQW9GVSxXQUFXO2tCQXhLdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLGlDQUFpQzt3QkFDakMseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixpQ0FBaUM7d0JBQ2pDLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyx5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDhCQUE4Qjt3QkFDOUIsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiw2QkFBNkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7d0JBQ2pFOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBb0I7Z0NBQ25DLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDO2dDQUM3QixDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztnQ0FDbEMsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUM7Z0NBQzNCLENBQUMsV0FBVyxFQUFFLHNCQUFzQixDQUFDO2dDQUNyQyxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztnQ0FDL0IsQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQztnQ0FDOUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7Z0NBQ2xDLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDO2dDQUN6QixDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztnQ0FDNUMsQ0FBQyx1QkFBdUIsRUFBRSxpQ0FBaUMsQ0FBQzs2QkFDN0QsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBmb3J3YXJkUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUsIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEJhckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWdtZW50Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxUZW1wbGF0ZURpcmVjdGl2ZSwgRHluYW1pY0hlYWRlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy1jZWxsLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3RoZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL290aGVyLWJ1dHRvbi9vdGhlci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZGF0ZXJhbmdlcGlja2VyL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXZpc2liaWxpdHkvY29sdW1uLXZpc2liaWxpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYWN0aW9uLXRvb2xiYXIvdGFibGUtYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2NoYXJ0LWNhcmQvY2hhcnQtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvY292ZXJhZ2UtbW9kdWxlLWNhcmQvY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQvdGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9mYWlsZWQtdGVzdC1jYXNlcy1jYXJkL2ZhaWxlZC10ZXN0LWNhc2VzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0ZWQtZmlsdGVycy9zZWxlY3RlZC1maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnNpZ2h0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2hlYXQtZXJyb3ItbWFwLWNlbGwvaGVhdC1lcnJvci1tYXAtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy90YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnLi91dGlscy90dy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Z1bGwtdGFibGUtbG9hZGVyL2Z1bGwtdGFibGUtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZURhdGFMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWRhdGEtbG9hZGVyL3RhYmxlLWRhdGEtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTVEVQX0NPTVBPTkVOVF9NQVAgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc3RlcC1yZWdpc3RyeS50b2tlbic7XG5pbXBvcnQgeyBCYXNpY1N0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vYmFzaWMtc3RlcC9iYXNpYy1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc3RlcC1yZW5kZXJlci9zdGVwLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc3RlcC1ncm91cC9zdGVwLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb29wU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9sb29wLXN0ZXAvbG9vcC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25kaXRpb25TdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2NvbmRpdGlvbi1zdGVwL2NvbmRpdGlvbi1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWlsZWRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2ZhaWxlZC1zdGVwL2ZhaWxlZC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi91cGRhdGVkLWZhaWxlZC1zdGVwL3VwZGF0ZWQtZmFpbGVkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdNb3JlRmFpbGVkU3RlcEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi92aWV3LW1vcmUtZmFpbGVkLXN0ZXAtYnV0dG9uL3ZpZXctbW9yZS1mYWlsZWQtc3RlcC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGZIZWFsQW5hbHlzaXNDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vc2VsZi1oZWFsLWFuYWx5c2lzL3NlbGYtaGVhbC1hbmFseXNpcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQUlBZ2VudFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vYWktYWdlbnQtc3RlcC9haS1hZ2VudC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcGlTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2FwaS1zdGVwL2FwaS1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2ZpbGUtZG93bmxvYWQtc3RlcC9maWxlLWRvd25sb2FkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9kb2N1bWVudC12ZXJpZmljYXRpb24tc3RlcC9kb2N1bWVudC12ZXJpZmljYXRpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9tYWluLXN0ZXAtY29sbGFwc2UvbWFpbi1zdGVwLWNvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3Zpc3VhbC1jb21wYXJpc29uL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW11bGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NpbXVsYXRvci9zaW11bGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnNvbGVBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uc29sZS1hbGVydC9jb25zb2xlLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaURlYnVnQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2FpLWRlYnVnLWFsZXJ0L2FpLWRlYnVnLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXR3b3JrUmVxdWVzdENvbXBvbmVudCB9IGZyb20gJy4vbmV0d29yay1yZXF1ZXN0L25ldHdvcmstcmVxdWVzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQgfSBmcm9tICcuL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlzdWFsRGlmZmVyZW5jZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tY2FyZC9jb25maWd1cmF0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBhcmVSdW5zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYXJlLXJ1bnMvY29tcGFyZS1ydW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVyYXRpb25zTG9vcENvbXBvbmVudCB9IGZyb20gJy4vaXRlcmF0aW9ucy1sb29wL2l0ZXJhdGlvbnMtbG9vcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkU3RlcENhcmRDb21wb25lbnQgfSBmcm9tICcuL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdGV4dGFyZWEvY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaVJlYXNvbmluZ0NvbXBvbmVudCB9IGZyb20gJy4vYWktcmVhc29uaW5nL2FpLXJlYXNvbmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhlY3V0aW9uUmVzdWx0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1yZXN1bHQtbW9kYWwvZXhlY3V0aW9uLXJlc3VsdC1tb2RhbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxuICAgIFNlZ21lbnRDb250cm9sQ29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBEeW5hbWljVGFibGVDb21wb25lbnQsXG4gICAgRHluYW1pY0NlbGxUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljSGVhZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY0NlbGxDb250YWluZXJEaXJlY3RpdmUsXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50LFxuICAgIE90aGVyQnV0dG9uQ29tcG9uZW50LFxuICAgIER5bmFtaWNGaWx0ZXJDb21wb25lbnQsXG4gICAgRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlLFxuICAgIERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCxcbiAgICBDb2x1bW5WaXNpYmlsaXR5Q29tcG9uZW50LFxuICAgIFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCxcbiAgICBNZXRyaWNzQ2FyZENvbXBvbmVudCxcbiAgICBNZXRyaWNzQmxvY2tDb21wb25lbnQsXG4gICAgQ2hhcnRDYXJkQ29tcG9uZW50LFxuICAgIFByb2dyZXNzVGV4dENhcmRDb21wb25lbnQsXG4gICAgRGFzaGJvYXJkSGVhZGVyQ29tcG9uZW50LFxuICAgIENvdmVyYWdlTW9kdWxlQ2FyZENvbXBvbmVudCxcbiAgICBUZXN0RGlzdHJpYnV0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBGYWlsZWRUZXN0Q2FzZXNDYXJkQ29tcG9uZW50LFxuICAgIER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICBTZWxlY3RlZEZpbHRlcnNDb21wb25lbnQsXG4gICAgSW5zaWdodENhcmRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgRHJvcGRvd25CdXR0b25Db21wb25lbnQsXG4gICAgSGVhdEVycm9yTWFwQ2VsbENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgRnVsbFRhYmxlTG9hZGVyQ29tcG9uZW50LFxuICAgIFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudCxcbiAgICBCYXNpY1N0ZXBDb21wb25lbnQsXG4gICAgU3RlcFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBMb29wU3RlcENvbXBvbmVudCxcbiAgICBDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIEZhaWxlZFN0ZXBDb21wb25lbnQsXG4gICAgVXBkYXRlZEZhaWxlZFN0ZXBDb21wb25lbnQsXG4gICAgVmlld01vcmVGYWlsZWRTdGVwQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlbGZIZWFsQW5hbHlzaXNDb21wb25lbnQsXG4gICAgQUlBZ2VudFN0ZXBDb21wb25lbnQsXG4gICAgQXBpU3RlcENvbXBvbmVudCxcbiAgICBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50LFxuICAgIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCxcbiAgICBNYWluU3RlcENvbGxhcHNlQ29tcG9uZW50LFxuICAgIFZpc3VhbENvbXBhcmlzb25Db21wb25lbnQsXG4gICAgU2ltdWxhdG9yQ29tcG9uZW50LFxuICAgIENvbnNvbGVBbGVydENvbXBvbmVudCxcbiAgICBBaURlYnVnQWxlcnRDb21wb25lbnQsXG4gICAgTmV0d29ya1JlcXVlc3RDb21wb25lbnQsXG4gICAgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQsXG4gICAgVmlzdWFsRGlmZmVyZW5jZU1vZGFsQ29tcG9uZW50LFxuICAgIENvbmZpZ3VyYXRpb25DYXJkQ29tcG9uZW50LFxuICAgIENvbXBhcmVSdW5zQ29tcG9uZW50LFxuICAgIEl0ZXJhdGlvbnNMb29wQ29tcG9uZW50LFxuICAgIEZhaWxlZFN0ZXBDYXJkQ29tcG9uZW50LFxuICAgIEN1c3RvbUlucHV0Q29tcG9uZW50LFxuICAgIEN1c3RvbVRleHRhcmVhQ29tcG9uZW50LFxuICAgIEFpUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblJlc3VsdE1vZGFsQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBTZWdtZW50Q29udHJvbENvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxuICAgIER5bmFtaWNDZWxsVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY0hlYWRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNDZWxsQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgQWN0aW9uTWVudUJ1dHRvbkNvbXBvbmVudCxcbiAgICBPdGhlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBEeW5hbWljRmlsdGVyQ29tcG9uZW50LFxuICAgIERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSxcbiAgICBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQsXG4gICAgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgICBUYWJsZUFjdGlvblRvb2xiYXJDb21wb25lbnQsXG4gICAgTWV0cmljc0NhcmRDb21wb25lbnQsXG4gICAgQ2hhcnRDYXJkQ29tcG9uZW50LFxuICAgIFByb2dyZXNzVGV4dENhcmRDb21wb25lbnQsXG4gICAgRGFzaGJvYXJkSGVhZGVyQ29tcG9uZW50LFxuICAgIENvdmVyYWdlTW9kdWxlQ2FyZENvbXBvbmVudCxcbiAgICBUZXN0RGlzdHJpYnV0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBGYWlsZWRUZXN0Q2FzZXNDYXJkQ29tcG9uZW50LFxuICAgIER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICBTZWxlY3RlZEZpbHRlcnNDb21wb25lbnQsXG4gICAgSW5zaWdodENhcmRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgRHJvcGRvd25CdXR0b25Db21wb25lbnQsXG4gICAgSGVhdEVycm9yTWFwQ2VsbENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgRnVsbFRhYmxlTG9hZGVyQ29tcG9uZW50LFxuICAgIFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudCxcbiAgICBCYXNpY1N0ZXBDb21wb25lbnQsXG4gICAgU3RlcFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBMb29wU3RlcENvbXBvbmVudCxcbiAgICBDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIEZhaWxlZFN0ZXBDb21wb25lbnQsXG4gICAgVXBkYXRlZEZhaWxlZFN0ZXBDb21wb25lbnQsXG4gICAgVmlld01vcmVGYWlsZWRTdGVwQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlbGZIZWFsQW5hbHlzaXNDb21wb25lbnQsXG4gICAgQUlBZ2VudFN0ZXBDb21wb25lbnQsXG4gICAgQXBpU3RlcENvbXBvbmVudCxcbiAgICBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50LFxuICAgIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCxcbiAgICBNYWluU3RlcENvbGxhcHNlQ29tcG9uZW50LFxuICAgIFZpc3VhbENvbXBhcmlzb25Db21wb25lbnQsXG4gICAgU2ltdWxhdG9yQ29tcG9uZW50LFxuICAgIENvbnNvbGVBbGVydENvbXBvbmVudCxcbiAgICBBaURlYnVnQWxlcnRDb21wb25lbnQsXG4gICAgTmV0d29ya1JlcXVlc3RDb21wb25lbnQsXG4gICAgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQsXG4gICAgVmlzdWFsRGlmZmVyZW5jZU1vZGFsQ29tcG9uZW50LFxuICAgIENvbmZpZ3VyYXRpb25DYXJkQ29tcG9uZW50LFxuICAgIENvbXBhcmVSdW5zQ29tcG9uZW50LFxuICAgIEl0ZXJhdGlvbnNMb29wQ29tcG9uZW50LFxuICAgIEZhaWxlZFN0ZXBDYXJkQ29tcG9uZW50LFxuICAgIEN1c3RvbUlucHV0Q29tcG9uZW50LFxuICAgIEN1c3RvbVRleHRhcmVhQ29tcG9uZW50LFxuICAgIEFpUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblJlc3VsdE1vZGFsQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT3ZlcmxheUNvbnRhaW5lciwgdXNlQ2xhc3M6IFRhaWx3aW5kT3ZlcmxheUNvbnRhaW5lciB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNURVBfQ09NUE9ORU5UX01BUCxcbiAgICAgIHVzZVZhbHVlOiBuZXcgTWFwPHN0cmluZywgVHlwZTxhbnk+PihbXG4gICAgICAgIFsnYmFzaWMnLCBCYXNpY1N0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ3N0ZXAtZ3JvdXAnLCBTdGVwR3JvdXBDb21wb25lbnRdLFxuICAgICAgICBbJ2xvb3AnLCBMb29wU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnY29uZGl0aW9uJywgQ29uZGl0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZmFpbGVkJywgRmFpbGVkU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsndXBkYXRlZC1mYWlsZWQnLCBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnYWktYWdlbnQnLCBBSUFnZW50U3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnYXBpJywgQXBpU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZmlsZS1kb3dubG9hZCcsIEZpbGVEb3dubG9hZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2RvY3VtZW50LXZlcmlmaWNhdGlvbicsIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICBdKVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBVaUtpdE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5KSB7XG4gICAgaWNvblJlZ2lzdHJ5LnJlZ2lzdGVyRm9udENsYXNzQWxpYXMoJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnLCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcpO1xuICB9XG59XG5cbiJdfQ==
|