@bitgo-beta/sdk-coin-dot 1.3.3-alpha.1 → 1.3.3-alpha.2

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.
@@ -193,6 +193,11 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
193
193
  this.method(decodedTxn.method);
194
194
  return this._transaction;
195
195
  }
196
+ getMethodAndArguments() {
197
+ this.validateTransaction(this.transaction);
198
+ const unsignedTransaction = this.buildTransaction();
199
+ return unsignedTransaction.method;
200
+ }
196
201
  /** @inheritdoc */
197
202
  async buildImplementation() {
198
203
  var _a;
@@ -329,4 +334,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
329
334
  }
330
335
  }
331
336
  exports.TransactionBuilder = TransactionBuilder;
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQWM4QjtBQUk5QixzRUFBdUQ7QUFDdkQsZ0VBQXFDO0FBQ3JDLDBDQUE0QjtBQUM1QixxQ0FBbUU7QUFFbkUsdUNBQW9DO0FBQ3BDLDJEQUF3RDtBQUN4RCwrQ0FBNEM7QUFDNUMsMkNBQThHO0FBQzlHLG9EQUE0QjtBQUU1QixNQUFzQixrQkFBbUIsU0FBUSxpQ0FBc0I7SUFtQnJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTnJCLG1FQUFtRTtRQUNuRSwyRUFBMkU7UUFDM0UsK0RBQStEO1FBQ3JELGdCQUFXLEdBQWdCLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztRQUl6RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsVUFBVSxDQUFDLEtBQWlCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsR0FBRyxDQUFDLEdBQWU7UUFDakIsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN0QixNQUFNLElBQUksd0JBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBa0I7UUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7U0FDL0I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGNBQWMsQ0FBQyxjQUFzQjtRQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQU8sQ0FBQyxrQkFBMEI7UUFDaEMsaURBQWlEO1FBQ2pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLE1BQU0sQ0FBQyxNQUFnQjtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUFDLFFBQWtCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcscUNBQWlCLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQWMsU0FBUztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixNQUFNLENBQUMsR0FBRyxlQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFjLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXLENBQUMsV0FBd0I7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sVUFBVSxHQUFHLDJCQUFNLENBQUMsY0FBYyxFQUFFO1lBQ3hDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7WUFDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ3pCLENBQTRDLENBQUM7UUFDOUMsSUFBSSxlQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLE1BQU0sT0FBTyxHQUFHLGVBQUssQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3RyxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ2xHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxJQUFJLEVBQUUsT0FBTztZQUNiLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztTQUN4QixDQUFDLENBQUM7UUFDSCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTZCLENBQUMsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7O1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxNQUFNLElBQUcsQ0FBQyxFQUFFO1lBQ2hDLHdFQUF3RTtZQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEU7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNuRixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVc7Z0JBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7Z0JBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVc7Z0JBQ3ZDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUztnQkFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNsQixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDZjtZQUNELE9BQU8sRUFBRTtnQkFDUCxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUNwQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3hCLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUM7YUFDckM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQWFELG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsZUFBZSxDQUFDLE9BQW9CLEVBQUUsYUFBc0I7UUFDMUQsSUFBSSxDQUFDLGVBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFDLE1BQU0sSUFBSSwrQkFBc0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBVztRQUMxQixJQUFJLDBCQUEwQixDQUFDO1FBQy9CLE1BQU0sd0JBQXdCLEdBQUcsNkJBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSwyQkFBMkIsR0FBRyw2QkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJO1lBQ0YsTUFBTSxXQUFXLEdBQUcsZUFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQywwQkFBMEIsR0FBRyw2QkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRztRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osMEJBQTBCLEdBQUcsS0FBSyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixJQUFJLENBQUMsd0JBQXdCLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUM1RixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFVRCxrQkFBa0I7SUFDbEIsc0JBQXNCLENBQUMsY0FBc0I7UUFDM0MsTUFBTSxVQUFVLEdBQUcsMkJBQU0sQ0FBQyxjQUFjLEVBQUU7WUFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUNwQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDekIsQ0FBNEMsQ0FBQztRQUU5QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDL0IsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUUzQixJQUFJLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsMkNBQStCLENBQUMsUUFBUSxDQUFDO2dCQUNoRSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsS0FBSztnQkFDTCxHQUFHO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxrQ0FBa0MsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDdkc7U0FDRjthQUFNO1lBQ0wsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUNsQyxNQUFNLGdCQUFnQixHQUFHLG1DQUF1QixDQUFDLFFBQVEsQ0FBQztnQkFDeEQsTUFBTTtnQkFDTixLQUFLO2dCQUNMLFNBQVM7Z0JBQ1QsR0FBRzthQUNKLENBQUMsQ0FBQztZQUNILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO2dCQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsa0NBQWtDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZHO1NBQ0Y7UUFFRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsQ0FBYztRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQixDQUN4QixNQUFjLEVBQ2QsV0FBbUIsRUFDbkIsU0FBaUIsRUFDakIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDakIsS0FBYSxFQUNiLFdBQW1CLEVBQ25CLFFBQThCLEVBQzlCLGtCQUEwQixFQUMxQixTQUE2QixFQUM3QixHQUF1QjtRQUV2QixNQUFNLGdCQUFnQixHQUFHLGlDQUFxQixDQUFDLFFBQVEsQ0FBQztZQUN0RCxNQUFNO1lBQ04sV0FBVztZQUNYLFNBQVM7WUFDVCxXQUFXO1lBQ1gsU0FBUztZQUNULEtBQUs7WUFDTCxXQUFXO1lBQ1gsUUFBUTtZQUNSLGtCQUFrQjtZQUNsQixTQUFTO1lBQ1QsR0FBRztTQUNKLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxrQ0FBa0MsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdkc7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0lBRUQsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZLENBQUMsU0FBd0IsRUFBRSxTQUFpQjtRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBVztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUF0WEQsZ0RBc1hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUFkZHJlc3MsXG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgRG90QXNzZXRUeXBlcyxcbiAgRmVlT3B0aW9ucyxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGlzVmFsaWRFZDI1NTE5U2VlZCxcbiAgUHVibGljS2V5IGFzIEJhc2VQdWJsaWNLZXksXG4gIFNlcXVlbmNlSWQsXG4gIFNpZ25hdHVyZSxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBWYWxpZGl0eVdpbmRvdyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgUG9sa2Fkb3RTcGVjTmFtZVR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBUeXBlUmVnaXN0cnkgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlL2xpYi90eXBlcyc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yLCBJbnZhbGlkRmVlRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBDcmVhdGVCYXNlVHhJbmZvLCBNYXRlcmlhbCwgVHhNZXRob2QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgU2luZ2xldG9uUmVnaXN0cnkgfSBmcm9tICcuL3NpbmdsZXRvblJlZ2lzdHJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25TY2hlbWEsIFNpZ25lZFRyYW5zYWN0aW9uU2NoZW1hLCBTaWduaW5nUGF5bG9hZFRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX2tleVBhaXI6IEtleVBhaXI7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlPzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NlbmRlcjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfYmxvY2tOdW1iZXI6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9yZWZlcmVuY2VCbG9jazogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX25vbmNlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfdGlwPzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2VyYVBlcmlvZD86IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9yZWdpc3RyeTogVHlwZVJlZ2lzdHJ5O1xuICBwcm90ZWN0ZWQgX21ldGhvZD86IFR4TWV0aG9kO1xuICBwcm90ZWN0ZWQgX19tYXRlcmlhbD86IE1hdGVyaWFsO1xuICAvLyBzaWduYXR1cmVzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHNpZ24gYSB0cmFuc2FjdGlvbiB3aGVuIGJ1aWxkaW5nXG4gIC8vIG5vdCB0aGUgc2FtZSBhcyB0aGUgX3NpZ25hdHVyZXMgaW4gdHJhbnNhY3Rpb24gd2hpY2ggaXMgdGhlIHNpZ25hdHVyZSBpblxuICAvLyBzdHJpbmcgaGV4IGZvcm1hdCB1c2VkIGZvciB2YWxpZGF0aW9uIGFmdGVyIHdlIGNhbGwgLmJ1aWxkKClcbiAgcHJvdGVjdGVkIF9zaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdOyAvLyBvbmx5IHN1cHBvcnQgc2luZ2xlIHNpZyBmb3Igbm93XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhZGRyZXNzIG9mIHNlbmRpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gYWRkcmVzcyBUaGUgU1M1OC1lbmNvZGVkIGFkZHJlc3MuXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2J1aWxkLXRyYW5zYWN0aW9uLWNvbnN0cnVjdGlvblxuICAgKi9cbiAgc2VuZGVyKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9zZW5kZXIgPSBhZGRyZXNzO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNlbmRlcihhZGRyZXNzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbm9uY2UgZm9yIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBub25jZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC10cmFuc2FjdGlvbi1jb25zdHJ1Y3Rpb25cbiAgICovXG4gIHNlcXVlbmNlSWQobm9uY2U6IFNlcXVlbmNlSWQpOiB0aGlzIHtcbiAgICBjb25zdCB2YWx1ZSA9IG5ldyBCaWdOdW1iZXIobm9uY2UudmFsdWUpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5fbm9uY2UgPSB2YWx1ZS50b051bWJlcigpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0aXAgdG8gaW5jcmVhc2UgdHJhbnNhY3Rpb24gcHJpb3JpdHkuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBbZmVlLnR5cGVdIG9wdGlvbnMgZm9yIGJ1aWxkaW5nIGZlZSB0eFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC10cmFuc2FjdGlvbi1jb25zdHJ1Y3Rpb25cbiAgICovXG4gIGZlZShmZWU6IEZlZU9wdGlvbnMpOiB0aGlzIHtcbiAgICBpZiAoZmVlLnR5cGUgIT09ICd0aXAnKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEZlZUVycm9yKGZlZS50eXBlLCAndGlwJyk7XG4gICAgfVxuICAgIGNvbnN0IHRpcEJOID0gbmV3IEJpZ051bWJlcihmZWUuYW1vdW50KTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUodGlwQk4pO1xuICAgIHRoaXMuX3RpcCA9IHRpcEJOLnRvTnVtYmVyKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0aGUgY2hlY2twb2ludCBibG9jayBhZnRlciB3aGljaCB0aGUgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIHtWYWxpZGl0eVdpbmRvd30gZmlyc3RWYWxpZCBibG9jayBjaGVja3BvaW50IHdoZXJlIHRyYW5zYWN0aW9uIGlzIGZpcnN0IHZhbGlkXG4gICAqIEBwYXJhbSB7VmFsaWRpdHlXaW5kb3d9IG1heER1cmF0aW9uIG51bWJlciBvZiBibG9ja3MgYWZ0ZXIgY2hlY2twb2ludCBmb3Igd2hpY2ggdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqL1xuICB2YWxpZGl0eSh7IGZpcnN0VmFsaWQsIG1heER1cmF0aW9uIH06IFZhbGlkaXR5V2luZG93KTogdGhpcyB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKGZpcnN0VmFsaWQpKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihmaXJzdFZhbGlkKSk7XG4gICAgICB0aGlzLl9ibG9ja051bWJlciA9IGZpcnN0VmFsaWQ7XG4gICAgfVxuICAgIGlmICghXy5pc1VuZGVmaW5lZChtYXhEdXJhdGlvbikpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKG1heER1cmF0aW9uKSk7XG4gICAgICB0aGlzLl9lcmFQZXJpb2QgPSBtYXhEdXJhdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGhhc2ggb2YgdGhlIGNoZWNrcG9pbnQgYmxvY2suXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByZWZlcmVuY2VCbG9jayBibG9jayBoYXNoIGNoZWNrcG9pbnQgZnJvbSB3aGVyZSB0aGUgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvI3RyYW5zYWN0aW9uLW1vcnRhbGl0eVxuICAgKi9cbiAgcmVmZXJlbmNlQmxvY2socmVmZXJlbmNlQmxvY2s6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3JlZmVyZW5jZUJsb2NrID0gcmVmZXJlbmNlQmxvY2s7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdmVyc2lvbiBmb3IgdHJhbnNhY3Rpb24gZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdHJhbnNhY3Rpb25WZXJzaW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2J1aWxkLXRyYW5zYWN0aW9uLWNvbnN0cnVjdGlvblxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGZpZWxkIHdhcyBhZGRlZCBpbiBtYXRlcmlhbCBkYXRhLlxuICAgKi9cbiAgdmVyc2lvbih0cmFuc2FjdGlvblZlcnNpb246IG51bWJlcik6IHRoaXMge1xuICAgIC8vIHRoaXMuX3RyYW5zYWN0aW9uVmVyc2lvbiA9IHRyYW5zYWN0aW9uVmVyc2lvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgbWV0aG9kKG1ldGhvZDogVHhNZXRob2QpOiB0aGlzIHtcbiAgICB0aGlzLl9tZXRob2QgPSBtZXRob2Q7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1hdGVyaWFsIGRhdGEgZm9yIHRoZSBibG9jay5cbiAgICpcbiAgICogQHBhcmFtIHtNYXRlcmlhbH0gbWF0ZXJpYWxcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqL1xuICBtYXRlcmlhbChtYXRlcmlhbDogTWF0ZXJpYWwpOiB0aGlzIHtcbiAgICB0aGlzLl9fbWF0ZXJpYWwgPSBtYXRlcmlhbDtcbiAgICB0aGlzLl9yZWdpc3RyeSA9IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKG1hdGVyaWFsKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgX21hdGVyaWFsKCk6IE1hdGVyaWFsIHtcbiAgICBpZiAoIXRoaXMuX19tYXRlcmlhbCkge1xuICAgICAgY29uc3QgbSA9IHV0aWxzLmdldE1hdGVyaWFsKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdGhpcy5tYXRlcmlhbChtKTtcbiAgICAgIHJldHVybiBtO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fX21hdGVyaWFsO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRlY29kZWRUeG4gPSBkZWNvZGUocmF3VHJhbnNhY3Rpb24sIHtcbiAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICB9KSBhcyBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHg7XG4gICAgaWYgKHV0aWxzLmlzU2lnbmluZ1BheWxvYWQoZGVjb2RlZFR4bikpIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlQmxvY2soZGVjb2RlZFR4bi5ibG9ja0hhc2gpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBrZXlwYWlyID0gdXRpbHMuZGVjb2RlRG90QWRkcmVzc1RvS2V5UGFpcihkZWNvZGVkVHhuLmFkZHJlc3MpO1xuICAgICAgdGhpcy5zZW5kZXIoeyBhZGRyZXNzOiBrZXlwYWlyLmdldEFkZHJlc3ModXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcykpIH0pO1xuICAgICAgY29uc3QgZWRTaWduYXR1cmUgPSB1dGlscy5yZWNvdmVyU2lnbmF0dXJlRnJvbVJhd1R4KHJhd1RyYW5zYWN0aW9uLCB7IHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSB9KTtcbiAgICAgIHRoaXMuYWRkU2lnbmF0dXJlKGtleXBhaXIuZ2V0S2V5cygpLCBCdWZmZXIuZnJvbShlZFNpZ25hdHVyZSwgJ2hleCcpKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGl0eSh7IG1heER1cmF0aW9uOiBkZWNvZGVkVHhuLmVyYVBlcmlvZCB9KTtcbiAgICB0aGlzLnNlcXVlbmNlSWQoe1xuICAgICAgbmFtZTogJ05vbmNlJyxcbiAgICAgIGtleXdvcmQ6ICdub25jZScsXG4gICAgICB2YWx1ZTogZGVjb2RlZFR4bi5ub25jZSxcbiAgICB9KTtcbiAgICBpZiAoZGVjb2RlZFR4bi50aXApIHtcbiAgICAgIHRoaXMuZmVlKHsgYW1vdW50OiBgJHtkZWNvZGVkVHhuLnRpcH1gLCB0eXBlOiAndGlwJyB9KTtcbiAgICB9XG4gICAgdGhpcy5tZXRob2QoZGVjb2RlZFR4bi5tZXRob2QgYXMgdW5rbm93biBhcyBUeE1ldGhvZCk7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbih0aGlzLmJ1aWxkVHJhbnNhY3Rpb24oKSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucmVnaXN0cnkodGhpcy5fcmVnaXN0cnkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uY2hhaW5OYW1lKHRoaXMuX21hdGVyaWFsLmNoYWluTmFtZSk7XG4gICAgaWYgKHRoaXMuX2tleVBhaXIpIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9rZXlQYWlyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3NpZ25hdHVyZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIGlmIHdlIGhhdmUgYSBzaWduYXR1cmUsIGFwcGx5IHRoYXQgYW5kIHVwZGF0ZSB0aGlzLl9zaWduZWRUcmFuc2FjdGlvblxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5jb25zdHJ1Y3RTaWduZWRQYXlsb2FkKHRoaXMuX3NpZ25hdHVyZXNbMF0uc2lnbmF0dXJlKTtcbiAgICB9XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcblxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVCYXNlVHhJbmZvKCk6IENyZWF0ZUJhc2VUeEluZm8ge1xuICAgIHJldHVybiB7XG4gICAgICBiYXNlVHhJbmZvOiB7XG4gICAgICAgIGFkZHJlc3M6IHRoaXMuX3NlbmRlcixcbiAgICAgICAgYmxvY2tIYXNoOiB0aGlzLl9yZWZlcmVuY2VCbG9jayxcbiAgICAgICAgYmxvY2tOdW1iZXI6IHRoaXMuX3JlZ2lzdHJ5LmNyZWF0ZVR5cGUoJ0Jsb2NrTnVtYmVyJywgdGhpcy5fYmxvY2tOdW1iZXIpLnRvTnVtYmVyKCksXG4gICAgICAgIGVyYVBlcmlvZDogdGhpcy5fZXJhUGVyaW9kLFxuICAgICAgICBnZW5lc2lzSGFzaDogdGhpcy5fbWF0ZXJpYWwuZ2VuZXNpc0hhc2gsXG4gICAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgICAgc3BlY1ZlcnNpb246IHRoaXMuX21hdGVyaWFsLnNwZWNWZXJzaW9uLFxuICAgICAgICB0cmFuc2FjdGlvblZlcnNpb246IHRoaXMuX21hdGVyaWFsLnR4VmVyc2lvbixcbiAgICAgICAgbm9uY2U6IHRoaXMuX25vbmNlLFxuICAgICAgICB0aXA6IHRoaXMuX3RpcCxcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgICAgcmVnaXN0cnk6IHRoaXMuX3JlZ2lzdHJ5LFxuICAgICAgICBpc0ltbW9ydGFsRXJhOiB0aGlzLl9lcmFQZXJpb2QgPT09IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBzcGVjaWZpYyB0cmFuc2FjdGlvbiBidWlsZGVyIGludGVybmFsbHlcbiAgICogdXNpbmcgdGhlIEBzdWJzdHJhdGUvdHh3cmFwcGVyIGJ1aWxkZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvLyByZWdpb24gVmFsaWRhdG9yc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEJhc2VBZGRyZXNzLCBhZGRyZXNzRm9ybWF0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQWRkcmVzc1ZhbGlkYXRpb25FcnJvcihhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleSh7IGtleSB9OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgbGV0IGlzVmFsaWRQcml2YXRlS2V5RnJvbUJ5dGVzO1xuICAgIGNvbnN0IGlzVmFsaWRQcml2YXRlS2V5RnJvbUhleCA9IGlzVmFsaWRFZDI1NTE5U2VlZChrZXkpO1xuICAgIGNvbnN0IGlzVmFsaWRQcml2YXRlS2V5RnJvbUJhc2U2NCA9IGlzVmFsaWRFZDI1NTE5U2VlZChCdWZmZXIuZnJvbShrZXksICdiYXNlNjQnKS50b1N0cmluZygnaGV4JykpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkU2VlZCA9IHV0aWxzLmRlY29kZVNlZWQoa2V5KTtcbiAgICAgIGlzVmFsaWRQcml2YXRlS2V5RnJvbUJ5dGVzID0gaXNWYWxpZEVkMjU1MTlTZWVkKEJ1ZmZlci5mcm9tKGRlY29kZWRTZWVkLnNlZWQpLnRvU3RyaW5nKCdoZXgnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CeXRlcyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghaXNWYWxpZFByaXZhdGVLZXlGcm9tQnl0ZXMgJiYgIWlzVmFsaWRQcml2YXRlS2V5RnJvbUhleCAmJiAhaXNWYWxpZFByaXZhdGVLZXlGcm9tQmFzZTY0KSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBLZXkgdmFsaWRhdGlvbiBmYWlsZWRgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBzcGVjaWZpYyB0cmFuc2FjdGlvbiBidWlsZGVyIGludGVybmFsbHlcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihcbiAgICBkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsXG4gICAgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmdcbiAgKTogdm9pZDtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZGVjb2RlZFR4biA9IGRlY29kZShyYXdUcmFuc2FjdGlvbiwge1xuICAgICAgbWV0YWRhdGFScGM6IHRoaXMuX21hdGVyaWFsLm1ldGFkYXRhLFxuICAgICAgcmVnaXN0cnk6IHRoaXMuX3JlZ2lzdHJ5LFxuICAgIH0pIGFzIERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeDtcblxuICAgIGNvbnN0IGVyYVBlcmlvZCA9IGRlY29kZWRUeG4uZXJhUGVyaW9kO1xuICAgIGNvbnN0IG5vbmNlID0gZGVjb2RlZFR4bi5ub25jZTtcbiAgICBjb25zdCB0aXAgPSBkZWNvZGVkVHhuLnRpcDtcblxuICAgIGlmICh1dGlscy5pc1NpZ25pbmdQYXlsb2FkKGRlY29kZWRUeG4pKSB7XG4gICAgICBjb25zdCBibG9ja0hhc2ggPSBkZWNvZGVkVHhuLmJsb2NrSGFzaDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBTaWduaW5nUGF5bG9hZFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgICAgZXJhUGVyaW9kLFxuICAgICAgICBibG9ja0hhc2gsXG4gICAgICAgIG5vbmNlLFxuICAgICAgICB0aXAsXG4gICAgICB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZW5kZXIgPSBkZWNvZGVkVHhuLmFkZHJlc3M7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gU2lnbmVkVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICBzZW5kZXIsXG4gICAgICAgIG5vbmNlLFxuICAgICAgICBlcmFQZXJpb2QsXG4gICAgICAgIHRpcCxcbiAgICAgIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuLCByYXdUcmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVCYXNlRmllbGRzKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgdGhpcy5fYmxvY2tOdW1iZXIsXG4gICAgICB0aGlzLl9yZWZlcmVuY2VCbG9jayxcbiAgICAgIHRoaXMuX21hdGVyaWFsLmdlbmVzaXNIYXNoLFxuICAgICAgdGhpcy5fbWF0ZXJpYWwuY2hhaW5OYW1lLFxuICAgICAgdGhpcy5fbm9uY2UsXG4gICAgICB0aGlzLl9tYXRlcmlhbC5zcGVjVmVyc2lvbixcbiAgICAgIHRoaXMuX21hdGVyaWFsLnNwZWNOYW1lLFxuICAgICAgdGhpcy5fbWF0ZXJpYWwudHhWZXJzaW9uLFxuICAgICAgdGhpcy5fZXJhUGVyaW9kLFxuICAgICAgdGhpcy5fdGlwXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVCYXNlRmllbGRzKFxuICAgIHNlbmRlcjogc3RyaW5nLFxuICAgIGJsb2NrTnVtYmVyOiBudW1iZXIsXG4gICAgYmxvY2tIYXNoOiBzdHJpbmcsXG4gICAgZ2VuZXNpc0hhc2g6IHN0cmluZyxcbiAgICBjaGFpbk5hbWU6IHN0cmluZyxcbiAgICBub25jZTogbnVtYmVyLFxuICAgIHNwZWNWZXJzaW9uOiBudW1iZXIsXG4gICAgc3BlY05hbWU6IFBvbGthZG90U3BlY05hbWVUeXBlLFxuICAgIHRyYW5zYWN0aW9uVmVyc2lvbjogbnVtYmVyLFxuICAgIGVyYVBlcmlvZDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIHRpcDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBCYXNlVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgc2VuZGVyLFxuICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICBibG9ja0hhc2gsXG4gICAgICBnZW5lc2lzSGFzaCxcbiAgICAgIGNoYWluTmFtZSxcbiAgICAgIG5vbmNlLFxuICAgICAgc3BlY1ZlcnNpb24sXG4gICAgICBzcGVjTmFtZSxcbiAgICAgIHRyYW5zYWN0aW9uVmVyc2lvbixcbiAgICAgIGVyYVBlcmlvZCxcbiAgICAgIHRpcCxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgYWRkU2lnbmF0dXJlKHB1YmxpY0tleTogQmFzZVB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKHsga2V5IH06IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy5fa2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG59XG4iXX0=
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQWM4QjtBQUk5QixzRUFBdUQ7QUFDdkQsZ0VBQXFDO0FBQ3JDLDBDQUE0QjtBQUM1QixxQ0FBbUU7QUFFbkUsdUNBQW9DO0FBQ3BDLDJEQUF3RDtBQUN4RCwrQ0FBNEM7QUFDNUMsMkNBQThHO0FBQzlHLG9EQUE0QjtBQUU1QixNQUFzQixrQkFBbUIsU0FBUSxpQ0FBc0I7SUFtQnJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTnJCLG1FQUFtRTtRQUNuRSwyRUFBMkU7UUFDM0UsK0RBQStEO1FBQ3JELGdCQUFXLEdBQWdCLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztRQUl6RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsVUFBVSxDQUFDLEtBQWlCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLEtB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QixFQUMxQixTQUE2QixFQUM3QixHQUF1QjtRQUV2QixNQUFNLGdCQUFnQixHQUFHLGlDQUFxQixDQUFDLFFBQVEsQ0FBQztZQUN0RCxNQUFNO1lBQ04sV0FBVztZQUNYLFNBQVM7WUFDVCxXQUFXO1lBQ1gsU0FBUztZQUNULEtBQUs7WUFDTCxXQUFXO1lBQ1gsUUFBUTtZQUNSLGtCQUFrQjtZQUNsQixTQUFTO1lBQ1QsR0FBRztTQUNKLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxrQ0FBa0MsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdkc7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0lBRUQsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZLENBQUMsU0FBd0IsRUFBRSxTQUFpQjtRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBVztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUE3WEQsZ0RBNlhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUFkZHJlc3MsXG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgRG90QXNzZXRUeXBlcyxcbiAgRmVlT3B0aW9ucyxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGlzVmFsaWRFZDI1NTE5U2VlZCxcbiAgUHVibGljS2V5IGFzIEJhc2VQdWJsaWNLZXksXG4gIFNlcXVlbmNlSWQsXG4gIFNpZ25hdHVyZSxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBWYWxpZGl0eVdpbmRvdyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgUG9sa2Fkb3RTcGVjTmFtZVR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBUeXBlUmVnaXN0cnkgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlL2xpYi90eXBlcyc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yLCBJbnZhbGlkRmVlRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBDcmVhdGVCYXNlVHhJbmZvLCBNYXRlcmlhbCwgVHhNZXRob2QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgU2luZ2xldG9uUmVnaXN0cnkgfSBmcm9tICcuL3NpbmdsZXRvblJlZ2lzdHJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25TY2hlbWEsIFNpZ25lZFRyYW5zYWN0aW9uU2NoZW1hLCBTaWduaW5nUGF5bG9hZFRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX2tleVBhaXI6IEtleVBhaXI7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlPzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NlbmRlcjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfYmxvY2tOdW1iZXI6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9yZWZlcmVuY2VCbG9jazogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX25vbmNlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfdGlwPzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2VyYVBlcmlvZD86IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9yZWdpc3RyeTogVHlwZVJlZ2lzdHJ5O1xuICBwcm90ZWN0ZWQgX21ldGhvZD86IFR4TWV0aG9kO1xuICBwcm90ZWN0ZWQgX19tYXRlcmlhbD86IE1hdGVyaWFsO1xuICAvLyBzaWduYXR1cmVzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHNpZ24gYSB0cmFuc2FjdGlvbiB3aGVuIGJ1aWxkaW5nXG4gIC8vIG5vdCB0aGUgc2FtZSBhcyB0aGUgX3NpZ25hdHVyZXMgaW4gdHJhbnNhY3Rpb24gd2hpY2ggaXMgdGhlIHNpZ25hdHVyZSBpblxuICAvLyBzdHJpbmcgaGV4IGZvcm1hdCB1c2VkIGZvciB2YWxpZGF0aW9uIGFmdGVyIHdlIGNhbGwgLmJ1aWxkKClcbiAgcHJvdGVjdGVkIF9zaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdOyAvLyBvbmx5IHN1cHBvcnQgc2luZ2xlIHNpZyBmb3Igbm93XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhZGRyZXNzIG9mIHNlbmRpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gYWRkcmVzcyBUaGUgU1M1OC1lbmNvZGVkIGFkZHJlc3MuXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2J1aWxkLXRyYW5zYWN0aW9uLWNvbnN0cnVjdGlvblxuICAgKi9cbiAgc2VuZGVyKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9zZW5kZXIgPSBhZGRyZXNzO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNlbmRlcihhZGRyZXNzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbm9uY2UgZm9yIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBub25jZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC10cmFuc2FjdGlvbi1jb25zdHJ1Y3Rpb25cbiAgICovXG4gIHNlcXVlbmNlSWQobm9uY2U6IFNlcXVlbmNlSWQpOiB0aGlzIHtcbiAgICBjb25zdCB2YWx1ZSA9IG5ldyBCaWdOdW1iZXIobm9uY2UudmFsdWUpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5fbm9uY2UgPSB2YWx1ZS50b051bWJlcigpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0aXAgdG8gaW5jcmVhc2UgdHJhbnNhY3Rpb24gcHJpb3JpdHkuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBbZmVlLnR5cGVdIG9wdGlvbnMgZm9yIGJ1aWxkaW5nIGZlZSB0eFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC10cmFuc2FjdGlvbi1jb25zdHJ1Y3Rpb25cbiAgICovXG4gIGZlZShmZWU6IEZlZU9wdGlvbnMpOiB0aGlzIHtcbiAgICBpZiAoZmVlLnR5cGUgIT09ICd0aXAnKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEZlZUVycm9yKGZlZS50eXBlLCAndGlwJyk7XG4gICAgfVxuICAgIGNvbnN0IHRpcEJOID0gbmV3IEJpZ051bWJlcihmZWUuYW1vdW50KTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUodGlwQk4pO1xuICAgIHRoaXMuX3RpcCA9IHRpcEJOLnRvTnVtYmVyKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0aGUgY2hlY2twb2ludCBibG9jayBhZnRlciB3aGljaCB0aGUgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIHtWYWxpZGl0eVdpbmRvd30gZmlyc3RWYWxpZCBibG9jayBjaGVja3BvaW50IHdoZXJlIHRyYW5zYWN0aW9uIGlzIGZpcnN0IHZhbGlkXG4gICAqIEBwYXJhbSB7VmFsaWRpdHlXaW5kb3d9IG1heER1cmF0aW9uIG51bWJlciBvZiBibG9ja3MgYWZ0ZXIgY2hlY2twb2ludCBmb3Igd2hpY2ggdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqL1xuICB2YWxpZGl0eSh7IGZpcnN0VmFsaWQsIG1heER1cmF0aW9uIH06IFZhbGlkaXR5V2luZG93KTogdGhpcyB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKGZpcnN0VmFsaWQpKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihmaXJzdFZhbGlkKSk7XG4gICAgICB0aGlzLl9ibG9ja051bWJlciA9IGZpcnN0VmFsaWQ7XG4gICAgfVxuICAgIGlmICghXy5pc1VuZGVmaW5lZChtYXhEdXJhdGlvbikpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKG1heER1cmF0aW9uKSk7XG4gICAgICB0aGlzLl9lcmFQZXJpb2QgPSBtYXhEdXJhdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGhhc2ggb2YgdGhlIGNoZWNrcG9pbnQgYmxvY2suXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByZWZlcmVuY2VCbG9jayBibG9jayBoYXNoIGNoZWNrcG9pbnQgZnJvbSB3aGVyZSB0aGUgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvI3RyYW5zYWN0aW9uLW1vcnRhbGl0eVxuICAgKi9cbiAgcmVmZXJlbmNlQmxvY2socmVmZXJlbmNlQmxvY2s6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3JlZmVyZW5jZUJsb2NrID0gcmVmZXJlbmNlQmxvY2s7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdmVyc2lvbiBmb3IgdHJhbnNhY3Rpb24gZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdHJhbnNhY3Rpb25WZXJzaW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2J1aWxkLXRyYW5zYWN0aW9uLWNvbnN0cnVjdGlvblxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGZpZWxkIHdhcyBhZGRlZCBpbiBtYXRlcmlhbCBkYXRhLlxuICAgKi9cbiAgdmVyc2lvbih0cmFuc2FjdGlvblZlcnNpb246IG51bWJlcik6IHRoaXMge1xuICAgIC8vIHRoaXMuX3RyYW5zYWN0aW9uVmVyc2lvbiA9IHRyYW5zYWN0aW9uVmVyc2lvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgbWV0aG9kKG1ldGhvZDogVHhNZXRob2QpOiB0aGlzIHtcbiAgICB0aGlzLl9tZXRob2QgPSBtZXRob2Q7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1hdGVyaWFsIGRhdGEgZm9yIHRoZSBibG9jay5cbiAgICpcbiAgICogQHBhcmFtIHtNYXRlcmlhbH0gbWF0ZXJpYWxcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqL1xuICBtYXRlcmlhbChtYXRlcmlhbDogTWF0ZXJpYWwpOiB0aGlzIHtcbiAgICB0aGlzLl9fbWF0ZXJpYWwgPSBtYXRlcmlhbDtcbiAgICB0aGlzLl9yZWdpc3RyeSA9IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKG1hdGVyaWFsKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgX21hdGVyaWFsKCk6IE1hdGVyaWFsIHtcbiAgICBpZiAoIXRoaXMuX19tYXRlcmlhbCkge1xuICAgICAgY29uc3QgbSA9IHV0aWxzLmdldE1hdGVyaWFsKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdGhpcy5tYXRlcmlhbChtKTtcbiAgICAgIHJldHVybiBtO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fX21hdGVyaWFsO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRlY29kZWRUeG4gPSBkZWNvZGUocmF3VHJhbnNhY3Rpb24sIHtcbiAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICB9KSBhcyBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHg7XG4gICAgaWYgKHV0aWxzLmlzU2lnbmluZ1BheWxvYWQoZGVjb2RlZFR4bikpIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlQmxvY2soZGVjb2RlZFR4bi5ibG9ja0hhc2gpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBrZXlwYWlyID0gdXRpbHMuZGVjb2RlRG90QWRkcmVzc1RvS2V5UGFpcihkZWNvZGVkVHhuLmFkZHJlc3MpO1xuICAgICAgdGhpcy5zZW5kZXIoeyBhZGRyZXNzOiBrZXlwYWlyLmdldEFkZHJlc3ModXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcykpIH0pO1xuICAgICAgY29uc3QgZWRTaWduYXR1cmUgPSB1dGlscy5yZWNvdmVyU2lnbmF0dXJlRnJvbVJhd1R4KHJhd1RyYW5zYWN0aW9uLCB7IHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSB9KTtcbiAgICAgIHRoaXMuYWRkU2lnbmF0dXJlKGtleXBhaXIuZ2V0S2V5cygpLCBCdWZmZXIuZnJvbShlZFNpZ25hdHVyZSwgJ2hleCcpKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGl0eSh7IG1heER1cmF0aW9uOiBkZWNvZGVkVHhuLmVyYVBlcmlvZCB9KTtcbiAgICB0aGlzLnNlcXVlbmNlSWQoe1xuICAgICAgbmFtZTogJ05vbmNlJyxcbiAgICAgIGtleXdvcmQ6ICdub25jZScsXG4gICAgICB2YWx1ZTogZGVjb2RlZFR4bi5ub25jZSxcbiAgICB9KTtcbiAgICBpZiAoZGVjb2RlZFR4bi50aXApIHtcbiAgICAgIHRoaXMuZmVlKHsgYW1vdW50OiBgJHtkZWNvZGVkVHhuLnRpcH1gLCB0eXBlOiAndGlwJyB9KTtcbiAgICB9XG4gICAgdGhpcy5tZXRob2QoZGVjb2RlZFR4bi5tZXRob2QgYXMgdW5rbm93biBhcyBUeE1ldGhvZCk7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgZ2V0TWV0aG9kQW5kQXJndW1lbnRzKCk6IHN0cmluZyB7XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHVuc2lnbmVkVHJhbnNhY3Rpb24gPSB0aGlzLmJ1aWxkVHJhbnNhY3Rpb24oKTtcbiAgICByZXR1cm4gdW5zaWduZWRUcmFuc2FjdGlvbi5tZXRob2Q7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24odGhpcy5idWlsZFRyYW5zYWN0aW9uKCkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlKHRoaXMudHJhbnNhY3Rpb25UeXBlKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnJlZ2lzdHJ5KHRoaXMuX3JlZ2lzdHJ5KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmNoYWluTmFtZSh0aGlzLl9tYXRlcmlhbC5jaGFpbk5hbWUpO1xuICAgIGlmICh0aGlzLl9rZXlQYWlyKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ24odGhpcy5fa2V5UGFpcik7XG4gICAgfVxuICAgIGlmICh0aGlzLl9zaWduYXR1cmVzPy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBoYXZlIGEgc2lnbmF0dXJlLCBhcHBseSB0aGF0IGFuZCB1cGRhdGUgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb25cbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uY29uc3RydWN0U2lnbmVkUGF5bG9hZCh0aGlzLl9zaWduYXR1cmVzWzBdLnNpZ25hdHVyZSk7XG4gICAgfVxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG5cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQmFzZVR4SW5mbygpOiBDcmVhdGVCYXNlVHhJbmZvIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFzZVR4SW5mbzoge1xuICAgICAgICBhZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgIGJsb2NrSGFzaDogdGhpcy5fcmVmZXJlbmNlQmxvY2ssXG4gICAgICAgIGJsb2NrTnVtYmVyOiB0aGlzLl9yZWdpc3RyeS5jcmVhdGVUeXBlKCdCbG9ja051bWJlcicsIHRoaXMuX2Jsb2NrTnVtYmVyKS50b051bWJlcigpLFxuICAgICAgICBlcmFQZXJpb2Q6IHRoaXMuX2VyYVBlcmlvZCxcbiAgICAgICAgZ2VuZXNpc0hhc2g6IHRoaXMuX21hdGVyaWFsLmdlbmVzaXNIYXNoLFxuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICAgIHNwZWNWZXJzaW9uOiB0aGlzLl9tYXRlcmlhbC5zcGVjVmVyc2lvbixcbiAgICAgICAgdHJhbnNhY3Rpb25WZXJzaW9uOiB0aGlzLl9tYXRlcmlhbC50eFZlcnNpb24sXG4gICAgICAgIG5vbmNlOiB0aGlzLl9ub25jZSxcbiAgICAgICAgdGlwOiB0aGlzLl90aXAsXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICAgICAgaXNJbW1vcnRhbEVyYTogdGhpcy5fZXJhUGVyaW9kID09PSAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgc3BlY2lmaWMgdHJhbnNhY3Rpb24gYnVpbGRlciBpbnRlcm5hbGx5XG4gICAqIHVzaW5nIHRoZSBAc3Vic3RyYXRlL3R4d3JhcHBlciBidWlsZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRyYW5zYWN0aW9uIHR5cGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGU7XG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEFkZHJlc3NWYWxpZGF0aW9uRXJyb3IoYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoeyBrZXkgfTogQmFzZUtleSk6IHZvaWQge1xuICAgIGxldCBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CeXRlcztcbiAgICBjb25zdCBpc1ZhbGlkUHJpdmF0ZUtleUZyb21IZXggPSBpc1ZhbGlkRWQyNTUxOVNlZWQoa2V5KTtcbiAgICBjb25zdCBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CYXNlNjQgPSBpc1ZhbGlkRWQyNTUxOVNlZWQoQnVmZmVyLmZyb20oa2V5LCAnYmFzZTY0JykudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjb2RlZFNlZWQgPSB1dGlscy5kZWNvZGVTZWVkKGtleSk7XG4gICAgICBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CeXRlcyA9IGlzVmFsaWRFZDI1NTE5U2VlZChCdWZmZXIuZnJvbShkZWNvZGVkU2VlZC5zZWVkKS50b1N0cmluZygnaGV4JykpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaXNWYWxpZFByaXZhdGVLZXlGcm9tQnl0ZXMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRQcml2YXRlS2V5RnJvbUJ5dGVzICYmICFpc1ZhbGlkUHJpdmF0ZUtleUZyb21IZXggJiYgIWlzVmFsaWRQcml2YXRlS2V5RnJvbUJhc2U2NCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgS2V5IHZhbGlkYXRpb24gZmFpbGVkYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgc3BlY2lmaWMgdHJhbnNhY3Rpb24gYnVpbGRlciBpbnRlcm5hbGx5XG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oXG4gICAgZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LFxuICAgIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nXG4gICk6IHZvaWQ7XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGRlY29kZWRUeG4gPSBkZWNvZGUocmF3VHJhbnNhY3Rpb24sIHtcbiAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICB9KSBhcyBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHg7XG5cbiAgICBjb25zdCBlcmFQZXJpb2QgPSBkZWNvZGVkVHhuLmVyYVBlcmlvZDtcbiAgICBjb25zdCBub25jZSA9IGRlY29kZWRUeG4ubm9uY2U7XG4gICAgY29uc3QgdGlwID0gZGVjb2RlZFR4bi50aXA7XG5cbiAgICBpZiAodXRpbHMuaXNTaWduaW5nUGF5bG9hZChkZWNvZGVkVHhuKSkge1xuICAgICAgY29uc3QgYmxvY2tIYXNoID0gZGVjb2RlZFR4bi5ibG9ja0hhc2g7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gU2lnbmluZ1BheWxvYWRUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICAgIGVyYVBlcmlvZCxcbiAgICAgICAgYmxvY2tIYXNoLFxuICAgICAgICBub25jZSxcbiAgICAgICAgdGlwLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VuZGVyID0gZGVjb2RlZFR4bi5hZGRyZXNzO1xuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFNpZ25lZFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgICAgc2VuZGVyLFxuICAgICAgICBub25jZSxcbiAgICAgICAgZXJhUGVyaW9kLFxuICAgICAgICB0aXAsXG4gICAgICB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4biwgcmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlQmFzZUZpZWxkcyhcbiAgICAgIHRoaXMuX3NlbmRlcixcbiAgICAgIHRoaXMuX2Jsb2NrTnVtYmVyLFxuICAgICAgdGhpcy5fcmVmZXJlbmNlQmxvY2ssXG4gICAgICB0aGlzLl9tYXRlcmlhbC5nZW5lc2lzSGFzaCxcbiAgICAgIHRoaXMuX21hdGVyaWFsLmNoYWluTmFtZSxcbiAgICAgIHRoaXMuX25vbmNlLFxuICAgICAgdGhpcy5fbWF0ZXJpYWwuc3BlY1ZlcnNpb24sXG4gICAgICB0aGlzLl9tYXRlcmlhbC5zcGVjTmFtZSxcbiAgICAgIHRoaXMuX21hdGVyaWFsLnR4VmVyc2lvbixcbiAgICAgIHRoaXMuX2VyYVBlcmlvZCxcbiAgICAgIHRoaXMuX3RpcFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQmFzZUZpZWxkcyhcbiAgICBzZW5kZXI6IHN0cmluZyxcbiAgICBibG9ja051bWJlcjogbnVtYmVyLFxuICAgIGJsb2NrSGFzaDogc3RyaW5nLFxuICAgIGdlbmVzaXNIYXNoOiBzdHJpbmcsXG4gICAgY2hhaW5OYW1lOiBzdHJpbmcsXG4gICAgbm9uY2U6IG51bWJlcixcbiAgICBzcGVjVmVyc2lvbjogbnVtYmVyLFxuICAgIHNwZWNOYW1lOiBQb2xrYWRvdFNwZWNOYW1lVHlwZSxcbiAgICB0cmFuc2FjdGlvblZlcnNpb246IG51bWJlcixcbiAgICBlcmFQZXJpb2Q6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICB0aXA6IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQmFzZVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIHNlbmRlcixcbiAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgYmxvY2tIYXNoLFxuICAgICAgZ2VuZXNpc0hhc2gsXG4gICAgICBjaGFpbk5hbWUsXG4gICAgICBub25jZSxcbiAgICAgIHNwZWNWZXJzaW9uLFxuICAgICAgc3BlY05hbWUsXG4gICAgICB0cmFuc2FjdGlvblZlcnNpb24sXG4gICAgICBlcmFQZXJpb2QsXG4gICAgICB0aXAsXG4gICAgfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc0xlc3NUaGFuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIHplcm8nKTtcbiAgICB9XG4gIH1cblxuICAvLyBlbmRyZWdpb25cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbih7IGtleSB9OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMuX2tleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5IH0pO1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxufVxuIl19
@@ -2,6 +2,7 @@ import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { AddressInitializationBuilder } from './addressInitializationBuilder';
4
4
  import { Material } from './iface';
