@tarquinen/opencode-dcp 2.1.6 → 2.2.0-beta0

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 (156) hide show
  1. package/README.md +30 -49
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -29
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/commands/context.d.ts.map +1 -1
  6. package/dist/lib/commands/context.js +36 -8
  7. package/dist/lib/commands/context.js.map +1 -1
  8. package/dist/lib/commands/help.d.ts.map +1 -1
  9. package/dist/lib/commands/help.js +2 -6
  10. package/dist/lib/commands/help.js.map +1 -1
  11. package/dist/lib/commands/manual.d.ts +1 -3
  12. package/dist/lib/commands/manual.d.ts.map +1 -1
  13. package/dist/lib/commands/manual.js +4 -43
  14. package/dist/lib/commands/manual.js.map +1 -1
  15. package/dist/lib/commands/sweep.js +1 -1
  16. package/dist/lib/commands/sweep.js.map +1 -1
  17. package/dist/lib/compress-logger.d.ts +15 -0
  18. package/dist/lib/compress-logger.d.ts.map +1 -0
  19. package/dist/lib/compress-logger.js +132 -0
  20. package/dist/lib/compress-logger.js.map +1 -0
  21. package/dist/lib/config.d.ts +5 -20
  22. package/dist/lib/config.d.ts.map +1 -1
  23. package/dist/lib/config.js +172 -346
  24. package/dist/lib/config.js.map +1 -1
  25. package/dist/lib/hooks.d.ts +7 -0
  26. package/dist/lib/hooks.d.ts.map +1 -1
  27. package/dist/lib/hooks.js +23 -16
  28. package/dist/lib/hooks.js.map +1 -1
  29. package/dist/lib/logger.d.ts.map +1 -1
  30. package/dist/lib/logger.js +6 -0
  31. package/dist/lib/logger.js.map +1 -1
  32. package/dist/lib/messages/index.d.ts +2 -2
  33. package/dist/lib/messages/index.d.ts.map +1 -1
  34. package/dist/lib/messages/index.js +2 -2
  35. package/dist/lib/messages/index.js.map +1 -1
  36. package/dist/lib/messages/inject/inject.d.ts +6 -0
  37. package/dist/lib/messages/inject/inject.d.ts.map +1 -0
  38. package/dist/lib/messages/inject/inject.js +99 -0
  39. package/dist/lib/messages/inject/inject.js.map +1 -0
  40. package/dist/lib/messages/inject/utils.d.ts +20 -0
  41. package/dist/lib/messages/inject/utils.d.ts.map +1 -0
  42. package/dist/lib/messages/inject/utils.js +137 -0
  43. package/dist/lib/messages/inject/utils.js.map +1 -0
  44. package/dist/lib/messages/prune.js +7 -7
  45. package/dist/lib/messages/prune.js.map +1 -1
  46. package/dist/lib/messages/utils.d.ts +16 -28
  47. package/dist/lib/messages/utils.d.ts.map +1 -1
  48. package/dist/lib/messages/utils.js +40 -133
  49. package/dist/lib/messages/utils.js.map +1 -1
  50. package/dist/lib/prompts/_codegen/system.generated.d.ts +1 -1
  51. package/dist/lib/prompts/_codegen/system.generated.d.ts.map +1 -1
  52. package/dist/lib/prompts/_codegen/system.generated.js +36 -32
  53. package/dist/lib/prompts/_codegen/system.generated.js.map +1 -1
  54. package/dist/lib/prompts/compress.d.ts +2 -0
  55. package/dist/lib/prompts/compress.d.ts.map +1 -0
  56. package/dist/lib/prompts/compress.js +122 -0
  57. package/dist/lib/prompts/compress.js.map +1 -0
  58. package/dist/lib/prompts/index.d.ts +6 -10
  59. package/dist/lib/prompts/index.d.ts.map +1 -1
  60. package/dist/lib/prompts/index.js +17 -40
  61. package/dist/lib/prompts/index.js.map +1 -1
  62. package/dist/lib/prompts/iteration-nudge.d.ts +2 -0
  63. package/dist/lib/prompts/iteration-nudge.d.ts.map +1 -0
  64. package/dist/lib/prompts/iteration-nudge.js +9 -0
  65. package/dist/lib/prompts/iteration-nudge.js.map +1 -0
  66. package/dist/lib/prompts/nudge.d.ts +2 -0
  67. package/dist/lib/prompts/nudge.d.ts.map +1 -0
  68. package/dist/lib/prompts/nudge.js +40 -0
  69. package/dist/lib/prompts/nudge.js.map +1 -0
  70. package/dist/lib/prompts/turn-nudge.d.ts +2 -0
  71. package/dist/lib/prompts/turn-nudge.d.ts.map +1 -0
  72. package/dist/lib/prompts/turn-nudge.js +12 -0
  73. package/dist/lib/prompts/turn-nudge.js.map +1 -0
  74. package/dist/lib/state/persistence.d.ts +6 -0
  75. package/dist/lib/state/persistence.d.ts.map +1 -1
  76. package/dist/lib/state/persistence.js +58 -38
  77. package/dist/lib/state/persistence.js.map +1 -1
  78. package/dist/lib/state/state.d.ts.map +1 -1
  79. package/dist/lib/state/state.js +20 -5
  80. package/dist/lib/state/state.js.map +1 -1
  81. package/dist/lib/state/tool-cache.d.ts.map +1 -1
  82. package/dist/lib/state/tool-cache.js +3 -17
  83. package/dist/lib/state/tool-cache.js.map +1 -1
  84. package/dist/lib/state/types.d.ts +7 -2
  85. package/dist/lib/state/types.d.ts.map +1 -1
  86. package/dist/lib/state/utils.d.ts +1 -0
  87. package/dist/lib/state/utils.d.ts.map +1 -1
  88. package/dist/lib/state/utils.js +33 -6
  89. package/dist/lib/state/utils.js.map +1 -1
  90. package/dist/lib/strategies/index.d.ts +0 -1
  91. package/dist/lib/strategies/index.d.ts.map +1 -1
  92. package/dist/lib/strategies/index.js +0 -1
  93. package/dist/lib/strategies/index.js.map +1 -1
  94. package/dist/lib/strategies/utils.d.ts +1 -0
  95. package/dist/lib/strategies/utils.d.ts.map +1 -1
  96. package/dist/lib/strategies/utils.js +15 -0
  97. package/dist/lib/strategies/utils.js.map +1 -1
  98. package/dist/lib/tools/compress-utils.d.ts +7 -4
  99. package/dist/lib/tools/compress-utils.d.ts.map +1 -1
  100. package/dist/lib/tools/compress-utils.js +34 -25
  101. package/dist/lib/tools/compress-utils.js.map +1 -1
  102. package/dist/lib/tools/compress.d.ts +2 -2
  103. package/dist/lib/tools/compress.d.ts.map +1 -1
  104. package/dist/lib/tools/compress.js +21 -58
  105. package/dist/lib/tools/compress.js.map +1 -1
  106. package/dist/lib/tools/index.d.ts +1 -3
  107. package/dist/lib/tools/index.d.ts.map +1 -1
  108. package/dist/lib/tools/index.js +0 -2
  109. package/dist/lib/tools/index.js.map +1 -1
  110. package/dist/lib/tools/types.d.ts +1 -1
  111. package/dist/lib/tools/types.d.ts.map +1 -1
  112. package/dist/lib/ui/notification.d.ts +2 -2
  113. package/dist/lib/ui/notification.d.ts.map +1 -1
  114. package/dist/lib/ui/notification.js +31 -28
  115. package/dist/lib/ui/notification.js.map +1 -1
  116. package/dist/lib/ui/utils.d.ts +3 -4
  117. package/dist/lib/ui/utils.d.ts.map +1 -1
  118. package/dist/lib/ui/utils.js +165 -24
  119. package/dist/lib/ui/utils.js.map +1 -1
  120. package/package.json +2 -1
  121. package/dist/lib/messages/inject.d.ts +0 -14
  122. package/dist/lib/messages/inject.d.ts.map +0 -1
  123. package/dist/lib/messages/inject.js +0 -266
  124. package/dist/lib/messages/inject.js.map +0 -1
  125. package/dist/lib/prompts/_codegen/compress-nudge.generated.d.ts +0 -2
  126. package/dist/lib/prompts/_codegen/compress-nudge.generated.d.ts.map +0 -1
  127. package/dist/lib/prompts/_codegen/compress-nudge.generated.js +0 -15
  128. package/dist/lib/prompts/_codegen/compress-nudge.generated.js.map +0 -1
  129. package/dist/lib/prompts/_codegen/compress.generated.d.ts +0 -2
  130. package/dist/lib/prompts/_codegen/compress.generated.d.ts.map +0 -1
  131. package/dist/lib/prompts/_codegen/compress.generated.js +0 -66
  132. package/dist/lib/prompts/_codegen/compress.generated.js.map +0 -1
  133. package/dist/lib/prompts/_codegen/distill.generated.d.ts +0 -2
  134. package/dist/lib/prompts/_codegen/distill.generated.d.ts.map +0 -1
  135. package/dist/lib/prompts/_codegen/distill.generated.js +0 -33
  136. package/dist/lib/prompts/_codegen/distill.generated.js.map +0 -1
  137. package/dist/lib/prompts/_codegen/nudge.generated.d.ts +0 -2
  138. package/dist/lib/prompts/_codegen/nudge.generated.d.ts.map +0 -1
  139. package/dist/lib/prompts/_codegen/nudge.generated.js +0 -17
  140. package/dist/lib/prompts/_codegen/nudge.generated.js.map +0 -1
  141. package/dist/lib/prompts/_codegen/prune.generated.d.ts +0 -2
  142. package/dist/lib/prompts/_codegen/prune.generated.d.ts.map +0 -1
  143. package/dist/lib/prompts/_codegen/prune.generated.js +0 -23
  144. package/dist/lib/prompts/_codegen/prune.generated.js.map +0 -1
  145. package/dist/lib/tools/distill.d.ts +0 -4
  146. package/dist/lib/tools/distill.d.ts.map +0 -1
  147. package/dist/lib/tools/distill.js +0 -41
  148. package/dist/lib/tools/distill.js.map +0 -1
  149. package/dist/lib/tools/prune-shared.d.ts +0 -6
  150. package/dist/lib/tools/prune-shared.d.ts.map +0 -1
  151. package/dist/lib/tools/prune-shared.js +0 -113
  152. package/dist/lib/tools/prune-shared.js.map +0 -1
  153. package/dist/lib/tools/prune.d.ts +0 -4
  154. package/dist/lib/tools/prune.d.ts.map +0 -1
  155. package/dist/lib/tools/prune.js +0 -28
  156. package/dist/lib/tools/prune.js.map +0 -1
