@fuel-ts/account 0.88.1 → 0.89.1
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.
Potentially problematic release.
This version of @fuel-ts/account might be problematic. Click here for more details.
- package/dist/account.d.ts +67 -48
- package/dist/account.d.ts.map +1 -1
- package/dist/index.global.js +371 -204
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +257 -102
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +257 -102
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts.map +1 -1
- package/dist/providers/provider.d.ts +126 -72
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/transaction-request/script-transaction-request.d.ts +7 -0
- package/dist/providers/transaction-request/script-transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-response/transaction-response.d.ts.map +1 -1
- package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts +1 -0
- package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts.map +1 -1
- package/dist/providers/transaction-summary/get-transaction-summary.d.ts.map +1 -1
- package/dist/providers/transaction-summary/operations.d.ts +4 -2
- package/dist/providers/transaction-summary/operations.d.ts.map +1 -1
- package/dist/providers/transaction-summary/types.d.ts +1 -0
- package/dist/providers/transaction-summary/types.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts +3 -3
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils.global.js +574 -426
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +253 -103
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +254 -104
- package/dist/test-utils.mjs.map +1 -1
- package/dist/wallet/base-wallet-unlocked.d.ts +8 -0
- package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
- package/package.json +16 -16
package/dist/index.global.js
CHANGED
@@ -20388,9 +20388,9 @@ spurious results.`);
|
|
20388
20388
|
}
|
20389
20389
|
});
|
20390
20390
|
|
20391
|
-
// ../../node_modules/.pnpm/@fuels+vm-asm@0.
|
20391
|
+
// ../../node_modules/.pnpm/@fuels+vm-asm@0.50.0/node_modules/@fuels/vm-asm/dist/node/index.cjs
|
20392
20392
|
var require_node = __commonJS({
|
20393
|
-
"../../node_modules/.pnpm/@fuels+vm-asm@0.
|
20393
|
+
"../../node_modules/.pnpm/@fuels+vm-asm@0.50.0/node_modules/@fuels/vm-asm/dist/node/index.cjs"(exports) {
|
20394
20394
|
"use strict";
|
20395
20395
|
var wasm$1;
|
20396
20396
|
var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
|
@@ -20951,6 +20951,43 @@ spurious results.`);
|
|
20951
20951
|
BaseAssetId: 6,
|
20952
20952
|
"6": "BaseAssetId"
|
20953
20953
|
});
|
20954
|
+
var CompareMode = Object.freeze({
|
20955
|
+
/**
|
20956
|
+
* Equality (`==`)
|
20957
|
+
*/
|
20958
|
+
EQ: 0,
|
20959
|
+
"0": "EQ",
|
20960
|
+
/**
|
20961
|
+
* Inequality (`!=`)
|
20962
|
+
*/
|
20963
|
+
NE: 1,
|
20964
|
+
"1": "NE",
|
20965
|
+
/**
|
20966
|
+
* Less than (`<`)
|
20967
|
+
*/
|
20968
|
+
LT: 2,
|
20969
|
+
"2": "LT",
|
20970
|
+
/**
|
20971
|
+
* Greater than (`>`)
|
20972
|
+
*/
|
20973
|
+
GT: 3,
|
20974
|
+
"3": "GT",
|
20975
|
+
/**
|
20976
|
+
* Less than or equals (`>=`)
|
20977
|
+
*/
|
20978
|
+
LTE: 4,
|
20979
|
+
"4": "LTE",
|
20980
|
+
/**
|
20981
|
+
* Greater than or equals (`>=`)
|
20982
|
+
*/
|
20983
|
+
GTE: 5,
|
20984
|
+
"5": "GTE",
|
20985
|
+
/**
|
20986
|
+
* Number of leading zeroes in lhs (`lzcnt`) (discards rhs)
|
20987
|
+
*/
|
20988
|
+
LZC: 6,
|
20989
|
+
"6": "LZC"
|
20990
|
+
});
|
20954
20991
|
var GTFArgs2 = Object.freeze({
|
20955
20992
|
/**
|
20956
20993
|
*r" Set `$rA` to `tx.type`
|
@@ -21283,48 +21320,6 @@ spurious results.`);
|
|
21283
21320
|
PolicyMaxFee: 1284,
|
21284
21321
|
"1284": "PolicyMaxFee"
|
21285
21322
|
});
|
21286
|
-
var MathOp = Object.freeze({
|
21287
|
-
/**
|
21288
|
-
* Add
|
21289
|
-
*/
|
21290
|
-
ADD: 0,
|
21291
|
-
"0": "ADD",
|
21292
|
-
/**
|
21293
|
-
* Subtract
|
21294
|
-
*/
|
21295
|
-
SUB: 1,
|
21296
|
-
"1": "SUB",
|
21297
|
-
/**
|
21298
|
-
* Invert bits (discards rhs)
|
21299
|
-
*/
|
21300
|
-
NOT: 2,
|
21301
|
-
"2": "NOT",
|
21302
|
-
/**
|
21303
|
-
* Bitwise or
|
21304
|
-
*/
|
21305
|
-
OR: 3,
|
21306
|
-
"3": "OR",
|
21307
|
-
/**
|
21308
|
-
* Bitwise exclusive or
|
21309
|
-
*/
|
21310
|
-
XOR: 4,
|
21311
|
-
"4": "XOR",
|
21312
|
-
/**
|
21313
|
-
* Bitwise and
|
21314
|
-
*/
|
21315
|
-
AND: 5,
|
21316
|
-
"5": "AND",
|
21317
|
-
/**
|
21318
|
-
* Shift left
|
21319
|
-
*/
|
21320
|
-
SHL: 6,
|
21321
|
-
"6": "SHL",
|
21322
|
-
/**
|
21323
|
-
* Shift right
|
21324
|
-
*/
|
21325
|
-
SHR: 7,
|
21326
|
-
"7": "SHR"
|
21327
|
-
});
|
21328
21323
|
var PanicReason = Object.freeze({
|
21329
21324
|
/**
|
21330
21325
|
*r" The byte can't be mapped to any known `PanicReason`.
|
@@ -21604,42 +21599,47 @@ spurious results.`);
|
|
21604
21599
|
ThePartIsNotSequentiallyConnected: 53,
|
21605
21600
|
"53": "ThePartIsNotSequentiallyConnected"
|
21606
21601
|
});
|
21607
|
-
var
|
21602
|
+
var MathOp = Object.freeze({
|
21608
21603
|
/**
|
21609
|
-
*
|
21604
|
+
* Add
|
21610
21605
|
*/
|
21611
|
-
|
21612
|
-
"0": "
|
21606
|
+
ADD: 0,
|
21607
|
+
"0": "ADD",
|
21613
21608
|
/**
|
21614
|
-
*
|
21609
|
+
* Subtract
|
21615
21610
|
*/
|
21616
|
-
|
21617
|
-
"1": "
|
21611
|
+
SUB: 1,
|
21612
|
+
"1": "SUB",
|
21618
21613
|
/**
|
21619
|
-
*
|
21614
|
+
* Invert bits (discards rhs)
|
21620
21615
|
*/
|
21621
|
-
|
21622
|
-
"2": "
|
21616
|
+
NOT: 2,
|
21617
|
+
"2": "NOT",
|
21623
21618
|
/**
|
21624
|
-
*
|
21619
|
+
* Bitwise or
|
21625
21620
|
*/
|
21626
|
-
|
21627
|
-
"3": "
|
21621
|
+
OR: 3,
|
21622
|
+
"3": "OR",
|
21628
21623
|
/**
|
21629
|
-
*
|
21624
|
+
* Bitwise exclusive or
|
21630
21625
|
*/
|
21631
|
-
|
21632
|
-
"4": "
|
21626
|
+
XOR: 4,
|
21627
|
+
"4": "XOR",
|
21633
21628
|
/**
|
21634
|
-
*
|
21629
|
+
* Bitwise and
|
21635
21630
|
*/
|
21636
|
-
|
21637
|
-
"5": "
|
21631
|
+
AND: 5,
|
21632
|
+
"5": "AND",
|
21638
21633
|
/**
|
21639
|
-
*
|
21634
|
+
* Shift left
|
21640
21635
|
*/
|
21641
|
-
|
21642
|
-
"6": "
|
21636
|
+
SHL: 6,
|
21637
|
+
"6": "SHL",
|
21638
|
+
/**
|
21639
|
+
* Shift right
|
21640
|
+
*/
|
21641
|
+
SHR: 7,
|
21642
|
+
"7": "SHR"
|
21643
21643
|
});
|
21644
21644
|
var ADDFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21645
21645
|
}, unregister: () => {
|
@@ -28383,7 +28383,7 @@ spurious results.`);
|
|
28383
28383
|
}
|
28384
28384
|
}
|
28385
28385
|
function wasm(imports) {
|
28386
|
-
return _loadWasmModule(1, null, "AGFzbQEAAAABQAtgA39/fwF/YAF/AX9gBH9/f38Bf2ACf38Bf2AAAX9gAn9/AGABfwBgBX9/f39/AX9gA39/fwBgAABgAn5/AX8CGAEDd2JnEF9fd2JpbmRnZW5fdGhyb3cABQP7AfkBAQMKBgEFBQUBBQEBAQEBAQECBQICAQEDAgICAgUCAwMDAwMDAwIBBQEFAAMDAwMDAwMDAwMDAQABAQUFAQEBAQEBAQEBAQIBBQUFAwIBAAABAQEFAgIBAQYABgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEDBgADAQEBBwICAAIABgEEAwEDBQgBCQkDAwMFAQEBBgYGBgQEBAQEBAQEBAQEBAQEBAQEBAQGBwcCAgIDBwcACAADBAUBcAEHBwUDAQARBgkBfwFBgIDAAAsHxEvBBQZtZW1vcnkCABZfX3diZ19jb21wYXJlYXJnc19mcmVlAHcaX193YmdfZ2V0X2NvbXBhcmVhcmdzX21vZGUAORpfX3diZ19zZXRfY29tcGFyZWFyZ3NfbW9kZQAoIl9fd2JnX2dldF9jb21wYXJlYXJnc19pbmRpcmVjdF9yaHMAOiJfX3diZ19zZXRfY29tcGFyZWFyZ3NfaW5kaXJlY3RfcmhzADsSY29tcGFyZWFyZ3NfdG9faW1tAEgUY29tcGFyZWFyZ3NfZnJvbV9pbW0AKRVfX3diZ19nZXRfbWF0aGFyZ3Nfb3AAORVfX3diZ19zZXRfbWF0aGFyZ3Nfb3AAKhJfX3diZ19tdWxhcmdzX2ZyZWUAeB5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAOR5fX3diZ19zZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAPBJfX3diZ19kaXZhcmdzX2ZyZWUA1gEeX193YmdfZ2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzAK0BIXBhbmljaW5zdHJ1Y3Rpb25fZXJyb3JfdHlwZXNjcmlwdABMF3BhbmljaW5zdHJ1Y3Rpb25fcmVhc29uAD4ccGFuaWNpbnN0cnVjdGlvbl9pbnN0cnVjdGlvbgA/DGdtX2Zyb21fYXJncwDJAQ1ndGZfZnJvbV9hcmdzAMEBB2dtX2FyZ3MAeQhndGZfYXJncwBaDndkY21fZnJvbV9hcmdzACYOd2RvcF9mcm9tX2FyZ3MAJg53ZG1sX2Zyb21fYXJncwAeDndkZHZfZnJvbV9hcmdzAL8BCXdkY21fYXJncwAZCXdxY21fYXJncwAaCXdkb3BfYXJncwAbCXdxb3BfYXJncwAcCXdkbWxfYXJncwAUCXdxbWxfYXJncwAVCXdkZHZfYXJncwBVCXdxZHZfYXJncwBWEF9fd2JnX2ltbTA2X2ZyZWUA1wEQX193YmdfaW1tMTJfZnJlZQDYARBfX3diZ19pbW0xOF9mcmVlANkBDl9fd2JnX2FkZF9mcmVlALgBD19fd2JnX25vb3BfZnJlZQBbEmFkZF9uZXdfdHlwZXNjcmlwdABPBmFkZF9yYQAWBmFkZF9yYgALBmFkZF9yYwAPA2FkZAC5AQNhbmQAewNkaXYAfAJlcQB9A2V4cAB+Amd0AH8CbHQAgAEEbWxvZwCBAQRtcm9vAIIBBG1vZF8AgwEFbW92ZV8ALANtdWwAhAEDbm90AC0Cb3IAhQEDc2xsAIYBA3NybACHAQNzdWIAiAEDeG9yAIkBBG1sZHYAXANyZXQArgEEcmV0ZAAuE2Fsb2NfbmV3X3R5cGVzY3JpcHQAVwdhbG9jX3JhAE4EYWxvYwCvAQNtY2wALwNtY3AAigEDbWVxAF0TYmhzaF9uZXdfdHlwZXNjcmlwdAAfBGJoc2gAMARiaGVpALABBGJ1cm4AMRNjYWxsX25ld190eXBlc2NyaXB0AE0HY2FsbF9yZAAXBGNhbGwAXgNjY3AAXwRjcm9vADIEY3NpegAzAmNiALEBA2xkYwCLAQNsb2cAYARsb2dkAGEEbWludAA0BHJ2cnQAsgEEc2N3cQCMAQNzcncAjQEEc3J3cQBiA3N3dwCOAQRzd3dxAGMCdHIAjwEDdHJvAGQEZWNrMQCQAQRlY3IxAJEBBGVkMTkAkgEEazI1NgCTAQRzMjU2AJQBBHRpbWUANRNub29wX25ld190eXBlc2NyaXB0AMYBBG5vb3AA2gEEZmxhZwCzAQNiYWwAlQEDam1wALQBA2puZQCWAQNzbW8AZRNhZGRpX25ld190eXBlc2NyaXB0AFAKYWRkaV9pbW0xMgAMBGFkZGkAlwEEYW5kaQCYAQRkaXZpAJkBBGV4cGkAmgEEbW9kaQCbAQRtdWxpAJwBA29yaQCdAQRzbGxpAJ4BBHNybGkAnwEEc3ViaQCgAQR4b3JpAKEBBGpuZWkAogECbGIAowECbHcApAECc2IApQECc3cApgEEbWNwaQCnARJndGZfbmV3X3R5cGVzY3JpcHQAwwEDZ3RmAKgBBG1jbGkAIBFnbV9uZXdfdHlwZXNjcmlwdAA2CGdtX2ltbTE4AAkCZ20AIQRtb3ZpACIEam56aQAjBGptcGYAJBNqbXBiX25ld190eXBlc2NyaXB0ABgEam1wYgAlBGpuemYAqQEEam56YgCqAQRqbmVmAGYKam5lYl9pbW0wNgAXBGpuZWIAZwJqaQBAE2NmZWlfbmV3X3R5cGVzY3JpcHQANwpjZmVpX2ltbTI0ACcEY2ZlaQBBBGNmc2kAQgNjZmUAtQEDY2ZzALYBBHBzaGwAQwRwc2hoAEQEcG9wbABFBHBvcGgARhN3ZGNtX25ld190eXBlc2NyaXB0AMABBHdkY20AaAR3cWNtAGkEd2RvcABqBHdxb3AAawR3ZG1sAGwEd3FtbABtBHdkZHYAbgR3cWR2AG8Ed2RtZABwBHdxbWQAcQR3ZGFtAHIEd3FhbQBzBHdkbW0AdAR3cW1tAHUEZWNhbAB2Fl9fd2JnX2luc3RydWN0aW9uX2ZyZWUAWRRpbnN0cnVjdGlvbl90b19ieXRlcwAKEGluc3RydWN0aW9uX3NpemUA7AERcmVnaWRfbmV3X2NoZWNrZWQAqwEJcmVnaWRfYmFsANsBCnJlZ2lkX2NnYXMA3AEJcmVnaWRfZXJyAN0BCnJlZ2lkX2ZsYWcA3gEIcmVnaWRfZnAA3wEKcmVnaWRfZ2dhcwDgAQhyZWdpZF9ocADhAQhyZWdpZF9pcwDiAQhyZWdpZF9vZgDjAQlyZWdpZF9vbmUA5AEIcmVnaWRfcGMA5QEJcmVnaWRfcmV0AOYBCnJlZ2lkX3JldGwA5wEIcmVnaWRfc3AA6AEJcmVnaWRfc3BwAOkBDnJlZ2lkX3dyaXRhYmxlAOoBCnJlZ2lkX3plcm8A6wEUcmVnaWRfbmV3X3R5cGVzY3JpcHQA0wELcmVnaWRfdG9fdTgA1AETbW92aV9uZXdfdHlwZXNjcmlwdAAYE21jbGlfbmV3X3R5cGVzY3JpcHQAGBNqbnppX25ld190eXBlc2NyaXB0ABgTam1wZl9uZXdfdHlwZXNjcmlwdAAYEm5vdF9uZXdfdHlwZXNjcmlwdAAfE3JldGRfbmV3X3R5cGVzY3JpcHQAHxNtb3ZlX25ld190eXBlc2NyaXB0AB8SbWNsX25ld190eXBlc2NyaXB0AB8TYnVybl9uZXdfdHlwZXNjcmlwdAAfE2Nyb29fbmV3X3R5cGVzY3JpcHQAHxNjc2l6X25ld190eXBlc2NyaXB0AB8TbWludF9uZXdfdHlwZXNjcmlwdAAfE3RpbWVfbmV3X3R5cGVzY3JpcHQAHxJyZXRfbmV3X3R5cGVzY3JpcHQAVxNiaGVpX25ld190eXBlc2NyaXB0AFcRY2JfbmV3X3R5cGVzY3JpcHQAVxNydnJ0X25ld190eXBlc2NyaXB0AFcTZmxhZ19uZXdfdHlwZXNjcmlwdABXEmptcF9uZXdfdHlwZXNjcmlwdABXEmNmZV9uZXdfdHlwZXNjcmlwdABXEmNmc19uZXdfdHlwZXNjcmlwdABXE21sZHZfbmV3X3R5cGVzY3JpcHQATRJtZXFfbmV3X3R5cGVzY3JpcHQATRJjY3BfbmV3X3R5cGVzY3JpcHQATRJsb2dfbmV3X3R5cGVzY3JpcHQATRNsb2dkX25ld190eXBlc2NyaXB0AE0Tc3J3cV9uZXdfdHlwZXNjcmlwdABNE3N3d3FfbmV3X3R5cGVzY3JpcHQATRJ0cm9fbmV3X3R5cGVzY3JpcHQATRJzbW9fbmV3X3R5cGVzY3JpcHQATRNqbmVmX25ld190eXBlc2NyaXB0AE0Td2RtZF9uZXdfdHlwZXNjcmlwdABNE3dxbWRfbmV3X3R5cGVzY3JpcHQATRN3ZGFtX25ld190eXBlc2NyaXB0AE0Td3FhbV9uZXdfdHlwZXNjcmlwdABNE3dkbW1fbmV3X3R5cGVzY3JpcHQATRN3cW1tX25ld190eXBlc2NyaXB0AE0TZWNhbF9uZXdfdHlwZXNjcmlwdABNEmFuZF9uZXdfdHlwZXNjcmlwdABPEmRpdl9uZXdfdHlwZXNjcmlwdABPEWVxX25ld190eXBlc2NyaXB0AE8SZXhwX25ld190eXBlc2NyaXB0AE8RZ3RfbmV3X3R5cGVzY3JpcHQATxFsdF9uZXdfdHlwZXNjcmlwdABPE21sb2dfbmV3X3R5cGVzY3JpcHQATxNtcm9vX25ld190eXBlc2NyaXB0AE8SbW9kX25ld190eXBlc2NyaXB0AE8SbXVsX25ld190eXBlc2NyaXB0AE8Rb3JfbmV3X3R5cGVzY3JpcHQATxJzbGxfbmV3X3R5cGVzY3JpcHQATxJzcmxfbmV3X3R5cGVzY3JpcHQATxJzdWJfbmV3X3R5cGVzY3JpcHQATxJ4b3JfbmV3X3R5cGVzY3JpcHQATxJtY3BfbmV3X3R5cGVzY3JpcHQATxJsZGNfbmV3X3R5cGVzY3JpcHQATxNzY3dxX25ld190eXBlc2NyaXB0AE8Sc3J3X25ld190eXBlc2NyaXB0AE8Sc3d3X25ld190eXBlc2NyaXB0AE8RdHJfbmV3X3R5cGVzY3JpcHQATxNlY2sxX25ld190eXBlc2NyaXB0AE8TZWNyMV9uZXdfdHlwZXNjcmlwdABPE2VkMTlfbmV3X3R5cGVzY3JpcHQATxNrMjU2X25ld190eXBlc2NyaXB0AE8TczI1Nl9uZXdfdHlwZXNjcmlwdABPEmJhbF9uZXdfdHlwZXNjcmlwdABPEmpuZV9uZXdfdHlwZXNjcmlwdABPE2FuZGlfbmV3X3R5cGVzY3JpcHQAUBNkaXZpX25ld190eXBlc2NyaXB0AFATZXhwaV9uZXdfdHlwZXNjcmlwdABQE21vZGlfbmV3X3R5cGVzY3JpcHQAUBNtdWxpX25ld190eXBlc2NyaXB0AFASb3JpX25ld190eXBlc2NyaXB0AFATc2xsaV9uZXdfdHlwZXNjcmlwdABQE3NybGlfbmV3X3R5cGVzY3JpcHQAUBNzdWJpX25ld190eXBlc2NyaXB0AFATeG9yaV9uZXdfdHlwZXNjcmlwdABQE2puZWlfbmV3X3R5cGVzY3JpcHQAUBFsYl9uZXdfdHlwZXNjcmlwdABQEWx3X25ld190eXBlc2NyaXB0AFARc2JfbmV3X3R5cGVzY3JpcHQAUBFzd19uZXdfdHlwZXNjcmlwdABQE21jcGlfbmV3X3R5cGVzY3JpcHQAUBNqbnpmX25ld190eXBlc2NyaXB0AFATam56Yl9uZXdfdHlwZXNjcmlwdABQDndxY21fZnJvbV9hcmdzACYOd3FvcF9mcm9tX2FyZ3MAJh9fX3diZ19zZXRfbWF0aGFyZ3NfaW5kaXJlY3RfcmhzADseX193Ymdfc2V0X211bGFyZ3NfaW5kaXJlY3RfbGhzADseX193Ymdfc2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzADsRamlfbmV3X3R5cGVzY3JpcHQANxNjZnNpX25ld190eXBlc2NyaXB0ADcTcHNobF9uZXdfdHlwZXNjcmlwdAA3E3BzaGhfbmV3X3R5cGVzY3JpcHQANxNwb3BsX25ld190eXBlc2NyaXB0ADcTcG9waF9uZXdfdHlwZXNjcmlwdAA3E3dxZHZfbmV3X3R5cGVzY3JpcHQAwAEOd3Fkdl9mcm9tX2FyZ3MAvwETd3FvcF9uZXdfdHlwZXNjcmlwdADAARN3ZG9wX25ld190eXBlc2NyaXB0AMABE3dkZHZfbmV3X3R5cGVzY3JpcHQAwAETd3FjbV9uZXdfdHlwZXNjcmlwdADAARN3ZG1sX25ld190eXBlc2NyaXB0AMABDndxbWxfZnJvbV9hcmdzAB4Td3FtbF9uZXdfdHlwZXNjcmlwdADAARBfX3diZ19yZWdpZF9mcmVlANcBEF9fd2JnX2ltbTI0X2ZyZWUA2QEPX193Ymdfc3JsaV9mcmVlALgBDl9fd2JnX21jbF9mcmVlALgBDl9fd2JnX2xkY19mcmVlALgBDV9fd2JnX3N3X2ZyZWUAuAEOX193YmdfbW9kX2ZyZWUAuAEPX193Ymdfc3J3cV9mcmVlALgBD19fd2JnX2ZsYWdfZnJlZQC4AQ5fX3diZ19leHBfZnJlZQC4AQ9fX3diZ19lZDE5X2ZyZWUAuAEPX193YmdfZWNhbF9mcmVlALgBDl9fd2JnX3Ntb19mcmVlALgBD19fd2JnX2RpdmlfZnJlZQC4AQ9fX3diZ19qbmVmX2ZyZWUAuAEPX193Ymdfd2RtbV9mcmVlALgBD19fd2JnX2V4cGlfZnJlZQC4AQ9fX3diZ19taW50X2ZyZWUAuAEPX193YmdfcG9wbF9mcmVlALgBDl9fd2JnX25vdF9mcmVlALgBDV9fd2JnX2VxX2ZyZWUAuAENX193Ymdfc2JfZnJlZQC4AQ9fX3diZ193cW1tX2ZyZWUAuAEPX193YmdfYmhzaF9mcmVlALgBD19fd2JnX21vdmlfZnJlZQC4AQ5fX3diZ19tY3BfZnJlZQC4AQ5fX3diZ19jY3BfZnJlZQC4AQ9fX3diZ193ZG1kX2ZyZWUAuAEOX193YmdfZ3RmX2ZyZWUAuAEOX193YmdfdHJvX2ZyZWUAuAEPX193YmdfbXVsaV9mcmVlALgBDl9fd2JnX29yaV9mcmVlALgBD19fd2JnX3dkZHZfZnJlZQC4AQ9fX3diZ19qbXBiX2ZyZWUAuAENX193YmdfbGJfZnJlZQC4AQ9fX3diZ19jcm9vX2ZyZWUAuAEPX193Ymdfd3FhbV9mcmVlALgBD19fd2JnX2puZWJfZnJlZQC4AQdmbGFnX3JhAE4OX193YmdfY2ZlX2ZyZWUAuAEPX193Ymdfd2RvcF9mcmVlALgBD19fd2JnX2NzaXpfZnJlZQC4AQ9fX3diZ19tcm9vX2ZyZWUAuAEPX193Ymdfam56Zl9mcmVlALgBCnBvcGxfaW1tMjQAJw9fX3diZ19jZnNpX2ZyZWUAuAEPX193YmdfYW5kaV9mcmVlALgBD19fd2JnX3RpbWVfZnJlZQC4AQ9fX3diZ19tY2xpX2ZyZWUAuAEKcHNoaF9pbW0yNAAnD19fd2JnX3BzaGhfZnJlZQC4AQ9fX3diZ194b3JpX2ZyZWUAuAEPX193YmdfcmV0ZF9mcmVlALgBD19fd2JnX3dxb3BfZnJlZQC4AQ9fX3diZ19rMjU2X2ZyZWUAuAEPX193Ymdfc3ViaV9mcmVlALgBBnJldF9yYQBODl9fd2JnX3JldF9mcmVlALgBDl9fd2JnX2puZV9mcmVlALgBDl9fd2JnX3N3d19mcmVlALgBD19fd2JnX2xvZ2RfZnJlZQC4AQ5fX3diZ19tZXFfZnJlZQC4AQZjZmVfcmEATg9fX3diZ19iaGVpX2ZyZWUAuAEPX193YmdfbWxkdl9mcmVlALgBDl9fd2JnX2Rpdl9mcmVlALgBD19fd2JnX3dxbWxfZnJlZQC4AQ9fX3diZ19tbG9nX2ZyZWUAuAENX193YmdfdHJfZnJlZQC4AQ9fX3diZ193cWR2X2ZyZWUAuAENX193YmdfbHdfZnJlZQC4AQVjYl9yYQBODV9fd2JnX2NiX2ZyZWUAuAEGam1wX3JhAE4OX193Ymdfam1wX2ZyZWUAuAEOX193YmdfYW5kX2ZyZWUAuAEOX193YmdfbXVsX2ZyZWUAuAEKY2ZzaV9pbW0yNAAnD19fd2JnX2NmZWlfZnJlZQC4AQZjZnNfcmEATg5fX3diZ19jZnNfZnJlZQC4AQ9fX3diZ19idXJuX2ZyZWUAuAEOX193YmdfbG9nX2ZyZWUAuAEPX193YmdfczI1Nl9mcmVlALgBD19fd2JnX21jcGlfZnJlZQC4AQ5fX3diZ19zbGxfZnJlZQC4AQ9fX3diZ19tb3ZlX2ZyZWUAuAENX193YmdfbHRfZnJlZQC4AQpwb3BoX2ltbTI0ACcPX193YmdfcG9waF9mcmVlALgBDV9fd2JnX2d0X2ZyZWUAuAEOX193Ymdfc3ViX2ZyZWUAuAEPX193Ymdfd3FtZF9mcmVlALgBD19fd2JnX21vZGlfZnJlZQC4AQ9fX3diZ19lY3IxX2ZyZWUAuAEPX193Ymdfc2xsaV9mcmVlALgBB2JoZWlfcmEATg9fX3diZ19hbG9jX2ZyZWUAuAENX193YmdfZ21fZnJlZQC4AQ5fX3diZ194b3JfZnJlZQC4AQ5fX3diZ19zcmxfZnJlZQC4AQ5fX3diZ19iYWxfZnJlZQC4AQ9fX3diZ19qbmVpX2ZyZWUAuAEPX193YmdfZWNrMV9mcmVlALgBCnBzaGxfaW1tMjQAJw9fX3diZ19wc2hsX2ZyZWUAuAENX193Ymdfb3JfZnJlZQC4AQ5fX3diZ19zcndfZnJlZQC4AQhqaV9pbW0yNAAnDV9fd2JnX2ppX2ZyZWUAuAEPX193Ymdfd3FjbV9mcmVlALgBD19fd2JnX2FkZGlfZnJlZQC4AR5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9saHMAOg9fX3diZ19zY3dxX2ZyZWUAuAEHcnZydF9yYQBOD19fd2JnX3J2cnRfZnJlZQC4AQ9fX3diZ19zd3dxX2ZyZWUAuAEPX193Ymdfam56Yl9mcmVlALgBH19fd2JnX2dldF9tYXRoYXJnc19pbmRpcmVjdF9yaHMAOg9fX3diZ193ZGNtX2ZyZWUAuAEPX193Ymdfd2RtbF9mcmVlALgBD19fd2JnX2ptcGZfZnJlZQC4AQ9fX3diZ193ZGFtX2ZyZWUAuAEPX193Ymdfam56aV9mcmVlALgBD19fd2JnX2NhbGxfZnJlZQC4ARNqbmViX25ld190eXBlc2NyaXB0AE0Kd3Fkdl9pbW0wNgAXCndxbWxfaW1tMDYAFwp3ZG1sX2ltbTA2ABcKd3FvcF9pbW0wNgAXCndkb3BfaW1tMDYAFwp3cWNtX2ltbTA2ABcKd2Rkdl9pbW0wNgAXCndkY21faW1tMDYAFwpqbmVmX2ltbTA2ABcHc3JsaV9yYgALB3NybGlfcmEAFgZtY2xfcmIACwZtY2xfcmEAFgZsZGNfcmMADwZsZGNfcmIACwZsZGNfcmEAFgZtb2RfcmMADwZtb2RfcmIACwZtb2RfcmEAFgdzcndxX3JjAA8Hc3J3cV9yYgALB3Nyd3FfcmEAFgZleHBfcmMADwZleHBfcmIACwZleHBfcmEAFgdlZDE5X3JjAA8HZWQxOV9yYgALB2VkMTlfcmEAFgdzcndxX3JkABcHZWNhbF9yYwAPB2VjYWxfcmIACwdlY2FsX3JhABYGc21vX3JkABcGc21vX3JjAA8Gc21vX3JiAAsGc21vX3JhABYKc3JsaV9pbW0xMgAMB2RpdmlfcmIACwdkaXZpX3JhABYHam5lZl9yYwAPB2puZWZfcmIACwdqbmVmX3JhABYHd2RtbV9yZAAXB3dkbW1fcmMADwd3ZG1tX3JiAAsHd2RtbV9yYQAWCmV4cGlfaW1tMTIADAdleHBpX3JiAAsHZXhwaV9yYQAWB21pbnRfcmIACwdtaW50X3JhABYGbm90X3JiAAsGbm90X3JhABYIc3dfaW1tMTIADAVzd19yYgALBXN3X3JhABYIc2JfaW1tMTIADAVzYl9yYgALBXNiX3JhABYHd3FtbV9yZAAXB3dxbW1fcmMADwd3cW1tX3JiAAsHd3FtbV9yYQAWB2Joc2hfcmIACwdiaHNoX3JhABYHbW92aV9yYQAWBm1jcF9yYwAPBm1jcF9yYgALBm1jcF9yYQAWB2VjYWxfcmQAFwZjY3BfcmMADwZjY3BfcmIACwZjY3BfcmEAFgd3ZG1kX3JkABcHd2RtZF9yYwAPB3dkbWRfcmIACwd3ZG1kX3JhABYJZ3RmX2ltbTEyAAwGZ3RmX3JiAAsGZ3RmX3JhABYGdHJvX3JkABcGdHJvX3JjAA8GdHJvX3JiAAsGdHJvX3JhABYKbXVsaV9pbW0xMgAMB211bGlfcmIACwdtdWxpX3JhABYJb3JpX2ltbTEyAAwGb3JpX3JiAAsGb3JpX3JhABYHd2Rkdl9yYwAPB3dkZHZfcmIACwd3ZGR2X3JhABYKbW92aV9pbW0xOAAJB2ptcGJfcmEAFghsYl9pbW0xMgAMBWxiX3JiAAsFbGJfcmEAFgdjcm9vX3JiAAsHY3Jvb19yYQAWB3dxYW1fcmQAFwd3cWFtX3JjAA8Hd3FhbV9yYgALB3dxYW1fcmEAFgdqbmViX3JjAA8Ham5lYl9yYgALB2puZWJfcmEAFgd3ZG9wX3JjAA8Hd2RvcF9yYgALB3dkb3BfcmEAFgdjc2l6X3JiAAsHY3Npel9yYQAWB21yb29fcmMADwdtcm9vX3JiAAsHbXJvb19yYQAWCmpuemZfaW1tMTIADAdqbnpmX3JiAAsHam56Zl9yYQAWCmRpdmlfaW1tMTIADAdhbmRpX3JiAAsHYW5kaV9yYQAWB3RpbWVfcmIACwd0aW1lX3JhABYKbWNsaV9pbW0xOAAJB21jbGlfcmEAFgp4b3JpX2ltbTEyAAwHeG9yaV9yYgALB3hvcmlfcmEAFgdyZXRkX3JiAAsHcmV0ZF9yYQAWB3dxb3BfcmMADwd3cW9wX3JiAAsHd3FvcF9yYQAWB2syNTZfcmMADwdrMjU2X3JiAAsHazI1Nl9yYQAWCnN1YmlfaW1tMTIADAdzdWJpX3JiAAsHc3ViaV9yYQAWBmpuZV9yYwAPBmpuZV9yYgALBmpuZV9yYQAWBnN3d19yYwAPBnN3d19yYgALBnN3d19yYQAWB2xvZ2RfcmQAFwdsb2dkX3JjAA8HbG9nZF9yYgALB2xvZ2RfcmEAFgZtZXFfcmQAFwZtZXFfcmMADwZtZXFfcmIACwZtZXFfcmEAFgdtbGR2X3JkABcHbWxkdl9yYwAPB21sZHZfcmIACwdtbGR2X3JhABYGZGl2X3JjAA8GZGl2X3JiAAsGZGl2X3JhABYHd3FtbF9yYwAPB3dxbWxfcmIACwd3cW1sX3JhABYHbWxvZ19yYwAPB21sb2dfcmIACwdtbG9nX3JhABYFdHJfcmMADwV0cl9yYgALBXRyX3JhABYHd3Fkdl9yYwAPB3dxZHZfcmIACwd3cWR2X3JhABYIbHdfaW1tMTIADAVsd19yYgALBWx3X3JhABYKYW5kaV9pbW0xMgAMBmFuZF9yYgALBmFuZF9yYQAWBm11bF9yYwAPBm11bF9yYgALBm11bF9yYQAWB2J1cm5fcmIACwdidXJuX3JhABYGbG9nX3JkABcGbG9nX3JjAA8GbG9nX3JiAAsGbG9nX3JhABYHczI1Nl9yYwAPB3MyNTZfcmIACwdzMjU2X3JhABYFZXFfcmMADwVlcV9yYgALBWVxX3JhABYKbWNwaV9pbW0xMgAMB21jcGlfcmIACwdtY3BpX3JhABYGc2xsX3JjAA8Gc2xsX3JiAAsGc2xsX3JhABYHbW92ZV9yYgALB21vdmVfcmEAFgVsdF9yYwAPBWx0X3JiAAsFbHRfcmEAFgVndF9yYwAPBWd0X3JiAAsFZ3RfcmEAFgZzdWJfcmMADwZzdWJfcmIACwZzdWJfcmEAFgd3cW1kX3JkABcHd3FtZF9yYwAPB3dxbWRfcmIACwd3cW1kX3JhABYKbW9kaV9pbW0xMgAMB21vZGlfcmIACwdtb2RpX3JhABYHZWNyMV9yYwAPB2VjcjFfcmIACwdlY3IxX3JhABYKc2xsaV9pbW0xMgAMB3NsbGlfcmIACwdzbGxpX3JhABYKam1wYl9pbW0xOAAJBWdtX3JhABYGeG9yX3JjAA8GeG9yX3JiAAsGeG9yX3JhABYGc3JsX3JjAA8Gc3JsX3JiAAsGc3JsX3JhABYGYmFsX3JjAA8GYmFsX3JiAAsGYmFsX3JhABYKam5laV9pbW0xMgAMB2puZWlfcmIACwdqbmVpX3JhABYHZWNrMV9yYwAPB2VjazFfcmIACwdlY2sxX3JhABYFb3JfcmMADwVvcl9yYgALBW9yX3JhABYGc3J3X3JjAA8Gc3J3X3JiAAsGc3J3X3JhABYHd3FjbV9yYwAPB3dxY21fcmIACwd3cWNtX3JhABYGYW5kX3JjAA8HYWRkaV9yYgALB2FkZGlfcmEAFgdzY3dxX3JjAA8Hc2N3cV9yYgALB3Njd3FfcmEAFgdzd3dxX3JkABcHc3d3cV9yYwAPB3N3d3FfcmIACwdzd3dxX3JhABYKam56Yl9pbW0xMgAMB2puemJfcmIACwdqbnpiX3JhABYTX193YmdfbWF0aGFyZ3NfZnJlZQB3B3dkY21fcmMADwd3ZGNtX3JiAAsHd2RjbV9yYQAWB3dkbWxfcmMADwd3ZG1sX3JiAAsHd2RtbF9yYQAWCmptcGZfaW1tMTgACQdqbXBmX3JhABYHd2RhbV9yZAAXB3dkYW1fcmMADwd3ZGFtX3JiAAsHd2RhbV9yYQAWCmpu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QYDgA3FyQQx2ELsBIAFBEGokAAtuAQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggiAC8AACAAQQJqLQAAQRB0chDVASEAIAEoAgwiAiACKAIAQQFrNgIAQQhBBBC6ASICIABBCHZBgB5xIABBGHZyOwEEIAJBADYCACABQRBqJAAgAgttAQF/IwBBMGsiASQAIAEgADoADyAAQf8BcUHAAE8EQCABQRxqQgE3AgAgAUECNgIUIAFB9IDAADYCECABQQI2AiwgASABQShqNgIYIAEgAUEPajYCKCABQRBqQYSBwAAQSQALIAFBMGokACAAC24BAX8jAEEwayIBJAAgASAAOwEOIABB//8DcUGAIE8EQCABQRxqQgE3AgAgAUECNgIUIAFBuIHAADYCECABQQM2AiwgASABQShqNgIYIAEgAUEOajYCKCABQRBqQciBwAAQSQALIAFBMGokACAAC10BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDVASIAQR52IABBDnZBPHFyELsBIAFBEGokAAsVACAAQYyCwABB/IHAAEGAgBAQ8gELFgAgAEHQgsAAQcCCwABBgICACBDyAQtMACADQf8BcSABQf8BcUEMdCAAQf8BcUESdHIiACACQf8BcUEGdHJyIgFBEHRBgID8B3EgAEEIdkGA/gNxIAFBgP4DcUEIdHJBCHZyC1UCAX8BfiMAQRBrIgIkACABEMQBIAJBCGogARBUIAIoAgxBADYCACABKQIAIQMgARAEIAAgA0IoiKdBAXE6AAEgACADQiCIp0EBcToAACACQRBqJAALEAAgACABIAIgA0HiABD0AQsQACAAIAEgAiADQeMAEPQBC08BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDIARC7ASABQRBqJAALVQEDfyMAQRBrIgEkACABQQhqIAAQSiABKAIIIgBBAmotAAAhAiAALwAAIAEoAgwiAyADKAIAQQFrNgIAIAJBEHRyENUBQRh2QT9xELsBIAFBEGokAAtSAQF/IAAQUSECIAEQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgACACQf8BcUESdHIiAEGA/gNxQQh0IABBCHZBgP4DcXJBCHZyrUIghjcCACABCxAAIAAgASACIANB3gAQ9QELEAAgACABIAIgA0HfABD1AQsQACAAIAEgAiADQeAAEPUBCxAAIAAgASACIANB4QAQ9QELUQIBfwF+IwBBEGsiAiQAIAEQxAEgAkEIaiABEFQgAigCDEEANgIAIAEpAgAhAyABEAQgACADQiiIPAABIAAgA0IgiKdBAXE6AAAgAkEQaiQACz4BAX8jAEEQayIEJAAgABBRIAEQUSACEFEgBEEIaiADEBMgBC0ACEEBcSAELQAJQQFxEHoQrAEgBEEQaiQAC0kBAX8gABBRIQAgARBRIQFBCEEEELoBIgIgAUH/AXFBDHQgAEESdHIiAEGA4ANxQQh0IABBCHZBgP4DcXJBCHatQiCGNwIAIAILDAAgACABQcsAEPYBCwwAIAAgAUHMABD2AQsMACAAIAFBzQAQ9gELDAAgACABQc4AEPYBCwwAIAAgAUHPABD2AQsMACAAIAFB0AAQ9gELPAEBfyMAQRBrIgQkACAAEFEgARBRIAIQUSAEQQhqIAMQHSAELQAIQQFxIAQtAAkQvgEQrAEgBEEQaiQAC0gAIAAQxAEgACgCAEF/RgRAEM4BAAsgAC8ABCAAQQZqLQAAQRB0chDVASIAQYD+A3FBCHQgAEEIdkGA/gNxIABBGHZychC8AQsLACAAIAFBBxD3AQs/AQJ/AkAgABBRIgBBGHENACAAQQdxIgJBB0YNAEEIQQQQugEiASAAQQV2QQFxrUIghiACrUIohoQ3AgALIAELCwAgACABQQgQ9wELPwAgAkEWdEGAgIAGcSABQf8BcUEMdCIBIAJB/AFxQQZ0ckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCwsAIAAgAUEKEPgBCwsAIAAgAUEMEPgBCwsAIAAgAUEUEPgBCwsAIAAgAUEWEPgBCwsAIAAgAUEZEPgBCwsAIAAgAUEbEPgBCwsAIAAgAUEeEPgBCwsAIAAgAUEfEPgBCwsAIAAgAUEkEPgBCwsAIAAgAUEyEPgBCz8AIAAQUSEAIAEQUyIBQRB0QYCA/AdxIABB/wFxQRJ0IAFyIgBBgP4DcUEIdCAAQQh2QYD+A3FyQQh2chCsAQtAAQF/IAAQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgAEEIdkGA/gNxIABBgP4DcUEIdHJBCHZyrUIghjcCACABCzgAIAJBEHRBgID8B3EgAUH/AXFBDHQiASACckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCzwBAn8jAEEQayIBJAAgABDEASABQQhqIAAQSyABKAIILQABIAEoAgwiAiACKAIAQQFrNgIAIAFBEGokAAs8AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEEsgASgCCC0AACABKAIMIgIgAigCAEEBazYCACABQRBqJAALOQEBfyMAQRBrIgIkACAAEMQBIAJBCGogABBUIAIoAgwgAigCCCABQQBHOgAAQQA2AgAgAkEQaiQACzkBAX8jAEEQayICJAAgABDEASACQQhqIAAQVCACKAIMIAIoAgggAUEARzoAAUEANgIAIAJBEGokAAs4AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEFQgASgCDEEANgIAIAAtAAQgABAEIAFBEGokAEEBcQs3AQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggtAAQgASgCDCICIAIoAgBBAWs2AgAgAUEQaiQACzcBAn8jAEEQayIBJAAgAUEIaiAAEEogASgCCCgCACABKAIMIgIgAigCAEEBazYCACABQRBqJAALCgAgAEHVABD5AQsKACAAQdYAEPkBCwoAIABB1wAQ+QELCgAgAEHaABD5AQsKACAAQdsAEPkBCwoAIABB3AAQ+QELCgAgAEHdABD5AQs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAwANARoLIAMNAUEACw8LIAAgA0EAIAEoAgwRAAALMQEBfyMAQRBrIgEkACABQQhqIAAQHSABLQAJIAEtAAhBBXRBIHFyELsBIAFBEGokAAuhAgEBfyMAQSBrIgIkACACQQE7ARwgAiABNgIYIAIgADYCFCACQbiGwAA2AhAgAkHoiMAANgIMIAJBDGoiACgCCCIBRQRAIwBBIGsiACQAIABBDGpCADcCACAAQQE2AgQgAEHoiMAANgIIIABBKzYCHCAAQZCIwAA2AhggACAAQRhqNgIAIABB2IjAABBJAAsgAUEMaigCACECAkACQCABKAIEDgIAAAELIAINAAsgAC0AECEBIAAtABEaQdiJwABB2InAACgCACIAQQFqNgIAAkAgAEEASA0AQaSNwAAtAABBAXENAEGkjcAAQQE6AABBoI3AAEGgjcAAKAIAQQFqNgIAQdSJwAAoAgBBAEgNAEGkjcAAQQA6AAAgAUUNAAALAAs1AQF/IAEQxAEgASgCACICQX9GBEAQzgEACyABIAJBAWo2AgAgACABNgIEIAAgAUEEajYCAAsxAQF/IAEoAgAiAkF/RwRAIAEgAkEBajYCACAAIAE2AgQgACABQQRqNgIADwsQzgEACzUBAX8gAEE2TwRAQeCCwABBGRDSAQALQQxBBBC6ASICIAA6AAggAiABNgIEIAJBADYCACACCzAAIAAQUSABEFEgAhBRIAMQURASIQBBCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQstACAAEMQBIAAoAgBBf0YEQBDOAQALIAAvAAQgAEEGai0AAEEQdHIQyAEQuwELLAAgABBRIAEQUSACEFEQKyEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELLAAgABBRIAEQUSACEFIQOCEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELJQEBfwJAIAAEQCAAKAIADQEgAC0ABCAAEAQPCxDNAQALEM4BAAslAQF/AkAgAARAIAAoAgANASAALwEEIAAQBA8LEM0BAAsQzgEACyUBAX8CQCAABEAgACgCAA0BIAAoAgQgABAEDwsQzQEACxDOAQALKAAgASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEEajYCAA8LEM4BAAspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeQAchDFARC8AQspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeUAchDFARC8AQslAQF/IAAQUSEAQQhBBBC6ASIBIABBAnRB/AFxrUIghjcCACABCyAAIABBAWsiAEEFTQRAIABBAWoPC0HggsAAQRkQ0gEACyABAX8gABDEASAAKAIABEAQzgEACyAAKAIEIAAQBBAECyMAIAIQBSECIAAQvQEgARC9ASACEDhBCHRBygByEMUBELwBCx4AAkAgAARAIAAoAgANASAAEAQPCxDNAQALEM4BAAsPACAAIAEgAiADQRIQ7gELDwAgACABIAIgA0EYEO4BCw8AIAAgASACIANBHBDuAQsPACAAIAEgAiADQR0Q7gELDwAgACABIAIgA0EiEO4BCw8AIAAgASACIANBIxDuAQsPACAAIAEgAiADQSgQ7gELDwAgACABIAIgA0EqEO4BCw8AIAAgASACIANBLBDuAQsPACAAIAEgAiADQTgQ7gELEAAgACABIAIgA0HTABDvAQsQACAAIAEgAiADQdQAEO8BCxAAIAAgASACIANB3gAQ7wELEAAgACABIAIgA0HfABDvAQsQACAAIAEgAiADQeAAEO8BCxAAIAAgASACIANB4QAQ7wELEAAgACABIAIgA0HiABDvAQsQACAAIAEgAiADQeMAEO8BCxAAIAAgASACIANB5AAQ7wELEAAgACABIAIgA0HlABDvAQsQACAAIAEgAiADQeYAEO4BCxAAIAAgASACIANB5wAQ7gELEAAgACABIAIgA0HoABDuAQsQACAAIAEgAiADQekAEO4BCxAAIAAgASACIANB6gAQ7gELEAAgACABIAIgA0HrABDuAQsQACAAIAEgAiADQewAEO4BCx0BAX8jAEEQayIBJAAgAUEIaiAAEB0gAUEQaiQACx0BAX8jAEEQayIBJAAgAUEIaiAAEBMgAUEQaiQACx8AIAEQWCEBIAAQvQEgARC3AUEIdEHMAHIQxQEQvAELGQAgACABIAJBIEEAIAQbQRBBACADG3IQEgsNACAAIAEgAkEBEPABCw0AIAAgASACQQIQ8AELDQAgACABIAJBAxDwAQsNACAAIAEgAkEEEPABCw0AIAAgASACQQUQ8AELDQAgACABIAJBBhDwAQsNACAAIAEgAkEHEPABCw0AIAAgASACQQgQ8AELDQAgACABIAJBCRDwAQsNACAAIAEgAkELEPABCw0AIAAgASACQQ0Q8AELDQAgACABIAJBDhDwAQsNACAAIAEgAkEPEPABCw0AIAAgASACQRAQ8AELDQAgACABIAJBERDwAQsNACAAIAEgAkEXEPABCw0AIAAgASACQSEQ8AELDQAgACABIAJBJhDwAQsNACAAIAEgAkEnEPABCw0AIAAgASACQSkQ8AELDQAgACABIAJBKxDwAQsNACAAIAEgAkEtEPABCw0AIAAgASACQS4Q8AELDQAgACABIAJBLxDwAQsNACAAIAEgAkEwEPABCw0AIAAgASACQTEQ8AELDQAgACABIAJBNRDwAQsNACAAIAEgAkE3EPABCw0AIAAgASACQTkQ8QELDQAgACABIAJBOhDxAQsNACAAIAEgAkE7EPEBCw0AIAAgASACQTwQ8QELDQAgACABIAJBPRDxAQsNACAAIAEgAkE+EPEBCw0AIAAgASACQT8Q8QELDgAgACABIAJBwAAQ8QELDgAgACABIAJBwQAQ8QELDgAgACABIAJBwgAQ8QELDgAgACABIAJBwwAQ8QELDgAgACABIAJBxAAQ8QELDgAgACABIAJBxQAQ8QELDgAgACABIAJBxgAQ8QELDgAgACABIAJBxwAQ8QELDgAgACABIAJByAAQ8QELDgAgACABIAJByQAQ8QELDgAgACABIAJBygAQ8QELDgAgACABIAJB0QAQ8QELDgAgACABIAJB0gAQ8QELGAEBfyAAQf8BcUE/TQR/IAAQuwEFQQALCx4BAX9BCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQsbACAAEMQBIAAoAgBBf0YEQBDOAQALIAAtAAQLCQAgAEETEPMBCwkAIABBFRDzAQsJACAAQRoQ8wELCQAgAEEgEPMBCwkAIABBJRDzAQsJACAAQTQQ8wELCQAgAEE2EPMBCwoAIABB2AAQ8wELCgAgAEHZABDzAQsXACABQRB0QYCA/AdxIABBAnRB/AFxcgsXACAAEMQBIAAoAgAEQBDOAQALIAAQBAscACAAEL0BIAEQvQEgAhC9ARArQQh0EMUBELwBCxIAIAEgABDHASIABEAgAA8LAAsbAQF/QQhBBBC6ASIBIAA6AAQgAUEANgIAIAELGwEBf0EIQQQQugEiASAANgIEIAFBADYCACABC24AIABB/wFxQcAATwRAIwBBMGsiACQAIABBIjYCDCAAQYCAwAA2AgggAEEcakIBNwIAIABBATYCFCAAQbCGwAA2AhAgAEEBNgIsIAAgAEEoajYCGCAAIABBCGo2AiggAEEQakG4gMAAEEkACyAACxQAIAAgASACQSBBACADGyAEchASCxgAIAAQUSABEFEgAhBRIAMQPRDCARCsAQsXACAAEFEgARBRIAIQUSADEFEQEhCsAQsTACAAEFEgARBRIAIQBRA4EKwBCxEAIAAgASACQSBBACADGxASCxMAIAAQUSABEFEgAhBSEDgQrAELDAAgAARADwsQzQEACxQBAX9BBEEBELoBIgEgADYAACABCxQBAX9BCEEEELoBIgBCADcC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", imports);
|
28386
|
+
return _loadWasmModule(1, null, "AGFzbQEAAAABQAtgA39/fwF/YAF/AX9gBH9/f38Bf2ACf38Bf2AAAX9gAn9/AGABfwBgBX9/f39/AX9gA39/fwBgAABgAn5/AX8CGAEDd2JnEF9fd2JpbmRnZW5fdGhyb3cABQP7AfkBAQMKBgEFBQUBBQEBAQEBAQECBQICAQEDAgICAgUCAwMDAwMDAwIBBQEFAAMDAwMDAwMDAwMDAQABAQUFAQEBAQEBAQEBAQIBBQUFAwIBAAABAQEFAgIBAQYABgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEDBgADAQEBBwICAAIABgEEAwEDBQgBCQkDAwMFAQEBBgYGBgQEBAQEBAQEBAQEBAQEBAQEBAQGBwcCAgIDBwcACAADBAUBcAEHBwUDAQARBgkBfwFBgIDAAAsHxEvBBQZtZW1vcnkCABZfX3diZ19jb21wYXJlYXJnc19mcmVlAHcaX193YmdfZ2V0X2NvbXBhcmVhcmdzX21vZGUAORpfX3diZ19zZXRfY29tcGFyZWFyZ3NfbW9kZQAoIl9fd2JnX2dldF9jb21wYXJlYXJnc19pbmRpcmVjdF9yaHMAOiJfX3diZ19zZXRfY29tcGFyZWFyZ3NfaW5kaXJlY3RfcmhzADsSY29tcGFyZWFyZ3NfdG9faW1tAEgUY29tcGFyZWFyZ3NfZnJvbV9pbW0AKRVfX3diZ19nZXRfbWF0aGFyZ3Nfb3AAORVfX3diZ19zZXRfbWF0aGFyZ3Nfb3AAKhJfX3diZ19tdWxhcmdzX2ZyZWUAeB5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAOR5fX3diZ19zZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAPBJfX3diZ19kaXZhcmdzX2ZyZWUA1gEeX193YmdfZ2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzAK0BIXBhbmljaW5zdHJ1Y3Rpb25fZXJyb3JfdHlwZXNjcmlwdABMF3BhbmljaW5zdHJ1Y3Rpb25fcmVhc29uAD4ccGFuaWNpbnN0cnVjdGlvbl9pbnN0cnVjdGlvbgA/DGdtX2Zyb21fYXJncwDJAQ1ndGZfZnJvbV9hcmdzAMEBB2dtX2FyZ3MAeQhndGZfYXJncwBaDndkY21fZnJvbV9hcmdzACYOd2RvcF9mcm9tX2FyZ3MAJg53ZG1sX2Zyb21fYXJncwAeDndkZHZfZnJvbV9hcmdzAL8BCXdkY21fYXJncwAZCXdxY21fYXJncwAaCXdkb3BfYXJncwAbCXdxb3BfYXJncwAcCXdkbWxfYXJncwAUCXdxbWxfYXJncwAVCXdkZHZfYXJncwBVCXdxZHZfYXJncwBWEF9fd2JnX2ltbTA2X2ZyZWUA1wEQX193YmdfaW1tMTJfZnJlZQDYARBfX3diZ19pbW0xOF9mcmVlANkBDl9fd2JnX2FkZF9mcmVlALgBD19fd2JnX25vb3BfZnJlZQBbEmFkZF9uZXdfdHlwZXNjcmlwdABPBmFkZF9yYQAWBmFkZF9yYgALBmFkZF9yYwAPA2FkZAC5AQNhbmQAewNkaXYAfAJlcQB9A2V4cAB+Amd0AH8CbHQAgAEEbWxvZwCBAQRtcm9vAIIBBG1vZF8AgwEFbW92ZV8ALANtdWwAhAEDbm90AC0Cb3IAhQEDc2xsAIYBA3NybACHAQNzdWIAiAEDeG9yAIkBBG1sZHYAXANyZXQArgEEcmV0ZAAuE2Fsb2NfbmV3X3R5cGVzY3JpcHQAVwdhbG9jX3JhAE4EYWxvYwCvAQNtY2wALwNtY3AAigEDbWVxAF0TYmhzaF9uZXdfdHlwZXNjcmlwdAAfBGJoc2gAMARiaGVpALABBGJ1cm4AMRNjYWxsX25ld190eXBlc2NyaXB0AE0HY2FsbF9yZAAXBGNhbGwAXgNjY3AAXwRjcm9vADIEY3NpegAzAmNiALEBA2xkYwCLAQNsb2cAYARsb2dkAGEEbWludAA0BHJ2cnQAsgEEc2N3cQCMAQNzcncAjQEEc3J3cQBiA3N3dwCOAQRzd3dxAGMCdHIAjwEDdHJvAGQEZWNrMQCQAQRlY3IxAJEBBGVkMTkAkgEEazI1NgCTAQRzMjU2AJQBBHRpbWUANRNub29wX25ld190eXBlc2NyaXB0AMYBBG5vb3AA2gEEZmxhZwCzAQNiYWwAlQEDam1wALQBA2puZQCWAQNzbW8AZRNhZGRpX25ld190eXBlc2NyaXB0AFAKYWRkaV9pbW0xMgAMBGFkZGkAlwEEYW5kaQCYAQRkaXZpAJkBBGV4cGkAmgEEbW9kaQCbAQRtdWxpAJwBA29yaQCdAQRzbGxpAJ4BBHNybGkAnwEEc3ViaQCgAQR4b3JpAKEBBGpuZWkAogECbGIAowECbHcApAECc2IApQECc3cApgEEbWNwaQCnARJndGZfbmV3X3R5cGVzY3JpcHQAwwEDZ3RmAKgBBG1jbGkAIBFnbV9uZXdfdHlwZXNjcmlwdAA2CGdtX2ltbTE4AAkCZ20AIQRtb3ZpACIEam56aQAjBGptcGYAJBNqbXBiX25ld190eXBlc2NyaXB0ABgEam1wYgAlBGpuemYAqQEEam56YgCqAQRqbmVmAGYKam5lYl9pbW0wNgAXBGpuZWIAZwJqaQBAE2NmZWlfbmV3X3R5cGVzY3JpcHQANwpjZmVpX2ltbTI0ACcEY2ZlaQBBBGNmc2kAQgNjZmUAtQEDY2ZzALYBBHBzaGwAQwRwc2hoAEQEcG9wbABFBHBvcGgARhN3ZGNtX25ld190eXBlc2NyaXB0AMABBHdkY20AaAR3cWNtAGkEd2RvcABqBHdxb3AAawR3ZG1sAGwEd3FtbABtBHdkZHYAbgR3cWR2AG8Ed2RtZABwBHdxbWQAcQR3ZGFtAHIEd3FhbQBzBHdkbW0AdAR3cW1tAHUEZWNhbAB2Fl9fd2JnX2luc3RydWN0aW9uX2ZyZWUAWRRpbnN0cnVjdGlvbl90b19ieXRlcwAKEGluc3RydWN0aW9uX3NpemUA7AERcmVnaWRfbmV3X2NoZWNrZWQAqwEJcmVnaWRfYmFsANsBCnJlZ2lkX2NnYXMA3AEJcmVnaWRfZXJyAN0BCnJlZ2lkX2ZsYWcA3gEIcmVnaWRfZnAA3wEKcmVnaWRfZ2dhcwDgAQhyZWdpZF9ocADhAQhyZWdpZF9pcwDiAQhyZWdpZF9vZgDjAQlyZWdpZF9vbmUA5AEIcmVnaWRfcGMA5QEJcmVnaWRfcmV0AOYBCnJlZ2lkX3JldGwA5wEIcmVnaWRfc3AA6AEJcmVnaWRfc3BwAOkBDnJlZ2lkX3dyaXRhYmxlAOoBCnJlZ2lkX3plcm8A6wEUcmVnaWRfbmV3X3R5cGVzY3JpcHQA0wELcmVnaWRfdG9fdTgA1AETbW92aV9uZXdfdHlwZXNjcmlwdAAYE21jbGlfbmV3X3R5cGVzY3JpcHQAGBNqbnppX25ld190eXBlc2NyaXB0ABgTam1wZl9uZXdfdHlwZXNjcmlwdAAYEm5vdF9uZXdfdHlwZXNjcmlwdAAfE3JldGRfbmV3X3R5cGVzY3JpcHQAHxNtb3ZlX25ld190eXBlc2NyaXB0AB8SbWNsX25ld190eXBlc2NyaXB0AB8TYnVybl9uZXdfdHlwZXNjcmlwdAAfE2Nyb29fbmV3X3R5cGVzY3JpcHQAHxNjc2l6X25ld190eXBlc2NyaXB0AB8TbWludF9uZXdfdHlwZXNjcmlwdAAfE3RpbWVfbmV3X3R5cGVzY3JpcHQAHxJyZXRfbmV3X3R5cGVzY3JpcHQAVxNiaGVpX25ld190eXBlc2NyaXB0AFcRY2JfbmV3X3R5cGVzY3JpcHQAVxNydnJ0X25ld190eXBlc2NyaXB0AFcTZmxhZ19uZXdfdHlwZXNjcmlwdABXEmptcF9uZXdfdHlwZXNjcmlwdABXEmNmZV9uZXdfdHlwZXNjcmlwdABXEmNmc19uZXdfdHlwZXNjcmlwdABXE21sZHZfbmV3X3R5cGVzY3JpcHQATRJtZXFfbmV3X3R5cGVzY3JpcHQATRJjY3BfbmV3X3R5cGVzY3JpcHQATRJsb2dfbmV3X3R5cGVzY3JpcHQATRNsb2dkX25ld190eXBlc2NyaXB0AE0Tc3J3cV9uZXdfdHlwZXNjcmlwdABNE3N3d3FfbmV3X3R5cGVzY3JpcHQATRJ0cm9fbmV3X3R5cGVzY3JpcHQATRJzbW9fbmV3X3R5cGVzY3JpcHQATRNqbmVmX25ld190eXBlc2NyaXB0AE0Td2RtZF9uZXdfdHlwZXNjcmlwdABNE3dxbWRfbmV3X3R5cGVzY3JpcHQATRN3ZGFtX25ld190eXBlc2NyaXB0AE0Td3FhbV9uZXdfdHlwZXNjcmlwdABNE3dkbW1fbmV3X3R5cGVzY3JpcHQATRN3cW1tX25ld190eXBlc2NyaXB0AE0TZWNhbF9uZXdfdHlwZXNjcmlwdABNEmFuZF9uZXdfdHlwZXNjcmlwdABPEmRpdl9uZXdfdHlwZXNjcmlwdABPEWVxX25ld190eXBlc2NyaXB0AE8SZXhwX25ld190eXBlc2NyaXB0AE8RZ3RfbmV3X3R5cGVzY3JpcHQATxFsdF9uZXdfdHlwZXNjcmlwdABPE21sb2dfbmV3X3R5cGVzY3JpcHQATxNtcm9vX25ld190eXBlc2NyaXB0AE8SbW9kX25ld190eXBlc2NyaXB0AE8SbXVsX25ld190eXBlc2NyaXB0AE8Rb3JfbmV3X3R5cGVzY3JpcHQATxJzbGxfbmV3X3R5cGVzY3JpcHQATxJzcmxfbmV3X3R5cGVzY3JpcHQATxJzdWJfbmV3X3R5cGVzY3JpcHQATxJ4b3JfbmV3X3R5cGVzY3JpcHQATxJtY3BfbmV3X3R5cGVzY3JpcHQATxJsZGNfbmV3X3R5cGVzY3JpcHQATxNzY3dxX25ld190eXBlc2NyaXB0AE8Sc3J3X25ld190eXBlc2NyaXB0AE8Sc3d3X25ld190eXBlc2NyaXB0AE8RdHJfbmV3X3R5cGVzY3JpcHQATxNlY2sxX25ld190eXBlc2NyaXB0AE8TZWNyMV9uZXdfdHlwZXNjcmlwdABPE2VkMTlfbmV3X3R5cGVzY3JpcHQATxNrMjU2X25ld190eXBlc2NyaXB0AE8TczI1Nl9uZXdfdHlwZXNjcmlwdABPEmJhbF9uZXdfdHlwZXNjcmlwdABPEmpuZV9uZXdfdHlwZXNjcmlwdABPE2FuZGlfbmV3X3R5cGVzY3JpcHQAUBNkaXZpX25ld190eXBlc2NyaXB0AFATZXhwaV9uZXdfdHlwZXNjcmlwdABQE21vZGlfbmV3X3R5cGVzY3JpcHQAUBNtdWxpX25ld190eXBlc2NyaXB0AFASb3JpX25ld190eXBlc2NyaXB0AFATc2xsaV9uZXdfdHlwZXNjcmlwdABQE3NybGlfbmV3X3R5cGVzY3JpcHQAUBNzdWJpX25ld190eXBlc2NyaXB0AFATeG9yaV9uZXdfdHlwZXNjcmlwdABQE2puZWlfbmV3X3R5cGVzY3JpcHQAUBFsYl9uZXdfdHlwZXNjcmlwdABQEWx3X25ld190eXBlc2NyaXB0AFARc2JfbmV3X3R5cGVzY3JpcHQAUBFzd19uZXdfdHlwZXNjcmlwdABQE21jcGlfbmV3X3R5cGVzY3JpcHQAUBNqbnpmX25ld190eXBlc2NyaXB0AFATam56Yl9uZXdfdHlwZXNjcmlwdABQDndxY21fZnJvbV9hcmdzACYOd3FvcF9mcm9tX2FyZ3MAJh9fX3diZ19zZXRfbWF0aGFyZ3NfaW5kaXJlY3RfcmhzADseX193Ymdfc2V0X211bGFyZ3NfaW5kaXJlY3RfbGhzADseX193Ymdfc2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzADsRamlfbmV3X3R5cGVzY3JpcHQANxNjZnNpX25ld190eXBlc2NyaXB0ADcTcHNobF9uZXdfdHlwZXNjcmlwdAA3E3BzaGhfbmV3X3R5cGVzY3JpcHQANxNwb3BsX25ld190eXBlc2NyaXB0ADcTcG9waF9uZXdfdHlwZXNjcmlwdAA3E3dxb3BfbmV3X3R5cGVzY3JpcHQAwAETd2Rkdl9uZXdfdHlwZXNjcmlwdADAARN3ZG1sX25ld190eXBlc2NyaXB0AMABE3dxY21fbmV3X3R5cGVzY3JpcHQAwAETd3Fkdl9uZXdfdHlwZXNjcmlwdADAAQ53cWR2X2Zyb21fYXJncwC/ARN3ZG9wX25ld190eXBlc2NyaXB0AMABDndxbWxfZnJvbV9hcmdzAB4Td3FtbF9uZXdfdHlwZXNjcmlwdADAARBfX3diZ19yZWdpZF9mcmVlANcBEF9fd2JnX2ltbTI0X2ZyZWUA2QEOX193YmdfbXVsX2ZyZWUAuAEPX193Ymdfam5lYl9mcmVlALgBDl9fd2JnX21jbF9mcmVlALgBDV9fd2JnX2xiX2ZyZWUAuAEKcHNobF9pbW0yNAAnD19fd2JnX3BzaGxfZnJlZQC4AQ9fX3diZ19tdWxpX2ZyZWUAuAEPX193YmdfZXhwaV9mcmVlALgBD19fd2JnX3dkbWRfZnJlZQC4AQ5fX3diZ19tb2RfZnJlZQC4AQ1fX3diZ19vcl9mcmVlALgBD19fd2JnX2Nmc2lfZnJlZQC4AQ9fX3diZ194b3JpX2ZyZWUAuAEPX193YmdfbW92aV9mcmVlALgBD19fd2JnX2puZWZfZnJlZQC4AQ9fX3diZ19zcmxpX2ZyZWUAuAEPX193YmdfbWxvZ19mcmVlALgBDV9fd2JnX3N3X2ZyZWUAuAEPX193YmdfbWNsaV9mcmVlALgBD19fd2JnX2NhbGxfZnJlZQC4AQ9fX3diZ19iaHNoX2ZyZWUAuAEPX193YmdfazI1Nl9mcmVlALgBD19fd2JnX2J1cm5fZnJlZQC4AQ9fX3diZ19qbnppX2ZyZWUAuAEPX193YmdfZWQxOV9mcmVlALgBD19fd2JnX3dkYW1fZnJlZQC4AQ9fX3diZ19hbmRpX2ZyZWUAuAENX193Ymdfc2JfZnJlZQC4AQpwb3BsX2ltbTI0ACcPX193YmdfcG9wbF9mcmVlALgBDl9fd2JnX3Nyd19mcmVlALgBD19fd2JnX3dxbW1fZnJlZQC4AQ9fX3diZ193ZGR2X2ZyZWUAuAEPX193Ymdfam1wYl9mcmVlALgBDl9fd2JnX2puZV9mcmVlALgBBmNmZV9yYQBODl9fd2JnX2NmZV9mcmVlALgBD19fd2JnX2Fsb2NfZnJlZQC4AQ9fX3diZ19zMjU2X2ZyZWUAuAEPX193YmdfbXJvb19mcmVlALgBDV9fd2JnX2x0X2ZyZWUAuAEOX193YmdfZGl2X2ZyZWUAuAEPX193Ymdfd3FvcF9mcmVlALgBDV9fd2JnX3RyX2ZyZWUAuAEPX193YmdfcmV0ZF9mcmVlALgBDV9fd2JnX2x3X2ZyZWUAuAEPX193Ymdfd2RtbV9mcmVlALgBB2ZsYWdfcmEATg9fX3diZ19mbGFnX2ZyZWUAuAENX193YmdfZ3RfZnJlZQC4AQZyZXRfcmEATg5fX3diZ19yZXRfZnJlZQC4AQ1fX3diZ19lcV9mcmVlALgBDl9fd2JnX21lcV9mcmVlALgBHl9fd2JnX2dldF9tdWxhcmdzX2luZGlyZWN0X2xocwA6Dl9fd2JnX3Ntb19mcmVlALgBCGppX2ltbTI0ACcNX193YmdfamlfZnJlZQC4AQ5fX3diZ19zcmxfZnJlZQC4AQ5fX3diZ19zbGxfZnJlZQC4AQ9fX3diZ190aW1lX2ZyZWUAuAEPX193Ymdfc2N3cV9mcmVlALgBD19fd2JnX3dxbWxfZnJlZQC4AQ9fX3diZ19kaXZpX2ZyZWUAuAEOX193YmdfbWNwX2ZyZWUAuAEOX193Ymdfbm90X2ZyZWUAuAEGam1wX3JhAE4OX193Ymdfam1wX2ZyZWUAuAEOX193YmdfYmFsX2ZyZWUAuAEPX193YmdfbG9nZF9mcmVlALgBB2JoZWlfcmEATg9fX3diZ19iaGVpX2ZyZWUAuAEPX193Ymdfam5laV9mcmVlALgBD19fd2JnX2ptcGZfZnJlZQC4AQ9fX3diZ19qbnpmX2ZyZWUAuAEfX193YmdfZ2V0X21hdGhhcmdzX2luZGlyZWN0X3JocwA6D19fd2JnX21vZGlfZnJlZQC4AQ5fX3diZ19vcmlfZnJlZQC4AQ9fX3diZ19lY2sxX2ZyZWUAuAEPX193YmdfZWNhbF9mcmVlALgBD19fd2JnX3Nyd3FfZnJlZQC4AQ5fX3diZ194b3JfZnJlZQC4AQ9fX3diZ19jc2l6X2ZyZWUAuAEPX193YmdfbWludF9mcmVlALgBBmNmc19yYQBODl9fd2JnX2Nmc19mcmVlALgBD19fd2JnX3NsbGlfZnJlZQC4AQ5fX3diZ19sb2dfZnJlZQC4AQ9fX3diZ19tb3ZlX2ZyZWUAuAEOX193YmdfbGRjX2ZyZWUAuAEPX193Ymdfd2RtbF9mcmVlALgBDV9fd2JnX2dtX2ZyZWUAuAEPX193Ymdfd2RjbV9mcmVlALgBD19fd2JnX3N1YmlfZnJlZQC4AQ5fX3diZ190cm9fZnJlZQC4AQ5fX3diZ19ndGZfZnJlZQC4AQdydnJ0X3JhAE4PX193YmdfcnZydF9mcmVlALgBDl9fd2JnX2V4cF9mcmVlALgBD19fd2JnX3dxYW1fZnJlZQC4AQ9fX3diZ193cWR2X2ZyZWUAuAEKcHNoaF9pbW0yNAAnD19fd2JnX3BzaGhfZnJlZQC4AQ9fX3diZ19hZGRpX2ZyZWUAuAEPX193Ymdfd3FtZF9mcmVlALgBD19fd2JnX2VjcjFfZnJlZQC4AQ9fX3diZ19jcm9vX2ZyZWUAuAEKY2ZzaV9pbW0yNAAnD19fd2JnX2NmZWlfZnJlZQC4AQ9fX3diZ19tY3BpX2ZyZWUAuAEPX193Ymdfd2RvcF9mcmVlALgBDl9fd2JnX3N1Yl9mcmVlALgBD19fd2JnX2puemJfZnJlZQC4AQVjYl9yYQBODV9fd2JnX2NiX2ZyZWUAuAEOX193Ymdfc3d3X2ZyZWUAuAEPX193Ymdfc3d3cV9mcmVlALgBD19fd2JnX21sZHZfZnJlZQC4AQ5fX3diZ19jY3BfZnJlZQC4AQ9fX3diZ193cWNtX2ZyZWUAuAEKcG9waF9pbW0yNAAnD19fd2JnX3BvcGhfZnJlZQC4AQ5fX3diZ19hbmRfZnJlZQC4AQpqbXBmX2ltbTE4AAkKam56aV9pbW0xOAAJCm1vdmlfaW1tMTgACQpqbXBiX2ltbTE4AAkKbWNsaV9pbW0xOAAJE2puZWJfbmV3X3R5cGVzY3JpcHQATQp3cWR2X2ltbTA2ABcKd3FtbF9pbW0wNgAXCndkbWxfaW1tMDYAFwp3cW9wX2ltbTA2ABcKd2RvcF9pbW0wNgAXCndxY21faW1tMDYAFwp3ZGR2X2ltbTA2ABcKd2RjbV9pbW0wNgAXCmpuZWZfaW1tMDYAFwZtdWxfcmMADwZtdWxfcmIACwZtdWxfcmEAFgZtY2xfcmIACwZtY2xfcmEAFgdtdWxpX3JiAAsHbXVsaV9yYQAWCm11bGlfaW1tMTIADAdqbmViX3JiAAsHam5lYl9yYQAWB3dkbWRfcmMADwd3ZG1kX3JiAAsHd2RtZF9yYQAWBm1vZF9yYwAPBm1vZF9yYgALBm1vZF9yYQAWBW9yX3JjAA8Fb3JfcmIACwVvcl9yYQAWCmV4cGlfaW1tMTIADAdleHBpX3JiAAsHZXhwaV9yYQAWCnhvcmlfaW1tMTIADAd4b3JpX3JiAAsHeG9yaV9yYQAWB21vdmlfcmEAFgdqbmVmX3JjAA8Ham5lZl9yYgALB2puZWZfcmEAFgpzcmxpX2ltbTEyAAwHc3JsaV9yYgALB3NybGlfcmEAFgdtbG9nX3JjAA8HbWxvZ19yYgALB21sb2dfcmEAFghzd19pbW0xMgAMBXN3X3JiAAsFc3dfcmEAFgdtY2xpX3JhABYHd2RtZF9yZAAXB2puZWJfcmMADwdjYWxsX3JiAAsHY2FsbF9yYQAWB2Joc2hfcmIACwdiaHNoX3JhABYHazI1Nl9yYwAPB2syNTZfcmIACwdrMjU2X3JhABYHYnVybl9yYgALB2J1cm5fcmEAFgdqbnppX3JhABYHZWQxOV9yYwAPB2VkMTlfcmIACwdlZDE5X3JhABYHd2RhbV9yZAAXB3dkYW1fcmMADwd3ZGFtX3JiAAsHd2RhbV9yYQAWCHNiX2ltbTEyAAwFc2JfcmIACwVzYl9yYQAWBnNyd19yYwAPBnNyd19yYgALBnNyd19yYQAWB3dxbW1fcmQAFwd3cW1tX3JjAA8Hd3FtbV9yYgALB3dxbW1fcmEAFgd3ZGR2X3JjAA8Hd2Rkdl9yYgALB3dkZHZfcmEAFgdqbXBiX3JhABYGam5lX3JjAA8Gam5lX3JiAAsGam5lX3JhABYHY2FsbF9yYwAPB2FuZGlfcmIACwdhbmRpX3JhABYHczI1Nl9yYwAPB3MyNTZfcmIACwdzMjU2X3JhABYHbXJvb19yYwAPB21yb29fcmIACwdtcm9vX3JhABYFbHRfcmMADwVsdF9yYgALBWx0X3JhABYGZGl2X3JjAA8GZGl2X3JiAAsGZGl2X3JhABYHd3FvcF9yYwAPB3dxb3BfcmIACwd3cW9wX3JhABYIbGJfaW1tMTIADAVsYl9yYgALBWxiX3JhABYFdHJfcmMADwV0cl9yYgALBXRyX3JhABYHcmV0ZF9yYgALB3JldGRfcmEAFghsd19pbW0xMgAMBWx3X3JiAAsFbHdfcmEAFgd3ZG1tX3JkABcHd2RtbV9yYwAPB3dkbW1fcmIACwd3ZG1tX3JhABYFZ3RfcmMADwVndF9yYgALBWd0X3JhABYFZXFfcmMADwVlcV9yYgALBWVxX3JhABYGbWVxX3JkABcGbWVxX3JjAA8GbWVxX3JiAAsGbWVxX3JhABYGc21vX3JkABcGc21vX3JjAA8Gc21vX3JiAAsGc21vX3JhABYGc3JsX3JjAA8Gc3JsX3JiAAsGc3JsX3JhABYGc2xsX3JjAA8Gc2xsX3JiAAsGc2xsX3JhABYHdGltZV9yYgALB3RpbWVfcmEAFgdzY3dxX3JjAA8Hc2N3cV9yYgALB3Njd3FfcmEAFgd3cW1sX3JjAA8Hd3FtbF9yYgALB3dxbWxfcmEAFgpkaXZpX2ltbTEyAAwHZGl2aV9yYgALB2RpdmlfcmEAFgZtY3BfcmMADwZtY3BfcmIACwZtY3BfcmEAFgZub3RfcmIACwZub3RfcmEAFgZiYWxfcmMADwZiYWxfcmIACwZiYWxfcmEAFgdsb2dkX3JkABcHbG9nZF9yYwAPB2xvZ2RfcmIACwdsb2dkX3JhABYKam5laV9pbW0xMgAMB2puZWlfcmIACwdqbmVpX3JhABYHam1wZl9yYQAWCmpuemZfaW1tMTIADAdqbnpmX3JiAAsHam56Zl9yYQAWE19fd2JnX21hdGhhcmdzX2ZyZWUAdwptb2RpX2ltbTEyAAwHbW9kaV9yYgALB21vZGlfcmEAFglvcmlfaW1tMTIADAZvcmlfcmIACwZvcmlfcmEAFgdlY2sxX3JjAA8HZWNrMV9yYgALB2VjazFfcmEAFgdlY2FsX3JkABcHZWNhbF9yYwAPB2VjYWxfcmIACwdlY2FsX3JhABYHc3J3cV9yZAAXB3Nyd3FfcmMADwdzcndxX3JiAAsHc3J3cV9yYQAWBnhvcl9yYwAPBnhvcl9yYgALBnhvcl9yYQAWB2NzaXpfcmIACwdjc2l6X3JhABYHbWludF9yYgALB21pbnRfcmEAFgpzbGxpX2ltbTEyAAwHc2xsaV9yYgALB3NsbGlfcmEAFgZsb2dfcmQAFwZsb2dfcmMADwZsb2dfcmIACwZsb2dfcmEAFgdtb3ZlX3JiAAsHbW92ZV9yYQAWBmxkY19yYwAPBmxkY19yYgALBmxkY19yYQAWB3dkbWxfcmMADwd3ZG1sX3JiAAsHd2RtbF9yYQAWBWdtX3JhABYHd2RjbV9yYwAPB3dkY21fcmIACwd3ZGNtX3JhABYKc3ViaV9pbW0xMgAMB3N1YmlfcmIACwdzdWJpX3JhABYGdHJvX3JkABcGdHJvX3JjAA8GdHJvX3JiAAsGdHJvX3JhABYJZ3RmX2ltbTEyAAwGZ3RmX3JiAAsGZ3RmX3JhABYGZXhwX3JjAA8GZXhwX3JiAAsGZXhwX3JhABYHd3FhbV9yZAAXB3dxYW1fcmMADwd3cWFtX3JiAAsHd3FhbV9yYQAWB3dxZHZfcmMADwd3cWR2X3JiAAsHd3Fkdl9yYQAWCmFuZGlfaW1tMTIADAdhZGRpX3JiAAsHYWRkaV9yYQAWB3dxbWRfcmQAFwd3cW1kX3JjAA8Hd3FtZF9yYgALB3dxbWRfcmEAFgdlY3IxX3JjAA8HZWNyMV9yYgALB2VjcjFfcmEAFgdjcm9vX3JiAAsHY3Jvb19yYQAWCm1jcGlfaW1tMTIADAdtY3BpX3JiAAsHbWNwaV9yYQAWB3dkb3BfcmMADwd3ZG9wX3JiAAsHd2RvcF9yYQAWBnN1Yl9yYwAPBnN1Yl9yYgALBnN1Yl9yYQAWCmpuemJfaW1tMTIADAdqbnpiX3JiAAsHam56Yl9yYQAWBnN3d19yYwAPBnN3d19yYgALBnN3d19yYQAWB3N3d3FfcmQAFwdzd3dxX3JjAA8Hc3d3cV9yYgALB3N3d3FfcmEAFgdtbGR2X3JkABcHbWxkdl9yYwAPB21sZHZfcmIACwdtbGR2X3JhABYGY2NwX3JkABcGY2NwX3JjAA8GY2NwX3JiAAsGY2NwX3Jh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QYDgA3FyQQx2ELwBIAFBEGokAAtuAQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggiAC8AACAAQQJqLQAAQRB0chDVASEAIAEoAgwiAiACKAIAQQFrNgIAQQhBBBC6ASICIABBCHZBgB5xIABBGHZyOwEEIAJBADYCACABQRBqJAAgAgttAQF/IwBBMGsiASQAIAEgADoADyAAQf8BcUHAAE8EQCABQRxqQgE3AgAgAUECNgIUIAFB9IDAADYCECABQQI2AiwgASABQShqNgIYIAEgAUEPajYCKCABQRBqQYSBwAAQSQALIAFBMGokACAAC24BAX8jAEEwayIBJAAgASAAOwEOIABB//8DcUGAIE8EQCABQRxqQgE3AgAgAUECNgIUIAFBuIHAADYCECABQQM2AiwgASABQShqNgIYIAEgAUEOajYCKCABQRBqQciBwAAQSQALIAFBMGokACAAC10BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDVASIAQR52IABBDnZBPHFyELwBIAFBEGokAAsVACAAQYyCwABB/IHAAEGAgBAQ8gELFgAgAEHQgsAAQcCCwABBgICACBDyAQtMACADQf8BcSABQf8BcUEMdCAAQf8BcUESdHIiACACQf8BcUEGdHJyIgFBEHRBgID8B3EgAEEIdkGA/gNxIAFBgP4DcUEIdHJBCHZyC1UCAX8BfiMAQRBrIgIkACABEMQBIAJBCGogARBUIAIoAgxBADYCACABKQIAIQMgARAEIAAgA0IoiKdBAXE6AAEgACADQiCIp0EBcToAACACQRBqJAALEAAgACABIAIgA0HiABD0AQsQACAAIAEgAiADQeMAEPQBC08BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDIARC8ASABQRBqJAALVQEDfyMAQRBrIgEkACABQQhqIAAQSiABKAIIIgBBAmotAAAhAiAALwAAIAEoAgwiAyADKAIAQQFrNgIAIAJBEHRyENUBQRh2QT9xELwBIAFBEGokAAtSAQF/IAAQUSECIAEQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgACACQf8BcUESdHIiAEGA/gNxQQh0IABBCHZBgP4DcXJBCHZyrUIghjcCACABCxAAIAAgASACIANB3gAQ9QELEAAgACABIAIgA0HfABD1AQsQACAAIAEgAiADQeAAEPUBCxAAIAAgASACIANB4QAQ9QELUQIBfwF+IwBBEGsiAiQAIAEQxAEgAkEIaiABEFQgAigCDEEANgIAIAEpAgAhAyABEAQgACADQiiIPAABIAAgA0IgiKdBAXE6AAAgAkEQaiQACz4BAX8jAEEQayIEJAAgABBRIAEQUSACEFEgBEEIaiADEBMgBC0ACEEBcSAELQAJQQFxEHoQrAEgBEEQaiQAC0kBAX8gABBRIQAgARBRIQFBCEEEELoBIgIgAUH/AXFBDHQgAEESdHIiAEGA4ANxQQh0IABBCHZBgP4DcXJBCHatQiCGNwIAIAILDAAgACABQcsAEPYBCwwAIAAgAUHMABD2AQsMACAAIAFBzQAQ9gELDAAgACABQc4AEPYBCwwAIAAgAUHPABD2AQsMACAAIAFB0AAQ9gELPAEBfyMAQRBrIgQkACAAEFEgARBRIAIQUSAEQQhqIAMQHSAELQAIQQFxIAQtAAkQvgEQrAEgBEEQaiQAC0gAIAAQxAEgACgCAEF/RgRAEM4BAAsgAC8ABCAAQQZqLQAAQRB0chDVASIAQYD+A3FBCHQgAEEIdkGA/gNxIABBGHZychC7AQsLACAAIAFBBxD3AQs/AQJ/AkAgABBRIgBBGHENACAAQQdxIgJBB0YNAEEIQQQQugEiASAAQQV2QQFxrUIghiACrUIohoQ3AgALIAELCwAgACABQQgQ9wELPwAgAkEWdEGAgIAGcSABQf8BcUEMdCIBIAJB/AFxQQZ0ckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCwsAIAAgAUEKEPgBCwsAIAAgAUEMEPgBCwsAIAAgAUEUEPgBCwsAIAAgAUEWEPgBCwsAIAAgAUEZEPgBCwsAIAAgAUEbEPgBCwsAIAAgAUEeEPgBCwsAIAAgAUEfEPgBCwsAIAAgAUEkEPgBCwsAIAAgAUEyEPgBCz8AIAAQUSEAIAEQUyIBQRB0QYCA/AdxIABB/wFxQRJ0IAFyIgBBgP4DcUEIdCAAQQh2QYD+A3FyQQh2chCsAQtAAQF/IAAQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgAEEIdkGA/gNxIABBgP4DcUEIdHJBCHZyrUIghjcCACABCzgAIAJBEHRBgID8B3EgAUH/AXFBDHQiASACckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCzwBAn8jAEEQayIBJAAgABDEASABQQhqIAAQSyABKAIILQABIAEoAgwiAiACKAIAQQFrNgIAIAFBEGokAAs8AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEEsgASgCCC0AACABKAIMIgIgAigCAEEBazYCACABQRBqJAALOQEBfyMAQRBrIgIkACAAEMQBIAJBCGogABBUIAIoAgwgAigCCCABQQBHOgAAQQA2AgAgAkEQaiQACzkBAX8jAEEQayICJAAgABDEASACQQhqIAAQVCACKAIMIAIoAgggAUEARzoAAUEANgIAIAJBEGokAAs4AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEFQgASgCDEEANgIAIAAtAAQgABAEIAFBEGokAEEBcQs3AQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggtAAQgASgCDCICIAIoAgBBAWs2AgAgAUEQaiQACzcBAn8jAEEQayIBJAAgAUEIaiAAEEogASgCCCgCACABKAIMIgIgAigCAEEBazYCACABQRBqJAALCgAgAEHVABD5AQsKACAAQdYAEPkBCwoAIABB1wAQ+QELCgAgAEHaABD5AQsKACAAQdsAEPkBCwoAIABB3AAQ+QELCgAgAEHdABD5AQs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAwANARoLIAMNAUEACw8LIAAgA0EAIAEoAgwRAAALMQEBfyMAQRBrIgEkACABQQhqIAAQHSABLQAJIAEtAAhBBXRBIHFyELwBIAFBEGokAAuhAgEBfyMAQSBrIgIkACACQQE7ARwgAiABNgIYIAIgADYCFCACQbiGwAA2AhAgAkHoiMAANgIMIAJBDGoiACgCCCIBRQRAIwBBIGsiACQAIABBDGpCADcCACAAQQE2AgQgAEHoiMAANgIIIABBKzYCHCAAQZCIwAA2AhggACAAQRhqNgIAIABB2IjAABBJAAsgAUEMaigCACECAkACQCABKAIEDgIAAAELIAINAAsgAC0AECEBIAAtABEaQdiJwABB2InAACgCACIAQQFqNgIAAkAgAEEASA0AQaSNwAAtAABBAXENAEGkjcAAQQE6AABBoI3AAEGgjcAAKAIAQQFqNgIAQdSJwAAoAgBBAEgNAEGkjcAAQQA6AAAgAUUNAAALAAs1AQF/IAEQxAEgASgCACICQX9GBEAQzgEACyABIAJBAWo2AgAgACABNgIEIAAgAUEEajYCAAsxAQF/IAEoAgAiAkF/RwRAIAEgAkEBajYCACAAIAE2AgQgACABQQRqNgIADwsQzgEACzUBAX8gAEE2TwRAQeCCwABBGRDSAQALQQxBBBC6ASICIAA6AAggAiABNgIEIAJBADYCACACCzAAIAAQUSABEFEgAhBRIAMQURASIQBBCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQstACAAEMQBIAAoAgBBf0YEQBDOAQALIAAvAAQgAEEGai0AAEEQdHIQyAEQvAELLAAgABBRIAEQUSACEFEQKyEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELLAAgABBRIAEQUSACEFIQOCEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELJQEBfwJAIAAEQCAAKAIADQEgAC0ABCAAEAQPCxDNAQALEM4BAAslAQF/AkAgAARAIAAoAgANASAALwEEIAAQBA8LEM0BAAsQzgEACyUBAX8CQCAABEAgACgCAA0BIAAoAgQgABAEDwsQzQEACxDOAQALKAAgASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEEajYCAA8LEM4BAAspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeQAchDFARC7AQspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeUAchDFARC7AQslAQF/IAAQUSEAQQhBBBC6ASIBIABBAnRB/AFxrUIghjcCACABCyAAIABBAWsiAEEFTQRAIABBAWoPC0HggsAAQRkQ0gEACyABAX8gABDEASAAKAIABEAQzgEACyAAKAIEIAAQBBAECyMAIAIQBSECIAAQvQEgARC9ASACEDhBCHRBygByEMUBELsBCx4AAkAgAARAIAAoAgANASAAEAQPCxDNAQALEM4BAAsPACAAIAEgAiADQRIQ7gELDwAgACABIAIgA0EYEO4BCw8AIAAgASACIANBHBDuAQsPACAAIAEgAiADQR0Q7gELDwAgACABIAIgA0EiEO4BCw8AIAAgASACIANBIxDuAQsPACAAIAEgAiADQSgQ7gELDwAgACABIAIgA0EqEO4BCw8AIAAgASACIANBLBDuAQsPACAAIAEgAiADQTgQ7gELEAAgACABIAIgA0HTABDvAQsQACAAIAEgAiADQdQAEO8BCxAAIAAgASACIANB3gAQ7wELEAAgACABIAIgA0HfABDvAQsQACAAIAEgAiADQeAAEO8BCxAAIAAgASACIANB4QAQ7wELEAAgACABIAIgA0HiABDvAQsQACAAIAEgAiADQeMAEO8BCxAAIAAgASACIANB5AAQ7wELEAAgACABIAIgA0HlABDvAQsQACAAIAEgAiADQeYAEO4BCxAAIAAgASACIANB5wAQ7gELEAAgACABIAIgA0HoABDuAQsQACAAIAEgAiADQekAEO4BCxAAIAAgASACIANB6gAQ7gELEAAgACABIAIgA0HrABDuAQsQACAAIAEgAiADQewAEO4BCx0BAX8jAEEQayIBJAAgAUEIaiAAEB0gAUEQaiQACx0BAX8jAEEQayIBJAAgAUEIaiAAEBMgAUEQaiQACx8AIAEQWCEBIAAQvQEgARC3AUEIdEHMAHIQxQEQuwELGQAgACABIAJBIEEAIAQbQRBBACADG3IQEgsNACAAIAEgAkEBEPABCw0AIAAgASACQQIQ8AELDQAgACABIAJBAxDwAQsNACAAIAEgAkEEEPABCw0AIAAgASACQQUQ8AELDQAgACABIAJBBhDwAQsNACAAIAEgAkEHEPABCw0AIAAgASACQQgQ8AELDQAgACABIAJBCRDwAQsNACAAIAEgAkELEPABCw0AIAAgASACQQ0Q8AELDQAgACABIAJBDhDwAQsNACAAIAEgAkEPEPABCw0AIAAgASACQRAQ8AELDQAgACABIAJBERDwAQsNACAAIAEgAkEXEPABCw0AIAAgASACQSEQ8AELDQAgACABIAJBJhDwAQsNACAAIAEgAkEnEPABCw0AIAAgASACQSkQ8AELDQAgACABIAJBKxDwAQsNACAAIAEgAkEtEPABCw0AIAAgASACQS4Q8AELDQAgACABIAJBLxDwAQsNACAAIAEgAkEwEPABCw0AIAAgASACQTEQ8AELDQAgACABIAJBNRDwAQsNACAAIAEgAkE3EPABCw0AIAAgASACQTkQ8QELDQAgACABIAJBOhDxAQsNACAAIAEgAkE7EPEBCw0AIAAgASACQTwQ8QELDQAgACABIAJBPRDxAQsNACAAIAEgAkE+EPEBCw0AIAAgASACQT8Q8QELDgAgACABIAJBwAAQ8QELDgAgACABIAJBwQAQ8QELDgAgACABIAJBwgAQ8QELDgAgACABIAJBwwAQ8QELDgAgACABIAJBxAAQ8QELDgAgACABIAJBxQAQ8QELDgAgACABIAJBxgAQ8QELDgAgACABIAJBxwAQ8QELDgAgACABIAJByAAQ8QELDgAgACABIAJByQAQ8QELDgAgACABIAJBygAQ8QELDgAgACABIAJB0QAQ8QELDgAgACABIAJB0gAQ8QELGAEBfyAAQf8BcUE/TQR/IAAQvAEFQQALCx4BAX9BCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQsbACAAEMQBIAAoAgBBf0YEQBDOAQALIAAtAAQLCQAgAEETEPMBCwkAIABBFRDzAQsJACAAQRoQ8wELCQAgAEEgEPMBCwkAIABBJRDzAQsJACAAQTQQ8wELCQAgAEE2EPMBCwoAIABB2AAQ8wELCgAgAEHZABDzAQsXACABQRB0QYCA/AdxIABBAnRB/AFxcgsXACAAEMQBIAAoAgAEQBDOAQALIAAQBAscACAAEL0BIAEQvQEgAhC9ARArQQh0EMUBELsBCxIAIAEgABDHASIABEAgAA8LAAsbAQF/QQhBBBC6ASIBIAA2AgQgAUEANgIAIAELGwEBf0EIQQQQugEiASAAOgAEIAFBADYCACABC24AIABB/wFxQcAATwRAIwBBMGsiACQAIABBIjYCDCAAQYCAwAA2AgggAEEcakIBNwIAIABBATYCFCAAQbCGwAA2AhAgAEEBNgIsIAAgAEEoajYCGCAAIABBCGo2AiggAEEQakG4gMAAEEkACyAACxQAIAAgASACQSBBACADGyAEchASCxgAIAAQUSABEFEgAhBRIAMQPRDCARCsAQsXACAAEFEgARBRIAIQUSADEFEQEhCsAQsTACAAEFEgARBRIAIQBRA4EKwBCxEAIAAgASACQSBBACADGxASCxMAIAAQUSABEFEgAhBSEDgQrAELDAAgAARADwsQzQEACxQBAX9BBEEBELoBIgEgADYAACABCxQBAX9BCEEEELoBIgBCADcC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", imports);
|
28387
28387
|
}
|
28388
28388
|
async function initWasm2() {
|
28389
28389
|
return await __wbg_init(wasm());
|
@@ -29470,9 +29470,9 @@ spurious results.`);
|
|
29470
29470
|
// ../versions/dist/index.mjs
|
29471
29471
|
function getBuiltinVersions() {
|
29472
29472
|
return {
|
29473
|
-
FORC: "0.
|
29474
|
-
FUEL_CORE: "0.
|
29475
|
-
FUELS: "0.
|
29473
|
+
FORC: "0.60.0",
|
29474
|
+
FUEL_CORE: "0.27.0",
|
29475
|
+
FUELS: "0.89.1"
|
29476
29476
|
};
|
29477
29477
|
}
|
29478
29478
|
function parseVersion(version) {
|
@@ -29894,7 +29894,10 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
29894
29894
|
}
|
29895
29895
|
return result;
|
29896
29896
|
}
|
29897
|
-
|
29897
|
+
const nameMessage = name ? ` ${name} -` : "";
|
29898
|
+
const message = `invalid data:${nameMessage} ${value}
|
29899
|
+
If you are attempting to transform a hex value, please make sure it is being passed as a string and wrapped in quotes.`;
|
29900
|
+
throw new FuelError(ErrorCode.INVALID_DATA, message);
|
29898
29901
|
};
|
29899
29902
|
var concatBytes2 = (arrays) => {
|
29900
29903
|
const byteArrays = arrays.map((array) => {
|
@@ -31179,7 +31182,7 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
31179
31182
|
constructor(name, coders) {
|
31180
31183
|
const caseIndexCoder = new BigNumberCoder("u64");
|
31181
31184
|
const encodedValueSize = Object.values(coders).reduce(
|
31182
|
-
(
|
31185
|
+
(min, coder) => Math.min(min, coder.encodedLength),
|
31183
31186
|
0
|
31184
31187
|
);
|
31185
31188
|
super(`enum ${name}`, `enum ${name}`, caseIndexCoder.encodedLength + encodedValueSize);
|
@@ -31216,7 +31219,7 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
31216
31219
|
return [caseKey, newOffset];
|
31217
31220
|
}
|
31218
31221
|
decode(data, offset) {
|
31219
|
-
if (this.#shouldValidateLength && data.length < this
|
31222
|
+
if (this.#shouldValidateLength && data.length < this.encodedLength) {
|
31220
31223
|
throw new FuelError(ErrorCode.DECODE_ERROR, `Invalid enum data size.`);
|
31221
31224
|
}
|
31222
31225
|
const caseBytes = new BigNumberCoder("u64").decode(data, offset)[0];
|
@@ -31229,7 +31232,10 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
31229
31232
|
);
|
31230
31233
|
}
|
31231
31234
|
const valueCoder = this.coders[caseKey];
|
31232
|
-
const offsetAndCase = offset +
|
31235
|
+
const offsetAndCase = offset + this.#caseIndexCoder.encodedLength;
|
31236
|
+
if (this.#shouldValidateLength && data.length < offsetAndCase + valueCoder.encodedLength) {
|
31237
|
+
throw new FuelError(ErrorCode.DECODE_ERROR, `Invalid enum data size.`);
|
31238
|
+
}
|
31233
31239
|
const [decoded, newOffset] = valueCoder.decode(data, offsetAndCase);
|
31234
31240
|
if (isFullyNativeEnum(this.coders)) {
|
31235
31241
|
return this.#decodeNativeEnum(caseKey, newOffset);
|
@@ -31573,14 +31579,20 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
31573
31579
|
constructor(abi, argument) {
|
31574
31580
|
this.abi = abi;
|
31575
31581
|
this.name = argument.name;
|
31576
|
-
const
|
31577
|
-
|
31582
|
+
const jsonABIType = findTypeById(abi, argument.type);
|
31583
|
+
if (jsonABIType.type.length > 256) {
|
31584
|
+
throw new FuelError(
|
31585
|
+
ErrorCode.INVALID_COMPONENT,
|
31586
|
+
`The provided ABI type is too long: ${jsonABIType.type}.`
|
31587
|
+
);
|
31588
|
+
}
|
31589
|
+
this.type = jsonABIType.type;
|
31578
31590
|
this.originalTypeArguments = argument.typeArguments;
|
31579
31591
|
this.components = ResolvedAbiType.getResolvedGenericComponents(
|
31580
31592
|
abi,
|
31581
31593
|
argument,
|
31582
|
-
|
31583
|
-
|
31594
|
+
jsonABIType.components,
|
31595
|
+
jsonABIType.typeParameters ?? ResolvedAbiType.getImplicitGenericTypeParameters(abi, jsonABIType.components)
|
31584
31596
|
);
|
31585
31597
|
}
|
31586
31598
|
static getResolvedGenericComponents(abi, arg, components, typeParameters) {
|
@@ -33076,10 +33088,10 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
33076
33088
|
encode(value) {
|
33077
33089
|
const parts = [];
|
33078
33090
|
parts.push(new UpgradePurposeCoder().encode(value.upgradePurpose));
|
33079
|
-
parts.push(new NumberCoder("u32").encode(value.policyTypes));
|
33080
|
-
parts.push(new NumberCoder("u16").encode(value.inputsCount));
|
33081
|
-
parts.push(new NumberCoder("u16").encode(value.outputsCount));
|
33082
|
-
parts.push(new NumberCoder("u16").encode(value.witnessesCount));
|
33091
|
+
parts.push(new NumberCoder("u32", { padToWordSize: true }).encode(value.policyTypes));
|
33092
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.inputsCount));
|
33093
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.outputsCount));
|
33094
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessesCount));
|
33083
33095
|
parts.push(new PoliciesCoder().encode(value.policies));
|
33084
33096
|
parts.push(new ArrayCoder(new InputCoder(), value.inputsCount).encode(value.inputs));
|
33085
33097
|
parts.push(new ArrayCoder(new OutputCoder(), value.outputsCount).encode(value.outputs));
|
@@ -33091,13 +33103,13 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
33091
33103
|
let o = offset;
|
33092
33104
|
[decoded, o] = new UpgradePurposeCoder().decode(data, o);
|
33093
33105
|
const upgradePurpose = decoded;
|
33094
|
-
[decoded, o] = new NumberCoder("u32").decode(data, o);
|
33106
|
+
[decoded, o] = new NumberCoder("u32", { padToWordSize: true }).decode(data, o);
|
33095
33107
|
const policyTypes = decoded;
|
33096
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33108
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33097
33109
|
const inputsCount = decoded;
|
33098
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33110
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33099
33111
|
const outputsCount = decoded;
|
33100
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33112
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33101
33113
|
const witnessesCount = decoded;
|
33102
33114
|
[decoded, o] = new PoliciesCoder().decode(data, o, policyTypes);
|
33103
33115
|
const policies = decoded;
|
@@ -33131,14 +33143,14 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
33131
33143
|
encode(value) {
|
33132
33144
|
const parts = [];
|
33133
33145
|
parts.push(new B256Coder().encode(value.root));
|
33134
|
-
parts.push(new NumberCoder("u16").encode(value.witnessIndex));
|
33135
|
-
parts.push(new NumberCoder("u16").encode(value.subsectionIndex));
|
33136
|
-
parts.push(new NumberCoder("u16").encode(value.subsectionsNumber));
|
33137
|
-
parts.push(new NumberCoder("u16").encode(value.proofSetCount));
|
33138
|
-
parts.push(new NumberCoder("u32").encode(value.policyTypes));
|
33139
|
-
parts.push(new NumberCoder("u16").encode(value.inputsCount));
|
33140
|
-
parts.push(new NumberCoder("u16").encode(value.outputsCount));
|
33141
|
-
parts.push(new NumberCoder("u16").encode(value.witnessesCount));
|
33146
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessIndex));
|
33147
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.subsectionIndex));
|
33148
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.subsectionsNumber));
|
33149
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.proofSetCount));
|
33150
|
+
parts.push(new NumberCoder("u32", { padToWordSize: true }).encode(value.policyTypes));
|
33151
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.inputsCount));
|
33152
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.outputsCount));
|
33153
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessesCount));
|
33142
33154
|
parts.push(new ArrayCoder(new B256Coder(), value.proofSetCount).encode(value.proofSet));
|
33143
33155
|
parts.push(new PoliciesCoder().encode(value.policies));
|
33144
33156
|
parts.push(new ArrayCoder(new InputCoder(), value.inputsCount).encode(value.inputs));
|
@@ -33151,21 +33163,21 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
33151
33163
|
let o = offset;
|
33152
33164
|
[decoded, o] = new B256Coder().decode(data, o);
|
33153
33165
|
const root = decoded;
|
33154
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33166
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33155
33167
|
const witnessIndex = decoded;
|
33156
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33168
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33157
33169
|
const subsectionIndex = decoded;
|
33158
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33170
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33159
33171
|
const subsectionsNumber = decoded;
|
33160
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33172
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33161
33173
|
const proofSetCount = decoded;
|
33162
|
-
[decoded, o] = new NumberCoder("u32").decode(data, o);
|
33174
|
+
[decoded, o] = new NumberCoder("u32", { padToWordSize: true }).decode(data, o);
|
33163
33175
|
const policyTypes = decoded;
|
33164
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33176
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33165
33177
|
const inputsCount = decoded;
|
33166
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33178
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33167
33179
|
const outputsCount = decoded;
|
33168
|
-
[decoded, o] = new NumberCoder("u16").decode(data, o);
|
33180
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33169
33181
|
const witnessesCount = decoded;
|
33170
33182
|
[decoded, o] = new ArrayCoder(new B256Coder(), proofSetCount).decode(data, o);
|
33171
33183
|
const proofSet = decoded;
|
@@ -38706,7 +38718,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38706
38718
|
* @param coin - Coin resource.
|
38707
38719
|
*/
|
38708
38720
|
addCoinInput(coin) {
|
38709
|
-
const { assetId, owner, amount, id, predicate } = coin;
|
38721
|
+
const { assetId, owner, amount, id, predicate, predicateData } = coin;
|
38710
38722
|
let witnessIndex;
|
38711
38723
|
if (coin.predicate) {
|
38712
38724
|
witnessIndex = 0;
|
@@ -38724,7 +38736,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38724
38736
|
assetId,
|
38725
38737
|
txPointer: "0x00000000000000000000000000000000",
|
38726
38738
|
witnessIndex,
|
38727
|
-
predicate
|
38739
|
+
predicate,
|
38740
|
+
predicateData
|
38728
38741
|
};
|
38729
38742
|
this.pushInput(input);
|
38730
38743
|
this.addChangeOutput(owner, assetId);
|
@@ -38736,7 +38749,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38736
38749
|
* @param message - Message resource.
|
38737
38750
|
*/
|
38738
38751
|
addMessageInput(message) {
|
38739
|
-
const { recipient, sender, amount, predicate, nonce, assetId } = message;
|
38752
|
+
const { recipient, sender, amount, predicate, nonce, assetId, predicateData } = message;
|
38740
38753
|
let witnessIndex;
|
38741
38754
|
if (message.predicate) {
|
38742
38755
|
witnessIndex = 0;
|
@@ -38753,7 +38766,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38753
38766
|
recipient: recipient.toB256(),
|
38754
38767
|
amount,
|
38755
38768
|
witnessIndex,
|
38756
|
-
predicate
|
38769
|
+
predicate,
|
38770
|
+
predicateData
|
38757
38771
|
};
|
38758
38772
|
this.pushInput(input);
|
38759
38773
|
this.addChangeOutput(recipient, assetId);
|
@@ -38955,23 +38969,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38955
38969
|
});
|
38956
38970
|
}
|
38957
38971
|
updatePredicateGasUsed(inputs) {
|
38958
|
-
|
38959
|
-
|
38960
|
-
|
38961
|
-
|
38962
|
-
|
38963
|
-
|
38964
|
-
case InputType.Message:
|
38965
|
-
correspondingInput = inputs.find(
|
38966
|
-
(x) => x.type === InputType.Message && x.sender === i.sender
|
38967
|
-
);
|
38968
|
-
break;
|
38969
|
-
default:
|
38970
|
-
return;
|
38971
|
-
}
|
38972
|
+
const inputsToExtractGasUsed = inputs.filter(isRequestInputResource);
|
38973
|
+
this.inputs.filter(isRequestInputResource).forEach((i) => {
|
38974
|
+
const owner = getRequestInputResourceOwner(i);
|
38975
|
+
const correspondingInput = inputsToExtractGasUsed.find(
|
38976
|
+
(x) => isRequestInputResourceFromOwner(x, Address.fromString(String(owner)))
|
38977
|
+
);
|
38972
38978
|
if (correspondingInput && "predicateGasUsed" in correspondingInput && bn(correspondingInput.predicateGasUsed).gt(0)) {
|
38973
|
-
i.predicate = correspondingInput.predicate;
|
38974
|
-
i.predicateData = correspondingInput.predicateData;
|
38975
38979
|
i.predicateGasUsed = correspondingInput.predicateGasUsed;
|
38976
38980
|
}
|
38977
38981
|
});
|
@@ -39282,6 +39286,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39282
39286
|
}
|
39283
39287
|
return this.outputs.length - 1;
|
39284
39288
|
}
|
39289
|
+
/**
|
39290
|
+
* Calculates the maximum gas for the transaction.
|
39291
|
+
*
|
39292
|
+
* @param chainInfo - The chain information.
|
39293
|
+
* @param minGas - The minimum gas.
|
39294
|
+
* @returns the maximum gas.
|
39295
|
+
*/
|
39285
39296
|
calculateMaxGas(chainInfo, minGas) {
|
39286
39297
|
const { consensusParameters } = chainInfo;
|
39287
39298
|
const {
|
@@ -39673,13 +39684,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39673
39684
|
}
|
39674
39685
|
function getWithdrawFromFuelOperations({
|
39675
39686
|
inputs,
|
39676
|
-
receipts
|
39687
|
+
receipts,
|
39688
|
+
baseAssetId
|
39677
39689
|
}) {
|
39678
39690
|
const messageOutReceipts = getReceiptsMessageOut(receipts);
|
39679
39691
|
const withdrawFromFuelOperations = messageOutReceipts.reduce(
|
39680
39692
|
(prevWithdrawFromFuelOps, receipt) => {
|
39681
|
-
const
|
39682
|
-
const input = getInputFromAssetId(inputs, assetId);
|
39693
|
+
const input = getInputFromAssetId(inputs, baseAssetId);
|
39683
39694
|
if (input) {
|
39684
39695
|
const inputAddress = getInputAccountAddress(input);
|
39685
39696
|
const newWithdrawFromFuelOps = addOperation(prevWithdrawFromFuelOps, {
|
@@ -39696,7 +39707,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39696
39707
|
assetsSent: [
|
39697
39708
|
{
|
39698
39709
|
amount: receipt.amount,
|
39699
|
-
assetId
|
39710
|
+
assetId: baseAssetId
|
39700
39711
|
}
|
39701
39712
|
]
|
39702
39713
|
});
|
@@ -39892,7 +39903,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39892
39903
|
receipts,
|
39893
39904
|
abiMap,
|
39894
39905
|
rawPayload,
|
39895
|
-
maxInputs
|
39906
|
+
maxInputs,
|
39907
|
+
baseAssetId
|
39896
39908
|
}) {
|
39897
39909
|
if (isTypeCreate(transactionType)) {
|
39898
39910
|
return [
|
@@ -39911,7 +39923,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39911
39923
|
rawPayload,
|
39912
39924
|
maxInputs
|
39913
39925
|
}),
|
39914
|
-
...getWithdrawFromFuelOperations({ inputs, receipts })
|
39926
|
+
...getWithdrawFromFuelOperations({ inputs, receipts, baseAssetId })
|
39915
39927
|
];
|
39916
39928
|
}
|
39917
39929
|
return [...getPayProducerOperations(outputs)];
|
@@ -40044,7 +40056,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40044
40056
|
maxInputs,
|
40045
40057
|
gasCosts,
|
40046
40058
|
maxGasPerTx,
|
40047
|
-
gasPrice
|
40059
|
+
gasPrice,
|
40060
|
+
baseAssetId
|
40048
40061
|
} = params;
|
40049
40062
|
const gasUsed = getGasUsedFromReceipts(receipts);
|
40050
40063
|
const rawPayload = hexlify(transactionBytes);
|
@@ -40055,7 +40068,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40055
40068
|
receipts,
|
40056
40069
|
rawPayload,
|
40057
40070
|
abiMap,
|
40058
|
-
maxInputs
|
40071
|
+
maxInputs,
|
40072
|
+
baseAssetId
|
40059
40073
|
});
|
40060
40074
|
const typeName = getTransactionTypeName(transaction.type);
|
40061
40075
|
const tip = bn(transaction.policies?.find((policy) => policy.type === PolicyType.Tip)?.data);
|
@@ -40213,6 +40227,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40213
40227
|
const { gasPerByte, gasPriceFactor, gasCosts, maxGasPerTx } = this.provider.getGasConfig();
|
40214
40228
|
const gasPrice = await this.provider.getLatestGasPrice();
|
40215
40229
|
const maxInputs = this.provider.getChain().consensusParameters.txParameters.maxInputs;
|
40230
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
40216
40231
|
const transactionSummary = assembleTransactionSummary({
|
40217
40232
|
id: this.id,
|
40218
40233
|
receipts,
|
@@ -40225,7 +40240,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40225
40240
|
maxInputs,
|
40226
40241
|
gasCosts,
|
40227
40242
|
maxGasPerTx,
|
40228
|
-
gasPrice
|
40243
|
+
gasPrice,
|
40244
|
+
baseAssetId
|
40229
40245
|
});
|
40230
40246
|
return transactionSummary;
|
40231
40247
|
}
|
@@ -40413,7 +40429,6 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40413
40429
|
* Constructor to initialize a Provider.
|
40414
40430
|
*
|
40415
40431
|
* @param url - GraphQL endpoint of the Fuel node
|
40416
|
-
* @param chainInfo - Chain info of the Fuel node
|
40417
40432
|
* @param options - Additional options for the provider
|
40418
40433
|
* @hidden
|
40419
40434
|
*/
|
@@ -40436,10 +40451,14 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40436
40451
|
this.operations = this.createOperations();
|
40437
40452
|
this.cache = options.cacheUtxo ? new MemoryCache(options.cacheUtxo) : void 0;
|
40438
40453
|
}
|
40454
|
+
/** @hidden */
|
40439
40455
|
static clearChainAndNodeCaches() {
|
40440
40456
|
_Provider.nodeInfoCache = {};
|
40441
40457
|
_Provider.chainInfoCache = {};
|
40442
40458
|
}
|
40459
|
+
/**
|
40460
|
+
* @hidden
|
40461
|
+
*/
|
40443
40462
|
static getFetchFn(options) {
|
40444
40463
|
const { retryOptions, timeout } = options;
|
40445
40464
|
return autoRetryFetch(async (...args) => {
|
@@ -40455,8 +40474,11 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40455
40474
|
}
|
40456
40475
|
/**
|
40457
40476
|
* Creates a new instance of the Provider class. This is the recommended way to initialize a Provider.
|
40477
|
+
*
|
40458
40478
|
* @param url - GraphQL endpoint of the Fuel node
|
40459
40479
|
* @param options - Additional options for the provider
|
40480
|
+
*
|
40481
|
+
* @returns A promise that resolves to a Provider instance.
|
40460
40482
|
*/
|
40461
40483
|
static async create(url, options = {}) {
|
40462
40484
|
const provider = new _Provider(url, options);
|
@@ -40465,6 +40487,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40465
40487
|
}
|
40466
40488
|
/**
|
40467
40489
|
* Returns the cached chainInfo for the current URL.
|
40490
|
+
*
|
40491
|
+
* @returns the chain information configuration.
|
40468
40492
|
*/
|
40469
40493
|
getChain() {
|
40470
40494
|
const chain = _Provider.chainInfoCache[this.url];
|
@@ -40478,6 +40502,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40478
40502
|
}
|
40479
40503
|
/**
|
40480
40504
|
* Returns the cached nodeInfo for the current URL.
|
40505
|
+
*
|
40506
|
+
* @returns the node information configuration.
|
40481
40507
|
*/
|
40482
40508
|
getNode() {
|
40483
40509
|
const node = _Provider.nodeInfoCache[this.url];
|
@@ -40509,6 +40535,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40509
40535
|
}
|
40510
40536
|
/**
|
40511
40537
|
* Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
|
40538
|
+
*
|
40539
|
+
* @param url - The URL to connect to.
|
40540
|
+
* @param options - Additional options for the provider.
|
40512
40541
|
*/
|
40513
40542
|
async connect(url, options) {
|
40514
40543
|
this.url = url;
|
@@ -40517,9 +40546,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40517
40546
|
await this.fetchChainAndNodeInfo();
|
40518
40547
|
}
|
40519
40548
|
/**
|
40520
|
-
*
|
40549
|
+
* Return the chain and node information.
|
40521
40550
|
*
|
40522
|
-
* @returns
|
40551
|
+
* @returns A promise that resolves to the Chain and NodeInfo.
|
40523
40552
|
*/
|
40524
40553
|
async fetchChainAndNodeInfo() {
|
40525
40554
|
const chain = await this.fetchChain();
|
@@ -40530,6 +40559,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40530
40559
|
nodeInfo
|
40531
40560
|
};
|
40532
40561
|
}
|
40562
|
+
/**
|
40563
|
+
* @hidden
|
40564
|
+
*/
|
40533
40565
|
static ensureClientVersionIsSupported(nodeInfo) {
|
40534
40566
|
const { isMajorSupported, isMinorSupported, supportedVersion } = checkFuelCoreVersionCompatibility(nodeInfo.nodeVersion);
|
40535
40567
|
if (!isMajorSupported || !isMinorSupported) {
|
@@ -40545,6 +40577,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40545
40577
|
* Create GraphQL client and set operations.
|
40546
40578
|
*
|
40547
40579
|
* @returns The operation SDK object
|
40580
|
+
* @hidden
|
40548
40581
|
*/
|
40549
40582
|
createOperations() {
|
40550
40583
|
const fetchFn = _Provider.getFetchFn(this.options);
|
@@ -40589,18 +40622,18 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40589
40622
|
return nodeVersion;
|
40590
40623
|
}
|
40591
40624
|
/**
|
40592
|
-
* Returns the block number.
|
40625
|
+
* Returns the latest block number.
|
40593
40626
|
*
|
40594
|
-
* @returns A promise that resolves to the block number
|
40627
|
+
* @returns A promise that resolves to the latest block number.
|
40595
40628
|
*/
|
40596
40629
|
async getBlockNumber() {
|
40597
40630
|
const { chain } = await this.operations.getChain();
|
40598
40631
|
return bn(chain.latestBlock.height, 10);
|
40599
40632
|
}
|
40600
40633
|
/**
|
40601
|
-
* Returns the
|
40602
|
-
*
|
40603
|
-
* @returns
|
40634
|
+
* Returns the node information for the current provider network.
|
40635
|
+
*
|
40636
|
+
* @returns a promise that resolves to the node information.
|
40604
40637
|
*/
|
40605
40638
|
async fetchNode() {
|
40606
40639
|
const { nodeInfo } = await this.operations.getNodeInfo();
|
@@ -40615,9 +40648,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40615
40648
|
return processedNodeInfo;
|
40616
40649
|
}
|
40617
40650
|
/**
|
40618
|
-
*
|
40619
|
-
*
|
40620
|
-
* @returns
|
40651
|
+
* Returns the chain information for the current provider network.
|
40652
|
+
*
|
40653
|
+
* @returns a promise that resolves to the chain information.
|
40621
40654
|
*/
|
40622
40655
|
async fetchChain() {
|
40623
40656
|
const { chain } = await this.operations.getChain();
|
@@ -40626,8 +40659,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40626
40659
|
return processedChain;
|
40627
40660
|
}
|
40628
40661
|
/**
|
40629
|
-
* Returns the chain ID
|
40630
|
-
*
|
40662
|
+
* Returns the chain ID for the current provider network.
|
40663
|
+
*
|
40664
|
+
* @returns A promise that resolves to the chain ID number.
|
40631
40665
|
*/
|
40632
40666
|
getChainId() {
|
40633
40667
|
const {
|
@@ -40636,9 +40670,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40636
40670
|
return chainId.toNumber();
|
40637
40671
|
}
|
40638
40672
|
/**
|
40639
|
-
* Returns the base asset ID for the current provider network
|
40673
|
+
* Returns the base asset ID for the current provider network.
|
40640
40674
|
*
|
40641
|
-
* @returns the base asset ID
|
40675
|
+
* @returns the base asset ID.
|
40642
40676
|
*/
|
40643
40677
|
getBaseAssetId() {
|
40644
40678
|
const {
|
@@ -40653,6 +40687,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40653
40687
|
* the transaction will be mutated and those dependencies will be added.
|
40654
40688
|
*
|
40655
40689
|
* @param transactionRequestLike - The transaction request object.
|
40690
|
+
* @param sendTransactionParams - The provider send transaction parameters (optional).
|
40656
40691
|
* @returns A promise that resolves to the transaction response object.
|
40657
40692
|
*/
|
40658
40693
|
// #region Provider-sendTransaction
|
@@ -40697,7 +40732,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40697
40732
|
* the transaction will be mutated and those dependencies will be added.
|
40698
40733
|
*
|
40699
40734
|
* @param transactionRequestLike - The transaction request object.
|
40700
|
-
* @param
|
40735
|
+
* @param sendTransactionParams - The provider call parameters (optional).
|
40701
40736
|
* @returns A promise that resolves to the call result object.
|
40702
40737
|
*/
|
40703
40738
|
async call(transactionRequestLike, { utxoValidation, estimateTxDependencies = true } = {}) {
|
@@ -40717,6 +40752,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40717
40752
|
/**
|
40718
40753
|
* Verifies whether enough gas is available to complete transaction.
|
40719
40754
|
*
|
40755
|
+
* @template T - The type of the transaction request object.
|
40756
|
+
*
|
40720
40757
|
* @param transactionRequest - The transaction request object.
|
40721
40758
|
* @returns A promise that resolves to the estimated transaction request object.
|
40722
40759
|
*/
|
@@ -40751,9 +40788,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40751
40788
|
* If there are missing variable outputs,
|
40752
40789
|
* `addVariableOutputs` is called on the transaction.
|
40753
40790
|
*
|
40754
|
-
*
|
40755
40791
|
* @param transactionRequest - The transaction request object.
|
40756
|
-
* @returns A promise.
|
40792
|
+
* @returns A promise that resolves to the estimate transaction dependencies.
|
40757
40793
|
*/
|
40758
40794
|
async estimateTxDependencies(transactionRequest) {
|
40759
40795
|
if (transactionRequest.type === TransactionType.Create) {
|
@@ -40866,6 +40902,14 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40866
40902
|
}
|
40867
40903
|
return results;
|
40868
40904
|
}
|
40905
|
+
/**
|
40906
|
+
* Dry runs multiple transactions.
|
40907
|
+
*
|
40908
|
+
* @param transactionRequests - Array of transaction request objects.
|
40909
|
+
* @param sendTransactionParams - The provider call parameters (optional).
|
40910
|
+
*
|
40911
|
+
* @returns A promise that resolves to an array of results for each transaction call.
|
40912
|
+
*/
|
40869
40913
|
async dryRunMultipleTransactions(transactionRequests, { utxoValidation, estimateTxDependencies = true } = {}) {
|
40870
40914
|
if (estimateTxDependencies) {
|
40871
40915
|
return this.estimateMultipleTxDependencies(transactionRequests);
|
@@ -40936,6 +40980,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40936
40980
|
* the transaction will be mutated and those dependencies will be added
|
40937
40981
|
*
|
40938
40982
|
* @param transactionRequestLike - The transaction request object.
|
40983
|
+
* @param estimateTxParams - The estimate transaction params (optional).
|
40939
40984
|
* @returns A promise that resolves to the call result object.
|
40940
40985
|
*/
|
40941
40986
|
async simulate(transactionRequestLike, { estimateTxDependencies = true } = {}) {
|
@@ -40960,14 +41005,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40960
41005
|
* to set gasLimit and also reserve balance amounts
|
40961
41006
|
* on the the transaction.
|
40962
41007
|
*
|
40963
|
-
* @privateRemarks
|
40964
|
-
* The tolerance is add on top of the gasUsed calculated
|
40965
|
-
* from the node, this create a safe margin costs like
|
40966
|
-
* change states on transfer that don't occur on the dryRun
|
40967
|
-
* transaction. The default value is 0.2 or 20%
|
40968
|
-
*
|
40969
41008
|
* @param transactionRequestLike - The transaction request object.
|
40970
|
-
* @param
|
41009
|
+
* @param transactionCostParams - The transaction cost parameters (optional).
|
41010
|
+
*
|
40971
41011
|
* @returns A promise that resolves to the transaction cost object.
|
40972
41012
|
*/
|
40973
41013
|
async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
|
@@ -41035,6 +41075,15 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41035
41075
|
updateMaxFee
|
41036
41076
|
};
|
41037
41077
|
}
|
41078
|
+
/**
|
41079
|
+
* Get the required quantities and associated resources for a transaction.
|
41080
|
+
*
|
41081
|
+
* @param owner - address to add resources from.
|
41082
|
+
* @param transactionRequestLike - transaction request to populate resources for.
|
41083
|
+
* @param quantitiesToContract - quantities for the contract (optional).
|
41084
|
+
*
|
41085
|
+
* @returns a promise resolving to the required quantities for the transaction.
|
41086
|
+
*/
|
41038
41087
|
async getResourcesForTransaction(owner, transactionRequestLike, quantitiesToContract = []) {
|
41039
41088
|
const ownerAddress = Address.fromAddressOrString(owner);
|
41040
41089
|
const transactionRequest = transactionRequestify(clone_default(transactionRequestLike));
|
@@ -41056,6 +41105,12 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41056
41105
|
}
|
41057
41106
|
/**
|
41058
41107
|
* Returns coins for the given owner.
|
41108
|
+
*
|
41109
|
+
* @param owner - The address to get coins for.
|
41110
|
+
* @param assetId - The asset ID of coins to get (optional).
|
41111
|
+
* @param paginationArgs - Pagination arguments (optional).
|
41112
|
+
*
|
41113
|
+
* @returns A promise that resolves to the coins.
|
41059
41114
|
*/
|
41060
41115
|
async getCoins(owner, assetId, paginationArgs) {
|
41061
41116
|
const ownerAddress = Address.fromAddressOrString(owner);
|
@@ -41078,8 +41133,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41078
41133
|
* Returns resources for the given owner satisfying the spend query.
|
41079
41134
|
*
|
41080
41135
|
* @param owner - The address to get resources for.
|
41081
|
-
* @param quantities - The quantities to get.
|
41082
|
-
* @param excludedIds - IDs of excluded resources from the selection.
|
41136
|
+
* @param quantities - The coin quantities to get.
|
41137
|
+
* @param excludedIds - IDs of excluded resources from the selection (optional).
|
41083
41138
|
* @returns A promise that resolves to the resources.
|
41084
41139
|
*/
|
41085
41140
|
async getResourcesToSpend(owner, quantities, excludedIds) {
|
@@ -41134,7 +41189,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41134
41189
|
* Returns block matching the given ID or height.
|
41135
41190
|
*
|
41136
41191
|
* @param idOrHeight - ID or height of the block.
|
41137
|
-
* @returns A promise that resolves to the block.
|
41192
|
+
* @returns A promise that resolves to the block or null.
|
41138
41193
|
*/
|
41139
41194
|
async getBlock(idOrHeight) {
|
41140
41195
|
let variables;
|
@@ -41264,7 +41319,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41264
41319
|
* Returns balances for the given owner.
|
41265
41320
|
*
|
41266
41321
|
* @param owner - The address to get coins for.
|
41267
|
-
* @param paginationArgs - Pagination arguments.
|
41322
|
+
* @param paginationArgs - Pagination arguments (optional).
|
41268
41323
|
* @returns A promise that resolves to the balances.
|
41269
41324
|
*/
|
41270
41325
|
async getBalances(owner, paginationArgs) {
|
@@ -41283,7 +41338,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41283
41338
|
* Returns message for the given address.
|
41284
41339
|
*
|
41285
41340
|
* @param address - The address to get message from.
|
41286
|
-
* @param paginationArgs - Pagination arguments.
|
41341
|
+
* @param paginationArgs - Pagination arguments (optional).
|
41287
41342
|
* @returns A promise that resolves to the messages.
|
41288
41343
|
*/
|
41289
41344
|
async getMessages(address, paginationArgs) {
|
@@ -41314,8 +41369,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41314
41369
|
*
|
41315
41370
|
* @param transactionId - The transaction to get message from.
|
41316
41371
|
* @param messageId - The message id from MessageOut receipt.
|
41317
|
-
* @param commitBlockId - The commit block id.
|
41318
|
-
* @param commitBlockHeight - The commit block height.
|
41372
|
+
* @param commitBlockId - The commit block id (optional).
|
41373
|
+
* @param commitBlockHeight - The commit block height (optional).
|
41319
41374
|
* @returns A promise that resolves to the message proof.
|
41320
41375
|
*/
|
41321
41376
|
async getMessageProof(transactionId, nonce, commitBlockId, commitBlockHeight) {
|
@@ -41403,10 +41458,21 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41403
41458
|
data
|
41404
41459
|
};
|
41405
41460
|
}
|
41461
|
+
/**
|
41462
|
+
* Get the latest gas price from the node.
|
41463
|
+
*
|
41464
|
+
* @returns A promise that resolves to the latest gas price.
|
41465
|
+
*/
|
41406
41466
|
async getLatestGasPrice() {
|
41407
41467
|
const { latestGasPrice } = await this.operations.getLatestGasPrice();
|
41408
41468
|
return bn(latestGasPrice.gasPrice);
|
41409
41469
|
}
|
41470
|
+
/**
|
41471
|
+
* Returns the estimate gas price for the given block horizon.
|
41472
|
+
*
|
41473
|
+
* @param blockHorizon - The block horizon to estimate gas price for.
|
41474
|
+
* @returns A promise that resolves to the estimated gas price.
|
41475
|
+
*/
|
41410
41476
|
async estimateGasPrice(blockHorizon) {
|
41411
41477
|
const { estimateGasPrice } = await this.operations.estimateGasPrice({
|
41412
41478
|
blockHorizon: String(blockHorizon)
|
@@ -41426,8 +41492,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41426
41492
|
/**
|
41427
41493
|
* Lets you produce blocks with custom timestamps and the block number of the last block produced.
|
41428
41494
|
*
|
41429
|
-
* @param amount - The amount of blocks to produce
|
41430
|
-
* @param startTime - The UNIX timestamp (milliseconds) to set for the first produced block
|
41495
|
+
* @param amount - The amount of blocks to produce.
|
41496
|
+
* @param startTime - The UNIX timestamp (milliseconds) to set for the first produced block (optional).
|
41431
41497
|
* @returns A promise that resolves to the block number of the last produced block.
|
41432
41498
|
*/
|
41433
41499
|
async produceBlocks(amount, startTime) {
|
@@ -41437,6 +41503,12 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41437
41503
|
});
|
41438
41504
|
return bn(latestBlockHeight);
|
41439
41505
|
}
|
41506
|
+
/**
|
41507
|
+
* Get the transaction response for the given transaction ID.
|
41508
|
+
*
|
41509
|
+
* @param transactionId - The transaction ID to get the response for.
|
41510
|
+
* @returns A promise that resolves to the transaction response.
|
41511
|
+
*/
|
41440
41512
|
// eslint-disable-next-line @typescript-eslint/require-await
|
41441
41513
|
async getTransactionResponse(transactionId) {
|
41442
41514
|
return new TransactionResponse(transactionId, this);
|
@@ -41445,7 +41517,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41445
41517
|
* Returns Message for given nonce.
|
41446
41518
|
*
|
41447
41519
|
* @param nonce - The nonce of the message to retrieve.
|
41448
|
-
* @returns A promise that resolves to the Message object.
|
41520
|
+
* @returns A promise that resolves to the Message object or null.
|
41449
41521
|
*/
|
41450
41522
|
async getMessageByNonce(nonce) {
|
41451
41523
|
const { message } = await this.operations.getMessageByNonce({ nonce });
|
@@ -41454,6 +41526,12 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41454
41526
|
}
|
41455
41527
|
return message;
|
41456
41528
|
}
|
41529
|
+
/**
|
41530
|
+
* Get the relayed transaction for the given transaction ID.
|
41531
|
+
*
|
41532
|
+
* @param relayedTransactionId - The relayed transaction ID to get the response for.
|
41533
|
+
* @returns A promise that resolves to the relayed transaction.
|
41534
|
+
*/
|
41457
41535
|
async getRelayedTransactionStatus(relayedTransactionId) {
|
41458
41536
|
const { relayedTransactionStatus } = await this.operations.getRelayedTransactionStatus({
|
41459
41537
|
relayedTransactionId
|
@@ -41463,6 +41541,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41463
41541
|
}
|
41464
41542
|
return relayedTransactionStatus;
|
41465
41543
|
}
|
41544
|
+
/**
|
41545
|
+
* @hidden
|
41546
|
+
*/
|
41466
41547
|
extractDryRunError(transactionRequest, receipts, dryRunStatus) {
|
41467
41548
|
const status = dryRunStatus;
|
41468
41549
|
let logs = [];
|
@@ -41492,7 +41573,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41492
41573
|
}
|
41493
41574
|
});
|
41494
41575
|
};
|
41576
|
+
/** @hidden */
|
41495
41577
|
__publicField(Provider, "chainInfoCache", {});
|
41578
|
+
/** @hidden */
|
41496
41579
|
__publicField(Provider, "nodeInfoCache", {});
|
41497
41580
|
|
41498
41581
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
@@ -41524,6 +41607,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41524
41607
|
}
|
41525
41608
|
} = provider.getChain();
|
41526
41609
|
const gasPrice = await provider.getLatestGasPrice();
|
41610
|
+
const baseAssetId = provider.getBaseAssetId();
|
41527
41611
|
const transactionInfo = assembleTransactionSummary({
|
41528
41612
|
id: gqlTransaction.id,
|
41529
41613
|
receipts,
|
@@ -41536,7 +41620,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41536
41620
|
maxInputs,
|
41537
41621
|
gasCosts,
|
41538
41622
|
maxGasPerTx,
|
41539
|
-
gasPrice
|
41623
|
+
gasPrice,
|
41624
|
+
baseAssetId
|
41540
41625
|
});
|
41541
41626
|
return {
|
41542
41627
|
gqlTransaction,
|
@@ -41551,6 +41636,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41551
41636
|
const transaction = transactionRequest.toTransaction();
|
41552
41637
|
const transactionBytes = transactionRequest.toTransactionBytes();
|
41553
41638
|
const gasPrice = await provider.getLatestGasPrice();
|
41639
|
+
const baseAssetId = provider.getBaseAssetId();
|
41554
41640
|
const transactionSummary = assembleTransactionSummary({
|
41555
41641
|
receipts,
|
41556
41642
|
transaction,
|
@@ -41561,7 +41647,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41561
41647
|
maxInputs,
|
41562
41648
|
gasCosts,
|
41563
41649
|
maxGasPerTx,
|
41564
|
-
gasPrice
|
41650
|
+
gasPrice,
|
41651
|
+
baseAssetId
|
41565
41652
|
});
|
41566
41653
|
return transactionSummary;
|
41567
41654
|
}
|
@@ -41577,6 +41664,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41577
41664
|
}
|
41578
41665
|
} = provider.getChain();
|
41579
41666
|
const gasPrice = await provider.getLatestGasPrice();
|
41667
|
+
const baseAssetId = provider.getBaseAssetId();
|
41580
41668
|
const transactions = edges.map((edge) => {
|
41581
41669
|
const { node: gqlTransaction } = edge;
|
41582
41670
|
const { id, rawPayload, status } = gqlTransaction;
|
@@ -41598,7 +41686,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41598
41686
|
maxInputs,
|
41599
41687
|
gasCosts,
|
41600
41688
|
maxGasPerTx,
|
41601
|
-
gasPrice
|
41689
|
+
gasPrice,
|
41690
|
+
baseAssetId
|
41602
41691
|
});
|
41603
41692
|
const output2 = {
|
41604
41693
|
gqlTransaction,
|
@@ -41781,12 +41870,16 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41781
41870
|
* The provider used to interact with the network.
|
41782
41871
|
*/
|
41783
41872
|
_provider;
|
41873
|
+
/**
|
41874
|
+
* The connector for use with external wallets
|
41875
|
+
*/
|
41784
41876
|
_connector;
|
41785
41877
|
/**
|
41786
41878
|
* Creates a new Account instance.
|
41787
41879
|
*
|
41788
41880
|
* @param address - The address of the account.
|
41789
41881
|
* @param provider - A Provider instance (optional).
|
41882
|
+
* @param connector - A FuelConnector instance (optional).
|
41790
41883
|
*/
|
41791
41884
|
constructor(address, provider, connector) {
|
41792
41885
|
super();
|
@@ -41828,8 +41921,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41828
41921
|
/**
|
41829
41922
|
* Retrieves resources satisfying the spend query for the account.
|
41830
41923
|
*
|
41831
|
-
* @param quantities -
|
41832
|
-
* @param excludedIds - IDs of resources to be excluded from the query.
|
41924
|
+
* @param quantities - Quantities of resources to be obtained.
|
41925
|
+
* @param excludedIds - IDs of resources to be excluded from the query (optional).
|
41833
41926
|
* @returns A promise that resolves to an array of Resources.
|
41834
41927
|
*/
|
41835
41928
|
async getResourcesToSpend(quantities, excludedIds) {
|
@@ -41838,7 +41931,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41838
41931
|
/**
|
41839
41932
|
* Retrieves coins owned by the account.
|
41840
41933
|
*
|
41841
|
-
* @param assetId - The asset ID of the coins to retrieve.
|
41934
|
+
* @param assetId - The asset ID of the coins to retrieve (optional).
|
41842
41935
|
* @returns A promise that resolves to an array of Coins.
|
41843
41936
|
*/
|
41844
41937
|
async getCoins(assetId) {
|
@@ -41891,7 +41984,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41891
41984
|
/**
|
41892
41985
|
* Retrieves the balance of the account for the given asset.
|
41893
41986
|
*
|
41894
|
-
* @param assetId - The asset ID to check the balance for.
|
41987
|
+
* @param assetId - The asset ID to check the balance for (optional).
|
41895
41988
|
* @returns A promise that resolves to the balance amount.
|
41896
41989
|
*/
|
41897
41990
|
async getBalance(assetId) {
|
@@ -41931,7 +42024,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41931
42024
|
* @typeParam T - The type of the TransactionRequest.
|
41932
42025
|
* @param request - The transaction request to fund.
|
41933
42026
|
* @param params - The estimated transaction parameters.
|
41934
|
-
* @returns
|
42027
|
+
* @returns A promise that resolves to the funded transaction request.
|
41935
42028
|
*/
|
41936
42029
|
async fund(request, params) {
|
41937
42030
|
const { addedSignatures, estimatedPredicates, requiredQuantities, updateMaxFee } = params;
|
@@ -42024,25 +42117,14 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42024
42117
|
*
|
42025
42118
|
* @param destination - The address of the destination.
|
42026
42119
|
* @param amount - The amount of coins to transfer.
|
42027
|
-
* @param assetId - The asset ID of the coins to transfer.
|
42028
|
-
* @param txParams - The transaction parameters (
|
42120
|
+
* @param assetId - The asset ID of the coins to transfer (optional).
|
42121
|
+
* @param txParams - The transaction parameters (optional).
|
42029
42122
|
* @returns A promise that resolves to the prepared transaction request.
|
42030
42123
|
*/
|
42031
42124
|
async createTransfer(destination, amount, assetId, txParams = {}) {
|
42032
42125
|
let request = new ScriptTransactionRequest(txParams);
|
42033
|
-
|
42034
|
-
request.
|
42035
|
-
const txCost = await this.provider.getTransactionCost(request, {
|
42036
|
-
estimateTxDependencies: true,
|
42037
|
-
resourcesOwner: this
|
42038
|
-
});
|
42039
|
-
request = this.validateGasLimitAndMaxFee({
|
42040
|
-
transactionRequest: request,
|
42041
|
-
gasUsed: txCost.gasUsed,
|
42042
|
-
maxFee: txCost.maxFee,
|
42043
|
-
txParams
|
42044
|
-
});
|
42045
|
-
await this.fund(request, txCost);
|
42126
|
+
request = this.addTransfer(request, { destination, amount, assetId });
|
42127
|
+
request = await this.estimateAndFundTransaction(request, txParams);
|
42046
42128
|
return request;
|
42047
42129
|
}
|
42048
42130
|
/**
|
@@ -42050,28 +42132,69 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42050
42132
|
*
|
42051
42133
|
* @param destination - The address of the destination.
|
42052
42134
|
* @param amount - The amount of coins to transfer.
|
42053
|
-
* @param assetId - The asset ID of the coins to transfer.
|
42054
|
-
* @param txParams - The transaction parameters (
|
42135
|
+
* @param assetId - The asset ID of the coins to transfer (optional).
|
42136
|
+
* @param txParams - The transaction parameters (optional).
|
42055
42137
|
* @returns A promise that resolves to the transaction response.
|
42056
42138
|
*/
|
42057
42139
|
async transfer(destination, amount, assetId, txParams = {}) {
|
42058
|
-
|
42059
|
-
|
42060
|
-
|
42061
|
-
|
42062
|
-
|
42063
|
-
|
42064
|
-
|
42065
|
-
|
42140
|
+
const request = await this.createTransfer(destination, amount, assetId, txParams);
|
42141
|
+
return this.sendTransaction(request, { estimateTxDependencies: false });
|
42142
|
+
}
|
42143
|
+
/**
|
42144
|
+
* Transfers multiple amounts of a token to multiple recipients.
|
42145
|
+
*
|
42146
|
+
* @param transferParams - An array of `TransferParams` objects representing the transfers to be made.
|
42147
|
+
* @param txParams - Optional transaction parameters.
|
42148
|
+
* @returns A promise that resolves to a `TransactionResponse` object representing the transaction result.
|
42149
|
+
*/
|
42150
|
+
async batchTransfer(transferParams, txParams = {}) {
|
42151
|
+
let request = new ScriptTransactionRequest(txParams);
|
42152
|
+
request = this.addBatchTransfer(request, transferParams);
|
42153
|
+
request = await this.estimateAndFundTransaction(request, txParams);
|
42066
42154
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
42067
42155
|
}
|
42156
|
+
/**
|
42157
|
+
* Adds a transfer to the given transaction request.
|
42158
|
+
*
|
42159
|
+
* @param request - The script transaction request to add transfers to.
|
42160
|
+
* @param transferParams - The object representing the transfer to be made.
|
42161
|
+
* @returns The updated transaction request with the added transfer.
|
42162
|
+
*/
|
42163
|
+
addTransfer(request, transferParams) {
|
42164
|
+
const { destination, amount, assetId } = transferParams;
|
42165
|
+
this.validateTransferAmount(amount);
|
42166
|
+
request.addCoinOutput(
|
42167
|
+
Address.fromAddressOrString(destination),
|
42168
|
+
amount,
|
42169
|
+
assetId ?? this.provider.getBaseAssetId()
|
42170
|
+
);
|
42171
|
+
return request;
|
42172
|
+
}
|
42173
|
+
/**
|
42174
|
+
* Adds multiple transfers to a script transaction request.
|
42175
|
+
*
|
42176
|
+
* @param request - The script transaction request to add transfers to.
|
42177
|
+
* @param transferParams - An array of `TransferParams` objects representing the transfers to be made.
|
42178
|
+
* @returns The updated script transaction request.
|
42179
|
+
*/
|
42180
|
+
addBatchTransfer(request, transferParams) {
|
42181
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
42182
|
+
transferParams.forEach(({ destination, amount, assetId }) => {
|
42183
|
+
this.addTransfer(request, {
|
42184
|
+
destination,
|
42185
|
+
amount,
|
42186
|
+
assetId: assetId ?? baseAssetId
|
42187
|
+
});
|
42188
|
+
});
|
42189
|
+
return request;
|
42190
|
+
}
|
42068
42191
|
/**
|
42069
42192
|
* Transfers coins to a contract address.
|
42070
42193
|
*
|
42071
42194
|
* @param contractId - The address of the contract.
|
42072
42195
|
* @param amount - The amount of coins to transfer.
|
42073
|
-
* @param assetId - The asset ID of the coins to transfer.
|
42074
|
-
* @param txParams - The
|
42196
|
+
* @param assetId - The asset ID of the coins to transfer (optional).
|
42197
|
+
* @param txParams - The transaction parameters (optional).
|
42075
42198
|
* @returns A promise that resolves to the transaction response.
|
42076
42199
|
*/
|
42077
42200
|
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
@@ -42112,7 +42235,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42112
42235
|
*
|
42113
42236
|
* @param recipient - Address of the recipient on the base chain.
|
42114
42237
|
* @param amount - Amount of base asset.
|
42115
|
-
* @param txParams - The
|
42238
|
+
* @param txParams - The transaction parameters (optional).
|
42116
42239
|
* @returns A promise that resolves to the transaction response.
|
42117
42240
|
*/
|
42118
42241
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
@@ -42142,6 +42265,14 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42142
42265
|
await this.fund(request, txCost);
|
42143
42266
|
return this.sendTransaction(request);
|
42144
42267
|
}
|
42268
|
+
/**
|
42269
|
+
* Sign a message from the account via the connector.
|
42270
|
+
*
|
42271
|
+
* @param message - the message to sign.
|
42272
|
+
* @returns a promise that resolves to the signature.
|
42273
|
+
*
|
42274
|
+
* @hidden
|
42275
|
+
*/
|
42145
42276
|
async signMessage(message) {
|
42146
42277
|
if (!this._connector) {
|
42147
42278
|
throw new FuelError(ErrorCode.MISSING_CONNECTOR, "A connector is required to sign messages.");
|
@@ -42149,7 +42280,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42149
42280
|
return this._connector.signMessage(this.address.toString(), message);
|
42150
42281
|
}
|
42151
42282
|
/**
|
42152
|
-
* Signs a transaction
|
42283
|
+
* Signs a transaction from the account via the connector..
|
42153
42284
|
*
|
42154
42285
|
* @param transactionRequestLike - The transaction request to sign.
|
42155
42286
|
* @returns A promise that resolves to the signature of the transaction.
|
@@ -42167,6 +42298,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42167
42298
|
* Sends a transaction to the network.
|
42168
42299
|
*
|
42169
42300
|
* @param transactionRequestLike - The transaction request to be sent.
|
42301
|
+
* @param sendTransactionParams - The provider send transaction parameters (optional).
|
42170
42302
|
* @returns A promise that resolves to the transaction response.
|
42171
42303
|
*/
|
42172
42304
|
async sendTransaction(transactionRequestLike, { estimateTxDependencies = true, awaitExecution } = {}) {
|
@@ -42188,6 +42320,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42188
42320
|
* Simulates a transaction.
|
42189
42321
|
*
|
42190
42322
|
* @param transactionRequestLike - The transaction request to be simulated.
|
42323
|
+
* @param estimateTxParams - The estimate transaction params (optional).
|
42191
42324
|
* @returns A promise that resolves to the call result.
|
42192
42325
|
*/
|
42193
42326
|
async simulateTransaction(transactionRequestLike, { estimateTxDependencies = true } = {}) {
|
@@ -42197,6 +42330,31 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42197
42330
|
}
|
42198
42331
|
return this.provider.simulate(transactionRequest, { estimateTxDependencies: false });
|
42199
42332
|
}
|
42333
|
+
/** @hidden * */
|
42334
|
+
validateTransferAmount(amount) {
|
42335
|
+
if (bn(amount).lte(0)) {
|
42336
|
+
throw new FuelError(
|
42337
|
+
ErrorCode.INVALID_TRANSFER_AMOUNT,
|
42338
|
+
"Transfer amount must be a positive number."
|
42339
|
+
);
|
42340
|
+
}
|
42341
|
+
}
|
42342
|
+
/** @hidden * */
|
42343
|
+
async estimateAndFundTransaction(transactionRequest, txParams) {
|
42344
|
+
let request = transactionRequest;
|
42345
|
+
const txCost = await this.provider.getTransactionCost(request, {
|
42346
|
+
resourcesOwner: this
|
42347
|
+
});
|
42348
|
+
request = this.validateGasLimitAndMaxFee({
|
42349
|
+
transactionRequest: request,
|
42350
|
+
gasUsed: txCost.gasUsed,
|
42351
|
+
maxFee: txCost.maxFee,
|
42352
|
+
txParams
|
42353
|
+
});
|
42354
|
+
request = await this.fund(request, txCost);
|
42355
|
+
return request;
|
42356
|
+
}
|
42357
|
+
/** @hidden * */
|
42200
42358
|
validateGasLimitAndMaxFee({
|
42201
42359
|
gasUsed,
|
42202
42360
|
maxFee,
|
@@ -43801,6 +43959,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
43801
43959
|
* Populates the witness signature for a transaction and sends it to the network using `provider.sendTransaction`.
|
43802
43960
|
*
|
43803
43961
|
* @param transactionRequestLike - The transaction request to send.
|
43962
|
+
* @param estimateTxDependencies - Whether to estimate the transaction dependencies.
|
43963
|
+
* @param awaitExecution - Whether to wait for the transaction to be executed.
|
43804
43964
|
* @returns A promise that resolves to the TransactionResponse object.
|
43805
43965
|
*/
|
43806
43966
|
async sendTransaction(transactionRequestLike, { estimateTxDependencies = false, awaitExecution } = {}) {
|
@@ -43832,6 +43992,12 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
43832
43992
|
}
|
43833
43993
|
);
|
43834
43994
|
}
|
43995
|
+
/**
|
43996
|
+
* Encrypts an unlocked wallet with a password.
|
43997
|
+
*
|
43998
|
+
* @param password - the password to encrypt the wallet with.
|
43999
|
+
* @returns - the encrypted wallet.
|
44000
|
+
*/
|
43835
44001
|
async encrypt(password) {
|
43836
44002
|
return encryptKeystoreWallet(this.privateKey, this.address, password);
|
43837
44003
|
}
|
@@ -47133,7 +47299,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47133
47299
|
);
|
47134
47300
|
return resources.map((resource) => ({
|
47135
47301
|
...resource,
|
47136
|
-
predicate: hexlify(this.bytes)
|
47302
|
+
predicate: hexlify(this.bytes),
|
47303
|
+
predicateData: hexlify(this.getPredicateData())
|
47137
47304
|
}));
|
47138
47305
|
}
|
47139
47306
|
/**
|