@dynamic-labs-wallet/core 0.0.54 → 0.0.55
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/index.cjs.js +6 -51
- package/index.esm.js +6 -45
- package/package.json +1 -1
- package/src/api/client.d.ts.map +1 -1
- package/src/constants.d.ts +1 -23
- package/src/constants.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -5,30 +5,11 @@ var crypto = require('crypto');
|
|
|
5
5
|
|
|
6
6
|
const DYNAMIC_AUTH_PROD_BASE_API_URL = 'https://app.dynamicauth.com';
|
|
7
7
|
const DYNAMIC_AUTH_PREPROD_BASE_API_URL = 'https://app.dynamic-preprod.xyz';
|
|
8
|
-
const DYNAMIC_AUTH_DEV_BASE_API_URL = 'http://localhost:4200';
|
|
9
|
-
var ENVIRONMENT_ENUM = /*#__PURE__*/ function(ENVIRONMENT_ENUM) {
|
|
10
|
-
ENVIRONMENT_ENUM["development"] = "development";
|
|
11
|
-
ENVIRONMENT_ENUM["preprod"] = "preprod";
|
|
12
|
-
ENVIRONMENT_ENUM["production"] = "production";
|
|
13
|
-
return ENVIRONMENT_ENUM;
|
|
14
|
-
}({});
|
|
15
8
|
const DynamicRequestIdHeader = 'x-dyn-request-id';
|
|
16
9
|
const DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = 'https://app-dynamicauth-com-app-6e12fc400995.relay.evervault.app';
|
|
17
10
|
const DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = 'https://app-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app';
|
|
18
|
-
const DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = 'http://localhost:4200';
|
|
19
|
-
const DYNAMIC_AUTH_BASE_API_URL_MAP = {
|
|
20
|
-
["production"]: DYNAMIC_AUTH_PROD_BASE_API_URL,
|
|
21
|
-
["preprod"]: DYNAMIC_AUTH_PREPROD_BASE_API_URL,
|
|
22
|
-
["development"]: DYNAMIC_AUTH_DEV_BASE_API_URL
|
|
23
|
-
};
|
|
24
|
-
const DYNAMIC_CLIENT_RELAY_MAP = {
|
|
25
|
-
["production"]: DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL,
|
|
26
|
-
["preprod"]: DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL,
|
|
27
|
-
["development"]: DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL
|
|
28
|
-
};
|
|
29
11
|
const MPC_RELAY_PROD_API_URL = 'relay.dynamicauth.com';
|
|
30
12
|
const MPC_RELAY_PREPROD_API_URL = 'relay.dynamic-preprod.xyz';
|
|
31
|
-
const MPC_RELAY_DEV_API_URL = 'http://localhost:4200';
|
|
32
13
|
const SOLANA_RPC_URL = 'https://api.devnet.solana.com';
|
|
33
14
|
const chain = {
|
|
34
15
|
EVM: 'EVM',
|
|
@@ -57,11 +38,8 @@ var BackupLocation = /*#__PURE__*/ function(BackupLocation) {
|
|
|
57
38
|
BackupLocation["EXTERNAL"] = "external";
|
|
58
39
|
return BackupLocation;
|
|
59
40
|
}({});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
preprod: 'https://waas.dynamic-preprod.xyz',
|
|
63
|
-
production: 'https://waas.dynamicauth.com'
|
|
64
|
-
};
|
|
41
|
+
// TODO: replace with apiClient proxy and move this to apiClient when ready
|
|
42
|
+
const IFRAME_DOMAIN = 'http://localhost:8090';
|
|
65
43
|
const ChainEnumToVerifiedCredentialName = {
|
|
66
44
|
BTC: 'bip122',
|
|
67
45
|
EVM: 'eip155',
|
|
@@ -407,30 +385,13 @@ class BaseClient {
|
|
|
407
385
|
headers['Authorization'] = authToken ? `Bearer ${authToken}` : undefined;
|
|
408
386
|
headers[DynamicRequestIdHeader] = crypto.randomUUID();
|
|
409
387
|
this.environmentId = environmentId;
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
case undefined:
|
|
413
|
-
environment = ENVIRONMENT_ENUM.production;
|
|
414
|
-
break;
|
|
415
|
-
case DYNAMIC_AUTH_PROD_BASE_API_URL:
|
|
416
|
-
environment = ENVIRONMENT_ENUM.production;
|
|
417
|
-
break;
|
|
418
|
-
case DYNAMIC_AUTH_PREPROD_BASE_API_URL:
|
|
419
|
-
environment = ENVIRONMENT_ENUM.preprod;
|
|
420
|
-
break;
|
|
421
|
-
case DYNAMIC_AUTH_DEV_BASE_API_URL:
|
|
422
|
-
environment = ENVIRONMENT_ENUM.development;
|
|
423
|
-
break;
|
|
424
|
-
default:
|
|
425
|
-
environment = ENVIRONMENT_ENUM.development;
|
|
426
|
-
break;
|
|
427
|
-
}
|
|
428
|
-
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
388
|
+
const isProd = typeof baseApiUrl === 'undefined' || DYNAMIC_AUTH_PROD_BASE_API_URL === baseApiUrl;
|
|
389
|
+
this.baseApiUrl = isProd ? DYNAMIC_AUTH_PROD_BASE_API_URL : baseApiUrl || DYNAMIC_AUTH_PREPROD_BASE_API_URL;
|
|
429
390
|
this.apiClient = axios.create({
|
|
430
391
|
baseURL: this.baseApiUrl,
|
|
431
392
|
headers
|
|
432
393
|
});
|
|
433
|
-
this.clientRelayBaseApiUrl =
|
|
394
|
+
this.clientRelayBaseApiUrl = isProd ? DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL : baseClientRelayApiUrl || DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL;
|
|
434
395
|
this.clientRelayApiClient = axios.create({
|
|
435
396
|
baseURL: this.clientRelayBaseApiUrl,
|
|
436
397
|
headers
|
|
@@ -730,21 +691,15 @@ exports.BITCOIN_DERIVATION_PATHS = BITCOIN_DERIVATION_PATHS;
|
|
|
730
691
|
exports.BackupLocation = BackupLocation;
|
|
731
692
|
exports.ChainEnumToVerifiedCredentialName = ChainEnumToVerifiedCredentialName;
|
|
732
693
|
exports.CreateRoomPartiesOptions = CreateRoomPartiesOptions;
|
|
733
|
-
exports.DYNAMIC_AUTH_BASE_API_URL_MAP = DYNAMIC_AUTH_BASE_API_URL_MAP;
|
|
734
|
-
exports.DYNAMIC_AUTH_DEV_BASE_API_URL = DYNAMIC_AUTH_DEV_BASE_API_URL;
|
|
735
694
|
exports.DYNAMIC_AUTH_PREPROD_BASE_API_URL = DYNAMIC_AUTH_PREPROD_BASE_API_URL;
|
|
736
695
|
exports.DYNAMIC_AUTH_PROD_BASE_API_URL = DYNAMIC_AUTH_PROD_BASE_API_URL;
|
|
737
|
-
exports.DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL;
|
|
738
|
-
exports.DYNAMIC_CLIENT_RELAY_MAP = DYNAMIC_CLIENT_RELAY_MAP;
|
|
739
696
|
exports.DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL;
|
|
740
697
|
exports.DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL;
|
|
741
698
|
exports.DynamicApiClient = DynamicApiClient;
|
|
742
699
|
exports.DynamicRequestIdHeader = DynamicRequestIdHeader;
|
|
743
|
-
exports.
|
|
744
|
-
exports.IFRAME_DOMAIN_MAP = IFRAME_DOMAIN_MAP;
|
|
700
|
+
exports.IFRAME_DOMAIN = IFRAME_DOMAIN;
|
|
745
701
|
exports.MPC_CHAIN_CONFIG = MPC_CHAIN_CONFIG;
|
|
746
702
|
exports.MPC_CONFIG = MPC_CONFIG;
|
|
747
|
-
exports.MPC_RELAY_DEV_API_URL = MPC_RELAY_DEV_API_URL;
|
|
748
703
|
exports.MPC_RELAY_PREPROD_API_URL = MPC_RELAY_PREPROD_API_URL;
|
|
749
704
|
exports.MPC_RELAY_PROD_API_URL = MPC_RELAY_PROD_API_URL;
|
|
750
705
|
exports.SOLANA_RPC_URL = SOLANA_RPC_URL;
|
package/index.esm.js
CHANGED
|
@@ -3,30 +3,11 @@ import { randomUUID } from 'crypto';
|
|
|
3
3
|
|
|
4
4
|
const DYNAMIC_AUTH_PROD_BASE_API_URL = 'https://app.dynamicauth.com';
|
|
5
5
|
const DYNAMIC_AUTH_PREPROD_BASE_API_URL = 'https://app.dynamic-preprod.xyz';
|
|
6
|
-
const DYNAMIC_AUTH_DEV_BASE_API_URL = 'http://localhost:4200';
|
|
7
|
-
var ENVIRONMENT_ENUM = /*#__PURE__*/ function(ENVIRONMENT_ENUM) {
|
|
8
|
-
ENVIRONMENT_ENUM["development"] = "development";
|
|
9
|
-
ENVIRONMENT_ENUM["preprod"] = "preprod";
|
|
10
|
-
ENVIRONMENT_ENUM["production"] = "production";
|
|
11
|
-
return ENVIRONMENT_ENUM;
|
|
12
|
-
}({});
|
|
13
6
|
const DynamicRequestIdHeader = 'x-dyn-request-id';
|
|
14
7
|
const DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = 'https://app-dynamicauth-com-app-6e12fc400995.relay.evervault.app';
|
|
15
8
|
const DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = 'https://app-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app';
|
|
16
|
-
const DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = 'http://localhost:4200';
|
|
17
|
-
const DYNAMIC_AUTH_BASE_API_URL_MAP = {
|
|
18
|
-
["production"]: DYNAMIC_AUTH_PROD_BASE_API_URL,
|
|
19
|
-
["preprod"]: DYNAMIC_AUTH_PREPROD_BASE_API_URL,
|
|
20
|
-
["development"]: DYNAMIC_AUTH_DEV_BASE_API_URL
|
|
21
|
-
};
|
|
22
|
-
const DYNAMIC_CLIENT_RELAY_MAP = {
|
|
23
|
-
["production"]: DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL,
|
|
24
|
-
["preprod"]: DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL,
|
|
25
|
-
["development"]: DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL
|
|
26
|
-
};
|
|
27
9
|
const MPC_RELAY_PROD_API_URL = 'relay.dynamicauth.com';
|
|
28
10
|
const MPC_RELAY_PREPROD_API_URL = 'relay.dynamic-preprod.xyz';
|
|
29
|
-
const MPC_RELAY_DEV_API_URL = 'http://localhost:4200';
|
|
30
11
|
const SOLANA_RPC_URL = 'https://api.devnet.solana.com';
|
|
31
12
|
const chain = {
|
|
32
13
|
EVM: 'EVM',
|
|
@@ -55,11 +36,8 @@ var BackupLocation = /*#__PURE__*/ function(BackupLocation) {
|
|
|
55
36
|
BackupLocation["EXTERNAL"] = "external";
|
|
56
37
|
return BackupLocation;
|
|
57
38
|
}({});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
preprod: 'https://waas.dynamic-preprod.xyz',
|
|
61
|
-
production: 'https://waas.dynamicauth.com'
|
|
62
|
-
};
|
|
39
|
+
// TODO: replace with apiClient proxy and move this to apiClient when ready
|
|
40
|
+
const IFRAME_DOMAIN = 'http://localhost:8090';
|
|
63
41
|
const ChainEnumToVerifiedCredentialName = {
|
|
64
42
|
BTC: 'bip122',
|
|
65
43
|
EVM: 'eip155',
|
|
@@ -405,30 +383,13 @@ class BaseClient {
|
|
|
405
383
|
headers['Authorization'] = authToken ? `Bearer ${authToken}` : undefined;
|
|
406
384
|
headers[DynamicRequestIdHeader] = randomUUID();
|
|
407
385
|
this.environmentId = environmentId;
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
case undefined:
|
|
411
|
-
environment = ENVIRONMENT_ENUM.production;
|
|
412
|
-
break;
|
|
413
|
-
case DYNAMIC_AUTH_PROD_BASE_API_URL:
|
|
414
|
-
environment = ENVIRONMENT_ENUM.production;
|
|
415
|
-
break;
|
|
416
|
-
case DYNAMIC_AUTH_PREPROD_BASE_API_URL:
|
|
417
|
-
environment = ENVIRONMENT_ENUM.preprod;
|
|
418
|
-
break;
|
|
419
|
-
case DYNAMIC_AUTH_DEV_BASE_API_URL:
|
|
420
|
-
environment = ENVIRONMENT_ENUM.development;
|
|
421
|
-
break;
|
|
422
|
-
default:
|
|
423
|
-
environment = ENVIRONMENT_ENUM.development;
|
|
424
|
-
break;
|
|
425
|
-
}
|
|
426
|
-
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
386
|
+
const isProd = typeof baseApiUrl === 'undefined' || DYNAMIC_AUTH_PROD_BASE_API_URL === baseApiUrl;
|
|
387
|
+
this.baseApiUrl = isProd ? DYNAMIC_AUTH_PROD_BASE_API_URL : baseApiUrl || DYNAMIC_AUTH_PREPROD_BASE_API_URL;
|
|
427
388
|
this.apiClient = axios.create({
|
|
428
389
|
baseURL: this.baseApiUrl,
|
|
429
390
|
headers
|
|
430
391
|
});
|
|
431
|
-
this.clientRelayBaseApiUrl =
|
|
392
|
+
this.clientRelayBaseApiUrl = isProd ? DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL : baseClientRelayApiUrl || DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL;
|
|
432
393
|
this.clientRelayApiClient = axios.create({
|
|
433
394
|
baseURL: this.clientRelayBaseApiUrl,
|
|
434
395
|
headers
|
|
@@ -724,4 +685,4 @@ class DynamicApiClient extends BaseClient {
|
|
|
724
685
|
}
|
|
725
686
|
}
|
|
726
687
|
|
|
727
|
-
export { BITCOIN_DERIVATION_PATHS, BackupLocation, ChainEnumToVerifiedCredentialName, CreateRoomPartiesOptions,
|
|
688
|
+
export { BITCOIN_DERIVATION_PATHS, BackupLocation, ChainEnumToVerifiedCredentialName, CreateRoomPartiesOptions, DYNAMIC_AUTH_PREPROD_BASE_API_URL, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL, DynamicApiClient, DynamicRequestIdHeader, IFRAME_DOMAIN, MPC_CHAIN_CONFIG, MPC_CONFIG, MPC_RELAY_PREPROD_API_URL, MPC_RELAY_PROD_API_URL, SOLANA_RPC_URL, SigningAlgorithm, SuccessEventType, ThresholdSignatureScheme, VerifiedCredentialNameToChainEnum, WalletOperation, chain, getClientThreshold, getDynamicServerThreshold, getMPCChainConfig, getReshareConfig, getServerWalletReshareConfig, getTSSConfig };
|
package/package.json
CHANGED
package/src/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAUlD,qBAAa,UAAU;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,aAAa,CAAC;gBAE/B,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,qBAAqB,GACtB,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;CA2BF"}
|
package/src/constants.d.ts
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
export declare const DYNAMIC_AUTH_PROD_BASE_API_URL = "https://app.dynamicauth.com";
|
|
2
2
|
export declare const DYNAMIC_AUTH_PREPROD_BASE_API_URL = "https://app.dynamic-preprod.xyz";
|
|
3
|
-
export declare const DYNAMIC_AUTH_DEV_BASE_API_URL = "http://localhost:4200";
|
|
4
|
-
export declare enum ENVIRONMENT_ENUM {
|
|
5
|
-
development = "development",
|
|
6
|
-
preprod = "preprod",
|
|
7
|
-
production = "production"
|
|
8
|
-
}
|
|
9
3
|
export declare const DynamicRequestIdHeader = "x-dyn-request-id";
|
|
10
4
|
export declare const DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = "https://app-dynamicauth-com-app-6e12fc400995.relay.evervault.app";
|
|
11
5
|
export declare const DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = "https://app-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app";
|
|
12
|
-
export declare const DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = "http://localhost:4200";
|
|
13
|
-
export declare const DYNAMIC_AUTH_BASE_API_URL_MAP: {
|
|
14
|
-
readonly production: "https://app.dynamicauth.com";
|
|
15
|
-
readonly preprod: "https://app.dynamic-preprod.xyz";
|
|
16
|
-
readonly development: "http://localhost:4200";
|
|
17
|
-
};
|
|
18
|
-
export declare const DYNAMIC_CLIENT_RELAY_MAP: {
|
|
19
|
-
readonly production: "https://app-dynamicauth-com-app-6e12fc400995.relay.evervault.app";
|
|
20
|
-
readonly preprod: "https://app-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app";
|
|
21
|
-
readonly development: "http://localhost:4200";
|
|
22
|
-
};
|
|
23
6
|
export declare const MPC_RELAY_PROD_API_URL = "relay.dynamicauth.com";
|
|
24
7
|
export declare const MPC_RELAY_PREPROD_API_URL = "relay.dynamic-preprod.xyz";
|
|
25
|
-
export declare const MPC_RELAY_DEV_API_URL = "http://localhost:4200";
|
|
26
8
|
export declare const SOLANA_RPC_URL = "https://api.devnet.solana.com";
|
|
27
9
|
export declare const chain: {
|
|
28
10
|
readonly EVM: "EVM";
|
|
@@ -50,11 +32,7 @@ export declare enum BackupLocation {
|
|
|
50
32
|
USER = "user",
|
|
51
33
|
EXTERNAL = "external"
|
|
52
34
|
}
|
|
53
|
-
export declare const
|
|
54
|
-
readonly development: "http://localhost:3333";
|
|
55
|
-
readonly preprod: "https://waas.dynamic-preprod.xyz";
|
|
56
|
-
readonly production: "https://waas.dynamicauth.com";
|
|
57
|
-
};
|
|
35
|
+
export declare const IFRAME_DOMAIN = "http://localhost:8090";
|
|
58
36
|
export declare const ChainEnumToVerifiedCredentialName: {
|
|
59
37
|
[key: string]: string;
|
|
60
38
|
};
|
package/src/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../packages/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,iCAAiC,oCACX,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../packages/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,iCAAiC,oCACX,CAAC;AAEpC,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD,eAAO,MAAM,sCAAsC,qEACiB,CAAC;AACrE,eAAO,MAAM,yCAAyC,yEACkB,CAAC;AAEzE,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAErE,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAE9D,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAE3D,oBAAY,eAAe;IACzB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;CAC9B;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAGD,eAAO,MAAM,aAAa,0BAA0B,CAAC;AAErD,eAAO,MAAM,iCAAiC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAKtE,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAItE,CAAC"}
|