@bitgo/utxo-bin 2.12.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,8 +52,15 @@ async function getTransactionWithSpendType(network, params) {
52
52
  if (params.fixtureType !== 'networkFullSigned') {
53
53
  return await getPsbt(network, params);
54
54
  }
55
- if (params.scriptType === 'p2trMusig2' && !params.spendType) {
56
- throw new Error('p2trMusig2 requires params');
55
+ if (params.scriptType === 'p2trMusig2') {
56
+ if (!params.spendType) {
57
+ throw new Error('p2trMusig2 requires params');
58
+ }
59
+ }
60
+ else {
61
+ if (params.spendType) {
62
+ throw new Error('only p2trMusig2 requires spendType');
63
+ }
57
64
  }
58
65
  const filename = `spend_${params.scriptType}${params.spendType ? `${params.spendType}` : ''}.json`;
59
66
  const f = await JSON.parse(await fs_1.promises.readFile(`../utxo-lib/test/integration_local_rpc/fixtures/${utxolib.getNetworkName(network)}/v1/${filename}`, 'utf8'));
@@ -85,4 +92,4 @@ async function getFixtureString(path, defaultValue) {
85
92
  }
86
93
  }
87
94
  exports.getFixtureString = getFixtureString;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFvQztBQUVwQyxpQ0FBaUM7QUFDakMsMkNBQTJDO0FBRTNDLDBDQUEyQztBQUczQyxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhLEVBQUUsRUFBRSxPQUFPLEVBQXdCO0lBQ2hGLE9BQU8sbUJBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxnQkFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFGRCw4Q0FFQztBQWtCRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLENBQUM7QUFFcEQsS0FBSyxVQUFVLE9BQU8sQ0FDM0IsT0FBd0IsRUFDeEIsTUFBcUIsRUFDckIsRUFBRSxZQUFZLEtBQWdDLEVBQUU7SUFFaEQsTUFBTSxNQUFNLEdBQTZCO1FBQ3ZDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQU0sQ0FBQyxFQUFFO0tBQ2xILENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsSUFBSSxLQUFLLEdBQVcsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFD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O1FBQ1YsSUFBSyxDQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsTUFBTSxDQUFDLENBQUM7S0FDVDtBQUNILENBQUM7QUFWRCw0Q0FVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuXG5pbXBvcnQgeyBJbnN0YW5jZSB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgZm9ybWF0VHJlZSB9IGZyb20gJy4uL3NyYy9mb3JtYXQnO1xuaW1wb3J0IHsgUGFyc2VyTm9kZSB9IGZyb20gJy4uL3NyYy9QYXJzZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VHJlZU5vQ29sb3IobjogUGFyc2VyTm9kZSwgeyBzaG93QWxsIH06IHsgc2hvd0FsbDogYm9vbGVhbiB9KTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdFRyZWUobiwgeyBoaWRlOiBzaG93QWxsID8gW10gOiB1bmRlZmluZWQsIGNoYWxrOiBuZXcgSW5zdGFuY2UoeyBsZXZlbDogMCB9KSB9KTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkRml4dHVyZSA9XG4gIHwge1xuICAgICAgdHJhbnNhY3Rpb246IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD47XG4gICAgICBwcmV2T3V0cHV0czogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W107XG4gICAgfVxuICB8IHtcbiAgICAgIHRyYW5zYWN0aW9uOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0O1xuICAgICAgcHJldk91dHB1dHM6IHVuZGVmaW5lZDtcbiAgICB9O1xuXG50eXBlIEZpeHR1cmVQYXJhbXMgPSB7XG4gIGZpeHR1cmVUeXBlOiAncHNidFVuc2lnbmVkJyB8ICdwc2J0SGFsZlNpZ25lZCcgfCAncHNidEZ1bGxTaWduZWQnIHwgJ25ldHdvcmtGdWxsU2lnbmVkJztcbiAgc2NyaXB0VHlwZTogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzO1xuICBzcGVuZFR5cGU/OiAna2V5UGF0aCcgfCAnc2NyaXB0UGF0aCc7XG59O1xuXG5jb25zdCB3YWxsZXRLZXlzID0gdXR4b2xpYi50ZXN0dXRpbC5nZXREZWZhdWx0V2FsbGV0S2V5cygpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHNidChcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICBwYXJhbXM6IEZpeHR1cmVQYXJhbXMsXG4gIHsgd3JpdGVGaXh0dXJlIH06IHsgd3JpdGVGaXh0dXJlPzogc3RyaW5nIH0gPSB7fVxuKTogUHJvbWlzZTxQYXJzZWRGaXh0dXJlPiB7XG4gIGNvbnN0IGlucHV0czogdXR4b2xpYi50ZXN0dXRpbC5JbnB1dFtdID0gW1xuICAgIHsgc2NyaXB0VHlwZTogcGFyYW1zLnNwZW5kVHlwZSA9PT0gJ2tleVBhdGgnID8gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnIDogcGFyYW1zLnNjcmlwdFR5cGUsIHZhbHVlOiBCaWdJbnQoMTBfMDAwKSB9LFxuICBdO1xuICBjb25zdCBvdXRwdXRzID0gW3sgc2NyaXB0VHlwZTogcGFyYW1zLnNjcmlwdFR5cGUsIHZhbHVlOiBCaWdJbnQoOV8wMDApIH1dO1xuICBsZXQgc3RhZ2U6IHN0cmluZyA9IHBhcmFtcy5maXh0dXJlVHlwZTtcbiAgaWYgKHN0YWdlLnN0YXJ0c1dpdGgoJ3BzYnQnKSkge1xuICAgIHN0YWdlID0gc3RhZ2Uuc2xpY2UoJ3BzYnQnLmxlbmd0aCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuICBpZiAoc3RhZ2UgIT09ICd1bnNpZ25lZCcgJiYgc3RhZ2UgIT09ICdoYWxmc2lnbmVkJyAmJiBzdGFnZSAhPT0gJ2Z1bGxzaWduZWQnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHN0YWdlICR7c3RhZ2V9YCk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zcGVuZFR5cGUgPT09ICdrZXlQYXRoJyAmJiB3cml0ZUZpeHR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgIC8vIGJlY2F1c2Ugd2UgY3VycmVudGx5IGNhbm5vdCBjcmVhdGUgZGV0ZXJtaW5pc3RpYyBzaWduYXR1cmVzIGZvciB0YXByb290S2V5UGF0aFNwZW5kLCB3ZVxuICAgIC8vIHN0b3JlIGEgY29weSBpbiBmaXh0dXJlcy9wc2J0IGFuZCB1c2UgdGhhdCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZVxuICAgIGNvbnN0IGZpbGVuYW1lID0gYHRlc3QvZml4dHVyZXMvcHNidC8ke3BhcmFtcy5zY3JpcHRUeXBlfS4ke3BhcmFtcy5zcGVuZFR5cGV9LiR7c3RhZ2V9Lmpzb25gO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwc2J0SGV4ID0gSlNPTi5wYXJzZShhd2FpdCBmcy5yZWFkRmlsZShmaWxlbmFtZSwgJ3V0ZjgnKSk7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidEZyb21IZXgocHNidEhleCwgbmV0d29yayk7XG4gICAgICByZXR1cm4geyB0cmFuc2FjdGlvbiwgcHJldk91dHB1dHM6IHVuZGVmaW5lZCB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBnZXRQc2J0KG5ldHdvcmssIHBhcmFtcywgeyB3cml0ZUZpeHR1cmU6IGZpbGVuYW1lIH0pO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdHJhbnNhY3Rpb24gPSB1dHhvbGliLnRlc3R1dGlsLmNvbnN0cnVjdFBzYnQoaW5wdXRzLCBvdXRwdXRzLCBuZXR3b3JrLCB3YWxsZXRLZXlzLCBzdGFnZSk7XG4gIGlmICh3cml0ZUZpeHR1cmUpIHtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUod3JpdGVGaXh0dXJlLCBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbi50b0hleCgpKSwgJ3V0ZjgnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHRyYW5zYWN0aW9uLFxuICAgIHByZXZPdXRwdXRzOiB1bmRlZmluZWQsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbldpdGhTcGVuZFR5cGUoXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgcGFyYW1zOiBGaXh0dXJlUGFyYW1zXG4pOiBQcm9taXNlPFBhcnNlZEZpeHR1cmU+IHtcbiAgaWYgKHBhcmFtcy5maXh0dXJlVHlwZSAhPT0gJ25ldHdvcmtGdWxsU2lnbmVkJykge1xuICAgIHJldHVybiBhd2FpdCBnZXRQc2J0KG5ldHdvcmssIHBhcmFtcyk7XG4gIH1cblxuICBpZiAocGFyYW1zLnNjcmlwdFR5cGUgPT09ICdwMnRyTXVzaWcyJyAmJiAhcGFyYW1zLnNwZW5kVHlwZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncDJ0ck11c2lnMiByZXF1aXJlcyBwYXJhbXMnKTtcbiAgfVxuXG4gIGNvbnN0IGZpbGVuYW1lID0gYHNwZW5kXyR7cGFyYW1zLnNjcmlwdFR5cGV9JHtwYXJhbXMuc3BlbmRUeXBlID8gYCR7cGFyYW1zLnNwZW5kVHlwZX1gIDogJyd9Lmpzb25gO1xuICB0eXBlIEZpeHR1cmUgPSB7XG4gICAgdHJhbnNhY3Rpb246IHsgaGV4OiBzdHJpbmcgfTtcbiAgICBpbnB1dHM6IHsgaGV4OiBzdHJpbmcgfVtdO1xuICB9O1xuXG4gIGNvbnN0IGY6IEZpeHR1cmUgPSBhd2FpdCBKU09OLnBhcnNlKFxuICAgIGF3YWl0IGZzLnJlYWRGaWxlKFxuICAgICAgYC4uL3V0eG8tbGliL3Rlc3QvaW50ZWdyYXRpb25fbG9jYWxfcnBjL2ZpeHR1cmVzLyR7dXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKX0vdjEvJHtmaWxlbmFtZX1gLFxuICAgICAgJ3V0ZjgnXG4gICAgKVxuICApO1xuXG4gIGZ1bmN0aW9uIGdldFByZXZPdXQoaTogdXR4b2xpYi5UeElucHV0KTogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+IHtcbiAgICBmb3IgKGNvbnN0IHQgb2YgaW5wdXRUeHMpIHtcbiAgICAgIGlmICh0LmdldEhhc2goKS5lcXVhbHMoaS5oYXNoKSAmJiBpLmluZGV4IGluIHQub3V0cykge1xuICAgICAgICByZXR1cm4gdC5vdXRzW2kuaW5kZXhdO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgaW5wdXQgJHt1dHhvbGliLmJpdGdvLmZvcm1hdE91dHB1dElkKHV0eG9saWIuYml0Z28uZ2V0T3V0cHV0SWRGb3JJbnB1dChpKSl9YCk7XG4gIH1cblxuICBjb25zdCBpbnB1dFR4cyA9IGYuaW5wdXRzLm1hcCgoaSkgPT5cbiAgICB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShpLmhleCwgJ2hleCcpLCBuZXR3b3JrLCB7IGFtb3VudFR5cGU6ICdiaWdpbnQnIH0pXG4gICk7XG4gIGNvbnN0IHR4ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIoQnVmZmVyLmZyb20oZi50cmFuc2FjdGlvbi5oZXgsICdoZXgnKSwgbmV0d29yaywge1xuICAgIGFtb3VudFR5cGU6ICdiaWdpbnQnLFxuICB9KTtcbiAgcmV0dXJuIHsgdHJhbnNhY3Rpb246IHR4LCBwcmV2T3V0cHV0czogdHguaW5zLm1hcCgoaSkgPT4gZ2V0UHJldk91dChpKSkgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEZpeHR1cmVTdHJpbmcocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGZzLnJlYWRGaWxlKHBhdGgsICd1dGY4Jyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoKGUgYXMgYW55KS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgsIGRlZmF1bHRWYWx1ZSwgJ3V0ZjgnKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgd3JvdGUgZGVmYXVsdCB2YWx1ZSBmb3IgJHtwYXRofWApO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFvQztBQUVwQyxpQ0FBaUM7QUFDakMsMkNBQTJDO0FBRTNDLDBDQUEyQztBQUczQyxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhLEVBQUUsRUFBRSxPQUFPLEVBQXdCO0lBQ2hGLE9BQU8sbUJBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxnQkFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFGRCw4Q0FFQztBQWtCRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLENBQUM7QUFFcEQsS0FBSyxVQUFVLE9BQU8sQ0FDM0IsT0FBd0IsRUFDeEIsTUFBcUIsRUFDckIsRUFBRSxZQUFZLEtBQWdDLEVBQUU7SUFFaEQsTUFBTSxNQUFNLEdBQTZCO1FBQ3ZDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQU0sQ0FBQyxFQUFFO0tBQ2xILENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsSUFBSSxLQUFLLEdBQVcsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFD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QUUsWUFBb0I7SUFDdkUsSUFBSTtRQUNGLE9BQU8sTUFBTSxhQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN4QztJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsSUFBSyxDQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsTUFBTSxDQUFDLENBQUM7S0FDVDtBQUNILENBQUM7QUFWRCw0Q0FVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuXG5pbXBvcnQgeyBJbnN0YW5jZSB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgZm9ybWF0VHJlZSB9IGZyb20gJy4uL3NyYy9mb3JtYXQnO1xuaW1wb3J0IHsgUGFyc2VyTm9kZSB9IGZyb20gJy4uL3NyYy9QYXJzZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VHJlZU5vQ29sb3IobjogUGFyc2VyTm9kZSwgeyBzaG93QWxsIH06IHsgc2hvd0FsbDogYm9vbGVhbiB9KTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdFRyZWUobiwgeyBoaWRlOiBzaG93QWxsID8gW10gOiB1bmRlZmluZWQsIGNoYWxrOiBuZXcgSW5zdGFuY2UoeyBsZXZlbDogMCB9KSB9KTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkRml4dHVyZSA9XG4gIHwge1xuICAgICAgdHJhbnNhY3Rpb246IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD47XG4gICAgICBwcmV2T3V0cHV0czogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W107XG4gICAgfVxuICB8IHtcbiAgICAgIHRyYW5zYWN0aW9uOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0O1xuICAgICAgcHJldk91dHB1dHM6IHVuZGVmaW5lZDtcbiAgICB9O1xuXG50eXBlIEZpeHR1cmVQYXJhbXMgPSB7XG4gIGZpeHR1cmVUeXBlOiAncHNidFVuc2lnbmVkJyB8ICdwc2J0SGFsZlNpZ25lZCcgfCAncHNidEZ1bGxTaWduZWQnIHwgJ25ldHdvcmtGdWxsU2lnbmVkJztcbiAgc2NyaXB0VHlwZTogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzO1xuICBzcGVuZFR5cGU/OiAna2V5UGF0aCcgfCAnc2NyaXB0UGF0aCc7XG59O1xuXG5jb25zdCB3YWxsZXRLZXlzID0gdXR4b2xpYi50ZXN0dXRpbC5nZXREZWZhdWx0V2FsbGV0S2V5cygpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHNidChcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICBwYXJhbXM6IEZpeHR1cmVQYXJhbXMsXG4gIHsgd3JpdGVGaXh0dXJlIH06IHsgd3JpdGVGaXh0dXJlPzogc3RyaW5nIH0gPSB7fVxuKTogUHJvbWlzZTxQYXJzZWRGaXh0dXJlPiB7XG4gIGNvbnN0IGlucHV0czogdXR4b2xpYi50ZXN0dXRpbC5JbnB1dFtdID0gW1xuICAgIHsgc2NyaXB0VHlwZTogcGFyYW1zLnNwZW5kVHlwZSA9PT0gJ2tleVBhdGgnID8gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnIDogcGFyYW1zLnNjcmlwdFR5cGUsIHZhbHVlOiBCaWdJbnQoMTBfMDAwKSB9LFxuICBdO1xuICBjb25zdCBvdXRwdXRzID0gW3sgc2NyaXB0VHlwZTogcGFyYW1zLnNjcmlwdFR5cGUsIHZhbHVlOiBCaWdJbnQoOV8wMDApIH1dO1xuICBsZXQgc3RhZ2U6IHN0cmluZyA9IHBhcmFtcy5maXh0dXJlVHlwZTtcbiAgaWYgKHN0YWdlLnN0YXJ0c1dpdGgoJ3BzYnQnKSkge1xuICAgIHN0YWdlID0gc3RhZ2Uuc2xpY2UoJ3BzYnQnLmxlbmd0aCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuICBpZiAoc3RhZ2UgIT09ICd1bnNpZ25lZCcgJiYgc3RhZ2UgIT09ICdoYWxmc2lnbmVkJyAmJiBzdGFnZSAhPT0gJ2Z1bGxzaWduZWQnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHN0YWdlICR7c3RhZ2V9YCk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zcGVuZFR5cGUgPT09ICdrZXlQYXRoJyAmJiB3cml0ZUZpeHR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgIC8vIGJlY2F1c2Ugd2UgY3VycmVudGx5IGNhbm5vdCBjcmVhdGUgZGV0ZXJtaW5pc3RpYyBzaWduYXR1cmVzIGZvciB0YXByb290S2V5UGF0aFNwZW5kLCB3ZVxuICAgIC8vIHN0b3JlIGEgY29weSBpbiBmaXh0dXJlcy9wc2J0IGFuZCB1c2UgdGhhdCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZVxuICAgIGNvbnN0IGZpbGVuYW1lID0gYHRlc3QvZml4dHVyZXMvcHNidC8ke3BhcmFtcy5zY3JpcHRUeXBlfS4ke3BhcmFtcy5zcGVuZFR5cGV9LiR7c3RhZ2V9Lmpzb25gO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwc2J0SGV4ID0gSlNPTi5wYXJzZShhd2FpdCBmcy5yZWFkRmlsZShmaWxlbmFtZSwgJ3V0ZjgnKSk7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidEZyb21IZXgocHNidEhleCwgbmV0d29yayk7XG4gICAgICByZXR1cm4geyB0cmFuc2FjdGlvbiwgcHJldk91dHB1dHM6IHVuZGVmaW5lZCB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBnZXRQc2J0KG5ldHdvcmssIHBhcmFtcywgeyB3cml0ZUZpeHR1cmU6IGZpbGVuYW1lIH0pO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdHJhbnNhY3Rpb24gPSB1dHhvbGliLnRlc3R1dGlsLmNvbnN0cnVjdFBzYnQoaW5wdXRzLCBvdXRwdXRzLCBuZXR3b3JrLCB3YWxsZXRLZXlzLCBzdGFnZSk7XG4gIGlmICh3cml0ZUZpeHR1cmUpIHtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUod3JpdGVGaXh0dXJlLCBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbi50b0hleCgpKSwgJ3V0ZjgnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHRyYW5zYWN0aW9uLFxuICAgIHByZXZPdXRwdXRzOiB1bmRlZmluZWQsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbldpdGhTcGVuZFR5cGUoXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgcGFyYW1zOiBGaXh0dXJlUGFyYW1zXG4pOiBQcm9taXNlPFBhcnNlZEZpeHR1cmU+IHtcbiAgaWYgKHBhcmFtcy5maXh0dXJlVHlwZSAhPT0gJ25ldHdvcmtGdWxsU2lnbmVkJykge1xuICAgIHJldHVybiBhd2FpdCBnZXRQc2J0KG5ldHdvcmssIHBhcmFtcyk7XG4gIH1cblxuICBpZiAocGFyYW1zLnNjcmlwdFR5cGUgPT09ICdwMnRyTXVzaWcyJykge1xuICAgIGlmICghcGFyYW1zLnNwZW5kVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwMnRyTXVzaWcyIHJlcXVpcmVzIHBhcmFtcycpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAocGFyYW1zLnNwZW5kVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvbmx5IHAydHJNdXNpZzIgcmVxdWlyZXMgc3BlbmRUeXBlJyk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZmlsZW5hbWUgPSBgc3BlbmRfJHtwYXJhbXMuc2NyaXB0VHlwZX0ke3BhcmFtcy5zcGVuZFR5cGUgPyBgJHtwYXJhbXMuc3BlbmRUeXBlfWAgOiAnJ30uanNvbmA7XG4gIHR5cGUgRml4dHVyZSA9IHtcbiAgICB0cmFuc2FjdGlvbjogeyBoZXg6IHN0cmluZyB9O1xuICAgIGlucHV0czogeyBoZXg6IHN0cmluZyB9W107XG4gIH07XG5cbiAgY29uc3QgZjogRml4dHVyZSA9IGF3YWl0IEpTT04ucGFyc2UoXG4gICAgYXdhaXQgZnMucmVhZEZpbGUoXG4gICAgICBgLi4vdXR4by1saWIvdGVzdC9pbnRlZ3JhdGlvbl9sb2NhbF9ycGMvZml4dHVyZXMvJHt1dHhvbGliLmdldE5ldHdvcmtOYW1lKG5ldHdvcmspfS92MS8ke2ZpbGVuYW1lfWAsXG4gICAgICAndXRmOCdcbiAgICApXG4gICk7XG5cbiAgZnVuY3Rpb24gZ2V0UHJldk91dChpOiB1dHhvbGliLlR4SW5wdXQpOiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD4ge1xuICAgIGZvciAoY29uc3QgdCBvZiBpbnB1dFR4cykge1xuICAgICAgaWYgKHQuZ2V0SGFzaCgpLmVxdWFscyhpLmhhc2gpICYmIGkuaW5kZXggaW4gdC5vdXRzKSB7XG4gICAgICAgIHJldHVybiB0Lm91dHNbaS5pbmRleF07XG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyBpbnB1dCAke3V0eG9saWIuYml0Z28uZm9ybWF0T3V0cHV0SWQodXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KGkpKX1gKTtcbiAgfVxuXG4gIGNvbnN0IGlucHV0VHhzID0gZi5pbnB1dHMubWFwKChpKSA9PlxuICAgIHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25Gcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKGkuaGV4LCAnaGV4JyksIG5ldHdvcmssIHsgYW1vdW50VHlwZTogJ2JpZ2ludCcgfSlcbiAgKTtcbiAgY29uc3QgdHggPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShmLnRyYW5zYWN0aW9uLmhleCwgJ2hleCcpLCBuZXR3b3JrLCB7XG4gICAgYW1vdW50VHlwZTogJ2JpZ2ludCcsXG4gIH0pO1xuICByZXR1cm4geyB0cmFuc2FjdGlvbjogdHgsIHByZXZPdXRwdXRzOiB0eC5pbnMubWFwKChpKSA9PiBnZXRQcmV2T3V0KGkpKSB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Rml4dHVyZVN0cmluZyhwYXRoOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgZnMucmVhZEZpbGUocGF0aCwgJ3V0ZjgnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICgoZSBhcyBhbnkpLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aCwgZGVmYXVsdFZhbHVlLCAndXRmOCcpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB3cm90ZSBkZWZhdWx0IHZhbHVlIGZvciAke3BhdGh9YCk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateAddress.d.ts","sourceRoot":"","sources":["../../test/generateAddress.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const generateAddress_1 = require("../src/generateAddress");
5
+ const parseAddress_1 = require("./parseAddress");
6
+ describe('generateAddresses', function () {
7
+ it('should generate addresses', function () {
8
+ const [userKey, backupKey, bitgoKey] = parseAddress_1.getKeyTriple('generateAddress').map((k) => k.neutered().toBase58());
9
+ const lines = [];
10
+ for (const l of generateAddress_1.generateAddress({
11
+ userKey,
12
+ backupKey,
13
+ bitgoKey,
14
+ index: generateAddress_1.parseIndexRange(['0-1']),
15
+ format: '%a',
16
+ chain: [0, 1],
17
+ })) {
18
+ lines.push(generateAddress_1.formatAddressWithFormatString(l, '%a'));
19
+ }
20
+ assert.strictEqual(lines.length, 4);
21
+ assert.deepStrictEqual(lines, [
22
+ '38FHxcU7KY4E2nDEezEVcKWGvHy9717ehF',
23
+ '35Qg1UqVWSJdtF1ysfz9h3KRGdk9uH8iYx',
24
+ '3ARnshsLXE9QfJemQdoKL2kp6TRqGohLDz',
25
+ '3QxKW93NN8CQrKaNqkDsAXPyxPsrxfTYME',
26
+ ]);
27
+ });
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVBZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9nZW5lcmF0ZUFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFDakMsNERBQXlHO0FBQ3pHLGlEQUE4QztBQUU5QyxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFDNUIsRUFBRSxDQUFDLDJCQUEyQixFQUFFO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLDJCQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzNHLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLE1BQU0sQ0FBQyxJQUFJLGlDQUFlLENBQUM7WUFDOUIsT0FBTztZQUNQLFNBQVM7WUFDVCxRQUFRO1lBQ1IsS0FBSyxFQUFFLGlDQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDZCxDQUFDLEVBQUU7WUFDRixLQUFLLENBQUMsSUFBSSxDQUFDLCtDQUE2QixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQzVCLG9DQUFvQztZQUNwQyxvQ0FBb0M7WUFDcEMsb0NBQW9DO1lBQ3BDLG9DQUFvQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBmb3JtYXRBZGRyZXNzV2l0aEZvcm1hdFN0cmluZywgZ2VuZXJhdGVBZGRyZXNzLCBwYXJzZUluZGV4UmFuZ2UgfSBmcm9tICcuLi9zcmMvZ2VuZXJhdGVBZGRyZXNzJztcbmltcG9ydCB7IGdldEtleVRyaXBsZSB9IGZyb20gJy4vcGFyc2VBZGRyZXNzJztcblxuZGVzY3JpYmUoJ2dlbmVyYXRlQWRkcmVzc2VzJywgZnVuY3Rpb24gKCkge1xuICBpdCgnc2hvdWxkIGdlbmVyYXRlIGFkZHJlc3NlcycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBbdXNlcktleSwgYmFja3VwS2V5LCBiaXRnb0tleV0gPSBnZXRLZXlUcmlwbGUoJ2dlbmVyYXRlQWRkcmVzcycpLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpO1xuICAgIGNvbnN0IGxpbmVzID0gW107XG4gICAgZm9yIChjb25zdCBsIG9mIGdlbmVyYXRlQWRkcmVzcyh7XG4gICAgICB1c2VyS2V5LFxuICAgICAgYmFja3VwS2V5LFxuICAgICAgYml0Z29LZXksXG4gICAgICBpbmRleDogcGFyc2VJbmRleFJhbmdlKFsnMC0xJ10pLFxuICAgICAgZm9ybWF0OiAnJWEnLFxuICAgICAgY2hhaW46IFswLCAxXSxcbiAgICB9KSkge1xuICAgICAgbGluZXMucHVzaChmb3JtYXRBZGRyZXNzV2l0aEZvcm1hdFN0cmluZyhsLCAnJWEnKSk7XG4gICAgfVxuXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGxpbmVzLmxlbmd0aCwgNCk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChsaW5lcywgW1xuICAgICAgJzM4Rkh4Y1U3S1k0RTJuREVlekVWY0tXR3ZIeTk3MTdlaEYnLFxuICAgICAgJzM1UWcxVXFWV1NKZHRGMXlzZno5aDNLUkdkazl1SDhpWXgnLFxuICAgICAgJzNBUm5zaHNMWEU5UWZKZW1RZG9LTDJrcDZUUnFHb2hMRHonLFxuICAgICAgJzNReEtXOTNOTjhDUXJLYU5xa0RzQVhQeXhQc3J4ZlRZTUUnLFxuICAgIF0pO1xuICB9KTtcbn0pO1xuIl19
@@ -58,6 +58,7 @@ function getAddresses(n) {
58
58
  .flatMap((t) => utxolib.addressFormat.addressFormats
59
59
  .filter((format) => utxolib.addressFormat.isSupportedAddressFormat(format, n))
60
60
  .map((format) => [
61
+ t,
61
62
  format,
62
63
  utxolib.addressFormat.fromOutputScriptWithFormat(createScriptPubKey(keys, t, n), format, n),
63
64
  ]));
@@ -65,21 +66,22 @@ function getAddresses(n) {
65
66
  function parse(address, args) {
66
67
  return commands_1.getAddressParser(yargs.command(commands_1.cmdParseAddress).parseSync(args)).parse(address);
67
68
  }
68
- function testParseAddress(network, addressFormat, address, args, suffix) {
69
+ function testParseAddress(network, type, addressFormat, address, args, suffix) {
69
70
  describe(`parse address ${address} with arguments ${args.join(' ')}`, function () {
70
71
  it(`formats address`, async function () {
71
72
  const formatted = fixtures_1.formatTreeNoColor(parse(address, args), { showAll: true });
72
73
  const addrNoColon = address.replace(':', '_');
73
- assert.strictEqual(await fixtures_1.getFixtureString(`test/fixtures/formatAddress_${utxolib.getNetworkName(network)}_${addressFormat}_${addrNoColon}${suffix}`, formatted), formatted);
74
+ const filename = [utxolib.getNetworkName(network), type, addressFormat, addrNoColon + suffix].join('_');
75
+ assert.strictEqual(await fixtures_1.getFixtureString(`test/fixtures/formatAddress/${filename}.txt`, formatted), formatted);
74
76
  });
75
77
  });
76
78
  }
77
79
  utxolib.getNetworkList().forEach((n) => {
78
- getAddresses(n).forEach(([addressFormat, address], i) => {
79
- testParseAddress(n, addressFormat, address, [], '.txt');
80
+ getAddresses(n).forEach(([type, addressFormat, address], i) => {
81
+ testParseAddress(n, type, addressFormat, address, [], '');
80
82
  if ([utxolib.networks.bitcoin, utxolib.networks.bitcoincash, utxolib.networks.ecash].includes(n) && i === 0) {
81
- testParseAddress(n, addressFormat, address, ['--all'], '.all.txt');
83
+ testParseAddress(n, type, addressFormat, address, ['--all'], '.all');
82
84
  }
83
85
  });
84
86
  });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VBZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9wYXJzZUFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLGlDQUFpQztBQUNqQywrQkFBK0I7QUFFL0IsMkNBQTJDO0FBRTNDLDhDQUFvRTtBQUNwRSx5Q0FBaUU7QUFNakUsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVUsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEdBQUcsb0JBQW9CLENBQVUsQ0FBQztBQUd2RyxTQUFTLE1BQU0sQ0FBQyxJQUFZO0lBQzFCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBQ0QsU0FBZ0IsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsT0FBd0IsRUFBRSxVQUFzQjtJQUNyRixJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUMxQixPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDeEM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHFCQUFx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MkJBQWdCLENBQ3BCLCtCQUErQixPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGFBQWEsSUFBSSxXQUFXLEdBQUcsTUFBTSxFQUFFLEVBQ3pHLFNBQVMsQ0FDVixFQUNELFNBQVMsQ0FDVixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDckMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RELGdCQUFnQixDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ2JpcDMyJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgY21kUGFyc2VBZGRyZXNzLCBnZXRBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi4vc3JjL2NvbW1hbmRzJztcbmltcG9ydCB7IGdldEZpeHR1cmVTdHJpbmcsIGZvcm1hdFRyZWVOb0NvbG9yIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbnR5cGUgVHJpcGxlPFQ+ID0gW1QsIFQsIFRdO1xuXG50eXBlIEtleVRyaXBsZSA9IFRyaXBsZTxCSVAzMkludGVyZmFjZT47XG5cbmNvbnN0IHNjcmlwdFR5cGVzU2luZ2xlU2lnID0gWydwMnBraCcsICdwMndraCddIGFzIGNvbnN0O1xuY29uc3Qgc2NyaXB0VHlwZXMgPSBbLi4udXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLnNjcmlwdFR5cGVzMk9mMywgLi4uc2NyaXB0VHlwZXNTaW5nbGVTaWddIGFzIGNvbnN0O1xudHlwZSBTY3JpcHRUeXBlID0gKHR5cGVvZiBzY3JpcHRUeXBlcylbbnVtYmVyXTtcblxuZnVuY3Rpb24gZ2V0S2V5KHNlZWQ6IHN0cmluZyk6IEJJUDMySW50ZXJmYWNlIHtcbiAgcmV0dXJuIHV0eG9saWIuYmlwMzIuZnJvbVNlZWQoY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShzZWVkKS5kaWdlc3QoKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5VHJpcGxlKHNlZWQ6IHN0cmluZyk6IEtleVRyaXBsZSB7XG4gIHJldHVybiBbZ2V0S2V5KHNlZWQgKyAnLjAnKSwgZ2V0S2V5KHNlZWQgKyAnLjEnKSwgZ2V0S2V5KHNlZWQgKyAnLjInKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N1cHBvcnRlZERlcG9zaXRUeXBlKG5ldHdvcms6IHV0eG9saWIuTmV0d29yaywgc2NyaXB0VHlwZTogU2NyaXB0VHlwZSk6IGJvb2xlYW4ge1xuICBpZiAoc2NyaXB0VHlwZSA9PT0gJ3AycGtoJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHNjcmlwdFR5cGUgPT09ICdwMndraCcpIHtcbiAgICByZXR1cm4gdXR4b2xpYi5zdXBwb3J0c1NlZ3dpdChuZXR3b3JrKTtcbiAgfVxuXG4gIHJldHVybiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuaXNTdXBwb3J0ZWRTY3JpcHRUeXBlKG5ldHdvcmssIHNjcmlwdFR5cGUpO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0ga2V5cyAtIFB1YmtleXMgdG8gdXNlIGZvciBnZW5lcmF0aW5nIHRoZSBhZGRyZXNzLlxuICogICAgICAgICAgICAgICBJZiBzY3JpcHRUeXBlIGlzIHNpbmdsZS1zaWcsIHRoZSBmaXJzdCBrZXkgd2lsbCBiZSB1c2VkLlxuICogQHBhcmFtIHNjcmlwdFR5cGVcbiAqIEBwYXJhbSBuZXR3b3JrXG4gKiBAcmV0dXJuIHtCdWZmZXJ9IHNjcmlwdFB1YktleVxuICovXG5mdW5jdGlvbiBjcmVhdGVTY3JpcHRQdWJLZXkoa2V5czogS2V5VHJpcGxlLCBzY3JpcHRUeXBlOiBTY3JpcHRUeXBlLCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmspOiBCdWZmZXIge1xuICBjb25zdCBwdWJrZXlzID0ga2V5cy5tYXAoKGspID0+IGsucHVibGljS2V5KTtcblxuICBzd2l0Y2ggKHNjcmlwdFR5cGUpIHtcbiAgICBjYXNlICdwMnNoJzpcbiAgICBjYXNlICdwMnNoUDJ3c2gnOlxuICAgIGNhc2UgJ3Ayd3NoJzpcbiAgICBjYXNlICdwMnRyJzpcbiAgICBjYXNlICdwMnRyTXVzaWcyJzpcbiAgICAgIHJldHVybiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuY3JlYXRlT3V0cHV0U2NyaXB0Mm9mMyhwdWJrZXlzLCBzY3JpcHRUeXBlKS5zY3JpcHRQdWJLZXk7XG4gICAgY2FzZSAncDJwa2gnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJwa2goeyBwdWJrZXk6IGtleXNbMF0ucHVibGljS2V5IH0pLm91dHB1dCBhcyBCdWZmZXI7XG4gICAgY2FzZSAncDJ3a2gnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJ3cGtoKHsgcHVia2V5OiBrZXlzWzBdLnB1YmxpY0tleSB9KS5vdXRwdXQgYXMgQnVmZmVyO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuc3VwcG9ydGVkIG91dHB1dCB0eXBlICR7c2NyaXB0VHlwZX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBZGRyZXNzZXMobjogdXR4b2xpYi5OZXR3b3JrKTogW2Zvcm1hdDogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmddW10ge1xuICBjb25zdCBrZXlzID0gZ2V0S2V5VHJpcGxlKCdwYXJzZUFkZHJlc3MnKTtcbiAgcmV0dXJuIHNjcmlwdFR5cGVzXG4gICAgLmZpbHRlcigodCkgPT4gaXNTdXBwb3J0ZWREZXBvc2l0VHlwZShuLCB0KSlcbiAgICAuZmxhdE1hcCgodCkgPT5cbiAgICAgIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5hZGRyZXNzRm9ybWF0c1xuICAgICAgICAuZmlsdGVyKChmb3JtYXQpID0+IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5pc1N1cHBvcnRlZEFkZHJlc3NGb3JtYXQoZm9ybWF0LCBuKSlcbiAgICAgICAgLm1hcCgoZm9ybWF0KTogW3N0cmluZywgc3RyaW5nXSA9PiBbXG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5mcm9tT3V0cHV0U2NyaXB0V2l0aEZvcm1hdChjcmVhdGVTY3JpcHRQdWJLZXkoa2V5cywgdCwgbiksIGZvcm1hdCwgbiksXG4gICAgICAgIF0pXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gcGFyc2UoYWRkcmVzczogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gZ2V0QWRkcmVzc1BhcnNlcih5YXJncy5jb21tYW5kKGNtZFBhcnNlQWRkcmVzcykucGFyc2VTeW5jKGFyZ3MpKS5wYXJzZShhZGRyZXNzKTtcbn1cblxuZnVuY3Rpb24gdGVzdFBhcnNlQWRkcmVzcyhcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICBhZGRyZXNzRm9ybWF0OiBzdHJpbmcsXG4gIGFkZHJlc3M6IHN0cmluZyxcbiAgYXJnczogc3RyaW5nW10sXG4gIHN1ZmZpeDogc3RyaW5nXG4pIHtcbiAgZGVzY3JpYmUoYHBhcnNlIGFkZHJlc3MgJHthZGRyZXNzfSB3aXRoIGFyZ3VtZW50cyAke2FyZ3Muam9pbignICcpfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBpdChgZm9ybWF0cyBhZGRyZXNzYCwgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VHJlZU5vQ29sb3IocGFyc2UoYWRkcmVzcywgYXJncyksIHsgc2hvd0FsbDogdHJ1ZSB9KTtcbiAgICAgIGNvbnN0IGFkZHJOb0NvbG9uID0gYWRkcmVzcy5yZXBsYWNlKCc6JywgJ18nKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhcbiAgICAgICAgICBgdGVzdC9maXh0dXJlcy9mb3JtYXRBZGRyZXNzXyR7dXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKX1fJHthZGRyZXNzRm9ybWF0fV8ke2FkZHJOb0NvbG9ufSR7c3VmZml4fWAsXG4gICAgICAgICAgZm9ybWF0dGVkXG4gICAgICAgICksXG4gICAgICAgIGZvcm1hdHRlZFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbnV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKS5mb3JFYWNoKChuKSA9PiB7XG4gIGdldEFkZHJlc3NlcyhuKS5mb3JFYWNoKChbYWRkcmVzc0Zvcm1hdCwgYWRkcmVzc10sIGkpID0+IHtcbiAgICB0ZXN0UGFyc2VBZGRyZXNzKG4sIGFkZHJlc3NGb3JtYXQsIGFkZHJlc3MsIFtdLCAnLnR4dCcpO1xuICAgIGlmIChbdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW5jYXNoLCB1dHhvbGliLm5ldHdvcmtzLmVjYXNoXS5pbmNsdWRlcyhuKSAmJiBpID09PSAwKSB7XG4gICAgICB0ZXN0UGFyc2VBZGRyZXNzKG4sIGFkZHJlc3NGb3JtYXQsIGFkZHJlc3MsIFsnLS1hbGwnXSwgJy5hbGwudHh0Jyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VBZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9wYXJzZUFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLGlDQUFpQztBQUNqQywrQkFBK0I7QUFFL0IsMkNBQTJDO0FBRTNDLDhDQUFvRTtBQUNwRSx5Q0FBaUU7QUFNakUsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVUsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEdBQUcsb0JBQW9CLENBQVUsQ0FBQztBQUd2RyxTQUFTLE1BQU0sQ0FBQyxJQUFZO0lBQzFCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBQ0QsU0FBZ0IsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsT0FBd0IsRUFBRSxVQUFzQjtJQUNyRixJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUMxQixPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDeEM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHFCQUFx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QUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsV0FBVyxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4RyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sMkJBQWdCLENBQUMsK0JBQStCLFFBQVEsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3JDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDNUQsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdiaXAzMic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IGNtZFBhcnNlQWRkcmVzcywgZ2V0QWRkcmVzc1BhcnNlciB9IGZyb20gJy4uL3NyYy9jb21tYW5kcyc7XG5pbXBvcnQgeyBmb3JtYXRUcmVlTm9Db2xvciwgZ2V0Rml4dHVyZVN0cmluZyB9IGZyb20gJy4vZml4dHVyZXMnO1xuXG50eXBlIFRyaXBsZTxUPiA9IFtULCBULCBUXTtcblxudHlwZSBLZXlUcmlwbGUgPSBUcmlwbGU8QklQMzJJbnRlcmZhY2U+O1xuXG5jb25zdCBzY3JpcHRUeXBlc1NpbmdsZVNpZyA9IFsncDJwa2gnLCAncDJ3a2gnXSBhcyBjb25zdDtcbmNvbnN0IHNjcmlwdFR5cGVzID0gWy4uLnV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5zY3JpcHRUeXBlczJPZjMsIC4uLnNjcmlwdFR5cGVzU2luZ2xlU2lnXSBhcyBjb25zdDtcbnR5cGUgU2NyaXB0VHlwZSA9ICh0eXBlb2Ygc2NyaXB0VHlwZXMpW251bWJlcl07XG5cbmZ1bmN0aW9uIGdldEtleShzZWVkOiBzdHJpbmcpOiBCSVAzMkludGVyZmFjZSB7XG4gIHJldHVybiB1dHhvbGliLmJpcDMyLmZyb21TZWVkKGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoc2VlZCkuZGlnZXN0KCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEtleVRyaXBsZShzZWVkOiBzdHJpbmcpOiBLZXlUcmlwbGUge1xuICByZXR1cm4gW2dldEtleShzZWVkICsgJy4wJyksIGdldEtleShzZWVkICsgJy4xJyksIGdldEtleShzZWVkICsgJy4yJyldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdXBwb3J0ZWREZXBvc2l0VHlwZShuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssIHNjcmlwdFR5cGU6IFNjcmlwdFR5cGUpOiBib29sZWFuIHtcbiAgaWYgKHNjcmlwdFR5cGUgPT09ICdwMnBraCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzY3JpcHRUeXBlID09PSAncDJ3a2gnKSB7XG4gICAgcmV0dXJuIHV0eG9saWIuc3VwcG9ydHNTZWd3aXQobmV0d29yayk7XG4gIH1cblxuICByZXR1cm4gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLmlzU3VwcG9ydGVkU2NyaXB0VHlwZShuZXR3b3JrLCBzY3JpcHRUeXBlKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIGtleXMgLSBQdWJrZXlzIHRvIHVzZSBmb3IgZ2VuZXJhdGluZyB0aGUgYWRkcmVzcy5cbiAqICAgICAgICAgICAgICAgSWYgc2NyaXB0VHlwZSBpcyBzaW5nbGUtc2lnLCB0aGUgZmlyc3Qga2V5IHdpbGwgYmUgdXNlZC5cbiAqIEBwYXJhbSBzY3JpcHRUeXBlXG4gKiBAcGFyYW0gbmV0d29ya1xuICogQHJldHVybiB7QnVmZmVyfSBzY3JpcHRQdWJLZXlcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU2NyaXB0UHViS2V5KGtleXM6IEtleVRyaXBsZSwgc2NyaXB0VHlwZTogU2NyaXB0VHlwZSwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogQnVmZmVyIHtcbiAgY29uc3QgcHVia2V5cyA9IGtleXMubWFwKChrKSA9PiBrLnB1YmxpY0tleSk7XG5cbiAgc3dpdGNoIChzY3JpcHRUeXBlKSB7XG4gICAgY2FzZSAncDJzaCc6XG4gICAgY2FzZSAncDJzaFAyd3NoJzpcbiAgICBjYXNlICdwMndzaCc6XG4gICAgY2FzZSAncDJ0cic6XG4gICAgY2FzZSAncDJ0ck11c2lnMic6XG4gICAgICByZXR1cm4gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLmNyZWF0ZU91dHB1dFNjcmlwdDJvZjMocHVia2V5cywgc2NyaXB0VHlwZSkuc2NyaXB0UHViS2V5O1xuICAgIGNhc2UgJ3AycGtoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAycGtoKHsgcHVia2V5OiBrZXlzWzBdLnB1YmxpY0tleSB9KS5vdXRwdXQgYXMgQnVmZmVyO1xuICAgIGNhc2UgJ3Ayd2toJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAyd3BraCh7IHB1YmtleToga2V5c1swXS5wdWJsaWNLZXkgfSkub3V0cHV0IGFzIEJ1ZmZlcjtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bnN1cHBvcnRlZCBvdXRwdXQgdHlwZSAke3NjcmlwdFR5cGV9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QWRkcmVzc2VzKG46IHV0eG9saWIuTmV0d29yayk6IFt0eXBlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmddW10ge1xuICBjb25zdCBrZXlzID0gZ2V0S2V5VHJpcGxlKCdwYXJzZUFkZHJlc3MnKTtcbiAgcmV0dXJuIHNjcmlwdFR5cGVzXG4gICAgLmZpbHRlcigodCkgPT4gaXNTdXBwb3J0ZWREZXBvc2l0VHlwZShuLCB0KSlcbiAgICAuZmxhdE1hcCgodCkgPT5cbiAgICAgIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5hZGRyZXNzRm9ybWF0c1xuICAgICAgICAuZmlsdGVyKChmb3JtYXQpID0+IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5pc1N1cHBvcnRlZEFkZHJlc3NGb3JtYXQoZm9ybWF0LCBuKSlcbiAgICAgICAgLm1hcCgoZm9ybWF0KTogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddID0+IFtcbiAgICAgICAgICB0LFxuICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICB1dHhvbGliLmFkZHJlc3NGb3JtYXQuZnJvbU91dHB1dFNjcmlwdFdpdGhGb3JtYXQoY3JlYXRlU2NyaXB0UHViS2V5KGtleXMsIHQsIG4pLCBmb3JtYXQsIG4pLFxuICAgICAgICBdKVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlKGFkZHJlc3M6IHN0cmluZywgYXJnczogc3RyaW5nW10pIHtcbiAgcmV0dXJuIGdldEFkZHJlc3NQYXJzZXIoeWFyZ3MuY29tbWFuZChjbWRQYXJzZUFkZHJlc3MpLnBhcnNlU3luYyhhcmdzKSkucGFyc2UoYWRkcmVzcyk7XG59XG5cbmZ1bmN0aW9uIHRlc3RQYXJzZUFkZHJlc3MoXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgdHlwZTogc3RyaW5nLFxuICBhZGRyZXNzRm9ybWF0OiBzdHJpbmcsXG4gIGFkZHJlc3M6IHN0cmluZyxcbiAgYXJnczogc3RyaW5nW10sXG4gIHN1ZmZpeDogc3RyaW5nXG4pIHtcbiAgZGVzY3JpYmUoYHBhcnNlIGFkZHJlc3MgJHthZGRyZXNzfSB3aXRoIGFyZ3VtZW50cyAke2FyZ3Muam9pbignICcpfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBpdChgZm9ybWF0cyBhZGRyZXNzYCwgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VHJlZU5vQ29sb3IocGFyc2UoYWRkcmVzcywgYXJncyksIHsgc2hvd0FsbDogdHJ1ZSB9KTtcbiAgICAgIGNvbnN0IGFkZHJOb0NvbG9uID0gYWRkcmVzcy5yZXBsYWNlKCc6JywgJ18nKTtcbiAgICAgIGNvbnN0IGZpbGVuYW1lID0gW3V0eG9saWIuZ2V0TmV0d29ya05hbWUobmV0d29yayksIHR5cGUsIGFkZHJlc3NGb3JtYXQsIGFkZHJOb0NvbG9uICsgc3VmZml4XS5qb2luKCdfJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhgdGVzdC9maXh0dXJlcy9mb3JtYXRBZGRyZXNzLyR7ZmlsZW5hbWV9LnR4dGAsIGZvcm1hdHRlZCksIGZvcm1hdHRlZCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG51dHhvbGliLmdldE5ldHdvcmtMaXN0KCkuZm9yRWFjaCgobikgPT4ge1xuICBnZXRBZGRyZXNzZXMobikuZm9yRWFjaCgoW3R5cGUsIGFkZHJlc3NGb3JtYXQsIGFkZHJlc3NdLCBpKSA9PiB7XG4gICAgdGVzdFBhcnNlQWRkcmVzcyhuLCB0eXBlLCBhZGRyZXNzRm9ybWF0LCBhZGRyZXNzLCBbXSwgJycpO1xuICAgIGlmIChbdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW5jYXNoLCB1dHhvbGliLm5ldHdvcmtzLmVjYXNoXS5pbmNsdWRlcyhuKSAmJiBpID09PSAwKSB7XG4gICAgICB0ZXN0UGFyc2VBZGRyZXNzKG4sIHR5cGUsIGFkZHJlc3NGb3JtYXQsIGFkZHJlc3MsIFsnLS1hbGwnXSwgJy5hbGwnKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseScript.d.ts","sourceRoot":"","sources":["../../test/parseScript.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const utxolib = require("@bitgo/utxo-lib");
5
+ const fixtures_1 = require("./fixtures");
6
+ const ScriptParser_1 = require("../src/ScriptParser");
7
+ function testParseScript(type) {
8
+ let tx;
9
+ before('setup transaction', async function () {
10
+ tx = await fixtures_1.getTransactionWithSpendType(utxolib.networks.testnet, {
11
+ scriptType: type,
12
+ spendType: type === 'p2trMusig2' ? 'scriptPath' : undefined,
13
+ fixtureType: 'psbtFullSigned',
14
+ });
15
+ });
16
+ const parser = new ScriptParser_1.ScriptParser();
17
+ function parse(label, script) {
18
+ return parser.node(label, undefined, [parser.parse(script)]);
19
+ }
20
+ it(`parse script ${type}`, async function () {
21
+ if (tx.transaction instanceof utxolib.bitgo.UtxoTransaction) {
22
+ return this.skip();
23
+ }
24
+ const nodes = tx.transaction.data.inputs.flatMap((input) => {
25
+ return [
26
+ ...(input.redeemScript ? [parse('redeemScript', input.redeemScript)] : []),
27
+ ...(input.witnessScript ? [parse('witnessScript', input.witnessScript)] : []),
28
+ ];
29
+ });
30
+ const root = new ScriptParser_1.ScriptParser().node('inputScripts', undefined, nodes);
31
+ const formatted = fixtures_1.formatTreeNoColor(root, { showAll: true });
32
+ assert.strictEqual(formatted, await fixtures_1.getFixtureString(`test/fixtures/formatScript/${type}.txt`, formatted));
33
+ });
34
+ }
35
+ utxolib.bitgo.outputScripts.scriptTypes2Of3.forEach((scriptType) => {
36
+ testParseScript(scriptType);
37
+ });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L3BhcnNlU2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQWlDO0FBQ2pDLDJDQUEyQztBQUMzQyx5Q0FBNkc7QUFFN0csc0RBQW1EO0FBRW5ELFNBQVMsZUFBZSxDQUFDLElBQWdEO0lBQ3ZFLElBQUksRUFBaUIsQ0FBQztJQUN0QixNQUFNLENBQUMsbUJBQW1CLEVBQUUsS0FBSztRQUMvQixFQUFFLEdBQUcsTUFBTSxzQ0FBMkIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzNELFdBQVcsRUFBRSxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLDJCQUFZLEVBQUUsQ0FBQztJQUVsQyxTQUFTLEtBQUssQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFFLEtBQUs7UUFDOUIsSUFBSSxFQUFFLENBQUMsV0FBVyxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQzNELE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pELE9BQU87Z0JBQ0wsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMxRSxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDOUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSwyQkFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdkUsTUFBTSxTQUFTLEdBQUcsNEJBQWlCLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFN0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSwyQkFBZ0IsQ0FBQyw4QkFBOEIsSUFBSSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7SUFDakUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBmb3JtYXRUcmVlTm9Db2xvciwgZ2V0Rml4dHVyZVN0cmluZywgZ2V0VHJhbnNhY3Rpb25XaXRoU3BlbmRUeXBlLCBQYXJzZWRGaXh0dXJlIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBQYXJzZXJOb2RlIH0gZnJvbSAnLi4vc3JjL1BhcnNlcic7XG5pbXBvcnQgeyBTY3JpcHRQYXJzZXIgfSBmcm9tICcuLi9zcmMvU2NyaXB0UGFyc2VyJztcblxuZnVuY3Rpb24gdGVzdFBhcnNlU2NyaXB0KHR5cGU6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMykge1xuICBsZXQgdHg6IFBhcnNlZEZpeHR1cmU7XG4gIGJlZm9yZSgnc2V0dXAgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgdHggPSBhd2FpdCBnZXRUcmFuc2FjdGlvbldpdGhTcGVuZFR5cGUodXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0LCB7XG4gICAgICBzY3JpcHRUeXBlOiB0eXBlLFxuICAgICAgc3BlbmRUeXBlOiB0eXBlID09PSAncDJ0ck11c2lnMicgPyAnc2NyaXB0UGF0aCcgOiB1bmRlZmluZWQsXG4gICAgICBmaXh0dXJlVHlwZTogJ3BzYnRGdWxsU2lnbmVkJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgcGFyc2VyID0gbmV3IFNjcmlwdFBhcnNlcigpO1xuXG4gIGZ1bmN0aW9uIHBhcnNlKGxhYmVsOiBzdHJpbmcsIHNjcmlwdDogQnVmZmVyKTogUGFyc2VyTm9kZSB7XG4gICAgcmV0dXJuIHBhcnNlci5ub2RlKGxhYmVsLCB1bmRlZmluZWQsIFtwYXJzZXIucGFyc2Uoc2NyaXB0KV0pO1xuICB9XG5cbiAgaXQoYHBhcnNlIHNjcmlwdCAke3R5cGV9YCwgYXN5bmMgZnVuY3Rpb24gKHRoaXM6IE1vY2hhLkNvbnRleHQpIHtcbiAgICBpZiAodHgudHJhbnNhY3Rpb24gaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuc2tpcCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gdHgudHJhbnNhY3Rpb24uZGF0YS5pbnB1dHMuZmxhdE1hcCgoaW5wdXQpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLihpbnB1dC5yZWRlZW1TY3JpcHQgPyBbcGFyc2UoJ3JlZGVlbVNjcmlwdCcsIGlucHV0LnJlZGVlbVNjcmlwdCldIDogW10pLFxuICAgICAgICAuLi4oaW5wdXQud2l0bmVzc1NjcmlwdCA/IFtwYXJzZSgnd2l0bmVzc1NjcmlwdCcsIGlucHV0LndpdG5lc3NTY3JpcHQpXSA6IFtdKSxcbiAgICAgIF07XG4gICAgfSk7XG5cbiAgICBjb25zdCByb290ID0gbmV3IFNjcmlwdFBhcnNlcigpLm5vZGUoJ2lucHV0U2NyaXB0cycsIHVuZGVmaW5lZCwgbm9kZXMpO1xuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VHJlZU5vQ29sb3Iocm9vdCwgeyBzaG93QWxsOiB0cnVlIH0pO1xuXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGZvcm1hdHRlZCwgYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhgdGVzdC9maXh0dXJlcy9mb3JtYXRTY3JpcHQvJHt0eXBlfS50eHRgLCBmb3JtYXR0ZWQpKTtcbiAgfSk7XG59XG5cbnV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5zY3JpcHRUeXBlczJPZjMuZm9yRWFjaCgoc2NyaXB0VHlwZSkgPT4ge1xuICB0ZXN0UGFyc2VTY3JpcHQoc2NyaXB0VHlwZSk7XG59KTtcbiJdfQ==
@@ -55,9 +55,12 @@ getParams().forEach(({ scriptType, spendType, fixtureType, showAll }) => {
55
55
  showAll,
56
56
  });
57
57
  const fixtureName = spendType ? `${scriptType}_${spendType}` : scriptType;
58
- assert.strictEqual(formatted, await fixtures_1.getFixtureString(`test/fixtures/format_${fixtureName}_${fixtureType}${showAll ? '_all' : ''}${usePrevOuts ? '_prevOuts' : ''}.txt`, formatted));
58
+ const filename = [fixtureName, fixtureType, showAll ? 'all' : '', usePrevOuts ? 'prevOuts' : '']
59
+ .filter((v) => v !== '')
60
+ .join('_');
61
+ assert.strictEqual(formatted, await fixtures_1.getFixtureString(`test/fixtures/formatTransaction/${filename}.txt`, formatted));
59
62
  });
60
63
  });
61
64
  });
62
65
  });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvcGFyc2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDLHlDQUE2RztBQUU3Ryw4Q0FBMEQ7QUFVMUQsU0FBUyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQXdCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixPQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDbEgsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQWdCLEVBQUU7Z0JBQ3RGLElBQUksVUFBVSxLQUFLLFlBQVksRUFBRTtvQkFDL0IsT0FBTzt3QkFDTCxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7d0JBQzFELEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtxQkFDOUQsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3RFLFFBQVEsQ0FBQyxTQUFTLFdBQVcsSUFBSSxVQUFVLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsZ0JBQWdCLE9BQU8sQ0FBQztRQUN0RyxPQUFPO0tBQ1IsQ0FBQyxFQUFFLEVBQUU7UUFDSixTQUFTLEtBQUssQ0FBQyxFQUFZLEVBQUUsV0FBd0M7WUFDbkUsT0FBTyxzQkFBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFRLENBQUMsQ0FBQyxLQUFLLENBQy9HLEVBQUUsRUFDRjtnQkFDRSxXQUFXO2FBQ1osQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBc0IsQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSztZQUNWLE9BQU8sR0FBRyxNQUFNLHNDQUEyQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUNwRSxVQUFVO2dCQUNWLFNBQVM7Z0JBQ1QsV0FBVzthQUNaLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNYLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0IsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BDLEVBQUUsQ0FBQyx3QkFBd0IsV0FBVyxHQUFHLEVBQUUsS0FBSztnQkFDOUMsSUFBSSxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUN2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2I7Z0JBQ0QsTUFBTSxTQUFTLEdBQUcsNEJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDN0csT0FBTztpQkFDUixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUMxRSxNQUFNLENBQUMsV0FBVyxDQUNoQixTQUFTLEVBQ1QsTUFBTSwyQkFBZ0IsQ0FDcEIsd0JBQXdCLFdBQVcsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDeEUsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQzlCLE1BQU0sRUFDTixTQUFTLENBQ1YsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb2NoYSBmcm9tICdtb2NoYSc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGdldEZpeHR1cmVTdHJpbmcsIGdldFRyYW5zYWN0aW9uV2l0aFNwZW5kVHlwZSwgZm9ybWF0VHJlZU5vQ29sb3IsIFBhcnNlZEZpeHR1cmUgfSBmcm9tICcuL2ZpeHR1cmVzJztcbmltcG9ydCB7IFBhcnNlck5vZGUgfSBmcm9tICcuLi9zcmMvUGFyc2VyJztcbmltcG9ydCB7IGNtZFBhcnNlVHgsIGdldFR4UGFyc2VyIH0gZnJvbSAnLi4vc3JjL2NvbW1hbmRzJztcbmltcG9ydCB7IFBhcnNlclR4IH0gZnJvbSAnLi4vc3JjL1BhcnNlclR4JztcblxudHlwZSBUZXN0UGFyYW1zID0ge1xuICBzY3JpcHRUeXBlOiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjM7XG4gIHNwZW5kVHlwZTogJ2tleVBhdGgnIHwgJ3NjcmlwdFBhdGgnIHwgdW5kZWZpbmVkO1xuICBmaXh0dXJlVHlwZTogJ3BzYnRVbnNpZ25lZCcgfCAncHNidEhhbGZTaWduZWQnIHwgJ3BzYnRGdWxsU2lnbmVkJyB8ICduZXR3b3JrRnVsbFNpZ25lZCc7XG4gIHNob3dBbGw6IGJvb2xlYW47XG59O1xuXG5mdW5jdGlvbiBnZXRBcmdzKHsgc2hvd0FsbCB9OiB7IHNob3dBbGw6IGJvb2xlYW4gfSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHNob3dBbGwgPyBbJy0tYWxsJ10gOiBbXTtcbn1cblxuZnVuY3Rpb24gZ2V0UGFyYW1zKCk6IFRlc3RQYXJhbXNbXSB7XG4gIHJldHVybiAoWydwc2J0VW5zaWduZWQnLCAncHNidEhhbGZTaWduZWQnLCAncHNidEZ1bGxTaWduZWQnLCAnbmV0d29ya0Z1bGxTaWduZWQnXSBhcyBjb25zdCkuZmxhdE1hcCgoZml4dHVyZVR5cGUpID0+IHtcbiAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5mbGF0TWFwKChzaG93QWxsKSA9PiB7XG4gICAgICByZXR1cm4gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLnNjcmlwdFR5cGVzMk9mMy5mbGF0TWFwKChzY3JpcHRUeXBlKTogVGVzdFBhcmFtc1tdID0+IHtcbiAgICAgICAgaWYgKHNjcmlwdFR5cGUgPT09ICdwMnRyTXVzaWcyJykge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IHNjcmlwdFR5cGUsIHNwZW5kVHlwZTogJ2tleVBhdGgnLCBzaG93QWxsLCBmaXh0dXJlVHlwZSB9LFxuICAgICAgICAgICAgeyBzY3JpcHRUeXBlLCBzcGVuZFR5cGU6ICdzY3JpcHRQYXRoJywgc2hvd0FsbCwgZml4dHVyZVR5cGUgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbeyBzY3JpcHRUeXBlLCBzcGVuZFR5cGU6IHVuZGVmaW5lZCwgc2hvd0FsbCwgZml4dHVyZVR5cGUgfV07XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmdldFBhcmFtcygpLmZvckVhY2goKHsgc2NyaXB0VHlwZSwgc3BlbmRUeXBlLCBmaXh0dXJlVHlwZSwgc2hvd0FsbCB9KSA9PiB7XG4gIGRlc2NyaWJlKGBwYXJzZSAke2ZpeHR1cmVUeXBlfSAke3NjcmlwdFR5cGV9ICR7c3BlbmRUeXBlID8gc3BlbmRUeXBlIDogJ2RlZmF1bHQnfSBzcGVuZCBbYXJncz0ke2dldEFyZ3Moe1xuICAgIHNob3dBbGwsXG4gIH0pfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBwYXJzZSh0eDogUGFyc2VyVHgsIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W10pOiBQYXJzZXJOb2RlIHtcbiAgICAgIHJldHVybiBnZXRUeFBhcnNlcih5YXJncy5jb21tYW5kKGNtZFBhcnNlVHgpLnBhcnNlKFsuLi5nZXRBcmdzKHsgc2hvd0FsbCB9KSwgJy0tcGFyc2VFcnJvcj10aHJvdyddKSBhcyBhbnkpLnBhcnNlKFxuICAgICAgICB0eCxcbiAgICAgICAge1xuICAgICAgICAgIHByZXZPdXRwdXRzLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBmaXh0dXJlOiBQYXJzZWRGaXh0dXJlO1xuICAgIGJlZm9yZShhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBmaXh0dXJlID0gYXdhaXQgZ2V0VHJhbnNhY3Rpb25XaXRoU3BlbmRUeXBlKHV0eG9saWIubmV0d29ya3MudGVzdG5ldCwge1xuICAgICAgICBzY3JpcHRUeXBlLFxuICAgICAgICBzcGVuZFR5cGUsXG4gICAgICAgIGZpeHR1cmVUeXBlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChgcGFyc2VzYCwgZnVuY3Rpb24gKCkge1xuICAgICAgcGFyc2UoZml4dHVyZS50cmFuc2FjdGlvbik7XG4gICAgICBpZiAoZml4dHVyZS5wcmV2T3V0cHV0cykge1xuICAgICAgICBwYXJzZShmaXh0dXJlLnRyYW5zYWN0aW9uLCBmaXh0dXJlLnByZXZPdXRwdXRzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIFtmYWxzZSwgdHJ1ZV0uZm9yRWFjaCgodXNlUHJldk91dHMpID0+IHtcbiAgICAgIGl0KGBmb3JtYXRzIFt1c2VQcmV2T3V0cz0ke3VzZVByZXZPdXRzfV1gLCBhc3luYyBmdW5jdGlvbiAodGhpczogbW9jaGEuQ29udGV4dCkge1xuICAgICAgICBpZiAodXNlUHJldk91dHMgJiYgIWZpeHR1cmUucHJldk91dHB1dHMpIHtcbiAgICAgICAgICB0aGlzLnNraXAoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmVlTm9Db2xvcihwYXJzZShmaXh0dXJlLnRyYW5zYWN0aW9uLCB1c2VQcmV2T3V0cyA/IGZpeHR1cmUucHJldk91dHB1dHMgOiB1bmRlZmluZWQpLCB7XG4gICAgICAgICAgc2hvd0FsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpeHR1cmVOYW1lID0gc3BlbmRUeXBlID8gYCR7c2NyaXB0VHlwZX1fJHtzcGVuZFR5cGV9YCA6IHNjcmlwdFR5cGU7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgICBmb3JtYXR0ZWQsXG4gICAgICAgICAgYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhcbiAgICAgICAgICAgIGB0ZXN0L2ZpeHR1cmVzL2Zvcm1hdF8ke2ZpeHR1cmVOYW1lfV8ke2ZpeHR1cmVUeXBlfSR7c2hvd0FsbCA/ICdfYWxsJyA6ICcnfSR7XG4gICAgICAgICAgICAgIHVzZVByZXZPdXRzID8gJ19wcmV2T3V0cycgOiAnJ1xuICAgICAgICAgICAgfS50eHRgLFxuICAgICAgICAgICAgZm9ybWF0dGVkXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvcGFyc2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDLHlDQUE2RztBQUU3Ryw4Q0FBMEQ7QUFVMUQsU0FBUyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQXdCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixPQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDbEgsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQWdCLEVBQUU7Z0JBQ3RGLElBQUksVUFBVSxLQUFLLFlBQVksRUFBRTtvQkFDL0IsT0FBTzt3QkFDTCxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7d0JBQzFELEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtxQkFDOUQsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3RFLFFBQVEsQ0FBQyxTQUFTLFdBQVcsSUFBSSxVQUFVLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsZ0JBQWdCLE9BQU8sQ0FBQztRQUN0RyxPQUFPO0tBQ1IsQ0FBQyxFQUFFLEVBQUU7UUFDSixTQUFTLEtBQUssQ0FBQyxFQUFZLEVBQUUsV0FBd0M7WUFDbkUsT0FBTyxzQkFBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFRLENBQUMsQ0FBQyxLQUFLLENBQy9HLEVBQUUsRUFDRjtnQkFDRSxXQUFXO2FBQ1osQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBc0IsQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSztZQUNWLE9BQU8sR0FBRyxNQUFNLHNDQUEyQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUNwRSxVQUFVO2dCQUNWLFNBQVM7Z0JBQ1QsV0FBVzthQUNaLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNYLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0IsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BDLEVBQUUsQ0FBQyx3QkFBd0IsV0FBVyxHQUFHLEVBQUUsS0FBSztnQkFDOUMsSUFBSSxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUN2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2I7Z0JBQ0QsTUFBTSxTQUFTLEdBQUcsNEJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDN0csT0FBTztpQkFDUixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUMxRSxNQUFNLFFBQVEsR0FBRyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUM3RixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNLENBQUMsV0FBVyxDQUNoQixTQUFTLEVBQ1QsTUFBTSwyQkFBZ0IsQ0FBQyxtQ0FBbUMsUUFBUSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQ3JGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vY2hhIGZyb20gJ21vY2hhJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgZm9ybWF0VHJlZU5vQ29sb3IsIGdldEZpeHR1cmVTdHJpbmcsIGdldFRyYW5zYWN0aW9uV2l0aFNwZW5kVHlwZSwgUGFyc2VkRml4dHVyZSB9IGZyb20gJy4vZml4dHVyZXMnO1xuaW1wb3J0IHsgUGFyc2VyTm9kZSB9IGZyb20gJy4uL3NyYy9QYXJzZXInO1xuaW1wb3J0IHsgY21kUGFyc2VUeCwgZ2V0VHhQYXJzZXIgfSBmcm9tICcuLi9zcmMvY29tbWFuZHMnO1xuaW1wb3J0IHsgUGFyc2VyVHggfSBmcm9tICcuLi9zcmMvUGFyc2VyVHgnO1xuXG50eXBlIFRlc3RQYXJhbXMgPSB7XG4gIHNjcmlwdFR5cGU6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMztcbiAgc3BlbmRUeXBlOiAna2V5UGF0aCcgfCAnc2NyaXB0UGF0aCcgfCB1bmRlZmluZWQ7XG4gIGZpeHR1cmVUeXBlOiAncHNidFVuc2lnbmVkJyB8ICdwc2J0SGFsZlNpZ25lZCcgfCAncHNidEZ1bGxTaWduZWQnIHwgJ25ldHdvcmtGdWxsU2lnbmVkJztcbiAgc2hvd0FsbDogYm9vbGVhbjtcbn07XG5cbmZ1bmN0aW9uIGdldEFyZ3MoeyBzaG93QWxsIH06IHsgc2hvd0FsbDogYm9vbGVhbiB9KTogc3RyaW5nW10ge1xuICByZXR1cm4gc2hvd0FsbCA/IFsnLS1hbGwnXSA6IFtdO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJhbXMoKTogVGVzdFBhcmFtc1tdIHtcbiAgcmV0dXJuIChbJ3BzYnRVbnNpZ25lZCcsICdwc2J0SGFsZlNpZ25lZCcsICdwc2J0RnVsbFNpZ25lZCcsICduZXR3b3JrRnVsbFNpZ25lZCddIGFzIGNvbnN0KS5mbGF0TWFwKChmaXh0dXJlVHlwZSkgPT4ge1xuICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmZsYXRNYXAoKHNob3dBbGwpID0+IHtcbiAgICAgIHJldHVybiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuc2NyaXB0VHlwZXMyT2YzLmZsYXRNYXAoKHNjcmlwdFR5cGUpOiBUZXN0UGFyYW1zW10gPT4ge1xuICAgICAgICBpZiAoc2NyaXB0VHlwZSA9PT0gJ3AydHJNdXNpZzInKSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgc2NyaXB0VHlwZSwgc3BlbmRUeXBlOiAna2V5UGF0aCcsIHNob3dBbGwsIGZpeHR1cmVUeXBlIH0sXG4gICAgICAgICAgICB7IHNjcmlwdFR5cGUsIHNwZW5kVHlwZTogJ3NjcmlwdFBhdGgnLCBzaG93QWxsLCBmaXh0dXJlVHlwZSB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFt7IHNjcmlwdFR5cGUsIHNwZW5kVHlwZTogdW5kZWZpbmVkLCBzaG93QWxsLCBmaXh0dXJlVHlwZSB9XTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZ2V0UGFyYW1zKCkuZm9yRWFjaCgoeyBzY3JpcHRUeXBlLCBzcGVuZFR5cGUsIGZpeHR1cmVUeXBlLCBzaG93QWxsIH0pID0+IHtcbiAgZGVzY3JpYmUoYHBhcnNlICR7Zml4dHVyZVR5cGV9ICR7c2NyaXB0VHlwZX0gJHtzcGVuZFR5cGUgPyBzcGVuZFR5cGUgOiAnZGVmYXVsdCd9IHNwZW5kIFthcmdzPSR7Z2V0QXJncyh7XG4gICAgc2hvd0FsbCxcbiAgfSl9YCwgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIHBhcnNlKHR4OiBQYXJzZXJUeCwgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD5bXSk6IFBhcnNlck5vZGUge1xuICAgICAgcmV0dXJuIGdldFR4UGFyc2VyKHlhcmdzLmNvbW1hbmQoY21kUGFyc2VUeCkucGFyc2UoWy4uLmdldEFyZ3MoeyBzaG93QWxsIH0pLCAnLS1wYXJzZUVycm9yPXRocm93J10pIGFzIGFueSkucGFyc2UoXG4gICAgICAgIHR4LFxuICAgICAgICB7XG4gICAgICAgICAgcHJldk91dHB1dHMsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGZpeHR1cmU6IFBhcnNlZEZpeHR1cmU7XG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGZpeHR1cmUgPSBhd2FpdCBnZXRUcmFuc2FjdGlvbldpdGhTcGVuZFR5cGUodXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0LCB7XG4gICAgICAgIHNjcmlwdFR5cGUsXG4gICAgICAgIHNwZW5kVHlwZSxcbiAgICAgICAgZml4dHVyZVR5cGUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KGBwYXJzZXNgLCBmdW5jdGlvbiAoKSB7XG4gICAgICBwYXJzZShmaXh0dXJlLnRyYW5zYWN0aW9uKTtcbiAgICAgIGlmIChmaXh0dXJlLnByZXZPdXRwdXRzKSB7XG4gICAgICAgIHBhcnNlKGZpeHR1cmUudHJhbnNhY3Rpb24sIGZpeHR1cmUucHJldk91dHB1dHMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgW2ZhbHNlLCB0cnVlXS5mb3JFYWNoKCh1c2VQcmV2T3V0cykgPT4ge1xuICAgICAgaXQoYGZvcm1hdHMgW3VzZVByZXZPdXRzPSR7dXNlUHJldk91dHN9XWAsIGFzeW5jIGZ1bmN0aW9uICh0aGlzOiBtb2NoYS5Db250ZXh0KSB7XG4gICAgICAgIGlmICh1c2VQcmV2T3V0cyAmJiAhZml4dHVyZS5wcmV2T3V0cHV0cykge1xuICAgICAgICAgIHRoaXMuc2tpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdFRyZWVOb0NvbG9yKHBhcnNlKGZpeHR1cmUudHJhbnNhY3Rpb24sIHVzZVByZXZPdXRzID8gZml4dHVyZS5wcmV2T3V0cHV0cyA6IHVuZGVmaW5lZCksIHtcbiAgICAgICAgICBzaG93QWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZml4dHVyZU5hbWUgPSBzcGVuZFR5cGUgPyBgJHtzY3JpcHRUeXBlfV8ke3NwZW5kVHlwZX1gIDogc2NyaXB0VHlwZTtcbiAgICAgICAgY29uc3QgZmlsZW5hbWUgPSBbZml4dHVyZU5hbWUsIGZpeHR1cmVUeXBlLCBzaG93QWxsID8gJ2FsbCcgOiAnJywgdXNlUHJldk91dHMgPyAncHJldk91dHMnIDogJyddXG4gICAgICAgICAgLmZpbHRlcigodikgPT4gdiAhPT0gJycpXG4gICAgICAgICAgLmpvaW4oJ18nKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGZvcm1hdHRlZCxcbiAgICAgICAgICBhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKGB0ZXN0L2ZpeHR1cmVzL2Zvcm1hdFRyYW5zYWN0aW9uLyR7ZmlsZW5hbWV9LnR4dGAsIGZvcm1hdHRlZClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stringToBuffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringToBuffer.d.ts","sourceRoot":"","sources":["../../test/stringToBuffer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const parseString_1 = require("../src/parseString");
