@witnet/sdk 1.1.1 → 1.1.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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@witnet/sdk",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Typescript library and CLI tooling for Web3 buidlers willing to interact with the Witnet blockchain.",
5
5
  "author": "Witnet Foundation",
6
6
  "license": "MIT",
@@ -40,6 +40,7 @@
40
40
  "test": "cross-env-shell WITNET_SDK_RADON_ASSETS_PATH='../../../witnet/assets' node ./src/bin/toolkit.js"
41
41
  },
42
42
  "dependencies": {
43
+ "@bitcoinerlab/secp256k1": "^1.2.0",
43
44
  "axios": "^1.12.2",
44
45
  "bech32": "~2.0.0",
45
46
  "bip32": "^4.0.0",
@@ -56,8 +57,7 @@
56
57
  "promise-poller": "~1.9.1",
57
58
  "protobufjs": "^7.5.4",
58
59
  "qrcode-terminal": "^0.12.0",
59
- "secp256k1": "^5.0.1",
60
- "tiny-secp256k1": "~2.2.4"
60
+ "secp256k1": "^5.0.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/node": "^22.18.5",
@@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Wallet = void 0;
40
40
  const utils = __importStar(require("./utils"));
41
41
  const bip32_1 = __importDefault(require("bip32"));
42
- const ecc = __importStar(require("tiny-secp256k1"));
42
+ const ecc = __importStar(require("@bitcoinerlab/secp256k1"));
43
43
  const bip32 = (0, bip32_1.default)(ecc);
44
44
  const rpc_1 = require("../rpc");
45
45
  const types_1 = require("../types");
@@ -261,4 +261,4 @@ class Wallet {
261
261
  }
262
262
  }
