@bitgo/sdk-api 1.56.7 → 1.56.8
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/CHANGELOG.md +7 -0
- package/dist/package.json +5 -5
- package/dist/src/api.js +7 -8
- package/dist/src/bitgoAPI.js +18 -8
- package/dist/src/encrypt.d.ts +0 -2
- package/dist/src/encrypt.d.ts.map +1 -1
- package/dist/src/encrypt.js +21 -12
- package/dist/src/util.js +19 -10
- package/dist/src/v1/blockchain.js +1 -1
- package/dist/src/v1/keychains.js +1 -1
- package/dist/src/v1/markets.js +1 -1
- package/dist/src/v1/pendingapproval.js +18 -8
- package/dist/src/v1/pendingapprovals.js +18 -8
- package/dist/src/v1/signPsbt.js +19 -10
- package/dist/src/v1/transactionBuilder.js +19 -9
- package/dist/src/v1/travelRule.js +18 -8
- package/dist/src/v1/verifyAddress.js +19 -10
- package/dist/src/v1/wallet.d.ts.map +1 -1
- package/dist/src/v1/wallet.js +21 -16
- package/dist/src/v1/wallets.js +18 -8
- package/package.json +5 -5
package/dist/src/encrypt.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../src/encrypt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../src/encrypt.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,MAAM,CAMjE;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,MAAM,CAgCR;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpE"}
|
package/dist/src/encrypt.js
CHANGED
|
@@ -15,15 +15,27 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
36
|
+
exports.bytesToWord = bytesToWord;
|
|
37
|
+
exports.encrypt = encrypt;
|
|
38
|
+
exports.decrypt = decrypt;
|
|
27
39
|
const sjcl = __importStar(require("@bitgo/sjcl"));
|
|
28
40
|
const crypto_1 = require("crypto");
|
|
29
41
|
/**
|
|
@@ -38,7 +50,6 @@ function bytesToWord(bytes) {
|
|
|
38
50
|
}
|
|
39
51
|
return bytes.reduce((num, byte) => num * 0x100 + byte, 0);
|
|
40
52
|
}
|
|
41
|
-
exports.bytesToWord = bytesToWord;
|
|
42
53
|
function encrypt(password, plaintext, options) {
|
|
43
54
|
const salt = (options === null || options === void 0 ? void 0 : options.salt) || (0, crypto_1.randomBytes)(8);
|
|
44
55
|
if (salt.length !== 8) {
|
|
@@ -64,9 +75,7 @@ function encrypt(password, plaintext, options) {
|
|
|
64
75
|
}
|
|
65
76
|
return sjcl.encrypt(password, plaintext, encryptOptions);
|
|
66
77
|
}
|
|
67
|
-
exports.encrypt = encrypt;
|
|
68
78
|
function decrypt(password, ciphertext) {
|
|
69
79
|
return sjcl.decrypt(password, ciphertext);
|
|
70
80
|
}
|
|
71
|
-
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQW9DO0FBQ3BDLG1DQUFxQztBQUVyQzs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxLQUE2QjtJQUN2RCxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQU5ELGtDQU1DO0FBRUQsU0FBZ0IsT0FBTyxDQUNyQixRQUFnQixFQUNoQixTQUFpQixFQUNqQixPQUlDO0lBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsSUFBSSxLQUFJLElBQUEsb0JBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN6QztJQUNELE1BQU0sRUFBRSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEVBQUUsS0FBSSxJQUFBLG9CQUFXLEVBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FDeEM7SUFDRCxNQUFNLGNBQWMsR0FNaEI7UUFDRixJQUFJLEVBQUUsS0FBSztRQUNYLEVBQUUsRUFBRSxHQUFHO1FBQ1AsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxFQUFFLEVBQUU7WUFDRixXQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0IsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QixXQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7S0FDRixDQUFDO0lBRUYsSUFBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxFQUFFO1FBQ2xCLGNBQWMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN0QztJQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUF4Q0QsMEJBd0NDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLFFBQWdCLEVBQUUsVUFBa0I7SUFDMUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRkQsMEJBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzamNsIGZyb20gJ0BiaXRnby9zamNsJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBjb252ZXJ0IGEgNCBlbGVtZW50IFVpbnQ4QXJyYXkgdG8gYSA0IGJ5dGUgTnVtYmVyXG4gKlxuICogQHBhcmFtIGJ5dGVzXG4gKiBAcmV0dXJuIDQgYnl0ZSBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9Xb3JkKGJ5dGVzPzogVWludDhBcnJheSB8IG51bWJlcltdKTogbnVtYmVyIHtcbiAgaWYgKCEoYnl0ZXMgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB8fCBieXRlcy5sZW5ndGggIT09IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2J5dGVzIG11c3QgYmUgYSBVaW50OEFycmF5IHdpdGggbGVuZ3RoIDQnKTtcbiAgfVxuXG4gIHJldHVybiBieXRlcy5yZWR1Y2UoKG51bSwgYnl0ZSkgPT4gbnVtICogMHgxMDAgKyBieXRlLCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY3J5cHQoXG4gIHBhc3N3b3JkOiBzdHJpbmcsXG4gIHBsYWludGV4dDogc3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIHNhbHQ/OiBCdWZmZXI7XG4gICAgaXY/OiBCdWZmZXI7XG4gICAgYWRhdGE/OiBzdHJpbmc7XG4gIH1cbik6IHN0cmluZyB7XG4gIGNvbnN0IHNhbHQgPSBvcHRpb25zPy5zYWx0IHx8IHJhbmRvbUJ5dGVzKDgpO1xuICBpZiAoc2FsdC5sZW5ndGggIT09IDgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHNhbHQgbXVzdCBiZSA4IGJ5dGVzYCk7XG4gIH1cbiAgY29uc3QgaXYgPSBvcHRpb25zPy5pdiB8fCByYW5kb21CeXRlcygxNik7XG4gIGlmIChpdi5sZW5ndGggIT09IDE2KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpdiBtdXN0IGJlIDE2IGJ5dGVzYCk7XG4gIH1cbiAgY29uc3QgZW5jcnlwdE9wdGlvbnM6IHtcbiAgICBpdGVyOiBudW1iZXI7XG4gICAga3M6IG51bWJlcjtcbiAgICBzYWx0OiBudW1iZXJbXTtcbiAgICBpdjogbnVtYmVyW107XG4gICAgYWRhdGE/OiBzdHJpbmc7XG4gIH0gPSB7XG4gICAgaXRlcjogMTAwMDAsXG4gICAga3M6IDI1NixcbiAgICBzYWx0OiBbYnl0ZXNUb1dvcmQoc2FsdC5zbGljZSgwLCA0KSksIGJ5dGVzVG9Xb3JkKHNhbHQuc2xpY2UoNCkpXSxcbiAgICBpdjogW1xuICAgICAgYnl0ZXNUb1dvcmQoaXYuc2xpY2UoMCwgNCkpLFxuICAgICAgYnl0ZXNUb1dvcmQoaXYuc2xpY2UoNCwgOCkpLFxuICAgICAgYnl0ZXNUb1dvcmQoaXYuc2xpY2UoOCwgMTIpKSxcbiAgICAgIGJ5dGVzVG9Xb3JkKGl2LnNsaWNlKDEyLCAxNikpLFxuICAgIF0sXG4gIH07XG5cbiAgaWYgKG9wdGlvbnM/LmFkYXRhKSB7XG4gICAgZW5jcnlwdE9wdGlvbnMuYWRhdGEgPSBvcHRpb25zLmFkYXRhO1xuICB9XG5cbiAgcmV0dXJuIHNqY2wuZW5jcnlwdChwYXNzd29yZCwgcGxhaW50ZXh0LCBlbmNyeXB0T3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0KHBhc3N3b3JkOiBzdHJpbmcsIGNpcGhlcnRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzamNsLmRlY3J5cHQocGFzc3dvcmQsIGNpcGhlcnRleHQpO1xufVxuIl19
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0Esa0NBTUM7QUFFRCwwQkF3Q0M7QUFFRCwwQkFFQztBQTdERCxrREFBb0M7QUFDcEMsbUNBQXFDO0FBRXJDOzs7OztHQUtHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEtBQTZCO0lBQ3ZELElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELFNBQWdCLE9BQU8sQ0FDckIsUUFBZ0IsRUFDaEIsU0FBaUIsRUFDakIsT0FJQztJQUVELE1BQU0sSUFBSSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksS0FBSSxJQUFBLG9CQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsRUFBRSxLQUFJLElBQUEsb0JBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQztJQUMxQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FNaEI7UUFDRixJQUFJLEVBQUUsS0FBSztRQUNYLEVBQUUsRUFBRSxHQUFHO1FBQ1AsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxFQUFFLEVBQUU7WUFDRixXQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0IsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QixXQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7S0FDRixDQUFDO0lBRUYsSUFBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxFQUFFLENBQUM7UUFDbkIsY0FBYyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLFFBQWdCLEVBQUUsVUFBa0I7SUFDMUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2pjbCBmcm9tICdAYml0Z28vc2pjbCc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5cbi8qKlxuICogY29udmVydCBhIDQgZWxlbWVudCBVaW50OEFycmF5IHRvIGEgNCBieXRlIE51bWJlclxuICpcbiAqIEBwYXJhbSBieXRlc1xuICogQHJldHVybiA0IGJ5dGUgbnVtYmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvV29yZChieXRlcz86IFVpbnQ4QXJyYXkgfCBudW1iZXJbXSk6IG51bWJlciB7XG4gIGlmICghKGJ5dGVzIGluc3RhbmNlb2YgVWludDhBcnJheSkgfHwgYnl0ZXMubGVuZ3RoICE9PSA0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdieXRlcyBtdXN0IGJlIGEgVWludDhBcnJheSB3aXRoIGxlbmd0aCA0Jyk7XG4gIH1cblxuICByZXR1cm4gYnl0ZXMucmVkdWNlKChudW0sIGJ5dGUpID0+IG51bSAqIDB4MTAwICsgYnl0ZSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0KFxuICBwYXNzd29yZDogc3RyaW5nLFxuICBwbGFpbnRleHQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBzYWx0PzogQnVmZmVyO1xuICAgIGl2PzogQnVmZmVyO1xuICAgIGFkYXRhPzogc3RyaW5nO1xuICB9XG4pOiBzdHJpbmcge1xuICBjb25zdCBzYWx0ID0gb3B0aW9ucz8uc2FsdCB8fCByYW5kb21CeXRlcyg4KTtcbiAgaWYgKHNhbHQubGVuZ3RoICE9PSA4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBzYWx0IG11c3QgYmUgOCBieXRlc2ApO1xuICB9XG4gIGNvbnN0IGl2ID0gb3B0aW9ucz8uaXYgfHwgcmFuZG9tQnl0ZXMoMTYpO1xuICBpZiAoaXYubGVuZ3RoICE9PSAxNikge1xuICAgIHRocm93IG5ldyBFcnJvcihgaXYgbXVzdCBiZSAxNiBieXRlc2ApO1xuICB9XG4gIGNvbnN0IGVuY3J5cHRPcHRpb25zOiB7XG4gICAgaXRlcjogbnVtYmVyO1xuICAgIGtzOiBudW1iZXI7XG4gICAgc2FsdDogbnVtYmVyW107XG4gICAgaXY6IG51bWJlcltdO1xuICAgIGFkYXRhPzogc3RyaW5nO1xuICB9ID0ge1xuICAgIGl0ZXI6IDEwMDAwLFxuICAgIGtzOiAyNTYsXG4gICAgc2FsdDogW2J5dGVzVG9Xb3JkKHNhbHQuc2xpY2UoMCwgNCkpLCBieXRlc1RvV29yZChzYWx0LnNsaWNlKDQpKV0sXG4gICAgaXY6IFtcbiAgICAgIGJ5dGVzVG9Xb3JkKGl2LnNsaWNlKDAsIDQpKSxcbiAgICAgIGJ5dGVzVG9Xb3JkKGl2LnNsaWNlKDQsIDgpKSxcbiAgICAgIGJ5dGVzVG9Xb3JkKGl2LnNsaWNlKDgsIDEyKSksXG4gICAgICBieXRlc1RvV29yZChpdi5zbGljZSgxMiwgMTYpKSxcbiAgICBdLFxuICB9O1xuXG4gIGlmIChvcHRpb25zPy5hZGF0YSkge1xuICAgIGVuY3J5cHRPcHRpb25zLmFkYXRhID0gb3B0aW9ucy5hZGF0YTtcbiAgfVxuXG4gIHJldHVybiBzamNsLmVuY3J5cHQocGFzc3dvcmQsIHBsYWludGV4dCwgZW5jcnlwdE9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjcnlwdChwYXNzd29yZDogc3RyaW5nLCBjaXBoZXJ0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc2pjbC5kZWNyeXB0KHBhc3N3b3JkLCBjaXBoZXJ0ZXh0KTtcbn1cbiJdfQ==
|
package/dist/src/util.js
CHANGED
|
@@ -15,20 +15,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getNetwork =
|
|
36
|
+
exports.getNetwork = getNetwork;
|
|
27
37
|
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
28
38
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
29
39
|
function getNetwork(network) {
|
|
30
40
|
network = network || sdk_core_1.common.getNetwork();
|
|
31
41
|
return utxolib.networks[network];
|
|
32
42
|
}
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTJDO0FBQzNDLDhDQUFvRDtBQUVwRCxTQUFnQixVQUFVLENBQUMsT0FBbUI7SUFDNUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxpQkFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pDLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBSEQsZ0NBR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBjb21tb24sIFYxTmV0d29yayB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrKG5ldHdvcms/OiBWMU5ldHdvcmspOiB1dHhvbGliLk5ldHdvcmsge1xuICBuZXR3b3JrID0gbmV0d29yayB8fCBjb21tb24uZ2V0TmV0d29yaygpO1xuICByZXR1cm4gdXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrXTtcbn1cbiJdfQ==
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsZ0NBR0M7QUFORCx5REFBMkM7QUFDM0MsOENBQW9EO0FBRXBELFNBQWdCLFVBQVUsQ0FBQyxPQUFtQjtJQUM1QyxPQUFPLEdBQUcsT0FBTyxJQUFJLGlCQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBjb21tb24sIFYxTmV0d29yayB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrKG5ldHdvcms/OiBWMU5ldHdvcmspOiB1dHhvbGliLk5ldHdvcmsge1xuICBuZXR3b3JrID0gbmV0d29yayB8fCBjb21tb24uZ2V0TmV0d29yaygpO1xuICByZXR1cm4gdXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrXTtcbn1cbiJdfQ==
|
|
@@ -114,4 +114,4 @@ Blockchain.prototype.getBlock = function (params, callback) {
|
|
|
114
114
|
return bluebird_1.default.resolve(this.bitgo.get(this.bitgo.url('/block/' + params.id)).result()).nodeify(callback);
|
|
115
115
|
};
|
|
116
116
|
module.exports = Blockchain;
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92MS9ibG9ja2NoYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7QUFFSDtHQUNHO0FBQ0gsRUFBRTtBQUNGLG9CQUFvQjtBQUNwQiwyQ0FBMkM7QUFDM0MsMEZBQTBGO0FBQzFGLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsRUFBRTtBQUVGLHdEQUFnQztBQUNoQyxvREFBdUI7QUFFdkIsOENBQXlDO0FBRXpDLEVBQUU7QUFDRixjQUFjO0FBQ2QsRUFBRTtBQUNGLE1BQU0sVUFBVSxHQUFHLFVBQVUsS0FBSztJQUNoQyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQix3Q0FBd0M7QUFDeEMsd0NBQXdDO0FBQ3hDLEVBQUU7QUFDRixzQkFBc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDLEVBQUU7QUFDRixVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVLE1BQU0sRUFBRSxRQUFRO0lBQzFELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RCLGlCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV6RCxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuSCxDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsMkJBQTJCO0FBQzNCLDRDQUE0QztBQUM1QyxzQkFBc0I7QUFDdEIsaURBQWlEO0FBQ2pELEVBQUU7QUFDRixVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixHQUFHLFVBQVUsTUFBTSxFQUFFLFFBQVE7SUFDdEUsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXpELHVDQUF1QztJQUN2QyxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQzVHLFFBQVEsQ0FDVCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QiwrQ0FBK0M7QUFDL0Msc0JBQXNCO0FBQ3RCLHFEQUFxRDtBQUNyRCx1RkFBdUY7QUFDdkYsRUFBRTtBQUNGLFVBQVUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxNQUFNLEVBQUUsUUFBUTtJQUNsRSxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QixpQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFekQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDckUsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsR0FBRyxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxrQkFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNsRCxJQUFJLENBQUMsVUFBVSxJQUFJO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDLENBQUM7U0FDRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsRUFBRTtBQUNGLGtCQUFrQjtBQUNsQiw2QkFBNkI7QUFDN0IsRUFBRTtBQUNGLHNCQUFzQjtBQUN0QixrQ0FBa0M7QUFDbEMsRUFBRTtBQUNGLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQVUsTUFBTSxFQUFFLFFBQVE7SUFDOUQsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXBELE9BQU8sa0JBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3pHLENBQUMsQ0FBQztBQUVGLEVBQUU7QUFDRixnREFBZ0Q7QUFDaEQsNkJBQTZCO0FBQzdCLEVBQUU7QUFDRixzQkFBc0I7QUFDdEIsMkNBQTJDO0FBQzNDLHdFQUF3RTtBQUN4RSxFQUFFO0FBQ0YsVUFBVSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLE1BQU0sRUFBRSxRQUFRO0lBQ3JFLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RCLGlCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RCxJQUFJLENBQUMsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ3hGLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLEVBQUU7QUFDRixZQUFZO0FBQ1osdUJBQXVCO0FBQ3ZCLEVBQUU7QUFDRixzQkFBc0I7QUFDdEIsd0RBQXdEO0FBQ3hELEVBQUU7QUFDRixVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxVQUFVLE1BQU0sRUFBRSxRQUFRO0lBQ3hELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RCLGlCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVwRCxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1RyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGhpZGRlblxuICovXG5cbi8qKlxuICovXG4vL1xuLy8gQmxvY2tjaGFpbiBPYmplY3Rcbi8vIEJpdEdvIGFjY2Vzc29yIHRvIGEgYW55IEJpdGNvaW4gYWRkcmVzcy5cbi8vIFVzaW5nIHRoaXMgZG9lcyBub3QgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiBhbmQgaXMgdW5yZWxhdGVkIHRvIEJpdEdvIHdhbGxldCBtYW5hZ2VtZW50LlxuLy9cbi8vIENvcHlyaWdodCAyMDE0LCBCaXRHbywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vXG5cbmltcG9ydCBCbHVlYmlyZCBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBjb21tb24gfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG4vL1xuLy8gQ29uc3RydWN0b3Jcbi8vXG5jb25zdCBCbG9ja2NoYWluID0gZnVuY3Rpb24gKGJpdGdvKSB7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gIHRoaXMuYml0Z28gPSBiaXRnbztcbn07XG5cbi8vXG4vLyBHZXQgYW4gYWRkcmVzc1xuLy8gRmV0Y2ggYW4gYWRkcmVzcyBzdW1tYXJ5IGluZm9ybWF0aW9uLlxuLy8gSW5jbHVkZXMgYmFsYW5jZSBhbmQgcGVuZGluZyBiYWxhbmNlLlxuLy9cbi8vIFBhcmFtZXRlcnMgaW5jbHVkZTpcbi8vICAgYWRkcmVzczogdGhlIGFkZHJlc3MgdG8gZ2V0XG4vL1xuQmxvY2tjaGFpbi5wcm90b3R5cGUuZ2V0QWRkcmVzcyA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydhZGRyZXNzJ10sIFtdLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUodGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby51cmwoJy9hZGRyZXNzLycgKyBwYXJhbXMuYWRkcmVzcykpLnJlc3VsdCgpKS5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyBHZXQgYWRkcmVzcyB0cmFuc2FjdGlvbnNcbi8vIExpc3QgdGhlIHRyYW5zYWN0aW9ucyBmb3IgYSBnaXZlbiBhZGRyZXNzXG4vLyBQYXJhbWV0ZXJzIGluY2x1ZGU6XG4vLyAgIGFkZHJlc3M6IHRoZSBhZGRyZXNzIHRvIGdldCB0cmFuc2FjdGlvbnMgZm9yXG4vL1xuQmxvY2tjaGFpbi5wcm90b3R5cGUuZ2V0QWRkcmVzc1RyYW5zYWN0aW9ucyA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydhZGRyZXNzJ10sIFtdLCBjYWxsYmFjayk7XG5cbiAgLy8gVE9ETzogc3VwcG9ydCBzdGFydCBhbmQgbGltaXQgcGFyYW1zXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28udXJsKCcvYWRkcmVzcy8nICsgcGFyYW1zLmFkZHJlc3MgKyAnL3R4JykpLnJlc3VsdCgpKS5ub2RlaWZ5KFxuICAgIGNhbGxiYWNrXG4gICk7XG59O1xuXG4vL1xuLy8gVW5zcGVudCBUcmFuc2FjdGlvbnNcbi8vIExpc3QgdGhlIHVuc3BlbnQgb3V0cHV0cyBmb3IgYSBnaXZlbiBhZGRyZXNzXG4vLyBQYXJhbWV0ZXJzIGluY2x1ZGU6XG4vLyAgIGFkZHJlc3M6IHRoZSBhZGRyZXNzIHRvIGdldCB1bnNwZW50IHRyYW5zYWN0aW9uc1xuLy8gICBsaW1pdDogcmV0dXJuIGVub3VnaCB1bnNwZW50cyB0byBhY2N1bXVsYXRlIHRvIGF0IGxlYXN0IHRoaXMgYW1vdW50IChpbiBzYXRvc2hpcykuXG4vL1xuQmxvY2tjaGFpbi5wcm90b3R5cGUuZ2V0QWRkcmVzc1Vuc3BlbnRzID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ2FkZHJlc3MnXSwgW10sIGNhbGxiYWNrKTtcblxuICBsZXQgdXJsID0gdGhpcy5iaXRnby51cmwoJy9hZGRyZXNzLycgKyBwYXJhbXMuYWRkcmVzcyArICcvdW5zcGVudHMnKTtcbiAgaWYgKHBhcmFtcy5saW1pdCkge1xuICAgIGlmICghXy5pc0ludGVnZXIocGFyYW1zLmxpbWl0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxpbWl0IC0gbnVtYmVyIGV4cGVjdGVkJyk7XG4gICAgfVxuICAgIHVybCArPSAnP2xpbWl0PScgKyBwYXJhbXMubGltaXQgKiAxZTg7XG4gIH1cblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLmdldCh1cmwpLnJlc3VsdCgpKVxuICAgIC50aGVuKGZ1bmN0aW9uIChib2R5KSB7XG4gICAgICByZXR1cm4gYm9keS51bnNwZW50cztcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyBHZXQgdHJhbnNhY3Rpb25cbi8vIEZldGNoIHRyYW5zYWN0aW9uIGRldGFpbHMuXG4vL1xuLy8gUGFyYW1ldGVycyBpbmNsdWRlOlxuLy8gICBpZDogdGhlIHRyYW5zYWN0aW9uIGlkIHRvIGdldFxuLy9cbkJsb2NrY2hhaW4ucHJvdG90eXBlLmdldFRyYW5zYWN0aW9uID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ2lkJ10sIFtdLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUodGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby51cmwoJy90eC8nICsgcGFyYW1zLmlkKSkucmVzdWx0KCkpLm5vZGVpZnkoY2FsbGJhY2spO1xufTtcblxuLy9cbi8vIEdldCB0cmFuc2FjdGlvbiB0aGF0IHNwZW5kcyBhIHNwZWNpZmljIG91dHB1dFxuLy8gRmV0Y2ggdHJhbnNhY3Rpb24gZGV0YWlscy5cbi8vXG4vLyBQYXJhbWV0ZXJzIGluY2x1ZGU6XG4vLyAgIHR4aWQ6IHRoZSB0cmFuc2FjdGlvbiBpZCBvZiB0aGUgb3V0cHV0XG4vLyAgIHZvdXQ6IHRoZSBwb3NpdGlvbiBvZiB0aGUgb3V0cHV0IG9uIHRoZSB0cmFuc2FjdGlvbiB0aGF0IGNyZWF0ZWQgaXRcbi8vXG5CbG9ja2NoYWluLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvbkJ5SW5wdXQgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsndHhpZCddLCBbXSwgY2FsbGJhY2spO1xuICBpZiAoIV8uaXNJbnRlZ2VyKHBhcmFtcy52b3V0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB2b3V0IC0gbnVtYmVyIGV4cGVjdGVkJyk7XG4gIH1cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUoXG4gICAgdGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby51cmwoJy90eC9pbnB1dC8nICsgcGFyYW1zLnR4aWQgKyAnLycgKyBwYXJhbXMudm91dCkpLnJlc3VsdCgpXG4gICkubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vL1xuLy8gR2V0IGJsb2NrXG4vLyBGZXRjaCBibG9jayBkZXRhaWxzLlxuLy9cbi8vIFBhcmFtZXRlcnMgaW5jbHVkZTpcbi8vICAgaWQ6IHRoZSBibG9jayBoYXNoIHRvIGdldCwgb3IgbGF0ZXN0IGZvciB0aGUgbGF0ZXN0XG4vL1xuQmxvY2tjaGFpbi5wcm90b3R5cGUuZ2V0QmxvY2sgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsnaWQnXSwgW10sIGNhbGxiYWNrKTtcblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLnVybCgnL2Jsb2NrLycgKyBwYXJhbXMuaWQpKS5yZXN1bHQoKSkubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IEJsb2NrY2hhaW47XG4iXX0=
|
package/dist/src/v1/keychains.js
CHANGED
|
@@ -315,4 +315,4 @@ Keychains.prototype.update = function (params, callback) {
|
|
|
315
315
|
.nodeify(callback);
|
|
316
316
|
};
|
|
317
317
|
module.exports = Keychains;
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3YxL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7O0FBRUg7R0FDRztBQUNILEVBQUU7QUFDRixtQkFBbUI7QUFDbkIsdUNBQXVDO0FBQ3ZDLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsRUFBRTtBQUVGLDhDQUF3QztBQUN4QyxtQ0FBcUM7QUFDckMsOENBQW1FO0FBQ25FLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1Qix3REFBZ0M7QUFDaEMsTUFBTSxFQUFFLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUM7QUFFOUIsRUFBRTtBQUNGLGNBQWM7QUFDZCxFQUFFO0FBQ0YsTUFBTSxTQUFTLEdBQUcsVUFBVSxLQUFLO0lBQy9CLHNDQUFzQztJQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsVUFBVTtBQUNWLGdFQUFnRTtBQUNoRSxFQUFFO0FBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxNQUFNO0lBQzVDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RCLGlCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFdEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtZQUNwQixnQkFBSyxDQUFDLFVBQVUs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c0NvbnRlbnQiOlsiLyoqXG4gKiBAaGlkZGVuXG4gKi9cblxuLyoqXG4gKi9cbi8vXG4vLyBLZXljaGFpbnMgT2JqZWN0XG4vLyBCaXRHbyBhY2Nlc3NvciB0byBhIHVzZXIncyBrZXljaGFpbi5cbi8vXG4vLyBDb3B5cmlnaHQgMjAxNCwgQml0R28sIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vL1xuXG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBjb21tb24sIFV0aWwsIHNhbml0aXplTGVnYWN5UGF0aCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5jb25zdCBfID0gcmVxdWlyZSgnbG9kYXNoJyk7XG5pbXBvcnQgQmx1ZWJpcmQgZnJvbSAnYmx1ZWJpcmQnO1xuY29uc3QgY28gPSBCbHVlYmlyZC5jb3JvdXRpbmU7XG5cbi8vXG4vLyBDb25zdHJ1Y3RvclxuLy9cbmNvbnN0IEtleWNoYWlucyA9IGZ1bmN0aW9uIChiaXRnbykge1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gbm8gaW1wbGljaXQgdGhpc1xuICB0aGlzLmJpdGdvID0gYml0Z287XG59O1xuXG4vL1xuLy8gaXNWYWxpZFxuLy8gVGVzdHMgYSB4cHViIG9yIHhwcnYgc3RyaW5nIHRvIHNlZSBpZiBpdCBpcyBhIHZhbGlkIGtleWNoYWluLlxuLy9cbktleWNoYWlucy5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgW10pO1xuXG4gIGlmICghXy5pc1N0cmluZyhwYXJhbXMua2V5KSAmJiAhXy5pc09iamVjdChwYXJhbXMua2V5KSkge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5IG11c3QgYmUgYSBzdHJpbmcgb3Igb2JqZWN0Jyk7XG4gIH1cblxuICB0cnkge1xuICAgIGlmICghcGFyYW1zLmtleS5wYXRoKSB7XG4gICAgICBiaXAzMi5mcm9tQmFzZTU4KHBhcmFtcy5rZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBiaXAzMi5mcm9tQmFzZTU4KHBhcmFtcy5rZXkueHB1YikuZGVyaXZlUGF0aChzYW5pdGl6ZUxlZ2FjeVBhdGgocGFyYW1zLmtleS5wYXRoKSk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vL1xuLy8gY3JlYXRlXG4vLyBDcmVhdGUgYSBuZXcga2V5Y2hhaW4gbG9jYWxseS5cbi8vIERvZXMgbm90IHNlbmQgdGhlIGtleWNoYWluIHRvIGJpdGdvLCBvbmx5IGNyZWF0ZXMgbG9jYWxseS5cbi8vIElmIHxzZWVkfCBpcyBwcm92aWRlZCwgdXNlZCB0byBzZWVkIHRoZSBrZXljaGFpbi4gIE90aGVyd2lzZSxcbi8vIGEgcmFuZG9tIGtleWNoYWluIGlzIGNyZWF0ZWQuXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS5jcmVhdGUgPSBmdW5jdGlvbiAocGFyYW1zKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFtdKTtcblxuICBsZXQgc2VlZDtcbiAgaWYgKCFwYXJhbXMuc2VlZCkge1xuICAgIC8vIEFuIGV4dGVuZGVkIHByaXZhdGUga2V5IGhhcyBib3RoIGEgbm9ybWFsIDI1NiBiaXQgcHJpdmF0ZSBrZXkgYW5kIGEgMjU2XG4gICAgLy8gYml0IGNoYWluIGNvZGUsIGJvdGggb2Ygd2hpY2ggbXVzdCBiZSByYW5kb20uIDUxMiBiaXRzIGlzIHRoZXJlZm9yZSB0aGVcbiAgICAvLyBtYXhpbXVtIGVudHJvcHkgYW5kIGdpdmVzIHVzIG1heGltdW0gc2VjdXJpdHkgYWdhaW5zdCBjcmFja2luZy5cbiAgICBzZWVkID0gcmFuZG9tQnl0ZXMoNTEyIC8gOCk7XG4gIH0gZWxzZSB7XG4gICAgc2VlZCA9IHBhcmFtcy5zZWVkO1xuICB9XG5cbiAgY29uc3QgZXh0ZW5kZWRLZXkgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgY29uc3QgeHB1YiA9IGV4dGVuZGVkS2V5Lm5ldXRlcmVkKCkudG9CYXNlNTgoKTtcblxuICBsZXQgZXRoQWRkcmVzcztcbiAgdHJ5IHtcbiAgICBldGhBZGRyZXNzID0gVXRpbC54cHViVG9FdGhBZGRyZXNzKHhwdWIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXRoZXJldW0gaXMgdW5hdmFpbGFibGVcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgeHB1YjogeHB1YixcbiAgICB4cHJ2OiBleHRlbmRlZEtleS50b0Jhc2U1OCgpLFxuICAgIGV0aEFkZHJlc3M6IGV0aEFkZHJlc3MsXG4gIH07XG59O1xuXG4vLyB1c2VkIGJ5IGRlcml2ZUxvY2FsXG5jb25zdCBhcGlSZXNwb25zZSA9IGZ1bmN0aW9uIChzdGF0dXMsIHJlc3VsdCwgbWVzc2FnZSkge1xuICBjb25zdCBlcnI6IGFueSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgZXJyLnN0YXR1cyA9IHN0YXR1cztcbiAgZXJyLnJlc3VsdCA9IHJlc3VsdDtcbiAgcmV0dXJuIGVycjtcbn07XG5cbi8vXG4vLyBkZXJpdmVMb2NhbFxuLy8gTG9jYWxseSBkZXJpdmVzIGEga2V5Y2hhaW4gZnJvbSBhIHRvcCBsZXZlbCBCSVAzMiBzdHJpbmcsIGdpdmVuIGEgcGF0aC5cbi8vXG5LZXljaGFpbnMucHJvdG90eXBlLmRlcml2ZUxvY2FsID0gZnVuY3Rpb24gKHBhcmFtcykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsncGF0aCddLCBbJ3hwcnYnLCAneHB1YiddKTtcblxuICBpZiAoIXBhcmFtcy54cHJ2ICYmICFwYXJhbXMueHB1Yikge1xuICAgIHRocm93IG5ldyBFcnJvcignbXVzdCBwcm92aWRlIGFuIHhwdWIgb3IgeHBydiBmb3IgZGVyaXZhdGlvbi4nKTtcbiAgfVxuICBpZiAocGFyYW1zLnhwcnYgJiYgcGFyYW1zLnhwdWIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBwcm92aWRlIGJvdGggeHB1YiBhbmQgeHBydicpO1xuICB9XG5cbiAgbGV0IGhkTm9kZTtcbiAgdHJ5IHtcbiAgICBoZE5vZGUgPSBiaXAzMi5mcm9tQmFzZTU4KHBhcmFtcy54cHJ2IHx8IHBhcmFtcy54cHViKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IGFwaVJlc3BvbnNlKDQwMCwge30sICdVbmFibGUgdG8gcGFyc2UgdGhlIHhwcnYgb3IgeHB1YicpO1xuICB9XG5cbiAgbGV0IGRlcml2ZWROb2RlO1xuICB0cnkge1xuICAgIGRlcml2ZWROb2RlID0gaGROb2RlLmRlcml2ZVBhdGgoc2FuaXRpemVMZWdhY3lQYXRoKHBhcmFtcy5wYXRoKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBhcGlSZXNwb25zZSg0MDAsIHt9LCAnVW5hYmxlIHRvIGRlcml2ZSBIRCBrZXkgZnJvbSBwYXRoJyk7XG4gIH1cblxuICBjb25zdCB4cHViID0gZGVyaXZlZE5vZGUubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xuXG4gIGxldCBldGhBZGRyZXNzO1xuICB0cnkge1xuICAgIGV0aEFkZHJlc3MgPSBVdGlsLnhwdWJUb0V0aEFkZHJlc3MoeHB1Yik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBldGhlcmV1bSBpcyB1bmF2YWlsYWJsZVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoOiBwYXJhbXMucGF0aCxcbiAgICB4cHViOiB4cHViLFxuICAgIHhwcnY6IHBhcmFtcy54cHJ2ICYmIGRlcml2ZWROb2RlLnRvQmFzZTU4KCksXG4gICAgZXRoQWRkcmVzczogZXRoQWRkcmVzcyxcbiAgfTtcbn07XG5cbi8vXG4vLyBsaXN0XG4vLyBMaXN0IHRoZSB1c2VyJ3Mga2V5Y2hhaW5zXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS5saXN0ID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgW10sIGNhbGxiYWNrKTtcblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLnVybCgnL2tleWNoYWluJykpLnJlc3VsdCgna2V5Y2hhaW5zJykpXG4gICAgLnRoZW4oZnVuY3Rpb24gKGtleWNoYWlucykge1xuICAgICAga2V5Y2hhaW5zLm1hcChmdW5jdGlvbiAoa2V5Y2hhaW4pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGtleWNoYWluLnhwdWIgJiZcbiAgICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICYmXG4gICAgICAgICAgVXRpbC54cHViVG9FdGhBZGRyZXNzICYmXG4gICAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAhPT0gVXRpbC54cHViVG9FdGhBZGRyZXNzKGtleWNoYWluLnhwdWIpXG4gICAgICAgICkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZXRoQWRkcmVzcyBhbmQgeHB1YiBkbyBub3QgbWF0Y2gnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4ga2V5Y2hhaW5zO1xuICAgIH0pXG4gICAgLm5vZGVpZnkoY2FsbGJhY2spO1xufTtcblxuLyoqXG4gKiBpdGVyYXRlcyB0aHJvdWdoIGFsbCBrZXlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlciwgZGVjcnlwdHMgdGhlbSB3aXRoIHRoZSBvbGQgcGFzc3dvcmQgYW5kIGVuY3J5cHRzIHRoZW0gd2l0aCB0aGVcbiAqIG5ldyBwYXNzd29yZFxuICogQHBhcmFtIHBhcmFtcy5vbGRQYXNzd29yZCB7U3RyaW5nfSAtIFRoZSBvbGQgcGFzc3dvcmQgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gKiBAcGFyYW0gcGFyYW1zLm5ld1Bhc3N3b3JkIHtTdHJpbmd9IC0gVGhlIG5ldyBwYXNzd29yZCB0byBiZSB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBrZXlcbiAqIEBwYXJhbSBjYWxsYmFja1xuICogQHJldHVybnMgcmVzdWx0LmtleWNoYWlucyB7T2JqZWN0fSAtIGUuZy46XG4gKiAge1xuICogICAgeHB1YjE6IGVuY3J5cHRlZFBydjEsXG4gKiAgICB4cHViMjogZW5jcnlwdGVkUHJ2MixcbiAqICAgIC4uLlxuICogIH1cbiAqICBAcmV0dXJucyByZXN1bHQudmVyc2lvbiB7TnVtYmVyfVxuICovXG5LZXljaGFpbnMucHJvdG90eXBlLnVwZGF0ZVBhc3N3b3JkID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcmV0dXJuIGNvKGZ1bmN0aW9uKiBjb1VwZGF0ZVBhc3N3b3JkKCkge1xuICAgIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsnb2xkUGFzc3dvcmQnLCAnbmV3UGFzc3dvcmQnXSwgW10sIGNhbGxiYWNrKTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gbm8gaW1wbGljaXQgdGhpc1xuICAgIGNvbnN0IGVuY3J5cHRlZCA9IHlpZWxkIHRoaXMuYml0Z28ucG9zdCh0aGlzLmJpdGdvLnVybCgnL3VzZXIvZW5jcnlwdGVkJykpLnJlc3VsdCgpO1xuICAgIGNvbnN0IG5ld0tleWNoYWlucyA9IHt9O1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgXy5mb3JPd24oKGVuY3J5cHRlZCBhcyBhbnkpLmtleWNoYWlucywgZnVuY3Rpb24ga2V5Y2hhaW5zRm9yT3duKG9sZEVuY3J5cHRlZFhwcnYsIHhwdWIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRlY3J5cHRlZFBydiA9IHNlbGYuYml0Z28uZGVjcnlwdCh7IGlucHV0OiBvbGRFbmNyeXB0ZWRYcHJ2LCBwYXNzd29yZDogcGFyYW1zLm9sZFBhc3N3b3JkIH0pO1xuICAgICAgICBjb25zdCBuZXdFbmNyeXB0ZWRQcnYgPSBzZWxmLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogZGVjcnlwdGVkUHJ2LCBwYXNzd29yZDogcGFyYW1zLm5ld1Bhc3N3b3JkIH0pO1xuICAgICAgICBuZXdLZXljaGFpbnNbeHB1Yl0gPSBuZXdFbmNyeXB0ZWRQcnY7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIGRlY3J5cHRpbmcgdGhlIGtleWNoYWluIHdpdGggdGhlIG9sZCBwYXNzd29yZCBkaWRuJ3Qgd29yayBzbyB3ZSBqdXN0IGtlZXAgaXQgdGhlIHdheSBpdCBpc1xuICAgICAgICBuZXdLZXljaGFpbnNbeHB1Yl0gPSBvbGRFbmNyeXB0ZWRYcHJ2O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7IGtleWNoYWluczogbmV3S2V5Y2hhaW5zLCB2ZXJzaW9uOiAoZW5jcnlwdGVkIGFzIGFueSkudmVyc2lvbiB9O1xuICB9KVxuICAgIC5jYWxsKHRoaXMpXG4gICAgLmFzQ2FsbGJhY2soY2FsbGJhY2spO1xufTtcblxuLy9cbi8vIGFkZFxuLy8gQWRkIGEgbmV3IGtleWNoYWluXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsneHB1YiddLCBbJ2VuY3J5cHRlZFhwcnYnLCAndHlwZScsICdpc0xlZGdlciddLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUoXG4gICAgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy5iaXRnby51cmwoJy9rZXljaGFpbicpKVxuICAgICAgLnNlbmQoe1xuICAgICAgICB4cHViOiBwYXJhbXMueHB1YixcbiAgICAgICAgZW5jcnlwdGVkWHBydjogcGFyYW1zLmVuY3J5cHRlZFhwcnYsXG4gICAgICAgIHR5cGU6IHBhcmFtcy50eXBlLFxuICAgICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU6IHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgICAgIGlzTGVkZ2VyOiBwYXJhbXMuaXNMZWRnZXIsXG4gICAgICB9KVxuICAgICAgLnJlc3VsdCgpXG4gIClcbiAgICAudGhlbihmdW5jdGlvbiAoa2V5Y2hhaW4pIHtcbiAgICAgIGlmIChcbiAgICAgICAga2V5Y2hhaW4ueHB1YiAmJlxuICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICYmXG4gICAgICAgIFV0aWwueHB1YlRvRXRoQWRkcmVzcyAmJlxuICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICE9PSBVdGlsLnhwdWJUb0V0aEFkZHJlc3Moa2V5Y2hhaW4ueHB1YilcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V0aEFkZHJlc3MgYW5kIHhwdWIgZG8gbm90IG1hdGNoJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4ga2V5Y2hhaW47XG4gICAgfSlcbiAgICAubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vL1xuLy8gY3JlYXRlQml0R29cbi8vIEFkZCBhIG5ldyBCaXRHbyBzZXJ2ZXIga2V5Y2hhaW5cbi8vXG5LZXljaGFpbnMucHJvdG90eXBlLmNyZWF0ZUJpdEdvID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgW10sIGNhbGxiYWNrKTtcblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLnBvc3QodGhpcy5iaXRnby51cmwoJy9rZXljaGFpbi9iaXRnbycpKS5zZW5kKHBhcmFtcykucmVzdWx0KCkpXG4gICAgLnRoZW4oZnVuY3Rpb24gKGtleWNoYWluKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGtleWNoYWluLnhwdWIgJiZcbiAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAmJlxuICAgICAgICBVdGlsLnhwdWJUb0V0aEFkZHJlc3MgJiZcbiAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAhPT0gVXRpbC54cHViVG9FdGhBZGRyZXNzKGtleWNoYWluLnhwdWIpXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdldGhBZGRyZXNzIGFuZCB4cHViIGRvIG5vdCBtYXRjaCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGtleWNoYWluO1xuICAgIH0pXG4gICAgLm5vZGVpZnkoY2FsbGJhY2spO1xufTtcblxuLy9cbi8vIGNyZWF0ZUJhY2t1cFxuLy8gQ3JlYXRlIGEgbmV3IGJhY2t1cCBrZXljaGFpbiB0aHJvdWdoIGJpdGdvIC0gb2Z0ZW4gdXNlZCBmb3IgY3JlYXRpbmcgYSBrZXljaGFpbiBvbiBhIEtSU1xuLy9cbktleWNoYWlucy5wcm90b3R5cGUuY3JlYXRlQmFja3VwID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ3Byb3ZpZGVyJ10sIFtdLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUodGhpcy5iaXRnby5wb3N0KHRoaXMuYml0Z28udXJsKCcva2V5Y2hhaW4vYmFja3VwJykpLnNlbmQocGFyYW1zKS5yZXN1bHQoKSlcbiAgICAudGhlbihmdW5jdGlvbiAoa2V5Y2hhaW4pIHtcbiAgICAgIC8vIG5vdCBhbGwga2V5Y2hhaW5zIGhhdmUgYW4geHB1YlxuICAgICAgaWYgKFxuICAgICAgICBrZXljaGFpbi54cHViICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgJiZcbiAgICAgICAgVXRpbC54cHViVG9FdGhBZGRyZXNzICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgIT09IFV0aWwueHB1YlRvRXRoQWRkcmVzcyhrZXljaGFpbi54cHViKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZXRoQWRkcmVzcyBhbmQgeHB1YiBkbyBub3QgbWF0Y2gnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBrZXljaGFpbjtcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyBnZXRcbi8vIEZldGNoIGFuIGV4aXN0aW5nIGtleWNoYWluXG4vLyBQYXJhbWV0ZXJzIGluY2x1ZGU6XG4vLyAgIHhwdWI6ICB0aGUgeHB1YiBvZiB0aGUga2V5IHRvIGxvb2t1cCAocmVxdWlyZWQpXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbJ3hwdWInLCAnZXRoQWRkcmVzcyddLCBjYWxsYmFjayk7XG5cbiAgaWYgKCFwYXJhbXMueHB1YiAmJiAhcGFyYW1zLmV0aEFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3hwdWIgb3IgZXRoQWRkcmVzcyBtdXN0IGJlIGRlZmluZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGlkID0gcGFyYW1zLnhwdWIgfHwgcGFyYW1zLmV0aEFkZHJlc3M7XG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKFxuICAgIHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMuYml0Z28udXJsKCcva2V5Y2hhaW4vJyArIGVuY29kZVVSSUNvbXBvbmVudChpZCkpKVxuICAgICAgLnNlbmQoe30pXG4gICAgICAucmVzdWx0KClcbiAgKVxuICAgIC50aGVuKGZ1bmN0aW9uIChrZXljaGFpbikge1xuICAgICAgaWYgKFxuICAgICAgICBrZXljaGFpbi54cHViICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgJiZcbiAgICAgICAgVXRpbC54cHViVG9FdGhBZGRyZXNzICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgIT09IFV0aWwueHB1YlRvRXRoQWRkcmVzcyhrZXljaGFpbi54cHViKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZXRoQWRkcmVzcyBhbmQgeHB1YiBkbyBub3QgbWF0Y2gnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBrZXljaGFpbjtcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyB1cGRhdGVcbi8vIFVwZGF0ZSBhbiBleGlzdGluZyBrZXljaGFpblxuLy8gUGFyYW1ldGVycyBpbmNsdWRlOlxuLy8gICB4cHViOiAgdGhlIHhwdWIgb2YgdGhlIGtleSB0byBsb29rdXAgKHJlcXVpcmVkKVxuLy9cbktleWNoYWlucy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ3hwdWInXSwgWydlbmNyeXB0ZWRYcHJ2J10sIGNhbGxiYWNrKTtcblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZShcbiAgICB0aGlzLmJpdGdvXG4gICAgICAucHV0KHRoaXMuYml0Z28udXJsKCcva2V5Y2hhaW4vJyArIHBhcmFtcy54cHViKSlcbiAgICAgIC5zZW5kKHtcbiAgICAgICAgZW5jcnlwdGVkWHBydjogcGFyYW1zLmVuY3J5cHRlZFhwcnYsXG4gICAgICB9KVxuICAgICAgLnJlc3VsdCgpXG4gIClcbiAgICAudGhlbihmdW5jdGlvbiAoa2V5Y2hhaW4pIHtcbiAgICAgIGlmIChcbiAgICAgICAga2V5Y2hhaW4ueHB1YiAmJlxuICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICYmXG4gICAgICAgIFV0aWwueHB1YlRvRXRoQWRkcmVzcyAmJlxuICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICE9PSBVdGlsLnhwdWJUb0V0aEFkZHJlc3Moa2V5Y2hhaW4ueHB1YilcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V0aEFkZHJlc3MgYW5kIHhwdWIgZG8gbm90IG1hdGNoJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4ga2V5Y2hhaW47XG4gICAgfSlcbiAgICAubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IEtleWNoYWlucztcbiJdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3YxL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7O0FBRUg7R0FDRztBQUNILEVBQUU7QUFDRixtQkFBbUI7QUFDbkIsdUNBQXVDO0FBQ3ZDLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsRUFBRTtBQUVGLDhDQUF3QztBQUN4QyxtQ0FBcUM7QUFDckMsOENBQW1FO0FBQ25FLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1Qix3REFBZ0M7QUFDaEMsTUFBTSxFQUFFLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUM7QUFFOUIsRUFBRTtBQUNGLGNBQWM7QUFDZCxFQUFFO0FBQ0YsTUFBTSxTQUFTLEdBQUcsVUFBVSxLQUFLO0lBQy9CLHNDQUFzQztJQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsVUFBVTtBQUNWLGdFQUFnRTtBQUNoRSxFQUFFO0FBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxNQUFNO0lBQzVDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RCLGlCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFdEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lB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Z0I7WUFDckIsUUFBUSxDQUFDLFVBQVUsS0FBSyxlQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM1RCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7U0FDRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBoaWRkZW5cbiAqL1xuXG4vKipcbiAqL1xuLy9cbi8vIEtleWNoYWlucyBPYmplY3Rcbi8vIEJpdEdvIGFjY2Vzc29yIHRvIGEgdXNlcidzIGtleWNoYWluLlxuLy9cbi8vIENvcHlyaWdodCAyMDE0LCBCaXRHbywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vXG5cbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGNvbW1vbiwgVXRpbCwgc2FuaXRpemVMZWdhY3lQYXRoIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmNvbnN0IF8gPSByZXF1aXJlKCdsb2Rhc2gnKTtcbmltcG9ydCBCbHVlYmlyZCBmcm9tICdibHVlYmlyZCc7XG5jb25zdCBjbyA9IEJsdWViaXJkLmNvcm91dGluZTtcblxuLy9cbi8vIENvbnN0cnVjdG9yXG4vL1xuY29uc3QgS2V5Y2hhaW5zID0gZnVuY3Rpb24gKGJpdGdvKSB7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gIHRoaXMuYml0Z28gPSBiaXRnbztcbn07XG5cbi8vXG4vLyBpc1ZhbGlkXG4vLyBUZXN0cyBhIHhwdWIgb3IgeHBydiBzdHJpbmcgdG8gc2VlIGlmIGl0IGlzIGEgdmFsaWQga2V5Y2hhaW4uXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24gKHBhcmFtcykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbXSk7XG5cbiAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5rZXkpICYmICFfLmlzT2JqZWN0KHBhcmFtcy5rZXkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdrZXkgbXVzdCBiZSBhIHN0cmluZyBvciBvYmplY3QnKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKCFwYXJhbXMua2V5LnBhdGgpIHtcbiAgICAgIGJpcDMyLmZyb21CYXNlNTgocGFyYW1zLmtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJpcDMyLmZyb21CYXNlNTgocGFyYW1zLmtleS54cHViKS5kZXJpdmVQYXRoKHNhbml0aXplTGVnYWN5UGF0aChwYXJhbXMua2V5LnBhdGgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8vXG4vLyBjcmVhdGVcbi8vIENyZWF0ZSBhIG5ldyBrZXljaGFpbiBsb2NhbGx5LlxuLy8gRG9lcyBub3Qgc2VuZCB0aGUga2V5Y2hhaW4gdG8gYml0Z28sIG9ubHkgY3JlYXRlcyBsb2NhbGx5LlxuLy8gSWYgfHNlZWR8IGlzIHByb3ZpZGVkLCB1c2VkIHRvIHNlZWQgdGhlIGtleWNoYWluLiAgT3RoZXJ3aXNlLFxuLy8gYSByYW5kb20ga2V5Y2hhaW4gaXMgY3JlYXRlZC5cbi8vXG5LZXljaGFpbnMucHJvdG90eXBlLmNyZWF0ZSA9IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgW10pO1xuXG4gIGxldCBzZWVkO1xuICBpZiAoIXBhcmFtcy5zZWVkKSB7XG4gICAgLy8gQW4gZXh0ZW5kZWQgcHJpdmF0ZSBrZXkgaGFzIGJvdGggYSBub3JtYWwgMjU2IGJpdCBwcml2YXRlIGtleSBhbmQgYSAyNTZcbiAgICAvLyBiaXQgY2hhaW4gY29kZSwgYm90aCBvZiB3aGljaCBtdXN0IGJlIHJhbmRvbS4gNTEyIGJpdHMgaXMgdGhlcmVmb3JlIHRoZVxuICAgIC8vIG1heGltdW0gZW50cm9weSBhbmQgZ2l2ZXMgdXMgbWF4aW11bSBzZWN1cml0eSBhZ2FpbnN0IGNyYWNraW5nLlxuICAgIHNlZWQgPSByYW5kb21CeXRlcyg1MTIgLyA4KTtcbiAgfSBlbHNlIHtcbiAgICBzZWVkID0gcGFyYW1zLnNlZWQ7XG4gIH1cblxuICBjb25zdCBleHRlbmRlZEtleSA9IGJpcDMyLmZyb21TZWVkKHNlZWQpO1xuICBjb25zdCB4cHViID0gZXh0ZW5kZWRLZXkubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xuXG4gIGxldCBldGhBZGRyZXNzO1xuICB0cnkge1xuICAgIGV0aEFkZHJlc3MgPSBVdGlsLnhwdWJUb0V0aEFkZHJlc3MoeHB1Yik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBldGhlcmV1bSBpcyB1bmF2YWlsYWJsZVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4cHViOiB4cHViLFxuICAgIHhwcnY6IGV4dGVuZGVkS2V5LnRvQmFzZTU4KCksXG4gICAgZXRoQWRkcmVzczogZXRoQWRkcmVzcyxcbiAgfTtcbn07XG5cbi8vIHVzZWQgYnkgZGVyaXZlTG9jYWxcbmNvbnN0IGFwaVJlc3BvbnNlID0gZnVuY3Rpb24gKHN0YXR1cywgcmVzdWx0LCBtZXNzYWdlKSB7XG4gIGNvbnN0IGVycjogYW55ID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICBlcnIuc3RhdHVzID0gc3RhdHVzO1xuICBlcnIucmVzdWx0ID0gcmVzdWx0O1xuICByZXR1cm4gZXJyO1xufTtcblxuLy9cbi8vIGRlcml2ZUxvY2FsXG4vLyBMb2NhbGx5IGRlcml2ZXMgYSBrZXljaGFpbiBmcm9tIGEgdG9wIGxldmVsIEJJUDMyIHN0cmluZywgZ2l2ZW4gYSBwYXRoLlxuLy9cbktleWNoYWlucy5wcm90b3R5cGUuZGVyaXZlTG9jYWwgPSBmdW5jdGlvbiAocGFyYW1zKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydwYXRoJ10sIFsneHBydicsICd4cHViJ10pO1xuXG4gIGlmICghcGFyYW1zLnhwcnYgJiYgIXBhcmFtcy54cHViKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtdXN0IHByb3ZpZGUgYW4geHB1YiBvciB4cHJ2IGZvciBkZXJpdmF0aW9uLicpO1xuICB9XG4gIGlmIChwYXJhbXMueHBydiAmJiBwYXJhbXMueHB1Yikge1xuICAgIHRocm93IG5ldyBFcnJvcignY2Fubm90IHByb3ZpZGUgYm90aCB4cHViIGFuZCB4cHJ2Jyk7XG4gIH1cblxuICBsZXQgaGROb2RlO1xuICB0cnkge1xuICAgIGhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocGFyYW1zLnhwcnYgfHwgcGFyYW1zLnhwdWIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgYXBpUmVzcG9uc2UoNDAwLCB7fSwgJ1VuYWJsZSB0byBwYXJzZSB0aGUgeHBydiBvciB4cHViJyk7XG4gIH1cblxuICBsZXQgZGVyaXZlZE5vZGU7XG4gIHRyeSB7XG4gICAgZGVyaXZlZE5vZGUgPSBoZE5vZGUuZGVyaXZlUGF0aChzYW5pdGl6ZUxlZ2FjeVBhdGgocGFyYW1zLnBhdGgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IGFwaVJlc3BvbnNlKDQwMCwge30sICdVbmFibGUgdG8gZGVyaXZlIEhEIGtleSBmcm9tIHBhdGgnKTtcbiAgfVxuXG4gIGNvbnN0IHhwdWIgPSBkZXJpdmVkTm9kZS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCk7XG5cbiAgbGV0IGV0aEFkZHJlc3M7XG4gIHRyeSB7XG4gICAgZXRoQWRkcmVzcyA9IFV0aWwueHB1YlRvRXRoQWRkcmVzcyh4cHViKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGV0aGVyZXVtIGlzIHVuYXZhaWxhYmxlXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhdGg6IHBhcmFtcy5wYXRoLFxuICAgIHhwdWI6IHhwdWIsXG4gICAgeHBydjogcGFyYW1zLnhwcnYgJiYgZGVyaXZlZE5vZGUudG9CYXNlNTgoKSxcbiAgICBldGhBZGRyZXNzOiBldGhBZGRyZXNzLFxuICB9O1xufTtcblxuLy9cbi8vIGxpc3Rcbi8vIExpc3QgdGhlIHVzZXIncyBrZXljaGFpbnNcbi8vXG5LZXljaGFpbnMucHJvdG90eXBlLmxpc3QgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbXSwgY2FsbGJhY2spO1xuXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28udXJsKCcva2V5Y2hhaW4nKSkucmVzdWx0KCdrZXljaGFpbnMnKSlcbiAgICAudGhlbihmdW5jdGlvbiAoa2V5Y2hhaW5zKSB7XG4gICAgICBrZXljaGFpbnMubWFwKGZ1bmN0aW9uIChrZXljaGFpbikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2V5Y2hhaW4ueHB1YiAmJlxuICAgICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgJiZcbiAgICAgICAgICBVdGlsLnhwdWJUb0V0aEFkZHJlc3MgJiZcbiAgICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICE9PSBVdGlsLnhwdWJUb0V0aEFkZHJlc3Moa2V5Y2hhaW4ueHB1YilcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdldGhBZGRyZXNzIGFuZCB4cHViIGRvIG5vdCBtYXRjaCcpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBrZXljaGFpbnM7XG4gICAgfSlcbiAgICAubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vKipcbiAqIGl0ZXJhdGVzIHRocm91Z2ggYWxsIGtleXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyLCBkZWNyeXB0cyB0aGVtIHdpdGggdGhlIG9sZCBwYXNzd29yZCBhbmQgZW5jcnlwdHMgdGhlbSB3aXRoIHRoZVxuICogbmV3IHBhc3N3b3JkXG4gKiBAcGFyYW0gcGFyYW1zLm9sZFBhc3N3b3JkIHtTdHJpbmd9IC0gVGhlIG9sZCBwYXNzd29yZCB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBrZXlcbiAqIEBwYXJhbSBwYXJhbXMubmV3UGFzc3dvcmQge1N0cmluZ30gLSBUaGUgbmV3IHBhc3N3b3JkIHRvIGJlIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICogQHBhcmFtIGNhbGxiYWNrXG4gKiBAcmV0dXJucyByZXN1bHQua2V5Y2hhaW5zIHtPYmplY3R9IC0gZS5nLjpcbiAqICB7XG4gKiAgICB4cHViMTogZW5jcnlwdGVkUHJ2MSxcbiAqICAgIHhwdWIyOiBlbmNyeXB0ZWRQcnYyLFxuICogICAgLi4uXG4gKiAgfVxuICogIEByZXR1cm5zIHJlc3VsdC52ZXJzaW9uIHtOdW1iZXJ9XG4gKi9cbktleWNoYWlucy5wcm90b3R5cGUudXBkYXRlUGFzc3dvcmQgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICByZXR1cm4gY28oZnVuY3Rpb24qIGNvVXBkYXRlUGFzc3dvcmQoKSB7XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydvbGRQYXNzd29yZCcsICduZXdQYXNzd29yZCddLCBbXSwgY2FsbGJhY2spO1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gICAgY29uc3QgZW5jcnlwdGVkID0geWllbGQgdGhpcy5iaXRnby5wb3N0KHRoaXMuYml0Z28udXJsKCcvdXNlci9lbmNyeXB0ZWQnKSkucmVzdWx0KCk7XG4gICAgY29uc3QgbmV3S2V5Y2hhaW5zID0ge307XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIG5vIGltcGxpY2l0IHRoaXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBfLmZvck93bigoZW5jcnlwdGVkIGFzIGFueSkua2V5Y2hhaW5zLCBmdW5jdGlvbiBrZXljaGFpbnNGb3JPd24ob2xkRW5jcnlwdGVkWHBydiwgeHB1Yikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGVjcnlwdGVkUHJ2ID0gc2VsZi5iaXRnby5kZWNyeXB0KHsgaW5wdXQ6IG9sZEVuY3J5cHRlZFhwcnYsIHBhc3N3b3JkOiBwYXJhbXMub2xkUGFzc3dvcmQgfSk7XG4gICAgICAgIGNvbnN0IG5ld0VuY3J5cHRlZFBydiA9IHNlbGYuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBkZWNyeXB0ZWRQcnYsIHBhc3N3b3JkOiBwYXJhbXMubmV3UGFzc3dvcmQgfSk7XG4gICAgICAgIG5ld0tleWNoYWluc1t4cHViXSA9IG5ld0VuY3J5cHRlZFBydjtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gZGVjcnlwdGluZyB0aGUga2V5Y2hhaW4gd2l0aCB0aGUgb2xkIHBhc3N3b3JkIGRpZG4ndCB3b3JrIHNvIHdlIGp1c3Qga2VlcCBpdCB0aGUgd2F5IGl0IGlzXG4gICAgICAgIG5ld0tleWNoYWluc1t4cHViXSA9IG9sZEVuY3J5cHRlZFhwcnY7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHsga2V5Y2hhaW5zOiBuZXdLZXljaGFpbnMsIHZlcnNpb246IChlbmNyeXB0ZWQgYXMgYW55KS52ZXJzaW9uIH07XG4gIH0pXG4gICAgLmNhbGwodGhpcylcbiAgICAuYXNDYWxsYmFjayhjYWxsYmFjayk7XG59O1xuXG4vL1xuLy8gYWRkXG4vLyBBZGQgYSBuZXcga2V5Y2hhaW5cbi8vXG5LZXljaGFpbnMucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWyd4cHViJ10sIFsnZW5jcnlwdGVkWHBydicsICd0eXBlJywgJ2lzTGVkZ2VyJ10sIGNhbGxiYWNrKTtcblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZShcbiAgICB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLmJpdGdvLnVybCgnL2tleWNoYWluJykpXG4gICAgICAuc2VuZCh7XG4gICAgICAgIHhwdWI6IHBhcmFtcy54cHViLFxuICAgICAgICBlbmNyeXB0ZWRYcHJ2OiBwYXJhbXMuZW5jcnlwdGVkWHBydixcbiAgICAgICAgdHlwZTogcGFyYW1zLnR5cGUsXG4gICAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICAgICAgaXNMZWRnZXI6IHBhcmFtcy5pc0xlZGdlcixcbiAgICAgIH0pXG4gICAgICAucmVzdWx0KClcbiAgKVxuICAgIC50aGVuKGZ1bmN0aW9uIChrZXljaGFpbikge1xuICAgICAgaWYgKFxuICAgICAgICBrZXljaGFpbi54cHViICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgJiZcbiAgICAgICAgVXRpbC54cHViVG9FdGhBZGRyZXNzICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgIT09IFV0aWwueHB1YlRvRXRoQWRkcmVzcyhrZXljaGFpbi54cHViKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZXRoQWRkcmVzcyBhbmQgeHB1YiBkbyBub3QgbWF0Y2gnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBrZXljaGFpbjtcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyBjcmVhdGVCaXRHb1xuLy8gQWRkIGEgbmV3IEJpdEdvIHNlcnZlciBrZXljaGFpblxuLy9cbktleWNoYWlucy5wcm90b3R5cGUuY3JlYXRlQml0R28gPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbXSwgY2FsbGJhY2spO1xuXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHRoaXMuYml0Z28ucG9zdCh0aGlzLmJpdGdvLnVybCgnL2tleWNoYWluL2JpdGdvJykpLnNlbmQocGFyYW1zKS5yZXN1bHQoKSlcbiAgICAudGhlbihmdW5jdGlvbiAoa2V5Y2hhaW4pIHtcbiAgICAgIGlmIChcbiAgICAgICAga2V5Y2hhaW4ueHB1YiAmJlxuICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICYmXG4gICAgICAgIFV0aWwueHB1YlRvRXRoQWRkcmVzcyAmJlxuICAgICAgICBrZXljaGFpbi5ldGhBZGRyZXNzICE9PSBVdGlsLnhwdWJUb0V0aEFkZHJlc3Moa2V5Y2hhaW4ueHB1YilcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V0aEFkZHJlc3MgYW5kIHhwdWIgZG8gbm90IG1hdGNoJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4ga2V5Y2hhaW47XG4gICAgfSlcbiAgICAubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vL1xuLy8gY3JlYXRlQmFja3VwXG4vLyBDcmVhdGUgYSBuZXcgYmFja3VwIGtleWNoYWluIHRocm91Z2ggYml0Z28gLSBvZnRlbiB1c2VkIGZvciBjcmVhdGluZyBhIGtleWNoYWluIG9uIGEgS1JTXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS5jcmVhdGVCYWNrdXAgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsncHJvdmlkZXInXSwgW10sIGNhbGxiYWNrKTtcblxuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLnBvc3QodGhpcy5iaXRnby51cmwoJy9rZXljaGFpbi9iYWNrdXAnKSkuc2VuZChwYXJhbXMpLnJlc3VsdCgpKVxuICAgIC50aGVuKGZ1bmN0aW9uIChrZXljaGFpbikge1xuICAgICAgLy8gbm90IGFsbCBrZXljaGFpbnMgaGF2ZSBhbiB4cHViXG4gICAgICBpZiAoXG4gICAgICAgIGtleWNoYWluLnhwdWIgJiZcbiAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAmJlxuICAgICAgICBVdGlsLnhwdWJUb0V0aEFkZHJlc3MgJiZcbiAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAhPT0gVXRpbC54cHViVG9FdGhBZGRyZXNzKGtleWNoYWluLnhwdWIpXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdldGhBZGRyZXNzIGFuZCB4cHViIGRvIG5vdCBtYXRjaCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGtleWNoYWluO1xuICAgIH0pXG4gICAgLm5vZGVpZnkoY2FsbGJhY2spO1xufTtcblxuLy9cbi8vIGdldFxuLy8gRmV0Y2ggYW4gZXhpc3Rpbmcga2V5Y2hhaW5cbi8vIFBhcmFtZXRlcnMgaW5jbHVkZTpcbi8vICAgeHB1YjogIHRoZSB4cHViIG9mIHRoZSBrZXkgdG8gbG9va3VwIChyZXF1aXJlZClcbi8vXG5LZXljaGFpbnMucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFsneHB1YicsICdldGhBZGRyZXNzJ10sIGNhbGxiYWNrKTtcblxuICBpZiAoIXBhcmFtcy54cHViICYmICFwYXJhbXMuZXRoQWRkcmVzcykge1xuICAgIHRocm93IG5ldyBFcnJvcigneHB1YiBvciBldGhBZGRyZXNzIG11c3QgYmUgZGVmaW5lZCcpO1xuICB9XG5cbiAgY29uc3QgaWQgPSBwYXJhbXMueHB1YiB8fCBwYXJhbXMuZXRoQWRkcmVzcztcbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUoXG4gICAgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy5iaXRnby51cmwoJy9rZXljaGFpbi8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpXG4gICAgICAuc2VuZCh7fSlcbiAgICAgIC5yZXN1bHQoKVxuICApXG4gICAgLnRoZW4oZnVuY3Rpb24gKGtleWNoYWluKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGtleWNoYWluLnhwdWIgJiZcbiAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAmJlxuICAgICAgICBVdGlsLnhwdWJUb0V0aEFkZHJlc3MgJiZcbiAgICAgICAga2V5Y2hhaW4uZXRoQWRkcmVzcyAhPT0gVXRpbC54cHViVG9FdGhBZGRyZXNzKGtleWNoYWluLnhwdWIpXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdldGhBZGRyZXNzIGFuZCB4cHViIGRvIG5vdCBtYXRjaCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGtleWNoYWluO1xuICAgIH0pXG4gICAgLm5vZGVpZnkoY2FsbGJhY2spO1xufTtcblxuLy9cbi8vIHVwZGF0ZVxuLy8gVXBkYXRlIGFuIGV4aXN0aW5nIGtleWNoYWluXG4vLyBQYXJhbWV0ZXJzIGluY2x1ZGU6XG4vLyAgIHhwdWI6ICB0aGUgeHB1YiBvZiB0aGUga2V5IHRvIGxvb2t1cCAocmVxdWlyZWQpXG4vL1xuS2V5Y2hhaW5zLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsneHB1YiddLCBbJ2VuY3J5cHRlZFhwcnYnXSwgY2FsbGJhY2spO1xuXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKFxuICAgIHRoaXMuYml0Z29cbiAgICAgIC5wdXQodGhpcy5iaXRnby51cmwoJy9rZXljaGFpbi8nICsgcGFyYW1zLnhwdWIpKVxuICAgICAgLnNlbmQoe1xuICAgICAgICBlbmNyeXB0ZWRYcHJ2OiBwYXJhbXMuZW5jcnlwdGVkWHBydixcbiAgICAgIH0pXG4gICAgICAucmVzdWx0KClcbiAgKVxuICAgIC50aGVuKGZ1bmN0aW9uIChrZXljaGFpbikge1xuICAgICAgaWYgKFxuICAgICAgICBrZXljaGFpbi54cHViICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgJiZcbiAgICAgICAgVXRpbC54cHViVG9FdGhBZGRyZXNzICYmXG4gICAgICAgIGtleWNoYWluLmV0aEFkZHJlc3MgIT09IFV0aWwueHB1YlRvRXRoQWRkcmVzcyhrZXljaGFpbi54cHViKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZXRoQWRkcmVzcyBhbmQgeHB1YiBkbyBub3QgbWF0Y2gnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBrZXljaGFpbjtcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gS2V5Y2hhaW5zO1xuIl19
|
package/dist/src/v1/markets.js
CHANGED
|
@@ -63,4 +63,4 @@ Markets.prototype.lastDays = function (params, callback) {
|
|
|
63
63
|
return bluebird_1.default.resolve(this.bitgo.get(this.bitgo.url('/market/last/' + days + '/' + params.currencyName)).result()).nodeify(callback);
|
|
64
64
|
};
|
|
65
65
|
module.exports = Markets;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92MS9tYXJrZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7QUFFSDtHQUNHO0FBQ0gsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQix5Q0FBeUM7QUFDekMsRUFBRTtBQUNGLG9EQUFvRDtBQUNwRCxFQUFFO0FBRUYsd0RBQWdDO0FBRWhDLDhDQUF5QztBQUV6QyxFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUU7QUFDRixNQUFNLE9BQU8sR0FBRyxVQUFVLEtBQUs7SUFDN0Isc0NBQXNDO0lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGOzs7Ozs7SUFNSTtBQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLFVBQVUsTUFBTSxFQUFFLFFBQVE7SUFDbkQsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFaEQsT0FBTyxrQkFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkcsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxNQUFNLEVBQUUsUUFBUTtJQUN0RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QixpQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVoRCxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRyxDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVUsTUFBTSxFQUFFLFFBQVE7SUFDckQsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTlELE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFaEYsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsT0FBTyxrQkFBUSxDQUFDLE9BQU8sQ0FDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQzVGLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaGlkZGVuXG4gKi9cblxuLyoqXG4gKi9cbi8vXG4vLyBNYXJrZXRzIE9iamVjdFxuLy8gQml0R28gYWNjZXNzb3IgdG8gQml0Y29pbiBtYXJrZXQgZGF0YS5cbi8vXG4vLyBDb3B5cmlnaHQgMjAxNSwgQml0R28sIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vL1xuXG5pbXBvcnQgQmx1ZWJpcmQgZnJvbSAnYmx1ZWJpcmQnO1xuXG5pbXBvcnQgeyBjb21tb24gfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG4vL1xuLy8gQ29uc3RydWN0b3Jcbi8vXG5jb25zdCBNYXJrZXRzID0gZnVuY3Rpb24gKGJpdGdvKSB7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gIHRoaXMuYml0Z28gPSBiaXRnbztcbn07XG5cbi8qKlxuICogR2V0IHRoZSBsYXRlc3QgYml0Y29pbiBwcmljZSBkYXRhXG4gKiBAcGFyYW0gcGFyYW1zIHt9XG4gKiBAcGFyYW0gY2FsbGJhY2tcbiAqIEByZXR1cm5zIHsqfSBhbiBvYmplY3QgY29udGFpbmluZyBwcmljZSBhbmQgdm9sdW1lIGRhdGEgZnJvbSB0aGVcbiAqIGN1cnJlbnQgZGF5IGluIGEgbnVtYmVyIG9mIGN1cnJlbmNpZXNcbiAqKi9cbk1hcmtldHMucHJvdG90eXBlLmxhdGVzdCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFtdLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUodGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby51cmwoJy9tYXJrZXQvbGF0ZXN0JykpLnJlc3VsdCgpKS5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8qKlxuICogR2V0IHllc3RlcmRheSdzIGJpdGNvaW4gcHJpY2UgZGF0YVxuICogQHBhcmFtIHBhcmFtcyB7fVxuICogQHBhcmFtIGNhbGxiYWNrXG4gKiBAcmV0dXJucyB7Kn0gYW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJpY2UgYW5kIHZvbHVtZSBkYXRhIGZyb20gdGhlXG4gKiBwcmV2aW91cyBkYXkgaW4gYSBudW1iZXIgb2YgY3VycmVuY2llc1xuICovXG5NYXJrZXRzLnByb3RvdHlwZS55ZXN0ZXJkYXkgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbXSwgY2FsbGJhY2spO1xuXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28udXJsKCcvbWFya2V0L3llc3RlcmRheScpKS5yZXN1bHQoKSkubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vKipcbiAqIEdldCBiaXRjb2luIHByaWNlIGRhdGEgZnJvbSB1cCB0byA5MCBkYXlzIHByaW9yIHRvIHRvZGF5XG4gKiBAcGFyYW0gcGFyYW1zIHsgY3VycmVuY3lOYW1lOiB0aGUgY29kZSBmb3IgdGhlIGRlc2lyZWQgY3VycmVuY3ksIGZvciBleGFtcGxlIFVTRCB9XG4gKiBAcGFyYW0gY2FsbGJhY2tcbiAqIEByZXR1cm5zIHsqfSBhbiBvYmplY3QgY29udGFpbmluZyBhdmVyYWdlIHByaWNlcyBmcm9tIGEgbnVtYmVyIG9mIHByZXZpb3VzIGRheXNcbiAqL1xuTWFya2V0cy5wcm90b3R5cGUubGFzdERheXMgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsnY3VycmVuY3lOYW1lJ10sIFtdLCBjYWxsYmFjayk7XG5cbiAgY29uc3QgZGF5cyA9ICFpc05hTihwYXJzZUludChwYXJhbXMuZGF5cywgMTApKSA/IHBhcnNlSW50KHBhcmFtcy5kYXlzLCAxMCkgOiA5MDtcblxuICBpZiAoZGF5cyAmJiBkYXlzIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbXVzdCB1c2UgYSBub24tbmVnYXRpdmUgbnVtYmVyIG9mIGRheXMnKTtcbiAgfVxuXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKFxuICAgIHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28udXJsKCcvbWFya2V0L2xhc3QvJyArIGRheXMgKyAnLycgKyBwYXJhbXMuY3VycmVuY3lOYW1lKSkucmVzdWx0KClcbiAgKS5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gTWFya2V0cztcbiJdfQ==
|
|
@@ -18,13 +18,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
18
18
|
}) : function(o, v) {
|
|
19
19
|
o["default"] = v;
|
|
20
20
|
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || function (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
28
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
40
|
};
|
|
@@ -345,4 +355,4 @@ PendingApproval.prototype.cancel = function (params, callback) {
|
|
|
345
355
|
return this.reject(params, callback);
|
|
346
356
|
};
|
|
347
357
|
module.exports = PendingApproval;
|
|
348
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ2FwcHJvdmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3YxL3BlbmRpbmdhcHByb3ZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVIO0dBQ0c7QUFDSCwwQkFBMEI7QUFDMUIsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsRUFBRTtBQUNGLDhDQUF5QztBQUN6Qyx5REFBMkM7QUFFM0Msd0RBQWdDO0FBQ2hDLG9EQUF1QjtBQUV2QixFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUU7QUFDRixNQUFNLGVBQWUsR0FBRyxVQUFVLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTTtJQUM5RCxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbkIsc0NBQXNDO0lBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3ZDLHNDQUFzQztJQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsS0FBSztBQUNMLHVDQUF1QztBQUN2QyxFQUFFO0FBQ0YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUc7SUFDN0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsWUFBWTtBQUNaLDRDQUE0QztBQUM1Qyx5R0FBeUc7QUFDekcsc0dBQXNHO0FBQ3RHLCtHQUErRztBQUMvRyxFQUFFO0FBQ0YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxNQUFNLEVBQUUsUUFBUTtJQUM5RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QixpQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFR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LENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsV0FBVztBQUNYLGdEQUFnRDtBQUNoRCxFQUFFO0FBQ0YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBVSxNQUFNLEVBQUUsUUFBUTtJQUMzRCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QixpQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVoRCxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUVGLEVBQUU7QUFDRixTQUFTO0FBQ1QsK0JBQStCO0FBQy9CLEVBQUU7QUFDRixlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxVQUFVLE1BQU0sRUFBRSxRQUFRO0lBQzNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDO0FBRUYsaUJBQVMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaGlkZGVuXG4gKi9cblxuLyoqXG4gKi9cbi8vIFBlbmRpbmcgQXBwcm92YWwgT2JqZWN0XG4vLyBIYW5kbGVzIGFwcHJvdmluZywgcmVqZWN0aW5nIGFuZCBnZXR0aW5nIGluZm9ybWF0aW9uIG9uIHBlbmRpbmcgYXBwcm92YWxzXG4vL1xuLy8gQ29weXJpZ2h0IDIwMTUsIEJpdEdvLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy9cbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCBCbHVlYmlyZCBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG4vL1xuLy8gQ29uc3RydWN0b3Jcbi8vXG5jb25zdCBQZW5kaW5nQXBwcm92YWwgPSBmdW5jdGlvbiAoYml0Z28sIHBlbmRpbmdBcHByb3ZhbCwgd2FsbGV0KSB7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIG5vIGltcGxpY2l0IHRoaXNcbiAgdGhpcy5wZW5kaW5nQXBwcm92YWwgPSBwZW5kaW5nQXBwcm92YWw7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xufTtcblxuLy9cbi8vIGlkXG4vLyBHZXQgdGhlIGlkIG9mIHRoaXMgcGVuZGluZyBhcHByb3ZhbC5cbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLmlkID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcy5wZW5kaW5nQXBwcm92YWwuaWQ7XG59O1xuXG4vL1xuLy8gb3duZXJUeXBlXG4vLyBHZXQgdGhlIG93bmVyIHR5cGUgKHdhbGxldCBvciBlbnRlcnByaXNlKVxuLy8gUGVuZGluZyBhcHByb3ZhbHMgY2FuIGJlIGFwcHJvdmVkIG9yIG1vZGlmaWVkIGJ5IGRpZmZlcmVudCBzY29wZXMgKGRlcGVuZGluZyBvbiBob3cgdGhleSB3ZXJlIGNyZWF0ZWQpXG4vLyBJZiBhIHBlbmRpbmcgYXBwcm92YWwgaXMgb3duZWQgYnkgYSB3YWxsZXQsIHRoZW4gaXQgY2FuIGJlIGFwcHJvdmVkIGJ5IGFkbWluaXN0cmF0b3JzIG9mIHRoZSB3YWxsZXRcbi8vIElmIGEgcGVuZGluZyBhcHByb3ZhbCBpcyBvd25lZCBieSBhbiBlbnRlcnByaXNlLCB0aGVuIGl0IGNhbiBiZSBhcHByb3ZlZCBieSBhZG1pbmlzdHJhdG9ycyBvZiB0aGUgZW50ZXJwcmlzZVxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUub3duZXJUeXBlID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgW10sIGNhbGxiYWNrKTtcblxuICBpZiAodGhpcy5wZW5kaW5nQXBwcm92YWwud2FsbGV0SWQpIHtcbiAgICByZXR1cm4gJ3dhbGxldCc7XG4gIH0gZWxzZSBpZiAodGhpcy5wZW5kaW5nQXBwcm92YWwuZW50ZXJwcmlzZSkge1xuICAgIHJldHVybiAnZW50ZXJwcmlzZSc7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmV4cGVjdGVkIHBlbmRpbmcgYXBwcm92YWwgb3duZXI6IG5laXRoZXIgd2FsbGV0SWQgbm9yIGVudGVycHJpc2Ugd2FzIHByZXNlbnQnKTtcbiAgfVxufTtcblxuLy9cbi8vIHdhbGxldElkXG4vLyBHZXQgdGhlIHdhbGxldCBJRCB0aGF0IG93bnMgLyBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBlbmRpbmcgYXBwcm92YWxcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLndhbGxldElkID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcy5wZW5kaW5nQXBwcm92YWwud2FsbGV0SWQ7XG59O1xuXG4vL1xuLy8gZW50ZXJwcmlzZUlkXG4vLyBHZXQgdGhlIGVudGVycHJpc2UgSUQgdGhhdCBvd25zIC8gaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZW5kaW5nIGFwcHJvdmFsXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5lbnRlcnByaXNlSWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLnBlbmRpbmdBcHByb3ZhbC5lbnRlcnByaXNlO1xufTtcblxuLy9cbi8vIHN0YXRlXG4vLyBHZXQgdGhlIHN0YXRlIG9mIHRoZSBwZW5kaW5nIGFwcHJvdmFsXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5zdGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMucGVuZGluZ0FwcHJvdmFsLnN0YXRlO1xufTtcblxuLy9cbi8vIGNyZWF0b3Jcbi8vIEdldCB0aGUgaWQgb2YgdGhlIHVzZXIgdGhhdCBwZXJmb3JtZWQgdGhlIGFjdGlvbiByZXN1bHRpbmcgaW4gdGhpcyBwZW5kaW5nIGFwcHJvdmFsXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5jcmVhdG9yID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcy5wZW5kaW5nQXBwcm92YWwuY3JlYXRvcjtcbn07XG5cbi8vXG4vLyB0eXBlXG4vLyBHZXQgdGhlIHR5cGUgb2YgdGhlIHBlbmRpbmcgYXBwcm92YWwgKHdoYXQgaXQgYXBwcm92ZXMpXG4vLyBFeGFtcGxlOiB0cmFuc2FjdGlvblJlcXVlc3QsIHRhZ1VwZGF0ZVJlcXVlc3QsIHBvbGljeVJ1bGVSZXF1ZXN0XG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS50eXBlID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMucGVuZGluZ0FwcHJvdmFsLmluZm8pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3BlbmRpbmcgYXBwcm92YWwgaW5mbyBpcyBub3QgYXZhaWxhYmxlJyk7XG4gIH1cbiAgcmV0dXJuIHRoaXMucGVuZGluZ0FwcHJvdmFsLmluZm8udHlwZTtcbn07XG5cbi8vXG4vLyB0eXBlXG4vLyBHZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBlbmRpbmcgYXBwcm92YWxcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLmluZm8gPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLnBlbmRpbmdBcHByb3ZhbC5pbmZvO1xufTtcblxuLy9cbi8vIGFwcHJvdmFsc1JlcXVpcmVkXG4vLyBnZXQgdGhlIG51bWJlciBvZiBhcHByb3ZhbHMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIHRoaXMgcGVuZGluZyBhcHByb3ZhbCB0byBiZSBhcHByb3ZlZC5cbi8vIERlZmF1bHRzIHRvIDEgaWYgYXBwcm92YWxzUmVxdWlyZWQgZG9lc24ndCBleGlzdCBvbiB0aGUgb2JqZWN0XG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5hcHByb3ZhbHNSZXF1aXJlZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMucGVuZGluZ0FwcHJvdmFsLmFwcHJvdmFsc1JlcXVpcmVkIHx8IDE7XG59O1xuXG4vL1xuLy8gdXJsXG4vLyBHZXRzIHRoZSB1cmwgZm9yIHRoaXMgcGVuZGluZyBhcHByb3ZhbFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUudXJsID0gZnVuY3Rpb24gKGV4dHJhKSB7XG4gIGV4dHJhID0gZXh0cmEgfHwgJyc7XG4gIHJldHVybiB0aGlzLmJpdGdvLnVybCgnL3BlbmRpbmdhcHByb3ZhbHMvJyArIHRoaXMuaWQoKSArIGV4dHJhKTtcbn07XG5cbi8vXG4vLyBnZXRcbi8vIFJlZmV0Y2hlcyB0aGlzIHBlbmRpbmcgYXBwcm92YWwgYW5kIHJldHVybnMgaXRcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFtdLCBjYWxsYmFjayk7XG5cbiAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCkpLnJlc3VsdCgpKVxuICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIHNlbGYucGVuZGluZ0FwcHJvdmFsID0gcmVzO1xuICAgICAgcmV0dXJuIHNlbGY7XG4gICAgfSlcbiAgICAubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vL1xuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGVuc3VyZSB0aGF0IHNlbGYud2FsbGV0IGlzIHNldFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUucG9wdWxhdGVXYWxsZXQgPSBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHNlbGYgPSB0aGlzO1xuICBpZiAoIXNlbGYud2FsbGV0KSB7XG4gICAgcmV0dXJuIHNlbGYuYml0Z29cbiAgICAgIC53YWxsZXRzKClcbiAgICAgIC5nZXQoeyBpZDogc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LnNvdXJjZVdhbGxldCB9KVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHdhbGxldCkge1xuICAgICAgICBpZiAoIXdhbGxldCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndW5leHBlY3RlZCAtIHVuYWJsZSB0byBnZXQgd2FsbGV0IHVzaW5nIHNvdXJjZXdhbGxldCcpO1xuICAgICAgICB9XG4gICAgICAgIHNlbGYud2FsbGV0ID0gd2FsbGV0O1xuICAgICAgfSk7XG4gIH1cblxuICBpZiAoc2VsZi53YWxsZXQuaWQoKSAhPT0gc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LnNvdXJjZVdhbGxldCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5leHBlY3RlZCBzb3VyY2Ugd2FsbGV0IGZvciBwZW5kaW5nIGFwcHJvdmFsJyk7XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7IC8vIG90aGVyd2lzZSByZXR1cm5zIHVuZGVmaW5lZFxufTtcblxuLy9cbi8vIGhlbHBlciBmdW5jdGlvbiB0byByZWNyZWF0ZSBhbmQgc2lnbiBhIHRyYW5zYWN0aW9uIG9uIGEgd2FsbGV0XG4vLyB3ZSBzaG91bGQgaG9wZWZ1bGx5IGJlIGFibGUgdG8gbW92ZSB0aGlzIGxvZ2ljIHNlcnZlciBzaWRlIHNvb25cbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLnJlY3JlYXRlQW5kU2lnblRyYW5zYWN0aW9uID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gXy5leHRlbmQoe30sIHBhcmFtcyk7XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFsndHhIZXgnXSwgW10sIGNhbGxiYWNrKTtcblxuICBjb25zdCB0cmFuc2FjdGlvbiA9IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25Gcm9tSGV4KHBhcmFtcy50eEhleCwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgaWYgKCF0cmFuc2FjdGlvbi5vdXRzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0cmFuc2FjdGlvbiBoYWQgbm8gb3V0cHV0cyBvciBmYWlsZWQgdG8gcGFyc2Ugc3VjY2Vzc2Z1bGx5Jyk7XG4gIH1cblxuICBjb25zdCBuZXR3b3JrID0gdXR4b2xpYi5uZXR3b3Jrc1tjb21tb24uRW52aXJvbm1lbnRzW3RoaXMuYml0Z28uZ2V0RW52KCldLm5ldHdvcmtdO1xuICBwYXJhbXMucmVjaXBpZW50cyA9IHt9O1xuXG4gIGNvbnN0IHNlbGYgPSB0aGlzO1xuXG4gIHJldHVybiBCbHVlYmlyZC50cnkoZnVuY3Rpb24gKCkge1xuICAgIGlmIChzZWxmLmluZm8oKS50cmFuc2FjdGlvblJlcXVlc3QucmVjaXBpZW50cykge1xuICAgICAgLy8gcmVjaXBpZW50cyBvYmplY3QgZm91bmQgb24gdGhlIHBlbmRpbmcgYXBwcm92YWxzIC0gdXNlIGl0XG4gICAgICBwYXJhbXMucmVjaXBpZW50cyA9IHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC5yZWNpcGllbnRzO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodHJhbnNhY3Rpb24ub3V0cy5sZW5ndGggPD0gMikge1xuICAgICAgdHJhbnNhY3Rpb24ub3V0cy5mb3JFYWNoKGZ1bmN0aW9uIChvdXQpIHtcbiAgICAgICAgY29uc3Qgb3V0QWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KG91dC5zY3JpcHQsIG5ldHdvcmspO1xuICAgICAgICBpZiAoc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LmRlc3RpbmF0aW9uQWRkcmVzcyA9PT0gb3V0QWRkcmVzcykge1xuICAgICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGRlc3RpbmF0aW9uLCB0aGVuIHNwZW5kIHRvIGl0XG4gICAgICAgICAgcGFyYW1zLnJlY2lwaWVudHNbb3V0QWRkcmVzc10gPSBvdXQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoaXMgbG9va3MgbGlrZSBhIHNlbmRtYW55XG4gICAgLy8gQXR0ZW1wdCB0byBmaWd1cmUgb3V0IHRoZSBvdXRwdXRzIGJ5IGNob29zaW5nIGFsbCBvdXRwdXRzIHRoYXQgd2VyZSBub3QgZ29pbmcgYmFjayB0byB0aGUgd2FsbGV0IGFzIGNoYW5nZSBhZGRyZXNzZXNcbiAgICByZXR1cm4gc2VsZi53YWxsZXQuYWRkcmVzc2VzKHsgY2hhaW46IDEsIHNvcnQ6IC0xLCBsaW1pdDogNTAwIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgY29uc3QgY2hhbmdlQWRkcmVzc2VzID0gXy5rZXlCeShyZXN1bHQuYWRkcmVzc2VzLCAnYWRkcmVzcycpO1xuICAgICAgdHJhbnNhY3Rpb24ub3V0cy5mb3JFYWNoKGZ1bmN0aW9uIChvdXQpIHtcbiAgICAgICAgY29uc3Qgb3V0QWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KG91dC5zY3JpcHQsIG5ldHdvcmspO1xuICAgICAgICBpZiAoIWNoYW5nZUFkZHJlc3Nlc1tvdXRBZGRyZXNzXSkge1xuICAgICAgICAgIC8vIElmIHRoaXMgaXMgbm90IGEgY2hhbmdlIGFkZHJlc3MsIHRoZW4gc3BlbmQgdG8gaXRcbiAgICAgICAgICBwYXJhbXMucmVjaXBpZW50c1tvdXRBZGRyZXNzXSA9IG91dC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBzZWxmLndhbGxldC5jcmVhdGVBbmRTaWduVHJhbnNhY3Rpb24ocGFyYW1zKTtcbiAgfSk7XG59O1xuXG4vL1xuLy8gY29uc3RydWN0QXBwcm92YWxUeFxuLy8gY29uc3RydWN0cy9zaWducyBhIHRyYW5zYWN0aW9uIGZvciB0aGlzIHBlbmRpbmcgYXBwcm92YWwsIHJldHVybmluZyB0aGUgdHhIZXggKGJ1dCBub3Qgc2VuZGluZyBpdClcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLmNvbnN0cnVjdEFwcHJvdmFsVHggPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbJ3dhbGxldFBhc3NwaHJhc2UnXSwgY2FsbGJhY2spO1xuXG4gIGlmICh0aGlzLnR5cGUoKSA9PT0gJ3RyYW5zYWN0aW9uUmVxdWVzdCcgJiYgIShwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB8fCBwYXJhbXMueHBydikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3dhbGxldCBwYXNzcGhyYXNlIG9yIHhwcnYgcmVxdWlyZWQgdG8gYXBwcm92ZSBhIHRyYW5zYWN0aW9uUmVxdWVzdCcpO1xuICB9XG5cbiAgaWYgKHBhcmFtcy51c2VPcmlnaW5hbEZlZSkge1xuICAgIGlmICghXy5pc0Jvb2xlYW4ocGFyYW1zLnVzZU9yaWdpbmFsRmVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHR5cGUgZm9yIHVzZU9yaWdpbmFsRmVlUmF0ZScpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmZlZSB8fCBwYXJhbXMuZmVlUmF0ZSB8fCBwYXJhbXMuZmVlVHhDb25maXJtVGFyZ2V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBzcGVjaWZ5IGEgZmVlL2ZlZXJhdGUvZmVlVHhDb25maXJtVGFyZ2V0IGFzIHdlbGwgYXMgdXNlT3JpZ2luYWxGZWUnKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBzZWxmID0gdGhpcztcbiAgcmV0dXJuIEJsdWViaXJkLnRyeShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNlbGYudHlwZSgpID09PSAndHJhbnNhY3Rpb25SZXF1ZXN0Jykge1xuICAgICAgY29uc3QgZXh0ZW5kUGFyYW1zOiBhbnkgPSB7IHR4SGV4OiBzZWxmLmluZm8oKS50cmFuc2FjdGlvblJlcXVlc3QudHJhbnNhY3Rpb24gfTtcbiAgICAgIGlmIChwYXJhbXMudXNlT3JpZ2luYWxGZWUpIHtcbiAgICAgICAgZXh0ZW5kUGFyYW1zLmZlZSA9IHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC5mZWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2VsZi5wb3B1bGF0ZVdhbGxldCgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gc2VsZi5yZWNyZWF0ZUFuZFNpZ25UcmFuc2FjdGlvbihfLmV4dGVuZChwYXJhbXMsIGV4dGVuZFBhcmFtcykpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vXG4vLyBhcHByb3ZlXG4vLyBzZXRzIHRoZSBwZW5kaW5nIGFwcHJvdmFsIHRvIGFuIGFwcHJvdmVkIHN0YXRlXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5hcHByb3ZlID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgWyd3YWxsZXRQYXNzcGhyYXNlJywgJ290cCddLCBjYWxsYmFjayk7XG5cbiAgbGV0IGNhblJlY3JlYXRlVHJhbnNhY3Rpb24gPSB0cnVlO1xuICBpZiAodGhpcy50eXBlKCkgPT09ICd0cmFuc2FjdGlvblJlcXVlc3QnKSB7XG4gICAgaWYgKCFwYXJhbXMud2FsbGV0UGFzc3BocmFzZSAmJiAhcGFyYW1zLnhwcnYpIHtcbiAgICAgIGNhblJlY3JlYXRlVHJhbnNhY3Rpb24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBjaGVjayB0aGUgd2FsbGV0IGJhbGFuY2UgYW5kIGNvbXBhcmUgaXQgd2l0aCB0aGUgdHJhbnNhY3Rpb24gYW1vdW50IGFuZCBmZWVcbiAgICBpZiAoXy5pc1VuZGVmaW5lZChwYXJhbXMuZm9yY2VSZWNyZWF0ZSkgJiYgXy5pc09iamVjdChfLmdldCh0aGlzLCAnd2FsbGV0LndhbGxldCcpKSkge1xuICAgICAgY29uc3QgcmVxdWVzdGVkQW1vdW50ID0gdGhpcy5wZW5kaW5nQXBwcm92YWwuaW5mby50cmFuc2FjdGlvblJlcXVlc3QucmVxdWVzdGVkQW1vdW50IHx8IDA7XG4gICAgICBjb25zdCB3YWxsZXRCYWxhbmNlID0gdGhpcy53YWxsZXQud2FsbGV0LnNwZW5kYWJsZUJhbGFuY2U7XG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGguYWJzKHJlcXVlc3RlZEFtb3VudCAtIHdhbGxldEJhbGFuY2UpO1xuICAgICAgaWYgKGRlbHRhIDw9IDEwMDAwKSB7XG4gICAgICAgIC8vIGl0J3MgYSBzd2VlcCBiZWNhdXNlIHdlJ3JlIHdpdGhpbiAxMGsgc2F0b3NoaXMgb2YgdGhlIHdhbGxldCBiYWxhbmNlXG4gICAgICAgIGNhblJlY3JlYXRlVHJhbnNhY3Rpb24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzZWxmID0gdGhpcztcbiAgcmV0dXJuIEJsdWViaXJkLnRyeShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNlbGYudHlwZSgpID09PSAndHJhbnNhY3Rpb25SZXF1ZXN0Jykge1xuICAgICAgaWYgKHBhcmFtcy50eCkge1xuICAgICAgICAvLyB0aGUgYXBwcm92YWwgdHggd2FzIHJlY29uc3RydWN0ZWQgYW5kIGV4cGxpY2l0bHkgc3BlY2lmaWVkIC0gcGFzcyBpdCB0aHJvdWdoXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHg6IHBhcmFtcy50eCxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyB1c2VyIG1heSBub3QgaGF2ZSBzcGVuZGluZyBwcml2aWxlZ2VzIG9yIGEgcGFzc3BocmFzZSBtYXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgaW5cbiAgICAgIGlmICghY2FuUmVjcmVhdGVUcmFuc2FjdGlvbikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR4OiBzZWxmLmluZm8oKS50cmFuc2FjdGlvblJlcXVlc3QudHJhbnNhY3Rpb24sXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZWxmLnBvcHVsYXRlV2FsbGV0KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHJlY3JlYXRpb25QYXJhbXMgPSBfLmV4dGVuZChcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgeyB0eEhleDogc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LnRyYW5zYWN0aW9uIH0sXG4gICAgICAgICAgc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LmJ1aWxkUGFyYW1zXG4gICAgICAgICk7XG4gICAgICAgIC8vIGRlbGV0ZSB0aGUgb2xkIGJ1aWxkIHBhcmFtcyBiZWNhdXNlIHdlIHdhbnQgJ3JlY3JlYXRlQW5kU2lnbicgdG8gcmVjcmVhdGUgdGhlIHRyYW5zYWN0aW9uXG4gICAgICAgIGRlbGV0ZSByZWNyZWF0aW9uUGFyYW1zLmZlZTtcbiAgICAgICAgZGVsZXRlIHJlY3JlYXRpb25QYXJhbXMudW5zcGVudHM7XG4gICAgICAgIGRlbGV0ZSByZWNyZWF0aW9uUGFyYW1zLnR4SW5mbztcbiAgICAgICAgZGVsZXRlIHJlY3JlYXRpb25QYXJhbXMuZXN0aW1hdGVkU2l6ZTtcbiAgICAgICAgZGVsZXRlIHJlY3JlYXRpb25QYXJhbXMuY2hhbmdlQWRkcmVzc2VzO1xuICAgICAgICByZXR1cm4gc2VsZi5yZWNyZWF0ZUFuZFNpZ25UcmFuc2FjdGlvbihyZWNyZWF0aW9uUGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSlcbiAgICAudGhlbihmdW5jdGlvbiAodHJhbnNhY3Rpb24pIHtcbiAgICAgIGNvbnN0IGFwcHJvdmFsUGFyYW1zOiBhbnkgPSB7IHN0YXRlOiAnYXBwcm92ZWQnLCBvdHA6IHBhcmFtcy5vdHAgfTtcbiAgICAgIGlmICh0cmFuc2FjdGlvbikge1xuICAgICAgICBhcHByb3ZhbFBhcmFtcy50eCA9IHRyYW5zYWN0aW9uLnR4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUoc2VsZi5iaXRnby5wdXQoc2VsZi51cmwoKSkuc2VuZChhcHByb3ZhbFBhcmFtcykucmVzdWx0KCkpLm5vZGVpZnkoY2FsbGJhY2spO1xuICAgIH0pXG4gICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgaWYgKFxuICAgICAgICAhY2FuUmVjcmVhdGVUcmFuc2FjdGlvbiAmJlxuICAgICAgICAoZXJyb3IubWVzc2FnZS5pbmRleE9mKCdjb3VsZCBub3QgZmluZCB1bnNwZW50IG91dHB1dCBmb3IgaW5wdXQnKSAhPT0gLTEgfHxcbiAgICAgICAgICBlcnJvci5tZXNzYWdlLmluZGV4T2YoJ3RyYW5zYWN0aW9uIGNvbmZsaWN0cyB3aXRoIGFuIGV4aXN0aW5nIHRyYW5zYWN0aW9uIGluIHRoZSBzZW5kIHF1ZXVlJykgIT09IC0xKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndW5zcGVudHMgZXhwaXJlZCwgd2FsbGV0IHBhc3NwaHJhc2Ugb3IgeHBydiByZXF1aXJlZCB0byByZWNyZWF0ZSB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBfLmlzVW5kZWZpbmVkKHBhcmFtcy5mb3JjZVJlY3JlYXRlKSAmJlxuICAgICAgICBlcnJvci5tZXNzYWdlLmluZGV4T2YoJ2NvdWxkIG5vdCBmaW5kIHVuc3BlbnQgb3V0cHV0IGZvciBpbnB1dCcpICE9PSAtMVxuICAgICAgKSB7XG4gICAgICAgIC8vIGlmIHRoZSB1bnNwZW50cyBjYW4ndCBiZSBmb3VuZCwgd2UgbXVzdCByZXRyeSB3aXRoIGEgbmV3bHkgY29uc3RydWN0ZWQgdHJhbnNhY3Rpb24sIHNvIHdlIGRlbGV0ZSB0aGUgdHggYW5kIHRyeSBhZ2FpblxuICAgICAgICAvLyBkZWxldGluZyBwYXJhbXMudHggd2lsbCBmb3JjZSB0aGUgY29kZSB0byByZWFjaCB0aGUgJ3JlY3JlYXRlQW5kU2lnblRyYW5zYWN0aW9uJyBmdW5jdGlvblxuICAgICAgICBkZWxldGUgcGFyYW1zLnR4O1xuICAgICAgICBwYXJhbXMuZm9yY2VSZWNyZWF0ZSA9IHRydWU7XG4gICAgICAgIHNlbGYuYXBwcm92ZShwYXJhbXMsIGNhbGxiYWNrKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgIH0pO1xufTtcblxuLy9cbi8vIHJlamVjdGVkXG4vLyBzZXRzIHRoZSBwZW5kaW5nIGFwcHJvdmFsIHRvIGEgcmVqZWN0ZWQgc3RhdGVcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLnJlamVjdCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFtdLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIEJsdWViaXJkLnJlc29sdmUodGhpcy5iaXRnby5wdXQodGhpcy51cmwoKSkuc2VuZCh7IHN0YXRlOiAncmVqZWN0ZWQnIH0pLnJlc3VsdCgpKS5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyBjYW5jZWxcbi8vIHJlamVjdHMgdGhlIHBlbmRpbmcgYXBwcm92YWxcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLmNhbmNlbCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHJldHVybiB0aGlzLnJlamVjdChwYXJhbXMsIGNhbGxiYWNrKTtcbn07XG5cbmV4cG9ydCA9IFBlbmRpbmdBcHByb3ZhbDtcbiJdfQ==
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ2FwcHJvdmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3YxL3BlbmRpbmdhcHByb3ZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSDtHQUNHO0FBQ0gsMEJBQTBCO0FBQzFCLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRiw4Q0FBeUM7QUFDekMseURBQTJDO0FBRTNDLHdEQUFnQztBQUNoQyxvREFBdUI7QUFFdkIsRUFBRTtBQUNGLGNBQWM7QUFDZCxFQUFFO0FBQ0YsTUFBTSxlQUFlLEdBQUcsVUFBVSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU07SUFDOUQsc0NBQXNDO0lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ25CLHNDQUFzQztJQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUN2QyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsRUFBRTtBQUNGLEtBQUs7QUFDTCx1Q0FBdUM7QUFDdkMsRUFBRTtBQUNGLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHO0lBQzdCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsRUFBRTtBQUNGLFlBQVk7QUFDWiw0Q0FBNEM7QUFDNUMseUdBQXlHO0FBQ3pHLHNHQUFzRztBQUN0RywrR0FBK0c7QUFDL0csRUFBRTtBQUNGLGVBQWUsQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLFVBQVUsTUFBTSxFQUFFLFFBQVE7SUFDOUQsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFF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QUNULCtCQUErQjtBQUMvQixFQUFFO0FBQ0YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBVSxNQUFNLEVBQUUsUUFBUTtJQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQUVGLGlCQUFTLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGhpZGRlblxuICovXG5cbi8qKlxuICovXG4vLyBQZW5kaW5nIEFwcHJvdmFsIE9iamVjdFxuLy8gSGFuZGxlcyBhcHByb3ZpbmcsIHJlamVjdGluZyBhbmQgZ2V0dGluZyBpbmZvcm1hdGlvbiBvbiBwZW5kaW5nIGFwcHJvdmFsc1xuLy9cbi8vIENvcHlyaWdodCAyMDE1LCBCaXRHbywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vXG5pbXBvcnQgeyBjb21tb24gfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgQmx1ZWJpcmQgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLy9cbi8vIENvbnN0cnVjdG9yXG4vL1xuY29uc3QgUGVuZGluZ0FwcHJvdmFsID0gZnVuY3Rpb24gKGJpdGdvLCBwZW5kaW5nQXBwcm92YWwsIHdhbGxldCkge1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gbm8gaW1wbGljaXQgdGhpc1xuICB0aGlzLmJpdGdvID0gYml0Z287XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBubyBpbXBsaWNpdCB0aGlzXG4gIHRoaXMucGVuZGluZ0FwcHJvdmFsID0gcGVuZGluZ0FwcHJvdmFsO1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gbm8gaW1wbGljaXQgdGhpc1xuICB0aGlzLndhbGxldCA9IHdhbGxldDtcbn07XG5cbi8vXG4vLyBpZFxuLy8gR2V0IHRoZSBpZCBvZiB0aGlzIHBlbmRpbmcgYXBwcm92YWwuXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5pZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMucGVuZGluZ0FwcHJvdmFsLmlkO1xufTtcblxuLy9cbi8vIG93bmVyVHlwZVxuLy8gR2V0IHRoZSBvd25lciB0eXBlICh3YWxsZXQgb3IgZW50ZXJwcmlzZSlcbi8vIFBlbmRpbmcgYXBwcm92YWxzIGNhbiBiZSBhcHByb3ZlZCBvciBtb2RpZmllZCBieSBkaWZmZXJlbnQgc2NvcGVzIChkZXBlbmRpbmcgb24gaG93IHRoZXkgd2VyZSBjcmVhdGVkKVxuLy8gSWYgYSBwZW5kaW5nIGFwcHJvdmFsIGlzIG93bmVkIGJ5IGEgd2FsbGV0LCB0aGVuIGl0IGNhbiBiZSBhcHByb3ZlZCBieSBhZG1pbmlzdHJhdG9ycyBvZiB0aGUgd2FsbGV0XG4vLyBJZiBhIHBlbmRpbmcgYXBwcm92YWwgaXMgb3duZWQgYnkgYW4gZW50ZXJwcmlzZSwgdGhlbiBpdCBjYW4gYmUgYXBwcm92ZWQgYnkgYWRtaW5pc3RyYXRvcnMgb2YgdGhlIGVudGVycHJpc2Vcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLm93bmVyVHlwZSA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFtdLCBjYWxsYmFjayk7XG5cbiAgaWYgKHRoaXMucGVuZGluZ0FwcHJvdmFsLndhbGxldElkKSB7XG4gICAgcmV0dXJuICd3YWxsZXQnO1xuICB9IGVsc2UgaWYgKHRoaXMucGVuZGluZ0FwcHJvdmFsLmVudGVycHJpc2UpIHtcbiAgICByZXR1cm4gJ2VudGVycHJpc2UnO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5leHBlY3RlZCBwZW5kaW5nIGFwcHJvdmFsIG93bmVyOiBuZWl0aGVyIHdhbGxldElkIG5vciBlbnRlcnByaXNlIHdhcyBwcmVzZW50Jyk7XG4gIH1cbn07XG5cbi8vXG4vLyB3YWxsZXRJZFxuLy8gR2V0IHRoZSB3YWxsZXQgSUQgdGhhdCBvd25zIC8gaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZW5kaW5nIGFwcHJvdmFsXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS53YWxsZXRJZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMucGVuZGluZ0FwcHJvdmFsLndhbGxldElkO1xufTtcblxuLy9cbi8vIGVudGVycHJpc2VJZFxuLy8gR2V0IHRoZSBlbnRlcnByaXNlIElEIHRoYXQgb3ducyAvIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGVuZGluZyBhcHByb3ZhbFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUuZW50ZXJwcmlzZUlkID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcy5wZW5kaW5nQXBwcm92YWwuZW50ZXJwcmlzZTtcbn07XG5cbi8vXG4vLyBzdGF0ZVxuLy8gR2V0IHRoZSBzdGF0ZSBvZiB0aGUgcGVuZGluZyBhcHByb3ZhbFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUuc3RhdGUgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLnBlbmRpbmdBcHByb3ZhbC5zdGF0ZTtcbn07XG5cbi8vXG4vLyBjcmVhdG9yXG4vLyBHZXQgdGhlIGlkIG9mIHRoZSB1c2VyIHRoYXQgcGVyZm9ybWVkIHRoZSBhY3Rpb24gcmVzdWx0aW5nIGluIHRoaXMgcGVuZGluZyBhcHByb3ZhbFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUuY3JlYXRvciA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMucGVuZGluZ0FwcHJvdmFsLmNyZWF0b3I7XG59O1xuXG4vL1xuLy8gdHlwZVxuLy8gR2V0IHRoZSB0eXBlIG9mIHRoZSBwZW5kaW5nIGFwcHJvdmFsICh3aGF0IGl0IGFwcHJvdmVzKVxuLy8gRXhhbXBsZTogdHJhbnNhY3Rpb25SZXF1ZXN0LCB0YWdVcGRhdGVSZXF1ZXN0LCBwb2xpY3lSdWxlUmVxdWVzdFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUudHlwZSA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCF0aGlzLnBlbmRpbmdBcHByb3ZhbC5pbmZvKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwZW5kaW5nIGFwcHJvdmFsIGluZm8gaXMgbm90IGF2YWlsYWJsZScpO1xuICB9XG4gIHJldHVybiB0aGlzLnBlbmRpbmdBcHByb3ZhbC5pbmZvLnR5cGU7XG59O1xuXG4vL1xuLy8gdHlwZVxuLy8gR2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBwZW5kaW5nIGFwcHJvdmFsXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5pbmZvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcy5wZW5kaW5nQXBwcm92YWwuaW5mbztcbn07XG5cbi8vXG4vLyBhcHByb3ZhbHNSZXF1aXJlZFxuLy8gZ2V0IHRoZSBudW1iZXIgb2YgYXBwcm92YWxzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciB0aGlzIHBlbmRpbmcgYXBwcm92YWwgdG8gYmUgYXBwcm92ZWQuXG4vLyBEZWZhdWx0cyB0byAxIGlmIGFwcHJvdmFsc1JlcXVpcmVkIGRvZXNuJ3QgZXhpc3Qgb24gdGhlIG9iamVjdFxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUuYXBwcm92YWxzUmVxdWlyZWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLnBlbmRpbmdBcHByb3ZhbC5hcHByb3ZhbHNSZXF1aXJlZCB8fCAxO1xufTtcblxuLy9cbi8vIHVybFxuLy8gR2V0cyB0aGUgdXJsIGZvciB0aGlzIHBlbmRpbmcgYXBwcm92YWxcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLnVybCA9IGZ1bmN0aW9uIChleHRyYSkge1xuICBleHRyYSA9IGV4dHJhIHx8ICcnO1xuICByZXR1cm4gdGhpcy5iaXRnby51cmwoJy9wZW5kaW5nYXBwcm92YWxzLycgKyB0aGlzLmlkKCkgKyBleHRyYSk7XG59O1xuXG4vL1xuLy8gZ2V0XG4vLyBSZWZldGNoZXMgdGhpcyBwZW5kaW5nIGFwcHJvdmFsIGFuZCByZXR1cm5zIGl0XG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbXSwgY2FsbGJhY2spO1xuXG4gIGNvbnN0IHNlbGYgPSB0aGlzO1xuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLmdldCh0aGlzLnVybCgpKS5yZXN1bHQoKSlcbiAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7XG4gICAgICBzZWxmLnBlbmRpbmdBcHByb3ZhbCA9IHJlcztcbiAgICAgIHJldHVybiBzZWxmO1xuICAgIH0pXG4gICAgLm5vZGVpZnkoY2FsbGJhY2spO1xufTtcblxuLy9cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBlbnN1cmUgdGhhdCBzZWxmLndhbGxldCBpcyBzZXRcbi8vXG5QZW5kaW5nQXBwcm92YWwucHJvdG90eXBlLnBvcHVsYXRlV2FsbGV0ID0gZnVuY3Rpb24gKCkge1xuICBjb25zdCBzZWxmID0gdGhpcztcbiAgaWYgKCFzZWxmLndhbGxldCkge1xuICAgIHJldHVybiBzZWxmLmJpdGdvXG4gICAgICAud2FsbGV0cygpXG4gICAgICAuZ2V0KHsgaWQ6IHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC5zb3VyY2VXYWxsZXQgfSlcbiAgICAgIC50aGVuKGZ1bmN0aW9uICh3YWxsZXQpIHtcbiAgICAgICAgaWYgKCF3YWxsZXQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuZXhwZWN0ZWQgLSB1bmFibGUgdG8gZ2V0IHdhbGxldCB1c2luZyBzb3VyY2V3YWxsZXQnKTtcbiAgICAgICAgfVxuICAgICAgICBzZWxmLndhbGxldCA9IHdhbGxldDtcbiAgICAgIH0pO1xuICB9XG5cbiAgaWYgKHNlbGYud2FsbGV0LmlkKCkgIT09IHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC5zb3VyY2VXYWxsZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuZXhwZWN0ZWQgc291cmNlIHdhbGxldCBmb3IgcGVuZGluZyBhcHByb3ZhbCcpO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOyAvLyBvdGhlcndpc2UgcmV0dXJucyB1bmRlZmluZWRcbn07XG5cbi8vXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gcmVjcmVhdGUgYW5kIHNpZ24gYSB0cmFuc2FjdGlvbiBvbiBhIHdhbGxldFxuLy8gd2Ugc2hvdWxkIGhvcGVmdWxseSBiZSBhYmxlIHRvIG1vdmUgdGhpcyBsb2dpYyBzZXJ2ZXIgc2lkZSBzb29uXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5yZWNyZWF0ZUFuZFNpZ25UcmFuc2FjdGlvbiA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IF8uZXh0ZW5kKHt9LCBwYXJhbXMpO1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ3R4SGV4J10sIFtdLCBjYWxsYmFjayk7XG5cbiAgY29uc3QgdHJhbnNhY3Rpb24gPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleChwYXJhbXMudHhIZXgsIHV0eG9saWIubmV0d29ya3MuYml0Y29pbik7XG4gIGlmICghdHJhbnNhY3Rpb24ub3V0cykge1xuICAgIHRocm93IG5ldyBFcnJvcigndHJhbnNhY3Rpb24gaGFkIG5vIG91dHB1dHMgb3IgZmFpbGVkIHRvIHBhcnNlIHN1Y2Nlc3NmdWxseScpO1xuICB9XG5cbiAgY29uc3QgbmV0d29yayA9IHV0eG9saWIubmV0d29ya3NbY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5uZXR3b3JrXTtcbiAgcGFyYW1zLnJlY2lwaWVudHMgPSB7fTtcblxuICBjb25zdCBzZWxmID0gdGhpcztcblxuICByZXR1cm4gQmx1ZWJpcmQudHJ5KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LnJlY2lwaWVudHMpIHtcbiAgICAgIC8vIHJlY2lwaWVudHMgb2JqZWN0IGZvdW5kIG9uIHRoZSBwZW5kaW5nIGFwcHJvdmFscyAtIHVzZSBpdFxuICAgICAgcGFyYW1zLnJlY2lwaWVudHMgPSBzZWxmLmluZm8oKS50cmFuc2FjdGlvblJlcXVlc3QucmVjaXBpZW50cztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRyYW5zYWN0aW9uLm91dHMubGVuZ3RoIDw9IDIpIHtcbiAgICAgIHRyYW5zYWN0aW9uLm91dHMuZm9yRWFjaChmdW5jdGlvbiAob3V0KSB7XG4gICAgICAgIGNvbnN0IG91dEFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChvdXQuc2NyaXB0LCBuZXR3b3JrKTtcbiAgICAgICAgaWYgKHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC5kZXN0aW5hdGlvbkFkZHJlc3MgPT09IG91dEFkZHJlc3MpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBkZXN0aW5hdGlvbiwgdGhlbiBzcGVuZCB0byBpdFxuICAgICAgICAgIHBhcmFtcy5yZWNpcGllbnRzW291dEFkZHJlc3NdID0gb3V0LnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGxvb2tzIGxpa2UgYSBzZW5kbWFueVxuICAgIC8vIEF0dGVtcHQgdG8gZmlndXJlIG91dCB0aGUgb3V0cHV0cyBieSBjaG9vc2luZyBhbGwgb3V0cHV0cyB0aGF0IHdlcmUgbm90IGdvaW5nIGJhY2sgdG8gdGhlIHdhbGxldCBhcyBjaGFuZ2UgYWRkcmVzc2VzXG4gICAgcmV0dXJuIHNlbGYud2FsbGV0LmFkZHJlc3Nlcyh7IGNoYWluOiAxLCBzb3J0OiAtMSwgbGltaXQ6IDUwMCB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgIGNvbnN0IGNoYW5nZUFkZHJlc3NlcyA9IF8ua2V5QnkocmVzdWx0LmFkZHJlc3NlcywgJ2FkZHJlc3MnKTtcbiAgICAgIHRyYW5zYWN0aW9uLm91dHMuZm9yRWFjaChmdW5jdGlvbiAob3V0KSB7XG4gICAgICAgIGNvbnN0IG91dEFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChvdXQuc2NyaXB0LCBuZXR3b3JrKTtcbiAgICAgICAgaWYgKCFjaGFuZ2VBZGRyZXNzZXNbb3V0QWRkcmVzc10pIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIGlzIG5vdCBhIGNoYW5nZSBhZGRyZXNzLCB0aGVuIHNwZW5kIHRvIGl0XG4gICAgICAgICAgcGFyYW1zLnJlY2lwaWVudHNbb3V0QWRkcmVzc10gPSBvdXQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gc2VsZi53YWxsZXQuY3JlYXRlQW5kU2lnblRyYW5zYWN0aW9uKHBhcmFtcyk7XG4gIH0pO1xufTtcblxuLy9cbi8vIGNvbnN0cnVjdEFwcHJvdmFsVHhcbi8vIGNvbnN0cnVjdHMvc2lnbnMgYSB0cmFuc2FjdGlvbiBmb3IgdGhpcyBwZW5kaW5nIGFwcHJvdmFsLCByZXR1cm5pbmcgdGhlIHR4SGV4IChidXQgbm90IHNlbmRpbmcgaXQpXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5jb25zdHJ1Y3RBcHByb3ZhbFR4ID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbXSwgWyd3YWxsZXRQYXNzcGhyYXNlJ10sIGNhbGxiYWNrKTtcblxuICBpZiAodGhpcy50eXBlKCkgPT09ICd0cmFuc2FjdGlvblJlcXVlc3QnICYmICEocGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfHwgcGFyYW1zLnhwcnYpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd3YWxsZXQgcGFzc3BocmFzZSBvciB4cHJ2IHJlcXVpcmVkIHRvIGFwcHJvdmUgYSB0cmFuc2FjdGlvblJlcXVlc3QnKTtcbiAgfVxuXG4gIGlmIChwYXJhbXMudXNlT3JpZ2luYWxGZWUpIHtcbiAgICBpZiAoIV8uaXNCb29sZWFuKHBhcmFtcy51c2VPcmlnaW5hbEZlZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB0eXBlIGZvciB1c2VPcmlnaW5hbEZlZVJhdGUnKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5mZWUgfHwgcGFyYW1zLmZlZVJhdGUgfHwgcGFyYW1zLmZlZVR4Q29uZmlybVRhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3Qgc3BlY2lmeSBhIGZlZS9mZWVyYXRlL2ZlZVR4Q29uZmlybVRhcmdldCBhcyB3ZWxsIGFzIHVzZU9yaWdpbmFsRmVlJyk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gIHJldHVybiBCbHVlYmlyZC50cnkoZnVuY3Rpb24gKCkge1xuICAgIGlmIChzZWxmLnR5cGUoKSA9PT0gJ3RyYW5zYWN0aW9uUmVxdWVzdCcpIHtcbiAgICAgIGNvbnN0IGV4dGVuZFBhcmFtczogYW55ID0geyB0eEhleDogc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LnRyYW5zYWN0aW9uIH07XG4gICAgICBpZiAocGFyYW1zLnVzZU9yaWdpbmFsRmVlKSB7XG4gICAgICAgIGV4dGVuZFBhcmFtcy5mZWUgPSBzZWxmLmluZm8oKS50cmFuc2FjdGlvblJlcXVlc3QuZmVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNlbGYucG9wdWxhdGVXYWxsZXQoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYucmVjcmVhdGVBbmRTaWduVHJhbnNhY3Rpb24oXy5leHRlbmQocGFyYW1zLCBleHRlbmRQYXJhbXMpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG4vL1xuLy8gYXBwcm92ZVxuLy8gc2V0cyB0aGUgcGVuZGluZyBhcHByb3ZhbCB0byBhbiBhcHByb3ZlZCBzdGF0ZVxuLy9cblBlbmRpbmdBcHByb3ZhbC5wcm90b3R5cGUuYXBwcm92ZSA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFsnd2FsbGV0UGFzc3BocmFzZScsICdvdHAnXSwgY2FsbGJhY2spO1xuXG4gIGxldCBjYW5SZWNyZWF0ZVRyYW5zYWN0aW9uID0gdHJ1ZTtcbiAgaWYgKHRoaXMudHlwZSgpID09PSAndHJhbnNhY3Rpb25SZXF1ZXN0Jykge1xuICAgIGlmICghcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgJiYgIXBhcmFtcy54cHJ2KSB7XG4gICAgICBjYW5SZWNyZWF0ZVRyYW5zYWN0aW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgdGhlIHdhbGxldCBiYWxhbmNlIGFuZCBjb21wYXJlIGl0IHdpdGggdGhlIHRyYW5zYWN0aW9uIGFtb3VudCBhbmQgZmVlXG4gICAgaWYgKF8uaXNVbmRlZmluZWQocGFyYW1zLmZvcmNlUmVjcmVhdGUpICYmIF8uaXNPYmplY3QoXy5nZXQodGhpcywgJ3dhbGxldC53YWxsZXQnKSkpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3RlZEFtb3VudCA9IHRoaXMucGVuZGluZ0FwcHJvdmFsLmluZm8udHJhbnNhY3Rpb25SZXF1ZXN0LnJlcXVlc3RlZEFtb3VudCB8fCAwO1xuICAgICAgY29uc3Qgd2FsbGV0QmFsYW5jZSA9IHRoaXMud2FsbGV0LndhbGxldC5zcGVuZGFibGVCYWxhbmNlO1xuICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLmFicyhyZXF1ZXN0ZWRBbW91bnQgLSB3YWxsZXRCYWxhbmNlKTtcbiAgICAgIGlmIChkZWx0YSA8PSAxMDAwMCkge1xuICAgICAgICAvLyBpdCdzIGEgc3dlZXAgYmVjYXVzZSB3ZSdyZSB3aXRoaW4gMTBrIHNhdG9zaGlzIG9mIHRoZSB3YWxsZXQgYmFsYW5jZVxuICAgICAgICBjYW5SZWNyZWF0ZVRyYW5zYWN0aW9uID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gIHJldHVybiBCbHVlYmlyZC50cnkoZnVuY3Rpb24gKCkge1xuICAgIGlmIChzZWxmLnR5cGUoKSA9PT0gJ3RyYW5zYWN0aW9uUmVxdWVzdCcpIHtcbiAgICAgIGlmIChwYXJhbXMudHgpIHtcbiAgICAgICAgLy8gdGhlIGFwcHJvdmFsIHR4IHdhcyByZWNvbnN0cnVjdGVkIGFuZCBleHBsaWNpdGx5IHNwZWNpZmllZCAtIHBhc3MgaXQgdGhyb3VnaFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR4OiBwYXJhbXMudHgsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIHRoaXMgdXNlciBtYXkgbm90IGhhdmUgc3BlbmRpbmcgcHJpdmlsZWdlcyBvciBhIHBhc3NwaHJhc2UgbWF5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIGluXG4gICAgICBpZiAoIWNhblJlY3JlYXRlVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eDogc2VsZi5pbmZvKCkudHJhbnNhY3Rpb25SZXF1ZXN0LnRyYW5zYWN0aW9uLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2VsZi5wb3B1bGF0ZVdhbGxldCgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCByZWNyZWF0aW9uUGFyYW1zID0gXy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIHsgdHhIZXg6IHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC50cmFuc2FjdGlvbiB9LFxuICAgICAgICAgIHNlbGYuaW5mbygpLnRyYW5zYWN0aW9uUmVxdWVzdC5idWlsZFBhcmFtc1xuICAgICAgICApO1xuICAgICAgICAvLyBkZWxldGUgdGhlIG9sZCBidWlsZCBwYXJhbXMgYmVjYXVzZSB3ZSB3YW50ICdyZWNyZWF0ZUFuZFNpZ24nIHRvIHJlY3JlYXRlIHRoZSB0cmFuc2FjdGlvblxuICAgICAgICBkZWxldGUgcmVjcmVhdGlvblBhcmFtcy5mZWU7XG4gICAgICAgIGRlbGV0ZSByZWNyZWF0aW9uUGFyYW1zLnVuc3BlbnRzO1xuICAgICAgICBkZWxldGUgcmVjcmVhdGlvblBhcmFtcy50eEluZm87XG4gICAgICAgIGRlbGV0ZSByZWNyZWF0aW9uUGFyYW1zLmVzdGltYXRlZFNpemU7XG4gICAgICAgIGRlbGV0ZSByZWNyZWF0aW9uUGFyYW1zLmNoYW5nZUFkZHJlc3NlcztcbiAgICAgICAgcmV0dXJuIHNlbGYucmVjcmVhdGVBbmRTaWduVHJhbnNhY3Rpb24ocmVjcmVhdGlvblBhcmFtcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24gKHRyYW5zYWN0aW9uKSB7XG4gICAgICBjb25zdCBhcHByb3ZhbFBhcmFtczogYW55ID0geyBzdGF0ZTogJ2FwcHJvdmVkJywgb3RwOiBwYXJhbXMub3RwIH07XG4gICAgICBpZiAodHJhbnNhY3Rpb24pIHtcbiAgICAgICAgYXBwcm92YWxQYXJhbXMudHggPSB0cmFuc2FjdGlvbi50eDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHNlbGYuYml0Z28ucHV0KHNlbGYudXJsKCkpLnNlbmQoYXBwcm92YWxQYXJhbXMpLnJlc3VsdCgpKS5ub2RlaWZ5KGNhbGxiYWNrKTtcbiAgICB9KVxuICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIWNhblJlY3JlYXRlVHJhbnNhY3Rpb24gJiZcbiAgICAgICAgKGVycm9yLm1lc3NhZ2UuaW5kZXhPZignY291bGQgbm90IGZpbmQgdW5zcGVudCBvdXRwdXQgZm9yIGlucHV0JykgIT09IC0xIHx8XG4gICAgICAgICAgZXJyb3IubWVzc2FnZS5pbmRleE9mKCd0cmFuc2FjdGlvbiBjb25mbGljdHMgd2l0aCBhbiBleGlzdGluZyB0cmFuc2FjdGlvbiBpbiB0aGUgc2VuZCBxdWV1ZScpICE9PSAtMSlcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3BlbnRzIGV4cGlyZWQsIHdhbGxldCBwYXNzcGhyYXNlIG9yIHhwcnYgcmVxdWlyZWQgdG8gcmVjcmVhdGUgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgXy5pc1VuZGVmaW5lZChwYXJhbXMuZm9yY2VSZWNyZWF0ZSkgJiZcbiAgICAgICAgZXJyb3IubWVzc2FnZS5pbmRleE9mKCdjb3VsZCBub3QgZmluZCB1bnNwZW50IG91dHB1dCBmb3IgaW5wdXQnKSAhPT0gLTFcbiAgICAgICkge1xuICAgICAgICAvLyBpZiB0aGUgdW5zcGVudHMgY2FuJ3QgYmUgZm91bmQsIHdlIG11c3QgcmV0cnkgd2l0aCBhIG5ld2x5IGNvbnN0cnVjdGVkIHRyYW5zYWN0aW9uLCBzbyB3ZSBkZWxldGUgdGhlIHR4IGFuZCB0cnkgYWdhaW5cbiAgICAgICAgLy8gZGVsZXRpbmcgcGFyYW1zLnR4IHdpbGwgZm9yY2UgdGhlIGNvZGUgdG8gcmVhY2ggdGhlICdyZWNyZWF0ZUFuZFNpZ25UcmFuc2FjdGlvbicgZnVuY3Rpb25cbiAgICAgICAgZGVsZXRlIHBhcmFtcy50eDtcbiAgICAgICAgcGFyYW1zLmZvcmNlUmVjcmVhdGUgPSB0cnVlO1xuICAgICAgICBzZWxmLmFwcHJvdmUocGFyYW1zLCBjYWxsYmFjayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9KTtcbn07XG5cbi8vXG4vLyByZWplY3RlZFxuLy8gc2V0cyB0aGUgcGVuZGluZyBhcHByb3ZhbCB0byBhIHJlamVjdGVkIHN0YXRlXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5yZWplY3QgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbXSwgY2FsbGJhY2spO1xuXG4gIHJldHVybiBCbHVlYmlyZC5yZXNvbHZlKHRoaXMuYml0Z28ucHV0KHRoaXMudXJsKCkpLnNlbmQoeyBzdGF0ZTogJ3JlamVjdGVkJyB9KS5yZXN1bHQoKSkubm9kZWlmeShjYWxsYmFjayk7XG59O1xuXG4vL1xuLy8gY2FuY2VsXG4vLyByZWplY3RzIHRoZSBwZW5kaW5nIGFwcHJvdmFsXG4vL1xuUGVuZGluZ0FwcHJvdmFsLnByb3RvdHlwZS5jYW5jZWwgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICByZXR1cm4gdGhpcy5yZWplY3QocGFyYW1zLCBjYWxsYmFjayk7XG59O1xuXG5leHBvcnQgPSBQZW5kaW5nQXBwcm92YWw7XG4iXX0=
|
|
@@ -18,13 +18,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
18
18
|
}) : function(o, v) {
|
|
19
19
|
o["default"] = v;
|
|
20
20
|
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || function (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
28
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
40
|
};
|
|
@@ -91,4 +101,4 @@ PendingApprovals.prototype.get = function (params, callback) {
|
|
|
91
101
|
.nodeify(callback);
|
|
92
102
|
};
|
|
93
103
|
module.exports = PendingApprovals;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ2FwcHJvdmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92MS9wZW5kaW5nYXBwcm92YWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVIO0dBQ0c7QUFDSCxFQUFFO0FBQ0YsbUNBQW1DO0FBQ25DLDJEQUEyRDtBQUMzRCxFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFFRix3REFBZ0M7QUFDaEMsMENBQTRCO0FBRTVCLDhDQUF5QztBQUN6QyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVyRCxFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUU7QUFDRixNQUFNLGdCQUFnQixHQUFHLFVBQVUsS0FBSztJQUN0QyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsRUFBRTtBQUNGLE9BQU87QUFDUCxtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsVUFBVSxNQUFNLEVBQUUsUUFBUTtJQUMxRCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QixpQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTFFLE1BQU0sV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUM1QixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDcEMsV0FBVyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0ZBQWdGLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLE9BQU8sa0JBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNyRyxJQUFJLENBQUMsVUFBVSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUMzRCxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztTQUNELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixFQUFFO0FBQ0YsTUFBTTtBQUNOLHFDQUFxQztBQUNyQyxzQkFBc0I7QUFDdEIsaUNBQWlDO0FBQ2pDLEVBQUU7QUFDRixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLFVBQVUsTUFBTSxFQUFFLFFBQVE7SUFDekQsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXBELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsQixPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQy9GLElBQUksQ0FBQyxVQUFVLElBQUk7UUFDbEIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQztTQUNELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixpQkFBUyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGhpZGRlblxuICovXG5cbi8qKlxuICovXG4vL1xuLy8gUGVuZGluZyBhcHByb3ZhbHMgbGlzdGluZyBvYmplY3Rcbi8vIExpc3RzIHBlbmRpbmcgYXBwcm92YWxzIGFuZCBnZXQgcGVuZGluZyBhcHByb3ZhbCBvYmplY3RzXG4vL1xuLy8gQ29weXJpZ2h0IDIwMTUsIEJpdEdvLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy9cblxuaW1wb3J0IEJsdWViaXJkIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmNvbnN0IFBlbmRpbmdBcHByb3ZhbCA9IHJlcXVpcmUoJy4vcGVuZGluZ2FwcHJvdmFsJyk7XG5cbi8vXG4vLyBDb25zdHJ1Y3RvclxuLy9cbmNvbnN0IFBlbmRpbmdBcHByb3ZhbHMgPSBmdW5jdGlvbiAoYml0Z28pIHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIG5vIGltcGxpY2l0IHRoaXNcbiAgdGhpcy5iaXRnbyA9IGJpdGdvO1xufTtcblxuLy9cbi8vIGxpc3Rcbi8vIExpc3QgdGhlIHBlbmRpbmcgYXBwcm92YWxzIGF2YWlsYWJsZSB0byB0aGUgdXNlclxuLy9cblBlbmRpbmdBcHByb3ZhbHMucHJvdG90eXBlLmxpc3QgPSBmdW5jdGlvbiAocGFyYW1zLCBjYWxsYmFjaykge1xuICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbJ3dhbGxldElkJywgJ2VudGVycHJpc2VJZCddLCBjYWxsYmFjayk7XG5cbiAgY29uc3QgcXVlcnlQYXJhbXM6IGFueSA9IHt9O1xuICBpZiAoXy5pc1N0cmluZyhwYXJhbXMud2FsbGV0SWQpKSB7XG4gICAgcXVlcnlQYXJhbXMud2FsbGV0SWQgPSBwYXJhbXMud2FsbGV0SWQ7XG4gIH1cbiAgaWYgKF8uaXNTdHJpbmcocGFyYW1zLmVudGVycHJpc2VJZCkpIHtcbiAgICBxdWVyeVBhcmFtcy5lbnRlcnByaXNlID0gcGFyYW1zLmVudGVycHJpc2VJZDtcbiAgfVxuXG4gIGlmIChPYmplY3Qua2V5cyhxdWVyeVBhcmFtcykubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtdXN0IHByb3ZpZGUgZXhhY3RseSAxIG9mIHdhbGxldElkIG9yIGVudGVycHJpc2VJZCB0byBnZXQgcGVuZGluZyBhcHByb3ZhbHMgb24nKTtcbiAgfVxuXG4gIGNvbnN0IHNlbGYgPSB0aGlzO1xuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLnVybCgnL3BlbmRpbmdhcHByb3ZhbHMnKSkucXVlcnkocXVlcnlQYXJhbXMpLnJlc3VsdCgpKVxuICAgIC50aGVuKGZ1bmN0aW9uIChib2R5KSB7XG4gICAgICBib2R5LnBlbmRpbmdBcHByb3ZhbHMgPSBib2R5LnBlbmRpbmdBcHByb3ZhbHMubWFwKGZ1bmN0aW9uIChwKSB7XG4gICAgICAgIHJldHVybiBuZXcgUGVuZGluZ0FwcHJvdmFsKHNlbGYuYml0Z28sIHApO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYm9keTtcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbi8vXG4vLyBnZXRcbi8vIEZldGNoIGFuIGV4aXN0aW5nIHBlbmRpbmcgYXBwcm92YWxcbi8vIFBhcmFtZXRlcnMgaW5jbHVkZTpcbi8vICAgaWQ6ICB0aGUgcGVuZGluZyBhcHByb3ZhbCBpZFxuLy9cblBlbmRpbmdBcHByb3ZhbHMucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7XG4gIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydpZCddLCBbXSwgY2FsbGJhY2spO1xuXG4gIGNvbnN0IHNlbGYgPSB0aGlzO1xuICByZXR1cm4gQmx1ZWJpcmQucmVzb2x2ZSh0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLnVybCgnL3BlbmRpbmdhcHByb3ZhbHMvJyArIHBhcmFtcy5pZCkpLnJlc3VsdCgpKVxuICAgIC50aGVuKGZ1bmN0aW9uIChib2R5KSB7XG4gICAgICByZXR1cm4gbmV3IFBlbmRpbmdBcHByb3ZhbChzZWxmLmJpdGdvLCBib2R5KTtcbiAgICB9KVxuICAgIC5ub2RlaWZ5KGNhbGxiYWNrKTtcbn07XG5cbmV4cG9ydCA9IFBlbmRpbmdBcHByb3ZhbHM7XG4iXX0=
|