@bitgo-beta/utxo-lib 8.0.3-beta.98 → 8.0.3-beta.981
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/address.d.ts +0 -1
- package/dist/src/address.d.ts.map +1 -1
- package/dist/src/address.js +10 -10
- package/dist/src/addressFormat.d.ts +1 -2
- package/dist/src/addressFormat.d.ts.map +1 -1
- package/dist/src/addressFormat.js +21 -26
- package/dist/src/bitgo/Musig2.d.ts +1 -2
- package/dist/src/bitgo/Musig2.d.ts.map +1 -1
- package/dist/src/bitgo/Musig2.js +42 -42
- package/dist/src/bitgo/ProprietaryKeyValUtils.d.ts +27 -0
- package/dist/src/bitgo/ProprietaryKeyValUtils.d.ts.map +1 -0
- package/dist/src/bitgo/ProprietaryKeyValUtils.js +74 -0
- package/dist/src/bitgo/PsbtUtil.d.ts +22 -23
- package/dist/src/bitgo/PsbtUtil.d.ts.map +1 -1
- package/dist/src/bitgo/PsbtUtil.js +71 -22
- package/dist/src/bitgo/Unspent.d.ts +2 -3
- package/dist/src/bitgo/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/Unspent.js +14 -15
- package/dist/src/bitgo/UtxoPsbt.d.ts +21 -8
- package/dist/src/bitgo/UtxoPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoPsbt.js +130 -117
- package/dist/src/bitgo/UtxoTransaction.d.ts +0 -1
- package/dist/src/bitgo/UtxoTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoTransaction.js +12 -12
- package/dist/src/bitgo/UtxoTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/UtxoTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoTransactionBuilder.js +1 -1
- package/dist/src/bitgo/bitcoincash/address.d.ts +0 -1
- package/dist/src/bitgo/bitcoincash/address.d.ts.map +1 -1
- package/dist/src/bitgo/bitcoincash/address.js +11 -12
- package/dist/src/bitgo/bitcoincash/index.js +6 -2
- package/dist/src/bitgo/dash/DashPsbt.d.ts +1 -1
- package/dist/src/bitgo/dash/DashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashPsbt.js +4 -1
- package/dist/src/bitgo/dash/DashTransaction.d.ts +0 -1
- package/dist/src/bitgo/dash/DashTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashTransaction.js +3 -3
- package/dist/src/bitgo/dash/DashTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/dash/DashTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashTransactionBuilder.js +1 -1
- package/dist/src/bitgo/dash/index.js +6 -2
- package/dist/src/bitgo/index.d.ts +4 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +10 -3
- package/dist/src/bitgo/keyutil.d.ts +9 -1
- package/dist/src/bitgo/keyutil.d.ts.map +1 -1
- package/dist/src/bitgo/keyutil.js +25 -4
- package/dist/src/bitgo/legacysafe/index.d.ts +0 -1
- package/dist/src/bitgo/legacysafe/index.d.ts.map +1 -1
- package/dist/src/bitgo/legacysafe/index.js +12 -9
- package/dist/src/bitgo/litecoin/LitecoinPsbt.d.ts +1 -1
- package/dist/src/bitgo/litecoin/LitecoinPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/litecoin/LitecoinPsbt.js +4 -1
- package/dist/src/bitgo/litecoin/LitecoinTransaction.d.ts +1 -2
- package/dist/src/bitgo/litecoin/LitecoinTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/litecoin/LitecoinTransaction.js +2 -2
- package/dist/src/bitgo/litecoin/index.js +6 -2
- package/dist/src/bitgo/nonStandardHalfSigned.js +2 -3
- package/dist/src/bitgo/outputScripts.d.ts +8 -8
- package/dist/src/bitgo/outputScripts.d.ts.map +1 -1
- package/dist/src/bitgo/outputScripts.js +56 -39
- package/dist/src/bitgo/parseInput.d.ts +7 -8
- package/dist/src/bitgo/parseInput.d.ts.map +1 -1
- package/dist/src/bitgo/parseInput.js +14 -15
- package/dist/src/bitgo/psbt/fromHalfSigned.d.ts +0 -1
- package/dist/src/bitgo/psbt/fromHalfSigned.d.ts.map +1 -1
- package/dist/src/bitgo/psbt/fromHalfSigned.js +7 -8
- package/dist/src/bitgo/psbt/scriptTypes.d.ts +0 -1
- package/dist/src/bitgo/psbt/scriptTypes.d.ts.map +1 -1
- package/dist/src/bitgo/psbt/scriptTypes.js +7 -8
- package/dist/src/bitgo/signature.d.ts +2 -3
- package/dist/src/bitgo/signature.d.ts.map +1 -1
- package/dist/src/bitgo/signature.js +25 -17
- package/dist/src/bitgo/tnumber.js +2 -3
- package/dist/src/bitgo/transaction.d.ts +13 -1
- package/dist/src/bitgo/transaction.d.ts.map +1 -1
- package/dist/src/bitgo/transaction.js +49 -23
- package/dist/src/bitgo/transactionAmounts.d.ts +9 -0
- package/dist/src/bitgo/transactionAmounts.d.ts.map +1 -0
- package/dist/src/bitgo/transactionAmounts.js +32 -0
- package/dist/src/bitgo/types.d.ts +8 -2
- package/dist/src/bitgo/types.d.ts.map +1 -1
- package/dist/src/bitgo/types.js +12 -4
- package/dist/src/bitgo/wallet/Psbt.d.ts +43 -19
- package/dist/src/bitgo/wallet/Psbt.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Psbt.js +112 -50
- package/dist/src/bitgo/wallet/ScriptId.d.ts +14 -0
- package/dist/src/bitgo/wallet/ScriptId.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/ScriptId.js +28 -0
- package/dist/src/bitgo/wallet/Unspent.d.ts +23 -16
- package/dist/src/bitgo/wallet/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Unspent.js +68 -64
- package/dist/src/bitgo/wallet/WalletKeys.d.ts +1 -2
- package/dist/src/bitgo/wallet/WalletKeys.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/WalletKeys.js +3 -3
- package/dist/src/bitgo/wallet/WalletOutput.d.ts +60 -8
- package/dist/src/bitgo/wallet/WalletOutput.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/WalletOutput.js +158 -63
- package/dist/src/bitgo/wallet/WalletScripts.js +4 -5
- package/dist/src/bitgo/wallet/WalletUnspentSigner.js +7 -7
- package/dist/src/bitgo/wallet/chains.d.ts +3 -3
- package/dist/src/bitgo/wallet/chains.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/chains.js +10 -10
- package/dist/src/bitgo/wallet/index.d.ts +3 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/index.js +9 -2
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.d.ts +50 -0
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.js +85 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.d.ts +32 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.js +123 -0
- package/dist/src/bitgo/zcash/ZcashBufferutils.d.ts +1 -2
- package/dist/src/bitgo/zcash/ZcashBufferutils.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashBufferutils.js +15 -15
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts +1 -2
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashPsbt.js +12 -17
- package/dist/src/bitgo/zcash/ZcashTransaction.d.ts +3 -2
- package/dist/src/bitgo/zcash/ZcashTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashTransaction.js +31 -21
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.js +6 -4
- package/dist/src/bitgo/zcash/address.d.ts +0 -1
- package/dist/src/bitgo/zcash/address.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/address.js +7 -8
- package/dist/src/bitgo/zcash/hashZip0244.d.ts +1 -2
- package/dist/src/bitgo/zcash/hashZip0244.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/hashZip0244.js +9 -10
- package/dist/src/bitgo/zcash/index.js +6 -2
- package/dist/src/classify.d.ts +0 -1
- package/dist/src/classify.d.ts.map +1 -1
- package/dist/src/classify.js +5 -5
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -3
- package/dist/src/networks.d.ts +2 -2
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +67 -21
- package/dist/src/noble_ecc.d.ts +7 -7
- package/dist/src/noble_ecc.d.ts.map +1 -1
- package/dist/src/noble_ecc.js +5 -5
- package/dist/src/payments/p2tr.js +13 -18
- package/dist/src/payments/p2tr_ns.js +3 -5
- package/dist/src/taproot.d.ts +1 -2
- package/dist/src/taproot.d.ts.map +1 -1
- package/dist/src/taproot.js +21 -22
- package/dist/src/templates/multisig/input.d.ts +0 -1
- package/dist/src/templates/multisig/input.d.ts.map +1 -1
- package/dist/src/templates/multisig/input.js +2 -3
- package/dist/src/templates/multisig/output.d.ts +0 -1
- package/dist/src/templates/multisig/output.d.ts.map +1 -1
- package/dist/src/templates/multisig/output.js +2 -3
- package/dist/src/templates/nulldata.d.ts +0 -1
- package/dist/src/templates/nulldata.d.ts.map +1 -1
- package/dist/src/templates/nulldata.js +3 -3
- package/dist/src/templates/pubkey/input.d.ts +0 -1
- package/dist/src/templates/pubkey/input.d.ts.map +1 -1
- package/dist/src/templates/pubkey/input.js +2 -3
- package/dist/src/templates/pubkey/output.d.ts +0 -1
- package/dist/src/templates/pubkey/output.d.ts.map +1 -1
- package/dist/src/templates/pubkey/output.js +2 -3
- package/dist/src/templates/pubkeyhash/input.d.ts +0 -1
- package/dist/src/templates/pubkeyhash/input.d.ts.map +1 -1
- package/dist/src/templates/pubkeyhash/input.js +2 -3
- package/dist/src/templates/pubkeyhash/output.d.ts +0 -1
- package/dist/src/templates/pubkeyhash/output.d.ts.map +1 -1
- package/dist/src/templates/pubkeyhash/output.js +2 -3
- package/dist/src/templates/scripthash/input.d.ts +0 -1
- package/dist/src/templates/scripthash/input.d.ts.map +1 -1
- package/dist/src/templates/scripthash/input.js +2 -3
- package/dist/src/templates/scripthash/output.d.ts +0 -1
- package/dist/src/templates/scripthash/output.d.ts.map +1 -1
- package/dist/src/templates/scripthash/output.js +2 -3
- package/dist/src/templates/taproot/input.d.ts +0 -1
- package/dist/src/templates/taproot/input.d.ts.map +1 -1
- package/dist/src/templates/taproot/input.js +2 -3
- package/dist/src/templates/taproot/output.d.ts +0 -1
- package/dist/src/templates/taproot/output.d.ts.map +1 -1
- package/dist/src/templates/taproot/output.js +2 -3
- package/dist/src/templates/taprootnofn/input.d.ts +0 -1
- package/dist/src/templates/taprootnofn/input.d.ts.map +1 -1
- package/dist/src/templates/taprootnofn/input.js +2 -3
- package/dist/src/templates/taprootnofn/output.d.ts +0 -1
- package/dist/src/templates/taprootnofn/output.d.ts.map +1 -1
- package/dist/src/templates/taprootnofn/output.js +2 -3
- package/dist/src/templates/witnesscommitment/output.d.ts +0 -1
- package/dist/src/templates/witnesscommitment/output.d.ts.map +1 -1
- package/dist/src/templates/witnesscommitment/output.js +4 -5
- package/dist/src/templates/witnesspubkeyhash/input.d.ts +0 -1
- package/dist/src/templates/witnesspubkeyhash/input.d.ts.map +1 -1
- package/dist/src/templates/witnesspubkeyhash/input.js +2 -3
- package/dist/src/templates/witnesspubkeyhash/output.d.ts +0 -1
- package/dist/src/templates/witnesspubkeyhash/output.d.ts.map +1 -1
- package/dist/src/templates/witnesspubkeyhash/output.js +2 -3
- package/dist/src/templates/witnessscripthash/input.d.ts +0 -1
- package/dist/src/templates/witnessscripthash/input.d.ts.map +1 -1
- package/dist/src/templates/witnessscripthash/input.js +2 -3
- package/dist/src/templates/witnessscripthash/output.d.ts +0 -1
- package/dist/src/templates/witnessscripthash/output.d.ts.map +1 -1
- package/dist/src/templates/witnessscripthash/output.js +2 -3
- package/dist/src/testutil/index.js +6 -2
- package/dist/src/testutil/keys.d.ts +4 -4
- package/dist/src/testutil/keys.d.ts.map +1 -1
- package/dist/src/testutil/keys.js +10 -11
- package/dist/src/testutil/mock.d.ts +1 -2
- package/dist/src/testutil/mock.d.ts.map +1 -1
- package/dist/src/testutil/mock.js +21 -21
- package/dist/src/testutil/psbt.d.ts +36 -21
- package/dist/src/testutil/psbt.d.ts.map +1 -1
- package/dist/src/testutil/psbt.js +51 -37
- package/dist/src/testutil/transaction.d.ts +2 -2
- package/dist/src/testutil/transaction.d.ts.map +1 -1
- package/dist/src/testutil/transaction.js +18 -18
- package/dist/src/transaction_builder.d.ts +0 -1
- package/dist/src/transaction_builder.d.ts.map +1 -1
- package/dist/src/transaction_builder.js +13 -18
- package/package.json +9 -11
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.txnOutputScriptTypes = exports.txnInputScriptTypes = void 0;
|
|
4
|
+
exports.toTxnUnspent = toTxnUnspent;
|
|
5
|
+
exports.getTxnSigners = getTxnSigners;
|
|
6
|
+
exports.signTxnInput = signTxnInput;
|
|
7
|
+
exports.signAllTxnInputs = signAllTxnInputs;
|
|
8
|
+
exports.constructTxnBuilder = constructTxnBuilder;
|
|
4
9
|
const assert = require("assert");
|
|
5
10
|
const outputScripts_1 = require("../bitgo/outputScripts");
|
|
6
11
|
const bitgo_1 = require("../bitgo");
|
|
@@ -18,18 +23,17 @@ exports.txnOutputScriptTypes = outputScripts_1.scriptTypes2Of3;
|
|
|
18
23
|
*/
|
|
19
24
|
function toTxnUnspent(input, index, network, rootWalletKeys) {
|
|
20
25
|
if (input.scriptType === 'p2shP2pk') {
|
|
21
|
-
return mock_1.mockReplayProtectionUnspent(network, input.value, { key: rootWalletKeys['user'], vout: index });
|
|
26
|
+
return (0, mock_1.mockReplayProtectionUnspent)(network, input.value, { key: rootWalletKeys['user'], vout: index });
|
|
22
27
|
}
|
|
23
28
|
else {
|
|
24
|
-
return mock_1.mockWalletUnspent(network, input.value, {
|
|
25
|
-
chain: bitgo_1.getInternalChainCode(input.scriptType),
|
|
29
|
+
return (0, mock_1.mockWalletUnspent)(network, input.value, {
|
|
30
|
+
chain: (0, bitgo_1.getInternalChainCode)(input.scriptType),
|
|
26
31
|
vout: index,
|
|
27
32
|
keys: rootWalletKeys,
|
|
28
33
|
index,
|
|
29
34
|
});
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
|
-
exports.toTxnUnspent = toTxnUnspent;
|
|
33
37
|
/**
|
|
34
38
|
* returns signer and cosigner names for TxnInputScriptType.
|
|
35
39
|
* user and undefined as signer and cosigner respectively for p2shP2pk.
|
|
@@ -41,7 +45,6 @@ function getTxnSigners(inputType) {
|
|
|
41
45
|
cosignerName: inputType === 'p2shP2pk' ? undefined : 'bitgo',
|
|
42
46
|
};
|
|
43
47
|
}
|
|
44
|
-
exports.getTxnSigners = getTxnSigners;
|
|
45
48
|
/**
|
|
46
49
|
* signs with first or second signature for single input.
|
|
47
50
|
* p2shP2pk is signed only with first sign.
|
|
@@ -51,17 +54,16 @@ function signTxnInput(txb, input, inputIndex, rootWalletKeys, sign, signers) {
|
|
|
51
54
|
const unspent = toTxnUnspent(input, inputIndex, txb.network, rootWalletKeys);
|
|
52
55
|
if (sign === 'halfsigned') {
|
|
53
56
|
if (input.scriptType === 'p2shP2pk') {
|
|
54
|
-
bitgo_1.signInputP2shP2pk(txb, inputIndex, rootWalletKeys[signerName]);
|
|
57
|
+
(0, bitgo_1.signInputP2shP2pk)(txb, inputIndex, rootWalletKeys[signerName]);
|
|
55
58
|
}
|
|
56
|
-
else if (bitgo_1.isWalletUnspent(unspent) && cosignerName) {
|
|
57
|
-
bitgo_1.signInputWithUnspent(txb, inputIndex, unspent, bitgo_1.WalletUnspentSigner.from(rootWalletKeys, rootWalletKeys[signerName], rootWalletKeys[cosignerName]));
|
|
59
|
+
else if ((0, bitgo_1.isWalletUnspent)(unspent) && cosignerName) {
|
|
60
|
+
(0, bitgo_1.signInputWithUnspent)(txb, inputIndex, unspent, bitgo_1.WalletUnspentSigner.from(rootWalletKeys, rootWalletKeys[signerName], rootWalletKeys[cosignerName]));
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
|
-
if (bitgo_1.isWalletUnspent(unspent) && sign === 'fullsigned' && cosignerName) {
|
|
61
|
-
bitgo_1.signInputWithUnspent(txb, inputIndex, unspent, bitgo_1.WalletUnspentSigner.from(rootWalletKeys, rootWalletKeys[cosignerName], rootWalletKeys[signerName]));
|
|
63
|
+
if ((0, bitgo_1.isWalletUnspent)(unspent) && sign === 'fullsigned' && cosignerName) {
|
|
64
|
+
(0, bitgo_1.signInputWithUnspent)(txb, inputIndex, unspent, bitgo_1.WalletUnspentSigner.from(rootWalletKeys, rootWalletKeys[cosignerName], rootWalletKeys[signerName]));
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
|
-
exports.signTxnInput = signTxnInput;
|
|
65
67
|
/**
|
|
66
68
|
* signs with first or second signature for all inputs.
|
|
67
69
|
* p2shP2pk is signed only with first sign.
|
|
@@ -71,7 +73,6 @@ function signAllTxnInputs(txb, inputs, rootWalletKeys, sign, signers) {
|
|
|
71
73
|
signTxnInput(txb, input, index, rootWalletKeys, sign, signers);
|
|
72
74
|
});
|
|
73
75
|
}
|
|
74
|
-
exports.signAllTxnInputs = signAllTxnInputs;
|
|
75
76
|
/**
|
|
76
77
|
* construct transaction for given inputs, outputs, network and root wallet keys.
|
|
77
78
|
*/
|
|
@@ -80,14 +81,14 @@ function constructTxnBuilder(inputs, outputs, network, rootWalletKeys, sign, sig
|
|
|
80
81
|
const outputInputAmount = outputs.reduce((sum, output) => sum + BigInt(output.value), BigInt(0));
|
|
81
82
|
assert(totalInputAmount >= outputInputAmount, 'total output can not exceed total input');
|
|
82
83
|
assert(!outputs.some((o) => (o.scriptType && o.address) || (!o.scriptType && !o.address)), 'only either output script type or address should be provided');
|
|
83
|
-
const txb = bitgo_1.createTransactionBuilderForNetwork(network);
|
|
84
|
+
const txb = (0, bitgo_1.createTransactionBuilderForNetwork)(network);
|
|
84
85
|
const unspents = inputs.map((input, i) => toTxnUnspent(input, i, network, rootWalletKeys));
|
|
85
86
|
unspents.forEach((u, i) => {
|
|
86
|
-
bitgo_1.addToTransactionBuilder(txb, u);
|
|
87
|
+
(0, bitgo_1.addToTransactionBuilder)(txb, u);
|
|
87
88
|
});
|
|
88
89
|
outputs.forEach((output, i) => {
|
|
89
90
|
const address = output.scriptType
|
|
90
|
-
? bitgo_1.getWalletAddress(rootWalletKeys, output.isInternalAddress ? bitgo_1.getInternalChainCode(output.scriptType) : bitgo_1.getExternalChainCode(output.scriptType), i, network)
|
|
91
|
+
? (0, bitgo_1.getWalletAddress)(rootWalletKeys, output.isInternalAddress ? (0, bitgo_1.getInternalChainCode)(output.scriptType) : (0, bitgo_1.getExternalChainCode)(output.scriptType), i, network)
|
|
91
92
|
: output.address;
|
|
92
93
|
if (!address) {
|
|
93
94
|
throw new Error('address is missing');
|
|
@@ -103,5 +104,4 @@ function constructTxnBuilder(inputs, outputs, network, rootWalletKeys, sign, sig
|
|
|
103
104
|
}
|
|
104
105
|
return txb;
|
|
105
106
|
}
|
|
106
|
-
exports.constructTxnBuilder = constructTxnBuilder;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBRWpDLDBEQUF5RztBQUN6RyxvQ0Fja0I7QUFFbEIsaUNBQXdFO0FBMkJ4RTs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsa0NBQWtCLENBQVUsQ0FBQztBQUV2Rzs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsK0JBQWUsQ0FBQztBQUVwRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsS0FBd0IsRUFDeEIsS0FBYSxFQUNiLE9BQWdCLEVBQ2hCLGNBQThCO0lBRTlCLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7UUFDbkMsT0FBTyxrQ0FBMkIsQ0FBVSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDakg7U0FBTTtRQUNMLE9BQU8sd0JBQWlCLENBQVUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDdEQsS0FBSyxFQUFFLDRCQUFvQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDN0MsSUFBSSxFQUFFLEtBQUs7WUFDWCxJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLO1NBQ04sQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBaEJELG9DQWdCQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsU0FBNkI7SUFDekQsT0FBTztRQUNMLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFlBQVksRUFBRSxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxD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QU0sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXJFLElBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtRQUN6QixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDOUQ7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFsREQsa0RBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IFNjcmlwdFR5cGUsIFNjcmlwdFR5cGUyT2YzLCBzY3JpcHRUeXBlUDJzaFAycGssIHNjcmlwdFR5cGVzMk9mMyB9IGZyb20gJy4uL2JpdGdvL291dHB1dFNjcmlwdHMnO1xuaW1wb3J0IHtcbiAgZ2V0RXh0ZXJuYWxDaGFpbkNvZGUsXG4gIGlzV2FsbGV0VW5zcGVudCxcbiAgS2V5TmFtZSxcbiAgZ2V0SW50ZXJuYWxDaGFpbkNvZGUsXG4gIFJvb3RXYWxsZXRLZXlzLFxuICBVbnNwZW50LFxuICBVdHhvVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJGb3JOZXR3b3JrLFxuICBhZGRUb1RyYW5zYWN0aW9uQnVpbGRlcixcbiAgZ2V0V2FsbGV0QWRkcmVzcyxcbiAgc2lnbklucHV0UDJzaFAycGssXG4gIHNpZ25JbnB1dFdpdGhVbnNwZW50LFxuICBXYWxsZXRVbnNwZW50U2lnbmVyLFxufSBmcm9tICcuLi9iaXRnbyc7XG5pbXBvcnQgeyBOZXR3b3JrIH0gZnJvbSAnLi4vbmV0d29ya3MnO1xuaW1wb3J0IHsgbW9ja1JlcGxheVByb3RlY3Rpb25VbnNwZW50LCBtb2NrV2FsbGV0VW5zcGVudCB9IGZyb20gJy4vbW9jayc7XG5cbi8qKlxuICogaW5wdXQgc2NyaXB0IHR5cGUgYW5kIHZhbHVlLlxuICovXG5leHBvcnQgdHlwZSBUeG5JbnB1dFNjcmlwdFR5cGUgPSBFeGNsdWRlPFNjcmlwdFR5cGUsICdwMnRyTXVzaWcyJz47XG5leHBvcnQgdHlwZSBUeG5PdXRwdXRTY3JpcHRUeXBlID0gU2NyaXB0VHlwZTJPZjM7XG5cbi8qKlxuICogb3V0cHV0IHNjcmlwdCB0eXBlIGFuZCB2YWx1ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR4bklucHV0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgc2NyaXB0VHlwZTogVHhuSW5wdXRTY3JpcHRUeXBlO1xuICB2YWx1ZTogVE51bWJlcjtcbn1cblxuLyoqXG4gKiBzaG91bGQgc2V0IGVpdGhlciBhZGRyZXNzIG9yIHNjcmlwdFR5cGUsIG5ldmVyIGJvdGguXG4gKiBzZXQgaXNJbnRlcm5hbEFkZHJlc3M9dHJ1ZSBmb3IgaW50ZXJuYWwgb3V0cHV0IGFkZHJlc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeG5PdXRwdXQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4ge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBzY3JpcHRUeXBlPzogVHhuT3V0cHV0U2NyaXB0VHlwZTtcbiAgdmFsdWU6IFROdW1iZXI7XG4gIGlzSW50ZXJuYWxBZGRyZXNzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBhcnJheSBvZiBzdXBwb3J0ZWQgaW5wdXQgc2NyaXB0IHR5cGVzLlxuICovXG5leHBvcnQgY29uc3QgdHhuSW5wdXRTY3JpcHRUeXBlcyA9IFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnLCAncDJ0cicsIHNjcmlwdFR5cGVQMnNoUDJwa10gYXMgY29uc3Q7XG5cbi8qKlxuICogYXJyYXkgb2Ygc3VwcG9ydGVkIG91dHB1dCBzY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBjb25zdCB0eG5PdXRwdXRTY3JpcHRUeXBlcyA9IHNjcmlwdFR5cGVzMk9mMztcblxuLyoqXG4gKiBjcmVhdGUgdW5zcGVudCBvYmplY3QgZnJvbSBpbnB1dCBzY3JpcHQgdHlwZSwgaW5kZXgsIG5ldHdvcmsgYW5kIHJvb3Qgd2FsbGV0IGtleS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvVHhuVW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgaW5wdXQ6IFR4bklucHV0PFROdW1iZXI+LFxuICBpbmRleDogbnVtYmVyLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXNcbik6IFVuc3BlbnQ8VE51bWJlcj4ge1xuICBpZiAoaW5wdXQuc2NyaXB0VHlwZSA9PT0gJ3Ayc2hQMnBrJykge1xuICAgIHJldHVybiBtb2NrUmVwbGF5UHJvdGVjdGlvblVuc3BlbnQ8VE51bWJlcj4obmV0d29yaywgaW5wdXQudmFsdWUsIHsga2V5OiByb290V2FsbGV0S2V5c1sndXNlciddLCB2b3V0OiBpbmRleCB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbW9ja1dhbGxldFVuc3BlbnQ8VE51bWJlcj4obmV0d29yaywgaW5wdXQudmFsdWUsIHtcbiAgICAgIGNoYWluOiBnZXRJbnRlcm5hbENoYWluQ29kZShpbnB1dC5zY3JpcHRUeXBlKSxcbiAgICAgIHZvdXQ6IGluZGV4LFxuICAgICAga2V5czogcm9vdFdhbGxldEtleXMsXG4gICAgICBpbmRleCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIHJldHVybnMgc2lnbmVyIGFuZCBjb3NpZ25lciBuYW1lcyBmb3IgVHhuSW5wdXRTY3JpcHRUeXBlLlxuICogdXNlciBhbmQgdW5kZWZpbmVkIGFzIHNpZ25lciBhbmQgY29zaWduZXIgcmVzcGVjdGl2ZWx5IGZvciBwMnNoUDJway5cbiAqIHVzZXIgYW5kIGJpdGdvIGFzIHNpZ25lciBhbmQgY29zaWduZXIgcmVzcGVjdGl2ZWx5IGZvciBvdGhlciBpbnB1dCBzY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeG5TaWduZXJzKGlucHV0VHlwZTogVHhuSW5wdXRTY3JpcHRUeXBlKTogeyBzaWduZXJOYW1lOiBLZXlOYW1lOyBjb3NpZ25lck5hbWU/OiBLZXlOYW1lIH0ge1xuICByZXR1cm4ge1xuICAgIHNpZ25lck5hbWU6ICd1c2VyJyxcbiAgICBjb3NpZ25lck5hbWU6IGlucHV0VHlwZSA9PT0gJ3Ayc2hQMnBrJyA/IHVuZGVmaW5lZCA6ICdiaXRnbycsXG4gIH07XG59XG5cbi8qKlxuICogc2lnbnMgd2l0aCBmaXJzdCBvciBzZWNvbmQgc2lnbmF0dXJlIGZvciBzaW5nbGUgaW5wdXQuXG4gKiBwMnNoUDJwayBpcyBzaWduZWQgb25seSB3aXRoIGZpcnN0IHNpZ24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduVHhuSW5wdXQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHR4YjogVXR4b1RyYW5zYWN0aW9uQnVpbGRlcjxUTnVtYmVyPixcbiAgaW5wdXQ6IFR4bklucHV0PFROdW1iZXI+LFxuICBpbnB1dEluZGV4OiBudW1iZXIsXG4gIHJvb3RXYWxsZXRLZXlzOiBSb290V2FsbGV0S2V5cyxcbiAgc2lnbjogJ2hhbGZzaWduZWQnIHwgJ2Z1bGxzaWduZWQnLFxuICBzaWduZXJzPzogeyBzaWduZXJOYW1lOiBLZXlOYW1lOyBjb3NpZ25lck5hbWU/OiBLZXlOYW1lIH1cbik6IHZvaWQge1xuICBjb25zdCB7IHNpZ25lck5hbWUsIGNvc2lnbmVyTmFtZSB9ID0gc2lnbmVycyA/IHNpZ25lcnMgOiBnZXRUeG5TaWduZXJzKGlucHV0LnNjcmlwdFR5cGUpO1xuICBjb25zdCB1bnNwZW50ID0gdG9UeG5VbnNwZW50KGlucHV0LCBpbnB1dEluZGV4LCB0eGIubmV0d29yaywgcm9vdFdhbGxldEtleXMpO1xuICBpZiAoc2lnbiA9PT0gJ2hhbGZzaWduZWQnKSB7XG4gICAgaWYgKGlucHV0LnNjcmlwdFR5cGUgPT09ICdwMnNoUDJwaycpIHtcbiAgICAgIHNpZ25JbnB1dFAyc2hQMnBrKHR4YiwgaW5wdXRJbmRleCwgcm9vdFdhbGxldEtleXNbc2lnbmVyTmFtZV0pO1xuICAgIH0gZWxzZSBpZiAoaXNXYWxsZXRVbnNwZW50KHVuc3BlbnQpICYmIGNvc2lnbmVyTmFtZSkge1xuICAgICAgc2lnbklucHV0V2l0aFVuc3BlbnQoXG4gICAgICAgIHR4YixcbiAgICAgICAgaW5wdXRJbmRleCxcbiAgICAgICAgdW5zcGVudCxcbiAgICAgICAgV2FsbGV0VW5zcGVudFNpZ25lci5mcm9tKHJvb3RXYWxsZXRLZXlzLCByb290V2FsbGV0S2V5c1tzaWduZXJOYW1lXSwgcm9vdFdhbGxldEtleXNbY29zaWduZXJOYW1lXSlcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIGlmIChpc1dhbGxldFVuc3BlbnQodW5zcGVudCkgJiYgc2lnbiA9PT0gJ2Z1bGxzaWduZWQnICYmIGNvc2lnbmVyTmFtZSkge1xuICAgIHNpZ25JbnB1dFdpdGhVbnNwZW50KFxuICAgICAgdHhiLFxuICAgICAgaW5wdXRJbmRleCxcbiAgICAgIHVuc3BlbnQsXG4gICAgICBXYWxsZXRVbnNwZW50U2lnbmVyLmZyb20ocm9vdFdhbGxldEtleXMsIHJvb3RXYWxsZXRLZXlzW2Nvc2lnbmVyTmFtZV0sIHJvb3RXYWxsZXRLZXlzW3NpZ25lck5hbWVdKVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBzaWducyB3aXRoIGZpcnN0IG9yIHNlY29uZCBzaWduYXR1cmUgZm9yIGFsbCBpbnB1dHMuXG4gKiBwMnNoUDJwayBpcyBzaWduZWQgb25seSB3aXRoIGZpcnN0IHNpZ24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduQWxsVHhuSW5wdXRzPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eGI6IFV0eG9UcmFuc2FjdGlvbkJ1aWxkZXI8VE51bWJlcj4sXG4gIGlucHV0czogVHhuSW5wdXQ8VE51bWJlcj5bXSxcbiAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzLFxuICBzaWduOiAnaGFsZnNpZ25lZCcgfCAnZnVsbHNpZ25lZCcsXG4gIHNpZ25lcnM/OiB7IHNpZ25lck5hbWU6IEtleU5hbWU7IGNvc2lnbmVyTmFtZT86IEtleU5hbWUgfVxuKTogdm9pZCB7XG4gIGlucHV0cy5mb3JFYWNoKChpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBzaWduVHhuSW5wdXQodHhiLCBpbnB1dCwgaW5kZXgsIHJvb3RXYWxsZXRLZXlzLCBzaWduLCBzaWduZXJzKTtcbiAgfSk7XG59XG5cbi8qKlxuICogY29uc3RydWN0IHRyYW5zYWN0aW9uIGZvciBnaXZlbiBpbnB1dHMsIG91dHB1dHMsIG5ldHdvcmsgYW5kIHJvb3Qgd2FsbGV0IGtleXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RUeG5CdWlsZGVyPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBpbnB1dHM6IFR4bklucHV0PFROdW1iZXI+W10sXG4gIG91dHB1dHM6IFR4bk91dHB1dDxUTnVtYmVyPltdLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ246ICd1bnNpZ25lZCcgfCAnaGFsZnNpZ25lZCcgfCAnZnVsbHNpZ25lZCcsXG4gIHNpZ25lcnM/OiB7IHNpZ25lck5hbWU6IEtleU5hbWU7IGNvc2lnbmVyTmFtZT86IEtleU5hbWUgfVxuKTogVXR4b1RyYW5zYWN0aW9uQnVpbGRlcjxUTnVtYmVyPiB7XG4gIGNvbnN0IHRvdGFsSW5wdXRBbW91bnQgPSBpbnB1dHMucmVkdWNlKChzdW0sIGlucHV0KSA9PiBzdW0gKyBCaWdJbnQoaW5wdXQudmFsdWUpLCBCaWdJbnQoMCkpO1xuICBjb25zdCBvdXRwdXRJbnB1dEFtb3VudCA9IG91dHB1dHMucmVkdWNlKChzdW0sIG91dHB1dCkgPT4gc3VtICsgQmlnSW50KG91dHB1dC52YWx1ZSksIEJpZ0ludCgwKSk7XG4gIGFzc2VydCh0b3RhbElucHV0QW1vdW50ID49IG91dHB1dElucHV0QW1vdW50LCAndG90YWwgb3V0cHV0IGNhbiBub3QgZXhjZWVkIHRvdGFsIGlucHV0Jyk7XG4gIGFzc2VydChcbiAgICAhb3V0cHV0cy5zb21lKChvKSA9PiAoby5zY3JpcHRUeXBlICYmIG8uYWRkcmVzcykgfHwgKCFvLnNjcmlwdFR5cGUgJiYgIW8uYWRkcmVzcykpLFxuICAgICdvbmx5IGVpdGhlciBvdXRwdXQgc2NyaXB0IHR5cGUgb3IgYWRkcmVzcyBzaG91bGQgYmUgcHJvdmlkZWQnXG4gICk7XG5cbiAgY29uc3QgdHhiID0gY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyRm9yTmV0d29yazxUTnVtYmVyPihuZXR3b3JrKTtcblxuICBjb25zdCB1bnNwZW50cyA9IGlucHV0cy5tYXAoKGlucHV0LCBpKSA9PiB0b1R4blVuc3BlbnQoaW5wdXQsIGksIG5ldHdvcmssIHJvb3RXYWxsZXRLZXlzKSk7XG5cbiAgdW5zcGVudHMuZm9yRWFjaCgodSwgaSkgPT4ge1xuICAgIGFkZFRvVHJhbnNhY3Rpb25CdWlsZGVyKHR4YiwgdSk7XG4gIH0pO1xuXG4gIG91dHB1dHMuZm9yRWFjaCgob3V0cHV0LCBpKSA9PiB7XG4gICAgY29uc3QgYWRkcmVzcyA9IG91dHB1dC5zY3JpcHRUeXBlXG4gICAgICA/IGdldFdhbGxldEFkZHJlc3MoXG4gICAgICAgICAgcm9vdFdhbGxldEtleXMsXG4gICAgICAgICAgb3V0cHV0LmlzSW50ZXJuYWxBZGRyZXNzID8gZ2V0SW50ZXJuYWxDaGFpbkNvZGUob3V0cHV0LnNjcmlwdFR5cGUpIDogZ2V0RXh0ZXJuYWxDaGFpbkNvZGUob3V0cHV0LnNjcmlwdFR5cGUpLFxuICAgICAgICAgIGksXG4gICAgICAgICAgbmV0d29ya1xuICAgICAgICApXG4gICAgICA6IG91dHB1dC5hZGRyZXNzO1xuICAgIGlmICghYWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhZGRyZXNzIGlzIG1pc3NpbmcnKTtcbiAgICB9XG4gICAgdHhiLmFkZE91dHB1dChhZGRyZXNzLCBvdXRwdXQudmFsdWUpO1xuICB9KTtcblxuICBpZiAoc2lnbiA9PT0gJ3Vuc2lnbmVkJykge1xuICAgIHJldHVybiB0eGI7XG4gIH1cblxuICBzaWduQWxsVHhuSW5wdXRzKHR4YiwgaW5wdXRzLCByb290V2FsbGV0S2V5cywgJ2hhbGZzaWduZWQnLCBzaWduZXJzKTtcblxuICBpZiAoc2lnbiA9PT0gJ2Z1bGxzaWduZWQnKSB7XG4gICAgc2lnbkFsbFR4bklucHV0cyh0eGIsIGlucHV0cywgcm9vdFdhbGxldEtleXMsIHNpZ24sIHNpZ25lcnMpO1xuICB9XG5cbiAgcmV0dXJuIHR4Yjtcbn1cbiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMkRBLG9DQWdCQztBQU9ELHNDQUtDO0FBTUQsb0NBOEJDO0FBTUQsNENBVUM7QUFLRCxrREFrREM7QUFsTUQsaUNBQWlDO0FBRWpDLDBEQUF5RztBQUN6RyxvQ0Fja0I7QUFFbEIsaUNBQXdFO0FBMkJ4RTs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsa0NBQWtCLENBQVUsQ0FBQztBQUV2Rzs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsK0JBQWUsQ0FBQztBQUVwRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsS0FBd0IsRUFDeEIsS0FBYSxFQUNiLE9BQWdCLEVBQ2hCLGNBQThCO0lBRTlCLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUEsa0NBQTJCLEVBQVUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxJQUFBLHdCQUFpQixFQUFVLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3RELEtBQUssRUFBRSxJQUFBLDRCQUFvQixFQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDN0MsSUFBSSxFQUFFLEtBQUs7WUFDWCxJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLO1NBQ04sQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLFNBQTZCO0lBQ3pELE9BQU87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LENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVyRSxJQUFJLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUMxQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBTY3JpcHRUeXBlLCBTY3JpcHRUeXBlMk9mMywgc2NyaXB0VHlwZVAyc2hQMnBrLCBzY3JpcHRUeXBlczJPZjMgfSBmcm9tICcuLi9iaXRnby9vdXRwdXRTY3JpcHRzJztcbmltcG9ydCB7XG4gIGdldEV4dGVybmFsQ2hhaW5Db2RlLFxuICBpc1dhbGxldFVuc3BlbnQsXG4gIEtleU5hbWUsXG4gIGdldEludGVybmFsQ2hhaW5Db2RlLFxuICBSb290V2FsbGV0S2V5cyxcbiAgVW5zcGVudCxcbiAgVXR4b1RyYW5zYWN0aW9uQnVpbGRlcixcbiAgY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyRm9yTmV0d29yayxcbiAgYWRkVG9UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGdldFdhbGxldEFkZHJlc3MsXG4gIHNpZ25JbnB1dFAyc2hQMnBrLFxuICBzaWduSW5wdXRXaXRoVW5zcGVudCxcbiAgV2FsbGV0VW5zcGVudFNpZ25lcixcbn0gZnJvbSAnLi4vYml0Z28nO1xuaW1wb3J0IHsgTmV0d29yayB9IGZyb20gJy4uL25ldHdvcmtzJztcbmltcG9ydCB7IG1vY2tSZXBsYXlQcm90ZWN0aW9uVW5zcGVudCwgbW9ja1dhbGxldFVuc3BlbnQgfSBmcm9tICcuL21vY2snO1xuXG4vKipcbiAqIGlucHV0IHNjcmlwdCB0eXBlIGFuZCB2YWx1ZS5cbiAqL1xuZXhwb3J0IHR5cGUgVHhuSW5wdXRTY3JpcHRUeXBlID0gRXhjbHVkZTxTY3JpcHRUeXBlLCAncDJ0ck11c2lnMic+O1xuZXhwb3J0IHR5cGUgVHhuT3V0cHV0U2NyaXB0VHlwZSA9IFNjcmlwdFR5cGUyT2YzO1xuXG4vKipcbiAqIG91dHB1dCBzY3JpcHQgdHlwZSBhbmQgdmFsdWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeG5JbnB1dDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PiB7XG4gIHNjcmlwdFR5cGU6IFR4bklucHV0U2NyaXB0VHlwZTtcbiAgdmFsdWU6IFROdW1iZXI7XG59XG5cbi8qKlxuICogc2hvdWxkIHNldCBlaXRoZXIgYWRkcmVzcyBvciBzY3JpcHRUeXBlLCBuZXZlciBib3RoLlxuICogc2V0IGlzSW50ZXJuYWxBZGRyZXNzPXRydWUgZm9yIGludGVybmFsIG91dHB1dCBhZGRyZXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhuT3V0cHV0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgc2NyaXB0VHlwZT86IFR4bk91dHB1dFNjcmlwdFR5cGU7XG4gIHZhbHVlOiBUTnVtYmVyO1xuICBpc0ludGVybmFsQWRkcmVzcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogYXJyYXkgb2Ygc3VwcG9ydGVkIGlucHV0IHNjcmlwdCB0eXBlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHR4bklucHV0U2NyaXB0VHlwZXMgPSBbJ3Ayc2gnLCAncDJzaFAyd3NoJywgJ3Ayd3NoJywgJ3AydHInLCBzY3JpcHRUeXBlUDJzaFAycGtdIGFzIGNvbnN0O1xuXG4vKipcbiAqIGFycmF5IG9mIHN1cHBvcnRlZCBvdXRwdXQgc2NyaXB0IHR5cGVzLlxuICovXG5leHBvcnQgY29uc3QgdHhuT3V0cHV0U2NyaXB0VHlwZXMgPSBzY3JpcHRUeXBlczJPZjM7XG5cbi8qKlxuICogY3JlYXRlIHVuc3BlbnQgb2JqZWN0IGZyb20gaW5wdXQgc2NyaXB0IHR5cGUsIGluZGV4LCBuZXR3b3JrIGFuZCByb290IHdhbGxldCBrZXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1R4blVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIGlucHV0OiBUeG5JbnB1dDxUTnVtYmVyPixcbiAgaW5kZXg6IG51bWJlcixcbiAgbmV0d29yazogTmV0d29yayxcbiAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzXG4pOiBVbnNwZW50PFROdW1iZXI+IHtcbiAgaWYgKGlucHV0LnNjcmlwdFR5cGUgPT09ICdwMnNoUDJwaycpIHtcbiAgICByZXR1cm4gbW9ja1JlcGxheVByb3RlY3Rpb25VbnNwZW50PFROdW1iZXI+KG5ldHdvcmssIGlucHV0LnZhbHVlLCB7IGtleTogcm9vdFdhbGxldEtleXNbJ3VzZXInXSwgdm91dDogaW5kZXggfSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG1vY2tXYWxsZXRVbnNwZW50PFROdW1iZXI+KG5ldHdvcmssIGlucHV0LnZhbHVlLCB7XG4gICAgICBjaGFpbjogZ2V0SW50ZXJuYWxDaGFpbkNvZGUoaW5wdXQuc2NyaXB0VHlwZSksXG4gICAgICB2b3V0OiBpbmRleCxcbiAgICAgIGtleXM6IHJvb3RXYWxsZXRLZXlzLFxuICAgICAgaW5kZXgsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiByZXR1cm5zIHNpZ25lciBhbmQgY29zaWduZXIgbmFtZXMgZm9yIFR4bklucHV0U2NyaXB0VHlwZS5cbiAqIHVzZXIgYW5kIHVuZGVmaW5lZCBhcyBzaWduZXIgYW5kIGNvc2lnbmVyIHJlc3BlY3RpdmVseSBmb3IgcDJzaFAycGsuXG4gKiB1c2VyIGFuZCBiaXRnbyBhcyBzaWduZXIgYW5kIGNvc2lnbmVyIHJlc3BlY3RpdmVseSBmb3Igb3RoZXIgaW5wdXQgc2NyaXB0IHR5cGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHhuU2lnbmVycyhpbnB1dFR5cGU6IFR4bklucHV0U2NyaXB0VHlwZSk6IHsgc2lnbmVyTmFtZTogS2V5TmFtZTsgY29zaWduZXJOYW1lPzogS2V5TmFtZSB9IHtcbiAgcmV0dXJuIHtcbiAgICBzaWduZXJOYW1lOiAndXNlcicsXG4gICAgY29zaWduZXJOYW1lOiBpbnB1dFR5cGUgPT09ICdwMnNoUDJwaycgPyB1bmRlZmluZWQgOiAnYml0Z28nLFxuICB9O1xufVxuXG4vKipcbiAqIHNpZ25zIHdpdGggZmlyc3Qgb3Igc2Vjb25kIHNpZ25hdHVyZSBmb3Igc2luZ2xlIGlucHV0LlxuICogcDJzaFAycGsgaXMgc2lnbmVkIG9ubHkgd2l0aCBmaXJzdCBzaWduLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2lnblR4bklucHV0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eGI6IFV0eG9UcmFuc2FjdGlvbkJ1aWxkZXI8VE51bWJlcj4sXG4gIGlucHV0OiBUeG5JbnB1dDxUTnVtYmVyPixcbiAgaW5wdXRJbmRleDogbnVtYmVyLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ246ICdoYWxmc2lnbmVkJyB8ICdmdWxsc2lnbmVkJyxcbiAgc2lnbmVycz86IHsgc2lnbmVyTmFtZTogS2V5TmFtZTsgY29zaWduZXJOYW1lPzogS2V5TmFtZSB9XG4pOiB2b2lkIHtcbiAgY29uc3QgeyBzaWduZXJOYW1lLCBjb3NpZ25lck5hbWUgfSA9IHNpZ25lcnMgPyBzaWduZXJzIDogZ2V0VHhuU2lnbmVycyhpbnB1dC5zY3JpcHRUeXBlKTtcbiAgY29uc3QgdW5zcGVudCA9IHRvVHhuVW5zcGVudChpbnB1dCwgaW5wdXRJbmRleCwgdHhiLm5ldHdvcmssIHJvb3RXYWxsZXRLZXlzKTtcbiAgaWYgKHNpZ24gPT09ICdoYWxmc2lnbmVkJykge1xuICAgIGlmIChpbnB1dC5zY3JpcHRUeXBlID09PSAncDJzaFAycGsnKSB7XG4gICAgICBzaWduSW5wdXRQMnNoUDJwayh0eGIsIGlucHV0SW5kZXgsIHJvb3RXYWxsZXRLZXlzW3NpZ25lck5hbWVdKTtcbiAgICB9IGVsc2UgaWYgKGlzV2FsbGV0VW5zcGVudCh1bnNwZW50KSAmJiBjb3NpZ25lck5hbWUpIHtcbiAgICAgIHNpZ25JbnB1dFdpdGhVbnNwZW50KFxuICAgICAgICB0eGIsXG4gICAgICAgIGlucHV0SW5kZXgsXG4gICAgICAgIHVuc3BlbnQsXG4gICAgICAgIFdhbGxldFVuc3BlbnRTaWduZXIuZnJvbShyb290V2FsbGV0S2V5cywgcm9vdFdhbGxldEtleXNbc2lnbmVyTmFtZV0sIHJvb3RXYWxsZXRLZXlzW2Nvc2lnbmVyTmFtZV0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBpZiAoaXNXYWxsZXRVbnNwZW50KHVuc3BlbnQpICYmIHNpZ24gPT09ICdmdWxsc2lnbmVkJyAmJiBjb3NpZ25lck5hbWUpIHtcbiAgICBzaWduSW5wdXRXaXRoVW5zcGVudChcbiAgICAgIHR4YixcbiAgICAgIGlucHV0SW5kZXgsXG4gICAgICB1bnNwZW50LFxuICAgICAgV2FsbGV0VW5zcGVudFNpZ25lci5mcm9tKHJvb3RXYWxsZXRLZXlzLCByb290V2FsbGV0S2V5c1tjb3NpZ25lck5hbWVdLCByb290V2FsbGV0S2V5c1tzaWduZXJOYW1lXSlcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogc2lnbnMgd2l0aCBmaXJzdCBvciBzZWNvbmQgc2lnbmF0dXJlIGZvciBhbGwgaW5wdXRzLlxuICogcDJzaFAycGsgaXMgc2lnbmVkIG9ubHkgd2l0aCBmaXJzdCBzaWduLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2lnbkFsbFR4bklucHV0czxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgdHhiOiBVdHhvVHJhbnNhY3Rpb25CdWlsZGVyPFROdW1iZXI+LFxuICBpbnB1dHM6IFR4bklucHV0PFROdW1iZXI+W10sXG4gIHJvb3RXYWxsZXRLZXlzOiBSb290V2FsbGV0S2V5cyxcbiAgc2lnbjogJ2hhbGZzaWduZWQnIHwgJ2Z1bGxzaWduZWQnLFxuICBzaWduZXJzPzogeyBzaWduZXJOYW1lOiBLZXlOYW1lOyBjb3NpZ25lck5hbWU/OiBLZXlOYW1lIH1cbik6IHZvaWQge1xuICBpbnB1dHMuZm9yRWFjaCgoaW5wdXQsIGluZGV4KSA9PiB7XG4gICAgc2lnblR4bklucHV0KHR4YiwgaW5wdXQsIGluZGV4LCByb290V2FsbGV0S2V5cywgc2lnbiwgc2lnbmVycyk7XG4gIH0pO1xufVxuXG4vKipcbiAqIGNvbnN0cnVjdCB0cmFuc2FjdGlvbiBmb3IgZ2l2ZW4gaW5wdXRzLCBvdXRwdXRzLCBuZXR3b3JrIGFuZCByb290IHdhbGxldCBrZXlzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0VHhuQnVpbGRlcjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgaW5wdXRzOiBUeG5JbnB1dDxUTnVtYmVyPltdLFxuICBvdXRwdXRzOiBUeG5PdXRwdXQ8VE51bWJlcj5bXSxcbiAgbmV0d29yazogTmV0d29yayxcbiAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzLFxuICBzaWduOiAndW5zaWduZWQnIHwgJ2hhbGZzaWduZWQnIHwgJ2Z1bGxzaWduZWQnLFxuICBzaWduZXJzPzogeyBzaWduZXJOYW1lOiBLZXlOYW1lOyBjb3NpZ25lck5hbWU/OiBLZXlOYW1lIH1cbik6IFV0eG9UcmFuc2FjdGlvbkJ1aWxkZXI8VE51bWJlcj4ge1xuICBjb25zdCB0b3RhbElucHV0QW1vdW50ID0gaW5wdXRzLnJlZHVjZSgoc3VtLCBpbnB1dCkgPT4gc3VtICsgQmlnSW50KGlucHV0LnZhbHVlKSwgQmlnSW50KDApKTtcbiAgY29uc3Qgb3V0cHV0SW5wdXRBbW91bnQgPSBvdXRwdXRzLnJlZHVjZSgoc3VtLCBvdXRwdXQpID0+IHN1bSArIEJpZ0ludChvdXRwdXQudmFsdWUpLCBCaWdJbnQoMCkpO1xuICBhc3NlcnQodG90YWxJbnB1dEFtb3VudCA+PSBvdXRwdXRJbnB1dEFtb3VudCwgJ3RvdGFsIG91dHB1dCBjYW4gbm90IGV4Y2VlZCB0b3RhbCBpbnB1dCcpO1xuICBhc3NlcnQoXG4gICAgIW91dHB1dHMuc29tZSgobykgPT4gKG8uc2NyaXB0VHlwZSAmJiBvLmFkZHJlc3MpIHx8ICghby5zY3JpcHRUeXBlICYmICFvLmFkZHJlc3MpKSxcbiAgICAnb25seSBlaXRoZXIgb3V0cHV0IHNjcmlwdCB0eXBlIG9yIGFkZHJlc3Mgc2hvdWxkIGJlIHByb3ZpZGVkJ1xuICApO1xuXG4gIGNvbnN0IHR4YiA9IGNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlckZvck5ldHdvcms8VE51bWJlcj4obmV0d29yayk7XG5cbiAgY29uc3QgdW5zcGVudHMgPSBpbnB1dHMubWFwKChpbnB1dCwgaSkgPT4gdG9UeG5VbnNwZW50KGlucHV0LCBpLCBuZXR3b3JrLCByb290V2FsbGV0S2V5cykpO1xuXG4gIHVuc3BlbnRzLmZvckVhY2goKHUsIGkpID0+IHtcbiAgICBhZGRUb1RyYW5zYWN0aW9uQnVpbGRlcih0eGIsIHUpO1xuICB9KTtcblxuICBvdXRwdXRzLmZvckVhY2goKG91dHB1dCwgaSkgPT4ge1xuICAgIGNvbnN0IGFkZHJlc3MgPSBvdXRwdXQuc2NyaXB0VHlwZVxuICAgICAgPyBnZXRXYWxsZXRBZGRyZXNzKFxuICAgICAgICAgIHJvb3RXYWxsZXRLZXlzLFxuICAgICAgICAgIG91dHB1dC5pc0ludGVybmFsQWRkcmVzcyA/IGdldEludGVybmFsQ2hhaW5Db2RlKG91dHB1dC5zY3JpcHRUeXBlKSA6IGdldEV4dGVybmFsQ2hhaW5Db2RlKG91dHB1dC5zY3JpcHRUeXBlKSxcbiAgICAgICAgICBpLFxuICAgICAgICAgIG5ldHdvcmtcbiAgICAgICAgKVxuICAgICAgOiBvdXRwdXQuYWRkcmVzcztcbiAgICBpZiAoIWFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYWRkcmVzcyBpcyBtaXNzaW5nJyk7XG4gICAgfVxuICAgIHR4Yi5hZGRPdXRwdXQoYWRkcmVzcywgb3V0cHV0LnZhbHVlKTtcbiAgfSk7XG5cbiAgaWYgKHNpZ24gPT09ICd1bnNpZ25lZCcpIHtcbiAgICByZXR1cm4gdHhiO1xuICB9XG5cbiAgc2lnbkFsbFR4bklucHV0cyh0eGIsIGlucHV0cywgcm9vdFdhbGxldEtleXMsICdoYWxmc2lnbmVkJywgc2lnbmVycyk7XG5cbiAgaWYgKHNpZ24gPT09ICdmdWxsc2lnbmVkJykge1xuICAgIHNpZ25BbGxUeG5JbnB1dHModHhiLCBpbnB1dHMsIHJvb3RXYWxsZXRLZXlzLCBzaWduLCBzaWduZXJzKTtcbiAgfVxuXG4gIHJldHVybiB0eGI7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction_builder.d.ts","sourceRoot":"","sources":["../../src/transaction_builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction_builder.d.ts","sourceRoot":"","sources":["../../src/transaction_builder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAM7B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAG3C,MAAM,WAAW,MAAM;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,IAAI,MAAM,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAuED,UAAU,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,qBAAa,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IAyCnD,OAAO,EAAE,OAAO;IAA4B,cAAc,EAAE,MAAM;IAxCrF,MAAM,CAAC,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7D,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,EACjB,WAAW,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAChC,kBAAkB,CAAC,OAAO,CAAC;IA6B9B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,WAAW,CAAU;gBAIV,OAAO,GAAE,OAA0B,EAAS,cAAc,GAAE,MAAa;IAQ5F,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;IASnC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAiBnC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOjC,QAAQ,CACN,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,EAC9C,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,OAAO,GACd,MAAM;IA0BT,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAahE,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC;IAI7B,eAAe,IAAI,WAAW,CAAC,OAAO,CAAC;IAIvC,IAAI,CACF,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,EACxC,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,OAAO,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAoBP,OAAO,CAAC,gBAAgB;IA4CxB,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,iBAAiB;CAe1B"}
|