@@ -0,0 +1,132 @@
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ // =============================================================================
4
+ // Dedicated compress diagnostics logger for DCP
5
+ // Buffered async file writes, always-on when compress is invoked
6
+ // Logs to .logs/dcp-compress.log relative to cwd
7
+ // =============================================================================
8
+ const LOG_DIR = path.join(process.cwd(), ".logs");
9
+ const LOG_FILE = path.join(LOG_DIR, "dcp-compress.log");
10
+ const WRITE_INTERVAL_MS = 100;
11
+ const MAX_DATA_CHARS = 20000;
12
+ let buffer = [];
13
+ let scheduled = false;
14
+ let initialized = false;
15
+ function init() {
16
+ if (initialized)
17
+ return true;
18
+ try {
19
+ if (!fs.existsSync(LOG_DIR)) {
20
+ fs.mkdirSync(LOG_DIR, { recursive: true });
21
+ }
22
+ fs.writeFileSync(LOG_FILE, "");
23
+ initialized = true;
24
+ return true;
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ }
30
+ async function flush() {
31
+ if (buffer.length === 0) {
32
+ scheduled = false;
33
+ return;
34
+ }
35
+ const chunk = buffer.join("");
36
+ buffer = [];
37
+ scheduled = false;
38
+ try {
39
+ await fs.promises.appendFile(LOG_FILE, chunk);
40
+ }
41
+ catch { }
42
+ }
43
+ function schedule() {
44
+ if (!scheduled) {
45
+ scheduled = true;
46
+ setTimeout(flush, WRITE_INTERVAL_MS);
47
+ }
48
+ }
49
+ function truncate(str, max) {
50
+ if (str.length <= max)
51
+ return str;
52
+ return `${str.substring(0, max)}...`;
53
+ }
54
+ function formatNumber(n) {
55
+ return n.toLocaleString("en-US");
56
+ }
57
+ function indent(lines, spaces) {
58
+ const prefix = " ".repeat(spaces);
59
+ return lines
60
+ .split("\n")
61
+ .map((line) => (line ? prefix + line : ""))
62
+ .join("\n");
63
+ }
64
+ function formatValue(value, depth = 0) {
65
+ if (value === null)
66
+ return "null";
67
+ if (value === undefined)
68
+ return "undefined";
69
+ if (typeof value === "boolean")
70
+ return value ? "true" : "false";
71
+ if (typeof value === "number")
72
+ return formatNumber(value);
73
+ if (typeof value === "string") {
74
+ if (value.length > 120) {
75
+ return `"${truncate(value, 120)}"`;
76
+ }
77
+ return `"${value}"`;
78
+ }
79
+ if (Array.isArray(value)) {
80
+ if (value.length === 0)
81
+ return "[]";
82
+ if (depth > 3) {
83
+ return `[${value.length} items]`;
84
+ }
85
+ const items = value
86
+ .slice(0, 10)
87
+ .map((v) => `- ${formatValue(v, depth + 1)}`)
88
+ .join("\n");
89
+ const omitted = value.length > 10 ? `\n... (${value.length - 10} more)` : "";
90
+ return `\n${indent(items, 2)}${omitted}`;
91
+ }
92
+ if (typeof value === "object") {
93
+ const entries = Object.entries(value);
94
+ if (entries.length === 0)
95
+ return "{}";
96
+ if (depth > 3) {
97
+ return `{${entries.length} keys}`;
98
+ }
99
+ const lines = entries
100
+ .slice(0, 15)
101
+ .map(([k, v]) => `${k}: ${formatValue(v, depth + 1)}`)
102
+ .join("\n");
103
+ const omitted = entries.length > 15 ? `\n... (${entries.length - 15} more)` : "";
104
+ return `\n${indent(lines, 2)}${omitted}`;
105
+ }
106
+ return String(value);
107
+ }
108
+ function write(level, category, message, data) {
109
+ if (!init())
110
+ return;
111
+ const ts = new Date().toISOString();
112
+ let output = `[${ts}] [${level}] [${category}]\n${indent(message, 2)}`;
113
+ if (data !== undefined) {
114
+ const formatted = formatValue(data);
115
+ output += `\n${indent(formatted, 2)}`;
116
+ }
117
+ buffer.push(`${output}\n\n`);
118
+ schedule();
119
+ }
120
+ export const clog = {
121
+ debug: (category, message, data) => write("DEBUG", category, message, data),
122
+ info: (category, message, data) => write("INFO", category, message, data),
123
+ warn: (category, message, data) => write("WARN", category, message, data),
124
+ error: (category, message, data) => write("ERROR", category, message, data),
125
+ flush,
126
+ };
127
+ export const C = {
128
+ COMPRESS: "COMPRESS",
129
+ BOUNDARY: "BOUNDARY",
130
+ STATE: "STATE",
131
+ };
132
+ //# sourceMappingURL=compress-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress-logger.js","sourceRoot":"","sources":["../../lib/compress-logger.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,16 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
+ type Permission = "ask" | "allow" | "deny";
2
3
  export interface Deduplication {
3
4
  enabled: boolean;
4
5
  protectedTools: string[];
5
6
  }
6
- export interface PruneTool {
7
- permission: "ask" | "allow" | "deny";
8
- }
9
- export interface DistillTool {
10
- permission: "ask" | "allow" | "deny";
11
- showDistillation: boolean;
12
- }
13
7
  export interface CompressTool {
14
- permission: "ask" | "allow" | "deny";
8
+ permission: Permission;
15
9
  showCompression: boolean;
16
- }
17
- export interface ToolSettings {
18
- nudgeEnabled: boolean;
19
- nudgeFrequency: number;
20
- protectedTools: string[];
21
10
  contextLimit: number | `${number}%`;
22
11
  modelLimits?: Record<string, number | `${number}%`>;
23
- }
24
- export interface Tools {
25
- settings: ToolSettings;
26
- distill: DistillTool;
27
- compress: CompressTool;
28
- prune: PruneTool;
12
+ nudgeFrequency: number;
13
+ iterationNudgeThreshold: number;
29
14
  }
30
15
  export interface Commands {
31
16
  enabled: boolean;
@@ -56,7 +41,7 @@ export interface PluginConfig {
56
41
  manualMode: ManualModeConfig;
57
42
  turnProtection: TurnProtection;
58
43
  protectedFilePatterns: string[];
59
- tools: Tools;
44
+ compress: CompressTool;
60
45
  strategies: {
61
46
  deduplication: Deduplication;
62
47
  supersedeWrites: SupersedeWrites;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;IACpC,gBAAgB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;IACpC,eAAe,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;CACtD;AAED,MAAM,WAAW,KAAK;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,YAAY,CAAA;IACtB,KAAK,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACjD,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAA;IACvC,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE;QACR,aAAa,EAAE,aAAa,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,WAAW,EAAE,WAAW,CAAA;KAC3B,CAAA;CACJ;AAeD,eAAO,MAAM,iBAAiB,aA8C5B,CAAA;AAsBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAGD,UAAU,eAAe;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EAAE,CA8WlF;AA0UD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAyIxD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,KAAK,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AAE1C,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,uBAAuB,EAAE,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACjD,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAA;IACvC,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,QAAQ,EAAE,YAAY,CAAA;IACtB,UAAU,EAAE;QACR,aAAa,EAAE,aAAa,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,WAAW,EAAE,WAAW,CAAA;KAC3B,CAAA;CACJ;AAcD,eAAO,MAAM,iBAAiB,aAkC5B,CAAA;AAoBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAED,UAAU,eAAe;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EAAE,CA6UlF;AA0UD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAsCxD"}