5
+ import { RemoveProxyBuilder } from './proxyBuilder';
5
6
  import { StakingBuilder } from './stakingBuilder';
6
7
  import { TransferBuilder } from './transferBuilder';
7
8
  import { TransactionBuilder } from './transactionBuilder';
@@ -13,6 +14,7 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
13
14
  getTransferBuilder(): TransferBuilder;
14
15
  getStakingBuilder(): StakingBuilder;
15
16
  getAddressInitializationBuilder(): AddressInitializationBuilder;
17
+ getRemoveProxyBuilder(): RemoveProxyBuilder;
16
18
  getBatchTransactionBuilder(): BatchTransactionBuilder;
17
19
  getWalletInitializationBuilder(): void;
18
20
  getUnstakeBuilder(): UnstakeBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAqC,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,GAAG,CAAC;AAEnG,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,cAAc;IAInC,+BAA+B,IAAI,4BAA4B;IAI/D,0BAA0B,IAAI,uBAAuB;IAIrD,8BAA8B,IAAI,IAAI;IAItC,iBAAiB,IAAI,cAAc;IAInC,0BAA0B,IAAI,uBAAuB;IAIrD,eAAe,IAAI,YAAY;IAI/B,oBAAoB,IAAI,iBAAiB;IAIzC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAMxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKlC,OAAO,CAAC,UAAU;CA8BnB"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAqC,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,GAAG,CAAC;AAEnG,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,cAAc;IAInC,+BAA+B,IAAI,4BAA4B;IAI/D,qBAAqB,IAAI,kBAAkB;IAI3C,0BAA0B,IAAI,uBAAuB;IAIrD,8BAA8B,IAAI,IAAI;IAItC,iBAAiB,IAAI,cAAc;IAInC,0BAA0B,IAAI,uBAAuB;IAIrD,eAAe,IAAI,YAAY;IAI/B,oBAAoB,IAAI,iBAAiB;IAIzC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAMxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKlC,OAAO,CAAC,UAAU;CAkCnB"}
