@bitgo/sdk-coin-canton 1.32.2 → 1.33.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.
@@ -1 +1 @@
1
- {"version":3,"file":"canton.d.ts","sourceRoot":"","sources":["../../src/canton.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EAER,SAAS,EAET,mBAAmB,EAMnB,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,oCAAoC,EACpC,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,IAAI,0BAA0B,EACpD,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,gBAAgB,CAAC;AAOpE,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,qBAAa,MAAO,SAAQ,QAAQ;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,OAAO,CAAC,UAAU;IAIlB,kBAAkB;IACX,aAAa,IAAI,MAAM;IAI9B,kBAAkB;IACX,QAAQ,IAAI,MAAM;IAIzB,kBAAkB;IACX,SAAS,IAAI,MAAM;IAI1B,kBAAkB;IACX,WAAW,IAAI,MAAM;IAI5B,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,kBAAkB;IAClB,sBAAsB,IAAI,OAAO;IAIjC,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,oBAAoB;IACpB,uCAAuC,IAAI,OAAO;IAIlD,eAAe,IAAI,YAAY;IAI/B,kBAAkB;IACZ,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgG3E,OAAO,CAAC,8BAA8B;IAoItC,OAAO,CAAC,iBAAiB;IAWzB,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxE,kBAAkB;IACZ,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAcnF,kBAAkB;IAClB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAYvC,kBAAkB;IAClB,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAatF,kBAAkB;IAClB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMxC,kBAAkB;IAClB,wBAAwB,IAAI,qBAAqB;IAOjD,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKrD,kBAAkB;IAClB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;IAOlF,kBAAkB;IAClB,6BAA6B,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,GAAG,IAAI;CAsC3G"}
1
+ {"version":3,"file":"canton.d.ts","sourceRoot":"","sources":["../../src/canton.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EAER,SAAS,EAET,mBAAmB,EAMnB,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,oCAAoC,EACpC,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,IAAI,0BAA0B,EACpD,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,gBAAgB,CAAC;AAOpE,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,qBAAa,MAAO,SAAQ,QAAQ;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,OAAO,CAAC,UAAU;IAIlB,kBAAkB;IACX,aAAa,IAAI,MAAM;IAI9B,kBAAkB;IACX,QAAQ,IAAI,MAAM;IAIzB,kBAAkB;IACX,SAAS,IAAI,MAAM;IAI1B,kBAAkB;IACX,WAAW,IAAI,MAAM;IAI5B,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,kBAAkB;IAClB,sBAAsB,IAAI,OAAO;IAIjC,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,oBAAoB;IACpB,uCAAuC,IAAI,OAAO;IAIlD,eAAe,IAAI,YAAY;IAI/B,kBAAkB;IACZ,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6H3E,OAAO,CAAC,8BAA8B;IAoItC,OAAO,CAAC,iBAAiB;IAWzB,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxE,kBAAkB;IACZ,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAcnF,kBAAkB;IAClB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAYvC,kBAAkB;IAClB,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAatF,kBAAkB;IAClB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMxC,kBAAkB;IAClB,wBAAwB,IAAI,qBAAqB;IAOjD,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKrD,kBAAkB;IAClB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;IAOlF,kBAAkB;IAClB,6BAA6B,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,GAAG,IAAI;CAsC3G"}
@@ -115,6 +115,29 @@ class Canton extends sdk_core_1.BaseCoin {
115
115
  }
116
116
  }
117
117
  return true;
118
+ case sdk_core_1.TransactionType.TransferPreapprovalCancel:
119
+ // Mirrors OneStepPreApproval's receiver/token validation above, opposite direction.
120
+ // The cancel is self-service (the wallet's own party exercises the choice on its own
121
+ // TransferPreapproval), so sender === receiver on the parsed transaction; both must match
122
+ // the wallet's rootAddress (or the explicit enableToken.address, if provided).
123
+ if (txParams.type === 'disabletoken' &&
124
+ txParams.enableTokens !== undefined &&
125
+ txParams.enableTokens.length > 0) {
126
+ const txData = transaction.toJson();
127
+ const disableToken = txParams.enableTokens[0];
128
+ const walletRootAddress = params.wallet?.coinSpecific?.()?.rootAddress;
129
+ const expectedParty = disableToken.address ?? walletRootAddress;
130
+ if (expectedParty) {
131
+ const [expectedPartyBase] = expectedParty.split('?memoId=');
132
+ if (txData.receiver !== expectedPartyBase) {
133
+ throw new Error(`TransferPreapprovalCancel receiver mismatch: expected '${expectedPartyBase}', got '${txData.receiver}'`);
134
+ }
135
+ }
136
+ if (txData.token !== undefined && txData.token !== disableToken.name) {
137
+ throw new Error(`TransferPreapprovalCancel token name mismatch: expected '${disableToken.name}', got '${txData.token}'`);
138
+ }
139
+ }
140
+ return true;
118
141
  case sdk_core_1.TransactionType.Send:
119
142
  if (txParams.recipients !== undefined) {
120
143
  const filteredRecipients = txParams.recipients?.map((recipient) => {
@@ -376,4 +399,4 @@ class Canton extends sdk_core_1.BaseCoin {
376
399
  }
377
400
  }
378
401
  exports.Canton = Canton;
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbnRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0E0QnlCO0FBQ3pCLG9EQUEwRDtBQUMxRCw0Q0FBb0U7QUFDcEUsK0JBQWtEO0FBQ2xELDJDQUF5RDtBQUd6RCx3REFBZ0M7QUFjaEMsTUFBYSxNQUFPLFNBQVEsbUJBQVE7SUFHbEMsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNYLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxTQUFTO1FBQ2QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHNC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cEMsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE5YkQsd0JBOGJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMsXG4gIEJhc2VDb2luLFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIEJpdEdvQmFzZSxcbiAgQ2FudG9uQ29tbWFuZCxcbiAgQ2FudG9uQ29tbWFuZFBhcmFtcyxcbiAgQ2FudG9uQ3JlYXRlQ29tbWFuZCxcbiAgQ2FudG9uRXhlcmNpc2VDb21tYW5kLFxuICBFRERTQU1ldGhvZHMsXG4gIGV4dHJhY3RDb21tb25LZXljaGFpbixcbiAgSW52YWxpZEFkZHJlc3NFcnJvcixcbiAgS2V5UGFpcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIG11bHRpc2lnVHlwZXMsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgUG9wdWxhdGVkSW50ZW50LFxuICBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBUb2tlbkVuYWJsZW1lbnRDb25maWcsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFRyYW5zYWN0aW9uUGFyYW1zLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBhdWRpdEVkZHNhUHJpdmF0ZUtleSB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vbGliJztcbmltcG9ydCB7IEtleVBhaXIgYXMgQ2FudG9uS2V5UGFpciB9IGZyb20gJy4vbGliL2tleVBhaXInO1xuaW1wb3J0IHsgQ2FudG9uQ29tbWFuZEtpbmQsIFR4RGF0YSB9IGZyb20gJy4vbGliL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9saWIvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vbGliL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4SGV4OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uVHJhbnNhY3Rpb25QYXJhbXMgZXh0ZW5kcyBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIGNhbnRvbkNvbW1hbmRQYXJhbXM/OiBDYW50b25Db21tYW5kUGFyYW1zO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FudG9uIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBDYW50b24oYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDFlMTA7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjYW50b24nO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NhbnRvbic7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdDYW50b24nO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogaW5oZXJpdGVkIGRvYyAqL1xuICBnZXREZWZhdWx0TXVsdGlzaWdUeXBlKCk6IE11bHRpc2lnVHlwZSB7XG4gICAgcmV0dXJuIG11bHRpc2lnVHlwZXMudHNzO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgcmVxdWlyZXNXYWxsZXRJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlZGRzYSc7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSk7XG4gICAgY29uc3QgeyB0eFByZWJ1aWxkOiB0eFByZWJ1aWxkLCB0eFBhcmFtcyB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHJhd1R4ID0gdHhQcmVidWlsZC50eEhleDtcbiAgICBpZiAoIXJhd1R4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZykuZnJvbShyYXdUeCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0eEJ1aWxkZXIudHJhbnNhY3Rpb247XG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSB0cmFuc2FjdGlvbi5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICBzd2l0Y2ggKHRyYW5zYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlclJlamVjdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2U6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2Zlck9mZmVyV2l0aGRyYXduOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQ29zaWduRGVsZWdhdGlvbkFjY2VwdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25BbGxvY2F0ZTpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25SZXF1ZXN0OlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQWxsb2NhdGlvblJlamVjdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduOlxuICAgICAgICAvLyBUaGVyZSBpcyBubyByZWNpcGllbnQgaW5mbyB0byB2ZXJpZnkgZm9yIHRoZXNlIHRyYW5zYWN0aW9uIHR5cGVzLCBzbyBhbHdheXMgcmV0dXJuIHRydWUuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQ2FudG9uQ29tbWFuZDpcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyaWZ5Q2FudG9uQ29tbWFuZFRyYW5zYWN0aW9uKFxuICAgICAgICAgIHRyYW5zYWN0aW9uLFxuICAgICAgICAgICh0eFBhcmFtcyBhcyBDYW50b25UcmFuc2FjdGlvblBhcmFtcykuY2FudG9uQ29tbWFuZFBhcmFtc1xuICAgICAgICApO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuT25lU3RlcFByZUFwcHJvdmFsOlxuICAgICAgICAvLyBDYW50b24gaXMgYWx3YXlzIGEgVFNTIHdhbGxldC4gVGhlIFNESydzIGJ1aWxkVG9rZW5FbmFibGVtZW50cyBwYXNzZXMgZW5hYmxlVG9rZW5zXG4gICAgICAgIC8vIHRocm91Z2ggdW5jaGFuZ2VkIGZvciBUU1Mgd2FsbGV0cyAobm8gY29udmVyc2lvbiB0byByZWNpcGllbnRzKSwgc28gdHhQYXJhbXMuZW5hYmxlVG9rZW5zXG4gICAgICAgIC8vIGlzIHRoZSBvbmx5IHNvdXJjZSBvZiB1c2VyIGludGVudCBoZXJlLlxuICAgICAgICAvL1xuICAgICAgICAvLyBSZWNlaXZlciB2YWxpZGF0aW9uOiB0aGUgcmVjZWl2ZXIgb2YgYSBPbmVTdGVwUHJlQXBwcm92YWwgaXMgYWx3YXlzIHRoZSB3YWxsZXQncyByb290IGFkZHJlc3MuXG4gICAgICAgIC8vIFdlIHVzZSBlbmFibGVUb2tlbi5hZGRyZXNzIGlmIGV4cGxpY2l0bHkgcHJvdmlkZWQsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG9cbiAgICAgICAgLy8gd2FsbGV0LmNvaW5TcGVjaWZpYygpLnJvb3RBZGRyZXNzICh0aGUgQ2FudG9uIHBhcnR5IElEIHN0b3JlZCBhdCB3YWxsZXQgY3JlYXRpb24gdGltZSkuXG4gICAgICAgIC8vIFRva2VuIG5hbWUgdmFsaWRhdGlvbjogY2hlY2tlZCB3aGVuIHRoZSB0b2tlbiBpcyByZXNvbHZhYmxlIGZyb20gc3RhdGljcy5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR4UGFyYW1zLnR5cGUgPT09ICdlbmFibGV0b2tlbicgJiZcbiAgICAgICAgICB0eFBhcmFtcy5lbmFibGVUb2tlbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHR4UGFyYW1zLmVuYWJsZVRva2Vucy5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHR4RGF0YSA9IHRyYW5zYWN0aW9uLnRvSnNvbigpIGFzIFR4RGF0YTtcbiAgICAgICAgICBjb25zdCBlbmFibGVUb2tlbiA9IHR4UGFyYW1zLmVuYWJsZVRva2Vuc1swXTtcbiAgICAgICAgICBjb25zdCB3YWxsZXRSb290QWRkcmVzcyA9IHBhcmFtcy53YWxsZXQ/LmNvaW5TcGVjaWZpYz8uKCk/LnJvb3RBZGRyZXNzO1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkUmVjZWl2ZXIgPSBlbmFibGVUb2tlbi5hZGRyZXNzID8/IHdhbGxldFJvb3RBZGRyZXNzO1xuICAgICAgICAgIGlmIChleHBlY3RlZFJlY2VpdmVyKSB7XG4gICAgICAgICAgICAvLyBTdHJpcCA/bWVtb0lkIHN1ZmZpeCBpZiBwcmVzZW50IGluIHRoZSBzdG9yZWQgYWRkcmVzc1xuICAgICAgICAgICAgY29uc3QgW2V4cGVjdGVkUmVjZWl2ZXJCYXNlXSA9IGV4cGVjdGVkUmVjZWl2ZXIuc3BsaXQoJz9tZW1vSWQ9Jyk7XG4gICAgICAgICAgICBpZiAodHhEYXRhLnJlY2VpdmVyICE9PSBleHBlY3RlZFJlY2VpdmVyQmFzZSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYE9uZVN0ZXBQcmVBcHByb3ZhbCByZWNlaXZlciBtaXNtYXRjaDogZXhwZWN0ZWQgJyR7ZXhwZWN0ZWRSZWNlaXZlckJhc2V9JywgZ290ICcke3R4RGF0YS5yZWNlaXZlcn0nYFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHhEYXRhLnRva2VuICE9PSB1bmRlZmluZWQgJiYgdHhEYXRhLnRva2VuICE9PSBlbmFibGVUb2tlbi5uYW1lKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBPbmVTdGVwUHJlQXBwcm92YWwgdG9rZW4gbmFtZSBtaXNtYXRjaDogZXhwZWN0ZWQgJyR7ZW5hYmxlVG9rZW4ubmFtZX0nLCBnb3QgJyR7dHhEYXRhLnRva2VufSdgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIGlmICh0eFBhcmFtcy5yZWNpcGllbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZFJlY2lwaWVudHMgPSB0eFBhcmFtcy5yZWNpcGllbnRzPy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBhZGRyZXNzLCBhbW91bnQsIHRva2VuTmFtZSB9ID0gcmVjaXBpZW50O1xuICAgICAgICAgICAgY29uc3QgW2FkZHJlc3NQYXJ0LCBtZW1vSWRdID0gYWRkcmVzcy5zcGxpdCgnP21lbW9JZD0nKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGFkZHJlc3M6IGFkZHJlc3NQYXJ0LFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICAgIC4uLihtZW1vSWQgJiYgeyBtZW1vOiBtZW1vSWQgfSksXG4gICAgICAgICAgICAgIC4uLih0b2tlbk5hbWUgJiYgeyB0b2tlbk5hbWUgfSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT3V0cHV0cyA9IGV4cGxhaW5lZFR4Lm91dHB1dHM/Lm1hcCgob3V0cHV0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGFkZHJlc3MsIGFtb3VudCwgdG9rZW5OYW1lLCBtZW1vIH0gPSBvdXRwdXQ7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICAgIC4uLihtZW1vICYmIHsgbWVtbyB9KSxcbiAgICAgICAgICAgICAgLi4uKHRva2VuTmFtZSAmJiB7IHRva2VuTmFtZSB9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkUmVjaXBpZW50cykgIT09IEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkT3V0cHV0cykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkbyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdHJhbnNhY3Rpb24gdHlwZSwgJHt0cmFuc2FjdGlvbi50eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5Q2FudG9uQ29tbWFuZFRyYW5zYWN0aW9uKFxuICAgIHRyYW5zYWN0aW9uOiBCYXNlVHJhbnNhY3Rpb24sXG4gICAgdXNlclBhcmFtczogQ2FudG9uQ29tbWFuZFBhcmFtcyB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoIXVzZXJQYXJhbXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbnRvblR4ID0gdHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb247XG4gICAgY29uc3QgcmF3UHJlcGFyZWQgPSBjYW50b25UeC5wcmVwYXJlQ29tbWFuZD8ucHJlcGFyZWRUcmFuc2FjdGlvbjtcbiAgICBpZiAoIXJhd1ByZXBhcmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IG1pc3NpbmcgcHJlcGFyZWRUcmFuc2FjdGlvbiBwcm90b2J1ZiBvbiB0eCBwcmVidWlsZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY29kZWRDb21tYW5kID0gdXRpbHMuZXh0cmFjdENhbnRvbkNvbW1hbmRJbmZvKHJhd1ByZXBhcmVkKTtcbiAgICBjb25zdCB1c2VyQ29tbWFuZCA9IHVzZXJQYXJhbXMuY29tbWFuZCBhcyBQYXJ0aWFsPENhbnRvbkNvbW1hbmQ+O1xuXG4gICAgLy8gSW5wdXQgc2hhcGUgaXMgZW5mb3JjZWQgYnkgbXBjVXRpbHMgYXQgYnVpbGQgdGltZTsgaGVyZSB3ZSByZXNvbHZlIHdoaWNoIGJyYW5jaCBpcyBwcmVzZW50LlxuICAgIGNvbnN0IGhhc0NyZWF0ZSA9ICdDcmVhdGVDb21tYW5kJyBpbiB1c2VyQ29tbWFuZCAmJiB1dGlscy5pc1BsYWluT2JqZWN0KHVzZXJDb21tYW5kLkNyZWF0ZUNvbW1hbmQpO1xuICAgIGNvbnN0IGhhc0V4ZXJjaXNlID0gJ0V4ZXJjaXNlQ29tbWFuZCcgaW4gdXNlckNvbW1hbmQgJiYgdXRpbHMuaXNQbGFpbk9iamVjdCh1c2VyQ29tbWFuZC5FeGVyY2lzZUNvbW1hbmQpO1xuICAgIGlmICghaGFzQ3JlYXRlICYmICFoYXNFeGVyY2lzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogY29tbWFuZCBtdXN0IGNvbnRhaW4gYSBDcmVhdGVDb21tYW5kIG9yIEV4ZXJjaXNlQ29tbWFuZCB3cmFwcGVyYFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGhhc0NyZWF0ZSAmJiBoYXNFeGVyY2lzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogY29tbWFuZCBtdXN0IGNvbnRhaW4gZXhhY3RseSBvbmUgb2YgQ3JlYXRlQ29tbWFuZCBvciBFeGVyY2lzZUNvbW1hbmQsIG5vdCBib3RoYFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgdXNlcktpbmQ6IENhbnRvbkNvbW1hbmRLaW5kID0gaGFzQ3JlYXRlID8gJ0NyZWF0ZUNvbW1hbmQnIDogJ0V4ZXJjaXNlQ29tbWFuZCc7XG4gICAgaWYgKGRlY29kZWRDb21tYW5kLmtpbmQgIT09IHVzZXJLaW5kKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBjb21tYW5kIGtpbmQgbWlzbWF0Y2gg4oCUIGV4cGVjdGVkICR7dXNlcktpbmR9LCBnb3QgJHtkZWNvZGVkQ29tbWFuZC5raW5kfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlcklubmVyID1cbiAgICAgIHVzZXJLaW5kID09PSAnQ3JlYXRlQ29tbWFuZCdcbiAgICAgICAgPyAodXNlckNvbW1hbmQgYXMgQ2FudG9uQ3JlYXRlQ29tbWFuZCkuQ3JlYXRlQ29tbWFuZFxuICAgICAgICA6ICh1c2VyQ29tbWFuZCBhcyBDYW50b25FeGVyY2lzZUNvbW1hbmQpLkV4ZXJjaXNlQ29tbWFuZDtcblxuICAgIGlmICghdXNlcklubmVyPy50ZW1wbGF0ZUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246ICR7dXNlcktpbmR9LnRlbXBsYXRlSWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmdgKTtcbiAgICB9XG5cbiAgICAvLyB0ZW1wbGF0ZUlkIChtb2R1bGVOYW1lICsgZW50aXR5TmFtZTsgcGFja2FnZSBpZCBpcyBtdXRhYmxlLCBzbyBpZ25vcmVkKVxuICAgIGNvbnN0IHBhcnNlZCA9IHV0aWxzLnBhcnNlQ2FudG9uVGVtcGxhdGVJZCh1c2VySW5uZXIudGVtcGxhdGVJZCk7XG4gICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IGludmFsaWQgdXNlciB0ZW1wbGF0ZUlkICcke3VzZXJJbm5lci50ZW1wbGF0ZUlkfScg4oCUIGV4cGVjdGVkIGZvcm1hdCAnUGtnOk1vZHVsZTpFbnRpdHknYFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgZGVjb2RlZENvbW1hbmQudGVtcGxhdGVJZC5tb2R1bGVOYW1lICE9PSBwYXJzZWQubW9kdWxlTmFtZSB8fFxuICAgICAgZGVjb2RlZENvbW1hbmQudGVtcGxhdGVJZC5lbnRpdHlOYW1lICE9PSBwYXJzZWQuZW50aXR5TmFtZVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogdGVtcGxhdGVJZCBtaXNtYXRjaCDigJQgZXhwZWN0ZWQgJyR7cGFyc2VkLm1vZHVsZU5hbWV9OiR7cGFyc2VkLmVudGl0eU5hbWV9JywgZ290ICcke2RlY29kZWRDb21tYW5kLnRlbXBsYXRlSWQubW9kdWxlTmFtZX06JHtkZWNvZGVkQ29tbWFuZC50ZW1wbGF0ZUlkLmVudGl0eU5hbWV9J2BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQnVpbGQgdGhlIGluamVjdC1hcyBza2lwIHNldCBvbmNlIGZvciB1c2UgYWNyb3NzIHRoZSBjb250cmFjdElkIGFuZCBhcmd1bWVudCBjaGVja3NcbiAgICBjb25zdCBza2lwUGF0aHMgPSB1dGlscy5ub3JtYWxpemVJbmplY3RBcyh1c2VyUGFyYW1zLnJlc29sdmVDb250cmFjdHMpO1xuXG4gICAgLy8gbWV0YWRhdGEuc3VibWl0dGVySW5mby5hY3RBcyBtdXN0IGNvbnRhaW4gZXhhY3RseSB0aGUgc2FtZSBwYXJ0aWVzIGFzIHRoZSB1c2VyJ3MgYWN0QXNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodXNlclBhcmFtcy5hY3RBcykgfHwgdXNlclBhcmFtcy5hY3RBcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogYWN0QXMgbXVzdCBiZSBhIG5vbi1lbXB0eSBhcnJheSBvZiBwYXJ0eSBJRHNgKTtcbiAgICB9XG4gICAgaWYgKCF1c2VyUGFyYW1zLmFjdEFzLmV2ZXJ5KChwKSA9PiB0eXBlb2YgcCA9PT0gJ3N0cmluZycgJiYgcC50cmltKCkgIT09ICcnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBhbGwgYWN0QXMgZW50cmllcyBtdXN0IGJlIG5vbi1lbXB0eSBzdHJpbmdzYCk7XG4gICAgfVxuICAgIGNvbnN0IHN1Ym1pdHRlckFjdEFzID0gY2FudG9uVHguY2FudG9uQ29tbWFuZEFjdEFzUGFydGllcyA/PyBbXTtcbiAgICBpZiAoIXV0aWxzLnNhbWVFbGVtZW50cyhzdWJtaXR0ZXJBY3RBcywgdXNlclBhcmFtcy5hY3RBcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IHN1Ym1pdHRlckluZm8uYWN0QXMgWyR7c3VibWl0dGVyQWN0QXMuam9pbihcbiAgICAgICAgICAnLCAnXG4gICAgICAgICl9XSBkb2VzIG5vdCBtYXRjaCB1c2VyIGFjdEFzIFske3VzZXJQYXJhbXMuYWN0QXMuam9pbignLCAnKX1dYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodXNlcktpbmQgPT09ICdFeGVyY2lzZUNvbW1hbmQnKSB7XG4gICAgICBjb25zdCBleGVyY2lzZUlubmVyID0gdXNlcklubmVyIGFzIENhbnRvbkV4ZXJjaXNlQ29tbWFuZFsnRXhlcmNpc2VDb21tYW5kJ107XG5cbiAgICAgIC8vIGNob2ljZSBpZFxuICAgICAgaWYgKGRlY29kZWRDb21tYW5kLmNob2ljZSAhPT0gZXhlcmNpc2VJbm5lci5jaG9pY2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBjaG9pY2UgbWlzbWF0Y2gg4oCUIGV4cGVjdGVkICcke2V4ZXJjaXNlSW5uZXIuY2hvaWNlfScsIGdvdCAnJHtcbiAgICAgICAgICAgIGRlY29kZWRDb21tYW5kLmNob2ljZSA/PyAnJ1xuICAgICAgICAgIH0nYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBldmVyeSBvbi1jaGFpbiBhY3RpbmdQYXJ0eSBtdXN0IGJlIGluIHRoZSB1c2VyJ3MgYWN0QXMgKHByZXZlbnRzIHByaXZpbGVnZSBlc2NhbGF0aW9uKVxuICAgICAgY29uc3Qgb25DaGFpbkFjdG9ycyA9IGRlY29kZWRDb21tYW5kLmFjdGluZ1BhcnRpZXMgPz8gW107XG4gICAgICBmb3IgKGNvbnN0IGFjdG9yIG9mIG9uQ2hhaW5BY3RvcnMpIHtcbiAgICAgICAgaWYgKCF1c2VyUGFyYW1zLmFjdEFzLmluY2x1ZGVzKGFjdG9yKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiB1bmF1dGhvcml6ZWQgYWN0aW5nIHBhcnR5ICcke2FjdG9yfScgb24gcm9vdCBleGVyY2lzZSAobm90IGluIHVzZXIgYWN0QXMpYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gY29udHJhY3RJZCDigJQgc2tpcCB3aGVuIGFic2VudC9lbXB0eSBvciB3aGVuIElNUyB3aWxsIGluamVjdCBpdCB2aWEgcmVzb2x2ZUNvbnRyYWN0c1xuICAgICAgaWYgKFxuICAgICAgICBleGVyY2lzZUlubmVyLmNvbnRyYWN0SWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBleGVyY2lzZUlubmVyLmNvbnRyYWN0SWQgIT09ICcnICYmXG4gICAgICAgICFza2lwUGF0aHMuaGFzKCdFeGVyY2lzZUNvbW1hbmQuY29udHJhY3RJZCcpXG4gICAgICApIHtcbiAgICAgICAgaWYgKGRlY29kZWRDb21tYW5kLmNvbnRyYWN0SWQgIT09IGV4ZXJjaXNlSW5uZXIuY29udHJhY3RJZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBjb250cmFjdElkIG1pc21hdGNoIOKAlCBleHBlY3RlZCAnJHtleGVyY2lzZUlubmVyLmNvbnRyYWN0SWR9JywgZ290ICcke1xuICAgICAgICAgICAgICBkZWNvZGVkQ29tbWFuZC5jb250cmFjdElkID8/ICcnXG4gICAgICAgICAgICB9J2BcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGRlZXAgYXJndW1lbnQgY29tcGFyZVxuICAgICAgY29uc3QgYXJndW1lbnRTa2lwUGF0aHMgPSB0aGlzLnJlbGF0aXZlU2tpcFBhdGhzKHNraXBQYXRocywgJ0V4ZXJjaXNlQ29tbWFuZC5jaG9pY2VBcmd1bWVudC4nKTtcbiAgICAgIHV0aWxzLmFzc2VydERlZXBDYW50b25NYXRjaChleGVyY2lzZUlubmVyLmNob2ljZUFyZ3VtZW50LCBkZWNvZGVkQ29tbWFuZC5hcmd1bWVudCwgYXJndW1lbnRTa2lwUGF0aHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjcmVhdGVJbm5lciA9IHVzZXJJbm5lciBhcyBDYW50b25DcmVhdGVDb21tYW5kWydDcmVhdGVDb21tYW5kJ107XG5cbiAgICAgIC8vIGRlZXAgYXJndW1lbnQgY29tcGFyZVxuICAgICAgY29uc3QgYXJndW1lbnRTa2lwUGF0aHMgPSB0aGlzLnJlbGF0aXZlU2tpcFBhdGhzKHNraXBQYXRocywgJ0NyZWF0ZUNvbW1hbmQuY3JlYXRlQXJndW1lbnRzLicpO1xuICAgICAgdXRpbHMuYXNzZXJ0RGVlcENhbnRvbk1hdGNoKGNyZWF0ZUlubmVyLmNyZWF0ZUFyZ3VtZW50cywgZGVjb2RlZENvbW1hbmQuYXJndW1lbnQsIGFyZ3VtZW50U2tpcFBhdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsYXRpdmVTa2lwUGF0aHMoc2tpcFBhdGhzOiBTZXQ8c3RyaW5nPiwgcHJlZml4OiBzdHJpbmcpOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3Qgb3V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgZm9yIChjb25zdCBwIG9mIHNraXBQYXRocykge1xuICAgICAgaWYgKHAuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICAgIGNvbnN0IHN0cmlwcGVkID0gcC5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICAgICAgaWYgKHN0cmlwcGVkKSBvdXQuYWRkKHN0cmlwcGVkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRoaXMgYW5kIHVzZSB0aGUgYHZlcmlmeUVkZHNhTWVtb0Jhc2VkV2FsbGV0QWRkcmVzc2Agb25jZSBwdWJsaXNoZWQgZnJvbSBzZGstY29yZVxuICAgIC8vIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvQ09JTi02MzQ3XG4gICAgY29uc3QgeyBrZXljaGFpbnMsIGFkZHJlc3M6IG5ld0FkZHJlc3MsIGluZGV4IH0gPSBwYXJhbXM7XG4gICAgY29uc3QgW2FkZHJlc3NQYXJ0LCBtZW1vSWRdID0gbmV3QWRkcmVzcy5zcGxpdCgnP21lbW9JZD0nKTtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzc1BhcnQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke25ld0FkZHJlc3N9YCk7XG4gICAgfVxuICAgIGlmIChtZW1vSWQgJiYgbWVtb0lkICE9PSBgJHtpbmRleH1gKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBtZW1vSWQgaW5kZXg6ICR7bWVtb0lkfWApO1xuICAgIH1cbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IGV4dHJhY3RDb21tb25LZXljaGFpbihrZXljaGFpbnMpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVERFNBTWV0aG9kcy5nZXRJbml0aWFsaXplZE1wY0luc3RhbmNlKCk7XG4gICAgY29uc3QgZGVyaXZhdGlvblBhdGggPSAnbS8wJztcbiAgICBjb25zdCBkZXJpdmVkUHVibGljS2V5ID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Y2hhaW4sIGRlcml2YXRpb25QYXRoKS5zbGljZSgwLCA2NCk7XG4gICAgY29uc3QgcHVibGljS2V5QmFzZTY0ID0gQnVmZmVyLmZyb20oZGVyaXZlZFB1YmxpY0tleSwgJ2hleCcpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICBjb25zdCByb290QWRkcmVzc0ZpbmdlcnByaW50ID0gdXRpbHMuZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5QmFzZTY0KTtcbiAgICBjb25zdCByb290QWRkcmVzcyA9IGAke3Jvb3RBZGRyZXNzRmluZ2VycHJpbnQuc2xpY2UoMCwgNSl9Ojoke3Jvb3RBZGRyZXNzRmluZ2VycHJpbnR9YDtcbiAgICByZXR1cm4gYWRkcmVzc1BhcnQgPT09IHJvb3RBZGRyZXNzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCB0eEhleCA9IHBhcmFtcy50eEhleCBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCF0eEhleCkge1xuICAgICAgLy8gTWVzc2FnZS1vbmx5IHNpZ25pbmcgcmVxdWVzdHMgKGUuZy4gQ0FOVE9OX1NJR05fVFJBTlNBQ1RJT04sIENBTlRPTl9TSUdOX1RPUE9MT0dZKVxuICAgICAgLy8gaGF2ZSBubyB0cmFuc2FjdGlvbiBoZXggdG8gcGFyc2Ug4oCUIHJldHVybiBhbiBlbXB0eSByZXN1bHQuXG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRXhwbGFuYXRpb24gPSBhd2FpdCB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbih7IHR4SGV4IH0pO1xuICAgIGlmICghdHJhbnNhY3Rpb25FeHBsYW5hdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIHVua25vd24gYXMgUGFyc2VkVHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBDYW50b25LZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBDYW50b25LZXlQYWlyKCk7XG4gICAgY29uc3Qga2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgIGlmICgha2V5cy5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcnYgaW4ga2V5IGdlbmVyYXRpb24uJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleXMucHViLFxuICAgICAgcHJ2OiBrZXlzLnBydixcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRCdWlsZGVyKCk7XG4gICAgbGV0IHJlYnVpbHRUcmFuc2FjdGlvbjogQmFzZVRyYW5zYWN0aW9uO1xuICAgIGNvbnN0IHR4UmF3ID0gcGFyYW1zLnR4SGV4O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20odHhSYXcpO1xuICAgICAgcmVidWlsdFRyYW5zYWN0aW9uID0gdHhCdWlsZGVyLnRyYW5zYWN0aW9uO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gcmVidWlsdFRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFB1YmxpY0tleShwdWIpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIGNhbnRvbiBhZGRyZXNzZXMgYXJlIG9mIHRoZSBmb3JtLCBwYXJ0eUhpbnQ6OmZpbmdlcnByaW50XG4gICAgLy8gd2hlcmUgcGFydHlIaW50IGlzIG9mIGxlbmd0aCA1IGFuZCBmaW5nZXJwcmludCBpcyA2OCBjaGFyYWN0ZXJzIGxvbmdcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnKCk6IFRva2VuRW5hYmxlbWVudENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcXVpcmVzVG9rZW5FbmFibGVtZW50OiB0cnVlLFxuICAgICAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXlIZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHVibGljS2V5QmFzZTY0ID0gQnVmZmVyLmZyb20ocHVibGljS2V5SGV4LCAnaGV4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIHJldHVybiB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXlCYXNlNjQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGF1ZGl0RGVjcnlwdGVkS2V5KHsgbXVsdGlTaWdUeXBlLCBwcnYsIHB1YmxpY0tleSB9OiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQge1xuICAgIGlmIChtdWx0aVNpZ1R5cGUgIT09IG11bHRpc2lnVHlwZXMudHNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpU2lnVHlwZScpO1xuICAgIH1cbiAgICBhdWRpdEVkZHNhUHJpdmF0ZUtleShwcnYsIHB1YmxpY0tleSA/PyAnJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc2V0Q29pblNwZWNpZmljRmllbGRzSW5JbnRlbnQoaW50ZW50OiBQb3B1bGF0ZWRJbnRlbnQsIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKHBhcmFtcy50eFJlcXVlc3RJZCkge1xuICAgICAgaW50ZW50LnR4UmVxdWVzdElkID0gcGFyYW1zLnR4UmVxdWVzdElkO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnRyYW5zZmVyT2ZmZXJJZCkge1xuICAgICAgaW50ZW50LnRyYW5zZmVyT2ZmZXJJZCA9IHBhcmFtcy50cmFuc2Zlck9mZmVySWQ7XG4gICAgfVxuICAgIGlmIChwYXJhbXMudW5zcGVudHMpIHtcbiAgICAgIGludGVudC51bnNwZW50cyA9IHBhcmFtcy51bnNwZW50cztcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5jYW50b25Db21tYW5kUGFyYW1zKSB7XG4gICAgICBpbnRlbnQuY2FudG9uQ29tbWFuZFBhcmFtcyA9IHBhcmFtcy5jYW50b25Db21tYW5kUGFyYW1zO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmVuZEludmVzdG9yUGFydHlJZCkge1xuICAgICAgaW50ZW50LmVuZEludmVzdG9yUGFydHlJZCA9IHBhcmFtcy5lbmRJbnZlc3RvclBhcnR5SWQ7XG4gICAgfVxuICAgIGlmIChwYXJhbXMucmVhc29uKSB7XG4gICAgICBpbnRlbnQucmVhc29uID0gcGFyYW1zLnJlYXNvbjtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5vcGVyYXRvcikge1xuICAgICAgaW50ZW50Lm9wZXJhdG9yID0gcGFyYW1zLm9wZXJhdG9yO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnByb3ZpZGVyKSB7XG4gICAgICBpbnRlbnQucHJvdmlkZXIgPSBwYXJhbXMucHJvdmlkZXI7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuY29tcGxpYW5jZSkge1xuICAgICAgaW50ZW50LmNvbXBsaWFuY2UgPSBwYXJhbXMuY29tcGxpYW5jZTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5yZWdpc3RyYXIpIHtcbiAgICAgIGludGVudC5yZWdpc3RyYXIgPSBwYXJhbXMucmVnaXN0cmFyO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmNsaWVudE9uYm9hcmRlcikge1xuICAgICAgaW50ZW50LmNsaWVudE9uYm9hcmRlciA9IHBhcmFtcy5jbGllbnRPbmJvYXJkZXI7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuZXhwaXJhdGlvbklzbykge1xuICAgICAgaW50ZW50LmV4cGlyYXRpb25Jc28gPSBwYXJhbXMuZXhwaXJhdGlvbklzbztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
402
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbnRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0E0QnlCO0FBQ3pCLG9EQUEwRDtBQUMxRCw0Q0FBb0U7QUFDcEUsK0JBQWtEO0FBQ2xELDJDQUF5RDtBQUd6RCx3REFBZ0M7QUFjaEMsTUFBYSxNQUFPLFNBQVEsbUJBQVE7SUFHbEMsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNYLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxTQUFTO1FBQ2QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHNC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QUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckIsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBM2RELHdCQTJkQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zLFxuICBCYXNlQ29pbixcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBCaXRHb0Jhc2UsXG4gIENhbnRvbkNvbW1hbmQsXG4gIENhbnRvbkNvbW1hbmRQYXJhbXMsXG4gIENhbnRvbkNyZWF0ZUNvbW1hbmQsXG4gIENhbnRvbkV4ZXJjaXNlQ29tbWFuZCxcbiAgRUREU0FNZXRob2RzLFxuICBleHRyYWN0Q29tbW9uS2V5Y2hhaW4sXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEtleVBhaXIsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFBvcHVsYXRlZEludGVudCxcbiAgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVG9rZW5FbmFibGVtZW50Q29uZmlnLFxuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblBhcmFtcyxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgYXVkaXRFZGRzYVByaXZhdGVLZXkgfSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBLZXlQYWlyIGFzIENhbnRvbktleVBhaXIgfSBmcm9tICcuL2xpYi9rZXlQYWlyJztcbmltcG9ydCB7IENhbnRvbkNvbW1hbmRLaW5kLCBUeERhdGEgfSBmcm9tICcuL2xpYi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eEhleDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvblRyYW5zYWN0aW9uUGFyYW1zIGV4dGVuZHMgVHJhbnNhY3Rpb25QYXJhbXMge1xuICBjYW50b25Db21tYW5kUGFyYW1zPzogQ2FudG9uQ29tbWFuZFBhcmFtcztcbn1cblxuZXhwb3J0IGNsYXNzIENhbnRvbiBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRpY3NDb2luID0gc3RhdGljc0NvaW47XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgQ2FudG9uKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1aWxkZXIoKTogVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiAxZTEwO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2FudG9uJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0RmFtaWx5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjYW50b24nO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQ2FudG9uJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c01lc3NhZ2VTaWduaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLnRzcztcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIHJlcXVpcmVzV2FsbGV0SW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWRkc2EnO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpO1xuICAgIGNvbnN0IHsgdHhQcmVidWlsZDogdHhQcmVidWlsZCwgdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBjb25zdCByYXdUeCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCFyYXdUeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHR4IHByZWJ1aWxkIHByb3BlcnR5IHR4SGV4Jyk7XG4gICAgfVxuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpLmZyb20ocmF3VHgpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdHhCdWlsZGVyLnRyYW5zYWN0aW9uO1xuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gdHJhbnNhY3Rpb24uZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gICAgc3dpdGNoICh0cmFuc2FjdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNjZXB0OlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJSZWplY3Q6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJPZmZlcldpdGhkcmF3bjpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNvc2lnbkRlbGVnYXRpb25BY2NlcHQ6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Db3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWw6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BbGxvY2F0aW9uQWxsb2NhdGU6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BbGxvY2F0aW9uUmVxdWVzdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25SZWplY3Q6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5FbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlcjpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25BbGxvY2F0ZVdpdGhkcmF3bjpcbiAgICAgICAgLy8gVGhlcmUgaXMgbm8gcmVjaXBpZW50IGluZm8gdG8gdmVyaWZ5IGZvciB0aGVzZSB0cmFuc2FjdGlvbiB0eXBlcywgc28gYWx3YXlzIHJldHVybiB0cnVlLlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNhbnRvbkNvbW1hbmQ6XG4gICAgICAgIHJldHVybiB0aGlzLnZlcmlmeUNhbnRvbkNvbW1hbmRUcmFuc2FjdGlvbihcbiAgICAgICAgICB0cmFuc2FjdGlvbixcbiAgICAgICAgICAodHhQYXJhbXMgYXMgQ2FudG9uVHJhbnNhY3Rpb25QYXJhbXMpLmNhbnRvbkNvbW1hbmRQYXJhbXNcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLk9uZVN0ZXBQcmVBcHByb3ZhbDpcbiAgICAgICAgLy8gQ2FudG9uIGlzIGFsd2F5cyBhIFRTUyB3YWxsZXQuIFRoZSBTREsncyBidWlsZFRva2VuRW5hYmxlbWVudHMgcGFzc2VzIGVuYWJsZVRva2Vuc1xuICAgICAgICAvLyB0aHJvdWdoIHVuY2hhbmdlZCBmb3IgVFNTIHdhbGxldHMgKG5vIGNvbnZlcnNpb24gdG8gcmVjaXBpZW50cyksIHNvIHR4UGFyYW1zLmVuYWJsZVRva2Vuc1xuICAgICAgICAvLyBpcyB0aGUgb25seSBzb3VyY2Ugb2YgdXNlciBpbnRlbnQgaGVyZS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gUmVjZWl2ZXIgdmFsaWRhdGlvbjogdGhlIHJlY2VpdmVyIG9mIGEgT25lU3RlcFByZUFwcHJvdmFsIGlzIGFsd2F5cyB0aGUgd2FsbGV0J3Mgcm9vdCBhZGRyZXNzLlxuICAgICAgICAvLyBXZSB1c2UgZW5hYmxlVG9rZW4uYWRkcmVzcyBpZiBleHBsaWNpdGx5IHByb3ZpZGVkLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvXG4gICAgICAgIC8vIHdhbGxldC5jb2luU3BlY2lmaWMoKS5yb290QWRkcmVzcyAodGhlIENhbnRvbiBwYXJ0eSBJRCBzdG9yZWQgYXQgd2FsbGV0IGNyZWF0aW9uIHRpbWUpLlxuICAgICAgICAvLyBUb2tlbiBuYW1lIHZhbGlkYXRpb246IGNoZWNrZWQgd2hlbiB0aGUgdG9rZW4gaXMgcmVzb2x2YWJsZSBmcm9tIHN0YXRpY3MuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0eFBhcmFtcy50eXBlID09PSAnZW5hYmxldG9rZW4nICYmXG4gICAgICAgICAgdHhQYXJhbXMuZW5hYmxlVG9rZW5zICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICB0eFBhcmFtcy5lbmFibGVUb2tlbnMubGVuZ3RoID4gMFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCB0eERhdGEgPSB0cmFuc2FjdGlvbi50b0pzb24oKSBhcyBUeERhdGE7XG4gICAgICAgICAgY29uc3QgZW5hYmxlVG9rZW4gPSB0eFBhcmFtcy5lbmFibGVUb2tlbnNbMF07XG4gICAgICAgICAgY29uc3Qgd2FsbGV0Um9vdEFkZHJlc3MgPSBwYXJhbXMud2FsbGV0Py5jb2luU3BlY2lmaWM/LigpPy5yb290QWRkcmVzcztcbiAgICAgICAgICBjb25zdCBleHBlY3RlZFJlY2VpdmVyID0gZW5hYmxlVG9rZW4uYWRkcmVzcyA/PyB3YWxsZXRSb290QWRkcmVzcztcbiAgICAgICAgICBpZiAoZXhwZWN0ZWRSZWNlaXZlcikge1xuICAgICAgICAgICAgLy8gU3RyaXAgP21lbW9JZCBzdWZmaXggaWYgcHJlc2VudCBpbiB0aGUgc3RvcmVkIGFkZHJlc3NcbiAgICAgICAgICAgIGNvbnN0IFtleHBlY3RlZFJlY2VpdmVyQmFzZV0gPSBleHBlY3RlZFJlY2VpdmVyLnNwbGl0KCc/bWVtb0lkPScpO1xuICAgICAgICAgICAgaWYgKHR4RGF0YS5yZWNlaXZlciAhPT0gZXhwZWN0ZWRSZWNlaXZlckJhc2UpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBPbmVTdGVwUHJlQXBwcm92YWwgcmVjZWl2ZXIgbWlzbWF0Y2g6IGV4cGVjdGVkICcke2V4cGVjdGVkUmVjZWl2ZXJCYXNlfScsIGdvdCAnJHt0eERhdGEucmVjZWl2ZXJ9J2BcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR4RGF0YS50b2tlbiAhPT0gdW5kZWZpbmVkICYmIHR4RGF0YS50b2tlbiAhPT0gZW5hYmxlVG9rZW4ubmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgT25lU3RlcFByZUFwcHJvdmFsIHRva2VuIG5hbWUgbWlzbWF0Y2g6IGV4cGVjdGVkICcke2VuYWJsZVRva2VuLm5hbWV9JywgZ290ICcke3R4RGF0YS50b2tlbn0nYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlclByZWFwcHJvdmFsQ2FuY2VsOlxuICAgICAgICAvLyBNaXJyb3JzIE9uZVN0ZXBQcmVBcHByb3ZhbCdzIHJlY2VpdmVyL3Rva2VuIHZhbGlkYXRpb24gYWJvdmUsIG9wcG9zaXRlIGRpcmVjdGlvbi5cbiAgICAgICAgLy8gVGhlIGNhbmNlbCBpcyBzZWxmLXNlcnZpY2UgKHRoZSB3YWxsZXQncyBvd24gcGFydHkgZXhlcmNpc2VzIHRoZSBjaG9pY2Ugb24gaXRzIG93blxuICAgICAgICAvLyBUcmFuc2ZlclByZWFwcHJvdmFsKSwgc28gc2VuZGVyID09PSByZWNlaXZlciBvbiB0aGUgcGFyc2VkIHRyYW5zYWN0aW9uOyBib3RoIG11c3QgbWF0Y2hcbiAgICAgICAgLy8gdGhlIHdhbGxldCdzIHJvb3RBZGRyZXNzIChvciB0aGUgZXhwbGljaXQgZW5hYmxlVG9rZW4uYWRkcmVzcywgaWYgcHJvdmlkZWQpLlxuICAgICAgICBpZiAoXG4gICAgICAgICAgdHhQYXJhbXMudHlwZSA9PT0gJ2Rpc2FibGV0b2tlbicgJiZcbiAgICAgICAgICB0eFBhcmFtcy5lbmFibGVUb2tlbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHR4UGFyYW1zLmVuYWJsZVRva2Vucy5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHR4RGF0YSA9IHRyYW5zYWN0aW9uLnRvSnNvbigpIGFzIFR4RGF0YTtcbiAgICAgICAgICBjb25zdCBkaXNhYmxlVG9rZW4gPSB0eFBhcmFtcy5lbmFibGVUb2tlbnNbMF07XG4gICAgICAgICAgY29uc3Qgd2FsbGV0Um9vdEFkZHJlc3MgPSBwYXJhbXMud2FsbGV0Py5jb2luU3BlY2lmaWM/LigpPy5yb290QWRkcmVzcztcbiAgICAgICAgICBjb25zdCBleHBlY3RlZFBhcnR5ID0gZGlzYWJsZVRva2VuLmFkZHJlc3MgPz8gd2FsbGV0Um9vdEFkZHJlc3M7XG4gICAgICAgICAgaWYgKGV4cGVjdGVkUGFydHkpIHtcbiAgICAgICAgICAgIGNvbnN0IFtleHBlY3RlZFBhcnR5QmFzZV0gPSBleHBlY3RlZFBhcnR5LnNwbGl0KCc/bWVtb0lkPScpO1xuICAgICAgICAgICAgaWYgKHR4RGF0YS5yZWNlaXZlciAhPT0gZXhwZWN0ZWRQYXJ0eUJhc2UpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUcmFuc2ZlclByZWFwcHJvdmFsQ2FuY2VsIHJlY2VpdmVyIG1pc21hdGNoOiBleHBlY3RlZCAnJHtleHBlY3RlZFBhcnR5QmFzZX0nLCBnb3QgJyR7dHhEYXRhLnJlY2VpdmVyfSdgXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eERhdGEudG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0eERhdGEudG9rZW4gIT09IGRpc2FibGVUb2tlbi5uYW1lKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBUcmFuc2ZlclByZWFwcHJvdmFsQ2FuY2VsIHRva2VuIG5hbWUgbWlzbWF0Y2g6IGV4cGVjdGVkICcke2Rpc2FibGVUb2tlbi5uYW1lfScsIGdvdCAnJHt0eERhdGEudG9rZW59J2BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgaWYgKHR4UGFyYW1zLnJlY2lwaWVudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkUmVjaXBpZW50cyA9IHR4UGFyYW1zLnJlY2lwaWVudHM/Lm1hcCgocmVjaXBpZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGFkZHJlc3MsIGFtb3VudCwgdG9rZW5OYW1lIH0gPSByZWNpcGllbnQ7XG4gICAgICAgICAgICBjb25zdCBbYWRkcmVzc1BhcnQsIG1lbW9JZF0gPSBhZGRyZXNzLnNwbGl0KCc/bWVtb0lkPScpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzc1BhcnQsXG4gICAgICAgICAgICAgIGFtb3VudCxcbiAgICAgICAgICAgICAgLi4uKG1lbW9JZCAmJiB7IG1lbW86IG1lbW9JZCB9KSxcbiAgICAgICAgICAgICAgLi4uKHRva2VuTmFtZSAmJiB7IHRva2VuTmFtZSB9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3QgZmlsdGVyZWRPdXRwdXRzID0gZXhwbGFpbmVkVHgub3V0cHV0cz8ubWFwKChvdXRwdXQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgYWRkcmVzcywgYW1vdW50LCB0b2tlbk5hbWUsIG1lbW8gfSA9IG91dHB1dDtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgIGFtb3VudCxcbiAgICAgICAgICAgICAgLi4uKG1lbW8gJiYgeyBtZW1vIH0pLFxuICAgICAgICAgICAgICAuLi4odG9rZW5OYW1lICYmIHsgdG9rZW5OYW1lIH0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRSZWNpcGllbnRzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRPdXRwdXRzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCBvdXRwdXRzIGRvIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudHMnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93biB0cmFuc2FjdGlvbiB0eXBlLCAke3RyYW5zYWN0aW9uLnR5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2ZXJpZnlDYW50b25Db21tYW5kVHJhbnNhY3Rpb24oXG4gICAgdHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbixcbiAgICB1c2VyUGFyYW1zOiBDYW50b25Db21tYW5kUGFyYW1zIHwgdW5kZWZpbmVkXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdXNlclBhcmFtcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY2FudG9uVHggPSB0cmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbjtcbiAgICBjb25zdCByYXdQcmVwYXJlZCA9IGNhbnRvblR4LnByZXBhcmVDb21tYW5kPy5wcmVwYXJlZFRyYW5zYWN0aW9uO1xuICAgIGlmICghcmF3UHJlcGFyZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogbWlzc2luZyBwcmVwYXJlZFRyYW5zYWN0aW9uIHByb3RvYnVmIG9uIHR4IHByZWJ1aWxkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVjb2RlZENvbW1hbmQgPSB1dGlscy5leHRyYWN0Q2FudG9uQ29tbWFuZEluZm8ocmF3UHJlcGFyZWQpO1xuICAgIGNvbnN0IHVzZXJDb21tYW5kID0gdXNlclBhcmFtcy5jb21tYW5kIGFzIFBhcnRpYWw8Q2FudG9uQ29tbWFuZD47XG5cbiAgICAvLyBJbnB1dCBzaGFwZSBpcyBlbmZvcmNlZCBieSBtcGNVdGlscyBhdCBidWlsZCB0aW1lOyBoZXJlIHdlIHJlc29sdmUgd2hpY2ggYnJhbmNoIGlzIHByZXNlbnQuXG4gICAgY29uc3QgaGFzQ3JlYXRlID0gJ0NyZWF0ZUNvbW1hbmQnIGluIHVzZXJDb21tYW5kICYmIHV0aWxzLmlzUGxhaW5PYmplY3QodXNlckNvbW1hbmQuQ3JlYXRlQ29tbWFuZCk7XG4gICAgY29uc3QgaGFzRXhlcmNpc2UgPSAnRXhlcmNpc2VDb21tYW5kJyBpbiB1c2VyQ29tbWFuZCAmJiB1dGlscy5pc1BsYWluT2JqZWN0KHVzZXJDb21tYW5kLkV4ZXJjaXNlQ29tbWFuZCk7XG4gICAgaWYgKCFoYXNDcmVhdGUgJiYgIWhhc0V4ZXJjaXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBjb21tYW5kIG11c3QgY29udGFpbiBhIENyZWF0ZUNvbW1hbmQgb3IgRXhlcmNpc2VDb21tYW5kIHdyYXBwZXJgXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoaGFzQ3JlYXRlICYmIGhhc0V4ZXJjaXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBjb21tYW5kIG11c3QgY29udGFpbiBleGFjdGx5IG9uZSBvZiBDcmVhdGVDb21tYW5kIG9yIEV4ZXJjaXNlQ29tbWFuZCwgbm90IGJvdGhgXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB1c2VyS2luZDogQ2FudG9uQ29tbWFuZEtpbmQgPSBoYXNDcmVhdGUgPyAnQ3JlYXRlQ29tbWFuZCcgOiAnRXhlcmNpc2VDb21tYW5kJztcbiAgICBpZiAoZGVjb2RlZENvbW1hbmQua2luZCAhPT0gdXNlcktpbmQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IGNvbW1hbmQga2luZCBtaXNtYXRjaCDigJQgZXhwZWN0ZWQgJHt1c2VyS2luZH0sIGdvdCAke2RlY29kZWRDb21tYW5kLmtpbmR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VySW5uZXIgPVxuICAgICAgdXNlcktpbmQgPT09ICdDcmVhdGVDb21tYW5kJ1xuICAgICAgICA/ICh1c2VyQ29tbWFuZCBhcyBDYW50b25DcmVhdGVDb21tYW5kKS5DcmVhdGVDb21tYW5kXG4gICAgICAgIDogKHVzZXJDb21tYW5kIGFzIENhbnRvbkV4ZXJjaXNlQ29tbWFuZCkuRXhlcmNpc2VDb21tYW5kO1xuXG4gICAgaWYgKCF1c2VySW5uZXI/LnRlbXBsYXRlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogJHt1c2VyS2luZH0udGVtcGxhdGVJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZ2ApO1xuICAgIH1cblxuICAgIC8vIHRlbXBsYXRlSWQgKG1vZHVsZU5hbWUgKyBlbnRpdHlOYW1lOyBwYWNrYWdlIGlkIGlzIG11dGFibGUsIHNvIGlnbm9yZWQpXG4gICAgY29uc3QgcGFyc2VkID0gdXRpbHMucGFyc2VDYW50b25UZW1wbGF0ZUlkKHVzZXJJbm5lci50ZW1wbGF0ZUlkKTtcbiAgICBpZiAoIXBhcnNlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogaW52YWxpZCB1c2VyIHRlbXBsYXRlSWQgJyR7dXNlcklubmVyLnRlbXBsYXRlSWR9JyDigJQgZXhwZWN0ZWQgZm9ybWF0ICdQa2c6TW9kdWxlOkVudGl0eSdgXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBkZWNvZGVkQ29tbWFuZC50ZW1wbGF0ZUlkLm1vZHVsZU5hbWUgIT09IHBhcnNlZC5tb2R1bGVOYW1lIHx8XG4gICAgICBkZWNvZGVkQ29tbWFuZC50ZW1wbGF0ZUlkLmVudGl0eU5hbWUgIT09IHBhcnNlZC5lbnRpdHlOYW1lXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiB0ZW1wbGF0ZUlkIG1pc21hdGNoIOKAlCBleHBlY3RlZCAnJHtwYXJzZWQubW9kdWxlTmFtZX06JHtwYXJzZWQuZW50aXR5TmFtZX0nLCBnb3QgJyR7ZGVjb2RlZENvbW1hbmQudGVtcGxhdGVJZC5tb2R1bGVOYW1lfToke2RlY29kZWRDb21tYW5kLnRlbXBsYXRlSWQuZW50aXR5TmFtZX0nYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBCdWlsZCB0aGUgaW5qZWN0LWFzIHNraXAgc2V0IG9uY2UgZm9yIHVzZSBhY3Jvc3MgdGhlIGNvbnRyYWN0SWQgYW5kIGFyZ3VtZW50IGNoZWNrc1xuICAgIGNvbnN0IHNraXBQYXRocyA9IHV0aWxzLm5vcm1hbGl6ZUluamVjdEFzKHVzZXJQYXJhbXMucmVzb2x2ZUNvbnRyYWN0cyk7XG5cbiAgICAvLyBtZXRhZGF0YS5zdWJtaXR0ZXJJbmZvLmFjdEFzIG11c3QgY29udGFpbiBleGFjdGx5IHRoZSBzYW1lIHBhcnRpZXMgYXMgdGhlIHVzZXIncyBhY3RBc1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh1c2VyUGFyYW1zLmFjdEFzKSB8fCB1c2VyUGFyYW1zLmFjdEFzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW50b25Db21tYW5kIHZlcmlmeVRyYW5zYWN0aW9uOiBhY3RBcyBtdXN0IGJlIGEgbm9uLWVtcHR5IGFycmF5IG9mIHBhcnR5IElEc2ApO1xuICAgIH1cbiAgICBpZiAoIXVzZXJQYXJhbXMuYWN0QXMuZXZlcnkoKHApID0+IHR5cGVvZiBwID09PSAnc3RyaW5nJyAmJiBwLnRyaW0oKSAhPT0gJycpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IGFsbCBhY3RBcyBlbnRyaWVzIG11c3QgYmUgbm9uLWVtcHR5IHN0cmluZ3NgKTtcbiAgICB9XG4gICAgY29uc3Qgc3VibWl0dGVyQWN0QXMgPSBjYW50b25UeC5jYW50b25Db21tYW5kQWN0QXNQYXJ0aWVzID8/IFtdO1xuICAgIGlmICghdXRpbHMuc2FtZUVsZW1lbnRzKHN1Ym1pdHRlckFjdEFzLCB1c2VyUGFyYW1zLmFjdEFzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2FudG9uQ29tbWFuZCB2ZXJpZnlUcmFuc2FjdGlvbjogc3VibWl0dGVySW5mby5hY3RBcyBbJHtzdWJtaXR0ZXJBY3RBcy5qb2luKFxuICAgICAgICAgICcsICdcbiAgICAgICAgKX1dIGRvZXMgbm90IG1hdGNoIHVzZXIgYWN0QXMgWyR7dXNlclBhcmFtcy5hY3RBcy5qb2luKCcsICcpfV1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1c2VyS2luZCA9PT0gJ0V4ZXJjaXNlQ29tbWFuZCcpIHtcbiAgICAgIGNvbnN0IGV4ZXJjaXNlSW5uZXIgPSB1c2VySW5uZXIgYXMgQ2FudG9uRXhlcmNpc2VDb21tYW5kWydFeGVyY2lzZUNvbW1hbmQnXTtcblxuICAgICAgLy8gY2hvaWNlIGlkXG4gICAgICBpZiAoZGVjb2RlZENvbW1hbmQuY2hvaWNlICE9PSBleGVyY2lzZUlubmVyLmNob2ljZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IGNob2ljZSBtaXNtYXRjaCDigJQgZXhwZWN0ZWQgJyR7ZXhlcmNpc2VJbm5lci5jaG9pY2V9JywgZ290ICcke1xuICAgICAgICAgICAgZGVjb2RlZENvbW1hbmQuY2hvaWNlID8/ICcnXG4gICAgICAgICAgfSdgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIGV2ZXJ5IG9uLWNoYWluIGFjdGluZ1BhcnR5IG11c3QgYmUgaW4gdGhlIHVzZXIncyBhY3RBcyAocHJldmVudHMgcHJpdmlsZWdlIGVzY2FsYXRpb24pXG4gICAgICBjb25zdCBvbkNoYWluQWN0b3JzID0gZGVjb2RlZENvbW1hbmQuYWN0aW5nUGFydGllcyA/PyBbXTtcbiAgICAgIGZvciAoY29uc3QgYWN0b3Igb2Ygb25DaGFpbkFjdG9ycykge1xuICAgICAgICBpZiAoIXVzZXJQYXJhbXMuYWN0QXMuaW5jbHVkZXMoYWN0b3IpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IHVuYXV0aG9yaXplZCBhY3RpbmcgcGFydHkgJyR7YWN0b3J9JyBvbiByb290IGV4ZXJjaXNlIChub3QgaW4gdXNlciBhY3RBcylgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBjb250cmFjdElkIOKAlCBza2lwIHdoZW4gYWJzZW50L2VtcHR5IG9yIHdoZW4gSU1TIHdpbGwgaW5qZWN0IGl0IHZpYSByZXNvbHZlQ29udHJhY3RzXG4gICAgICBpZiAoXG4gICAgICAgIGV4ZXJjaXNlSW5uZXIuY29udHJhY3RJZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGV4ZXJjaXNlSW5uZXIuY29udHJhY3RJZCAhPT0gJycgJiZcbiAgICAgICAgIXNraXBQYXRocy5oYXMoJ0V4ZXJjaXNlQ29tbWFuZC5jb250cmFjdElkJylcbiAgICAgICkge1xuICAgICAgICBpZiAoZGVjb2RlZENvbW1hbmQuY29udHJhY3RJZCAhPT0gZXhlcmNpc2VJbm5lci5jb250cmFjdElkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYENhbnRvbkNvbW1hbmQgdmVyaWZ5VHJhbnNhY3Rpb246IGNvbnRyYWN0SWQgbWlzbWF0Y2gg4oCUIGV4cGVjdGVkICcke2V4ZXJjaXNlSW5uZXIuY29udHJhY3RJZH0nLCBnb3QgJyR7XG4gICAgICAgICAgICAgIGRlY29kZWRDb21tYW5kLmNvbnRyYWN0SWQgPz8gJydcbiAgICAgICAgICAgIH0nYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZGVlcCBhcmd1bWVudCBjb21wYXJlXG4gICAgICBjb25zdCBhcmd1bWVudFNraXBQYXRocyA9IHRoaXMucmVsYXRpdmVTa2lwUGF0aHMoc2tpcFBhdGhzLCAnRXhlcmNpc2VDb21tYW5kLmNob2ljZUFyZ3VtZW50LicpO1xuICAgICAgdXRpbHMuYXNzZXJ0RGVlcENhbnRvbk1hdGNoKGV4ZXJjaXNlSW5uZXIuY2hvaWNlQXJndW1lbnQsIGRlY29kZWRDb21tYW5kLmFyZ3VtZW50LCBhcmd1bWVudFNraXBQYXRocyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNyZWF0ZUlubmVyID0gdXNlcklubmVyIGFzIENhbnRvbkNyZWF0ZUNvbW1hbmRbJ0NyZWF0ZUNvbW1hbmQnXTtcblxuICAgICAgLy8gZGVlcCBhcmd1bWVudCBjb21wYXJlXG4gICAgICBjb25zdCBhcmd1bWVudFNraXBQYXRocyA9IHRoaXMucmVsYXRpdmVTa2lwUGF0aHMoc2tpcFBhdGhzLCAnQ3JlYXRlQ29tbWFuZC5jcmVhdGVBcmd1bWVudHMuJyk7XG4gICAgICB1dGlscy5hc3NlcnREZWVwQ2FudG9uTWF0Y2goY3JlYXRlSW5uZXIuY3JlYXRlQXJndW1lbnRzLCBkZWNvZGVkQ29tbWFuZC5hcmd1bWVudCwgYXJndW1lbnRTa2lwUGF0aHMpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWxhdGl2ZVNraXBQYXRocyhza2lwUGF0aHM6IFNldDxzdHJpbmc+LCBwcmVmaXg6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgICBjb25zdCBvdXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBmb3IgKGNvbnN0IHAgb2Ygc2tpcFBhdGhzKSB7XG4gICAgICBpZiAocC5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgY29uc3Qgc3RyaXBwZWQgPSBwLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBpZiAoc3RyaXBwZWQpIG91dC5hZGQoc3RyaXBwZWQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gVE9ETzogcmVmYWN0b3IgdGhpcyBhbmQgdXNlIHRoZSBgdmVyaWZ5RWRkc2FNZW1vQmFzZWRXYWxsZXRBZGRyZXNzYCBvbmNlIHB1Ymxpc2hlZCBmcm9tIHNkay1jb3JlXG4gICAgLy8gaHR0cHM6Ly9iaXRnb2luYy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9DT0lOLTYzNDdcbiAgICBjb25zdCB7IGtleWNoYWlucywgYWRkcmVzczogbmV3QWRkcmVzcywgaW5kZXggfSA9IHBhcmFtcztcbiAgICBjb25zdCBbYWRkcmVzc1BhcnQsIG1lbW9JZF0gPSBuZXdBZGRyZXNzLnNwbGl0KCc/bWVtb0lkPScpO1xuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzUGFydCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7bmV3QWRkcmVzc31gKTtcbiAgICB9XG4gICAgaWYgKG1lbW9JZCAmJiBtZW1vSWQgIT09IGAke2luZGV4fWApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIG1lbW9JZCBpbmRleDogJHttZW1vSWR9YCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1vbktleWNoYWluID0gZXh0cmFjdENvbW1vbktleWNoYWluKGtleWNoYWlucyk7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRUREU0FNZXRob2RzLmdldEluaXRpYWxpemVkTXBjSW5zdGFuY2UoKTtcbiAgICBjb25zdCBkZXJpdmF0aW9uUGF0aCA9ICdtLzAnO1xuICAgIGNvbnN0IGRlcml2ZWRQdWJsaWNLZXkgPSBNUEMuZGVyaXZlVW5oYXJkZW5lZChjb21tb25LZXljaGFpbiwgZGVyaXZhdGlvblBhdGgpLnNsaWNlKDAsIDY0KTtcbiAgICBjb25zdCBwdWJsaWNLZXlCYXNlNjQgPSBCdWZmZXIuZnJvbShkZXJpdmVkUHVibGljS2V5LCAnaGV4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIGNvbnN0IHJvb3RBZGRyZXNzRmluZ2VycHJpbnQgPSB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXlCYXNlNjQpO1xuICAgIGNvbnN0IHJvb3RBZGRyZXNzID0gYCR7cm9vdEFkZHJlc3NGaW5nZXJwcmludC5zbGljZSgwLCA1KX06OiR7cm9vdEFkZHJlc3NGaW5nZXJwcmludH1gO1xuICAgIHJldHVybiBhZGRyZXNzUGFydCA9PT0gcm9vdEFkZHJlc3M7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4SGV4ID0gcGFyYW1zLnR4SGV4IGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICAvLyBNZXNzYWdlLW9ubHkgc2lnbmluZyByZXF1ZXN0cyAoZS5nLiBDQU5UT05fU0lHTl9UUkFOU0FDVElPTiwgQ0FOVE9OX1NJR05fVE9QT0xPR1kpXG4gICAgICAvLyBoYXZlIG5vIHRyYW5zYWN0aW9uIGhleCB0byBwYXJzZSDigJQgcmV0dXJuIGFuIGVtcHR5IHJlc3VsdC5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3QgdHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9IGF3YWl0IHRoaXMuZXhwbGFpblRyYW5zYWN0aW9uKHsgdHhIZXggfSk7XG4gICAgaWYgKCF0cmFuc2FjdGlvbkV4cGxhbmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgdW5rbm93biBhcyBQYXJzZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IENhbnRvbktleVBhaXIoeyBzZWVkIH0pIDogbmV3IENhbnRvbktleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBydiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1Yjoga2V5cy5wdWIsXG4gICAgICBwcnY6IGtleXMucHJ2LFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKHBhcmFtczogRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25FeHBsYW5hdGlvbj4ge1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmdldEJ1aWxkZXIoKTtcbiAgICBsZXQgcmVidWlsdFRyYW5zYWN0aW9uOiBCYXNlVHJhbnNhY3Rpb247XG4gICAgY29uc3QgdHhSYXcgPSBwYXJhbXMudHhIZXg7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZnJvbSh0eFJhdyk7XG4gICAgICByZWJ1aWx0VHJhbnNhY3Rpb24gPSB0eEJ1aWxkZXIudHJhbnNhY3Rpb247XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiByZWJ1aWx0VHJhbnNhY3Rpb24uZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1Yik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gY2FudG9uIGFkZHJlc3NlcyBhcmUgb2YgdGhlIGZvcm0sIHBhcnR5SGludDo6ZmluZ2VycHJpbnRcbiAgICAvLyB3aGVyZSBwYXJ0eUhpbnQgaXMgb2YgbGVuZ3RoIDUgYW5kIGZpbmdlcnByaW50IGlzIDY4IGNoYXJhY3RlcnMgbG9uZ1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRUb2tlbkVuYWJsZW1lbnRDb25maWcoKTogVG9rZW5FbmFibGVtZW50Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IHRydWUsXG4gICAgICBzdXBwb3J0c011bHRpcGxlVG9rZW5FbmFibGVtZW50czogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleUhleDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBwdWJsaWNLZXlCYXNlNjQgPSBCdWZmZXIuZnJvbShwdWJsaWNLZXlIZXgsICdoZXgnKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgcmV0dXJuIHV0aWxzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleUJhc2U2NCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXVkaXREZWNyeXB0ZWRLZXkoeyBtdWx0aVNpZ1R5cGUsIHBydiwgcHVibGljS2V5IH06IEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKG11bHRpU2lnVHlwZSAhPT0gbXVsdGlzaWdUeXBlcy50c3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbXVsdGlTaWdUeXBlJyk7XG4gICAgfVxuICAgIGF1ZGl0RWRkc2FQcml2YXRlS2V5KHBydiwgcHVibGljS2V5ID8/ICcnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChpbnRlbnQ6IFBvcHVsYXRlZEludGVudCwgcGFyYW1zOiBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAocGFyYW1zLnR4UmVxdWVzdElkKSB7XG4gICAgICBpbnRlbnQudHhSZXF1ZXN0SWQgPSBwYXJhbXMudHhSZXF1ZXN0SWQ7XG4gICAgfVxuICAgIGlmIChwYXJhbXMudHJhbnNmZXJPZmZlcklkKSB7XG4gICAgICBpbnRlbnQudHJhbnNmZXJPZmZlcklkID0gcGFyYW1zLnRyYW5zZmVyT2ZmZXJJZDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy51bnNwZW50cykge1xuICAgICAgaW50ZW50LnVuc3BlbnRzID0gcGFyYW1zLnVuc3BlbnRzO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmNhbnRvbkNvbW1hbmRQYXJhbXMpIHtcbiAgICAgIGludGVudC5jYW50b25Db21tYW5kUGFyYW1zID0gcGFyYW1zLmNhbnRvbkNvbW1hbmRQYXJhbXM7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuZW5kSW52ZXN0b3JQYXJ0eUlkKSB7XG4gICAgICBpbnRlbnQuZW5kSW52ZXN0b3JQYXJ0eUlkID0gcGFyYW1zLmVuZEludmVzdG9yUGFydHlJZDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5yZWFzb24pIHtcbiAgICAgIGludGVudC5yZWFzb24gPSBwYXJhbXMucmVhc29uO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLm9wZXJhdG9yKSB7XG4gICAgICBpbnRlbnQub3BlcmF0b3IgPSBwYXJhbXMub3BlcmF0b3I7XG4gICAgfVxuICAgIGlmIChwYXJhbXMucHJvdmlkZXIpIHtcbiAgICAgIGludGVudC5wcm92aWRlciA9IHBhcmFtcy5wcm92aWRlcjtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5jb21wbGlhbmNlKSB7XG4gICAgICBpbnRlbnQuY29tcGxpYW5jZSA9IHBhcmFtcy5jb21wbGlhbmNlO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnJlZ2lzdHJhcikge1xuICAgICAgaW50ZW50LnJlZ2lzdHJhciA9IHBhcmFtcy5yZWdpc3RyYXI7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuY2xpZW50T25ib2FyZGVyKSB7XG4gICAgICBpbnRlbnQuY2xpZW50T25ib2FyZGVyID0gcGFyYW1zLmNsaWVudE9uYm9hcmRlcjtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5leHBpcmF0aW9uSXNvKSB7XG4gICAgICBpbnRlbnQuZXhwaXJhdGlvbklzbyA9IHBhcmFtcy5leHBpcmF0aW9uSXNvO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -128,6 +128,15 @@ export interface CantonOneStepEnablementRequest extends CantonPrepareCommandRequ
128
128
  receiverId: string;
129
129
  tokenName?: string;
130
130
  }
131
+ /**
132
+ * Request to revert an active 1-step TransferPreapproval back to 2-step approval (exercises
133
+ * TransferPreapproval_Cancel on Splice.AmuletRules:TransferPreapproval). Mirrors
134
+ * CantonOneStepEnablementRequest's shape — same receiverId/tokenName fields, opposite direction.
135
+ */
136
+ export interface CantonTransferPreapprovalCancelRequest extends CantonPrepareCommandRequest {
137
+ receiverId: string;
138
+ tokenName?: string;
139
+ }
131
140
  export interface CantonTransferAcceptRejectRequest extends CantonPrepareCommandRequest {
132
141
  contractId: string;
133
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CANTON_COMMAND_KEYS = void 0;
4
4
  exports.CANTON_COMMAND_KEYS = ['CreateCommand', 'ExerciseCommand'];
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTBQYSxRQUFBLG1CQUFtQixHQUFHLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIElUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgQ2FudG9uQ29tbWFuZCxcbiAgQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWMsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBEYW1sVHJhbnNhY3Rpb24sIE1ldGFkYXRhIH0gZnJvbSAnLi9yZXNvdXJjZXNJbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgaW5wdXRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGlucHV0QW1vdW50Pzogc3RyaW5nO1xuICBjYW50b25Db21tYW5kPzogQ2FudG9uQ29tbWFuZEV4cGxhaW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQ29tbWFuZEV4cGxhaW4ge1xuICBraW5kOiBDYW50b25Db21tYW5kS2luZDtcbiAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICBhY3RBczogc3RyaW5nW107XG4gIGNob2ljZT86IHN0cmluZztcbiAgY29udHJhY3RJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGFja25vd2xlZGdlRGF0YT86IFRyYW5zZmVyQWNrbm93bGVkZ2U7XG4gIGNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGE/OiBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWw7XG4gIGFsbG9jYXRpb25SZXF1ZXN0RGF0YT86IEFsbG9jYXRpb25SZXF1ZXN0O1xuICBlbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE/OiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE7XG4gIG1lbW9JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGNhbnRvbkNvbW1hbmQ/OiBDYW50b25Db21tYW5kRXhwbGFpbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFR4blBhcnNlZEluZm8ge1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIG1lbW9JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJlcGFyZWRQYXJ0eTogUHJlcGFyZWRQYXJ0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVVFhPSW5mbyB7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIHtcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbkhhc2g6IHN0cmluZztcbiAgaGFzaGluZ1NjaGVtZVZlcnNpb246IHN0cmluZztcbiAgaGFzaGluZ0RldGFpbHM/OiBzdHJpbmcgfCBudWxsO1xuICB1dHhvSW5mbz86IFVUWE9JbmZvW107XG4gIGlzT25lU3RlcFRyYW5zZmVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFBhcnR5IHtcbiAgcGFydHlJZDogc3RyaW5nO1xuICBwdWJsaWNLZXlGaW5nZXJwcmludDogc3RyaW5nO1xuICB0b3BvbG9neVRyYW5zYWN0aW9uczogc3RyaW5nW107XG4gIG11bHRpSGFzaDogc3RyaW5nO1xuICBzaG91bGRJbmNsdWRlVHhuVHlwZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uPzogRGFtbFRyYW5zYWN0aW9uO1xuICBtZXRhZGF0YT86IE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaWNLZXkge1xuICBmb3JtYXQ6IHN0cmluZztcbiAga2V5RGF0YTogc3RyaW5nO1xuICBrZXlTcGVjOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFJlcXVlc3Qge1xuICBwYXJ0eUhpbnQ6IHN0cmluZztcbiAgcHVibGljS2V5OiBJUHVibGljS2V5O1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiBib29sZWFuO1xuICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdO1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IG51bWJlcjtcbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25QcmVwYXJlQ29tbWFuZFJlcXVlc3Qge1xuICBjb21tYW5kSWQ6IHN0cmluZztcbiAgdmVyYm9zZUhhc2hpbmc6IGJvb2xlYW47XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgcmVhZEFzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmJvYXJkaW5nVHJhbnNhY3Rpb24ge1xuICB0cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpSGFzaFNpZ25hdHVyZSB7XG4gIGZvcm1hdDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgc2lnbmVkQnk6IHN0cmluZztcbiAgc2lnbmluZ0FsZ29yaXRobVNwZWM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRJbml0QnJvYWRjYXN0RGF0YSB7XG4gIHByZXBhcmVkUGFydHk6IFByZXBhcmVkUGFydHk7XG4gIG9uYm9hcmRpbmdUcmFuc2FjdGlvbnM6IE9uYm9hcmRpbmdUcmFuc2FjdGlvbltdO1xuICBtdWx0aUhhc2hTaWduYXR1cmVzOiBNdWx0aUhhc2hTaWduYXR1cmVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0eVNpZ25hdHVyZSB7XG4gIHBhcnR5OiBzdHJpbmc7XG4gIHNpZ25hdHVyZXM6IE11bHRpSGFzaFNpZ25hdHVyZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSB7XG4gIGFja25vd2xlZGdlRGF0YT86IFRyYW5zZmVyQWNrbm93bGVkZ2U7XG4gIGNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGE/OiBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWw7XG4gIGFsbG9jYXRpb25SZXF1ZXN0RGF0YT86IEFsbG9jYXRpb25SZXF1ZXN0O1xuICBlbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE/OiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE7XG4gIHByZXBhcmVDb21tYW5kUmVzcG9uc2U/OiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlO1xuICB0eFR5cGU6IHN0cmluZztcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgcGFydHlTaWduYXR1cmVzPzoge1xuICAgIHNpZ25hdHVyZXM6IFBhcnR5U2lnbmF0dXJlW107XG4gIH07XG4gIGRlZHVwbGljYXRpb25QZXJpb2Q/OiB7XG4gICAgRW1wdHk6IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcbiAgfTtcbiAgc3VibWlzc2lvbklkOiBzdHJpbmc7XG4gIGhhc2hpbmdTY2hlbWVWZXJzaW9uPzogc3RyaW5nO1xuICBtaW5MZWRnZXJUaW1lPzoge1xuICAgIHRpbWU6IHtcbiAgICAgIEVtcHR5OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25PbmVTdGVwRW5hYmxlbWVudFJlcXVlc3QgZXh0ZW5kcyBDYW50b25QcmVwYXJlQ29tbWFuZFJlcXVlc3Qge1xuICByZWNlaXZlcklkOiBzdHJpbmc7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3QgZXh0ZW5kcyBDYW50b25QcmVwYXJlQ29tbWFuZFJlcXVlc3Qge1xuICBjb250cmFjdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uVHJhbnNmZXJPZmZlcldpdGhkcmF3blJlcXVlc3QgZXh0ZW5kcyBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3Qge1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduUmVxdWVzdCBleHRlbmRzIENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCB7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ2FudG9uQW1vdW50ID0gbnVtYmVyIHwgc3RyaW5nO1xuZXhwb3J0IHR5cGUgQ2FudG9uQW1vdW50SW5wdXQgPSBDYW50b25BbW91bnQgfCBiaWdpbnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJBY2tub3dsZWRnZSB7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgc2VuZGVyUGFydHlJZDogc3RyaW5nO1xuICBhbW91bnQ6IENhbnRvbkFtb3VudDtcbiAgZXhwaXJ5RXBvY2g6IG51bWJlcjtcbiAgdXBkYXRlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWwge1xuICBjb250cmFjdElkOiBzdHJpbmc7XG4gIG9wZXJhdG9ySWQ6IHN0cmluZztcbiAgdXBkYXRlSWQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uVHJhbnNmZXJSZXF1ZXN0IHtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG4gIHNlbmRlclBhcnR5SWQ6IHN0cmluZztcbiAgcmVjZWl2ZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIGFtb3VudDogQ2FudG9uQW1vdW50O1xuICBleHBpcnlFcG9jaDogbnVtYmVyO1xuICBzZW5kVmlhT25lU3RlcDogYm9vbGVhbjtcbiAgbWVtb0lkPzogc3RyaW5nO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQWxsb2NhdGlvbkFsbG9jYXRlUmVxdWVzdCB7XG4gIGNvbW1hbmRJZDogc3RyaW5nO1xuICBhbW91bnQ6IENhbnRvbkFtb3VudDtcbiAgdG9rZW46IHN0cmluZztcbiAgb3BlcmF0b3JJZDogc3RyaW5nO1xuICBjb250cmFjdElkPzogc3RyaW5nO1xuICB0cmFkZUlkOiBzdHJpbmc7XG4gIHRyYW5zZmVyTGVnSWQ6IHN0cmluZztcbiAgYWxsb2NhdGVCZWZvcmU6IHN0cmluZztcbiAgc2V0dGxlQmVmb3JlOiBzdHJpbmc7XG4gIHJlY2VpdmVyUGFydHlJZDogc3RyaW5nO1xuICBzZW5kZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJuYWwgKG5vbi1zaWduYWJsZSkgZGF0YSBmb3IgYW4gQWxsb2NhdGlvblJlcXVlc3QgdHhSZXF1ZXN0LlxuICogU3VyZmFjZXMgdGhlIGZ1bGwgRHZQIHRyYWRlIGxlZyB0byB0aGUgYWxsb2NhdGluZyBwYXJ0eSBzbyB0aGV5IGNhblxuICogcmV2aWV3IGFuZCB0aGVuIHN1Ym1pdCBhbiBBbGxvY2F0aW9uQWxsb2NhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGlvblJlcXVlc3Qge1xuICB1cGRhdGVJZDogc3RyaW5nO1xuICBvcGVyYXRvcklkOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ/OiBzdHJpbmc7XG4gIHRyYWRlSWQ6IHN0cmluZztcbiAgdHJhbnNmZXJMZWdJZDogc3RyaW5nO1xuICBzZW5kZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIHJlY2VpdmVyUGFydHlJZDogc3RyaW5nO1xuICBhbW91bnQ6IENhbnRvbkFtb3VudDtcbiAgdG9rZW46IHN0cmluZztcbiAgcmVjZWl2ZVRva2VuOiBzdHJpbmc7XG4gIHJlY2VpdmVBbW91bnQ6IENhbnRvbkFtb3VudDtcbiAgYWxsb2NhdGVCZWZvcmU6IHN0cmluZztcbiAgc2V0dGxlQmVmb3JlOiBzdHJpbmc7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJuYWwgKG5vbi1zaWduYWJsZSkgZGF0YSBmb3IgYW4gRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXIgdHhSZXF1ZXN0LlxuICogUmVjb3JkcyBhbiBvbi1jaGFpbiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlciBjb250cmFjdCBvbiB0aGUgZW5kIGludmVzdG9yJ3Mgd2FsbGV0XG4gKiBzbyB0aGV5IGNhbiBhY2NlcHQgb3IgcmVqZWN0LiBCdWlsdCBsb2NhbGx5IHdpdGhvdXQgYW4gSU1TIGNhbGwg4oCUIHRoZSBwYXJ0aWNpcGFudFxuICogcGFydHkgbWF5IGJlIGV4dGVybmFsIChub24tQml0R28pIGFuZCB0aGVyZWZvcmUgbm90IHJlZ2lzdGVyZWQgaW4gQml0R28ncyBJTVMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJEYXRhIHtcbiAgLyoqIFRoZSBvbi1jaGFpbiBjb250cmFjdElkIG9mIHRoZSBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlciAoZnJvbSBwZW5kaW5nQ29udHJhY3RJZCkuICovXG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgLyoqIENhbnRvbiBwYXJ0eSBJRCBvZiB0aGUgZW5kIGludmVzdG9yIGJlaW5nIG9uYm9hcmRlZC4gKi9cbiAgZW5kSW52ZXN0b3JQYXJ0eUlkOiBzdHJpbmc7XG4gIC8qKiBDYW50b24gcGFydHkgSUQgb2YgdGhlIHBhcnRpY2lwYW50IHRoYXQgY3JlYXRlZCB0aGUgb2ZmZXIgKG1heSBiZSBleHRlcm5hbCB0byBCaXRHbykuICovXG4gIHBhcnRpY2lwYW50UGFydHlJZDogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgY29tbWVudCBmcm9tIHRoZSBwYXJ0aWNpcGFudC4gKi9cbiAgY29tbWVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IENBTlRPTl9DT01NQU5EX0tFWVMgPSBbJ0NyZWF0ZUNvbW1hbmQnLCAnRXhlcmNpc2VDb21tYW5kJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBDYW50b25Db21tYW5kS2luZCA9ICh0eXBlb2YgQ0FOVE9OX0NPTU1BTkRfS0VZUylbbnVtYmVyXTtcblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25Db21tYW5kUmVxdWVzdCB7XG4gIGNvbW1hbmRJZDogc3RyaW5nO1xuICBhY3RBczogc3RyaW5nW107XG4gIHJlYWRBcz86IHN0cmluZ1tdO1xuICBjb21tYW5kOiBDYW50b25Db21tYW5kO1xuICByZXNvbHZlQ29udHJhY3RzPzogQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWNbXTtcbiAgdG9rZW4/OiBzdHJpbmc7XG59XG5cbi8vIFJvb3QgY29tbWFuZCBkZWNvZGVkIGZyb20gdGhlIHByZXBhcmVkIENhbnRvbiB0cmFuc2FjdGlvbiBwcm90b2J1ZiwgdXNlZCBkdXJpbmcgdmVyaWZ5VHJhbnNhY3Rpb24uXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvbkNvbW1hbmRJbmZvIHtcbiAga2luZDogQ2FudG9uQ29tbWFuZEtpbmQ7XG4gIHRlbXBsYXRlSWQ6IHtcbiAgICBwYWNrYWdlSWQ6IHN0cmluZztcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gICAgZW50aXR5TmFtZTogc3RyaW5nO1xuICB9O1xuICBhcmd1bWVudDogdW5rbm93bjtcbiAgY2hvaWNlPzogc3RyaW5nOyAvLyBFeGVyY2lzZUNvbW1hbmQgb25seVxuICBjb250cmFjdElkPzogc3RyaW5nOyAvLyBFeGVyY2lzZUNvbW1hbmQgb25seVxuICBhY3RpbmdQYXJ0aWVzPzogc3RyaW5nW107IC8vIEV4ZXJjaXNlQ29tbWFuZCBvbmx5XG59XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9RYSxRQUFBLG1CQUFtQixHQUFHLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIElUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgQ2FudG9uQ29tbWFuZCxcbiAgQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWMsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBEYW1sVHJhbnNhY3Rpb24sIE1ldGFkYXRhIH0gZnJvbSAnLi9yZXNvdXJjZXNJbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgaW5wdXRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGlucHV0QW1vdW50Pzogc3RyaW5nO1xuICBjYW50b25Db21tYW5kPzogQ2FudG9uQ29tbWFuZEV4cGxhaW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQ29tbWFuZEV4cGxhaW4ge1xuICBraW5kOiBDYW50b25Db21tYW5kS2luZDtcbiAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICBhY3RBczogc3RyaW5nW107XG4gIGNob2ljZT86IHN0cmluZztcbiAgY29udHJhY3RJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGFja25vd2xlZGdlRGF0YT86IFRyYW5zZmVyQWNrbm93bGVkZ2U7XG4gIGNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGE/OiBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWw7XG4gIGFsbG9jYXRpb25SZXF1ZXN0RGF0YT86IEFsbG9jYXRpb25SZXF1ZXN0O1xuICBlbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE/OiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE7XG4gIG1lbW9JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGNhbnRvbkNvbW1hbmQ/OiBDYW50b25Db21tYW5kRXhwbGFpbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFR4blBhcnNlZEluZm8ge1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXI6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIG1lbW9JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJlcGFyZWRQYXJ0eTogUHJlcGFyZWRQYXJ0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVVFhPSW5mbyB7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIHtcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbkhhc2g6IHN0cmluZztcbiAgaGFzaGluZ1NjaGVtZVZlcnNpb246IHN0cmluZztcbiAgaGFzaGluZ0RldGFpbHM/OiBzdHJpbmcgfCBudWxsO1xuICB1dHhvSW5mbz86IFVUWE9JbmZvW107XG4gIGlzT25lU3RlcFRyYW5zZmVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFBhcnR5IHtcbiAgcGFydHlJZDogc3RyaW5nO1xuICBwdWJsaWNLZXlGaW5nZXJwcmludDogc3RyaW5nO1xuICB0b3BvbG9neVRyYW5zYWN0aW9uczogc3RyaW5nW107XG4gIG11bHRpSGFzaDogc3RyaW5nO1xuICBzaG91bGRJbmNsdWRlVHhuVHlwZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uPzogRGFtbFRyYW5zYWN0aW9uO1xuICBtZXRhZGF0YT86IE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaWNLZXkge1xuICBmb3JtYXQ6IHN0cmluZztcbiAga2V5RGF0YTogc3RyaW5nO1xuICBrZXlTcGVjOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5pdFJlcXVlc3Qge1xuICBwYXJ0eUhpbnQ6IHN0cmluZztcbiAgcHVibGljS2V5OiBJUHVibGljS2V5O1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiBib29sZWFuO1xuICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdO1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IG51bWJlcjtcbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25QcmVwYXJlQ29tbWFuZFJlcXVlc3Qge1xuICBjb21tYW5kSWQ6IHN0cmluZztcbiAgdmVyYm9zZUhhc2hpbmc6IGJvb2xlYW47XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgcmVhZEFzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmJvYXJkaW5nVHJhbnNhY3Rpb24ge1xuICB0cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpSGFzaFNpZ25hdHVyZSB7XG4gIGZvcm1hdDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgc2lnbmVkQnk6IHN0cmluZztcbiAgc2lnbmluZ0FsZ29yaXRobVNwZWM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRJbml0QnJvYWRjYXN0RGF0YSB7XG4gIHByZXBhcmVkUGFydHk6IFByZXBhcmVkUGFydHk7XG4gIG9uYm9hcmRpbmdUcmFuc2FjdGlvbnM6IE9uYm9hcmRpbmdUcmFuc2FjdGlvbltdO1xuICBtdWx0aUhhc2hTaWduYXR1cmVzOiBNdWx0aUhhc2hTaWduYXR1cmVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0eVNpZ25hdHVyZSB7XG4gIHBhcnR5OiBzdHJpbmc7XG4gIHNpZ25hdHVyZXM6IE11bHRpSGFzaFNpZ25hdHVyZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSB7XG4gIGFja25vd2xlZGdlRGF0YT86IFRyYW5zZmVyQWNrbm93bGVkZ2U7XG4gIGNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGE/OiBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWw7XG4gIGFsbG9jYXRpb25SZXF1ZXN0RGF0YT86IEFsbG9jYXRpb25SZXF1ZXN0O1xuICBlbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE/OiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE7XG4gIHByZXBhcmVDb21tYW5kUmVzcG9uc2U/OiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlO1xuICB0eFR5cGU6IHN0cmluZztcbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgcGFydHlTaWduYXR1cmVzPzoge1xuICAgIHNpZ25hdHVyZXM6IFBhcnR5U2lnbmF0dXJlW107XG4gIH07XG4gIGRlZHVwbGljYXRpb25QZXJpb2Q/OiB7XG4gICAgRW1wdHk6IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcbiAgfTtcbiAgc3VibWlzc2lvbklkOiBzdHJpbmc7XG4gIGhhc2hpbmdTY2hlbWVWZXJzaW9uPzogc3RyaW5nO1xuICBtaW5MZWRnZXJUaW1lPzoge1xuICAgIHRpbWU6IHtcbiAgICAgIEVtcHR5OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25PbmVTdGVwRW5hYmxlbWVudFJlcXVlc3QgZXh0ZW5kcyBDYW50b25QcmVwYXJlQ29tbWFuZFJlcXVlc3Qge1xuICByZWNlaXZlcklkOiBzdHJpbmc7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHRvIHJldmVydCBhbiBhY3RpdmUgMS1zdGVwIFRyYW5zZmVyUHJlYXBwcm92YWwgYmFjayB0byAyLXN0ZXAgYXBwcm92YWwgKGV4ZXJjaXNlc1xuICogVHJhbnNmZXJQcmVhcHByb3ZhbF9DYW5jZWwgb24gU3BsaWNlLkFtdWxldFJ1bGVzOlRyYW5zZmVyUHJlYXBwcm92YWwpLiBNaXJyb3JzXG4gKiBDYW50b25PbmVTdGVwRW5hYmxlbWVudFJlcXVlc3QncyBzaGFwZSDigJQgc2FtZSByZWNlaXZlcklkL3Rva2VuTmFtZSBmaWVsZHMsIG9wcG9zaXRlIGRpcmVjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYW50b25UcmFuc2ZlclByZWFwcHJvdmFsQ2FuY2VsUmVxdWVzdCBleHRlbmRzIENhbnRvblByZXBhcmVDb21tYW5kUmVxdWVzdCB7XG4gIHJlY2VpdmVySWQ6IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCBleHRlbmRzIENhbnRvblByZXBhcmVDb21tYW5kUmVxdWVzdCB7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25UcmFuc2Zlck9mZmVyV2l0aGRyYXduUmVxdWVzdCBleHRlbmRzIENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCB7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25BbGxvY2F0aW9uQWxsb2NhdGVXaXRoZHJhd25SZXF1ZXN0IGV4dGVuZHMgQ2FudG9uVHJhbnNmZXJBY2NlcHRSZWplY3RSZXF1ZXN0IHtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDYW50b25BbW91bnQgPSBudW1iZXIgfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBDYW50b25BbW91bnRJbnB1dCA9IENhbnRvbkFtb3VudCB8IGJpZ2ludDtcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlckFja25vd2xlZGdlIHtcbiAgY29udHJhY3RJZDogc3RyaW5nO1xuICBzZW5kZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIGFtb3VudDogQ2FudG9uQW1vdW50O1xuICBleHBpcnlFcG9jaDogbnVtYmVyO1xuICB1cGRhdGVJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbCB7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgb3BlcmF0b3JJZDogc3RyaW5nO1xuICB1cGRhdGVJZDogc3RyaW5nO1xuICBwYWNrYWdlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25UcmFuc2ZlclJlcXVlc3Qge1xuICBjb21tYW5kSWQ6IHN0cmluZztcbiAgc2VuZGVyUGFydHlJZDogc3RyaW5nO1xuICByZWNlaXZlclBhcnR5SWQ6IHN0cmluZztcbiAgYW1vdW50OiBDYW50b25BbW91bnQ7XG4gIGV4cGlyeUVwb2NoOiBudW1iZXI7XG4gIHNlbmRWaWFPbmVTdGVwOiBib29sZWFuO1xuICBtZW1vSWQ/OiBzdHJpbmc7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW50b25BbGxvY2F0aW9uQWxsb2NhdGVSZXF1ZXN0IHtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG4gIGFtb3VudDogQ2FudG9uQW1vdW50O1xuICB0b2tlbjogc3RyaW5nO1xuICBvcGVyYXRvcklkOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ/OiBzdHJpbmc7XG4gIHRyYWRlSWQ6IHN0cmluZztcbiAgdHJhbnNmZXJMZWdJZDogc3RyaW5nO1xuICBhbGxvY2F0ZUJlZm9yZTogc3RyaW5nO1xuICBzZXR0bGVCZWZvcmU6IHN0cmluZztcbiAgcmVjZWl2ZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIHNlbmRlclBhcnR5SWQ6IHN0cmluZztcbiAgY29tbWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCAobm9uLXNpZ25hYmxlKSBkYXRhIGZvciBhbiBBbGxvY2F0aW9uUmVxdWVzdCB0eFJlcXVlc3QuXG4gKiBTdXJmYWNlcyB0aGUgZnVsbCBEdlAgdHJhZGUgbGVnIHRvIHRoZSBhbGxvY2F0aW5nIHBhcnR5IHNvIHRoZXkgY2FuXG4gKiByZXZpZXcgYW5kIHRoZW4gc3VibWl0IGFuIEFsbG9jYXRpb25BbGxvY2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGxvY2F0aW9uUmVxdWVzdCB7XG4gIHVwZGF0ZUlkOiBzdHJpbmc7XG4gIG9wZXJhdG9ySWQ6IHN0cmluZztcbiAgY29udHJhY3RJZD86IHN0cmluZztcbiAgdHJhZGVJZDogc3RyaW5nO1xuICB0cmFuc2ZlckxlZ0lkOiBzdHJpbmc7XG4gIHNlbmRlclBhcnR5SWQ6IHN0cmluZztcbiAgcmVjZWl2ZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIGFtb3VudDogQ2FudG9uQW1vdW50O1xuICB0b2tlbjogc3RyaW5nO1xuICByZWNlaXZlVG9rZW46IHN0cmluZztcbiAgcmVjZWl2ZUFtb3VudDogQ2FudG9uQW1vdW50O1xuICBhbGxvY2F0ZUJlZm9yZTogc3RyaW5nO1xuICBzZXR0bGVCZWZvcmU6IHN0cmluZztcbiAgY29tbWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCAobm9uLXNpZ25hYmxlKSBkYXRhIGZvciBhbiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlciB0eFJlcXVlc3QuXG4gKiBSZWNvcmRzIGFuIG9uLWNoYWluIEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyIGNvbnRyYWN0IG9uIHRoZSBlbmQgaW52ZXN0b3IncyB3YWxsZXRcbiAqIHNvIHRoZXkgY2FuIGFjY2VwdCBvciByZWplY3QuIEJ1aWx0IGxvY2FsbHkgd2l0aG91dCBhbiBJTVMgY2FsbCDigJQgdGhlIHBhcnRpY2lwYW50XG4gKiBwYXJ0eSBtYXkgYmUgZXh0ZXJuYWwgKG5vbi1CaXRHbykgYW5kIHRoZXJlZm9yZSBub3QgcmVnaXN0ZXJlZCBpbiBCaXRHbydzIElNUy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGEge1xuICAvKiogVGhlIG9uLWNoYWluIGNvbnRyYWN0SWQgb2YgdGhlIEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyIChmcm9tIHBlbmRpbmdDb250cmFjdElkKS4gKi9cbiAgY29udHJhY3RJZDogc3RyaW5nO1xuICAvKiogQ2FudG9uIHBhcnR5IElEIG9mIHRoZSBlbmQgaW52ZXN0b3IgYmVpbmcgb25ib2FyZGVkLiAqL1xuICBlbmRJbnZlc3RvclBhcnR5SWQ6IHN0cmluZztcbiAgLyoqIENhbnRvbiBwYXJ0eSBJRCBvZiB0aGUgcGFydGljaXBhbnQgdGhhdCBjcmVhdGVkIHRoZSBvZmZlciAobWF5IGJlIGV4dGVybmFsIHRvIEJpdEdvKS4gKi9cbiAgcGFydGljaXBhbnRQYXJ0eUlkOiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBjb21tZW50IGZyb20gdGhlIHBhcnRpY2lwYW50LiAqL1xuICBjb21tZW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgQ0FOVE9OX0NPTU1BTkRfS0VZUyA9IFsnQ3JlYXRlQ29tbWFuZCcsICdFeGVyY2lzZUNvbW1hbmQnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIENhbnRvbkNvbW1hbmRLaW5kID0gKHR5cGVvZiBDQU5UT05fQ09NTUFORF9LRVlTKVtudW1iZXJdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvbkNvbW1hbmRSZXF1ZXN0IHtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgcmVhZEFzPzogc3RyaW5nW107XG4gIGNvbW1hbmQ6IENhbnRvbkNvbW1hbmQ7XG4gIHJlc29sdmVDb250cmFjdHM/OiBDYW50b25Db21tYW5kUmVzb2x2ZUNvbnRyYWN0U3BlY1tdO1xuICB0b2tlbj86IHN0cmluZztcbn1cblxuLy8gUm9vdCBjb21tYW5kIGRlY29kZWQgZnJvbSB0aGUgcHJlcGFyZWQgQ2FudG9uIHRyYW5zYWN0aW9uIHByb3RvYnVmLCB1c2VkIGR1cmluZyB2ZXJpZnlUcmFuc2FjdGlvbi5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQ29tbWFuZEluZm8ge1xuICBraW5kOiBDYW50b25Db21tYW5kS2luZDtcbiAgdGVtcGxhdGVJZDoge1xuICAgIHBhY2thZ2VJZDogc3RyaW5nO1xuICAgIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgICBlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIH07XG4gIGFyZ3VtZW50OiB1bmtub3duO1xuICBjaG9pY2U/OiBzdHJpbmc7IC8vIEV4ZXJjaXNlQ29tbWFuZCBvbmx5XG4gIGNvbnRyYWN0SWQ/OiBzdHJpbmc7IC8vIEV4ZXJjaXNlQ29tbWFuZCBvbmx5XG4gIGFjdGluZ1BhcnRpZXM/OiBzdHJpbmdbXTsgLy8gRXhlcmNpc2VDb21tYW5kIG9ubHlcbn1cbiJdfQ==
@@ -10,6 +10,7 @@ export { CosignDelegationAcceptBuilder } from './cosignDelegationAcceptBuilder';
10
10
  export { CosignDelegationProposalBuilder } from './cosignDelegationProposalBuilder';
11
11
  export { KeyPair } from './keyPair';
12
12
  export { OneStepPreApprovalBuilder } from './oneStepPreApprovalBuilder';
13
+ export { TransferPreapprovalCancelBuilder } from './transferPreapprovalCancelBuilder';
13
14
  export { Transaction } from './transaction/transaction';
14
15
  export { TransferAcceptanceBuilder } from './transferAcceptanceBuilder';
15
16
  export { TransferAcknowledgeBuilder } from './transferAcknowledgeBuilder';
@@ -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,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,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,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Interface = exports.Utils = exports.WalletInitTransaction = exports.WalletInitBuilder = exports.TransferRejectionBuilder = exports.TransferOfferWithdrawnBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.TransferBuilder = exports.TransferAcknowledgeBuilder = exports.TransferAcceptanceBuilder = exports.Transaction = exports.OneStepPreApprovalBuilder = exports.KeyPair = exports.CosignDelegationProposalBuilder = exports.CosignDelegationAcceptBuilder = exports.EndInvestorOnboardingOfferBuilder = exports.AllocationRequestBuilder = exports.AllocationRejectBuilder = exports.AllocationAllocateWithdrawnBuilder = exports.AllocationAllocateBuilder = exports.CantonCommandBuilder = void 0;
39
+ exports.Interface = exports.Utils = exports.WalletInitTransaction = exports.WalletInitBuilder = exports.TransferRejectionBuilder = exports.TransferOfferWithdrawnBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.TransferBuilder = exports.TransferAcknowledgeBuilder = exports.TransferAcceptanceBuilder = exports.Transaction = exports.TransferPreapprovalCancelBuilder = exports.OneStepPreApprovalBuilder = exports.KeyPair = exports.CosignDelegationProposalBuilder = exports.CosignDelegationAcceptBuilder = exports.EndInvestorOnboardingOfferBuilder = exports.AllocationRequestBuilder = exports.AllocationRejectBuilder = exports.AllocationAllocateWithdrawnBuilder = exports.AllocationAllocateBuilder = exports.CantonCommandBuilder = void 0;
40
40
  const Utils = __importStar(require("./utils"));
41
41
  exports.Utils = Utils;
42
42
  const Interface = __importStar(require("./iface"));
@@ -61,6 +61,8 @@ var keyPair_1 = require("./keyPair");
61
61
  Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
62
62
  var oneStepPreApprovalBuilder_1 = require("./oneStepPreApprovalBuilder");
63
63
  Object.defineProperty(exports, "OneStepPreApprovalBuilder", { enumerable: true, get: function () { return oneStepPreApprovalBuilder_1.OneStepPreApprovalBuilder; } });
64
+ var transferPreapprovalCancelBuilder_1 = require("./transferPreapprovalCancelBuilder");
65
+ Object.defineProperty(exports, "TransferPreapprovalCancelBuilder", { enumerable: true, get: function () { return transferPreapprovalCancelBuilder_1.TransferPreapprovalCancelBuilder; } });
64
66
  var transaction_1 = require("./transaction/transaction");
65
67
  Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
66
68
  var transferAcceptanceBuilder_1 = require("./transferAcceptanceBuilder");
@@ -83,4 +85,4 @@ var walletInitTransaction_1 = require("./walletInitialization/walletInitTransact
83
85
  Object.defineProperty(exports, "WalletInitTransaction", { enumerable: true, get: function () { return walletInitTransaction_1.WalletInitTransaction; } });
84
86
  __exportStar(require("./messages"), exports);
85
87
  __exportStar(require("./clearSigning"), exports);
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQXdCeEIsc0JBQUs7QUF2QmQsbURBQXFDO0FBdUJyQiw4QkFBUztBQXJCekIsK0RBQThEO0FBQXJELDRIQUFBLG9CQUFvQixPQUFBO0FBQzdCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQywyRkFBMEY7QUFBakYsd0pBQUEsa0NBQWtDLE9BQUE7QUFDM0MscUVBQW9FO0FBQTNELGtJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLHVFQUFzRTtBQUE3RCxvSUFBQSx3QkFBd0IsT0FBQTtBQUNqQyx5RkFBd0Y7QUFBL0Usc0pBQUEsaUNBQWlDLE9BQUE7QUFDMUMsaUZBQWdGO0FBQXZFLDhJQUFBLDZCQUE2QixPQUFBO0FBQ3RDLHFGQUFvRjtBQUEzRSxrSkFBQSwrQkFBK0IsT0FBQTtBQUN4QyxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyx5REFBd0Q7QUFBL0MsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQywyRUFBMEU7QUFBakUsd0lBQUEsMEJBQTBCLE9BQUE7QUFDbkMscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4QiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLGlGQUFnRjtBQUF2RSw4SUFBQSw2QkFBNkIsT0FBQTtBQUN0Qyx1RUFBc0U7QUFBN0Qsb0lBQUEsd0JBQXdCLE9BQUE7QUFDakMseURBQXdEO0FBQS9DLHNIQUFBLGlCQUFpQixPQUFBO0FBQzFCLHNGQUFxRjtBQUE1RSw4SEFBQSxxQkFBcUIsT0FBQTtBQUc5Qiw2Q0FBMkI7QUFDM0IsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBJbnRlcmZhY2UgZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCB7IENhbnRvbkNvbW1hbmRCdWlsZGVyIH0gZnJvbSAnLi9jYW50b25Db21tYW5kQnVpbGRlcic7XG5leHBvcnQgeyBBbGxvY2F0aW9uQWxsb2NhdGVCdWlsZGVyIH0gZnJvbSAnLi9hbGxvY2F0aW9uQWxsb2NhdGVCdWlsZGVyJztcbmV4cG9ydCB7IEFsbG9jYXRpb25BbGxvY2F0ZVdpdGhkcmF3bkJ1aWxkZXIgfSBmcm9tICcuL2FsbG9jYXRpb25BbGxvY2F0ZVdpdGhkcmF3bkJ1aWxkZXInO1xuZXhwb3J0IHsgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIgfSBmcm9tICcuL2FsbG9jYXRpb25SZWplY3RCdWlsZGVyJztcbmV4cG9ydCB7IEFsbG9jYXRpb25SZXF1ZXN0QnVpbGRlciB9IGZyb20gJy4vYWxsb2NhdGlvblJlcXVlc3RCdWlsZGVyJztcbmV4cG9ydCB7IEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyQnVpbGRlciB9IGZyb20gJy4vZW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJCdWlsZGVyJztcbmV4cG9ydCB7IENvc2lnbkRlbGVnYXRpb25BY2NlcHRCdWlsZGVyIH0gZnJvbSAnLi9jb3NpZ25EZWxlZ2F0aW9uQWNjZXB0QnVpbGRlcic7XG5leHBvcnQgeyBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyIH0gZnJvbSAnLi9jb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyJztcbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgT25lU3RlcFByZUFwcHJvdmFsQnVpbGRlciB9IGZyb20gJy4vb25lU3RlcFByZUFwcHJvdmFsQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBUcmFuc2Zlck9mZmVyV2l0aGRyYXduQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJPZmZlcldpdGhkcmF3bkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJSZWplY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlclJlamVjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgV2FsbGV0SW5pdEJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRCdWlsZGVyJztcbmV4cG9ydCB7IFdhbGxldEluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb24vd2FsbGV0SW5pdFRyYW5zYWN0aW9uJztcblxuZXhwb3J0IHsgVXRpbHMsIEludGVyZmFjZSB9O1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsZWFyU2lnbmluZyc7XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQXlCeEIsc0JBQUs7QUF4QmQsbURBQXFDO0FBd0JyQiw4QkFBUztBQXRCekIsK0RBQThEO0FBQXJELDRIQUFBLG9CQUFvQixPQUFBO0FBQzdCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQywyRkFBMEY7QUFBakYsd0pBQUEsa0NBQWtDLE9BQUE7QUFDM0MscUVBQW9FO0FBQTNELGtJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLHVFQUFzRTtBQUE3RCxvSUFBQSx3QkFBd0IsT0FBQTtBQUNqQyx5RkFBd0Y7QUFBL0Usc0pBQUEsaUNBQWlDLE9BQUE7QUFDMUMsaUZBQWdGO0FBQXZFLDhJQUFBLDZCQUE2QixPQUFBO0FBQ3RDLHFGQUFvRjtBQUEzRSxrSkFBQSwrQkFBK0IsT0FBQTtBQUN4QyxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyx1RkFBc0Y7QUFBN0Usb0pBQUEsZ0NBQWdDLE9BQUE7QUFDekMseURBQXdEO0FBQS9DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsMkVBQTBFO0FBQWpFLHdJQUFBLDBCQUEwQixPQUFBO0FBQ25DLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyxpRkFBZ0Y7QUFBdkUsOElBQUEsNkJBQTZCLE9BQUE7QUFDdEMsdUVBQXNFO0FBQTdELG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLHlEQUF3RDtBQUEvQyxzSEFBQSxpQkFBaUIsT0FBQTtBQUMxQixzRkFBcUY7QUFBNUUsOEhBQUEscUJBQXFCLE9BQUE7QUFHOUIsNkNBQTJCO0FBQzNCLGlEQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBDYW50b25Db21tYW5kQnVpbGRlciB9IGZyb20gJy4vY2FudG9uQ29tbWFuZEJ1aWxkZXInO1xuZXhwb3J0IHsgQWxsb2NhdGlvbkFsbG9jYXRlQnVpbGRlciB9IGZyb20gJy4vYWxsb2NhdGlvbkFsbG9jYXRlQnVpbGRlcic7XG5leHBvcnQgeyBBbGxvY2F0aW9uQWxsb2NhdGVXaXRoZHJhd25CdWlsZGVyIH0gZnJvbSAnLi9hbGxvY2F0aW9uQWxsb2NhdGVXaXRoZHJhd25CdWlsZGVyJztcbmV4cG9ydCB7IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyIH0gZnJvbSAnLi9hbGxvY2F0aW9uUmVqZWN0QnVpbGRlcic7XG5leHBvcnQgeyBBbGxvY2F0aW9uUmVxdWVzdEJ1aWxkZXIgfSBmcm9tICcuL2FsbG9jYXRpb25SZXF1ZXN0QnVpbGRlcic7XG5leHBvcnQgeyBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckJ1aWxkZXIgfSBmcm9tICcuL2VuZEludmVzdG9yT25ib2FyZGluZ09mZmVyQnVpbGRlcic7XG5leHBvcnQgeyBDb3NpZ25EZWxlZ2F0aW9uQWNjZXB0QnVpbGRlciB9IGZyb20gJy4vY29zaWduRGVsZWdhdGlvbkFjY2VwdEJ1aWxkZXInO1xuZXhwb3J0IHsgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlciB9IGZyb20gJy4vY29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlcic7XG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIgfSBmcm9tICcuL29uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJQcmVhcHByb3ZhbENhbmNlbEJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyUHJlYXBwcm92YWxDYW5jZWxCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckFja25vd2xlZGdlQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRyYW5zZmVyT2ZmZXJXaXRoZHJhd25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2Zlck9mZmVyV2l0aGRyYXduQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBXYWxsZXRJbml0QnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdEJ1aWxkZXInO1xuZXhwb3J0IHsgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgeyBVdGlscywgSW50ZXJmYWNlIH07XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xlYXJTaWduaW5nJztcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIf,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,iBAAiB,EAEjB,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAK9B,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,EACP,MAAM,UAAU,CAAC;AAIlB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,6BAA6B,CAA2B;IAChE,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,+BAA+B,CAAiC;IACxE,OAAO,CAAC,mBAAmB,CAAW;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,cAAc,IAAI,4BAA4B,CAEjD;IAED,IAAI,cAAc,CAAC,WAAW,EAAE,4BAA4B,EAE3D;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAE5C;IAED,IAAI,4BAA4B,CAAC,IAAI,EAAE,wBAAwB,EAE9D;IAED,IAAI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EAEhD;IAED,IAAI,8BAA8B,CAAC,IAAI,EAAE,8BAA8B,EAEtE;IAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAEvC;IAED,IAAI,EAAE,IAAI,MAAM,CAKf;IAED,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,IAAI,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAExC;IAED,iBAAiB,IAAI,MAAM;IAsG3B,MAAM,IAAI,MAAM;IAoEhB,IAAI,eAAe,IAAI,MAAM,CAa5B;IAED,IAAI,yBAAyB,IAAI,MAAM,EAAE,CAExC;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAyCvC;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAoB5B,kBAAkB,IAAI,sBAAsB;IAgH5C,OAAO,CAAC,yBAAyB;CAoBlC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIf,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,iBAAiB,EAEjB,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAK9B,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,EACP,MAAM,UAAU,CAAC;AAIlB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,6BAA6B,CAA2B;IAChE,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,+BAA+B,CAAiC;IACxE,OAAO,CAAC,mBAAmB,CAAW;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,cAAc,IAAI,4BAA4B,CAEjD;IAED,IAAI,cAAc,CAAC,WAAW,EAAE,4BAA4B,EAE3D;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAE5C;IAED,IAAI,4BAA4B,CAAC,IAAI,EAAE,wBAAwB,EAE9D;IAED,IAAI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EAEhD;IAED,IAAI,8BAA8B,CAAC,IAAI,EAAE,8BAA8B,EAEtE;IAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAEvC;IAED,IAAI,EAAE,IAAI,MAAM,CAKf;IAED,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,IAAI,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAExC;IAED,iBAAiB,IAAI,MAAM;IAsG3B,MAAM,IAAI,MAAM;IAoEhB,IAAI,eAAe,IAAI,MAAM,CAa5B;IAED,IAAI,yBAAyB,IAAI,MAAM,EAAE,CAExC;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAyCvC;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAoB5B,kBAAkB,IAAI,sBAAsB;IAgI5C,OAAO,CAAC,yBAAyB;CAoBlC"}