@fathippo/fathippo-context-engine 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,17 +1,37 @@
1
1
  # @fathippo/fathippo-context-engine
2
2
 
3
- FatHippo Context Engine for OpenClaw — persistent agent memory with hosted cognition or private local mode.
3
+ FatHippo Context Engine for OpenClaw.
4
4
 
5
- ## Installation
5
+ ## Install
6
+
7
+ Hosted:
8
+
9
+ ```bash
10
+ npx @fathippo/connect openclaw
11
+ ```
12
+
13
+ Local:
14
+
15
+ ```bash
16
+ npx @fathippo/connect openclaw --local
17
+ ```
18
+
19
+ The one-command installer installs the plugin, configures OpenClaw, and uses a browser-link login flow for hosted mode.
20
+
21
+ ## Manual fallback
6
22
 
7
23
  ```bash
8
24
  openclaw plugins install @fathippo/fathippo-context-engine
25
+ openclaw config set plugins.slots.contextEngine fathippo-context-engine
26
+ openclaw config set plugins.entries.fathippo-context-engine.config.mode hosted
27
+ openclaw config set plugins.entries.fathippo-context-engine.config.apiKey mem_xxx
28
+ openclaw config set plugins.entries.fathippo-context-engine.config.baseUrl https://fathippo.ai/api
29
+ openclaw gateway restart
9
30
  ```
10
31
 
11
32
  ## Configuration
12
33
 
13
34
  ```yaml
14
- # ~/.openclaw/config.yaml
15
35
  plugins:
16
36
  slots:
17
37
  contextEngine: "fathippo-context-engine"
@@ -19,58 +39,37 @@ plugins:
19
39
  fathippo-context-engine:
20
40
  enabled: true
21
41
  config:
22
- mode: hosted # hosted or local
23
- apiKey: "${FATHIPPO_API_KEY}" # Hosted mode only
42
+ mode: hosted
43
+ apiKey: "${FATHIPPO_API_KEY}"
24
44
  baseUrl: "https://fathippo.ai/api"
25
- # Optional settings
26
- injectCritical: true # Auto-inject critical memories (default: true)
27
- injectLimit: 20 # Max memories per turn (default: 20)
28
- captureUserOnly: true # Only capture user messages (default: true)
29
- dreamCycleOnCompact: true # Run Dream Cycle on /compact in hosted mode
45
+ namespace: "my-project"
46
+ installationId: "oc_machine_01"
47
+ injectCritical: true
48
+ injectLimit: 20
49
+ dreamCycleOnCompact: true
30
50
  ```
31
51
 
32
- ## What It Does
52
+ `captureUserOnly: true` is still supported as a legacy escape hatch, but full-turn capture is now the default.
33
53
 
34
- Instead of bolting memory onto OpenClaw, this makes FatHippo the **entire context layer**:
54
+ ## Runtime behavior
35
55
 
36
- | Hook | What Happens |
37
- |------|-------------|
38
- | **bootstrap** | Loads hosted critical context or initializes local workspace memory |
39
- | **ingest** | Captures user messages, filters noise, stores hosted or local memory |
40
- | **assemble** | Queries hosted FatHippo or local store and injects relevant context per turn |
41
- | **compact** | Runs hosted Dream Cycle or skips hosted compaction in local mode |
42
- | **afterTurn** | Invalidates caches and captures hosted or local learning signals |
43
- | **prepareSubagentSpawn** | Scopes memories for spawned agents |
44
- | **onSubagentEnded** | Absorbs learnings from completed subagents |
56
+ | Hook | Behavior |
57
+ | --- | --- |
58
+ | `bootstrap` | Starts a hosted FatHippo session or initializes local workspace memory |
59
+ | `assemble` | Builds memory context before every non-trivial reply |
60
+ | `afterTurn` | Records the completed exchange, stores durable memories, and captures learning signals |
61
+ | `compact` | Runs Dream Cycle in hosted mode when enabled |
62
+ | `prepareSubagentSpawn` | Reuses the same memory scope for spawned agents |
63
+ | `onSubagentEnded` | Best-effort closes hosted child sessions |
45
64
 