@@ -8,6 +8,7 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
8
  const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
9
  const addressInitializationBuilder_1 = require("./addressInitializationBuilder");
10
10
  const iface_1 = require("./iface");
11
+ const proxyBuilder_1 = require("./proxyBuilder");
11
12
  const singletonRegistry_1 = require("./singletonRegistry");
12
13
  const stakingBuilder_1 = require("./stakingBuilder");
13
14
  const transferBuilder_1 = require("./transferBuilder");
@@ -28,6 +29,9 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
28
29
  getAddressInitializationBuilder() {
29
30
  return new addressInitializationBuilder_1.AddressInitializationBuilder(this._coinConfig).material(this._material);
30
31
  }
32
+ getRemoveProxyBuilder() {
33
+ return new proxyBuilder_1.RemoveProxyBuilder(this._coinConfig).material(this._material);
34
+ }
31
35
  getBatchTransactionBuilder() {
32
36
  return new _1.BatchTransactionBuilder(this._coinConfig).material(this._material);
33
37
  }
@@ -68,12 +72,15 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
68
72
  methodName === iface_1.MethodNames.Proxy) {
69
73
  return this.getTransferBuilder();
70
74
  }
71
- else if (methodName === iface_1.MethodNames.Bond) {
75
+ else if (methodName === iface_1.MethodNames.Bond || methodName === iface_1.MethodNames.BondExtra) {
72
76
  return this.getStakingBuilder();
73
77
  }
74
78
  else if (methodName === iface_1.MethodNames.AddProxy) {
75
79
  return this.getAddressInitializationBuilder();
76
80
  }
81
+ else if (methodName === iface_1.MethodNames.RemoveProxy) {
82
+ return this.getRemoveProxyBuilder();
83
+ }
77
84
  else if (methodName === iface_1.MethodNames.Unbond) {
78
85
  return this.getUnstakeBuilder();
79
86
  }
@@ -86,10 +93,13 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
86
93
  else if (methodName === iface_1.MethodNames.PayoutStakers) {
87
94
  return this.getClaimBuilder();
88
95
  }
96
+ else if (methodName === iface_1.MethodNames.Batch || methodName === iface_1.MethodNames.BatchAll) {
97
+ return this.getBatchTransactionBuilder();
98
+ }
89
99
  else {
90
100
  throw new sdk_core_1.NotSupported('Transaction cannot be parsed or has an unsupported transaction type');
91
101
  }
92
102
  }
93
103
  }
