@super-protocol/sdk-js 3.0.0-beta.1 → 3.0.0-beta.10
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/dist/cjs/TeeInputGeneratorBase.js +7 -10
- package/dist/cjs/connectors/BaseConnector.d.ts +6 -0
- package/dist/cjs/connectors/BaseConnector.js +10 -1
- package/dist/cjs/connectors/BlockchainEventsListener.d.ts +3 -0
- package/dist/cjs/connectors/BlockchainEventsListener.js +5 -3
- package/dist/cjs/contracts/abi.d.ts +726 -127
- package/dist/cjs/contracts/abi.js +975 -189
- package/dist/cjs/models/Order.js +7 -7
- package/dist/cjs/models/TeeOffer.js +3 -3
- package/dist/cjs/staticModels/Consensus.js +2 -2
- package/dist/cjs/staticModels/LoaderSessions.d.ts +1 -1
- package/dist/cjs/staticModels/LoaderSessions.js +10 -7
- package/dist/cjs/staticModels/Superpro.d.ts +6 -2
- package/dist/cjs/staticModels/Superpro.js +51 -1
- package/dist/cjs/staticModels/SuperproToken.js +3 -1
- package/dist/cjs/tee/TcbSerializer.d.ts +2 -2
- package/dist/cjs/types/Consensus.d.ts +4 -9
- package/dist/cjs/types/Consensus.js +1 -1
- package/dist/cjs/types/TokenInfo.d.ts +4 -0
- package/dist/cjs/types/TokenInfo.js +3 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +2 -1
- package/dist/cjs/utils/helper.d.ts +3 -0
- package/dist/cjs/utils/helper.js +19 -2
- package/dist/cjs/utils/schema-utils/index.d.ts +1 -1
- package/dist/cjs/utils/schema-utils/index.js +3 -2
- package/dist/mjs/TeeInputGeneratorBase.js +7 -10
- package/dist/mjs/connectors/BaseConnector.d.ts +6 -0
- package/dist/mjs/connectors/BaseConnector.js +10 -1
- package/dist/mjs/connectors/BlockchainEventsListener.d.ts +3 -0
- package/dist/mjs/connectors/BlockchainEventsListener.js +5 -3
- package/dist/mjs/contracts/abi.d.ts +726 -127
- package/dist/mjs/contracts/abi.js +975 -189
- package/dist/mjs/models/Order.js +7 -7
- package/dist/mjs/models/TeeOffer.js +3 -3
- package/dist/mjs/staticModels/Consensus.js +3 -3
- package/dist/mjs/staticModels/LoaderSessions.d.ts +1 -1
- package/dist/mjs/staticModels/LoaderSessions.js +10 -7
- package/dist/mjs/staticModels/Superpro.d.ts +6 -2
- package/dist/mjs/staticModels/Superpro.js +48 -1
- package/dist/mjs/staticModels/SuperproToken.js +3 -1
- package/dist/mjs/tee/TcbSerializer.d.ts +2 -2
- package/dist/mjs/types/Consensus.d.ts +4 -9
- package/dist/mjs/types/Consensus.js +1 -1
- package/dist/mjs/types/TokenInfo.d.ts +4 -0
- package/dist/mjs/types/TokenInfo.js +2 -0
- package/dist/mjs/types/index.d.ts +1 -0
- package/dist/mjs/types/index.js +2 -1
- package/dist/mjs/utils/helper.d.ts +3 -0
- package/dist/mjs/utils/helper.js +16 -1
- package/dist/mjs/utils/schema-utils/index.d.ts +1 -1
- package/dist/mjs/utils/schema-utils/index.js +2 -2
- package/package.json +2 -2
|
@@ -9,15 +9,16 @@ const index_js_2 = require("./types/index.js");
|
|
|
9
9
|
const index_js_3 = __importDefault(require("./crypto/index.js"));
|
|
10
10
|
const TeeBlockVerifier_js_1 = require("./tee/TeeBlockVerifier.js");
|
|
11
11
|
const serializer_js_1 = require("./utils/schema-utils/serializer.js");
|
|
12
|
+
const constants_js_1 = require("./constants.js");
|
|
12
13
|
class TeeInputGeneratorBase {
|
|
13
14
|
static async generateRiiByOfferId(offerId) {
|
|
14
15
|
const offer = new index_js_1.Offer(offerId);
|
|
15
16
|
const offerInfo = await offer.getInfo();
|
|
16
|
-
const calcType = (offerType, offer) => {
|
|
17
|
+
const calcType = async (offerType, offer) => {
|
|
17
18
|
switch (offerType) {
|
|
18
19
|
case index_js_2.OfferType.Solution: {
|
|
19
|
-
const isBaseImage = offer.isBaseImage();
|
|
20
|
-
const isOfferPublic = offer.isOfferPublic();
|
|
20
|
+
const isBaseImage = await offer.isBaseImage();
|
|
21
|
+
const isOfferPublic = await offer.isOfferPublic();
|
|
21
22
|
if (!isBaseImage) {
|
|
22
23
|
return 'Solution';
|
|
23
24
|
}
|
|
@@ -30,17 +31,13 @@ class TeeInputGeneratorBase {
|
|
|
30
31
|
return 'Data';
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
|
-
const type = calcType(offerInfo.offerType, offer);
|
|
34
|
+
const type = await calcType(offerInfo.offerType, offer);
|
|
34
35
|
if (!type) {
|
|
35
36
|
return null;
|
|
36
37
|
}
|
|
37
|
-
const hash = (0, serializer_js_1.deserializeBySchema)(offerInfo.hash, dto_js_1.HashSchema);
|
|
38
|
-
if (!hash) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
38
|
return {
|
|
42
39
|
args: undefined,
|
|
43
|
-
hash,
|
|
40
|
+
hash: (0, serializer_js_1.deserializeBySchema)(offerInfo.hash, dto_js_1.HashSchema) ?? constants_js_1.ZERO_HASH,
|
|
44
41
|
...(offerInfo.signatureKeyHash && {
|
|
45
42
|
signatureKeyHash: offerInfo.signatureKeyHash,
|
|
46
43
|
}),
|
|
@@ -74,4 +71,4 @@ class TeeInputGeneratorBase {
|
|
|
74
71
|
}
|
|
75
72
|
}
|
|
76
73
|
exports.default = TeeInputGeneratorBase;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1EQU9nQztBQUNoQyxnREFBeUQ7QUFDekQsK0NBQXNFO0FBQ3RFLGlFQUF1QztBQUN2QyxtRUFBNkQ7QUFDN0Qsc0VBQXlFO0FBQ3pFLGlEQUEyQztBQUUzQyxNQUFxQixxQkFBcUI7SUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3pELE1BQU0sS0FBSyxHQUFVLElBQUksZ0JBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBYyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuRCxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsU0FBb0IsRUFBRSxLQUFZLEVBQWdDLEVBQUU7WUFDMUYsUUFBUSxTQUFTLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ3hCLE1BQU0sV0FBVyxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUM5QyxNQUFNLGFBQWEsR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNqQixPQUFPLFVBQVUsQ0FBQztvQkFDcEIsQ0FBQzt5QkFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzFCLE9BQU8sT0FBTyxDQUFDO29CQUNqQixDQUFDO29CQUNELE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLG9CQUFTLENBQUMsSUFBSTtvQkFDakIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTztZQUNMLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLElBQUEsbUNBQW1CLEVBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxtQkFBVSxDQUFDLElBQUksd0JBQVM7WUFDbEUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSTtnQkFDaEMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjthQUM3QyxDQUFDO1lBQ0YsSUFBSTtZQUNKLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNqRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsY0FBOEI7UUFDL0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUVoRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUF1QixDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUM1QixPQUFlLEVBQ2YsSUFBWSxFQUNaLFNBQWlCO1FBRWpCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU3RSxPQUFPLGtCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FDL0MsT0FBZSxFQUNmLFNBQWlCO1FBRWpCLE1BQU0sUUFBUSxHQUFhLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLGNBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sc0NBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWhFLHdEQUF3RDtRQUN4RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLHdCQUFlLENBQUMsS0FBSztZQUMzQixHQUFHLEVBQUUsTUFBTTtZQUNYLFFBQVEsRUFBRSxpQkFBUSxDQUFDLE1BQU07U0FDMUIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXpFRCx3Q0F5RUMifQ==
|
|
@@ -19,6 +19,7 @@ export declare class BaseConnector {
|
|
|
19
19
|
enabled: boolean;
|
|
20
20
|
} & import("pino").default.ChildLoggerOptions>;
|
|
21
21
|
protected contract?: Contract<typeof abi>;
|
|
22
|
+
protected tokenContract?: Contract<typeof abi>;
|
|
22
23
|
isInitialized(): boolean;
|
|
23
24
|
checkIfInitialized(): void;
|
|
24
25
|
/**
|
|
@@ -26,6 +27,11 @@ export declare class BaseConnector {
|
|
|
26
27
|
* @returns initialized contract
|
|
27
28
|
*/
|
|
28
29
|
getContract(): Contract<typeof abi>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @returns initialized contract
|
|
33
|
+
*/
|
|
34
|
+
getTokenContract(): Contract<typeof abi>;
|
|
29
35
|
/**
|
|
30
36
|
* Function for connecting to blockchain
|
|
31
37
|
* Used to setting up settings for blockchain connector
|
|
@@ -9,6 +9,7 @@ class BaseConnector {
|
|
|
9
9
|
initialized = false;
|
|
10
10
|
logger = logger_js_1.default.child({ className: this.constructor['name'] });
|
|
11
11
|
contract;
|
|
12
|
+
tokenContract;
|
|
12
13
|
isInitialized() {
|
|
13
14
|
return this.initialized;
|
|
14
15
|
}
|
|
@@ -24,6 +25,14 @@ class BaseConnector {
|
|
|
24
25
|
this.checkIfInitialized();
|
|
25
26
|
return this.contract;
|
|
26
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @returns initialized contract
|
|
31
|
+
*/
|
|
32
|
+
getTokenContract() {
|
|
33
|
+
this.checkIfInitialized();
|
|
34
|
+
return this.tokenContract;
|
|
35
|
+
}
|
|
27
36
|
/**
|
|
28
37
|
* Function for connecting to blockchain
|
|
29
38
|
* Used to setting up settings for blockchain connector
|
|
@@ -38,4 +47,4 @@ class BaseConnector {
|
|
|
38
47
|
}
|
|
39
48
|
}
|
|
40
49
|
exports.BaseConnector = BaseConnector;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNkRBQXNDO0FBZ0J0QyxNQUFhLGFBQWE7SUFDZCxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRSxRQUFRLENBQXdCO0lBQ2hDLGFBQWEsQ0FBd0I7SUFFeEMsYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDdEgsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFFBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLGFBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxJQUFrQixDQUFDO0lBRW5ELFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFsREQsc0NBa0RDIn0=
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BaseConnector, Config } from './BaseConnector.js';
|
|
2
|
+
import { Contract } from 'web3';
|
|
2
3
|
import { EventLog } from 'web3-types';
|
|
4
|
+
import { abi } from '../contracts/abi.js';
|
|
3
5
|
import { LogsSubscription } from 'web3-eth-contract';
|
|
4
6
|
export type WssSubscriptionOnDataFn = (event: EventLog) => Promise<void> | void;
|
|
5
7
|
export type WssSubscriptionOnErrorFn = (error: Error) => Promise<void> | void;
|
|
@@ -10,6 +12,7 @@ type SubscribeParams = {
|
|
|
10
12
|
onError: WssSubscriptionOnErrorFn;
|
|
11
13
|
subscription?: LogsSubscription;
|
|
12
14
|
event: string;
|
|
15
|
+
contract?: Contract<typeof abi>;
|
|
13
16
|
};
|
|
14
17
|
export default class BlockchainEventsListener extends BaseConnector {
|
|
15
18
|
private static instance;
|
|
@@ -56,7 +56,7 @@ class BlockchainEventsListener extends BaseConnector_js_1.BaseConnector {
|
|
|
56
56
|
if (this.isSubscribingBlocked) {
|
|
57
57
|
throw Error(`${BlockchainEventsListener.name} instance should be initialized before`);
|
|
58
58
|
}
|
|
59
|
-
const contract = this.getContract();
|
|
59
|
+
const contract = params.contract ?? this.getContract();
|
|
60
60
|
const subscription = contract.events[params.event]();
|
|
61
61
|
const key = uuid.v4();
|
|
62
62
|
this.logger.trace({
|
|
@@ -221,7 +221,9 @@ class BlockchainEventsListener extends BaseConnector_js_1.BaseConnector {
|
|
|
221
221
|
});
|
|
222
222
|
this.contract = new store_js_1.default.web3Wss.eth.Contract(abi_js_1.abi, config.contractAddress, web3Context);
|
|
223
223
|
Superpro_js_1.default.address = config.contractAddress;
|
|
224
|
-
|
|
224
|
+
const tokenAddress = await Superpro_js_1.default.getTokenAddress(this.contract);
|
|
225
|
+
this.tokenContract = new store_js_1.default.web3Wss.eth.Contract(abi_js_1.abi, tokenAddress, web3Context);
|
|
226
|
+
SuperproToken_js_1.default.addressWss = tokenAddress;
|
|
225
227
|
this.initialized = true;
|
|
226
228
|
this.logger.trace('Initialized');
|
|
227
229
|
}
|
|
@@ -239,4 +241,4 @@ class BlockchainEventsListener extends BaseConnector_js_1.BaseConnector {
|
|
|
239
241
|
}
|
|
240
242
|
}
|
|
241
243
|
exports.default = BlockchainEventsListener;
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBdUI7QUFDdkIseURBQTJEO0FBQzNELDZDQUFzRTtBQUd0RSxnREFBMEM7QUFFMUMsaUNBQWlDO0FBQ2pDLDJEQUFnQztBQUNoQyw4RUFBbUQ7QUFDbkQsd0ZBQTZEO0FBQzdELDJDQUE2QjtBQWU3QixNQUFxQix3QkFBeUIsU0FBUSxnQ0FBYTtJQUNqRSxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBMkI7SUFDMUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLHdCQUF3QixDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFZ0IsYUFBYSxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBRXBFLGNBQWMsQ0FBQyxNQUE2RDtRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sS0FBSyxDQUFDLEdBQUcsd0JBQXdCLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLE1BQU0sS0FBSyxDQUFDLEdBQUcsd0JBQXdCLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFN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
|