5
+ describe('stringToBuffer', function () {
6
+ const bytes = Buffer.alloc(32, 42);
7
+ it('converts hex and base64', function () {
8
+ for (const e of ['hex', 'base64']) {
9
+ const str = bytes.toString(e);
10
+ assert.deepStrictEqual(parseString_1.stringToBuffer(str, ['hex', 'base64']), bytes);
11
+ const strNl = [str.slice(0, 4), str.slice(4)].join('\n');
12
+ assert.deepStrictEqual(parseString_1.stringToBuffer(strNl, ['hex', 'base64']), bytes);
13
+ }
14
+ });
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nVG9CdWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L3N0cmluZ1RvQnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQWlDO0FBRWpDLG9EQUFvRDtBQUVwRCxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7SUFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkMsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBQzVCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsZUFBZSxDQUFDLDRCQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELE1BQU0sQ0FBQyxlQUFlLENBQUMsNEJBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgc3RyaW5nVG9CdWZmZXIgfSBmcm9tICcuLi9zcmMvcGFyc2VTdHJpbmcnO1xuXG5kZXNjcmliZSgnc3RyaW5nVG9CdWZmZXInLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGJ5dGVzID0gQnVmZmVyLmFsbG9jKDMyLCA0Mik7XG4gIGl0KCdjb252ZXJ0cyBoZXggYW5kIGJhc2U2NCcsIGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKGNvbnN0IGUgb2YgWydoZXgnLCAnYmFzZTY0J10pIHtcbiAgICAgIGNvbnN0IHN0ciA9IGJ5dGVzLnRvU3RyaW5nKGUpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChzdHJpbmdUb0J1ZmZlcihzdHIsIFsnaGV4JywgJ2Jhc2U2NCddKSwgYnl0ZXMpO1xuXG4gICAgICBjb25zdCBzdHJObCA9IFtzdHIuc2xpY2UoMCwgNCksIHN0ci5zbGljZSg0KV0uam9pbignXFxuJyk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHN0cmluZ1RvQnVmZmVyKHN0ck5sLCBbJ2hleCcsICdiYXNlNjQnXSksIGJ5dGVzKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=