94
104
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBd0c7QUFFeEcsc0VBQXVEO0FBQ3ZELGlGQUE4RTtBQUM5RSxtQ0FBZ0Q7QUFDaEQsMkRBQXdEO0FBQ3hELHFEQUFrRDtBQUNsRCx1REFBb0Q7QUFFcEQsMkRBQXdEO0FBQ3hELG9EQUE0QjtBQUM1Qix3QkFBbUc7QUFFbkcsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFHMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSwrQkFBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCwrQkFBK0I7UUFDN0IsT0FBTyxJQUFJLDJEQUE0QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLDBCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLDhCQUFtQixDQUFDLDRCQUE0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLGlCQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixPQUFPLElBQUksMEJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksZUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWM7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBa0I7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQWM7O1FBQy9CLE1BQU0sUUFBUSxHQUFHLHFDQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsMkJBQU0sQ0FBQyxNQUFNLEVBQUU7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUNwQyxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyxNQUFBLFVBQVUsQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FBQztRQUMzQyxJQUNFLFVBQVUsS0FBSyxtQkFBVyxDQUFDLGlCQUFpQjtZQUM1QyxVQUFVLEtBQUssbUJBQVcsQ0FBQyxXQUFXO1lBQ3RDLFVBQVUsS0FBSyxtQkFBVyxDQUFDLEtBQUssRUFDaEM7WUFDQSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxVQUFVLEtBQUssbUJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUNqQzthQUFNLElBQUksVUFBVSxLQUFLLG1CQUFXLENBQUMsUUFBUSxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7U0FDL0M7YUFBTSxJQUFJLFVBQVUsS0FBSyxtQkFBVyxDQUFDLE1BQU0sRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2pDO2FBQU0sSUFBSSxVQUFVLEtBQUssbUJBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUNwQzthQUFNLElBQUksVUFBVSxLQUFLLG1CQUFXLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztTQUMxQzthQUFNLElBQUksVUFBVSxLQUFLLG1CQUFXLENBQUMsYUFBYSxFQUFFO1lBQ25ELE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQy9CO2FBQU07WUFDTCxNQUFNLElBQUksdUJBQVksQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1NBQy9GO0lBQ0gsQ0FBQztDQUNGO0FBckZELDhEQXFGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBOb3RJbXBsZW1lbnRlZEVycm9yLCBOb3RTdXBwb3J0ZWQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi9hZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1hdGVyaWFsLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgU2luZ2xldG9uUmVnaXN0cnkgfSBmcm9tICcuL3NpbmdsZXRvblJlZ2lzdHJ5JztcbmltcG9ydCB7IFN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBVbm5vbWluYXRlQnVpbGRlciB9IGZyb20gJy4vdW5ub21pbmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIsIENsYWltQnVpbGRlciwgVW5zdGFrZUJ1aWxkZXIsIFdpdGhkcmF3VW5zdGFrZWRCdWlsZGVyIH0gZnJvbSAnLic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgX21hdGVyaWFsOiBNYXRlcmlhbDtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbWF0ZXJpYWwgPSB1dGlscy5nZXRNYXRlcmlhbChfY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRUcmFuc2ZlckJ1aWxkZXIoKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRTdGFraW5nQnVpbGRlcigpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyKCk6IEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRCYXRjaFRyYW5zYWN0aW9uQnVpbGRlcigpOiBCYXRjaFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBCYXRjaFRyYW5zYWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoYHdhbGxldEluaXRpYWxpemF0aW9uIGZvciAke3RoaXMuX2NvaW5Db25maWcubmFtZX0gbm90IGltcGxlbWVudGVkYCk7XG4gIH1cblxuICBnZXRVbnN0YWtlQnVpbGRlcigpOiBVbnN0YWtlQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBVbnN0YWtlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRXaXRoZHJhd1Vuc3Rha2VkQnVpbGRlcigpOiBXaXRoZHJhd1Vuc3Rha2VkQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBXaXRoZHJhd1Vuc3Rha2VkQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRDbGFpbUJ1aWxkZXIoKTogQ2xhaW1CdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IENsYWltQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRVbm5vbWluYXRlQnVpbGRlcigpOiBVbm5vbWluYXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBVbm5vbWluYXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGZyb20ocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIocmF3VHhuKTtcbiAgICBidWlsZGVyLmZyb20ocmF3VHhuKTtcbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIG1hdGVyaWFsKG1hdGVyaWFsOiBNYXRlcmlhbCk6IHRoaXMge1xuICAgIHRoaXMuX21hdGVyaWFsID0gbWF0ZXJpYWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1aWxkZXIocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IHJlZ2lzdHJ5ID0gU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UodGhpcy5fbWF0ZXJpYWwpO1xuICAgIGNvbnN0IGRlY29kZWRUeG4gPSBkZWNvZGUocmF3VHhuLCB7XG4gICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICByZWdpc3RyeTogcmVnaXN0cnksXG4gICAgfSk7XG5cbiAgICBjb25zdCBtZXRob2ROYW1lID0gZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWU7XG4gICAgaWYgKFxuICAgICAgbWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJLZWVwQWxpdmUgfHxcbiAgICAgIG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlRyYW5zZmVyQWxsIHx8XG4gICAgICBtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5Qcm94eVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5Cb25kKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuQWRkUHJveHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlVuYm9uZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VW5zdGFrZUJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLkNoaWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVbm5vbWluYXRlQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuV2l0aGRyYXdVbmJvbmRlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2l0aGRyYXdVbnN0YWtlZEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlBheW91dFN0YWtlcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENsYWltQnVpbGRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKCdUcmFuc2FjdGlvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBd0c7QUFFeEcsc0VBQXVEO0FBQ3ZELGlGQUE4RTtBQUM5RSxtQ0FBZ0Q7QUFDaEQsaURBQW9EO0FBQ3BELDJEQUF3RDtBQUN4RCxxREFBa0Q7QUFDbEQsdURBQW9EO0FBRXBELDJEQUF3RDtBQUN4RCxvREFBNEI7QUFDNUIsd0JBQW1HO0FBRW5HLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBRzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksK0JBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsK0JBQStCO1FBQzdCLE9BQU8sSUFBSSwyREFBNEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsMEJBQTBC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QUFNLElBQUksVUFBVSxLQUFLLG1CQUFXLENBQUMsYUFBYSxFQUFFO1lBQ25ELE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQy9CO2FBQU0sSUFBSSxVQUFVLEtBQUssbUJBQVcsQ0FBQyxLQUFLLElBQUksVUFBVSxLQUFLLG1CQUFXLENBQUMsUUFBUSxFQUFFO1lBQ2xGLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDMUM7YUFBTTtZQUNMLE1BQU0sSUFBSSx1QkFBWSxDQUFDLHFFQUFxRSxDQUFDLENBQUM7U0FDL0Y7SUFDSCxDQUFDO0NBQ0Y7QUE3RkQsOERBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIE5vdEltcGxlbWVudGVkRXJyb3IsIE5vdFN1cHBvcnRlZCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGRlY29kZSB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgTWF0ZXJpYWwsIE1ldGhvZE5hbWVzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBSZW1vdmVQcm94eUJ1aWxkZXIgfSBmcm9tICcuL3Byb3h5QnVpbGRlcic7XG5pbXBvcnQgeyBTaW5nbGV0b25SZWdpc3RyeSB9IGZyb20gJy4vc2luZ2xldG9uUmVnaXN0cnknO1xuaW1wb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFVubm9taW5hdGVCdWlsZGVyIH0gZnJvbSAnLi91bm5vbWluYXRlQnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXRjaFRyYW5zYWN0aW9uQnVpbGRlciwgQ2xhaW1CdWlsZGVyLCBVbnN0YWtlQnVpbGRlciwgV2l0aGRyYXdVbnN0YWtlZEJ1aWxkZXIgfSBmcm9tICcuJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIHByb3RlY3RlZCBfbWF0ZXJpYWw6IE1hdGVyaWFsO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9tYXRlcmlhbCA9IHV0aWxzLmdldE1hdGVyaWFsKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyQnVpbGRlcigpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFN0YWtpbmdCdWlsZGVyKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFJlbW92ZVByb3h5QnVpbGRlcigpOiBSZW1vdmVQcm94eUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgUmVtb3ZlUHJveHlCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEJhdGNoVHJhbnNhY3Rpb25CdWlsZGVyKCk6IEJhdGNoVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IEJhdGNoVHJhbnNhY3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgd2FsbGV0SW5pdGlhbGl6YXRpb24gZm9yICR7dGhpcy5fY29pbkNvbmZpZy5uYW1lfSBub3QgaW1wbGVtZW50ZWRgKTtcbiAgfVxuXG4gIGdldFVuc3Rha2VCdWlsZGVyKCk6IFVuc3Rha2VCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFVuc3Rha2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFdpdGhkcmF3VW5zdGFrZWRCdWlsZGVyKCk6IFdpdGhkcmF3VW5zdGFrZWRCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFdpdGhkcmF3VW5zdGFrZWRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldENsYWltQnVpbGRlcigpOiBDbGFpbUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQ2xhaW1CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFVubm9taW5hdGVCdWlsZGVyKCk6IFVubm9taW5hdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFVubm9taW5hdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZnJvbShyYXdUeG46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgYnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcihyYXdUeG4pO1xuICAgIGJ1aWxkZXIuZnJvbShyYXdUeG4pO1xuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgbWF0ZXJpYWwobWF0ZXJpYWw6IE1hdGVyaWFsKTogdGhpcyB7XG4gICAgdGhpcy5fbWF0ZXJpYWwgPSBtYXRlcmlhbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcihyYXdUeG46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgcmVnaXN0cnkgPSBTaW5nbGV0b25SZWdpc3RyeS5nZXRJbnN0YW5jZSh0aGlzLl9tYXRlcmlhbCk7XG4gICAgY29uc3QgZGVjb2RlZFR4biA9IGRlY29kZShyYXdUeG4sIHtcbiAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIHJlZ2lzdHJ5OiByZWdpc3RyeSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZTtcbiAgICBpZiAoXG4gICAgICBtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5UcmFuc2ZlcktlZXBBbGl2ZSB8fFxuICAgICAgbWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJBbGwgfHxcbiAgICAgIG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlByb3h5XG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLkJvbmQgfHwgbWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuQm9uZEV4dHJhKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuQWRkUHJveHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlJlbW92ZVByb3h5KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRSZW1vdmVQcm94eUJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlVuYm9uZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VW5zdGFrZUJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLkNoaWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVbm5vbWluYXRlQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuV2l0aGRyYXdVbmJvbmRlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2l0aGRyYXdVbnN0YWtlZEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlBheW91dFN0YWtlcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENsYWltQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2ggfHwgbWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2hBbGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEJhdGNoVHJhbnNhY3Rpb25CdWlsZGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ1RyYW5zYWN0aW9uIGNhbm5vdCBiZSBwYXJzZWQgb3IgaGFzIGFuIHVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@ export declare const SigningPayloadTransactionSchema: joi.ObjectSchema<any>;
4
4
  export declare const SignedTransactionSchema: joi.ObjectSchema<any>;
5
5
  export declare const TransferTransactionSchema: joi.ObjectSchema<any>;
6
6
  export declare const TransferAllTransactionSchema: joi.ObjectSchema<any>;
7
- export declare const StakeTransactionSchema: joi.ObjectSchema<any>;
7
+ export declare const StakeTransactionSchema: joi.AlternativesSchema<any>;
8
8
  export declare const AddressInitializationSchema: joi.ObjectSchema<any>;
9
9
  export declare const AnonymousAddressInitializationSchema: joi.ObjectSchema<any>;
10
10
  export declare const BatchTransactionSchema: joi.ObjectSchema<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"txnSchema.d.ts","sourceRoot":"","sources":["../../../src/lib/txnSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAetB,eAAO,MAAM,qBAAqB,uBAYhC,CAAC;AAEH,eAAO,MAAM,+BAA+B,uBAK1C,CAAC;AAEH,eAAO,MAAM,uBAAuB,uBAKlC,CAAC;AAEH,eAAO,MAAM,yBAAyB,uBAGpC,CAAC;AAEH,eAAO,MAAM,4BAA4B,uBAEvC,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAejC,CAAC;AAEH,eAAO,MAAM,2BAA2B,uBAOtC,CAAC;AAEH,eAAO,MAAM,oCAAoC,uBAO/C,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAOjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAQjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,uBAEnC,CAAC;AAEH,eAAO,MAAM,iCAAiC,uBAE5C,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAGjC,CAAC"}
