@bitgo/sdk-coin-canton 1.4.0 → 1.5.0

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.
@@ -9,4 +9,6 @@ export declare const SigningAlgorithmSpec: {
9
9
  };
10
10
  export declare const PUBLIC_KEY_FORMAT = "CRYPTO_KEY_FORMAT_RAW";
11
11
  export declare const PUBLIC_KEY_SPEC = "SIGNING_KEY_SPEC_EC_CURVE25519";
12
+ export declare const SIGNATURE_FORMAT = "SIGNATURE_FORMAT_RAW";
13
+ export declare const SIGNATURE_ALGORITHM_SPEC = "SIGNING_ALGORITHM_SPEC_ED25519";
12
14
  //# sourceMappingURL=constant.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/lib/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,eAAO,MAAM,eAAe,mCAAmC,CAAC"}
1
+ {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/lib/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,eAAO,MAAM,eAAe,mCAAmC,CAAC;AAChE,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AACvD,eAAO,MAAM,wBAAwB,mCAAmC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PUBLIC_KEY_SPEC = exports.PUBLIC_KEY_FORMAT = exports.SigningAlgorithmSpec = exports.SigningKeySpec = exports.CryptoKeyFormat = void 0;
3
+ exports.SIGNATURE_ALGORITHM_SPEC = exports.SIGNATURE_FORMAT = exports.PUBLIC_KEY_SPEC = exports.PUBLIC_KEY_FORMAT = exports.SigningAlgorithmSpec = exports.SigningKeySpec = exports.CryptoKeyFormat = void 0;
4
4
  exports.CryptoKeyFormat = {
5
5
  RAW: 2,
6
6
  };
@@ -12,4 +12,6 @@ exports.SigningAlgorithmSpec = {
12
12
  };
13
13
  exports.PUBLIC_KEY_FORMAT = 'CRYPTO_KEY_FORMAT_RAW';
14
14
  exports.PUBLIC_KEY_SPEC = 'SIGNING_KEY_SPEC_EC_CURVE25519';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsZUFBZSxHQUFHO0lBQzdCLEdBQUcsRUFBRSxDQUFDO0NBQ1AsQ0FBQztBQUVXLFFBQUEsY0FBYyxHQUFHO0lBQzVCLGFBQWEsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLE9BQU8sRUFBRSxDQUFDO0NBQ1gsQ0FBQztBQUVXLFFBQUEsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUMsUUFBQSxlQUFlLEdBQUcsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ3J5cHRvS2V5Rm9ybWF0ID0ge1xuICBSQVc6IDIsXG59O1xuXG5leHBvcnQgY29uc3QgU2lnbmluZ0tleVNwZWMgPSB7XG4gIEVDX0NVUlZFMjU1MTk6IDEsXG59O1xuXG5leHBvcnQgY29uc3QgU2lnbmluZ0FsZ29yaXRobVNwZWMgPSB7XG4gIEVEMjU1MTk6IDEsXG59O1xuXG5leHBvcnQgY29uc3QgUFVCTElDX0tFWV9GT1JNQVQgPSAnQ1JZUFRPX0tFWV9GT1JNQVRfUkFXJztcbmV4cG9ydCBjb25zdCBQVUJMSUNfS0VZX1NQRUMgPSAnU0lHTklOR19LRVlfU1BFQ19FQ19DVVJWRTI1NTE5JztcbiJdfQ==
15
+ exports.SIGNATURE_FORMAT = 'SIGNATURE_FORMAT_RAW';
16
+ exports.SIGNATURE_ALGORITHM_SPEC = 'SIGNING_ALGORITHM_SPEC_ED25519';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsZUFBZSxHQUFHO0lBQzdCLEdBQUcsRUFBRSxDQUFDO0NBQ1AsQ0FBQztBQUVXLFFBQUEsY0FBYyxHQUFHO0lBQzVCLGFBQWEsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLE9BQU8sRUFBRSxDQUFDO0NBQ1gsQ0FBQztBQUVXLFFBQUEsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUMsUUFBQSxlQUFlLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkQsUUFBQSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMxQyxRQUFBLHdCQUF3QixHQUFHLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENyeXB0b0tleUZvcm1hdCA9IHtcbiAgUkFXOiAyLFxufTtcblxuZXhwb3J0IGNvbnN0IFNpZ25pbmdLZXlTcGVjID0ge1xuICBFQ19DVVJWRTI1NTE5OiAxLFxufTtcblxuZXhwb3J0IGNvbnN0IFNpZ25pbmdBbGdvcml0aG1TcGVjID0ge1xuICBFRDI1NTE5OiAxLFxufTtcblxuZXhwb3J0IGNvbnN0IFBVQkxJQ19LRVlfRk9STUFUID0gJ0NSWVBUT19LRVlfRk9STUFUX1JBVyc7XG5leHBvcnQgY29uc3QgUFVCTElDX0tFWV9TUEVDID0gJ1NJR05JTkdfS0VZX1NQRUNfRUNfQ1VSVkUyNTUxOSc7XG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX0ZPUk1BVCA9ICdTSUdOQVRVUkVfRk9STUFUX1JBVyc7XG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDID0gJ1NJR05JTkdfQUxHT1JJVEhNX1NQRUNfRUQyNTUxOSc7XG4iXX0=
@@ -55,4 +55,18 @@ export interface OneStepEnablementRequest {
55
55
  actAs: string[];
56
56
  readAs: string[];
57
57
  }
58
+ export interface OnboardingTransaction {
59
+ transaction: string;
60
+ }
61
+ export interface MultiHashSignature {
62
+ format: string;
63
+ signature: string;
64
+ signedBy: string;
65
+ signingAlgorithmSpec: string;
66
+ }
67
+ export interface WalletInitBroadcastData {
68
+ preparedParty: PreparedParty;
69
+ onboardingTransactions: OnboardingTransaction[];
70
+ multiHashSignatures: MultiHashSignature[];
71
+ }
58
72
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;IACtB,+BAA+B,EAAE,OAAO,CAAC;IACzC,8BAA8B,EAAE,MAAM,EAAE,CAAC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;IACtB,+BAA+B,EAAE,OAAO,CAAC;IACzC,8BAA8B,EAAE,MAAM,EAAE,CAAC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgRGFtbFRyYW5zYWN0aW9uLCBNZXRhZGF0YSB9IGZyb20gJy4vcmVzb3VyY2VzSW50ZXJmYWNlJztcblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFR4blBhcnNlZEluZm8ge1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJlcGFyZWRQYXJ0eTogUHJlcGFyZWRQYXJ0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIHtcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbkhhc2g6IHN0cmluZztcbiAgaGFzaGluZ1NjaGVtZVZlcnNpb246IHN0cmluZztcbiAgaGFzaGluZ0RldGFpbHM/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkUGFydHkge1xuICBwYXJ0eUlkOiBzdHJpbmc7XG4gIHB1YmxpY0tleUZpbmdlcnByaW50OiBzdHJpbmc7XG4gIHRvcG9sb2d5VHJhbnNhY3Rpb25zOiBzdHJpbmdbXTtcbiAgbXVsdGlIYXNoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uPzogRGFtbFRyYW5zYWN0aW9uO1xuICBtZXRhZGF0YT86IE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaWNLZXkge1xuICBmb3JtYXQ6IHN0cmluZztcbiAga2V5RGF0YTogc3RyaW5nO1xuICBrZXlTcGVjOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFJlcXVlc3Qge1xuICBwYXJ0eUhpbnQ6IHN0cmluZztcbiAgcHVibGljS2V5OiBJUHVibGljS2V5O1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiBib29sZWFuO1xuICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdO1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IG51bWJlcjtcbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVTdGVwRW5hYmxlbWVudFJlcXVlc3Qge1xuICBjb21tYW5kSWQ6IHN0cmluZztcbiAgcmVjZWl2ZXJJZDogc3RyaW5nO1xuICB2ZXJib3NlSGFzaGluZzogYm9vbGVhbjtcbiAgYWN0QXM6IHN0cmluZ1tdO1xuICByZWFkQXM6IHN0cmluZ1tdO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgRGFtbFRyYW5zYWN0aW9uLCBNZXRhZGF0YSB9IGZyb20gJy4vcmVzb3VyY2VzSW50ZXJmYWNlJztcblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFR4blBhcnNlZEluZm8ge1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJlcGFyZWRQYXJ0eTogUHJlcGFyZWRQYXJ0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIHtcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbkhhc2g6IHN0cmluZztcbiAgaGFzaGluZ1NjaGVtZVZlcnNpb246IHN0cmluZztcbiAgaGFzaGluZ0RldGFpbHM/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkUGFydHkge1xuICBwYXJ0eUlkOiBzdHJpbmc7XG4gIHB1YmxpY0tleUZpbmdlcnByaW50OiBzdHJpbmc7XG4gIHRvcG9sb2d5VHJhbnNhY3Rpb25zOiBzdHJpbmdbXTtcbiAgbXVsdGlIYXNoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uPzogRGFtbFRyYW5zYWN0aW9uO1xuICBtZXRhZGF0YT86IE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaWNLZXkge1xuICBmb3JtYXQ6IHN0cmluZztcbiAga2V5RGF0YTogc3RyaW5nO1xuICBrZXlTcGVjOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFJlcXVlc3Qge1xuICBwYXJ0eUhpbnQ6IHN0cmluZztcbiAgcHVibGljS2V5OiBJUHVibGljS2V5O1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiBib29sZWFuO1xuICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdO1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IG51bWJlcjtcbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVTdGVwRW5hYmxlbWVudFJlcXVlc3Qge1xuICBjb21tYW5kSWQ6IHN0cmluZztcbiAgcmVjZWl2ZXJJZDogc3RyaW5nO1xuICB2ZXJib3NlSGFzaGluZzogYm9vbGVhbjtcbiAgYWN0QXM6IHN0cmluZ1tdO1xuICByZWFkQXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uYm9hcmRpbmdUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlIYXNoU2lnbmF0dXJlIHtcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xuICBzaWduZWRCeTogc3RyaW5nO1xuICBzaWduaW5nQWxnb3JpdGhtU3BlYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldEluaXRCcm9hZGNhc3REYXRhIHtcbiAgcHJlcGFyZWRQYXJ0eTogUHJlcGFyZWRQYXJ0eTtcbiAgb25ib2FyZGluZ1RyYW5zYWN0aW9uczogT25ib2FyZGluZ1RyYW5zYWN0aW9uW107XG4gIG11bHRpSGFzaFNpZ25hdHVyZXM6IE11bHRpSGFzaFNpZ25hdHVyZVtdO1xufVxuIl19
@@ -4,6 +4,7 @@ export { KeyPair } from './keyPair';
4
4
  export { Transaction } from './transaction/transaction';
5
5
  export { TransactionBuilder } from './transactionBuilder';
6
6
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
7
+ export { WalletInitBuilder } from './walletInitBuilder';
7
8
  export { WalletInitTransaction } from './walletInitialization/walletInitTransaction';
8
9
  export { Utils, Interface };
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Interface = exports.Utils = exports.WalletInitTransaction = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
36
+ exports.Interface = exports.Utils = exports.WalletInitTransaction = exports.WalletInitBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
37
37
  const Utils = __importStar(require("./utils"));
38
38
  exports.Utils = Utils;
39
39
  const Interface = __importStar(require("./iface"));
@@ -46,6 +46,8 @@ var transactionBuilder_1 = require("./transactionBuilder");
46
46
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
47
47
  var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
48
48
  Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
49
+ var walletInitBuilder_1 = require("./walletInitBuilder");
50
+ Object.defineProperty(exports, "WalletInitBuilder", { enumerable: true, get: function () { return walletInitBuilder_1.WalletInitBuilder; } });
49
51
  var walletInitTransaction_1 = require("./walletInitialization/walletInitTransaction");
50
52
  Object.defineProperty(exports, "WalletInitTransaction", { enumerable: true, get: function () { return walletInitTransaction_1.WalletInitTransaction; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQVN4QixzQkFBSztBQVJkLG1EQUFxQztBQVFyQiw4QkFBUztBQU56QixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlEQUF3RDtBQUEvQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyxzRkFBcUY7QUFBNUUsOEhBQUEscUJBQXFCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uL3dhbGxldEluaXRUcmFuc2FjdGlvbic7XG5cbmV4cG9ydCB7IFV0aWxzLCBJbnRlcmZhY2UgfTtcbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQVV4QixzQkFBSztBQVRkLG1EQUFxQztBQVNyQiw4QkFBUztBQVB6QixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlEQUF3RDtBQUEvQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyx5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIsc0ZBQXFGO0FBQTVFLDhIQUFBLHFCQUFxQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBJbnRlcmZhY2UgZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgV2FsbGV0SW5pdEJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRCdWlsZGVyJztcbmV4cG9ydCB7IFdhbGxldEluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb24vd2FsbGV0SW5pdFRyYW5zYWN0aW9uJztcblxuZXhwb3J0IHsgVXRpbHMsIEludGVyZmFjZSB9O1xuIl19
@@ -1,13 +1,16 @@
1
1
  import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
3
  import { TransactionBuilder } from './transactionBuilder';
3
4
  import { TransferBuilder } from './transferBuilder';
5
+ import { Transaction } from './transaction/transaction';
4
6
  import { WalletInitBuilder } from './walletInitBuilder';
5
7
  import { WalletInitTransaction } from './walletInitialization/walletInitTransaction';
6
8
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
9
+ constructor(_coinConfig: Readonly<CoinConfig>);
7
10
  /** @inheritdoc */
8
- from(raw: string): TransactionBuilder;
11
+ from(raw: string): TransactionBuilder | WalletInitBuilder;
9
12
  /** @inheritdoc */
10
- getTransferBuilder(): TransferBuilder;
13
+ getTransferBuilder(tx?: Transaction): TransferBuilder;
11
14
  /** @inheritdoc */
12
15
  getWalletInitializationBuilder(tx?: WalletInitTransaction): WalletInitBuilder;
13
16
  private static initializeBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAIrC,kBAAkB;IAClB,kBAAkB,IAAI,eAAe;IAIrC,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,iBAAiB;IAI7E,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAG7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB;IAezD,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,iBAAiB;IAI7E,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
@@ -2,15 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TransactionBuilderFactory = void 0;
4
4
  const sdk_core_1 = require("@bitgo/sdk-core");
5
+ const transferBuilder_1 = require("./transferBuilder");
6
+ const transaction_1 = require("./transaction/transaction");
5
7
  const walletInitBuilder_1 = require("./walletInitBuilder");
8
+ const walletInitTransaction_1 = require("./walletInitialization/walletInitTransaction");
6
9
  class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
10
+ constructor(_coinConfig) {
11
+ super(_coinConfig);
12
+ }
7
13
  /** @inheritdoc */
8
14
  from(raw) {
9
- throw new Error('Method not implemented.');
15
+ try {
16
+ const tx = new walletInitTransaction_1.WalletInitTransaction(this._coinConfig);
17
+ tx.fromRawTransaction(raw);
18
+ return this.getWalletInitializationBuilder(tx);
19
+ }
20
+ catch {
21
+ const tx = new transaction_1.Transaction(this._coinConfig);
22
+ tx.fromRawTransaction(raw);
23
+ if (tx.type === sdk_core_1.TransactionType.Send) {
24
+ return this.getTransferBuilder(tx);
25
+ }
26
+ throw new sdk_core_1.InvalidTransactionError('unsupported transaction');
27
+ }
10
28
  }
11
29
  /** @inheritdoc */
12
- getTransferBuilder() {
13
- throw new Error('Method not implemented.');
30
+ getTransferBuilder(tx) {
31
+ return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
14
32
  }
15
33
  /** @inheritdoc */
16
34
  getWalletInitializationBuilder(tx) {
@@ -24,4 +42,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
24
42
  }
25
43
  }
26
44
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBaUY7QUFHakYsMkRBQXdEO0FBR3hELE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBVztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQjtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUEwQjtRQUN2RCxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQzlCLEVBQW1CLEVBQ25CLE9BQWlCO1FBRWpCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUF6QkQsOERBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uLCBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBXYWxsZXRJbml0QnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdEJ1aWxkZXInO1xuaW1wb3J0IHsgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIoKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdEJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VFR4IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uLCBUQnVpbGRlciBleHRlbmRzIHsgaW5pdEJ1aWxkZXIodHg6IFRUeCk6IHZvaWQgfT4oXG4gICAgdHg6IFRUeCB8IHVuZGVmaW5lZCxcbiAgICBidWlsZGVyOiBUQnVpbGRlclxuICApOiBUQnVpbGRlciB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FLeUI7QUFHekIsdURBQW9EO0FBQ3BELDJEQUF3RDtBQUN4RCwyREFBd0Q7QUFDeEQsd0ZBQXFGO0FBRXJGLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQVc7UUFDZCxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsR0FBRyxJQUFJLDZDQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RCxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE1BQU0sRUFBRSxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksRUFBRSxDQUFDLElBQUksS0FBSywwQkFBZSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNyQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCLENBQUMsRUFBMEI7UUFDdkQsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUM5QixFQUFtQixFQUNuQixPQUFpQjtRQUVqQixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBdkNELDhEQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFdhbGxldEluaXRCdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0QnVpbGRlcic7XG5pbXBvcnQgeyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uL3dhbGxldEluaXRUcmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIgfCBXYWxsZXRJbml0QnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4ID0gbmV3IFdhbGxldEluaXRUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICBpZiAodHgudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlNlbmQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBXYWxsZXRJbml0VHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0QnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXYWxsZXRJbml0QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplQnVpbGRlcjxUVHggZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24sIFRCdWlsZGVyIGV4dGVuZHMgeyBpbml0QnVpbGRlcih0eDogVFR4KTogdm9pZCB9PihcbiAgICB0eDogVFR4IHwgdW5kZWZpbmVkLFxuICAgIGJ1aWxkZXI6IFRCdWlsZGVyXG4gICk6IFRCdWlsZGVyIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxufVxuIl19
@@ -1,10 +1,11 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { BaseAddress, BaseKey, BaseTransactionBuilder } from '@bitgo/sdk-core';
2
+ import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey } from '@bitgo/sdk-core';
3
3
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
4
4
  import { PreparedParty, WalletInitRequest } from './iface';
5
5
  import { WalletInitTransaction } from './walletInitialization/walletInitTransaction';
6
6
  export declare class WalletInitBuilder extends BaseTransactionBuilder {
7
7
  private _transaction;
8
+ private _signatures;
8
9
  private _publicKey;
9
10
  private _partyHint;
10
11
  private _localParticipantObservationOnly;
@@ -23,6 +24,8 @@ export declare class WalletInitBuilder extends BaseTransactionBuilder {
23
24
  validateRawTransaction(rawTransaction: string[]): void;
24
25
  validateTransaction(transaction?: WalletInitTransaction): void;
25
26
  validateValue(value: BigNumber): void;
27
+ /** @inheritDoc */
28
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
26
29
  /**
27
30
  * Sets the public key used for signing.
28
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"walletInitBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAyB,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAc,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF,qBAAa,iBAAkB,SAAQ,sBAAsB;IAC3D,OAAO,CAAC,YAAY,CAAwB;IAE5C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gCAAgC,CAAS;IACjD,OAAO,CAAC,+BAA+B,CAAgB;IACvD,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,yBAAyB,CAAgB;gBAErC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,WAAW,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI;IAI5C,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI/D,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,qBAAqB;IAIjG,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB;IAIjE,IAAI,WAAW,IAAI,qBAAqB,CAEvC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,aAAa,EAEzC;IAED,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAY/B,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAUtD,mBAAmB,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAW9D,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIrC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAU5B;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY7B;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAKpD;;;;;;OAMG;IACH,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAYhD;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAY1C;;;;;;;;OAQG;IACH,eAAe,IAAI,iBAAiB;IAYpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ;CAejB"}
1
+ {"version":3,"file":"walletInitBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAGtB,SAAS,EAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAc,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF,qBAAa,iBAAkB,SAAQ,sBAAsB;IAC3D,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,WAAW,CAAmB;IAEtC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gCAAgC,CAAS;IACjD,OAAO,CAAC,+BAA+B,CAAgB;IACvD,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,yBAAyB,CAAgB;gBAErC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,WAAW,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI;IAI5C,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI/D,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,qBAAqB;IAIjG,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB;IAIjE,IAAI,WAAW,IAAI,qBAAqB,CAEvC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,aAAa,EAEzC;IAED,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAY/B,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAUtD,mBAAmB,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAW9D,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIrC,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ3D;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAU5B;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY7B;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAKpD;;;;;;OAMG;IACH,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAYhD;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAY1C;;;;;;;;OAQG;IACH,eAAe,IAAI,iBAAiB;IAYpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ;CAejB"}
@@ -12,6 +12,7 @@ const constant_1 = require("./constant");
12
12
  class WalletInitBuilder extends sdk_core_1.BaseTransactionBuilder {
13
13
  constructor(_coinConfig) {
14
14
  super(_coinConfig);
15
+ this._signatures = [];
15
16
  this._localParticipantObservationOnly = false;
16
17
  this._otherConfirmingParticipantUids = [];
17
18
  this._confirmationThreshold = 1;
@@ -75,6 +76,14 @@ class WalletInitBuilder extends sdk_core_1.BaseTransactionBuilder {
75
76
  validateValue(value) {
76
77
  throw new Error('Not implemented');
77
78
  }
79
+ /** @inheritDoc */
80
+ addSignature(publicKey, signature) {
81
+ if (!this.transaction) {
82
+ throw new sdk_core_1.InvalidTransactionError('transaction is empty!');
83
+ }
84
+ this._signatures.push({ publicKey, signature });
85
+ this.transaction.signatures = signature.toString('base64');
86
+ }
78
87
  /**
79
88
  * Sets the public key used for signing.
80
89
  *
@@ -220,4 +229,4 @@ class WalletInitBuilder extends sdk_core_1.BaseTransactionBuilder {
220
229
  }
221
230
  }
222
231
  exports.WalletInitBuilder = WalletInitBuilder;
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLDhDQUFzRztBQUd0Ryx1Q0FBb0M7QUFFcEMsb0RBQTRCO0FBQzVCLHdGQUFxRjtBQUNyRix5Q0FBZ0U7QUFFaEUsTUFBYSxpQkFBa0IsU0FBUSxpQ0FBc0I7SUFVM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFOYixxQ0FBZ0MsR0FBRyxLQUFLLENBQUM7UUFDekMsb0NBQStCLEdBQWEsRUFBRSxDQUFDO1FBQy9DLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQiw4QkFBeUIsR0FBYSxFQUFFLENBQUM7UUFJL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLDZDQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxXQUFXLENBQUMsRUFBeUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLGtCQUFrQixDQUFDLGNBQW1CLEVBQUUsYUFBdUI7UUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxXQUEwQjtRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7SUFDaEQsQ0FBQztJ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S0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDO1lBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXZPRCw4Q0F1T0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmltcG9ydCB7IEJhc2VBZGRyZXNzLCBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBJUHVibGljS2V5LCBQcmVwYXJlZFBhcnR5LCBXYWxsZXRJbml0UmVxdWVzdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgUFVCTElDX0tFWV9GT1JNQVQsIFBVQkxJQ19LRVlfU1BFQyB9IGZyb20gJy4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdEJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFdhbGxldEluaXRUcmFuc2FjdGlvbjtcblxuICBwcml2YXRlIF9wdWJsaWNLZXk6IElQdWJsaWNLZXk7XG4gIHByaXZhdGUgX3BhcnR5SGludDogc3RyaW5nO1xuICBwcml2YXRlIF9sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5ID0gZmFsc2U7XG4gIHByaXZhdGUgX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfY29uZmlybWF0aW9uVGhyZXNob2xkID0gMTtcbiAgcHJpdmF0ZSBfb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBXYWxsZXRJbml0VHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFdhbGxldEluaXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFdhbGxldEluaXRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnksIGlzRmlyc3RTaWduZXI/OiBib29sZWFuKTogV2FsbGV0SW5pdFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBXYWxsZXRJbml0VHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgdHJhbnNhY3Rpb24oKTogV2FsbGV0SW5pdFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFByZXBhcmVkUGFydHkpIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5ID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBsZXQga2V5UGFpcjogS2V5UGFpcjtcbiAgICB0cnkge1xuICAgICAga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gICAgaWYgKCFrZXlQYWlyLmdldEtleXMoKS5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAoIXJhd1RyYW5zYWN0aW9uIHx8ICF0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5KSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBsb2NhbEhhc2ggPSB1dGlscy5jb21wdXRlSGFzaEZyb21DcmVhdGVQYXJ0eVJlc3BvbnNlKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAobG9jYWxIYXNoICE9PSB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5Lm11bHRpSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbj86IFdhbGxldEluaXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIGlmICghdHJhbnNhY3Rpb24/LnByZXBhcmVkUGFydHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxIYXNoID0gdXRpbHMuY29tcHV0ZUhhc2hGcm9tQ3JlYXRlUGFydHlSZXNwb25zZSh0cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5LnRvcG9sb2d5VHJhbnNhY3Rpb25zKTtcbiAgICBpZiAobG9jYWxIYXNoICE9PSB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5Lm11bHRpSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIG5vdCBpbXBsZW1lbnRlZCBiZWNhdXNlIHdhbGxldCBpbml0aWFsaXphdGlvbiBkb2Vzbid0IHJlcXVpcmUgYW55IHZhbHVlXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcHVibGljIGtleSB1c2VkIGZvciBzaWduaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIHB1YmxpYyBrZXkgb2YgdGhlIHdhbGxldC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYga2V5IGlzIG5vdCBhIHZhbGlkIHB1YmxpYyBrZXlcbiAgICovXG4gIHB1YmxpY0tleShrZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHV0aWxzLmlzVmFsaWRQdWJsaWNLZXkoa2V5KTtcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSB7XG4gICAgICBmb3JtYXQ6IFBVQkxJQ19LRVlfRk9STUFULFxuICAgICAga2V5RGF0YToga2V5LFxuICAgICAga2V5U3BlYzogUFVCTElDX0tFWV9TUEVDLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFydHkgaGludCAoYWxpYXMgb3IgbmFtZSkgdXNlZCBkdXJpbmcgd2FsbGV0IGluaXRpYWxpemF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gaGludCAtIEEgNS1jaGFyYWN0ZXIgbm9uLWVtcHR5IHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhcnR5IGhpbnQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBoaW50IGlzIGVtcHR5IG9yIG1vcmUgdGhhbiA1IGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIHBhcnR5SGludChoaW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB0cmltbWVkSGludCA9IGhpbnQudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZEhpbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFydHlIaW50IGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgICBpZiAodHJpbW1lZEhpbnQubGVuZ3RoID4gNSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwYXJ0eUhpbnQgbXVzdCBiZSBsZXNzIHRoYW4gNiBjaGFyYWN0ZXJzIGxvbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fcGFydHlIaW50ID0gdHJpbW1lZEhpbnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoZSBsb2NhbCBwYXJ0aWNpcGFudCBzaG91bGQgYmUgYWRkZWQgaW4gb2JzZXJ2YXRpb24tb25seSBtb2RlLlxuICAgKlxuICAgKiBAcGFyYW0gZmxhZyAtIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIG9ic2VydmF0aW9uLW9ubHkgc3RhdHVzLlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICovXG4gIGxvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHkoZmxhZzogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2xvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHkgPSBmbGFnO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb25maXJtaW5nIHBhcnRpY2lwYW50IFVJRCB0byB0aGUgbGlzdCBvZiBvdGhlciBjb25maXJtaW5nIHBhcnRpY2lwYW50cy5cbiAgICpcbiAgICogQHBhcmFtIHVpZCAtIEEgbm9uLWVtcHR5IHN0cmluZyBVSUQgb2YgYW5vdGhlciBjb25maXJtaW5nIHBhcnRpY2lwYW50LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgVUlEIGlzIGVtcHR5LlxuICAgKi9cbiAgb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWQodWlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB0cmltbWVkVWlkID0gdWlkLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRVaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzKSB7XG4gICAgICB0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzLnB1c2godHJpbW1lZFVpZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29uZmlybWF0aW9uIHRocmVzaG9sZCBmb3IgdGhlIHdhbGxldCBpbml0aWFsaXphdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHRocmVzaG9sZCAtIEEgcG9zaXRpdmUgaW50ZWdlciBpbmRpY2F0aW5nIGhvdyBtYW55IGNvbmZpcm1hdGlvbnMgYXJlIHJlcXVpcmVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgdGhyZXNob2xkIGlzIG5vdCBhIHBvc2l0aXZlIGludGVnZXIuXG4gICAqL1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQodGhyZXNob2xkOiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodGhyZXNob2xkKSB8fCB0aHJlc2hvbGQgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb25maXJtYXRpb25UaHJlc2hvbGQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXInKTtcbiAgICB9XG4gICAgdGhpcy5fY29uZmlybWF0aW9uVGhyZXNob2xkID0gdGhyZXNob2xkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb2JzZXJ2aW5nIHBhcnRpY2lwYW50IFVJRCB0byB0aGUgbGlzdCBvZiBvYnNlcnZlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB1aWQgLSBBIG5vbi1lbXB0eSBzdHJpbmcgVUlEIG9mIHRoZSBvYnNlcnZpbmcgcGFydGljaXBhbnQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBVSUQgaXMgZW1wdHkuXG4gICAqL1xuICBvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZCh1aWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IHRyaW1tZWRVaWQgPSB1aWQudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZFVpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMpIHtcbiAgICAgIHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMucHVzaCh0cmltbWVkVWlkKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIFdhbGxldEluaXRSZXF1ZXN0IG9iamVjdCBmcm9tIHRoZSBidWlsZGVyJ3MgaW50ZXJuYWwgc3RhdGUuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHBlcmZvcm1zIHZhbGlkYXRpb24gYmVmb3JlIGNvbnN0cnVjdGluZyB0aGUgb2JqZWN0LiBJZiByZXF1aXJlZCBmaWVsZHMgYXJlXG4gICAqIG1pc3Npbmcgb3IgaW52YWxpZCwgaXQgdGhyb3dzIGFuIGVycm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyB7V2FsbGV0SW5pdFJlcXVlc3R9IC0gQSBmdWxseSBjb25zdHJ1Y3RlZCBhbmQgdmFsaWRhdGVkIHJlcXVlc3Qgb2JqZWN0IGZvciB3YWxsZXQgaW5pdGlhbGl6YXRpb24uXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBmYWlscyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgdG9SZXF1ZXN0T2JqZWN0KCk6IFdhbGxldEluaXRSZXF1ZXN0IHtcbiAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YmxpY0tleTogdGhpcy5fcHVibGljS2V5LFxuICAgICAgcGFydHlIaW50OiB0aGlzLl9wYXJ0eUhpbnQsXG4gICAgICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiB0aGlzLl9sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5LFxuICAgICAgb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzOiB0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMsXG4gICAgICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCxcbiAgICAgIG9ic2VydmluZ1BhcnRpY2lwYW50VWlkczogdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBDaGVja3MgZm9yOlxuICAgKiAtIFByZXNlbmNlIG9mIGEgc3luY2hyb25pemVyIElELlxuICAgKiAtIGBwYXJ0eUhpbnRgIG11c3Qgbm90IGJlIGVtcHR5IGFuZCBtdXN0IGJlIGF0IG1vc3QgNSBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqIC0gUHVibGljIGtleSBtdXN0IGluY2x1ZGUgYGtleURhdGFgLCBgZm9ybWF0YCwgYW5kIGBrZXlTcGVjYC5cbiAgICogLSBDb25maXJtYXRpb24gdGhyZXNob2xkIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLlxuICAgKiAtIENvbmZpcm1pbmcgYW5kIG9ic2VydmluZyBwYXJ0aWNpcGFudCBVSUQgbGlzdHMgbXVzdCBiZSBhcnJheXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBpbnZhbGlkLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BhcnR5SGludCB8fCB0aGlzLl9wYXJ0eUhpbnQubGVuZ3RoID4gNSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhcnR5SGludCcpO1xuICAgIGlmICghdGhpcy5fcHVibGljS2V5IHx8ICF0aGlzLl9wdWJsaWNLZXkua2V5RGF0YSB8fCAhdGhpcy5fcHVibGljS2V5LmZvcm1hdCB8fCAhdGhpcy5fcHVibGljS2V5LmtleVNwZWMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwdWJsaWNLZXknKTtcbiAgICB9XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCkgfHwgdGhpcy5fY29uZmlybWF0aW9uVGhyZXNob2xkIDw9IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb25maXJtYXRpb25UaHJlc2hvbGQnKTtcbiAgICB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLDhDQVF5QjtBQUd6Qix1Q0FBb0M7QUFFcEMsb0RBQTRCO0FBQzVCLHdGQUFxRjtBQUNyRix5Q0FBZ0U7QUFFaEUsTUFBYSxpQkFBa0IsU0FBUSxpQ0FBc0I7SUFXM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWYixnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFJOUIscUNBQWdDLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLG9DQUErQixHQUFhLEVBQUUsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsOEJBQXlCLEdBQWEsRUFBRSxDQUFDO1FBSS9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQXlCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxjQUFtQixFQUFFLGFBQXVCO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBMEI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFh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Q0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hHLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFqUEQsOENBaVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IElQdWJsaWNLZXksIFByZXBhcmVkUGFydHksIFdhbGxldEluaXRSZXF1ZXN0IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uL3dhbGxldEluaXRUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBQVUJMSUNfS0VZX0ZPUk1BVCwgUFVCTElDX0tFWV9TUEVDIH0gZnJvbSAnLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0QnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF90cmFuc2FjdGlvbjogV2FsbGV0SW5pdFRyYW5zYWN0aW9uO1xuICBwcml2YXRlIF9zaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3B1YmxpY0tleTogSVB1YmxpY0tleTtcbiAgcHJpdmF0ZSBfcGFydHlIaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgX2xvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIF9jb25maXJtYXRpb25UaHJlc2hvbGQgPSAxO1xuICBwcml2YXRlIF9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFdhbGxldEluaXRUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8V2FsbGV0SW5pdFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IGFueSwgaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiBXYWxsZXRJbml0VHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFdhbGxldEluaXRUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCB0cmFuc2FjdGlvbigpOiBXYWxsZXRJbml0VHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogUHJlcGFyZWRQYXJ0eSkge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIGxldCBrZXlQYWlyOiBLZXlQYWlyO1xuICAgIHRyeSB7XG4gICAgICBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgIH1cbiAgICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24gfHwgIXRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsSGFzaCA9IHV0aWxzLmNvbXB1dGVIYXNoRnJvbUNyZWF0ZVBhcnR5UmVzcG9uc2UocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmIChsb2NhbEhhc2ggIT09IHRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkubXVsdGlIYXNoKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbj8ucHJlcGFyZWRQYXJ0eSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBsb2NhbEhhc2ggPSB1dGlscy5jb21wdXRlSGFzaEZyb21DcmVhdGVQYXJ0eVJlc3BvbnNlKHRyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkudG9wb2xvZ3lUcmFuc2FjdGlvbnMpO1xuICAgIGlmIChsb2NhbEhhc2ggIT09IHRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkubXVsdGlIYXNoKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gbm90IGltcGxlbWVudGVkIGJlY2F1c2Ugd2FsbGV0IGluaXRpYWxpemF0aW9uIGRvZXNuJ3QgcmVxdWlyZSBhbnkgdmFsdWVcbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGVtcHR5IScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZXMgPSBzaWduYXR1cmUudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHB1YmxpYyBrZXkgdXNlZCBmb3Igc2lnbmluZy5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBwdWJsaWMga2V5IG9mIHRoZSB3YWxsZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGtleSBpcyBub3QgYSB2YWxpZCBwdWJsaWMga2V5XG4gICAqL1xuICBwdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB1dGlscy5pc1ZhbGlkUHVibGljS2V5KGtleSk7XG4gICAgdGhpcy5fcHVibGljS2V5ID0ge1xuICAgICAgZm9ybWF0OiBQVUJMSUNfS0VZX0ZPUk1BVCxcbiAgICAgIGtleURhdGE6IGtleSxcbiAgICAgIGtleVNwZWM6IFBVQkxJQ19LRVlfU1BFQyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcnR5IGhpbnQgKGFsaWFzIG9yIG5hbWUpIHVzZWQgZHVyaW5nIHdhbGxldCBpbml0aWFsaXphdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGhpbnQgLSBBIDUtY2hhcmFjdGVyIG5vbi1lbXB0eSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwYXJ0eSBoaW50LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgaGludCBpcyBlbXB0eSBvciBtb3JlIHRoYW4gNSBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICBwYXJ0eUhpbnQoaGludDogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgdHJpbW1lZEhpbnQgPSBoaW50LnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRIaW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3BhcnR5SGludCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgICB9XG4gICAgaWYgKHRyaW1tZWRIaW50Lmxlbmd0aCA+IDUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFydHlIaW50IG11c3QgYmUgbGVzcyB0aGFuIDYgY2hhcmFjdGVycyBsb25nJyk7XG4gICAgfVxuICAgIHRoaXMuX3BhcnR5SGludCA9IHRyaW1tZWRIaW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgd2hldGhlciB0aGUgbG9jYWwgcGFydGljaXBhbnQgc2hvdWxkIGJlIGFkZGVkIGluIG9ic2VydmF0aW9uLW9ubHkgbW9kZS5cbiAgICpcbiAgICogQHBhcmFtIGZsYWcgLSBCb29sZWFuIGZsYWcgaW5kaWNhdGluZyBvYnNlcnZhdGlvbi1vbmx5IHN0YXR1cy5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5KGZsYWc6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLl9sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5ID0gZmxhZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY29uZmlybWluZyBwYXJ0aWNpcGFudCBVSUQgdG8gdGhlIGxpc3Qgb2Ygb3RoZXIgY29uZmlybWluZyBwYXJ0aWNpcGFudHMuXG4gICAqXG4gICAqIEBwYXJhbSB1aWQgLSBBIG5vbi1lbXB0eSBzdHJpbmcgVUlEIG9mIGFub3RoZXIgY29uZmlybWluZyBwYXJ0aWNpcGFudC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIFVJRCBpcyBlbXB0eS5cbiAgICovXG4gIG90aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkKHVpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgdHJpbW1lZFVpZCA9IHVpZC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkVWlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcykge1xuICAgICAgdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzID0gW107XG4gICAgfVxuICAgIHRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcy5wdXNoKHRyaW1tZWRVaWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbmZpcm1hdGlvbiB0aHJlc2hvbGQgZm9yIHRoZSB3YWxsZXQgaW5pdGlhbGl6YXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgLSBBIHBvc2l0aXZlIGludGVnZXIgaW5kaWNhdGluZyBob3cgbWFueSBjb25maXJtYXRpb25zIGFyZSByZXF1aXJlZC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHRocmVzaG9sZCBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyLlxuICAgKi9cbiAgY29uZmlybWF0aW9uVGhyZXNob2xkKHRocmVzaG9sZDogbnVtYmVyKTogdGhpcyB7XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHRocmVzaG9sZCkgfHwgdGhyZXNob2xkIDw9IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29uZmlybWF0aW9uVGhyZXNob2xkIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCA9IHRocmVzaG9sZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIG9ic2VydmluZyBwYXJ0aWNpcGFudCBVSUQgdG8gdGhlIGxpc3Qgb2Ygb2JzZXJ2ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gdWlkIC0gQSBub24tZW1wdHkgc3RyaW5nIFVJRCBvZiB0aGUgb2JzZXJ2aW5nIHBhcnRpY2lwYW50LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgVUlEIGlzIGVtcHR5LlxuICAgKi9cbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWQodWlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB0cmltbWVkVWlkID0gdWlkLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRVaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb2JzZXJ2aW5nUGFydGljaXBhbnRVaWQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzKSB7XG4gICAgICB0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzLnB1c2godHJpbW1lZFVpZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuZCByZXR1cm5zIHRoZSBXYWxsZXRJbml0UmVxdWVzdCBvYmplY3QgZnJvbSB0aGUgYnVpbGRlcidzIGludGVybmFsIHN0YXRlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyB2YWxpZGF0aW9uIGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdC4gSWYgcmVxdWlyZWQgZmllbGRzIGFyZVxuICAgKiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHRocm93cyBhbiBlcnJvci5cbiAgICpcbiAgICogQHJldHVybnMge1dhbGxldEluaXRSZXF1ZXN0fSAtIEEgZnVsbHkgY29uc3RydWN0ZWQgYW5kIHZhbGlkYXRlZCByZXF1ZXN0IG9iamVjdCBmb3Igd2FsbGV0IGluaXRpYWxpemF0aW9uLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBXYWxsZXRJbml0UmVxdWVzdCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgIHJldHVybiB7XG4gICAgICBwdWJsaWNLZXk6IHRoaXMuX3B1YmxpY0tleSxcbiAgICAgIHBhcnR5SGludDogdGhpcy5fcGFydHlIaW50LFxuICAgICAgbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seTogdGhpcy5fbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seSxcbiAgICAgIG90aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkczogdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzLFxuICAgICAgY29uZmlybWF0aW9uVGhyZXNob2xkOiB0aGlzLl9jb25maXJtYXRpb25UaHJlc2hvbGQsXG4gICAgICBvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHM6IHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIGJ1aWxkZXIgYmVmb3JlIGJ1aWxkaW5nIHRoZSByZXF1ZXN0IG9iamVjdC5cbiAgICpcbiAgICogQ2hlY2tzIGZvcjpcbiAgICogLSBQcmVzZW5jZSBvZiBhIHN5bmNocm9uaXplciBJRC5cbiAgICogLSBgcGFydHlIaW50YCBtdXN0IG5vdCBiZSBlbXB0eSBhbmQgbXVzdCBiZSBhdCBtb3N0IDUgY2hhcmFjdGVycyBsb25nLlxuICAgKiAtIFB1YmxpYyBrZXkgbXVzdCBpbmNsdWRlIGBrZXlEYXRhYCwgYGZvcm1hdGAsIGFuZCBga2V5U3BlY2AuXG4gICAqIC0gQ29uZmlybWF0aW9uIHRocmVzaG9sZCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci5cbiAgICogLSBDb25maXJtaW5nIGFuZCBvYnNlcnZpbmcgcGFydGljaXBhbnQgVUlEIGxpc3RzIG11c3QgYmUgYXJyYXlzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wYXJ0eUhpbnQgfHwgdGhpcy5fcGFydHlIaW50Lmxlbmd0aCA+IDUpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwYXJ0eUhpbnQnKTtcbiAgICBpZiAoIXRoaXMuX3B1YmxpY0tleSB8fCAhdGhpcy5fcHVibGljS2V5LmtleURhdGEgfHwgIXRoaXMuX3B1YmxpY0tleS5mb3JtYXQgfHwgIXRoaXMuX3B1YmxpY0tleS5rZXlTcGVjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHVibGljS2V5Jyk7XG4gICAgfVxuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcih0aGlzLl9jb25maXJtYXRpb25UaHJlc2hvbGQpIHx8IHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlybWF0aW9uVGhyZXNob2xkJyk7XG4gICAgfVxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcyBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gICAgfVxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29ic2VydmluZ1BhcnRpY2lwYW50VWlkcyBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"walletInitTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/walletInitialization/walletInitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA4C,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3D,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,OAAO,CAAC,cAAc,CAAgB;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,CAAC,WAAW,EAAE,aAAa,EAI3C;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,iBAAiB,IAAI,MAAM;IAO3B,MAAM,IAAI,gBAAgB;IAY1B,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAUxC"}
1
+ {"version":3,"file":"walletInitTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/walletInitialization/walletInitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA4C,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAGL,aAAa,EAEb,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAGlB,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,OAAO,CAAC,cAAc,CAAgB;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,CAAC,WAAW,EAAE,aAAa,EAI3C;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,iBAAiB,IAAI,MAAM;IA6B3B,MAAM,IAAI,gBAAgB;IAY1B,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAexC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WalletInitTransaction = void 0;
4
4
  const sdk_core_1 = require("@bitgo/sdk-core");
5
+ const constant_1 = require("../constant");
5
6
  class WalletInitTransaction extends sdk_core_1.BaseTransaction {
6
7
  constructor(coinConfig) {
7
8
  super(coinConfig);
@@ -24,7 +25,29 @@ class WalletInitTransaction extends sdk_core_1.BaseTransaction {
24
25
  if (!this._preparedParty) {
25
26
  throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
26
27
  }
27
- return Buffer.from(JSON.stringify(this._preparedParty)).toString('base64');
28
+ const multiHashSignatures = [];
29
+ if (this.signature.length > 0) {
30
+ this.signature.map((signature) => {
31
+ const multiHashSignature = {
32
+ format: constant_1.SIGNATURE_FORMAT,
33
+ signature: signature,
34
+ signedBy: this._preparedParty.publicKeyFingerprint,
35
+ signingAlgorithmSpec: constant_1.SIGNATURE_ALGORITHM_SPEC,
36
+ };
37
+ multiHashSignatures.push(multiHashSignature);
38
+ });
39
+ }
40
+ const walletInitBroadcastData = {
41
+ preparedParty: this._preparedParty,
42
+ onboardingTransactions: this._preparedParty.topologyTransactions.map((txn) => {
43
+ const onboardingTransaction = {
44
+ transaction: txn,
45
+ };
46
+ return onboardingTransaction;
47
+ }),
48
+ multiHashSignatures: multiHashSignatures,
49
+ };
50
+ return Buffer.from(JSON.stringify(walletInitBroadcastData)).toString('base64');
28
51
  }
29
52
  toJson() {
30
53
  if (!this._preparedParty) {
@@ -46,9 +69,14 @@ class WalletInitTransaction extends sdk_core_1.BaseTransaction {
46
69
  fromRawTransaction(rawTx) {
47
70
  try {
48
71
  const decoded = JSON.parse(Buffer.from(rawTx, 'base64').toString('utf8'));
49
- this._preparedParty = decoded;
72
+ this._preparedParty = decoded.preparedParty;
50
73
  this._type = sdk_core_1.TransactionType.WalletInitialization;
51
- this._id = decoded.multiHash;
74
+ this._id = decoded.preparedParty.multiHash;
75
+ if (decoded.multiHashSignatures.length > 0) {
76
+ decoded.multiHashSignatures.map((multiHashSignature) => {
77
+ this.signatures = multiHashSignature.signature;
78
+ });
79
+ }
52
80
  }
53
81
  catch (e) {
54
82
  throw new sdk_core_1.InvalidTransactionError('Unable to parse raw transaction data');
@@ -56,4 +84,4 @@ class WalletInitTransaction extends sdk_core_1.BaseTransaction {
56
84
  }
57
85
  }
58
86
  exports.WalletInitTransaction = WalletInitTransaction;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdFRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQXFHO0FBSXJHLE1BQWEscUJBQXNCLFNBQVEsMEJBQWU7SUFHeEQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsV0FBMEI7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVk7UUFDbEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsU0FBaUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFxQjtZQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQXdCO1lBQ25DLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNuQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBa0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7WUFDbEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQy9CLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTdERCxzREE2REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb24sIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFByZXBhcmVkUGFydHksIFdhbGxldEluaXRUeERhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9wcmVwYXJlZFBhcnR5OiBQcmVwYXJlZFBhcnR5O1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgcHJlcGFyZWRQYXJ0eSgpOiBQcmVwYXJlZFBhcnR5IHtcbiAgICByZXR1cm4gdGhpcy5fcHJlcGFyZWRQYXJ0eTtcbiAgfVxuXG4gIHNldCBwcmVwYXJlZFBhcnR5KHRyYW5zYWN0aW9uOiBQcmVwYXJlZFBhcnR5KSB7XG4gICAgdGhpcy5fcHJlcGFyZWRQYXJ0eSA9IHRyYW5zYWN0aW9uO1xuICAgIHRoaXMuX2lkID0gdHJhbnNhY3Rpb24ubXVsdGlIYXNoO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldCBzaWduYXR1cmVzKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeSh0aGlzLl9wcmVwYXJlZFBhcnR5KSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgdG9Kc29uKCk6IFdhbGxldEluaXRUeERhdGEge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogV2FsbGV0SW5pdFR4RGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSBhcyBUcmFuc2FjdGlvblR5cGUsXG4gICAgICBwcmVwYXJlZFBhcnR5OiB0aGlzLl9wcmVwYXJlZFBhcnR5LFxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5fcHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2gpO1xuICB9XG5cbiAgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1R4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjb2RlZDogUHJlcGFyZWRQYXJ0eSA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20ocmF3VHgsICdiYXNlNjQnKS50b1N0cmluZygndXRmOCcpKTtcbiAgICAgIHRoaXMuX3ByZXBhcmVkUGFydHkgPSBkZWNvZGVkO1xuICAgICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjtcbiAgICAgIHRoaXMuX2lkID0gZGVjb2RlZC5tdWx0aUhhc2g7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdVbmFibGUgdG8gcGFyc2UgcmF3IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdFRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQXFHO0FBU3JHLDBDQUF5RTtBQUV6RSxNQUFhLHFCQUFzQixTQUFRLDBCQUFlO0lBR3hELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLFdBQTBCO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUF5QixFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMvQixNQUFNLGtCQUFrQixHQUF1QjtvQkFDN0MsTUFBTSxFQUFFLDJCQUFnQjtvQkFDeEIsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQjtvQkFDbEQsb0JBQW9CLEVBQUUsbUNBQXdCO2lCQUMvQyxDQUFDO2dCQUNGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sdUJBQXVCLEdBQTRCO1lBQ3ZELGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNsQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMzRSxNQUFNLHFCQUFxQixHQUEwQjtvQkFDbkQsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUM7Z0JBQ0YsT0FBTyxxQkFBcUIsQ0FBQztZQUMvQixDQUFDLENBQUM7WUFDRixtQkFBbUIsRUFBRSxtQkFBbUI7U0FDekMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBcUI7WUFDL0IsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUF3QjtZQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDbkMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQTRCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbkcsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQztZQUNsRCxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQzNDLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFzQyxFQUFFLEVBQUU7b0JBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF4RkQsc0RBd0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUtleSwgQmFzZVRyYW5zYWN0aW9uLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBNdWx0aUhhc2hTaWduYXR1cmUsXG4gIE9uYm9hcmRpbmdUcmFuc2FjdGlvbixcbiAgUHJlcGFyZWRQYXJ0eSxcbiAgV2FsbGV0SW5pdEJyb2FkY2FzdERhdGEsXG4gIFdhbGxldEluaXRUeERhdGEsXG59IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCB7IFNJR05BVFVSRV9BTEdPUklUSE1fU1BFQywgU0lHTkFUVVJFX0ZPUk1BVCB9IGZyb20gJy4uL2NvbnN0YW50JztcblxuZXhwb3J0IGNsYXNzIFdhbGxldEluaXRUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX3ByZXBhcmVkUGFydHk6IFByZXBhcmVkUGFydHk7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBwcmVwYXJlZFBhcnR5KCk6IFByZXBhcmVkUGFydHkge1xuICAgIHJldHVybiB0aGlzLl9wcmVwYXJlZFBhcnR5O1xuICB9XG5cbiAgc2V0IHByZXBhcmVkUGFydHkodHJhbnNhY3Rpb246IFByZXBhcmVkUGFydHkpIHtcbiAgICB0aGlzLl9wcmVwYXJlZFBhcnR5ID0gdHJhbnNhY3Rpb247XG4gICAgdGhpcy5faWQgPSB0cmFuc2FjdGlvbi5tdWx0aUhhc2g7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc2V0IHNpZ25hdHVyZXMoc2lnbmF0dXJlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTtcbiAgfVxuXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9wcmVwYXJlZFBhcnR5KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgbXVsdGlIYXNoU2lnbmF0dXJlczogTXVsdGlIYXNoU2lnbmF0dXJlW10gPSBbXTtcbiAgICBpZiAodGhpcy5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zaWduYXR1cmUubWFwKChzaWduYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3QgbXVsdGlIYXNoU2lnbmF0dXJlOiBNdWx0aUhhc2hTaWduYXR1cmUgPSB7XG4gICAgICAgICAgZm9ybWF0OiBTSUdOQVRVUkVfRk9STUFULFxuICAgICAgICAgIHNpZ25hdHVyZTogc2lnbmF0dXJlLFxuICAgICAgICAgIHNpZ25lZEJ5OiB0aGlzLl9wcmVwYXJlZFBhcnR5LnB1YmxpY0tleUZpbmdlcnByaW50LFxuICAgICAgICAgIHNpZ25pbmdBbGdvcml0aG1TcGVjOiBTSUdOQVRVUkVfQUxHT1JJVEhNX1NQRUMsXG4gICAgICAgIH07XG4gICAgICAgIG11bHRpSGFzaFNpZ25hdHVyZXMucHVzaChtdWx0aUhhc2hTaWduYXR1cmUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHdhbGxldEluaXRCcm9hZGNhc3REYXRhOiBXYWxsZXRJbml0QnJvYWRjYXN0RGF0YSA9IHtcbiAgICAgIHByZXBhcmVkUGFydHk6IHRoaXMuX3ByZXBhcmVkUGFydHksXG4gICAgICBvbmJvYXJkaW5nVHJhbnNhY3Rpb25zOiB0aGlzLl9wcmVwYXJlZFBhcnR5LnRvcG9sb2d5VHJhbnNhY3Rpb25zLm1hcCgodHhuKSA9PiB7XG4gICAgICAgIGNvbnN0IG9uYm9hcmRpbmdUcmFuc2FjdGlvbjogT25ib2FyZGluZ1RyYW5zYWN0aW9uID0ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uOiB0eG4sXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBvbmJvYXJkaW5nVHJhbnNhY3Rpb247XG4gICAgICB9KSxcbiAgICAgIG11bHRpSGFzaFNpZ25hdHVyZXM6IG11bHRpSGFzaFNpZ25hdHVyZXMsXG4gICAgfTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkod2FsbGV0SW5pdEJyb2FkY2FzdERhdGEpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICB0b0pzb24oKTogV2FsbGV0SW5pdFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9wcmVwYXJlZFBhcnR5KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBXYWxsZXRJbml0VHhEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICB0eXBlOiB0aGlzLl90eXBlIGFzIFRyYW5zYWN0aW9uVHlwZSxcbiAgICAgIHByZXBhcmVkUGFydHk6IHRoaXMuX3ByZXBhcmVkUGFydHksXG4gICAgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IHNpZ25hYmxlUGF5bG9hZCgpOiBCdWZmZXIge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9wcmVwYXJlZFBhcnR5Lm11bHRpSGFzaCk7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkOiBXYWxsZXRJbml0QnJvYWRjYXN0RGF0YSA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20ocmF3VHgsICdiYXNlNjQnKS50b1N0cmluZygndXRmOCcpKTtcbiAgICAgIHRoaXMuX3ByZXBhcmVkUGFydHkgPSBkZWNvZGVkLnByZXBhcmVkUGFydHk7XG4gICAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICAgICAgdGhpcy5faWQgPSBkZWNvZGVkLnByZXBhcmVkUGFydHkubXVsdGlIYXNoO1xuICAgICAgaWYgKGRlY29kZWQubXVsdGlIYXNoU2lnbmF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRlY29kZWQubXVsdGlIYXNoU2lnbmF0dXJlcy5tYXAoKG11bHRpSGFzaFNpZ25hdHVyZTogTXVsdGlIYXNoU2lnbmF0dXJlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVzID0gbXVsdGlIYXNoU2lnbmF0dXJlLnNpZ25hdHVyZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdVbmFibGUgdG8gcGFyc2UgcmF3IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -6,12 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const assert_1 = __importDefault(require("assert"));
7
7
  const should_1 = __importDefault(require("should"));
8
8
  const statics_1 = require("@bitgo/statics");
9
- const walletInitBuilder_1 = require("../../../../src/lib/walletInitBuilder");
10
- const walletInitTransaction_1 = require("../../../../src/lib/walletInitialization/walletInitTransaction");
9
+ const src_1 = require("../../../../src");
11
10
  const resources_1 = require("../../../resources");
12
11
  describe('Wallet Initialization Builder', () => {
13
12
  it('should get the wallet init request object', function () {
14
- const txBuilder = new walletInitBuilder_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
13
+ const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
15
14
  const { publicKey, partyHint } = resources_1.WalletInitRequestData;
16
15
  txBuilder.publicKey(publicKey);
17
16
  txBuilder.partyHint(partyHint);
@@ -29,19 +28,19 @@ describe('Wallet Initialization Builder', () => {
29
28
  should_1.default.exist(requestObj.publicKey.keySpec);
30
29
  });
31
30
  it('should validate raw transaction', function () {
32
- const txBuilder = new walletInitBuilder_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
31
+ const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
33
32
  txBuilder.transaction = resources_1.GenerateTopologyResponse;
34
33
  txBuilder.validateRawTransaction(resources_1.GenerateTopologyResponse.topologyTransactions);
35
34
  });
36
35
  it('should validate the transaction', function () {
37
- const txBuilder = new walletInitBuilder_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
36
+ const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
38
37
  txBuilder.transaction = resources_1.GenerateTopologyResponse;
39
- const walletInitTxn = new walletInitTransaction_1.WalletInitTransaction(statics_1.coins.get('tcanton'));
38
+ const walletInitTxn = new src_1.WalletInitTransaction(statics_1.coins.get('tcanton'));
40
39
  walletInitTxn.preparedParty = resources_1.GenerateTopologyResponse;
41
40
  txBuilder.validateTransaction(walletInitTxn);
42
41
  });
43
42
  it('should throw error in validating raw transaction', function () {
44
- const txBuilder = new walletInitBuilder_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
43
+ const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
45
44
  txBuilder.transaction = resources_1.InvalidGenerateTopologyResponse;
46
45
  try {
47
46
  txBuilder.validateRawTransaction(resources_1.InvalidGenerateTopologyResponse.topologyTransactions);
@@ -51,9 +50,9 @@ describe('Wallet Initialization Builder', () => {
51
50
  }
52
51
  });
53
52
  it('should throw error in validating raw transaction', function () {
54
- const txBuilder = new walletInitBuilder_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
53
+ const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
55
54
  txBuilder.transaction = resources_1.InvalidGenerateTopologyResponse;
56
- const walletInitTxn = new walletInitTransaction_1.WalletInitTransaction(statics_1.coins.get('tcanton'));
55
+ const walletInitTxn = new src_1.WalletInitTransaction(statics_1.coins.get('tcanton'));
57
56
  walletInitTxn.preparedParty = resources_1.InvalidGenerateTopologyResponse;
58
57
  try {
59
58
  txBuilder.validateTransaction(walletInitTxn);
@@ -63,4 +62,4 @@ describe('Wallet Initialization Builder', () => {
63
62
  }
64
63
  });
65
64
  });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYnVpbGRlci93YWxsZXRJbml0L3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMsNkVBQTBFO0FBQzFFLDBHQUF1RztBQUd2RyxrREFBc0g7QUFFdEgsUUFBUSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtJQUM3QyxFQUFFLENBQUMsMkNBQTJDLEVBQUU7UUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxpQ0FBcUIsQ0FBQztRQUN2RCxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsTUFBTSxVQUFVLEdBQXNCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RCxnQkFBTSxDQUFDLEtBQUssQ0FB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ZnJvbSAnc2hvdWxkJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmltcG9ydCB7IFdhbGxldEluaXRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0QnVpbGRlcic7XG5pbXBvcnQgeyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbGliL3dhbGxldEluaXRpYWxpemF0aW9uL3dhbGxldEluaXRUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBXYWxsZXRJbml0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UsIEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UsIFdhbGxldEluaXRSZXF1ZXN0RGF0YSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdXYWxsZXQgSW5pdGlhbGl6YXRpb24gQnVpbGRlcicsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHdhbGxldCBpbml0IHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBXYWxsZXRJbml0QnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgeyBwdWJsaWNLZXksIHBhcnR5SGludCB9ID0gV2FsbGV0SW5pdFJlcXVlc3REYXRhO1xuICAgIHR4QnVpbGRlci5wdWJsaWNLZXkocHVibGljS2V5KTtcbiAgICB0eEJ1aWxkZXIucGFydHlIaW50KHBhcnR5SGludCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogV2FsbGV0SW5pdFJlcXVlc3QgPSB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnBhcnR5SGludCwgcGFydHlIaW50KTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5LCBmYWxzZSk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29uZmlybWF0aW9uVGhyZXNob2xkLCAxKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMubGVuZ3RoLCAwKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMubGVuZ3RoLCAwKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iai5wdWJsaWNLZXkpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnB1YmxpY0tleS5rZXlEYXRhLCBwdWJsaWNLZXkpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleS5mb3JtYXQpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleS5mb3JtYXQpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleS5rZXlTcGVjKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gPSBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlLnRvcG9sb2d5VHJhbnNhY3Rpb25zKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gPSBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgY29uc3Qgd2FsbGV0SW5pdFR4biA9IG5ldyBXYWxsZXRJbml0VHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHdhbGxldEluaXRUeG4ucHJlcGFyZWRQYXJ0eSA9IEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih3YWxsZXRJbml0VHhuKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpbiB2YWxpZGF0aW5nIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci50cmFuc2FjdGlvbiA9IEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UudG9wb2xvZ3lUcmFuc2FjdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaW4gdmFsaWRhdGluZyByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gPSBJbnZhbGlkR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlO1xuICAgIGNvbnN0IHdhbGxldEluaXRUeG4gPSBuZXcgV2FsbGV0SW5pdFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB3YWxsZXRJbml0VHhuLnByZXBhcmVkUGFydHkgPSBJbnZhbGlkR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih3YWxsZXRJbml0VHhuKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYnVpbGRlci93YWxsZXRJbml0L3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQTJFO0FBRzNFLGtEQUFzSDtBQUV0SCxRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO0lBQzdDLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTtRQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUFpQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGlDQUFxQixDQUFDO1FBQ3ZELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixNQUFNLFVBQVUsR0FBc0IsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2xFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksdUJBQWlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlELFNBQVMsQ0FBQyxXQUFXLEdBQUcsb0NBQXdCLENBQUM7UUFDakQsU0FBUyxDQUFDLHNCQUFzQixDQUFDLG9DQUF3QixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSx1QkFBaUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsU0FBUyxDQUFDLFdBQVcsR0FBRyxvQ0FBd0IsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxJQUFJLDJCQUFxQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxhQUFhLENBQUMsYUFBYSxHQUFHLG9DQUF3QixDQUFDO1FBQ3ZELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUFpQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsV0FBVyxHQUFHLDJDQUErQixDQUFDO1FBQ3hELElBQUksQ0FBQztZQUNILFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQywyQ0FBK0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUFpQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsV0FBVyxHQUFHLDJDQUErQixDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQXFCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLGFBQWEsQ0FBQyxhQUFhLEdBQUcsMkNBQStCLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuaW1wb3J0IHsgV2FsbGV0SW5pdEJ1aWxkZXIsIFdhbGxldEluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBXYWxsZXRJbml0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UsIEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UsIFdhbGxldEluaXRSZXF1ZXN0RGF0YSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdXYWxsZXQgSW5pdGlhbGl6YXRpb24gQnVpbGRlcicsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHdhbGxldCBpbml0IHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBXYWxsZXRJbml0QnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgeyBwdWJsaWNLZXksIHBhcnR5SGludCB9ID0gV2FsbGV0SW5pdFJlcXVlc3REYXRhO1xuICAgIHR4QnVpbGRlci5wdWJsaWNLZXkocHVibGljS2V5KTtcbiAgICB0eEJ1aWxkZXIucGFydHlIaW50KHBhcnR5SGludCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogV2FsbGV0SW5pdFJlcXVlc3QgPSB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnBhcnR5SGludCwgcGFydHlIaW50KTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5LCBmYWxzZSk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29uZmlybWF0aW9uVGhyZXNob2xkLCAxKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMubGVuZ3RoLCAwKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMubGVuZ3RoLCAwKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iai5wdWJsaWNLZXkpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnB1YmxpY0tleS5rZXlEYXRhLCBwdWJsaWNLZXkpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleS5mb3JtYXQpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleS5mb3JtYXQpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleS5rZXlTcGVjKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gPSBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlLnRvcG9sb2d5VHJhbnNhY3Rpb25zKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gPSBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgY29uc3Qgd2FsbGV0SW5pdFR4biA9IG5ldyBXYWxsZXRJbml0VHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHdhbGxldEluaXRUeG4ucHJlcGFyZWRQYXJ0eSA9IEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih3YWxsZXRJbml0VHhuKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpbiB2YWxpZGF0aW5nIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci50cmFuc2FjdGlvbiA9IEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UudG9wb2xvZ3lUcmFuc2FjdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaW4gdmFsaWRhdGluZyByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gPSBJbnZhbGlkR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlO1xuICAgIGNvbnN0IHdhbGxldEluaXRUeG4gPSBuZXcgV2FsbGV0SW5pdFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB3YWxsZXRJbml0VHhuLnByZXBhcmVkUGFydHkgPSBJbnZhbGlkR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih3YWxsZXRJbml0VHhuKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==