263
263
  exports.Wallet = Wallet;
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFnQztBQUVoQyxrREFBaUM7QUFDakMsb0RBQXNDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWhDLGdDQUF3QztBQUN4QyxvQ0FBbUc7QUFDbkcsdUNBQW1DO0FBQ25DLHlDQUFxQztBQUVyQyxtQ0FBMkc7QUFFM0csTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQWEsTUFBTTtJQVNmOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BeUJwQjtRQUNHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUE7UUFDckQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFBO1FBQ2xGLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtZQUN0RixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLElBQVksRUFDWixPQXFCQztRQUVELE1BQU0sRUFBRSxTQUFT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Q0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQTtRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sT0FBTyxDQUFBO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQXlCLEVBQUUsR0FBWTtRQUNwRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbEUsQ0FBQztDQUNKO0FBMVRELHdCQTBUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuL3V0aWxzXCJcclxuXHJcbmltcG9ydCBCSVAzMkZhY3RvcnkgZnJvbSAnYmlwMzInO1xyXG5pbXBvcnQgKiBhcyBlY2MgZnJvbSAndGlueS1zZWNwMjU2azEnO1xyXG5jb25zdCBiaXAzMiA9IEJJUDMyRmFjdG9yeShlY2MpO1xyXG5cclxuaW1wb3J0IHsgSnNvblJwY1Byb3ZpZGVyIH0gZnJvbSBcIi4uL3JwY1wiXHJcbmltcG9ydCB7IEJhbGFuY2UsIEhleFN0cmluZywgTmV0d29yaywgUXVlcnlTdGFrZXNPcmRlciwgU3Rha2VFbnRyeSwgU3Rha2VzT3JkZXJCeSB9IGZyb20gXCIuLi90eXBlc1wiXHJcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiLi9hY2NvdW50XCJcclxuaW1wb3J0IHsgQ29pbmJhc2UgfSBmcm9tIFwiLi9jb2luYmFzZVwiXHJcbmltcG9ydCB7IElBY2NvdW50LCBJQklQMzIsIElDb2luYmFzZSwgSUpzb25ScGNQcm92aWRlciwgSVNpZ25lciwgSVdhbGxldCB9IGZyb20gXCIuL2ludGVyZmFjZXNcIlxyXG5pbXBvcnQgeyBDb2lucywgUHVibGljS2V5LCBQdWJsaWNLZXlIYXNoU3RyaW5nLCBVdHhvLCBVdHhvQ2FjaGVJbmZvLCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiLi90eXBlc1wiXHJcblxyXG5jb25zdCBERUZBVUxUX0dBUCA9IDIwO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdhbGxldCBpbXBsZW1lbnRzIElXYWxsZXQge1xyXG4gICAgcHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIF9hY2NvdW50czogQXJyYXk8SUFjY291bnQ+ID0gW107XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvaW5iYXNlOiBJQ29pbmJhc2U7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXI7XHJcbiAgICBwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIFdhbGxldCBieSByZWFkaW5nIHRoZSBYUFJWIG1hc3RlciBrZXkgZnJvbSB0aGUgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cclxuICAgICAqIEBwYXJhbSBzcGVjcyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21FbnYob3B0aW9uczoge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIFhQUlYgbWFzdGVyIGtleSByZWFkIGZyb20gZW52aXJvbm1lbnQsIGluIGNhc2UgaXQncyBlbmNyeXB0ZWQuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcGFzc3dkPzogc3RyaW5nLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZ2FwPzogbnVtYmVyLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS4gXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbGltaXQ/OiBudW1iZXIsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlciwgXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE9ubHkgZGVyaXZlIGFjY291bnRzIHRoYXQgaG9sZCBzb21lIHVubG9ja2VkIGJhbGFuY2Ugb2YgJFdJVC5cclxuICAgICAgICAgKi9cclxuICAgICAgICBvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbixcclxuICAgIH0pOiBQcm9taXNlPFdhbGxldD4ge1xyXG4gICAgICAgIGNvbnN0IHhwcnYgPSBwcm9jZXNzLmVudi5XSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZXHJcbiAgICAgICAgaWYgKCF4cHJ2KSB0aHJvdyBFcnJvcihgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBtdXN0IGJlIHNldCBvbiBlbnZpcm9ubWVudC5gKVxyXG4gICAgICAgIGlmICh4cHJ2Lmxlbmd0aCA+IDExNykge1xyXG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMucGFzc3dkKSB0aHJvdyBFcnJvcihgTWlzc2luZyBwYXNzd29yZCBmb3IgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWS5gKVxyXG4gICAgICAgICAgICByZXR1cm4gV2FsbGV0LmZyb21FbmNyeXB0ZWRYcHJ2KHhwcnYsIG9wdGlvbnM/LnBhc3N3ZCwgb3B0aW9ucylcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gV2FsbGV0LmZyb21YcHJ2KHhwcnYsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxyXG4gICAgICogQHBhcmFtIHhwcnYgRGVjcnlwdGVkIFhQUlYgbWFzdGVyIGtleSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21YcHJ2KFxyXG4gICAgICAgIHhwcnY6IHN0cmluZyxcclxuICAgICAgICBvcHRpb25zPzoge1xyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGdhcD86IG51bWJlcixcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS4gXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBsaW1pdD86IG51bWJlcixcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIFNwZWNpZmljIFdpdC9SUEMgcHJvdmlkZXIgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBXaXRuZXQgbmV0d29yay5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlciwgXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LCBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIE9ubHkgZGVyaXZlIGFjY291bnRzIGhvbGRpbmcgc29tZSAkV0lUIGZ1bmRzIChlaXRoZXIgbG9ja2VkLCBzdGFrZWQgb3IgdW5sb2NrZWQpLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgb25seVdpdGhGdW5kcz86IGJvb2xlYW4sXHJcbiAgICAgICAgfVxyXG4gICAgKTogUHJvbWlzZTxXYWxsZXQ+IHtcclxuICAgICAgICBjb25zdCB7IGNoYWluQ29kZSwgcHJpdmF0ZUtleSB9ID0gdXRpbHMucGFyc2VYcHJ2KHhwcnYpO1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSBiaXAzMi5mcm9tUHJpdmF0ZUtleShCdWZmZXIuZnJvbShwcml2YXRlS2V5KSwgQnVmZmVyLmZyb20oY2hhaW5Db2RlKSk7XHJcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBvcHRpb25zPy5wcm92aWRlciB8fCAoYXdhaXQgSnNvblJwY1Byb3ZpZGVyLmZyb21FbnYoKSlcclxuICAgICAgICBhd2FpdCBwcm92aWRlci5jb25zdGFudHMoKVxyXG4gICAgICAgIGNvbnN0IHdhbGxldCA9IG5ldyBXYWxsZXQocm9vdCwgcHJvdmlkZXIsIG9wdGlvbnM/LnN0cmF0ZWd5KVxyXG4gICAgICAgIGlmIChvcHRpb25zPy5vbmx5V2l0aEZ1bmRzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhbGxldC5leHBsb3JlQWNjb3VudHMob3B0aW9ucz8ubGltaXQgfHwgMCwgb3B0aW9ucz8uZ2FwKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHdhbGxldC5kZXJpdmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAxKVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsb2FkIHVwIHV0eG9zIGNhY2hlXHJcbiAgICAgICAgYXdhaXQgd2FsbGV0LmdldFV0eG9zKHRydWUpXHJcbiAgICAgICAgcmV0dXJuIHdhbGxldFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHVzaW5nIHBhc3NlZCBYUFJWIG1hc3RlciBrZXkuXHJcbiAgICAgKiBAcGFyYW0geHBydiBFbmNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cclxuICAgICAqIEBwYXJhbSBwYXNzd2QgUGFzc3dvcmQgdG8gZGVjaXBoZXIgdGhlIFhQUlYgbWFzdGVyIGtleS5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFdhbGxldCBjcmVhdGlvbiBwYXJhbWV0ZXJzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbUVuY3J5cHRlZFhwcnYoXHJcbiAgICAgICAgeHBydjogc3RyaW5nLFxyXG4gICAgICAgIHBhc3N3ZDogc3RyaW5nLFxyXG4gICAgICAgIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgZ2FwPzogbnVtYmVyLFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLiBcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGxpbWl0PzogbnVtYmVyLFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgcHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyLCBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgc3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbixcclxuICAgICAgICB9XHJcbiAgICApOiBQcm9taXNlPFdhbGxldD4ge1xyXG4gICAgICAgIHJldHVybiBXYWxsZXQuZnJvbVhwcnYodXRpbHMuZGVjaXBoZXJYcHJ2KHhwcnYsIHBhc3N3ZCksIG9wdGlvbnMpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKHJvb3Q6IElCSVAzMiwgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXIsIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5KSB7XHJcbiAgICAgICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyXHJcbiAgICAgICAgdGhpcy5jb2luYmFzZSA9IG5ldyBDb2luYmFzZShyb290LCBwcm92aWRlciwgc3RyYXRlZ3kpXHJcbiAgICAgICAgdGhpcy5yb290ID0gcm9vdFxyXG4gICAgICAgIHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdFxyXG4gICAgICAgIHRoaXMuZGVyaXZlQWNjb3VudHMoMSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjY291bnRzKCk6IEFycmF5PElBY2NvdW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY291bnRzXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjYWNoZUluZm8oKTogVXR4b0NhY2hlSW5mbyB7XHJcbiAgICAgICAgY29uc3QgaW5mbzogVXR4b0NhY2hlSW5mbyA9IHsgZXhwZW5kYWJsZTogMG4sIHNpemU6IDAsIHRpbWVsb2NrOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiB9XHJcbiAgICAgICAgdGhpcy5hY2NvdW50cz8uZm9yRWFjaChhY2NvdW50ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYWNjb3VudEluZm8gPSBhY2NvdW50LmNhY2hlSW5mb1xyXG4gICAgICAgICAgICBpbmZvLmV4cGVuZGFibGUgKz0gYWNjb3VudEluZm8uZXhwZW5kYWJsZVxyXG4gICAgICAgICAgICBpbmZvLnNpemUgKz0gYWNjb3VudEluZm8uc2l6ZVxyXG4gICAgICAgICAgICBpZiAoYWNjb3VudEluZm8udGltZWxvY2sgIT09IDAgJiYgYWNjb3VudEluZm8udGltZWxvY2sgPCBpbmZvLnRpbWVsb2NrKSB7XHJcbiAgICAgICAgICAgICAgICBpbmZvLnRpbWVsb2NrID0gYWNjb3VudEluZm8udGltZWxvY2tcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgaWYgKGluZm8udGltZWxvY2sgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBpbmZvLnRpbWVsb2NrID0gMDtcclxuICAgICAgICByZXR1cm4gaW5mbztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNoYW5nZVBraCgpOiBQdWJsaWNLZXlIYXNoU3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2ggOiB0aGlzLmNvaW5iYXNlLnBraFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlci5uZXR3b3JrXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucGtoIDogdGhpcy5jb2luYmFzZS5wa2hcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHB1YmxpY0tleSgpOiBQdWJsaWNLZXkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnB1YmxpY0tleSA6IHRoaXMuY29pbmJhc2UucHVibGljS2V5XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucHJpdmF0ZUtleSA6IHRoaXMuY29pbmJhc2UucHJpdmF0ZUtleVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhdXRob3JpemVFdm1BZGRyZXNzKGV2bUFkZHJlc3M6IEhleFN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0uYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKSA6IHRoaXMuY29pbmJhc2UuYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiB7IGV4Y2x1ZGVkOiBBcnJheTxVdHhvPiwgaW5jbHVkZWQ6IEFycmF5PFV0eG8+IH0ge1xyXG4gICAgICAgIGNvbnN0IGluY2x1ZGVkOiBBcnJheTxVdHhvPiA9IFtdXHJcbiAgICAgICAgdGhpcy5hY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBfdXR4b3MgPSBhY2NvdW50LmFkZFV0eG9zKC4uLnV0eG9zKVxyXG4gICAgICAgICAgICB1dHhvcyA9IF91dHhvcy5leGNsdWRlZFxyXG4gICAgICAgICAgICBpbmNsdWRlZC5wdXNoKC4uLl91dHhvcy5pbmNsdWRlZClcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGV4Y2x1ZGVkOiB1dHhvcyxcclxuICAgICAgICAgICAgaW5jbHVkZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnN1bWVVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiBBcnJheTxVdHhvPiB7XHJcbiAgICAgICAgdGhpcy5hY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xyXG4gICAgICAgICAgICB1dHhvcyA9IGFjY291bnQuY29uc3VtZVV0eG9zKC4uLnV0eG9zKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHV0eG9zXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxCYWxhbmNlPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2VcclxuICAgICAgICAgICAgICAgIC5hbGwodGhpcy5fYWNjb3VudHMubWFwKGFzeW5jIChhY2M6IElBY2NvdW50KSA9PiB7IFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBhY2MuZ2V0QmFsYW5jZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYWNjLmluZGV4LCBhY2MucGtoLCBiYWxhbmNlLnVubG9ja2VkKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhbGFuY2UgfSkpXHJcbiAgICAgICAgICAgICAgICAudGhlbigoYmFsYW5jZXM6IEFycmF5PEJhbGFuY2U+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhbGFuY2VzLnJlZHVjZSgocHJldiwgY3VycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIlxcbnByZXYgPT5cIiwgcHJldi51bmxvY2tlZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJjdXJyID0+XCIsIGN1cnIudW5sb2NrZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrZWQ6IHByZXYubG9ja2VkICsgY3Vyci5sb2NrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFrZWQ6IHByZXYuc3Rha2VkICsgY3Vyci5zdGFrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxvY2tlZDogcHJldi51bmxvY2tlZCArIGN1cnIudW5sb2NrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LCB7IGxvY2tlZDogMG4sIHN0YWtlZDogMG4sIHVubG9ja2VkOiAwbiB9KVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2luYmFzZS5nZXRCYWxhbmNlKClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGVnYXRlZXMob3JkZXI/OiBRdWVyeVN0YWtlc09yZGVyLCBsZWZ0Sm9pbiA9IHRydWUpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PiB7XHJcbiAgICAgICAgY29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXVxyXG4gICAgICAgIHJlY29yZHMucHVzaCguLi5hd2FpdCB0aGlzLmNvaW5iYXNlLmdldERlbGVnYXRlZXMob3JkZXIpKVxyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX2FjY291bnRzLm1hcChhY2NvdW50ID0+IGFjY291bnQuZ2V0RGVsZWdhdGVlcyhvcmRlciwgbGVmdEpvaW4pLnRoZW4oZW50cmllcyA9PiByZWNvcmRzLnB1c2goLi4uZW50cmllcykpKSlcclxuICAgICAgICBpZiAob3JkZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgcmV2ZXJzZSA9IG9yZGVyPy5yZXZlcnNlID8gKCsxKSA6ICgtMSlcclxuICAgICAgICAgICAgcmV0dXJuIHJlY29yZHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChvcmRlci5ieSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3Rha2VzT3JkZXJCeS5Db2luczogcmV0dXJuICgoYS52YWx1ZS5jb2lucyA8IGIudmFsdWUuY29pbnMpID8gMSA6ICgoYS52YWx1ZS5jb2lucyA+IGIudmFsdWUuY29pbnMpID8gLTEgOiAwKSkgKiByZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3Rha2VzT3JkZXJCeS5NaW5pbmc6IHJldHVybiAoYi52YWx1ZS5lcG9jaHMubWluaW5nIC0gYS52YWx1ZS5lcG9jaHMubWluaW5nKSAqIHJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBTdGFrZXNPcmRlckJ5LldpdG5lc3Npbmc6IHJldHVybiAoYi52YWx1ZS5lcG9jaHMud2l0bmVzc2luZyAtIGEudmFsdWUuZXBvY2hzLndpdG5lc3NpbmcpICogcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFN0YWtlc09yZGVyQnkuTm9uY2U6IHJldHVybiAoYi52YWx1ZS5ub25jZSAtIGEudmFsdWUubm9uY2UpICogcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlY29yZHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VXR4b3MocmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZVxyXG4gICAgICAgICAgICAuYWxsKHRoaXMuYWNjb3VudHMubWFwKGFjY291bnQgPT4gYWNjb3VudC5nZXRVdHhvcyhyZWxvYWQpKSlcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHV0eG9zczogQXJyYXk8QXJyYXk8VXR4bz4+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB1dHhvc3MucHVzaChhd2FpdCB0aGlzLmNvaW5iYXNlLmdldFV0eG9zKHJlbG9hZCkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdXR4b3NzLmZsYXQoKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RVdHhvcyhzcGVjcz86IHtcclxuICAgICAgICB2YWx1ZT86IENvaW5zLFxyXG4gICAgICAgIHJlbG9hZD86IGJvb2xlYW5cclxuICAgICAgICBzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneVxyXG4gICAgfSk6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuZ2V0VXR4b3Moc3BlY3M/LnJlbG9hZClcclxuICAgICAgICAgICAgLnRoZW4odXR4b3MgPT4gdXRpbHMuc2VsZWN0VXR4b3MoeyB1dHhvcywgdmFsdWU6IHNwZWNzPy52YWx1ZSwgc3RyYXRlZ3k6IHNwZWNzPy5zdHJhdGVneSB8fCB0aGlzLnN0cmF0ZWd5IH0pKVxyXG4gICAgfVxyXG5cclxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8vIC0tLSBJV2FsbGV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICBwdWJsaWMgZGVyaXZlQWNjb3VudHMobGltaXQ6IG51bWJlcik6IEFycmF5PElBY2NvdW50PiB7XHJcbiAgICAgICAgaWYgKGxpbWl0ID4gdGhpcy5fYWNjb3VudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLl9hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1t0aGlzLmFjY291bnRzLmxlbmd0aCAtIDFdLmluZGV4ICsgMSA6IDBcclxuICAgICAgICAgICAgbGltaXQgPSBsaW1pdCAtIHRoaXMuX2FjY291bnRzLmxlbmd0aFxyXG4gICAgICAgICAgICBmb3IgKGxldCBpeCA9IDA7IGl4IDwgbGltaXQ7IGl4ICsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5wdXNoKG5ldyBBY2NvdW50KFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm9vdCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKyBpeCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0cmF0ZWd5XHJcbiAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hY2NvdW50c1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBleHBsb3JlQWNjb3VudHMobGltaXQgPSAxLCBnYXAgPSBERUZBVUxUX0dBUCk6IFByb21pc2U8QXJyYXk8SUFjY291bnQ+PiB7XHJcbiAgICAgICAgaWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gKHg6IEFycmF5PElBY2NvdW50PikgPT4gTnVtYmVyKHgubGVuZ3RoID4gMCA/IHhbeC5sZW5ndGggLSAxXS5pbmRleCArIDEgOiAwKVxyXG4gICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpXHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gc3RhcnRJbmRleDsgaW5kZXggPCBsYXN0SW5kZXgodGhpcy5hY2NvdW50cykgKyBOdW1iZXIoZ2FwKTsgaW5kZXggKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KVxyXG4gICAgICAgICAgICAgICAgaWYgKHV0aWxzLnRvdGFsQ29pbnMoYXdhaXQgYWNjb3VudC5nZXRCYWxhbmNlKCkpLnBlZHJvcyA+IDBuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50cy5wdXNoKGFjY291bnQpXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxpbWl0ICYmIHRoaXMuYWNjb3VudHMubGVuZ3RoID49IGxpbWl0KSBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fYWNjb3VudHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWNjb3VudChwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElBY2NvdW50IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgYWNjb3VudCA9IHRoaXMuX2FjY291bnRzLmZpbmQoYWNjb3VudCA9PiBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoIHx8IGFjY291bnQucGtoID09PSBwa2gpXHJcbiAgICAgICAgaWYgKCFhY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZ2FwIHx8IERFRkFVTFRfR0FQKTsgaW5kZXggKyspIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KVxyXG4gICAgICAgICAgICAgICAgaWYgKGFjY291bnQucGtoID09PSBwa2ggfHwgYWNjb3VudC5pbnRlcm5hbC5wa2ggPT09IHBraCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY291bnRzLnB1c2goYWNjb3VudClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjb3VudFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYWNjb3VudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U2lnbmVyKHBraD86IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElTaWduZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghcGtoKSByZXR1cm4gdGhpcy5hY2NvdW50c1swXT8uZ2V0U2lnbmVyKCkgfHwgdGhpcy5jb2luYmFzZS5nZXRTaWduZXIocGtoKTtcclxuICAgICAgICBjb25zdCBhY2NvdW50ID0gdGhpcy5nZXRBY2NvdW50KHBraCwgZ2FwKVxyXG4gICAgICAgIHJldHVybiBhY2NvdW50Py5nZXRTaWduZXIocGtoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpXHJcbiAgICB9XHJcbn1cclxuIl19
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFnQztBQUVoQyxrREFBaUM7QUFDakMsNkRBQStDO0FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWhDLGdDQUF3QztBQUN4QyxvQ0FBbUc7QUFDbkcsdUNBQW1DO0FBQ25DLHlDQUFxQztBQUVyQyxtQ0FBMkc7QUFFM0csTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQWEsTUFBTTtJQVNmOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BeUJwQjtRQUNHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUE7UUFDckQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFBO1FBQ2xGLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtZQUN0RixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLElBQVksRUFDWixPQXFCQztRQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sUUFBUSxHQUFHLE9BQU8sRUFBRSxRQUFRLElBQUksQ0FBQyxNQUFNLHFCQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN2RSxNQUFNLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUM1RCxJQUFJLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ25FLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQzlDLENBQUM7UUFDRCxzQkFBc0I7UUFDdEIsTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNCLE9BQU8sTUFBTSxDQUFBO0lBQ2pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQzFCLElBQVksRUFDWixNQUFjLEVBQ2QsT0FxQkM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUVELFlBQVksSUFBWSxFQUFFLFFBQTBCLEVBQUUsUUFBZ0M7UUE5SDVFLGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBK0h0QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLDZCQUFxQixDQUFDLFVBQVUsQ0FBQTtRQUM1RCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDekIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixNQUFNLElBQUksR0FBa0IsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFGLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzdCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUE7WUFDckMsSUFBSSxDQUFDLFVBQVUsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFBO1lBQ3pDLElBQUksQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQTtZQUM3QixJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUE7WUFDeEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxnQkFBZ0I7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUE7SUFDcEYsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUE7SUFDaEMsQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUE7SUFDOUUsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFBO0lBQzFGLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQTtJQUM1RixDQUFDO0lBRU0sbUJBQW1CLENBQUMsVUFBcUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdEksQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFHLEtBQWtCO1FBQ2pDLE1BQU0sUUFBUSxHQUFnQixFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO1lBQ3pDLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1lBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPO1lBQ0gsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRO1NBQ1gsQ0FBQTtJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsR0FBRyxLQUFrQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO1FBQzFDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ25CLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsT0FBTyxPQUFPO2lCQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUU7Z0JBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUN0QyxzREFBc0Q7Z0JBQ3RELE9BQU8sT0FBTyxDQUFBO1lBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JCLElBQUksQ0FBQyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtnQkFDL0IsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO29CQUNsQywwQ0FBMEM7b0JBQzFDLHdDQUF3QztvQkFDeEMsT0FBTzt3QkFDSCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTTt3QkFDakMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU07d0JBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRO3FCQUMxQyxDQUFBO2dCQUNMLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNoRCxDQUFDLENBQUMsQ0FBQTtRQUNWLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUF3QixFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ2hFLE1BQU0sT0FBTyxHQUFzQixFQUFFLENBQUE7UUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN6RCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzVDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekIsUUFBUSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ2YsS0FBSyxxQkFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDOUgsS0FBSyxxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUM1RixLQUFLLHFCQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3hHLEtBQUsscUJBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7Z0JBQy9FLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQTtJQUNsQixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFnQjtRQUNsQyxPQUFPLE9BQU87YUFDVCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDM0QsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUEwQixFQUFFLEVBQUU7WUFDdkMsb0RBQW9EO1lBQ3BELE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3hCLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FJeEI7UUFDRyxPQUFPLElBQUk7YUFDTixRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQzthQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckgsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCxtSEFBbUg7SUFFNUcsY0FBYyxDQUFDLEtBQWE7UUFDL0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3BHLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUE7WUFDckMsS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUcsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFPLENBQzNCLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLFFBQVEsRUFDYixVQUFVLEdBQUcsRUFBRSxFQUNmLElBQUksQ0FBQyxRQUFRLENBQ2hCLENBQUMsQ0FBQTtZQUNOLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBO0lBQ3pCLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFdBQVc7UUFDckQsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlDLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBa0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5RixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQzNDLEtBQUssSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUcsRUFBRSxDQUFDO2dCQUNwRixNQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQzNFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQzNCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUs7d0JBQUUsTUFBTTtnQkFDdEQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBO0lBQ3pCLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBd0IsRUFBRSxHQUFZO1FBQ3BELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDakcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRyxFQUFFLENBQUM7Z0JBQ3pELE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3JFLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUM1QixPQUFPLE9BQU8sQ0FBQTtnQkFDbEIsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQTtRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sT0FBTyxDQUFBO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQXlCLEVBQUUsR0FBWTtRQUNwRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbEUsQ0FBQztDQUNKO0FBMVRELHdCQTBUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuL3V0aWxzXCJcclxuXHJcbmltcG9ydCBCSVAzMkZhY3RvcnkgZnJvbSAnYmlwMzInO1xyXG5pbXBvcnQgKiBhcyBlY2MgZnJvbSAnQGJpdGNvaW5lcmxhYi9zZWNwMjU2azEnO1xyXG5jb25zdCBiaXAzMiA9IEJJUDMyRmFjdG9yeShlY2MpO1xyXG5cclxuaW1wb3J0IHsgSnNvblJwY1Byb3ZpZGVyIH0gZnJvbSBcIi4uL3JwY1wiXHJcbmltcG9ydCB7IEJhbGFuY2UsIEhleFN0cmluZywgTmV0d29yaywgUXVlcnlTdGFrZXNPcmRlciwgU3Rha2VFbnRyeSwgU3Rha2VzT3JkZXJCeSB9IGZyb20gXCIuLi90eXBlc1wiXHJcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiLi9hY2NvdW50XCJcclxuaW1wb3J0IHsgQ29pbmJhc2UgfSBmcm9tIFwiLi9jb2luYmFzZVwiXHJcbmltcG9ydCB7IElBY2NvdW50LCBJQklQMzIsIElDb2luYmFzZSwgSUpzb25ScGNQcm92aWRlciwgSVNpZ25lciwgSVdhbGxldCB9IGZyb20gXCIuL2ludGVyZmFjZXNcIlxyXG5pbXBvcnQgeyBDb2lucywgUHVibGljS2V5LCBQdWJsaWNLZXlIYXNoU3RyaW5nLCBVdHhvLCBVdHhvQ2FjaGVJbmZvLCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiLi90eXBlc1wiXHJcblxyXG5jb25zdCBERUZBVUxUX0dBUCA9IDIwO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdhbGxldCBpbXBsZW1lbnRzIElXYWxsZXQge1xyXG4gICAgcHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIF9hY2NvdW50czogQXJyYXk8SUFjY291bnQ+ID0gW107XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvaW5iYXNlOiBJQ29pbmJhc2U7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXI7XHJcbiAgICBwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIFdhbGxldCBieSByZWFkaW5nIHRoZSBYUFJWIG1hc3RlciBrZXkgZnJvbSB0aGUgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cclxuICAgICAqIEBwYXJhbSBzcGVjcyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21FbnYob3B0aW9uczoge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIFhQUlYgbWFzdGVyIGtleSByZWFkIGZyb20gZW52aXJvbm1lbnQsIGluIGNhc2UgaXQncyBlbmNyeXB0ZWQuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcGFzc3dkPzogc3RyaW5nLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZ2FwPzogbnVtYmVyLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS4gXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbGltaXQ/OiBudW1iZXIsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlciwgXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE9ubHkgZGVyaXZlIGFjY291bnRzIHRoYXQgaG9sZCBzb21lIHVubG9ja2VkIGJhbGFuY2Ugb2YgJFdJVC5cclxuICAgICAgICAgKi9cclxuICAgICAgICBvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbixcclxuICAgIH0pOiBQcm9taXNlPFdhbGxldD4ge1xyXG4gICAgICAgIGNvbnN0IHhwcnYgPSBwcm9jZXNzLmVudi5XSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZXHJcbiAgICAgICAgaWYgKCF4cHJ2KSB0aHJvdyBFcnJvcihgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBtdXN0IGJlIHNldCBvbiBlbnZpcm9ubWVudC5gKVxyXG4gICAgICAgIGlmICh4cHJ2Lmxlbmd0aCA+IDExNykge1xyXG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMucGFzc3dkKSB0aHJvdyBFcnJvcihgTWlzc2luZyBwYXNzd29yZCBmb3IgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWS5gKVxyXG4gICAgICAgICAgICByZXR1cm4gV2FsbGV0LmZyb21FbmNyeXB0ZWRYcHJ2KHhwcnYsIG9wdGlvbnM/LnBhc3N3ZCwgb3B0aW9ucylcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gV2FsbGV0LmZyb21YcHJ2KHhwcnYsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxyXG4gICAgICogQHBhcmFtIHhwcnYgRGVjcnlwdGVkIFhQUlYgbWFzdGVyIGtleSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21YcHJ2KFxyXG4gICAgICAgIHhwcnY6IHN0cmluZyxcclxuICAgICAgICBvcHRpb25zPzoge1xyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGdhcD86IG51bWJlcixcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS4gXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBsaW1pdD86IG51bWJlcixcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIFNwZWNpZmljIFdpdC9SUEMgcHJvdmlkZXIgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBXaXRuZXQgbmV0d29yay5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlciwgXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LCBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIE9ubHkgZGVyaXZlIGFjY291bnRzIGhvbGRpbmcgc29tZSAkV0lUIGZ1bmRzIChlaXRoZXIgbG9ja2VkLCBzdGFrZWQgb3IgdW5sb2NrZWQpLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgb25seVdpdGhGdW5kcz86IGJvb2xlYW4sXHJcbiAgICAgICAgfVxyXG4gICAgKTogUHJvbWlzZTxXYWxsZXQ+IHtcclxuICAgICAgICBjb25zdCB7IGNoYWluQ29kZSwgcHJpdmF0ZUtleSB9ID0gdXRpbHMucGFyc2VYcHJ2KHhwcnYpO1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSBiaXAzMi5mcm9tUHJpdmF0ZUtleShCdWZmZXIuZnJvbShwcml2YXRlS2V5KSwgQnVmZmVyLmZyb20oY2hhaW5Db2RlKSk7XHJcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBvcHRpb25zPy5wcm92aWRlciB8fCAoYXdhaXQgSnNvblJwY1Byb3ZpZGVyLmZyb21FbnYoKSlcclxuICAgICAgICBhd2FpdCBwcm92aWRlci5jb25zdGFudHMoKVxyXG4gICAgICAgIGNvbnN0IHdhbGxldCA9IG5ldyBXYWxsZXQocm9vdCwgcHJvdmlkZXIsIG9wdGlvbnM/LnN0cmF0ZWd5KVxyXG4gICAgICAgIGlmIChvcHRpb25zPy5vbmx5V2l0aEZ1bmRzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhbGxldC5leHBsb3JlQWNjb3VudHMob3B0aW9ucz8ubGltaXQgfHwgMCwgb3B0aW9ucz8uZ2FwKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHdhbGxldC5kZXJpdmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAxKVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsb2FkIHVwIHV0eG9zIGNhY2hlXHJcbiAgICAgICAgYXdhaXQgd2FsbGV0LmdldFV0eG9zKHRydWUpXHJcbiAgICAgICAgcmV0dXJuIHdhbGxldFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHVzaW5nIHBhc3NlZCBYUFJWIG1hc3RlciBrZXkuXHJcbiAgICAgKiBAcGFyYW0geHBydiBFbmNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cclxuICAgICAqIEBwYXJhbSBwYXNzd2QgUGFzc3dvcmQgdG8gZGVjaXBoZXIgdGhlIFhQUlYgbWFzdGVyIGtleS5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFdhbGxldCBjcmVhdGlvbiBwYXJhbWV0ZXJzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbUVuY3J5cHRlZFhwcnYoXHJcbiAgICAgICAgeHBydjogc3RyaW5nLFxyXG4gICAgICAgIHBhc3N3ZDogc3RyaW5nLFxyXG4gICAgICAgIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgZ2FwPzogbnVtYmVyLFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLiBcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGxpbWl0PzogbnVtYmVyLFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgcHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyLCBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgc3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbixcclxuICAgICAgICB9XHJcbiAgICApOiBQcm9taXNlPFdhbGxldD4ge1xyXG4gICAgICAgIHJldHVybiBXYWxsZXQuZnJvbVhwcnYodXRpbHMuZGVjaXBoZXJYcHJ2KHhwcnYsIHBhc3N3ZCksIG9wdGlvbnMpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKHJvb3Q6IElCSVAzMiwgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXIsIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5KSB7XHJcbiAgICAgICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyXHJcbiAgICAgICAgdGhpcy5jb2luYmFzZSA9IG5ldyBDb2luYmFzZShyb290LCBwcm92aWRlciwgc3RyYXRlZ3kpXHJcbiAgICAgICAgdGhpcy5yb290ID0gcm9vdFxyXG4gICAgICAgIHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdFxyXG4gICAgICAgIHRoaXMuZGVyaXZlQWNjb3VudHMoMSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjY291bnRzKCk6IEFycmF5PElBY2NvdW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY291bnRzXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjYWNoZUluZm8oKTogVXR4b0NhY2hlSW5mbyB7XHJcbiAgICAgICAgY29uc3QgaW5mbzogVXR4b0NhY2hlSW5mbyA9IHsgZXhwZW5kYWJsZTogMG4sIHNpemU6IDAsIHRpbWVsb2NrOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiB9XHJcbiAgICAgICAgdGhpcy5hY2NvdW50cz8uZm9yRWFjaChhY2NvdW50ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYWNjb3VudEluZm8gPSBhY2NvdW50LmNhY2hlSW5mb1xyXG4gICAgICAgICAgICBpbmZvLmV4cGVuZGFibGUgKz0gYWNjb3VudEluZm8uZXhwZW5kYWJsZVxyXG4gICAgICAgICAgICBpbmZvLnNpemUgKz0gYWNjb3VudEluZm8uc2l6ZVxyXG4gICAgICAgICAgICBpZiAoYWNjb3VudEluZm8udGltZWxvY2sgIT09IDAgJiYgYWNjb3VudEluZm8udGltZWxvY2sgPCBpbmZvLnRpbWVsb2NrKSB7XHJcbiAgICAgICAgICAgICAgICBpbmZvLnRpbWVsb2NrID0gYWNjb3VudEluZm8udGltZWxvY2tcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgaWYgKGluZm8udGltZWxvY2sgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBpbmZvLnRpbWVsb2NrID0gMDtcclxuICAgICAgICByZXR1cm4gaW5mbztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNoYW5nZVBraCgpOiBQdWJsaWNLZXlIYXNoU3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2ggOiB0aGlzLmNvaW5iYXNlLnBraFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlci5uZXR3b3JrXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucGtoIDogdGhpcy5jb2luYmFzZS5wa2hcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHB1YmxpY0tleSgpOiBQdWJsaWNLZXkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnB1YmxpY0tleSA6IHRoaXMuY29pbmJhc2UucHVibGljS2V5XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucHJpdmF0ZUtleSA6IHRoaXMuY29pbmJhc2UucHJpdmF0ZUtleVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhdXRob3JpemVFdm1BZGRyZXNzKGV2bUFkZHJlc3M6IEhleFN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0uYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKSA6IHRoaXMuY29pbmJhc2UuYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiB7IGV4Y2x1ZGVkOiBBcnJheTxVdHhvPiwgaW5jbHVkZWQ6IEFycmF5PFV0eG8+IH0ge1xyXG4gICAgICAgIGNvbnN0IGluY2x1ZGVkOiBBcnJheTxVdHhvPiA9IFtdXHJcbiAgICAgICAgdGhpcy5hY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBfdXR4b3MgPSBhY2NvdW50LmFkZFV0eG9zKC4uLnV0eG9zKVxyXG4gICAgICAgICAgICB1dHhvcyA9IF91dHhvcy5leGNsdWRlZFxyXG4gICAgICAgICAgICBpbmNsdWRlZC5wdXNoKC4uLl91dHhvcy5pbmNsdWRlZClcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGV4Y2x1ZGVkOiB1dHhvcyxcclxuICAgICAgICAgICAgaW5jbHVkZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnN1bWVVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiBBcnJheTxVdHhvPiB7XHJcbiAgICAgICAgdGhpcy5hY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xyXG4gICAgICAgICAgICB1dHhvcyA9IGFjY291bnQuY29uc3VtZVV0eG9zKC4uLnV0eG9zKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHV0eG9zXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxCYWxhbmNlPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2VcclxuICAgICAgICAgICAgICAgIC5hbGwodGhpcy5fYWNjb3VudHMubWFwKGFzeW5jIChhY2M6IElBY2NvdW50KSA9PiB7IFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBhY2MuZ2V0QmFsYW5jZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYWNjLmluZGV4LCBhY2MucGtoLCBiYWxhbmNlLnVubG9ja2VkKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhbGFuY2UgfSkpXHJcbiAgICAgICAgICAgICAgICAudGhlbigoYmFsYW5jZXM6IEFycmF5PEJhbGFuY2U+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhbGFuY2VzLnJlZHVjZSgocHJldiwgY3VycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIlxcbnByZXYgPT5cIiwgcHJldi51bmxvY2tlZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJjdXJyID0+XCIsIGN1cnIudW5sb2NrZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrZWQ6IHByZXYubG9ja2VkICsgY3Vyci5sb2NrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFrZWQ6IHByZXYuc3Rha2VkICsgY3Vyci5zdGFrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxvY2tlZDogcHJldi51bmxvY2tlZCArIGN1cnIudW5sb2NrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LCB7IGxvY2tlZDogMG4sIHN0YWtlZDogMG4sIHVubG9ja2VkOiAwbiB9KVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2luYmFzZS5nZXRCYWxhbmNlKClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGVnYXRlZXMob3JkZXI/OiBRdWVyeVN0YWtlc09yZGVyLCBsZWZ0Sm9pbiA9IHRydWUpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PiB7XHJcbiAgICAgICAgY29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXVxyXG4gICAgICAgIHJlY29yZHMucHVzaCguLi5hd2FpdCB0aGlzLmNvaW5iYXNlLmdldERlbGVnYXRlZXMob3JkZXIpKVxyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX2FjY291bnRzLm1hcChhY2NvdW50ID0+IGFjY291bnQuZ2V0RGVsZWdhdGVlcyhvcmRlciwgbGVmdEpvaW4pLnRoZW4oZW50cmllcyA9PiByZWNvcmRzLnB1c2goLi4uZW50cmllcykpKSlcclxuICAgICAgICBpZiAob3JkZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgcmV2ZXJzZSA9IG9yZGVyPy5yZXZlcnNlID8gKCsxKSA6ICgtMSlcclxuICAgICAgICAgICAgcmV0dXJuIHJlY29yZHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChvcmRlci5ieSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3Rha2VzT3JkZXJCeS5Db2luczogcmV0dXJuICgoYS52YWx1ZS5jb2lucyA8IGIudmFsdWUuY29pbnMpID8gMSA6ICgoYS52YWx1ZS5jb2lucyA+IGIudmFsdWUuY29pbnMpID8gLTEgOiAwKSkgKiByZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3Rha2VzT3JkZXJCeS5NaW5pbmc6IHJldHVybiAoYi52YWx1ZS5lcG9jaHMubWluaW5nIC0gYS52YWx1ZS5lcG9jaHMubWluaW5nKSAqIHJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBTdGFrZXNPcmRlckJ5LldpdG5lc3Npbmc6IHJldHVybiAoYi52YWx1ZS5lcG9jaHMud2l0bmVzc2luZyAtIGEudmFsdWUuZXBvY2hzLndpdG5lc3NpbmcpICogcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFN0YWtlc09yZGVyQnkuTm9uY2U6IHJldHVybiAoYi52YWx1ZS5ub25jZSAtIGEudmFsdWUubm9uY2UpICogcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlY29yZHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VXR4b3MocmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZVxyXG4gICAgICAgICAgICAuYWxsKHRoaXMuYWNjb3VudHMubWFwKGFjY291bnQgPT4gYWNjb3VudC5nZXRVdHhvcyhyZWxvYWQpKSlcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHV0eG9zczogQXJyYXk8QXJyYXk8VXR4bz4+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB1dHhvc3MucHVzaChhd2FpdCB0aGlzLmNvaW5iYXNlLmdldFV0eG9zKHJlbG9hZCkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdXR4b3NzLmZsYXQoKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RVdHhvcyhzcGVjcz86IHtcclxuICAgICAgICB2YWx1ZT86IENvaW5zLFxyXG4gICAgICAgIHJlbG9hZD86IGJvb2xlYW5cclxuICAgICAgICBzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneVxyXG4gICAgfSk6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuZ2V0VXR4b3Moc3BlY3M/LnJlbG9hZClcclxuICAgICAgICAgICAgLnRoZW4odXR4b3MgPT4gdXRpbHMuc2VsZWN0VXR4b3MoeyB1dHhvcywgdmFsdWU6IHNwZWNzPy52YWx1ZSwgc3RyYXRlZ3k6IHNwZWNzPy5zdHJhdGVneSB8fCB0aGlzLnN0cmF0ZWd5IH0pKVxyXG4gICAgfVxyXG5cclxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8vIC0tLSBJV2FsbGV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICBwdWJsaWMgZGVyaXZlQWNjb3VudHMobGltaXQ6IG51bWJlcik6IEFycmF5PElBY2NvdW50PiB7XHJcbiAgICAgICAgaWYgKGxpbWl0ID4gdGhpcy5fYWNjb3VudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLl9hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1t0aGlzLmFjY291bnRzLmxlbmd0aCAtIDFdLmluZGV4ICsgMSA6IDBcclxuICAgICAgICAgICAgbGltaXQgPSBsaW1pdCAtIHRoaXMuX2FjY291bnRzLmxlbmd0aFxyXG4gICAgICAgICAgICBmb3IgKGxldCBpeCA9IDA7IGl4IDwgbGltaXQ7IGl4ICsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5wdXNoKG5ldyBBY2NvdW50KFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm9vdCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKyBpeCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0cmF0ZWd5XHJcbiAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hY2NvdW50c1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBleHBsb3JlQWNjb3VudHMobGltaXQgPSAxLCBnYXAgPSBERUZBVUxUX0dBUCk6IFByb21pc2U8QXJyYXk8SUFjY291bnQ+PiB7XHJcbiAgICAgICAgaWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gKHg6IEFycmF5PElBY2NvdW50PikgPT4gTnVtYmVyKHgubGVuZ3RoID4gMCA/IHhbeC5sZW5ndGggLSAxXS5pbmRleCArIDEgOiAwKVxyXG4gICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpXHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gc3RhcnRJbmRleDsgaW5kZXggPCBsYXN0SW5kZXgodGhpcy5hY2NvdW50cykgKyBOdW1iZXIoZ2FwKTsgaW5kZXggKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KVxyXG4gICAgICAgICAgICAgICAgaWYgKHV0aWxzLnRvdGFsQ29pbnMoYXdhaXQgYWNjb3VudC5nZXRCYWxhbmNlKCkpLnBlZHJvcyA+IDBuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50cy5wdXNoKGFjY291bnQpXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxpbWl0ICYmIHRoaXMuYWNjb3VudHMubGVuZ3RoID49IGxpbWl0KSBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fYWNjb3VudHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWNjb3VudChwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElBY2NvdW50IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgYWNjb3VudCA9IHRoaXMuX2FjY291bnRzLmZpbmQoYWNjb3VudCA9PiBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoIHx8IGFjY291bnQucGtoID09PSBwa2gpXHJcbiAgICAgICAgaWYgKCFhY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZ2FwIHx8IERFRkFVTFRfR0FQKTsgaW5kZXggKyspIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KVxyXG4gICAgICAgICAgICAgICAgaWYgKGFjY291bnQucGtoID09PSBwa2ggfHwgYWNjb3VudC5pbnRlcm5hbC5wa2ggPT09IHBraCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY291bnRzLnB1c2goYWNjb3VudClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjb3VudFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYWNjb3VudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U2lnbmVyKHBraD86IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElTaWduZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghcGtoKSByZXR1cm4gdGhpcy5hY2NvdW50c1swXT8uZ2V0U2lnbmVyKCkgfHwgdGhpcy5jb2luYmFzZS5nZXRTaWduZXIocGtoKTtcclxuICAgICAgICBjb25zdCBhY2NvdW50ID0gdGhpcy5nZXRBY2NvdW50KHBraCwgZ2FwKVxyXG4gICAgICAgIHJldHVybiBhY2NvdW50Py5nZXRTaWduZXIocGtoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpXHJcbiAgICB9XHJcbn1cclxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@witnet/sdk",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Typescript library and CLI tooling for Web3 buidlers willing to interact with the Witnet blockchain.",
5
5
  "author": "Witnet Foundation",
6
6
  "license": "MIT",
@@ -32,6 +32,7 @@
32
32
  },
33
33
  "types": "./dist",
34
34
  "dependencies": {
35
+ "@bitcoinerlab/secp256k1": "^1.2.0",
35
36
  "axios": "^1.12.2",
36
37
  "bech32": "~2.0.0",
37
38
  "bip32": "^4.0.0",
@@ -48,8 +49,7 @@
48
49
  "promise-poller": "~1.9.1",
49
50
  "protobufjs": "^7.5.4",
50
51
  "qrcode-terminal": "^0.12.0",
51
- "secp256k1": "^5.0.1",
52
- "tiny-secp256k1": "~2.2.4"
52
+ "secp256k1": "^5.0.1"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/node": "^22.18.5",