@coolwallet/sol
Advanced tools
Comparing version 1.1.8-beta.0 to 1.1.8-beta.1
@@ -8,3 +8,3 @@ /// <reference types="node" /> | ||
}; | ||
TRANSFER_SELF: { | ||
TRANSFER_WITH_COMPUTE_BUDGET: { | ||
script: string; | ||
@@ -39,2 +39,7 @@ signature: string; | ||
}; | ||
CREATE_AND_SPL_TOKEN_WITH_COMPUTE_BUDGET: { | ||
script: string; | ||
signature: string; | ||
readonly scriptWithSignature: string; | ||
}; | ||
DELEGATE: { | ||
@@ -88,2 +93,3 @@ script: string; | ||
declare const COMPUTE_BUDGET_PROGRAM_ID: Buffer; | ||
declare const PADDING_PUBLICKEY: string; | ||
declare const PACKET_DATA_SIZE: number; | ||
@@ -96,2 +102,2 @@ declare const VERSION_PREFIX_MASK = 127; | ||
declare const PUBLIC_KEY_LENGTH = 32; | ||
export { SCRIPT, COIN_TYPE, LAMPORTS_PER_SOL, SYSTEM_PROGRAM_ID, TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, STAKE_PROGRAM_ID, STAKE_CONFIG_ID, ASSOCIATED_TOKEN_PROGRAM_ID, SYSVAR_RENT_PUBKEY, SYSVAR_CLOCK_PUBKEY, SYSVAR_STAKE_HISTORY_PUBKEY, COMPUTE_BUDGET_PROGRAM_ID, PACKET_DATA_SIZE, VERSION_PREFIX_MASK, PUBLIC_KEY_LENGTH, }; | ||
export { SCRIPT, COIN_TYPE, LAMPORTS_PER_SOL, SYSTEM_PROGRAM_ID, TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, STAKE_PROGRAM_ID, STAKE_CONFIG_ID, ASSOCIATED_TOKEN_PROGRAM_ID, SYSVAR_RENT_PUBKEY, SYSVAR_CLOCK_PUBKEY, SYSVAR_STAKE_HISTORY_PUBKEY, COMPUTE_BUDGET_PROGRAM_ID, PADDING_PUBLICKEY, PACKET_DATA_SIZE, VERSION_PREFIX_MASK, PUBLIC_KEY_LENGTH, }; |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.VERSION_PREFIX_MASK = exports.TOKEN_PROGRAM_ID = exports.TOKEN_2022_PROGRAM_ID = exports.SYSVAR_STAKE_HISTORY_PUBKEY = exports.SYSVAR_RENT_PUBKEY = exports.SYSVAR_CLOCK_PUBKEY = exports.SYSTEM_PROGRAM_ID = exports.STAKE_PROGRAM_ID = exports.STAKE_CONFIG_ID = exports.SIGNATURE_LENGTH_IN_BYTES = exports.SCRIPT = exports.PUBLIC_KEY_LENGTH = exports.PACKET_DATA_SIZE = exports.LAMPORTS_PER_SOL = exports.COMPUTE_BUDGET_PROGRAM_ID = exports.COIN_TYPE = exports.ASSOCIATED_TOKEN_PROGRAM_ID = void 0; | ||
exports.VERSION_PREFIX_MASK = exports.TOKEN_PROGRAM_ID = exports.TOKEN_2022_PROGRAM_ID = exports.SYSVAR_STAKE_HISTORY_PUBKEY = exports.SYSVAR_RENT_PUBKEY = exports.SYSVAR_CLOCK_PUBKEY = exports.SYSTEM_PROGRAM_ID = exports.STAKE_PROGRAM_ID = exports.STAKE_CONFIG_ID = exports.SIGNATURE_LENGTH_IN_BYTES = exports.SCRIPT = exports.PUBLIC_KEY_LENGTH = exports.PADDING_PUBLICKEY = exports.PACKET_DATA_SIZE = exports.LAMPORTS_PER_SOL = exports.COMPUTE_BUDGET_PROGRAM_ID = exports.COIN_TYPE = exports.ASSOCIATED_TOKEN_PROGRAM_ID = void 0; | ||
var _bs = _interopRequireDefault(require("bs58")); | ||
@@ -12,4 +12,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
TRANSFER: { | ||
script: "03000002C70700000001F5CC071001CC071000CC071001CAA01700CAA157001AA017C004021507C005CAAC570021CAAC570041CAAC570061CC0710011AA017C00802CC0710011507C004CC071002CC071002CAACC7008102CAAC170083CAACC7008404CAAC970088DC07C003534F4C1AACC7C081020F0001BAAC5F6C210804DDF097001507C00ABAA15F6C0804DDF09700250F00BAAC9ECC88080F10DAE097C009250E00D207CC05065052455353425554546F4E", | ||
signature: "3045022026CCAB06DA64DEBE4CF10D8CE3C7C27946991DCC98314AE20A6EBF0A1A71F047022100D321983320786B1A5BE3270F1AC0DF8AA403875A625532FC3B9C23E181F0B2F7".padStart(144, '0'), | ||
script: "03000002C70700000001F5CC071001CC071000CC071001CAA01700CAA15700CAAC5700211AAC57C041042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700411AAC57C061042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071001CAAC1700E1CAAC1700E2CAAC1700E3CAAC1700E4CAAC1700E5CAACC700E604CAACC700EA081AAC17C0E40A00BAA15F6C0804DDF097001AAC17C0E40B01BAAC5F6C210804DDF09700250F00BAACCECCEA08080F10DAE097C009250E00D207CC05065052455353425554546F4E", | ||
signature: "3045022100faa7dc199887906875a006eb78f5c39ba7f64790826b06c2af1d6a59802f9bf702203f9d6e70cc2ba8b71b538cf224d7c15da07f049a4c53bc4557b1cdcffff3299e".padStart(144, '0'), | ||
get scriptWithSignature() { | ||
@@ -19,5 +19,5 @@ return this.script + this.signature; | ||
}, | ||
TRANSFER_SELF: { | ||
script: "03000002C70700000001F5CC071001CC071000CC071001CAA01700CAA157001AA017C004021507C003CA0700CAAC570021CAAC570041CC0710011AA017C00802CC0710011507C004CC071002CC071002CAACC7006102CAAC170063CAACC7006404CAAC970068DC07C003534F4C1AACC7C061020D0001BA0F6C0804DDF097001507C00ABAA15F6C0804DDF09700250F00BAAC9ECC68080F10DAE097C009250E00D207CC05065052455353425554546F4E", | ||
signature: "3046022100f7f513983d00ec91d6ea3fef37441cc63e75cc4729cd15d79b5a823b52cc71e702210096b3ea7f64500eedfc7e1eefcbb12fd048fe61789f394b32ecdd2bf754789dce".padStart(144, '0'), | ||
TRANSFER_WITH_COMPUTE_BUDGET: { | ||
script: "03000002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC5700211AAC57C041042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700411AAC57C061042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071003CAAC1700E1CAAC1700E2CAAC1700E3CAAC1700E4CAACC700E508CAAC1700EDCAAC1700EECAAC1700EFCAAC1700F0CAACC700F104CAAC1700F5CAAC1700F6CAAC1700F7CAAC1700F8CAAC1700F9CAACC700FA04CAACC700FE081AAC17C0F80A00BAA15F6C0804DDF097001AAC17C0F80B01BAAC5F6C210804DDF09700250F00BAACCECCFE08080F10DAE097C009250E00D207CC05065052455353425554546F4E", | ||
signature: "3045022100f40d2846095de3ade5e1bfac77590b6bbcbcdf20f4131fa221b49029e538411d0220043aacdafb9692205fe3c1d194019b507d5fea277f1053c5a8704957ccbd60c9".padStart(144, '0'), | ||
get scriptWithSignature() { | ||
@@ -42,4 +42,4 @@ return this.script + this.signature; | ||
SPL_TOKEN: { | ||
script: "03060002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC570021CAAC570041CAAC5700611CAC57C081041507C005CAAC5700811CAC57C0A1041507C005CAAC5700A1CAAC5700C1CC0710011AA017C00805CC0710041507C004CC071003CC071004CAACC700E104CAAC1700E5CAAC1700E6CAACC700E708CAAC1700EFDC07C003534F4C11ACC7CDF0290401191507C004CC0F104012AC17C0F10401071507C002FF00B5AC1700F1CAACBF00F2DEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCE708080F1012AC17C0F00400141507C002FF00B5AC1700F0DAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "304402201980b69b843fa671f9737c8c8f868db16fdb0e2a32231daed0906d4ac172eb4d02200724dc395eb06cb13db411fd51c860a417d7d971d40b60f7059afa0bf143ee99".padStart(144, '0'), | ||
script: "03000002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC570021CAAC570041CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071001CAAC1700E1CAAC1700E2CAACC700E304CAAC1700E7CAAC1700E8CAACC700E908CAAC1700F1DC07C003534F4C11ACC7CDF22904011B1507C004CC0F104012AC17C0F30401071507C002FF00B5AC1700F3CAACBF00F4DEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCE908080F1012AC17C0F20400141507C002FF00B5AC1700F2DAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "3045022054e1f282e197b1288576809da57b3b4578dc3f49bc7f442743d0e18e452f2655022100a98f56d089b72e06886cbb8fa7d914d3784f1286f90790b30bcec4f16944075a".padStart(144, '0'), | ||
get scriptWithSignature() { | ||
@@ -50,4 +50,4 @@ return this.script + this.signature; | ||
SPL_TOKEN_WITH_COMPUTE_BUDGET: { | ||
script: "03060002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC570021CAAC570041CAAC5700611CAC57C081041507C005CAAC5700811CAC57C0A1041507C005CAAC5700A1CAAC5700C1CC0710031AA017C00806CC0710031507C004CC071002CC071000CC071009CC071003CAACC700F0081AA017C00806CC0710031507C004CC071002CC071000CC071005CC071002CAACC700F8041AA017C00806CC0710051507C004CC071004CC071004CAACC700E104CAAC1700E5CAAC1700E6CAACC700E708CAAC1700EFDC07C003534F4C11ACC7CDFC290401251507C004CC0F104012AC17C0FD0401071507C002FF00B5AC1700FDCAACBF00FEDEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCE708080F1012AC17C0FC0400141507C002FF00B5AC1700FCDAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "3045022100b58379e7af30763f79da31340739d098e713936be293c7b74257b06977af79bc02206bbfcdc3c727e80582a790866a44f7ff4028bb6e66a8bdd43cab50031d0a94ca".padStart(144, '0'), | ||
script: "03000002C70700000001F5CC071001CC071000CC071003CAA01700CAA15700CAAC570021CAAC570041CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071003CAAC1700E1CAAC1700E2CAAC1700E3CAAC1700E4CAACC700E508CAAC1700EDCAAC1700EECAAC1700EFCAAC1700F0CAACC700F104CAAC1700F5CAAC1700F6CAACC700F704CAAC1700FBCAAC1700FCCAACC700FD08CAAD17000105DC07C003534F4C11ADC7CD01062904012F1507C004CC0F104012AD17C001070401071507C002FF00B5AD17000107CAADBF000108DEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCFD08080F1012AD17C001060400141507C002FF00B5AD17000106DAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "3045022100b1d99c57f0132e26550c5c0a4a6a353c11601d8b7fa84ad5505d5f292791c27f02204827c2e8fcbdd75cd4f41dfceefed7efc58efca2aae17987bcb342e8270c48e0".padStart(144, '0'), | ||
get scriptWithSignature() { | ||
@@ -58,4 +58,4 @@ return this.script + this.signature; | ||
CREATE_AND_SPL_TOKEN: { | ||
script: "03000002C70700000001F5CC071001CC071000CC071005CAA01700CAA15700CAAC570021CAAC570041CAAC570061CAAC570081CAAC5700A1CAAC5700C1CAAC5700E1CAAD57000101CC071002CAAD17000121CC071006CAAD17000122CAAD17000123CAAD17000124CAADC700012503CC071000CAAD17000128CC071004CAADC700012904CC07100aCAAD1700012DCAADC700012E08CAAD17000136DC07C003534F4C11ADC7CD0137290401601507C004CC0F104012AD17C001380401071507C002FF00B5AD17000138CAADBF000139DEF09700250F001AAD17C001240E03BAAC5F6C610804DDF09700250F001AAD17C001240E04BAAC5F6C810804DDF09700250F001AAD17C001240E05BAAC5F6CA10804DDF09700250F001AAD17C001240E06BAAC5F6CC10804DDF09700250F001AAD17C001240E07BAAC5F6CE10804DDF09700250F00BAADCECC012E08080F1012AD17C001370400141507C002FF00B5AD17000137DAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "304502204b8352b174c9258fda1dc4ccb011822c1a43fc339173494455e143be9a73b8e1022100c5d0a8ce36ab68fa4607acf0fbb02acdfdf08bdc0b5a2c7a2ae57a33f53b072d".padStart(144, '0'), | ||
script: "03000002C70700000001F5CC071001CC071000CC071005CAA01700CAA15700CAAC570021CAAC570041CAAC570061CAAC570081CAAC5700A1CAAC5700C1CAAC5700E11AAD57C00101042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000101CAAD57000121CC071002CAAD17000141CAAD17000142CAADC700014306CAAD17000149CAAD1700014ACAAD1700014BCAADC700014C04CAAD17000150CAAD17000151CAADC700015208CAAD1700015ADC07C003534F4C11ADC7CD015B290401841507C004CC0F104012AD17C0015C0401071507C002FF00B5AD1700015CCAADBF00015DDEF09700250F00BAAC5F6C210804DDF09700250F00BAADCECC015208080F1012AD17C0015B0400141507C002FF00B5AD1700015BDAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "30460221008c46b69d4255c1ce52b04e79789d601325971dc81aaa0848b121e0192107b768022100df369fd9fb65f9580cce98cee7f09f46a24c1f540b9a43c85ae457d27c161f68".padStart(144, '0'), | ||
get scriptWithSignature() { | ||
@@ -65,2 +65,9 @@ return this.script + this.signature; | ||
}, | ||
CREATE_AND_SPL_TOKEN_WITH_COMPUTE_BUDGET: { | ||
script: "03000002C70700000001F5CC071001CC071000CC071006CAA01700CAA15700CAAC570021CAAC570041CAAC570061CAAC570081CAAC5700A1CAAC5700C1CAAC5700E11AAD57C00101042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000101CAAD57000121CC071004CAAD17000141CAAD17000142CAADC700014306CAAD17000149CAAD1700014ACAAD1700014BCAAD1700014CCAAD1700014DCAADC700014E08CAAD17000156CAAD17000157CAAD17000158CAAD17000159CAADC700015A04CAAD1700015ECAAD1700015FCAADC700016004CAAD17000164CAAD17000165CAADC700016608CAAD1700016EDC07C003534F4C11ADC7CD016F290401981507C004CC0F104012AD17C001700401071507C002FF00B5AD17000170CAADBF000171DEF09700250F00BAAC5F6C210804DDF09700250F00BAADCECC016608080F1012AD17C0016F0400141507C002FF00B5AD1700016FDAE097B0250E00D207CC05065052455353425554546F4E", | ||
signature: "3046022100a61bb0137dc6c5a07ab97f1e3ea0df59ff6234c5deb54dda9b90d50e0439d9c5022100c34d56584dc02680c155f98d8165455273bba350df54fbd752f1b565e95f021d".padStart(144, '0'), | ||
get scriptWithSignature() { | ||
return this.script + this.signature; | ||
} | ||
}, | ||
DELEGATE: { | ||
@@ -121,3 +128,3 @@ script: "03000002C70700000001F5CC071001CC071000CC071005CC071007CAA05700CAA55700CAA65700CAAC570060CAAC570080CAAC5700A0CAAC5700C0CAAC5700E0CC071001CAAD17000100CC071006CAAD17000101CAAD17000102CAADC700010304CAAD17000107CAADC700010804DC07C003534F4CDC07C0055354414B451AAD17C001020D02BAA65F6C0804DDF09700250F001AAD17C001020E03BAAC5F6C600804DDF09700250F001AAD17C001020E04BAAC5F6C800804DDF09700250F001AAD17C001020E05BAAC5F6CA00804DDF09700250F001AAD17C001020E06BAAC5F6CC00804DDF09700250F00D207CC05065052455353425554546F4E", | ||
exports.LAMPORTS_PER_SOL = LAMPORTS_PER_SOL; | ||
var SYSTEM_PROGRAM_ID = Buffer.alloc(32); | ||
var SYSTEM_PROGRAM_ID = _bs["default"].decode('11111111111111111111111111111111'); | ||
// token | ||
@@ -147,2 +154,4 @@ exports.SYSTEM_PROGRAM_ID = SYSTEM_PROGRAM_ID; | ||
exports.COMPUTE_BUDGET_PROGRAM_ID = COMPUTE_BUDGET_PROGRAM_ID; | ||
var PADDING_PUBLICKEY = Buffer.from('--------------------------------', 'ascii').toString('hex'); | ||
exports.PADDING_PUBLICKEY = PADDING_PUBLICKEY; | ||
var PACKET_DATA_SIZE = 1280 - 40 - 8; | ||
@@ -160,2 +169,2 @@ exports.PACKET_DATA_SIZE = PACKET_DATA_SIZE; | ||
exports.PUBLIC_KEY_LENGTH = PUBLIC_KEY_LENGTH; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJTQ1JJUFQiLCJUUkFOU0ZFUiIsInNjcmlwdCIsInNpZ25hdHVyZSIsInBhZFN0YXJ0Iiwic2NyaXB0V2l0aFNpZ25hdHVyZSIsIlRSQU5TRkVSX1NFTEYiLCJTTUFSVF9DT05UUkFDVCIsIkFTU09DSUFURURfVE9LRU5fQUNDT1VOVCIsIlNQTF9UT0tFTiIsIlNQTF9UT0tFTl9XSVRIX0NPTVBVVEVfQlVER0VUIiwiQ1JFQVRFX0FORF9TUExfVE9LRU4iLCJERUxFR0FURSIsIlVOREVMRUdBVEUiLCJERUxFR0FURV9BTkRfQ1JFQVRFX0FDQ09VTlRfV0lUSF9TRUVEIiwiU1RBS0lOR19XSVRIRFJBVyIsIlNJR05fSU4iLCJTSUdOX01FU1NBR0UiLCJNVUxUSV9TSUdOX1RYIiwiZXhwb3J0cyIsIkNPSU5fVFlQRSIsIkxBTVBPUlRTX1BFUl9TT0wiLCJTWVNURU1fUFJPR1JBTV9JRCIsIkJ1ZmZlciIsImFsbG9jIiwiVE9LRU5fUFJPR1JBTV9JRCIsImJhc2U1OCIsImRlY29kZSIsIlRPS0VOXzIwMjJfUFJPR1JBTV9JRCIsIkFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCIsIlNUQUtFX1BST0dSQU1fSUQiLCJTVEFLRV9DT05GSUdfSUQiLCJTWVNWQVJfUkVOVF9QVUJLRVkiLCJTWVNWQVJfQ0xPQ0tfUFVCS0VZIiwiU1lTVkFSX1NUQUtFX0hJU1RPUllfUFVCS0VZIiwiQ09NUFVURV9CVURHRVRfUFJPR1JBTV9JRCIsIlBBQ0tFVF9EQVRBX1NJWkUiLCJWRVJTSU9OX1BSRUZJWF9NQVNLIiwiU0lHTkFUVVJFX0xFTkdUSF9JTl9CWVRFUyIsIlBVQkxJQ19LRVlfTEVOR1RIIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJhc2U1OCBmcm9tICdiczU4JztcblxuY29uc3QgU0NSSVBUID0ge1xuICBUUkFOU0ZFUjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDFDQUEwMTcwMENBQTE1NzAwMUFBMDE3QzAwNDAyMTUwN0MwMDVDQUFDNTcwMDIxQ0FBQzU3MDA0MUNBQUM1NzAwNjFDQzA3MTAwMTFBQTAxN0MwMDgwMkNDMDcxMDAxMTUwN0MwMDRDQzA3MTAwMkNDMDcxMDAyQ0FBQ0M3MDA4MTAyQ0FBQzE3MDA4M0NBQUNDNzAwODQwNENBQUM5NzAwODhEQzA3QzAwMzUzNEY0QzFBQUNDN0MwODEwMjBGMDAwMUJBQUM1RjZDMjEwODA0RERGMDk3MDAxNTA3QzAwQUJBQTE1RjZDMDgwNERERjA5NzAwMjUwRjAwQkFBQzlFQ0M4ODA4MEYxMERBRTA5N0MwMDkyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIwMjZDQ0FCMDZEQTY0REVCRTRDRjEwRDhDRTNDN0MyNzk0Njk5MURDQzk4MzE0QUUyMEE2RUJGMEExQTcxRjA0NzAyMjEwMEQzMjE5ODMzMjA3ODZCMUE1QkUzMjcwRjFBQzBERjhBQTQwMzg3NUE2MjU1MzJGQzNCOUMyM0UxODFGMEIyRjdgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgVFJBTlNGRVJfU0VMRjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDFDQUEwMTcwMENBQTE1NzAwMUFBMDE3QzAwNDAyMTUwN0MwMDNDQTA3MDBDQUFDNTcwMDIxQ0FBQzU3MDA0MUNDMDcxMDAxMUFBMDE3QzAwODAyQ0MwNzEwMDExNTA3QzAwNENDMDcxMDAyQ0MwNzEwMDJDQUFDQzcwMDYxMDJDQUFDMTcwMDYzQ0FBQ0M3MDA2NDA0Q0FBQzk3MDA2OERDMDdDMDAzNTM0RjRDMUFBQ0M3QzA2MTAyMEQwMDAxQkEwRjZDMDgwNERERjA5NzAwMTUwN0MwMEFCQUExNUY2QzA4MDREREYwOTcwMDI1MEYwMEJBQUM5RUNDNjgwODBGMTBEQUUwOTdDMDA5MjUwRTAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ2MDIyMTAwZjdmNTEzOTgzZDAwZWM5MWQ2ZWEzZmVmMzc0NDFjYzYzZTc1Y2M0NzI5Y2QxNWQ3OWI1YTgyM2I1MmNjNzFlNzAyMjEwMDk2YjNlYTdmNjQ1MDBlZWRmYzdlMWVlZmNiYjEyZmQwNDhmZTYxNzg5ZjM5NGIzMmVjZGQyYmY3NTQ3ODlkY2VgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU01BUlRfQ09OVFJBQ1Q6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0FBMDk3MDBEQzA3QzAwMzUzNEY0Q0QyMDdDMDA1NTM0RDQxNTI1NEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMEFGRUNCNkVFQ0IzNUJBMTNEOTI0RDYxQzNDNkM0NjgwMTdDQUUzMTgzNUU1OUE2NzIyQ0NGNzVFNjhDRjc4ODIwMjIwNzI1MkE0RTI3NzdFOEIyODlGOEFFNzkwMkQwQkVGNTIxODU5QThDNjA3N0IyMjA5QUI3QkQ3MDRDMzg5OTkyMWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBBU1NPQ0lBVEVEX1RPS0VOX0FDQ09VTlQ6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0MwNzEwMDFDQzA3MTAwMDFBQTAxN0MwMDgwOENDMDcxMDA2MTUwN0MwMDRDQzA3MTAwNUNBQTAxNzAwQ0FBMTU3MDBDQUFDNTcwMDIxQ0FBQzU3MDA0MUNBQUM1NzAwNjFDQUFDNTcwMDgxQ0FBQzU3MDBBMUNBQUM1NzAwQzExQUEwMTdDMDA1MDhDQUFDNTcwMEUxQ0FBRDU3MDAwMTAxQ0MwNzEwMDFDQUFEMTcwMDAxMjFDQzA3MTAwN0NBQURDNzAwMDEyMjA3Q0MwNzEwMDBEQzA3QzAwMzUzNEY0Q0QyMDdDQzA1MDc1NDZGNEI0NTRFNDE0MzQzNkY1NTRFNTRCQUFDNUY2QzIxMDgwNERERjA5NzAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ0MDIyMDdEQzY4M0Q5NTFEMzVENTU4QzQ1NTZENDIxMjRCOTlFQkEyQzlDODJGMUMzMzlERDUzNTk0REVCQkJFOTRDREQwMjIwMzdBQUYxNUQ0NDQ2MjMzOTgyREY1QUI4RkZGODlGRjMzODVBQ0ZDM0M1ODg1Mjc3MENDODAxMTVGMEU0OUY2NWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTUExfVE9LRU46IHtcbiAgICBzY3JpcHQ6IGAwMzA2MDAwMkM3MDcwMDAwMDAwMUY1Q0MwNzEwMDFDQzA3MTAwMENDMDcxMDAyQ0FBMDE3MDBDQUExNTcwMENBQUM1NzAwMjFDQUFDNTcwMDQxQ0FBQzU3MDA2MTFDQUM1N0MwODEwNDE1MDdDMDA1Q0FBQzU3MDA4MTFDQUM1N0MwQTEwNDE1MDdDMDA1Q0FBQzU3MDBBMUNBQUM1NzAwQzFDQzA3MTAwMTFBQTAxN0MwMDgwNUNDMDcxMDA0MTUwN0MwMDRDQzA3MTAwM0NDMDcxMDA0Q0FBQ0M3MDBFMTA0Q0FBQzE3MDBFNUNBQUMxNzAwRTZDQUFDQzcwMEU3MDhDQUFDMTcwMEVGREMwN0MwMDM1MzRGNEMxMUFDQzdDREYwMjkwNDAxMTkxNTA3QzAwNENDMEYxMDQwMTJBQzE3QzBGMTA0MDEwNzE1MDdDMDAyRkYwMEI1QUMxNzAwRjFDQUFDQkYwMEYyREVGMDk3MDAyNTBGMDBCQUFDNUY2QzIxMDgwNERERjA5NzAwMjUwRjAwQkFBQ0NFQ0NFNzA4MDgwRjEwMTJBQzE3QzBGMDA0MDAxNDE1MDdDMDAyRkYwMEI1QUMxNzAwRjBEQUUwOTdCMDI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NDAyMjAxOTgwYjY5Yjg0M2ZhNjcxZjk3MzdjOGM4Zjg2OGRiMTZmZGIwZTJhMzIyMzFkYWVkMDkwNmQ0YWMxNzJlYjRkMDIyMDA3MjRkYzM5NWViMDZjYjEzZGI0MTFmZDUxYzg2MGE0MTdkN2Q5NzFkNDBiNjBmNzA1OWFmYTBiZjE0M2VlOTlgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU1BMX1RPS0VOX1dJVEhfQ09NUFVURV9CVURHRVQ6IHtcbiAgICBzY3JpcHQ6IGAwMzA2MDAwMkM3MDcwMDAwMDAwMUY1Q0MwNzEwMDFDQzA3MTAwMENDMDcxMDAyQ0FBMDE3MDBDQUExNTcwMENBQUM1NzAwMjFDQUFDNTcwMDQxQ0FBQzU3MDA2MTFDQUM1N0MwODEwNDE1MDdDMDA1Q0FBQzU3MDA4MTFDQUM1N0MwQTEwNDE1MDdDMDA1Q0FBQzU3MDBBMUNBQUM1NzAwQzFDQzA3MTAwMzFBQTAxN0MwMDgwNkNDMDcxMDAzMTUwN0MwMDRDQzA3MTAwMkNDMDcxMDAwQ0MwNzEwMDlDQzA3MTAwM0NBQUNDNzAwRjAwODFBQTAxN0MwMDgwNkNDMDcxMDAzMTUwN0MwMDRDQzA3MTAwMkNDMDcxMDAwQ0MwNzEwMDVDQzA3MTAwMkNBQUNDNzAwRjgwNDFBQTAxN0MwMDgwNkNDMDcxMDA1MTUwN0MwMDRDQzA3MTAwNENDMDcxMDA0Q0FBQ0M3MDBFMTA0Q0FBQzE3MDBFNUNBQUMxNzAwRTZDQUFDQzcwMEU3MDhDQUFDMTcwMEVGREMwN0MwMDM1MzRGNEMxMUFDQzdDREZDMjkwNDAxMjUxNTA3QzAwNENDMEYxMDQwMTJBQzE3QzBGRDA0MDEwNzE1MDdDMDAyRkYwMEI1QUMxNzAwRkRDQUFDQkYwMEZFREVGMDk3MDAyNTBGMDBCQUFDNUY2QzIxMDgwNERERjA5NzAwMjUwRjAwQkFBQ0NFQ0NFNzA4MDgwRjEwMTJBQzE3QzBGQzA0MDAxNDE1MDdDMDAyRkYwMEI1QUMxNzAwRkNEQUUwOTdCMDI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMGI1ODM3OWU3YWYzMDc2M2Y3OWRhMzEzNDA3MzlkMDk4ZTcxMzkzNmJlMjkzYzdiNzQyNTdiMDY5NzdhZjc5YmMwMjIwNmJiZmNkYzNjNzI3ZTgwNTgyYTc5MDg2NmE0NGY3ZmY0MDI4YmI2ZTY2YThiZGQ0M2NhYjUwMDMxZDBhOTRjYWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBDUkVBVEVfQU5EX1NQTF9UT0tFTjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDVDQUEwMTcwMENBQTE1NzAwQ0FBQzU3MDAyMUNBQUM1NzAwNDFDQUFDNTcwMDYxQ0FBQzU3MDA4MUNBQUM1NzAwQTFDQUFDNTcwMEMxQ0FBQzU3MDBFMUNBQUQ1NzAwMDEwMUNDMDcxMDAyQ0FBRDE3MDAwMTIxQ0MwNzEwMDZDQUFEMTcwMDAxMjJDQUFEMTcwMDAxMjNDQUFEMTcwMDAxMjRDQUFEQzcwMDAxMjUwM0NDMDcxMDAwQ0FBRDE3MDAwMTI4Q0MwNzEwMDRDQUFEQzcwMDAxMjkwNENDMDcxMDBhQ0FBRDE3MDAwMTJEQ0FBREM3MDAwMTJFMDhDQUFEMTcwMDAxMzZEQzA3QzAwMzUzNEY0QzExQURDN0NEMDEzNzI5MDQwMTYwMTUwN0MwMDRDQzBGMTA0MDEyQUQxN0MwMDEzODA0MDEwNzE1MDdDMDAyRkYwMEI1QUQxNzAwMDEzOENBQURCRjAwMDEzOURFRjA5NzAwMjUwRjAwMUFBRDE3QzAwMTI0MEUwM0JBQUM1RjZDNjEwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAxMjQwRTA0QkFBQzVGNkM4MTA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDEyNDBFMDVCQUFDNUY2Q0ExMDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMTI0MEUwNkJBQUM1RjZDQzEwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAxMjQwRTA3QkFBQzVGNkNFMTA4MDREREYwOTcwMDI1MEYwMEJBQURDRUNDMDEyRTA4MDgwRjEwMTJBRDE3QzAwMTM3MDQwMDE0MTUwN0MwMDJGRjAwQjVBRDE3MDAwMTM3REFFMDk3QjAyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIwNGI4MzUyYjE3NGM5MjU4ZmRhMWRjNGNjYjAxMTgyMmMxYTQzZmMzMzkxNzM0OTQ0NTVlMTQzYmU5YTczYjhlMTAyMjEwMGM1ZDBhOGNlMzZhYjY4ZmE0NjA3YWNmMGZiYjAyYWNkZmRmMDhiZGMwYjVhMmM3YTJhZTU3YTMzZjUzYjA3MmRgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgREVMRUdBVEU6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0MwNzEwMDFDQzA3MTAwMENDMDcxMDA1Q0MwNzEwMDdDQUEwNTcwMENBQTU1NzAwQ0FBNjU3MDBDQUFDNTcwMDYwQ0FBQzU3MDA4MENBQUM1NzAwQTBDQUFDNTcwMEMwQ0FBQzU3MDBFMENDMDcxMDAxQ0FBRDE3MDAwMTAwQ0MwNzEwMDZDQUFEMTcwMDAxMDFDQUFEMTcwMDAxMDJDQUFEQzcwMDAxMDMwNENBQUQxNzAwMDEwN0NBQURDNzAwMDEwODA0REMwN0MwMDM1MzRGNENEQzA3QzAwNTUzNTQ0MTRCNDUxQUFEMTdDMDAxMDIwRDAyQkFBNjVGNkMwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAxMDIwRTAzQkFBQzVGNkM2MDA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDEwMjBFMDRCQUFDNUY2QzgwMDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMTAyMEUwNUJBQUM1RjZDQTAwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAxMDIwRTA2QkFBQzVGNkNDMDA4MDREREYwOTcwMDI1MEYwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NjAyMjEwMEJFRDZEN0Y4MTFDNEI0NkQ1NEQyN0Y2MDY2NjVFRjM0MzBBNEUxQTU0MTgxQjdFMURFRjJCMkVBNTNFMTFGQzYwMjIxMDA4MjEzRkVENDc4ODhDNTQzQTc2OTZDNzFENjYwMENFQzRGMzgxOTlCMTQxREE5NkE3NkY3NUUxMTc2NUJFMkJGYC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIFVOREVMRUdBVEU6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkNDMDcxMDAxQ0MwNzEwMDBDQzA3MTAwMkNDMDcxMDA0Q0FBMDU3MDBDQUE1NTcwMENBQTY1NzAwQ0FBQzU3MDA2MENBQUM1NzAwODBDQzA3MTAwMUNBQUMxNzAwQTBDQzA3MTAwM0NBQUMxNzAwQTFDQUFDMTcwMEEyQ0FBQzE3MDBBM0NDMDcxMDA0Q0MwN0MwMDQwNTAwMDAwMERDMDdDMDAzNTM0RjRDREMwN0MwMDU1NTZFNDQ2NTZDQkFBMDVGNkMwODA0RERGMDk3MDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RTI1MEYwMGAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIxMDBFQUUyMkU4N0VFMzFFQjA1NTY5NTRBQTMzOTYzQkYxOEE3RjMzODZCOURERDAzQkMwMjNEN0ZDNTAxODY0NkIwMDIyMDNCQTFFODYxMkUxQ0Q5MDM0NUE5REIzMDA4REM0QTFENDdGRUEwREY4MjE5MkFEOERBRDgzM0Y0M0IwMzlCQzNgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgREVMRUdBVEVfQU5EX0NSRUFURV9BQ0NPVU5UX1dJVEhfU0VFRDoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDdDQzA3MTAwOUNBQTA1NzAwQ0FBNTU3MDBDQUE2NTcwMENBQUM1NzAwNjBDQUFDNTcwMDgwQ0FBQzU3MDBBMENBQUM1NzAwQzBDQUFDNTcwMEUwQ0FBRDU3MDAwMTAwQ0FBRDU3MDAwMTIwQ0MwNzEwMDNDQUFEMTcwMDAxNDBDQzA3MTAwMkNBQURDNzAwMDE0MTAyQ0FBRDE3MDAwMTQzQ0FBREM3MDAwMTQ0MkNDQUFERDcwMDAxNzBGRkUwQ0FBREM3MDAwMTkwMDhDQUFEQzcwMDAxOTgyOENBQUQxNzAwMDFDMENDMDcxMDAyQ0FBREM3MDAwMUMxMDJDQUFEMTcwMDAxQzNDQUFEQzcwMDAxQzQ3NENBQUQxNzAwMDIzOENDMDcxMDA2Q0FBRDE3MDAwMjM5Q0FBRDE3MDAwMjNBQ0FBREM3MDAwMjNCMDRDQUFEMTcwMDAyM0ZDQUFEQzcwMDAyNDAwNERDMDdDMDAzNTM0RjRDREMwN0MwMDU1MzU0NDE0QjQ1MUFBRDE3QzAwMjNBMEUwM0JBQUM1RjZDNjAwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAyM0EwRTA0QkFBQzVGNkM4MDA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDIzQTBFMDVCQUFDNUY2Q0EwMDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMjNBMEUwNkJBQUM1RjZDQzAwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAyM0EwRTA3QkFBQzVGNkNFMDA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDIzQTBGMDhCQUFENUY2QzAxMDAwODA0RERGMDk3MDAyNTBGMDBCQUFEQ0VDQzAxOTAwODA4MEYxMERBRTA5N0MwMDkyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIwMkVGRTY3RDAzRTFDNEVBN0ZDNTlGNEQ0NkMxN0E1QjZDNzY3NjUwQjMxNEREMUFDQkY2NUMwMzA0MzE4Q0IzNTAyMjEwMEY5QjA0QTQwN0QyM0I3NUIwQUY0QUNFM0JGNDQ0RDYyNUJCNDIxQTNFQ0Y1ODE5RDlEMUE3QzM4RUQ3MDc2MzJgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU1RBS0lOR19XSVRIRFJBVzoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDNDQUEwMTcwMENBQTE1NzAwQ0FBQzU3MDAyMUNBQUM1NzAwNDFDQUFDNTcwMDYxQ0FBQzU3MDA4MTFBQTAxN0MwMDUwNkNBQUM1NzAwQTFDQUFDNTcwMEMxQ0MwNzEwMDFDQUFDMTcwMEUxQ0MwNzEwMDVDQUFDMTcwMEUyQ0FBQzE3MDBFM0NBQUNDNzAwRTQwM0NBQUMxNzAwRTdDQUFDQzcwMEU4MDRDQUFDQzcwMEVDMDhEQzA3QzAwMzUzNEY0Q0RDMDdDMDA2NTI2NTc3NjE3MjY0MUFBQzE3QzBFMzBEMDBCQUExNUY2QzA4MDREREYwOTcwMDI1MEYwMDFBQUMxN0MwRTMwRTAxQkFBQzVGNkMyMTA4MDREREYwOTcwMDI1MEYwMDFBQUMxN0MwRTMwRTAyQkFBQzVGNkM0MTA4MDREREYwOTcwMDI1MEYwMEJBQUNDRUNDRUMwODA4MEYxMERBRTA5N0MwMDkyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIwMkIwMEZFOUI3MzFGQkE2RjdDMjhBOThFQjM4RTgyNTY3QTM3MjhERTYzOEEzMTBBQThFQkFCQTVCQzJDOURFMTAyMjEwMEVCQTcyQjk5QjQxMjA4M0VCMThCRDI0ODUxMjRDQTNENjBEM0JGMThBN0QxMzEyMjM5NUJFOUFFN0IxMEFCM0JgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU0lHTl9JTjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVCNUEwMTcwMENBQTFCNzAwQ0MwN0MwMzAyMDc3NjE2ZTc0NzMyMDc5NmY3NTIwNzQ2ZjIwNzM2OTY3NmUyMDY5NmUyMDc3Njk3NDY4MjA3OTZmNzU3MjIwNTM2ZjZjNjE2ZTYxMjA2MTYzNjM2Zjc1NmU3NDNhMGE2Q0FEQ0YwMDA0ODMxMUJBRjA5NzZDMDgwNEI1QUNDNzAwODEwMkNBQUNCNzAwODNEQzA3QzAwMzUzNEY0Q0QyMDdDMDA3NTM0OTQ3NEUyMDQ5NEVEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIxMDBjZTI2MjRmODBhYzUyMzRkNzc0MTVjYTlkZjlhZDE1M2ZhMWM4YmFlYTI4NDk3ZDkzN2U2MTljZTYzZGRkYjYzMDIyMDViYjFmMWQ4YWE1YTQ3ZTVjODdjNjE1YmUwM2NmMGEzNzVjNDBlZDNlMTk3NDZlMzI3OWZkNzRkYmRkY2E4MmFgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU0lHTl9NRVNTQUdFOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNBQTA5NzAwREMwN0MwMDM1MzRGNENEMjA3QzAwNzRENDU1MzUzNDE0NzQ1RDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ1MDIyMDQ4MmE1MTA5ZGQ5MDhiODg2ZDRiOGNkOGI0YmZiNDNhNTZjNjUyMzJkNjhlNGIzMDc5OGQzY2RiYjU1ZTMxZjMwMjIxMDBlZTZlOWMzZDk0NjhhOGFkMjljYTZhYzJiMDg3MTljN2NiZTdlODU3OTUxYTFiN2ZmYTYyZTM0NDViYzFiYjEwYC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIE1VTFRJX1NJR05fVFg6IHtcbiAgICBzY3JpcHQ6IGBgLFxuICAgIHNpZ25hdHVyZTogYGAucGFkU3RhcnQoMTQ0LCAnMCcpLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxufTtcblxuY29uc3QgQ09JTl9UWVBFID0gJzgwMDAwMWY1JztcbmNvbnN0IExBTVBPUlRTX1BFUl9TT0wgPSAxMDAwMDAwMDAwO1xuY29uc3QgU1lTVEVNX1BST0dSQU1fSUQgPSBCdWZmZXIuYWxsb2MoMzIpO1xuLy8gdG9rZW5cbmNvbnN0IFRPS0VOX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdUb2tlbmtlZ1FmZVp5aU53QUpiTmJHS1BGWENXdUJ2ZjlTczYyM1ZRNURBJyk7XG5jb25zdCBUT0tFTl8yMDIyX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdUb2tlbnpRZEJOYkxxUDVWRWhka0FTNkVQRkxDMVBIbkJxQ1hFcFB4dUViJyk7XG5jb25zdCBBU1NPQ0lBVEVEX1RPS0VOX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdBVG9rZW5HUHZiZEdWeHIxYjJodlpic2lxVzV4V0gyNWVmVE5zTEpBOGtuTCcpO1xuXG4vLyBzdGFrZVxuY29uc3QgU1RBS0VfUFJPR1JBTV9JRCA9IGJhc2U1OC5kZWNvZGUoJ1N0YWtlMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnKTtcbmNvbnN0IFNUQUtFX0NPTkZJR19JRCA9IGJhc2U1OC5kZWNvZGUoJ1N0YWtlQ29uZmlnMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnKTtcblxuLy8gc3lzdmFyXG5jb25zdCBTWVNWQVJfUkVOVF9QVUJLRVkgPSBiYXNlNTguZGVjb2RlKCdTeXN2YXJSZW50MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG5jb25zdCBTWVNWQVJfQ0xPQ0tfUFVCS0VZID0gYmFzZTU4LmRlY29kZSgnU3lzdmFyQzFvY2sxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuY29uc3QgU1lTVkFSX1NUQUtFX0hJU1RPUllfUFVCS0VZID0gYmFzZTU4LmRlY29kZSgnU3lzdmFyU3Rha2VIaXN0b3J5MTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuXG5jb25zdCBDT01QVVRFX0JVREdFVF9QUk9HUkFNX0lEID0gYmFzZTU4LmRlY29kZSgnQ29tcHV0ZUJ1ZGdldDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuXG5jb25zdCBQQUNLRVRfREFUQV9TSVpFID0gMTI4MCAtIDQwIC0gODtcblxuY29uc3QgVkVSU0lPTl9QUkVGSVhfTUFTSyA9IDB4N2Y7XG5cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfTEVOR1RIX0lOX0JZVEVTID0gNjQ7XG5cbi8qKlxuICogU2l6ZSBvZiBwdWJsaWMga2V5IGluIGJ5dGVzXG4gKi9cbmNvbnN0IFBVQkxJQ19LRVlfTEVOR1RIID0gMzI7XG5cbmV4cG9ydCB7XG4gIFNDUklQVCxcbiAgQ09JTl9UWVBFLFxuICBMQU1QT1JUU19QRVJfU09MLFxuICBTWVNURU1fUFJPR1JBTV9JRCxcbiAgVE9LRU5fUFJPR1JBTV9JRCxcbiAgVE9LRU5fMjAyMl9QUk9HUkFNX0lELFxuICBTVEFLRV9QUk9HUkFNX0lELFxuICBTVEFLRV9DT05GSUdfSUQsXG4gIEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCxcbiAgU1lTVkFSX1JFTlRfUFVCS0VZLFxuICBTWVNWQVJfQ0xPQ0tfUFVCS0VZLFxuICBTWVNWQVJfU1RBS0VfSElTVE9SWV9QVUJLRVksXG4gIENPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQsXG4gIFBBQ0tFVF9EQVRBX1NJ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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJTQ1JJUFQiLCJUUkFOU0ZFUiIsInNjcmlwdCIsInNpZ25hdHVyZSIsInBhZFN0YXJ0Iiwic2NyaXB0V2l0aFNpZ25hdHVyZSIsIlRSQU5TRkVSX1dJVEhfQ09NUFVURV9CVURHRVQiLCJTTUFSVF9DT05UUkFDVCIsIkFTU09DSUFURURfVE9LRU5fQUNDT1VOVCIsIlNQTF9UT0tFTiIsIlNQTF9UT0tFTl9XSVRIX0NPTVBVVEVfQlVER0VUIiwiQ1JFQVRFX0FORF9TUExfVE9LRU4iLCJDUkVBVEVfQU5EX1NQTF9UT0tFTl9XSVRIX0NPTVBVVEVfQlVER0VUIiwiREVMRUdBVEUiLCJVTkRFTEVHQVRFIiwiREVMRUdBVEVfQU5EX0NSRUFURV9BQ0NPVU5UX1dJVEhfU0VFRCIsIlNUQUtJTkdfV0lUSERSQVciLCJTSUdOX0lOIiwiU0lHTl9NRVNTQUdFIiwiTVVMVElfU0lHTl9UWCIsImV4cG9ydHMiLCJDT0lOX1RZUEUiLCJMQU1QT1JUU19QRVJfU09MIiwiU1lTVEVNX1BST0dSQU1fSUQiLCJiYXNlNTgiLCJkZWNvZGUiLCJUT0tFTl9QUk9HUkFNX0lEIiwiVE9LRU5fMjAyMl9QUk9HUkFNX0lEIiwiQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lEIiwiU1RBS0VfUFJPR1JBTV9JRCIsIlNUQUtFX0NPTkZJR19JRCIsIlNZU1ZBUl9SRU5UX1BVQktFWSIsIlNZU1ZBUl9DTE9DS19QVUJLRVkiLCJTWVNWQVJfU1RBS0VfSElTVE9SWV9QVUJLRVkiLCJDT01QVVRFX0JVREdFVF9QUk9HUkFNX0lEIiwiUEFERElOR19QVUJMSUNLRVkiLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJQQUNLRVRfREFUQV9TSVpFIiwiVkVSU0lPTl9QUkVGSVhfTUFTSyIsIlNJR05BVFVSRV9MRU5HVEhfSU5fQllURVMiLCJQVUJMSUNfS0VZX0xFTkdUSCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvcGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBiYXNlNTggZnJvbSAnYnM1OCc7XG5cbmNvbnN0IFNDUklQVCA9IHtcbiAgVFJBTlNGRVI6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0MwNzEwMDFDQzA3MTAwMENDMDcxMDAxQ0FBMDE3MDBDQUExNTcwMENBQUM1NzAwMjExQUFDNTdDMDQxMDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMDQxMUFBQzU3QzA2MTA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDA2MTFBQUM1N0MwODEwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwODExQUFDNTdDMEExMDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMEExQ0FBQzU3MDBDMUNDMDcxMDAxQ0FBQzE3MDBFMUNBQUMxNzAwRTJDQUFDMTcwMEUzQ0FBQzE3MDBFNENBQUMxNzAwRTVDQUFDQzcwMEU2MDRDQUFDQzcwMEVBMDgxQUFDMTdDMEU0MEEwMEJBQTE1RjZDMDgwNERERjA5NzAwMUFBQzE3QzBFNDBCMDFCQUFDNUY2QzIxMDgwNERERjA5NzAwMjUwRjAwQkFBQ0NFQ0NFQTA4MDgwRjEwREFFMDk3QzAwOTI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMGZhYTdkYzE5OTg4NzkwNjg3NWEwMDZlYjc4ZjVjMzliYTdmNjQ3OTA4MjZiMDZjMmFmMWQ2YTU5ODAyZjliZjcwMjIwM2Y5ZDZlNzBjYzJiYThiNzFiNTM4Y2YyMjRkN2MxNWRhMDdmMDQ5YTRjNTNiYzQ1NTdiMWNkY2ZmZmYzMjk5ZWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBUUkFOU0ZFUl9XSVRIX0NPTVBVVEVfQlVER0VUOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNDMDcxMDAxQ0MwNzEwMDBDQzA3MTAwMkNBQTAxNzAwQ0FBMTU3MDBDQUFDNTcwMDIxMUFBQzU3QzA0MTA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDA0MTFBQUM1N0MwNjEwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwNjExQUFDNTdDMDgxMDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMDgxMUFBQzU3QzBBMTA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDBBMUNBQUM1NzAwQzFDQzA3MTAwM0NBQUMxNzAwRTFDQUFDMTcwMEUyQ0FBQzE3MDBFM0NBQUMxNzAwRTRDQUFDQzcwMEU1MDhDQUFDMTcwMEVEQ0FBQzE3MDBFRUNBQUMxNzAwRUZDQUFDMTcwMEYwQ0FBQ0M3MDBGMTA0Q0FBQzE3MDBGNUNBQUMxNzAwRjZDQUFDMTcwMEY3Q0FBQzE3MDBGOENBQUMxNzAwRjlDQUFDQzcwMEZBMDRDQUFDQzcwMEZFMDgxQUFDMTdDMEY4MEEwMEJBQTE1RjZDMDgwNERERjA5NzAwMUFBQzE3QzBGODBCMDFCQUFDNUY2QzIxMDgwNERERjA5NzAwMjUwRjAwQkFBQ0NFQ0NGRTA4MDgwRjEwREFFMDk3QzAwOTI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMGY0MGQyODQ2MDk1ZGUzYWRlNWUxYmZhYzc3NTkwYjZiYmNiY2RmMjBmNDEzMWZhMjIxYjQ5MDI5ZTUzODQxMWQwMjIwMDQzYWFjZGFmYjk2OTIyMDVmZTNjMWQxOTQwMTliNTA3ZDVmZWEyNzdmMTA1M2M1YTg3MDQ5NTdjY2JkNjBjOWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTTUFSVF9DT05UUkFDVDoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQUEwOTcwMERDMDdDMDAzNTM0RjRDRDIwN0MwMDU1MzRENDE1MjU0RDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ1MDIyMTAwQUZFQ0I2RUVDQjM1QkExM0Q5MjRENjFDM0M2QzQ2ODAxN0NBRTMxODM1RTU5QTY3MjJDQ0Y3NUU2OENGNzg4MjAyMjA3MjUyQTRFMjc3N0U4QjI4OUY4QUU3OTAyRDBCRUY1MjE4NTlBOEM2MDc3QjIyMDlBQjdCRDcwNEMzODk5OTIxYC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIEFTU09DSUFURURfVE9LRU5fQUNDT1VOVDoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwMUFBMDE3QzAwODA4Q0MwNzEwMDYxNTA3QzAwNENDMDcxMDA1Q0FBMDE3MDBDQUExNTcwMENBQUM1NzAwMjFDQUFDNTcwMDQxQ0FBQzU3MDA2MUNBQUM1NzAwODFDQUFDNTcwMEExQ0FBQzU3MDBDMTFBQTAxN0MwMDUwOENBQUM1NzAwRTFDQUFENTcwMDAxMDFDQzA3MTAwMUNBQUQxNzAwMDEyMUNDMDcxMDA3Q0FBREM3MDAwMTIyMDdDQzA3MTAwMERDMDdDMDAzNTM0RjRDRDIwN0NDMDUwNzU0NkY0QjQ1NEU0MTQzNDM2RjU1NEU1NEJBQUM1RjZDMjEwODA0RERGMDk3MDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDQwMjIwN0RDNjgzRDk1MUQzNUQ1NThDNDU1NkQ0MjEyNEI5OUVCQTJDOUM4MkYxQzMzOURENTM1OTRERUJCQkU5NENERDAyMjAzN0FBRjE1RDQ0NDYyMzM5ODJERjVBQjhGRkY4OUZGMzM4NUFDRkMzQzU4ODUyNzcwQ0M4MDExNUYwRTQ5RjY1YC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIFNQTF9UT0tFTjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDJDQUEwMTcwMENBQTE1NzAwQ0FBQzU3MDAyMUNBQUM1NzAwNDFDQUFDNTcwMDYxMUFBQzU3QzA4MTA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDA4MTFBQUM1N0MwQTEwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwQTFDQUFDNTcwMEMxQ0MwNzEwMDFDQUFDMTcwMEUxQ0FBQzE3MDBFMkNBQUNDNzAwRTMwNENBQUMxNzAwRTdDQUFDMTcwMEU4Q0FBQ0M3MDBFOTA4Q0FBQzE3MDBGMURDMDdDMDAzNTM0RjRDMTFBQ0M3Q0RGMjI5MDQwMTFCMTUwN0MwMDRDQzBGMTA0MDEyQUMxN0MwRjMwNDAxMDcxNTA3QzAwMkZGMDBCNUFDMTcwMEYzQ0FBQ0JGMDBGNERFRjA5NzAwMjUwRjAwQkFBQzVGNkMyMTA4MDREREYwOTcwMDI1MEYwMEJBQUNDRUNDRTkwODA4MEYxMDEyQUMxN0MwRjIwNDAwMTQxNTA3QzAwMkZGMDBCNUFDMTcwMEYyREFFMDk3QjAyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIwNTRlMWYyODJlMTk3YjEyODg1NzY4MDlkYTU3YjNiNDU3OGRjM2Y0OWJjN2Y0NDI3NDNkMGUxOGU0NTJmMjY1NTAyMjEwMGE5OGY1NmQwODliNzJlMDY4ODZjYmI4ZmE3ZDkxNGQzNzg0ZjEyODZmOTA3OTBiMzBiY2VjNGYxNjk0NDA3NWFgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU1BMX1RPS0VOX1dJVEhfQ09NUFVURV9CVURHRVQ6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0MwNzEwMDFDQzA3MTAwMENDMDcxMDAzQ0FBMDE3MDBDQUExNTcwMENBQUM1NzAwMjFDQUFDNTcwMDQxQ0FBQzU3MDA2MTFBQUM1N0MwODEwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwODExQUFDNTdDMEExMDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMEExQ0FBQzU3MDBDMUNDMDcxMDAzQ0FBQzE3MDBFMUNBQUMxNzAwRTJDQUFDMTcwMEUzQ0FBQzE3MDBFNENBQUNDNzAwRTUwOENBQUMxNzAwRURDQUFDMTcwMEVFQ0FBQzE3MDBFRkNBQUMxNzAwRjBDQUFDQzcwMEYxMDRDQUFDMTcwMEY1Q0FBQzE3MDBGNkNBQUNDNzAwRjcwNENBQUMxNzAwRkJDQUFDMTcwMEZDQ0FBQ0M3MDBGRDA4Q0FBRDE3MDAwMTA1REMwN0MwMDM1MzRGNEMxMUFEQzdDRDAxMDYyOTA0MDEyRjE1MDdDMDA0Q0MwRjEwNDAxMkFEMTdDMDAxMDcwNDAxMDcxNTA3QzAwMkZGMDBCNUFEMTcwMDAxMDdDQUFEQkYwMDAxMDhERUYwOTcwMDI1MEYwMEJBQUM1RjZDMjEwODA0RERGMDk3MDAyNTBGMDBCQUFDQ0VDQ0ZEMDgwODBGMTAxMkFEMTdDMDAxMDYwNDAwMTQxNTA3QzAwMkZGMDBCNUFEMTcwMDAxMDZEQUUwOTdCMDI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMGIxZDk5YzU3ZjAxMzJlMjY1NTBjNWMwYTRhNmEzNTNjMTE2MDFkOGI3ZmE4NGFkNTUwNWQ1ZjI5Mjc5MWMyN2YwMjIwNDgyN2MyZThmY2JkZDc1Y2Q0ZjQxZGZjZWVmZWQ3ZWZjNThlZmNhMmFhZTE3OTg3YmNiMzQyZTgyNzBjNDhlMGAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBDUkVBVEVfQU5EX1NQTF9UT0tFTjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDVDQUEwMTcwMENBQTE1NzAwQ0FBQzU3MDAyMUNBQUM1NzAwNDFDQUFDNTcwMDYxQ0FBQzU3MDA4MUNBQUM1NzAwQTFDQUFDNTcwMEMxQ0FBQzU3MDBFMTFBQUQ1N0MwMDEwMTA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA2Q0FBRDU3MDAwMTAxQ0FBRDU3MDAwMTIxQ0MwNzEwMDJDQUFEMTcwMDAxNDFDQUFEMTcwMDAxNDJDQUFEQzcwMDAxNDMwNkNBQUQxNzAwMDE0OUNBQUQxNzAwMDE0QUNBQUQxNzAwMDE0QkNBQURDNzAwMDE0QzA0Q0FBRDE3MDAwMTUwQ0FBRDE3MDAwMTUxQ0FBREM3MDAwMTUyMDhDQUFEMTcwMDAxNUFEQzA3QzAwMzUzNEY0QzExQURDN0NEMDE1QjI5MDQwMTg0MTUwN0MwMDRDQzBGMTA0MDEyQUQxN0MwMDE1QzA0MDEwNzE1MDdDMDAyRkYwMEI1QUQxNzAwMDE1Q0NBQURCRjAwMDE1RERFRjA5NzAwMjUwRjAwQkFBQzVGNkMyMTA4MDREREYwOTcwMDI1MEYwMEJBQURDRUNDMDE1MjA4MDgwRjEwMTJBRDE3QzAwMTVCMDQwMDE0MTUwN0MwMDJGRjAwQjVBRDE3MDAwMTVCREFFMDk3QjAyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDYwMjIxMDA4YzQ2YjY5ZDQyNTVjMWNlNTJiMDRlNzk3ODlkNjAxMzI1OTcxZGM4MWFhYTA4NDhiMTIxZTAxOTIxMDdiNzY4MDIyMTAwZGYzNjlmZDlmYjY1Zjk1ODBjY2U5OGNlZTdmMDlmNDZhMjRjMWY1NDBiOWE0M2M4NWFlNDU3ZDI3YzE2MWY2OGAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBDUkVBVEVfQU5EX1NQTF9UT0tFTl9XSVRIX0NPTVBVVEVfQlVER0VUOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNDMDcxMDAxQ0MwNzEwMDBDQzA3MTAwNkNBQTAxNzAwQ0FBMTU3MDBDQUFDNTcwMDIxQ0FBQzU3MDA0MUNBQUM1NzAwNjFDQUFDNTcwMDgxQ0FBQzU3MDBBMUNBQUM1NzAwQzFDQUFDNTcwMEUxMUFBRDU3QzAwMTAxMDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDZDQUFENTcwMDAxMDFDQUFENTcwMDAxMjFDQzA3MTAwNENBQUQxNzAwMDE0MUNBQUQxNzAwMDE0MkNBQURDNzAwMDE0MzA2Q0FBRDE3MDAwMTQ5Q0FBRDE3MDAwMTRBQ0FBRDE3MDAwMTRCQ0FBRDE3MDAwMTRDQ0FBRDE3MDAwMTREQ0FBREM3MDAwMTRFMDhDQUFEMTcwMDAxNTZDQUFEMTcwMDAxNTdDQUFEMTcwMDAxNThDQUFEMTcwMDAxNTlDQUFEQzcwMDAxNUEwNENBQUQxNzAwMDE1RUNBQUQxNzAwMDE1RkNBQURDNzAwMDE2MDA0Q0FBRDE3MDAwMTY0Q0FBRDE3MDAwMTY1Q0FBREM3MDAwMTY2MDhDQUFEMTcwMDAxNkVEQzA3QzAwMzUzNEY0QzExQURDN0NEMDE2RjI5MDQwMTk4MTUwN0MwMDRDQzBGMTA0MDEyQUQxN0MwMDE3MDA0MDEwNzE1MDdDMDAyRkYwMEI1QUQxNzAwMDE3MENBQURCRjAwMDE3MURFRjA5NzAwMjUwRjAwQkFBQzVGNkMyMTA4MDREREYwOTcwMDI1MEYwMEJBQURDRUNDMDE2NjA4MDgwRjEwMTJBRDE3QzAwMTZGMDQwMDE0MTUwN0MwMDJGRjAwQjVBRDE3MDAwMTZGREFFMDk3QjAyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDYwMjIxMDBhNjFiYjAxMzdkYzZjNWEwN2FiOTdmMWUzZWEwZGY1OWZmNjIzNGM1ZGViNTRkZGE5YjkwZDUwZTA0MzlkOWM1MDIyMTAwYzM0ZDU2NTg0ZGMwMjY4MGMxNTVmOThkODE2NTQ1NTI3M2JiYTM1MGRmNTRmYmQ3NTJmMWI1NjVlOTVmMDIxZGAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBERUxFR0FURToge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQzA3MTAwMUNDMDcxMDAwQ0MwNzEwMDVDQzA3MTAwN0NBQTA1NzAwQ0FBNTU3MDBDQUE2NTcwMENBQUM1NzAwNjBDQUFDNTcwMDgwQ0FBQzU3MDBBMENBQUM1NzAwQzBDQUFDNTcwMEUwQ0MwNzEwMDFDQUFEMTcwMDAxMDBDQzA3MTAwNkNBQUQxNzAwMDEwMUNBQUQxNzAwMDEwMkNBQURDNzAwMDEwMzA0Q0FBRDE3MDAwMTA3Q0FBREM3MDAwMTA4MDREQzA3QzAwMzUzNEY0Q0RDMDdDMDA1NTM1NDQxNEI0NTFBQUQxN0MwMDEwMjBEMDJCQUE2NUY2QzA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDEwMjBFMDNCQUFDNUY2QzYwMDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMTAyMEUwNEJBQUM1RjZDODAwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAxMDIwRTA1QkFBQzVGNkNBMDA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDEwMjBFMDZCQUFDNUY2Q0MwMDgwNERERjA5NzAwMjUwRjAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ2MDIyMTAwQkVENkQ3RjgxMUM0QjQ2RDU0RDI3RjYwNjY2NUVGMzQzMEE0RTFBNTQxODFCN0UxREVGMkIyRUE1M0UxMUZDNjAyMjEwMDgyMTNGRUQ0Nzg4OEM1NDNBNzY5NkM3MUQ2NjAwQ0VDNEYzODE5OUIxNDFEQTk2QTc2Rjc1RTExNzY1QkUyQkZgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgVU5ERUxFR0FURToge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQ0MwNzEwMDFDQzA3MTAwMENDMDcxMDAyQ0MwNzEwMDRDQUEwNTcwMENBQTU1NzAwQ0FBNjU3MDBDQUFDNTcwMDYwQ0FBQzU3MDA4MENDMDcxMDAxQ0FBQzE3MDBBMENDMDcxMDAzQ0FBQzE3MDBBMUNBQUMxNzAwQTJDQUFDMTcwMEEzQ0MwNzEwMDRDQzA3QzAwNDA1MDAwMDAwREMwN0MwMDM1MzRGNENEQzA3QzAwNTU1NkU0NDY1NkNCQUEwNUY2QzA4MDREREYwOTcwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFMjUwRjAwYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMEVBRTIyRTg3RUUzMUVCMDU1Njk1NEFBMzM5NjNCRjE4QTdGMzM4NkI5REREMDNCQzAyM0Q3RkM1MDE4NjQ2QjAwMjIwM0JBMUU4NjEyRTFDRDkwMzQ1QTlEQjMwMDhEQzRBMUQ0N0ZFQTBERjgyMTkyQUQ4REFEODMzRjQzQjAzOUJDM2AucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBERUxFR0FURV9BTkRfQ1JFQVRFX0FDQ09VTlRfV0lUSF9TRUVEOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNDMDcxMDAxQ0MwNzEwMDBDQzA3MTAwN0NDMDcxMDA5Q0FBMDU3MDBDQUE1NTcwMENBQTY1NzAwQ0FBQzU3MDA2MENBQUM1NzAwODBDQUFDNTcwMEEwQ0FBQzU3MDBDMENBQUM1NzAwRTBDQUFENTcwMDAxMDBDQUFENTcwMDAxMjBDQzA3MTAwM0NBQUQxNzAwMDE0MENDMDcxMDAyQ0FBREM3MDAwMTQxMDJDQUFEMTcwMDAxNDNDQUFEQzcwMDAxNDQyQ0NBQURENzAwMDE3MEZGRTBDQUFEQzcwMDAxOTAwOENBQURDNzAwMDE5ODI4Q0FBRDE3MDAwMUMwQ0MwNzEwMDJDQUFEQzcwMDAxQzEwMkNBQUQxNzAwMDFDM0NBQURDNzAwMDFDNDc0Q0FBRDE3MDAwMjM4Q0MwNzEwMDZDQUFEMTcwMDAyMzlDQUFEMTcwMDAyM0FDQUFEQzcwMDAyM0IwNENBQUQxNzAwMDIzRkNBQURDNzAwMDI0MDA0REMwN0MwMDM1MzRGNENEQzA3QzAwNTUzNTQ0MTRCNDUxQUFEMTdDMDAyM0EwRTAzQkFBQzVGNkM2MDA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDIzQTBFMDRCQUFDNUY2QzgwMDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMjNBMEUwNUJBQUM1RjZDQTAwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAyM0EwRTA2QkFBQzVGNkNDMDA4MDREREYwOTcwMDI1MEYwMDFBQUQxN0MwMDIzQTBFMDdCQUFDNUY2Q0UwMDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMjNBMEYwOEJBQUQ1RjZDMDEwMDA4MDREREYwOTcwMDI1MEYwMEJBQURDRUNDMDE5MDA4MDgwRjEwREFFMDk3QzAwOTI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjAyRUZFNjdEMDNFMUM0RUE3RkM1OUY0RDQ2QzE3QTVCNkM3Njc2NTBCMzE0REQxQUNCRjY1QzAzMDQzMThDQjM1MDIyMTAwRjlCMDRBNDA3RDIzQjc1QjBBRjRBQ0UzQkY0NDRENjI1QkI0MjFBM0VDRjU4MTlEOUQxQTdDMzhFRDcwNzYzMmAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTVEFLSU5HX1dJVEhEUkFXOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNDMDcxMDAxQ0MwNzEwMDBDQzA3MTAwM0NBQTAxNzAwQ0FBMTU3MDBDQUFDNTcwMDIxQ0FBQzU3MDA0MUNBQUM1NzAwNjFDQUFDNTcwMDgxMUFBMDE3QzAwNTA2Q0FBQzU3MDBBMUNBQUM1NzAwQzFDQzA3MTAwMUNBQUMxNzAwRTFDQzA3MTAwNUNBQUMxNzAwRTJDQUFDMTcwMEUzQ0FBQ0M3MDBFNDAzQ0FBQzE3MDBFN0NBQUNDNzAwRTgwNENBQUNDNzAwRUMwOERDMDdDMDAzNTM0RjRDREMwN0MwMDY1MjY1Nzc2MTcyNjQxQUFDMTdDMEUzMEQwMEJBQTE1RjZDMDgwNERERjA5NzAwMjUwRjAwMUFBQzE3QzBFMzBFMDFCQUFDNUY2QzIxMDgwNERERjA5NzAwMjUwRjAwMUFBQzE3QzBFMzBFMDJCQUFDNUY2QzQxMDgwNERERjA5NzAwMjUwRjAwQkFBQ0NFQ0NFQzA4MDgwRjEwREFFMDk3QzAwOTI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjAyQjAwRkU5QjczMUZCQTZGN0MyOEE5OEVCMzhFODI1NjdBMzcyOERFNjM4QTMxMEFBOEVCQUJBNUJDMkM5REUxMDIyMTAwRUJBNzJCOTlCNDEyMDgzRUIxOEJEMjQ4NTEyNENBM0Q2MEQzQkYxOEE3RDEzMTIyMzk1QkU5QUU3QjEwQUIzQmAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTSUdOX0lOOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUI1QTAxNzAwQ0FBMUI3MDBDQzA3QzAzMDIwNzc2MTZlNzQ3MzIwNzk2Zjc1MjA3NDZmMjA3MzY5Njc2ZTIwNjk2ZTIwNzc2OTc0NjgyMDc5NmY3NTcyMjA1MzZmNmM2MTZlNjEyMDYxNjM2MzZmNzU2ZTc0M2EwYTZDQURDRjAwMDQ4MzExQkFGMDk3NkMwODA0QjVBQ0M3MDA4MTAyQ0FBQ0I3MDA4M0RDMDdDMDAzNTM0RjRDRDIwN0MwMDc1MzQ5NDc0RTIwNDk0RUQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjEwMGNlMjYyNGY4MGFjNTIzNGQ3NzQxNWNhOWRmOWFkMTUzZmExYzhiYWVhMjg0OTdkOTM3ZTYxOWNlNjNkZGRiNjMwMjIwNWJiMWYxZDhhYTVhNDdlNWM4N2M2MTViZTAzY2YwYTM3NWM0MGVkM2UxOTc0NmUzMjc5ZmQ3NGRiZGRjYTgyYWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTSUdOX01FU1NBR0U6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0FBMDk3MDBEQzA3QzAwMzUzNEY0Q0QyMDdDMDA3NEQ0NTUzNTM0MTQ3NDVEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIwNDgyYTUxMDlkZDkwOGI4ODZkNGI4Y2Q4YjRiZmI0M2E1NmM2NTIzMmQ2OGU0YjMwNzk4ZDNjZGJiNTVlMzFmMzAyMjEwMGVlNmU5YzNkOTQ2OGE4YWQyOWNhNmFjMmIwODcxOWM3Y2JlN2U4NTc5NTFhMWI3ZmZhNjJlMzQ0NWJjMWJiMTBgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgTVVMVElfU0lHTl9UWDoge1xuICAgIHNjcmlwdDogYGAsXG4gICAgc2lnbmF0dXJlOiBgYC5wYWRTdGFydCgxNDQsICcwJyksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG59O1xuXG5jb25zdCBDT0lOX1RZUEUgPSAnODAwMDAxZjUnO1xuY29uc3QgTEFNUE9SVFNfUEVSX1NPTCA9IDEwMDAwMDAwMDA7XG5jb25zdCBTWVNURU1fUFJPR1JBTV9JRCA9IGJhc2U1OC5kZWNvZGUoJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG4vLyB0b2tlblxuY29uc3QgVE9LRU5fUFJPR1JBTV9JRCA9IGJhc2U1OC5kZWNvZGUoJ1Rva2Vua2VnUWZlWnlpTndBSmJOYkdLUEZYQ1d1QnZmOVNzNjIzVlE1REEnKTtcbmNvbnN0IFRPS0VOXzIwMjJfUFJPR1JBTV9JRCA9IGJhc2U1OC5kZWNvZGUoJ1Rva2VuelFkQk5iTHFQNVZFaGRrQVM2RVBGTEMxUEhuQnFDWEVwUHh1RWInKTtcbmNvbnN0IEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCA9IGJhc2U1OC5kZWNvZGUoJ0FUb2tlbkdQdmJkR1Z4cjFiMmh2WmJzaXFXNXhXSDI1ZWZUTnNMSkE4a25MJyk7XG5cbi8vIHN0YWtlXG5jb25zdCBTVEFLRV9QUk9HUkFNX0lEID0gYmFzZTU4LmRlY29kZSgnU3Rha2UxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuY29uc3QgU1RBS0VfQ09ORklHX0lEID0gYmFzZTU4LmRlY29kZSgnU3Rha2VDb25maWcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuXG4vLyBzeXN2YXJcbmNvbnN0IFNZU1ZBUl9SRU5UX1BVQktFWSA9IGJhc2U1OC5kZWNvZGUoJ1N5c3ZhclJlbnQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnKTtcbmNvbnN0IFNZU1ZBUl9DTE9DS19QVUJLRVkgPSBiYXNlNTguZGVjb2RlKCdTeXN2YXJDMW9jazExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG5jb25zdCBTWVNWQVJfU1RBS0VfSElTVE9SWV9QVUJLRVkgPSBiYXNlNTguZGVjb2RlKCdTeXN2YXJTdGFrZUhpc3RvcnkxMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG5cbmNvbnN0IENPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG5cbmNvbnN0IFBBRERJTkdfUFVCTElDS0VZID0gQnVmZmVyLmZyb20oJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJywgJ2FzY2lpJykudG9TdHJpbmcoJ2hleCcpO1xuXG5jb25zdCBQQUNLRVRfREFUQV9TSVpFID0gMTI4MCAtIDQwIC0gODtcblxuY29uc3QgVkVSU0lPTl9QUkVGSVhfTUFTSyA9IDB4N2Y7XG5cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfTEVOR1RIX0lOX0JZVEVTID0gNjQ7XG5cbi8qKlxuICogU2l6ZSBvZiBwdWJsaWMga2V5IGluIGJ5dGVzXG4gKi9cbmNvbnN0IFBVQkxJQ19LRVlfTEVOR1RIID0gMzI7XG5cbmV4cG9ydCB7XG4gIFNDUklQVCxcbiAgQ09JTl9UWVBFLFxuICBMQU1QT1JUU19QRVJfU09MLFxuICBTWVNURU1fUFJPR1JBTV9JRCxcbiAgVE9LRU5fUFJPR1JBTV9JRCxcbiAgVE9LRU5fMjAyMl9QUk9HUkFNX0lELFxuICBTVEFLRV9QUk9HUkFNX0lELFxuICBTVEFLRV9DT05GSUdfSUQsXG4gIEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCxcbiAgU1lTVkFSX1JFTlRfUFVCS0VZLFxuICBTWVNWQVJfQ0xPQ0tfUFVCS0VZLFxuICBTWVNWQVJfU1RBS0VfSElTVE9SWV9QVUJLRVksXG4gIENPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQsXG4gIFBBRERJTkdfUFVCTElDS0VZLFxuICBQQUNLRVRfREFUQV9TSVpFLFxuICBWRVJTSU9OX1BSRUZJWF9NQVNLLFxuICBQVUJMSUNfS0VZX0xFTkdUSCxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUEwQixTQUFBRCx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBRTFCLElBQU1FLE1BQU0sR0FBRztFQUNiQyxRQUFRLEVBQUU7SUFDUkMsTUFBTSw4cUJBQThxQjtJQUNwckJDLFNBQVMsRUFDUCxpSkFBaUpDLFFBQVEsQ0FDdkosR0FBRyxFQUNILEdBQ0YsQ0FBQztJQUNILElBQUlDLG1CQUFtQkEsQ0FBQSxFQUFXO01BQ2hDLE9BQU8sSUFBSSxDQUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDQyxTQUFTO0lBQ3JDO0VBQ0YsQ0FBQztFQUNERyw0QkFBNEIsRUFBRTtJQUM1QkosTUFBTSxzeEJBQXN4QjtJQUM1eEJDLFNBQVMsRUFDUCxpSkFBaUpD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 |
@@ -120,2 +120,4 @@ /// <reference types="node" /> | ||
lamports: number | string; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}; | ||
@@ -158,2 +160,4 @@ export declare type TokenProgramId = typeof TOKEN_PROGRAM_ID | typeof TOKEN_2022_PROGRAM_ID; | ||
programId: TokenProgramId; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}; | ||
@@ -160,0 +164,0 @@ export declare type Delegate = { |
@@ -99,2 +99,2 @@ "use strict"; | ||
})(ComputeBudgetInstruction || (exports.ComputeBudgetInstruction = ComputeBudgetInstruction = {})); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb2tlbkluc3RydWN0aW9uIiwiZXhwb3J0cyIsIkNvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNwb3J0IH0gZnJvbSAnQGNvb2x3YWxsZXQvY29yZSc7XG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tICcuLi91dGlscy9wdWJsaWNrZXknO1xuaW1wb3J0IHsgVmVyc2lvbmVkTWVzc2FnZSB9IGZyb20gJy4uL21lc3NhZ2UnO1xuaW1wb3J0IHsgVE9LRU5fUFJPR1JBTV9JRCwgVE9LRU5fMjAyMl9QUk9HUkFNX0lEIH0gZnJvbSAnLi9wYXJhbXMnO1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0gc3RyaW5nIHwgQnVmZmVyO1xuXG5leHBvcnQgdHlwZSBUb2tlbkluZm8gPSB7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBkZWNpbWFsczogbnVtYmVyIHwgc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHNpZ25hdHVyZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIExvY2t1cFJhdyA9IFJlYWRvbmx5PHtcbiAgY3VzdG9kaWFuOiBVaW50OEFycmF5O1xuICBlcG9jaDogbnVtYmVyO1xuICB1bml4VGltZXN0YW1wOiBudW1iZXI7XG59PjtcblxuZXhwb3J0IHR5cGUgQXV0aG9yaXplZFJhdyA9IFJlYWRvbmx5PHtcbiAgc3Rha2VyOiBVaW50OEFycmF5O1xuICB3aXRoZHJhd2VyOiBVaW50OEFycmF5O1xufT47XG5cbi8qKlxuICogQWNjb3VudE1ldGEgdHlwZXNcbiAqXG4gKiBAcGFyYW0ge3B1YmtleX0gcHVia2V5IGFjY291bnQgcHVibGlja2V5IGNvdWxkIGJlIGVpdGhlciBzdHJpbmcgb3IgQnVmZmVyXG4gKiBAcGFyYW0ge2lzU2lnbmVyfSBpc1NpZ25lciBpcyB0aGlzIGFjY291bnQgd2FzIHRoZSBzaWduZXIgb2YgdGhpcyBpbnN0cnVjdGlvbiBvciBub3Q/XG4gKiBAcGFyYW0ge2lzV3JpdGFibGV9IGlzV3JpdGFibGUgaXMgdGhpcyBhY2NvdW50IGhhdmUgcGVybWlzc2lvbiB0byB3cml0ZSBvciBub3QgP1xuICovXG5leHBvcnQgdHlwZSBBY2NvdW50TWV0YSA9IHtcbiAgcHVia2V5OiBBZGRyZXNzO1xuICBpc1NpZ25lcjogYm9vbGVhbjtcbiAgaXNXcml0YWJsZTogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQmxvY2toYXNoIGFzIEJhc2U1OCBzdHJpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIEJsb2NraGFzaCA9IHN0cmluZztcblxuLyoqXG4gKiBBbiBpbnN0cnVjdGlvbiB0byBleGVjdXRlIGJ5IGEgcHJvZ3JhbVxuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwcm9ncmFtSWRJbmRleFxuICogQHByb3BlcnR5IHtudW1iZXJbXX0gYWNjb3VudHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBpbGVkSW5zdHJ1Y3Rpb24gPSB7XG4gIC8qKiBJbmRleCBpbnRvIHRoZSB0cmFuc2FjdGlvbiBrZXlzIGFycmF5IGluZGljYXRpbmcgdGhlIHByb2dyYW0gYWNjb3VudCB0aGF0IGV4ZWN1dGVzIHRoaXMgaW5zdHJ1Y3Rpb24gKi9cbiAgcHJvZ3JhbUlkSW5kZXg6IG51bWJlcjtcbiAgLyoqIE9yZGVyZWQgaW5kaWNlcyBpbnRvIHRoZSB0cmFuc2FjdGlvbiBrZXlzIGFycmF5IGluZGljYXRpbmcgd2hpY2ggYWNjb3VudHMgdG8gcGFzcyB0byB0aGUgcHJvZ3JhbSAqL1xuICBhY2NvdW50czogbnVtYmVyW107XG4gIC8qKiBUaGUgcHJvZ3JhbSBpbnB1dCBkYXRhIGVuY29kZWQgYXMgYmFzZSA1OCAqL1xuICBkYXRhOiBzdHJpbmc7XG59O1xuXG50eXBlIEFkZHJlc3NMb29rdXBUYWJsZVN0YXRlID0ge1xuICBkZWFjdGl2YXRpb25TbG90OiBiaWdpbnQ7XG4gIGxhc3RFeHRlbmRlZFNsb3Q6IG51bWJlcjtcbiAgbGFzdEV4dGVuZGVkU2xvdFN0YXJ0SW5kZXg6IG51bWJlcjtcbiAgYXV0aG9yaXR5PzogUHVibGljS2V5O1xuICBhZGRyZXNzZXM6IEFycmF5PFB1YmxpY0tleT47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzTG9va3VwVGFibGVBY2NvdW50ID0ge1xuICBrZXk6IFB1YmxpY0tleTtcbiAgc3RhdGU6IEFkZHJlc3NMb29rdXBUYWJsZVN0YXRlO1xufTtcblxudHlwZSBMb2FkZWRBZGRyZXNzZXMgPSB7XG4gIHdyaXRhYmxlOiBBcnJheTxQdWJsaWNLZXk+O1xuICByZWFkb25seTogQXJyYXk8UHVibGljS2V5Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFjY291bnRLZXlzRnJvbUxvb2t1cHMgPSBMb2FkZWRBZGRyZXNzZXM7XG5cbi8qKlxuICogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbiB0eXBlcyBmb3IgaW5zdHJ1Y3Rpb24gaW5wdXRcbiAqXG4gKiBAcGFyYW0ge2FjY291bnRzfSBhY2NvdW50cyBsaXN0IG9mIGFjY291bnQgcGVyIHRoaXMgaW5zdHJ1Y3Rpb25cbiAqIEBwYXJhbSB7cHJvZ3JhbUlkfSBwcm9ncmFtSWQgcHJvZ3JhbUlkIHVzaW5nIGZvciB0aGlzIGluc3RydWN0aW9uXG4gKiBAcGFyYW0ge2RhdGF9IGRhdGEgaW5zdHJ1Y3Rpb24gZGF0YVxuICovXG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbkluc3RydWN0aW9uID0ge1xuICBhY2NvdW50czogQWNjb3VudE1ldGFbXTtcbiAgcHJvZ3JhbUlkOiBBZGRyZXNzO1xuICBkYXRhOiBCdWZmZXI7XG59O1xuXG4vKipcbiAqIENvbXBsaWVkSW5zdHJ1Y3Rpb24gdHlwZXMgZm9yIGluc3RydWN0aW9uIGVuY29kZVxuICpcbiAqIEBwYXJhbSB7YWNjb3VudHN9IGFjY291bnRzIGxpc3Qgb2YgYWNjb3VudHMgaW5kZXggb2YgaW5zdHJ1Y3Rpb25cbiAqIEBwYXJhbSB7cHJvZ3JhbUlkSW5kZXh9IHByb2dyYW1JZEluZGV4IGluc3RydWN0aW9uIHByb2dyYW1JZCBpbmRleFxuICogQHBhcmFtIHtkYXRhfSBkYXRhIGluc3RydWN0aW9uIGRhdGFcbiAqL1xuZXhwb3J0IHR5cGUgQ29tcGxpZWRJbnN0cnVjdGlvbiA9IHtcbiAgYWNjb3VudHM6IG51bWJlcltdO1xuICBwcm9ncmFtSWRJbmRleDogbnVtYmVyO1xuICBkYXRhOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFNlcmlhbGl6ZWQgSW5zdHJ1Y3Rpb25zIGZyb20gTWVzc2FnZVxuICovXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkSW5zdHJ1Y3Rpb24gPSB7XG4gIHByb2dyYW1JZEluZGV4OiBudW1iZXI7XG4gIGtleUluZGljZXNDb3VudDogQnVmZmVyO1xuICBrZXlJbmRpY2VzOiBudW1iZXJbXTtcbiAgZGF0YUxlbmd0aDogQnVmZmVyO1xuICBkYXRhOiBudW1iZXJbXTtcbn07XG5cbi8qKlxuICogVHJhbnNhY3Rpb25BcmdzIHR5cGVzIGZvciB0cmFuc2FjdGlvbiBpbnB1dFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eFR5cGUgcGF5ZXIgb2YgdGhpcyB0cmFuc2FjdGlvblxuICogQHBhcmFtIHtBZGRyZXNzfSBmZWVQYXllciBwYXllciBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVjZW50QmxvY2toYXNoIHJlY2VudCBibG9ja0hhc2gsIGlkZW50aWZpY2F0aW9uIG9mIG5ldyBibG9jayBhbHRlcm5hdGl2ZSBmb3Igbm9uY2VcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdfSBpbnN0cnVjdGlvbnMgbGlzdCBvZiBpbnN0cnVjdGlvbiBwZXIgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25BcmdzID0ge1xuICBmZWVQYXllcjogQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGluc3RydWN0aW9uczogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVHJhbnNmZXJUcmFuc2FjdGlvbiA9IHtcbiAgdG9QdWJrZXk6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xuICBsYW1wb3J0czogbnVtYmVyIHwgc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVG9rZW5Qcm9ncmFtSWQgPSB0eXBlb2YgVE9LRU5fUFJPR1JBTV9JRCB8IHR5cGVvZiBUT0tFTl8yMDIyX1BST0dSQU1fSUQ7XG5cbmV4cG9ydCB0eXBlIFRyYW5zZmVyU3BsVG9rZW5UcmFuc2FjdGlvbiA9IHtcbiAgZnJvbVRva2VuQWNjb3VudDogQWRkcmVzcztcbiAgdG9Ub2tlbkFjY291bnQ6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlciB8IHN0cmluZztcbiAgdG9rZW5JbmZvOiB7XG4gICAgc3ltYm9sOiBzdHJpbmc7XG4gICAgZGVjaW1hbHM6IG51bWJlciB8IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICB9O1xuICBwcm9ncmFtSWQ6IFRva2VuUHJvZ3JhbUlkO1xuICBjb21wdXRlVW5pdFByaWNlPzogc3RyaW5nO1xuICBjb21wdXRlVW5pdExpbWl0Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQXNzb2NpYXRlVG9rZW5BY2NvdW50VHJhbnNhY3Rpb24gPSB7XG4gIG93bmVyOiBBZGRyZXNzO1xuICBhc3NvY2lhdGVBY2NvdW50OiBBZGRyZXNzO1xuICB0b2tlbjogQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIHByb2dyYW1JZDogVG9rZW5Qcm9ncmFtSWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVBbmRUcmFuc2ZlclNwbFRva2VuVHJhbnNhY3Rpb24gPSB7XG4gIGZyb21Ub2tlbkFjY291bnQ6IEFkZHJlc3M7XG4gIHRvUHVia2V5OiBBZGRyZXNzO1xuICB0b1Rva2VuQWNjb3VudDogQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICB0b2tlbkluZm86IHtcbiAgICBzeW1ib2w6IHN0cmluZztcbiAgICBkZWNpbWFsczogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIH07XG4gIHByb2dyYW1JZDogVG9rZW5Qcm9ncmFtSWQ7XG59O1xuXG5leHBvcnQgdHlwZSBEZWxlZ2F0ZSA9IHtcbiAgc3Rha2VQdWJrZXk6IEFkZHJlc3M7XG4gIGF1dGhvcml6ZWRQdWJrZXk6IEFkZHJlc3M7XG4gIHZvdGVQdWJrZXk6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVW5kZWxlZ2F0ZSA9IHtcbiAgc3Rha2VQdWJrZXk6IEFkZHJlc3M7XG4gIGF1dGhvcml6ZWRQdWJrZXk6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQgPSB7XG4gIG5ld0FjY291bnRQdWJrZXk/OiBBZGRyZXNzO1xuICB2b3RlUHVia2V5OiBBZGRyZXNzO1xuICBzZWVkOiBzdHJpbmc7XG4gIGxhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXI7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgU3Rha2luZ1dpdGhkcmF3VHJhbnNhY3Rpb24gPSB7XG4gIHN0YWtlUHVia2V5OiBBZGRyZXNzO1xuICB3aXRoZHJhd1RvUHViS2V5OiBBZGRyZXNzO1xuICByZWNlbnRCbG9ja2hhc2g6IHN0cmluZztcbiAgbGFtcG9ydHM6IG51bWJlciB8IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNpZ25Jbk1lc3NhZ2UgPSB7XG4gIGRvbWFpbjogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHN0YXRlbWVudD86IHN0cmluZztcbiAgdXJpPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBjaGFpbklkPzogc3RyaW5nO1xuICBub25jZT86IHN0cmluZztcbiAgaXNzdWVkQXQ/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb25UaW1lPzogc3RyaW5nO1xuICBub3RCZWZvcmU/OiBzdHJpbmc7XG4gIHJlcXVlc3RJZD86IHN0cmluZztcbiAgcmVzb3VyY2VzPzogc3RyaW5nW107XG59O1xuXG50eXBlIE1hbmRhdG9yeTxUPiA9IFQgZXh0ZW5kcyBTaWduSW5NZXNzYWdlIHwgc3RyaW5nXG4gID8ge1xuICAgIHRyYW5zcG9ydDogVHJhbnNwb3J0O1xuICAgIGFwcFByaXZhdGVLZXk6IHN0cmluZztcbiAgICBhcHBJZDogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IFQ7XG4gICAgYWRkcmVzc0luZGV4OiBudW1iZXI7XG4gICAgY29uZmlybUNCPygpOiB2b2lkO1xuICAgIGF1dGhvcml6ZWRDQj8oKTogdm9pZDtcbiAgfVxuICA6IHtcbiAgICB0cmFuc3BvcnQ6IFRyYW5zcG9ydDtcbiAgICBhcHBQcml2YXRlS2V5OiBzdHJpbmc7XG4gICAgYXBwSWQ6IHN0cmluZztcbiAgICB0cmFuc2FjdGlvbjogVDtcbiAgICBhZGRyZXNzSW5kZXg6IG51bWJlcjtcbiAgICBjb25maXJtQ0I/KCk6IHZvaWQ7XG4gICAgYXV0aG9yaXplZENCPygpOiB2b2lkO1xuICB9O1xuXG5pbnRlcmZhY2UgVmVyc2lvbmVkVHJhbnNhY3Rpb248VCBleHRlbmRzIFZlcnNpb25lZE1lc3NhZ2U+IHtcbiAgc2lnbmF0dXJlczogQXJyYXk8VWludDhBcnJheT47XG4gIG1lc3NhZ2U6IFQ7XG59XG5cbmV4cG9ydCBlbnVtIFRva2VuSW5zdHJ1Y3Rpb24ge1xuICBJbml0aWFsaXplTWludCA9IDAsXG4gIEluaXRpYWxpemVBY2NvdW50ID0gMSxcbiAgSW5pdGlhbGl6ZU11bHRpc2lnID0gMixcbiAgVHJhbnNmZXIgPSAzLFxuICBBcHByb3ZlID0gNCxcbiAgUmV2b2tlID0gNSxcbiAgU2V0QXV0aG9yaXR5ID0gNixcbiAgTWludFRvID0gNyxcbiAgQnVybiA9IDgsXG4gIENsb3NlQWNjb3VudCA9IDksXG4gIEZyZWV6ZUFjY291bnQgPSAxMCxcbiAgVGhhd0FjY291bnQgPSAxMSxcbiAgVHJhbnNmZXJDaGVja2VkID0gMTIsXG4gIEFwcHJvdmVDaGVja2VkID0gMTMsXG4gIE1pbnRUb0NoZWNrZWQgPSAxNCxcbiAgQnVybkNoZWNrZWQgPSAxNSxcbiAgSW5pdGlhbGl6ZUFjY291bnQyID0gMTYsXG4gIFN5bmNOYXRpdmUgPSAxNyxcbiAgSW5pdGlhbGl6ZUFjY291bnQzID0gMTgsXG4gIEluaXRpYWxpemVNdWx0aXNpZzIgPSAxOSxcbiAgSW5pdGlhbGl6ZU1pbnQyID0gMjAsXG4gIEdldEFjY291bnREYXRhU2l6ZSA9IDIxLFxuICBJbml0aWFsaXplSW1tdXRhYmxlT3duZXIgPSAyMixcbiAgQW1vdW50VG9VaUFtb3VudCA9IDIzLFxuICBVaUFtb3VudFRvQW1vdW50ID0gMjQsXG4gIEluaXRpYWxpemVNaW50Q2xvc2VBdXRob3JpdHkgPSAyNSxcbiAgVHJhbnNmZXJGZWVFeHRlbnNpb24gPSAyNixcbiAgQ29uZmlkZW50aWFsVHJhbnNmZXJFeHRlbnNpb24gPSAyNyxcbiAgRGVmYXVsdEFjY291bnRTdGF0ZUV4dGVuc2lvbiA9IDI4LFxuICBSZWFsbG9jYXRlID0gMjksXG4gIE1lbW9UcmFuc2ZlckV4dGVuc2lvbiA9IDMwLFxuICBDcmVhdGVOYXRpdmVNaW50ID0gMzEsXG4gIEluaXRpYWxpemVOb25UcmFuc2ZlcmFibGVNaW50ID0gMzIsXG4gIEludGVyZXN0QmVhcmluZ01pbnRFeHRlbnNpb24gPSAzMyxcbiAgQ3BpR3VhcmRFeHRlbnNpb24gPSAzNCxcbiAgSW5pdGlhbGl6ZVBlcm1hbmVudERlbGVnYXRlID0gMzUsXG4gIFRyYW5zZmVySG9va0V4dGVuc2lvbiA9IDM2LFxuICAvLyBDb25maWRlbnRpYWxUcmFuc2ZlckZlZUV4dGVuc2lvbiA9IDM3LFxuICAvLyBXaXRoZHJhd2FsRXhjZXNzTGFtcG9ydHMgPSAzOCxcbiAgTWV0YWRhdGFQb2ludGVyRXh0ZW5zaW9uID0gMzksXG59XG5cbmV4cG9ydCBlbnVtIENvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiB7XG4gIFJlcXVlc3RVbml0cyA9IDAsXG4gIFJlcXVlc3RIZWFwRnJhbWUgPSAxLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gMixcbiAgU2V0Q29tcHV0ZVVuaXRQcmljZSA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIHNpZ25UcmFuc2FjdGlvblR5cGUgPSBNYW5kYXRvcnk8VHJhbnNhY3Rpb25BcmdzPjtcblxuZXhwb3J0IHR5cGUgc2lnblRyYW5zZmVyVHJhbnNhY3Rpb25UeXBlID0gTWFuZGF0b3J5PFRyYW5zZmVyVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduVHJhbnNmZXJTcGxUb2tlblRyYW5zYWN0aW9uVHlwZSA9IE1hbmRhdG9yeTxUcmFuc2ZlclNwbFRva2VuVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduQXNzb2NpYXRlVG9rZW5BY2NvdW50VHJhbnNhY3Rpb25UeXBlID0gTWFuZGF0b3J5PEFzc29jaWF0ZVRva2VuQWNjb3VudFRyYW5zYWN0aW9uPjtcblxuZXhwb3J0IHR5cGUgc2lnbkNyZWF0ZUFuZFRyYW5zZmVyU3BsVG9rZW5UcmFuc2FjdGlvbiA9IE1hbmRhdG9yeTxDcmVhdGVBbmRUcmFuc2ZlclNwbFRva2VuVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduRGVsZWdhdGVUeXBlID0gTWFuZGF0b3J5PERlbGVnYXRlPjtcblxuZXhwb3J0IHR5cGUgc2lnblVuZGVsZWdhdGVUeXBlID0gTWFuZGF0b3J5PFVuZGVsZWdhdGU+O1xuXG5leHBvcnQgdHlwZSBzaWduRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWRUeXBlID0gTWFuZGF0b3J5PERlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudFdpdGhTZWVkPjtcblxuZXhwb3J0IHR5cGUgc2lnblN0YWtpbmdXaXRoZHJhd1R5cGUgPSBNYW5kYXRvcnk8U3Rha2luZ1dpdGhkcmF3VHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduU2lnbkluTWVzc2FnZVR5cGUgPSBNYW5kYXRvcnk8U2lnbkluTWVzc2FnZT47XG5cbmV4cG9ydCB0eXBlIHNpZ25NZXNzYWdlVHlwZSA9IE1hbmRhdG9yeTxzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBzaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25UeXBlID0gTWFuZGF0b3J5PFZlcnNpb25lZFRyYW5zYWN0aW9uPFZlcnNpb25lZE1lc3NhZ2U+PjtcbmV4cG9ydCB0eXBlIHNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvbnMgPSBNYW5kYXRvcnk8VmVyc2lvbmVkVHJhbnNhY3Rpb248VmVyc2lvbmVkTWVzc2FnZT5bXT47XG5cbmV4cG9ydCB0eXBlIHNpZ25UeFR5cGUgPVxuICB8IHNpZ25UcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduVHJhbnNmZXJUcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduQ3JlYXRlQW5kVHJhbnNmZXJTcGxUb2tlblRyYW5zYWN0aW9uXG4gIHwgc2lnblRyYW5zZmVyU3BsVG9rZW5UcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduQXNzb2NpYXRlVG9rZW5BY2NvdW50VHJhbnNhY3Rpb25UeXBlXG4gIHwgc2lnbkRlbGVnYXRlVHlwZVxuICB8IHNpZ25VbmRlbGVnYXRlVHlwZVxuICB8IHNpZ25EZWxlZ2F0ZUFuZENyZWF0ZUFjY291bnRXaXRoU2VlZFR5cGVcbiAgfCBzaWduU3Rha2luZ1dpdGhkcmF3VHlwZVxuICB8IHNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25zO1xuXG5leHBvcnQgdHlwZSBzaWduTXNnVHlwZSA9IHNpZ25TaWduSW5NZXNzYWdlVHlwZSB8IHNpZ25NZXNzYWdlVHlwZTtcblxuZXhwb3J0IHR5cGUgU2lnbkRhdGFUeXBlID0g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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb2tlbkluc3RydWN0aW9uIiwiZXhwb3J0cyIsIkNvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNwb3J0IH0gZnJvbSAnQGNvb2x3YWxsZXQvY29yZSc7XG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tICcuLi91dGlscy9wdWJsaWNrZXknO1xuaW1wb3J0IHsgVmVyc2lvbmVkTWVzc2FnZSB9IGZyb20gJy4uL21lc3NhZ2UnO1xuaW1wb3J0IHsgVE9LRU5fUFJPR1JBTV9JRCwgVE9LRU5fMjAyMl9QUk9HUkFNX0lEIH0gZnJvbSAnLi9wYXJhbXMnO1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0gc3RyaW5nIHwgQnVmZmVyO1xuXG5leHBvcnQgdHlwZSBUb2tlbkluZm8gPSB7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBkZWNpbWFsczogbnVtYmVyIHwgc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHNpZ25hdHVyZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIExvY2t1cFJhdyA9IFJlYWRvbmx5PHtcbiAgY3VzdG9kaWFuOiBVaW50OEFycmF5O1xuICBlcG9jaDogbnVtYmVyO1xuICB1bml4VGltZXN0YW1wOiBudW1iZXI7XG59PjtcblxuZXhwb3J0IHR5cGUgQXV0aG9yaXplZFJhdyA9IFJlYWRvbmx5PHtcbiAgc3Rha2VyOiBVaW50OEFycmF5O1xuICB3aXRoZHJhd2VyOiBVaW50OEFycmF5O1xufT47XG5cbi8qKlxuICogQWNjb3VudE1ldGEgdHlwZXNcbiAqXG4gKiBAcGFyYW0ge3B1YmtleX0gcHVia2V5IGFjY291bnQgcHVibGlja2V5IGNvdWxkIGJlIGVpdGhlciBzdHJpbmcgb3IgQnVmZmVyXG4gKiBAcGFyYW0ge2lzU2lnbmVyfSBpc1NpZ25lciBpcyB0aGlzIGFjY291bnQgd2FzIHRoZSBzaWduZXIgb2YgdGhpcyBpbnN0cnVjdGlvbiBvciBub3Q/XG4gKiBAcGFyYW0ge2lzV3JpdGFibGV9IGlzV3JpdGFibGUgaXMgdGhpcyBhY2NvdW50IGhhdmUgcGVybWlzc2lvbiB0byB3cml0ZSBvciBub3QgP1xuICovXG5leHBvcnQgdHlwZSBBY2NvdW50TWV0YSA9IHtcbiAgcHVia2V5OiBBZGRyZXNzO1xuICBpc1NpZ25lcjogYm9vbGVhbjtcbiAgaXNXcml0YWJsZTogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQmxvY2toYXNoIGFzIEJhc2U1OCBzdHJpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIEJsb2NraGFzaCA9IHN0cmluZztcblxuLyoqXG4gKiBBbiBpbnN0cnVjdGlvbiB0byBleGVjdXRlIGJ5IGEgcHJvZ3JhbVxuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwcm9ncmFtSWRJbmRleFxuICogQHByb3BlcnR5IHtudW1iZXJbXX0gYWNjb3VudHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBpbGVkSW5zdHJ1Y3Rpb24gPSB7XG4gIC8qKiBJbmRleCBpbnRvIHRoZSB0cmFuc2FjdGlvbiBrZXlzIGFycmF5IGluZGljYXRpbmcgdGhlIHByb2dyYW0gYWNjb3VudCB0aGF0IGV4ZWN1dGVzIHRoaXMgaW5zdHJ1Y3Rpb24gKi9cbiAgcHJvZ3JhbUlkSW5kZXg6IG51bWJlcjtcbiAgLyoqIE9yZGVyZWQgaW5kaWNlcyBpbnRvIHRoZSB0cmFuc2FjdGlvbiBrZXlzIGFycmF5IGluZGljYXRpbmcgd2hpY2ggYWNjb3VudHMgdG8gcGFzcyB0byB0aGUgcHJvZ3JhbSAqL1xuICBhY2NvdW50czogbnVtYmVyW107XG4gIC8qKiBUaGUgcHJvZ3JhbSBpbnB1dCBkYXRhIGVuY29kZWQgYXMgYmFzZSA1OCAqL1xuICBkYXRhOiBzdHJpbmc7XG59O1xuXG50eXBlIEFkZHJlc3NMb29rdXBUYWJsZVN0YXRlID0ge1xuICBkZWFjdGl2YXRpb25TbG90OiBiaWdpbnQ7XG4gIGxhc3RFeHRlbmRlZFNsb3Q6IG51bWJlcjtcbiAgbGFzdEV4dGVuZGVkU2xvdFN0YXJ0SW5kZXg6IG51bWJlcjtcbiAgYXV0aG9yaXR5PzogUHVibGljS2V5O1xuICBhZGRyZXNzZXM6IEFycmF5PFB1YmxpY0tleT47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzTG9va3VwVGFibGVBY2NvdW50ID0ge1xuICBrZXk6IFB1YmxpY0tleTtcbiAgc3RhdGU6IEFkZHJlc3NMb29rdXBUYWJsZVN0YXRlO1xufTtcblxudHlwZSBMb2FkZWRBZGRyZXNzZXMgPSB7XG4gIHdyaXRhYmxlOiBBcnJheTxQdWJsaWNLZXk+O1xuICByZWFkb25seTogQXJyYXk8UHVibGljS2V5Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFjY291bnRLZXlzRnJvbUxvb2t1cHMgPSBMb2FkZWRBZGRyZXNzZXM7XG5cbi8qKlxuICogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbiB0eXBlcyBmb3IgaW5zdHJ1Y3Rpb24gaW5wdXRcbiAqXG4gKiBAcGFyYW0ge2FjY291bnRzfSBhY2NvdW50cyBsaXN0IG9mIGFjY291bnQgcGVyIHRoaXMgaW5zdHJ1Y3Rpb25cbiAqIEBwYXJhbSB7cHJvZ3JhbUlkfSBwcm9ncmFtSWQgcHJvZ3JhbUlkIHVzaW5nIGZvciB0aGlzIGluc3RydWN0aW9uXG4gKiBAcGFyYW0ge2RhdGF9IGRhdGEgaW5zdHJ1Y3Rpb24gZGF0YVxuICovXG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbkluc3RydWN0aW9uID0ge1xuICBhY2NvdW50czogQWNjb3VudE1ldGFbXTtcbiAgcHJvZ3JhbUlkOiBBZGRyZXNzO1xuICBkYXRhOiBCdWZmZXI7XG59O1xuXG4vKipcbiAqIENvbXBsaWVkSW5zdHJ1Y3Rpb24gdHlwZXMgZm9yIGluc3RydWN0aW9uIGVuY29kZVxuICpcbiAqIEBwYXJhbSB7YWNjb3VudHN9IGFjY291bnRzIGxpc3Qgb2YgYWNjb3VudHMgaW5kZXggb2YgaW5zdHJ1Y3Rpb25cbiAqIEBwYXJhbSB7cHJvZ3JhbUlkSW5kZXh9IHByb2dyYW1JZEluZGV4IGluc3RydWN0aW9uIHByb2dyYW1JZCBpbmRleFxuICogQHBhcmFtIHtkYXRhfSBkYXRhIGluc3RydWN0aW9uIGRhdGFcbiAqL1xuZXhwb3J0IHR5cGUgQ29tcGxpZWRJbnN0cnVjdGlvbiA9IHtcbiAgYWNjb3VudHM6IG51bWJlcltdO1xuICBwcm9ncmFtSWRJbmRleDogbnVtYmVyO1xuICBkYXRhOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFNlcmlhbGl6ZWQgSW5zdHJ1Y3Rpb25zIGZyb20gTWVzc2FnZVxuICovXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkSW5zdHJ1Y3Rpb24gPSB7XG4gIHByb2dyYW1JZEluZGV4OiBudW1iZXI7XG4gIGtleUluZGljZXNDb3VudDogQnVmZmVyO1xuICBrZXlJbmRpY2VzOiBudW1iZXJbXTtcbiAgZGF0YUxlbmd0aDogQnVmZmVyO1xuICBkYXRhOiBudW1iZXJbXTtcbn07XG5cbi8qKlxuICogVHJhbnNhY3Rpb25BcmdzIHR5cGVzIGZvciB0cmFuc2FjdGlvbiBpbnB1dFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eFR5cGUgcGF5ZXIgb2YgdGhpcyB0cmFuc2FjdGlvblxuICogQHBhcmFtIHtBZGRyZXNzfSBmZWVQYXllciBwYXllciBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVjZW50QmxvY2toYXNoIHJlY2VudCBibG9ja0hhc2gsIGlkZW50aWZpY2F0aW9uIG9mIG5ldyBibG9jayBhbHRlcm5hdGl2ZSBmb3Igbm9uY2VcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdfSBpbnN0cnVjdGlvbnMgbGlzdCBvZiBpbnN0cnVjdGlvbiBwZXIgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25BcmdzID0ge1xuICBmZWVQYXllcjogQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGluc3RydWN0aW9uczogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVHJhbnNmZXJUcmFuc2FjdGlvbiA9IHtcbiAgdG9QdWJrZXk6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xuICBsYW1wb3J0czogbnVtYmVyIHwgc3RyaW5nO1xuICBjb21wdXRlVW5pdFByaWNlPzogc3RyaW5nO1xuICBjb21wdXRlVW5pdExpbWl0Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVG9rZW5Qcm9ncmFtSWQgPSB0eXBlb2YgVE9LRU5fUFJPR1JBTV9JRCB8IHR5cGVvZiBUT0tFTl8yMDIyX1BST0dSQU1fSUQ7XG5cbmV4cG9ydCB0eXBlIFRyYW5zZmVyU3BsVG9rZW5UcmFuc2FjdGlvbiA9IHtcbiAgZnJvbVRva2VuQWNjb3VudDogQWRkcmVzcztcbiAgdG9Ub2tlbkFjY291bnQ6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlciB8IHN0cmluZztcbiAgdG9rZW5JbmZvOiB7XG4gICAgc3ltYm9sOiBzdHJpbmc7XG4gICAgZGVjaW1hbHM6IG51bWJlciB8IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICB9O1xuICBwcm9ncmFtSWQ6IFRva2VuUHJvZ3JhbUlkO1xuICBjb21wdXRlVW5pdFByaWNlPzogc3RyaW5nO1xuICBjb21wdXRlVW5pdExpbWl0Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQXNzb2NpYXRlVG9rZW5BY2NvdW50VHJhbnNhY3Rpb24gPSB7XG4gIG93bmVyOiBBZGRyZXNzO1xuICBhc3NvY2lhdGVBY2NvdW50OiBBZGRyZXNzO1xuICB0b2tlbjogQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIHByb2dyYW1JZDogVG9rZW5Qcm9ncmFtSWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVBbmRUcmFuc2ZlclNwbFRva2VuVHJhbnNhY3Rpb24gPSB7XG4gIGZyb21Ub2tlbkFjY291bnQ6IEFkZHJlc3M7XG4gIHRvUHVia2V5OiBBZGRyZXNzO1xuICB0b1Rva2VuQWNjb3VudDogQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICB0b2tlbkluZm86IHtcbiAgICBzeW1ib2w6IHN0cmluZztcbiAgICBkZWNpbWFsczogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIH07XG4gIHByb2dyYW1JZDogVG9rZW5Qcm9ncmFtSWQ7XG4gIGNvbXB1dGVVbml0UHJpY2U/OiBzdHJpbmc7XG4gIGNvbXB1dGVVbml0TGltaXQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBEZWxlZ2F0ZSA9IHtcbiAgc3Rha2VQdWJrZXk6IEFkZHJlc3M7XG4gIGF1dGhvcml6ZWRQdWJrZXk6IEFkZHJlc3M7XG4gIHZvdGVQdWJrZXk6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVW5kZWxlZ2F0ZSA9IHtcbiAgc3Rha2VQdWJrZXk6IEFkZHJlc3M7XG4gIGF1dGhvcml6ZWRQdWJrZXk6IEFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQgPSB7XG4gIG5ld0FjY291bnRQdWJrZXk/OiBBZGRyZXNzO1xuICB2b3RlUHVia2V5OiBBZGRyZXNzO1xuICBzZWVkOiBzdHJpbmc7XG4gIGxhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXI7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgU3Rha2luZ1dpdGhkcmF3VHJhbnNhY3Rpb24gPSB7XG4gIHN0YWtlUHVia2V5OiBBZGRyZXNzO1xuICB3aXRoZHJhd1RvUHViS2V5OiBBZGRyZXNzO1xuICByZWNlbnRCbG9ja2hhc2g6IHN0cmluZztcbiAgbGFtcG9ydHM6IG51bWJlciB8IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNpZ25Jbk1lc3NhZ2UgPSB7XG4gIGRvbWFpbjogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHN0YXRlbWVudD86IHN0cmluZztcbiAgdXJpPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBjaGFpbklkPzogc3RyaW5nO1xuICBub25jZT86IHN0cmluZztcbiAgaXNzdWVkQXQ/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb25UaW1lPzogc3RyaW5nO1xuICBub3RCZWZvcmU/OiBzdHJpbmc7XG4gIHJlcXVlc3RJZD86IHN0cmluZztcbiAgcmVzb3VyY2VzPzogc3RyaW5nW107XG59O1xuXG50eXBlIE1hbmRhdG9yeTxUPiA9IFQgZXh0ZW5kcyBTaWduSW5NZXNzYWdlIHwgc3RyaW5nXG4gID8ge1xuICAgIHRyYW5zcG9ydDogVHJhbnNwb3J0O1xuICAgIGFwcFByaXZhdGVLZXk6IHN0cmluZztcbiAgICBhcHBJZDogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IFQ7XG4gICAgYWRkcmVzc0luZGV4OiBudW1iZXI7XG4gICAgY29uZmlybUNCPygpOiB2b2lkO1xuICAgIGF1dGhvcml6ZWRDQj8oKTogdm9pZDtcbiAgfVxuICA6IHtcbiAgICB0cmFuc3BvcnQ6IFRyYW5zcG9ydDtcbiAgICBhcHBQcml2YXRlS2V5OiBzdHJpbmc7XG4gICAgYXBwSWQ6IHN0cmluZztcbiAgICB0cmFuc2FjdGlvbjogVDtcbiAgICBhZGRyZXNzSW5kZXg6IG51bWJlcjtcbiAgICBjb25maXJtQ0I/KCk6IHZvaWQ7XG4gICAgYXV0aG9yaXplZENCPygpOiB2b2lkO1xuICB9O1xuXG5pbnRlcmZhY2UgVmVyc2lvbmVkVHJhbnNhY3Rpb248VCBleHRlbmRzIFZlcnNpb25lZE1lc3NhZ2U+IHtcbiAgc2lnbmF0dXJlczogQXJyYXk8VWludDhBcnJheT47XG4gIG1lc3NhZ2U6IFQ7XG59XG5cbmV4cG9ydCBlbnVtIFRva2VuSW5zdHJ1Y3Rpb24ge1xuICBJbml0aWFsaXplTWludCA9IDAsXG4gIEluaXRpYWxpemVBY2NvdW50ID0gMSxcbiAgSW5pdGlhbGl6ZU11bHRpc2lnID0gMixcbiAgVHJhbnNmZXIgPSAzLFxuICBBcHByb3ZlID0gNCxcbiAgUmV2b2tlID0gNSxcbiAgU2V0QXV0aG9yaXR5ID0gNixcbiAgTWludFRvID0gNyxcbiAgQnVybiA9IDgsXG4gIENsb3NlQWNjb3VudCA9IDksXG4gIEZyZWV6ZUFjY291bnQgPSAxMCxcbiAgVGhhd0FjY291bnQgPSAxMSxcbiAgVHJhbnNmZXJDaGVja2VkID0gMTIsXG4gIEFwcHJvdmVDaGVja2VkID0gMTMsXG4gIE1pbnRUb0NoZWNrZWQgPSAxNCxcbiAgQnVybkNoZWNrZWQgPSAxNSxcbiAgSW5pdGlhbGl6ZUFjY291bnQyID0gMTYsXG4gIFN5bmNOYXRpdmUgPSAxNyxcbiAgSW5pdGlhbGl6ZUFjY291bnQzID0gMTgsXG4gIEluaXRpYWxpemVNdWx0aXNpZzIgPSAxOSxcbiAgSW5pdGlhbGl6ZU1pbnQyID0gMjAsXG4gIEdldEFjY291bnREYXRhU2l6ZSA9IDIxLFxuICBJbml0aWFsaXplSW1tdXRhYmxlT3duZXIgPSAyMixcbiAgQW1vdW50VG9VaUFtb3VudCA9IDIzLFxuICBVaUFtb3VudFRvQW1vdW50ID0gMjQsXG4gIEluaXRpYWxpemVNaW50Q2xvc2VBdXRob3JpdHkgPSAyNSxcbiAgVHJhbnNmZXJGZWVFeHRlbnNpb24gPSAyNixcbiAgQ29uZmlkZW50aWFsVHJhbnNmZXJFeHRlbnNpb24gPSAyNyxcbiAgRGVmYXVsdEFjY291bnRTdGF0ZUV4dGVuc2lvbiA9IDI4LFxuICBSZWFsbG9jYXRlID0gMjksXG4gIE1lbW9UcmFuc2ZlckV4dGVuc2lvbiA9IDMwLFxuICBDcmVhdGVOYXRpdmVNaW50ID0gMzEsXG4gIEluaXRpYWxpemVOb25UcmFuc2ZlcmFibGVNaW50ID0gMzIsXG4gIEludGVyZXN0QmVhcmluZ01pbnRFeHRlbnNpb24gPSAzMyxcbiAgQ3BpR3VhcmRFeHRlbnNpb24gPSAzNCxcbiAgSW5pdGlhbGl6ZVBlcm1hbmVudERlbGVnYXRlID0gMzUsXG4gIFRyYW5zZmVySG9va0V4dGVuc2lvbiA9IDM2LFxuICAvLyBDb25maWRlbnRpYWxUcmFuc2ZlckZlZUV4dGVuc2lvbiA9IDM3LFxuICAvLyBXaXRoZHJhd2FsRXhjZXNzTGFtcG9ydHMgPSAzOCxcbiAgTWV0YWRhdGFQb2ludGVyRXh0ZW5zaW9uID0gMzksXG59XG5cbmV4cG9ydCBlbnVtIENvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiB7XG4gIFJlcXVlc3RVbml0cyA9IDAsXG4gIFJlcXVlc3RIZWFwRnJhbWUgPSAxLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gMixcbiAgU2V0Q29tcHV0ZVVuaXRQcmljZSA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIHNpZ25UcmFuc2FjdGlvblR5cGUgPSBNYW5kYXRvcnk8VHJhbnNhY3Rpb25BcmdzPjtcblxuZXhwb3J0IHR5cGUgc2lnblRyYW5zZmVyVHJhbnNhY3Rpb25UeXBlID0gTWFuZGF0b3J5PFRyYW5zZmVyVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduVHJhbnNmZXJTcGxUb2tlblRyYW5zYWN0aW9uVHlwZSA9IE1hbmRhdG9yeTxUcmFuc2ZlclNwbFRva2VuVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduQXNzb2NpYXRlVG9rZW5BY2NvdW50VHJhbnNhY3Rpb25UeXBlID0gTWFuZGF0b3J5PEFzc29jaWF0ZVRva2VuQWNjb3VudFRyYW5zYWN0aW9uPjtcblxuZXhwb3J0IHR5cGUgc2lnbkNyZWF0ZUFuZFRyYW5zZmVyU3BsVG9rZW5UcmFuc2FjdGlvbiA9IE1hbmRhdG9yeTxDcmVhdGVBbmRUcmFuc2ZlclNwbFRva2VuVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduRGVsZWdhdGVUeXBlID0gTWFuZGF0b3J5PERlbGVnYXRlPjtcblxuZXhwb3J0IHR5cGUgc2lnblVuZGVsZWdhdGVUeXBlID0gTWFuZGF0b3J5PFVuZGVsZWdhdGU+O1xuXG5leHBvcnQgdHlwZSBzaWduRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWRUeXBlID0gTWFuZGF0b3J5PERlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudFdpdGhTZWVkPjtcblxuZXhwb3J0IHR5cGUgc2lnblN0YWtpbmdXaXRoZHJhd1R5cGUgPSBNYW5kYXRvcnk8U3Rha2luZ1dpdGhkcmF3VHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBzaWduU2lnbkluTWVzc2FnZVR5cGUgPSBNYW5kYXRvcnk8U2lnbkluTWVzc2FnZT47XG5cbmV4cG9ydCB0eXBlIHNpZ25NZXNzYWdlVHlwZSA9IE1hbmRhdG9yeTxzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBzaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25UeXBlID0gTWFuZGF0b3J5PFZlcnNpb25lZFRyYW5zYWN0aW9uPFZlcnNpb25lZE1lc3NhZ2U+PjtcbmV4cG9ydCB0eXBlIHNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvbnMgPSBNYW5kYXRvcnk8VmVyc2lvbmVkVHJhbnNhY3Rpb248VmVyc2lvbmVkTWVzc2FnZT5bXT47XG5cbmV4cG9ydCB0eXBlIHNpZ25UeFR5cGUgPVxuICB8IHNpZ25UcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduVHJhbnNmZXJUcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduQ3JlYXRlQW5kVHJhbnNmZXJTcGxUb2tlblRyYW5zYWN0aW9uXG4gIHwgc2lnblRyYW5zZmVyU3BsVG9rZW5UcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduQXNzb2NpYXRlVG9rZW5BY2NvdW50VHJhbnNhY3Rpb25UeXBlXG4gIHwgc2lnbkRlbGVnYXRlVHlwZVxuICB8IHNpZ25VbmRlbGVnYXRlVHlwZVxuICB8IHNpZ25EZWxlZ2F0ZUFuZENyZWF0ZUFjY291bnRXaXRoU2VlZFR5cGVcbiAgfCBzaWduU3Rha2luZ1dpdGhkcmF3VHlwZVxuICB8IHNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvblR5cGVcbiAgfCBzaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25zO1xuXG5leHBvcnQgdHlwZSBzaWduTXNnVHlwZSA9IHNpZ25TaWduSW5NZXNzYWdlVHlwZSB8IHNpZ25NZXNzYWdlVHlwZTtcblxuZXhwb3J0IHR5cGUgU2lnbkRhdGFUeXBlID0gc2lnblR4VHlwZSB8IHNpZ25Nc2dUeXBlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUF5QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQThCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBLElBcUlZQSxnQkFBZ0I7QUFBQUMsT0FBQSxDQUFBRCxnQkFBQSxHQUFBQSxnQkFBQTtBQUFBLFdBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtBQUFBLEdBQWhCQSxnQkFBZ0IsS0FBQUMsT0FBQSxDQUFBRCxnQkFBQSxHQUFoQkEsZ0JBQWdCO0FBQUEsSUEyQ2hCRSx3QkFBd0I7QUFBQUQsT0FBQSxDQUFBQyx3QkFBQSxHQUFBQSx3QkFBQTtBQUFBLFdBQXhCQSx3QkFBd0I7RUFBeEJBLHdCQUF3QixDQUF4QkEsd0JBQXdCO0VBQXhCQSx3QkFBd0IsQ0FBeEJBLHdCQUF3QjtFQUF4QkEsd0JBQXdCLENBQXhCQSx3QkFBd0I7RUFBeEJBLHdCQUF3QixDQUF4QkEsd0JBQXdCO0FBQUEsR0FBeEJBLHdCQUF3QixLQUFBRCxPQUFBLENBQUFDLHdCQUFBLEdBQXhCQSx3QkFBd0IifQ== |
@@ -34,3 +34,3 @@ "use strict"; | ||
}; | ||
return _context.abrupt("return", _core.tx.flow.getSingleSignatureFromCoolWallet(transport, preActions, action, true, confirmCB, authorizedCB)); | ||
return _context.abrupt("return", _core.tx.flow.getSingleSignatureFromCoolWalletV2(transport, preActions, action, confirmCB, authorizedCB, _transaction.SignatureType.EDDSA)); | ||
case 4: | ||
@@ -140,2 +140,2 @@ case "end": | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfbWVzc2FnZSIsIl9UcmFuc2FjdGlvbiIsIl92ZXJzaW9uZWRUcmFuc2FjdGlvbiIsIl9zY3JpcHRVdGlsIiwiX3RyYW5zYWN0aW9uIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVzb2x2ZSIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiYXJnIiwiaW5mbyIsInZhbHVlIiwiZXJyb3IiLCJkb25lIiwiUHJvbWlzZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsImV4ZWN1dGVTY3JpcHRXaXRoUHJlQWN0aW9ucyIsIl94IiwiX3gyIiwiX3gzIiwiX2V4ZWN1dGVTY3JpcHRXaXRoUHJlQWN0aW9ucyIsInJlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwic2lnbkRhdGEiLCJzY3JpcHQiLCJhcmd1bWVudCIsInRyYW5zcG9ydCIsImFwcFByaXZhdGVLZXkiLCJhcHBJZCIsImNvbmZpcm1DQiIsImF1dGhvcml6ZWRDQiIsInByZUFjdGlvbnMiLCJhY3Rpb24iLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYXBkdSIsInR4Iiwic2VuZFNjcmlwdCIsImV4ZWN1dGVTY3JpcHQiLCJhYnJ1cHQiLCJmbG93IiwiZ2V0U2luZ2xlU2lnbmF0dXJlRnJvbUNvb2xXYWxsZXQiLCJzdG9wIiwic2lnbkFsbFRyYW5zYWN0aW9ucyIsIl94NCIsIl94NSIsIl9zaWduQWxsVHJhbnNhY3Rpb25zIiwiX2NhbGxlZTIiLCJzaWduVHhEYXRhIiwiX3lpZWxkJGdldFNjcmlwdFNpZ25pIiwiYWN0aW9ucyIsInNpZ25hdHVyZXMiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyIsInNlbnQiLCJnZXRTaWduYXR1cmVzRnJvbUNvb2xXYWxsZXRWMiIsIlNpZ25hdHVyZVR5cGUiLCJFRERTQSIsIm1hcCIsInNpZ25hdHVyZSIsIlVpbnQ4QXJyYXkiLCJzaWduVHJhbnNhY3Rpb24iLCJfeDYiLCJfeDciLCJfeDgiLCJfeDkiLCJfc2lnblRyYW5zYWN0aW9uIiwiX2NhbGxlZTMiLCJyYXdUeCIsInNpZ25hdHVyZVVpbnQ4QXJyYXlzIiwic2VyaWFsaXplZFRyYW5zYWN0aW9uIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiTWVzc2FnZSIsIk1lc3NhZ2VWMCIsInRyYW5zYWN0aW9uIiwiVmVyc2lvbmVkVHJhbnNhY3Rpb24iLCJzZXJpYWxpemUiLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJUcmFuc2FjdGlvbiIsInRvVHhTdHJpbmciLCJFcnJvciIsInNpZ25NZXNzYWdlIiwiX3gxMCIsIl94MTEiLCJfeDEyIiwiX3NpZ25NZXNzYWdlIiwiX2NhbGxlZTQiLCJzaWduTXNnRGF0YSIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9zaWduLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR4LCBhcGR1IH0gZnJvbSAnQGNvb2x3YWxsZXQvY29yZSc7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlVjAsIFZlcnNpb25lZE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2UnO1xuXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdXRpbHMvVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVmVyc2lvbmVkVHJhbnNhY3Rpb24gfSBmcm9tICcuL3V0aWxzL3ZlcnNpb25lZFRyYW5zYWN0aW9uJztcbmltcG9ydCB7IGdldFNjcmlwdFNpZ25pbmdBY3Rpb25zIH0gZnJvbSAnLi91dGlscy9zY3JpcHRVdGlsJztcbmltcG9ydCB7IFNpZ25hdHVyZVR5cGUgfSBmcm9tICdAY29vbHdhbGxldC9jb3JlL2xpYi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBzaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi9jb25maWcvdHlwZXMnO1xuXG5hc3luYyBmdW5jdGlvbiBleGVjdXRlU2NyaXB0V2l0aFByZUFjdGlvbnMoXG4gIHNpZ25EYXRhOiB0eXBlcy5TaWduRGF0YVR5cGUsXG4gIHNjcmlwdDogc3RyaW5nLFxuICBhcmd1bWVudDogc3RyaW5nXG4pOiBQcm9taXNlPEJ1ZmZlciB8IHsgcjogc3RyaW5nOyBzOiBzdHJpbmcgfT4ge1xuICBjb25zdCB7IHRyYW5zcG9ydCwgYXBwUHJpdmF0ZUtleSwgYXBwSWQsIGNvbmZpcm1DQiwgYXV0aG9yaXplZENCIH0gPSBzaWduRGF0YTtcblxuICBjb25zdCBwcmVBY3Rpb25zID0gWygpID0+IGFwZHUudHguc2VuZFNjcmlwdCh0cmFuc3BvcnQsIHNjcmlwdCldO1xuICBjb25zdCBhY3Rpb24gPSAoKSA9PiBhcGR1LnR4LmV4ZWN1dGVTY3JpcHQodHJhbnNwb3J0LCBhcHBJZCwgYXBwUHJpdmF0ZUtleSwgYXJndW1lbnQpO1xuXG4gIHJldHVybiB0eC5mbG93LmdldFNpbmdsZVNpZ25hdHVyZUZyb21Db29sV2FsbGV0KHRyYW5zcG9ydCwgcHJlQWN0aW9ucywgYWN0aW9uLCB0cnVlLCBjb25maXJtQ0IsIGF1dGhvcml6ZWRDQik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNpZ25BbGxUcmFuc2FjdGlvbnMoXG4gIHNpZ25UeERhdGE6IHR5cGVzLnNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvbnMsXG4gIHByZUFjdGlvbnM6IEFycmF5PCgpID0+IFByb21pc2U8dm9pZD4+XG4pOiBQcm9taXNlPEFycmF5PFVpbnQ4QXJyYXk+PiB7XG4gIGNvbnN0IHsgdHJhbnNwb3J0LCBjb25maXJtQ0IsIGF1dGhvcml6ZWRDQiB9ID0gc2lnblR4RGF0YTtcbiAgY29uc3QgeyBhY3Rpb25zIH0gPSBhd2FpdCBnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyhzaWduVHhEYXRhKTtcbiAgY29uc3Qgc2lnbmF0dXJlcyA9IChhd2FpdCB0eC5mbG93LmdldFNpZ25hdHVyZXNGcm9tQ29vbFdhbGxldFYyKFxuICAgIHRyYW5zcG9ydCxcbiAgICBwcmVBY3Rpb25zLFxuICAgIGFjdGlvbnMsXG4gICAgY29uZmlybUNCLFxuICAgIGF1dGhvcml6ZWRDQixcbiAgICBTaWduYXR1cmVUeXBlLkVERFNBXG4gICkpIGFzIEFycmF5PEJ1ZmZlcj47XG5cbiAgcmV0dXJuIHNpZ25hdHVyZXMubWFwKChzaWduYXR1cmUpID0+IHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2lnbmF0dXJlKTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNpZ25UcmFuc2FjdGlvbihcbiAgc2lnblR4RGF0YTogdHlwZXMuc2lnblR4VHlwZSxcbiAgcmF3VHg6IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkTWVzc2FnZSxcbiAgc2NyaXB0OiBzdHJpbmcsXG4gIGFyZ3VtZW50OiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IChhd2FpdCBleGVjdXRlU2NyaXB0V2l0aFByZUFjdGlvbnMoc2lnblR4RGF0YSwgc2NyaXB0LCBhcmd1bWVudCkpIGFzIEJ1ZmZlcjtcbiAgaWYgKHJhd1R4IGluc3RhbmNlb2YgTWVzc2FnZSB8fCByYXdUeCBpbnN0YW5jZW9mIE1lc3NhZ2VWMCkge1xuICAgIGNvbnN0IHNpZ25hdHVyZVVpbnQ4QXJyYXlzID0gKHNpZ25UeERhdGEgYXMgc2lnblZlcnNpb25lZFRyYW5zYWN0aW9uVHlwZSkudHJhbnNhY3Rpb24uc2lnbmF0dXJlcztcbiAgICBzaWduYXR1cmVVaW50OEFycmF5c1swXSA9IG5ldyBVaW50OEFycmF5KHNpZ25hdHVyZSk7XG4gICAgY29uc3Qgc2VyaWFsaXplZFRyYW5zYWN0aW9uID0gbmV3IFZlcnNpb25lZFRyYW5zYWN0aW9uKHJhd1R4LCBzaWduYXR1cmVVaW50OEFycmF5cykuc2VyaWFsaXplKCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikudG9TdHJpbmcoJ2hleCcpO1xuICB9IGVsc2UgaWYgKHJhd1R4IGluc3RhbmNlb2YgVHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gcmF3VHgudG9UeFN0cmluZyhzaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNpZ25NZXNzYWdlKHNpZ25Nc2dEYXRhOiB0eXBlcy5zaWduTXNnVHlwZSwgc2NyaXB0OiBzdHJpbmcsIGFyZ3VtZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBleGVjdXRlU2NyaXB0V2l0aFByZUFjdGlvbnMoc2lnbk1zZ0RhdGEsIHNjcmlwdCwgYXJndW1lbnQpO1xuICByZXR1cm4gc2lnbmF0dXJlLnRvU3RyaW5nKCdoZXgnKTtcbn1cbmV4cG9ydCB7IHNpZ25UcmFuc2FjdGlvbiwgc2lnbk1lc3NhZ2UsIHNpZ25BbGxUcmFuc2FjdGlvbnMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxxQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQWlFLFNBQUFNLG1CQUFBQyxHQUFBLEVBQUFDLE9BQUEsRUFBQUMsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLGNBQUFDLElBQUEsR0FBQVAsR0FBQSxDQUFBSyxHQUFBLEVBQUFDLEdBQUEsT0FBQUUsS0FBQSxHQUFBRCxJQUFBLENBQUFDLEtBQUEsV0FBQUMsS0FBQSxJQUFBUCxNQUFBLENBQUFP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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfbWVzc2FnZSIsIl9UcmFuc2FjdGlvbiIsIl92ZXJzaW9uZWRUcmFuc2FjdGlvbiIsIl9zY3JpcHRVdGlsIiwiX3RyYW5zYWN0aW9uIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVzb2x2ZSIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiYXJnIiwiaW5mbyIsInZhbHVlIiwiZXJyb3IiLCJkb25lIiwiUHJvbWlzZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsImV4ZWN1dGVTY3JpcHRXaXRoUHJlQWN0aW9ucyIsIl94IiwiX3gyIiwiX3gzIiwiX2V4ZWN1dGVTY3JpcHRXaXRoUHJlQWN0aW9ucyIsInJlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwic2lnbkRhdGEiLCJzY3JpcHQiLCJhcmd1bWVudCIsInRyYW5zcG9ydCIsImFwcFByaXZhdGVLZXkiLCJhcHBJZCIsImNvbmZpcm1DQiIsImF1dGhvcml6ZWRDQiIsInByZUFjdGlvbnMiLCJhY3Rpb24iLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYXBkdSIsInR4Iiwic2VuZFNjcmlwdCIsImV4ZWN1dGVTY3JpcHQiLCJhYnJ1cHQiLCJmbG93IiwiZ2V0U2luZ2xlU2lnbmF0dXJlRnJvbUNvb2xXYWxsZXRWMiIsIlNpZ25hdHVyZVR5cGUiLCJFRERTQSIsInN0b3AiLCJzaWduQWxsVHJhbnNhY3Rpb25zIiwiX3g0IiwiX3g1IiwiX3NpZ25BbGxUcmFuc2FjdGlvbnMiLCJfY2FsbGVlMiIsInNpZ25UeERhdGEiLCJfeWllbGQkZ2V0U2NyaXB0U2lnbmkiLCJhY3Rpb25zIiwic2lnbmF0dXJlcyIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImdldFNjcmlwdFNpZ25pbmdBY3Rpb25zIiwic2VudCIsImdldFNpZ25hdHVyZXNGcm9tQ29vbFdhbGxldFYyIiwibWFwIiwic2lnbmF0dXJlIiwiVWludDhBcnJheSIsInNpZ25UcmFuc2FjdGlvbiIsIl94NiIsIl94NyIsIl94OCIsIl94OSIsIl9zaWduVHJhbnNhY3Rpb24iLCJfY2FsbGVlMyIsInJhd1R4Iiwic2lnbmF0dXJlVWludDhBcnJheXMiLCJzZXJpYWxpemVkVHJhbnNhY3Rpb24iLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJNZXNzYWdlIiwiTWVzc2FnZVYwIiwidHJhbnNhY3Rpb24iLCJWZXJzaW9uZWRUcmFuc2FjdGlvbiIsInNlcmlhbGl6ZSIsIkJ1ZmZlciIsImZyb20iLCJ0b1N0cmluZyIsIlRyYW5zYWN0aW9uIiwidG9UeFN0cmluZyIsIkVycm9yIiwic2lnbk1lc3NhZ2UiLCJfeDEwIiwiX3gxMSIsIl94MTIiLCJfc2lnbk1lc3NhZ2UiLCJfY2FsbGVlNCIsInNpZ25Nc2dEYXRhIiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3NpZ24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHgsIGFwZHUgfSBmcm9tICdAY29vbHdhbGxldC9jb3JlJztcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4vY29uZmlnL3R5cGVzJztcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VWMCwgVmVyc2lvbmVkTWVzc2FnZSB9IGZyb20gJy4vbWVzc2FnZSc7XG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi91dGlscy9UcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBWZXJzaW9uZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdXRpbHMvdmVyc2lvbmVkVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgZ2V0U2NyaXB0U2lnbmluZ0FjdGlvbnMgfSBmcm9tICcuL3V0aWxzL3NjcmlwdFV0aWwnO1xuaW1wb3J0IHsgU2lnbmF0dXJlVHlwZSB9IGZyb20gJ0Bjb29sd2FsbGV0L2NvcmUvbGliL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IHNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL2NvbmZpZy90eXBlcyc7XG5cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVTY3JpcHRXaXRoUHJlQWN0aW9ucyhcbiAgc2lnbkRhdGE6IHR5cGVzLlNpZ25EYXRhVHlwZSxcbiAgc2NyaXB0OiBzdHJpbmcsXG4gIGFyZ3VtZW50OiBzdHJpbmdcbik6IFByb21pc2U8QnVmZmVyIHwgeyByOiBzdHJpbmc7IHM6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHsgdHJhbnNwb3J0LCBhcHBQcml2YXRlS2V5LCBhcHBJZCwgY29uZmlybUNCLCBhdXRob3JpemVkQ0IgfSA9IHNpZ25EYXRhO1xuXG4gIGNvbnN0IHByZUFjdGlvbnMgPSBbKCkgPT4gYXBkdS50eC5zZW5kU2NyaXB0KHRyYW5zcG9ydCwgc2NyaXB0KV07XG4gIGNvbnN0IGFjdGlvbiA9ICgpID0+IGFwZHUudHguZXhlY3V0ZVNjcmlwdCh0cmFuc3BvcnQsIGFwcElkLCBhcHBQcml2YXRlS2V5LCBhcmd1bWVudCk7XG5cbiAgcmV0dXJuIHR4LmZsb3cuZ2V0U2luZ2xlU2lnbmF0dXJlRnJvbUNvb2xXYWxsZXRWMihcbiAgICB0cmFuc3BvcnQsXG4gICAgcHJlQWN0aW9ucyxcbiAgICBhY3Rpb24sXG4gICAgY29uZmlybUNCLFxuICAgIGF1dGhvcml6ZWRDQixcbiAgICBTaWduYXR1cmVUeXBlLkVERFNBXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNpZ25BbGxUcmFuc2FjdGlvbnMoXG4gIHNpZ25UeERhdGE6IHR5cGVzLnNpZ25WZXJzaW9uZWRUcmFuc2FjdGlvbnMsXG4gIHByZUFjdGlvbnM6IEFycmF5PCgpID0+IFByb21pc2U8dm9pZD4+XG4pOiBQcm9taXNlPEFycmF5PFVpbnQ4QXJyYXk+PiB7XG4gIGNvbnN0IHsgdHJhbnNwb3J0LCBjb25maXJtQ0IsIGF1dGhvcml6ZWRDQiB9ID0gc2lnblR4RGF0YTtcbiAgY29uc3QgeyBhY3Rpb25zIH0gPSBhd2FpdCBnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyhzaWduVHhEYXRhKTtcbiAgY29uc3Qgc2lnbmF0dXJlcyA9IChhd2FpdCB0eC5mbG93LmdldFNpZ25hdHVyZXNGcm9tQ29vbFdhbGxldFYyKFxuICAgIHRyYW5zcG9ydCxcbiAgICBwcmVBY3Rpb25zLFxuICAgIGFjdGlvbnMsXG4gICAgY29uZmlybUNCLFxuICAgIGF1dGhvcml6ZWRDQixcbiAgICBTaWduYXR1cmVUeXBlLkVERFNBXG4gICkpIGFzIEFycmF5PEJ1ZmZlcj47XG5cbiAgcmV0dXJuIHNpZ25hdHVyZXMubWFwKChzaWduYXR1cmUpID0+IHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2lnbmF0dXJlKTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNpZ25UcmFuc2FjdGlvbihcbiAgc2lnblR4RGF0YTogdHlwZXMuc2lnblR4VHlwZSxcbiAgcmF3VHg6IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkTWVzc2FnZSxcbiAgc2NyaXB0OiBzdHJpbmcsXG4gIGFyZ3VtZW50OiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IChhd2FpdCBleGVjdXRlU2NyaXB0V2l0aFByZUFjdGlvbnMoc2lnblR4RGF0YSwgc2NyaXB0LCBhcmd1bWVudCkpIGFzIEJ1ZmZlcjtcbiAgaWYgKHJhd1R4IGluc3RhbmNlb2YgTWVzc2FnZSB8fCByYXdUeCBpbnN0YW5jZW9mIE1lc3NhZ2VWMCkge1xuICAgIGNvbnN0IHNpZ25hdHVyZVVpbnQ4QXJyYXlzID0gKHNpZ25UeERhdGEgYXMgc2lnblZlcnNpb25lZFRyYW5zYWN0aW9uVHlwZSkudHJhbnNhY3Rpb24uc2lnbmF0dXJlcztcbiAgICBzaWduYXR1cmVVaW50OEFycmF5c1swXSA9IG5ldyBVaW50OEFycmF5KHNpZ25hdHVyZSk7XG4gICAgY29uc3Qgc2VyaWFsaXplZFRyYW5zYWN0aW9uID0gbmV3IFZlcnNpb25lZFRyYW5zYWN0aW9uKHJhd1R4LCBzaWduYXR1cmVVaW50OEFycmF5cykuc2VyaWFsaXplKCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikudG9TdHJpbmcoJ2hleCcpO1xuICB9IGVsc2UgaWYgKHJhd1R4IGluc3RhbmNlb2YgVHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gcmF3VHgudG9UeFN0cmluZyhzaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNpZ25NZXNzYWdlKHNpZ25Nc2dEYXRhOiB0eXBlcy5zaWduTXNnVHlwZSwgc2NyaXB0OiBzdHJpbmcsIGFyZ3VtZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBleGVjdXRlU2NyaXB0V2l0aFByZUFjdGlvbnMoc2lnbk1zZ0RhdGEsIHNjcmlwdCwgYXJndW1lbnQpO1xuICByZXR1cm4gc2lnbmF0dXJlLnRvU3RyaW5nKCdoZXgnKTtcbn1cbmV4cG9ydCB7IHNpZ25UcmFuc2FjdGlvbiwgc2lnbk1lc3NhZ2UsIHNpZ25BbGxUcmFuc2FjdGlvbnMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxxQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQWlFLFNBQUFNLG1CQUFBQyxHQUFBLEVBQUFDLE9BQUEsRUFBQUMsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLGNBQUFDLElBQUEsR0FBQVAsR0FBQSxDQUFBSyxHQUFBLEVBQUFDLEdBQUEsT0FBQUUs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 |
@@ -7,2 +7,4 @@ import * as types from '../config/types'; | ||
lamports: number | string; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}): types.TransactionArgs; | ||
@@ -17,4 +19,4 @@ declare function compileSplTokenTransaction(transaction: { | ||
tokenInfo: types.TokenInfo; | ||
gasPrice?: number | string; | ||
gasLimit?: number | string; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}): types.TransactionArgs; | ||
@@ -21,0 +23,0 @@ declare function compileAssociateTokenAccount(transaction: { |
@@ -27,19 +27,35 @@ "use strict"; | ||
lamports = transaction.lamports; | ||
var instructions = []; | ||
if (transaction.computeUnitPrice) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(_types.ComputeBudgetInstruction.SetComputeUnitPrice, transaction.computeUnitPrice) | ||
}); | ||
} | ||
if (transaction.computeUnitLimit) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(_types.ComputeBudgetInstruction.SetComputeUnitLimit, transaction.computeUnitLimit) | ||
}); | ||
} | ||
var data = (0, _commonLayout.encodeData)(_programLayout.SystemProgramLayout.Transfer, { | ||
lamports: lamports | ||
}); | ||
instructions.push({ | ||
accounts: [{ | ||
pubkey: fromPubkey, | ||
isSigner: true, | ||
isWritable: true | ||
}, { | ||
pubkey: toPubkey, | ||
isSigner: false, | ||
isWritable: true | ||
}], | ||
programId: params.SYSTEM_PROGRAM_ID, | ||
data: data | ||
}); | ||
return { | ||
instructions: [{ | ||
accounts: [{ | ||
pubkey: fromPubkey, | ||
isSigner: true, | ||
isWritable: true | ||
}, { | ||
pubkey: toPubkey, | ||
isSigner: false, | ||
isWritable: true | ||
}], | ||
programId: params.SYSTEM_PROGRAM_ID, | ||
data: data | ||
}], | ||
instructions: instructions, | ||
recentBlockhash: recentBlockhash, | ||
@@ -58,14 +74,14 @@ feePayer: fromPubkey | ||
var instructions = []; | ||
if (transaction.gasPrice) { | ||
if (transaction.computeUnitPrice) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(_types.ComputeBudgetInstruction.SetComputeUnitPrice, transaction.gasPrice) | ||
data: stringUtil.computeBudgetEncode(_types.ComputeBudgetInstruction.SetComputeUnitPrice, transaction.computeUnitPrice) | ||
}); | ||
} | ||
if (transaction.gasLimit) { | ||
if (transaction.computeUnitLimit) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(_types.ComputeBudgetInstruction.SetComputeUnitLimit, transaction.gasLimit) | ||
data: stringUtil.computeBudgetEncode(_types.ComputeBudgetInstruction.SetComputeUnitLimit, transaction.computeUnitLimit) | ||
}); | ||
@@ -256,2 +272,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJzdHJpbmdVdGlsIiwiX3Byb2dyYW1MYXlvdXQiLCJfY29tbW9uTGF5b3V0IiwiaW5zdHJ1Y3Rpb25zVGVtcGxhdGUiLCJfdHlwZXMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY29tcGlsZVRyYW5zZmVyVHJhbnNhY3Rpb24iLCJ0cmFuc2FjdGlvbiIsImZyb21QdWJrZXkiLCJ0b1B1YmtleSIsInJlY2VudEJsb2NraGFzaCIsImxhbXBvcnRzIiwiZGF0YSIsImVuY29kZURhdGEiLCJTeXN0ZW1Qcm9ncmFtTGF5b3V0IiwiVHJhbnNmZXIiLCJpbnN0cnVjdGlvbnMiLCJhY2NvdW50cyIsInB1YmtleSIsImlzU2lnbmVyIiwiaXNXcml0YWJsZSIsInByb2dyYW1JZCIsIlNZU1RFTV9QUk9HUkFNX0lEIiwiZmVlUGF5ZXIiLCJjb21waWxlU3BsVG9rZW5UcmFuc2FjdGlvbiIsInNpZ25lciIsImZyb21Ub2tlbkFjY291bnQiLCJ0b1Rva2VuQWNjb3VudCIsImFtb3VudCIsInRva2VuSW5mbyIsImdhc1ByaWNlIiwicHVzaCIsIkNPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQiLCJjb21wdXRlQnVkZ2V0RW5jb2RlIiwiQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uIiwiU2V0Q29tcHV0ZVVuaXRQcmljZSIsImdhc0xpbWl0IiwiU2V0Q29tcHV0ZVVuaXRMaW1pdCIsImFkZHJlc3MiLCJzcGxEYXRhRW5jb2RlIiwiZGVjaW1hbHMiLCJjb21waWxlQXNzb2NpYXRlVG9rZW5BY2NvdW50Iiwib3duZXIiLCJhc3NvY2lhdGVBY2NvdW50IiwidG9rZW4iLCJBU1NPQ0lBVEVEX1RPS0VOX1BST0dSQU1fSUQiLCJCdWZmZXIiLCJhbGxvYyIsImNvbXBpbGVEZWxlZ2F0ZSIsImRlbGVnYXRlSW5zdHJ1Y3Rpb24iLCJkZWxlZ2F0ZSIsImNvbXBpbGVVbmRlbGVnYXRlIiwic3Rha2VQdWJrZXkiLCJhdXRob3JpemVkUHVia2V5IiwiU3Rha2VQcm9ncmFtTGF5b3V0IiwiRGVhY3RpdmF0ZSIsIlNZU1ZBUl9DTE9DS19QVUJLRVkiLCJTVEFLRV9QUk9HUkFNX0lEIiwiY29tcGlsZURlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudFdpdGhTZWVkIiwibmV3QWNjb3VudFB1YmtleSIsImJhc2VQdWJrZXkiLCJzZWVkIiwidm90ZVB1YmtleSIsImNyZWF0ZUFjY291bnRXaXRoU2VlZEluc3RydWN0aW9ucyIsImNyZWF0ZUFjY291bnRXaXRoU2VlZCIsInNwYWNlIiwiaW5pdGlhbGl6ZUluc3RydWN0aW9uIiwiaW5pdGlhbGl6ZSIsImF1dGhvcml6ZWQiLCJzdGFrZXIiLCJmcm9tIiwiZm9ybUhleCIsIndpdGhkcmF3ZXIiLCJjb21waWxlU3Rha2luZ1dpdGhkcmF3Iiwid2l0aGRyYXdUb1B1YktleSIsIldpdGhkcmF3IiwiU1lTVkFSX1NUQUtFX0hJU1RPUllfUFVCS0VZIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Jhd1RyYW5zYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4uL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgKiBhcyBwYXJhbXMgZnJvbSAnLi4vY29uZmlnL3BhcmFtcyc7XG5pbXBvcnQgKiBhcyBzdHJpbmdVdGlsIGZyb20gJy4vc3RyaW5nVXRpbCc7XG5pbXBvcnQgeyBTdGFrZVByb2dyYW1MYXlvdXQsIFN5c3RlbVByb2dyYW1MYXlvdXQgfSBmcm9tICcuL3Byb2dyYW1MYXlvdXQnO1xuaW1wb3J0IHsgZW5jb2RlRGF0YSB9IGZyb20gJy4vY29tbW9uTGF5b3V0JztcbmltcG9ydCAqIGFzIGluc3RydWN0aW9uc1RlbXBsYXRlIGZyb20gJy4vaW5zdHJ1Y3Rpb25zJztcbmltcG9ydCB7IENvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcyc7XG5cbmZ1bmN0aW9uIGNvbXBpbGVUcmFuc2ZlclRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiB7XG4gIGZyb21QdWJrZXk6IHR5cGVzLkFkZHJlc3M7XG4gIHRvUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICByZWNlbnRCbG9ja2hhc2g6IHN0cmluZztcbiAgbGFtcG9ydHM6IG51bWJlciB8IHN0cmluZztcbn0pOiB0eXBlcy5UcmFuc2FjdGlvbkFyZ3Mge1xuICBjb25zdCB7IGZyb21QdWJrZXksIHRvUHVia2V5LCByZWNlbnRCbG9ja2hhc2gsIGxhbXBvcnRzIH0gPSB0cmFuc2FjdGlvbjtcbiAgY29uc3QgZGF0YSA9IGVuY29kZURhdGEoU3lzdGVtUHJvZ3JhbUxheW91dC5UcmFuc2Zlciwge1xuICAgIGxhbXBvcnRzLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIGluc3RydWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBhY2NvdW50czogW1xuICAgICAgICAgIHsgcHVia2V5OiBmcm9tUHVia2V5LCBpc1NpZ25lcjogdHJ1ZSwgaXNXcml0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiB0b1B1YmtleSwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHByb2dyYW1JZDogcGFyYW1zLlNZU1RFTV9QUk9HUkFNX0lELFxuICAgICAgICBkYXRhLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlY2VudEJsb2NraGFzaCxcbiAgICBmZWVQYXllcjogZnJvbVB1YmtleSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29tcGlsZVNwbFRva2VuVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IHtcbiAgc2lnbmVyOiB0eXBlcy5BZGRyZXNzO1xuICBmcm9tVG9rZW5BY2NvdW50OiB0eXBlcy5BZGRyZXNzO1xuICB0b1Rva2VuQWNjb3VudDogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICBwcm9ncmFtSWQ6IHR5cGVzLlRva2VuUHJvZ3JhbUlkO1xuICB0b2tlbkluZm86IHR5cGVzLlRva2VuSW5mbztcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGdhc0xpbWl0PzogbnVtYmVyIHwgc3RyaW5nO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgc2lnbmVyLCBmcm9tVG9rZW5BY2NvdW50LCB0b1Rva2VuQWNjb3VudCwgYW1vdW50LCByZWNlbnRCbG9ja2hhc2gsIHByb2dyYW1JZCwgdG9rZW5JbmZvIH0gPSB0cmFuc2FjdGlvbjtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gW107XG4gIGlmICh0cmFuc2FjdGlvbi5nYXNQcmljZSkge1xuICAgIGluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIGFjY291bnRzOiBbXSxcbiAgICAgIHByb2dyYW1JZDogcGFyYW1zLkNPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQsXG4gICAgICBkYXRhOiBzdHJpbmdVdGlsLmNvbXB1dGVCdWRnZXRFbmNvZGUoQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uLlNldENvbXB1dGVVbml0UHJpY2UsIHRyYW5zYWN0aW9uLmdhc1ByaWNlKSxcbiAgICB9KTtcbiAgfVxuICBpZiAodHJhbnNhY3Rpb24uZ2FzTGltaXQpIHtcbiAgICBpbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICBhY2NvdW50czogW10sXG4gICAgICBwcm9ncmFtSWQ6IHBhcmFtcy5DT01QVVRFX0JVREdFVF9QUk9HUkFNX0lELFxuICAgICAgZGF0YTogc3RyaW5nVXRpbC5jb21wdXRlQnVkZ2V0RW5jb2RlKENvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbi5TZXRDb21wdXRlVW5pdExpbWl0LCB0cmFuc2FjdGlvbi5nYXNMaW1pdCksXG4gICAgfSk7XG4gIH1cbiAgaW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgIGFjY291bnRzOiBbXG4gICAgICB7IHB1YmtleTogZnJvbVRva2VuQWNjb3VudCwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICB7IHB1YmtleTogdG9rZW5JbmZvLmFkZHJlc3MsIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgIHsgcHVia2V5OiB0b1Rva2VuQWNjb3VudCwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICB7IHB1YmtleTogc2lnbmVyLCBpc1NpZ25lcjogdHJ1ZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICBdLFxuICAgIHByb2dyYW1JZCxcbiAgICBkYXRhOiBzdHJpbmdVdGlsLnNwbERhdGFFbmNvZGUoYW1vdW50LCB0b2tlbkluZm8uZGVjaW1hbHMpLFxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBpbnN0cnVjdGlvbnMsXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICAgIGZlZVBheWVyOiBzaWduZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbXBpbGVBc3NvY2lhdGVUb2tlbkFjY291bnQodHJhbnNhY3Rpb246IHtcbiAgc2lnbmVyOiB0eXBlcy5BZGRyZXNzO1xuICBvd25lcjogdHlwZXMuQWRkcmVzcztcbiAgYXNzb2NpYXRlQWNjb3VudDogdHlwZXMuQWRkcmVzcztcbiAgdG9rZW46IHR5cGVzLkFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xuICBwcm9ncmFtSWQ6IHR5cGVzLlRva2VuUHJvZ3JhbUlkO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgc2lnbmVyLCBvd25lciwgYXNzb2NpYXRlQWNjb3VudCwgdG9rZW4sIHJlY2VudEJsb2NraGFzaCwgcHJvZ3JhbUlkIH0gPSB0cmFuc2FjdGlvbjtcblxuICByZXR1cm4ge1xuICAgIGluc3RydWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBhY2NvdW50czogW1xuICAgICAgICAgIHsgcHVia2V5OiBzaWduZXIsIGlzU2lnbmVyOiB0cnVlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgeyBwdWJrZXk6IGFzc29jaWF0ZUFjY291bnQsIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiBvd25lciwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiB0b2tlbiwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiBwYXJhbXMuU1lTVEVNX1BST0dSQU1fSUQsIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgICAgICB7IHB1YmtleTogcHJvZ3JhbUlkLCBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0sXG4gICAgICAgICAgLy8geyBwdWJrZXk6IHBhcmFtcy5TWVNWQVJfUkVOVF9QVUJLRVksIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcHJvZ3JhbUlkOiBwYXJhbXMuQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lELFxuICAgICAgICBkYXRhOiBCdWZmZXIuYWxsb2MoMCksXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICAgIGZlZVBheWVyOiBzaWduZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbXBpbGVEZWxlZ2F0ZSh0cmFuc2FjdGlvbjoge1xuICBmZWVQYXllcjogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIHN0YWtlUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICBhdXRob3JpemVkUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICB2b3RlUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgZmVlUGF5ZXIsIHJlY2VudEJsb2NraGFzaCB9ID0gdHJhbnNhY3Rpb247XG4gIGNvbnN0IGRlbGVnYXRlSW5zdHJ1Y3Rpb24gPSBpbnN0cnVjdGlvbnNUZW1wbGF0ZS5kZWxlZ2F0ZSh0cmFuc2FjdGlvbik7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbZGVsZWdhdGVJbnN0cnVjdGlvbl0sXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICAgIGZlZVBheWVyLFxuICB9O1xufVxuXG5mdW5jdGlvbiBjb21waWxlVW5kZWxlZ2F0ZSh0cmFuc2FjdGlvbjoge1xuICBmZWVQYXllcjogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIHN0YWtlUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICBhdXRob3JpemVkUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgc3Rha2VQdWJrZXksIGF1dGhvcml6ZWRQdWJrZXksIGZlZVBheWVyLCByZWNlbnRCbG9ja2hhc2ggfSA9IHRyYW5zYWN0aW9uO1xuICBjb25zdCBkYXRhID0gZW5jb2RlRGF0YShTdGFrZVByb2dyYW1MYXlvdXQuRGVhY3RpdmF0ZSk7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGFjY291bnRzOiBbXG4gICAgICAgICAgeyBwdWJrZXk6IHN0YWtlUHVia2V5LCBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSxcbiAgICAgICAgICB7IHB1YmtleTogcGFyYW1zLlNZU1ZBUl9DTE9DS19QVUJLRVksIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgICAgICB7IHB1YmtleTogYXV0aG9yaXplZFB1YmtleSwgaXNTaWduZXI6IHRydWUsIGlzV3JpdGFibGU6IGZhbHNlIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHByb2dyYW1JZDogcGFyYW1zLlNUQUtFX1BST0dSQU1fSUQsXG4gICAgICAgIGRhdGEsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmVlUGF5ZXIsXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICB9O1xufVxuXG5mdW5jdGlvbiBjb21waWxlRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQodHJhbnNhY3Rpb246IHtcbiAgZnJvbVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgbmV3QWNjb3VudFB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgYmFzZVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgdm90ZVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgc2VlZDogc3RyaW5nO1xuICBsYW1wb3J0czogc3RyaW5nIHwgbnVtYmVyO1xuICByZWNlbnRCbG9ja2hhc2g6IHN0cmluZztcbn0pOiB0eXBlcy5UcmFuc2FjdGlvbkFyZ3Mge1xuICBjb25zdCB7IGZyb21QdWJrZXksIG5ld0FjY291bnRQdWJrZXksIGJhc2VQdWJrZXksIHNlZWQsIGxhbXBvcnRzLCByZWNlbnRCbG9ja2hhc2gsIHZvdGVQdWJrZXkgfSA9IHRyYW5zYWN0aW9uO1xuICBjb25zdCBjcmVhdGVBY2NvdW50V2l0aFNlZWRJbnN0cnVjdGlvbnMgPSBpbnN0cnVjdGlvbnNUZW1wbGF0ZS5jcmVhdGVBY2NvdW50V2l0aFNlZWQoe1xuICAgIGZyb21QdWJrZXksXG4gICAgbmV3QWNjb3VudFB1YmtleSxcbiAgICBiYXNlUHVia2V5LFxuICAgIHNlZWQsXG4gICAgc3BhY2U6IDIwMCxcbiAgICBsYW1wb3J0cyxcbiAgICBwcm9ncmFtSWQ6IHBhcmFtcy5TVEFLRV9QUk9HUkFNX0lELFxuICB9KTtcbiAgY29uc3QgaW5pdGlhbGl6ZUluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zVGVtcGxhdGUuaW5pdGlhbGl6ZSh7XG4gICAgc3Rha2VQdWJrZXk6IG5ld0FjY291bnRQdWJrZXksXG4gICAgYXV0aG9yaXplZDoge1xuICAgICAgc3Rha2VyOiBCdWZmZXIuZnJvbShzdHJpbmdVdGlsLmZvcm1IZXgoZnJvbVB1YmtleSksICdoZXgnKSxcbiAgICAgIHdpdGhkcmF3ZXI6IEJ1ZmZlci5mcm9tKHN0cmluZ1V0aWwuZm9ybUhleChmcm9tUHVia2V5KSwgJ2hleCcpLFxuICAgIH0sXG4gIH0pO1xuICBjb25zdCBkZWxlZ2F0ZUluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zVGVtcGxhdGUuZGVsZWdhdGUoe1xuICAgIHN0YWtlUHVia2V5OiBuZXdBY2NvdW50UHVia2V5LFxuICAgIGF1dGhvcml6ZWRQdWJrZXk6IGZyb21QdWJrZXksXG4gICAgdm90ZVB1YmtleSxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbY3JlYXRlQWNjb3VudFdpdGhTZWVkSW5zdHJ1Y3Rpb25zLCBpbml0aWFsaXplSW5zdHJ1Y3Rpb24sIGRlbGVnYXRlSW5zdHJ1Y3Rpb25dLFxuICAgIHJlY2VudEJsb2NraGFzaCxcbiAgICBmZWVQYXllcjogZnJvbVB1YmtleSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29tcGlsZVN0YWtpbmdXaXRoZHJhdyh0cmFuc2FjdGlvbjoge1xuICBhdXRob3JpemVkUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICBzdGFrZVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgd2l0aGRyYXdUb1B1YktleTogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGxhbXBvcnRzOiBudW1iZXIgfCBzdHJpbmc7XG59KTogdHlwZXMuVHJhbnNhY3Rpb25BcmdzIHtcbiAgY29uc3QgeyBhdXRob3JpemVkUHVia2V5LCBzdGFrZVB1YmtleSwgd2l0aGRyYXdUb1B1YktleSwgcmVjZW50QmxvY2toYXNoLCBsYW1wb3J0cyB9ID0gdHJhbnNhY3Rpb247XG4gIGNvbnN0IGRhdGEgPSBlbmNvZGVEYXRhKFN0YWtlUHJvZ3JhbUxheW91dC5XaXRoZHJhdywge1xuICAgIGxhbXBvcnRzOiArbGFtcG9ydHMsXG4gIH0pO1xuXG4gIGNvbnN0IGFjY291bnRzID0gW1xuICAgIHsgcHVia2V5OiBzdGFrZVB1YmtleSwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgeyBwdWJrZXk6IHdpdGhkcmF3VG9QdWJLZXksIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9LFxuICAgIHsgcHVia2V5OiBwYXJhbXMuU1lTVkFSX0NMT0NLX1BVQktFWSwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICAgIHtcbiAgICAgIHB1YmtleTogcGFyYW1zLlNZU1ZBUl9TVEFLRV9ISVNUT1JZX1BVQktFWSxcbiAgICAgIGlzU2lnbmVyOiBmYWxzZSxcbiAgICAgIGlzV3JpdGFibGU6IGZhbHNlLFxuICAgIH0sXG4gICAgeyBwdWJrZXk6IGF1dGhvcml6ZWRQdWJrZXksIGlzU2lnbmVyOiB0cnVlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICBdO1xuXG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGFjY291bnRzLFxuICAgICAgICBwcm9ncmFtSWQ6IHBhcmFtcy5TVEFLRV9QUk9HUkFNX0lELFxuICAgICAgICBkYXRhLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlY2VudEJsb2NraGFzaCxcbiAgICBmZWVQYXllcjogYXV0aG9yaXplZFB1YmtleSxcbiAgfTtcbn1cblxuZXhwb3J0IHtcbiAgY29tcGlsZVRyYW5zZmVyVHJhbnNhY3Rpb24sXG4gIGNvbXBpbGVTcGxUb2tlblRyYW5zYWN0aW9uLFxuICBjb21waWxlQXNzb2NpYXRlVG9rZW5BY2NvdW50LFxuICBjb21waWxlRGVsZWdhdGUsXG4gIGNvbXBpbGVVbmRlbGVnYXRlLFxuICBjb21waWxlRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQsXG4gIGNvbXBpbGVTdGFraW5nV2l0aGRyYXcsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksb0JBQUEsR0FBQUwsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUEyRCxTQUFBTSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVIsd0JBQUFZLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsdUNBQUFBLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxT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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJzdHJpbmdVdGlsIiwiX3Byb2dyYW1MYXlvdXQiLCJfY29tbW9uTGF5b3V0IiwiaW5zdHJ1Y3Rpb25zVGVtcGxhdGUiLCJfdHlwZXMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY29tcGlsZVRyYW5zZmVyVHJhbnNhY3Rpb24iLCJ0cmFuc2FjdGlvbiIsImZyb21QdWJrZXkiLCJ0b1B1YmtleSIsInJlY2VudEJsb2NraGFzaCIsImxhbXBvcnRzIiwiaW5zdHJ1Y3Rpb25zIiwiY29tcHV0ZVVuaXRQcmljZSIsInB1c2giLCJhY2NvdW50cyIsInByb2dyYW1JZCIsIkNPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQiLCJkYXRhIiwiY29tcHV0ZUJ1ZGdldEVuY29kZSIsIkNvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiIsIlNldENvbXB1dGVVbml0UHJpY2UiLCJjb21wdXRlVW5pdExpbWl0IiwiU2V0Q29tcHV0ZVVuaXRMaW1pdCIsImVuY29kZURhdGEiLCJTeXN0ZW1Qcm9ncmFtTGF5b3V0IiwiVHJhbnNmZXIiLCJwdWJrZXkiLCJpc1NpZ25lciIsImlzV3JpdGFibGUiLCJTWVNURU1fUFJPR1JBTV9JRCIsImZlZVBheWVyIiwiY29tcGlsZVNwbFRva2VuVHJhbnNhY3Rpb24iLCJzaWduZXIiLCJmcm9tVG9rZW5BY2NvdW50IiwidG9Ub2tlbkFjY291bnQiLCJhbW91bnQiLCJ0b2tlbkluZm8iLCJhZGRyZXNzIiwic3BsRGF0YUVuY29kZSIsImRlY2ltYWxzIiwiY29tcGlsZUFzc29jaWF0ZVRva2VuQWNjb3VudCIsIm93bmVyIiwiYXNzb2NpYXRlQWNjb3VudCIsInRva2VuIiwiQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lEIiwiQnVmZmVyIiwiYWxsb2MiLCJjb21waWxlRGVsZWdhdGUiLCJkZWxlZ2F0ZUluc3RydWN0aW9uIiwiZGVsZWdhdGUiLCJjb21waWxlVW5kZWxlZ2F0ZSIsInN0YWtlUHVia2V5IiwiYXV0aG9yaXplZFB1YmtleSIsIlN0YWtlUHJvZ3JhbUxheW91dCIsIkRlYWN0aXZhdGUiLCJTWVNWQVJfQ0xPQ0tfUFVCS0VZIiwiU1RBS0VfUFJPR1JBTV9JRCIsImNvbXBpbGVEZWxlZ2F0ZUFuZENyZWF0ZUFjY291bnRXaXRoU2VlZCIsIm5ld0FjY291bnRQdWJrZXkiLCJiYXNlUHVia2V5Iiwic2VlZCIsInZvdGVQdWJrZXkiLCJjcmVhdGVBY2NvdW50V2l0aFNlZWRJbnN0cnVjdGlvbnMiLCJjcmVhdGVBY2NvdW50V2l0aFNlZWQiLCJzcGFjZSIsImluaXRpYWxpemVJbnN0cnVjdGlvbiIsImluaXRpYWxpemUiLCJhdXRob3JpemVkIiwic3Rha2VyIiwiZnJvbSIsImZvcm1IZXgiLCJ3aXRoZHJhd2VyIiwiY29tcGlsZVN0YWtpbmdXaXRoZHJhdyIsIndpdGhkcmF3VG9QdWJLZXkiLCJXaXRoZHJhdyIsIlNZU1ZBUl9TVEFLRV9ISVNUT1JZX1BVQktFWSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yYXdUcmFuc2FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuLi9jb25maWcvdHlwZXMnO1xuaW1wb3J0ICogYXMgcGFyYW1zIGZyb20gJy4uL2NvbmZpZy9wYXJhbXMnO1xuaW1wb3J0ICogYXMgc3RyaW5nVXRpbCBmcm9tICcuL3N0cmluZ1V0aWwnO1xuaW1wb3J0IHsgU3Rha2VQcm9ncmFtTGF5b3V0LCBTeXN0ZW1Qcm9ncmFtTGF5b3V0IH0gZnJvbSAnLi9wcm9ncmFtTGF5b3V0JztcbmltcG9ydCB7IGVuY29kZURhdGEgfSBmcm9tICcuL2NvbW1vbkxheW91dCc7XG5pbXBvcnQgKiBhcyBpbnN0cnVjdGlvbnNUZW1wbGF0ZSBmcm9tICcuL2luc3RydWN0aW9ucyc7XG5pbXBvcnQgeyBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMnO1xuXG5mdW5jdGlvbiBjb21waWxlVHJhbnNmZXJUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjoge1xuICBmcm9tUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICB0b1B1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGxhbXBvcnRzOiBudW1iZXIgfCBzdHJpbmc7XG4gIGNvbXB1dGVVbml0UHJpY2U/OiBzdHJpbmc7XG4gIGNvbXB1dGVVbml0TGltaXQ/OiBzdHJpbmc7XG59KTogdHlwZXMuVHJhbnNhY3Rpb25BcmdzIHtcbiAgY29uc3QgeyBmcm9tUHVia2V5LCB0b1B1YmtleSwgcmVjZW50QmxvY2toYXNoLCBsYW1wb3J0cyB9ID0gdHJhbnNhY3Rpb247XG4gIGNvbnN0IGluc3RydWN0aW9ucyA9IFtdO1xuICBpZiAodHJhbnNhY3Rpb24uY29tcHV0ZVVuaXRQcmljZSkge1xuICAgIGluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIGFjY291bnRzOiBbXSxcbiAgICAgIHByb2dyYW1JZDogcGFyYW1zLkNPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQsXG4gICAgICBkYXRhOiBzdHJpbmdVdGlsLmNvbXB1dGVCdWRnZXRFbmNvZGUoQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uLlNldENvbXB1dGVVbml0UHJpY2UsIHRyYW5zYWN0aW9uLmNvbXB1dGVVbml0UHJpY2UpLFxuICAgIH0pO1xuICB9XG4gIGlmICh0cmFuc2FjdGlvbi5jb21wdXRlVW5pdExpbWl0KSB7XG4gICAgaW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgICAgYWNjb3VudHM6IFtdLFxuICAgICAgcHJvZ3JhbUlkOiBwYXJhbXMuQ09NUFVURV9CVURHRVRfUFJPR1JBTV9JRCxcbiAgICAgIGRhdGE6IHN0cmluZ1V0aWwuY29tcHV0ZUJ1ZGdldEVuY29kZShDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24uU2V0Q29tcHV0ZVVuaXRMaW1pdCwgdHJhbnNhY3Rpb24uY29tcHV0ZVVuaXRMaW1pdCksXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBkYXRhID0gZW5jb2RlRGF0YShTeXN0ZW1Qcm9ncmFtTGF5b3V0LlRyYW5zZmVyLCB7XG4gICAgbGFtcG9ydHMsXG4gIH0pO1xuICBpbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgYWNjb3VudHM6IFtcbiAgICAgIHsgcHVia2V5OiBmcm9tUHVia2V5LCBpc1NpZ25lcjogdHJ1ZSwgaXNXcml0YWJsZTogdHJ1ZSB9LFxuICAgICAgeyBwdWJrZXk6IHRvUHVia2V5LCBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSxcbiAgICBdLFxuICAgIHByb2dyYW1JZDogcGFyYW1zLlNZU1RFTV9QUk9HUkFNX0lELFxuICAgIGRhdGEsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zLFxuICAgIHJlY2VudEJsb2NraGFzaCxcbiAgICBmZWVQYXllcjogZnJvbVB1YmtleSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29tcGlsZVNwbFRva2VuVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IHtcbiAgc2lnbmVyOiB0eXBlcy5BZGRyZXNzO1xuICBmcm9tVG9rZW5BY2NvdW50OiB0eXBlcy5BZGRyZXNzO1xuICB0b1Rva2VuQWNjb3VudDogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICBwcm9ncmFtSWQ6IHR5cGVzLlRva2VuUHJvZ3JhbUlkO1xuICB0b2tlbkluZm86IHR5cGVzLlRva2VuSW5mbztcbiAgY29tcHV0ZVVuaXRQcmljZT86IHN0cmluZztcbiAgY29tcHV0ZVVuaXRMaW1pdD86IHN0cmluZztcbn0pOiB0eXBlcy5UcmFuc2FjdGlvbkFyZ3Mge1xuICBjb25zdCB7IHNpZ25lciwgZnJvbVRva2VuQWNjb3VudCwgdG9Ub2tlbkFjY291bnQsIGFtb3VudCwgcmVjZW50QmxvY2toYXNoLCBwcm9ncmFtSWQsIHRva2VuSW5mbyB9ID0gdHJhbnNhY3Rpb247XG4gIGNvbnN0IGluc3RydWN0aW9ucyA9IFtdO1xuICBpZiAodHJhbnNhY3Rpb24uY29tcHV0ZVVuaXRQcmljZSkge1xuICAgIGluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIGFjY291bnRzOiBbXSxcbiAgICAgIHByb2dyYW1JZDogcGFyYW1zLkNPTVBVVEVfQlVER0VUX1BST0dSQU1fSUQsXG4gICAgICBkYXRhOiBzdHJpbmdVdGlsLmNvbXB1dGVCdWRnZXRFbmNvZGUoQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uLlNldENvbXB1dGVVbml0UHJpY2UsIHRyYW5zYWN0aW9uLmNvbXB1dGVVbml0UHJpY2UpLFxuICAgIH0pO1xuICB9XG4gIGlmICh0cmFuc2FjdGlvbi5jb21wdXRlVW5pdExpbWl0KSB7XG4gICAgaW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgICAgYWNjb3VudHM6IFtdLFxuICAgICAgcHJvZ3JhbUlkOiBwYXJhbXMuQ09NUFVURV9CVURHRVRfUFJPR1JBTV9JRCxcbiAgICAgIGRhdGE6IHN0cmluZ1V0aWwuY29tcHV0ZUJ1ZGdldEVuY29kZShDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24uU2V0Q29tcHV0ZVVuaXRMaW1pdCwgdHJhbnNhY3Rpb24uY29tcHV0ZVVuaXRMaW1pdCksXG4gICAgfSk7XG4gIH1cbiAgaW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgIGFjY291bnRzOiBbXG4gICAgICB7IHB1YmtleTogZnJvbVRva2VuQWNjb3VudCwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICB7IHB1YmtleTogdG9rZW5JbmZvLmFkZHJlc3MsIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgIHsgcHVia2V5OiB0b1Rva2VuQWNjb3VudCwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICB7IHB1YmtleTogc2lnbmVyLCBpc1NpZ25lcjogdHJ1ZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICBdLFxuICAgIHByb2dyYW1JZCxcbiAgICBkYXRhOiBzdHJpbmdVdGlsLnNwbERhdGFFbmNvZGUoYW1vdW50LCB0b2tlbkluZm8uZGVjaW1hbHMpLFxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBpbnN0cnVjdGlvbnMsXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICAgIGZlZVBheWVyOiBzaWduZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbXBpbGVBc3NvY2lhdGVUb2tlbkFjY291bnQodHJhbnNhY3Rpb246IHtcbiAgc2lnbmVyOiB0eXBlcy5BZGRyZXNzO1xuICBvd25lcjogdHlwZXMuQWRkcmVzcztcbiAgYXNzb2NpYXRlQWNjb3VudDogdHlwZXMuQWRkcmVzcztcbiAgdG9rZW46IHR5cGVzLkFkZHJlc3M7XG4gIHJlY2VudEJsb2NraGFzaDogc3RyaW5nO1xuICBwcm9ncmFtSWQ6IHR5cGVzLlRva2VuUHJvZ3JhbUlkO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgc2lnbmVyLCBvd25lciwgYXNzb2NpYXRlQWNjb3VudCwgdG9rZW4sIHJlY2VudEJsb2NraGFzaCwgcHJvZ3JhbUlkIH0gPSB0cmFuc2FjdGlvbjtcblxuICByZXR1cm4ge1xuICAgIGluc3RydWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBhY2NvdW50czogW1xuICAgICAgICAgIHsgcHVia2V5OiBzaWduZXIsIGlzU2lnbmVyOiB0cnVlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgeyBwdWJrZXk6IGFzc29jaWF0ZUFjY291bnQsIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiBvd25lciwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiB0b2tlbiwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICAgICAgICAgIHsgcHVia2V5OiBwYXJhbXMuU1lTVEVNX1BST0dSQU1fSUQsIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgICAgICB7IHB1YmtleTogcHJvZ3JhbUlkLCBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0sXG4gICAgICAgICAgLy8geyBwdWJrZXk6IHBhcmFtcy5TWVNWQVJfUkVOVF9QVUJLRVksIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcHJvZ3JhbUlkOiBwYXJhbXMuQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lELFxuICAgICAgICBkYXRhOiBCdWZmZXIuYWxsb2MoMCksXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICAgIGZlZVBheWVyOiBzaWduZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbXBpbGVEZWxlZ2F0ZSh0cmFuc2FjdGlvbjoge1xuICBmZWVQYXllcjogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIHN0YWtlUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICBhdXRob3JpemVkUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICB2b3RlUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgZmVlUGF5ZXIsIHJlY2VudEJsb2NraGFzaCB9ID0gdHJhbnNhY3Rpb247XG4gIGNvbnN0IGRlbGVnYXRlSW5zdHJ1Y3Rpb24gPSBpbnN0cnVjdGlvbnNUZW1wbGF0ZS5kZWxlZ2F0ZSh0cmFuc2FjdGlvbik7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbZGVsZWdhdGVJbnN0cnVjdGlvbl0sXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICAgIGZlZVBheWVyLFxuICB9O1xufVxuXG5mdW5jdGlvbiBjb21waWxlVW5kZWxlZ2F0ZSh0cmFuc2FjdGlvbjoge1xuICBmZWVQYXllcjogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIHN0YWtlUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICBhdXRob3JpemVkUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xufSk6IHR5cGVzLlRyYW5zYWN0aW9uQXJncyB7XG4gIGNvbnN0IHsgc3Rha2VQdWJrZXksIGF1dGhvcml6ZWRQdWJrZXksIGZlZVBheWVyLCByZWNlbnRCbG9ja2hhc2ggfSA9IHRyYW5zYWN0aW9uO1xuICBjb25zdCBkYXRhID0gZW5jb2RlRGF0YShTdGFrZVByb2dyYW1MYXlvdXQuRGVhY3RpdmF0ZSk7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGFjY291bnRzOiBbXG4gICAgICAgICAgeyBwdWJrZXk6IHN0YWtlUHVia2V5LCBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSxcbiAgICAgICAgICB7IHB1YmtleTogcGFyYW1zLlNZU1ZBUl9DTE9DS19QVUJLRVksIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogZmFsc2UgfSxcbiAgICAgICAgICB7IHB1YmtleTogYXV0aG9yaXplZFB1YmtleSwgaXNTaWduZXI6IHRydWUsIGlzV3JpdGFibGU6IGZhbHNlIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHByb2dyYW1JZDogcGFyYW1zLlNUQUtFX1BST0dSQU1fSUQsXG4gICAgICAgIGRhdGEsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmVlUGF5ZXIsXG4gICAgcmVjZW50QmxvY2toYXNoLFxuICB9O1xufVxuXG5mdW5jdGlvbiBjb21waWxlRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQodHJhbnNhY3Rpb246IHtcbiAgZnJvbVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgbmV3QWNjb3VudFB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgYmFzZVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgdm90ZVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgc2VlZDogc3RyaW5nO1xuICBsYW1wb3J0czogc3RyaW5nIHwgbnVtYmVyO1xuICByZWNlbnRCbG9ja2hhc2g6IHN0cmluZztcbn0pOiB0eXBlcy5UcmFuc2FjdGlvbkFyZ3Mge1xuICBjb25zdCB7IGZyb21QdWJrZXksIG5ld0FjY291bnRQdWJrZXksIGJhc2VQdWJrZXksIHNlZWQsIGxhbXBvcnRzLCByZWNlbnRCbG9ja2hhc2gsIHZvdGVQdWJrZXkgfSA9IHRyYW5zYWN0aW9uO1xuICBjb25zdCBjcmVhdGVBY2NvdW50V2l0aFNlZWRJbnN0cnVjdGlvbnMgPSBpbnN0cnVjdGlvbnNUZW1wbGF0ZS5jcmVhdGVBY2NvdW50V2l0aFNlZWQoe1xuICAgIGZyb21QdWJrZXksXG4gICAgbmV3QWNjb3VudFB1YmtleSxcbiAgICBiYXNlUHVia2V5LFxuICAgIHNlZWQsXG4gICAgc3BhY2U6IDIwMCxcbiAgICBsYW1wb3J0cyxcbiAgICBwcm9ncmFtSWQ6IHBhcmFtcy5TVEFLRV9QUk9HUkFNX0lELFxuICB9KTtcbiAgY29uc3QgaW5pdGlhbGl6ZUluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zVGVtcGxhdGUuaW5pdGlhbGl6ZSh7XG4gICAgc3Rha2VQdWJrZXk6IG5ld0FjY291bnRQdWJrZXksXG4gICAgYXV0aG9yaXplZDoge1xuICAgICAgc3Rha2VyOiBCdWZmZXIuZnJvbShzdHJpbmdVdGlsLmZvcm1IZXgoZnJvbVB1YmtleSksICdoZXgnKSxcbiAgICAgIHdpdGhkcmF3ZXI6IEJ1ZmZlci5mcm9tKHN0cmluZ1V0aWwuZm9ybUhleChmcm9tUHVia2V5KSwgJ2hleCcpLFxuICAgIH0sXG4gIH0pO1xuICBjb25zdCBkZWxlZ2F0ZUluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zVGVtcGxhdGUuZGVsZWdhdGUoe1xuICAgIHN0YWtlUHVia2V5OiBuZXdBY2NvdW50UHVia2V5LFxuICAgIGF1dGhvcml6ZWRQdWJrZXk6IGZyb21QdWJrZXksXG4gICAgdm90ZVB1YmtleSxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbY3JlYXRlQWNjb3VudFdpdGhTZWVkSW5zdHJ1Y3Rpb25zLCBpbml0aWFsaXplSW5zdHJ1Y3Rpb24sIGRlbGVnYXRlSW5zdHJ1Y3Rpb25dLFxuICAgIHJlY2VudEJsb2NraGFzaCxcbiAgICBmZWVQYXllcjogZnJvbVB1YmtleSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29tcGlsZVN0YWtpbmdXaXRoZHJhdyh0cmFuc2FjdGlvbjoge1xuICBhdXRob3JpemVkUHVia2V5OiB0eXBlcy5BZGRyZXNzO1xuICBzdGFrZVB1YmtleTogdHlwZXMuQWRkcmVzcztcbiAgd2l0aGRyYXdUb1B1YktleTogdHlwZXMuQWRkcmVzcztcbiAgcmVjZW50QmxvY2toYXNoOiBzdHJpbmc7XG4gIGxhbXBvcnRzOiBudW1iZXIgfCBzdHJpbmc7XG59KTogdHlwZXMuVHJhbnNhY3Rpb25BcmdzIHtcbiAgY29uc3QgeyBhdXRob3JpemVkUHVia2V5LCBzdGFrZVB1YmtleSwgd2l0aGRyYXdUb1B1YktleSwgcmVjZW50QmxvY2toYXNoLCBsYW1wb3J0cyB9ID0gdHJhbnNhY3Rpb247XG4gIGNvbnN0IGRhdGEgPSBlbmNvZGVEYXRhKFN0YWtlUHJvZ3JhbUxheW91dC5XaXRoZHJhdywge1xuICAgIGxhbXBvcnRzOiArbGFtcG9ydHMsXG4gIH0pO1xuXG4gIGNvbnN0IGFjY291bnRzID0gW1xuICAgIHsgcHVia2V5OiBzdGFrZVB1YmtleSwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0sXG4gICAgeyBwdWJrZXk6IHdpdGhkcmF3VG9QdWJLZXksIGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9LFxuICAgIHsgcHVia2V5OiBwYXJhbXMuU1lTVkFSX0NMT0NLX1BVQktFWSwgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICAgIHtcbiAgICAgIHB1YmtleTogcGFyYW1zLlNZU1ZBUl9TVEFLRV9ISVNUT1JZX1BVQktFWSxcbiAgICAgIGlzU2lnbmVyOiBmYWxzZSxcbiAgICAgIGlzV3JpdGFibGU6IGZhbHNlLFxuICAgIH0sXG4gICAgeyBwdWJrZXk6IGF1dGhvcml6ZWRQdWJrZXksIGlzU2lnbmVyOiB0cnVlLCBpc1dyaXRhYmxlOiBmYWxzZSB9LFxuICBdO1xuXG4gIHJldHVybiB7XG4gICAgaW5zdHJ1Y3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGFjY291bnRzLFxuICAgICAgICBwcm9ncmFtSWQ6IHBhcmFtcy5TVEFLRV9QUk9HUkFNX0lELFxuICAgICAgICBkYXRhLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlY2VudEJsb2NraGFzaCxcbiAgICBmZWVQYXllcjogYXV0aG9yaXplZFB1YmtleSxcbiAgfTtcbn1cblxuZXhwb3J0IHtcbiAgY29tcGlsZVRyYW5zZmVyVHJhbnNhY3Rpb24sXG4gIGNvbXBpbGVTcGxUb2tlblRyYW5zYWN0aW9uLFxuICBjb21waWxlQXNzb2NpYXRlVG9rZW5BY2NvdW50LFxuICBjb21waWxlRGVsZWdhdGUsXG4gIGNvbXBpbGVVbmRlbGVnYXRlLFxuICBjb21waWxlRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQsXG4gIGNvbXBpbGVTdGFraW5nV2l0aGRyYXcsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFB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 |
@@ -19,3 +19,3 @@ import * as types from '../config/types'; | ||
*/ | ||
declare function getSplTokenTransferArguments(rawTx: Transaction, addressIndex: number, tokenInfo?: types.TokenInfo, computeUnitPrice?: string, computeUnitLimit?: string): string; | ||
declare function getSplTokenTransferArguments(rawTx: Transaction, addressIndex: number, tokenInfo?: types.TokenInfo): string; | ||
/** | ||
@@ -22,0 +22,0 @@ * getAssociateTokenAccount |
@@ -61,4 +61,2 @@ "use strict"; | ||
function getSplTokenTransferArguments(rawTx, addressIndex, tokenInfo) { | ||
var computeUnitPrice = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; | ||
var computeUnitLimit = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : ''; | ||
var path = _core.utils.getFullPath({ | ||
@@ -72,3 +70,3 @@ pathType: _config.PathType.SLIP0010, | ||
if (tokenInfo) tokenInfoArgs = getTokenInfoArgs(tokenInfo); | ||
return SEPath + rawTx.compileMessage().serializeTransferMessage() + computeUnitPrice + computeUnitLimit + tokenInfoArgs; | ||
return SEPath + rawTx.compileMessage().serializeTransferMessage() + tokenInfoArgs; | ||
} | ||
@@ -233,2 +231,2 @@ | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfY29uZmlnIiwiX2JzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zaWduSW4iLCJvYmoiLCJfX2VzTW9kdWxlIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVzb2x2ZSIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiYXJnIiwiaW5mbyIsInZhbHVlIiwiZXJyb3IiLCJkb25lIiwiUHJvbWlzZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsImdldFRyYW5zZmVyQXJndW1lbnRzIiwicmF3VHgiLCJhZGRyZXNzSW5kZXgiLCJwYXRoIiwidXRpbHMiLCJnZXRGdWxsUGF0aCIsInBhdGhUeXBlIiwiUGF0aFR5cGUiLCJTTElQMDAxMCIsInBhdGhTdHJpbmciLCJjb25jYXQiLCJTRVBhdGgiLCJjb25zb2xlIiwiZGVidWciLCJjb21waWxlTWVzc2FnZSIsInNlcmlhbGl6ZVRyYW5zZmVyTWVzc2FnZSIsImdldFRva2VuSW5mb0FyZ3MiLCJ0b2tlbkluZm8iLCJfdG9rZW5JbmZvJHNpZ25hdHVyZSIsInRva2VuU2lnbmF0dXJlIiwic2lnbmF0dXJlIiwic2xpY2UiLCJwYWRTdGFydCIsInRva2VuSW5mb1RvSGV4IiwiQnVmZmVyIiwiZnJvbSIsImRlY2ltYWxzIiwic3ltYm9sIiwibGVuZ3RoIiwidG9TdHJpbmciLCJ0b2tlblN5bWJvbCIsInRvVXBwZXJDYXNlIiwicGFkRW5kIiwidG9rZW5QdWJsaWNLZXkiLCJiYXNlNTgiLCJkZWNvZGUiLCJhZGRyZXNzIiwiZ2V0U3BsVG9rZW5UcmFuc2ZlckFyZ3VtZW50cyIsImNvbXB1dGVVbml0UHJpY2UiLCJjb21wdXRlVW5pdExpbWl0IiwidG9rZW5JbmZvQXJncyIsImdldEFzc29jaWF0ZVRva2VuQWNjb3VudCIsInNlcmlhbGl6ZUFzc29jaWF0ZVRva2VuQWNjb3VudCIsImdldENyZWF0ZUFuZFRyYW5zZmVyU1BMVG9rZW4iLCJzZXJpYWxpemVDcmVhdGVBbmRUcmFuc2ZlclNQTFRva2VuIiwiZ2V0RGVsZWdhdGVBcmd1bWVudHMiLCJzZXJpYWxpemVEZWxlZ2F0ZSIsImdldFVuZGVsZWdhdGVBcmd1bWVudHMiLCJzZXJpYWxpemVVbmRlbGVnYXRlIiwiZ2V0RGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50QXJndW1lbnRzIiwic2VyaWFsaXplRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQiLCJnZXRTbWFydENvbnRyYWN0QXJndW1lbnRzIiwic2VyaWFsaXplIiwiZ2V0U3RhY2tpbmdXaXRoZHJhd0FyZ3VtZW50cyIsInNlcmlhbGl6ZVN0YWtpbmdXaXRoZHJhdyIsImdldFNpZ25JbkFyZ3VtZW50cyIsIm1lc3NhZ2UiLCJQQVRIX0xFTkdUSCIsImFyZ3VtZW50IiwiY3JlYXRlU2lnbkluTWVzc2FnZSIsImdldFNpZ25NZXNzYWdlQXJndW1lbnRzIiwic3RhcnRzV2l0aCIsImdldFNpZ25WZXJzaW9uZWRBcmd1bWVudHMiLCJnZXRTY3JpcHRTaWduaW5nUHJlQWN0aW9ucyIsInNpZ25EYXRhIiwic2NyaXB0IiwidHJhbnNwb3J0IiwicHJlQWN0aW9ucyIsInNlbmRTY3JpcHQiLCJfcmVmIiwicmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYXBkdSIsInR4Iiwic3RvcCIsInB1c2giLCJnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyIsImFwcFByaXZhdGVLZXkiLCJhcHBJZCIsInZlcnNpb25lZFR4cyIsInRyYW5zYWN0aW9uIiwiYWN0aW9ucyIsIm1hcCIsIl9jYWxsZWUyIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiYWJydXB0IiwiZXhlY3V0ZVNjcmlwdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zY3JpcHRVdGlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQGNvb2x3YWxsZXQvY29yZSc7XG5pbXBvcnQgeyBQYXRoVHlwZSB9IGZyb20gJ0Bjb29sd2FsbGV0L2NvcmUvbGliL2NvbmZpZyc7XG5pbXBvcnQgYmFzZTU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi4vY29uZmlnL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVNpZ25Jbk1lc3NhZ2UgfSBmcm9tICcuL3NpZ25Jbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVmVyc2lvbmVkTWVzc2FnZSB9IGZyb20gJy4uL21lc3NhZ2UnO1xuaW1wb3J0IHsgYXBkdSB9IGZyb20gJ0Bjb29sd2FsbGV0L2NvcmUnO1xuXG4vKipcbiAqIGdldFRyYW5zZmVyQXJndW1lbnRzXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gcmF3VHggdHJhbnNhY3Rpb24gd2l0aCBleHRyYWN0ZWQgZmllbGRzIGZyb20gYSByZWd1bGFyIHNvbCB0cmFuc2FjdGlvblxuICogQHBhcmFtIHtib29sZWFufSBpc1BhcnRpYWxBcmdzIGlzIGdldHRpbmcgZnVsbCByYXdUeCBhcyBhcmd1bWVudCBvciBub3RcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gKi9cbmZ1bmN0aW9uIGdldFRyYW5zZmVyQXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYDExJHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcblxuICByZXR1cm4gU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVUcmFuc2Zlck1lc3NhZ2UoKTtcbn1cblxuZnVuY3Rpb24gZ2V0VG9rZW5JbmZvQXJncyh0b2tlbkluZm86IHR5cGVzLlRva2VuSW5mbyk6IHN0cmluZyB7XG4gIGNvbnN0IHRva2VuU2lnbmF0dXJlID0gdG9rZW5JbmZvLnNpZ25hdHVyZSA/PyAnJztcbiAgY29uc3Qgc2lnbmF0dXJlID0gdG9rZW5TaWduYXR1cmUuc2xpY2UoODIpLnBhZFN0YXJ0KDE0NCwgJzAnKTtcbiAgY29uc3QgdG9rZW5JbmZvVG9IZXggPSBCdWZmZXIuZnJvbShbK3Rva2VuSW5mby5kZWNpbWFscywgdG9rZW5JbmZvLnN5bWJvbC5sZW5ndGhdKS50b1N0cmluZygnaGV4Jyk7XG4gIGNvbnN0IHRva2VuU3ltYm9sID0gQnVmZmVyLmZyb20odG9rZW5JbmZvLnN5bWJvbC50b1VwcGVyQ2FzZSgpKS50b1N0cmluZygnaGV4JykucGFkRW5kKDE0LCAnMCcpO1xuICBjb25zdCB0b2tlblB1YmxpY0tleSA9IEJ1ZmZlci5mcm9tKGJhc2U1OC5kZWNvZGUodG9rZW5JbmZvLmFkZHJlc3MpKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgcmV0dXJuIHRva2VuSW5mb1RvSGV4ICsgdG9rZW5TeW1ib2wgKyB0b2tlblB1YmxpY0tleSArIHNpZ25hdHVyZTtcbn1cblxuLyoqXG4gKiBnZXRTcGxUb2tlblRyYW5zZmVyQXJndW1lbnRzXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gcmF3VHggdHJhbnNhY3Rpb24gd2l0aCBleHRyYWN0ZWQgZmllbGRzIGZyb20gYSByZWd1bGFyIHNvbCB0cmFuc2FjdGlvblxuICogQHBhcmFtIHtib29sZWFufSBpc1BhcnRpYWxBcmdzIGlzIGdldHRpbmcgZnVsbCByYXdUeCBhcyBhcmd1bWVudCBvciBub3RcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gKi9cbmZ1bmN0aW9uIGdldFNwbFRva2VuVHJhbnNmZXJBcmd1bWVudHMoXG4gIHJhd1R4OiBUcmFuc2FjdGlvbixcbiAgYWRkcmVzc0luZGV4OiBudW1iZXIsXG4gIHRva2VuSW5mbz86IHR5cGVzLlRva2VuSW5mbyxcbiAgY29tcHV0ZVVuaXRQcmljZSA9ICcnLFxuICBjb21wdXRlVW5pdExpbWl0ID0gJydcbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuICBsZXQgdG9rZW5JbmZvQXJncyA9ICcnO1xuICBpZiAodG9rZW5JbmZvKSB0b2tlbkluZm9BcmdzID0gZ2V0VG9rZW5JbmZvQXJncyh0b2tlbkluZm8pO1xuXG4gIHJldHVybiAoXG4gICAgU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVUcmFuc2Zlck1lc3NhZ2UoKSArIGNvbXB1dGVVbml0UHJpY2UgKyBjb21wdXRlVW5pdExpbWl0ICsgdG9rZW5JbmZvQXJnc1xuICApO1xufVxuXG4vKipcbiAqIGdldEFzc29jaWF0ZVRva2VuQWNjb3VudFxuICpcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHJhd1R4IHRyYW5zYWN0aW9uIHdpdGggZXh0cmFjdGVkIGZpZWxkcyBmcm9tIGEgcmVndWxhciBzb2wgdHJhbnNhY3Rpb25cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNQYXJ0aWFsQXJncyBpcyBnZXR0aW5nIGZ1bGwgcmF3VHggYXMgYXJndW1lbnQgb3Igbm90XG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fVxuICovXG5mdW5jdGlvbiBnZXRBc3NvY2lhdGVUb2tlbkFjY291bnQocmF3VHg6IFRyYW5zYWN0aW9uLCBhZGRyZXNzSW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuXG4gIHJldHVybiBTRVBhdGggKyByYXdUeC5jb21waWxlTWVzc2FnZSgpLnNlcmlhbGl6ZUFzc29jaWF0ZVRva2VuQWNjb3VudCgpO1xufVxuXG5mdW5jdGlvbiBnZXRDcmVhdGVBbmRUcmFuc2ZlclNQTFRva2VuKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIsIHRva2VuSW5mbz86IHR5cGVzLlRva2VuSW5mbyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuICBsZXQgdG9rZW5JbmZvQXJncyA9ICcnO1xuICBpZiAodG9rZW5JbmZvKSB0b2tlbkluZm9BcmdzID0gZ2V0VG9rZW5JbmZvQXJncyh0b2tlbkluZm8pO1xuXG4gIHJldHVybiBTRVBhdGggKyByYXdUeC5jb21waWxlTWVzc2FnZSgpLnNlcmlhbGl6ZUNyZWF0ZUFuZFRyYW5zZmVyU1BMVG9rZW4oKSArIHRva2VuSW5mb0FyZ3M7XG59XG5cbmZ1bmN0aW9uIGdldERlbGVnYXRlQXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYDExJHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcblxuICByZXR1cm4gU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVEZWxlZ2F0ZSgpO1xufVxuXG5mdW5jdGlvbiBnZXRVbmRlbGVnYXRlQXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYDExJHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcblxuICByZXR1cm4gU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVVbmRlbGVnYXRlKCk7XG59XG5cbmZ1bmN0aW9uIGdldERlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudEFyZ3VtZW50cyhyYXdUeDogVHJhbnNhY3Rpb24sIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG5cbiAgcmV0dXJuIFNFUGF0aCArIHJhd1R4LmNvbXBpbGVNZXNzYWdlKCkuc2VyaWFsaXplRGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50V2l0aFNlZWQoKTtcbn1cblxuZnVuY3Rpb24gZ2V0U21hcnRDb250cmFjdEFyZ3VtZW50cyhyYXdUeDogVHJhbnNhY3Rpb24sIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG5cbiAgcmV0dXJuIFNFUGF0aCArIEJ1ZmZlci5mcm9tKHJhd1R4LmNvbXBpbGVNZXNzYWdlKCkuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhY2tpbmdXaXRoZHJhd0FyZ3VtZW50cyhyYXdUeDogVHJhbnNhY3Rpb24sIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG5cbiAgcmV0dXJuIFNFUGF0aCArIHJhd1R4LmNvbXBpbGVNZXNzYWdlKCkuc2VyaWFsaXplU3Rha2luZ1dpdGhkcmF3KCk7XG59XG5cbmZ1bmN0aW9uIGdldFNpZ25JbkFyZ3VtZW50cyhtZXNzYWdlOiB0eXBlcy5TaWduSW5NZXNzYWdlLCBhZGRyZXNzSW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IFBBVEhfTEVOR1RIID0gJzExJztcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAke1BBVEhfTEVOR1RIfSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG4gIGNvbnN0IGFyZ3VtZW50ID0gY3JlYXRlU2lnbkluTWVzc2FnZShtZXNzYWdlLCBwYXRoKTtcbiAgcmV0dXJuIFNFUGF0aCArIGFyZ3VtZW50O1xufVxuXG5mdW5jdGlvbiBnZXRTaWduTWVzc2FnZUFyZ3VtZW50cyhtZXNzYWdlOiBzdHJpbmcsIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgUEFUSF9MRU5HVEggPSAnMTEnO1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYCR7UEFUSF9MRU5HVEh9JHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcbiAgY29uc3QgYXJndW1lbnQgPSBtZXNzYWdlLnN0YXJ0c1dpdGgoJzB4JykgPyBtZXNzYWdlLnNsaWNlKDIpIDogbWVzc2FnZTtcbiAgcmV0dXJuIFNFUGF0aCArIGFyZ3VtZW50O1xufVxuXG5mdW5jdGlvbiBnZXRTaWduVmVyc2lvbmVkQXJndW1lbnRzKHJhd1R4OiBWZXJzaW9uZWRNZXNzYWdlLCBhZGRyZXNzSW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuICByZXR1cm4gU0VQYXRoICsgQnVmZmVyLmZyb20ocmF3VHguc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdFNpZ25pbmdQcmVBY3Rpb25zKFxuICBzaWduRGF0YTogdHlwZXMuc2lnblZlcnNpb25lZFRyYW5zYWN0aW9ucyxcbiAgc2NyaXB0OiBzdHJpbmdcbik6IHtcbiAgcHJlQWN0aW9uczogQXJyYXk8KCkgPT4gUHJvbWlzZTx2b2lkPj47XG59IHtcbiAgY29uc3QgeyB0cmFuc3BvcnQgfSA9IHNpZ25EYXRhO1xuXG4gIGNvbnN0IHByZUFjdGlvbnMgPSBbXTtcbiAgY29uc3Qgc2VuZFNjcmlwdCA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBhcGR1LnR4LnNlbmRTY3JpcHQodHJhbnNwb3J0LCBzY3JpcHQpO1xuICB9O1xuICBwcmVBY3Rpb25zLnB1c2goc2VuZFNjcmlwdCk7XG5cbiAgcmV0dXJuIHsgcHJlQWN0aW9ucyB9O1xufVxuXG5mdW5jdGlvbiBnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyhzaWduRGF0YTogdHlwZXMuc2lnblZlcnNpb25lZFRyYW5zYWN0aW9ucyk6IHtcbiAgYWN0aW9uczogQXJyYXk8KCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+Pjtcbn0ge1xuICBjb25zdCB7IHRyYW5zcG9ydCwgYXBwUHJpdmF0ZUtleSwgYXBwSWQsIGFkZHJlc3NJbmRleCB9ID0gc2lnbkRhdGE7XG4gIGNvbnN0IHZlcnNpb25lZFR4cyA9IHNpZ25EYXRhLnRyYW5zYWN0aW9uO1xuICBjb25zdCBhY3Rpb25zID0gdmVyc2lvbmVkVHhzLm1hcCgodHgpID0+IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBhcmd1bWVudCA9IGdldFNpZ25WZXJzaW9uZWRBcmd1bWVudHModHgubWVzc2FnZSwgYWRkcmVzc0luZGV4KTtcbiAgICByZXR1cm4gYXBkdS50eC5leGVjdXRlU2NyaXB0KHRyYW5zcG9ydCwgYXBwSWQsIGFwcFByaXZhdGVLZXksIGFyZ3VtZW50KTtcbiAgfSk7XG4gIHJldHVybiB7IGFjdGlvbnMgfTtcbn1cblxuZXhwb3J0IHtcbiAgZ2V0QXNzb2NpYXRlVG9rZW5BY2NvdW50LFxuICBnZXRTcGxUb2tlblRyYW5zZmVyQXJndW1lbnRzLFxuICBnZXRDcmVhdGVBbmRUcmFuc2ZlclNQTFRva2VuLFxuICBnZXRUcmFuc2ZlckFyZ3VtZW50cyxcbiAgZ2V0U21hcnRDb250cmFjdEFyZ3VtZW50cyxcbiAgZ2V0RGVsZWdhdGVBcmd1bWVudHMsXG4gIGdldFVuZGVsZWdhdGVBcmd1bWVudHMsXG4gIGdldERlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudEFyZ3VtZW50cyxcbiAgZ2V0U3RhY2tpbmdXaXRoZHJhd0FyZ3VtZW50cyxcbiAgZ2V0U2lnbkluQXJndW1lbnRzLFxuICBnZXRTaWduTWVzc2FnZUFyZ3VtZW50cyxcbiAgZ2V0U2lnblZlcnNpb25lZEFyZ3VtZW50cyxcbiAgZ2V0U2NyaXB0U2lnbmluZ0FjdGlvbnMsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsR0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQStDLFNBQUFHLHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsZ0JBQUFBLEdBQUE7QUFBQSxTQUFBRSxtQkFBQUMsR0FBQSxFQUFBQyxPQUFBLEVBQUFDLE1BQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQSxjQUFBQyxJQUFBLEdBQUFQLEdBQUEsQ0FBQUssR0FBQSxFQUFBQyxHQUFBLE9BQUFFLEtBQUEsR0FBQUQsSUFBQSxDQUFBQyxLQUFBLFdBQUFDLEtBQUEsSUFBQVAsTUFBQSxDQUFBTyxLQUFBLGlCQUFBRixJQUFBLENBQUFH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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfY29uZmlnIiwiX2JzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zaWduSW4iLCJvYmoiLCJfX2VzTW9kdWxlIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVzb2x2ZSIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiYXJnIiwiaW5mbyIsInZhbHVlIiwiZXJyb3IiLCJkb25lIiwiUHJvbWlzZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsImdldFRyYW5zZmVyQXJndW1lbnRzIiwicmF3VHgiLCJhZGRyZXNzSW5kZXgiLCJwYXRoIiwidXRpbHMiLCJnZXRGdWxsUGF0aCIsInBhdGhUeXBlIiwiUGF0aFR5cGUiLCJTTElQMDAxMCIsInBhdGhTdHJpbmciLCJjb25jYXQiLCJTRVBhdGgiLCJjb25zb2xlIiwiZGVidWciLCJjb21waWxlTWVzc2FnZSIsInNlcmlhbGl6ZVRyYW5zZmVyTWVzc2FnZSIsImdldFRva2VuSW5mb0FyZ3MiLCJ0b2tlbkluZm8iLCJfdG9rZW5JbmZvJHNpZ25hdHVyZSIsInRva2VuU2lnbmF0dXJlIiwic2lnbmF0dXJlIiwic2xpY2UiLCJwYWRTdGFydCIsInRva2VuSW5mb1RvSGV4IiwiQnVmZmVyIiwiZnJvbSIsImRlY2ltYWxzIiwic3ltYm9sIiwibGVuZ3RoIiwidG9TdHJpbmciLCJ0b2tlblN5bWJvbCIsInRvVXBwZXJDYXNlIiwicGFkRW5kIiwidG9rZW5QdWJsaWNLZXkiLCJiYXNlNTgiLCJkZWNvZGUiLCJhZGRyZXNzIiwiZ2V0U3BsVG9rZW5UcmFuc2ZlckFyZ3VtZW50cyIsInRva2VuSW5mb0FyZ3MiLCJnZXRBc3NvY2lhdGVUb2tlbkFjY291bnQiLCJzZXJpYWxpemVBc3NvY2lhdGVUb2tlbkFjY291bnQiLCJnZXRDcmVhdGVBbmRUcmFuc2ZlclNQTFRva2VuIiwic2VyaWFsaXplQ3JlYXRlQW5kVHJhbnNmZXJTUExUb2tlbiIsImdldERlbGVnYXRlQXJndW1lbnRzIiwic2VyaWFsaXplRGVsZWdhdGUiLCJnZXRVbmRlbGVnYXRlQXJndW1lbnRzIiwic2VyaWFsaXplVW5kZWxlZ2F0ZSIsImdldERlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudEFyZ3VtZW50cyIsInNlcmlhbGl6ZURlbGVnYXRlQW5kQ3JlYXRlQWNjb3VudFdpdGhTZWVkIiwiZ2V0U21hcnRDb250cmFjdEFyZ3VtZW50cyIsInNlcmlhbGl6ZSIsImdldFN0YWNraW5nV2l0aGRyYXdBcmd1bWVudHMiLCJzZXJpYWxpemVTdGFraW5nV2l0aGRyYXciLCJnZXRTaWduSW5Bcmd1bWVudHMiLCJtZXNzYWdlIiwiUEFUSF9MRU5HVEgiLCJhcmd1bWVudCIsImNyZWF0ZVNpZ25Jbk1lc3NhZ2UiLCJnZXRTaWduTWVzc2FnZUFyZ3VtZW50cyIsInN0YXJ0c1dpdGgiLCJnZXRTaWduVmVyc2lvbmVkQXJndW1lbnRzIiwiZ2V0U2NyaXB0U2lnbmluZ1ByZUFjdGlvbnMiLCJzaWduRGF0YSIsInNjcmlwdCIsInRyYW5zcG9ydCIsInByZUFjdGlvbnMiLCJzZW5kU2NyaXB0IiwiX3JlZiIsInJlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImFwZHUiLCJ0eCIsInN0b3AiLCJwdXNoIiwiZ2V0U2NyaXB0U2lnbmluZ0FjdGlvbnMiLCJhcHBQcml2YXRlS2V5IiwiYXBwSWQiLCJ2ZXJzaW9uZWRUeHMiLCJ0cmFuc2FjdGlvbiIsImFjdGlvbnMiLCJtYXAiLCJfY2FsbGVlMiIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImFicnVwdCIsImV4ZWN1dGVTY3JpcHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc2NyaXB0VXRpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlscyB9IGZyb20gJ0Bjb29sd2FsbGV0L2NvcmUnO1xuaW1wb3J0IHsgUGF0aFR5cGUgfSBmcm9tICdAY29vbHdhbGxldC9jb3JlL2xpYi9jb25maWcnO1xuaW1wb3J0IGJhc2U1OCBmcm9tICdiczU4JztcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4uL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVTaWduSW5NZXNzYWdlIH0gZnJvbSAnLi9zaWduSW4nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL1RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFZlcnNpb25lZE1lc3NhZ2UgfSBmcm9tICcuLi9tZXNzYWdlJztcbmltcG9ydCB7IGFwZHUgfSBmcm9tICdAY29vbHdhbGxldC9jb3JlJztcblxuLyoqXG4gKiBnZXRUcmFuc2ZlckFyZ3VtZW50c1xuICpcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHJhd1R4IHRyYW5zYWN0aW9uIHdpdGggZXh0cmFjdGVkIGZpZWxkcyBmcm9tIGEgcmVndWxhciBzb2wgdHJhbnNhY3Rpb25cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNQYXJ0aWFsQXJncyBpcyBnZXR0aW5nIGZ1bGwgcmF3VHggYXMgYXJndW1lbnQgb3Igbm90XG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fVxuICovXG5mdW5jdGlvbiBnZXRUcmFuc2ZlckFyZ3VtZW50cyhyYXdUeDogVHJhbnNhY3Rpb24sIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG5cbiAgcmV0dXJuIFNFUGF0aCArIHJhd1R4LmNvbXBpbGVNZXNzYWdlKCkuc2VyaWFsaXplVHJhbnNmZXJNZXNzYWdlKCk7XG59XG5cbmZ1bmN0aW9uIGdldFRva2VuSW5mb0FyZ3ModG9rZW5JbmZvOiB0eXBlcy5Ub2tlbkluZm8pOiBzdHJpbmcge1xuICBjb25zdCB0b2tlblNpZ25hdHVyZSA9IHRva2VuSW5mby5zaWduYXR1cmUgPz8gJyc7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IHRva2VuU2lnbmF0dXJlLnNsaWNlKDgyKS5wYWRTdGFydCgxNDQsICcwJyk7XG4gIGNvbnN0IHRva2VuSW5mb1RvSGV4ID0gQnVmZmVyLmZyb20oWyt0b2tlbkluZm8uZGVjaW1hbHMsIHRva2VuSW5mby5zeW1ib2wubGVuZ3RoXSkudG9TdHJpbmcoJ2hleCcpO1xuICBjb25zdCB0b2tlblN5bWJvbCA9IEJ1ZmZlci5mcm9tKHRva2VuSW5mby5zeW1ib2wudG9VcHBlckNhc2UoKSkudG9TdHJpbmcoJ2hleCcpLnBhZEVuZCgxNCwgJzAnKTtcbiAgY29uc3QgdG9rZW5QdWJsaWNLZXkgPSBCdWZmZXIuZnJvbShiYXNlNTguZGVjb2RlKHRva2VuSW5mby5hZGRyZXNzKSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gIHJldHVybiB0b2tlbkluZm9Ub0hleCArIHRva2VuU3ltYm9sICsgdG9rZW5QdWJsaWNLZXkgKyBzaWduYXR1cmU7XG59XG5cbi8qKlxuICogZ2V0U3BsVG9rZW5UcmFuc2ZlckFyZ3VtZW50c1xuICpcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHJhd1R4IHRyYW5zYWN0aW9uIHdpdGggZXh0cmFjdGVkIGZpZWxkcyBmcm9tIGEgcmVndWxhciBzb2wgdHJhbnNhY3Rpb25cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNQYXJ0aWFsQXJncyBpcyBnZXR0aW5nIGZ1bGwgcmF3VHggYXMgYXJndW1lbnQgb3Igbm90XG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fVxuICovXG5mdW5jdGlvbiBnZXRTcGxUb2tlblRyYW5zZmVyQXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIsIHRva2VuSW5mbz86IHR5cGVzLlRva2VuSW5mbyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuICBsZXQgdG9rZW5JbmZvQXJncyA9ICcnO1xuICBpZiAodG9rZW5JbmZvKSB0b2tlbkluZm9BcmdzID0gZ2V0VG9rZW5JbmZvQXJncyh0b2tlbkluZm8pO1xuICByZXR1cm4gU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVUcmFuc2Zlck1lc3NhZ2UoKSArIHRva2VuSW5mb0FyZ3M7XG59XG5cbi8qKlxuICogZ2V0QXNzb2NpYXRlVG9rZW5BY2NvdW50XG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gcmF3VHggdHJhbnNhY3Rpb24gd2l0aCBleHRyYWN0ZWQgZmllbGRzIGZyb20gYSByZWd1bGFyIHNvbCB0cmFuc2FjdGlvblxuICogQHBhcmFtIHtib29sZWFufSBpc1BhcnRpYWxBcmdzIGlzIGdldHRpbmcgZnVsbCByYXdUeCBhcyBhcmd1bWVudCBvciBub3RcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gKi9cbmZ1bmN0aW9uIGdldEFzc29jaWF0ZVRva2VuQWNjb3VudChyYXdUeDogVHJhbnNhY3Rpb24sIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG5cbiAgcmV0dXJuIFNFUGF0aCArIHJhd1R4LmNvbXBpbGVNZXNzYWdlKCkuc2VyaWFsaXplQXNzb2NpYXRlVG9rZW5BY2NvdW50KCk7XG59XG5cbmZ1bmN0aW9uIGdldENyZWF0ZUFuZFRyYW5zZmVyU1BMVG9rZW4ocmF3VHg6IFRyYW5zYWN0aW9uLCBhZGRyZXNzSW5kZXg6IG51bWJlciwgdG9rZW5JbmZvPzogdHlwZXMuVG9rZW5JbmZvKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG4gIGxldCB0b2tlbkluZm9BcmdzID0gJyc7XG4gIGlmICh0b2tlbkluZm8pIHRva2VuSW5mb0FyZ3MgPSBnZXRUb2tlbkluZm9BcmdzKHRva2VuSW5mbyk7XG5cbiAgcmV0dXJuIFNFUGF0aCArIHJhd1R4LmNvbXBpbGVNZXNzYWdlKCkuc2VyaWFsaXplQ3JlYXRlQW5kVHJhbnNmZXJTUExUb2tlbigpICsgdG9rZW5JbmZvQXJncztcbn1cblxuZnVuY3Rpb24gZ2V0RGVsZWdhdGVBcmd1bWVudHMocmF3VHg6IFRyYW5zYWN0aW9uLCBhZGRyZXNzSW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuXG4gIHJldHVybiBTRVBhdGggKyByYXdUeC5jb21waWxlTWVzc2FnZSgpLnNlcmlhbGl6ZURlbGVnYXRlKCk7XG59XG5cbmZ1bmN0aW9uIGdldFVuZGVsZWdhdGVBcmd1bWVudHMocmF3VHg6IFRyYW5zYWN0aW9uLCBhZGRyZXNzSW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgMTEke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuXG4gIHJldHVybiBTRVBhdGggKyByYXdUeC5jb21waWxlTWVzc2FnZSgpLnNlcmlhbGl6ZVVuZGVsZWdhdGUoKTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50QXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYDExJHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcblxuICByZXR1cm4gU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVEZWxlZ2F0ZUFuZENyZWF0ZUFjY291bnRXaXRoU2VlZCgpO1xufVxuXG5mdW5jdGlvbiBnZXRTbWFydENvbnRyYWN0QXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYDExJHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcblxuICByZXR1cm4gU0VQYXRoICsgQnVmZmVyLmZyb20ocmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemUoKSkudG9TdHJpbmcoJ2hleCcpO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFja2luZ1dpdGhkcmF3QXJndW1lbnRzKHJhd1R4OiBUcmFuc2FjdGlvbiwgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYDExJHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcblxuICByZXR1cm4gU0VQYXRoICsgcmF3VHguY29tcGlsZU1lc3NhZ2UoKS5zZXJpYWxpemVTdGFraW5nV2l0aGRyYXcoKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2lnbkluQXJndW1lbnRzKG1lc3NhZ2U6IHR5cGVzLlNpZ25Jbk1lc3NhZ2UsIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgUEFUSF9MRU5HVEggPSAnMTEnO1xuICBjb25zdCBwYXRoID0gdXRpbHMuZ2V0RnVsbFBhdGgoeyBwYXRoVHlwZTogUGF0aFR5cGUuU0xJUDAwMTAsIHBhdGhTdHJpbmc6IGA0NCcvNTAxJy8ke2FkZHJlc3NJbmRleH0nLzAnYCB9KTtcbiAgY29uc3QgU0VQYXRoID0gYCR7UEFUSF9MRU5HVEh9JHtwYXRofWA7XG4gIGNvbnNvbGUuZGVidWcoJ1NFUGF0aDogJywgU0VQYXRoKTtcbiAgY29uc3QgYXJndW1lbnQgPSBjcmVhdGVTaWduSW5NZXNzYWdlKG1lc3NhZ2UsIHBhdGgpO1xuICByZXR1cm4gU0VQYXRoICsgYXJndW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFNpZ25NZXNzYWdlQXJndW1lbnRzKG1lc3NhZ2U6IHN0cmluZywgYWRkcmVzc0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBQQVRIX0xFTkdUSCA9ICcxMSc7XG4gIGNvbnN0IHBhdGggPSB1dGlscy5nZXRGdWxsUGF0aCh7IHBhdGhUeXBlOiBQYXRoVHlwZS5TTElQMDAxMCwgcGF0aFN0cmluZzogYDQ0Jy81MDEnLyR7YWRkcmVzc0luZGV4fScvMCdgIH0pO1xuICBjb25zdCBTRVBhdGggPSBgJHtQQVRIX0xFTkdUSH0ke3BhdGh9YDtcbiAgY29uc29sZS5kZWJ1ZygnU0VQYXRoOiAnLCBTRVBhdGgpO1xuICBjb25zdCBhcmd1bWVudCA9IG1lc3NhZ2Uuc3RhcnRzV2l0aCgnMHgnKSA/IG1lc3NhZ2Uuc2xpY2UoMikgOiBtZXNzYWdlO1xuICByZXR1cm4gU0VQYXRoICsgYXJndW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFNpZ25WZXJzaW9uZWRBcmd1bWVudHMocmF3VHg6IFZlcnNpb25lZE1lc3NhZ2UsIGFkZHJlc3NJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcGF0aCA9IHV0aWxzLmdldEZ1bGxQYXRoKHsgcGF0aFR5cGU6IFBhdGhUeXBlLlNMSVAwMDEwLCBwYXRoU3RyaW5nOiBgNDQnLzUwMScvJHthZGRyZXNzSW5kZXh9Jy8wJ2AgfSk7XG4gIGNvbnN0IFNFUGF0aCA9IGAxMSR7cGF0aH1gO1xuICBjb25zb2xlLmRlYnVnKCdTRVBhdGg6ICcsIFNFUGF0aCk7XG4gIHJldHVybiBTRVBhdGggKyBCdWZmZXIuZnJvbShyYXdUeC5zZXJpYWxpemUoKSkudG9TdHJpbmcoJ2hleCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0U2lnbmluZ1ByZUFjdGlvbnMoXG4gIHNpZ25EYXRhOiB0eXBlcy5zaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25zLFxuICBzY3JpcHQ6IHN0cmluZ1xuKToge1xuICBwcmVBY3Rpb25zOiBBcnJheTwoKSA9PiBQcm9taXNlPHZvaWQ+Pjtcbn0ge1xuICBjb25zdCB7IHRyYW5zcG9ydCB9ID0gc2lnbkRhdGE7XG5cbiAgY29uc3QgcHJlQWN0aW9ucyA9IFtdO1xuICBjb25zdCBzZW5kU2NyaXB0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGFwZHUudHguc2VuZFNjcmlwdCh0cmFuc3BvcnQsIHNjcmlwdCk7XG4gIH07XG4gIHByZUFjdGlvbnMucHVzaChzZW5kU2NyaXB0KTtcblxuICByZXR1cm4geyBwcmVBY3Rpb25zIH07XG59XG5cbmZ1bmN0aW9uIGdldFNjcmlwdFNpZ25pbmdBY3Rpb25zKHNpZ25EYXRhOiB0eXBlcy5zaWduVmVyc2lvbmVkVHJhbnNhY3Rpb25zKToge1xuICBhY3Rpb25zOiBBcnJheTwoKSA9PiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4+O1xufSB7XG4gIGNvbnN0IHsgdHJhbnNwb3J0LCBhcHBQcml2YXRlS2V5LCBhcHBJZCwgYWRkcmVzc0luZGV4IH0gPSBzaWduRGF0YTtcbiAgY29uc3QgdmVyc2lvbmVkVHhzID0gc2lnbkRhdGEudHJhbnNhY3Rpb247XG4gIGNvbnN0IGFjdGlvbnMgPSB2ZXJzaW9uZWRUeHMubWFwKCh0eCkgPT4gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGFyZ3VtZW50ID0gZ2V0U2lnblZlcnNpb25lZEFyZ3VtZW50cyh0eC5tZXNzYWdlLCBhZGRyZXNzSW5kZXgpO1xuICAgIHJldHVybiBhcGR1LnR4LmV4ZWN1dGVTY3JpcHQodHJhbnNwb3J0LCBhcHBJZCwgYXBwUHJpdmF0ZUtleSwgYXJndW1lbnQpO1xuICB9KTtcbiAgcmV0dXJuIHsgYWN0aW9ucyB9O1xufVxuXG5leHBvcnQge1xuICBnZXRBc3NvY2lhdGVUb2tlbkFjY291bnQsXG4gIGdldFNwbFRva2VuVHJhbnNmZXJBcmd1bWVudHMsXG4gIGdldENyZWF0ZUFuZFRyYW5zZmVyU1BMVG9rZW4sXG4gIGdldFRyYW5zZmVyQXJndW1lbnRzLFxuICBnZXRTbWFydENvbnRyYWN0QXJndW1lbnRzLFxuICBnZXREZWxlZ2F0ZUFyZ3VtZW50cyxcbiAgZ2V0VW5kZWxlZ2F0ZUFyZ3VtZW50cyxcbiAgZ2V0RGVsZWdhdGVBbmRDcmVhdGVBY2NvdW50QXJndW1lbnRzLFxuICBnZXRTdGFja2luZ1dpdGhkcmF3QXJndW1lbnRzLFxuICBnZXRTaWduSW5Bcmd1bWVudHMsXG4gIGdldFNpZ25NZXNzYWdlQXJndW1lbnRzLFxuICBnZXRTaWduVmVyc2lvbmVkQXJndW1lbnRzLFxuICBnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxHQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFBK0MsU0FBQUcsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQTtBQUFBLFNBQUFFLG1CQUFBQyxHQUFBLEVBQUFDLE9BQUEsRUFBQUMsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLGNBQUFDLElBQUEsR0FBQVAsR0FBQSxDQUFBSyxHQUFBLEVBQUFDLEdBQUEsT0FBQUUsS0FBQSxHQUFBRCxJQUFBLENBQUFDLEtBQUEsV0FBQUMsS0FBQSxJQUFBUCxNQUFBLENBQUFPLEtBQUEsaUJBQUFGLElBQUEsQ0FBQUcsSUFBQSxJQUFBVCxPQUFBLENBQUFPLEtBQUEsWUFBQUcsT0FBQSxDQUFBVixPQUFBLENBQUFPLEtBQUEsRUFBQUksSUFBQSxDQUFBVCxLQUFBLEVBQUFDLE1BQUE7QUFBQSxTQUFBUyxrQkFBQUMsRUFBQSw2QkFBQUMsSUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsYUFB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 |
@@ -12,3 +12,5 @@ /// <reference types="node" /> | ||
export declare const encodeLength: (bytes: number[], len: number) => void; | ||
export declare function toReverseUintBuffer(numberOrString: number | string, byteSize: number): Buffer; | ||
export declare function toUintBuffer(numberOrString: number | string, byteSize: number): Buffer; | ||
export declare function computeBudgetEncode(type: ComputeBudgetInstruction, amount: number | string): Buffer; | ||
export declare function splDataEncode(amount: number | string, tokenDecimals: number | string): Buffer; |
@@ -14,2 +14,4 @@ "use strict"; | ||
exports.toPublicKey = toPublicKey; | ||
exports.toReverseUintBuffer = toReverseUintBuffer; | ||
exports.toUintBuffer = toUintBuffer; | ||
var _bs = _interopRequireDefault(require("bs58")); | ||
@@ -83,2 +85,12 @@ var _bn = _interopRequireDefault(require("bn.js")); | ||
exports.encodeLength = encodeLength; | ||
function toReverseUintBuffer(numberOrString, byteSize) { | ||
var bn = new _bn["default"](numberOrString); | ||
var buf = Buffer.from(bn.toArray()).reverse(); | ||
return Buffer.alloc(byteSize).fill(buf, 0, buf.length); | ||
} | ||
function toUintBuffer(numberOrString, byteSize) { | ||
var bn = new _bn["default"](numberOrString); | ||
var buf = Buffer.from(bn.toArray()); | ||
return Buffer.alloc(byteSize).fill(buf, byteSize - buf.length, byteSize); | ||
} | ||
function computeBudgetEncode(type, amount) { | ||
@@ -101,4 +113,3 @@ var data; | ||
data.writeUIntLE(type, 0, typeSpan); | ||
var valueHex = new _bn["default"](amount).toString(16, length * 2); | ||
var valueBuf = Buffer.from(valueHex, 'hex').reverse(); | ||
var valueBuf = toReverseUintBuffer(amount, length); | ||
data.write(valueBuf.toString('hex'), typeSpan, length, 'hex'); | ||
@@ -117,2 +128,2 @@ return data; | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9ibiIsInR5cGVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiSEVYX1JFR0VYIiwiaXNCYXNlNThGb3JtYXQiLCJ2YWx1ZSIsInRlc3QiLCJleHBvcnRzIiwiaXNIZXhGb3JtYXQiLCJtYXRjaCIsInRvQmFzZTU4IiwicHVibGljS2V5IiwiYmFzZTU4IiwiZW5jb2RlIiwiQnVmZmVyIiwiZnJvbSIsInRvQmFzZTU4QnVmZmVyIiwiZGVjb2RlIiwidG9QdWJsaWNLZXkiLCJwdWJLZXlUb0FkZHJlc3MiLCJwdWJLZXlCdWYiLCJmb3JtSGV4IiwiYWRkcmVzcyIsInRvU3RyaW5nIiwibnVtYmVyVG9TdHJpbmdIZXgiLCJwYWQiLCJwYWRTdGFydCIsImVuY29kZUxlbmd0aCIsImJ5dGVzIiwibGVuIiwicmVtX2xlbiIsImVsZW0iLCJwdXNoIiwiY29tcHV0ZUJ1ZGdldEVuY29kZSIsInR5cGUiLCJhbW91bnQiLCJkYXRhIiwibGVuZ3RoIiwiQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uIiwiU2V0Q29tcHV0ZVVuaXRMaW1pdCIsImFsbG9jIiwiU2V0Q29tcHV0ZVVuaXRQcmljZSIsIkVycm9yIiwidHlwZVNwYW4iLCJ3cml0ZVVJbnRMRSIsInZhbHVlSGV4IiwiQk4iLCJ2YWx1ZUJ1ZiIsInJldmVyc2UiLCJ3cml0ZSIsInNwbERhdGFFbmNvZGUiLCJ0b2tlbkRlY2ltYWxzIiwicHJvZ3JhbUlkSW5kZXhTcGFuIiwiVG9rZW5JbnN0cnVjdGlvbiIsIlRyYW5zZmVyQ2hlY2tlZCIsIndyaXRlVUludDgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyaW5nVXRpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYmFzZTU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0IEJOIGZyb20gJ2JuLmpzJztcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4uL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMnO1xuXG5jb25zdCBIRVhfUkVHRVggPSAvWzAtOUEtRmEtZl17Nn0vZztcblxuZXhwb3J0IGNvbnN0IGlzQmFzZTU4Rm9ybWF0ID0gKHZhbHVlPzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghdmFsdWUpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIC9eW0EtSEotTlAtWmEta20tejEtOV0qJC8udGVzdCh2YWx1ZSk7XG59O1xuXG5mdW5jdGlvbiBpc0hleEZvcm1hdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2goSEVYX1JFR0VYKTtcbiAgcmV0dXJuICEhbWF0Y2g7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2U1OChwdWJsaWNLZXk6IHR5cGVzLkFkZHJlc3MpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHB1YmxpY0tleSA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoaXNCYXNlNThGb3JtYXQocHVibGljS2V5KSkgcmV0dXJuIHB1YmxpY0tleTtcbiAgICBpZiAoaXNIZXhGb3JtYXQocHVibGljS2V5KSkgcmV0dXJuIGJhc2U1OC5lbmNvZGUoQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4JykpO1xuICAgIHJldHVybiBwdWJsaWNLZXk7XG4gIH1cbiAgcmV0dXJuIGJhc2U1OC5lbmNvZGUocHVibGljS2V5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZTU4QnVmZmVyKHB1YmxpY0tleTogdHlwZXMuQWRkcmVzcyk6IEJ1ZmZlciB7XG4gIGlmICh0eXBlb2YgcHVibGljS2V5ID09PSAnc3RyaW5nJykge1xuICAgIGlmIChpc0Jhc2U1OEZvcm1hdChwdWJsaWNLZXkpKSByZXR1cm4gYmFzZTU4LmRlY29kZShwdWJsaWNLZXkpO1xuICAgIGlmIChpc0hleEZvcm1hdChwdWJsaWNLZXkpKSByZXR1cm4gQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4Jyk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHB1YmxpY0tleSk7XG4gIH1cbiAgcmV0dXJuIHB1YmxpY0tleTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nIHwgQnVmZmVyKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBwdWJsaWNLZXkgPT09ICdzdHJpbmcnKSByZXR1cm4gcHVibGljS2V5O1xuICByZXR1cm4gYmFzZTU4LmVuY29kZShwdWJsaWNLZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHViS2V5VG9BZGRyZXNzKHB1YmxpY0tleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcHViS2V5QnVmID0gQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4Jyk7XG4gIHJldHVybiBiYXNlNTguZW5jb2RlKHB1YktleUJ1Zik7XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtSGV4ID0gKGFkZHJlc3M6IHN0cmluZyB8IEJ1ZmZlciB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XG4gIGlmICghYWRkcmVzcykgcmV0dXJuICcnO1xuICBpZiAodHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGlzQmFzZTU4Rm9ybWF0KGFkZHJlc3MpKSByZXR1cm4gYmFzZTU4LmRlY29kZShhZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cbiAgcmV0dXJuIGFkZHJlc3MudG9TdHJpbmcoJ2hleCcpO1xufTtcblxuZXhwb3J0IGNvbnN0IG51bWJlclRvU3RyaW5nSGV4ID0gKHZhbHVlOiBudW1iZXIgfCBudW1iZXJbXSwgcGFkOiBudW1iZXIpOiBzdHJpbmcgPT5cbiAgQnVmZmVyLmZyb20odHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IFt2YWx1ZV0gOiB2YWx1ZSlcbiAgICAudG9TdHJpbmcoJ2hleCcpXG4gICAgLnBhZFN0YXJ0KHBhZCwgJzAnKTtcblxuZXhwb3J0IGNvbnN0IGVuY29kZUxlbmd0aCA9IChieXRlczogbnVtYmVyW10sIGxlbjogbnVtYmVyKTogdm9pZCA9PiB7XG4gIGxldCByZW1fbGVuID0gbGVuO1xuICBmb3IgKDs7KSB7XG4gICAgbGV0IGVsZW0gPSByZW1fbGVuICYgMHg3ZjtcbiAgICByZW1fbGVuID4+PSA3O1xuICAgIGlmIChyZW1fbGVuID09IDApIHtcbiAgICAgIGJ5dGVzLnB1c2goZWxlbSk7XG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbSB8PSAweDgwO1xuICAgICAgYnl0ZXMucHVzaChlbGVtKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQnVkZ2V0RW5jb2RlKHR5cGU6IENvbXB1dGVCdWRnZXRJbnN0cnVjdGlvbiwgYW1vdW50OiBudW1iZXIgfCBzdHJpbmcpOiBCdWZmZXIge1xuICBsZXQgZGF0YTtcbiAgbGV0IGxlbmd0aDtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24uU2V0Q29tcHV0ZVVuaXRMaW1pdDpcbiAgICAgIGRhdGEgPSBCdWZmZXIuYWxsb2MoNSk7XG4gICAgICBsZW5ndGggPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24uU2V0Q29tcHV0ZVVuaXRQcmljZTpcbiAgICAgIGRhdGEgPSBCdWZmZXIuYWxsb2MoOSk7XG4gICAgICBsZW5ndGggPSA4O1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24gdHlwZTogJyArIHR5cGUpO1xuICB9XG5cbiAgY29uc3QgdHlwZVNwYW4gPSAxO1xuICBkYXRhLndyaXRlVUludExFKHR5cGUsIDAsIHR5cGVTcGFuKTtcbiAgY29uc3QgdmFsdWVIZXggPSBuZXcgQk4oYW1vdW50KS50b1N0cmluZygxNiwgbGVuZ3RoICogMik7XG4gIGNvbnN0IHZhbHVlQnVmID0gQnVmZmVyLmZyb20odmFsdWVIZXgsICdoZXgnKS5yZXZlcnNlKCk7XG4gIGRhdGEud3JpdGUodmFsdWVCdWYudG9TdHJpbmcoJ2hleCcpLCB0eXBlU3BhbiwgbGVuZ3RoLCAnaGV4Jyk7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxEYXRhRW5jb2RlKGFtb3VudDogbnVtYmVyIHwgc3RyaW5nLCB0b2tlbkRlY2ltYWxzOiBudW1iZXIgfCBzdHJpbmcpOiBCdWZmZXIge1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmFsbG9jKDEwKTtcbiAgY29uc3QgcHJvZ3JhbUlkSW5kZXhTcGFuID0gMTtcbiAgZGF0YS53cml0ZVVJbnRMRSh0eXBlcy5Ub2tlbkluc3RydWN0aW9uLlRyYW5zZmVyQ2hlY2tlZCwgMCwgcHJvZ3JhbUlkSW5kZXhTcGFuKTtcblxuICBjb25zdCB2YWx1ZUhleCA9IG5ldyBCTihhbW91bnQpLnRvU3RyaW5nKDE2LCA4ICogMik7XG4gIGNvbnN0IHZhbHVlQnVmID0gQnVmZmVyLmZyb20odmFsdWVIZXgsICdoZXgnKS5yZXZlcnNlKCk7XG5cbiAgZGF0YS53cml0ZSh2YWx1ZUJ1Zi50b1N0cmluZygnaGV4JyksIHByb2dyYW1JZEluZGV4U3BhbiwgOCwgJ2hleCcpO1xuICBkYXRhLndyaXRlVUludDgoK3Rv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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9ibiIsInR5cGVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiSEVYX1JFR0VYIiwiaXNCYXNlNThGb3JtYXQiLCJ2YWx1ZSIsInRlc3QiLCJleHBvcnRzIiwiaXNIZXhGb3JtYXQiLCJtYXRjaCIsInRvQmFzZTU4IiwicHVibGljS2V5IiwiYmFzZTU4IiwiZW5jb2RlIiwiQnVmZmVyIiwiZnJvbSIsInRvQmFzZTU4QnVmZmVyIiwiZGVjb2RlIiwidG9QdWJsaWNLZXkiLCJwdWJLZXlUb0FkZHJlc3MiLCJwdWJLZXlCdWYiLCJmb3JtSGV4IiwiYWRkcmVzcyIsInRvU3RyaW5nIiwibnVtYmVyVG9TdHJpbmdIZXgiLCJwYWQiLCJwYWRTdGFydCIsImVuY29kZUxlbmd0aCIsImJ5dGVzIiwibGVuIiwicmVtX2xlbiIsImVsZW0iLCJwdXNoIiwidG9SZXZlcnNlVWludEJ1ZmZlciIsIm51bWJlck9yU3RyaW5nIiwiYnl0ZVNpemUiLCJibiIsIkJOIiwiYnVmIiwidG9BcnJheSIsInJldmVyc2UiLCJhbGxvYyIsImZpbGwiLCJsZW5ndGgiLCJ0b1VpbnRCdWZmZXIiLCJjb21wdXRlQnVkZ2V0RW5jb2RlIiwidHlwZSIsImFtb3VudCIsImRhdGEiLCJDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24iLCJTZXRDb21wdXRlVW5pdExpbWl0IiwiU2V0Q29tcHV0ZVVuaXRQcmljZSIsIkVycm9yIiwidHlwZVNwYW4iLCJ3cml0ZVVJbnRMRSIsInZhbHVlQnVmIiwid3JpdGUiLCJzcGxEYXRhRW5jb2RlIiwidG9rZW5EZWNpbWFscyIsInByb2dyYW1JZEluZGV4U3BhbiIsIlRva2VuSW5zdHJ1Y3Rpb24iLCJUcmFuc2ZlckNoZWNrZWQiLCJ2YWx1ZUhleCIsIndyaXRlVUludDgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyaW5nVXRpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYmFzZTU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0IEJOIGZyb20gJ2JuLmpzJztcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4uL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMnO1xuXG5jb25zdCBIRVhfUkVHRVggPSAvWzAtOUEtRmEtZl17Nn0vZztcblxuZXhwb3J0IGNvbnN0IGlzQmFzZTU4Rm9ybWF0ID0gKHZhbHVlPzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghdmFsdWUpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIC9eW0EtSEotTlAtWmEta20tejEtOV0qJC8udGVzdCh2YWx1ZSk7XG59O1xuXG5mdW5jdGlvbiBpc0hleEZvcm1hdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2goSEVYX1JFR0VYKTtcbiAgcmV0dXJuICEhbWF0Y2g7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2U1OChwdWJsaWNLZXk6IHR5cGVzLkFkZHJlc3MpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHB1YmxpY0tleSA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoaXNCYXNlNThGb3JtYXQocHVibGljS2V5KSkgcmV0dXJuIHB1YmxpY0tleTtcbiAgICBpZiAoaXNIZXhGb3JtYXQocHVibGljS2V5KSkgcmV0dXJuIGJhc2U1OC5lbmNvZGUoQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4JykpO1xuICAgIHJldHVybiBwdWJsaWNLZXk7XG4gIH1cbiAgcmV0dXJuIGJhc2U1OC5lbmNvZGUocHVibGljS2V5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZTU4QnVmZmVyKHB1YmxpY0tleTogdHlwZXMuQWRkcmVzcyk6IEJ1ZmZlciB7XG4gIGlmICh0eXBlb2YgcHVibGljS2V5ID09PSAnc3RyaW5nJykge1xuICAgIGlmIChpc0Jhc2U1OEZvcm1hdChwdWJsaWNLZXkpKSByZXR1cm4gYmFzZTU4LmRlY29kZShwdWJsaWNLZXkpO1xuICAgIGlmIChpc0hleEZvcm1hdChwdWJsaWNLZXkpKSByZXR1cm4gQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4Jyk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHB1YmxpY0tleSk7XG4gIH1cbiAgcmV0dXJuIHB1YmxpY0tleTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nIHwgQnVmZmVyKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBwdWJsaWNLZXkgPT09ICdzdHJpbmcnKSByZXR1cm4gcHVibGljS2V5O1xuICByZXR1cm4gYmFzZTU4LmVuY29kZShwdWJsaWNLZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHViS2V5VG9BZGRyZXNzKHB1YmxpY0tleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcHViS2V5QnVmID0gQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4Jyk7XG4gIHJldHVybiBiYXNlNTguZW5jb2RlKHB1YktleUJ1Zik7XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtSGV4ID0gKGFkZHJlc3M6IHN0cmluZyB8IEJ1ZmZlciB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XG4gIGlmICghYWRkcmVzcykgcmV0dXJuICcnO1xuICBpZiAodHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGlzQmFzZTU4Rm9ybWF0KGFkZHJlc3MpKSByZXR1cm4gYmFzZTU4LmRlY29kZShhZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cbiAgcmV0dXJuIGFkZHJlc3MudG9TdHJpbmcoJ2hleCcpO1xufTtcblxuZXhwb3J0IGNvbnN0IG51bWJlclRvU3RyaW5nSGV4ID0gKHZhbHVlOiBudW1iZXIgfCBudW1iZXJbXSwgcGFkOiBudW1iZXIpOiBzdHJpbmcgPT5cbiAgQnVmZmVyLmZyb20odHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IFt2YWx1ZV0gOiB2YWx1ZSlcbiAgICAudG9TdHJpbmcoJ2hleCcpXG4gICAgLnBhZFN0YXJ0KHBhZCwgJzAnKTtcblxuZXhwb3J0IGNvbnN0IGVuY29kZUxlbmd0aCA9IChieXRlczogbnVtYmVyW10sIGxlbjogbnVtYmVyKTogdm9pZCA9PiB7XG4gIGxldCByZW1fbGVuID0gbGVuO1xuICBmb3IgKDs7KSB7XG4gICAgbGV0IGVsZW0gPSByZW1fbGVuICYgMHg3ZjtcbiAgICByZW1fbGVuID4+PSA3O1xuICAgIGlmIChyZW1fbGVuID09IDApIHtcbiAgICAgIGJ5dGVzLnB1c2goZWxlbSk7XG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbSB8PSAweDgwO1xuICAgICAgYnl0ZXMucHVzaChlbGVtKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1JldmVyc2VVaW50QnVmZmVyKG51bWJlck9yU3RyaW5nOiBudW1iZXIgfCBzdHJpbmcsIGJ5dGVTaXplOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBibiA9IG5ldyBCTihudW1iZXJPclN0cmluZyk7XG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5mcm9tKGJuLnRvQXJyYXkoKSkucmV2ZXJzZSgpO1xuICByZXR1cm4gQnVmZmVyLmFsbG9jKGJ5dGVTaXplKS5maWxsKGJ1ZiwgMCwgYnVmLmxlbmd0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1VpbnRCdWZmZXIobnVtYmVyT3JTdHJpbmc6IG51bWJlciB8IHN0cmluZywgYnl0ZVNpemU6IG51bWJlcik6IEJ1ZmZlciB7XG4gIGNvbnN0IGJuID0gbmV3IEJOKG51bWJlck9yU3RyaW5nKTtcbiAgY29uc3QgYnVmID0gQnVmZmVyLmZyb20oYm4udG9BcnJheSgpKTtcbiAgcmV0dXJuIEJ1ZmZlci5hbGxvYyhieXRlU2l6ZSkuZmlsbChidWYsIGJ5dGVTaXplIC0gYnVmLmxlbmd0aCwgYnl0ZVNpemUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUJ1ZGdldEVuY29kZSh0eXBlOiBDb21wdXRlQnVkZ2V0SW5zdHJ1Y3Rpb24sIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nKTogQnVmZmVyIHtcbiAgbGV0IGRhdGE7XG4gIGxldCBsZW5ndGg7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uLlNldENvbXB1dGVVbml0TGltaXQ6XG4gICAgICBkYXRhID0gQnVmZmVyLmFsbG9jKDUpO1xuICAgICAgbGVuZ3RoID0gNDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uLlNldENvbXB1dGVVbml0UHJpY2U6XG4gICAgICBkYXRhID0gQnVmZmVyLmFsbG9jKDkpO1xuICAgICAgbGVuZ3RoID0gODtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQgQ29tcHV0ZUJ1ZGdldEluc3RydWN0aW9uIHR5cGU6ICcgKyB0eXBlKTtcbiAgfVxuXG4gIGNvbnN0IHR5cGVTcGFuID0gMTtcbiAgZGF0YS53cml0ZVVJbnRMRSh0eXBlLCAwLCB0eXBlU3Bhbik7XG4gIGNvbnN0IHZhbHVlQnVmID0gdG9SZXZlcnNlVWludEJ1ZmZlcihhbW91bnQsIGxlbmd0aCk7XG4gIGRhdGEud3JpdGUodmFsdWVCdWYudG9TdHJpbmcoJ2hleCcpLCB0eXBlU3BhbiwgbGVuZ3RoLCAnaGV4Jyk7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxEYXRhRW5jb2RlKGFtb3VudDogbnVtYmVyIHwgc3RyaW5nLCB0b2tlbkRlY2ltYWxzOiBudW1iZXIgfCBzdHJpbmcpOiBCdWZmZXIge1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmFsbG9jKDEwKTtcbiAgY29uc3QgcHJvZ3JhbUlkSW5kZXhTcGFuID0gMTtcbiAgZGF0YS53cml0ZVVJbnRMRSh0eXBlcy5Ub2tlbkluc3RydWN0aW9uLlRyYW5zZmVyQ2hlY2tlZCwgMCwgcHJvZ3JhbUlkSW5kZXhTcGFuKTtcblxuICBjb25zdCB2YWx1ZUhleCA9IG5ldyBCTihhbW91bnQpLnRvU3RyaW5nKDE2LCA4ICogMik7XG4gIGNvbnN0IHZhbHVlQnVmID0gQnVmZmVyLmZyb20odmFsdWVIZXgsICdoZXgnKS5yZXZlcnNlKCk7XG5cbiAgZGF0YS53cml0ZSh2YWx1ZUJ1Zi50b1N0cmluZygnaGV4JyksIHByb2dyYW1JZEluZGV4U3BhbiwgOCwgJ2hleCcpO1xuICBkYXRhLndyaXRlVUludDgoK3Rva2VuRGVjaW1hbHMsIDkpO1xuICByZXR1cm4gZGF0YTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsR0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsR0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQXlDLFNBQUFJLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBRix3QkFBQU0sR0FBQSxF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 |
{ | ||
"name": "@coolwallet/sol", | ||
"version": "1.1.8-beta.0", | ||
"version": "1.1.8-beta.1", | ||
"description": "Coolwallet Solana sdk", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -5,5 +5,5 @@ import base58 from 'bs58'; | ||
TRANSFER: { | ||
script: `03000002C70700000001F5CC071001CC071000CC071001CAA01700CAA157001AA017C004021507C005CAAC570021CAAC570041CAAC570061CC0710011AA017C00802CC0710011507C004CC071002CC071002CAACC7008102CAAC170083CAACC7008404CAAC970088DC07C003534F4C1AACC7C081020F0001BAAC5F6C210804DDF097001507C00ABAA15F6C0804DDF09700250F00BAAC9ECC88080F10DAE097C009250E00D207CC05065052455353425554546F4E`, | ||
script: `03000002C70700000001F5CC071001CC071000CC071001CAA01700CAA15700CAAC5700211AAC57C041042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700411AAC57C061042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071001CAAC1700E1CAAC1700E2CAAC1700E3CAAC1700E4CAAC1700E5CAACC700E604CAACC700EA081AAC17C0E40A00BAA15F6C0804DDF097001AAC17C0E40B01BAAC5F6C210804DDF09700250F00BAACCECCEA08080F10DAE097C009250E00D207CC05065052455353425554546F4E`, | ||
signature: | ||
`3045022026CCAB06DA64DEBE4CF10D8CE3C7C27946991DCC98314AE20A6EBF0A1A71F047022100D321983320786B1A5BE3270F1AC0DF8AA403875A625532FC3B9C23E181F0B2F7`.padStart( | ||
`3045022100faa7dc199887906875a006eb78f5c39ba7f64790826b06c2af1d6a59802f9bf702203f9d6e70cc2ba8b71b538cf224d7c15da07f049a4c53bc4557b1cdcffff3299e`.padStart( | ||
144, | ||
@@ -16,6 +16,6 @@ '0' | ||
}, | ||
TRANSFER_SELF: { | ||
script: `03000002C70700000001F5CC071001CC071000CC071001CAA01700CAA157001AA017C004021507C003CA0700CAAC570021CAAC570041CC0710011AA017C00802CC0710011507C004CC071002CC071002CAACC7006102CAAC170063CAACC7006404CAAC970068DC07C003534F4C1AACC7C061020D0001BA0F6C0804DDF097001507C00ABAA15F6C0804DDF09700250F00BAAC9ECC68080F10DAE097C009250E00D207CC05065052455353425554546F4E`, | ||
TRANSFER_WITH_COMPUTE_BUDGET: { | ||
script: `03000002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC5700211AAC57C041042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700411AAC57C061042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071003CAAC1700E1CAAC1700E2CAAC1700E3CAAC1700E4CAACC700E508CAAC1700EDCAAC1700EECAAC1700EFCAAC1700F0CAACC700F104CAAC1700F5CAAC1700F6CAAC1700F7CAAC1700F8CAAC1700F9CAACC700FA04CAACC700FE081AAC17C0F80A00BAA15F6C0804DDF097001AAC17C0F80B01BAAC5F6C210804DDF09700250F00BAACCECCFE08080F10DAE097C009250E00D207CC05065052455353425554546F4E`, | ||
signature: | ||
`3046022100f7f513983d00ec91d6ea3fef37441cc63e75cc4729cd15d79b5a823b52cc71e702210096b3ea7f64500eedfc7e1eefcbb12fd048fe61789f394b32ecdd2bf754789dce`.padStart( | ||
`3045022100f40d2846095de3ade5e1bfac77590b6bbcbcdf20f4131fa221b49029e538411d0220043aacdafb9692205fe3c1d194019b507d5fea277f1053c5a8704957ccbd60c9`.padStart( | ||
144, | ||
@@ -51,5 +51,5 @@ '0' | ||
SPL_TOKEN: { | ||
script: `03060002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC570021CAAC570041CAAC5700611CAC57C081041507C005CAAC5700811CAC57C0A1041507C005CAAC5700A1CAAC5700C1CC0710011AA017C00805CC0710041507C004CC071003CC071004CAACC700E104CAAC1700E5CAAC1700E6CAACC700E708CAAC1700EFDC07C003534F4C11ACC7CDF0290401191507C004CC0F104012AC17C0F10401071507C002FF00B5AC1700F1CAACBF00F2DEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCE708080F1012AC17C0F00400141507C002FF00B5AC1700F0DAE097B0250E00D207CC05065052455353425554546F4E`, | ||
script: `03000002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC570021CAAC570041CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071001CAAC1700E1CAAC1700E2CAACC700E304CAAC1700E7CAAC1700E8CAACC700E908CAAC1700F1DC07C003534F4C11ACC7CDF22904011B1507C004CC0F104012AC17C0F30401071507C002FF00B5AC1700F3CAACBF00F4DEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCE908080F1012AC17C0F20400141507C002FF00B5AC1700F2DAE097B0250E00D207CC05065052455353425554546F4E`, | ||
signature: | ||
`304402201980b69b843fa671f9737c8c8f868db16fdb0e2a32231daed0906d4ac172eb4d02200724dc395eb06cb13db411fd51c860a417d7d971d40b60f7059afa0bf143ee99`.padStart( | ||
`3045022054e1f282e197b1288576809da57b3b4578dc3f49bc7f442743d0e18e452f2655022100a98f56d089b72e06886cbb8fa7d914d3784f1286f90790b30bcec4f16944075a`.padStart( | ||
144, | ||
@@ -63,5 +63,5 @@ '0' | ||
SPL_TOKEN_WITH_COMPUTE_BUDGET: { | ||
script: `03060002C70700000001F5CC071001CC071000CC071002CAA01700CAA15700CAAC570021CAAC570041CAAC5700611CAC57C081041507C005CAAC5700811CAC57C0A1041507C005CAAC5700A1CAAC5700C1CC0710031AA017C00806CC0710031507C004CC071002CC071000CC071009CC071003CAACC700F0081AA017C00806CC0710031507C004CC071002CC071000CC071005CC071002CAACC700F8041AA017C00806CC0710051507C004CC071004CC071004CAACC700E104CAAC1700E5CAAC1700E6CAACC700E708CAAC1700EFDC07C003534F4C11ACC7CDFC290401251507C004CC0F104012AC17C0FD0401071507C002FF00B5AC1700FDCAACBF00FEDEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCE708080F1012AC17C0FC0400141507C002FF00B5AC1700FCDAE097B0250E00D207CC05065052455353425554546F4E`, | ||
script: `03000002C70700000001F5CC071001CC071000CC071003CAA01700CAA15700CAAC570021CAAC570041CAAC5700611AAC57C081042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700811AAC57C0A1042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A1CAAC5700C1CC071003CAAC1700E1CAAC1700E2CAAC1700E3CAAC1700E4CAACC700E508CAAC1700EDCAAC1700EECAAC1700EFCAAC1700F0CAACC700F104CAAC1700F5CAAC1700F6CAACC700F704CAAC1700FBCAAC1700FCCAACC700FD08CAAD17000105DC07C003534F4C11ADC7CD01062904012F1507C004CC0F104012AD17C001070401071507C002FF00B5AD17000107CAADBF000108DEF09700250F00BAAC5F6C210804DDF09700250F00BAACCECCFD08080F1012AD17C001060400141507C002FF00B5AD17000106DAE097B0250E00D207CC05065052455353425554546F4E`, | ||
signature: | ||
`3045022100b58379e7af30763f79da31340739d098e713936be293c7b74257b06977af79bc02206bbfcdc3c727e80582a790866a44f7ff4028bb6e66a8bdd43cab50031d0a94ca`.padStart( | ||
`3045022100b1d99c57f0132e26550c5c0a4a6a353c11601d8b7fa84ad5505d5f292791c27f02204827c2e8fcbdd75cd4f41dfceefed7efc58efca2aae17987bcb342e8270c48e0`.padStart( | ||
144, | ||
@@ -75,5 +75,5 @@ '0' | ||
CREATE_AND_SPL_TOKEN: { | ||
script: `03000002C70700000001F5CC071001CC071000CC071005CAA01700CAA15700CAAC570021CAAC570041CAAC570061CAAC570081CAAC5700A1CAAC5700C1CAAC5700E1CAAD57000101CC071002CAAD17000121CC071006CAAD17000122CAAD17000123CAAD17000124CAADC700012503CC071000CAAD17000128CC071004CAADC700012904CC07100aCAAD1700012DCAADC700012E08CAAD17000136DC07C003534F4C11ADC7CD0137290401601507C004CC0F104012AD17C001380401071507C002FF00B5AD17000138CAADBF000139DEF09700250F001AAD17C001240E03BAAC5F6C610804DDF09700250F001AAD17C001240E04BAAC5F6C810804DDF09700250F001AAD17C001240E05BAAC5F6CA10804DDF09700250F001AAD17C001240E06BAAC5F6CC10804DDF09700250F001AAD17C001240E07BAAC5F6CE10804DDF09700250F00BAADCECC012E08080F1012AD17C001370400141507C002FF00B5AD17000137DAE097B0250E00D207CC05065052455353425554546F4E`, | ||
script: `03000002C70700000001F5CC071001CC071000CC071005CAA01700CAA15700CAAC570021CAAC570041CAAC570061CAAC570081CAAC5700A1CAAC5700C1CAAC5700E11AAD57C00101042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000101CAAD57000121CC071002CAAD17000141CAAD17000142CAADC700014306CAAD17000149CAAD1700014ACAAD1700014BCAADC700014C04CAAD17000150CAAD17000151CAADC700015208CAAD1700015ADC07C003534F4C11ADC7CD015B290401841507C004CC0F104012AD17C0015C0401071507C002FF00B5AD1700015CCAADBF00015DDEF09700250F00BAAC5F6C210804DDF09700250F00BAADCECC015208080F1012AD17C0015B0400141507C002FF00B5AD1700015BDAE097B0250E00D207CC05065052455353425554546F4E`, | ||
signature: | ||
`304502204b8352b174c9258fda1dc4ccb011822c1a43fc339173494455e143be9a73b8e1022100c5d0a8ce36ab68fa4607acf0fbb02acdfdf08bdc0b5a2c7a2ae57a33f53b072d`.padStart( | ||
`30460221008c46b69d4255c1ce52b04e79789d601325971dc81aaa0848b121e0192107b768022100df369fd9fb65f9580cce98cee7f09f46a24c1f540b9a43c85ae457d27c161f68`.padStart( | ||
144, | ||
@@ -86,2 +86,13 @@ '0' | ||
}, | ||
CREATE_AND_SPL_TOKEN_WITH_COMPUTE_BUDGET: { | ||
script: `03000002C70700000001F5CC071001CC071000CC071006CAA01700CAA15700CAAC570021CAAC570041CAAC570061CAAC570081CAAC5700A1CAAC5700C1CAAC5700E11AAD57C00101042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000101CAAD57000121CC071004CAAD17000141CAAD17000142CAADC700014306CAAD17000149CAAD1700014ACAAD1700014BCAAD1700014CCAAD1700014DCAADC700014E08CAAD17000156CAAD17000157CAAD17000158CAAD17000159CAADC700015A04CAAD1700015ECAAD1700015FCAADC700016004CAAD17000164CAAD17000165CAADC700016608CAAD1700016EDC07C003534F4C11ADC7CD016F290401981507C004CC0F104012AD17C001700401071507C002FF00B5AD17000170CAADBF000171DEF09700250F00BAAC5F6C210804DDF09700250F00BAADCECC016608080F1012AD17C0016F0400141507C002FF00B5AD1700016FDAE097B0250E00D207CC05065052455353425554546F4E`, | ||
signature: | ||
`3046022100a61bb0137dc6c5a07ab97f1e3ea0df59ff6234c5deb54dda9b90d50e0439d9c5022100c34d56584dc02680c155f98d8165455273bba350df54fbd752f1b565e95f021d`.padStart( | ||
144, | ||
'0' | ||
), | ||
get scriptWithSignature(): string { | ||
return this.script + this.signature; | ||
}, | ||
}, | ||
DELEGATE: { | ||
@@ -164,3 +175,3 @@ script: `03000002C70700000001F5CC071001CC071000CC071005CC071007CAA05700CAA55700CAA65700CAAC570060CAAC570080CAAC5700A0CAAC5700C0CAAC5700E0CC071001CAAD17000100CC071006CAAD17000101CAAD17000102CAADC700010304CAAD17000107CAADC700010804DC07C003534F4CDC07C0055354414B451AAD17C001020D02BAA65F6C0804DDF09700250F001AAD17C001020E03BAAC5F6C600804DDF09700250F001AAD17C001020E04BAAC5F6C800804DDF09700250F001AAD17C001020E05BAAC5F6CA00804DDF09700250F001AAD17C001020E06BAAC5F6CC00804DDF09700250F00D207CC05065052455353425554546F4E`, | ||
const LAMPORTS_PER_SOL = 1000000000; | ||
const SYSTEM_PROGRAM_ID = Buffer.alloc(32); | ||
const SYSTEM_PROGRAM_ID = base58.decode('11111111111111111111111111111111'); | ||
// token | ||
@@ -182,2 +193,4 @@ const TOKEN_PROGRAM_ID = base58.decode('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'); | ||
const PADDING_PUBLICKEY = Buffer.from('--------------------------------', 'ascii').toString('hex'); | ||
const PACKET_DATA_SIZE = 1280 - 40 - 8; | ||
@@ -208,2 +221,3 @@ | ||
COMPUTE_BUDGET_PROGRAM_ID, | ||
PADDING_PUBLICKEY, | ||
PACKET_DATA_SIZE, | ||
@@ -210,0 +224,0 @@ VERSION_PREFIX_MASK, |
@@ -135,2 +135,4 @@ import { Transport } from '@coolwallet/core'; | ||
lamports: number | string; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}; | ||
@@ -177,2 +179,4 @@ | ||
programId: TokenProgramId; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}; | ||
@@ -179,0 +183,0 @@ |
@@ -88,7 +88,7 @@ import { coin as COIN, error as ERROR, Transport, utils } from '@coolwallet/core'; | ||
async signTransferTransaction(signTxData: types.signTransferTransactionType): Promise<string> { | ||
const { transport, appPrivateKey, appId, addressIndex } = signTxData; | ||
const { transport, appPrivateKey, appId, addressIndex, transaction } = signTxData; | ||
const fromPubkey = await this.getAddress(transport, appPrivateKey, appId, addressIndex); | ||
const script = | ||
fromPubkey === signTxData.transaction.toPubkey | ||
? params.SCRIPT.TRANSFER_SELF.scriptWithSignature | ||
transaction.computeUnitLimit && transaction.computeUnitPrice | ||
? params.SCRIPT.TRANSFER_WITH_COMPUTE_BUDGET.scriptWithSignature | ||
: params.SCRIPT.TRANSFER.scriptWithSignature; | ||
@@ -107,3 +107,3 @@ | ||
const script = | ||
signTxData.transaction.computeUnitLimit && signTxData.transaction.computeUnitPrice | ||
transaction.computeUnitLimit && transaction.computeUnitPrice | ||
? params.SCRIPT.SPL_TOKEN_WITH_COMPUTE_BUDGET.scriptWithSignature | ||
@@ -116,9 +116,3 @@ : params.SCRIPT.SPL_TOKEN.scriptWithSignature; | ||
const transactionInstruction = new Transaction(rawTransaction); | ||
const argument = scriptUtil.getSplTokenTransferArguments( | ||
transactionInstruction, | ||
addressIndex, | ||
tokenInfo, | ||
signTxData.transaction.computeUnitPrice, | ||
signTxData.transaction.computeUnitLimit | ||
); | ||
const argument = scriptUtil.getSplTokenTransferArguments(transactionInstruction, addressIndex, tokenInfo); | ||
@@ -142,3 +136,6 @@ return sign.signTransaction(signTxData, transactionInstruction, script, argument); | ||
const signer = await this.getAddress(transport, appPrivateKey, appId, addressIndex); | ||
const script = params.SCRIPT.CREATE_AND_SPL_TOKEN.scriptWithSignature; | ||
const script = | ||
transaction.computeUnitLimit && transaction.computeUnitPrice | ||
? params.SCRIPT.CREATE_AND_SPL_TOKEN_WITH_COMPUTE_BUDGET.scriptWithSignature | ||
: params.SCRIPT.CREATE_AND_SPL_TOKEN.scriptWithSignature; | ||
// If given token address can be found in official token list, use it instead of the user given one. | ||
@@ -154,4 +151,4 @@ const tokenInfo: types.TokenInfo = | ||
}); | ||
const [transferInstruction] = compileSplTokenTransaction({ ...signTxData.transaction, signer }).instructions; | ||
associateAccountInstruction.instructions.push(transferInstruction); | ||
const transferInstructions = compileSplTokenTransaction({ ...transaction, signer }).instructions; | ||
associateAccountInstruction.instructions.push(...transferInstructions); | ||
const transactionInstruction = new Transaction(associateAccountInstruction); | ||
@@ -158,0 +155,0 @@ const argument = scriptUtil.getCreateAndTransferSPLToken(transactionInstruction, addressIndex, tokenInfo); |
import * as BufferLayout from '@solana/buffer-layout'; | ||
import { encodeLength } from '../utils/stringUtil'; | ||
import { publicKey } from '../utils/commonLayout'; | ||
import { PACKET_DATA_SIZE, PUBLIC_KEY_LENGTH, VERSION_PREFIX_MASK } from '../config/params'; | ||
import { PACKET_DATA_SIZE, PADDING_PUBLICKEY, PUBLIC_KEY_LENGTH, VERSION_PREFIX_MASK } from '../config/params'; | ||
import { CompiledInstruction, CompliedInstruction, SerializedInstruction } from '../config/types'; | ||
import * as shortvec from '../utils/shortvec-encoding'; | ||
import bs58 from 'bs58'; | ||
@@ -131,19 +130,65 @@ type MessageHeader = { | ||
let instructionBuffer = Buffer.alloc(PACKET_DATA_SIZE); | ||
const [instruction] = instructions; | ||
const instructionLayout = BufferLayout.struct< | ||
let gasPrice; | ||
let gasLimit; | ||
let transfer; | ||
let instructionBufferLength = 0; | ||
if (instructions.length === 3) { | ||
[gasPrice, gasLimit, transfer] = instructions; | ||
const gasPriceLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(gasPrice.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), gasPrice.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(gasPrice.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), gasPrice.data.length, 'data'), | ||
]); | ||
instructionBufferLength = gasPriceLayout.encode(gasPrice, instructionBuffer, 0); | ||
const gasLimitLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(gasLimit.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), gasLimit.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(gasLimit.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), gasLimit.data.length, 'data'), | ||
]); | ||
instructionBufferLength += gasLimitLayout.encode(gasLimit, instructionBuffer, instructionBufferLength); | ||
} else { | ||
[transfer] = instructions; | ||
} | ||
const transferLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), instruction.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(instruction.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), instruction.data.length, 'data'), | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(transfer.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), transfer.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(transfer.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), transfer.data.length, 'data'), | ||
]); | ||
const instructionBufferLength = instructionLayout.encode(instruction, instructionBuffer, 0); | ||
instructionBufferLength += transferLayout.encode(transfer, instructionBuffer, instructionBufferLength); | ||
instructionBuffer = instructionBuffer.slice(0, instructionBufferLength); | ||
let accountKeys =[...this.accountKeys]; | ||
for (let i = this.accountKeys.length; i < 6; i++ ) { | ||
accountKeys = accountKeys.concat(Buffer.alloc(32).toString('hex')) | ||
let accountKeys = [...this.accountKeys]; | ||
for (let i = this.accountKeys.length; i < 6; i++) { | ||
accountKeys = accountKeys.concat(PADDING_PUBLICKEY); | ||
} | ||
@@ -159,3 +204,3 @@ | ||
BufferLayout.blob(keyCount.length, 'keyCount'), | ||
BufferLayout.seq(publicKey('key'), this.accountKeys.length, 'keys'), | ||
BufferLayout.seq(publicKey('key'), accountKeys.length, 'keys'), | ||
publicKey('recentBlockhash'), | ||
@@ -196,3 +241,3 @@ ]); | ||
// Padding argument. | ||
accountKeys = [...this.accountKeys, Buffer.alloc(32).toString('hex')]; | ||
accountKeys = [...this.accountKeys, PADDING_PUBLICKEY]; | ||
} else { | ||
@@ -227,13 +272,79 @@ accountKeys = this.accountKeys; | ||
let instructionBuffer = Buffer.alloc(PACKET_DATA_SIZE); | ||
const [associateAccount, tokenTransfer] = instructions; | ||
const associateAccountLayout = BufferLayout.struct< | ||
Readonly<{ | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), associateAccount.keyIndices.length, 'keyIndices'), | ||
]); | ||
let instructionBufferLength = associateAccountLayout.encode(associateAccount, instructionBuffer, 0); | ||
let associateAccount; | ||
let gasPrice; | ||
let gasLimit; | ||
let tokenTransfer; | ||
let instructionBufferLength = 0; | ||
if (instructions.length === 4) { | ||
[associateAccount, gasPrice, gasLimit, tokenTransfer] = instructions; | ||
const associateAccountLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(associateAccount.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), associateAccount.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(associateAccount.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), associateAccount.data.length, 'data'), | ||
]); | ||
instructionBufferLength = associateAccountLayout.encode(associateAccount, instructionBuffer, 0); | ||
const gasPriceLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(gasPrice.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), gasPrice.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(gasPrice.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), gasPrice.data.length, 'data'), | ||
]); | ||
instructionBufferLength += gasPriceLayout.encode(gasPrice, instructionBuffer, instructionBufferLength); | ||
const gasLimitLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(gasLimit.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), gasLimit.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(gasLimit.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), gasLimit.data.length, 'data'), | ||
]); | ||
instructionBufferLength += gasLimitLayout.encode(gasLimit, instructionBuffer, instructionBufferLength); | ||
} else { | ||
[associateAccount, tokenTransfer] = instructions; | ||
const associateAccountLayout = BufferLayout.struct< | ||
Readonly<{ | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
programIdIndex: number; | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(associateAccount.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), associateAccount.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(associateAccount.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), associateAccount.data.length, 'data'), | ||
]); | ||
instructionBufferLength = associateAccountLayout.encode(associateAccount, instructionBuffer, 0); | ||
} | ||
const tokenTransferLayout = BufferLayout.struct< | ||
@@ -243,7 +354,11 @@ Readonly<{ | ||
keyIndices: number[]; | ||
keyIndicesCount: Uint8Array; | ||
data: number[]; | ||
dataLength: Uint8Array; | ||
}> | ||
>([ | ||
BufferLayout.u8('programIdIndex'), | ||
BufferLayout.blob(tokenTransfer.keyIndicesCount.length, 'keyIndicesCount'), | ||
BufferLayout.seq(BufferLayout.u8('keyIndex'), tokenTransfer.keyIndices.length, 'keyIndices'), | ||
BufferLayout.blob(tokenTransfer.dataLength.length, 'dataLength'), | ||
BufferLayout.seq(BufferLayout.u8('userdatum'), tokenTransfer.data.length, 'data'), | ||
@@ -253,2 +368,6 @@ ]); | ||
instructionBuffer = instructionBuffer.slice(0, instructionBufferLength); | ||
let accountKeys = [...this.accountKeys]; | ||
for (let i = this.accountKeys.length; i < 9; i++) { | ||
accountKeys = accountKeys.concat(Buffer.alloc(32).toString('hex')); | ||
} | ||
@@ -263,6 +382,8 @@ const signDataLayout = BufferLayout.struct< | ||
BufferLayout.blob(keyCount.length, 'keyCount'), | ||
BufferLayout.seq(publicKey('key'), this.accountKeys.length, 'keys'), publicKey('recentBlockhash')]); | ||
BufferLayout.seq(publicKey('key'), accountKeys.length, 'keys'), | ||
publicKey('recentBlockhash'), | ||
]); | ||
const transaction = { | ||
keyCount: Buffer.from(keyCount), | ||
keys: this.accountKeys.map((key) => Buffer.from(key, 'hex')), | ||
keys: accountKeys.map((key) => Buffer.from(key, 'hex')), | ||
recentBlockhash: Buffer.from(this.recentBlockhash, 'hex'), | ||
@@ -508,9 +629,4 @@ }; | ||
const numRequiredSignatures = byteArray.shift()!; | ||
if ( | ||
numRequiredSignatures !== | ||
(numRequiredSignatures & VERSION_PREFIX_MASK) | ||
) { | ||
throw new Error( | ||
'Versioned messages must be deserialized with VersionedMessage.deserialize()', | ||
); | ||
if (numRequiredSignatures !== (numRequiredSignatures & VERSION_PREFIX_MASK)) { | ||
throw new Error('Versioned messages must be deserialized with VersionedMessage.deserialize()'); | ||
} | ||
@@ -564,2 +680,1 @@ | ||
} | ||
@@ -21,3 +21,10 @@ import { tx, apdu } from '@coolwallet/core'; | ||
return tx.flow.getSingleSignatureFromCoolWallet(transport, preActions, action, true, confirmCB, authorizedCB); | ||
return tx.flow.getSingleSignatureFromCoolWalletV2( | ||
transport, | ||
preActions, | ||
action, | ||
confirmCB, | ||
authorizedCB, | ||
SignatureType.EDDSA | ||
); | ||
} | ||
@@ -24,0 +31,0 @@ |
@@ -14,19 +14,36 @@ import * as types from '../config/types'; | ||
lamports: number | string; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}): types.TransactionArgs { | ||
const { fromPubkey, toPubkey, recentBlockhash, lamports } = transaction; | ||
const instructions = []; | ||
if (transaction.computeUnitPrice) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(ComputeBudgetInstruction.SetComputeUnitPrice, transaction.computeUnitPrice), | ||
}); | ||
} | ||
if (transaction.computeUnitLimit) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(ComputeBudgetInstruction.SetComputeUnitLimit, transaction.computeUnitLimit), | ||
}); | ||
} | ||
const data = encodeData(SystemProgramLayout.Transfer, { | ||
lamports, | ||
}); | ||
instructions.push({ | ||
accounts: [ | ||
{ pubkey: fromPubkey, isSigner: true, isWritable: true }, | ||
{ pubkey: toPubkey, isSigner: false, isWritable: true }, | ||
], | ||
programId: params.SYSTEM_PROGRAM_ID, | ||
data, | ||
}); | ||
return { | ||
instructions: [ | ||
{ | ||
accounts: [ | ||
{ pubkey: fromPubkey, isSigner: true, isWritable: true }, | ||
{ pubkey: toPubkey, isSigner: false, isWritable: true }, | ||
], | ||
programId: params.SYSTEM_PROGRAM_ID, | ||
data, | ||
}, | ||
], | ||
instructions, | ||
recentBlockhash, | ||
@@ -45,19 +62,19 @@ feePayer: fromPubkey, | ||
tokenInfo: types.TokenInfo; | ||
gasPrice?: number | string; | ||
gasLimit?: number | string; | ||
computeUnitPrice?: string; | ||
computeUnitLimit?: string; | ||
}): types.TransactionArgs { | ||
const { signer, fromTokenAccount, toTokenAccount, amount, recentBlockhash, programId, tokenInfo } = transaction; | ||
const instructions = []; | ||
if (transaction.gasPrice) { | ||
if (transaction.computeUnitPrice) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(ComputeBudgetInstruction.SetComputeUnitPrice, transaction.gasPrice), | ||
data: stringUtil.computeBudgetEncode(ComputeBudgetInstruction.SetComputeUnitPrice, transaction.computeUnitPrice), | ||
}); | ||
} | ||
if (transaction.gasLimit) { | ||
if (transaction.computeUnitLimit) { | ||
instructions.push({ | ||
accounts: [], | ||
programId: params.COMPUTE_BUDGET_PROGRAM_ID, | ||
data: stringUtil.computeBudgetEncode(ComputeBudgetInstruction.SetComputeUnitLimit, transaction.gasLimit), | ||
data: stringUtil.computeBudgetEncode(ComputeBudgetInstruction.SetComputeUnitLimit, transaction.computeUnitLimit), | ||
}); | ||
@@ -64,0 +81,0 @@ } |
@@ -42,9 +42,3 @@ import { utils } from '@coolwallet/core'; | ||
*/ | ||
function getSplTokenTransferArguments( | ||
rawTx: Transaction, | ||
addressIndex: number, | ||
tokenInfo?: types.TokenInfo, | ||
computeUnitPrice = '', | ||
computeUnitLimit = '' | ||
): string { | ||
function getSplTokenTransferArguments(rawTx: Transaction, addressIndex: number, tokenInfo?: types.TokenInfo): string { | ||
const path = utils.getFullPath({ pathType: PathType.SLIP0010, pathString: `44'/501'/${addressIndex}'/0'` }); | ||
@@ -55,6 +49,3 @@ const SEPath = `11${path}`; | ||
if (tokenInfo) tokenInfoArgs = getTokenInfoArgs(tokenInfo); | ||
return ( | ||
SEPath + rawTx.compileMessage().serializeTransferMessage() + computeUnitPrice + computeUnitLimit + tokenInfoArgs | ||
); | ||
return SEPath + rawTx.compileMessage().serializeTransferMessage() + tokenInfoArgs; | ||
} | ||
@@ -61,0 +52,0 @@ |
@@ -75,2 +75,14 @@ import base58 from 'bs58'; | ||
export function toReverseUintBuffer(numberOrString: number | string, byteSize: number): Buffer { | ||
const bn = new BN(numberOrString); | ||
const buf = Buffer.from(bn.toArray()).reverse(); | ||
return Buffer.alloc(byteSize).fill(buf, 0, buf.length); | ||
} | ||
export function toUintBuffer(numberOrString: number | string, byteSize: number): Buffer { | ||
const bn = new BN(numberOrString); | ||
const buf = Buffer.from(bn.toArray()); | ||
return Buffer.alloc(byteSize).fill(buf, byteSize - buf.length, byteSize); | ||
} | ||
export function computeBudgetEncode(type: ComputeBudgetInstruction, amount: number | string): Buffer { | ||
@@ -94,4 +106,3 @@ let data; | ||
data.writeUIntLE(type, 0, typeSpan); | ||
const valueHex = new BN(amount).toString(16, length * 2); | ||
const valueBuf = Buffer.from(valueHex, 'hex').reverse(); | ||
const valueBuf = toReverseUintBuffer(amount, length); | ||
data.write(valueBuf.toString('hex'), typeSpan, length, 'hex'); | ||
@@ -98,0 +109,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
782453
8527