@bitgo/utxo-bin 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,11 +59,10 @@ class InputParser extends Parser_1.Parser {
59
59
  });
60
60
  }
61
61
  parseInputScript(buffer) {
62
- var _a;
63
62
  let value;
64
63
  let nodes;
65
64
  if (buffer && buffer.length && this.params.parseSignatureData.script) {
66
- const type = (_a = utxolib.classify.input(buffer, true)) !== null && _a !== void 0 ? _a : 'unknown';
65
+ const type = utxolib.classify.input(buffer, true) ?? 'unknown';
67
66
  const decompiled = utxolib.script.decompile(buffer);
68
67
  if (decompiled) {
69
68
  nodes = this.parseScriptParts(type, decompiled);
@@ -76,11 +75,10 @@ class InputParser extends Parser_1.Parser {
76
75
  return this.node('scriptSig', value, nodes);
77
76
  }
78
77
  parseWitness(script) {
79
- var _a;
80
78
  if (!script || script.length === 0) {
81
79
  return this.node('witness', '[]');
82
80
  }
83
- const type = (_a = utxolib.classify.witness(script, true)) !== null && _a !== void 0 ? _a : 'unknown';
81
+ const type = utxolib.classify.witness(script, true) ?? 'unknown';
84
82
  return this.node('witness', type, this.params.parseScriptData ? this.parseScriptParts(type, script) : undefined);
85
83
  }
86
84
  parsePubkeys(parsed) {
@@ -134,7 +132,6 @@ class InputParser extends Parser_1.Parser {
134
132
  return nodes;
135
133
  }
136
134
  parseSignatures(parsed) {
137
- var _a;
138
135
  const nodes = [];
139
136
  if ('signatures' in parsed &&
140
137
  'publicKeys' in parsed &&
@@ -165,14 +162,13 @@ class InputParser extends Parser_1.Parser {
165
162
  .join(' '), nodes);
166
163
  }
167
164
  else if ('signatures' in parsed) {
168
- return this.node('signatures', undefined, ((_a = parsed.signatures) !== null && _a !== void 0 ? _a : []).map((s, i) => this.node(i, s)));
165
+ return this.node('signatures', undefined, (parsed.signatures ?? []).map((s, i) => this.node(i, s)));
169
166
  }
170
167
  else {
171
168
  return this.node('signatures', undefined);
172
169
  }
173
170
  }
174
171
  parseSigScriptWithType(parsed) {
175
- var _a;
176
172
  if (parsed.scriptType &&
177
173
  (utxolib.bitgo.outputScripts.isScriptType2Of3(parsed.scriptType) ||
178
174
  parsed.scriptType === 'taprootScriptPathSpend' ||
@@ -182,7 +178,7 @@ class InputParser extends Parser_1.Parser {
182
178
  if (parsed.scriptType === 'p2shP2wshHollow' || parsed.scriptType === 'p2shP2wpkhHollow') {
183
179
  return this.node('sigScript', parsed.scriptType, [this.node('info', (0, hollowSegwitSpend_1.getHollowSpendMessage)())]);
184
180
  }
185
- return this.node('sigScript', (_a = parsed.scriptType) !== null && _a !== void 0 ? _a : 'unknown');
181
+ return this.node('sigScript', parsed.scriptType ?? 'unknown');
186
182
  }
187
183
  parseSigScript() {
188
184
  try {
@@ -231,10 +227,9 @@ class InputParser extends Parser_1.Parser {
231
227
  }).flatMap(([key, value]) => (value ? [(0, parseUnknown_1.parseUnknown)(this, key, value)] : []));
232
228
  }
233
229
  parseInput() {
234
- var _a;
235
230
  const psbtInput = this.tx instanceof utxolib.bitgo.UtxoPsbt ? this.tx.data.inputs[this.inputIndex] : undefined;
236
231
  const { txid: prevTxid, vout, sequence, script, witness } = (0, ParserTx_1.getParserTxInputProperties)(this.input, psbtInput);
237
- const prevOutput = (_a = this.chainInfo.prevOutputs) === null || _a === void 0 ? void 0 : _a[this.inputIndex];
232
+ const prevOutput = this.chainInfo.prevOutputs?.[this.inputIndex];
238
233
  return this.node(this.inputIndex, getOutputId(this.input), [
239
234
  this.node('sequence', sequence === undefined ? undefined : toBufferUInt32BE(sequence)),
240
235
  this.parseInputScript(script),
@@ -251,4 +246,4 @@ class InputParser extends Parser_1.Parser {
251
246
  }
252
247
  }
253
248
  exports.InputParser = InputParser;
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvSW5wdXRQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBQzNDLGlEQUF3RDtBQUV4RCxxQ0FBOEM7QUFDOUMseUNBQTZGO0FBQzdGLDJEQUF1RztBQUN2RyxtQ0FBa0M7QUFFbEMsaURBQThDO0FBQzlDLGlEQUE4QztBQUM5QyxpREFBOEM7QUFXOUMsU0FBUyxXQUFXLENBQUMsQ0FBa0M7SUFDckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsRUFBWSxFQUFFLFVBQWtCLEVBQUUsT0FBd0I7SUFDdEYsSUFBSSxFQUFFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQ0wsSUFBQSwwQ0FBc0IsRUFBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM5RyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFTO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTyxHQUFHLENBQUM7QUFD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QyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxHQUFHLENBQUMsVUFBVTtnQkFDWixDQUFDLENBQUMsSUFBSSwyQkFBWSxDQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUNmLFFBQVEsRUFDUixJQUFJLEVBQ0osVUFBVSxFQUNWLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDLG9CQUFvQixDQUFDO29CQUNyQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDO2dCQUNKLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDckQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBelRELGtDQXlUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IHNjcmlwdCwgU2NyaXB0U2lnbmF0dXJlIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5cbmltcG9ydCB7IFBhcnNlciwgUGFyc2VyTm9kZSB9IGZyb20gJy4vUGFyc2VyJztcbmltcG9ydCB7IGdldFBhcnNlclR4SW5wdXRQcm9wZXJ0aWVzLCBnZXRQcmV2T3V0LCBQYXJzZXJUeCwgUGFyc2VyVHhJbnB1dCB9IGZyb20gJy4vUGFyc2VyVHgnO1xuaW1wb3J0IHsgZ2V0SG9sbG93U3BlbmRNZXNzYWdlLCBIb2xsb3dTZWd3aXRTcGVuZCwgcGFyc2VIb2xsb3dTZWd3aXRTcGVuZCB9IGZyb20gJy4vaG9sbG93U2Vnd2l0U3BlbmQnO1xuaW1wb3J0IHsgaXNIaWdoUyB9IGZyb20gJy4vZWNkc2EnO1xuaW1wb3J0IHsgQ2hhaW5JbmZvIH0gZnJvbSAnLi9UeFBhcnNlcic7XG5pbXBvcnQgeyBPdXRwdXRQYXJzZXIgfSBmcm9tICcuL091dHB1dFBhcnNlcic7XG5pbXBvcnQgeyBwYXJzZVVua25vd24gfSBmcm9tICcuL3BhcnNlVW5rbm93bic7XG5pbXBvcnQgeyBTY3JpcHRQYXJzZXIgfSBmcm9tICcuL1NjcmlwdFBhcnNlcic7XG5cbnR5cGUgUGFyc2VkU2lnbmF0dXJlU2NyaXB0ID1cbiAgfCB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdFAybXNcbiAgfCB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdFAyc2hQMnBrXG4gIHwgdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHRUYXByb290XG4gIHwgdXR4b2xpYi5iaXRnby5QYXJzZWRQc2J0UDJtc1xuICB8IHV0eG9saWIuYml0Z28uUGFyc2VkUHNidFAyc2hQMnBrXG4gIHwgdXR4b2xpYi5iaXRnby5QYXJzZWRQc2J0VGFwcm9vdFxuICB8IEhvbGxvd1NlZ3dpdFNwZW5kO1xuXG5mdW5jdGlvbiBnZXRPdXRwdXRJZCh2OiB7IGhhc2g6IEJ1ZmZlcjsgaW5kZXg6IG51bWJlciB9KTogc3RyaW5nIHtcbiAgcmV0dXJuIHV0eG9saWIuYml0Z28uZm9ybWF0T3V0cHV0SWQodXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KHYpKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VTaWduYXR1cmVTY3JpcHQodHg6IFBhcnNlclR4LCBpbnB1dEluZGV4OiBudW1iZXIsIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IFBhcnNlZFNpZ25hdHVyZVNjcmlwdCB7XG4gIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcnNlSG9sbG93U2Vnd2l0U3BlbmQodHguaW5zW2lucHV0SW5kZXhdLCBuZXR3b3JrKSB8fCB1dHhvbGliLmJpdGdvLnBhcnNlU2lnbmF0dXJlU2NyaXB0KHR4Lmluc1tpbnB1dEluZGV4XSlcbiAgICApO1xuICB9XG4gIHJldHVybiB1dHhvbGliLmJpdGdvLnBhcnNlUHNidElucHV0KHR4LmRhdGEuaW5wdXRzW2lucHV0SW5kZXhdKTtcbn1cblxuZnVuY3Rpb24gdG9CdWZmZXJVSW50MzJCRShuOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIGJ1Zi53cml0ZVVJbnQzMkxFKG4sIDApO1xuICByZXR1cm4gYnVmO1xufVxuXG5leHBvcnQgY2xhc3MgSW5wdXRQYXJzZXIgZXh0ZW5kcyBQYXJzZXIge1xuICBwcml2YXRlIGlucHV0OiBQYXJzZXJUeElucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHhpZDogc3RyaW5nLFxuICAgIHByaXZhdGUgdHg6IFBhcnNlclR4LFxuICAgIHByaXZhdGUgaW5wdXRJbmRleDogbnVtYmVyLFxuICAgIHByaXZhdGUgY2hhaW5JbmZvOiBDaGFpbkluZm8sXG4gICAgcHJpdmF0ZSBwYXJhbXM6IHtcbiAgICAgIHBhcnNlT3V0cHV0U2NyaXB0OiBib29sZWFuO1xuICAgICAgcGFyc2VTY3JpcHRBc206IGJvb2xlYW47XG4gICAgICBwYXJzZVNjcmlwdERhdGE6IGJvb2xlYW47XG4gICAgICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICAgICAgc2NyaXB0OiBib29sZWFuO1xuICAgICAgICBlY2RzYTogYm9vbGVhbjtcbiAgICAgICAgc2Nobm9ycjogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgICBwYXJzZUVycm9yPzogJ3Rocm93JyB8ICdjb250aW51ZSc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcih7IHBhcnNlRXJyb3I6IHBhcmFtcy5wYXJzZUVycm9yIH0pO1xuICAgIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aGlzLmlucHV0ID0gdHguaW5zW2lucHV0SW5kZXhdO1xuICAgIH0gZWxzZSBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgICB0aGlzLmlucHV0ID0gdHgudHhJbnB1dHNbaW5wdXRJbmRleF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTY3JpcHRBc20odHlwZTogc3RyaW5nLCBwYXJ0OiBCdWZmZXIsIGk6IG51bWJlciwgbjogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoXG4gICAgICAodHlwZSA9PT0gJ3RhcHJvb3QnICYmIGkgPT09IG4gLSAyKSB8fFxuICAgICAgKCh0eXBlID09PSAnc2NyaXB0aGFzaCcgfHwgdHlwZSA9PT0gJ3dpdG5lc3NzY3JpcHRoYXNoJykgJiYgaSA9PT0gbiAtIDEpXG4gICAgKSB7XG4gICAgICByZXR1cm4gU2NyaXB0UGFyc2VyLnRvQVNNKHBhcnQpO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlU2NyaXB0UGFydHModHlwZTogc3RyaW5nLCBwYXJ0czogQXJyYXk8QnVmZmVyIHwgbnVtYmVyPik6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIHBhcnRzLm1hcCgodiwgaSkgPT4ge1xuICAgICAgbGV0IGFzbU5vZGU6IFBhcnNlck5vZGUgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAodGhpcy5wYXJhbXMucGFyc2VTY3JpcHRBc20gJiYgQnVmZmVyLmlzQnVmZmVyKHYpKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VTY3JpcHRBc20odHlwZSwgdiwgaSwgcGFydHMubGVuZ3RoKTtcbiAgICAgICAgYXNtTm9kZSA9IHBhcnNlZCA/IHRoaXMubm9kZSgnYXNtJywgcGFyc2VkKSA6IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMubm9kZShpLCB0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdERhdGEgPyB2IDogdW5kZWZpbmVkLCBhc21Ob2RlID8gW2FzbU5vZGVdIDogdW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhcnNlSW5wdXRTY3JpcHQoYnVmZmVyOiBCdWZmZXIgfCB1bmRlZmluZWQpOiBQYXJzZXJOb2RlIHtcbiAgICBsZXQgdmFsdWU7XG4gICAgbGV0IG5vZGVzO1xuICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLmxlbmd0aCAmJiB0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuc2NyaXB0KSB7XG4gICAgICBjb25zdCB0eXBlID0gdXR4b2xpYi5jbGFzc2lmeS5pbnB1dChidWZmZXIsIHRydWUpID8/ICd1bmtub3duJztcbiAgICAgIGNvbnN0IGRlY29tcGlsZWQgPSB1dHhvbGliLnNjcmlwdC5kZWNvbXBpbGUoYnVmZmVyKTtcbiAgICAgIGlmIChkZWNvbXBpbGVkKSB7XG4gICAgICAgIG5vZGVzID0gdGhpcy5wYXJzZVNjcmlwdFBhcnRzKHR5cGUsIGRlY29tcGlsZWQpO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSB0eXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IGJ1ZmZlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ub2RlKCdzY3JpcHRTaWcnLCB2YWx1ZSwgbm9kZXMpO1xuICB9XG5cbiAgcGFyc2VXaXRuZXNzKHNjcmlwdDogQnVmZmVyW10gfCB1bmRlZmluZWQpOiBQYXJzZXJOb2RlIHtcbiAgICBpZiAoIXNjcmlwdCB8fCBzY3JpcHQubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCd3aXRuZXNzJywgJ1tdJyk7XG4gICAgfVxuICAgIGNvbnN0IHR5cGUgPSB1dHhvbGliLmNsYXNzaWZ5LndpdG5lc3Moc2NyaXB0LCB0cnVlKSA/PyAndW5rbm93bic7XG4gICAgcmV0dXJuIHRoaXMubm9kZSgnd2l0bmVzcycsIHR5cGUsIHRoaXMucGFyYW1zLnBhcnNlU2NyaXB0RGF0YSA/IHRoaXMucGFyc2VTY3JpcHRQYXJ0cyh0eXBlLCBzY3JpcHQpIDogdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHBhcnNlUHVia2V5cyhwYXJzZWQ6IFBhcnNlZFNpZ25hdHVyZVNjcmlwdCk6IFBhcnNlck5vZGUge1xuICAgIGlmICgncHVibGljS2V5cycgaW4gcGFyc2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgICAncHVia2V5cycsXG4gICAgICAgIHBhcnNlZC5wdWJsaWNLZXlzLmxlbmd0aCxcbiAgICAgICAgcGFyc2VkLnB1YmxpY0tleXMubWFwKChrLCBpKSA9PiB0aGlzLm5vZGUoaSwgaykpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdwdWJrZXlzJywgJ1tdJyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTaWduYXR1cmVCdWZmZXIoXG4gICAgdHlwZTpcbiAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzXG4gICAgICB8IHV0eG9saWIuYml0Z28uUGFyc2VkU2NyaXB0VHlwZTJPZjNcbiAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGVQMnNoUDJwayxcbiAgICBidWY6IEJ1ZmZlciB8IDAsXG4gICAgc2lnbmVySW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmIChidWYgPT09IDApIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCd0eXBlJywgJ3BsYWNlaG9sZGVyICgwKScpXTtcbiAgICB9XG5cbiAgICBpZiAoYnVmLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3R5cGUnLCAncGxhY2Vob2xkZXIgKGVtcHR5IEJ1ZmZlciknKV07XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSBbdGhpcy5ub2RlKCdieXRlcycsIGJ1ZildO1xuICAgIGlmIChzaWduZXJJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgndmFsaWQnLCAwIDw9IHNpZ25lckluZGV4KSk7XG4gICAgICBpZiAoMCA8PSBzaWduZXJJbmRleCkge1xuICAgICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgnc2lnbmVkQnknLCBbJ3VzZXInLCAnYmFja3VwJywgJ2JpdGdvJ11bc2lnbmVySW5kZXhdKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICd0YXByb290U2NyaXB0UGF0aFNwZW5kJyB8fCB0eXBlID09PSAndGFwcm9vdEtleVBhdGhTcGVuZCcpIHtcbiAgICAgIC8vIFRPRE9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBzaWduYXR1cmUsIGhhc2hUeXBlIH0gPSBTY3JpcHRTaWduYXR1cmUuZGVjb2RlKGJ1Zik7XG4gICAgICBjb25zdCByID0gc2lnbmF0dXJlLnN1YmFycmF5KDAsIDMyKTtcbiAgICAgIGNvbnN0IHMgPSBzaWduYXR1cmUuc3ViYXJyYXkoMzIpO1xuXG4gICAgICBpZiAoci5sZW5ndGggIT09IDMyIHx8IHMubGVuZ3RoICE9PSAzMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgc2NhbGFyIGxlbmd0aGApO1xuICAgICAgfVxuXG4gICAgICBub2Rlcy5wdXNoKFxuICAgICAgICB0aGlzLm5vZGUoJ2lzQ2Fub25pY2FsJywgc2NyaXB0LmlzQ2Fub25pY2FsU2NyaXB0U2lnbmF0dXJlKGJ1ZikpLFxuICAgICAgICB0aGlzLm5vZGUoJ2hhc2hUeXBlJywgaGFzaFR5cGUpLFxuICAgICAgICB0aGlzLm5vZGUoJ3InLCByKSxcbiAgICAgICAgdGhpcy5ub2RlKCdzJywgcyksXG4gICAgICAgIHRoaXMubm9kZSgnaGlnaFMnLCBpc0hpZ2hTKHMpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBwYXJzZVNpZ25hdHVyZXNXaXRoU2lnbmVycyhcbiAgICBwYXJzZWQ6IHtcbiAgICAgIHNjcmlwdFR5cGU6XG4gICAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzXG4gICAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGVQMnNoUDJwa1xuICAgICAgICB8IHV0eG9saWIuYml0Z28uUGFyc2VkU2NyaXB0VHlwZTJPZjM7XG4gICAgICBzaWduYXR1cmVzOiAoQnVmZmVyIHwgMClbXTtcbiAgICB9LFxuICAgIHNpZ25lZEJ5TGFiZWxzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICBzaWduZXJJbmRleDogbnVtYmVyW10gfCB1bmRlZmluZWRcbiAgKTogUGFyc2VyTm9kZVtdIHtcbiAgICBjb25zdCBub2RlcyA9IHNpZ25lZEJ5TGFiZWxzID8gW3RoaXMubm9kZSgnc2lnbmVkIGJ5JywgYFske3NpZ25lZEJ5TGFiZWxzLmpvaW4oJywgJyl9XWApXSA6IFtdO1xuICAgIGlmICh0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuZWNkc2EgfHwgdGhpcy5wYXJhbXMucGFyc2VTaWduYXR1cmVEYXRhLnNjaG5vcnIpIHtcbiAgICAgIG5vZGVzLnB1c2goXG4gICAgICAgIC4uLnBhcnNlZC5zaWduYXR1cmVzLm1hcCgoczogQnVmZmVyIHwgMCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICAgICAgIGksXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgdGhpcy5wYXJzZVNpZ25hdHVyZUJ1ZmZlcihwYXJzZWQuc2NyaXB0VHlwZSwgcywgc2lnbmVySW5kZXggPyBzaWduZXJJbmRleFtpXSA6IHVuZGVmaW5lZClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZShpLCB1bmRlZmluZWQsIFt0aGlzLm5vZGUoJ2J1ZicsIHMpLCB0aGlzLmhhbmRsZVBhcnNlRXJyb3IoZSldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBwYXJzZVNpZ25hdHVyZXMocGFyc2VkOiBQYXJzZWRTaWduYXR1cmVTY3JpcHQpOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCBub2RlczogUGFyc2VyTm9kZVtdID0gW107XG4gICAgaWYgKFxuICAgICAgJ3NpZ25hdHVyZXMnIGluIHBhcnNlZCAmJlxuICAgICAgJ3B1YmxpY0tleXMnIGluIHBhcnNlZCAmJlxuICAgICAgJ3NjcmlwdFR5cGUnIGluIHBhcnNlZCAmJlxuICAgICAgcGFyc2VkLnNpZ25hdHVyZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgaWYgKHRoaXMudHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbiAmJiB0aGlzLmNoYWluSW5mby5wcmV2T3V0cHV0cykge1xuICAgICAgICBjb25zdCBzaWduZWRCeSA9IHV0eG9saWIuYml0Z28uZ2V0U2lnbmF0dXJlc1dpdGhQdWJsaWNLZXlzKFxuICAgICAgICAgIHRoaXMudHgsXG4gICAgICAgICAgdGhpcy5pbnB1dEluZGV4LFxuICAgICAgICAgIHRoaXMuY2hhaW5JbmZvLnByZXZPdXRwdXRzLFxuICAgICAgICAgIHBhcnNlZC5wdWJsaWNLZXlzXG4gICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbm9kZXMucHVzaChcbiAgICAgICAgICAgIC4uLnRoaXMucGFyc2VTaWduYXR1cmVzV2l0aFNpZ25lcnMoXG4gICAgICAgICAgICAgIHBhcnNlZCxcbiAgICAgICAgICAgICAgc2lnbmVkQnkuZmxhdE1hcCgodiwgaSkgPT4gKHYgPyBbaS50b1N0cmluZygpXSA6IFtdKSksXG4gICAgICAgICAgICAgIHBhcnNlZC5zaWduYXR1cmVzLm1hcCgoazogQnVmZmVyIHwgMCkgPT4gKGsgPT09IDAgPyAtMSA6IHNpZ25lZEJ5LmluZGV4T2YoaykpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgncGFyc2VTaWduYXR1cmVzV2l0aFNpZ25lcnMnLCB1bmRlZmluZWQsIFt0aGlzLmhhbmRsZVBhcnNlRXJyb3IoZSldKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkge1xuICAgICAgICBsZXQgc2lnbmVkQnlMYWJlbHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAocGFyc2VkLnB1YmxpY0tleXMgJiYgQXJyYXkuaXNBcnJheShwYXJzZWQucHVibGljS2V5cykpIHtcbiAgICAgICAgICBjb25zdCBwc2J0ID0gdGhpcy50eDtcbiAgICAgICAgICBzaWduZWRCeUxhYmVscyA9IHBhcnNlZC5wdWJsaWNLZXlzLmZsYXRNYXAoKGs6IEJ1ZmZlciwgaSkgPT5cbiAgICAgICAgICAgIEJ1ZmZlci5pc0J1ZmZlcihrKSAmJiBwc2J0LnZhbGlkYXRlU2lnbmF0dXJlc09mSW5wdXRDb21tb24odGhpcy5pbnB1dEluZGV4LCBrKSA/IFtpLnRvU3RyaW5nKCldIDogW11cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IHRoZSBjdXJyZW50IFV0eG9Qc2J0IEFQSSBkb2VzIG5vdCBhbGxvdyB1cyB0byBkZXRlcm1pbmUgd2hpY2ggc2lnbmVyIGNyZWF0ZWQgd2hpY2ggc2lnbmF0dXJlXG4gICAgICAgIGNvbnN0IHNpZ25lckluZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICBub2Rlcy5wdXNoKC4uLnRoaXMucGFyc2VTaWduYXR1cmVzV2l0aFNpZ25lcnMocGFyc2VkLCBzaWduZWRCeUxhYmVscywgc2lnbmVySW5kZXgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgICAgcGFyc2VkLnNpZ25hdHVyZXNcbiAgICAgICAgICAubWFwKChzOiBCdWZmZXIgfCAwKSA9PlxuICAgICAgICAgICAgdXR4b2xpYi5iaXRnby5pc1BsYWNlaG9sZGVyU2lnbmF0dXJlKHMpID8gJ1tdJyA6IEJ1ZmZlci5pc0J1ZmZlcihzKSA/IGBbJHtzLmxlbmd0aH1ieXRlXWAgOiBgWyR7c31dYFxuICAgICAgICAgIClcbiAgICAgICAgICAuam9pbignICcpLFxuICAgICAgICBub2Rlc1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCdzaWduYXR1cmVzJyBpbiBwYXJzZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAocGFyc2VkLnNpZ25hdHVyZXMgPz8gW10pLm1hcCgoczogQnVmZmVyIHwgMCwgaTogbnVtYmVyKSA9PiB0aGlzLm5vZGUoaSwgcykpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdzaWduYXR1cmVzJywgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdFdpdGhUeXBlKHBhcnNlZDogUGFyc2VkU2lnbmF0dXJlU2NyaXB0KTogUGFyc2VyTm9kZSB7XG4gICAgaWYgKFxuICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgJiZcbiAgICAgICh1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuaXNTY3JpcHRUeXBlMk9mMyhwYXJzZWQuc2NyaXB0VHlwZSkgfHxcbiAgICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgPT09ICd0YXByb290U2NyaXB0UGF0aFNwZW5kJyB8fFxuICAgICAgICBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZSgnc2lnU2NyaXB0JywgcGFyc2VkLnNjcmlwdFR5cGUsIFt0aGlzLnBhcnNlUHVia2V5cyhwYXJzZWQpLCB0aGlzLnBhcnNlU2lnbmF0dXJlcyhwYXJzZWQpXSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZC5zY3JpcHRUeXBlID09PSAncDJzaFAyd3NoSG9sbG93JyB8fCBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3Ayc2hQMndwa2hIb2xsb3cnKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdzaWdTY3JpcHQnLCBwYXJzZWQuc2NyaXB0VHlwZSwgW3RoaXMubm9kZSgnaW5mbycsIGdldEhvbGxvd1NwZW5kTWVzc2FnZSgpKV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHBhcnNlZC5zY3JpcHRUeXBlID8/ICd1bmtub3duJyk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdCgpOiBQYXJzZXJOb2RlIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VTaWdTY3JpcHRXaXRoVHlwZShwYXJzZVNpZ25hdHVyZVNjcmlwdCh0aGlzLnR4LCB0aGlzLmlucHV0SW5kZXgsIHRoaXMudHgubmV0d29yaykpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHVuZGVmaW5lZCwgW3RoaXMuaGFuZGxlUGFyc2VFcnJvcihlKV0pO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlUHJldk91dChwcmV2T3V0cHV0OiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD4gfCB1dHhvbGliLmJpdGdvLlBzYnRJbnB1dCk6IFBhcnNlck5vZGVbXSB7XG4gICAgbGV0IHNjcmlwdDogQnVmZmVyO1xuICAgIGxldCB2YWx1ZTogYmlnaW50O1xuICAgIGlmICgnc2NyaXB0JyBpbiBwcmV2T3V0cHV0ICYmIHByZXZPdXRwdXQuc2NyaXB0KSB7XG4gICAgICAoeyBzY3JpcHQsIHZhbHVlIH0gPSBwcmV2T3V0cHV0KTtcbiAgICB9IGVsc2UgaWYgKCd3aXRuZXNzVXR4bycgaW4gcHJldk91dHB1dCB8fCAnbm9uV2l0bmVzc1V0eG8nIGluIHByZXZPdXRwdXQpIHtcbiAgICAgIGlmICghKHRoaXMudHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc3RhdGUnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldFByZXZPdXQocHJldk91dHB1dCwgdGhpcy50eC50eElucHV0c1t0aGlzLmlucHV0SW5kZXhdLCB0aGlzLnR4Lm5ldHdvcmspO1xuICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NjcmlwdCcsICd1bmtub3duJyksIHRoaXMubm9kZSgndmFsdWUnLCAndW5rbm93bicpXTtcbiAgICAgIH1cbiAgICAgICh7IHNjcmlwdCwgdmFsdWUgfSA9IHJlc3VsdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcmV2T3V0cHV0Jyk7XG4gICAgfVxuXG4gICAgbGV0IGFkZHJlc3M7XG4gICAgdHJ5IHtcbiAgICAgIGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChzY3JpcHQsIHRoaXMudHgubmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYWRkcmVzcyA9ICcoZXJyb3IpJztcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgndmFsdWUnLCBOdW1iZXIodmFsdWUpIC8gMWU4KSxcbiAgICAgIHRoaXMubm9kZSgncHViU2NyaXB0Jywgc2NyaXB0LCBhZGRyZXNzID8gW3RoaXMubm9kZSgnYWRkcmVzcycsIGFkZHJlc3MpXSA6IHVuZGVmaW5lZCksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlUHNidElucHV0KGlucHV0OiB1dHhvbGliLmJpdGdvLlBzYnRJbnB1dCk6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHtcbiAgICAgIG11c2lnMlBhcnRpY2lwYW50czogdXR4b2xpYi5iaXRnby5tdXNpZzIucGFyc2VQc2J0TXVzaWcyUGFydGljaXBhbnRzKGlucHV0KSxcbiAgICAgIG11c2lnMk5vbmNlczogdXR4b2xpYi5iaXRnby5tdXNpZzIucGFyc2VQc2J0TXVzaWcyTm9uY2VzKGlucHV0KSxcbiAgICAgIG11c2lnMlBhcnRpYWxTaWduYXR1cmVzOiB1dHhvbGliLmJpdGdvLm11c2lnMi5wYXJzZVBzYnRNdXNpZzJQYXJ0aWFsU2lncyhpbnB1dCksXG4gICAgfSkuZmxhdE1hcCgoW2tleSwgdmFsdWVdKSA9PiAodmFsdWUgPyBbcGFyc2VVbmtub3duKHRoaXMsIGtleSwgdmFsdWUpXSA6IFtdKSk7XG4gIH1cblxuICBwYXJzZUlucHV0KCk6IFBhcnNlck5vZGUge1xuICAgIGNvbnN0IHBzYnRJbnB1dCA9IHRoaXMudHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0ID8gdGhpcy50eC5kYXRhLmlucHV0c1t0aGlzLmlucHV0SW5kZXhdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHsgdHhpZDogcHJldlR4aWQsIHZvdXQsIHNlcXVlbmNlLCBzY3JpcHQsIHdpdG5lc3MgfSA9IGdldFBhcnNlclR4SW5wdXRQcm9wZXJ0aWVzKHRoaXMuaW5wdXQsIHBzYnRJbnB1dCk7XG4gICAgY29uc3QgcHJldk91dHB1dCA9IHRoaXMuY2hhaW5JbmZvLnByZXZPdXRwdXRzPy5bdGhpcy5pbnB1dEluZGV4XTtcbiAgICByZXR1cm4gdGhpcy5ub2RlKHRoaXMuaW5wdXRJbmRleCwgZ2V0T3V0cHV0SWQodGhpcy5pbnB1dCksIFtcbiAgICAgIHRoaXMubm9kZSgnc2VxdWVuY2UnLCBzZXF1ZW5jZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogdG9CdWZmZXJVSW50MzJCRShzZXF1ZW5jZSkpLFxuICAgICAgdGhpcy5wYXJzZUlucHV0U2NyaXB0KHNjcmlwdCksXG4gICAgICB0aGlzLnBhcnNlV2l0bmVzcyh3aXRuZXNzKSxcbiAgICAgIHRoaXMucGFyc2VTaWdTY3JpcHQoKSxcbiAgICAgIC4uLihwc2J0SW5wdXQgPyB0aGlzLnBhcnNlUHJldk91dChwc2J0SW5wdXQpIDogW10pLFxuICAgICAgLi4uKHByZXZPdXRwdXRcbiAgICAgICAgPyBuZXcgT3V0cHV0UGFyc2VyKFxuICAgICAgICAgICAgdGhpcy50eC5uZXR3b3JrLFxuICAgICAgICAgICAgcHJldlR4aWQsXG4gICAgICAgICAgICB2b3V0LFxuICAgICAgICAgICAgcHJldk91dHB1dCxcbiAgICAgICAgICAgIHRoaXMuY2hhaW5JbmZvLFxuICAgICAgICAgICAgdGhpcy5wYXJhbXNcbiAgICAgICAgICApLnBhcnNlUHJldk91dHB1dFNwZW5kKHtcbiAgICAgICAgICAgIGNvbmZsaWN0OiB0cnVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHBzYnRJbnB1dCA/IHRoaXMucGFyc2VQc2J0SW5wdXQocHNidElucHV0KSA6IFtdKSxcbiAgICBdKTtcbiAgfVxufVxuIl19
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvSW5wdXRQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBQzNDLGlEQUF3RDtBQUV4RCxxQ0FBOEM7QUFDOUMseUNBQTZGO0FBQzdGLDJEQUF1RztBQUN2RyxtQ0FBa0M7QUFFbEMsaURBQThDO0FBQzlDLGlEQUE4QztBQUM5QyxpREFBOEM7QUFXOUMsU0FBUyxXQUFXLENBQUMsQ0FBa0M7SUFDckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsRUFBWSxFQUFFLFVBQWtCLEVBQUUsT0FBd0I7SUFDdEYsSUFBSSxFQUFFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQ0wsSUFBQSwwQ0FBc0IsRUFBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM5RyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFTO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTyxHQUFHLENBQUM7QUFD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QyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxHQUFHLENBQUMsVUFBVTtnQkFDWixDQUFDLENBQUMsSUFBSSwyQkFBWSxDQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUNmLFFBQVEsRUFDUixJQUFJLEVBQ0osVUFBVSxFQUNWLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDLG9CQUFvQixDQUFDO29CQUNyQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDO2dCQUNKLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDckQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBelRELGtDQXlUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IHNjcmlwdCwgU2NyaXB0U2lnbmF0dXJlIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5cbmltcG9ydCB7IFBhcnNlciwgUGFyc2VyTm9kZSB9IGZyb20gJy4vUGFyc2VyJztcbmltcG9ydCB7IGdldFBhcnNlclR4SW5wdXRQcm9wZXJ0aWVzLCBnZXRQcmV2T3V0LCBQYXJzZXJUeCwgUGFyc2VyVHhJbnB1dCB9IGZyb20gJy4vUGFyc2VyVHgnO1xuaW1wb3J0IHsgZ2V0SG9sbG93U3BlbmRNZXNzYWdlLCBIb2xsb3dTZWd3aXRTcGVuZCwgcGFyc2VIb2xsb3dTZWd3aXRTcGVuZCB9IGZyb20gJy4vaG9sbG93U2Vnd2l0U3BlbmQnO1xuaW1wb3J0IHsgaXNIaWdoUyB9IGZyb20gJy4vZWNkc2EnO1xuaW1wb3J0IHsgQ2hhaW5JbmZvIH0gZnJvbSAnLi9UeFBhcnNlcic7XG5pbXBvcnQgeyBPdXRwdXRQYXJzZXIgfSBmcm9tICcuL091dHB1dFBhcnNlcic7XG5pbXBvcnQgeyBwYXJzZVVua25vd24gfSBmcm9tICcuL3BhcnNlVW5rbm93bic7XG5pbXBvcnQgeyBTY3JpcHRQYXJzZXIgfSBmcm9tICcuL1NjcmlwdFBhcnNlcic7XG5cbnR5cGUgUGFyc2VkU2lnbmF0dXJlU2NyaXB0ID1cbiAgfCB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdFAybXNcbiAgfCB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdFAyc2hQMnBrXG4gIHwgdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHRUYXByb290XG4gIHwgdXR4b2xpYi5iaXRnby5QYXJzZWRQc2J0UDJtc1xuICB8IHV0eG9saWIuYml0Z28uUGFyc2VkUHNidFAyc2hQMnBrXG4gIHwgdXR4b2xpYi5iaXRnby5QYXJzZWRQc2J0VGFwcm9vdFxuICB8IEhvbGxvd1NlZ3dpdFNwZW5kO1xuXG5mdW5jdGlvbiBnZXRPdXRwdXRJZCh2OiB7IGhhc2g6IEJ1ZmZlcjsgaW5kZXg6IG51bWJlciB9KTogc3RyaW5nIHtcbiAgcmV0dXJuIHV0eG9saWIuYml0Z28uZm9ybWF0T3V0cHV0SWQodXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KHYpKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VTaWduYXR1cmVTY3JpcHQodHg6IFBhcnNlclR4LCBpbnB1dEluZGV4OiBudW1iZXIsIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IFBhcnNlZFNpZ25hdHVyZVNjcmlwdCB7XG4gIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcnNlSG9sbG93U2Vnd2l0U3BlbmQodHguaW5zW2lucHV0SW5kZXhdLCBuZXR3b3JrKSB8fCB1dHhvbGliLmJpdGdvLnBhcnNlU2lnbmF0dXJlU2NyaXB0KHR4Lmluc1tpbnB1dEluZGV4XSlcbiAgICApO1xuICB9XG4gIHJldHVybiB1dHhvbGliLmJpdGdvLnBhcnNlUHNidElucHV0KHR4LmRhdGEuaW5wdXRzW2lucHV0SW5kZXhdKTtcbn1cblxuZnVuY3Rpb24gdG9CdWZmZXJVSW50MzJCRShuOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIGJ1Zi53cml0ZVVJbnQzMkxFKG4sIDApO1xuICByZXR1cm4gYnVmO1xufVxuXG5leHBvcnQgY2xhc3MgSW5wdXRQYXJzZXIgZXh0ZW5kcyBQYXJzZXIge1xuICBwcml2YXRlIGlucHV0OiBQYXJzZXJUeElucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHhpZDogc3RyaW5nLFxuICAgIHByaXZhdGUgdHg6IFBhcnNlclR4LFxuICAgIHByaXZhdGUgaW5wdXRJbmRleDogbnVtYmVyLFxuICAgIHByaXZhdGUgY2hhaW5JbmZvOiBDaGFpbkluZm8sXG4gICAgcHJpdmF0ZSBwYXJhbXM6IHtcbiAgICAgIHBhcnNlT3V0cHV0U2NyaXB0OiBib29sZWFuO1xuICAgICAgcGFyc2VTY3JpcHRBc206IGJvb2xlYW47XG4gICAgICBwYXJzZVNjcmlwdERhdGE6IGJvb2xlYW47XG4gICAgICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICAgICAgc2NyaXB0OiBib29sZWFuO1xuICAgICAgICBlY2RzYTogYm9vbGVhbjtcbiAgICAgICAgc2Nobm9ycjogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgICBwYXJzZUVycm9yPzogJ3Rocm93JyB8ICdjb250aW51ZSc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcih7IHBhcnNlRXJyb3I6IHBhcmFtcy5wYXJzZUVycm9yIH0pO1xuICAgIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aGlzLmlucHV0ID0gdHguaW5zW2lucHV0SW5kZXhdO1xuICAgIH0gZWxzZSBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgICB0aGlzLmlucHV0ID0gdHgudHhJbnB1dHNbaW5wdXRJbmRleF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTY3JpcHRBc20odHlwZTogc3RyaW5nLCBwYXJ0OiBCdWZmZXIsIGk6IG51bWJlciwgbjogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoXG4gICAgICAodHlwZSA9PT0gJ3RhcHJvb3QnICYmIGkgPT09IG4gLSAyKSB8fFxuICAgICAgKCh0eXBlID09PSAnc2NyaXB0aGFzaCcgfHwgdHlwZSA9PT0gJ3dpdG5lc3NzY3JpcHRoYXNoJykgJiYgaSA9PT0gbiAtIDEpXG4gICAgKSB7XG4gICAgICByZXR1cm4gU2NyaXB0UGFyc2VyLnRvQVNNKHBhcnQpO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlU2NyaXB0UGFydHModHlwZTogc3RyaW5nLCBwYXJ0czogQXJyYXk8QnVmZmVyIHwgbnVtYmVyPik6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIHBhcnRzLm1hcCgodiwgaSkgPT4ge1xuICAgICAgbGV0IGFzbU5vZGU6IFBhcnNlck5vZGUgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAodGhpcy5wYXJhbXMucGFyc2VTY3JpcHRBc20gJiYgQnVmZmVyLmlzQnVmZmVyKHYpKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VTY3JpcHRBc20odHlwZSwgdiwgaSwgcGFydHMubGVuZ3RoKTtcbiAgICAgICAgYXNtTm9kZSA9IHBhcnNlZCA/IHRoaXMubm9kZSgnYXNtJywgcGFyc2VkKSA6IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMubm9kZShpLCB0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdERhdGEgPyB2IDogdW5kZWZpbmVkLCBhc21Ob2RlID8gW2FzbU5vZGVdIDogdW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhcnNlSW5wdXRTY3JpcHQoYnVmZmVyOiBCdWZmZXIgfCB1bmRlZmluZWQpOiBQYXJzZXJOb2RlIHtcbiAgICBsZXQgdmFsdWU7XG4gICAgbGV0IG5vZGVzO1xuICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLmxlbmd0aCAmJiB0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuc2NyaXB0KSB7XG4gICAgICBjb25zdCB0eXBlID0gdXR4b2xpYi5jbGFzc2lmeS5pbnB1dChidWZmZXIsIHRydWUpID8/ICd1bmtub3duJztcbiAgICAgIGNvbnN0IGRlY29tcGlsZWQgPSB1dHhvbGliLnNjcmlwdC5kZWNvbXBpbGUoYnVmZmVyKTtcbiAgICAgIGlmIChkZWNvbXBpbGVkKSB7XG4gICAgICAgIG5vZGVzID0gdGhpcy5wYXJzZVNjcmlwdFBhcnRzKHR5cGUsIGRlY29tcGlsZWQpO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSB0eXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IGJ1ZmZlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ub2RlKCdzY3JpcHRTaWcnLCB2YWx1ZSwgbm9kZXMpO1xuICB9XG5cbiAgcGFyc2VXaXRuZXNzKHNjcmlwdDogQnVmZmVyW10gfCB1bmRlZmluZWQpOiBQYXJzZXJOb2RlIHtcbiAgICBpZiAoIXNjcmlwdCB8fCBzY3JpcHQubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCd3aXRuZXNzJywgJ1tdJyk7XG4gICAgfVxuICAgIGNvbnN0IHR5cGUgPSB1dHhvbGliLmNsYXNzaWZ5LndpdG5lc3Moc2NyaXB0LCB0cnVlKSA/PyAndW5rbm93bic7XG4gICAgcmV0dXJuIHRoaXMubm9kZSgnd2l0bmVzcycsIHR5cGUsIHRoaXMucGFyYW1zLnBhcnNlU2NyaXB0RGF0YSA/IHRoaXMucGFyc2VTY3JpcHRQYXJ0cyh0eXBlLCBzY3JpcHQpIDogdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHBhcnNlUHVia2V5cyhwYXJzZWQ6IFBhcnNlZFNpZ25hdHVyZVNjcmlwdCk6IFBhcnNlck5vZGUge1xuICAgIGlmICgncHVibGljS2V5cycgaW4gcGFyc2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgICAncHVia2V5cycsXG4gICAgICAgIHBhcnNlZC5wdWJsaWNLZXlzLmxlbmd0aCxcbiAgICAgICAgcGFyc2VkLnB1YmxpY0tleXMubWFwKChrLCBpKSA9PiB0aGlzLm5vZGUoaSwgaykpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdwdWJrZXlzJywgJ1tdJyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTaWduYXR1cmVCdWZmZXIoXG4gICAgdHlwZTpcbiAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzXG4gICAgICB8IHV0eG9saWIuYml0Z28uUGFyc2VkU2NyaXB0VHlwZTJPZjNcbiAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGVQMnNoUDJwayxcbiAgICBidWY6IEJ1ZmZlciB8IDAsXG4gICAgc2lnbmVySW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmIChidWYgPT09IDApIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCd0eXBlJywgJ3BsYWNlaG9sZGVyICgwKScpXTtcbiAgICB9XG5cbiAgICBpZiAoYnVmLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3R5cGUnLCAncGxhY2Vob2xkZXIgKGVtcHR5IEJ1ZmZlciknKV07XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSBbdGhpcy5ub2RlKCdieXRlcycsIGJ1ZildO1xuICAgIGlmIChzaWduZXJJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgndmFsaWQnLCAwIDw9IHNpZ25lckluZGV4KSk7XG4gICAgICBpZiAoMCA8PSBzaWduZXJJbmRleCkge1xuICAgICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgnc2lnbmVkQnknLCBbJ3VzZXInLCAnYmFja3VwJywgJ2JpdGdvJ11bc2lnbmVySW5kZXhdKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICd0YXByb290U2NyaXB0UGF0aFNwZW5kJyB8fCB0eXBlID09PSAndGFwcm9vdEtleVBhdGhTcGVuZCcpIHtcbiAgICAgIC8vIFRPRE9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBzaWduYXR1cmUsIGhhc2hUeXBlIH0gPSBTY3JpcHRTaWduYXR1cmUuZGVjb2RlKGJ1Zik7XG4gICAgICBjb25zdCByID0gc2lnbmF0dXJlLnN1YmFycmF5KDAsIDMyKTtcbiAgICAgIGNvbnN0IHMgPSBzaWduYXR1cmUuc3ViYXJyYXkoMzIpO1xuXG4gICAgICBpZiAoci5sZW5ndGggIT09IDMyIHx8IHMubGVuZ3RoICE9PSAzMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgc2NhbGFyIGxlbmd0aGApO1xuICAgICAgfVxuXG4gICAgICBub2Rlcy5wdXNoKFxuICAgICAgICB0aGlzLm5vZGUoJ2lzQ2Fub25pY2FsJywgc2NyaXB0LmlzQ2Fub25pY2FsU2NyaXB0U2lnbmF0dXJlKGJ1ZikpLFxuICAgICAgICB0aGlzLm5vZGUoJ2hhc2hUeXBlJywgaGFzaFR5cGUpLFxuICAgICAgICB0aGlzLm5vZGUoJ3InLCByKSxcbiAgICAgICAgdGhpcy5ub2RlKCdzJywgcyksXG4gICAgICAgIHRoaXMubm9kZSgnaGlnaFMnLCBpc0hpZ2hTKHMpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBwYXJzZVNpZ25hdHVyZXNXaXRoU2lnbmVycyhcbiAgICBwYXJzZWQ6IHtcbiAgICAgIHNjcmlwdFR5cGU6XG4gICAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzXG4gICAgICAgIHwgdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGVQMnNoUDJwa1xuICAgICAgICB8IHV0eG9saWIuYml0Z28uUGFyc2VkU2NyaXB0VHlwZTJPZjM7XG4gICAgICBzaWduYXR1cmVzOiAoQnVmZmVyIHwgMClbXTtcbiAgICB9LFxuICAgIHNpZ25lZEJ5TGFiZWxzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICBzaWduZXJJbmRleDogbnVtYmVyW10gfCB1bmRlZmluZWRcbiAgKTogUGFyc2VyTm9kZVtdIHtcbiAgICBjb25zdCBub2RlcyA9IHNpZ25lZEJ5TGFiZWxzID8gW3RoaXMubm9kZSgnc2lnbmVkIGJ5JywgYFske3NpZ25lZEJ5TGFiZWxzLmpvaW4oJywgJyl9XWApXSA6IFtdO1xuICAgIGlmICh0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuZWNkc2EgfHwgdGhpcy5wYXJhbXMucGFyc2VTaWduYXR1cmVEYXRhLnNjaG5vcnIpIHtcbiAgICAgIG5vZGVzLnB1c2goXG4gICAgICAgIC4uLnBhcnNlZC5zaWduYXR1cmVzLm1hcCgoczogQnVmZmVyIHwgMCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICAgICAgIGksXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgdGhpcy5wYXJzZVNpZ25hdHVyZUJ1ZmZlcihwYXJzZWQuc2NyaXB0VHlwZSwgcywgc2lnbmVySW5kZXggPyBzaWduZXJJbmRleFtpXSA6IHVuZGVmaW5lZClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZShpLCB1bmRlZmluZWQsIFt0aGlzLm5vZGUoJ2J1ZicsIHMpLCB0aGlzLmhhbmRsZVBhcnNlRXJyb3IoZSldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBwYXJzZVNpZ25hdHVyZXMocGFyc2VkOiBQYXJzZWRTaWduYXR1cmVTY3JpcHQpOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCBub2RlczogUGFyc2VyTm9kZVtdID0gW107XG4gICAgaWYgKFxuICAgICAgJ3NpZ25hdHVyZXMnIGluIHBhcnNlZCAmJlxuICAgICAgJ3B1YmxpY0tleXMnIGluIHBhcnNlZCAmJlxuICAgICAgJ3NjcmlwdFR5cGUnIGluIHBhcnNlZCAmJlxuICAgICAgcGFyc2VkLnNpZ25hdHVyZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgaWYgKHRoaXMudHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbiAmJiB0aGlzLmNoYWluSW5mby5wcmV2T3V0cHV0cykge1xuICAgICAgICBjb25zdCBzaWduZWRCeSA9IHV0eG9saWIuYml0Z28uZ2V0U2lnbmF0dXJlc1dpdGhQdWJsaWNLZXlzKFxuICAgICAgICAgIHRoaXMudHgsXG4gICAgICAgICAgdGhpcy5pbnB1dEluZGV4LFxuICAgICAgICAgIHRoaXMuY2hhaW5JbmZvLnByZXZPdXRwdXRzLFxuICAgICAgICAgIHBhcnNlZC5wdWJsaWNLZXlzXG4gICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbm9kZXMucHVzaChcbiAgICAgICAgICAgIC4uLnRoaXMucGFyc2VTaWduYXR1cmVzV2l0aFNpZ25lcnMoXG4gICAgICAgICAgICAgIHBhcnNlZCxcbiAgICAgICAgICAgICAgc2lnbmVkQnkuZmxhdE1hcCgodiwgaSkgPT4gKHYgPyBbaS50b1N0cmluZygpXSA6IFtdKSksXG4gICAgICAgICAgICAgIHBhcnNlZC5zaWduYXR1cmVzLm1hcCgoazogQnVmZmVyIHwgMCkgPT4gKGsgPT09IDAgPyAtMSA6IHNpZ25lZEJ5LmluZGV4T2YoaykpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgncGFyc2VTaWduYXR1cmVzV2l0aFNpZ25lcnMnLCB1bmRlZmluZWQsIFt0aGlzLmhhbmRsZVBhcnNlRXJyb3IoZSldKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkge1xuICAgICAgICBsZXQgc2lnbmVkQnlMYWJlbHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAocGFyc2VkLnB1YmxpY0tleXMgJiYgQXJyYXkuaXNBcnJheShwYXJzZWQucHVibGljS2V5cykpIHtcbiAgICAgICAgICBjb25zdCBwc2J0ID0gdGhpcy50eDtcbiAgICAgICAgICBzaWduZWRCeUxhYmVscyA9IHBhcnNlZC5wdWJsaWNLZXlzLmZsYXRNYXAoKGs6IEJ1ZmZlciwgaSkgPT5cbiAgICAgICAgICAgIEJ1ZmZlci5pc0J1ZmZlcihrKSAmJiBwc2J0LnZhbGlkYXRlU2lnbmF0dXJlc09mSW5wdXRDb21tb24odGhpcy5pbnB1dEluZGV4LCBrKSA/IFtpLnRvU3RyaW5nKCldIDogW11cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IHRoZSBjdXJyZW50IFV0eG9Qc2J0IEFQSSBkb2VzIG5vdCBhbGxvdyB1cyB0byBkZXRlcm1pbmUgd2hpY2ggc2lnbmVyIGNyZWF0ZWQgd2hpY2ggc2lnbmF0dXJlXG4gICAgICAgIGNvbnN0IHNpZ25lckluZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICBub2Rlcy5wdXNoKC4uLnRoaXMucGFyc2VTaWduYXR1cmVzV2l0aFNpZ25lcnMocGFyc2VkLCBzaWduZWRCeUxhYmVscywgc2lnbmVySW5kZXgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgICAgcGFyc2VkLnNpZ25hdHVyZXNcbiAgICAgICAgICAubWFwKChzOiBCdWZmZXIgfCAwKSA9PlxuICAgICAgICAgICAgdXR4b2xpYi5iaXRnby5pc1BsYWNlaG9sZGVyU2lnbmF0dXJlKHMpID8gJ1tdJyA6IEJ1ZmZlci5pc0J1ZmZlcihzKSA/IGBbJHtzLmxlbmd0aH1ieXRlXWAgOiBgWyR7c31dYFxuICAgICAgICAgIClcbiAgICAgICAgICAuam9pbignICcpLFxuICAgICAgICBub2Rlc1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCdzaWduYXR1cmVzJyBpbiBwYXJzZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAocGFyc2VkLnNpZ25hdHVyZXMgPz8gW10pLm1hcCgoczogQnVmZmVyIHwgMCwgaTogbnVtYmVyKSA9PiB0aGlzLm5vZGUoaSwgcykpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdzaWduYXR1cmVzJywgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdFdpdGhUeXBlKHBhcnNlZDogUGFyc2VkU2lnbmF0dXJlU2NyaXB0KTogUGFyc2VyTm9kZSB7XG4gICAgaWYgKFxuICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgJiZcbiAgICAgICh1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuaXNTY3JpcHRUeXBlMk9mMyhwYXJzZWQuc2NyaXB0VHlwZSkgfHxcbiAgICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgPT09ICd0YXByb290U2NyaXB0UGF0aFNwZW5kJyB8fFxuICAgICAgICBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZSgnc2lnU2NyaXB0JywgcGFyc2VkLnNjcmlwdFR5cGUsIFt0aGlzLnBhcnNlUHVia2V5cyhwYXJzZWQpLCB0aGlzLnBhcnNlU2lnbmF0dXJlcyhwYXJzZWQpXSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZC5zY3JpcHRUeXBlID09PSAncDJzaFAyd3NoSG9sbG93JyB8fCBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3Ayc2hQMndwa2hIb2xsb3cnKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdzaWdTY3JpcHQnLCBwYXJzZWQuc2NyaXB0VHlwZSwgW3RoaXMubm9kZSgnaW5mbycsIGdldEhvbGxvd1NwZW5kTWVzc2FnZSgpKV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHBhcnNlZC5zY3JpcHRUeXBlID8/ICd1bmtub3duJyk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdCgpOiBQYXJzZXJOb2RlIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VTaWdTY3JpcHRXaXRoVHlwZShwYXJzZVNpZ25hdHVyZVNjcmlwdCh0aGlzLnR4LCB0aGlzLmlucHV0SW5kZXgsIHRoaXMudHgubmV0d29yaykpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHVuZGVmaW5lZCwgW3RoaXMuaGFuZGxlUGFyc2VFcnJvcihlKV0pO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlUHJldk91dChwcmV2T3V0cHV0OiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD4gfCB1dHhvbGliLmJpdGdvLlBzYnRJbnB1dCk6IFBhcnNlck5vZGVbXSB7XG4gICAgbGV0IHNjcmlwdDogQnVmZmVyO1xuICAgIGxldCB2YWx1ZTogYmlnaW50O1xuICAgIGlmICgnc2NyaXB0JyBpbiBwcmV2T3V0cHV0ICYmIHByZXZPdXRwdXQuc2NyaXB0KSB7XG4gICAgICAoeyBzY3JpcHQsIHZhbHVlIH0gPSBwcmV2T3V0cHV0KTtcbiAgICB9IGVsc2UgaWYgKCd3aXRuZXNzVXR4bycgaW4gcHJldk91dHB1dCB8fCAnbm9uV2l0bmVzc1V0eG8nIGluIHByZXZPdXRwdXQpIHtcbiAgICAgIGlmICghKHRoaXMudHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc3RhdGUnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldFByZXZPdXQocHJldk91dHB1dCwgdGhpcy50eC50eElucHV0c1t0aGlzLmlucHV0SW5kZXhdLCB0aGlzLnR4Lm5ldHdvcmspO1xuICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NjcmlwdCcsICd1bmtub3duJyksIHRoaXMubm9kZSgndmFsdWUnLCAndW5rbm93bicpXTtcbiAgICAgIH1cbiAgICAgICh7IHNjcmlwdCwgdmFsdWUgfSA9IHJlc3VsdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcmV2T3V0cHV0Jyk7XG4gICAgfVxuXG4gICAgbGV0IGFkZHJlc3M7XG4gICAgdHJ5IHtcbiAgICAgIGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChzY3JpcHQsIHRoaXMudHgubmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYWRkcmVzcyA9ICcoZXJyb3IpJztcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgndmFsdWUnLCBOdW1iZXIodmFsdWUpIC8gMWU4KSxcbiAgICAgIHRoaXMubm9kZSgncHViU2NyaXB0Jywgc2NyaXB0LCBhZGRyZXNzID8gW3RoaXMubm9kZSgnYWRkcmVzcycsIGFkZHJlc3MpXSA6IHVuZGVmaW5lZCksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlUHNidElucHV0KGlucHV0OiB1dHhvbGliLmJpdGdvLlBzYnRJbnB1dCk6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHtcbiAgICAgIG11c2lnMlBhcnRpY2lwYW50czogdXR4b2xpYi5iaXRnby5tdXNpZzIucGFyc2VQc2J0TXVzaWcyUGFydGljaXBhbnRzKGlucHV0KSxcbiAgICAgIG11c2lnMk5vbmNlczogdXR4b2xpYi5iaXRnby5tdXNpZzIucGFyc2VQc2J0TXVzaWcyTm9uY2VzKGlucHV0KSxcbiAgICAgIG11c2lnMlBhcnRpYWxTaWduYXR1cmVzOiB1dHhvbGliLmJpdGdvLm11c2lnMi5wYXJzZVBzYnRNdXNpZzJQYXJ0aWFsU2lncyhpbnB1dCksXG4gICAgfSkuZmxhdE1hcCgoW2tleSwgdmFsdWVdKSA9PiAodmFsdWUgPyBbcGFyc2VVbmtub3duKHRoaXMsIGtleSwgdmFsdWUpXSA6IFtdKSk7XG4gIH1cblxuICBwYXJzZUlucHV0KCk6IFBhcnNlck5vZGUge1xuICAgIGNvbnN0IHBzYnRJbnB1dCA9IHRoaXMudHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0ID8gdGhpcy50eC5kYXRhLmlucHV0c1t0aGlzLmlucHV0SW5kZXhdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHsgdHhpZDogcHJldlR4aWQsIHZvdXQsIHNlcXVlbmNlLCBzY3JpcHQsIHdpdG5lc3MgfSA9IGdldFBhcnNlclR4SW5wdXRQcm9wZXJ0aWVzKHRoaXMuaW5wdXQsIHBzYnRJbnB1dCk7XG4gICAgY29uc3QgcHJldk91dHB1dCA9IHRoaXMuY2hhaW5JbmZvLnByZXZPdXRwdXRzPy5bdGhpcy5pbnB1dEluZGV4XTtcbiAgICByZXR1cm4gdGhpcy5ub2RlKHRoaXMuaW5wdXRJbmRleCwgZ2V0T3V0cHV0SWQodGhpcy5pbnB1dCksIFtcbiAgICAgIHRoaXMubm9kZSgnc2VxdWVuY2UnLCBzZXF1ZW5jZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogdG9CdWZmZXJVSW50MzJCRShzZXF1ZW5jZSkpLFxuICAgICAgdGhpcy5wYXJzZUlucHV0U2NyaXB0KHNjcmlwdCksXG4gICAgICB0aGlzLnBhcnNlV2l0bmVzcyh3aXRuZXNzKSxcbiAgICAgIHRoaXMucGFyc2VTaWdTY3JpcHQoKSxcbiAgICAgIC4uLihwc2J0SW5wdXQgPyB0aGlzLnBhcnNlUHJldk91dChwc2J0SW5wdXQpIDogW10pLFxuICAgICAgLi4uKHByZXZPdXRwdXRcbiAgICAgICAgPyBuZXcgT3V0cHV0UGFyc2VyKFxuICAgICAgICAgICAgdGhpcy50eC5uZXR3b3JrLFxuICAgICAgICAgICAgcHJldlR4aWQsXG4gICAgICAgICAgICB2b3V0LFxuICAgICAgICAgICAgcHJldk91dHB1dCxcbiAgICAgICAgICAgIHRoaXMuY2hhaW5JbmZvLFxuICAgICAgICAgICAgdGhpcy5wYXJhbXNcbiAgICAgICAgICApLnBhcnNlUHJldk91dHB1dFNwZW5kKHtcbiAgICAgICAgICAgIGNvbmZsaWN0OiB0cnVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHBzYnRJbnB1dCA/IHRoaXMucGFyc2VQc2J0SW5wdXQocHNidElucHV0KSA6IFtdKSxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -52,7 +52,7 @@ class OutputParser extends Parser_1.Parser {
52
52
  // ignore
53
53
  }
54
54
  const addressParser = new AddressParser_1.AddressParser({ network: this.network, all: false, convert: false });
55
- return this.node(this.outputIndex, address !== null && address !== void 0 ? address : '(no address)', [
55
+ return this.node(this.outputIndex, address ?? '(no address)', [
56
56
  this.node(`value`, (0, format_1.formatSat)(this.output.value)),
57
57
  ...(this.params.parseOutputScript || address === undefined
58
58
  ? addressParser.parseOutputScript(this.output.script)
@@ -62,4 +62,4 @@ class OutputParser extends Parser_1.Parser {
62
62
  }
63
63
  }
64
64
  exports.OutputParser = OutputParser;
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0UGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL091dHB1dFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFJM0MscUNBQThDO0FBQzlDLG1EQUFnRDtBQUNoRCxxQ0FBcUM7QUFFckMsTUFBYSxZQUFhLFNBQVEsZUFBTTtJQUN0QyxZQUNVLE9BQWdCLEVBQ2hCLElBQVksRUFDWixXQUFtQixFQUNuQixNQUF5QyxFQUN6QyxTQUFvQixFQUNwQixNQUdQO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBVk4sWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBbUM7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUdiO0lBR0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQTZCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMzRiwwQkFBMEI7WUFDMUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdCLDREQUE0RDtZQUM1RCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ25GLDBCQUEwQjtZQUMxQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxDQUFDO1lBQ0gsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLGNBQWMsRUFBRTtZQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFBLGtCQUFTLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLEtBQUssU0FBUztnQkFDeEQsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDckQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTlERCxvQ0E4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBOZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgQ2hhaW5JbmZvIH0gZnJvbSAnLi9UeFBhcnNlcic7XG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi9BZGRyZXNzUGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFNhdCB9IGZyb20gJy4vZm9ybWF0JztcblxuZXhwb3J0IGNsYXNzIE91dHB1dFBhcnNlciBleHRlbmRzIFBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmV0d29yazogTmV0d29yayxcbiAgICBwcml2YXRlIHR4aWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIG91dHB1dEluZGV4OiBudW1iZXIsXG4gICAgcHJpdmF0ZSBvdXRwdXQ6IHsgc2NyaXB0OiBCdWZmZXI7IHZhbHVlOiBiaWdpbnQgfSxcbiAgICBwcml2YXRlIGNoYWluSW5mbzogQ2hhaW5JbmZvLFxuICAgIHByaXZhdGUgcGFyYW1zOiB7XG4gICAgICBwYXJzZU91dHB1dFNjcmlwdDogYm9vbGVhbjtcbiAgICAgIHBhcnNlRXJyb3I/OiAndGhyb3cnIHwgJ2NvbnRpbnVlJztcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gIH1cblxuICBwYXJzZVByZXZPdXRwdXRTcGVuZChwYXJhbXM6IHsgY29uZmxpY3Q6IGJvb2xlYW4gfSk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKCF0aGlzLmNoYWluSW5mby5wcmV2T3V0cHV0U3BlbmRzIHx8ICF0aGlzLmNoYWluSW5mby5wcmV2T3V0cHV0U3BlbmRzW3RoaXMub3V0cHV0SW5kZXhdKSB7XG4gICAgICAvLyBubyBzcGVuZCBkYXRhIGF2YWlsYWJsZVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBzcGVuZCA9IHRoaXMuY2hhaW5JbmZvLnByZXZPdXRwdXRTcGVuZHNbdGhpcy5vdXRwdXRJbmRleF07XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgZmFsc2UpXTtcbiAgICB9XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHRoaXMudHhpZCkge1xuICAgICAgLy8gaWYgaW5wdXQgaXMgc3BlbnQgYnkgdGhpcyB0cmFuc2FjdGlvbiB3ZSBkb24ndCBkaXNwbGF5IGl0XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBbdGhpcy5ub2RlKCdzcGVudCcsIGAke3NwZW5kLnR4aWR9OiR7c3BlbmQudmlufWAsIHBhcmFtcy5jb25mbGljdCA/IFt0aGlzLm5vZGUoJ2NvbmZsaWN0JywgdHJ1ZSldIDogW10pXTtcbiAgfVxuXG4gIHBhcnNlT3V0cHV0U3BlbmQoKTogUGFyc2VyTm9kZVtdIHtcbiAgICBpZiAoIXRoaXMuY2hhaW5JbmZvLm91dHB1dFNwZW5kcyB8fCAhdGhpcy5jaGFpbkluZm8ub3V0cHV0U3BlbmRzW3RoaXMub3V0cHV0SW5kZXhdKSB7XG4gICAgICAvLyBubyBzcGVuZCBkYXRhIGF2YWlsYWJsZVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBzcGVuZCA9IHRoaXMuY2hhaW5JbmZvLm91dHB1dFNwZW5kc1t0aGlzLm91dHB1dEluZGV4XTtcbiAgICBpZiAoc3BlbmQudHhpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgnc3BlbnQnLCBmYWxzZSldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgnc3BlbnQnLCBgJHtzcGVuZC50eGlkfToke3NwZW5kLnZpbn1gKV07XG4gICAgfVxuICB9XG5cbiAgcGFyc2VPdXRwdXQoKTogUGFyc2VyTm9kZSB7XG4gICAgbGV0IGFkZHJlc3M7XG4gICAgdHJ5IHtcbiAgICAgIGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdCh0aGlzLm91dHB1dC5zY3JpcHQsIHRoaXMubmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gaWdub3JlXG4gICAgfVxuXG4gICAgY29uc3QgYWRkcmVzc1BhcnNlciA9IG5ldyBBZGRyZXNzUGFyc2VyKHsgbmV0d29yazogdGhpcy5uZXR3b3JrLCBhbGw6IGZhbHNlLCBjb252ZXJ0OiBmYWxzZSB9KTtcblxuICAgIHJldHVybiB0aGlzLm5vZGUodGhpcy5vdXRwdXRJbmRleCwgYWRkcmVzcyA/PyAnKG5vIGFkZHJlc3MpJywgW1xuICAgICAgdGhpcy5ub2RlKGB2YWx1ZWAsIGZvcm1hdFNhdCh0aGlzLm91dHB1dC52YWx1ZSkpLFxuICAgICAgLi4uKHRoaXMucGFyYW1zLnBhcnNlT3V0cHV0U2NyaXB0IHx8IGFkZHJlc3MgPT09IHVuZGVmaW5lZFxuICAgICAgICA/IGFkZHJlc3NQYXJzZXIucGFyc2VPdXRwdXRTY3JpcHQodGhpcy5vdXRwdXQuc2NyaXB0KVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLnRoaXMucGFyc2VPdXRwdXRTcGVuZCgpLFxuICAgIF0pO1xuICB9XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0UGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL091dHB1dFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFJM0MscUNBQThDO0FBQzlDLG1EQUFnRDtBQUNoRCxxQ0FBcUM7QUFFckMsTUFBYSxZQUFhLFNBQVEsZUFBTTtJQUN0QyxZQUNVLE9BQWdCLEVBQ2hCLElBQVksRUFDWixXQUFtQixFQUNuQixNQUF5QyxFQUN6QyxTQUFvQixFQUNwQixNQUdQO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBVk4sWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBbUM7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUdiO0lBR0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQTZCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMzRiwwQkFBMEI7WUFDMUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdCLDREQUE0RDtZQUM1RCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ25GLDBCQUEwQjtZQUMxQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxDQUFDO1lBQ0gsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxjQUFjLEVBQUU7WUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBQSxrQkFBUyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksT0FBTyxLQUFLLFNBQVM7Z0JBQ3hELENBQUMsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE5REQsb0NBOERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgTmV0d29yayB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IENoYWluSW5mbyB9IGZyb20gJy4vVHhQYXJzZXInO1xuaW1wb3J0IHsgUGFyc2VyLCBQYXJzZXJOb2RlIH0gZnJvbSAnLi9QYXJzZXInO1xuaW1wb3J0IHsgQWRkcmVzc1BhcnNlciB9IGZyb20gJy4vQWRkcmVzc1BhcnNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYXQgfSBmcm9tICcuL2Zvcm1hdCc7XG5cbmV4cG9ydCBjbGFzcyBPdXRwdXRQYXJzZXIgZXh0ZW5kcyBQYXJzZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5ldHdvcms6IE5ldHdvcmssXG4gICAgcHJpdmF0ZSB0eGlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBvdXRwdXRJbmRleDogbnVtYmVyLFxuICAgIHByaXZhdGUgb3V0cHV0OiB7IHNjcmlwdDogQnVmZmVyOyB2YWx1ZTogYmlnaW50IH0sXG4gICAgcHJpdmF0ZSBjaGFpbkluZm86IENoYWluSW5mbyxcbiAgICBwcml2YXRlIHBhcmFtczoge1xuICAgICAgcGFyc2VPdXRwdXRTY3JpcHQ6IGJvb2xlYW47XG4gICAgICBwYXJzZUVycm9yPzogJ3Rocm93JyB8ICdjb250aW51ZSc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgcGFyc2VQcmV2T3V0cHV0U3BlbmQocGFyYW1zOiB7IGNvbmZsaWN0OiBib29sZWFuIH0pOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmICghdGhpcy5jaGFpbkluZm8ucHJldk91dHB1dFNwZW5kcyB8fCAhdGhpcy5jaGFpbkluZm8ucHJldk91dHB1dFNwZW5kc1t0aGlzLm91dHB1dEluZGV4XSkge1xuICAgICAgLy8gbm8gc3BlbmQgZGF0YSBhdmFpbGFibGVcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3Qgc3BlbmQgPSB0aGlzLmNoYWluSW5mby5wcmV2T3V0cHV0U3BlbmRzW3RoaXMub3V0cHV0SW5kZXhdO1xuICAgIGlmIChzcGVuZC50eGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCdzcGVudCcsIGZhbHNlKV07XG4gICAgfVxuICAgIGlmIChzcGVuZC50eGlkID09PSB0aGlzLnR4aWQpIHtcbiAgICAgIC8vIGlmIGlucHV0IGlzIHNwZW50IGJ5IHRoaXMgdHJhbnNhY3Rpb24gd2UgZG9uJ3QgZGlzcGxheSBpdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gW3RoaXMubm9kZSgnc3BlbnQnLCBgJHtzcGVuZC50eGlkfToke3NwZW5kLnZpbn1gLCBwYXJhbXMuY29uZmxpY3QgPyBbdGhpcy5ub2RlKCdjb25mbGljdCcsIHRydWUpXSA6IFtdKV07XG4gIH1cblxuICBwYXJzZU91dHB1dFNwZW5kKCk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKCF0aGlzLmNoYWluSW5mby5vdXRwdXRTcGVuZHMgfHwgIXRoaXMuY2hhaW5JbmZvLm91dHB1dFNwZW5kc1t0aGlzLm91dHB1dEluZGV4XSkge1xuICAgICAgLy8gbm8gc3BlbmQgZGF0YSBhdmFpbGFibGVcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3Qgc3BlbmQgPSB0aGlzLmNoYWluSW5mby5vdXRwdXRTcGVuZHNbdGhpcy5vdXRwdXRJbmRleF07XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgZmFsc2UpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgYCR7c3BlbmQudHhpZH06JHtzcGVuZC52aW59YCldO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlT3V0cHV0KCk6IFBhcnNlck5vZGUge1xuICAgIGxldCBhZGRyZXNzO1xuICAgIHRyeSB7XG4gICAgICBhZGRyZXNzID0gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQodGhpcy5vdXRwdXQuc2NyaXB0LCB0aGlzLm5ldHdvcmspO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cblxuICAgIGNvbnN0IGFkZHJlc3NQYXJzZXIgPSBuZXcgQWRkcmVzc1BhcnNlcih7IG5ldHdvcms6IHRoaXMubmV0d29yaywgYWxsOiBmYWxzZSwgY29udmVydDogZmFsc2UgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5ub2RlKHRoaXMub3V0cHV0SW5kZXgsIGFkZHJlc3MgPz8gJyhubyBhZGRyZXNzKScsIFtcbiAgICAgIHRoaXMubm9kZShgdmFsdWVgLCBmb3JtYXRTYXQodGhpcy5vdXRwdXQudmFsdWUpKSxcbiAgICAgIC4uLih0aGlzLnBhcmFtcy5wYXJzZU91dHB1dFNjcmlwdCB8fCBhZGRyZXNzID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBhZGRyZXNzUGFyc2VyLnBhcnNlT3V0cHV0U2NyaXB0KHRoaXMub3V0cHV0LnNjcmlwdClcbiAgICAgICAgOiBbXSksXG4gICAgICAuLi50aGlzLnBhcnNlT3V0cHV0U3BlbmQoKSxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -17,8 +17,7 @@ function isParserNodeValue(v) {
17
17
  }
18
18
  class Parser {
19
19
  constructor(params = {}) {
20
- var _a;
21
- this.parseError = (_a = params.parseError) !== null && _a !== void 0 ? _a : 'continue';
20
+ this.parseError = params.parseError ?? 'continue';
22
21
  }
23
22
  node(label, value, nodes = []) {
24
23
  if (!isParserNodeValue(value)) {
@@ -33,7 +32,7 @@ class Parser {
33
32
  }
34
33
  nodeCatchError(label, buildValue, buildNodes = () => []) {
35
34
  try {
36
- return this.node(label, buildValue === null || buildValue === void 0 ? void 0 : buildValue(), buildNodes());
35
+ return this.node(label, buildValue?.(), buildNodes());
37
36
  }
38
37
  catch (e) {
39
38
  return this.handleParseError(e);
@@ -47,4 +46,4 @@ class Parser {
47
46
  }
48
47
  }
49
48
  exports.Parser = Parser;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1BhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw4Q0FZQztBQVpELFNBQWdCLGlCQUFpQixDQUFDLENBQVU7SUFDMUMsUUFBUSxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2pCLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssUUFBUTtZQUNYLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxRQUFRO1lBQ1gsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLFVBQVUsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBU0QsTUFBYSxNQUFNO0lBR2pCLFlBQVksU0FBZ0QsRUFBRTs7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLE1BQU0sQ0FBQyxVQUFVLG1DQUFJLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQXNCLEVBQUUsS0FBc0IsRUFBRSxRQUFzQixFQUFFO1FBQzNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTztZQUNMLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDcEIsS0FBSztZQUNMLEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FDWixLQUFzQixFQUN0QixVQUE2QyxFQUM3QyxhQUFpQyxHQUFHLEVBQUUsQ0FBQyxFQUFFO1FBRXpDLElBQUksQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxFQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsQ0FBVTtRQUN6QixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFyQ0Qsd0JBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGFyc2VyTm9kZVZhbHVlID0gbnVtYmVyIHwgYmlnaW50IHwgc3RyaW5nIHwgQnVmZmVyIHwgVWludDhBcnJheSB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQYXJzZXJOb2RlVmFsdWUodjogdW5rbm93bik6IHYgaXMgUGFyc2VyTm9kZVZhbHVlIHtcbiAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ2JpZ2ludCc6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAgcmV0dXJuIHYgPT09IG51bGwgfHwgQnVmZmVyLmlzQnVmZmVyKHYpIHx8IHYgaW5zdGFuY2VvZiBVaW50OEFycmF5O1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VyTm9kZSA9IHtcbiAgdHlwZTogJ25vZGUnO1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogUGFyc2VyTm9kZVZhbHVlIHwgdW5kZWZpbmVkO1xuICBub2RlczogUGFyc2VyTm9kZVtdIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNsYXNzIFBhcnNlciB7XG4gIHBhcnNlRXJyb3I6ICd0aHJvdycgfCAnY29udGludWUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogeyBwYXJzZUVycm9yPzogJ3Rocm93JyB8ICdjb250aW51ZScgfSA9IHt9KSB7XG4gICAgdGhpcy5wYXJzZUVycm9yID0gcGFyYW1zLnBhcnNlRXJyb3IgPz8gJ2NvbnRpbnVlJztcbiAgfVxuXG4gIG5vZGUobGFiZWw6IHN0cmluZyB8IG51bWJlciwgdmFsdWU6IFBhcnNlck5vZGVWYWx1ZSwgbm9kZXM6IFBhcnNlck5vZGVbXSA9IFtdKTogUGFyc2VyTm9kZSB7XG4gICAgaWYgKCFpc1BhcnNlck5vZGVWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBub2RlIHZhbHVlICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ25vZGUnLFxuICAgICAgbGFiZWw6IFN0cmluZyhsYWJlbCksXG4gICAgICB2YWx1ZSxcbiAgICAgIG5vZGVzLFxuICAgIH07XG4gIH1cblxuICBub2RlQ2F0Y2hFcnJvcihcbiAgICBsYWJlbDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIGJ1aWxkVmFsdWU6ICgpID0+IFBhcnNlck5vZGVWYWx1ZSB8IHVuZGVmaW5lZCxcbiAgICBidWlsZE5vZGVzOiAoKSA9PiBQYXJzZXJOb2RlW10gPSAoKSA9PiBbXVxuICApOiBQYXJzZXJOb2RlIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZShsYWJlbCwgYnVpbGRWYWx1ZT8uKCksIGJ1aWxkTm9kZXMoKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVQYXJzZUVycm9yKGU6IHVua25vd24pOiBQYXJzZXJOb2RlIHtcbiAgICBpZiAodGhpcy5wYXJzZUVycm9yID09PSAndGhyb3cnKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ub2RlKCdlcnJvcicsIFN0cmluZyhlKSk7XG4gIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1BhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw4Q0FZQztBQVpELFNBQWdCLGlCQUFpQixDQUFDLENBQVU7SUFDMUMsUUFBUSxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2pCLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssUUFBUTtZQUNYLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxRQUFRO1lBQ1gsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLFVBQVUsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBU0QsTUFBYSxNQUFNO0lBR2pCLFlBQVksU0FBZ0QsRUFBRTtRQUM1RCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBc0IsRUFBRSxLQUFzQixFQUFFLFFBQXNCLEVBQUU7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNwQixLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUNaLEtBQXNCLEVBQ3RCLFVBQTZDLEVBQzdDLGFBQWlDLEdBQUcsRUFBRSxDQUFDLEVBQUU7UUFFekMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQVU7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBckNELHdCQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBhcnNlck5vZGVWYWx1ZSA9IG51bWJlciB8IGJpZ2ludCB8IHN0cmluZyB8IEJ1ZmZlciB8IFVpbnQ4QXJyYXkgfCBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUGFyc2VyTm9kZVZhbHVlKHY6IHVua25vd24pOiB2IGlzIFBhcnNlck5vZGVWYWx1ZSB7XG4gIHN3aXRjaCAodHlwZW9mIHYpIHtcbiAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgIGNhc2UgJ251bWJlcic6XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICBjYXNlICdiaWdpbnQnOlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHJldHVybiB2ID09PSBudWxsIHx8IEJ1ZmZlci5pc0J1ZmZlcih2KSB8fCB2IGluc3RhbmNlb2YgVWludDhBcnJheTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnNlck5vZGUgPSB7XG4gIHR5cGU6ICdub2RlJztcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IFBhcnNlck5vZGVWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgbm9kZXM6IFBhcnNlck5vZGVbXSB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBQYXJzZXIge1xuICBwYXJzZUVycm9yOiAndGhyb3cnIHwgJ2NvbnRpbnVlJztcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IHsgcGFyc2VFcnJvcj86ICd0aHJvdycgfCAnY29udGludWUnIH0gPSB7fSkge1xuICAgIHRoaXMucGFyc2VFcnJvciA9IHBhcmFtcy5wYXJzZUVycm9yID8/ICdjb250aW51ZSc7XG4gIH1cblxuICBub2RlKGxhYmVsOiBzdHJpbmcgfCBudW1iZXIsIHZhbHVlOiBQYXJzZXJOb2RlVmFsdWUsIG5vZGVzOiBQYXJzZXJOb2RlW10gPSBbXSk6IFBhcnNlck5vZGUge1xuICAgIGlmICghaXNQYXJzZXJOb2RlVmFsdWUodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgbm9kZSB2YWx1ZSAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdub2RlJyxcbiAgICAgIGxhYmVsOiBTdHJpbmcobGFiZWwpLFxuICAgICAgdmFsdWUsXG4gICAgICBub2RlcyxcbiAgICB9O1xuICB9XG5cbiAgbm9kZUNhdGNoRXJyb3IoXG4gICAgbGFiZWw6IHN0cmluZyB8IG51bWJlcixcbiAgICBidWlsZFZhbHVlOiAoKSA9PiBQYXJzZXJOb2RlVmFsdWUgfCB1bmRlZmluZWQsXG4gICAgYnVpbGROb2RlczogKCkgPT4gUGFyc2VyTm9kZVtdID0gKCkgPT4gW11cbiAgKTogUGFyc2VyTm9kZSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUobGFiZWwsIGJ1aWxkVmFsdWU/LigpLCBidWlsZE5vZGVzKCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlUGFyc2VFcnJvcihlOiB1bmtub3duKTogUGFyc2VyTm9kZSB7XG4gICAgaWYgKHRoaXMucGFyc2VFcnJvciA9PT0gJ3Rocm93Jykge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9kZSgnZXJyb3InLCBTdHJpbmcoZSkpO1xuICB9XG59XG4iXX0=
@@ -56,13 +56,13 @@ function getParserTxProperties(tx, prevOutputs) {
56
56
  return {
57
57
  format: 'psbt',
58
58
  complete,
59
- id: (signedTx !== null && signedTx !== void 0 ? signedTx : unsignedTx).getId(),
60
- weight: (signedTx !== null && signedTx !== void 0 ? signedTx : unsignedTx).weight(),
59
+ id: (signedTx ?? unsignedTx).getId(),
60
+ weight: (signedTx ?? unsignedTx).weight(),
61
61
  inputs: tx.txInputs,
62
62
  outputs: tx.txOutputs,
63
63
  outputSum: getOutputSum(tx.txOutputs),
64
64
  inputSum: tx.data.inputs
65
- .map((input, i) => { var _a; return (_a = getPrevOut(input, tx.txInputs[i], tx.network)) === null || _a === void 0 ? void 0 : _a.value; })
65
+ .map((input, i) => getPrevOut(input, tx.txInputs[i], tx.network)?.value)
66
66
  .reduce((sum, v) => sum === undefined || v === undefined ? undefined : sum + v, BigInt(0)),
67
67
  hasWitnesses: tx.data.inputs.some((i) => i.witnessUtxo !== undefined),
68
68
  };
@@ -90,4 +90,4 @@ function getParserTxInputProperties(input, prevOut) {
90
90
  witness: prevOut.witnessScript ? [prevOut.witnessScript] : [],
91
91
  };
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyVHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUGFyc2VyVHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxnQ0FvQkM7QUFNRCxzREFxRUM7QUFDRCxnRUE4QkM7QUF0SUQsMkNBQTJDO0FBUTNDLFNBQWdCLFVBQVUsQ0FDeEIsVUFBbUMsRUFDbkMsWUFBMEMsRUFDMUMsT0FBd0I7SUFPeEIsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FDZixPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekcsSUFBSSxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLE9BQTRCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FDbkMsRUFBWSxFQUNaLFdBQW1EO0lBWW5ELElBQUksRUFBRSxZQUFZLE9BQU8sQ0FBQyxL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SixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFDRCxTQUFnQiwwQkFBMEIsQ0FDeEMsS0FBb0IsRUFDcEIsT0FBaUM7SUFRakMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxJQUFJLFVBQVUsSUFBSSxLQUFLLElBQUksUUFBUSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFLENBQUM7UUFDbkUsNkJBQTZCO1FBQzdCLE9BQU87WUFDTCxHQUFHLFFBQVE7WUFDWCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsT0FBTztRQUNMLEdBQUcsUUFBUTtRQUNYLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVk7UUFDNUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQzlELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5leHBvcnQgdHlwZSBQYXJzZXJUeCA9IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD4gfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0O1xuZXhwb3J0IHR5cGUgUGFyc2VyVHhJbnB1dCA9XG4gIHwgdXR4b2xpYi5UeElucHV0IC8qIHR4aW5wdXQgaGFzIHRoZSBUeE91dFBvaW50IGFuZCBhbHNvIHNjcmlwdCBhbmQgd2l0bmVzcyBkYXRhICovXG4gIHwgdXR4b2xpYi5Qc2J0VHhJbnB1dCAvKiB0aGlzIGlzIGJhc2ljYWxseSBlcXVpdmFsZW50IHRvIFR4T3V0UG9pbnQgb25seSAqLztcbmV4cG9ydCB0eXBlIFBhcnNlclR4T3V0cHV0ID0gdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+IHwgdXR4b2xpYi5Qc2J0VHhPdXRwdXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2T3V0KFxuICBwcmV2T3V0cHV0OiB1dHhvbGliLmJpdGdvLlBzYnRJbnB1dCxcbiAgcHJldk91dHBvaW50OiB1dHhvbGliLlBzYnRUeElucHV0IHwgbnVtYmVyLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6XG4gIHwge1xuICAgICAgdmFsdWU6IGJpZ2ludDtcbiAgICAgIHNjcmlwdDogQnVmZmVyO1xuICAgIH1cbiAgfCB1bmRlZmluZWQge1xuICBpZiAocHJldk91dHB1dC53aXRuZXNzVXR4bykge1xuICAgIHJldHVybiBwcmV2T3V0cHV0LndpdG5lc3NVdHhvO1xuICB9XG4gIGNvbnN0IG91dHB1dEluZGV4ID1cbiAgICB0eXBlb2YgcHJldk91dHBvaW50ID09PSAnbnVtYmVyJyA/IHByZXZPdXRwb2ludCA6IHV0eG9saWIuYml0Z28uZ2V0T3V0cHV0SWRGb3JJbnB1dChwcmV2T3V0cG9pbnQpLnZvdXQ7XG4gIGlmIChwcmV2T3V0cHV0Lm5vbldpdG5lc3NVdHhvKSB7XG4gICAgY29uc3QgdHggPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihwcmV2T3V0cHV0Lm5vbldpdG5lc3NVdHhvLCBuZXR3b3JrLCB7IGFtb3VudFR5cGU6ICdiaWdpbnQnIH0pO1xuICAgIHJldHVybiB0eC5vdXRzW291dHB1dEluZGV4XTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRPdXRwdXRTdW0ob3V0cHV0czogeyB2YWx1ZTogYmlnaW50IH1bXSk6IGJpZ2ludCB7XG4gIHJldHVybiBvdXRwdXRzLnJlZHVjZSgoc3VtLCBvKSA9PiBzdW0gKyBvLnZhbHVlLCBCaWdJbnQoMCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyc2VyVHhQcm9wZXJ0aWVzKFxuICB0eDogUGFyc2VyVHgsXG4gIHByZXZPdXRwdXRzOiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD5bXSB8IHVuZGVmaW5lZFxuKToge1xuICBmb3JtYXQ6ICduZXR3b3JrJyB8ICdsZWdhY3knIHwgJ3BzYnQnO1xuICBjb21wbGV0ZTogYm9vbGVhbjtcbiAgaWQ6IHN0cmluZztcbiAgd2VpZ2h0OiBudW1iZXI7XG4gIGlucHV0czogUGFyc2VyVHhJbnB1dFtdO1xuICBvdXRwdXRzOiBQYXJzZXJUeE91dHB1dFtdO1xuICBvdXRwdXRTdW06IGJpZ2ludDtcbiAgaW5wdXRTdW06IGJpZ2ludCB8IHVuZGVmaW5lZDtcbiAgaGFzV2l0bmVzc2VzOiBib29sZWFuO1xufSB7XG4gIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgbGV0IGNvbXBsZXRlID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHhiID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJGcm9tVHJhbnNhY3Rpb24odHgpO1xuICAgICAgdHhiLmJ1aWxkKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29tcGxldGUgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1hdDogY29tcGxldGUgPyAnbmV0d29yaycgOiAnbGVnYWN5JyxcbiAgICAgIGNvbXBsZXRlLFxuICAgICAgaWQ6IHR4LmdldElkKCksXG4gICAgICB3ZWlnaHQ6IHR4LndlaWdodCgpLFxuICAgICAgaW5wdXRzOiB0eC5pbnMsXG4gICAgICBvdXRwdXRzOiB0eC5vdXRzLFxuICAgICAgb3V0cHV0U3VtOiBnZXRPdXRwdXRTdW0odHgub3V0cyksXG4gICAgICBpbnB1dFN1bTogcHJldk91dHB1dHMgPyBnZXRPdXRwdXRTdW0ocHJldk91dHB1dHMpIDogdW5kZWZpbmVkLFxuICAgICAgaGFzV2l0bmVzc2VzOiB0eC5oYXNXaXRuZXNzZXMoKSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkge1xuICAgIGxldCBzaWduZWRUeDtcbiAgICBsZXQgY29tcGxldGUgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjbG9uZSA9IHR4LmNsb25lKCk7XG4gICAgICBjbG9uZS5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgc2lnbmVkVHggPSBjbG9uZS5leHRyYWN0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgLy8gaWdub3JlXG4gICAgfVxuXG4gICAgY29uc3QgdW5zaWduZWRUeCA9IHR4LmdldFVuc2lnbmVkVHgoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6ICdwc2J0JyxcbiAgICAgIGNvbXBsZXRlLFxuICAgICAgaWQ6IChzaWduZWRUeCA/PyB1bnNpZ25lZFR4KS5nZXRJZCgpLFxuICAgICAgd2VpZ2h0OiAoc2lnbmVkVHggPz8gdW5zaWduZWRUeCkud2VpZ2h0KCksXG4gICAgICBpbnB1dHM6IHR4LnR4SW5wdXRzLFxuICAgICAgb3V0cHV0czogdHgudHhPdXRwdXRzLFxuICAgICAgb3V0cHV0U3VtOiBnZXRPdXRwdXRTdW0odHgudHhPdXRwdXRzKSxcbiAgICAgIGlucHV0U3VtOiB0eC5kYXRhLmlucHV0c1xuICAgICAgICAubWFwKChpbnB1dCwgaSkgPT4gZ2V0UHJldk91dChpbnB1dCwgdHgudHhJbnB1dHNbaV0sIHR4Lm5ldHdvcmspPy52YWx1ZSlcbiAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAoc3VtOiBiaWdpbnQgfCB1bmRlZmluZWQsIHY6IGJpZ2ludCB8IHVuZGVmaW5lZCkgPT5cbiAgICAgICAgICAgIHN1bSA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHN1bSArIHYsXG4gICAgICAgICAgQmlnSW50KDApXG4gICAgICAgICksXG4gICAgICBoYXNXaXRuZXNzZXM6IHR4LmRhdGEuaW5wdXRzLnNvbWUoKGkpID0+IGkud2l0bmVzc1V0eG8gIT09IHVuZGVmaW5lZCksXG4gICAgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcigndW5rbm93biB0cmFuc2FjdGlvbiB0eXBlJyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyc2VyVHhJbnB1dFByb3BlcnRpZXMoXG4gIGlucHV0OiBQYXJzZXJUeElucHV0LFxuICBwcmV2T3V0PzogdXR4b2xpYi5iaXRnby5Qc2J0SW5wdXRcbik6IHtcbiAgdHhpZDogc3RyaW5nO1xuICB2b3V0OiBudW1iZXI7XG4gIHNlcXVlbmNlPzogbnVtYmVyO1xuICBzY3JpcHQ/OiBCdWZmZXI7XG4gIHdpdG5lc3M/OiBCdWZmZXJbXTtcbn0ge1xuICBjb25zdCBvdXRwdXRJZCA9IHV0eG9saWIuYml0Z28uZ2V0T3V0cHV0SWRGb3JJbnB1dChpbnB1dCk7XG4gIGlmICgnc2VxdWVuY2UnIGluIGlucHV0ICYmICdzY3JpcHQnIGluIGlucHV0ICYmICd3aXRuZXNzJyBpbiBpbnB1dCkge1xuICAgIC8vIGZ1bGwtc2lnbmVkIG9yIGxlZ2FjeSBjYXNlXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm91dHB1dElkLFxuICAgICAgc2VxdWVuY2U6IGlucHV0LnNlcXVlbmNlLFxuICAgICAgc2NyaXB0OiBpbnB1dC5zY3JpcHQsXG4gICAgICB3aXRuZXNzOiBpbnB1dC53aXRuZXNzLFxuICAgIH07XG4gIH1cblxuICBpZiAoIXByZXZPdXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcHJldk91dCcpO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4ub3V0cHV0SWQsXG4gICAgc2VxdWVuY2U6IGlucHV0LnNlcXVlbmNlLFxuICAgIHNjcmlwdDogcHJldk91dC5yZWRlZW1TY3JpcHQsXG4gICAgd2l0bmVzczogcHJldk91dC53aXRuZXNzU2NyaXB0ID8gW3ByZXZPdXQud2l0bmVzc1NjcmlwdF0gOiBbXSxcbiAgfTtcbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyVHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUGFyc2VyVHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxnQ0FvQkM7QUFNRCxzREFxRUM7QUFDRCxnRUE4QkM7QUF0SUQsMkNBQTJDO0FBUTNDLFNBQWdCLFVBQVUsQ0FDeEIsVUFBbUMsRUFDbkMsWUFBMEMsRUFDMUMsT0FBd0I7SUFPeEIsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FDZixPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekcsSUFBSSxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLE9BQTRCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FDbkMsRUFBWSxFQUNaLFdBQW1EO0lBWW5ELElBQUksRUFBRSxZQUFZLE9BQU8sQ0FBQyxL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QUNELFNBQWdCLDBCQUEwQixDQUN4QyxLQUFvQixFQUNwQixPQUFpQztJQVFqQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELElBQUksVUFBVSxJQUFJLEtBQUssSUFBSSxRQUFRLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNuRSw2QkFBNkI7UUFDN0IsT0FBTztZQUNMLEdBQUcsUUFBUTtZQUNYLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtRQUM1QixPQUFPLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDOUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmV4cG9ydCB0eXBlIFBhcnNlclR4ID0gdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PiB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5leHBvcnQgdHlwZSBQYXJzZXJUeElucHV0ID1cbiAgfCB1dHhvbGliLlR4SW5wdXQgLyogdHhpbnB1dCBoYXMgdGhlIFR4T3V0UG9pbnQgYW5kIGFsc28gc2NyaXB0IGFuZCB3aXRuZXNzIGRhdGEgKi9cbiAgfCB1dHhvbGliLlBzYnRUeElucHV0IC8qIHRoaXMgaXMgYmFzaWNhbGx5IGVxdWl2YWxlbnQgdG8gVHhPdXRQb2ludCBvbmx5ICovO1xuZXhwb3J0IHR5cGUgUGFyc2VyVHhPdXRwdXQgPSB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD4gfCB1dHhvbGliLlBzYnRUeE91dHB1dDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZXZPdXQoXG4gIHByZXZPdXRwdXQ6IHV0eG9saWIuYml0Z28uUHNidElucHV0LFxuICBwcmV2T3V0cG9pbnQ6IHV0eG9saWIuUHNidFR4SW5wdXQgfCBudW1iZXIsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTpcbiAgfCB7XG4gICAgICB2YWx1ZTogYmlnaW50O1xuICAgICAgc2NyaXB0OiBCdWZmZXI7XG4gICAgfVxuICB8IHVuZGVmaW5lZCB7XG4gIGlmIChwcmV2T3V0cHV0LndpdG5lc3NVdHhvKSB7XG4gICAgcmV0dXJuIHByZXZPdXRwdXQud2l0bmVzc1V0eG87XG4gIH1cbiAgY29uc3Qgb3V0cHV0SW5kZXggPVxuICAgIHR5cGVvZiBwcmV2T3V0cG9pbnQgPT09ICdudW1iZXInID8gcHJldk91dHBvaW50IDogdXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KHByZXZPdXRwb2ludCkudm91dDtcbiAgaWYgKHByZXZPdXRwdXQubm9uV2l0bmVzc1V0eG8pIHtcbiAgICBjb25zdCB0eCA9IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25Gcm9tQnVmZmVyKHByZXZPdXRwdXQubm9uV2l0bmVzc1V0eG8sIG5ldHdvcmssIHsgYW1vdW50VHlwZTogJ2JpZ2ludCcgfSk7XG4gICAgcmV0dXJuIHR4Lm91dHNbb3V0cHV0SW5kZXhdO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldE91dHB1dFN1bShvdXRwdXRzOiB7IHZhbHVlOiBiaWdpbnQgfVtdKTogYmlnaW50IHtcbiAgcmV0dXJuIG91dHB1dHMucmVkdWNlKChzdW0sIG8pID0+IHN1bSArIG8udmFsdWUsIEJpZ0ludCgwKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJzZXJUeFByb3BlcnRpZXMoXG4gIHR4OiBQYXJzZXJUeCxcbiAgcHJldk91dHB1dHM6IHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PltdIHwgdW5kZWZpbmVkXG4pOiB7XG4gIGZvcm1hdDogJ25ldHdvcmsnIHwgJ2xlZ2FjeScgfCAncHNidCc7XG4gIGNvbXBsZXRlOiBib29sZWFuO1xuICBpZDogc3RyaW5nO1xuICB3ZWlnaHQ6IG51bWJlcjtcbiAgaW5wdXRzOiBQYXJzZXJUeElucHV0W107XG4gIG91dHB1dHM6IFBhcnNlclR4T3V0cHV0W107XG4gIG91dHB1dFN1bTogYmlnaW50O1xuICBpbnB1dFN1bTogYmlnaW50IHwgdW5kZWZpbmVkO1xuICBoYXNXaXRuZXNzZXM6IGJvb2xlYW47XG59IHtcbiAgaWYgKHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24pIHtcbiAgICBsZXQgY29tcGxldGUgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eGIgPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlckZyb21UcmFuc2FjdGlvbih0eCk7XG4gICAgICB0eGIuYnVpbGQoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb21wbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZm9ybWF0OiBjb21wbGV0ZSA/ICduZXR3b3JrJyA6ICdsZWdhY3knLFxuICAgICAgY29tcGxldGUsXG4gICAgICBpZDogdHguZ2V0SWQoKSxcbiAgICAgIHdlaWdodDogdHgud2VpZ2h0KCksXG4gICAgICBpbnB1dHM6IHR4LmlucyxcbiAgICAgIG91dHB1dHM6IHR4Lm91dHMsXG4gICAgICBvdXRwdXRTdW06IGdldE91dHB1dFN1bSh0eC5vdXRzKSxcbiAgICAgIGlucHV0U3VtOiBwcmV2T3V0cHV0cyA/IGdldE91dHB1dFN1bShwcmV2T3V0cHV0cykgOiB1bmRlZmluZWQsXG4gICAgICBoYXNXaXRuZXNzZXM6IHR4Lmhhc1dpdG5lc3NlcygpLFxuICAgIH07XG4gIH1cblxuICBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgbGV0IHNpZ25lZFR4O1xuICAgIGxldCBjb21wbGV0ZSA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsb25lID0gdHguY2xvbmUoKTtcbiAgICAgIGNsb25lLmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICBzaWduZWRUeCA9IGNsb25lLmV4dHJhY3RUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbXBsZXRlID0gZmFsc2U7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9XG5cbiAgICBjb25zdCB1bnNpZ25lZFR4ID0gdHguZ2V0VW5zaWduZWRUeCgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1hdDogJ3BzYnQnLFxuICAgICAgY29tcGxldGUsXG4gICAgICBpZDogKHNpZ25lZFR4ID8/IHVuc2lnbmVkVHgpLmdldElkKCksXG4gICAgICB3ZWlnaHQ6IChzaWduZWRUeCA/PyB1bnNpZ25lZFR4KS53ZWlnaHQoKSxcbiAgICAgIGlucHV0czogdHgudHhJbnB1dHMsXG4gICAgICBvdXRwdXRzOiB0eC50eE91dHB1dHMsXG4gICAgICBvdXRwdXRTdW06IGdldE91dHB1dFN1bSh0eC50eE91dHB1dHMpLFxuICAgICAgaW5wdXRTdW06IHR4LmRhdGEuaW5wdXRzXG4gICAgICAgIC5tYXAoKGlucHV0LCBpKSA9PiBnZXRQcmV2T3V0KGlucHV0LCB0eC50eElucHV0c1tpXSwgdHgubmV0d29yayk/LnZhbHVlKVxuICAgICAgICAucmVkdWNlKFxuICAgICAgICAgIChzdW06IGJpZ2ludCB8IHVuZGVmaW5lZCwgdjogYmlnaW50IHwgdW5kZWZpbmVkKSA9PlxuICAgICAgICAgICAgc3VtID09PSB1bmRlZmluZWQgfHwgdiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogc3VtICsgdixcbiAgICAgICAgICBCaWdJbnQoMClcbiAgICAgICAgKSxcbiAgICAgIGhhc1dpdG5lc3NlczogdHguZGF0YS5pbnB1dHMuc29tZSgoaSkgPT4gaS53aXRuZXNzVXR4byAhPT0gdW5kZWZpbmVkKSxcbiAgICB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIHRyYW5zYWN0aW9uIHR5cGUnKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJzZXJUeElucHV0UHJvcGVydGllcyhcbiAgaW5wdXQ6IFBhcnNlclR4SW5wdXQsXG4gIHByZXZPdXQ/OiB1dHhvbGliLmJpdGdvLlBzYnRJbnB1dFxuKToge1xuICB0eGlkOiBzdHJpbmc7XG4gIHZvdXQ6IG51bWJlcjtcbiAgc2VxdWVuY2U/OiBudW1iZXI7XG4gIHNjcmlwdD86IEJ1ZmZlcjtcbiAgd2l0bmVzcz86IEJ1ZmZlcltdO1xufSB7XG4gIGNvbnN0IG91dHB1dElkID0gdXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KGlucHV0KTtcbiAgaWYgKCdzZXF1ZW5jZScgaW4gaW5wdXQgJiYgJ3NjcmlwdCcgaW4gaW5wdXQgJiYgJ3dpdG5lc3MnIGluIGlucHV0KSB7XG4gICAgLy8gZnVsbC1zaWduZWQgb3IgbGVnYWN5IGNhc2VcbiAgICByZXR1cm4ge1xuICAgICAgLi4ub3V0cHV0SWQsXG4gICAgICBzZXF1ZW5jZTogaW5wdXQuc2VxdWVuY2UsXG4gICAgICBzY3JpcHQ6IGlucHV0LnNjcmlwdCxcbiAgICAgIHdpdG5lc3M6IGlucHV0LndpdG5lc3MsXG4gICAgfTtcbiAgfVxuXG4gIGlmICghcHJldk91dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBwcmV2T3V0Jyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5vdXRwdXRJZCxcbiAgICBzZXF1ZW5jZTogaW5wdXQuc2VxdWVuY2UsXG4gICAgc2NyaXB0OiBwcmV2T3V0LnJlZGVlbVNjcmlwdCxcbiAgICB3aXRuZXNzOiBwcmV2T3V0LndpdG5lc3NTY3JpcHQgPyBbcHJldk91dC53aXRuZXNzU2NyaXB0XSA6IFtdLFxuICB9O1xufVxuIl19
@@ -80,7 +80,7 @@ class ScriptParser extends Parser_1.Parser {
80
80
  const classification = ScriptParser.classify(script, undefined);
81
81
  const decompiled = utxolib.script.decompile(script);
82
82
  return this.node('script', `length ${script.length} bytes`, [
83
- this.nodeCatchError('miniscript', () => { var _a; return (_a = asMiniscript(script)) === null || _a === void 0 ? void 0 : _a.toString(); }),
83
+ this.nodeCatchError('miniscript', () => asMiniscript(script)?.toString()),
84
84
  this.node('classification', undefined, [
85
85
  this.node('input', classification.input),
86
86
  this.node('output', classification.output),
@@ -93,4 +93,4 @@ class ScriptParser extends Parser_1.Parser {
93
93
  }
94
94
  }
95
95
  exports.ScriptParser = ScriptParser;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0UGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjcmlwdFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFDM0MsNERBQW9EO0FBRXBELHFDQUE4QztBQUM5QyxpREFBOEM7QUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBR3hGLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLElBQWlCLEVBQUUsT0FBeUI7SUFDeEYsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNULE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxLQUFLLFdBQVc7WUFDZCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUMzQixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFGLE9BQU87YUFDUixDQUFDLENBQUM7UUFDTCxLQUFLLE9BQU87WUFDVixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdELEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUQsS0FBSyxPQUFPO1lBQ1Ys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SSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2RUQsb0NBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgTWluaXNjcmlwdCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBwYXJzZVVua25vd24gfSBmcm9tICcuL3BhcnNlVW5rbm93bic7XG5cbmNvbnN0IHBheW1lbnRUeXBlcyA9IFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJwa2gnLCAncDJ3cGtoJywgJ3Ayd3NoJywgJ3AybXMnXSBhcyBjb25zdDtcbnR5cGUgUGF5bWVudFR5cGUgPSAodHlwZW9mIHBheW1lbnRUeXBlcylbbnVtYmVyXTtcblxuZnVuY3Rpb24gcGFyc2VQYXltZW50V2l0aFR5cGUoc2NyaXB0OiBCdWZmZXIsIHR5cGU6IFBheW1lbnRUeXBlLCBuZXR3b3JrPzogdXR4b2xpYi5OZXR3b3JrKTogdXR4b2xpYi5QYXltZW50IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAncDJzaCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMnNoKHsgcmVkZWVtOiB7IG91dHB1dDogc2NyaXB0IH0sIG5ldHdvcmsgfSk7XG4gICAgY2FzZSAncDJzaFAyd3NoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAyc2goe1xuICAgICAgICByZWRlZW06IHsgb3V0cHV0OiB1dHhvbGliLnBheW1lbnRzLnAyd3NoKHsgcmVkZWVtOiB7IG91dHB1dDogc2NyaXB0IH0sIG5ldHdvcmsgfSkub3V0cHV0IH0sXG4gICAgICAgIG5ldHdvcmssXG4gICAgICB9KTtcbiAgICBjYXNlICdwMnBraCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMnBraCh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICAgIGNhc2UgJ3Ayd3BraCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMndwa2goeyBvdXRwdXQ6IHNjcmlwdCwgbmV0d29yayB9KTtcbiAgICBjYXNlICdwMndzaCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMndzaCh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICAgIGNhc2UgJ3AybXMnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJtcyh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFzTWluaXNjcmlwdChzY3JpcHQ6IEJ1ZmZlcik6IE1pbmlzY3JpcHQgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb250ZXh0cyA9IFsndGFwJywgJ3NlZ3dpdHYwJywgJ2xlZ2FjeSddIGFzIGNvbnN0O1xuICBmb3IgKGNvbnN0IGN0eCBvZiBjb250ZXh0cykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gTWluaXNjcmlwdC5mcm9tQml0Y29pblNjcmlwdChzY3JpcHQsIGN0eCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIHBhcnNlIGFzIG1pbmlzY3JpcHQnKTtcbn1cblxuZXhwb3J0IGNsYXNzIFNjcmlwdFBhcnNlciBleHRlbmRzIFBhcnNlciB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgY29uc3RydWN0b3IoeyBuZXR3b3JrIH06IHsgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrIH0pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubmV0d29yayA9IG5ldHdvcms7XG4gIH1cblxuICBzdGF0aWMgdG9BU00oc2NyaXB0OiBCdWZmZXIsIHsgaW5zZXJ0TmV3bGluZXMgPSB0cnVlIH0gPSB7fSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHBhcnNlZDtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkID0gdXR4b2xpYi5zY3JpcHQudG9BU00oc2NyaXB0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICB9XG5cbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICByZXR1cm4gaW5zZXJ0TmV3bGluZXMgPyBbJycsIC4uLnBhcnNlZC5zcGxpdCgnICcpXS5qb2luKCdcXG4nKSA6IHBhcnNlZDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY2xhc3NpZnkoXG4gICAgc2NyaXB0OiBCdWZmZXIgfCB1bmRlZmluZWQsXG4gICAgd2l0bmVzczogQnVmZmVyW10gfCB1bmRlZmluZWRcbiAgKToge1xuICAgIGlucHV0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgb3V0cHV0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgd2l0bmVzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5wdXQ6IHNjcmlwdCA/IHV0eG9saWIuY2xhc3NpZnkuaW5wdXQoc2NyaXB0LCAvKiBhbGxvd0luY29tcGxldGUgKi8gdHJ1ZSkgOiB1bmRlZmluZWQsXG4gICAgICBvdXRwdXQ6IHNjcmlwdCA/IHV0eG9saWIuY2xhc3NpZnkub3V0cHV0KHNjcmlwdCkgOiB1bmRlZmluZWQsXG4gICAgICB3aXRuZXNzOiB3aXRuZXNzID8gdXR4b2xpYi5jbGFzc2lmeS53aXRuZXNzKHdpdG5lc3MpIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwYXJzZVBheW1lbnQodHlwZTogUGF5bWVudFR5cGUsIHBheW1lbnQ6IHV0eG9saWIuUGF5bWVudCk6IFBhcnNlck5vZGUge1xuICAgIHJldHVybiBwYXJzZVVua25vd24oXG4gICAgICB0aGlzLFxuICAgICAgYHBheW1lbnQ6ICR7dHlwZX1gLFxuICAgICAgeyBuYW1lOiBwYXltZW50Lm5hbWUsIC4uLnBheW1lbnQgfSxcbiAgICAgIHtcbiAgICAgICAgb21pdDogWyduZXR3b3JrJ10sXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlQnVmZmVyQXNQYXltZW50KHNjcmlwdDogQnVmZmVyKTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gcGF5bWVudFR5cGVzLmZsYXRNYXAoKHR5cGUpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5wYXJzZVBheW1lbnQodHlwZSwgcGFyc2VQYXltZW50V2l0aFR5cGUoc2NyaXB0LCB0eXBlLCB0aGlzLm5ldHdvcmspKV07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHBhcnNlKHNjcmlwdDogQnVmZmVyKTogUGFyc2VyTm9kZSB7XG4gICAgY29uc3QgY2xhc3NpZmljYXRpb24gPSBTY3JpcHRQYXJzZXIuY2xhc3NpZnkoc2NyaXB0LCB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlY29tcGlsZWQgPSB1dHhvbGliLnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KTtcbiAgICByZXR1cm4gdGhpcy5ub2RlKCdzY3JpcHQnLCBgbGVuZ3RoICR7c2NyaXB0Lmxlbmd0aH0gYnl0ZXNgLCBbXG4gICAgICB0aGlzLm5vZGVDYXRjaEVycm9yKCdtaW5pc2NyaXB0JywgKCkgPT4gYXNNaW5pc2NyaXB0KHNjcmlwdCk/LnRvU3RyaW5nKCkpLFxuICAgICAgdGhpcy5ub2RlKCdjbGFzc2lmaWNhdGlvbicsIHVuZGVmaW5lZCwgW1xuICAgICAgICB0aGlzLm5vZGUoJ2lucHV0JywgY2xhc3NpZmljYXRpb24uaW5wdXQpLFxuICAgICAgICB0aGlzLm5vZGUoJ291dHB1dCcsIGNsYXNzaWZpY2F0aW9uLm91dHB1dCksXG4gICAgICAgIHRoaXMubm9kZSgnd2l0bmVzcycsIGNsYXNzaWZpY2F0aW9uLndpdG5lc3MpLFxuICAgICAgXSksXG4gICAgICB0aGlzLm5vZGUoJ2FzbScsIFNjcmlwdFBhcnNlci50b0FTTShzY3JpcHQpKSxcbiAgICAgIHRoaXMubm9kZSgnZGVjb21waWxlZCcsIHVuZGVmaW5lZCwgZGVjb21waWxlZCA/IGRlY29tcGlsZWQubWFwKCh2LCBpKSA9PiB0aGlzLm5vZGUoaSwgdikpIDogdW5kZWZpbmVkKSxcbiAgICAgIC4uLnRoaXMucGFyc2VCdWZmZXJBc1BheW1lbnQoc2NyaXB0KSxcbiAgICBdKTtcbiAgfVxufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0UGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjcmlwdFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFDM0MsNERBQW9EO0FBRXBELHFDQUE4QztBQUM5QyxpREFBOEM7QUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBR3hGLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLElBQWlCLEVBQUUsT0FBeUI7SUFDeEYsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNULE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxLQUFLLFdBQVc7WUFDZCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUMzQixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFGLE9BQU87YUFDUixDQUFDLENBQUM7UUFDTCxLQUFLLE9BQU87WUFDVixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdELEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUQsS0FBSyxPQUFPO1lBQ1Ys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LEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2RUQsb0NBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgTWluaXNjcmlwdCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBwYXJzZVVua25vd24gfSBmcm9tICcuL3BhcnNlVW5rbm93bic7XG5cbmNvbnN0IHBheW1lbnRUeXBlcyA9IFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJwa2gnLCAncDJ3cGtoJywgJ3Ayd3NoJywgJ3AybXMnXSBhcyBjb25zdDtcbnR5cGUgUGF5bWVudFR5cGUgPSAodHlwZW9mIHBheW1lbnRUeXBlcylbbnVtYmVyXTtcblxuZnVuY3Rpb24gcGFyc2VQYXltZW50V2l0aFR5cGUoc2NyaXB0OiBCdWZmZXIsIHR5cGU6IFBheW1lbnRUeXBlLCBuZXR3b3JrPzogdXR4b2xpYi5OZXR3b3JrKTogdXR4b2xpYi5QYXltZW50IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAncDJzaCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMnNoKHsgcmVkZWVtOiB7IG91dHB1dDogc2NyaXB0IH0sIG5ldHdvcmsgfSk7XG4gICAgY2FzZSAncDJzaFAyd3NoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAyc2goe1xuICAgICAgICByZWRlZW06IHsgb3V0cHV0OiB1dHhvbGliLnBheW1lbnRzLnAyd3NoKHsgcmVkZWVtOiB7IG91dHB1dDogc2NyaXB0IH0sIG5ldHdvcmsgfSkub3V0cHV0IH0sXG4gICAgICAgIG5ldHdvcmssXG4gICAgICB9KTtcbiAgICBjYXNlICdwMnBraCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMnBraCh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICAgIGNhc2UgJ3Ayd3BraCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMndwa2goeyBvdXRwdXQ6IHNjcmlwdCwgbmV0d29yayB9KTtcbiAgICBjYXNlICdwMndzaCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMndzaCh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICAgIGNhc2UgJ3AybXMnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJtcyh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFzTWluaXNjcmlwdChzY3JpcHQ6IEJ1ZmZlcik6IE1pbmlzY3JpcHQgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb250ZXh0cyA9IFsndGFwJywgJ3NlZ3dpdHYwJywgJ2xlZ2FjeSddIGFzIGNvbnN0O1xuICBmb3IgKGNvbnN0IGN0eCBvZiBjb250ZXh0cykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gTWluaXNjcmlwdC5mcm9tQml0Y29pblNjcmlwdChzY3JpcHQsIGN0eCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIHBhcnNlIGFzIG1pbmlzY3JpcHQnKTtcbn1cblxuZXhwb3J0IGNsYXNzIFNjcmlwdFBhcnNlciBleHRlbmRzIFBhcnNlciB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgY29uc3RydWN0b3IoeyBuZXR3b3JrIH06IHsgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrIH0pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubmV0d29yayA9IG5ldHdvcms7XG4gIH1cblxuICBzdGF0aWMgdG9BU00oc2NyaXB0OiBCdWZmZXIsIHsgaW5zZXJ0TmV3bGluZXMgPSB0cnVlIH0gPSB7fSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHBhcnNlZDtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkID0gdXR4b2xpYi5zY3JpcHQudG9BU00oc2NyaXB0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICB9XG5cbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICByZXR1cm4gaW5zZXJ0TmV3bGluZXMgPyBbJycsIC4uLnBhcnNlZC5zcGxpdCgnICcpXS5qb2luKCdcXG4nKSA6IHBhcnNlZDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY2xhc3NpZnkoXG4gICAgc2NyaXB0OiBCdWZmZXIgfCB1bmRlZmluZWQsXG4gICAgd2l0bmVzczogQnVmZmVyW10gfCB1bmRlZmluZWRcbiAgKToge1xuICAgIGlucHV0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgb3V0cHV0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgd2l0bmVzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5wdXQ6IHNjcmlwdCA/IHV0eG9saWIuY2xhc3NpZnkuaW5wdXQoc2NyaXB0LCAvKiBhbGxvd0luY29tcGxldGUgKi8gdHJ1ZSkgOiB1bmRlZmluZWQsXG4gICAgICBvdXRwdXQ6IHNjcmlwdCA/IHV0eG9saWIuY2xhc3NpZnkub3V0cHV0KHNjcmlwdCkgOiB1bmRlZmluZWQsXG4gICAgICB3aXRuZXNzOiB3aXRuZXNzID8gdXR4b2xpYi5jbGFzc2lmeS53aXRuZXNzKHdpdG5lc3MpIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwYXJzZVBheW1lbnQodHlwZTogUGF5bWVudFR5cGUsIHBheW1lbnQ6IHV0eG9saWIuUGF5bWVudCk6IFBhcnNlck5vZGUge1xuICAgIHJldHVybiBwYXJzZVVua25vd24oXG4gICAgICB0aGlzLFxuICAgICAgYHBheW1lbnQ6ICR7dHlwZX1gLFxuICAgICAgeyBuYW1lOiBwYXltZW50Lm5hbWUsIC4uLnBheW1lbnQgfSxcbiAgICAgIHtcbiAgICAgICAgb21pdDogWyduZXR3b3JrJ10sXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlQnVmZmVyQXNQYXltZW50KHNjcmlwdDogQnVmZmVyKTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gcGF5bWVudFR5cGVzLmZsYXRNYXAoKHR5cGUpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5wYXJzZVBheW1lbnQodHlwZSwgcGFyc2VQYXltZW50V2l0aFR5cGUoc2NyaXB0LCB0eXBlLCB0aGlzLm5ldHdvcmspKV07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHBhcnNlKHNjcmlwdDogQnVmZmVyKTogUGFyc2VyTm9kZSB7XG4gICAgY29uc3QgY2xhc3NpZmljYXRpb24gPSBTY3JpcHRQYXJzZXIuY2xhc3NpZnkoc2NyaXB0LCB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlY29tcGlsZWQgPSB1dHhvbGliLnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KTtcbiAgICByZXR1cm4gdGhpcy5ub2RlKCdzY3JpcHQnLCBgbGVuZ3RoICR7c2NyaXB0Lmxlbmd0aH0gYnl0ZXNgLCBbXG4gICAgICB0aGlzLm5vZGVDYXRjaEVycm9yKCdtaW5pc2NyaXB0JywgKCkgPT4gYXNNaW5pc2NyaXB0KHNjcmlwdCk/LnRvU3RyaW5nKCkpLFxuICAgICAgdGhpcy5ub2RlKCdjbGFzc2lmaWNhdGlvbicsIHVuZGVmaW5lZCwgW1xuICAgICAgICB0aGlzLm5vZGUoJ2lucHV0JywgY2xhc3NpZmljYXRpb24uaW5wdXQpLFxuICAgICAgICB0aGlzLm5vZGUoJ291dHB1dCcsIGNsYXNzaWZpY2F0aW9uLm91dHB1dCksXG4gICAgICAgIHRoaXMubm9kZSgnd2l0bmVzcycsIGNsYXNzaWZpY2F0aW9uLndpdG5lc3MpLFxuICAgICAgXSksXG4gICAgICB0aGlzLm5vZGUoJ2FzbScsIFNjcmlwdFBhcnNlci50b0FTTShzY3JpcHQpKSxcbiAgICAgIHRoaXMubm9kZSgnZGVjb21waWxlZCcsIHVuZGVmaW5lZCwgZGVjb21waWxlZCA/IGRlY29tcGlsZWQubWFwKCh2LCBpKSA9PiB0aGlzLm5vZGUoaSwgdikpIDogdW5kZWZpbmVkKSxcbiAgICAgIC4uLnRoaXMucGFyc2VCdWZmZXJBc1BheW1lbnQoc2NyaXB0KSxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -8,13 +8,12 @@ const ParserTx_1 = require("./ParserTx");
8
8
  const InputParser_1 = require("./InputParser");
9
9
  const OutputParser_1 = require("./OutputParser");
10
10
  function formatConsensusBranchId(branchId) {
11
- var _a;
12
11
  const map = {
13
12
  OVERWINTER_BRANCH_ID: 0x5ba81b19,
14
13
  CANOPY_BRANCH_ID: 0xe9ff75a6,
15
14
  NU5_BRANCH_ID: 0xc2d6d0b4,
16
15
  };
17
- return (_a = Object.keys(map).find((k) => map[k] === branchId)) !== null && _a !== void 0 ? _a : 'unknown';
16
+ return Object.keys(map).find((k) => map[k] === branchId) ?? 'unknown';
18
17
  }
19
18
  class TxParser extends Parser_1.Parser {
20
19
  constructor(params) {
@@ -27,8 +26,7 @@ class TxParser extends Parser_1.Parser {
27
26
  : []);
28
27
  }
29
28
  parseOuts(outs, tx, txid, params) {
30
- var _a;
31
- if (this.params.vout === undefined && outs.length > ((_a = this.params.maxOutputs) !== null && _a !== void 0 ? _a : 200)) {
29
+ if (this.params.vout === undefined && outs.length > (this.params.maxOutputs ?? 200)) {
32
30
  return [this.node('(omitted)', undefined)];
33
31
  }
34
32
  return outs.flatMap((o, i) => this.params.vout === undefined || this.params.vout.includes(i)
@@ -93,4 +91,4 @@ TxParser.PARSE_ALL = {
93
91
  },
94
92
  parseAsUnknown: false,
95
93
  };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVHhQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQTJDO0FBRTNDLHFDQUE4QztBQUM5QyxxQ0FBcUM7QUFDckMseUNBQTRGO0FBQzVGLCtDQUE0QztBQUM1QyxpREFBOEM7QUFFOUMsU0FBUyx1QkFBdUIsQ0FBQyxRQUFnQjs7SUFDL0MsTUFBTSxHQUFHLEdBQTJCO1FBQ2xDLG9CQUFvQixFQUFFLFVBQVU7UUFDaEMsZ0JBQWdCLEVBQUUsVUFBVTtRQUM1QixhQUFhLEVBQUUsVUFBVTtLQUMxQixDQUFDO0lBQ0YsT0FBTyxNQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLG1DQUFJLFNBQVMsQ0FBQztBQUN4RSxDQUFDO0FBMEJELE1BQWEsUUFBUyxTQUFRLGVBQU07SUFhbEMsWUFBb0IsTUFBb0I7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBREksV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUV4QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQW9CLEVBQUUsRUFBWSxFQUFFLElBQVksRUFBRSxVQUFxQjtRQUM5RSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFvQixFQUFFLENBQVMsRUFBRSxFQUFFLENBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxD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LElBQUk7S0FDZDtJQUNELGNBQWMsRUFBRSxLQUFLO0NBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdXRwdXRTcGVuZCwgVHJhbnNhY3Rpb25TdGF0dXMgfSBmcm9tICdAYml0Z28vYmxvY2thcGlzJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgUGFyc2VyLCBQYXJzZXJOb2RlIH0gZnJvbSAnLi9QYXJzZXInO1xuaW1wb3J0IHsgZm9ybWF0U2F0IH0gZnJvbSAnLi9mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0UGFyc2VyVHhQcm9wZXJ0aWVzLCBQYXJzZXJUeCwgUGFyc2VyVHhJbnB1dCwgUGFyc2VyVHhPdXRwdXQgfSBmcm9tICcuL1BhcnNlclR4JztcbmltcG9ydCB7IElucHV0UGFyc2VyIH0gZnJvbSAnLi9JbnB1dFBhcnNlcic7XG5pbXBvcnQgeyBPdXRwdXRQYXJzZXIgfSBmcm9tICcuL091dHB1dFBhcnNlcic7XG5cbmZ1bmN0aW9uIGZvcm1hdENvbnNlbnN1c0JyYW5jaElkKGJyYW5jaElkOiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gICAgT1ZFUldJTlRFUl9CUkFOQ0hfSUQ6IDB4NWJhODFiMTksXG4gICAgQ0FOT1BZX0JSQU5DSF9JRDogMHhlOWZmNzVhNixcbiAgICBOVTVfQlJBTkNIX0lEOiAweGMyZDZkMGI0LFxuICB9O1xuICByZXR1cm4gT2JqZWN0LmtleXMobWFwKS5maW5kKChrKSA9PiBtYXBba10gPT09IGJyYW5jaElkKSA/PyAndW5rbm93bic7XG59XG5cbmV4cG9ydCB0eXBlIFR4UGFyc2VyQXJncyA9IHtcbiAgcGFyc2VTY3JpcHREYXRhOiBib29sZWFuO1xuICBwYXJzZVNjcmlwdEFzbTogYm9vbGVhbjtcbiAgcGFyc2VPdXRwdXRTY3JpcHQ6IGJvb2xlYW47XG4gIHBhcnNlU2lnbmF0dXJlRGF0YToge1xuICAgIHNjcmlwdDogYm9vbGVhbjtcbiAgICBlY2RzYTogYm9vbGVhbjtcbiAgICBzY2hub3JyOiBib29sZWFuO1xuICB9O1xuICBwYXJzZUFzVW5rbm93bjogYm9vbGVhbjtcbiAgaGlkZT86IHN0cmluZ1tdO1xuICBtYXhPdXRwdXRzPzogbnVtYmVyO1xuICB2aW4/OiBudW1iZXJbXTtcbiAgdm91dD86IG51bWJlcltdO1xuICBwYXJzZUVycm9yPzogJ3Rocm93JyB8ICdjb250aW51ZSc7XG59O1xuXG5leHBvcnQgdHlwZSBDaGFpbkluZm8gPSB7XG4gIHN0YXR1cz86IFRyYW5zYWN0aW9uU3RhdHVzO1xuICBvdXRwdXRTcGVuZHM/OiBPdXRwdXRTcGVuZFtdO1xuICBwcmV2T3V0cHV0cz86IHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PltdO1xuICBwcmV2T3V0cHV0U3BlbmRzPzogT3V0cHV0U3BlbmRbXTtcbn07XG5cbmV4cG9ydCBjbGFzcyBUeFBhcnNlciBleHRlbmRzIFBhcnNlciB7XG4gIHN0YXRpYyBQQVJTRV9BTEw6IFR4UGFyc2VyQXJncyA9IHtcbiAgICBwYXJzZVNjcmlwdERhdGE6IHRydWUsXG4gICAgcGFyc2VTY3JpcHRBc206IHRydWUsXG4gICAgcGFyc2VPdXRwdXRTY3JpcHQ6IHRydWUsXG4gICAgcGFyc2VTaWduYXR1cmVEYXRhOiB7XG4gICAgICBzY3JpcHQ6IHRydWUsXG4gICAgICBlY2RzYTogdHJ1ZSxcbiAgICAgIHNjaG5vcnI6IHRydWUsXG4gICAgfSxcbiAgICBwYXJzZUFzVW5rbm93bjogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJhbXM6IFR4UGFyc2VyQXJncykge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gIH1cblxuICBwYXJzZUlucyhpbnM6IFBhcnNlclR4SW5wdXRbXSwgdHg6IFBhcnNlclR4LCB0eGlkOiBzdHJpbmcsIG91dHB1dEluZm86IENoYWluSW5mbyk6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIGlucy5mbGF0TWFwKChpbnB1dDogUGFyc2VyVHhJbnB1dCwgaTogbnVtYmVyKSA9PlxuICAgICAgdGhpcy5wYXJhbXMudmluID09PSB1bmRlZmluZWQgfHwgdGhpcy5wYXJhbXMudmluLmluY2x1ZGVzKGkpXG4gICAgICAgID8gW25ldyBJbnB1dFBhcnNlcih0eGlkLCB0eCwgaSwgb3V0cHV0SW5mbywgdGhpcy5wYXJhbXMpLnBhcnNlSW5wdXQoKV1cbiAgICAgICAgOiBbXVxuICAgICk7XG4gIH1cblxuICBwYXJzZU91dHMob3V0czogUGFyc2VyVHhPdXRwdXRbXSwgdHg6IFBhcnNlclR4LCB0eGlkOiBzdHJpbmcsIHBhcmFtczogQ2hhaW5JbmZvKTogUGFyc2VyTm9kZVtdIHtcbiAgICBpZiAodGhpcy5wYXJhbXMudm91dCA9PT0gdW5kZWZpbmVkICYmIG91dHMubGVuZ3RoID4gKHRoaXMucGFyYW1zLm1heE91dHB1dHMgPz8gMjAwKSkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJyhvbWl0dGVkKScsIHVuZGVmaW5lZCldO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRzLmZsYXRNYXAoKG8sIGkpID0+XG4gICAgICB0aGlzLnBhcmFtcy52b3V0ID09PSB1bmRlZmluZWQgfHwgdGhpcy5wYXJhbXMudm91dC5pbmNsdWRlcyhpKVxuICAgICAgICA/IFtuZXcgT3V0cHV0UGFyc2VyKHR4Lm5ldHdvcmssIHR4aWQsIGksIG8sIHBhcmFtcywgdGhpcy5wYXJhbXMpLnBhcnNlT3V0cHV0KCldXG4gICAgICAgIDogW11cbiAgICApO1xuICB9XG5cbiAgcGFyc2VTdGF0dXMoc3RhdHVzPzogVHJhbnNhY3Rpb25TdGF0dXMpOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgnc3RhdHVzJywgJ3Vua25vd24nKV07XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgICdzdGF0dXMnLFxuICAgICAgICBzdGF0dXMuZm91bmQgPyAnZm91bmQnIDogJ25vdCBmb3VuZCcsXG4gICAgICAgIHN0YXR1cy5mb3VuZFxuICAgICAgICAgID8gc3RhdHVzLmNvbmZpcm1lZFxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlKFxuICAgICAgICAgICAgICAgICAgJ2NvbmZpcm1lZCcsXG4gICAgICAgICAgICAgICAgICBgYmxvY2sgJHtzdGF0dXMuYmxvY2tIZWlnaHR9YCArIChzdGF0dXMuZGF0ZSA/IGAgZGF0ZT0ke3N0YXR1cy5kYXRlLnRvSVNPU3RyaW5nKCl9YCA6ICcnKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIDogW3RoaXMubm9kZSgnY29uZmlybWVkJywgZmFsc2UpXVxuICAgICAgICAgIDogW11cbiAgICAgICksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlVmVyc2lvbih0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PiB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnQpOiBQYXJzZXJOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgJ3ZlcnNpb24nLFxuICAgICAgdHgudmVyc2lvbixcbiAgICAgIHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5aY2FzaFRyYW5zYWN0aW9uXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5ub2RlKCdjb25zZW5zdXNCcmFuY2hJZCAoaW5mZXJyZWQpJywgdHguY29uc2Vuc3VzQnJhbmNoSWQudG9TdHJpbmcoMTYpLCBbXG4gICAgICAgICAgICAgIHRoaXMubm9kZSgnbmFtZScsIGZvcm1hdENvbnNlbnN1c0JyYW5jaElkKHR4LmNvbnNlbnN1c0JyYW5jaElkKSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW11cbiAgICApO1xuICB9XG5cbiAgcGFyc2UodHg6IFBhcnNlclR4LCBjaGFpbkluZm86IENoYWluSW5mbyA9IHt9KTogUGFyc2VyTm9kZSB7XG4gICAgY29uc3QgeyBmb3JtYXQsIGNvbXBsZXRlLCBpZCwgd2VpZ2h0LCBpbnB1dHMsIG91dHB1dHMsIGhhc1dpdG5lc3NlcywgaW5wdXRTdW0sIG91dHB1dFN1bSB9ID0gZ2V0UGFyc2VyVHhQcm9wZXJ0aWVzKFxuICAgICAgdHgsXG4gICAgICBjaGFpbkluZm8ucHJldk91dHB1dHNcbiAgICApO1xuICAgIGNvbnN0IHZzaXplID0gd2VpZ2h0ID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBNYXRoLmNlaWwod2VpZ2h0IC8gNCk7XG4gICAgY29uc3QgZmVlID0gaW5wdXRTdW0gPyBpbnB1dFN1bSAtIG91dHB1dFN1bSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmZWVSYXRlID0gZmVlICYmIHZzaXplID8gTnVtYmVyKGZlZSkgLyB2c2l6ZSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5ub2RlKCd0cmFuc2FjdGlvbicsIGlkLCBbXG4gICAgICB0aGlzLm5vZGUoJ2Zvcm1hdCcsIGZvcm1hdCksXG4gICAgICB0aGlzLm5vZGUoJ2NvbXBsZXRlJywgY29tcGxldGUpLFxuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICAncGFyc2VkQXMnLFxuICAgICAgICBgJHt1dHhvbGliLmdldE5ldHdvcmtOYW1lKHV0eG9saWIuZ2V0TWFpbm5ldCh0eC5uZXR3b3JrKSl9IGAgK1xuICAgICAgICAgIGAke3V0eG9saWIuaXNNYWlubmV0KHR4Lm5ldHdvcmspID8gJ21haW5uZXQnIDogJ3Rlc3RuZXQnfWBcbiAgICAgICksXG4gICAgICB0aGlzLnBhcnNlVmVyc2lvbih0eCksXG4gICAgICB0aGlzLm5vZGUoJ2xvY2t0aW1lJywgdHgubG9ja3RpbWUpLFxuICAgICAgdGhpcy5ub2RlKCdoYXNXaXRuZXNzZXMnLCBoYXNXaXRuZXNzZXMpLFxuICAgICAgLi4udGhpcy5wYXJzZVN0YXR1cyhjaGFpbkluZm8uc3RhdHVzKSxcbiAgICAgIHRoaXMubm9kZSgndnNpemUnLCBgJHt2c2l6ZX12Ynl0ZXMgKCR7d2VpZ2h0fXd1KWApLFxuICAgICAgLi4uKGZlZSAmJiBmZWVSYXRlXG4gICAgICAgID8gW3RoaXMubm9kZSgnZmVlIFtidGNdJywgZm9ybWF0U2F0KGZlZSkpLCB0aGlzLm5vZGUoJ2ZlZVJhdGUgW3NhdC92Ynl0ZV0nLCBmZWVSYXRlLnRvRml4ZWQoMikpXVxuICAgICAgICA6IFtdKSxcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgYGlucHV0c2AsXG4gICAgICAgIFtpbnB1dHMubGVuZ3RoLnRvU3RyaW5nKCldLmNvbmNhdChpbnB1dFN1bSA/IFsnc3VtPScgKyBmb3JtYXRTYXQoaW5wdXRTdW0pXSA6IFtdKS5qb2luKCcgJyksXG4gICAgICAgIHRoaXMucGFyc2VJbnMoaW5wdXRzLCB0eCwgaWQsIGNoYWluSW5mbylcbiAgICAgICksXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgIGBvdXRwdXRzYCxcbiAgICAgICAgW291dHB1dHMubGVuZ3RoLnRvU3RyaW5nKCksICdzdW09JyArIGZvcm1hdFNhdChvdXRwdXRTdW0pXS5qb2luKCcgJyksXG4gICAgICAgIHRoaXMucGFyc2VPdXRzKG91dHB1dHMsIHR4LCBpZCwgY2hhaW5JbmZvKVxuICAgICAgKSxcbiAgICBdKTtcbiAgfVxufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVHhQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQTJDO0FBRTNDLHFDQUE4QztBQUM5QyxxQ0FBcUM7QUFDckMseUNBQTRGO0FBQzVGLCtDQUE0QztBQUM1QyxpREFBOEM7QUFFOUMsU0FBUyx1QkFBdUIsQ0FBQyxRQUFnQjtJQUMvQyxNQUFNLEdBQUcsR0FBMkI7UUFDbEMsb0JBQW9CLEVBQUUsVUFBVTtRQUNoQyxnQkFBZ0IsRUFBRSxVQUFVO1FBQzVCLGFBQWEsRUFBRSxVQUFVO0tBQzFCLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ3hFLENBQUM7QUEwQkQsTUFBYSxRQUFTLFNBQVEsZUFBTTtJQWFsQyxZQUFvQixNQUFvQjtRQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFESSxXQUFNLEdBQU4sTUFBTSxDQUFjO0lBRXhDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBb0IsRUFBRSxFQUFZLEVBQUUsSUFBWSxFQUFFLFVBQXFCO1FBQzlFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW9CLEVBQUUsQ0FBUyxFQUFFLEVBQUUsQ0FDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUMsSUFBSSx5QkFBVyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFD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RCxjQUFjLEVBQUUsS0FBSztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0cHV0U3BlbmQsIFRyYW5zYWN0aW9uU3RhdHVzIH0gZnJvbSAnQGJpdGdvL2Jsb2NrYXBpcyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IFBhcnNlciwgUGFyc2VyTm9kZSB9IGZyb20gJy4vUGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFNhdCB9IGZyb20gJy4vZm9ybWF0JztcbmltcG9ydCB7IGdldFBhcnNlclR4UHJvcGVydGllcywgUGFyc2VyVHgsIFBhcnNlclR4SW5wdXQsIFBhcnNlclR4T3V0cHV0IH0gZnJvbSAnLi9QYXJzZXJUeCc7XG5pbXBvcnQgeyBJbnB1dFBhcnNlciB9IGZyb20gJy4vSW5wdXRQYXJzZXInO1xuaW1wb3J0IHsgT3V0cHV0UGFyc2VyIH0gZnJvbSAnLi9PdXRwdXRQYXJzZXInO1xuXG5mdW5jdGlvbiBmb3JtYXRDb25zZW5zdXNCcmFuY2hJZChicmFuY2hJZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgIE9WRVJXSU5URVJfQlJBTkNIX0lEOiAweDViYTgxYjE5LFxuICAgIENBTk9QWV9CUkFOQ0hfSUQ6IDB4ZTlmZjc1YTYsXG4gICAgTlU1X0JSQU5DSF9JRDogMHhjMmQ2ZDBiNCxcbiAgfTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCkuZmluZCgoaykgPT4gbWFwW2tdID09PSBicmFuY2hJZCkgPz8gJ3Vua25vd24nO1xufVxuXG5leHBvcnQgdHlwZSBUeFBhcnNlckFyZ3MgPSB7XG4gIHBhcnNlU2NyaXB0RGF0YTogYm9vbGVhbjtcbiAgcGFyc2VTY3JpcHRBc206IGJvb2xlYW47XG4gIHBhcnNlT3V0cHV0U2NyaXB0OiBib29sZWFuO1xuICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICBzY3JpcHQ6IGJvb2xlYW47XG4gICAgZWNkc2E6IGJvb2xlYW47XG4gICAgc2Nobm9ycjogYm9vbGVhbjtcbiAgfTtcbiAgcGFyc2VBc1Vua25vd246IGJvb2xlYW47XG4gIGhpZGU/OiBzdHJpbmdbXTtcbiAgbWF4T3V0cHV0cz86IG51bWJlcjtcbiAgdmluPzogbnVtYmVyW107XG4gIHZvdXQ/OiBudW1iZXJbXTtcbiAgcGFyc2VFcnJvcj86ICd0aHJvdycgfCAnY29udGludWUnO1xufTtcblxuZXhwb3J0IHR5cGUgQ2hhaW5JbmZvID0ge1xuICBzdGF0dXM/OiBUcmFuc2FjdGlvblN0YXR1cztcbiAgb3V0cHV0U3BlbmRzPzogT3V0cHV0U3BlbmRbXTtcbiAgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD5bXTtcbiAgcHJldk91dHB1dFNwZW5kcz86IE91dHB1dFNwZW5kW107XG59O1xuXG5leHBvcnQgY2xhc3MgVHhQYXJzZXIgZXh0ZW5kcyBQYXJzZXIge1xuICBzdGF0aWMgUEFSU0VfQUxMOiBUeFBhcnNlckFyZ3MgPSB7XG4gICAgcGFyc2VTY3JpcHREYXRhOiB0cnVlLFxuICAgIHBhcnNlU2NyaXB0QXNtOiB0cnVlLFxuICAgIHBhcnNlT3V0cHV0U2NyaXB0OiB0cnVlLFxuICAgIHBhcnNlU2lnbmF0dXJlRGF0YToge1xuICAgICAgc2NyaXB0OiB0cnVlLFxuICAgICAgZWNkc2E6IHRydWUsXG4gICAgICBzY2hub3JyOiB0cnVlLFxuICAgIH0sXG4gICAgcGFyc2VBc1Vua25vd246IGZhbHNlLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyYW1zOiBUeFBhcnNlckFyZ3MpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgcGFyc2VJbnMoaW5zOiBQYXJzZXJUeElucHV0W10sIHR4OiBQYXJzZXJUeCwgdHhpZDogc3RyaW5nLCBvdXRwdXRJbmZvOiBDaGFpbkluZm8pOiBQYXJzZXJOb2RlW10ge1xuICAgIHJldHVybiBpbnMuZmxhdE1hcCgoaW5wdXQ6IFBhcnNlclR4SW5wdXQsIGk6IG51bWJlcikgPT5cbiAgICAgIHRoaXMucGFyYW1zLnZpbiA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucGFyYW1zLnZpbi5pbmNsdWRlcyhpKVxuICAgICAgICA/IFtuZXcgSW5wdXRQYXJzZXIodHhpZCwgdHgsIGksIG91dHB1dEluZm8sIHRoaXMucGFyYW1zKS5wYXJzZUlucHV0KCldXG4gICAgICAgIDogW11cbiAgICApO1xuICB9XG5cbiAgcGFyc2VPdXRzKG91dHM6IFBhcnNlclR4T3V0cHV0W10sIHR4OiBQYXJzZXJUeCwgdHhpZDogc3RyaW5nLCBwYXJhbXM6IENoYWluSW5mbyk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKHRoaXMucGFyYW1zLnZvdXQgPT09IHVuZGVmaW5lZCAmJiBvdXRzLmxlbmd0aCA+ICh0aGlzLnBhcmFtcy5tYXhPdXRwdXRzID8/IDIwMCkpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCcob21pdHRlZCknLCB1bmRlZmluZWQpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cy5mbGF0TWFwKChvLCBpKSA9PlxuICAgICAgdGhpcy5wYXJhbXMudm91dCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucGFyYW1zLnZvdXQuaW5jbHVkZXMoaSlcbiAgICAgICAgPyBbbmV3IE91dHB1dFBhcnNlcih0eC5uZXR3b3JrLCB0eGlkLCBpLCBvLCBwYXJhbXMsIHRoaXMucGFyYW1zKS5wYXJzZU91dHB1dCgpXVxuICAgICAgICA6IFtdXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlU3RhdHVzKHN0YXR1cz86IFRyYW5zYWN0aW9uU3RhdHVzKTogUGFyc2VyTm9kZVtdIHtcbiAgICBpZiAoIXN0YXR1cykge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3N0YXR1cycsICd1bmtub3duJyldO1xuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICAnc3RhdHVzJyxcbiAgICAgICAgc3RhdHVzLmZvdW5kID8gJ2ZvdW5kJyA6ICdub3QgZm91bmQnLFxuICAgICAgICBzdGF0dXMuZm91bmRcbiAgICAgICAgICA/IHN0YXR1cy5jb25maXJtZWRcbiAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZShcbiAgICAgICAgICAgICAgICAgICdjb25maXJtZWQnLFxuICAgICAgICAgICAgICAgICAgYGJsb2NrICR7c3RhdHVzLmJsb2NrSGVpZ2h0fWAgKyAoc3RhdHVzLmRhdGUgPyBgIGRhdGU9JHtzdGF0dXMuZGF0ZS50b0lTT1N0cmluZygpfWAgOiAnJylcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICA6IFt0aGlzLm5vZGUoJ2NvbmZpcm1lZCcsIGZhbHNlKV1cbiAgICAgICAgICA6IFtdXG4gICAgICApLFxuICAgIF07XG4gIH1cblxuICBwYXJzZVZlcnNpb24odHg6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD4gfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KTogUGFyc2VyTm9kZSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICd2ZXJzaW9uJyxcbiAgICAgIHR4LnZlcnNpb24sXG4gICAgICB0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uWmNhc2hUcmFuc2FjdGlvblxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHRoaXMubm9kZSgnY29uc2Vuc3VzQnJhbmNoSWQgKGluZmVycmVkKScsIHR4LmNvbnNlbnN1c0JyYW5jaElkLnRvU3RyaW5nKDE2KSwgW1xuICAgICAgICAgICAgICB0aGlzLm5vZGUoJ25hbWUnLCBmb3JtYXRDb25zZW5zdXNCcmFuY2hJZCh0eC5jb25zZW5zdXNCcmFuY2hJZCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlKHR4OiBQYXJzZXJUeCwgY2hhaW5JbmZvOiBDaGFpbkluZm8gPSB7fSk6IFBhcnNlck5vZGUge1xuICAgIGNvbnN0IHsgZm9ybWF0LCBjb21wbGV0ZSwgaWQsIHdlaWdodCwgaW5wdXRzLCBvdXRwdXRzLCBoYXNXaXRuZXNzZXMsIGlucHV0U3VtLCBvdXRwdXRTdW0gfSA9IGdldFBhcnNlclR4UHJvcGVydGllcyhcbiAgICAgIHR4LFxuICAgICAgY2hhaW5JbmZvLnByZXZPdXRwdXRzXG4gICAgKTtcbiAgICBjb25zdCB2c2l6ZSA9IHdlaWdodCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogTWF0aC5jZWlsKHdlaWdodCAvIDQpO1xuICAgIGNvbnN0IGZlZSA9IGlucHV0U3VtID8gaW5wdXRTdW0gLSBvdXRwdXRTdW0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmVlUmF0ZSA9IGZlZSAmJiB2c2l6ZSA/IE51bWJlcihmZWUpIC8gdnNpemUgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMubm9kZSgndHJhbnNhY3Rpb24nLCBpZCwgW1xuICAgICAgdGhpcy5ub2RlKCdmb3JtYXQnLCBmb3JtYXQpLFxuICAgICAgdGhpcy5ub2RlKCdjb21wbGV0ZScsIGNvbXBsZXRlKSxcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgJ3BhcnNlZEFzJyxcbiAgICAgICAgYCR7dXR4b2xpYi5nZXROZXR3b3JrTmFtZSh1dHhvbGliLmdldE1haW5uZXQodHgubmV0d29yaykpfSBgICtcbiAgICAgICAgICBgJHt1dHhvbGliLmlzTWFpbm5ldCh0eC5uZXR3b3JrKSA/ICdtYWlubmV0JyA6ICd0ZXN0bmV0J31gXG4gICAgICApLFxuICAgICAgdGhpcy5wYXJzZVZlcnNpb24odHgpLFxuICAgICAgdGhpcy5ub2RlKCdsb2NrdGltZScsIHR4LmxvY2t0aW1lKSxcbiAgICAgIHRoaXMubm9kZSgnaGFzV2l0bmVzc2VzJywgaGFzV2l0bmVzc2VzKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTdGF0dXMoY2hhaW5JbmZvLnN0YXR1cyksXG4gICAgICB0aGlzLm5vZGUoJ3ZzaXplJywgYCR7dnNpemV9dmJ5dGVzICgke3dlaWdodH13dSlgKSxcbiAgICAgIC4uLihmZWUgJiYgZmVlUmF0ZVxuICAgICAgICA/IFt0aGlzLm5vZGUoJ2ZlZSBbYnRjXScsIGZvcm1hdFNhdChmZWUpKSwgdGhpcy5ub2RlKCdmZWVSYXRlIFtzYXQvdmJ5dGVdJywgZmVlUmF0ZS50b0ZpeGVkKDIpKV1cbiAgICAgICAgOiBbXSksXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgIGBpbnB1dHNgLFxuICAgICAgICBbaW5wdXRzLmxlbmd0aC50b1N0cmluZygpXS5jb25jYXQoaW5wdXRTdW0gPyBbJ3N1bT0nICsgZm9ybWF0U2F0KGlucHV0U3VtKV0gOiBbXSkuam9pbignICcpLFxuICAgICAgICB0aGlzLnBhcnNlSW5zKGlucHV0cywgdHgsIGlkLCBjaGFpbkluZm8pXG4gICAgICApLFxuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICBgb3V0cHV0c2AsXG4gICAgICAgIFtvdXRwdXRzLmxlbmd0aC50b1N0cmluZygpLCAnc3VtPScgKyBmb3JtYXRTYXQob3V0cHV0U3VtKV0uam9pbignICcpLFxuICAgICAgICB0aGlzLnBhcnNlT3V0cyhvdXRwdXRzLCB0eCwgaWQsIGNoYWluSW5mbylcbiAgICAgICksXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
@@ -17,13 +17,12 @@ exports.keyOptions = {
17
17
  bitgoKeyPrefix: { type: 'string', default: '0/0' },
18
18
  };
19
19
  function getRootWalletKeys(argv) {
20
- var _a, _b, _c;
21
20
  const xpubs = [argv.userKey, argv.backupKey, argv.bitgoKey].map((k) => utxolib.bip32.fromBase58(k));
22
21
  assert(utxolib.bitgo.isTriple(xpubs));
23
22
  return new utxolib.bitgo.RootWalletKeys(xpubs, [
24
- (_a = argv.userKeyPrefix) !== null && _a !== void 0 ? _a : utxolib.bitgo.RootWalletKeys.defaultPrefix,
25
- (_b = argv.backupKeyPrefix) !== null && _b !== void 0 ? _b : utxolib.bitgo.RootWalletKeys.defaultPrefix,
26
- (_c = argv.bitgoKeyPrefix) !== null && _c !== void 0 ? _c : utxolib.bitgo.RootWalletKeys.defaultPrefix,
23
+ argv.userKeyPrefix ?? utxolib.bitgo.RootWalletKeys.defaultPrefix,
24
+ argv.backupKeyPrefix ?? utxolib.bitgo.RootWalletKeys.defaultPrefix,
25
+ argv.bitgoKeyPrefix ?? utxolib.bitgo.RootWalletKeys.defaultPrefix,
27
26
  ]);
28
27
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0S2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmdzL3dhbGxldEtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsMENBRUM7QUFvQkQsOENBUUM7QUFsQ0QsaUNBQWlDO0FBRWpDLDJDQUEyQztBQUUzQyxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxPQUFPLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTyxDQUFDO0FBQ2xFLENBQUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUU7SUFDL0MsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0lBQ2pELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtJQUNqRCxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7SUFDbkQsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQ2hELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUMxQyxDQUFDO0FBV1gsU0FBZ0IsaUJBQWlCLENBQUMsSUFBZ0I7O0lBQ2hELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRTtRQUM3QyxNQUFBLElBQUksQ0FBQyxhQUFhLG1DQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWE7UUFDaEUsTUFBQSxJQUFJLENBQUMsZUFBZSxtQ0FBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhO1FBQ2xFLE1BQUEsSUFBSSxDQUFDLGNBQWMsbUNBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYTtLQUNsRSxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2FsbGV0S2V5TmFtZShuYW1lOiBzdHJpbmcpOiBuYW1lIGlzIHV0eG9saWIuYml0Z28uS2V5TmFtZSB7XG4gIHJldHVybiBuYW1lID09PSAndXNlcicgfHwgbmFtZSA9PT0gJ2JhY2t1cCcgfHwgbmFtZSA9PT0gJ2JpdGdvJztcbn1cblxuZXhwb3J0IGNvbnN0IGtleU9wdGlvbnMgPSB7XG4gIHVzZXJLZXk6IHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9LFxuICB1c2VyS2V5UHJlZml4OiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnMC8wJyB9LFxuICBiYWNrdXBLZXk6IHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9LFxuICBiYWNrdXBLZXlQcmVmaXg6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICcwLzAnIH0sXG4gIGJpdGdvS2V5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSxcbiAgYml0Z29LZXlQcmVmaXg6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICcwLzAnIH0sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBLZXlPcHRpb25zID0ge1xuICB1c2VyS2V5OiBzdHJpbmc7XG4gIHVzZXJLZXlQcmVmaXg/OiBzdHJpbmc7XG4gIGJhY2t1cEtleTogc3RyaW5nO1xuICBiYWNrdXBLZXlQcmVmaXg/OiBzdHJpbmc7XG4gIGJpdGdvS2V5OiBzdHJpbmc7XG4gIGJpdGdvS2V5UHJlZml4Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RXYWxsZXRLZXlzKGFyZ3Y6IEtleU9wdGlvbnMpOiB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzIHtcbiAgY29uc3QgeHB1YnMgPSBbYXJndi51c2VyS2V5LCBhcmd2LmJhY2t1cEtleSwgYXJndi5iaXRnb0tleV0ubWFwKChrKSA9PiB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoaykpO1xuICBhc3NlcnQodXR4b2xpYi5iaXRnby5pc1RyaXBsZSh4cHVicykpO1xuICByZXR1cm4gbmV3IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMoeHB1YnMsIFtcbiAgICBhcmd2LnVzZXJLZXlQcmVmaXggPz8gdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cy5kZWZhdWx0UHJlZml4LFxuICAgIGFyZ3YuYmFja3VwS2V5UHJlZml4ID8/IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMuZGVmYXVsdFByZWZpeCxcbiAgICBhcmd2LmJpdGdvS2V5UHJlZml4ID8/IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMuZGVmYXVsdFByZWZpeCxcbiAgXSk7XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0S2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmdzL3dhbGxldEtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsMENBRUM7QUFvQkQsOENBUUM7QUFsQ0QsaUNBQWlDO0FBRWpDLDJDQUEyQztBQUUzQyxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxPQUFPLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTyxDQUFDO0FBQ2xFLENBQUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUU7SUFDL0MsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0lBQ2pELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtJQUNqRCxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7SUFDbkQsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQ2hELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUMxQyxDQUFDO0FBV1gsU0FBZ0IsaUJBQWlCLENBQUMsSUFBZ0I7SUFDaEQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFO1FBQzdDLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYTtRQUNoRSxJQUFJLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWE7UUFDbEUsSUFBSSxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhO0tBQ2xFLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNXYWxsZXRLZXlOYW1lKG5hbWU6IHN0cmluZyk6IG5hbWUgaXMgdXR4b2xpYi5iaXRnby5LZXlOYW1lIHtcbiAgcmV0dXJuIG5hbWUgPT09ICd1c2VyJyB8fCBuYW1lID09PSAnYmFja3VwJyB8fCBuYW1lID09PSAnYml0Z28nO1xufVxuXG5leHBvcnQgY29uc3Qga2V5T3B0aW9ucyA9IHtcbiAgdXNlcktleTogeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0sXG4gIHVzZXJLZXlQcmVmaXg6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICcwLzAnIH0sXG4gIGJhY2t1cEtleTogeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0sXG4gIGJhY2t1cEtleVByZWZpeDogeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJzAvMCcgfSxcbiAgYml0Z29LZXk6IHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9LFxuICBiaXRnb0tleVByZWZpeDogeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJzAvMCcgfSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEtleU9wdGlvbnMgPSB7XG4gIHVzZXJLZXk6IHN0cmluZztcbiAgdXNlcktleVByZWZpeD86IHN0cmluZztcbiAgYmFja3VwS2V5OiBzdHJpbmc7XG4gIGJhY2t1cEtleVByZWZpeD86IHN0cmluZztcbiAgYml0Z29LZXk6IHN0cmluZztcbiAgYml0Z29LZXlQcmVmaXg/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdFdhbGxldEtleXMoYXJndjogS2V5T3B0aW9ucyk6IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMge1xuICBjb25zdCB4cHVicyA9IFthcmd2LnVzZXJLZXksIGFyZ3YuYmFja3VwS2V5LCBhcmd2LmJpdGdvS2V5XS5tYXAoKGspID0+IHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChrKSk7XG4gIGFzc2VydCh1dHhvbGliLmJpdGdvLmlzVHJpcGxlKHhwdWJzKSk7XG4gIHJldHVybiBuZXcgdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyh4cHVicywgW1xuICAgIGFyZ3YudXNlcktleVByZWZpeCA/PyB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzLmRlZmF1bHRQcmVmaXgsXG4gICAgYXJndi5iYWNrdXBLZXlQcmVmaXggPz8gdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cy5kZWZhdWx0UHJlZml4LFxuICAgIGFyZ3YuYml0Z29LZXlQcmVmaXggPz8gdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cy5kZWZhdWx0UHJlZml4LFxuICBdKTtcbn1cbiJdfQ==
package/dist/src/bip32.js CHANGED
@@ -5,7 +5,6 @@ const utxolib = require("@bitgo/utxo-lib");
5
5
  const Parser_1 = require("./Parser");
6
6
  const parseUnknown_1 = require("./parseUnknown");
7
7
  function parseBip32(bip32Key, params) {
8
- var _a;
9
8
  const parser = new Parser_1.Parser();
10
9
  let bip32 = utxolib.bip32.fromBase58(bip32Key);
11
10
  if (params.derive) {
@@ -16,9 +15,9 @@ function parseBip32(bip32Key, params) {
16
15
  omit: ['network', '__Q', '__D', '__DEPTH', '__INDEX', '__PARENT_FINGERPRINT'],
17
16
  });
18
17
  if (!bip32.isNeutered()) {
19
- (_a = node.nodes) === null || _a === void 0 ? void 0 : _a.unshift(parser.node('xpub', bip32.neutered().toBase58()));
18
+ node.nodes?.unshift(parser.node('xpub', bip32.neutered().toBase58()));
20
19
  }
21
20
  node.value = bip32.toBase58();
22
21
  return node;
23
22
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmlwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxnQ0FlQztBQXBCRCwyQ0FBMkM7QUFFM0MscUNBQThDO0FBQzlDLGlEQUE4QztBQUU5QyxTQUFnQixVQUFVLENBQUMsUUFBZ0IsRUFBRSxNQUEyQjs7SUFDdEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLEVBQUUsQ0FBQztJQUM1QixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQkFBWSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQzlDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLENBQUM7S0FDOUUsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgUGFyc2VyLCBQYXJzZXJOb2RlIH0gZnJvbSAnLi9QYXJzZXInO1xuaW1wb3J0IHsgcGFyc2VVbmtub3duIH0gZnJvbSAnLi9wYXJzZVVua25vd24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCaXAzMihiaXAzMktleTogc3RyaW5nLCBwYXJhbXM6IHsgZGVyaXZlPzogc3RyaW5nIH0pOiBQYXJzZXJOb2RlIHtcbiAgY29uc3QgcGFyc2VyID0gbmV3IFBhcnNlcigpO1xuICBsZXQgYmlwMzIgPSB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoYmlwMzJLZXkpO1xuICBpZiAocGFyYW1zLmRlcml2ZSkge1xuICAgIGJpcDMyID0gYmlwMzIuZGVyaXZlUGF0aChwYXJhbXMuZGVyaXZlKTtcbiAgfVxuICBjb25zdCBsYWJlbCA9IGJpcDMyLmlzTmV1dGVyZWQoKSA/ICd4cHViJyA6ICd4cHJ2JztcbiAgY29uc3Qgbm9kZSA9IHBhcnNlVW5rbm93bihwYXJzZXIsIGxhYmVsLCBiaXAzMiwge1xuICAgIG9taXQ6IFsnbmV0d29yaycsICdfX1EnLCAnX19EJywgJ19fREVQVEgnLCAnX19JTkRFWCcsICdfX1BBUkVOVF9GSU5HRVJQUklOVCddLFxuICB9KTtcbiAgaWYgKCFiaXAzMi5pc05ldXRlcmVkKCkpIHtcbiAgICBub2RlLm5vZGVzPy51bnNoaWZ0KHBhcnNlci5ub2RlKCd4cHViJywgYmlwMzIubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSk7XG4gIH1cbiAgbm9kZS52YWx1ZSA9IGJpcDMyLnRvQmFzZTU4KCk7XG4gIHJldHVybiBub2RlO1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmlwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxnQ0FlQztBQXBCRCwyQ0FBMkM7QUFFM0MscUNBQThDO0FBQzlDLGlEQUE4QztBQUU5QyxTQUFnQixVQUFVLENBQUMsUUFBZ0IsRUFBRSxNQUEyQjtJQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sRUFBRSxDQUFDO0lBQzVCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBRyxJQUFBLDJCQUFZLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDOUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQztLQUM5RSxDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBwYXJzZVVua25vd24gfSBmcm9tICcuL3BhcnNlVW5rbm93bic7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJpcDMyKGJpcDMyS2V5OiBzdHJpbmcsIHBhcmFtczogeyBkZXJpdmU/OiBzdHJpbmcgfSk6IFBhcnNlck5vZGUge1xuICBjb25zdCBwYXJzZXIgPSBuZXcgUGFyc2VyKCk7XG4gIGxldCBiaXAzMiA9IHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChiaXAzMktleSk7XG4gIGlmIChwYXJhbXMuZGVyaXZlKSB7XG4gICAgYmlwMzIgPSBiaXAzMi5kZXJpdmVQYXRoKHBhcmFtcy5kZXJpdmUpO1xuICB9XG4gIGNvbnN0IGxhYmVsID0gYmlwMzIuaXNOZXV0ZXJlZCgpID8gJ3hwdWInIDogJ3hwcnYnO1xuICBjb25zdCBub2RlID0gcGFyc2VVbmtub3duKHBhcnNlciwgbGFiZWwsIGJpcDMyLCB7XG4gICAgb21pdDogWyduZXR3b3JrJywgJ19fUScsICdfX0QnLCAnX19ERVBUSCcsICdfX0lOREVYJywgJ19fUEFSRU5UX0ZJTkdFUlBSSU5UJ10sXG4gIH0pO1xuICBpZiAoIWJpcDMyLmlzTmV1dGVyZWQoKSkge1xuICAgIG5vZGUubm9kZXM/LnVuc2hpZnQocGFyc2VyLm5vZGUoJ3hwdWInLCBiaXAzMi5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpKTtcbiAgfVxuICBub2RlLnZhbHVlID0gYmlwMzIudG9CYXNlNTgoKTtcbiAgcmV0dXJuIG5vZGU7XG59XG4iXX0=