@memberjunction/ng-ai-test-harness 5.22.0 → 5.23.0

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.
@@ -28,7 +28,7 @@ export class JsonViewerWindowComponent {
28
28
  i0.ɵɵadvance(5);
29
29
  i0.ɵɵtwoWayProperty("ngModel", ctx.jsonContent);
30
30
  i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
31
- } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.CodeEditorComponent], styles: [".json-dialog-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n overflow: hidden;\n }\n\n .json-dialog-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n padding: 6px 12px;\n font-size: 13px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #f8f9fa;\n border-color: #adb5bd;\n color: #212529;\n }\n\n .custom-button.icon-only[_ngcontent-%COMP%] {\n padding: 6px 8px;\n }\n\n .custom-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n }"] }); }
31
+ } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.CodeEditorComponent], styles: [".json-dialog-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n .json-dialog-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-sm);\n padding: 6px 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: var(--mj-transition-colors);\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .custom-button.icon-only[_ngcontent-%COMP%] {\n padding: 6px 8px;\n }\n\n .custom-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n }"] }); }
32
32
  }
33
33
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JsonViewerWindowComponent, [{
34
34
  type: Component,
@@ -49,7 +49,7 @@ export class JsonViewerWindowComponent {
49
49
  </mj-code-editor>
50
50
  </div>
51
51
  </div>
52
- `, styles: ["\n .json-dialog-content {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n overflow: hidden;\n }\n\n .json-dialog-header {\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n padding: 6px 12px;\n font-size: 13px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button:hover:not(:disabled) {\n background: #f8f9fa;\n border-color: #adb5bd;\n color: #212529;\n }\n\n .custom-button.icon-only {\n padding: 6px 8px;\n }\n\n .custom-button i {\n font-size: 14px;\n }\n "] }]
52
+ `, styles: ["\n .json-dialog-content {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n .json-dialog-header {\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-sm);\n padding: 6px 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: var(--mj-transition-colors);\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .custom-button.icon-only {\n padding: 6px 8px;\n }\n\n .custom-button i {\n font-size: 14px;\n }\n "] }]
53
53
  }], null, { jsonContent: [{
54
54
  type: Input
55
55
  }] }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"json-viewer-window.component.js","sourceRoot":"","sources":["../../src/lib/json-viewer-window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;AAgFjD,MAAM,OAAO,yBAAyB;IA9EtC;QA+Ea,gBAAW,GAAW,EAAE,CAAC;KAWrC;IATG,eAAe;QACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,wBAAwB;YAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,gBAAgB;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;0HAXQ,yBAAyB;oEAAzB,yBAAyB;YAxEtB,AADJ,AADJ,8BAAiC,aACG,gBAC0D;YAA9C,sGAAS,qBAAiB,IAAC;YAC/D,uBAAgC;YAExC,AADI,iBAAS,EACP;YAEF,AADJ,8BAA8B,wBAMa;YAJnC,kOAAyB;YAOrC,AADI,AADI,iBAAiB,EACf,EACJ;;YAPM,eAAyB;YAAzB,+CAAyB;YAGzB,AADA,AADA,+BAAiB,oBACE,sBACE;;;iFA+D5B,yBAAyB;cA9ErC,SAAS;6BACI,KAAK,YACL,uBAAuB,YACvB;;;;;;;;;;;;;;;;;KAiBT;;kBA2DA,KAAK;;kFADG,yBAAyB","sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'mj-json-viewer-window',\n template: `\n <div class=\"json-dialog-content\">\n <div class=\"json-dialog-header\">\n <button class=\"custom-button icon-only\" (click)=\"copyJsonContent()\" title=\"Copy JSON\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n <div class=\"json-dialog-body\">\n <mj-code-editor \n [(ngModel)]=\"jsonContent\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 100%; width: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n `,\n styles: [`\n .json-dialog-content {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n overflow: hidden;\n }\n\n .json-dialog-header {\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n padding: 6px 12px;\n font-size: 13px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button:hover:not(:disabled) {\n background: #f8f9fa;\n border-color: #adb5bd;\n color: #212529;\n }\n\n .custom-button.icon-only {\n padding: 6px 8px;\n }\n\n .custom-button i {\n font-size: 14px;\n }\n `]\n})\nexport class JsonViewerWindowComponent {\n @Input() jsonContent: string = '';\n\n copyJsonContent() {\n if (this.jsonContent) {\n navigator.clipboard.writeText(this.jsonContent).then(() => {\n // Success - JSON copied\n }).catch((err) => {\n // Error copying\n });\n }\n }\n}"]}