1
+ {"version":3,"file":"txnSchema.d.ts","sourceRoot":"","sources":["../../../src/lib/txnSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAetB,eAAO,MAAM,qBAAqB,uBAYhC,CAAC;AAEH,eAAO,MAAM,+BAA+B,uBAK1C,CAAC;AAEH,eAAO,MAAM,uBAAuB,uBAKlC,CAAC;AAEH,eAAO,MAAM,yBAAyB,uBAGpC,CAAC;AAEH,eAAO,MAAM,4BAA4B,uBAEvC,CAAC;AA2BH,eAAO,MAAM,sBAAsB,6BAEpB,CAAC;AAEhB,eAAO,MAAM,2BAA2B,uBAOtC,CAAC;AAEH,eAAO,MAAM,oCAAoC,uBAO/C,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAOjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAQjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,uBAEnC,CAAC;AAEH,eAAO,MAAM,iCAAiC,uBAE5C,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAGjC,CAAC"}
@@ -48,7 +48,7 @@ exports.TransferTransactionSchema = joi_1.default.object({
48
48
  exports.TransferAllTransactionSchema = joi_1.default.object({
49
49
  to: addressSchema.required(),
50
50
  });
51
- exports.StakeTransactionSchema = joi_1.default.object({
51
+ const CreateStakeTransactionSchema = joi_1.default.object({
52
52
  value: joi_1.default.string().required(),
53
53
  controller: addressSchema.required(),
54
54
  payee: [
@@ -63,7 +63,17 @@ exports.StakeTransactionSchema = joi_1.default.object({
63
63
  Account: joi_1.default.string().required(),
64
64
  }),
65
65
  ],
66
+ addToStake: joi_1.default.boolean().equal(false).optional(),
66
67
  });
68
+ const StakeMoreTransactionSchema = joi_1.default.object({
69
+ value: joi_1.default.string().required(),
70
+ addToStake: joi_1.default.boolean().equal(true).required(),
71
+ controller: joi_1.default.forbidden(),
72
+ payee: joi_1.default.forbidden(), // Only allow undefined
73
+ });
74
+ exports.StakeTransactionSchema = joi_1.default
75
+ .alternatives(CreateStakeTransactionSchema, StakeMoreTransactionSchema)
76
+ .match('one');
67
77
  exports.AddressInitializationSchema = joi_1.default.object({
68
78
  proxyType: joi_1.default
69
79
  .string()
@@ -104,4 +114,4 @@ exports.ClaimTransactionSchema = joi_1.default.object({
104
114
  claimEra: joi_1.default.string().required(),
105
115
  validatorStash: addressSchema.required(),
106
116
  });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLG9EQUE0QjtBQUU1QixNQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFFaEYsTUFBTSxVQUFVLEdBQUc7SUFDakIsS0FBSztJQUNMLGFBQWE7SUFDYixZQUFZO0lBQ1osU0FBUztJQUNULG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsYUFBYTtDQUNkLENBQUM7QUFFVyxRQUFBLHFCQUFxQixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDOUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsU0FBUyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsUUFBUSxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRyxrQkFBa0IsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFNBQVMsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFNBQVMsRUFBRSxhQUFH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Q0FBQyxDQUFDO0FBRVUsUUFBQSxzQkFBc0IsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQy9DLFFBQVEsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLGNBQWMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0NBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJztcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgYWRkcmVzc1NjaGVtYSA9IGpvaS5zdHJpbmcoKS5jdXN0b20oKGFkZHIpID0+IFV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHIpKTtcblxuY29uc3QgcHJveHlUeXBlcyA9IFtcbiAgJ0FueScsXG4gICdOb25UcmFuc2ZlcicsXG4gICdHb3Zlcm5hbmNlJyxcbiAgJ1N0YWtpbmcnLFxuICAnVW51c2VkU3Vkb0JhbGFuY2VzJyxcbiAgJ0lkZW50aXR5SnVkZ2VtZW50JyxcbiAgJ0NhbmNlbFByb3h5Jyxcbl07XG5cbmV4cG9ydCBjb25zdCBCYXNlVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgc2VuZGVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gIGJsb2NrTnVtYmVyOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgYmxvY2tIYXNoOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgZ2VuZXNpc0hhc2g6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBzcGVjVmVyc2lvbjogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIHNwZWNOYW1lOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2t1c2FtYScsICdwb2xrYWRvdCcsICd3ZXN0ZW5kJywgJ3N0YXRlbWludCcsICdzdGF0ZW1pbmUnKS5yZXF1aXJlZCgpLFxuICB0cmFuc2FjdGlvblZlcnNpb246IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBjaGFpbk5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBlcmFQZXJpb2Q6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBub25jZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIHRpcDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNpZ25pbmdQYXlsb2FkVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgZXJhUGVyaW9kOiBqb2kubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgYmxvY2tIYXNoOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgbm9uY2U6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICB0aXA6IGpvaS5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTaWduZWRUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBzZW5kZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgbm9uY2U6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBlcmFQZXJpb2Q6IGpvaS5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0aXA6IGpvaS5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIGFtb3VudDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHRvOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRyYW5zZmVyQWxsVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdG86IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3Rha2VUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGNvbnRyb2xsZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgcGF5ZWU6IFtcbiAgICBqb2kuc3RyaW5nKCksXG4gICAgam9pLm9iamVjdCh7XG4gICAgICBhY2NvdW50OiBqb2kuc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIGNvbnRyb2xsZXI6IGpvaS5lcXVhbChudWxsKS5vcHRpb25hbCgpLFxuICAgICAgc3Rha2VkOiBqb2kuZXF1YWwobnVsbCkub3B0aW9uYWwoKSxcbiAgICAgIHN0YXNoOiBqb2kuZXF1YWwobnVsbCkub3B0aW9uYWwoKSxcbiAgICB9KSxcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIEFjY291bnQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgIH0pLFxuICBdLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgcHJveHlUeXBlOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAudmFsaWQoLi4ucHJveHlUeXBlcylcbiAgICAucmVxdWlyZWQoKSxcbiAgZGVsZWdhdGU6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgZGVsYXk6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBbm9ueW1vdXNBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgcHJveHlUeXBlOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAudmFsaWQoLi4ucHJveHlUeXBlcylcbiAgICAucmVxdWlyZWQoKSxcbiAgaW5kZXg6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBkZWxheTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEJhdGNoVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgY2FsbHM6IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoXG4gICAgICBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCh7IGNhbGxJbmRleDogam9pLnN0cmluZygpLCBhcmdzOiBqb2kub2JqZWN0KCkgfSkpXG4gICAgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUHJveHlUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICByZWFsOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gIGZvcmNlUHJveHlUeXBlOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAudmFsaWQoLi4ucHJveHlUeXBlcylcbiAgICAucmVxdWlyZWQoKSxcbiAgYW1vdW50OiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdG86IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVW5zdGFrZVRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgV2l0aGRyYXdVbnN0YWtlZFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbHVlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2xhaW1UcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBjbGFpbUVyYTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHZhbGlkYXRvclN0YXNoOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG59KTtcbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLG9EQUE0QjtBQUU1QixNQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFFaEYsTUFBTSxVQUFVLEdBQUc7SUFDakIsS0FBSztJQUNMLGFBQWE7SUFDYixZQUFZO0lBQ1osU0FBUztJQUNULG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsYUFBYTtDQUNkLENBQUM7QUFFVyxRQUFBLHFCQUFxQixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDOUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsU0FBUyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsUUFBUSxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRyxrQkFBa0IsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFNBQVMsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFNBQVMsRUFBRSxhQUFH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QUFDLE1BQU0sQ0FBQztJQUMvQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUM5QixjQUFjLEVBQUUsYUFBRztTQUNoQixNQUFNLEVBQUU7U0FDUixLQUFLLENBQUMsR0FBRyxVQUFVLENBQUM7U0FDcEIsUUFBUSxFQUFFO0lBQ2IsTUFBTSxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsRUFBRSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Q0FDN0IsQ0FBQyxDQUFDO0FBRVUsUUFBQSx3QkFBd0IsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2pELEtBQUssRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQy9CLENBQUMsQ0FBQztBQUVVLFFBQUEsaUNBQWlDLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUMxRCxLQUFLLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQixDQUFDLENBQUM7QUFFVSxRQUFBLHNCQUFzQixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDL0MsUUFBUSxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Q0FDekMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGpvaSBmcm9tICdqb2knO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBhZGRyZXNzU2NoZW1hID0gam9pLnN0cmluZygpLmN1c3RvbSgoYWRkcikgPT4gVXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcikpO1xuXG5jb25zdCBwcm94eVR5cGVzID0gW1xuICAnQW55JyxcbiAgJ05vblRyYW5zZmVyJyxcbiAgJ0dvdmVybmFuY2UnLFxuICAnU3Rha2luZycsXG4gICdVbnVzZWRTdWRvQmFsYW5jZXMnLFxuICAnSWRlbnRpdHlKdWRnZW1lbnQnLFxuICAnQ2FuY2VsUHJveHknLFxuXTtcblxuZXhwb3J0IGNvbnN0IEJhc2VUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBzZW5kZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgYmxvY2tOdW1iZXI6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBibG9ja0hhc2g6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBnZW5lc2lzSGFzaDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHNwZWNWZXJzaW9uOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgc3BlY05hbWU6IGpvaS5zdHJpbmcoKS52YWxpZCgna3VzYW1hJywgJ3BvbGthZG90JywgJ3dlc3RlbmQnLCAnc3RhdGVtaW50JywgJ3N0YXRlbWluZScpLnJlcXVpcmVkKCksXG4gIHRyYW5zYWN0aW9uVmVyc2lvbjogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIGNoYWluTmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGVyYVBlcmlvZDogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIG5vbmNlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgdGlwOiBqb2kubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2lnbmluZ1BheWxvYWRUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBlcmFQZXJpb2Q6IGpvaS5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBibG9ja0hhc2g6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBub25jZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIHRpcDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNpZ25lZFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHNlbmRlcjogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICBub25jZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIGVyYVBlcmlvZDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRpcDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgYW1vdW50OiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdG86IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVHJhbnNmZXJBbGxUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB0bzogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxufSk7XG5cbmNvbnN0IENyZWF0ZVN0YWtlVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBjb250cm9sbGVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gIHBheWVlOiBbXG4gICAgam9pLnN0cmluZygpLFxuICAgIGpvaS5vYmplY3Qoe1xuICAgICAgYWNjb3VudDogam9pLnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgICBjb250cm9sbGVyOiBqb2kuZXF1YWwobnVsbCkub3B0aW9uYWwoKSxcbiAgICAgIHN0YWtlZDogam9pLmVxdWFsKG51bGwpLm9wdGlvbmFsKCksXG4gICAgICBzdGFzaDogam9pLmVxdWFsKG51bGwpLm9wdGlvbmFsKCksXG4gICAgfSksXG4gICAgam9pLm9iamVjdCh7XG4gICAgICBBY2NvdW50OiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICB9KSxcbiAgXSxcbiAgYWRkVG9TdGFrZTogam9pLmJvb2xlYW4oKS5lcXVhbChmYWxzZSkub3B0aW9uYWwoKSxcbn0pO1xuXG5jb25zdCBTdGFrZU1vcmVUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFkZFRvU3Rha2U6IGpvaS5ib29sZWFuKCkuZXF1YWwodHJ1ZSkucmVxdWlyZWQoKSxcbiAgY29udHJvbGxlcjogam9pLmZvcmJpZGRlbigpLCAvLyBPbmx5IGFsbG93IHVuZGVmaW5lZFxuICBwYXllZTogam9pLmZvcmJpZGRlbigpLCAvLyBPbmx5IGFsbG93IHVuZGVmaW5lZFxufSk7XG5cbmV4cG9ydCBjb25zdCBTdGFrZVRyYW5zYWN0aW9uU2NoZW1hID0gam9pXG4gIC5hbHRlcm5hdGl2ZXMoQ3JlYXRlU3Rha2VUcmFuc2FjdGlvblNjaGVtYSwgU3Rha2VNb3JlVHJhbnNhY3Rpb25TY2hlbWEpXG4gIC5tYXRjaCgnb25lJyk7XG5cbmV4cG9ydCBjb25zdCBBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgcHJveHlUeXBlOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAudmFsaWQoLi4ucHJveHlUeXBlcylcbiAgICAucmVxdWlyZWQoKSxcbiAgZGVsZWdhdGU6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgZGVsYXk6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBbm9ueW1vdXNBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgcHJveHlUeXBlOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAudmFsaWQoLi4ucHJveHlUeXBlcylcbiAgICAucmVxdWlyZWQoKSxcbiAgaW5kZXg6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBkZWxheTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEJhdGNoVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgY2FsbHM6IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoXG4gICAgICBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCh7IGNhbGxJbmRleDogam9pLnN0cmluZygpLCBhcmdzOiBqb2kub2JqZWN0KCkgfSkpXG4gICAgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUHJveHlUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICByZWFsOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gIGZvcmNlUHJveHlUeXBlOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAudmFsaWQoLi4ucHJveHlUeXBlcylcbiAgICAucmVxdWlyZWQoKSxcbiAgYW1vdW50OiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdG86IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVW5zdGFrZVRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgV2l0aGRyYXdVbnN0YWtlZFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbHVlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2xhaW1UcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBjbGFpbUVyYTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHZhbGlkYXRvclN0YXNoOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG59KTtcbiJdfQ==
@@ -3,7 +3,7 @@ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { KeyringPair } from '@polkadot/keyring/types';
4
4
  import { UnsignedTransaction } from '@substrate/txwrapper-core';
5
5
  import { DecodedSignedTx, DecodedSigningPayload, TypeRegistry } from '@substrate/txwrapper-core/lib/types';
6
- import { HexString, Material, ProxyArgs, TransferAllArgs, TransferArgs, TxMethod } from './iface';
6
+ import { AddProxyBatchCallArgs, BatchArgs, BatchCallObject, HexString, Material, ProxyArgs, StakeArgs, StakeBatchCallArgs, StakeMoreArgs, TransferAllArgs, TransferArgs, TxMethod, UnstakeBatchCallArgs } from './iface';
7
7
  import { KeyPair } from '.';
8
8
  export declare class Utils implements BaseUtils {
9
9
  /** @inheritdoc */
@@ -110,6 +110,15 @@ export declare class Utils implements BaseUtils {
110
110
  isProxyTransfer(arg: TxMethod['args']): arg is ProxyArgs;
111
111
  isTransfer(arg: TxMethod['args']): arg is TransferArgs;
112
112
  isTransferAll(arg: TxMethod['args']): arg is TransferAllArgs;
113
+ isBatch(arg: TxMethod['args']): arg is BatchArgs;
114
+ isStakingBatch(arg: TxMethod['args']): arg is BatchArgs;
115
+ isStakeBatchCallArgs(arg: BatchCallObject['args']): arg is StakeBatchCallArgs;
116
+ isAddProxyBatchCallArgs(arg: BatchCallObject['args']): arg is AddProxyBatchCallArgs;
117
+ isUnstakingBatch(arg: TxMethod['args']): arg is BatchArgs;
118
+ isRemoveProxyBatchCallArgs(arg: BatchCallObject['args']): arg is AddProxyBatchCallArgs;
119
+ isUnstakeBatchCallArgs(arg: BatchCallObject['args']): arg is UnstakeBatchCallArgs;
120
+ isBond(arg: TxMethod['args']): arg is StakeArgs;
121
+ isBondExtra(arg: TxMethod['args']): arg is StakeMoreArgs;
113
122
  /**
114
123
  * extracts and returns the signature in hex format given a raw signed transaction
115
124
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -235,6 +235,51 @@ class Utils {
235
235
  var _a;
236
236
  return ((_a = arg.dest) === null || _a === void 0 ? void 0 : _a.id) !== undefined && arg.keepAlive !== undefined;
237
237
  }
238
+ isBatch(arg) {
239
+ return arg.calls !== undefined;
240
+ }
241
+ isStakingBatch(arg) {
242
+ const calls = arg.calls;
243
+ if (calls !== undefined) {
244
+ return (calls.length === 2 && this.isStakeBatchCallArgs(calls[0].args) && this.isAddProxyBatchCallArgs(calls[1].args));
245
+ }
246
+ return false;
247
+ }
248
+ isStakeBatchCallArgs(arg) {
249
+ return (arg.value !== undefined &&
250
+ arg.controller !== undefined &&
251
+ arg.payee !== undefined);
252
+ }
253
+ isAddProxyBatchCallArgs(arg) {
254
+ return (arg.delegate !== undefined &&
255
+ arg.proxy_type !== undefined &&
256
+ arg.delay !== undefined);
257
+ }
258
+ isUnstakingBatch(arg) {
259
+ const calls = arg.calls;
260
+ if (calls !== undefined) {
261
+ return (calls.length === 3 &&
262
+ this.isRemoveProxyBatchCallArgs(calls[0].args) &&
263
+ this.isUnstakeBatchCallArgs(calls[2].args));
264
+ }
265
+ return false;
266
+ }
267
+ isRemoveProxyBatchCallArgs(arg) {
268
+ return (arg.delegate !== undefined &&
269
+ arg.proxy_type !== undefined &&
270
+ arg.delay !== undefined);
271
+ }
272
+ isUnstakeBatchCallArgs(arg) {
273
+ return arg.value !== undefined;
274
+ }
275
+ isBond(arg) {
276
+ return (arg.value !== undefined &&
277
+ arg.controller !== undefined &&
278
+ arg.payee !== undefined);
279
+ }
280
+ isBondExtra(arg) {
281
+ return arg.maxAdditional !== undefined;
282
+ }
238
283
  /**
239
284
  * extracts and returns the signature in hex format given a raw signed transaction
240
285
  *
@@ -284,4 +329,4 @@ class Utils {
284
329
  exports.Utils = Utils;
285
330
  const utils = new Utils();
286
331
  exports.default = utils;
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUEySDtBQUUzSCwrQ0FBMEU7QUFDMUUsMERBQTJEO0FBRTNELDJDQUEyRztBQUMzRyxzRUFBMkU7QUFDM0UseUNBQXFFO0FBQ3JFLHVEQUFzRTtBQUd0RSxzRUFBMEQ7QUFDMUQsZ0RBQXdCO0FBQ3hCLDBEQUErQjtBQUMvQiwwREFBNkI7QUFFN0Isd0JBQTRCO0FBRTVCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLDZFQUE2RTtBQUM3RSxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFrQztJQUNoRSxDQUFDLEtBQUssRUFBRSwyQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQyxNQUFNLEVBQUUsMkJBQWdCLENBQUMsU0FBUyxDQUFDO0NBQ3JDLENBQUMsQ0FBQztBQUVILE1BQWEsS0FBSztJQUNoQixrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLE9BQWU7UUFDNUIsSUFBSTtZQUNGLHVCQUFhLENBQUMsWUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzRSxPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixjQUFjLENBQUMsSUFBWTtRQUN6QixPQUFPLFlBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxlQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFD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QUF5QixDQUFDLE9BQWUsRUFBRSxVQUFtQjtRQUM1RCxPQUFPLElBQUksVUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxRQUFnQjtRQUN4QixPQUFPLFFBQVEsS0FBSyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsZUFBOEI7UUFDN0MsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFxQixDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQWxTRCxzQkFrU0M7QUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBRTFCLGtCQUFlLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvdEFzc2V0VHlwZXMsIEJhc2VVdGlscywgRG90QWRkcmVzc0Zvcm1hdCwgaXNCYXNlNTgsIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5LCBTZWVkIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgRG90TmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgZGVjb2RlQWRkcmVzcywgZW5jb2RlQWRkcmVzcywgS2V5cmluZyB9IGZyb20gJ0Bwb2xrYWRvdC9rZXlyaW5nJztcbmltcG9ydCB7IGRlY29kZVBhaXIgfSBmcm9tICdAcG9sa2Fkb3Qva2V5cmluZy9wYWlyL2RlY29kZSc7XG5pbXBvcnQgeyBLZXlyaW5nUGFpciB9IGZyb20gJ0Bwb2xrYWRvdC9rZXlyaW5nL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVR5cGVVbnNhZmUsIEdlbmVyaWNDYWxsLCBHZW5lcmljRXh0cmluc2ljLCBHZW5lcmljRXh0cmluc2ljUGF5bG9hZCB9IGZyb20gJ0Bwb2xrYWRvdC90eXBlcyc7XG5pbXBvcnQgeyBFWFRSSU5TSUNfVkVSU0lPTiB9IGZyb20gJ0Bwb2xrYWRvdC90eXBlcy9leHRyaW5zaWMvdjQvRXh0cmluc2ljJztcbmltcG9ydCB7IGhleFRvVThhLCBpc0hleCwgdThhVG9IZXgsIHU4YVRvVThhIH0gZnJvbSAnQHBvbGthZG90L3V0aWwnO1xuaW1wb3J0IHsgYmFzZTY0RGVjb2RlLCBzaWduYXR1cmVWZXJpZnkgfSBmcm9tICdAcG9sa2Fkb3QvdXRpbC1jcnlwdG8nO1xuaW1wb3J0IHsgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFR5cGVSZWdpc3RyeSB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUvbGliL3R5cGVzJztcbmltcG9ydCB7IGNvbnN0cnVjdCB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCBiczU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0IGJhc2UzMiBmcm9tICdoaS1iYXNlMzInO1xuaW1wb3J0IG5hY2wgZnJvbSAndHdlZXRuYWNsJztcbmltcG9ydCB7IEhleFN0cmluZywgTWF0ZXJpYWwsIFByb3h5QXJncywgUHJveHlDYWxsQXJncywgVHJhbnNmZXJBbGxBcmdzLCBUcmFuc2ZlckFyZ3MsIFR4TWV0aG9kIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLic7XG5cbmNvbnN0IFBST1hZX01FVEhPRF9BUkcgPSAyO1xuLy8gbWFwIHRvIHJldHJpZXZlIHRoZSBhZGRyZXNzIGVuY29kaW5nIGZvcm1hdCB3aGVuIHRoZSBrZXkgaXMgdGhlIGFzc2V0IG5hbWVcbmNvbnN0IGNvaW5Ub0FkZHJlc3NNYXAgPSBuZXcgTWFwPERvdEFzc2V0VHlwZXMsIERvdEFkZHJlc3NGb3JtYXQ+KFtcbiAgWydkb3QnLCBEb3RBZGRyZXNzRm9ybWF0LnBvbGthZG90XSxcbiAgWyd0ZG90JywgRG90QWRkcmVzc0Zvcm1hdC5zdWJzdHJhdGVdLFxuXSk7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgZW5jb2RlQWRkcmVzcyhpc0hleChhZGRyZXNzKSA/IGhleFRvVThhKGFkZHJlc3MpIDogZGVjb2RlQWRkcmVzcyhhZGRyZXNzKSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNIZXgoaGFzaCwgMjU2KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkUHJ2ID0gaGV4VG9VOGEoa2V5KTtcbiAgICAgIHJldHVybiBkZWNvZGVkUHJ2Lmxlbmd0aCA9PT0gbmFjbC5zaWduLnNlY3JldEtleUxlbmd0aCAvIDI7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHB1YktleSA9IGtleTtcblxuICAgIC8vIGNvbnZlcnQgYmFzZTU4IHB1YiBrZXkgdG8gaGV4IGZvcm1hdFxuICAgIC8vIHRzcyBjb21tb24gcHViIGlzIGluIGJhc2U1OCBmb3JtYXQgYW5kIGRlY29kZXMgdG8gbGVuZ3RoIG9mIDMyXG4gICAgaWYgKGlzQmFzZTU4KHB1YktleSwgMzIpKSB7XG4gICAgICBjb25zdCBiYXNlNThEZWNvZGUgPSBiczU4LmRlY29kZShwdWJLZXkpO1xuICAgICAgcHViS2V5ID0gYmFzZTU4RGVjb2RlLnRvU3RyaW5nKCdoZXgnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkocHViS2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2lnbmF0dXJlVThhID0gdThhVG9VOGEoc2lnbmF0dXJlKTtcbiAgICByZXR1cm4gWzY0LCA2NSwgNjZdLmluY2x1ZGVzKHNpZ25hdHVyZVU4YS5sZW5ndGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBzaWduYXR1cmUgb24gYSBnaXZlbiBtZXNzYWdlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduZWRNZXNzYWdlIHRoZSBzaWduZWQgbWVzc2FnZSBmb3IgdGhlIHNpZ25hdHVyZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIHRoZSBzaWduYXR1cmUgdG8gdmVyaWZ5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIHRoZSBhZGRyZXNzIG9mIHRoZSBzaWduZXJcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHdoZXRoZXIgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZCBvciBub3RcbiAgICovXG4gIHZlcmlmeVNpZ25hdHVyZShzaWduZWRNZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwdWJsaWNLZXkgPSBkZWNvZGVBZGRyZXNzKGFkZHJlc3MpO1xuICAgIGNvbnN0IGhleFB1YmxpY0tleSA9IHU4YVRvSGV4KHB1YmxpY0tleSk7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlVmVyaWZ5KHNpZ25lZE1lc3NhZ2UsIHNpZ25hdHVyZSwgaGV4UHVibGljS2V5KS5pc1ZhbGlkO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0hleCh0eElkLCAyNTYpO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlY29kZVNlZWQgZGVjb2RlcyBhIGRvdCBzZWVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWVkIC0gdGhlIHNlZWQgdG8gYmUgdmFsaWRhdGVkLlxuICAgKiBAcmV0dXJucyB7U2VlZH0gLSB0aGUgb2JqZWN0IFNlZWRcbiAgICovXG4gIGRlY29kZVNlZWQoc2VlZDogc3RyaW5nKTogU2VlZCB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGJhc2UzMi5kZWNvZGUuYXNCeXRlcyhzZWVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgc2VlZDogQnVmZmVyLmZyb20oZGVjb2RlZCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgZnVuY3Rpb24gdG8gY2FwaXRhbGl6ZSB0aGUgZmlyc3QgbGV0dGVyIG9mIGEgc3RyaW5nXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWxcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGNhcGl0YWxpemVGaXJzdExldHRlcih2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbC5zbGljZSgxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZGVjb2RlIHRoZSBpbnRlcm5hbCBtZXRob2QgaGV4IGluIGNhc2Ugb2YgYSBwcm94eSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFVuc2lnbmVkVHJhbnNhY3Rpb259IHR4XG4gICAqIEBwYXJhbSB7IG1ldGFkYXRhUnBjOiBzdHJpbmc7IHJlZ2lzdHJ5OiBUeXBlUmVnaXN0cnkgfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckFyZ3N9XG4gICAqL1xuICBkZWNvZGVDYWxsTWV0aG9kKFxuICAgIHR4OiBzdHJpbmcgfCBVbnNpZ25lZFRyYW5zYWN0aW9uLFxuICAgIG9wdGlvbnM6IHsgbWV0YWRhdGFScGM6IHN0cmluZzsgcmVnaXN0cnk6IFR5cGVSZWdpc3RyeSB9XG4gICk6IFRyYW5zZmVyQXJncyB7XG4gICAgY29uc3QgeyByZWdpc3RyeSB9ID0gb3B0aW9ucztcbiAgICBsZXQgbWV0aG9kQ2FsbDogR2VuZXJpY0NhbGwgfCBHZW5lcmljRXh0cmluc2ljO1xuICAgIGlmICh0eXBlb2YgdHggPT09ICdzdHJpbmcnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXlsb2FkOiBHZW5lcmljRXh0cmluc2ljUGF5bG9hZCA9IGNyZWF0ZVR5cGVVbnNhZmUocmVnaXN0cnksICdFeHRyaW5zaWNQYXlsb2FkJywgW1xuICAgICAgICAgIHR4LFxuICAgICAgICAgIHsgdmVyc2lvbjogRVhUUklOU0lDX1ZFUlNJT04gfSxcbiAgICAgICAgXSk7XG4gICAgICAgIG1ldGhvZENhbGwgPSBjcmVhdGVUeXBlVW5zYWZlKHJlZ2lzdHJ5LCAnQ2FsbCcsIFtwYXlsb2FkLm1ldGhvZF0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBtZXRob2RDYWxsID0gcmVnaXN0cnkuY3JlYXRlVHlwZSgnRXh0cmluc2ljJywgaGV4VG9VOGEodHgpLCB7XG4gICAgICAgICAgaXNTaWduZWQ6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBtZXRob2RDYWxsID0gcmVnaXN0cnkuY3JlYXRlVHlwZSgnQ2FsbCcsIHR4Lm1ldGhvZCk7XG4gICAgfVxuICAgIGNvbnN0IG1ldGhvZCA9IG1ldGhvZENhbGwuYXJnc1tQUk9YWV9NRVRIT0RfQVJHXTtcbiAgICBjb25zdCBkZWNvZGVkQXJncyA9IG1ldGhvZC50b0pTT04oKSBhcyB1bmtub3duIGFzIFByb3h5Q2FsbEFyZ3M7XG4gICAgcmV0dXJuIGRlY29kZWRBcmdzLmFyZ3M7XG4gIH1cblxuICAvKipcbiAgICoga2V5UGFpckZyb21TZWVkIGdlbmVyYXRlcyBhbiBvYmplY3Qgd2l0aCBzZWNyZXRLZXkgYW5kIHB1YmxpY0tleSB1c2luZyB0aGUgcG9sa2Fkb3Qgc2RrXG4gICAqIEBwYXJhbSBzZWVkIDMyIGJ5dGVzIGxvbmcgc2VlZFxuICAgKiBAcmV0dXJucyBLZXlQYWlyXG4gICAqL1xuICBrZXlQYWlyRnJvbVNlZWQoc2VlZDogVWludDhBcnJheSk6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleXJpbmcgPSBuZXcgS2V5cmluZyh7IHR5cGU6ICdlZDI1NTE5JyB9KTtcbiAgICBjb25zdCBrZXlyaW5nUGFpciA9IGtleXJpbmcuYWRkRnJvbVNlZWQoc2VlZCk7XG4gICAgY29uc3QgcGFpckpzb24gPSBrZXlyaW5nUGFpci50b0pzb24oKTtcbiAgICBjb25zdCBkZWNvZGVkS2V5UGFpciA9IGRlY29kZVBhaXIoJycsIGJhc2U2NERlY29kZShwYWlySnNvbi5lbmNvZGVkKSwgcGFpckpzb24uZW5jb2RpbmcudHlwZSk7XG4gICAgcmV0dXJuIG5ldyBLZXlQYWlyKHsgcHJ2OiBCdWZmZXIuZnJvbShkZWNvZGVkS2V5UGFpci5zZWNyZXRLZXkpLnRvU3RyaW5nKCdoZXgnKSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduaW5nIGZ1bmN0aW9uLiBJbXBsZW1lbnQgdGhpcyBvbiB0aGUgT0ZGTElORSBzaWduaW5nIGRldmljZS5cbiAgICpcbiAgICogQHBhcmFtIHtLZXlyaW5nUGFpcn0gcGFpciAtIFRoZSBzaWduaW5nIHBhaXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduaW5nUGF5bG9hZCAtIFBheWxvYWQgdG8gc2lnbi5cbiAgICogQHBhcmFtIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSB0cmFuc2FjdGlvbiAtIHJhdyB0cmFuc2FjdGlvbiB0byBzaWduXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqIEBwYXJhbSB7SGV4U3RyaW5nfSBvcHRpb25zLm1ldGFkYXRhUnBjIC0gbWV0YWRhdGEgdGhhdCBpcyBuZWVkZWQgZm9yIGRvdCB0byBzaWduXG4gICAqIEBwYXJhbSB7VHlwZVJlZ2lzdHJ5fSBvcHRpb25zLnJlZ2lzdHJ5IC0gbWV0YWRhdGEgdGhhdCBpcyBuZWVkZWQgZm9yIGRvdCB0byBzaWduXG4gICAqL1xuICBjcmVhdGVTaWduZWRUeChcbiAgICBwYWlyOiBLZXlyaW5nUGFpcixcbiAgICBzaWduaW5nUGF5bG9hZDogc3RyaW5nLFxuICAgIHRyYW5zYWN0aW9uOiBVbnNpZ25lZFRyYW5zYWN0aW9uLFxuICAgIG9wdGlvbnM6IHsgbWV0YWRhdGFScGM6IEhleFN0cmluZzsgcmVnaXN0cnk6IFR5cGVSZWdpc3RyeSB9XG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgeyByZWdpc3RyeSwgbWV0YWRhdGFScGMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgeyBzaWduYXR1cmUgfSA9IHJlZ2lzdHJ5XG4gICAgICAuY3JlYXRlVHlwZSgnRXh0cmluc2ljUGF5bG9hZCcsIHNpZ25pbmdQYXlsb2FkLCB7XG4gICAgICAgIHZlcnNpb246IEVYVFJJTlNJQ19WRVJTSU9OLFxuICAgICAgfSlcbiAgICAgIC5zaWduKHBhaXIpO1xuXG4gICAgLy8gU2VyaWFsaXplIGEgc2lnbmVkIHRyYW5zYWN0aW9uLlxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uLCBzaWduYXR1cmUsIG1ldGFkYXRhUnBjLCByZWdpc3RyeSk7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyB0aGUgc2lnbmVkIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiB0byBzZXJpYWxpemVcbiAgICogQHBhcmFtIHNpZ25hdHVyZSBTaWduYXR1cmUgb2YgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG1ldGFkYXRhUnBjIE5ldHdvcmsgbWV0YWRhdGFcbiAgICogQHBhcmFtIHJlZ2lzdHJ5IFRyYW5zYWN0aW9uIHJlZ2lzdHJ5XG4gICAqIEByZXR1cm5zIHN0cmluZyBTZXJpYWxpemVkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBzZXJpYWxpemVTaWduZWRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbiwgc2lnbmF0dXJlLCBtZXRhZGF0YVJwYzogYDB4JHtzdHJpbmd9YCwgcmVnaXN0cnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb25zdHJ1Y3Quc2lnbmVkVHgodHJhbnNhY3Rpb24sIHNpZ25hdHVyZSwge1xuICAgICAgbWV0YWRhdGFScGMsXG4gICAgICByZWdpc3RyeSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIHRoZSBkb3QgYWRkcmVzcyBmcm9tIHRoZSBnaXZlbiBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3NcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzczU4Rm9ybWF0XVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZGVjb2RlRG90QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIHNzNThGb3JtYXQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5cGFpciA9IG5ldyBLZXlQYWlyKHsgcHViOiBCdWZmZXIuZnJvbShkZWNvZGVBZGRyZXNzKGFkZHJlc3MsIHVuZGVmaW5lZCwgc3M1OEZvcm1hdCkpLnRvU3RyaW5nKCdoZXgnKSB9KTtcbiAgICByZXR1cm4ga2V5cGFpci5nZXRBZGRyZXNzKHNzNThGb3JtYXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgdGhlIGRvdCBhZGRyZXNzIGZyb20gdGhlIGdpdmVuIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzc1xuICAgKiBAcGFyYW0ge251bWJlcn0gW3NzNThGb3JtYXRdXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBlbmNvZGVEb3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgc3M1OEZvcm1hdD86IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGVuY29kZUFkZHJlc3MoYWRkcmVzcywgc3M1OEZvcm1hdCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSB0eEhhc2ggb2YgYSBzaWduZWQgdHhIZXhcbiAgICpcbiAgICogQHBhcmFtIHR4SGV4IHNpZ25lZCB0cmFuc2FjdGlvbiBoZXhcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldFR4SGFzaCh0eEhleDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29uc3RydWN0LnR4SGFzaCh0eEhleCk7XG4gIH1cblxuICBnZXRNYXRlcmlhbChjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPik6IE1hdGVyaWFsIHtcbiAgICBjb25zdCBuZXR3b3JrQ29uZmlnID0gY29pbkNvbmZpZy5uZXR3b3JrIGFzIERvdE5ldHdvcms7XG4gICAgY29uc3QgeyBzcGVjTmFtZSwgc3BlY1ZlcnNpb24sIGNoYWluTmFtZSwgdHhWZXJzaW9uLCBnZW5lc2lzSGFzaCB9ID0gbmV0d29ya0NvbmZpZztcblxuICAgIHJldHVybiB7XG4gICAgICBzcGVjTmFtZSxcbiAgICAgIHNwZWNWZXJzaW9uLFxuICAgICAgY2hhaW5OYW1lLFxuICAgICAgbWV0YWRhdGE6IG5ldHdvcmtDb25maWcubWV0YWRhdGFScGMsXG4gICAgICB0eFZlcnNpb24sXG4gICAgICBnZW5lc2lzSGFzaCxcbiAgICB9IGFzIE1hdGVyaWFsO1xuICB9XG5cbiAgaXNTaWduaW5nUGF5bG9hZChwYXlsb2FkOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiBwYXlsb2FkIGlzIERlY29kZWRTaWduaW5nUGF5bG9hZCB7XG4gICAgcmV0dXJuIChwYXlsb2FkIGFzIERlY29kZWRTaWduaW5nUGF5bG9hZCkuYmxvY2tIYXNoICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBpc1Byb3h5VHJhbnNmZXIoYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIFByb3h5QXJncyB7XG4gICAgcmV0dXJuIChhcmcgYXMgUHJveHlBcmdzKS5yZWFsICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBpc1RyYW5zZmVyKGFyZzogVHhNZXRob2RbJ2FyZ3MnXSk6IGFyZyBpcyBUcmFuc2ZlckFyZ3Mge1xuICAgIHJldHVybiAoYXJnIGFzIFRyYW5zZmVyQXJncykuZGVzdD8uaWQgIT09IHVuZGVmaW5lZCAmJiAoYXJnIGFzIFRyYW5zZmVyQXJncykudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzVHJhbnNmZXJBbGwoYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIFRyYW5zZmVyQWxsQXJncyB7XG4gICAgcmV0dXJuIChhcmcgYXMgVHJhbnNmZXJBbGxBcmdzKS5kZXN0Py5pZCAhPT0gdW5kZWZpbmVkICYmIChhcmcgYXMgVHJhbnNmZXJBbGxBcmdzKS5rZWVwQWxpdmUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBhbmQgcmV0dXJucyB0aGUgc2lnbmF0dXJlIGluIGhleCBmb3JtYXQgZ2l2ZW4gYSByYXcgc2lnbmVkIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYXdUeCBzaWduZWQgcmF3IHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBvcHRpb25zIHJlZ2lzdHJ5IGRvdCByZWdpc3RyeSB1c2VkIHRvIHJldHJpZXZlIHRoZSBzaWduYXR1cmVcbiAgICovXG4gIHJlY292ZXJTaWduYXR1cmVGcm9tUmF3VHgocmF3VHg6IHN0cmluZywgb3B0aW9uczogeyByZWdpc3RyeTogVHlwZVJlZ2lzdHJ5IH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgcmVnaXN0cnkgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgbWV0aG9kQ2FsbCA9IHJlZ2lzdHJ5LmNyZWF0ZVR5cGUoJ0V4dHJpbnNpYycsIHJhd1R4LCB7XG4gICAgICBpc1NpZ25lZDogdHJ1ZSxcbiAgICB9KTtcbiAgICBsZXQgc2lnbmF0dXJlID0gdThhVG9IZXgobWV0aG9kQ2FsbC5zaWduYXR1cmUpIGFzIHN0cmluZztcblxuICAgIC8vIHJlbW92ZSAweCBmcm9tIHRoZSBzaWduYXR1cmUgc2luY2UgdGhpcyBpcyBob3cgaXQncyByZXR1cm5lZCBmcm9tIFRTUyBzaWduaW5nXG4gICAgaWYgKHNpZ25hdHVyZS5zdGFydHNXaXRoKCcweCcpKSB7XG4gICAgICBzaWduYXR1cmUgPSBzaWduYXR1cmUuc3Vic3RyKDIpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgdGhlIGRvdCBhZGRyZXNzIGZyb20gdGhlIGdpdmVuIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzc1xuICAgKiBAcGFyYW0ge251bWJlcn0gW3NzNThGb3JtYXRdXG4gICAqIEByZXR1cm5zIHtLZXlQYWlyfVxuICAgKi9cbiAgZGVjb2RlRG90QWRkcmVzc1RvS2V5UGFpcihhZGRyZXNzOiBzdHJpbmcsIHNzNThGb3JtYXQ/OiBudW1iZXIpOiBLZXlQYWlyIHtcbiAgICByZXR1cm4gbmV3IEtleVBhaXIoeyBwdWI6IEJ1ZmZlci5mcm9tKGRlY29kZUFkZHJlc3MoYWRkcmVzcywgdW5kZWZpbmVkLCBzczU4Rm9ybWF0KSkudG9TdHJpbmcoJ2hleCcpIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBpbnB1dCBpcyBhIGhleCBzdHJpbmcgd2l0aCB3aXRoIDAgdmFsdWVcbiAgICogdXNlZCB0byBjaGVjayB3aGV0aGVyIGEgZ2l2ZW4gdHJhbnNhY3Rpb24gaXMgaW1tb3J0YWwgb3IgbW9ydGFsXG4gICAqIEBwYXJhbSBoZXhWYWx1ZVxuICAgKi9cbiAgaXNaZXJvSGV4KGhleFZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGV4VmFsdWUgPT09ICcweDAwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBhbiBhc3NldCBuYW1lIGFuZCByZXR1cm5zIHRoZSByZXNwZWN0aXZlIGFkZHJlc3MgdG8gZm9ybWF0IHRvXG4gICAqIHNpbmNlIHBvbGthZG90IGFkZHJlc3NlcyBkaWZmZXIgZGVwZW5kaW5nIG9uIHRoZSBuZXR3b3JrXG4gICAqIHJlZjogaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1hY2NvdW50c1xuICAgKiBAcGFyYW0gbmV0d29ya0NvaW5OYW1lXG4gICAqL1xuICBnZXRBZGRyZXNzRm9ybWF0KG5ldHdvcmtDb2luTmFtZTogRG90QXNzZXRUeXBlcyk6IERvdEFkZHJlc3NGb3JtYXQge1xuICAgIHJldHVybiBjb2luVG9BZGRyZXNzTWFwLmdldChuZXR3b3JrQ29pbk5hbWUpIGFzIERvdEFkZHJlc3NGb3JtYXQ7XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUEySDtBQUUzSCwrQ0FBMEU7QUFDMUUsMERBQTJEO0FBRTNELDJDQUEyRztBQUMzRyxzRUFBMkU7QUFDM0UseUNBQXFFO0FBQ3JFLHVEQUFzRTtBQUd0RSxzRUFBMEQ7QUFDMUQsZ0RBQXdCO0FBQ3hCLDBEQUErQjtBQUMvQiwwREFBNkI7QUFpQjdCLHdCQUE0QjtBQUU1QixNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUMzQiw2RUFBNkU7QUFDN0UsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBa0M7SUFDaEUsQ0FBQyxLQUFLLEVBQUUsMkJBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUMsTUFBTSxFQUFFLDJCQUFnQixDQUFDLFNBQVMsQ0FBQztDQUNyQyxDQUFDLENBQUM7QUFFSCxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLElBQUk7WUFDRix1QkFBYSxDQUFDLFlBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0UsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLElBQVk7UUFDekIsT0FBTyxZQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsaUJBQWlCLENBQUMsR0FBVztRQUMzQixJQUFJO1lBQ0YsTUFBTSxVQUFVLEdBQUcsZUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxtQkFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1NBQzVEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxHQUFXO1FBQzFCLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUVqQix1Q0FBdUM7UUFDdkMsaUVBQWlFO1FBQ2pFLElBQUksbUJBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxZQUFZLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztRQUVELE9BQU8sa0NBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxNQUFNLFlBQVksR0FBRyxlQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGVBQWUsQ0FBQyxhQUFxQixFQUFFLFNBQWlCLEVBQUUsT0FBZTtRQUN2RSxNQUFNLFNBQVMsR0FBRyx1QkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLGVBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QyxPQUFPLDZCQUFlLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDekUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sWUFBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsSUFBWTtRQUNyQixNQUFNLE9BQU8sR0FBRyxtQkFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTztZQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsR0FBVztRQUMvQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQ2QsRUFBZ0MsRUFDaEMsT0FBd0Q7UUFFeEQsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLFVBQTBDLENBQUM7UUFDL0MsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSTtnQkFDRixNQUFNLE9BQU8sR0FBNEIsd0JBQWdCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFO29CQUN0RixFQUFFO29CQUNGLEVBQUUsT0FBTyxFQUFFLDZCQUFpQixFQUFFO2lCQUMvQixDQUFDLENBQUM7Z0JBQ0gsVUFBVSxHQUFHLHdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNuRTtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxlQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQzFELFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQzthQUNKO1NBQ0Y7YUFBTTtZQUNMLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBOEIsQ0FBQztRQUNoRSxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsSUFBZ0I7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEMsTUFBTSxjQUFjLEdBQUcsbUJBQVUsQ0FBQyxFQUFFLEVBQUUsMEJBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RixPQUFPLElBQUksVUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILGNBQWMsQ0FDWixJQUFpQixFQUNqQixjQUFzQixFQUN0QixXQUFnQyxFQUNoQyxPQUEyRDtRQUUzRCxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMxQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsUUFBUTthQUMzQixVQUFVLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFFO1lBQzlDLE9BQU8sRUFBRSw2QkFBaUI7U0FDM0IsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVkLGtDQUFrQztRQUNsQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCwwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQTBCLEVBQUUsUUFBUTtRQUNyRixPQUFPLDhCQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUU7WUFDaEQsV0FBVztZQUNYLFFBQVE7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQUMsT0FBZSxFQUFFLFVBQWtCO1FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksVUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqSCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLE9BQWUsRUFBRSxVQUFtQjtRQUNuRCxPQUFPLHVCQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sOEJBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFnQztRQUMxQyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsT0FBcUIsQ0FBQztRQUN2RCxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUVuRixPQUFPO1lBQ0wsUUFBUTtZQUNSLFdBQVc7WUFDWCxTQUFTO1lBQ1QsUUFBUSxFQUFFLGFBQWEsQ0FBQyxXQUFXO1lBQ25DLFNBQVM7WUFDVCxXQUFXO1NBQ0EsQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBZ0Q7UUFDL0QsT0FBUSxPQUFpQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUM7SUFDcEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFxQjtRQUNuQyxPQUFRLEdBQWlCLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQXFCOztRQUM5QixPQUFPLENBQUEsTUFBQyxHQUFvQixDQUFDLElBQUksMENBQUUsRUFBRSxNQUFLLFNBQVMsSUFBSyxHQUFvQixDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDbkcsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFxQjs7UUFDakMsT0FBTyxDQUFBLE1BQUMsR0FBdUIsQ0FBQyxJQUFJLDBDQUFFLEVBQUUsTUFBSyxTQUFTLElBQUssR0FBdUIsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO0lBQzdHLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBcUI7UUFDM0IsT0FBUSxHQUFpQixDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDaEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFxQjtRQUNsQyxNQUFNLEtBQUssR0FBSSxHQUFpQixDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsT0FBTyxDQUNMLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDOUcsQ0FBQztTQUNIO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBNEI7UUFDL0MsT0FBTyxDQUNKLEdBQTBCLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDOUMsR0FBMEIsQ0FBQyxVQUFVLEtBQUssU0FBUztZQUNuRCxHQUEwQixDQUFDLEtBQUssS0FBSyxTQUFTLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBNEI7UUFDbEQsT0FBTyxDQUNKLEdBQTZCLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFDcEQsR0FBNkIsQ0FBQyxVQUFVLEtBQUssU0FBUztZQUN0RCxHQUE2QixDQUFDLEtBQUssS0FBSyxTQUFTLENBQ25ELENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBcUI7UUFDcEMsTUFBTSxLQUFLLEdBQUksR0FBaUIsQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLE9BQU8sQ0FDTCxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ2xCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUMzQyxDQUFDO1NBQ0g7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxHQUE0QjtRQUNyRCxPQUFPLENBQ0osR0FBNkIsQ0FBQyxRQUFRLEtBQUssU0FBUztZQUNwRCxHQUE2QixDQUFDLFVBQVUsS0FBSyxTQUFTO1lBQ3RELEdBQTZCLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUE0QjtRQUNqRCxPQUFRLEdBQTRCLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQXFCO1FBQzFCLE9BQU8sQ0FDSixHQUFpQixDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ3JDLEdBQWlCLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDMUMsR0FBaUIsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFxQjtRQUMvQixPQUFRLEdBQXFCLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCx5QkFBeUIsQ0FBQyxLQUFhLEVBQUUsT0FBbUM7UUFDMUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUU7WUFDekQsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFDSCxJQUFJLFNBQVMsR0FBRyxlQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBVyxDQUFDO1FBRXpELGdGQUFnRjtRQUNoRixJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gseUJBQXlCLENBQUMsT0FBZSxFQUFFLFVBQW1CO1FBQzVELE9BQU8sSUFBSSxVQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBYSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLFFBQWdCO1FBQ3hCLE9BQU8sUUFBUSxLQUFLLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxlQUE4QjtRQUM3QyxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQXFCLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBcFdELHNCQW9XQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG90QXNzZXRUeXBlcywgQmFzZVV0aWxzLCBEb3RBZGRyZXNzRm9ybWF0LCBpc0Jhc2U1OCwgaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXksIFNlZWQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBEb3ROZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBkZWNvZGVBZGRyZXNzLCBlbmNvZGVBZGRyZXNzLCBLZXlyaW5nIH0gZnJvbSAnQHBvbGthZG90L2tleXJpbmcnO1xuaW1wb3J0IHsgZGVjb2RlUGFpciB9IGZyb20gJ0Bwb2xrYWRvdC9rZXlyaW5nL3BhaXIvZGVjb2RlJztcbmltcG9ydCB7IEtleXJpbmdQYWlyIH0gZnJvbSAnQHBvbGthZG90L2tleXJpbmcvdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVHlwZVVuc2FmZSwgR2VuZXJpY0NhbGwsIEdlbmVyaWNFeHRyaW5zaWMsIEdlbmVyaWNFeHRyaW5zaWNQYXlsb2FkIH0gZnJvbSAnQHBvbGthZG90L3R5cGVzJztcbmltcG9ydCB7IEVYVFJJTlNJQ19WRVJTSU9OIH0gZnJvbSAnQHBvbGthZG90L3R5cGVzL2V4dHJpbnNpYy92NC9FeHRyaW5zaWMnO1xuaW1wb3J0IHsgaGV4VG9VOGEsIGlzSGV4LCB1OGFUb0hleCwgdThhVG9VOGEgfSBmcm9tICdAcG9sa2Fkb3QvdXRpbCc7XG5pbXBvcnQgeyBiYXNlNjREZWNvZGUsIHNpZ25hdHVyZVZlcmlmeSB9IGZyb20gJ0Bwb2xrYWRvdC91dGlsLWNyeXB0byc7XG5pbXBvcnQgeyBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVHlwZVJlZ2lzdHJ5IH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZS9saWIvdHlwZXMnO1xuaW1wb3J0IHsgY29uc3RydWN0IH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IGJzNTggZnJvbSAnYnM1OCc7XG5pbXBvcnQgYmFzZTMyIGZyb20gJ2hpLWJhc2UzMic7XG5pbXBvcnQgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuaW1wb3J0IHtcbiAgQWRkUHJveHlCYXRjaENhbGxBcmdzLFxuICBCYXRjaEFyZ3MsXG4gIEJhdGNoQ2FsbE9iamVjdCxcbiAgSGV4U3RyaW5nLFxuICBNYXRlcmlhbCxcbiAgUHJveHlBcmdzLFxuICBQcm94eUNhbGxBcmdzLFxuICBTdGFrZUFyZ3MsXG4gIFN0YWtlQmF0Y2hDYWxsQXJncyxcbiAgU3Rha2VNb3JlQXJncyxcbiAgVHJhbnNmZXJBbGxBcmdzLFxuICBUcmFuc2ZlckFyZ3MsXG4gIFR4TWV0aG9kLFxuICBVbnN0YWtlQmF0Y2hDYWxsQXJncyxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLic7XG5cbmNvbnN0IFBST1hZX01FVEhPRF9BUkcgPSAyO1xuLy8gbWFwIHRvIHJldHJpZXZlIHRoZSBhZGRyZXNzIGVuY29kaW5nIGZvcm1hdCB3aGVuIHRoZSBrZXkgaXMgdGhlIGFzc2V0IG5hbWVcbmNvbnN0IGNvaW5Ub0FkZHJlc3NNYXAgPSBuZXcgTWFwPERvdEFzc2V0VHlwZXMsIERvdEFkZHJlc3NGb3JtYXQ+KFtcbiAgWydkb3QnLCBEb3RBZGRyZXNzRm9ybWF0LnBvbGthZG90XSxcbiAgWyd0ZG90JywgRG90QWRkcmVzc0Zvcm1hdC5zdWJzdHJhdGVdLFxuXSk7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgZW5jb2RlQWRkcmVzcyhpc0hleChhZGRyZXNzKSA/IGhleFRvVThhKGFkZHJlc3MpIDogZGVjb2RlQWRkcmVzcyhhZGRyZXNzKSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNIZXgoaGFzaCwgMjU2KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkUHJ2ID0gaGV4VG9VOGEoa2V5KTtcbiAgICAgIHJldHVybiBkZWNvZGVkUHJ2Lmxlbmd0aCA9PT0gbmFjbC5zaWduLnNlY3JldEtleUxlbmd0aCAvIDI7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHB1YktleSA9IGtleTtcblxuICAgIC8vIGNvbnZlcnQgYmFzZTU4IHB1YiBrZXkgdG8gaGV4IGZvcm1hdFxuICAgIC8vIHRzcyBjb21tb24gcHViIGlzIGluIGJhc2U1OCBmb3JtYXQgYW5kIGRlY29kZXMgdG8gbGVuZ3RoIG9mIDMyXG4gICAgaWYgKGlzQmFzZTU4KHB1YktleSwgMzIpKSB7XG4gICAgICBjb25zdCBiYXNlNThEZWNvZGUgPSBiczU4LmRlY29kZShwdWJLZXkpO1xuICAgICAgcHViS2V5ID0gYmFzZTU4RGVjb2RlLnRvU3RyaW5nKCdoZXgnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkocHViS2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2lnbmF0dXJlVThhID0gdThhVG9VOGEoc2lnbmF0dXJlKTtcbiAgICByZXR1cm4gWzY0LCA2NSwgNjZdLmluY2x1ZGVzKHNpZ25hdHVyZVU4YS5sZW5ndGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBzaWduYXR1cmUgb24gYSBnaXZlbiBtZXNzYWdlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduZWRNZXNzYWdlIHRoZSBzaWduZWQgbWVzc2FnZSBmb3IgdGhlIHNpZ25hdHVyZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIHRoZSBzaWduYXR1cmUgdG8gdmVyaWZ5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIHRoZSBhZGRyZXNzIG9mIHRoZSBzaWduZXJcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHdoZXRoZXIgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZCBvciBub3RcbiAgICovXG4gIHZlcmlmeVNpZ25hdHVyZShzaWduZWRNZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwdWJsaWNLZXkgPSBkZWNvZGVBZGRyZXNzKGFkZHJlc3MpO1xuICAgIGNvbnN0IGhleFB1YmxpY0tleSA9IHU4YVRvSGV4KHB1YmxpY0tleSk7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlVmVyaWZ5KHNpZ25lZE1lc3NhZ2UsIHNpZ25hdHVyZSwgaGV4UHVibGljS2V5KS5pc1ZhbGlkO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0hleCh0eElkLCAyNTYpO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlY29kZVNlZWQgZGVjb2RlcyBhIGRvdCBzZWVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWVkIC0gdGhlIHNlZWQgdG8gYmUgdmFsaWRhdGVkLlxuICAgKiBAcmV0dXJucyB7U2VlZH0gLSB0aGUgb2JqZWN0IFNlZWRcbiAgICovXG4gIGRlY29kZVNlZWQoc2VlZDogc3RyaW5nKTogU2VlZCB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGJhc2UzMi5kZWNvZGUuYXNCeXRlcyhzZWVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgc2VlZDogQnVmZmVyLmZyb20oZGVjb2RlZCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgZnVuY3Rpb24gdG8gY2FwaXRhbGl6ZSB0aGUgZmlyc3QgbGV0dGVyIG9mIGEgc3RyaW5nXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWxcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGNhcGl0YWxpemVGaXJzdExldHRlcih2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbC5zbGljZSgxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZGVjb2RlIHRoZSBpbnRlcm5hbCBtZXRob2QgaGV4IGluIGNhc2Ugb2YgYSBwcm94eSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFVuc2lnbmVkVHJhbnNhY3Rpb259IHR4XG4gICAqIEBwYXJhbSB7IG1ldGFkYXRhUnBjOiBzdHJpbmc7IHJlZ2lzdHJ5OiBUeXBlUmVnaXN0cnkgfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckFyZ3N9XG4gICAqL1xuICBkZWNvZGVDYWxsTWV0aG9kKFxuICAgIHR4OiBzdHJpbmcgfCBVbnNpZ25lZFRyYW5zYWN0aW9uLFxuICAgIG9wdGlvbnM6IHsgbWV0YWRhdGFScGM6IHN0cmluZzsgcmVnaXN0cnk6IFR5cGVSZWdpc3RyeSB9XG4gICk6IFRyYW5zZmVyQXJncyB7XG4gICAgY29uc3QgeyByZWdpc3RyeSB9ID0gb3B0aW9ucztcbiAgICBsZXQgbWV0aG9kQ2FsbDogR2VuZXJpY0NhbGwgfCBHZW5lcmljRXh0cmluc2ljO1xuICAgIGlmICh0eXBlb2YgdHggPT09ICdzdHJpbmcnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXlsb2FkOiBHZW5lcmljRXh0cmluc2ljUGF5bG9hZCA9IGNyZWF0ZVR5cGVVbnNhZmUocmVnaXN0cnksICdFeHRyaW5zaWNQYXlsb2FkJywgW1xuICAgICAgICAgIHR4LFxuICAgICAgICAgIHsgdmVyc2lvbjogRVhUUklOU0lDX1ZFUlNJT04gfSxcbiAgICAgICAgXSk7XG4gICAgICAgIG1ldGhvZENhbGwgPSBjcmVhdGVUeXBlVW5zYWZlKHJlZ2lzdHJ5LCAnQ2FsbCcsIFtwYXlsb2FkLm1ldGhvZF0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBtZXRob2RDYWxsID0gcmVnaXN0cnkuY3JlYXRlVHlwZSgnRXh0cmluc2ljJywgaGV4VG9VOGEodHgpLCB7XG4gICAgICAgICAgaXNTaWduZWQ6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBtZXRob2RDYWxsID0gcmVnaXN0cnkuY3JlYXRlVHlwZSgnQ2FsbCcsIHR4Lm1ldGhvZCk7XG4gICAgfVxuICAgIGNvbnN0IG1ldGhvZCA9IG1ldGhvZENhbGwuYXJnc1tQUk9YWV9NRVRIT0RfQVJHXTtcbiAgICBjb25zdCBkZWNvZGVkQXJncyA9IG1ldGhvZC50b0pTT04oKSBhcyB1bmtub3duIGFzIFByb3h5Q2FsbEFyZ3M7XG4gICAgcmV0dXJuIGRlY29kZWRBcmdzLmFyZ3M7XG4gIH1cblxuICAvKipcbiAgICoga2V5UGFpckZyb21TZWVkIGdlbmVyYXRlcyBhbiBvYmplY3Qgd2l0aCBzZWNyZXRLZXkgYW5kIHB1YmxpY0tleSB1c2luZyB0aGUgcG9sa2Fkb3Qgc2RrXG4gICAqIEBwYXJhbSBzZWVkIDMyIGJ5dGVzIGxvbmcgc2VlZFxuICAgKiBAcmV0dXJucyBLZXlQYWlyXG4gICAqL1xuICBrZXlQYWlyRnJvbVNlZWQoc2VlZDogVWludDhBcnJheSk6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleXJpbmcgPSBuZXcgS2V5cmluZyh7IHR5cGU6ICdlZDI1NTE5JyB9KTtcbiAgICBjb25zdCBrZXlyaW5nUGFpciA9IGtleXJpbmcuYWRkRnJvbVNlZWQoc2VlZCk7XG4gICAgY29uc3QgcGFpckpzb24gPSBrZXlyaW5nUGFpci50b0pzb24oKTtcbiAgICBjb25zdCBkZWNvZGVkS2V5UGFpciA9IGRlY29kZVBhaXIoJycsIGJhc2U2NERlY29kZShwYWlySnNvbi5lbmNvZGVkKSwgcGFpckpzb24uZW5jb2RpbmcudHlwZSk7XG4gICAgcmV0dXJuIG5ldyBLZXlQYWlyKHsgcHJ2OiBCdWZmZXIuZnJvbShkZWNvZGVkS2V5UGFpci5zZWNyZXRLZXkpLnRvU3RyaW5nKCdoZXgnKSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduaW5nIGZ1bmN0aW9uLiBJbXBsZW1lbnQgdGhpcyBvbiB0aGUgT0ZGTElORSBzaWduaW5nIGRldmljZS5cbiAgICpcbiAgICogQHBhcmFtIHtLZXlyaW5nUGFpcn0gcGFpciAtIFRoZSBzaWduaW5nIHBhaXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduaW5nUGF5bG9hZCAtIFBheWxvYWQgdG8gc2lnbi5cbiAgICogQHBhcmFtIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSB0cmFuc2FjdGlvbiAtIHJhdyB0cmFuc2FjdGlvbiB0byBzaWduXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqIEBwYXJhbSB7SGV4U3RyaW5nfSBvcHRpb25zLm1ldGFkYXRhUnBjIC0gbWV0YWRhdGEgdGhhdCBpcyBuZWVkZWQgZm9yIGRvdCB0byBzaWduXG4gICAqIEBwYXJhbSB7VHlwZVJlZ2lzdHJ5fSBvcHRpb25zLnJlZ2lzdHJ5IC0gbWV0YWRhdGEgdGhhdCBpcyBuZWVkZWQgZm9yIGRvdCB0byBzaWduXG4gICAqL1xuICBjcmVhdGVTaWduZWRUeChcbiAgICBwYWlyOiBLZXlyaW5nUGFpcixcbiAgICBzaWduaW5nUGF5bG9hZDogc3RyaW5nLFxuICAgIHRyYW5zYWN0aW9uOiBVbnNpZ25lZFRyYW5zYWN0aW9uLFxuICAgIG9wdGlvbnM6IHsgbWV0YWRhdGFScGM6IEhleFN0cmluZzsgcmVnaXN0cnk6IFR5cGVSZWdpc3RyeSB9XG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgeyByZWdpc3RyeSwgbWV0YWRhdGFScGMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgeyBzaWduYXR1cmUgfSA9IHJlZ2lzdHJ5XG4gICAgICAuY3JlYXRlVHlwZSgnRXh0cmluc2ljUGF5bG9hZCcsIHNpZ25pbmdQYXlsb2FkLCB7XG4gICAgICAgIHZlcnNpb246IEVYVFJJTlNJQ19WRVJTSU9OLFxuICAgICAgfSlcbiAgICAgIC5zaWduKHBhaXIpO1xuXG4gICAgLy8gU2VyaWFsaXplIGEgc2lnbmVkIHRyYW5zYWN0aW9uLlxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uLCBzaWduYXR1cmUsIG1ldGFkYXRhUnBjLCByZWdpc3RyeSk7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyB0aGUgc2lnbmVkIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiB0byBzZXJpYWxpemVcbiAgICogQHBhcmFtIHNpZ25hdHVyZSBTaWduYXR1cmUgb2YgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG1ldGFkYXRhUnBjIE5ldHdvcmsgbWV0YWRhdGFcbiAgICogQHBhcmFtIHJlZ2lzdHJ5IFRyYW5zYWN0aW9uIHJlZ2lzdHJ5XG4gICAqIEByZXR1cm5zIHN0cmluZyBTZXJpYWxpemVkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBzZXJpYWxpemVTaWduZWRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbiwgc2lnbmF0dXJlLCBtZXRhZGF0YVJwYzogYDB4JHtzdHJpbmd9YCwgcmVnaXN0cnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb25zdHJ1Y3Quc2lnbmVkVHgodHJhbnNhY3Rpb24sIHNpZ25hdHVyZSwge1xuICAgICAgbWV0YWRhdGFScGMsXG4gICAgICByZWdpc3RyeSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIHRoZSBkb3QgYWRkcmVzcyBmcm9tIHRoZSBnaXZlbiBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3NcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzczU4Rm9ybWF0XVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZGVjb2RlRG90QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIHNzNThGb3JtYXQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5cGFpciA9IG5ldyBLZXlQYWlyKHsgcHViOiBCdWZmZXIuZnJvbShkZWNvZGVBZGRyZXNzKGFkZHJlc3MsIHVuZGVmaW5lZCwgc3M1OEZvcm1hdCkpLnRvU3RyaW5nKCdoZXgnKSB9KTtcbiAgICByZXR1cm4ga2V5cGFpci5nZXRBZGRyZXNzKHNzNThGb3JtYXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgdGhlIGRvdCBhZGRyZXNzIGZyb20gdGhlIGdpdmVuIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzc1xuICAgKiBAcGFyYW0ge251bWJlcn0gW3NzNThGb3JtYXRdXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBlbmNvZGVEb3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgc3M1OEZvcm1hdD86IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGVuY29kZUFkZHJlc3MoYWRkcmVzcywgc3M1OEZvcm1hdCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSB0eEhhc2ggb2YgYSBzaWduZWQgdHhIZXhcbiAgICpcbiAgICogQHBhcmFtIHR4SGV4IHNpZ25lZCB0cmFuc2FjdGlvbiBoZXhcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldFR4SGFzaCh0eEhleDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29uc3RydWN0LnR4SGFzaCh0eEhleCk7XG4gIH1cblxuICBnZXRNYXRlcmlhbChjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPik6IE1hdGVyaWFsIHtcbiAgICBjb25zdCBuZXR3b3JrQ29uZmlnID0gY29pbkNvbmZpZy5uZXR3b3JrIGFzIERvdE5ldHdvcms7XG4gICAgY29uc3QgeyBzcGVjTmFtZSwgc3BlY1ZlcnNpb24sIGNoYWluTmFtZSwgdHhWZXJzaW9uLCBnZW5lc2lzSGFzaCB9ID0gbmV0d29ya0NvbmZpZztcblxuICAgIHJldHVybiB7XG4gICAgICBzcGVjTmFtZSxcbiAgICAgIHNwZWNWZXJzaW9uLFxuICAgICAgY2hhaW5OYW1lLFxuICAgICAgbWV0YWRhdGE6IG5ldHdvcmtDb25maWcubWV0YWRhdGFScGMsXG4gICAgICB0eFZlcnNpb24sXG4gICAgICBnZW5lc2lzSGFzaCxcbiAgICB9IGFzIE1hdGVyaWFsO1xuICB9XG5cbiAgaXNTaWduaW5nUGF5bG9hZChwYXlsb2FkOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiBwYXlsb2FkIGlzIERlY29kZWRTaWduaW5nUGF5bG9hZCB7XG4gICAgcmV0dXJuIChwYXlsb2FkIGFzIERlY29kZWRTaWduaW5nUGF5bG9hZCkuYmxvY2tIYXNoICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBpc1Byb3h5VHJhbnNmZXIoYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIFByb3h5QXJncyB7XG4gICAgcmV0dXJuIChhcmcgYXMgUHJveHlBcmdzKS5yZWFsICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBpc1RyYW5zZmVyKGFyZzogVHhNZXRob2RbJ2FyZ3MnXSk6IGFyZyBpcyBUcmFuc2ZlckFyZ3Mge1xuICAgIHJldHVybiAoYXJnIGFzIFRyYW5zZmVyQXJncykuZGVzdD8uaWQgIT09IHVuZGVmaW5lZCAmJiAoYXJnIGFzIFRyYW5zZmVyQXJncykudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzVHJhbnNmZXJBbGwoYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIFRyYW5zZmVyQWxsQXJncyB7XG4gICAgcmV0dXJuIChhcmcgYXMgVHJhbnNmZXJBbGxBcmdzKS5kZXN0Py5pZCAhPT0gdW5kZWZpbmVkICYmIChhcmcgYXMgVHJhbnNmZXJBbGxBcmdzKS5rZWVwQWxpdmUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzQmF0Y2goYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIEJhdGNoQXJncyB7XG4gICAgcmV0dXJuIChhcmcgYXMgQmF0Y2hBcmdzKS5jYWxscyAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgaXNTdGFraW5nQmF0Y2goYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIEJhdGNoQXJncyB7XG4gICAgY29uc3QgY2FsbHMgPSAoYXJnIGFzIEJhdGNoQXJncykuY2FsbHM7XG4gICAgaWYgKGNhbGxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNhbGxzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLmlzU3Rha2VCYXRjaENhbGxBcmdzKGNhbGxzWzBdLmFyZ3MpICYmIHRoaXMuaXNBZGRQcm94eUJhdGNoQ2FsbEFyZ3MoY2FsbHNbMV0uYXJncylcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzU3Rha2VCYXRjaENhbGxBcmdzKGFyZzogQmF0Y2hDYWxsT2JqZWN0WydhcmdzJ10pOiBhcmcgaXMgU3Rha2VCYXRjaENhbGxBcmdzIHtcbiAgICByZXR1cm4gKFxuICAgICAgKGFyZyBhcyBTdGFrZUJhdGNoQ2FsbEFyZ3MpLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChhcmcgYXMgU3Rha2VCYXRjaENhbGxBcmdzKS5jb250cm9sbGVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChhcmcgYXMgU3Rha2VCYXRjaENhbGxBcmdzKS5wYXllZSAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIGlzQWRkUHJveHlCYXRjaENhbGxBcmdzKGFyZzogQmF0Y2hDYWxsT2JqZWN0WydhcmdzJ10pOiBhcmcgaXMgQWRkUHJveHlCYXRjaENhbGxBcmdzIHtcbiAgICByZXR1cm4gKFxuICAgICAgKGFyZyBhcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpLmRlbGVnYXRlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChhcmcgYXMgQWRkUHJveHlCYXRjaENhbGxBcmdzKS5wcm94eV90eXBlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChhcmcgYXMgQWRkUHJveHlCYXRjaENhbGxBcmdzKS5kZWxheSAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIGlzVW5zdGFraW5nQmF0Y2goYXJnOiBUeE1ldGhvZFsnYXJncyddKTogYXJnIGlzIEJhdGNoQXJncyB7XG4gICAgY29uc3QgY2FsbHMgPSAoYXJnIGFzIEJhdGNoQXJncykuY2FsbHM7XG4gICAgaWYgKGNhbGxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNhbGxzLmxlbmd0aCA9PT0gMyAmJlxuICAgICAgICB0aGlzLmlzUmVtb3ZlUHJveHlCYXRjaENhbGxBcmdzKGNhbGxzWzBdLmFyZ3MpICYmXG4gICAgICAgIHRoaXMuaXNVbnN0YWtlQmF0Y2hDYWxsQXJncyhjYWxsc1syXS5hcmdzKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNSZW1vdmVQcm94eUJhdGNoQ2FsbEFyZ3MoYXJnOiBCYXRjaENhbGxPYmplY3RbJ2FyZ3MnXSk6IGFyZyBpcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3Mge1xuICAgIHJldHVybiAoXG4gICAgICAoYXJnIGFzIEFkZFByb3h5QmF0Y2hDYWxsQXJncykuZGVsZWdhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgKGFyZyBhcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpLnByb3h5X3R5cGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgKGFyZyBhcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpLmRlbGF5ICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgaXNVbnN0YWtlQmF0Y2hDYWxsQXJncyhhcmc6IEJhdGNoQ2FsbE9iamVjdFsnYXJncyddKTogYXJnIGlzIFVuc3Rha2VCYXRjaENhbGxBcmdzIHtcbiAgICByZXR1cm4gKGFyZyBhcyBVbnN0YWtlQmF0Y2hDYWxsQXJncykudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzQm9uZChhcmc6IFR4TWV0aG9kWydhcmdzJ10pOiBhcmcgaXMgU3Rha2VBcmdzIHtcbiAgICByZXR1cm4gKFxuICAgICAgKGFyZyBhcyBTdGFrZUFyZ3MpLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChhcmcgYXMgU3Rha2VBcmdzKS5jb250cm9sbGVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChhcmcgYXMgU3Rha2VBcmdzKS5wYXllZSAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIGlzQm9uZEV4dHJhKGFyZzogVHhNZXRob2RbJ2FyZ3MnXSk6IGFyZyBpcyBTdGFrZU1vcmVBcmdzIHtcbiAgICByZXR1cm4gKGFyZyBhcyBTdGFrZU1vcmVBcmdzKS5tYXhBZGRpdGlvbmFsICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIHJldHVybnMgdGhlIHNpZ25hdHVyZSBpbiBoZXggZm9ybWF0IGdpdmVuIGEgcmF3IHNpZ25lZCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmF3VHggc2lnbmVkIHJhdyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gb3B0aW9ucyByZWdpc3RyeSBkb3QgcmVnaXN0cnkgdXNlZCB0byByZXRyaWV2ZSB0aGUgc2lnbmF0dXJlXG4gICAqL1xuICByZWNvdmVyU2lnbmF0dXJlRnJvbVJhd1R4KHJhd1R4OiBzdHJpbmcsIG9wdGlvbnM6IHsgcmVnaXN0cnk6IFR5cGVSZWdpc3RyeSB9KTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHJlZ2lzdHJ5IH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG1ldGhvZENhbGwgPSByZWdpc3RyeS5jcmVhdGVUeXBlKCdFeHRyaW5zaWMnLCByYXdUeCwge1xuICAgICAgaXNTaWduZWQ6IHRydWUsXG4gICAgfSk7XG4gICAgbGV0IHNpZ25hdHVyZSA9IHU4YVRvSGV4KG1ldGhvZENhbGwuc2lnbmF0dXJlKSBhcyBzdHJpbmc7XG5cbiAgICAvLyByZW1vdmUgMHggZnJvbSB0aGUgc2lnbmF0dXJlIHNpbmNlIHRoaXMgaXMgaG93IGl0J3MgcmV0dXJuZWQgZnJvbSBUU1Mgc2lnbmluZ1xuICAgIGlmIChzaWduYXR1cmUuc3RhcnRzV2l0aCgnMHgnKSkge1xuICAgICAgc2lnbmF0dXJlID0gc2lnbmF0dXJlLnN1YnN0cigyKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIHRoZSBkb3QgYWRkcmVzcyBmcm9tIHRoZSBnaXZlbiBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3NcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzczU4Rm9ybWF0XVxuICAgKiBAcmV0dXJucyB7S2V5UGFpcn1cbiAgICovXG4gIGRlY29kZURvdEFkZHJlc3NUb0tleVBhaXIoYWRkcmVzczogc3RyaW5nLCBzczU4Rm9ybWF0PzogbnVtYmVyKTogS2V5UGFpciB7XG4gICAgcmV0dXJuIG5ldyBLZXlQYWlyKHsgcHViOiBCdWZmZXIuZnJvbShkZWNvZGVBZGRyZXNzKGFkZHJlc3MsIHVuZGVmaW5lZCwgc3M1OEZvcm1hdCkpLnRvU3RyaW5nKCdoZXgnKSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gaW5wdXQgaXMgYSBoZXggc3RyaW5nIHdpdGggd2l0aCAwIHZhbHVlXG4gICAqIHVzZWQgdG8gY2hlY2sgd2hldGhlciBhIGdpdmVuIHRyYW5zYWN0aW9uIGlzIGltbW9ydGFsIG9yIG1vcnRhbFxuICAgKiBAcGFyYW0gaGV4VmFsdWVcbiAgICovXG4gIGlzWmVyb0hleChoZXhWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhleFZhbHVlID09PSAnMHgwMCc7XG4gIH1cblxuICAvKipcbiAgICogVGFrZXMgYW4gYXNzZXQgbmFtZSBhbmQgcmV0dXJucyB0aGUgcmVzcGVjdGl2ZSBhZGRyZXNzIHRvIGZvcm1hdCB0b1xuICAgKiBzaW5jZSBwb2xrYWRvdCBhZGRyZXNzZXMgZGlmZmVyIGRlcGVuZGluZyBvbiB0aGUgbmV0d29ya1xuICAgKiByZWY6IGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tYWNjb3VudHNcbiAgICogQHBhcmFtIG5ldHdvcmtDb2luTmFtZVxuICAgKi9cbiAgZ2V0QWRkcmVzc0Zvcm1hdChuZXR3b3JrQ29pbk5hbWU6IERvdEFzc2V0VHlwZXMpOiBEb3RBZGRyZXNzRm9ybWF0IHtcbiAgICByZXR1cm4gY29pblRvQWRkcmVzc01hcC5nZXQobmV0d29ya0NvaW5OYW1lKSBhcyBEb3RBZGRyZXNzRm9ybWF0O1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-dot",
3
- "version": "1.3.3-alpha.1",
3
+ "version": "1.3.3-alpha.2",
4
4
  "description": "BitGo SDK coin library for Polkadot",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -40,8 +40,8 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo-beta/sdk-core": "2.4.1-alpha.1",
44
- "@bitgo-beta/statics": "10.0.1-alpha.1",
43
+ "@bitgo-beta/sdk-core": "2.4.1-alpha.2",
44
+ "@bitgo-beta/statics": "10.0.1-alpha.2",
45
45
  "@polkadot/api": "9.3.3",
46
46
  "@polkadot/keyring": "^10.1.8",
47
47
  "@polkadot/types": "9.3.3",
@@ -54,12 +54,13 @@
54
54
  "hi-base32": "^0.5.1",
55
55
  "joi": "^17.4.0",
56
56
  "lodash": "^4.17.15",
57
+ "strip-hex-prefix": "^1.0.0",
57
58
  "tweetnacl": "^1.0.3"
58
59
  },
59
60
  "devDependencies": {
60
- "@bitgo-beta/sdk-api": "1.6.1-alpha.1",
61
+ "@bitgo-beta/sdk-api": "1.6.1-alpha.2",
61
62
  "@bitgo-beta/sdk-test": "^1.2.4",
62
63
  "@types/lodash": "^4.14.151"
63
64
  },
64
- "gitHead": "38de83f0769af813164e00635f5f34f66960dcb0"
65
+ "gitHead": "57b13fa1fa91c3514a378de0e661f94e9748f1fa"
65
66
  }