@lobu/worker 2.8.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 (117) hide show
  1. package/dist/core/error-handler.d.ts +7 -0
  2. package/dist/core/error-handler.d.ts.map +1 -0
  3. package/dist/core/error-handler.js +58 -0
  4. package/dist/core/error-handler.js.map +1 -0
  5. package/dist/core/project-scanner.d.ts +9 -0
  6. package/dist/core/project-scanner.d.ts.map +1 -0
  7. package/dist/core/project-scanner.js +64 -0
  8. package/dist/core/project-scanner.js.map +1 -0
  9. package/dist/core/types.d.ts +102 -0
  10. package/dist/core/types.d.ts.map +1 -0
  11. package/dist/core/types.js +8 -0
  12. package/dist/core/types.js.map +1 -0
  13. package/dist/core/url-utils.d.ts +5 -0
  14. package/dist/core/url-utils.d.ts.map +1 -0
  15. package/dist/core/url-utils.js +13 -0
  16. package/dist/core/url-utils.js.map +1 -0
  17. package/dist/core/workspace.d.ts +29 -0
  18. package/dist/core/workspace.d.ts.map +1 -0
  19. package/dist/core/workspace.js +104 -0
  20. package/dist/core/workspace.js.map +1 -0
  21. package/dist/embedded/just-bash-bootstrap.d.ts +21 -0
  22. package/dist/embedded/just-bash-bootstrap.d.ts.map +1 -0
  23. package/dist/embedded/just-bash-bootstrap.js +215 -0
  24. package/dist/embedded/just-bash-bootstrap.js.map +1 -0
  25. package/dist/gateway/gateway-integration.d.ts +57 -0
  26. package/dist/gateway/gateway-integration.d.ts.map +1 -0
  27. package/dist/gateway/gateway-integration.js +209 -0
  28. package/dist/gateway/gateway-integration.js.map +1 -0
  29. package/dist/gateway/message-batcher.d.ts +27 -0
  30. package/dist/gateway/message-batcher.d.ts.map +1 -0
  31. package/dist/gateway/message-batcher.js +102 -0
  32. package/dist/gateway/message-batcher.js.map +1 -0
  33. package/dist/gateway/sse-client.d.ts +74 -0
  34. package/dist/gateway/sse-client.d.ts.map +1 -0
  35. package/dist/gateway/sse-client.js +748 -0
  36. package/dist/gateway/sse-client.js.map +1 -0
  37. package/dist/gateway/types.d.ts +60 -0
  38. package/dist/gateway/types.d.ts.map +1 -0
  39. package/dist/gateway/types.js +6 -0
  40. package/dist/gateway/types.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +112 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/instructions/builder.d.ts +8 -0
  46. package/dist/instructions/builder.d.ts.map +1 -0
  47. package/dist/instructions/builder.js +53 -0
  48. package/dist/instructions/builder.js.map +1 -0
  49. package/dist/instructions/providers.d.ts +13 -0
  50. package/dist/instructions/providers.d.ts.map +1 -0
  51. package/dist/instructions/providers.js +26 -0
  52. package/dist/instructions/providers.js.map +1 -0
  53. package/dist/modules/lifecycle.d.ts +18 -0
  54. package/dist/modules/lifecycle.d.ts.map +1 -0
  55. package/dist/modules/lifecycle.js +56 -0
  56. package/dist/modules/lifecycle.js.map +1 -0
  57. package/dist/openclaw/custom-tools.d.ts +17 -0
  58. package/dist/openclaw/custom-tools.d.ts.map +1 -0
  59. package/dist/openclaw/custom-tools.js +195 -0
  60. package/dist/openclaw/custom-tools.js.map +1 -0
  61. package/dist/openclaw/instructions.d.ts +15 -0
  62. package/dist/openclaw/instructions.d.ts.map +1 -0
  63. package/dist/openclaw/instructions.js +32 -0
  64. package/dist/openclaw/instructions.js.map +1 -0
  65. package/dist/openclaw/model-resolver.d.ts +30 -0
  66. package/dist/openclaw/model-resolver.d.ts.map +1 -0
  67. package/dist/openclaw/model-resolver.js +147 -0
  68. package/dist/openclaw/model-resolver.js.map +1 -0
  69. package/dist/openclaw/plugin-loader.d.ts +39 -0
  70. package/dist/openclaw/plugin-loader.d.ts.map +1 -0
  71. package/dist/openclaw/plugin-loader.js +347 -0
  72. package/dist/openclaw/plugin-loader.js.map +1 -0
  73. package/dist/openclaw/processor.d.ts +38 -0
  74. package/dist/openclaw/processor.d.ts.map +1 -0
  75. package/dist/openclaw/processor.js +182 -0
  76. package/dist/openclaw/processor.js.map +1 -0
  77. package/dist/openclaw/session-context.d.ts +44 -0
  78. package/dist/openclaw/session-context.d.ts.map +1 -0
  79. package/dist/openclaw/session-context.js +151 -0
  80. package/dist/openclaw/session-context.js.map +1 -0
  81. package/dist/openclaw/tool-policy.d.ts +23 -0
  82. package/dist/openclaw/tool-policy.d.ts.map +1 -0
  83. package/dist/openclaw/tool-policy.js +151 -0
  84. package/dist/openclaw/tool-policy.js.map +1 -0
  85. package/dist/openclaw/tools.d.ts +6 -0
  86. package/dist/openclaw/tools.d.ts.map +1 -0
  87. package/dist/openclaw/tools.js +158 -0
  88. package/dist/openclaw/tools.js.map +1 -0
  89. package/dist/openclaw/worker.d.ts +39 -0
  90. package/dist/openclaw/worker.d.ts.map +1 -0
  91. package/dist/openclaw/worker.js +1340 -0
  92. package/dist/openclaw/worker.js.map +1 -0
  93. package/dist/server.d.ts +7 -0
  94. package/dist/server.d.ts.map +1 -0
  95. package/dist/server.js +304 -0
  96. package/dist/server.js.map +1 -0
  97. package/dist/shared/audio-provider-suggestions.d.ts +13 -0
  98. package/dist/shared/audio-provider-suggestions.d.ts.map +1 -0
  99. package/dist/shared/audio-provider-suggestions.js +105 -0
  100. package/dist/shared/audio-provider-suggestions.js.map +1 -0
  101. package/dist/shared/processor-utils.d.ts +6 -0
  102. package/dist/shared/processor-utils.d.ts.map +1 -0
  103. package/dist/shared/processor-utils.js +30 -0
  104. package/dist/shared/processor-utils.js.map +1 -0
  105. package/dist/shared/provider-auth-hints.d.ts +6 -0
  106. package/dist/shared/provider-auth-hints.d.ts.map +1 -0
  107. package/dist/shared/provider-auth-hints.js +51 -0
  108. package/dist/shared/provider-auth-hints.js.map +1 -0
  109. package/dist/shared/tool-display-config.d.ts +16 -0
  110. package/dist/shared/tool-display-config.d.ts.map +1 -0
  111. package/dist/shared/tool-display-config.js +67 -0
  112. package/dist/shared/tool-display-config.js.map +1 -0
  113. package/dist/shared/tool-implementations.d.ts +55 -0
  114. package/dist/shared/tool-implementations.d.ts.map +1 -0
  115. package/dist/shared/tool-implementations.js +519 -0
  116. package/dist/shared/tool-implementations.js.map +1 -0
  117. package/package.json +55 -0
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getApiKeyEnvVarForProvider = getApiKeyEnvVarForProvider;
4
+ exports.getProviderAuthHintFromError = getProviderAuthHintFromError;
5
+ const PROVIDER_API_KEY_ENV_VARS = {
6
+ "openai-codex": "OPENAI_API_KEY",
7
+ openai: "OPENAI_API_KEY",
8
+ google: "GOOGLE_API_KEY",
9
+ mistral: "MISTRAL_API_KEY",
10
+ anthropic: "ANTHROPIC_API_KEY",
11
+ "z-ai": "Z_AI_API_KEY",
12
+ };
13
+ function sanitizeProviderToken(value) {
14
+ return value
15
+ .trim()
16
+ .toLowerCase()
17
+ .replace(/[^a-z0-9]+/g, "_")
18
+ .replace(/^_+|_+$/g, "");
19
+ }
20
+ function getApiKeyEnvVarForProvider(providerName) {
21
+ const normalizedProvider = providerName.trim().toLowerCase();
22
+ const mapped = PROVIDER_API_KEY_ENV_VARS[normalizedProvider];
23
+ if (mapped) {
24
+ return mapped;
25
+ }
26
+ const sanitized = sanitizeProviderToken(providerName);
27
+ if (!sanitized || sanitized === "provider") {
28
+ return "API_KEY";
29
+ }
30
+ return `${sanitized.toUpperCase()}_API_KEY`;
31
+ }
32
+ function getProviderAuthHintFromError(errorMessage, defaultProvider) {
33
+ const needsAuthSetup = /No API key found|Authentication failed|invalid x-api-key|invalid api[-\s]?key|authentication_error|incorrect api key/i.test(errorMessage);
34
+ if (!needsAuthSetup) {
35
+ return null;
36
+ }
37
+ const explicitProviderMatch = errorMessage.match(/(?:No API key found for|Authentication failed for)\s+"?([A-Za-z0-9_-]+)/i);
38
+ const jsonProviderMatch = errorMessage.match(/"provider"\s*:\s*"([A-Za-z0-9._-]+)"/i);
39
+ const fallbackProvider = defaultProvider?.trim().toLowerCase() || undefined;
40
+ const providerName = explicitProviderMatch?.[1]?.toLowerCase() ||
41
+ jsonProviderMatch?.[1]?.toLowerCase() ||
42
+ (fallbackProvider && fallbackProvider !== "undefined"
43
+ ? fallbackProvider
44
+ : undefined) ||
45
+ "provider";
46
+ return {
47
+ providerName,
48
+ envVar: getApiKeyEnvVarForProvider(providerName),
49
+ };
50
+ }
51
+ //# sourceMappingURL=provider-auth-hints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-auth-hints.js","sourceRoot":"","sources":["../../src/shared/provider-auth-hints.ts"],"names":[],"mappings":";;AAiBA,gEAaC;AAED,oEA+BC;AA/DD,MAAM,yBAAyB,GAA2B;IACxD,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;AAC9C,CAAC;AAED,SAAgB,4BAA4B,CAC1C,YAAoB,EACpB,eAAwB;IAExB,MAAM,cAAc,GAClB,uHAAuH,CAAC,IAAI,CAC1H,YAAY,CACb,CAAC;IACJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAC9C,0EAA0E,CAC3E,CAAC;IACF,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAC1C,uCAAuC,CACxC,CAAC;IACF,MAAM,gBAAgB,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC;IAC5E,MAAM,YAAY,GAChB,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;QACzC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;QACrC,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,WAAW;YACnD,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,SAAS,CAAC;QACd,UAAU,CAAC;IAEb,OAAO;QACL,YAAY;QACZ,MAAM,EAAE,0BAA0B,CAAC,YAAY,CAAC;KACjD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared tool display configuration for progress processors.
3
+ * Maps tool names to emoji and description formatting.
4
+ */
5
+ export interface ToolDisplayEntry {
6
+ emoji: string;
7
+ action: string;
8
+ getParam: (params: Record<string, unknown>) => string;
9
+ }
10
+ /**
11
+ * Look up tool display config, case-insensitively.
12
+ * OpenClaw uses lowercase tool names (bash, read, write, etc.)
13
+ * while some agents use PascalCase (Bash, Read, Write, etc.).
14
+ */
15
+ export declare function getToolDisplayConfig(toolName: string): ToolDisplayEntry | undefined;
16
+ //# sourceMappingURL=tool-display-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-display-config.d.ts","sourceRoot":"","sources":["../../src/shared/tool-display-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;CACvD;AAqDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf,gBAAgB,GAAG,SAAS,CAK9B"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * Shared tool display configuration for progress processors.
4
+ * Maps tool names to emoji and description formatting.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getToolDisplayConfig = getToolDisplayConfig;
8
+ const TOOL_DISPLAY_CONFIG = {
9
+ Write: {
10
+ emoji: "✏️",
11
+ action: "Writing",
12
+ getParam: (p) => `\`${p.file_path || ""}\``,
13
+ },
14
+ Edit: {
15
+ emoji: "✏️",
16
+ action: "Editing",
17
+ getParam: (p) => `\`${p.file_path || ""}\``,
18
+ },
19
+ Bash: {
20
+ emoji: "👾",
21
+ action: "Running",
22
+ getParam: (p) => {
23
+ const cmd = String(p.command || p.description || "command");
24
+ return `\`${cmd.length > 50 ? `${cmd.substring(0, 50)}...` : cmd}\``;
25
+ },
26
+ },
27
+ Read: {
28
+ emoji: "📖",
29
+ action: "Reading",
30
+ getParam: (p) => `\`${p.file_path || p.path || ""}\``,
31
+ },
32
+ Grep: {
33
+ emoji: "🔍",
34
+ action: "Searching",
35
+ getParam: (p) => `\`${p.pattern || ""}\``,
36
+ },
37
+ Glob: {
38
+ emoji: "🔍",
39
+ action: "Finding",
40
+ getParam: (p) => `\`${p.pattern || ""}\``,
41
+ },
42
+ TodoWrite: {
43
+ emoji: "📝",
44
+ action: "Updating task list",
45
+ getParam: () => "",
46
+ },
47
+ WebFetch: {
48
+ emoji: "🌐",
49
+ action: "Fetching",
50
+ getParam: (p) => `\`${p.url || ""}\``,
51
+ },
52
+ WebSearch: {
53
+ emoji: "🔎",
54
+ action: "Searching web",
55
+ getParam: (p) => `\`${p.query || ""}\``,
56
+ },
57
+ };
58
+ /**
59
+ * Look up tool display config, case-insensitively.
60
+ * OpenClaw uses lowercase tool names (bash, read, write, etc.)
61
+ * while some agents use PascalCase (Bash, Read, Write, etc.).
62
+ */
63
+ function getToolDisplayConfig(toolName) {
64
+ return (TOOL_DISPLAY_CONFIG[toolName] ??
65
+ TOOL_DISPLAY_CONFIG[toolName.charAt(0).toUpperCase() + toolName.slice(1)]);
66
+ }
67
+ //# sourceMappingURL=tool-display-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-display-config.js","sourceRoot":"","sources":["../../src/shared/tool-display-config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAgEH,oDAOC;AA/DD,MAAM,mBAAmB,GAAqC;IAC5D,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI;KAC5C;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI;KAC5C;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;YAC5D,OAAO,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACvE,CAAC;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI;KACtD;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI;KAC1C;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI;KAC1C;IACD,SAAS,EAAE;QACT,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;KACnB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI;KACtC;IACD,SAAS,EAAE;QACT,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI;KACxC;CACF,CAAC;AAEF;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,QAAgB;IAEhB,OAAO,CACL,mBAAmB,CAAC,QAAQ,CAAC;QAC7B,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,55 @@
1
+ /** Standard text result shape used by both SDK wrappers */
2
+ export interface TextResult {
3
+ [key: string]: unknown;
4
+ content: Array<{
5
+ [key: string]: unknown;
6
+ type: "text";
7
+ text: string;
8
+ }>;
9
+ }
10
+ /**
11
+ * Gateway connection params shared by all tool implementations.
12
+ */
13
+ export interface GatewayParams {
14
+ gatewayUrl: string;
15
+ workerToken: string;
16
+ channelId: string;
17
+ conversationId: string;
18
+ platform?: string;
19
+ }
20
+ export declare function uploadUserFile(gw: GatewayParams, args: {
21
+ file_path: string;
22
+ description?: string;
23
+ }): Promise<TextResult>;
24
+ export declare function askUserQuestion(gw: GatewayParams, args: {
25
+ question: string;
26
+ options: unknown;
27
+ }): Promise<TextResult>;
28
+ export declare function scheduleReminder(gw: GatewayParams, args: {
29
+ task: string;
30
+ delayMinutes?: number;
31
+ cron?: string;
32
+ maxIterations?: number;
33
+ }): Promise<TextResult>;
34
+ export declare function cancelReminder(gw: GatewayParams, args: {
35
+ scheduleId: string;
36
+ }): Promise<TextResult>;
37
+ export declare function listReminders(gw: GatewayParams): Promise<TextResult>;
38
+ export declare function generateImage(gw: GatewayParams, args: {
39
+ prompt: string;
40
+ size?: "1024x1024" | "1024x1536" | "1536x1024" | "auto";
41
+ quality?: "low" | "medium" | "high" | "auto";
42
+ background?: "transparent" | "opaque" | "auto";
43
+ format?: "png" | "jpeg" | "webp";
44
+ }): Promise<TextResult>;
45
+ export declare function generateAudio(gw: GatewayParams, args: {
46
+ text: string;
47
+ voice?: string;
48
+ speed?: number;
49
+ }): Promise<TextResult>;
50
+ export declare function getChannelHistory(gw: GatewayParams, args: {
51
+ limit?: number;
52
+ before?: string;
53
+ }): Promise<TextResult>;
54
+ export declare function callMcpTool(gw: GatewayParams, mcpId: string, toolName: string, args: Record<string, unknown>): Promise<TextResult>;
55
+ //# sourceMappingURL=tool-implementations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-implementations.d.ts","sourceRoot":"","sources":["../../src/shared/tool-implementations.ts"],"names":[],"mappings":"AASA,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAmED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2DD,wBAAsB,cAAc,CAClC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,UAAU,CAAC,CAkErB;AAMD,wBAAsB,eAAe,CACnC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAMD,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,UAAU,CAAC,CA+CrB;AAMD,wBAAsB,cAAc,CAClC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3B,OAAO,CAAC,UAAU,CAAC,CAwBrB;AAMD,wBAAsB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA6C1E;AAoED,wBAAsB,aAAa,CACjC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7C,UAAU,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAClC,GACA,OAAO,CAAC,UAAU,CAAC,CAqFrB;AAYD,wBAAsB,aAAa,CACjC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC,UAAU,CAAC,CA4ErB;AAMD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,UAAU,CAAC,CAgErB;AAMD,wBAAsB,WAAW,CAC/B,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAoCrB"}