1
+ {"version":3,"file":"json-viewer-window.component.js","sourceRoot":"","sources":["../../src/lib/json-viewer-window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;AAgFjD,MAAM,OAAO,yBAAyB;IA9EtC;QA+Ea,gBAAW,GAAW,EAAE,CAAC;KAWrC;IATG,eAAe;QACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,wBAAwB;YAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,gBAAgB;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;0HAXQ,yBAAyB;oEAAzB,yBAAyB;YAxEtB,AADJ,AADJ,8BAAiC,aACG,gBAC0D;YAA9C,sGAAS,qBAAiB,IAAC;YAC/D,uBAAgC;YAExC,AADI,iBAAS,EACP;YAEF,AADJ,8BAA8B,wBAMa;YAJnC,kOAAyB;YAOrC,AADI,AADI,iBAAiB,EACf,EACJ;;YAPM,eAAyB;YAAzB,+CAAyB;YAGzB,AADA,AADA,+BAAiB,oBACE,sBACE;;;iFA+D5B,yBAAyB;cA9ErC,SAAS;6BACI,KAAK,YACL,uBAAuB,YACvB;;;;;;;;;;;;;;;;;KAiBT;;kBA2DA,KAAK;;kFADG,yBAAyB","sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'mj-json-viewer-window',\n template: `\n <div class=\"json-dialog-content\">\n <div class=\"json-dialog-header\">\n <button class=\"custom-button icon-only\" (click)=\"copyJsonContent()\" title=\"Copy JSON\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n <div class=\"json-dialog-body\">\n <mj-code-editor \n [(ngModel)]=\"jsonContent\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 100%; width: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n `,\n styles: [`\n .json-dialog-content {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n .json-dialog-header {\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-sm);\n padding: 6px 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: var(--mj-transition-colors);\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .custom-button.icon-only {\n padding: 6px 8px;\n }\n\n .custom-button i {\n font-size: 14px;\n }\n `]\n})\nexport class JsonViewerWindowComponent {\n @Input() jsonContent: string = '';\n\n copyJsonContent() {\n if (this.jsonContent) {\n navigator.clipboard.writeText(this.jsonContent).then(() => {\n // Success - JSON copied\n }).catch((err) => {\n // Error copying\n });\n }\n }\n}"]}
@@ -1,5 +1,5 @@
1
- import { EventEmitter, OnInit, OnDestroy, AfterViewInit, Renderer2, ElementRef, ChangeDetectorRef } from '@angular/core';
2
- import { WindowComponent } from '@progress/kendo-angular-dialog';
1
+ import { EventEmitter, OnInit, OnDestroy, AfterViewInit } from '@angular/core';
2
+ import { MJWindowComponent } from '@memberjunction/ng-ui-components';
3
3
  import { MJAIAgentEntityExtended, MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';
4
4
  import { AITestHarnessComponent } from './ai-test-harness.component';
5
5
  import * as i0 from "@angular/core";
@@ -11,68 +11,64 @@ export interface CustomWindowData {
11
11
  title?: string;
12
12
  width?: string | number;
13
13
  height?: string | number;
14
- initialDataContext?: Record<string, any>;
15
- initialTemplateData?: Record<string, any>;
16
- initialTemplateVariables?: Record<string, any>;
14
+ initialDataContext?: Record<string, unknown>;
15
+ initialTemplateData?: Record<string, unknown>;
16
+ initialTemplateVariables?: Record<string, unknown>;
17
17
  selectedModelId?: string;
18
18
  mode?: 'agent' | 'prompt';
19
19
  }
20
20
  export declare class TestHarnessCustomWindowComponent implements OnInit, OnDestroy, AfterViewInit {
21
- private renderer;
22
- private elementRef;
23
- private cdr;
24
- kendoWindow: WindowComponent;
25
- testHarness?: AITestHarnessComponent;
26
- data: CustomWindowData;
27
- closeWindow: EventEmitter<void>;
28
- minimizeWindow: EventEmitter<void>;
29
- restoreWindow: EventEmitter<void>;
30
- executionStateChange: EventEmitter<{
21
+ MjWindow: MJWindowComponent;
22
+ TestHarness?: AITestHarnessComponent;
23
+ Data: CustomWindowData;
24
+ CloseWindow: EventEmitter<void>;
25
+ MinimizeWindow: EventEmitter<void>;
26
+ RestoreWindow: EventEmitter<void>;
27
+ ExecutionStateChange: EventEmitter<{
31
28
  windowId?: string;
32
29
  isExecuting: boolean;
33
30
  }>;
34
- windowTitle: string;
35
- width: number;
36
- height: number;
37
- windowTop: number;
38
- windowLeft: number;
39
- loading: boolean;
40
- error: string;
41
- windowState: 'default' | 'minimized' | 'maximized';
42
- isMaximized: boolean;
43
- isMinimized: boolean;
31
+ WindowTitle: string;
32
+ WindowVisible: boolean;
33
+ Width: number;
34
+ Height: number;
35
+ WindowTop: number;
36
+ WindowLeft: number;
37
+ Loading: boolean;
38
+ Error: string;
39
+ WindowState: 'default' | 'maximized';
40
+ IsMaximized: boolean;
41
+ IsMinimized: boolean;
44
42
  private originalWidth;
45
43
  private originalHeight;
46
44
  private originalTop;
47
45
  private originalLeft;
48
- private readonly MINIMIZED_WIDTH;
49
- private readonly MINIMIZED_HEIGHT;
50
- agent?: MJAIAgentEntityExtended;
51
- prompt?: MJAIPromptEntityExtended;
52
- mode: 'agent' | 'prompt';
46
+ Agent?: MJAIAgentEntityExtended;
47
+ Prompt?: MJAIPromptEntityExtended;
48
+ Mode: 'agent' | 'prompt';
53
49
  private metadata;
54
- constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef);
50
+ private executionCheckInterval;
51
+ private cdr;
55
52
  ngOnInit(): void;
56
- loadEntity(): Promise<void>;
57
- onClose(): void;
58
- closeButtonClick(): void;
59
- onStateChange(state: 'default' | 'minimized' | 'maximized'): void;
60
- onWindowResize(): void;
61
- onRunOpened(event: {
53
+ LoadEntity(): Promise<void>;
54
+ private loadAgent;
55
+ private loadPrompt;
56
+ OnClose(): void;
57
+ CloseButtonClick(): void;
58
+ OnStateChange(state: 'default' | 'maximized'): void;
59
+ OnWindowResize(): void;
60
+ OnRunOpened(_event: {
62
61
  runId: string;
63
62
  runType: 'agent' | 'prompt';
64
63
  }): void;
65
- minimize(): void;
66
- restoreFromMinimized(): void;
67
- toggleMaximize(): void;
64
+ Minimize(): void;
65
+ RestoreFromMinimized(): void;
66
+ ToggleMaximize(): void;
68
67
  private convertToNumber;
69
68
  ngAfterViewInit(): void;
70
- private adjustContentHeight;
71
- private setupResizeListener;
72
69
  private setupExecutionTracking;
73
70
  ngOnDestroy(): void;
74
- private updateWindowPosition;
75
71
  static ɵfac: i0.ɵɵFactoryDeclaration<TestHarnessCustomWindowComponent, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<TestHarnessCustomWindowComponent, "mj-test-harness-custom-window", never, { "data": { "alias": "data"; "required": false; }; }, { "closeWindow": "closeWindow"; "minimizeWindow": "minimizeWindow"; "restoreWindow": "restoreWindow"; "executionStateChange": "executionStateChange"; }, never, never, false, never>;
72
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestHarnessCustomWindowComponent, "mj-test-harness-custom-window", never, { "Data": { "alias": "Data"; "required": false; }; }, { "CloseWindow": "CloseWindow"; "MinimizeWindow": "MinimizeWindow"; "RestoreWindow": "RestoreWindow"; "ExecutionStateChange": "ExecutionStateChange"; }, never, never, false, never>;
77
73
  }
78
74
  //# sourceMappingURL=test-harness-custom-window.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness-custom-window.component.d.ts","sourceRoot":"","sources":["../../src/lib/test-harness-custom-window.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-harness-custom-window.component.d.ts","sourceRoot":"","sources":["../../src/lib/test-harness-custom-window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAa,SAAS,EAAE,aAAa,EAA6B,MAAM,eAAe,CAAC;AAC/I,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAEjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;;AAErE,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC7B;AAED,qBAyKa,gCAAiC,YAAW,MAAM,EAAE,SAAS,EAAE,aAAa;IAC3C,QAAQ,EAAG,iBAAiB,CAAC;IACjB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAClF,IAAI,EAAE,gBAAgB,CAAM;IAC3B,WAAW,qBAA4B;IACvC,cAAc,qBAA4B;IAC1C,aAAa,qBAA4B;IACzC,oBAAoB;mBAAiC,MAAM;qBAAe,OAAO;OAAM;IAEjG,WAAW,SAAqB;IAChC,aAAa,UAAS;IACtB,KAAK,EAAE,MAAM,CAAQ;IACrB,MAAM,EAAE,MAAM,CAAO;IACrB,SAAS,EAAE,MAAM,CAAO;IACxB,UAAU,EAAE,MAAM,CAAO;IACzB,OAAO,UAAQ;IACf,KAAK,SAAM;IACX,WAAW,EAAE,SAAS,GAAG,WAAW,CAAa;IACjD,WAAW,UAAS;IACpB,WAAW,UAAS;IAGpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,YAAY,CAAe;IAEnC,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAW;IAEnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,sBAAsB,CAA+C;IAC7E,OAAO,CAAC,GAAG,CAA6B;IAExC,QAAQ;IAsCF,UAAU;YAgBF,SAAS;YAkBT,UAAU;IAkBxB,OAAO;IAIP,gBAAgB;IAIhB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW;IAK5C,cAAc;IAId,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE;IAKlE,QAAQ;IAgBR,oBAAoB;IAgBpB,cAAc;IAed,OAAO,CAAC,eAAe;IAwBvB,eAAe;IAKf,OAAO,CAAC,sBAAsB;IAc9B,WAAW;yCA7OF,gCAAgC;2CAAhC,gCAAgC;CAkP5C"}