@cqa-lib/cqa-ui 1.1.7 → 1.1.9

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.
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/icon";
4
+ import * as i2 from "@angular/common";
5
+ export class AiReasoningComponent {
6
+ constructor() {
7
+ this.reasoningPoints = [];
8
+ }
9
+ }
10
+ AiReasoningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AiReasoningComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ AiReasoningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: AiReasoningComponent, selector: "cqa-ai-reasoning", inputs: { reasoningPoints: "reasoningPoints" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-h-[200px] cqa-bg-white cqa-rounded-lg cqa-flex cqa-flex-col cqa-gap-[10px]\" style=\"border: 1px solid #E5E7EB; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-px-3 cqa-py-2\">\n <mat-icon class=\"!cqa-w-[16px] !cqa-h-[16px] !cqa-text-[16px]\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M6.62467 10.3332C6.56515 10.1025 6.44489 9.89191 6.27641 9.72343C6.10793 9.55495 5.89738 9.43469 5.66667 9.37517L1.57667 8.32051C1.50689 8.3007 1.44547 8.25867 1.40174 8.2008C1.35801 8.14293 1.33435 8.07238 1.33435 7.99984C1.33435 7.9273 1.35801 7.85675 1.40174 7.79888C1.44547 7.74101 1.50689 7.69898 1.57667 7.67917L5.66667 6.62384C5.8973 6.56438 6.1078 6.44422 6.27627 6.27587C6.44474 6.10751 6.56504 5.8971 6.62467 5.66651L7.67933 1.57651C7.69894 1.50645 7.74092 1.44474 7.79888 1.40077C7.85684 1.35681 7.92759 1.33301 8.00033 1.33301C8.07308 1.33301 8.14383 1.35681 8.20179 1.40077C8.25974 1.44474 8.30173 1.50645 8.32133 1.57651L9.37533 5.66651C9.43485 5.89722 9.55511 6.10777 9.72359 6.27625C9.89207 6.44473 10.1026 6.56499 10.3333 6.62451L14.4233 7.67851C14.4937 7.69791 14.5557 7.73985 14.5999 7.79789C14.6441 7.85594 14.668 7.92688 14.668 7.99984C14.668 8.0728 14.6441 8.14374 14.5999 8.20179C14.5557 8.25983 14.4937 8.30177 14.4233 8.32117L10.3333 9.37517C10.1026 9.43469 9.89207 9.55495 9.72359 9.72343C9.55511 9.89191 9.43485 10.1025 9.37533 10.3332L8.32067 14.4232C8.30106 14.4932 8.25908 14.5549 8.20112 14.5989C8.14316 14.6429 8.07241 14.6667 7.99967 14.6667C7.92692 14.6667 7.85617 14.6429 7.79821 14.5989C7.74026 14.5549 7.69827 14.4932 7.67867 14.4232L6.62467 10.3332Z\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M13.3333 2V4.66667\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.6667 3.33301H12\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M2.66666 11.333V12.6663\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M3.33333 12H2\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </mat-icon>\n <h3 class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#0A0A0A]\" style=\"margin: 0;\">AI Reasoning</h3>\n </div>\n\n <ul class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-list-none cqa-m-0 cqa-px-3 cqa-pb-2 cqa-h-[100%-44px] cqa-overflow-y-auto\" *ngIf=\"reasoningPoints && reasoningPoints.length > 0\">\n <li *ngFor=\"let point of reasoningPoints\" class=\"cqa-flex cqa-items-start cqa-gap-2\">\n <span class=\"cqa-w-1.5 cqa-h-1.5 cqa-rounded-full cqa-bg-[#0337DC] cqa-mt-1 cqa-flex-shrink-0\"></span>\n <span class=\"cqa-text-[10px] cqa-text-[#737373]\" style=\"line-height: 1.5;\">{{ point }}</span>\n </li>\n </ul>\n\n <div *ngIf=\"!reasoningPoints || reasoningPoints.length === 0\" class=\"cqa-text-[10px] cqa-text-[#737373]\">\n No reasoning points available.\n </div>\n </div>\n</div>\n\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AiReasoningComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'cqa-ai-reasoning', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-h-[200px] cqa-bg-white cqa-rounded-lg cqa-flex cqa-flex-col cqa-gap-[10px]\" style=\"border: 1px solid #E5E7EB; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-px-3 cqa-py-2\">\n <mat-icon class=\"!cqa-w-[16px] !cqa-h-[16px] !cqa-text-[16px]\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M6.62467 10.3332C6.56515 10.1025 6.44489 9.89191 6.27641 9.72343C6.10793 9.55495 5.89738 9.43469 5.66667 9.37517L1.57667 8.32051C1.50689 8.3007 1.44547 8.25867 1.40174 8.2008C1.35801 8.14293 1.33435 8.07238 1.33435 7.99984C1.33435 7.9273 1.35801 7.85675 1.40174 7.79888C1.44547 7.74101 1.50689 7.69898 1.57667 7.67917L5.66667 6.62384C5.8973 6.56438 6.1078 6.44422 6.27627 6.27587C6.44474 6.10751 6.56504 5.8971 6.62467 5.66651L7.67933 1.57651C7.69894 1.50645 7.74092 1.44474 7.79888 1.40077C7.85684 1.35681 7.92759 1.33301 8.00033 1.33301C8.07308 1.33301 8.14383 1.35681 8.20179 1.40077C8.25974 1.44474 8.30173 1.50645 8.32133 1.57651L9.37533 5.66651C9.43485 5.89722 9.55511 6.10777 9.72359 6.27625C9.89207 6.44473 10.1026 6.56499 10.3333 6.62451L14.4233 7.67851C14.4937 7.69791 14.5557 7.73985 14.5999 7.79789C14.6441 7.85594 14.668 7.92688 14.668 7.99984C14.668 8.0728 14.6441 8.14374 14.5999 8.20179C14.5557 8.25983 14.4937 8.30177 14.4233 8.32117L10.3333 9.37517C10.1026 9.43469 9.89207 9.55495 9.72359 9.72343C9.55511 9.89191 9.43485 10.1025 9.37533 10.3332L8.32067 14.4232C8.30106 14.4932 8.25908 14.5549 8.20112 14.5989C8.14316 14.6429 8.07241 14.6667 7.99967 14.6667C7.92692 14.6667 7.85617 14.6429 7.79821 14.5989C7.74026 14.5549 7.69827 14.4932 7.67867 14.4232L6.62467 10.3332Z\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M13.3333 2V4.66667\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.6667 3.33301H12\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M2.66666 11.333V12.6663\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M3.33333 12H2\" stroke=\"#0337DC\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </mat-icon>\n <h3 class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#0A0A0A]\" style=\"margin: 0;\">AI Reasoning</h3>\n </div>\n\n <ul class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-list-none cqa-m-0 cqa-px-3 cqa-pb-2 cqa-h-[100%-44px] cqa-overflow-y-auto\" *ngIf=\"reasoningPoints && reasoningPoints.length > 0\">\n <li *ngFor=\"let point of reasoningPoints\" class=\"cqa-flex cqa-items-start cqa-gap-2\">\n <span class=\"cqa-w-1.5 cqa-h-1.5 cqa-rounded-full cqa-bg-[#0337DC] cqa-mt-1 cqa-flex-shrink-0\"></span>\n <span class=\"cqa-text-[10px] cqa-text-[#737373]\" style=\"line-height: 1.5;\">{{ point }}</span>\n </li>\n </ul>\n\n <div *ngIf=\"!reasoningPoints || reasoningPoints.length === 0\" class=\"cqa-text-[10px] cqa-text-[#737373]\">\n No reasoning points available.\n </div>\n </div>\n</div>\n\n", styles: [] }]
15
+ }], propDecorators: { reasoningPoints: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktcmVhc29uaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYWktcmVhc29uaW5nL2FpLXJlYXNvbmluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FpLXJlYXNvbmluZy9haS1yZWFzb25pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLG9CQUFlLEdBQWEsRUFBRSxDQUFDO0tBQ3pDOztpSEFGWSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3R0NQakMsNnpHQTRCQTsyRkRyQmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFLbkIsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWFpLXJlYXNvbmluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9haS1yZWFzb25pbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFpUmVhc29uaW5nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVhc29uaW5nUG9pbnRzOiBzdHJpbmdbXSA9IFtdO1xufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1oLVsyMDBweF0gY3FhLWJnLXdoaXRlIGNxYS1yb3VuZGVkLWxnIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLVsxMHB4XVwiIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0U1RTdFQjsgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtcHgtMyBjcWEtcHktMlwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LVsxNnB4XSAhY3FhLWgtWzE2cHhdICFjcWEtdGV4dC1bMTZweF1cIj5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPHBhdGggZD1cIk02LjYyNDY3IDEwLjMzMzJDNi41NjUxNSAxMC4xMDI1IDYuNDQ0ODkgOS44OTE5MSA2LjI3NjQxIDkuNzIzNDNDNi4xMDc5MyA5LjU1NDk1IDUuODk3MzggOS40MzQ2OSA1LjY2NjY3IDkuMzc1MTdMMS41NzY2NyA4LjMyMDUxQzEuNTA2ODkgOC4zMDA3IDEuNDQ1NDcgOC4yNTg2NyAxLjQwMTc0IDguMjAwOEMxLjM1ODAxIDguMTQyOTMgMS4zMzQzNSA4LjA3MjM4IDEuMzM0MzUgNy45OTk4NEMxLjMzNDM1IDcuOTI3MyAxLjM1ODAxIDcuODU2NzUgMS40MDE3NCA3Ljc5ODg4QzEuNDQ1NDcgNy43NDEwMSAxLjUwNjg5IDcuNjk4OTggMS41NzY2NyA3LjY3OTE3TDUuNjY2NjcgNi42MjM4NEM1Ljg5NzMgNi41NjQzOCA2LjEwNzggNi40NDQyMiA2LjI3NjI3IDYuMjc1ODdDNi40NDQ3NCA2LjEwNzUxIDYuNTY1MDQgNS44OTcxIDYuNjI0NjcgNS42NjY1MUw3LjY3OTMzIDEuNTc2NTFDNy42OTg5NCAxLjUwNjQ1IDcuNzQwOTIgMS40NDQ3NCA3Ljc5ODg4IDEuNDAwNzdDNy44NTY4NCAxLjM1NjgxIDcuOTI3NTkgMS4zMzMwMSA4LjAwMDMzIDEuMzMzMDFDOC4wNzMwOCAxLjMzMzAxIDguMTQzODMgMS4zNTY4MSA4LjIwMTc5IDEuNDAwNzdDOC4yNTk3NCAxLjQ0NDc0IDguMzAxNzMgMS41MDY0NSA4LjMyMTMzIDEuNTc2NTFMOS4zNzUzMyA1LjY2NjUxQzkuNDM0ODUgNS44OTcyMiA5LjU1NTExIDYuMTA3NzcgOS43MjM1OSA2LjI3NjI1QzkuODkyMDcgNi40NDQ3MyAxMC4xMDI2IDYuNTY0OTkgMTAuMzMzMyA2LjYyNDUxTDE0LjQyMzMgNy42Nzg1MUMxNC40OTM3IDcuNjk3OTEgMTQuNTU1NyA3LjczOTg1IDE0LjU5OTkgNy43OTc4OUMxNC42NDQxIDcuODU1OTQgMTQuNjY4IDcuOTI2ODggMTQuNjY4IDcuOTk5ODRDMTQuNjY4IDguMDcyOCAxNC42NDQxIDguMTQzNzQgMTQuNTk5OSA4LjIwMTc5QzE0LjU1NTcgOC4yNTk4MyAxNC40OTM3IDguMzAxNzcgMTQuNDIzMyA4LjMyMTE3TDEwLjMzMzMgOS4zNzUxN0MxMC4xMDI2IDkuNDM0NjkgOS44OTIwNyA5LjU1NDk1IDkuNzIzNTkgOS43MjM0M0M5LjU1NTExIDkuODkxOTEgOS40MzQ4NSAxMC4xMDI1IDkuMzc1MzMgMTAuMzMzMkw4LjMyMDY3IDE0LjQyMzJDOC4zMDEwNiAxNC40OTMyIDguMjU5MDggMTQuNTU0OSA4LjIwMTEyIDE0LjU5ODlDOC4xNDMxNiAxNC42NDI5IDguMDcyNDEgMTQuNjY2NyA3Ljk5OTY3IDE0LjY2NjdDNy45MjY5MiAxNC42NjY3IDcuODU2MTcgMTQuNjQyOSA3Ljc5ODIxIDE0LjU5ODlDNy43NDAyNiAxNC41NTQ5IDcuNjk4MjcgMTQuNDkzMiA3LjY3ODY3IDE0LjQyMzJMNi42MjQ2NyAxMC4zMzMyWlwiIHN0cm9rZT1cIiMwMzM3RENcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMzMyAyVjQuNjY2NjdcIiBzdHJva2U9XCIjMDMzN0RDXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTE0LjY2NjcgMy4zMzMwMUgxMlwiIHN0cm9rZT1cIiMwMzM3RENcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMi42NjY2NiAxMS4zMzNWMTIuNjY2M1wiIHN0cm9rZT1cIiMwMzM3RENcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMy4zMzMzMyAxMkgyXCIgc3Ryb2tlPVwiIzAzMzdEQ1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICA8L21hdC1pY29uPlxuICAgICAgPGgzIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjMEEwQTBBXVwiIHN0eWxlPVwibWFyZ2luOiAwO1wiPkFJIFJlYXNvbmluZzwvaDM+XG4gICAgPC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1saXN0LW5vbmUgY3FhLW0tMCBjcWEtcHgtMyBjcWEtcGItMiBjcWEtaC1bMTAwJS00NHB4XSBjcWEtb3ZlcmZsb3cteS1hdXRvXCIgKm5nSWY9XCJyZWFzb25pbmdQb2ludHMgJiYgcmVhc29uaW5nUG9pbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgcmVhc29uaW5nUG9pbnRzXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXctMS41IGNxYS1oLTEuNSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bIzAzMzdEQ10gY3FhLW10LTEgY3FhLWZsZXgtc2hyaW5rLTBcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS10ZXh0LVsjNzM3MzczXVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEuNTtcIj57eyBwb2ludCB9fTwvc3Bhbj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cblxuICAgIDxkaXYgKm5nSWY9XCIhcmVhc29uaW5nUG9pbnRzIHx8IHJlYXNvbmluZ1BvaW50cy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bIzczNzM3M11cIj5cbiAgICAgIE5vIHJlYXNvbmluZyBwb2ludHMgYXZhaWxhYmxlLlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
@@ -4,6 +4,7 @@ import * as i1 from "@angular/material/icon";
4
4
  import * as i2 from "@angular/common";
5
5
  export class BadgeComponent {
6
6
  constructor() {
7
+ this.type = 'default';
7
8
  this.label = '';
8
9
  this.iconLibrary = 'mat';
9
10
  this.variant = 'default';
@@ -119,6 +120,10 @@ export class BadgeComponent {
119
120
  else if (this.size === 'small') {
120
121
  iconSize = '12px';
121
122
  }
123
+ // Custom iconSize overrides size-based defaults
124
+ if (this.iconSize && !isNaN(this.iconSize)) {
125
+ iconSize = `${this.iconSize}px`;
126
+ }
122
127
  const styles = {
123
128
  'font-size': iconSize,
124
129
  'width': iconSize,
@@ -151,11 +156,13 @@ export class BadgeComponent {
151
156
  }
152
157
  }
153
158
  BadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
- BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: BadgeComponent, selector: "cqa-badge", inputs: { label: "label", icon: "icon", iconLibrary: "iconLibrary", variant: "variant", size: "size", backgroundColor: "backgroundColor", textColor: "textColor", borderColor: "borderColor", iconBackgroundColor: "iconBackgroundColor", iconColor: "iconColor" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: inline-block;\">\n <span \n [ngClass]=\"badgeClasses\" \n [ngStyle]=\"badgeStyles\"\n [style.background-color]=\"backgroundColor\"\n [style.color]=\"textColor\"\n [style.border-color]=\"borderColor\"\n class=\"cqa-font-inter cqa-font-normal\">\n <span \n *ngIf=\"icon\" \n [ngClass]=\"iconContainerClasses\"\n [ngStyle]=\"iconContainerStyles\">\n <mat-icon \n *ngIf=\"iconLibrary === 'mat'\"\n [ngClass]=\"iconClasses\"\n [ngStyle]=\"iconStyles\">{{ icon }}</mat-icon>\n <i \n *ngIf=\"iconLibrary === 'fa'\"\n [ngClass]=\"iconClasses + ' ' + icon\"\n [ngStyle]=\"iconStyles\"></i>\n </span>\n {{ label }}\n </span>\n</div>\n\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
159
+ BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: BadgeComponent, selector: "cqa-badge", inputs: { type: "type", label: "label", icon: "icon", iconLibrary: "iconLibrary", variant: "variant", size: "size", backgroundColor: "backgroundColor", textColor: "textColor", borderColor: "borderColor", iconBackgroundColor: "iconBackgroundColor", iconColor: "iconColor", iconSize: "iconSize", inlineStyles: "inlineStyles", key: "key", value: "value", keyTextColor: "keyTextColor", valueTextColor: "valueTextColor" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: inline-block;\">\n <span \n [ngClass]=\"badgeClasses\" \n [ngStyle]=\"badgeStyles\"\n [style.background-color]=\"backgroundColor\"\n [style.color]=\"textColor\"\n [style.border-color]=\"borderColor\"\n [attr.style]=\"inlineStyles\"\n class=\"cqa-font-inter cqa-font-normal\">\n <!-- Default type: icon + label -->\n <ng-container *ngIf=\"type === 'default'\">\n <span \n *ngIf=\"icon\" \n [ngClass]=\"iconContainerClasses\"\n [ngStyle]=\"iconContainerStyles\">\n <mat-icon \n *ngIf=\"iconLibrary === 'mat'\"\n [ngClass]=\"iconClasses\"\n [ngStyle]=\"iconStyles\">{{ icon }}</mat-icon>\n <i \n *ngIf=\"iconLibrary === 'fa'\"\n [ngClass]=\"iconClasses + ' ' + icon\"\n [ngStyle]=\"iconStyles\"></i>\n </span>\n {{ label }}\n </ng-container>\n \n <!-- KeyValue type: key + value with different colors -->\n <ng-container *ngIf=\"type === 'keyValue'\">\n <span \n *ngIf=\"icon\" \n [ngClass]=\"iconContainerClasses\"\n [ngStyle]=\"iconContainerStyles\">\n <mat-icon \n *ngIf=\"iconLibrary === 'mat'\"\n [ngClass]=\"iconClasses\"\n [ngStyle]=\"iconStyles\">{{ icon }}</mat-icon>\n <i \n *ngIf=\"iconLibrary === 'fa'\"\n [ngClass]=\"iconClasses + ' ' + icon\"\n [ngStyle]=\"iconStyles\"></i>\n </span>\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-gap-[6px]\">\n <span [style.color]=\"keyTextColor\">{{ key }}:</span>\n <span [style.color]=\"valueTextColor\">{{ value }}</span>\n </div>\n </ng-container>\n </span>\n</div>\n\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
155
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BadgeComponent, decorators: [{
156
161
  type: Component,
157
- args: [{ selector: 'cqa-badge', template: "<div class=\"cqa-ui-root\" style=\"display: inline-block;\">\n <span \n [ngClass]=\"badgeClasses\" \n [ngStyle]=\"badgeStyles\"\n [style.background-color]=\"backgroundColor\"\n [style.color]=\"textColor\"\n [style.border-color]=\"borderColor\"\n class=\"cqa-font-inter cqa-font-normal\">\n <span \n *ngIf=\"icon\" \n [ngClass]=\"iconContainerClasses\"\n [ngStyle]=\"iconContainerStyles\">\n <mat-icon \n *ngIf=\"iconLibrary === 'mat'\"\n [ngClass]=\"iconClasses\"\n [ngStyle]=\"iconStyles\">{{ icon }}</mat-icon>\n <i \n *ngIf=\"iconLibrary === 'fa'\"\n [ngClass]=\"iconClasses + ' ' + icon\"\n [ngStyle]=\"iconStyles\"></i>\n </span>\n {{ label }}\n </span>\n</div>\n\n", styles: [] }]
158
- }], propDecorators: { label: [{
162
+ args: [{ selector: 'cqa-badge', template: "<div class=\"cqa-ui-root\" style=\"display: inline-block;\">\n <span \n [ngClass]=\"badgeClasses\" \n [ngStyle]=\"badgeStyles\"\n [style.background-color]=\"backgroundColor\"\n [style.color]=\"textColor\"\n [style.border-color]=\"borderColor\"\n [attr.style]=\"inlineStyles\"\n class=\"cqa-font-inter cqa-font-normal\">\n <!-- Default type: icon + label -->\n <ng-container *ngIf=\"type === 'default'\">\n <span \n *ngIf=\"icon\" \n [ngClass]=\"iconContainerClasses\"\n [ngStyle]=\"iconContainerStyles\">\n <mat-icon \n *ngIf=\"iconLibrary === 'mat'\"\n [ngClass]=\"iconClasses\"\n [ngStyle]=\"iconStyles\">{{ icon }}</mat-icon>\n <i \n *ngIf=\"iconLibrary === 'fa'\"\n [ngClass]=\"iconClasses + ' ' + icon\"\n [ngStyle]=\"iconStyles\"></i>\n </span>\n {{ label }}\n </ng-container>\n \n <!-- KeyValue type: key + value with different colors -->\n <ng-container *ngIf=\"type === 'keyValue'\">\n <span \n *ngIf=\"icon\" \n [ngClass]=\"iconContainerClasses\"\n [ngStyle]=\"iconContainerStyles\">\n <mat-icon \n *ngIf=\"iconLibrary === 'mat'\"\n [ngClass]=\"iconClasses\"\n [ngStyle]=\"iconStyles\">{{ icon }}</mat-icon>\n <i \n *ngIf=\"iconLibrary === 'fa'\"\n [ngClass]=\"iconClasses + ' ' + icon\"\n [ngStyle]=\"iconStyles\"></i>\n </span>\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-gap-[6px]\">\n <span [style.color]=\"keyTextColor\">{{ key }}:</span>\n <span [style.color]=\"valueTextColor\">{{ value }}</span>\n </div>\n </ng-container>\n </span>\n</div>\n\n", styles: [] }]
163
+ }], propDecorators: { type: [{
164
+ type: Input
165
+ }], label: [{
159
166
  type: Input
160
167
  }], icon: [{
161
168
  type: Input
@@ -175,5 +182,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
175
182
  type: Input
176
183
  }], iconColor: [{
177
184
  type: Input
185
+ }], iconSize: [{
186
+ type: Input
187
+ }], inlineStyles: [{
188
+ type: Input
189
+ }], key: [{
190
+ type: Input
191
+ }], value: [{
192
+ type: Input
193
+ }], keyTextColor: [{
194
+ type: Input
195
+ }], valueTextColor: [{
196
+ type: Input
178
197
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVWpELE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTVcsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixnQkFBVyxHQUFpQixLQUFLLENBQUM7UUFDbEMsWUFBTyxHQUFpQixTQUFTLENBQUM7UUFDbEMsU0FBSSxHQUFjLFFBQVEsQ0FBQztLQWtLckM7SUEzSkMsSUFBSSxZQUFZO1FBQ2QsTUFBTSxXQUFXLEdBQUc7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtTQUNsQixDQUFDO1FBRUYsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7WUFDL0IsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDL0c7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2hDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNuRjthQUFNO1lBQ0wsbUJBQW1CO1lBQ25CLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNuRjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM1QyxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLEtBQUssT0FBTztvQkFDVixPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlFLEtBQUssU0FBUztvQkFDWixPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlFLEtBQUssTUFBTTtvQkFDVCxPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVFLEtBQUssU0FBUztvQkFDWixPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlFLEtBQUssU0FBUztvQkFDWixPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9FO29CQUNFLE9BQU8sQ0FBQyxHQUFHLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3RTtTQUNGO1FBRUQsMERBQTBEO1FBQzFELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxNQUFNLEdBQThCLEVBQUUsQ0FBQztRQUU3QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNuRDthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsYUFBYSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNsQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixNQUFNLFdBQVcsR0FBRztZQUNsQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixtQkFBbUI7U0FDcEIsQ0FBQztRQUVGLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7WUFDOUIsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoQztRQUVELG9FQUFvRTtRQUNwRSxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE1BQU0sTUFBTSxHQUE4QjtZQUN4QyxTQUFTLEVBQUUsYUFBYTtZQUN4QixhQUFhLEVBQUUsUUFBUTtZQUN2QixpQkFBaUIsRUFBRSxRQUFRO1NBQzVCLENBQUM7UUFFRiwwRkFBMEY7UUFDMUYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ3RELDBEQUEwRDtZQUMxRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDMUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUM3QixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDakM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBRWpDLG1FQUFtRTtRQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckQ7UUFFRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFO1lBQy9CLFFBQVEsR0FBRyxNQUFNLENBQUM7U0FDbkI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2hDLFFBQVEsR0FBRyxNQUFNLENBQUM7U0FDbkI7UUFDRCxNQUFNLE1BQU0sR0FBOEI7WUFDeEMsV0FBVyxFQUFFLFFBQVE7WUFDckIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsYUFBYSxFQUFFLFFBQVE7U0FDeEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNsQzthQUFNO1lBQ0wseUVBQXlFO1lBQ3pFLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsS0FBSyxPQUFPO29CQUNWLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxVQUFVO29CQUN2QyxNQUFNO2dCQUNSLEtBQUssU0FBUztvQkFDWixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsYUFBYTtvQkFDMUMsTUFBTTtnQkFDUixLQUFLLE1BQU07b0JBQ1QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLFdBQVc7b0JBQ3hDLE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxZQUFZO29CQUN6QyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLG1CQUFtQjthQUNyRTtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7MkdBdEtVLGNBQWM7K0ZBQWQsY0FBYyxxVENWM0IsZ3dCQXlCQTsyRkRmYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7OEJBS1osS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEJhZGdlVmFyaWFudCA9ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnZGVmYXVsdCcgfCAnb3V0bGluZSc7XG5leHBvcnQgdHlwZSBCYWRnZVNpemUgPSAnZXh0cmEtc21hbGwnIHwgJ3NtYWxsJyB8ICdtZWRpdW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uTGlicmFyeTogJ21hdCcgfCAnZmEnID0gJ21hdCc7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IEJhZGdlVmFyaWFudCA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgc2l6ZTogQmFkZ2VTaXplID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXJDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbkJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogc3RyaW5nO1xuXG4gIGdldCBiYWRnZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdjcWEtaW5saW5lLWZsZXgnLFxuICAgICAgJ2NxYS1pdGVtcy1jZW50ZXInLFxuICAgICAgJ2NxYS1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnY3FhLXJvdW5kZWQtWzZweF0nLFxuICAgICAgJ2NxYS1mb250LW5vcm1hbCdcbiAgICBdO1xuICAgIFxuICAgIC8vIEFkZCBzaXplLXNwZWNpZmljIGNsYXNzZXNcbiAgICBpZiAodGhpcy5zaXplID09PSAnZXh0cmEtc21hbGwnKSB7XG4gICAgICBiYXNlQ2xhc3Nlcy5wdXNoKCdjcWEtdGV4dC1bOHB4XScsICdjcWEtbGVhZGluZy1bMTJweF0nLCAnY3FhLXB5LVsycHhdJywgJ2NxYS1weC1bNHB4XScsICdjcWEtcm91bmRlZC1bNHB4XScpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zaXplID09PSAnc21hbGwnKSB7XG4gICAgICBiYXNlQ2xhc3Nlcy5wdXNoKCdjcWEtdGV4dC14cycsICdjcWEtbGVhZGluZy1bMTdweF0nLCAnY3FhLXB5LVsycHhdJywgJ2NxYS1weC0yJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1lZGl1bSAoZGVmYXVsdClcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2NxYS10ZXh0LXNtJywgJ2NxYS1sZWFkaW5nLVsxN3B4XScsICdjcWEtcHktWzRweF0nLCAnY3FhLXB4LTMnKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMuYm9yZGVyQ29sb3IpIHtcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2NxYS1ib3JkZXInLCAnY3FhLWJvcmRlci1zb2xpZCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBPbmx5IGFwcGx5IHZhcmlhbnQtc3BlY2lmaWMgVGFpbHdpbmQgY2xhc3NlcyBpZiBjdXN0b20gY29sb3JzIGFyZSBub3QgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMuYmFja2dyb3VuZENvbG9yICYmICF0aGlzLnRleHRDb2xvcikge1xuICAgICAgc3dpdGNoICh0aGlzLnZhcmlhbnQpIHtcbiAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsICdjcWEtYmctWyNGQ0Q5RDldJywgJ2NxYS10ZXh0LVsjOUYyQTJBXSddLmpvaW4oJyAnKTtcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgcmV0dXJuIFsuLi5iYXNlQ2xhc3NlcywgJ2NxYS1iZy1bI0ZGRjlFOV0nLCAnY3FhLXRleHQtWyM3RTYwMTJdJ10uam9pbignICcpO1xuICAgICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLWJnLWJsdWUtMTAwJywgJ2NxYS10ZXh0LWJsdWUtODAwJ10uam9pbignICcpO1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLWJnLWdyZWVuLTEwMCcsICdjcWEtdGV4dC1ncmVlbi04MDAnXS5qb2luKCcgJyk7XG4gICAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsICdjcWEtYmctdHJhbnNwYXJlbnQnLCAnY3FhLXRleHQtZ3JheS04MDAnXS5qb2luKCcgJyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIFsuLi5iYXNlQ2xhc3NlcywgJ2NxYS1iZy1ncmF5LTEwMCcsICdjcWEtdGV4dC1ncmF5LTgwMCddLmpvaW4oJyAnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gSWYgY3VzdG9tIGNvbG9ycyBhcmUgcHJvdmlkZWQsIG9ubHkgcmV0dXJuIGJhc2UgY2xhc3Nlc1xuICAgIHJldHVybiBiYXNlQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgYmFkZ2VTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgY29uc3Qgc3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgXG4gICAgaWYgKHRoaXMuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBzdHlsZXNbJ2JhY2tncm91bmQtY29sb3InXSA9IHRoaXMuYmFja2dyb3VuZENvbG9yO1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnb3V0bGluZScpIHtcbiAgICAgIHN0eWxlc1snYmFja2dyb3VuZC1jb2xvciddID0gJ3RyYW5zcGFyZW50JztcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMudGV4dENvbG9yKSB7XG4gICAgICBzdHlsZXNbJ2NvbG9yJ10gPSB0aGlzLnRleHRDb2xvcjtcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMuYm9yZGVyQ29sb3IpIHtcbiAgICAgIHN0eWxlc1snYm9yZGVyLWNvbG9yJ10gPSB0aGlzLmJvcmRlckNvbG9yO1xuICAgICAgc3R5bGVzWydib3JkZXItd2lkdGgnXSA9ICcxcHgnO1xuICAgICAgc3R5bGVzWydib3JkZXItc3R5bGUnXSA9ICdzb2xpZCc7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cblxuICBnZXQgaWNvbkNvbnRhaW5lckNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdjcWEtaW5saW5lLWZsZXgnLFxuICAgICAgJ2NxYS1pdGVtcy1jZW50ZXInLFxuICAgICAgJ2NxYS1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnY3FhLWZsZXgtc2hyaW5rLTAnXG4gICAgXTtcblxuICAgIGlmKHRoaXMuc2l6ZSA9PT0gJ2V4dHJhLXNtYWxsJykge1xuICAgICAgYmFzZUNsYXNzZXMucHVzaCgnY3FhLW1yLTEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZUNsYXNzZXMucHVzaCgnY3FhLW1yLTEuNScpO1xuICAgIH1cbiAgICBcbiAgICAvLyBObyBjaXJjdWxhciBiYWNrZ3JvdW5kIGZvciBhbnkgdmFyaWFudCAtIGp1c3QgcmV0dXJuIGJhc2UgY2xhc3Nlc1xuICAgIHJldHVybiBiYXNlQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgaWNvbkNvbnRhaW5lclN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBjb25zdCBzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAnZGlzcGxheSc6ICdpbmxpbmUtZmxleCcsXG4gICAgICAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnY2VudGVyJ1xuICAgIH07XG4gICAgXG4gICAgLy8gTm8gY2lyY3VsYXIgYmFja2dyb3VuZCAtIG9ubHkgYXBwbHkgY3VzdG9tIGljb24gYmFja2dyb3VuZCBjb2xvciBpZiBleHBsaWNpdGx5IHByb3ZpZGVkXG4gICAgaWYgKHRoaXMuaWNvbkJhY2tncm91bmRDb2xvcikge1xuICAgICAgc3R5bGVzWydiYWNrZ3JvdW5kLWNvbG9yJ10gPSB0aGlzLmljb25CYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAvLyBJZiBjdXN0b20gYmFja2dyb3VuZCBpcyBwcm92aWRlZCwgYWRkIGNpcmNsZSBkaW1lbnNpb25zXG4gICAgICBzdHlsZXNbJ3dpZHRoJ10gPSAnMTZweCc7XG4gICAgICBzdHlsZXNbJ2hlaWdodCddID0gJzE2cHgnO1xuICAgICAgc3R5bGVzWydtaW4td2lkdGgnXSA9ICcxNnB4JztcbiAgICAgIHN0eWxlc1snbWluLWhlaWdodCddID0gJzE2cHgnO1xuICAgICAgc3R5bGVzWydib3JkZXItcmFkaXVzJ10gPSAnNTAlJztcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxuXG4gIGdldCBpY29uQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgIFxuICAgIC8vIE9ubHkgYXBwbHkgd2hpdGUgdGV4dCBjbGFzcyBpZiBjdXN0b20gaWNvbiBjb2xvciBpcyBub3QgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMuaWNvbkNvbG9yKSB7XG4gICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtd2hpdGUnXS5qb2luKCcgJyk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBiYXNlQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgaWNvblN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBsZXQgaWNvblNpemUgPSAnMTRweCc7XG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2V4dHJhLXNtYWxsJykge1xuICAgICAgaWNvblNpemUgPSAnMTBweCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNpemUgPT09ICdzbWFsbCcpIHtcbiAgICAgIGljb25TaXplID0gJzEycHgnO1xuICAgIH1cbiAgICBjb25zdCBzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAnZm9udC1zaXplJzogaWNvblNpemUsXG4gICAgICAnd2lkdGgnOiBpY29uU2l6ZSxcbiAgICAgICdoZWlnaHQnOiBpY29uU2l6ZSxcbiAgICAgICdsaW5lLWhlaWdodCc6IGljb25TaXplXG4gICAgfTtcbiAgICBcbiAgICBpZiAodGhpcy5pY29uQ29sb3IpIHtcbiAgICAgIHN0eWxlc1snY29sb3InXSA9IHRoaXMuaWNvbkNvbG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVc2UgdmFyaWFudC1zcGVjaWZpYyB0ZXh0IGNvbG9yIGZvciBpY29uIChubyB3aGl0ZSBiYWNrZ3JvdW5kIGFueW1vcmUpXG4gICAgICBzd2l0Y2ggKHRoaXMudmFyaWFudCkge1xuICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgc3R5bGVzWydjb2xvciddID0gJyM5OTFCMUInOyAvLyByZWQtODAwXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgIHN0eWxlc1snY29sb3InXSA9ICcjODU0RDBFJzsgLy8geWVsbG93LTgwMFxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgICBzdHlsZXNbJ2NvbG9yJ10gPSAnIzFFNDBBRic7IC8vIGJsdWUtODAwXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgIHN0eWxlc1snY29sb3InXSA9ICcjMTY2NTM0JzsgLy8gZ3JlZW4tODAwXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgc3R5bGVzWydjb2xvciddID0gdGhpcy50ZXh0Q29sb3IgfHwgJyMzNzQxNTEnOyAvLyBncmF5LTcwMCBkZWZhdWx0XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+XG4gIDxzcGFuIFxuICAgIFtuZ0NsYXNzXT1cImJhZGdlQ2xhc3Nlc1wiIFxuICAgIFtuZ1N0eWxlXT1cImJhZGdlU3R5bGVzXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxuICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXh0Q29sb3JcIlxuICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiYm9yZGVyQ29sb3JcIlxuICAgIGNsYXNzPVwiY3FhLWZvbnQtaW50ZXIgY3FhLWZvbnQtbm9ybWFsXCI+XG4gICAgPHNwYW4gXG4gICAgICAqbmdJZj1cImljb25cIiBcbiAgICAgIFtuZ0NsYXNzXT1cImljb25Db250YWluZXJDbGFzc2VzXCJcbiAgICAgIFtuZ1N0eWxlXT1cImljb25Db250YWluZXJTdHlsZXNcIj5cbiAgICAgIDxtYXQtaWNvbiBcbiAgICAgICAgKm5nSWY9XCJpY29uTGlicmFyeSA9PT0gJ21hdCdcIlxuICAgICAgICBbbmdDbGFzc109XCJpY29uQ2xhc3Nlc1wiXG4gICAgICAgIFtuZ1N0eWxlXT1cImljb25TdHlsZXNcIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgIDxpIFxuICAgICAgICAqbmdJZj1cImljb25MaWJyYXJ5ID09PSAnZmEnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaWNvbkNsYXNzZXMgKyAnICcgKyBpY29uXCJcbiAgICAgICAgW25nU3R5bGVdPVwiaWNvblN0eWxlc1wiPjwvaT5cbiAgICA8L3NwYW4+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG5cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBV2pELE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTVcsU0FBSSxHQUFjLFNBQVMsQ0FBQztRQUM1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGdCQUFXLEdBQWlCLEtBQUssQ0FBQztRQUNsQyxZQUFPLEdBQWlCLFNBQVMsQ0FBQztRQUNsQyxTQUFJLEdBQWMsUUFBUSxDQUFDO0tBK0tyQztJQWhLQyxJQUFJLFlBQVk7UUFDZCxNQUFNLFdBQVcsR0FBRztZQUNsQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsaUJBQWlCO1NBQ2xCLENBQUM7UUFFRiw0QkFBNEI7UUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRTtZQUMvQixXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztTQUMvRzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ25GO2FBQU07WUFDTCxtQkFBbUI7WUFDbkIsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsSUFBSSxJQUFJ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O2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQmFkZ2VWYXJpYW50ID0gJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICdkZWZhdWx0JyB8ICdvdXRsaW5lJztcbmV4cG9ydCB0eXBlIEJhZGdlU2l6ZSA9ICdleHRyYS1zbWFsbCcgfCAnc21hbGwnIHwgJ21lZGl1bSc7XG5leHBvcnQgdHlwZSBCYWRnZVR5cGUgPSAnZGVmYXVsdCcgfCAna2V5VmFsdWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdHlwZTogQmFkZ2VUeXBlID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25MaWJyYXJ5OiAnbWF0JyB8ICdmYScgPSAnbWF0JztcbiAgQElucHV0KCkgdmFyaWFudDogQmFkZ2VWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaXplOiBCYWRnZVNpemUgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25TaXplPzogbnVtYmVyO1xuICAvKiogSW5saW5lIHN0eWxlcyBhcyBhIHN0cmluZyAoZS5nLiwgXCJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweDtcIikgKi9cbiAgQElucHV0KCkgaW5saW5lU3R5bGVzPzogc3RyaW5nO1xuICAvLyBLZXlWYWx1ZSB0eXBlIHNwZWNpZmljIGlucHV0c1xuICBASW5wdXQoKSBrZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSBrZXlUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlVGV4dENvbG9yPzogc3RyaW5nO1xuXG4gIGdldCBiYWRnZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdjcWEtaW5saW5lLWZsZXgnLFxuICAgICAgJ2NxYS1pdGVtcy1jZW50ZXInLFxuICAgICAgJ2NxYS1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnY3FhLXJvdW5kZWQtWzZweF0nLFxuICAgICAgJ2NxYS1mb250LW5vcm1hbCdcbiAgICBdO1xuICAgIFxuICAgIC8vIEFkZCBzaXplLXNwZWNpZmljIGNsYXNzZXNcbiAgICBpZiAodGhpcy5zaXplID09PSAnZXh0cmEtc21hbGwnKSB7XG4gICAgICBiYXNlQ2xhc3Nlcy5wdXNoKCdjcWEtdGV4dC1bOHB4XScsICdjcWEtbGVhZGluZy1bMTJweF0nLCAnY3FhLXB5LVsycHhdJywgJ2NxYS1weC1bNHB4XScsICdjcWEtcm91bmRlZC1bNHB4XScpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zaXplID09PSAnc21hbGwnKSB7XG4gICAgICBiYXNlQ2xhc3Nlcy5wdXNoKCdjcWEtdGV4dC14cycsICdjcWEtbGVhZGluZy1bMTdweF0nLCAnY3FhLXB5LVsycHhdJywgJ2NxYS1weC0yJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1lZGl1bSAoZGVmYXVsdClcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2NxYS10ZXh0LXNtJywgJ2NxYS1sZWFkaW5nLVsxN3B4XScsICdjcWEtcHktWzRweF0nLCAnY3FhLXB4LTMnKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMuYm9yZGVyQ29sb3IpIHtcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2NxYS1ib3JkZXInLCAnY3FhLWJvcmRlci1zb2xpZCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBPbmx5IGFwcGx5IHZhcmlhbnQtc3BlY2lmaWMgVGFpbHdpbmQgY2xhc3NlcyBpZiBjdXN0b20gY29sb3JzIGFyZSBub3QgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMuYmFja2dyb3VuZENvbG9yICYmICF0aGlzLnRleHRDb2xvcikge1xuICAgICAgc3dpdGNoICh0aGlzLnZhcmlhbnQpIHtcbiAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsICdjcWEtYmctWyNGQ0Q5RDldJywgJ2NxYS10ZXh0LVsjOUYyQTJBXSddLmpvaW4oJyAnKTtcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgcmV0dXJuIFsuLi5iYXNlQ2xhc3NlcywgJ2NxYS1iZy1bI0ZGRjlFOV0nLCAnY3FhLXRleHQtWyM3RTYwMTJdJ10uam9pbignICcpO1xuICAgICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLWJnLWJsdWUtMTAwJywgJ2NxYS10ZXh0LWJsdWUtODAwJ10uam9pbignICcpO1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLWJnLWdyZWVuLTEwMCcsICdjcWEtdGV4dC1ncmVlbi04MDAnXS5qb2luKCcgJyk7XG4gICAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsICdjcWEtYmctdHJhbnNwYXJlbnQnLCAnY3FhLXRleHQtZ3JheS04MDAnXS5qb2luKCcgJyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIFsuLi5iYXNlQ2xhc3NlcywgJ2NxYS1iZy1ncmF5LTEwMCcsICdjcWEtdGV4dC1ncmF5LTgwMCddLmpvaW4oJyAnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gSWYgY3VzdG9tIGNvbG9ycyBhcmUgcHJvdmlkZWQsIG9ubHkgcmV0dXJuIGJhc2UgY2xhc3Nlc1xuICAgIHJldHVybiBiYXNlQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgYmFkZ2VTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgY29uc3Qgc3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgXG4gICAgaWYgKHRoaXMuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBzdHlsZXNbJ2JhY2tncm91bmQtY29sb3InXSA9IHRoaXMuYmFja2dyb3VuZENvbG9yO1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnb3V0bGluZScpIHtcbiAgICAgIHN0eWxlc1snYmFja2dyb3VuZC1jb2xvciddID0gJ3RyYW5zcGFyZW50JztcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMudGV4dENvbG9yKSB7XG4gICAgICBzdHlsZXNbJ2NvbG9yJ10gPSB0aGlzLnRleHRDb2xvcjtcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMuYm9yZGVyQ29sb3IpIHtcbiAgICAgIHN0eWxlc1snYm9yZGVyLWNvbG9yJ10gPSB0aGlzLmJvcmRlckNvbG9yO1xuICAgICAgc3R5bGVzWydib3JkZXItd2lkdGgnXSA9ICcxcHgnO1xuICAgICAgc3R5bGVzWydib3JkZXItc3R5bGUnXSA9ICdzb2xpZCc7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cblxuICBnZXQgaWNvbkNvbnRhaW5lckNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdjcWEtaW5saW5lLWZsZXgnLFxuICAgICAgJ2NxYS1pdGVtcy1jZW50ZXInLFxuICAgICAgJ2NxYS1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnY3FhLWZsZXgtc2hyaW5rLTAnXG4gICAgXTtcblxuICAgIGlmKHRoaXMuc2l6ZSA9PT0gJ2V4dHJhLXNtYWxsJykge1xuICAgICAgYmFzZUNsYXNzZXMucHVzaCgnY3FhLW1yLTEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZUNsYXNzZXMucHVzaCgnY3FhLW1yLTEuNScpO1xuICAgIH1cbiAgICBcbiAgICAvLyBObyBjaXJjdWxhciBiYWNrZ3JvdW5kIGZvciBhbnkgdmFyaWFudCAtIGp1c3QgcmV0dXJuIGJhc2UgY2xhc3Nlc1xuICAgIHJldHVybiBiYXNlQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgaWNvbkNvbnRhaW5lclN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBjb25zdCBzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAnZGlzcGxheSc6ICdpbmxpbmUtZmxleCcsXG4gICAgICAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnY2VudGVyJ1xuICAgIH07XG4gICAgXG4gICAgLy8gTm8gY2lyY3VsYXIgYmFja2dyb3VuZCAtIG9ubHkgYXBwbHkgY3VzdG9tIGljb24gYmFja2dyb3VuZCBjb2xvciBpZiBleHBsaWNpdGx5IHByb3ZpZGVkXG4gICAgaWYgKHRoaXMuaWNvbkJhY2tncm91bmRDb2xvcikge1xuICAgICAgc3R5bGVzWydiYWNrZ3JvdW5kLWNvbG9yJ10gPSB0aGlzLmljb25CYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAvLyBJZiBjdXN0b20gYmFja2dyb3VuZCBpcyBwcm92aWRlZCwgYWRkIGNpcmNsZSBkaW1lbnNpb25zXG4gICAgICBzdHlsZXNbJ3dpZHRoJ10gPSAnMTZweCc7XG4gICAgICBzdHlsZXNbJ2hlaWdodCddID0gJzE2cHgnO1xuICAgICAgc3R5bGVzWydtaW4td2lkdGgnXSA9ICcxNnB4JztcbiAgICAgIHN0eWxlc1snbWluLWhlaWdodCddID0gJzE2cHgnO1xuICAgICAgc3R5bGVzWydib3JkZXItcmFkaXVzJ10gPSAnNTAlJztcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxuXG4gIGdldCBpY29uQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgIFxuICAgIC8vIE9ubHkgYXBwbHkgd2hpdGUgdGV4dCBjbGFzcyBpZiBjdXN0b20gaWNvbiBjb2xvciBpcyBub3QgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMuaWNvbkNvbG9yKSB7XG4gICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtd2hpdGUnXS5qb2luKCcgJyk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBiYXNlQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgaWNvblN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBsZXQgaWNvblNpemUgPSAnMTRweCc7XG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2V4dHJhLXNtYWxsJykge1xuICAgICAgaWNvblNpemUgPSAnMTBweCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNpemUgPT09ICdzbWFsbCcpIHtcbiAgICAgIGljb25TaXplID0gJzEycHgnO1xuICAgIH1cbiAgICAvLyBDdXN0b20gaWNvblNpemUgb3ZlcnJpZGVzIHNpemUtYmFzZWQgZGVmYXVsdHNcbiAgICBpZiAodGhpcy5pY29uU2l6ZSAmJiAhaXNOYU4odGhpcy5pY29uU2l6ZSkpIHtcbiAgICAgIGljb25TaXplID0gYCR7dGhpcy5pY29uU2l6ZX1weGA7XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgICAgJ2ZvbnQtc2l6ZSc6IGljb25TaXplLFxuICAgICAgJ3dpZHRoJzogaWNvblNpemUsXG4gICAgICAnaGVpZ2h0JzogaWNvblNpemUsXG4gICAgICAnbGluZS1oZWlnaHQnOiBpY29uU2l6ZVxuICAgIH07XG4gICAgXG4gICAgaWYgKHRoaXMuaWNvbkNvbG9yKSB7XG4gICAgICBzdHlsZXNbJ2NvbG9yJ10gPSB0aGlzLmljb25Db2xvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXNlIHZhcmlhbnQtc3BlY2lmaWMgdGV4dCBjb2xvciBmb3IgaWNvbiAobm8gd2hpdGUgYmFja2dyb3VuZCBhbnltb3JlKVxuICAgICAgc3dpdGNoICh0aGlzLnZhcmlhbnQpIHtcbiAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgIHN0eWxlc1snY29sb3InXSA9ICcjOTkxQjFCJzsgLy8gcmVkLTgwMFxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgICBzdHlsZXNbJ2NvbG9yJ10gPSAnIzg1NEQwRSc7IC8vIHllbGxvdy04MDBcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgc3R5bGVzWydjb2xvciddID0gJyMxRTQwQUYnOyAvLyBibHVlLTgwMFxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICBzdHlsZXNbJ2NvbG9yJ10gPSAnIzE2NjUzNCc7IC8vIGdyZWVuLTgwMFxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHN0eWxlc1snY29sb3InXSA9IHRoaXMudGV4dENvbG9yIHx8ICcjMzc0MTUxJzsgLy8gZ3JheS03MDAgZGVmYXVsdFxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO1wiPlxuICA8c3BhbiBcbiAgICBbbmdDbGFzc109XCJiYWRnZUNsYXNzZXNcIiBcbiAgICBbbmdTdHlsZV09XCJiYWRnZVN0eWxlc1wiXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCJcbiAgICBbc3R5bGUuY29sb3JdPVwidGV4dENvbG9yXCJcbiAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImJvcmRlckNvbG9yXCJcbiAgICBbYXR0ci5zdHlsZV09XCJpbmxpbmVTdHlsZXNcIlxuICAgIGNsYXNzPVwiY3FhLWZvbnQtaW50ZXIgY3FhLWZvbnQtbm9ybWFsXCI+XG4gICAgPCEtLSBEZWZhdWx0IHR5cGU6IGljb24gKyBsYWJlbCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ2RlZmF1bHQnXCI+XG4gICAgICA8c3BhbiBcbiAgICAgICAgKm5nSWY9XCJpY29uXCIgXG4gICAgICAgIFtuZ0NsYXNzXT1cImljb25Db250YWluZXJDbGFzc2VzXCJcbiAgICAgICAgW25nU3R5bGVdPVwiaWNvbkNvbnRhaW5lclN0eWxlc1wiPlxuICAgICAgICA8bWF0LWljb24gXG4gICAgICAgICAgKm5nSWY9XCJpY29uTGlicmFyeSA9PT0gJ21hdCdcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImljb25DbGFzc2VzXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJpY29uU3R5bGVzXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgIDxpIFxuICAgICAgICAgICpuZ0lmPVwiaWNvbkxpYnJhcnkgPT09ICdmYSdcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImljb25DbGFzc2VzICsgJyAnICsgaWNvblwiXG4gICAgICAgICAgW25nU3R5bGVdPVwiaWNvblN0eWxlc1wiPjwvaT5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgPCEtLSBLZXlWYWx1ZSB0eXBlOiBrZXkgKyB2YWx1ZSB3aXRoIGRpZmZlcmVudCBjb2xvcnMgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdrZXlWYWx1ZSdcIj5cbiAgICAgIDxzcGFuIFxuICAgICAgICAqbmdJZj1cImljb25cIiBcbiAgICAgICAgW25nQ2xhc3NdPVwiaWNvbkNvbnRhaW5lckNsYXNzZXNcIlxuICAgICAgICBbbmdTdHlsZV09XCJpY29uQ29udGFpbmVyU3R5bGVzXCI+XG4gICAgICAgIDxtYXQtaWNvbiBcbiAgICAgICAgICAqbmdJZj1cImljb25MaWJyYXJ5ID09PSAnbWF0J1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaWNvbkNsYXNzZXNcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cImljb25TdHlsZXNcIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPGkgXG4gICAgICAgICAgKm5nSWY9XCJpY29uTGlicmFyeSA9PT0gJ2ZhJ1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaWNvbkNsYXNzZXMgKyAnICcgKyBpY29uXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJpY29uU3R5bGVzXCI+PC9pPlxuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1nYXAtWzZweF1cIj5cbiAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImtleVRleHRDb2xvclwiPnt7IGtleSB9fTo8L3NwYW4+XG4gICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZVRleHRDb2xvclwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG4iXX0=
@@ -195,7 +195,7 @@ export class InsightCardComponent {
195
195
  }
196
196
  }
197
197
  InsightCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InsightCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
198
- InsightCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InsightCardComponent, selector: "cqa-insight-card", inputs: { title: "title", description: "description", showAiSuggestionButton: "showAiSuggestionButton", badges: "badges", metadata: "metadata", prerequisiteSection: "prerequisiteSection", testDataSection: "testDataSection", metadataExpanded: "metadataExpanded", isPrerequisiteMissing: "isPrerequisiteMissing", isTestDataMissing: "isTestDataMissing" }, outputs: { metadataToggle: "metadataToggle", sectionToggle: "sectionToggle", sectionActionClick: "sectionActionClick", onApplySuggestionClick: "onApplySuggestionClick", onAttachPrerequisitesClick: "onAttachPrerequisitesClick", onImportTestDataClick: "onImportTestDataClick", metadataKeyClick: "metadataKeyClick" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-cursor-pointer cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div \n class=\"cqa-flex cqa-items-center cqa-gap-[6px]\"\n [class.clickable-key-container]=\"isKeyClickable(item.value)\"\n (click)=\"onKeyClick(item.key, item.value)\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"item.key != 'ID' ? 'cqa-text-primary' : ''\"\n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"item.key != 'ID' ? getMetadataValueStyle(item.key, item.value) : {}\"\n class=\" cqa-text-primary cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n </div>\n</div>\n \n", components: [{ type: i1.BadgeComponent, selector: "cqa-badge", inputs: ["label", "icon", "iconLibrary", "variant", "size", "backgroundColor", "textColor", "borderColor", "iconBackgroundColor", "iconColor"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "keyvalue": i4.KeyValuePipe } });
198
+ InsightCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InsightCardComponent, selector: "cqa-insight-card", inputs: { title: "title", description: "description", showAiSuggestionButton: "showAiSuggestionButton", badges: "badges", metadata: "metadata", prerequisiteSection: "prerequisiteSection", testDataSection: "testDataSection", metadataExpanded: "metadataExpanded", isPrerequisiteMissing: "isPrerequisiteMissing", isTestDataMissing: "isTestDataMissing" }, outputs: { metadataToggle: "metadataToggle", sectionToggle: "sectionToggle", sectionActionClick: "sectionActionClick", onApplySuggestionClick: "onApplySuggestionClick", onAttachPrerequisitesClick: "onAttachPrerequisitesClick", onImportTestDataClick: "onImportTestDataClick", metadataKeyClick: "metadataKeyClick" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-cursor-pointer cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div \n class=\"cqa-flex cqa-items-center cqa-gap-[6px]\"\n [class.clickable-key-container]=\"isKeyClickable(item.value)\"\n (click)=\"onKeyClick(item.key, item.value)\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"item.key != 'ID' ? 'cqa-text-primary' : ''\"\n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"item.key != 'ID' ? getMetadataValueStyle(item.key, item.value) : {}\"\n class=\" cqa-text-primary cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n </div>\n</div>\n \n", components: [{ type: i1.BadgeComponent, selector: "cqa-badge", inputs: ["type", "label", "icon", "iconLibrary", "variant", "size", "backgroundColor", "textColor", "borderColor", "iconBackgroundColor", "iconColor", "iconSize", "inlineStyles", "key", "value", "keyTextColor", "valueTextColor"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "keyvalue": i4.KeyValuePipe } });
199
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InsightCardComponent, decorators: [{
200
200
  type: Component,
201
201
  args: [{ selector: 'cqa-insight-card', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-cursor-pointer cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div \n class=\"cqa-flex cqa-items-center cqa-gap-[6px]\"\n [class.clickable-key-container]=\"isKeyClickable(item.value)\"\n (click)=\"onKeyClick(item.key, item.value)\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"item.key != 'ID' ? 'cqa-text-primary' : ''\"\n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"item.key != 'ID' ? getMetadataValueStyle(item.key, item.value) : {}\"\n class=\" cqa-text-primary cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n </div>\n</div>\n \n", styles: [] }]
@@ -35,11 +35,11 @@ export class FailedStepCardComponent {
35
35
  }
36
36
  }
37
37
  FailedStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px] cqa-overflow-hidden\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col cqa-h-[114px]\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n" });
38
+ FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-h-[200px] cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-h-[114px] cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-[85px] cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-[85px] cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n" });
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px] cqa-overflow-hidden\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col cqa-h-[114px]\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
41
+ args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-h-[200px] cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-h-[114px] cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-[85px] cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-[85px] cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
42
42
  }], propDecorators: { failedStepData: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7O0FBdUJ2RSxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUU7WUFDbEMsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BHO1FBQ0QsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLElBQUksT0FBTyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O29IQXpDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwR0N2QnBDLDYvREFtQ0E7MkZEWmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFpbGVkU3RlcERhdGEge1xuICBleHBlY3RlZF9yZXN1bHQ6IHN0cmluZztcbiAgYWN0dWFsX3Jlc3VsdDogc3RyaW5nO1xuICBmYWlsZWRfc3RlcF9pZDogc3RyaW5nO1xuICBpc1RpbWVvdXRlcnJvcjogYm9vbGVhbjtcbiAgZmFpbGVkX3N0ZXBfaW5kZXg6IHN0cmluZztcbiAgc3RlcHM6IGFueVtdO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgZHVyYXRpb246IHN0cmluZztcbiAgc3RlcFNjcmVlbnNob3RVcmw6IHN0cmluZyB8IG51bGw7XG4gIHN1Z2dlc3Rpb25zOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWZhaWxlZC1zdGVwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgRmFpbGVkU3RlcENhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBmYWlsZWRTdGVwRGF0YSE6IEZhaWxlZFN0ZXBEYXRhO1xuXG4gIGdldCBoZWFkZXJUaXRsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdGVwVGl0bGUpIHtcbiAgICAgIHJldHVybiBgRmFpbGVkIGF0IFN0ZXAgJHt0aGlzLmZhaWxlZFN0ZXBEYXRhLmZhaWxlZF9zdGVwX2luZGV4fTogJHt0aGlzLmZhaWxlZFN0ZXBEYXRhLnN0ZXBUaXRsZX1gO1xuICAgIH1cbiAgICByZXR1cm4gYEZhaWxlZCBhdCBTdGVwICR7dGhpcy5mYWlsZWRTdGVwRGF0YT8uZmFpbGVkX3N0ZXBfaW5kZXggfHwgJyd9YDtcbiAgfVxuXG4gIGdldCBlcnJvclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uZXJyb3JNZXNzYWdlIHx8IHRoaXMuZmFpbGVkU3RlcERhdGE/LnJlYXNvbiB8fCAnQW4gZXJyb3Igb2NjdXJyZWQnO1xuICB9XG5cbiAgZ2V0IHZpZGVvVGltZXN0YW1wKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LnRpbWVzdGFtcCB8fCAnMDA6MDAnO1xuICB9XG5cbiAgZ2V0IGR1cmF0aW9uVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5kdXJhdGlvbiB8fCAnMHMnO1xuICB9XG5cbiAgZ2V0IGV4cGVjdGVkUmVzdWx0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmV4cGVjdGVkX3Jlc3VsdCB8fCAnJztcbiAgfVxuXG4gIGdldCBhY3R1YWxSZXN1bHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uYWN0dWFsX3Jlc3VsdCB8fCAnJztcbiAgfVxuXG4gIGdldCBzdWdnZXN0aW9ucygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdWdnZXN0aW9ucyB8fCAnJztcbiAgfVxuXG4gIGdldCBoYXNTdWdnZXN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdWdnZXN0aW9ucyAmJiB0aGlzLmZhaWxlZFN0ZXBEYXRhLnN1Z2dlc3Rpb25zLnRyaW0oKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkU3VnZ2VzdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5zdWdnZXN0aW9ucykgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnN1Z2dlc3Rpb25zLnNwbGl0KCdcXG4nKS5maWx0ZXIocyA9PiBzLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1iZy1bI0ZFRjJGMl0gY3FhLXAtWzE3cHhdIGNxYS1yb3VuZGVkLWxnIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0ZFQ0FDQTtcIj5cbiAgICA8ZGl2PlxuICAgICAgPGgzIGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10ZXh0LVsjMTExODI3XSBjcWEtbWItMVwiPnt7IGhlYWRlclRpdGxlIH19PC9oMz5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS10ZXh0LXhzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS10ZXh0LVsjQjkxQzFDXVwiPkVycm9yOiB7eyBlcnJvclRleHQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPlZpZGVvIHRpbWVzdGFtcDoge3sgdmlkZW9UaW1lc3RhbXAgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPkR1cmF0aW9uOiB7eyBkdXJhdGlvblRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC0wIGNxYS1yb3VuZGVkLVs0cHhdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctd2hpdGUgY3FhLXB4LTIgY3FhLXB5LTEgbWQ6Y3FhLWJvcmRlci1yIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaC1bMTE0cHhdXCIgc3R5bGU9XCJib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRTVFN0VCXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0xXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLWZvbnQtc2VtaWJvbGQgY3FhLXRleHQtWyM5Q0EzQUZdIGNxYS11cHBlcmNhc2UgY3FhLXRyYWNraW5nLXdpZGVcIj5FWFBFQ1RFRDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS10ZXh0LVsjMEIwQjBCXSBjcWEtbGVhZGluZy1yZWxheGVkIGNxYS1oLVs5MXB4XSBjcWEtbWF4LWgtWzkxcHhdIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7eyBleHBlY3RlZFJlc3VsdCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLVsjRkZGOUY5XSBjcWEtcHgtMiBjcWEtcHktMSBjcWEtZmxleCBjcWEtZmxleC1jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bIzlDQTNBRl0gY3FhLXVwcGVyY2FzZSBjcWEtdHJhY2tpbmctd2lkZVwiPkFDVFVBTDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS10ZXh0LVsjQzEwMDA3XSBjcWEtbGVhZGluZy1yZWxheGVkIGNxYS1oLVs5MXB4XSBjcWEtbWF4LWgtWzkxcHhdIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7eyBhY3R1YWxSZXN1bHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7O0FBdUJ2RSxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUU7WUFDbEMsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BHO1FBQ0QsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLElBQUksT0FBTyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O29IQXpDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwR0N2QnBDLDJnRUFtQ0E7MkZEWmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFpbGVkU3RlcERhdGEge1xuICBleHBlY3RlZF9yZXN1bHQ6IHN0cmluZztcbiAgYWN0dWFsX3Jlc3VsdDogc3RyaW5nO1xuICBmYWlsZWRfc3RlcF9pZDogc3RyaW5nO1xuICBpc1RpbWVvdXRlcnJvcjogYm9vbGVhbjtcbiAgZmFpbGVkX3N0ZXBfaW5kZXg6IHN0cmluZztcbiAgc3RlcHM6IGFueVtdO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgZHVyYXRpb246IHN0cmluZztcbiAgc3RlcFNjcmVlbnNob3RVcmw6IHN0cmluZyB8IG51bGw7XG4gIHN1Z2dlc3Rpb25zOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWZhaWxlZC1zdGVwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgRmFpbGVkU3RlcENhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBmYWlsZWRTdGVwRGF0YSE6IEZhaWxlZFN0ZXBEYXRhO1xuXG4gIGdldCBoZWFkZXJUaXRsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdGVwVGl0bGUpIHtcbiAgICAgIHJldHVybiBgRmFpbGVkIGF0IFN0ZXAgJHt0aGlzLmZhaWxlZFN0ZXBEYXRhLmZhaWxlZF9zdGVwX2luZGV4fTogJHt0aGlzLmZhaWxlZFN0ZXBEYXRhLnN0ZXBUaXRsZX1gO1xuICAgIH1cbiAgICByZXR1cm4gYEZhaWxlZCBhdCBTdGVwICR7dGhpcy5mYWlsZWRTdGVwRGF0YT8uZmFpbGVkX3N0ZXBfaW5kZXggfHwgJyd9YDtcbiAgfVxuXG4gIGdldCBlcnJvclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uZXJyb3JNZXNzYWdlIHx8IHRoaXMuZmFpbGVkU3RlcERhdGE/LnJlYXNvbiB8fCAnQW4gZXJyb3Igb2NjdXJyZWQnO1xuICB9XG5cbiAgZ2V0IHZpZGVvVGltZXN0YW1wKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LnRpbWVzdGFtcCB8fCAnMDA6MDAnO1xuICB9XG5cbiAgZ2V0IGR1cmF0aW9uVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5kdXJhdGlvbiB8fCAnMHMnO1xuICB9XG5cbiAgZ2V0IGV4cGVjdGVkUmVzdWx0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmV4cGVjdGVkX3Jlc3VsdCB8fCAnJztcbiAgfVxuXG4gIGdldCBhY3R1YWxSZXN1bHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uYWN0dWFsX3Jlc3VsdCB8fCAnJztcbiAgfVxuXG4gIGdldCBzdWdnZXN0aW9ucygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdWdnZXN0aW9ucyB8fCAnJztcbiAgfVxuXG4gIGdldCBoYXNTdWdnZXN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdWdnZXN0aW9ucyAmJiB0aGlzLmZhaWxlZFN0ZXBEYXRhLnN1Z2dlc3Rpb25zLnRyaW0oKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkU3VnZ2VzdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5zdWdnZXN0aW9ucykgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnN1Z2dlc3Rpb25zLnNwbGl0KCdcXG4nKS5maWx0ZXIocyA9PiBzLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1oLVsyMDBweF0gY3FhLW92ZXJmbG93LXktYXV0byBjcWEtYmctWyNGRUYyRjJdIGNxYS1wLVsxN3B4XSBjcWEtcm91bmRlZC1sZyBjcWEtb3ZlcmZsb3ctaGlkZGVuIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTNcIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNGRUNBQ0E7XCI+XG4gICAgPGRpdj5cbiAgICAgIDxoMyBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1sZWFkaW5nLVsxOHB4XSBjcWEtdGV4dC1bIzExMTgyN10gY3FhLW1iLTFcIj57eyBoZWFkZXJUaXRsZSB9fTwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtd3JhcCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMyBjcWEtdGV4dC14c1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtdGV4dC1bI0I5MUMxQ11cIj5FcnJvcjoge3sgZXJyb3JUZXh0IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPuKAojwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzYzNjM2M11cIj5WaWRlbyB0aW1lc3RhbXA6IHt7IHZpZGVvVGltZXN0YW1wIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPuKAojwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzYzNjM2M11cIj5EdXJhdGlvbjoge3sgZHVyYXRpb25UZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtWzExNHB4XSBjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC0wIGNxYS1yb3VuZGVkLVs0cHhdXCIgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjRTVFN0VCXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLXdoaXRlIGNxYS1weC0yIGNxYS1weS0xIG1kOmNxYS1ib3JkZXItciBjcWEtZmxleCBjcWEtZmxleC1jb2xcIiBzdHlsZT1cImJvcmRlci1yaWdodDogMXB4IHNvbGlkICNFNUU3RUJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bIzlDQTNBRl0gY3FhLXVwcGVyY2FzZSBjcWEtdHJhY2tpbmctd2lkZVwiPkVYUEVDVEVEPC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyMwQjBCMEJdIGNxYS1sZWFkaW5nLXJlbGF4ZWQgY3FhLWgtWzg1cHhdIGNxYS1tYXgtaC1bODVweF0gY3FhLW92ZXJmbG93LXktYXV0byBjcWEtZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgIHt7IGV4cGVjdGVkUmVzdWx0IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctWyNGRkY5RjldIGNxYS1weC0yIGNxYS1weS0xIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+QUNUVUFMPC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyNDMTAwMDddIGNxYS1sZWFkaW5nLXJlbGF4ZWQgY3FhLWgtWzg1cHhdIGNxYS1tYXgtaC1bODVweF0gY3FhLW92ZXJmbG93LXktYXV0byBjcWEtZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgIHt7IGFjdHVhbFJlc3VsdCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==