@0xmonaco/core 0.5.4 → 0.5.6
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 +17 -121
- package/dist/api/auth/api.d.ts +8 -3
- package/dist/api/auth/api.d.ts.map +1 -1
- package/dist/api/auth/api.js +17 -2
- package/dist/api/auth/api.js.map +1 -1
- package/dist/api/base.js +4 -1
- package/dist/api/base.js.map +1 -1
- package/dist/api/trading/api.d.ts +37 -7
- package/dist/api/trading/api.d.ts.map +1 -1
- package/dist/api/trading/api.js +49 -6
- package/dist/api/trading/api.js.map +1 -1
- package/dist/api/vault/api.d.ts +23 -22
- package/dist/api/vault/api.d.ts.map +1 -1
- package/dist/api/vault/api.js +82 -113
- package/dist/api/vault/api.js.map +1 -1
- package/dist/api/websocket/types.d.ts +5 -1
- package/dist/api/websocket/types.d.ts.map +1 -1
- package/dist/api/websocket/types.js +0 -1
- package/dist/api/websocket/websocket.d.ts.map +1 -1
- package/dist/api/websocket/websocket.js +62 -1
- package/dist/api/websocket/websocket.js.map +1 -1
- package/dist/errors/errors.d.ts +2 -2
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +25 -9
- package/dist/errors/errors.js.map +1 -1
- package/dist/networks/networks.d.ts.map +1 -1
- package/dist/networks/networks.js +3 -2
- package/dist/networks/networks.js.map +1 -1
- package/dist/sdk.d.ts +6 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +38 -8
- package/dist/sdk.js.map +1 -1
- package/dist/utils/magnitude.js +1 -1
- package/dist/utils/magnitude.js.map +1 -1
- package/package.json +39 -48
package/dist/api/vault/api.d.ts
CHANGED
|
@@ -18,10 +18,6 @@
|
|
|
18
18
|
* chain
|
|
19
19
|
* );
|
|
20
20
|
*
|
|
21
|
-
* // Check balance
|
|
22
|
-
* const balance = await vaultAPI.getBalance(tokenAddress);
|
|
23
|
-
* console.log(`Balance: ${balance.formatted} ${balance.symbol}`);
|
|
24
|
-
*
|
|
25
21
|
* // Deposit tokens
|
|
26
22
|
* const result = await vaultAPI.deposit(tokenAddress, parseEther("100"));
|
|
27
23
|
* console.log(`Deposit transaction: ${result.hash}`);
|
|
@@ -32,21 +28,26 @@ import { type Address, type Chain, type PublicClient, type WalletClient } from "
|
|
|
32
28
|
import { BaseAPI } from "../base";
|
|
33
29
|
export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
|
|
34
30
|
private readonly publicClient;
|
|
35
|
-
private readonly walletClient;
|
|
36
31
|
private readonly chain;
|
|
37
32
|
private applicationsAPI;
|
|
38
33
|
private profileAPI;
|
|
34
|
+
private walletClient;
|
|
39
35
|
/**
|
|
40
36
|
* Creates a new VaultAPI instance.
|
|
41
37
|
*
|
|
42
38
|
* @param publicClient - The viem public client for reading blockchain state
|
|
43
|
-
* @param walletClient - The viem wallet client for signing transactions
|
|
39
|
+
* @param walletClient - The viem wallet client for signing transactions (optional)
|
|
44
40
|
* @param chain - The blockchain network configuration
|
|
45
41
|
* @param applicationsAPI - The applications API instance for fetching vault address
|
|
46
42
|
* @param profileAPI - The profile API instance for fetching asset information
|
|
47
43
|
* @param apiUrl - The base URL for the Monaco API Gateway
|
|
48
44
|
*/
|
|
49
|
-
constructor(publicClient: PublicClient, walletClient: WalletClient, chain: Chain, applicationsAPI: ApplicationsAPI, profileAPI: ProfileAPI, apiUrl: string);
|
|
45
|
+
constructor(publicClient: PublicClient, walletClient: WalletClient | undefined, chain: Chain, applicationsAPI: ApplicationsAPI, profileAPI: ProfileAPI, apiUrl: string);
|
|
46
|
+
/**
|
|
47
|
+
* Sets the wallet client for signing transactions.
|
|
48
|
+
* Used when the wallet becomes available after SDK initialization.
|
|
49
|
+
*/
|
|
50
|
+
setWalletClient(walletClient: WalletClient): void;
|
|
50
51
|
/**
|
|
51
52
|
* Fetches the vault contract address from the applications API.
|
|
52
53
|
*
|
|
@@ -55,6 +56,15 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
|
|
|
55
56
|
* @private
|
|
56
57
|
*/
|
|
57
58
|
getVaultAddress(): Promise<Address>;
|
|
59
|
+
/**
|
|
60
|
+
* Resolves an asset ID to its token address and determines if it's a native token.
|
|
61
|
+
*
|
|
62
|
+
* @param assetId - The asset identifier (UUID) to resolve
|
|
63
|
+
* @returns Promise resolving to object with tokenAddress and isNativeToken flag
|
|
64
|
+
* @throws {ContractError} When asset ID cannot be resolved
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
private resolveAsset;
|
|
58
68
|
/**
|
|
59
69
|
* Approves the vault contract to spend tokens on behalf of the user.
|
|
60
70
|
*
|
|
@@ -97,7 +107,7 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
|
|
|
97
107
|
* first checks if sufficient approval exists, then obtains a signature from the
|
|
98
108
|
* API Gateway, and finally executes the deposit transaction on-chain.
|
|
99
109
|
*
|
|
100
|
-
* Note: This method requires prior approval via the approve() method.
|
|
110
|
+
* Note: This method requires prior approval via the `approve()` method.
|
|
101
111
|
*
|
|
102
112
|
* @param assetId - The asset identifier (UUID) to deposit
|
|
103
113
|
* @param amount - The amount of tokens to deposit (as bigint)
|
|
@@ -167,21 +177,12 @@ export declare class VaultAPIImpl extends BaseAPI implements VaultAPI {
|
|
|
167
177
|
/**
|
|
168
178
|
* Retrieves the user's token balance in the vault.
|
|
169
179
|
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
* @
|
|
174
|
-
* @returns Promise resolving to Balance with token balance details
|
|
175
|
-
* @throws {ContractError} When balance retrieval fails or asset not found
|
|
176
|
-
*
|
|
177
|
-
* @example
|
|
178
|
-
* ```typescript
|
|
179
|
-
* const balance = await vaultAPI.getBalance("123e4567-e89b-12d3-a456-426614174000");
|
|
180
|
-
* console.log(`Vault balance: ${balance.formatted} ${balance.symbol}`);
|
|
181
|
-
* console.log(`Raw amount: ${balance.amount}`);
|
|
182
|
-
* ```
|
|
180
|
+
* @param _assetId - The asset identifier (UUID) to check balance for
|
|
181
|
+
* @returns Promise that always rejects with deprecation error
|
|
182
|
+
* @throws {APIError} Always throws - this method is deprecated
|
|
183
|
+
* @deprecated Use `profileAPI.getUserBalances()` or `profileAPI.getUserBalanceByAssetId()` instead.
|
|
183
184
|
*/
|
|
184
|
-
getBalance(
|
|
185
|
+
getBalance(_assetId: string): Promise<Balance>;
|
|
185
186
|
/**
|
|
186
187
|
* Retrieves the current allowance for a token.
|
|
187
188
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAe,MAAM,MAAM,CAAC;AAEvH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,YAAa,SAAQ,OAAQ,YAAW,QAAQ;IAgBzD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;;;;;;;OASG;gBAEgB,YAAY,EAAE,YAAY,EAC3C,YAAY,EAAE,YAAY,GAAG,SAAS,EACrB,KAAK,EAAE,KAAK,EAC7B,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAQhB;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;;;OAMG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;;OAOG;YACW,YAAY;IA+B1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6DpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkDrG;;;;;;;OAOG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpD;;;;;;;;;;;;;;;OAeG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE;;;;;;;;;;;;OAYG;YACW,mBAAmB;IAiBjC;;;;;;;;;;;;OAYG;YACW,oBAAoB;YAiBpB,kBAAkB;CA8BjC"}
|
package/dist/api/vault/api.js
CHANGED
|
@@ -18,26 +18,27 @@
|
|
|
18
18
|
* chain
|
|
19
19
|
* );
|
|
20
20
|
*
|
|
21
|
-
* // Check balance
|
|
22
|
-
* const balance = await vaultAPI.getBalance(tokenAddress);
|
|
23
|
-
* console.log(`Balance: ${balance.formatted} ${balance.symbol}`);
|
|
24
|
-
*
|
|
25
21
|
* // Deposit tokens
|
|
26
22
|
* const result = await vaultAPI.deposit(tokenAddress, parseEther("100"));
|
|
27
23
|
* console.log(`Deposit transaction: ${result.hash}`);
|
|
28
24
|
* ```
|
|
29
25
|
*/
|
|
30
26
|
import { CONTRACT_ABIS } from "@0xmonaco/contracts";
|
|
31
|
-
import { ApproveTokenSchema, DepositSchema,
|
|
32
|
-
import { erc20Abi,
|
|
33
|
-
import { ContractError, InvalidConfigError } from "../../errors";
|
|
27
|
+
import { ApproveTokenSchema, DepositSchema, validate, WithdrawSchema } from "@0xmonaco/types";
|
|
28
|
+
import { erc20Abi, zeroAddress } from "viem";
|
|
29
|
+
import { APIError, ContractError, InvalidConfigError } from "../../errors";
|
|
34
30
|
import { BaseAPI } from "../base";
|
|
35
31
|
export class VaultAPIImpl extends BaseAPI {
|
|
32
|
+
publicClient;
|
|
33
|
+
chain;
|
|
34
|
+
applicationsAPI;
|
|
35
|
+
profileAPI;
|
|
36
|
+
walletClient;
|
|
36
37
|
/**
|
|
37
38
|
* Creates a new VaultAPI instance.
|
|
38
39
|
*
|
|
39
40
|
* @param publicClient - The viem public client for reading blockchain state
|
|
40
|
-
* @param walletClient - The viem wallet client for signing transactions
|
|
41
|
+
* @param walletClient - The viem wallet client for signing transactions (optional)
|
|
41
42
|
* @param chain - The blockchain network configuration
|
|
42
43
|
* @param applicationsAPI - The applications API instance for fetching vault address
|
|
43
44
|
* @param profileAPI - The profile API instance for fetching asset information
|
|
@@ -46,11 +47,18 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
46
47
|
constructor(publicClient, walletClient, chain, applicationsAPI, profileAPI, apiUrl) {
|
|
47
48
|
super(apiUrl);
|
|
48
49
|
this.publicClient = publicClient;
|
|
49
|
-
this.walletClient = walletClient;
|
|
50
50
|
this.chain = chain;
|
|
51
|
+
this.walletClient = walletClient;
|
|
51
52
|
this.applicationsAPI = applicationsAPI;
|
|
52
53
|
this.profileAPI = profileAPI;
|
|
53
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Sets the wallet client for signing transactions.
|
|
57
|
+
* Used when the wallet becomes available after SDK initialization.
|
|
58
|
+
*/
|
|
59
|
+
setWalletClient(walletClient) {
|
|
60
|
+
this.walletClient = walletClient;
|
|
61
|
+
}
|
|
54
62
|
/**
|
|
55
63
|
* Fetches the vault contract address from the applications API.
|
|
56
64
|
*
|
|
@@ -62,6 +70,44 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
62
70
|
const config = await this.applicationsAPI.getApplicationConfig();
|
|
63
71
|
return config.vaultContractAddress;
|
|
64
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Resolves an asset ID to its token address and determines if it's a native token.
|
|
75
|
+
*
|
|
76
|
+
* @param assetId - The asset identifier (UUID) to resolve
|
|
77
|
+
* @returns Promise resolving to object with tokenAddress and isNativeToken flag
|
|
78
|
+
* @throws {ContractError} When asset ID cannot be resolved
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
async resolveAsset(assetId) {
|
|
82
|
+
let tokenAddress;
|
|
83
|
+
try {
|
|
84
|
+
const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
|
|
85
|
+
tokenAddress = assetBalance.token;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
// Differentiate between network errors and asset not found
|
|
89
|
+
if (error instanceof APIError) {
|
|
90
|
+
if (error.statusCode === 404) {
|
|
91
|
+
throw new ContractError(`Asset ID '${assetId}' does not exist`, {
|
|
92
|
+
revertReason: "ASSET_NOT_FOUND",
|
|
93
|
+
cause: error,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
// Network or other API errors - preserve retry-ability context
|
|
97
|
+
throw new ContractError(`Failed to resolve asset ID '${assetId}': ${error.retryable ? "Network error occurred" : "API request failed"}`, {
|
|
98
|
+
revertReason: error.retryable ? "NETWORK_ERROR" : "API_ERROR",
|
|
99
|
+
cause: error,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
// Unknown error type
|
|
103
|
+
throw new ContractError(`Failed to resolve asset ID '${assetId}': Unexpected error`, {
|
|
104
|
+
revertReason: "UNKNOWN_ERROR",
|
|
105
|
+
cause: error instanceof Error ? error : undefined,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const isNativeToken = tokenAddress === zeroAddress;
|
|
109
|
+
return { tokenAddress, isNativeToken };
|
|
110
|
+
}
|
|
65
111
|
/**
|
|
66
112
|
* Approves the vault contract to spend tokens on behalf of the user.
|
|
67
113
|
*
|
|
@@ -97,21 +143,13 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
97
143
|
* ```
|
|
98
144
|
*/
|
|
99
145
|
async approve(assetId, amount, autoWait = true) {
|
|
146
|
+
if (!this.walletClient) {
|
|
147
|
+
throw new InvalidConfigError("Wallet client not set. Connect a wallet first.", "walletClient");
|
|
148
|
+
}
|
|
100
149
|
// Validate inputs
|
|
101
150
|
validate(ApproveTokenSchema, { assetId, amount, autoWait });
|
|
102
151
|
const vaultAddress = await this.getVaultAddress();
|
|
103
|
-
|
|
104
|
-
let tokenAddress;
|
|
105
|
-
try {
|
|
106
|
-
const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
|
|
107
|
-
tokenAddress = assetBalance.token;
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
|
|
111
|
-
revertReason: "ASSET_NOT_FOUND",
|
|
112
|
-
cause: error instanceof Error ? error : undefined,
|
|
113
|
-
});
|
|
114
|
-
}
|
|
152
|
+
const { tokenAddress } = await this.resolveAsset(assetId);
|
|
115
153
|
const account = this.walletClient.account;
|
|
116
154
|
if (!account) {
|
|
117
155
|
throw new InvalidConfigError("No account available in wallet client", "account");
|
|
@@ -141,7 +179,7 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
141
179
|
* first checks if sufficient approval exists, then obtains a signature from the
|
|
142
180
|
* API Gateway, and finally executes the deposit transaction on-chain.
|
|
143
181
|
*
|
|
144
|
-
* Note: This method requires prior approval via the approve() method.
|
|
182
|
+
* Note: This method requires prior approval via the `approve()` method.
|
|
145
183
|
*
|
|
146
184
|
* @param assetId - The asset identifier (UUID) to deposit
|
|
147
185
|
* @param amount - The amount of tokens to deposit (as bigint)
|
|
@@ -172,23 +210,13 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
172
210
|
* ```
|
|
173
211
|
*/
|
|
174
212
|
async deposit(assetId, amount, autoWait = true) {
|
|
213
|
+
if (!this.walletClient) {
|
|
214
|
+
throw new InvalidConfigError("Wallet client not set. Connect a wallet first.", "walletClient");
|
|
215
|
+
}
|
|
175
216
|
// Validate inputs
|
|
176
217
|
validate(DepositSchema, { assetId, amount, autoWait });
|
|
177
218
|
const vaultAddress = await this.getVaultAddress();
|
|
178
|
-
|
|
179
|
-
let tokenAddress;
|
|
180
|
-
try {
|
|
181
|
-
const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
|
|
182
|
-
tokenAddress = assetBalance.token;
|
|
183
|
-
}
|
|
184
|
-
catch (error) {
|
|
185
|
-
throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
|
|
186
|
-
revertReason: "ASSET_NOT_FOUND",
|
|
187
|
-
cause: error instanceof Error ? error : undefined,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
// Native SEI has a zero address token - skip allowance check (no ERC20 approval needed)
|
|
191
|
-
const isNativeToken = tokenAddress === "0x0000000000000000000000000000000000000000";
|
|
219
|
+
const { tokenAddress, isNativeToken } = await this.resolveAsset(assetId);
|
|
192
220
|
if (!isNativeToken) {
|
|
193
221
|
// Check if approval is needed before proceeding
|
|
194
222
|
const needsApproval = await this.needsApproval(assetId, amount);
|
|
@@ -271,22 +299,12 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
271
299
|
* ```
|
|
272
300
|
*/
|
|
273
301
|
async withdraw(assetId, amount, autoWait = true) {
|
|
302
|
+
if (!this.walletClient) {
|
|
303
|
+
throw new InvalidConfigError("Wallet client not set. Connect a wallet first.", "walletClient");
|
|
304
|
+
}
|
|
274
305
|
validate(WithdrawSchema, { assetId, amount, autoWait });
|
|
275
306
|
const vaultAddress = await this.getVaultAddress();
|
|
276
|
-
|
|
277
|
-
let tokenAddress;
|
|
278
|
-
try {
|
|
279
|
-
const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
|
|
280
|
-
tokenAddress = assetBalance.token;
|
|
281
|
-
}
|
|
282
|
-
catch (error) {
|
|
283
|
-
throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
|
|
284
|
-
revertReason: "ASSET_NOT_FOUND",
|
|
285
|
-
cause: error instanceof Error ? error : undefined,
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
// Native SEI has a zero address token
|
|
289
|
-
const isNativeToken = tokenAddress === "0x0000000000000000000000000000000000000000";
|
|
307
|
+
const { tokenAddress, isNativeToken } = await this.resolveAsset(assetId);
|
|
290
308
|
// Get signature from backend API using asset_id
|
|
291
309
|
const { seed, signature } = await this.getWithdrawSignature(assetId, amount);
|
|
292
310
|
const walletAccount = this.walletClient.account;
|
|
@@ -327,58 +345,13 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
327
345
|
/**
|
|
328
346
|
* Retrieves the user's token balance in the vault.
|
|
329
347
|
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
* @
|
|
334
|
-
* @returns Promise resolving to Balance with token balance details
|
|
335
|
-
* @throws {ContractError} When balance retrieval fails or asset not found
|
|
336
|
-
*
|
|
337
|
-
* @example
|
|
338
|
-
* ```typescript
|
|
339
|
-
* const balance = await vaultAPI.getBalance("123e4567-e89b-12d3-a456-426614174000");
|
|
340
|
-
* console.log(`Vault balance: ${balance.formatted} ${balance.symbol}`);
|
|
341
|
-
* console.log(`Raw amount: ${balance.amount}`);
|
|
342
|
-
* ```
|
|
348
|
+
* @param _assetId - The asset identifier (UUID) to check balance for
|
|
349
|
+
* @returns Promise that always rejects with deprecation error
|
|
350
|
+
* @throws {APIError} Always throws - this method is deprecated
|
|
351
|
+
* @deprecated Use `profileAPI.getUserBalances()` or `profileAPI.getUserBalanceByAssetId()` instead.
|
|
343
352
|
*/
|
|
344
|
-
async getBalance(
|
|
345
|
-
|
|
346
|
-
validate(GetBalanceSchema, { assetId });
|
|
347
|
-
const vaultAddress = await this.getVaultAddress();
|
|
348
|
-
// Look up token address from asset ID
|
|
349
|
-
let tokenAddress;
|
|
350
|
-
try {
|
|
351
|
-
const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
|
|
352
|
-
tokenAddress = assetBalance.token;
|
|
353
|
-
}
|
|
354
|
-
catch (error) {
|
|
355
|
-
throw new ContractError(`Failed to resolve asset ID '${assetId}': Asset not found or invalid`, {
|
|
356
|
-
revertReason: "ASSET_NOT_FOUND",
|
|
357
|
-
cause: error instanceof Error ? error : undefined,
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
const [account] = await this.walletClient.getAddresses();
|
|
361
|
-
// Get balance from vault contract
|
|
362
|
-
const balance = (await this.publicClient.readContract({
|
|
363
|
-
address: vaultAddress,
|
|
364
|
-
abi: CONTRACT_ABIS.vault,
|
|
365
|
-
functionName: "balanceOf",
|
|
366
|
-
args: [account, tokenAddress],
|
|
367
|
-
}));
|
|
368
|
-
// Get token metadata
|
|
369
|
-
const tokenContract = getContract({
|
|
370
|
-
address: tokenAddress,
|
|
371
|
-
abi: erc20Abi,
|
|
372
|
-
client: this.publicClient,
|
|
373
|
-
});
|
|
374
|
-
const [symbol, decimals] = await Promise.all([tokenContract.read.symbol(), tokenContract.read.decimals()]);
|
|
375
|
-
return {
|
|
376
|
-
token: tokenAddress,
|
|
377
|
-
amount: balance,
|
|
378
|
-
formatted: formatUnits(balance, decimals),
|
|
379
|
-
symbol: symbol,
|
|
380
|
-
decimals: decimals,
|
|
381
|
-
};
|
|
353
|
+
async getBalance(_assetId) {
|
|
354
|
+
throw new APIError("getBalance() is deprecated and no longer supported. Please use profileAPI.getUserBalances() or profileAPI.getUserBalanceByAssetId() instead for balance data.", { statusCode: 410 });
|
|
382
355
|
}
|
|
383
356
|
/**
|
|
384
357
|
* Retrieves the current allowance for a token.
|
|
@@ -397,20 +370,16 @@ export class VaultAPIImpl extends BaseAPI {
|
|
|
397
370
|
* ```
|
|
398
371
|
*/
|
|
399
372
|
async getAllowance(assetId) {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
// Look up token address from asset ID
|
|
403
|
-
let tokenAddress;
|
|
404
|
-
try {
|
|
405
|
-
const assetBalance = await this.profileAPI.getUserBalanceByAssetId(assetId);
|
|
406
|
-
tokenAddress = assetBalance.token;
|
|
373
|
+
if (!this.walletClient) {
|
|
374
|
+
throw new InvalidConfigError("Wallet client not set. Connect a wallet first.", "walletClient");
|
|
407
375
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
376
|
+
const vaultAddress = await this.getVaultAddress();
|
|
377
|
+
const addresses = await this.walletClient.getAddresses();
|
|
378
|
+
const account = addresses[0];
|
|
379
|
+
if (!account) {
|
|
380
|
+
throw new InvalidConfigError("No account found in wallet client.", "walletClient");
|
|
413
381
|
}
|
|
382
|
+
const { tokenAddress } = await this.resolveAsset(assetId);
|
|
414
383
|
return (await this.publicClient.readContract({
|
|
415
384
|
address: tokenAddress,
|
|
416
385
|
abi: erc20Abi,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/vault/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Interval, OHLCVEvent, OrderbookEvent, OrderbookQuotationMode, OrderEvent, TradeEvent, TradingMode, UserMovementEvent, WebSocketStatus } from "@0xmonaco/types";
|
|
1
|
+
import type { Interval, OHLCVEvent, OrderbookEvent, OrderbookQuotationMode, OrderEvent, TradeEvent, TradingMode, UserBalanceEvent, UserMovementEvent, WebSocketStatus } from "@0xmonaco/types";
|
|
2
2
|
export type StatusHandler = (status: WebSocketStatus) => void;
|
|
3
3
|
export type MessageHandler<T> = (data: T) => void;
|
|
4
4
|
export interface MonacoWebSocketOptions {
|
|
@@ -32,5 +32,9 @@ export interface MonacoWebSocket {
|
|
|
32
32
|
trades: (tradingPairId: string, handler: MessageHandler<TradeEvent>) => () => void;
|
|
33
33
|
/** Subscribe to user movement events (requires authentication) */
|
|
34
34
|
movements: (handler: MessageHandler<UserMovementEvent>) => () => void;
|
|
35
|
+
/** Subscribe to user order events for all trading pairs (requires authentication) */
|
|
36
|
+
userOrders: (handler: MessageHandler<OrderEvent>) => () => void;
|
|
37
|
+
/** Subscribe to user balance events (requires authentication) */
|
|
38
|
+
balances: (handler: MessageHandler<UserBalanceEvent>) => () => void;
|
|
35
39
|
}
|
|
36
40
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;AAC9D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,mCAAmC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,eAAe,CAAC;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,0DAA0D;IAC1D,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAE7G,6CAA6C;IAC7C,SAAS,EAAE,CACT,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,sBAAsB,EACrC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,KACpC,MAAM,IAAI,CAAC;IAEhB,qDAAqD;IACrD,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEhI,yCAAyC;IACzC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEnF,kEAAkE;IAClE,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;AAC9D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,mCAAmC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,eAAe,CAAC;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,0DAA0D;IAC1D,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAE7G,6CAA6C;IAC7C,SAAS,EAAE,CACT,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,sBAAsB,EACrC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,KACpC,MAAM,IAAI,CAAC;IAEhB,qDAAqD;IACrD,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEhI,yCAAyC;IACzC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEnF,kEAAkE;IAClE,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,MAAM,IAAI,CAAC;IAEtE,qFAAqF;IACrF,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC;IAEhE,iEAAiE;IACjE,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,KAAK,MAAM,IAAI,CAAC;CACrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/websocket.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAkB,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAQvF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAyc5G"}
|
|
@@ -155,7 +155,7 @@ export function createMonacoWebSocket(baseUrl, options = {}) {
|
|
|
155
155
|
if (!handlers.has(channel)) {
|
|
156
156
|
handlers.set(channel, new Set());
|
|
157
157
|
}
|
|
158
|
-
handlers.get(channel)
|
|
158
|
+
handlers.get(channel)?.add(handler);
|
|
159
159
|
// Only send Subscribe message on first subscriber for this channel
|
|
160
160
|
if (isFirstSubscriber && ws?.readyState === WebSocket.OPEN) {
|
|
161
161
|
send({ type: "Subscribe", channels: [channel] });
|
|
@@ -325,6 +325,7 @@ export function createMonacoWebSocket(baseUrl, options = {}) {
|
|
|
325
325
|
description: movementData.description,
|
|
326
326
|
txHash: movementData.tx_hash,
|
|
327
327
|
createdAt: movementData.created_at,
|
|
328
|
+
decimals: movementData.decimals,
|
|
328
329
|
},
|
|
329
330
|
};
|
|
330
331
|
handler(event);
|
|
@@ -334,6 +335,64 @@ export function createMonacoWebSocket(baseUrl, options = {}) {
|
|
|
334
335
|
}
|
|
335
336
|
});
|
|
336
337
|
};
|
|
338
|
+
/**
|
|
339
|
+
* Subscribe to authenticated user's order events (all trading pairs)
|
|
340
|
+
* Requires authentication - user is identified from the JWT token
|
|
341
|
+
*/
|
|
342
|
+
const subscribeUserOrders = (handler) => {
|
|
343
|
+
// User is identified from the JWT token, so channel is just "orders"
|
|
344
|
+
const channel = "orders";
|
|
345
|
+
return subscribe(channel, (rawData) => {
|
|
346
|
+
try {
|
|
347
|
+
const data = rawData;
|
|
348
|
+
const event = {
|
|
349
|
+
orderId: data.order_id,
|
|
350
|
+
eventType: data.event_type,
|
|
351
|
+
timestamp: data.timestamp,
|
|
352
|
+
data: keysToCamelCase(data.data),
|
|
353
|
+
};
|
|
354
|
+
handler(event);
|
|
355
|
+
}
|
|
356
|
+
catch (err) {
|
|
357
|
+
console.error("WebSocket: Error processing user order event", err);
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
};
|
|
361
|
+
/**
|
|
362
|
+
* Subscribe to authenticated user's balance events
|
|
363
|
+
* Requires authentication - user is identified from the JWT token
|
|
364
|
+
*/
|
|
365
|
+
const subscribeBalances = (handler) => {
|
|
366
|
+
// User is identified from the JWT token, so channel is just "balances"
|
|
367
|
+
const channel = "balances";
|
|
368
|
+
return subscribe(channel, (rawData) => {
|
|
369
|
+
try {
|
|
370
|
+
const data = rawData;
|
|
371
|
+
const balanceData = data.data;
|
|
372
|
+
const event = {
|
|
373
|
+
eventType: "balance_update",
|
|
374
|
+
userId: data.user_id,
|
|
375
|
+
data: {
|
|
376
|
+
tokenAddress: balanceData.token_address,
|
|
377
|
+
tokenSymbol: balanceData.token_symbol,
|
|
378
|
+
available: balanceData.available,
|
|
379
|
+
availableRaw: balanceData.available_raw,
|
|
380
|
+
locked: balanceData.locked,
|
|
381
|
+
lockedRaw: balanceData.locked_raw,
|
|
382
|
+
total: balanceData.total,
|
|
383
|
+
totalRaw: balanceData.total_raw,
|
|
384
|
+
reason: balanceData.reason,
|
|
385
|
+
referenceId: balanceData.reference_id,
|
|
386
|
+
updatedAt: balanceData.updated_at,
|
|
387
|
+
},
|
|
388
|
+
};
|
|
389
|
+
handler(event);
|
|
390
|
+
}
|
|
391
|
+
catch (err) {
|
|
392
|
+
console.error("WebSocket: Error processing balance event", err);
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
};
|
|
337
396
|
return {
|
|
338
397
|
connect,
|
|
339
398
|
disconnect,
|
|
@@ -355,6 +414,8 @@ export function createMonacoWebSocket(baseUrl, options = {}) {
|
|
|
355
414
|
ohlcv: subscribeOHLCV,
|
|
356
415
|
trades: subscribeTrades,
|
|
357
416
|
movements: subscribeMovements,
|
|
417
|
+
userOrders: subscribeUserOrders,
|
|
418
|
+
balances: subscribeBalances,
|
|
358
419
|
};
|
|
359
420
|
}
|
|
360
421
|
//# sourceMappingURL=websocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/api/websocket/websocket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/api/websocket/websocket.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,uBAAuB;AACvB,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,UAAkC,EAAE;IACzF,IAAI,EAAE,GAAqB,IAAI,CAAC;IAChC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,cAAc,GAAyC,IAAI,CAAC;IAChE,IAAI,cAAc,GAA0C,IAAI,CAAC;IACjE,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAClD,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;IAE/D,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEjE,MAAM,SAAS,GAAG,GAAoB,EAAE;QACtC,IAAI,CAAC,EAAE;YAAE,OAAO,cAAc,CAAC;QAC/B,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,SAAS,CAAC,UAAU;gBACvB,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,WAAW,CAAC;YACrB;gBACE,OAAO,cAAc,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,KAAK;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,cAAc,EAAE,CAAC;YACnB,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,aAAa,EAAE,CAAC;QAChB,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,aAAa,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,iBAAiB,EAAE,CAAC;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QAC3E,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE;QAC7B,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACtC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAuD,EAAE,EAAE;QAC/E,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QAEjD,8CAA8C;QAC9C,KAAK,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC9D,IAAI,GAAG,CAAC,OAAO,KAAK,mBAAmB,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG,CAAC,EAAE,CAAC;gBAC7F,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAkB,EAAE;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,iEAAiE;YACjE,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACjF,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE7B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;wBAC5C,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAEvB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;oBACf,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,iBAAiB,GAAG,CAAC,CAAC;oBACtB,cAAc,EAAE,CAAC;oBACjB,cAAc,EAAE,CAAC;oBACjB,OAAO,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;oBACtC,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;oBACvB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACnC,uBAAuB;wBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;4BAAE,OAAO;wBAChC,YAAY,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC,CAAC;gBAEF,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;oBACrB,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,aAAa,EAAE,CAAC;oBAChB,OAAO,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC;oBAEzC,8BAA8B;oBAC9B,IAAI,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBACzC,iBAAiB,EAAE,CAAC;oBACtB,CAAC;gBACH,CAAC,CAAC;gBAEF,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,aAAa,GAAG,KAAK,CAAC;QACtB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrC,EAAE,GAAG,IAAI,CAAC;QACV,OAAO,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAI,OAAe,EAAE,OAA0B,EAAgB,EAAE;QACjF,MAAM,iBAAiB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEjD,0CAA0C;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAkC,CAAC,CAAC;QAE/D,mEAAmE;QACnE,IAAI,iBAAiB,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,MAAM,CAAC,OAAkC,CAAC,CAAC;gBAE3D,4DAA4D;gBAC5D,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACzB,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBACtC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,gDAAgD;IAEhD,MAAM,eAAe,GAAG,CAAC,aAAqB,EAAE,WAAwB,EAAE,OAAmC,EAAgB,EAAE;QAC7H,MAAM,OAAO,GAAG,UAAU,aAAa,IAAI,WAAW,EAAE,CAAC;QAEzD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAqF,CAAC;gBACnG,MAAM,KAAK,GAAe;oBACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;oBACtB,SAAS,EAAE,IAAI,CAAC,UAAqC;oBACrD,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CACzB,aAAqB,EACrB,WAAwB,EACxB,SAAiB,EACjB,aAAqC,EACrC,OAAuC,EACzB,EAAE;QAChB,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CACb,8DAA8D,aAAa,mBAAmB,WAAW,gBAAgB,SAAS,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,aAAa,4BAA4B,CACtO,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,aAAa,IAAI,WAAW,IAAI,SAAS,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QAExG,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAkC,CAAC;gBAChD,MAAM,aAAa,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAK3D,MAAM,KAAK,GAAmB;oBAC5B,aAAa,EAAE,IAAI,CAAC,IAAc;oBAClC,WAAW,EAAE,IAAI,CAAC,YAA2B;oBAC7C,IAAI,EAAE,CAAE,aAAa,EAAE,IAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAClE,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC;qBACnC,CAAC,CAAC;oBACH,IAAI,EAAE,CAAE,aAAa,EAAE,IAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAClE,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC;qBACnC,CAAC,CAAC;oBACH,OAAO,EAAE,aAAa,EAAE,QAA8B;oBACtD,OAAO,EAAE,aAAa,EAAE,QAA8B;oBACtD,SAAS,EAAG,aAAa,EAAE,UAAqB,IAAI,SAAS;oBAC7D,SAAS,EAAG,aAAa,EAAE,UAAqB,IAAI,SAAS;oBAC7D,WAAW,EAAE,aAAa,EAAE,YAAY;wBACtC,CAAC,CAAC;4BACE,IAAI,EAAG,aAAa,CAAC,YAA+B,CAAC,IAAiB;4BACtE,QAAQ,EAAG,aAAa,CAAC,YAA+B,CAAC,SAAS;4BAClE,QAAQ,EAAG,aAAa,CAAC,YAA+B,CAAC,SAAS;4BAClE,YAAY,EAAG,aAAa,CAAC,YAA+B,CAAC,aAAa,IAAI,KAAK;4BACnF,UAAU,EAAG,aAAa,CAAC,YAA+B,CAAC,WAAW,IAAI,KAAK;yBAChF;wBACH,CAAC,CAAC,SAAS;oBACb,YAAY,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;oBACjD,aAAa,EAAG,IAAI,CAAC,cAAyB,IAAI,CAAC;oBACnD,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACjE,QAAQ,EAAG,IAAI,CAAC,eAA0B,IAAI,CAAC;iBAChD,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,aAAqB,EAAE,WAAwB,EAAE,QAAkB,EAAE,OAAmC,EAAgB,EAAE;QAChJ,MAAM,OAAO,GAAG,SAAS,aAAa,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAEpE,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAkC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAEvD,MAAM,KAAK,GAAe;oBACxB,aAAa,EAAE,IAAI,CAAC,IAAc;oBAClC,WAAW,EAAE,IAAI,CAAC,YAA2B;oBAC7C,QAAQ,EAAE,IAAI,CAAC,QAAoB;oBACnC,WAAW,EAAE;wBACX,CAAC,EAAG,SAAS,CAAC,YAAuB,IAAI,CAAC;wBAC1C,CAAC,EAAG,SAAS,CAAC,UAAqB,IAAI,CAAC;wBACxC,CAAC,EAAG,SAAS,CAAC,IAAe,IAAI,GAAG;wBACpC,CAAC,EAAG,SAAS,CAAC,IAAe,IAAI,GAAG;wBACpC,CAAC,EAAG,SAAS,CAAC,GAAc,IAAI,GAAG;wBACnC,CAAC,EAAG,SAAS,CAAC,KAAgB,IAAI,GAAG;wBACrC,CAAC,EAAG,SAAS,CAAC,MAAiB,IAAI,GAAG;wBACtC,CAAC,EAAE,IAAI,CAAC,IAAc;wBACtB,CAAC,EAAE,IAAI,CAAC,QAAkB;wBAC1B,CAAC,EAAG,SAAS,CAAC,YAAuB,IAAI,CAAC;qBAC3C;iBACF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,aAAqB,EAAE,OAAmC,EAAgB,EAAE;QACnG,MAAM,OAAO,GAAG,UAAU,aAAa,EAAE,CAAC;QAE1C,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAkC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAEvD,MAAM,KAAK,GAAe;oBACxB,SAAS,EAAE,OAAO;oBAClB,aAAa,EAAE,IAAI,CAAC,OAAiB;oBACrC,WAAW,EAAG,IAAI,CAAC,YAAuB,CAAC,WAAW,EAAiB;oBACvE,IAAI,EAAE;wBACJ,OAAO,EAAE,SAAS,CAAC,QAAkB;wBACrC,KAAK,EAAE,SAAS,CAAC,KAAe;wBAChC,QAAQ,EAAE,SAAS,CAAC,QAAkB;wBACtC,SAAS,EAAG,SAAS,CAAC,UAAqB,CAAC,WAAW,EAAqC;wBAC5F,UAAU,EAAE,SAAS,CAAC,WAAqB;qBAC5C;iBACF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,OAA0C,EAAgB,EAAE;QACtF,wEAAwE;QACxE,MAAM,OAAO,GAAG,WAAW,CAAC;QAE5B,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAkC,CAAC;gBAChD,MAAM,YAAY,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAE1D,MAAM,KAAK,GAAsB;oBAC/B,SAAS,EAAE,UAAU;oBACrB,MAAM,EAAE,IAAI,CAAC,OAAiB;oBAC9B,IAAI,EAAE;wBACJ,EAAE,EAAE,YAAY,CAAC,EAAY;wBAC7B,SAAS,EAAE,YAAY,CAAC,UAAoB;wBAC5C,eAAe,EAAE,YAAY,CAAC,gBAA0B;wBACxD,YAAY,EAAE,YAAY,CAAC,aAAuB;wBAClD,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;wBACnC,SAAS,EAAE,YAAY,CAAC,UAAgC;wBACxD,aAAa,EAAE,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;wBACpG,YAAY,EAAE,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;wBACjG,YAAY,EAAE,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;wBACjG,WAAW,EAAE,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC9F,WAAW,EAAE,YAAY,CAAC,YAAkC;wBAC5D,aAAa,EAAE,YAAY,CAAC,cAAoC;wBAChE,WAAW,EAAE,YAAY,CAAC,WAAiC;wBAC3D,MAAM,EAAE,YAAY,CAAC,OAA6B;wBAClD,SAAS,EAAE,YAAY,CAAC,UAAgC;wBACxD,QAAQ,EAAE,YAAY,CAAC,QAAkB;qBAC1C;iBACF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,mBAAmB,GAAG,CAAC,OAAmC,EAAgB,EAAE;QAChF,qEAAqE;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC;QAEzB,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAqF,CAAC;gBACnG,MAAM,KAAK,GAAe;oBACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;oBACtB,SAAS,EAAE,IAAI,CAAC,UAAqC;oBACrD,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,iBAAiB,GAAG,CAAC,OAAyC,EAAgB,EAAE;QACpF,uEAAuE;QACvE,MAAM,OAAO,GAAG,UAAU,CAAC;QAE3B,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAkC,CAAC;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAEzD,MAAM,KAAK,GAAqB;oBAC9B,SAAS,EAAE,gBAAgB;oBAC3B,MAAM,EAAE,IAAI,CAAC,OAAiB;oBAC9B,IAAI,EAAE;wBACJ,YAAY,EAAE,WAAW,CAAC,aAAuB;wBACjD,WAAW,EAAE,WAAW,CAAC,YAA6B;wBACtD,SAAS,EAAE,WAAW,CAAC,SAAmB;wBAC1C,YAAY,EAAE,WAAW,CAAC,aAAuB;wBACjD,MAAM,EAAE,WAAW,CAAC,MAAgB;wBACpC,SAAS,EAAE,WAAW,CAAC,UAAoB;wBAC3C,KAAK,EAAE,WAAW,CAAC,KAAe;wBAClC,QAAQ,EAAE,WAAW,CAAC,SAAmB;wBACzC,MAAM,EAAE,WAAW,CAAC,MAA4C;wBAChE,WAAW,EAAE,WAAW,CAAC,YAA6B;wBACtD,SAAS,EAAE,WAAW,CAAC,UAAoB;qBAC5C;iBACF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,OAAO;QACP,UAAU;QACV,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI;QACpD,SAAS;QACT,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;YAC7B,KAAK,GAAG,QAAQ,CAAC;YACjB,uCAAuC;YACvC,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;gBACjF,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;gBAC/C,EAAE,GAAG,IAAI,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,kBAAkB;QAC7B,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;AACJ,CAAC"}
|