46
- ## Features
47
-
48
- - **Hosted mode** — Full FatHippo retrieval, cognition, sync, and receipts
49
- - **Local mode** — Private on-device memory plus lightweight local workflow/fix learning
50
- - **Semantic search** — Hosted hybrid search or local memory ranking
51
- - **Dream Cycle** — Automatic synthesis, decay, and cleanup in hosted mode
52
- - **Cross-device** — Hosted mode follows your account across devices
53
-
54
- ## API Key
65
+ Hosted mode uses the runtime session APIs (`startSession`, `buildContext`, `recordTurn`, `endSession`) instead of direct one-off memory calls.
55
66
 
56
- Get your API key at [fathippo.ai](https://fathippo.ai)
57
-
58
- ## OpenClaw CLI Setup
59
-
60
- ```bash
61
- openclaw plugins install @fathippo/fathippo-context-engine
62
- openclaw config set plugins.slots.contextEngine=fathippo-context-engine
63
- openclaw config set plugins.entries.fathippo-context-engine.config.mode=hosted
64
- openclaw config set plugins.entries.fathippo-context-engine.config.apiKey=mem_xxx
65
- openclaw config set plugins.entries.fathippo-context-engine.config.baseUrl=https://fathippo.ai/api
66
- openclaw config set plugins.entries.fathippo-context-engine.config.injectCritical=true
67
- openclaw gateway restart
68
- ```
69
-
70
- If you previously installed `@fathippo/context-engine`, reinstall from `@fathippo/fathippo-context-engine` so OpenClaw discovers a matching package name and plugin id.
67
+ ## Features
71
68
 
72
- ## Links
69
+ - Hosted mode with account-backed retrieval, cognition, and dashboard receipts
70
+ - Local mode with on-device memory and lightweight local workflow learning
71
+ - Per-turn context recall before replies
72
+ - Full-turn capture after replies
73
+ - Dream Cycle compaction in hosted mode
73
74
 
74
- - [FatHippo Docs](https://fathippo.ai/docs)
75
- - [OpenClaw Plugins](https://docs.openclaw.ai/tools/plugin)
76
- - [GitHub](https://github.com/jscianna/fathippo)
75
+ If you previously installed `@fathippo/context-engine`, reinstall from `@fathippo/fathippo-context-engine` so OpenClaw discovers the matching package name and plugin id cleanly.
@@ -1,75 +1,2 @@
1
- /**
2
- * FatHippo API Client
3
- */
4
- import type { FatHippoConfig, Memory, SearchResult, CriticalMemoriesResponse, RememberParams, SearchParams, DreamCycleParams, IndexedMemory, IndexedMemoriesResponse } from "../types.js";
5
- export declare class FatHippoClient {
6
- private apiKey;
7
- private baseUrl;
8
- private pluginHeaders;
9
- constructor(config: FatHippoConfig);
10
- private request;
11
- /**
12
- * Store a memory
13
- */
14
- remember(params: RememberParams): Promise<Memory>;
15
- /**
16
- * Search memories
17
- */
18
- search(params: SearchParams): Promise<SearchResult[]>;
19
- /**
20
- * Get critical-tier memories (for injection)
21
- */
22
- getCriticalMemories(options?: {
23
- limit?: number;
24
- excludeAbsorbed?: boolean;
25
- }): Promise<CriticalMemoriesResponse>;
26
- /**
27
- * Get recent memories (for context)
28
- */
29
- getRecentMemories(options?: {
30
- hours?: number;
31
- limit?: number;
32
- }): Promise<Memory[]>;
33
- /**
34
- * Run Dream Cycle (synthesis, decay, cleanup)
35
- */
36
- runDreamCycle(params?: DreamCycleParams): Promise<{
37
- ok: boolean;
38
- synthesized?: number;
39
- decayed?: number;
40
- }>;
41
- /**
42
- * Get context for injection (optimized endpoint)
43
- */
44
- getContext(query?: string): Promise<{
45
- memories: Memory[];
46
- syntheses?: Array<{
47
- id: string;
48
- title: string;
49
- content: string;
50
- }>;
51
- tokenEstimate?: number;
52
- }>;
53
- /**
54
- * Get indexed memory summaries (compact, for agent context)
55
- */
56
- getIndexedSummaries(): Promise<IndexedMemoriesResponse>;
57
- /**
58
- * Dereference an indexed memory to get full content
59
- */
60
- dereferenceIndex(indexKey: string): Promise<IndexedMemory>;
61
- /**
62
- * Store an indexed memory
63
- */
64
- storeIndexed(params: {
65
- index: string;
66
- summary: string;
67
- content: string;
68
- contentType?: string;
69
- metadata?: Record<string, unknown>;
70
- }): Promise<{
71
- stored: boolean;
72
- index: string;
73
- }>;
74
- }
1
+ export { FatHippoClient, type CriticalMemoriesResponse, type DreamCycleParams, type FatHippoClientOptions, type IndexedMemoriesResponse, type IndexedMemory, type Memory, type RememberParams, type SearchParams, type SearchResult, type SynthesizedMemory, } from "@fathippo/hosted";
75
2
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAoCrB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAyB;gBAElC,MAAM,EAAE,cAAc;YAUpB,OAAO;IAyBrB;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQvD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC3D;;OAEG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAClC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA6BrC;;OAEG;IACG,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAChC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAerB;;OAEG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;QACtD,EAAE,EAAE,OAAO,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAYF;;OAEG;IACG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAqBF;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAI7D;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhE;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAMhD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC"}
@@ -1,176 +1,2 @@
1
- /**
2
- * FatHippo API Client
3
- */
4
- const DEFAULT_BASE_URL = "https://fathippo.ai/api";
5
- function mapMemoryRecord(record) {
6
- return {
7
- id: record.id,
8
- title: record.title,
9
- content: record.text,
10
- userId: record.userId ?? "",
11
- memoryType: record.memoryType ?? record.type,
12
- importanceTier: record.importanceTier ??
13
- record.tier ??
14
- "normal",
15
- createdAt: record.createdAt,
16
- updatedAt: record.createdAt,
17
- accessCount: record.accessCount,
18
- absorbed: record.absorbed,
19
- absorbedIntoSynthesisId: record.absorbedIntoSynthesisId,
20
- };
21
- }
22
- export class FatHippoClient {
23
- apiKey;
24
- baseUrl;
25
- pluginHeaders;
26
- constructor(config) {
27
- this.apiKey = config.apiKey ?? "";
28
- this.baseUrl = config.baseUrl || DEFAULT_BASE_URL;
29
- this.pluginHeaders = {
30
- "X-Fathippo-Plugin-Id": config.pluginId ?? "fathippo-context-engine",
31
- "X-Fathippo-Plugin-Version": config.pluginVersion ?? "unknown",
32
- "X-Fathippo-Plugin-Mode": config.mode === "local" ? "local" : "hosted",
33
- };
34
- }
35
- async request(path, options = {}) {
36
- const url = `${this.baseUrl}${path}`;
37
- const headers = {
38
- Authorization: `Bearer ${this.apiKey}`,
39
- "Content-Type": "application/json",
40
- ...this.pluginHeaders,
41
- ...options.headers,
42
- };
43
- const response = await fetch(url, {
44
- ...options,
45
- headers,
46
- });
47
- if (!response.ok) {
48
- const error = await response.text().catch(() => "Unknown error");
49
- throw new Error(`FatHippo API error: ${response.status} - ${error}`);
50
- }
51
- return response.json();
52
- }
53
- /**
54
- * Store a memory
55
- */
56
- async remember(params) {
57
- const response = await this.request("/v1/memories", {
58
- method: "POST",
59
- body: JSON.stringify(params),
60
- });
61
- return mapMemoryRecord(response.memory);
62
- }
63
- /**
64
- * Search memories
65
- */
66
- async search(params) {
67
- const response = await this.request("/v1/search", {
68
- method: "POST",
69
- body: JSON.stringify(params),
70
- });
71
- return response.map((result) => ({
72
- memory: mapMemoryRecord(result.memory),
73
- score: result.score,
74
- matchType: result.vectorScore && result.bm25Score
75
- ? "hybrid"
76
- : result.vectorScore
77
- ? "vector"
78
- : "bm25",
79
- }));
80
- }
81
- /**
82
- * Get critical-tier memories (for injection)
83
- */
84
- async getCriticalMemories(options) {
85
- const response = await this.request("/v1/context", {
86
- method: "POST",
87
- body: JSON.stringify({
88
- message: "",
89
- includeHigh: false,
90
- highLimit: 0,
91
- }),
92
- });
93
- const memories = response.critical
94
- .map(mapMemoryRecord)
95
- .filter((memory) => (options?.excludeAbsorbed ? !memory.absorbed : true))
96
- .slice(0, options?.limit ?? 30);
97
- const syntheses = response.working.slice(0, options?.limit ?? 30).map((item) => ({
98
- id: item.id,
99
- userId: "",
100
- title: item.title,
101
- content: item.text,
102
- sourceMemoryIds: item.synthesizedFrom ?? [],
103
- createdAt: new Date().toISOString(),
104
- }));
105
- return { memories, syntheses };
106
- }
107
- /**
108
- * Get recent memories (for context)
109
- */
110
- async getRecentMemories(options) {
111
- const params = new URLSearchParams();
112
- if (options?.limit)
113
- params.set("limit", String(options.limit));
114
- const response = await this.request(`/v1/memories?${params}`);
115
- let memories = response.memories.map(mapMemoryRecord);
116
- if (options?.hours) {
117
- const cutoff = Date.now() - options.hours * 60 * 60 * 1000;
118
- memories = memories.filter((memory) => Date.parse(memory.createdAt) >= cutoff);
119
- }
120
- return memories;
121
- }
122
- /**
123
- * Run Dream Cycle (synthesis, decay, cleanup)
124
- */
125
- async runDreamCycle(params) {
126
- const response = await this.request("/v1/lifecycle", {
127
- method: "POST",
128
- body: JSON.stringify(params || {}),
129
- });
130
- return {
131
- ok: true,
132
- synthesized: 0,
133
- decayed: (response.maintenance?.archived ?? 0) + (response.maintenance?.deleted ?? 0),
134
- };
135
- }
136
- /**
137
- * Get context for injection (optimized endpoint)
138
- */
139
- async getContext(query) {
140
- const response = await this.request("/v1/context", {
141
- method: "POST",
142
- body: JSON.stringify({ message: query || "" }),
143
- });
144
- return {
145
- memories: [...response.critical, ...response.high].map(mapMemoryRecord),
146
- syntheses: response.working?.map((item) => ({
147
- id: item.id,
148
- title: item.title,
149
- content: item.text,
150
- })),
151
- tokenEstimate: response.stats?.totalTokensEstimate,
152
- };
153
- }
154
- /**
155
- * Get indexed memory summaries (compact, for agent context)
156
- */
157
- async getIndexedSummaries() {
158
- return this.request("/v1/indexed");
159
- }
160
- /**
161
- * Dereference an indexed memory to get full content
162
- */
163
- async dereferenceIndex(indexKey) {
164
- return this.request(`/v1/indexed/${encodeURIComponent(indexKey)}`);
165
- }
166
- /**
167
- * Store an indexed memory
168
- */
169
- async storeIndexed(params) {
170
- return this.request("/v1/indexed", {
171
- method: "POST",
172
- body: JSON.stringify(params),
173
- });
174
- }
175
- }
1
+ export { FatHippoClient, } from "@fathippo/hosted";
176
2
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAWf,MAAM,kBAAkB,CAAC"}
package/dist/engine.d.ts CHANGED
@@ -12,18 +12,16 @@ import type { FatHippoConfig } from "./types.js";
12
12
  export declare class FatHippoContextEngine implements ContextEngine {
13
13
  readonly info: ContextEngineInfo;
14
14
  private client;
15
+ private runtimeClient;
15
16
  private config;
16
17
  private mode;
17
18
  private localStore;
18
- private cachedCritical;
19
+ private hostedSessions;
19
20
  private sessionStartTimes;
20
- private sessionApplicationIds;
21
21
  private sessionLocalProfiles;
22
22
  private sessionHippoNodState;
23
23
  private cognitiveEnabled;
24
24
  private static readonly TRIVIAL_ACKS;
25
- private static readonly MIN_VECTOR_SIMILARITY;
26
- private static readonly MIN_CRITICAL_RELEVANCE;
27
25
  private static readonly HIPPO_NOD_COOLDOWN_MS;
28
26
  private static readonly HIPPO_NOD_MIN_MESSAGE_GAP;
29
27
  constructor(config: FatHippoConfig);
@@ -73,23 +71,7 @@ export declare class FatHippoContextEngine implements ContextEngine {
73
71
  tokenBudget?: number;
74
72
  }): Promise<AssembleResult>;
75
73
  private assembleLocalContext;
76
- /**
77
- * Check if query looks like a coding task
78
- */
79
- private looksLikeCodingQuery;
80
- /**
81
- * Fetch active constraints (always injected)
82
- */
83
- private fetchConstraints;
84
- /**
85
- * Auto-detect and store constraints from user message
86
- */
87
- private maybeStoreConstraint;
88
- /**
89
- * Fetch relevant traces and patterns from cognitive API
90
- */
91
- private fetchCognitiveContext;
92
- private captureStructuredTrace;
74
+ private buildRuntimeAwarenessInstruction;
93
75
  private runCognitiveHeartbeat;
94
76
  private detectFilesModified;
95
77
  private detectWorkspaceRoot;
@@ -99,8 +81,6 @@ export declare class FatHippoContextEngine implements ContextEngine {
99
81
  private mapLocalMemory;
100
82
  private toLocalToolSignals;
101
83
  private captureLocalTrace;
102
- private getApiBaseUrl;
103
- private getHostedHeaders;
104
84
  private buildHippoNodInstruction;
105
85
  private isHighUrgencyOrFormalMoment;
106
86
  /**
@@ -127,7 +107,7 @@ export declare class FatHippoContextEngine implements ContextEngine {
127
107
  /**
128
108
  * Handle subagent completion
129
109
  */
130
- onSubagentEnded(_params: {
110
+ onSubagentEnded(params: {
131
111
  childSessionKey: string;
132
112
  reason: SubagentEndReason;
133
113
  }): Promise<void>;
@@ -136,6 +116,12 @@ export declare class FatHippoContextEngine implements ContextEngine {
136
116
  */
137
117
  dispose(): Promise<void>;
138
118
  private extractContent;
119
+ private buildHostedRuntimeMetadata;
120
+ private toRuntimeMessages;
121
+ private extractTurnMessages;
122
+ private captureLocalTurnMemories;
123
+ private mapHostedOutcomeFromReason;
124
+ private endHostedSession;
139
125
  private findLastUserMessage;
140
126
  private isTrivialQuery;
141
127
  private isRoleMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAA6B,MAAM,YAAY,CAAC;AAqB5E;;GAEG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IACzD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAK9B;IAEF,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAA+E;IAGrG,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,oBAAoB,CAA+E;IAC3G,OAAO,CAAC,gBAAgB,CAAU;IAElC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAYjC;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAkB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;gBAE1C,MAAM,EAAE,cAAc;IA2BlC;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,eAAe,CAAC;IA2D5B;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,YAAY,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,YAAY,CAAC;IAUzB;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAS9B;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClD,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDjB,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,cAAc,CAAC;YA8Fb,oBAAoB;IAuHlC,OAAO,CAAC,gCAAgC;YAY1B,qBAAqB;IAkBnC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,kBAAkB;YAUZ,iBAAiB;IAqD/B,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,2BAA2B;IAmBnC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;QAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,GAAG,OAAO,CAAC,aAAa,CAAC;IAsC1B;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE;QAClC,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAWjD;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,iBAAiB,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,mBAAmB;YAYb,wBAAwB;IA2DtC,OAAO,CAAC,0BAA0B;YAapB,gBAAgB;IAyB9B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,wBAAwB;IAmDhC,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,sBAAsB;CAmB/B"}