shellx-ai 1.0.12 → 1.1.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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +586 -0
  3. package/dist/automation/element-finder.d.ts +189 -0
  4. package/dist/automation/element-finder.js +322 -0
  5. package/dist/automation/element-finder.js.map +1 -0
  6. package/dist/automation/ui-action-handler.d.ts +330 -0
  7. package/dist/automation/ui-action-handler.js +873 -0
  8. package/dist/automation/ui-action-handler.js.map +1 -0
  9. package/dist/cbor-compat.d.ts +27 -0
  10. package/dist/cbor-compat.js +108 -0
  11. package/dist/cbor-compat.js.map +1 -0
  12. package/dist/domain-manager.d.ts +80 -0
  13. package/dist/domain-manager.js +158 -0
  14. package/dist/domain-manager.js.map +1 -0
  15. package/dist/error-handler.d.ts +87 -0
  16. package/dist/error-handler.js +148 -0
  17. package/dist/error-handler.js.map +1 -0
  18. package/dist/errors.d.ts +114 -0
  19. package/dist/errors.js +139 -0
  20. package/dist/errors.js.map +1 -0
  21. package/dist/index.d.ts +163 -54
  22. package/dist/index.js +706 -480
  23. package/dist/index.js.map +1 -0
  24. package/dist/logger.d.ts +81 -0
  25. package/dist/logger.js +128 -0
  26. package/dist/logger.js.map +1 -0
  27. package/dist/protocol.d.ts +147 -31
  28. package/dist/protocol.js +2 -2
  29. package/dist/protocol.js.map +1 -0
  30. package/dist/shell/output-buffer.d.ts +152 -0
  31. package/dist/shell/output-buffer.js +163 -0
  32. package/dist/shell/output-buffer.js.map +1 -0
  33. package/dist/shell/shell-command-executor.d.ts +182 -0
  34. package/dist/shell/shell-command-executor.js +348 -0
  35. package/dist/shell/shell-command-executor.js.map +1 -0
  36. package/dist/shellx.d.ts +681 -178
  37. package/dist/shellx.js +762 -1159
  38. package/dist/shellx.js.map +1 -0
  39. package/dist/types.d.ts +132 -57
  40. package/dist/types.js +4 -4
  41. package/dist/types.js.map +1 -0
  42. package/dist/utils/retry-helper.d.ts +73 -0
  43. package/dist/utils/retry-helper.js +92 -0
  44. package/dist/utils/retry-helper.js.map +1 -0
  45. package/dist/utils.d.ts +3 -3
  46. package/dist/utils.js +17 -23
  47. package/dist/utils.js.map +1 -0
  48. package/package.json +95 -62
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shellx.js","sourceRoot":"","sources":["../src/shellx.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -8,28 +8,47 @@ export type BaseOptions = {
8
8
  retry?: number;
9
9
  waitAfterMs?: number;
10
10
  };
11
+ export interface BaseResult {
12
+ success: boolean;
13
+ error?: string;
14
+ duration: number;
15
+ timestamp: number;
16
+ }
11
17
  export type Click = BaseOptions & {
12
- targetElementId?: string;
13
- targetResourceId?: string;
14
- targetText?: string;
15
- targetClass?: string;
16
- targetX?: number;
17
- targetY?: number;
18
- clickType?: 'single' | 'long' | 'double';
18
+ elementId?: string;
19
+ resourceId?: string;
20
+ text?: string;
21
+ class?: string;
22
+ x?: number;
23
+ y?: number;
24
+ clickType?: "single" | "long" | "double";
19
25
  visible?: boolean;
20
26
  clickable?: boolean;
21
27
  };
28
+ export interface ClickResult extends BaseResult {
29
+ elementId?: string;
30
+ resourceId?: string;
31
+ text?: string;
32
+ class?: string;
33
+ x?: number;
34
+ y?: number;
35
+ clickType?: "single" | "long" | "double";
36
+ }
22
37
  export type Input = BaseOptions & {
23
38
  text: string;
24
- targetElementId?: string;
25
- targetResourceId?: string;
26
- targetText?: string;
27
- targetClass?: string;
39
+ elementId?: string;
40
+ resourceId?: string;
28
41
  clear?: boolean;
29
42
  hideKeyboard?: boolean;
30
43
  visible?: boolean;
31
44
  clickable?: boolean;
32
45
  };
