@memberjunction/ng-core-entity-forms 6.1.3 → 6.2.0-edge.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.
Files changed (73) hide show
  1. package/README.md +22 -0
  2. package/dist/lib/custom/MLModels/ml-model-form.component.d.ts +27 -0
  3. package/dist/lib/custom/MLModels/ml-model-form.component.d.ts.map +1 -0
  4. package/dist/lib/custom/MLModels/ml-model-form.component.js +193 -0
  5. package/dist/lib/custom/MLModels/ml-model-form.component.js.map +1 -0
  6. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +44 -0
  7. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -0
  8. package/dist/lib/custom/MLModels/ml-model-view-models.js +208 -0
  9. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -0
  10. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +76 -0
  11. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -0
  12. package/dist/lib/custom/MLModels/ps-model-detail.component.js +693 -0
  13. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -0
  14. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +27 -7
  15. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  16. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +496 -19
  17. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  18. package/dist/lib/custom/custom-forms.module.d.ts +32 -30
  19. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  20. package/dist/lib/custom/custom-forms.module.js +21 -4
  21. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  22. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.d.ts.map +1 -1
  23. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +62 -26
  24. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
  25. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
  26. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +33 -15
  27. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
  28. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  29. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +100 -82
  30. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  31. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +24 -20
  32. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  33. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.d.ts +10 -0
  34. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.d.ts.map +1 -0
  35. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js +122 -0
  36. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js.map +1 -0
  37. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.d.ts +10 -0
  38. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.d.ts.map +1 -0
  39. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js +125 -0
  40. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js.map +1 -0
  41. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.d.ts.map +1 -1
  42. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +23 -5
  43. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
  44. package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.d.ts.map +1 -1
  45. package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js +25 -6
  46. package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js.map +1 -1
  47. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.d.ts.map +1 -1
  48. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +11 -15
  49. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
  50. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.d.ts.map +1 -1
  51. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +43 -7
  52. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
  53. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.d.ts +10 -0
  54. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.d.ts.map +1 -0
  55. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.js +78 -0
  56. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.js.map +1 -0
  57. package/dist/lib/generated/generated-forms.module.d.ts +240 -237
  58. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  59. package/dist/lib/generated/generated-forms.module.js +11 -2
  60. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  61. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +95 -0
  62. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  63. package/dist/lib/panels/model-predictions/model-prediction.logic.js +173 -0
  64. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  65. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +57 -2
  66. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  67. package/dist/lib/panels/model-predictions/model-prediction.panel.js +555 -64
  68. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  69. package/dist/public-api.d.ts +4 -0
  70. package/dist/public-api.d.ts.map +1 -1
  71. package/dist/public-api.js +4 -0
  72. package/dist/public-api.js.map +1 -1
  73. package/package.json +42 -41
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ml-model-view-models.js","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Pure view-model functions and types for ML Model detail and metrics rendering.\n * Framework-free, deterministic calculations over plain model entity data.\n */\n\nexport interface PSFeatureBar {\n name: string;\n value: string;\n pct: number;\n warning: boolean;\n}\n\nexport interface PSMetricDisplay {\n key: string;\n label: string;\n value: string;\n raw: number;\n}\n\nexport type PSMetricKey =\n | 'AUC'\n | 'Accuracy'\n | 'Precision'\n | 'Recall'\n | 'F1'\n | 'LogLoss'\n | 'R2'\n | 'RMSE'\n | 'MAE';\n\nexport type PSMetricMap = Partial<Record<PSMetricKey, number>>;\n\nexport const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[] = [\n 'AUC',\n 'Accuracy',\n 'Precision',\n 'Recall',\n 'F1',\n 'LogLoss',\n 'R2',\n 'RMSE',\n 'MAE',\n] as const;\n\nexport const METRIC_LABELS: Record<PSMetricKey, string> = {\n AUC: 'AUC (ROC)',\n Accuracy: 'Accuracy',\n Precision: 'Precision',\n Recall: 'Recall',\n F1: 'F1 Score',\n LogLoss: 'Log Loss',\n R2: 'R² (Fit)',\n RMSE: 'RMSE',\n MAE: 'MAE',\n};\n\nconst METRIC_ALIASES: Record<string, PSMetricKey> = {\n auc: 'AUC',\n 'roc-auc': 'AUC',\n roc_auc: 'AUC',\n acc: 'Accuracy',\n accuracy: 'Accuracy',\n prec: 'Precision',\n precision: 'Precision',\n rec: 'Recall',\n recall: 'Recall',\n f1: 'F1',\n 'f1-score': 'F1',\n f1_score: 'F1',\n logloss: 'LogLoss',\n 'log-loss': 'LogLoss',\n log_loss: 'LogLoss',\n r2: 'R2',\n 'r-squared': 'R2',\n r_squared: 'R2',\n rmse: 'RMSE',\n mae: 'MAE',\n};\n\nexport const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;\n\nexport function humanizeFeatureName(name: string): string {\n if (!name) return '';\n return name\n .replace(/^Is([A-Z])/, '$1')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .trim()\n .replace(/\\b[a-z]/g, (c) => c.toUpperCase());\n}\n\nexport function parseMetrics(json: string | null | undefined): PSMetricMap {\n if (!json) return {};\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n return {};\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n const out: PSMetricMap = {};\n for (const [rawKey, rawVal] of Object.entries(parsed as Record<string, unknown>)) {\n const value = typeof rawVal === 'number' && Number.isFinite(rawVal) ? rawVal : null;\n if (value == null) continue;\n const canonical = canonicalMetricKey(rawKey);\n if (canonical && out[canonical] == null) out[canonical] = value;\n }\n return out;\n}\n\nexport function canonicalMetricKey(rawKey: string): PSMetricKey | null {\n const exact = PS_KNOWN_METRIC_KEYS.find((k) => k === rawKey);\n if (exact) return exact;\n return METRIC_ALIASES[rawKey.trim().toLowerCase()] ?? null;\n}\n\nexport function formatMetricValue(key: PSMetricKey | string, val: number): string {\n if (!Number.isFinite(val)) return '—';\n switch (key) {\n case 'AUC':\n case 'Accuracy':\n case 'Precision':\n case 'Recall':\n case 'F1':\n case 'R2':\n return val.toFixed(3);\n case 'LogLoss':\n case 'RMSE':\n case 'MAE':\n return val < 10 ? val.toFixed(3) : val.toLocaleString(undefined, { maximumFractionDigits: 2 });\n default:\n return val.toFixed(3);\n }\n}\n\nexport function primaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n const isReg = (model.ProblemType ?? '').toLowerCase() === 'regression';\n const holdout = parseMetrics(model.HoldoutMetrics);\n const train = parseMetrics(model.Metrics);\n\n if (isReg) {\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n }\n\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n return null;\n}\n\nexport function metricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n const out: PSMetricDisplay[] = [];\n for (const k of PS_KNOWN_METRIC_KEYS) {\n if (options.excludeAuc && k === 'AUC') continue;\n const v = metrics[k];\n if (v != null) {\n out.push({\n key: k,\n label: METRIC_LABELS[k] ?? k,\n value: formatMetricValue(k, v),\n raw: v,\n });\n }\n }\n return out;\n}\n\nexport function parseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n if (!raw) return [];\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return [];\n }\n\n const entries: { name: string; val: number }[] = [];\n\n if (Array.isArray(parsed)) {\n for (const item of parsed as Array<{ feature?: unknown; name?: unknown; importance?: unknown; weight?: unknown; value?: unknown }>) {\n const name = typeof item?.feature === 'string' ? item.feature : typeof item?.name === 'string' ? item.name : '';\n const rawVal = typeof item?.importance === 'number' ? item.importance : typeof item?.weight === 'number' ? item.weight : typeof item?.value === 'number' ? item.value : NaN;\n const val = Number(rawVal);\n if (name && Number.isFinite(val)) {\n entries.push({ name, val: Math.abs(val) });\n }\n }\n } else if (parsed && typeof parsed === 'object') {\n for (const [k, v] of Object.entries(parsed as Record<string, unknown>)) {\n const val = typeof v === 'number' && Number.isFinite(v) ? Math.abs(v) : NaN;\n if (k && Number.isFinite(val)) {\n entries.push({ name: k, val });\n }\n }\n }\n\n if (entries.length === 0) return [];\n\n entries.sort((a, b) => b.val - a.val);\n const sliced = entries.slice(0, topN);\n const max = sliced[0]?.val ?? 1;\n\n return sliced.map((e) => ({\n name: e.name,\n value: e.val < 1 ? e.val.toFixed(3) : e.val.toFixed(1),\n pct: max > 0 ? Math.round((e.val / max) * 100) : 0,\n warning: e.val >= PS_FEATURE_DOMINANCE_THRESHOLD,\n }));\n}\n\nexport function maxFeatureImportance(raw: string | null | undefined): number | null {\n const bars = parseFeatureImportance(raw, 1);\n if (bars.length === 0) return null;\n const num = parseFloat(bars[0].value);\n return Number.isFinite(num) ? num : null;\n}\n\nexport function overfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n const train = parseMetrics(model.Metrics);\n const holdout = parseMetrics(model.HoldoutMetrics);\n if (train.AUC != null && holdout.AUC != null) {\n return train.AUC - holdout.AUC;\n }\n if (train.R2 != null && holdout.R2 != null) {\n return train.R2 - holdout.R2;\n }\n return null;\n}\n"]}
@@ -0,0 +1,76 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { IMetadataProvider, UserInfo } from '@memberjunction/core';
3
+ import { MJMLModelEntity, PredictiveStudioModelTargetStatus } from '@memberjunction/core-entities';
4
+ import { PSFeatureBar, PSMetricDisplay } from './ml-model-view-models';
5
+ import * as i0 from "@angular/core";
6
+ /** A pending promote/archive action awaiting user confirmation. */
7
+ interface PendingPromotion {
8
+ modelId: string;
9
+ modelName: string;
10
+ targetStatus: PredictiveStudioModelTargetStatus;
11
+ leakageFlagged: boolean;
12
+ }
13
+ /**
14
+ * **PSModelDetailComponent** — Unified enterprise component for inspecting, evaluating,
15
+ * and promoting versioned ML Models. Shared between:
16
+ * 1. **Predictive Studio Model Registry** (`PSRegistryComponent`)
17
+ * 2. **Custom Entity Form for `MJ: ML Models`** (`MLModelFormComponentExtended`)
18
+ *
19
+ * Renders:
20
+ * - Identity & immutable snapshot badge
21
+ * - Progressive 4-stage lifecycle stepper (Draft → Validated → Published → Archived)
22
+ * - In-sample train vs out-of-sample holdout performance cards and overfit gap check
23
+ * - Key feature importance rankings with single-feature dominance warnings
24
+ * - Target leakage gate verification and required sign-off rationale capture
25
+ * - Remote Operation lifecycle promotion (Validate, Publish, Archive)
26
+ */
27
+ export declare class PSModelDetailComponent {
28
+ model: MJMLModelEntity | null;
29
+ provider: IMetadataProvider | null;
30
+ currentUser: UserInfo | null;
31
+ showActions: boolean;
32
+ statusChanged: EventEmitter<{
33
+ modelId: string;
34
+ newStatus: string;
35
+ }>;
36
+ private readonly cdr;
37
+ private readonly notifications;
38
+ readonly lifecycleSteps: readonly ["Draft", "Validated", "Published", "Archived"];
39
+ readonly dominanceThreshold: string;
40
+ pending: PendingPromotion | null;
41
+ pendingReason: string;
42
+ busy: boolean;
43
+ displayName?: string;
44
+ get modelDisplayName(): string;
45
+ statusBadgeClass(status: string | null | undefined): string;
46
+ stepState(step: string): 'done' | 'curr' | 'todo';
47
+ get targetSuffix(): string;
48
+ get primaryScoreLabel(): string;
49
+ get trainPrimaryScore(): string;
50
+ get holdoutPrimaryScore(): string;
51
+ get secondaryMetrics(): PSMetricDisplay[];
52
+ get gapText(): string;
53
+ get gapVerdict(): string;
54
+ get importance(): PSFeatureBar[];
55
+ get importanceCaption(): string;
56
+ get topFeatureName(): string;
57
+ get topFeatureValue(): string;
58
+ get leakageFlagged(): boolean;
59
+ get canValidate(): boolean;
60
+ get canPublish(): boolean;
61
+ get canArchive(): boolean;
62
+ get actionHint(): string;
63
+ requestPromote(targetStatus: PredictiveStudioModelTargetStatus): void;
64
+ cancelPromote(): void;
65
+ get pendingTitle(): string;
66
+ get pendingIcon(): string;
67
+ get pendingConfirmLabel(): string;
68
+ get pendingVariant(): 'info' | 'warn' | 'danger';
69
+ get pendingMessage(): string;
70
+ confirmPromote(reason: string): Promise<void>;
71
+ private escapeHtml;
72
+ static ɵfac: i0.ɵɵFactoryDeclaration<PSModelDetailComponent, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<PSModelDetailComponent, "ps-model-detail", never, { "model": { "alias": "model"; "required": false; }; "provider": { "alias": "provider"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "displayName": { "alias": "displayName"; "required": false; }; }, { "statusChanged": "statusChanged"; }, never, never, true, never>;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=ps-model-detail.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ps-model-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ps-model-detail.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAIb,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,eAAe,EAEf,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,eAAe,EAUhB,MAAM,wBAAwB,CAAC;;AAEhC,mEAAmE;AACnE,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,iCAAiC,CAAC;IAChD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAQa,sBAAsB;IACxB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAQ;IACrC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC1C,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACpC,WAAW,UAAQ;IAElB,aAAa;iBAA+B,MAAM;mBAAa,MAAM;OAAM;IAErF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,SAAgB,cAAc,2DAA4D;IAC1F,SAAgB,kBAAkB,SAA6C;IAExE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACxC,aAAa,SAAM;IACnB,IAAI,UAAS;IAEX,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,IAAW,gBAAgB,IAAI,MAAM,CAIpC;IAIM,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAe3D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IASxD,IAAW,YAAY,IAAI,MAAM,CAGhC;IAID,IAAW,iBAAiB,IAAI,MAAM,CAIrC;IAED,IAAW,iBAAiB,IAAI,MAAM,CAQrC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAQvC;IAED,IAAW,gBAAgB,IAAI,eAAe,EAAE,CAO/C;IAED,IAAW,OAAO,IAAI,MAAM,CAI3B;IAED,IAAW,UAAU,IAAI,MAAM,CAK9B;IAID,IAAW,UAAU,IAAI,YAAY,EAAE,CAMtC;IAED,IAAW,iBAAiB,IAAI,MAAM,CAGrC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,cAAc,IAAI,OAAO,CAInC;IAID,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,MAAM,CAa9B;IAEM,cAAc,CAAC,YAAY,EAAE,iCAAiC,GAAG,IAAI;IAYrE,aAAa,IAAI,IAAI;IAO5B,IAAW,YAAY,IAAI,MAAM,CAGhC;IAED,IAAW,WAAW,IAAI,MAAM,CAG/B;IAED,IAAW,mBAAmB,IAAI,MAAM,CAGvC;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,MAAM,GAAG,QAAQ,CAItD;IAED,IAAW,cAAc,IAAI,MAAM,CAUlC;IAEY,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C1D,OAAO,CAAC,UAAU;yCAtQP,sBAAsB;2CAAtB,sBAAsB;CA6QlC"}