@bitgo-beta/sdk-lib-safes 1.0.0-beta.33 → 1.0.0-beta.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/safeDerivation.js +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/LICENSE +0 -191
|
@@ -55,10 +55,10 @@ exports.deriveSafeChildEd25519Hardened = deriveSafeChildEd25519Hardened;
|
|
|
55
55
|
const t = __importStar(require("io-ts"));
|
|
56
56
|
const nacl = __importStar(require("tweetnacl"));
|
|
57
57
|
const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
|
|
58
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
58
59
|
const ed25519KeyDeriver_1 = require("./ed25519KeyDeriver");
|
|
59
60
|
const codecs_1 = require("./codecs");
|
|
60
61
|
const ed25519Pub_1 = require("./ed25519Pub");
|
|
61
|
-
const MAX_BIP32_INDEX = 0x7fffffff;
|
|
62
62
|
exports.DERIVED_FROM_PARENT_WITH_HARDENED_PATH = /^m\/(\d+)'$/;
|
|
63
63
|
function parseSafeDerivationIndex(index) {
|
|
64
64
|
let idx;
|
|
@@ -71,7 +71,7 @@ function parseSafeDerivationIndex(index) {
|
|
|
71
71
|
else {
|
|
72
72
|
throw new Error(`Invalid safe derivation index '${index}': expected a non-negative integer`);
|
|
73
73
|
}
|
|
74
|
-
if (!Number.isInteger(idx) || idx < 0 || idx > MAX_BIP32_INDEX) {
|
|
74
|
+
if (!Number.isInteger(idx) || idx < 0 || idx > statics_1.MAX_BIP32_INDEX) {
|
|
75
75
|
throw new Error(`Invalid safe derivation index '${index}': expected a non-negative integer`);
|
|
76
76
|
}
|
|
77
77
|
return idx;
|
|
@@ -181,4 +181,4 @@ function deriveSafeChildEd25519Hardened(rootPrv, index) {
|
|
|
181
181
|
derivationPath,
|
|
182
182
|
};
|
|
183
183
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZURlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2FmZURlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNBLDREQWFDO0FBRUQsc0VBRUM7QUEwQkQsd0ZBT0M7QUFtQkQsMEVBSUM7QUFHRCxrRkFPQztBQXdCRCxnRkFnQkM7QUFjRCx3RUFZQztBQXhMRDs7Ozs7Ozs7OztHQVVHO0FBQ0gseUNBQTJCO0FBQzNCLGdEQUFrQztBQUNsQyxtREFBNkQ7QUFDN0QsMkRBQXdEO0FBQ3hELHFDQUEyQztBQUMzQyw2Q0FBMkY7QUFFM0YsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDO0FBQ3RCLFFBQUEsc0NBQXNDLEdBQUcsYUFBYSxDQUFDO0FBZ0JwRSxTQUFnQix3QkFBd0IsQ0FBQyxLQUFzQjtJQUM3RCxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDZCxDQUFDO1NBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEtBQUssb0NBQW9DLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsS0FBSyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFF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R0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RDLEtBQUssRUFBRSxhQUFhO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQiw4QkFBOEIsQ0FBQyxPQUFlLEVBQUUsS0FBc0I7SUFDcEYsTUFBTSxHQUFHLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxjQUFjLEdBQUcsNkJBQTZCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBQSwwQ0FBNkIsRUFBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUUsTUFBTSxTQUFTLEdBQUcscUNBQWlCLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RSxNQUFNLEdBQUcsR0FBRyxJQUFBLHlDQUE0QixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekUsT0FBTztRQUNMLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDM0MsR0FBRztRQUNILGNBQWM7S0FDZixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBTaGFyZWQgc2FmZSBjaGlsZCBkZXJpdmF0aW9uIGZvciBtaW50LCBzaWduLCBhbmQgcmVjb3ZlcnkuXG4gKlxuICogVXNlciBjaGlsZDogaGFyZGVuZWQgYG0vPGluZGV4PidgIGZyb20gdGhlIHNlcXVlbnRpYWwgYHNhZmUuZGVyaXZhdGlvbkluZGV4W3Nsb3RdYC5cbiAqIEJhY2t1cCAvIEJpdEdvIGNoaWxkcmVuIGFyZSBzb2Z0LWRlcml2ZWQgYXQgYG0vPGluZGV4PmAgY2xpZW50LXNpZGUgZm9yIHJlY292ZXJ5LlxuICpcbiAqIERvIG5vdCB1c2UgYGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWRgIC8gYGRlcml2ZUtleVdpdGhTZWVkYCAoYG0vOTk5OTk5L2EvYmApIOKAlFxuICogdGhhdCBpcyB0aGUgY3VzdG9keSBoYXNoZWQgcGF0aCBhbmQgY2Fubm90IHJlcHJvZHVjZSBhIHNhZmUgY2hpbGQuXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0ICogYXMgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgRWQyNTUxOUtleURlcml2ZXIgfSBmcm9tICcuL2VkMjU1MTlLZXlEZXJpdmVyJztcbmltcG9ydCB7IGRlY29kZVdpdGhDb2RlYyB9IGZyb20gJy4vY29kZWNzJztcbmltcG9ydCB7IGRlY29kZUVkMjU1MTlTdHJLZXlTZWNyZXRTZWVkLCBlbmNvZGVFZDI1NTE5U3RyS2V5UHVibGljS2V5IH0gZnJvbSAnLi9lZDI1NTE5UHViJztcblxuY29uc3QgTUFYX0JJUDMyX0lOREVYID0gMHg3ZmZmZmZmZjtcbmV4cG9ydCBjb25zdCBERVJJVkVEX0ZST01fUEFSRU5UX1dJVEhfSEFSREVORURfUEFUSCA9IC9ebVxcLyhcXGQrKSckLztcblxuZXhwb3J0IHR5cGUgU2FmZUNoaWxkS2V5TmFtZSA9ICd1c2VyJyB8ICdiYWNrdXAnIHwgJ2JpdGdvJztcblxudHlwZSBDaGlsZEtleVNoYXBlPEsgZXh0ZW5kcyBTYWZlQ2hpbGRLZXlOYW1lPiA9IEsgZXh0ZW5kcyAnYml0Z28nID8geyBwdWI6IHN0cmluZyB9IDogeyBwcnY6IHN0cmluZzsgcHViOiBzdHJpbmcgfTtcblxuZXhwb3J0IHR5cGUgU2FmZUNoaWxkVHJpcGxldCA9IHtcbiAgaW5kZXg6IG51bWJlcjtcbn0gJiB7XG4gIFtLIGluIFNhZmVDaGlsZEtleU5hbWVdOiBDaGlsZEtleVNoYXBlPEs+O1xufTtcblxuZXhwb3J0IHR5cGUgU2FmZUNoaWxkVHJpcGxldFB1YnMgPSB7XG4gIFtLIGluIFNhZmVDaGlsZEtleU5hbWVdOiB7IHB1Yjogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KGluZGV4OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuICBsZXQgaWR4OiBudW1iZXI7XG4gIGlmICh0eXBlb2YgaW5kZXggPT09ICdudW1iZXInKSB7XG4gICAgaWR4ID0gaW5kZXg7XG4gIH0gZWxzZSBpZiAoL15cXGQrJC8udGVzdChpbmRleCkpIHtcbiAgICBpZHggPSBOdW1iZXIoaW5kZXgpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWZlIGRlcml2YXRpb24gaW5kZXggJyR7aW5kZXh9JzogZXhwZWN0ZWQgYSBub24tbmVnYXRpdmUgaW50ZWdlcmApO1xuICB9XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihpZHgpIHx8IGlkeCA8IDAgfHwgaWR4ID4gTUFYX0JJUDMyX0lOREVYKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleCAnJHtpbmRleH0nOiBleHBlY3RlZCBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyYCk7XG4gIH1cbiAgcmV0dXJuIGlkeDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNhZmVIYXJkZW5lZERlcml2YXRpb25QYXRoKGluZGV4OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gYG0vJHtwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXgpfSdgO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aEJyYW5kIHtcbiAgcmVhZG9ubHkgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoOiB1bmlxdWUgc3ltYm9sO1xufVxuXG5leHBvcnQgdHlwZSBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggPSB0LkJyYW5kZWQ8c3RyaW5nLCBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGhCcmFuZD47XG5cbmV4cG9ydCBjb25zdCBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggPSB0LmJyYW5kKFxuICB0LnN0cmluZyxcbiAgKHMpOiBzIGlzIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCA9PiBwYXJzZURlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aEluZGV4KHMpICE9PSB1bmRlZmluZWQsXG4gICdEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGgnXG4pO1xuXG5mdW5jdGlvbiBwYXJzZURlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aEluZGV4KHBhdGg6IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG1hdGNoID0gREVSSVZFRF9GUk9NX1BBUkVOVF9XSVRIX0hBUkRFTkVEX1BBVEguZXhlYyhwYXRoKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KG1hdGNoWzFdKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGgocGF0aDogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgdmFsaWRhdGVkID0gZGVjb2RlV2l0aENvZGVjKERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCwgcGF0aCwgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCcpO1xuICBjb25zdCBpbmRleCA9IHBhcnNlRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoSW5kZXgodmFsaWRhdGVkKTtcbiAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoICcke3BhdGh9JzogZXhwZWN0ZWQgbS88bj4nYCk7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgcHJ2OiBzdHJpbmc7XG4gIHB1Yjogc3RyaW5nO1xuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBjaGlsZEZyb21Ob2RlKGNoaWxkOiBCSVAzMkludGVyZmFjZSwgZGVyaXZhdGlvblBhdGg6IHN0cmluZyk6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgaWYgKCFjaGlsZC5wcml2YXRlS2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVyaXZlIGhhcmRlbmVkIHNhZmUgY2hpbGQgYXQgJHtkZXJpdmF0aW9uUGF0aH1gKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHBydjogY2hpbGQudG9CYXNlNTgoKSxcbiAgICBwdWI6IGNoaWxkLm5ldXRlcmVkKCkudG9CYXNlNTgoKSxcbiAgICBkZXJpdmF0aW9uUGF0aCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYocm9vdFhwcnY6IHN0cmluZywgaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgY29uc3QgaWR4ID0gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KGluZGV4KTtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGggPSBnZXRTYWZlSGFyZGVuZWREZXJpdmF0aW9uUGF0aChpZHgpO1xuICByZXR1cm4gY2hpbGRGcm9tTm9kZShiaXAzMi5mcm9tQmFzZTU4KHJvb3RYcHJ2KS5kZXJpdmVIYXJkZW5lZChpZHgpLCBkZXJpdmF0aW9uUGF0aCk7XG59XG5cbi8qKiBSZS1kZXJpdmUgYW5kIGFzc2VydCBib3RoIHJlc3VsdHMgbWF0Y2ggYmVmb3JlIHRoZSBjaGlsZCBpcyByZWdpc3RlcmVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZUFuZFNlbGZDaGVja1NhZmVDaGlsZEhhcmRlbmVkKHJvb3RYcHJ2OiBzdHJpbmcsIGluZGV4OiBzdHJpbmcgfCBudW1iZXIpOiBTYWZlSGFyZGVuZWRDaGlsZEtleSB7XG4gIGNvbnN0IGZpcnN0ID0gZGVyaXZlU2FmZUNoaWxkSGFyZGVuZWRGcm9tWHBydihyb290WHBydiwgaW5kZXgpO1xuICBjb25zdCBzZWNvbmQgPSBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2KHJvb3RYcHJ2LCBpbmRleCk7XG4gIGlmIChmaXJzdC5wdWIgIT09IHNlY29uZC5wdWIgfHwgZmlyc3QucHJ2ICE9PSBzZWNvbmQucHJ2KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBTYWZlIGNoaWxkIHNlbGYtY2hlY2sgZmFpbGVkIGF0ICR7Zmlyc3QuZGVyaXZhdGlvblBhdGh9OiBkZXJpdmF0aW9uIHdhcyBub3QgZGV0ZXJtaW5pc3RpY2ApO1xuICB9XG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gZGVyaXZlU2FmZUNoaWxkU29mdEZyb21YcHJ2KHJvb3RYcHJ2OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB7IHBydjogc3RyaW5nOyBwdWI6IHN0cmluZyB9IHtcbiAgY29uc3QgY2hpbGQgPSBiaXAzMi5mcm9tQmFzZTU4KHJvb3RYcHJ2KS5kZXJpdmUoaW5kZXgpO1xuICBpZiAoIWNoaWxkLnByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBzb2Z0LWRlcml2ZSBzYWZlIGNoaWxkIGF0IG0vJHtpbmRleH06IHJvb3QgaGFzIG5vIHByaXZhdGUga2V5YCk7XG4gIH1cbiAgcmV0dXJuIHsgcHJ2OiBjaGlsZC50b0Jhc2U1OCgpLCBwdWI6IGNoaWxkLm5ldXRlcmVkKCkudG9CYXNlNTgoKSB9O1xufVxuXG5mdW5jdGlvbiBkZXJpdmVTYWZlQ2hpbGRTb2Z0RnJvbVhwdWIocm9vdFhwdWI6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHsgcHViOiBzdHJpbmcgfSB7XG4gIGNvbnN0IGNoaWxkID0gYmlwMzIuZnJvbUJhc2U1OChyb290WHB1YikuZGVyaXZlKGluZGV4KTtcbiAgaWYgKGNoaWxkLnByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBzb2Z0LWRlcml2ZSBzYWZlIGNoaWxkIGF0IG0vJHtpbmRleH06IHJvb3QgaGFzIGEgcHJpdmF0ZSBrZXlgKTtcbiAgfVxuICByZXR1cm4geyBwdWI6IGNoaWxkLm5ldXRlcmVkKCkudG9CYXNlNTgoKSB9O1xufVxuXG4vKipcbiAqIERlcml2ZXMgc2xvdC0xIGNoaWxkIGtleSBtYXRlcmlhbCBmb3IgYSBjYWxsZXItc3VwcGxpZWQgU2FmZSBpbmRleC5cbiAqXG4gKiBJbmRleCBkaXNjb3ZlcnkgYmVsb25ncyB0byB0aGUgb3V0ZXIgcmVjb3Zlcnkgc2NhbiAoV0NOLTI3NDEvV0NOLTI3NDIpLlxuICogVGhpcyBwdXJlIGZ1bmN0aW9uIHJlcHJvZHVjZXMgdGhlIHRyaXBsZXQgZm9yIG9uZSBjYW5kaWRhdGUgaW5kZXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmVTYWZlU2VjcDI1NmsxTXVsdGlzaWdUcmlwbGV0KHBhcmFtczoge1xuICB1c2VyUm9vdFhwcnY6IHN0cmluZztcbiAgYmFja3VwUm9vdFhwcnY6IHN0cmluZztcbiAgYml0Z29Sb290WHB1Yjogc3RyaW5nO1xuICBpbmRleDogc3RyaW5nIHwgbnVtYmVyO1xufSk6IFNhZmVDaGlsZFRyaXBsZXQge1xuICBjb25zdCBkZXJpdmF0aW9uSWR4ID0gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KHBhcmFtcy5pbmRleCk7XG4gIGNvbnN0IHVzZXIgPSBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2KHBhcmFtcy51c2VyUm9vdFhwcnYsIGRlcml2YXRpb25JZHgpO1xuICBjb25zdCBiYWNrdXAgPSBkZXJpdmVTYWZlQ2hpbGRTb2Z0RnJvbVhwcnYocGFyYW1zLmJhY2t1cFJvb3RYcHJ2LCBkZXJpdmF0aW9uSWR4KTtcbiAgY29uc3QgYml0Z28gPSBkZXJpdmVTYWZlQ2hpbGRTb2Z0RnJvbVhwdWIocGFyYW1zLmJpdGdvUm9vdFhwdWIsIGRlcml2YXRpb25JZHgpO1xuICByZXR1cm4ge1xuICAgIGJhY2t1cCxcbiAgICBiaXRnbyxcbiAgICB1c2VyOiB7IHBydjogdXNlci5wcnYsIHB1YjogdXNlci5wdWIgfSxcbiAgICBpbmRleDogZGVyaXZhdGlvbklkeCxcbiAgfTtcbn1cblxuLyoqXG4gKiBTTElQLTAwMTAgaGFyZGVuZWQgZGVyaXZhdGlvbiBvZiBhIHNhZmUgdXNlciBjaGlsZCBmcm9tIGFuIGVkMjU1MTkgcm9vdCBzZWNyZXQgc2VlZC5cbiAqXG4gKiBgcm9vdFBydmAgaXMgYSBTdGVsbGFyIFN0cktleSBgU+KApmAgc2VjcmV0IHNlZWQgKHdoYXQgc2xvdC3ikaMgYGVkMjU1MTlNdWx0aXNpZ2AgdXNlciByb290cyBzdG9yZSkuXG4gKiBUaGUgZGVyaXZhdGlvbiByZXVzZXMgdGhlIGV4aXN0aW5nIFNMSVAtMDAxMCBpbXBsZW1lbnRhdGlvbiB7QGxpbmsgRWQyNTUxOUtleURlcml2ZXIuZGVyaXZlUGF0aH1cbiAqIChoYXJkZW5lZC1vbmx5IENLRFByaXYgb3ZlciB0aGUgYGVkMjU1MTkgc2VlZGAgSE1BQyBtYXN0ZXIpLCB0aGVuIGV4cGFuZHMgdGhlIHJlc3VsdGluZyAzMi1ieXRlXG4gKiBjaGlsZCBzZWVkIGludG8gYSBrZXlwYWlyIHdpdGggYG5hY2xgLiBUaGUgY2hpbGQgYHB1YmAgaXMgYSBiYXJlIFN0cktleSBgR+KApmA7IHRoZSBgcHJ2YCBpcyB0aGVcbiAqIHJhdyAzMi1ieXRlIGNoaWxkIHNlZWQgYXMgaGV4ICh0aGUgc2VlZCBpbnB1dCBhIHNpZ25lciBuZWVkcykuXG4gKlxuICogVW5saWtlIHRoZSBzZWNwMjU2azEgcGF0aCwgZWQyNTUxOSBoYXJkZW5lZCBkZXJpdmF0aW9uIG5lZWRzIG5vIGNoYWluIGNvZGUg4oCUIHRoZSBjb21wb3NpdGVcbiAqIGBwdWLigJZjaGFpbkNvZGVgIGZvcm0gaXMgb25seSBmb3IgU09GVCBjby1zaWduZXIgZGVyaXZhdGlvbiBhbmQgaXMgbm90IHVzZWQgaGVyZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChyb290UHJ2OiBzdHJpbmcsIGluZGV4OiBzdHJpbmcgfCBudW1iZXIpOiBTYWZlSGFyZGVuZWRDaGlsZEtleSB7XG4gIGNvbnN0IGlkeCA9IHBhcnNlU2FmZURlcml2YXRpb25JbmRleChpbmRleCk7XG4gIGNvbnN0IGRlcml2YXRpb25QYXRoID0gZ2V0U2FmZUhhcmRlbmVkRGVyaXZhdGlvblBhdGgoaWR4KTtcbiAgY29uc3QgcmF3U2VlZEhleCA9IGRlY29kZUVkMjU1MTlTdHJLZXlTZWNyZXRTZWVkKHJvb3RQcnYpLnRvU3RyaW5nKCdoZXgnKTtcbiAgY29uc3QgY2hpbGRTZWVkID0gRWQyNTUxOUtleURlcml2ZXIuZGVyaXZlUGF0aChkZXJpdmF0aW9uUGF0aCwgcmF3U2VlZEhleCkua2V5O1xuICBjb25zdCBrZXlQYWlyID0gbmFjbC5zaWduLmtleVBhaXIuZnJvbVNlZWQoVWludDhBcnJheS5mcm9tKGNoaWxkU2VlZCkpO1xuICBjb25zdCBwdWIgPSBlbmNvZGVFZDI1NTE5U3RyS2V5UHVibGljS2V5KEJ1ZmZlci5mcm9tKGtleVBhaXIucHVibGljS2V5KSk7XG4gIHJldHVybiB7XG4gICAgcHJ2OiBCdWZmZXIuZnJvbShjaGlsZFNlZWQpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICBwdWIsXG4gICAgZGVyaXZhdGlvblBhdGgsXG4gIH07XG59XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZURlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2FmZURlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNBLDREQWFDO0FBRUQsc0VBRUM7QUEwQkQsd0ZBT0M7QUFtQkQsMEVBSUM7QUFHRCxrRkFPQztBQXdCRCxnRkFnQkM7QUFjRCx3RUFZQztBQXhMRDs7Ozs7Ozs7OztHQVVHO0FBQ0gseUNBQTJCO0FBQzNCLGdEQUFrQztBQUNsQyxtREFBNkQ7QUFDN0QsaURBQXNEO0FBQ3RELDJEQUF3RDtBQUN4RCxxQ0FBMkM7QUFDM0MsNkNBQTJGO0FBRTlFLFFBQUEsc0NBQXNDLEdBQUcsYUFBYSxDQUFDO0FBZ0JwRSxTQUFnQix3QkFBd0IsQ0FBQyxLQUFzQjtJQUM3RCxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDZCxDQUFDO1NBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEtBQUssb0NBQW9DLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcseUJBQWUsRUFBRSxDQUFDO1FBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEtBQUssb0NBQW9DLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQUMsS0FBc0I7SUFDbEUsT0FBTyxLQUFLLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDakQsQ0FBQztBQVFZLFFBQUEsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FDdEQsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsRUFBMEMsRUFBRSxDQUFDLDJDQUEyQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFDM0csbUNBQW1DLENBQ3BDLENBQUM7QUFFRixTQUFTLDJDQUEyQyxDQUFDLElBQVk7SUFDL0QsTUFBTSxLQUFLLEdBQUcsOENBQXNDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxPQUFPLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLHNDQUFzQyxDQUFDLElBQVk7SUFDakUsTUFBTSxTQUFTLEdBQUcsSUFBQSx3QkFBZSxFQUFDLHlDQUFpQyxFQUFFLElBQUksRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ2hILE1BQU0sS0FBSyxHQUFHLDJDQUEyQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLElBQUksb0JBQW9CLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBUUQsU0FBUyxhQUFhLENBQUMsS0FBcUIsRUFBRSxjQUFzQjtJQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtRQUNyQixHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUNoQyxjQUFjO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQiwrQkFBK0IsQ0FBQyxRQUFnQixFQUFFLEtBQXNCO0lBQ3RGLE1BQU0sR0FBRyxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sY0FBYyxHQUFHLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELE9BQU8sYUFBYSxDQUFDLGdCQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQsOEVBQThFO0FBQzlFLFNBQWdCLG1DQUFtQyxDQUFDLFFBQWdCLEVBQUUsS0FBc0I7SUFDMUYsTUFBTSxLQUFLLEdBQUcsK0JBQStCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELE1BQU0sTUFBTSxHQUFHLCtCQUErQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxLQUFLLENBQUMsY0FBYyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLFFBQWdCLEVBQUUsS0FBYTtJQUNsRSxNQUFNLEtBQUssR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxLQUFLLDJCQUEyQixDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztBQUNyRSxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxRQUFnQixFQUFFLEtBQWE7SUFDbEUsTUFBTSxLQUFLLEdBQUcsZ0JBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLEtBQUssMEJBQTBCLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixrQ0FBa0MsQ0FBQyxNQUtsRDtJQUNDLE1BQU0sYUFBYSxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pGLE1BQU0sTUFBTSxHQUFHLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakYsTUFBTSxLQUFLLEdBQUcsMkJBQTJCLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvRSxPQUFPO1FBQ0wsTUFBTTtRQUNOLEtBQUs7UUFDTCxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUN0QyxLQUFLLEVBQUUsYUFBYTtLQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsU0FBZ0IsOEJBQThCLENBQUMsT0FBZSxFQUFFLEtBQXNCO0lBQ3BGLE1BQU0sR0FBRyxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sY0FBYyxHQUFHLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELE1BQU0sVUFBVSxHQUFHLElBQUEsMENBQTZCLEVBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFFLE1BQU0sU0FBUyxHQUFHLHFDQUFpQixDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQy9FLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsTUFBTSxHQUFHLEdBQUcsSUFBQSx5Q0FBNEIsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLE9BQU87UUFDTCxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzNDLEdBQUc7UUFDSCxjQUFjO0tBQ2YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgU2hhcmVkIHNhZmUgY2hpbGQgZGVyaXZhdGlvbiBmb3IgbWludCwgc2lnbiwgYW5kIHJlY292ZXJ5LlxuICpcbiAqIFVzZXIgY2hpbGQ6IGhhcmRlbmVkIGBtLzxpbmRleD4nYCBmcm9tIHRoZSBzZXF1ZW50aWFsIGBzYWZlLmRlcml2YXRpb25JbmRleFtzbG90XWAuXG4gKiBCYWNrdXAgLyBCaXRHbyBjaGlsZHJlbiBhcmUgc29mdC1kZXJpdmVkIGF0IGBtLzxpbmRleD5gIGNsaWVudC1zaWRlIGZvciByZWNvdmVyeS5cbiAqXG4gKiBEbyBub3QgdXNlIGBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkYCAvIGBkZXJpdmVLZXlXaXRoU2VlZGAgKGBtLzk5OTk5OS9hL2JgKSDigJRcbiAqIHRoYXQgaXMgdGhlIGN1c3RvZHkgaGFzaGVkIHBhdGggYW5kIGNhbm5vdCByZXByb2R1Y2UgYSBzYWZlIGNoaWxkLlxuICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCAqIGFzIG5hY2wgZnJvbSAndHdlZXRuYWNsJztcbmltcG9ydCB7IGJpcDMyLCBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IE1BWF9CSVAzMl9JTkRFWCB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRWQyNTUxOUtleURlcml2ZXIgfSBmcm9tICcuL2VkMjU1MTlLZXlEZXJpdmVyJztcbmltcG9ydCB7IGRlY29kZVdpdGhDb2RlYyB9IGZyb20gJy4vY29kZWNzJztcbmltcG9ydCB7IGRlY29kZUVkMjU1MTlTdHJLZXlTZWNyZXRTZWVkLCBlbmNvZGVFZDI1NTE5U3RyS2V5UHVibGljS2V5IH0gZnJvbSAnLi9lZDI1NTE5UHViJztcblxuZXhwb3J0IGNvbnN0IERFUklWRURfRlJPTV9QQVJFTlRfV0lUSF9IQVJERU5FRF9QQVRIID0gL15tXFwvKFxcZCspJyQvO1xuXG5leHBvcnQgdHlwZSBTYWZlQ2hpbGRLZXlOYW1lID0gJ3VzZXInIHwgJ2JhY2t1cCcgfCAnYml0Z28nO1xuXG50eXBlIENoaWxkS2V5U2hhcGU8SyBleHRlbmRzIFNhZmVDaGlsZEtleU5hbWU+ID0gSyBleHRlbmRzICdiaXRnbycgPyB7IHB1Yjogc3RyaW5nIH0gOiB7IHBydjogc3RyaW5nOyBwdWI6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBTYWZlQ2hpbGRUcmlwbGV0ID0ge1xuICBpbmRleDogbnVtYmVyO1xufSAmIHtcbiAgW0sgaW4gU2FmZUNoaWxkS2V5TmFtZV06IENoaWxkS2V5U2hhcGU8Sz47XG59O1xuXG5leHBvcnQgdHlwZSBTYWZlQ2hpbGRUcmlwbGV0UHVicyA9IHtcbiAgW0sgaW4gU2FmZUNoaWxkS2V5TmFtZV06IHsgcHViOiBzdHJpbmcgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gIGxldCBpZHg6IG51bWJlcjtcbiAgaWYgKHR5cGVvZiBpbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICBpZHggPSBpbmRleDtcbiAgfSBlbHNlIGlmICgvXlxcZCskLy50ZXN0KGluZGV4KSkge1xuICAgIGlkeCA9IE51bWJlcihpbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleCAnJHtpbmRleH0nOiBleHBlY3RlZCBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyYCk7XG4gIH1cbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGlkeCkgfHwgaWR4IDwgMCB8fCBpZHggPiBNQVhfQklQMzJfSU5ERVgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FmZSBkZXJpdmF0aW9uIGluZGV4ICcke2luZGV4fSc6IGV4cGVjdGVkIGEgbm9uLW5lZ2F0aXZlIGludGVnZXJgKTtcbiAgfVxuICByZXR1cm4gaWR4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2FmZUhhcmRlbmVkRGVyaXZhdGlvblBhdGgoaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBgbS8ke3BhcnNlU2FmZURlcml2YXRpb25JbmRleChpbmRleCl9J2A7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoQnJhbmQge1xuICByZWFkb25seSBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGg6IHVuaXF1ZSBzeW1ib2w7XG59XG5cbmV4cG9ydCB0eXBlIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCA9IHQuQnJhbmRlZDxzdHJpbmcsIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aEJyYW5kPjtcblxuZXhwb3J0IGNvbnN0IERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCA9IHQuYnJhbmQoXG4gIHQuc3RyaW5nLFxuICAocyk6IHMgaXMgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoID0+IHBhcnNlRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoSW5kZXgocykgIT09IHVuZGVmaW5lZCxcbiAgJ0Rlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCdcbik7XG5cbmZ1bmN0aW9uIHBhcnNlRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoSW5kZXgocGF0aDogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbWF0Y2ggPSBERVJJVkVEX0ZST01fUEFSRU5UX1dJVEhfSEFSREVORURfUEFUSC5leGVjKHBhdGgpO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgobWF0Y2hbMV0pO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aChwYXRoOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCB2YWxpZGF0ZWQgPSBkZWNvZGVXaXRoQ29kZWMoRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoLCBwYXRoLCAnZGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoJyk7XG4gIGNvbnN0IGluZGV4ID0gcGFyc2VEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGhJbmRleCh2YWxpZGF0ZWQpO1xuICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggJyR7cGF0aH0nOiBleHBlY3RlZCBtLzxuPidgKTtcbiAgfVxuICByZXR1cm4gaW5kZXg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBwcnY6IHN0cmluZztcbiAgcHViOiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNoaWxkRnJvbU5vZGUoY2hpbGQ6IEJJUDMySW50ZXJmYWNlLCBkZXJpdmF0aW9uUGF0aDogc3RyaW5nKTogU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBpZiAoIWNoaWxkLnByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZXJpdmUgaGFyZGVuZWQgc2FmZSBjaGlsZCBhdCAke2Rlcml2YXRpb25QYXRofWApO1xuICB9XG4gIHJldHVybiB7XG4gICAgcHJ2OiBjaGlsZC50b0Jhc2U1OCgpLFxuICAgIHB1YjogY2hpbGQubmV1dGVyZWQoKS50b0Jhc2U1OCgpLFxuICAgIGRlcml2YXRpb25QYXRoLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlU2FmZUNoaWxkSGFyZGVuZWRGcm9tWHBydihyb290WHBydjogc3RyaW5nLCBpbmRleDogc3RyaW5nIHwgbnVtYmVyKTogU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBjb25zdCBpZHggPSBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXgpO1xuICBjb25zdCBkZXJpdmF0aW9uUGF0aCA9IGdldFNhZmVIYXJkZW5lZERlcml2YXRpb25QYXRoKGlkeCk7XG4gIHJldHVybiBjaGlsZEZyb21Ob2RlKGJpcDMyLmZyb21CYXNlNTgocm9vdFhwcnYpLmRlcml2ZUhhcmRlbmVkKGlkeCksIGRlcml2YXRpb25QYXRoKTtcbn1cblxuLyoqIFJlLWRlcml2ZSBhbmQgYXNzZXJ0IGJvdGggcmVzdWx0cyBtYXRjaCBiZWZvcmUgdGhlIGNoaWxkIGlzIHJlZ2lzdGVyZWQuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQocm9vdFhwcnY6IHN0cmluZywgaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgY29uc3QgZmlyc3QgPSBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2KHJvb3RYcHJ2LCBpbmRleCk7XG4gIGNvbnN0IHNlY29uZCA9IGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYocm9vdFhwcnYsIGluZGV4KTtcbiAgaWYgKGZpcnN0LnB1YiAhPT0gc2Vjb25kLnB1YiB8fCBmaXJzdC5wcnYgIT09IHNlY29uZC5wcnYpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgY2hpbGQgc2VsZi1jaGVjayBmYWlsZWQgYXQgJHtmaXJzdC5kZXJpdmF0aW9uUGF0aH06IGRlcml2YXRpb24gd2FzIG5vdCBkZXRlcm1pbmlzdGljYCk7XG4gIH1cbiAgcmV0dXJuIGZpcnN0O1xufVxuXG5mdW5jdGlvbiBkZXJpdmVTYWZlQ2hpbGRTb2Z0RnJvbVhwcnYocm9vdFhwcnY6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHsgcHJ2OiBzdHJpbmc7IHB1Yjogc3RyaW5nIH0ge1xuICBjb25zdCBjaGlsZCA9IGJpcDMyLmZyb21CYXNlNTgocm9vdFhwcnYpLmRlcml2ZShpbmRleCk7XG4gIGlmICghY2hpbGQucHJpdmF0ZUtleSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHNvZnQtZGVyaXZlIHNhZmUgY2hpbGQgYXQgbS8ke2luZGV4fTogcm9vdCBoYXMgbm8gcHJpdmF0ZSBrZXlgKTtcbiAgfVxuICByZXR1cm4geyBwcnY6IGNoaWxkLnRvQmFzZTU4KCksIHB1YjogY2hpbGQubmV1dGVyZWQoKS50b0Jhc2U1OCgpIH07XG59XG5cbmZ1bmN0aW9uIGRlcml2ZVNhZmVDaGlsZFNvZnRGcm9tWHB1Yihyb290WHB1Yjogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogeyBwdWI6IHN0cmluZyB9IHtcbiAgY29uc3QgY2hpbGQgPSBiaXAzMi5mcm9tQmFzZTU4KHJvb3RYcHViKS5kZXJpdmUoaW5kZXgpO1xuICBpZiAoY2hpbGQucHJpdmF0ZUtleSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHNvZnQtZGVyaXZlIHNhZmUgY2hpbGQgYXQgbS8ke2luZGV4fTogcm9vdCBoYXMgYSBwcml2YXRlIGtleWApO1xuICB9XG4gIHJldHVybiB7IHB1YjogY2hpbGQubmV1dGVyZWQoKS50b0Jhc2U1OCgpIH07XG59XG5cbi8qKlxuICogRGVyaXZlcyBzbG90LTEgY2hpbGQga2V5IG1hdGVyaWFsIGZvciBhIGNhbGxlci1zdXBwbGllZCBTYWZlIGluZGV4LlxuICpcbiAqIEluZGV4IGRpc2NvdmVyeSBiZWxvbmdzIHRvIHRoZSBvdXRlciByZWNvdmVyeSBzY2FuIChXQ04tMjc0MS9XQ04tMjc0MikuXG4gKiBUaGlzIHB1cmUgZnVuY3Rpb24gcmVwcm9kdWNlcyB0aGUgdHJpcGxldCBmb3Igb25lIGNhbmRpZGF0ZSBpbmRleC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZVNhZmVTZWNwMjU2azFNdWx0aXNpZ1RyaXBsZXQocGFyYW1zOiB7XG4gIHVzZXJSb290WHBydjogc3RyaW5nO1xuICBiYWNrdXBSb290WHBydjogc3RyaW5nO1xuICBiaXRnb1Jvb3RYcHViOiBzdHJpbmc7XG4gIGluZGV4OiBzdHJpbmcgfCBudW1iZXI7XG59KTogU2FmZUNoaWxkVHJpcGxldCB7XG4gIGNvbnN0IGRlcml2YXRpb25JZHggPSBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgocGFyYW1zLmluZGV4KTtcbiAgY29uc3QgdXNlciA9IGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYocGFyYW1zLnVzZXJSb290WHBydiwgZGVyaXZhdGlvbklkeCk7XG4gIGNvbnN0IGJhY2t1cCA9IGRlcml2ZVNhZmVDaGlsZFNvZnRGcm9tWHBydihwYXJhbXMuYmFja3VwUm9vdFhwcnYsIGRlcml2YXRpb25JZHgpO1xuICBjb25zdCBiaXRnbyA9IGRlcml2ZVNhZmVDaGlsZFNvZnRGcm9tWHB1YihwYXJhbXMuYml0Z29Sb290WHB1YiwgZGVyaXZhdGlvbklkeCk7XG4gIHJldHVybiB7XG4gICAgYmFja3VwLFxuICAgIGJpdGdvLFxuICAgIHVzZXI6IHsgcHJ2OiB1c2VyLnBydiwgcHViOiB1c2VyLnB1YiB9LFxuICAgIGluZGV4OiBkZXJpdmF0aW9uSWR4LFxuICB9O1xufVxuXG4vKipcbiAqIFNMSVAtMDAxMCBoYXJkZW5lZCBkZXJpdmF0aW9uIG9mIGEgc2FmZSB1c2VyIGNoaWxkIGZyb20gYW4gZWQyNTUxOSByb290IHNlY3JldCBzZWVkLlxuICpcbiAqIGByb290UHJ2YCBpcyBhIFN0ZWxsYXIgU3RyS2V5IGBT4oCmYCBzZWNyZXQgc2VlZCAod2hhdCBzbG90LeKRoyBgZWQyNTUxOU11bHRpc2lnYCB1c2VyIHJvb3RzIHN0b3JlKS5cbiAqIFRoZSBkZXJpdmF0aW9uIHJldXNlcyB0aGUgZXhpc3RpbmcgU0xJUC0wMDEwIGltcGxlbWVudGF0aW9uIHtAbGluayBFZDI1NTE5S2V5RGVyaXZlci5kZXJpdmVQYXRofVxuICogKGhhcmRlbmVkLW9ubHkgQ0tEUHJpdiBvdmVyIHRoZSBgZWQyNTUxOSBzZWVkYCBITUFDIG1hc3RlciksIHRoZW4gZXhwYW5kcyB0aGUgcmVzdWx0aW5nIDMyLWJ5dGVcbiAqIGNoaWxkIHNlZWQgaW50byBhIGtleXBhaXIgd2l0aCBgbmFjbGAuIFRoZSBjaGlsZCBgcHViYCBpcyBhIGJhcmUgU3RyS2V5IGBH4oCmYDsgdGhlIGBwcnZgIGlzIHRoZVxuICogcmF3IDMyLWJ5dGUgY2hpbGQgc2VlZCBhcyBoZXggKHRoZSBzZWVkIGlucHV0IGEgc2lnbmVyIG5lZWRzKS5cbiAqXG4gKiBVbmxpa2UgdGhlIHNlY3AyNTZrMSBwYXRoLCBlZDI1NTE5IGhhcmRlbmVkIGRlcml2YXRpb24gbmVlZHMgbm8gY2hhaW4gY29kZSDigJQgdGhlIGNvbXBvc2l0ZVxuICogYHB1YuKAlmNoYWluQ29kZWAgZm9ybSBpcyBvbmx5IGZvciBTT0ZUIGNvLXNpZ25lciBkZXJpdmF0aW9uIGFuZCBpcyBub3QgdXNlZCBoZXJlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlU2FmZUNoaWxkRWQyNTUxOUhhcmRlbmVkKHJvb3RQcnY6IHN0cmluZywgaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgY29uc3QgaWR4ID0gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KGluZGV4KTtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGggPSBnZXRTYWZlSGFyZGVuZWREZXJpdmF0aW9uUGF0aChpZHgpO1xuICBjb25zdCByYXdTZWVkSGV4ID0gZGVjb2RlRWQyNTUxOVN0cktleVNlY3JldFNlZWQocm9vdFBydikudG9TdHJpbmcoJ2hleCcpO1xuICBjb25zdCBjaGlsZFNlZWQgPSBFZDI1NTE5S2V5RGVyaXZlci5kZXJpdmVQYXRoKGRlcml2YXRpb25QYXRoLCByYXdTZWVkSGV4KS5rZXk7XG4gIGNvbnN0IGtleVBhaXIgPSBuYWNsLnNpZ24ua2V5UGFpci5mcm9tU2VlZChVaW50OEFycmF5LmZyb20oY2hpbGRTZWVkKSk7XG4gIGNvbnN0IHB1YiA9IGVuY29kZUVkMjU1MTlTdHJLZXlQdWJsaWNLZXkoQnVmZmVyLmZyb20oa2V5UGFpci5wdWJsaWNLZXkpKTtcbiAgcmV0dXJuIHtcbiAgICBwcnY6IEJ1ZmZlci5mcm9tKGNoaWxkU2VlZCkudG9TdHJpbmcoJ2hleCcpLFxuICAgIHB1YixcbiAgICBkZXJpdmF0aW9uUGF0aCxcbiAgfTtcbn1cbiJdfQ==
|