46
+ export interface InputResult extends BaseResult {
47
+ text: string;
48
+ elementId?: string;
49
+ resourceId?: string;
50
+ cleared?: boolean;
51
+ }
33
52
  export type Swipe = BaseOptions & {
34
53
  fromX: number;
35
54
  fromY: number;
@@ -37,51 +56,49 @@ export type Swipe = BaseOptions & {
37
56
  toY: number;
38
57
  duration?: number;
39
58
  };
59
+ export interface SwipeResult extends BaseResult {
60
+ fromX: number;
61
+ fromY: number;
62
+ toX: number;
63
+ toY: number;
64
+ }
40
65
  export type Key = BaseOptions & {
41
66
  key: string;
42
67
  longPress?: boolean;
43
68
  };
69
+ export interface KeyResult extends BaseResult {
70
+ key: string;
71
+ longPress?: boolean;
72
+ }
44
73
  export type Wait = BaseOptions & {
45
- targetElementId?: string;
46
- targetResourceId?: string;
47
- targetText?: string;
48
- targetClass?: string;
49
- condition?: 'visible' | 'clickable' | 'gone';
74
+ elementId?: string;
75
+ resourceId?: string;
76
+ text?: string;
77
+ class?: string;
78
+ condition?: "visible" | "clickable" | "gone";
50
79
  visible?: boolean;
51
80
  clickable?: boolean;
52
81
  };
82
+ export interface WaitResult extends BaseResult {
83
+ elementId?: string;
84
+ resourceId?: string;
85
+ text?: string;
86
+ class?: string;
87
+ condition?: "visible" | "clickable" | "gone";
88
+ found?: boolean;
89
+ }
53
90
  export type Find = BaseOptions & {
54
- targetElementId?: string;
55
- targetResourceId?: string;
56
- targetText?: string;
57
- targetClass?: string;
91
+ elementId?: string;
92
+ resourceId?: string;
93
+ text?: string;
94
+ class?: string;
58
95
  multiple?: boolean;
59
96
  maxResults?: number;
60
97
  visible?: boolean;
61
98
  clickable?: boolean;
62
99
  pressClick?: boolean;
63
100
  };
64
- export type Command = BaseOptions & {
65
- cmd: string;
66
- };
67
- export type AppInfo = BaseOptions & {
68
- package: string;
69
- };
70
- export type Screenshot = BaseOptions & {
71
- regionX?: number;
72
- regionY?: number;
73
- regionWidth?: number;
74
- regionHeight?: number;
75
- format?: 'png' | 'jpeg';
76
- quality?: number;
77
- };
78
- export type ActionResult = {
79
- success: boolean;
80
- data?: any;
81
- error?: string;
82
- duration: number;
83
- };
84
- export type Element = {
101
+ export interface Element {
85
102
  id: string;
86
103
  text: string;
87
104
  class: string;
@@ -91,37 +108,95 @@ export type Element = {
91
108
  bottom: number;
92
109
  visible: boolean;
93
110
  clickable: boolean;
94
- };
95
- export type FindResult = {
111
+ }
112
+ export interface FindResult extends BaseResult {
96
113
  elements: Element[];
97
114
  count: number;
98
- success: boolean;
99
115
  found: boolean;
116
+ }
117
+ export type Command = BaseOptions & {
118
+ cmd: string;
100
119
  };
101
- export type CommandResult = {
102
- success: boolean;
120
+ export interface CommandResult extends BaseResult {
103
121
  output: string;
104
- error?: string;
105
122
  exitCode?: number;
106
- duration: number;
123
+ cmd: string;
124
+ }
125
+ export type Clipboard = BaseOptions & {
126
+ text?: string;
127
+ paste?: boolean;
128
+ get?: boolean;
129
+ };
130
+ export interface ClipboardResult extends BaseResult {
131
+ text?: string;
132
+ pasted?: boolean;
133
+ getCopied?: boolean;
134
+ }
135
+ export type AppInfo = BaseOptions & {
136
+ package: string;
137
+ };
138
+ export interface AppInfoResult extends BaseResult {
139
+ package: string;
140
+ appName?: string;
141
+ versionName?: string;
142
+ versionCode?: number;
143
+ enabled?: boolean;
144
+ }
145
+ export type Screenshot = BaseOptions & {
146
+ regionX?: number;
147
+ regionY?: number;
148
+ regionWidth?: number;
149
+ regionHeight?: number;
150
+ format?: "png" | "jpeg";
151
+ scale?: number;
152
+ quality?: number;
153
+ saveToFile?: boolean;
107
154
  };
155
+ export interface ScreenshotResult extends BaseResult {
156
+ imagePath?: string;
157
+ imageData?: string;
158
+ format?: "png" | "jpeg";
159
+ width?: number;
160
+ height?: number;
161
+ }
162
+ export interface ScreenInfoResult extends BaseResult {
163
+ width?: number;
164
+ height?: number;
165
+ density?: number;
166
+ screenOn?: boolean;
167
+ screenUnlocked?: boolean;
168
+ foregroundApp?: string;
169
+ foregroundActivity?: string;
170
+ model?: string;
171
+ androidVersion?: string;
172
+ manufacturer?: string;
173
+ }
174
+ export type OperationResult = ClickResult | InputResult | SwipeResult | KeyResult | WaitResult | FindResult | CommandResult | ClipboardResult | AppInfoResult | ScreenshotResult | ScreenInfoResult;
108
175
  export type Action = ({
109
- type: 'click';
176
+ type: "click";
110
177
  } & Click) | ({
111
- type: 'input';
178
+ type: "input";
112
179
  } & Input) | ({
113
- type: 'swipe';
180
+ type: "swipe";
114
181
  } & Swipe) | ({
115
- type: 'key';
182
+ type: "key";
116
183
  } & Key) | ({
117
- type: 'wait';
184
+ type: "wait";
118
185
  } & Wait) | ({
119
- type: 'find';
186
+ type: "find";
120
187
  } & Find) | ({
121
- type: 'command';
188
+ type: "command";
122
189
  } & Command) | ({
123
- type: 'appInfo';
190
+ type: "clipboard";
191
+ } & Clipboard) | ({
192
+ type: "appInfo";
124
193
  } & AppInfo) | ({
125
- type: 'screenshot';
194
+ type: "screenshot";
126
195
  } & Screenshot);
127
196
  export type Actions = Action[];
197
+ export interface ExecuteActionsResult {
198
+ results: OperationResult[];
199
+ successCount: number;
200
+ failureCount: number;
201
+ totalDuration: number;
202
+ }
package/dist/types.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";
2
- // 精简的 ShellX 类型定义
3
- // 为了让大模型更容易理解参数,所有类型都设计为最简洁的扁平结构
4
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ // Concise ShellX type definitions
2
+ // To make it easier for AI models to understand parameters, all types are designed with the simplest flat structure
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oHAAoH"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * RetryHelper - A utility module for retrying failed operations
3
+ *
4
+ * This module provides a generic retry mechanism with configurable attempts,
5
+ * delays, and callbacks for handling retries and failures.
6
+ */
7
+ /**
8
+ * Options for retry logic
9
+ */
10
+ export interface RetryOptions {
11
+ /** Maximum number of retry attempts (default: 3) */
12
+ retry?: number;
13
+ /** Delay in milliseconds between retry attempts (default: 1000) */
14
+ delay?: number;
15
+ /** Callback function called on each retry attempt */
16
+ onRetry?: (attempt: number, error: unknown) => void;
17
+ }
18
+ /**
19
+ * RetryHelper class provides a generic retry mechanism for async operations
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const result = await RetryHelper.execute(
24
+ * async () => fetchData(),
25
+ * { retry: 3, delay: 1000 }
26
+ * );
27
+ * ```
28
+ */
29
+ export declare class RetryHelper {
30
+ /**
31
+ * Execute an operation with retry logic
32
+ *
33
+ * @template T - The return type of the operation
34
+ * @param operation - The async operation to execute
35
+ * @param options - Retry configuration options
36
+ * @returns Promise that resolves to the operation result or undefined if all retries fail
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const result = await RetryHelper.execute(
41
+ * async () => await apiCall(),
42
+ * {
43
+ * retry: 5,
44
+ * delay: 2000,
45
+ * onRetry: (attempt, error) => console.log(`Attempt ${attempt} failed:`, error)
46
+ * }
47
+ * );
48
+ * ```
49
+ */
50
+ static execute<T>(operation: () => Promise<T>, options?: RetryOptions): Promise<T | undefined>;
51
+ /**
52
+ * Execute an operation with retry logic and throw error if all retries fail
53
+ *
54
+ * @template T - The return type of the operation
55
+ * @param operation - The async operation to execute
56
+ * @param options - Retry configuration options
57
+ * @returns Promise that resolves to the operation result
58
+ * @throws Error if all retry attempts fail
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * try {
63
+ * const result = await RetryHelper.executeOrThrow(
64
+ * async () => await apiCall(),
65
+ * { retry: 3, delay: 1000 }
66
+ * );
67
+ * } catch (error) {
68
+ * console.error('All attempts failed:', error);
69
+ * }
70
+ * ```
71
+ */
72
+ static executeOrThrow<T>(operation: () => Promise<T>, options?: RetryOptions): Promise<T>;
73
+ }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * RetryHelper - A utility module for retrying failed operations
3
+ *
4
+ * This module provides a generic retry mechanism with configurable attempts,
5
+ * delays, and callbacks for handling retries and failures.
6
+ */
7
+ /**
8
+ * RetryHelper class provides a generic retry mechanism for async operations
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const result = await RetryHelper.execute(
13
+ * async () => fetchData(),
14
+ * { retry: 3, delay: 1000 }
15
+ * );
16
+ * ```
17
+ */
18
+ export class RetryHelper {
19
+ /**
20
+ * Execute an operation with retry logic
21
+ *
22
+ * @template T - The return type of the operation
23
+ * @param operation - The async operation to execute
24
+ * @param options - Retry configuration options
25
+ * @returns Promise that resolves to the operation result or undefined if all retries fail
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const result = await RetryHelper.execute(
30
+ * async () => await apiCall(),
31
+ * {
32
+ * retry: 5,
33
+ * delay: 2000,
34
+ * onRetry: (attempt, error) => console.log(`Attempt ${attempt} failed:`, error)
35
+ * }
36
+ * );
37
+ * ```
38
+ */
39
+ static async execute(operation, options = {}) {
40
+ const { retry = 3, delay = 1000, onRetry } = options;
41
+ for (let attempt = 1; attempt <= retry; attempt++) {
42
+ try {
43
+ return await operation();
44
+ }
45
+ catch (error) {
46
+ // Check if this is the last attempt
47
+ if (attempt === retry) {
48
+ console.log(`❌ [Retry] Failed after ${retry} attempts, returning undefined:`, error);
49
+ return undefined;
50
+ }
51
+ // Call retry callback if provided
52
+ if (onRetry) {
53
+ onRetry(attempt, error);
54
+ }
55
+ // Log retry attempt
56
+ console.log(`🔄 [Retry] Attempt ${attempt} failed, retrying in ${delay}ms...`);
57
+ // Wait before next attempt
58
+ await new Promise((resolve) => setTimeout(resolve, delay));
59
+ }
60
+ }
61
+ return undefined;
62
+ }
63
+ /**
64
+ * Execute an operation with retry logic and throw error if all retries fail
65
+ *
66
+ * @template T - The return type of the operation
67
+ * @param operation - The async operation to execute
68
+ * @param options - Retry configuration options
69
+ * @returns Promise that resolves to the operation result
70
+ * @throws Error if all retry attempts fail
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * try {
75
+ * const result = await RetryHelper.executeOrThrow(
76
+ * async () => await apiCall(),
77
+ * { retry: 3, delay: 1000 }
78
+ * );
79
+ * } catch (error) {
80
+ * console.error('All attempts failed:', error);
81
+ * }
82
+ * ```
83
+ */
84
+ static async executeOrThrow(operation, options = {}) {
85
+ const result = await this.execute(operation, options);
86
+ if (result === undefined) {
87
+ throw new Error(`Operation failed after ${options.retry || 3} attempts`);
88
+ }
89
+ return result;
90
+ }
91
+ }
92
+ //# sourceMappingURL=retry-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-helper.js","sourceRoot":"","sources":["../../src/utils/retry-helper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,WAAW;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,SAA2B,EAC3B,UAAwB,EAAE;QAE1B,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAErD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oCAAoC;gBACpC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,iCAAiC,EAAE,KAAK,CAAC,CAAC;oBACrF,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,kCAAkC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAED,oBAAoB;gBACpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,wBAAwB,KAAK,OAAO,CAAC,CAAC;gBAE/E,2BAA2B;gBAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,SAA2B,EAC3B,UAAwB,EAAE;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
package/dist/utils.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  export declare const wait: (ms: number) => Promise<void>;
2
2
  /**
3
- * 安全地获取环境变量,兼容浏览器和Node.js环境
3
+ * Safely get environment variable, compatible with both browser and Node.js environments
4
4
  */
5
5
  export declare function getEnvVar(key: string): string | undefined;
6
6
  /**
7
- * 安全地设置环境变量,兼容浏览器和Node.js环境
7
+ * Safely set environment variable, compatible with both browser and Node.js environments
8
8
  */
9
9
  export declare function setEnvVar(key: string, value: string): void;
10
10
  /**
11
- * 安全地删除环境变量,兼容浏览器和Node.js环境
11
+ * Safely delete environment variable, compatible with both browser and Node.js environments
12
12
  */
13
13
  export declare function deleteEnvVar(key: string): void;
package/dist/utils.js CHANGED
@@ -1,48 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wait = void 0;
4
- exports.getEnvVar = getEnvVar;
5
- exports.setEnvVar = setEnvVar;
6
- exports.deleteEnvVar = deleteEnvVar;
7
- const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
8
- exports.wait = wait;
1
+ export const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
9
2
  /**
10
- * 安全地获取环境变量,兼容浏览器和Node.js环境
3
+ * Safely get environment variable, compatible with both browser and Node.js environments
11
4
  */
12
- function getEnvVar(key) {
13
- if (typeof process !== 'undefined' && process.env) {
5
+ export function getEnvVar(key) {
6
+ if (typeof process !== "undefined" && process.env) {
14
7
  return process.env[key];
15
8
  }
16
- else if (typeof window !== 'undefined' && window.localStorage) {
9
+ else if (typeof window !== "undefined" && window.localStorage) {
17
10
  const item = window.localStorage.getItem(key);
18
11
  if (item) {
19
- console.log("已从 localStorage 中获取环境变量:", key);
12
+ console.log("Retrieved environment variable from localStorage:", key);
20
13
  return item;
21
14
  }
22
15
  }
23
16
  return undefined;
24
17
  }
25
18
  /**
26
- * 安全地设置环境变量,兼容浏览器和Node.js环境
19
+ * Safely set environment variable, compatible with both browser and Node.js environments
27
20
  */
28
- function setEnvVar(key, value) {
29
- if (typeof process !== 'undefined' && process.env) {
21
+ export function setEnvVar(key, value) {
22
+ if (typeof process !== "undefined" && process.env) {
30
23
  process.env[key] = value;
31
24
  }
32
- else if (typeof window !== 'undefined' && window.localStorage) {
25
+ else if (typeof window !== "undefined" && window.localStorage) {
33
26
  window.localStorage.setItem(key, value);
34
- console.log("已保存环境变量:", key, value);
27
+ console.log("Saved environment variable:", key, value);
35
28
  }
36
29
  }
37
30
  /**
38
- * 安全地删除环境变量,兼容浏览器和Node.js环境
31
+ * Safely delete environment variable, compatible with both browser and Node.js environments
39
32
  */
40
- function deleteEnvVar(key) {
41
- if (typeof process !== 'undefined' && process.env) {
33
+ export function deleteEnvVar(key) {
34
+ if (typeof process !== "undefined" && process.env) {
42
35
  delete process.env[key];
43
36
  }
44
- else if (typeof window !== 'undefined' && window.localStorage) {
37
+ else if (typeof window !== "undefined" && window.localStorage) {
45
38
  window.localStorage.removeItem(key);
46
- console.log("已删除环境变量:", key);
39
+ console.log("Deleted environment variable:", key);
47
40
  }
48
41
  }
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAiB,EAAE,CAChD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,KAAa;IAClD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAChE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAChE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}