appium-xcuitest-driver 10.12.1 → 10.13.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/CHANGELOG.md +12 -0
  2. package/build/lib/commands/context.d.ts +130 -161
  3. package/build/lib/commands/context.d.ts.map +1 -1
  4. package/build/lib/commands/context.js +122 -107
  5. package/build/lib/commands/context.js.map +1 -1
  6. package/build/lib/commands/execute.js +1 -1
  7. package/build/lib/commands/execute.js.map +1 -1
  8. package/build/lib/commands/general.js +1 -1
  9. package/build/lib/commands/general.js.map +1 -1
  10. package/build/lib/commands/gesture.d.ts +103 -119
  11. package/build/lib/commands/gesture.d.ts.map +1 -1
  12. package/build/lib/commands/gesture.js +98 -138
  13. package/build/lib/commands/gesture.js.map +1 -1
  14. package/build/lib/commands/pcap.d.ts +1 -1
  15. package/build/lib/commands/pcap.d.ts.map +1 -1
  16. package/build/lib/commands/performance.d.ts +1 -1
  17. package/build/lib/commands/performance.d.ts.map +1 -1
  18. package/build/lib/commands/record-audio.d.ts +2 -1
  19. package/build/lib/commands/record-audio.d.ts.map +1 -1
  20. package/build/lib/commands/recordscreen.d.ts +2 -1
  21. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  22. package/build/lib/commands/screenshots.d.ts.map +1 -1
  23. package/build/lib/commands/screenshots.js +3 -5
  24. package/build/lib/commands/screenshots.js.map +1 -1
  25. package/build/lib/commands/timeouts.js +1 -1
  26. package/build/lib/commands/timeouts.js.map +1 -1
  27. package/build/lib/commands/web.d.ts +199 -202
  28. package/build/lib/commands/web.d.ts.map +1 -1
  29. package/build/lib/commands/web.js +206 -174
  30. package/build/lib/commands/web.js.map +1 -1
  31. package/build/lib/driver.d.ts +2 -1
  32. package/build/lib/driver.d.ts.map +1 -1
  33. package/build/lib/driver.js +10 -4
  34. package/build/lib/driver.js.map +1 -1
  35. package/build/lib/execute-method-map.d.ts.map +1 -1
  36. package/build/lib/execute-method-map.js +0 -1
  37. package/build/lib/execute-method-map.js.map +1 -1
  38. package/lib/commands/{context.js → context.ts} +172 -145
  39. package/lib/commands/execute.js +1 -1
  40. package/lib/commands/general.js +1 -1
  41. package/lib/commands/{gesture.js → gesture.ts} +225 -183
  42. package/lib/commands/screenshots.js +3 -5
  43. package/lib/commands/timeouts.js +1 -1
  44. package/lib/commands/{web.js → web.ts} +305 -263
  45. package/lib/driver.ts +11 -4
  46. package/lib/execute-method-map.ts +0 -1
  47. package/npm-shrinkwrap.json +14 -89
  48. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [10.13.0](https://github.com/appium/appium-xcuitest-driver/compare/v10.12.2...v10.13.0) (2025-12-23)
2
+
3
+ ### Features
4
+
5
+ * Migrate various command modules to typescript (part 1) ([#2683](https://github.com/appium/appium-xcuitest-driver/issues/2683)) ([c0b53ba](https://github.com/appium/appium-xcuitest-driver/commit/c0b53ba8fd212ce09f9d4c4d45f869a7c3f40fd2))
6
+
7
+ ## [10.12.2](https://github.com/appium/appium-xcuitest-driver/compare/v10.12.1...v10.12.2) (2025-12-22)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * **deps:** bump teen_process from 3.0.6 to 4.0.4 ([#2684](https://github.com/appium/appium-xcuitest-driver/issues/2684)) ([005e984](https://github.com/appium/appium-xcuitest-driver/commit/005e9846229fc2d4bcb468758f4e653a295599e6))
12
+
1
13
  ## [10.12.1](https://github.com/appium/appium-xcuitest-driver/compare/v10.12.0...v10.12.1) (2025-12-22)
2
14
 
3
15
  ### Miscellaneous Chores
@@ -1,43 +1,33 @@
1
+ import { RemoteDebugger } from 'appium-remote-debugger';
2
+ import type { XCUITestDriver } from '../driver';
3
+ import type { Page } from '../types';
4
+ import type { ViewContext, FullContext, PageChangeNotification } from './types';
1
5
  /**
2
- * @this {XCUITestDriver}
3
- * @param {boolean} [useUrl=false]
4
- * @returns {Promise<import('./types').ViewContext[]>}
6
+ * Retrieves the list of available contexts and their associated views.
7
+ *
8
+ * @param useUrl - Whether to filter webviews by URL
5
9
  */
6
- export function getContextsAndViews(this: import("../driver").XCUITestDriver, useUrl?: boolean): Promise<import("./types").ViewContext[]>;
7
- export class getContextsAndViews {
8
- /**
9
- * @this {XCUITestDriver}
10
- * @param {boolean} [useUrl=false]
11
- * @returns {Promise<import('./types').ViewContext[]>}
12
- */
13
- constructor(this: import("../driver").XCUITestDriver, useUrl?: boolean);
14
- contexts: string[];
15
- }
10
+ export declare function getContextsAndViews(this: XCUITestDriver, useUrl?: boolean): Promise<ViewContext[]>;
16
11
  /**
17
- * @deprecated this method is not used anywhere and will be removed in the future
18
- * @this {XCUITestDriver}
19
- * @returns {boolean}
12
+ * @deprecated This method is not used anywhere and will be removed in the future
20
13
  */
21
- export function useNewSafari(this: import("../driver").XCUITestDriver): boolean;
14
+ export declare function useNewSafari(this: XCUITestDriver): boolean;
22
15
  /**
23
- * @this {XCUITestDriver}
24
- * @returns {Promise<void>}
16
+ * Activates the most recently available webview context.
17
+ *
18
+ * @throws {Error} If no webview is available or if the remote debugger cannot connect
25
19
  */
26
- export function activateRecentWebview(this: import("../driver").XCUITestDriver): Promise<void>;
20
+ export declare function activateRecentWebview(this: XCUITestDriver): Promise<void>;
27
21
  /**
28
- * @this {XCUITestDriver}
29
- * @returns {Promise<import('../types').Page[]>}
22
+ * Lists all available web frames (pages) from the remote debugger.
23
+ *
24
+ * @param useUrl - Whether to filter pages by the current URL
30
25
  */
31
- export function listWebFrames(this: import("../driver").XCUITestDriver, useUrl?: boolean): Promise<import("../types").Page[]>;
26
+ export declare function listWebFrames(this: XCUITestDriver, useUrl?: boolean): Promise<Page[]>;
32
27
  /**
33
- * @this {XCUITestDriver}
34
- * @returns {Promise<void>}
28
+ * Establishes a connection to the remote debugger and sets up event listeners.
35
29
  */
36
- export function connectToRemoteDebugger(this: import("../driver").XCUITestDriver): Promise<void>;
37
- export class connectToRemoteDebugger {
38
- remote: RemoteDebugger;
39
- curWebFrames: any[];
40
- }
30
+ export declare function connectToRemoteDebugger(this: XCUITestDriver): Promise<void>;
41
31
  /**
42
32
  * Retrieves the list of available contexts.
43
33
  *
@@ -49,143 +39,122 @@ export class connectToRemoteDebugger {
49
39
  * client code would have to connect to each of them in order to detect the
50
40
  * one which needs to be interacted with. This extra effort is not needed with
51
41
  * the information provided by this extension.
52
- * @param {number} [waitForWebviewMs=0] - The period to poll for available webview(s) (in ms)
53
- * @returns {Promise<Context[]>} The list of available context objects along with their properties.
54
- * @this {XCUITestDriver}
55
- */
56
- export function mobileGetContexts(this: import("../driver").XCUITestDriver, waitForWebviewMs?: number): Promise<Context[]>;
57
- /**
58
- * @this {XCUITestDriver}
59
- * @param {import('./types').PageChangeNotification} pageChangeNotification
60
- * @returns {Promise<void>}
61
- */
62
- export function onPageChange(this: import("../driver").XCUITestDriver, pageChangeNotification: import("./types").PageChangeNotification): Promise<void>;
63
- export class onPageChange {
64
- /**
65
- * @this {XCUITestDriver}
66
- * @param {import('./types').PageChangeNotification} pageChangeNotification
67
- * @returns {Promise<void>}
68
- */
69
- constructor(this: import("../driver").XCUITestDriver, pageChangeNotification: import("./types").PageChangeNotification);
70
- curContext: string | undefined;
71
- selectingNewPage: boolean | undefined;
72
- }
73
- /**
74
- * @this {XCUITestDriver}
75
- * @returns {Promise<void>}
76
- */
77
- export function stopRemote(this: import("../driver").XCUITestDriver, closeWindowBeforeDisconnecting?: boolean): Promise<void>;
78
- export class stopRemote {
79
- /**
80
- * @this {XCUITestDriver}
81
- * @returns {Promise<void>}
82
- */
83
- constructor(this: import("../driver").XCUITestDriver, closeWindowBeforeDisconnecting?: boolean);
84
- curContext: any;
85
- curWebFrames: any[];
86
- remote: any;
87
- }
88
- /**
89
- * @this {XCUITestDriver}
90
- * @param {string|null} url
91
- */
92
- export function setCurrentUrl(this: import("../driver").XCUITestDriver, url: string | null): void;
93
- export class setCurrentUrl {
94
- /**
95
- * @this {XCUITestDriver}
96
- * @param {string|null} url
97
- */
98
- constructor(this: import("../driver").XCUITestDriver, url: string | null);
99
- _currentUrl: string | null;
100
- }
101
- /**
102
- * @this {XCUITestDriver}
103
- * @returns {string|undefined|null}
104
- */
105
- export function getCurrentUrl(this: import("../driver").XCUITestDriver): string | undefined | null;
106
- /**
107
- * @param {RegExp} titleRegExp
108
- * @param {RegExp} urlRegExp
109
- * @this {XCUITestDriver}
110
- * @returns {Promise<string|undefined>}
111
- */
112
- export function getRecentWebviewContextId(this: import("../driver").XCUITestDriver, titleRegExp: RegExp, urlRegExp: RegExp): Promise<string | undefined>;
113
- /**
114
- * @this {XCUITestDriver}
115
- * @returns {boolean}
116
- */
117
- export function isWebContext(this: import("../driver").XCUITestDriver): boolean;
118
- /**
119
- * @this {XCUITestDriver}
120
- * @returns {boolean}
121
- */
122
- export function isWebview(this: import("../driver").XCUITestDriver): boolean;
123
- /**
124
- * @this {XCUITestDriver}
125
- * @returns {Promise<RemoteDebugger>}
126
- */
127
- export function getNewRemoteDebugger(this: import("../driver").XCUITestDriver): Promise<RemoteDebugger>;
128
- /**
129
- * @this {XCUITestDriver}
130
- * @returns {Promise<string>}
131
- */
132
- export function getCurrentContext(this: import("../driver").XCUITestDriver): Promise<string>;
133
- /**
134
- * Set context
135
- *
136
- * @param {string|Context} name - The name of context to set. It could be 'null' as NATIVE_WIN.
137
- * @param {any} [callback] The callback. (It is not called in this method)
138
- * @param {boolean} [skipReadyCheck=false] - Whether it waits for the new context is ready
139
- * @this {XCUITestDriver}
140
- * @returns {Promise<void>}
141
- */
142
- export function setContext(this: import("../driver").XCUITestDriver, name: string | Context, callback?: any, skipReadyCheck?: boolean): Promise<void>;
143
- export class setContext {
144
- /**
145
- * Set context
146
- *
147
- * @param {string|Context} name - The name of context to set. It could be 'null' as NATIVE_WIN.
148
- * @param {any} [callback] The callback. (It is not called in this method)
149
- * @param {boolean} [skipReadyCheck=false] - Whether it waits for the new context is ready
150
- * @this {XCUITestDriver}
151
- * @returns {Promise<void>}
152
- */
153
- constructor(this: import("../driver").XCUITestDriver, name: string | Context, callback?: any, skipReadyCheck?: boolean);
154
- curContext: string | null | undefined;
155
- curWindowHandle: string | undefined;
156
- selectingNewPage: boolean | undefined;
157
- }
158
- /**
159
- * @this {XCUITestDriver}
160
- * @returns {Promise<string[]|FullContext[]>}
161
- */
162
- export function getContexts(this: import("../driver").XCUITestDriver): Promise<string[] | FullContext[]>;
163
- /**
164
- * @this {XCUITestDriver}
165
- * @param {string} name
166
- * @param {boolean} [skipReadyCheck]
167
- * @returns {Promise<void>}
42
+ *
43
+ * @param waitForWebviewMs - The period to poll for available webview(s) (in ms)
44
+ * @returns The list of available context objects along with their properties.
168
45
  */
169
- export function setWindow(this: import("../driver").XCUITestDriver, name: string, skipReadyCheck?: boolean): Promise<void>;
46
+ export declare function mobileGetContexts(this: XCUITestDriver, waitForWebviewMs?: number): Promise<FullContext[]>;
170
47
  /**
171
- * @this {XCUITestDriver}
172
- * @returns {Promise<string>}
48
+ * Handles page change notifications from the remote debugger.
49
+ *
50
+ * Updates the current context when new pages are detected or when pages are closed.
51
+ *
52
+ * @param pageChangeNotification - The notification containing page array and app ID
173
53
  */
174
- export function getWindowHandle(this: import("../driver").XCUITestDriver): Promise<string>;
54
+ export declare function onPageChange(this: XCUITestDriver, pageChangeNotification: PageChangeNotification): Promise<void>;
175
55
  /**
176
- * @this {XCUITestDriver}
177
- * @returns {Promise<string[]>}
56
+ * Disconnects from the remote debugger and cleans up context state.
178
57
  */
179
- export function getWindowHandles(this: import("../driver").XCUITestDriver): Promise<string[]>;
58
+ export declare function stopRemote(this: XCUITestDriver): Promise<void>;
180
59
  /**
181
- * https://github.com/appium/appium/issues/20741
60
+ * Sets the current URL for the active webview context.
182
61
  *
183
- * @this {XCUITestDriver}
184
- * @returns {Promise<void>}
62
+ * @param url - The URL to set, or null to clear
185
63
  */
186
- export function notifyBiDiContextChange(this: import("../driver").XCUITestDriver): Promise<void>;
187
- export type XCUITestDriver = import("../driver").XCUITestDriver;
188
- export type Context = import("./types").Context;
189
- export type FullContext = import("./types").FullContext;
190
- import { RemoteDebugger } from 'appium-remote-debugger';
64
+ export declare function setCurrentUrl(this: XCUITestDriver, url: string | null): void;
65
+ /**
66
+ * Gets the current URL for the active webview context.
67
+ *
68
+ * @returns The current URL, or undefined/null if not set
69
+ */
70
+ export declare function getCurrentUrl(this: XCUITestDriver): string | undefined | null;
71
+ /**
72
+ * Finds the most recent webview context ID matching the given title or URL patterns.
73
+ *
74
+ * @param titleRegExp - Regular expression to match against page titles
75
+ * @param urlRegExp - Regular expression to match against page URLs
76
+ * @returns The matching context ID, or undefined if no match is found
77
+ * @throws {errors.InvalidArgumentError} If neither regex is provided
78
+ */
79
+ export declare function getRecentWebviewContextId(this: XCUITestDriver, titleRegExp: RegExp, urlRegExp: RegExp): Promise<string | undefined>;
80
+ /**
81
+ * Checks if the current context is a web context (not native).
82
+ *
83
+ * @returns True if currently in a web context
84
+ */
85
+ export declare function isWebContext(this: XCUITestDriver): boolean;
86
+ /**
87
+ * Checks if the current context is a webview.
88
+ *
89
+ * This is an alias for {@linkcode isWebContext}.
90
+ *
91
+ * @returns True if currently in a webview context
92
+ */
93
+ export declare function isWebview(this: XCUITestDriver): boolean;
94
+ /**
95
+ * Creates a new remote debugger instance configured for the current device.
96
+ *
97
+ * @returns A configured RemoteDebugger instance
98
+ */
99
+ export declare function getNewRemoteDebugger(this: XCUITestDriver): Promise<RemoteDebugger>;
100
+ /**
101
+ * Gets the identifier of the current context.
102
+ *
103
+ * @returns The context identifier (e.g., 'NATIVE_APP' or 'WEBVIEW_xxx')
104
+ */
105
+ export declare function getCurrentContext(this: XCUITestDriver): Promise<string>;
106
+ /**
107
+ * Switches to the specified context (native or webview).
108
+ *
109
+ * @param name - The name of context to set. Can be 'NATIVE_APP', 'WEBVIEW_xxx', or null
110
+ * @param callback - The callback (not used, kept for compatibility)
111
+ * @param skipReadyCheck - Whether to skip waiting for the new context to be ready
112
+ * @throws {errors.NoSuchContextError} If the specified context does not exist
113
+ */
114
+ export declare function setContext(this: XCUITestDriver, name: string | {
115
+ id: string;
116
+ } | null, callback?: any, skipReadyCheck?: boolean): Promise<void>;
117
+ /**
118
+ * Gets the list of available contexts.
119
+ *
120
+ * The format depends on the `fullContextList` option:
121
+ * - If enabled, returns full context objects with title, URL, and bundleId
122
+ * - If disabled, returns simple context ID strings
123
+ *
124
+ * @returns Array of context IDs or full context objects
125
+ */
126
+ export declare function getContexts(this: XCUITestDriver): Promise<string[] | FullContext[]>;
127
+ /**
128
+ * Sets the current window (context) in a web context.
129
+ *
130
+ * This is a wrapper around {@linkcode setContext} that translates errors appropriately.
131
+ *
132
+ * @param name - The window/context name to switch to
133
+ * @param skipReadyCheck - Whether to skip waiting for the window to be ready
134
+ * @throws {errors.NoSuchWindowError} If the window does not exist
135
+ */
136
+ export declare function setWindow(this: XCUITestDriver, name: string, skipReadyCheck?: boolean): Promise<void>;
137
+ /**
138
+ * Gets the handle of the current window.
139
+ *
140
+ * In native context, returns a default handle. In web context, returns the current context ID.
141
+ *
142
+ * @returns The window handle
143
+ * @throws {errors.InvalidContextError} If not in a valid context
144
+ */
145
+ export declare function getWindowHandle(this: XCUITestDriver): Promise<string>;
146
+ /**
147
+ * Gets the list of all available window handles.
148
+ *
149
+ * In native context, returns a single default handle. In web context, returns all webview handles.
150
+ *
151
+ * @returns Array of window handle strings
152
+ */
153
+ export declare function getWindowHandles(this: XCUITestDriver): Promise<string[]>;
154
+ /**
155
+ * Notifies BiDi clients about context changes.
156
+ *
157
+ * @see https://github.com/appium/appium/issues/20741
158
+ */
159
+ export declare function notifyBiDiContextChange(this: XCUITestDriver): Promise<void>;
191
160
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,uFAHW,OAAO,GACL,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,EAAE,CAAC,CAepD;;IAlBD;;;;OAIG;IACH,+DAHW,OAAO,EAgBjB;IANC,mBAA4B;;AAQ9B;;;;GAIG;AACH,wEAFa,OAAO,CAInB;AAED;;;GAGG;AACH,iFAFa,OAAO,CAAC,IAAI,CAAC,CAwCzB;AAED;;;GAGG;AACH,2FAFa,OAAO,CAAC,OAAO,UAAU,EAAE,IAAI,EAAE,CAAC,CA0C9C;AAED;;;GAGG;AACH,mFAFa,OAAO,CAAC,IAAI,CAAC,CA6BzB;;IA1BC,uBAA+C;IAc7C,oBAAsB;;AAc1B;;;;;;;;;;;;;;GAcG;AACH,+FAJW,MAAM,GACJ,OAAO,CAAC,OAAO,EAAE,CAAC,CAmC9B;AAED;;;;GAIG;AACH,+FAHW,OAAO,SAAS,EAAE,sBAAsB,GACtC,OAAO,CAAC,IAAI,CAAC,CAmHzB;;IAtHD;;;;OAIG;IACH,8EAHW,OAAO,SAAS,EAAE,sBAAsB,EAoHlD;IA/BG,+BAAwC;IAkBxC,sCAA4B;;AAehC;;;GAGG;AACH,gHAFa,OAAO,CAAC,IAAI,CAAC,CAezB;;IAjBD;;;OAGG;IACH,gGAaC;IAJC,gBAAsB;IAEtB,oBAAsB;IACtB,YAAkB;;AAGpB;;;GAGG;AACH,6EAFW,MAAM,GAAC,IAAI,QAIrB;;IAND;;;OAGG;IACH,2DAFW,MAAM,GAAC,IAAI,EAIrB;IADC,2BAAsB;;AAGxB;;;GAGG;AACH,yEAFa,MAAM,GAAC,SAAS,GAAC,IAAI,CAIjC;AAED;;;;;GAKG;AACH,iGALW,MAAM,aACN,MAAM,GAEJ,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC,CAuBrC;AAED;;;GAGG;AACH,wEAFa,OAAO,CAInB;AAED;;;GAGG;AACH,qEAFa,OAAO,CAInB;AAED;;;GAGG;AACH,gFAFa,OAAO,CAAC,cAAc,CAAC,CA4BnC;AAED;;;GAGG;AACH,6EAFa,OAAO,CAAC,MAAM,CAAC,CAO3B;AAED;;;;;;;;GAQG;AACH,2EANW,MAAM,GAAC,OAAO,aACd,GAAG,mBACH,OAAO,GAEL,OAAO,CAAC,IAAI,CAAC,CAqGzB;;IA5GD;;;;;;;;OAQG;IACH,4DANW,MAAM,GAAC,OAAO,aACd,GAAG,mBACH,OAAO,EAuGjB;IApEK,sCAAsB;IAwBN,oCAAgC;IAKhD,sCAA4B;;AAyClC;;;GAGG;AACH,uEAFa,OAAO,CAAC,MAAM,EAAE,GAAC,WAAW,EAAE,CAAC,CAiB3C;AAED;;;;;GAKG;AACH,0EAJW,MAAM,mBACN,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CAazB;AAED;;;GAGG;AACH,2EAFa,OAAO,CAAC,MAAM,CAAC,CAY3B;AAED;;;GAGG;AACH,4EAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB7B;AAmCD;;;;;GAKG;AACH,mFAFa,OAAO,CAAC,IAAI,CAAC,CAMzB;6BAIY,OAAO,WAAW,EAAE,cAAc;sBAClC,OAAO,SAAS,EAAE,OAAO;0BACzB,OAAO,SAAS,EAAE,WAAW;+BA/rBS,wBAAwB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAY5E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAC,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAU9E;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU9G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE1D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC/E;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAuCjG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BjF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA+BlH;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GtH;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB7B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE,GAAG,EACd,cAAc,GAAE,OAAe,GAC9B,OAAO,CAAC,IAAI,CAAC,CAmGb;AAEH;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,CAazF;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3E;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkB9E;AAmCD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF"}