@bitgo-beta/sdk-core 8.2.1-beta.1430 → 8.2.1-beta.1432
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/bitgo/staking/iStakingWallet.d.ts +7 -1
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
- package/dist/src/bitgo/staking/stakingWallet.d.ts +2 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -151,6 +151,12 @@ export interface TaoStakeOptions extends StakeOptions {
|
|
|
151
151
|
*/
|
|
152
152
|
netUID?: string;
|
|
153
153
|
}
|
|
154
|
+
export interface VetStakeOptions extends StakeOptions {
|
|
155
|
+
/**
|
|
156
|
+
* vet staking nft tier
|
|
157
|
+
*/
|
|
158
|
+
nftTier?: string;
|
|
159
|
+
}
|
|
154
160
|
export interface UnstakeOptions {
|
|
155
161
|
amount: string;
|
|
156
162
|
clientId?: string;
|
|
@@ -254,7 +260,7 @@ export interface StakingSignOptions {
|
|
|
254
260
|
export interface IStakingWallet {
|
|
255
261
|
readonly walletId: string;
|
|
256
262
|
readonly coin: string;
|
|
257
|
-
stake(options: StakeOptions | TronStakeOptions | TaoStakeOptions): Promise<StakingRequest>;
|
|
263
|
+
stake(options: StakeOptions | TronStakeOptions | TaoStakeOptions | VetStakeOptions): Promise<StakingRequest>;
|
|
258
264
|
unstake(options: UnstakeOptions | EthUnstakeOptions): Promise<StakingRequest>;
|
|
259
265
|
switchValidator(options: SwitchValidatorOptions | TaoSwitchValidatorOptions): Promise<StakingRequest>;
|
|
260
266
|
claimRewards(options: ClaimRewardsOptions): Promise<StakingRequest>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iStakingWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/iStakingWallet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"iStakingWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/iStakingWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,4 @@ var DelegationStatus;
|
|
|
9
9
|
DelegationStatus["ACTIVE"] = "ACTIVE";
|
|
10
10
|
DelegationStatus["COMPLETE"] = "COMPLETE";
|
|
11
11
|
})(DelegationStatus || (exports.DelegationStatus = DelegationStatus = {}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVN0YWtpbmdXYWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc3Rha2luZy9pU3Rha2luZ1dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnT0EsSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0lBQ3JCLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMsIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgfSBmcm9tICcuLi93YWxsZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdSZXF1ZXN0IHtcbiAgaWQ6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHdpdGhkcmF3YWxBZGRyZXNzOiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICByZXF1ZXN0aW5nVXNlcklkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHdhbGxldFR5cGU6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc3RhdHVzTW9kaWZpZWREYXRlOiBzdHJpbmc7XG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvblJlcXVlc3Qge1xuICBhbW91bnQ6IHN0cmluZztcbiAgdmFsaWRhdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvcmVkYW9QYXJhbXMgPSB7XG4gIGV4cGlyZUF0OiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhYnlsb25QYXJhbXMgPSB7XG4gIGR1cmF0aW9uOiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgb3B0aW9ucyBmb3Igc3Rha2luZy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YWtlT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthbW91bnRdIC0gYW1vdW50IHRvIHN0YWtlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsaWVudElkXSAtIGNsaWVudElkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3ZhbGlkYXRvcl0gLSBjaG9zZW4gdmFsaWRhdG9yXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2R1cmF0aW9uXSAtIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N1YlR5cGVdIC0gY29pbiBzZXBjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYnRjUmV3YXJkQWRkcmVzc10gLSBidGMgcmV3YXJkIGFkZHJlc3NcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2lnbmVyUHViXSAtIHN0eCBzaWduZXIgcHVibGljIGtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzaWduZXJTaWduYXR1cmVdIC0gc3R4IHNpZ25lciBzaWduYXR1cmVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbWF4QW1vdW50XSAtIHN0eCBtYXggYW1vdW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2F1dGhJZF0gLSBzdHggYXV0aC1pZFxuICogQHByb3BlcnR5IHtEZWxlZ2F0aW9uUmVxdWVzdFtdfSBbZGVsZWdhdGlvblJlcXVlc3RzXSAtIFRoZSBkZWxlZ2F0aW9uIHJlcXVlc3RzXG4gKiBUT0RPOiByZW1vdmUgc3VwcG9ydCB0byB0aGlzIGNvbnRyYWN0IHZlcnNpb24gYWZ0ZXIgU1RYIGZvcmtcbiAqIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb250cmFjdE5hbWVdIC0gc3R4IGNvbnRyYWN0IG5hbWU6IHZhbGlkIG5hbWVzIGFyZSBwb3gtMyBhbmQgcG94LTQgb25seSwgdXNlZCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGR1cmluZyBuYWthbW90byBmb3JrXG5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFrZU9wdGlvbnMge1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICB2YWxpZGF0b3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1c2VkIHRvIHNlbGVjdCBhIHByb3ZpZGVyIGluc3RlYWQgb2YgYSB2YWxpZGF0b3IgYWRkcmVzcyAoaS5lIGZvciBFVEggZmxvdylcbiAgICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgc3Rha2luZyByZXF1ZXN0IGlzIGZvciByZXN0YWtpbmdcbiAgICpcbiAgICogaS5lOiBFVEggcmVzdGFraW5nIGZsb3dcbiAgICovXG4gIGlzUmVzdGFraW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gICAqL1xuICBkdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBwdWJsaWMga2V5IChjdXJyZW50bHkgdXNlZCBmb3IgQVZBWFAgc3Rha2luZylcbiAgICovXG4gIGJsc1B1YmxpY0tleT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBzaWduYXR1cmUgKGN1cnJlbnRseSB1c2VkIGZvciBBVkFYUCBzdGFraW5nKVxuICAgKi9cbiAgYmxzU2lnbmF0dXJlPzogc3RyaW5nO1xuICAvKipcbiAgICogY29pbiBzcGVjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAgICovXG4gIHN1YlR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzdHggYnRjIHJld2FyZCBhZGRyZXNzXG4gICAqL1xuICBidGNSZXdhcmRBZGRyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHB1YlxuICAgKi9cbiAgc2lnbmVyUHViPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHNpZ25hdHVyZVxuICAgKi9cbiAgc2lnbmVyU2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggbWF4IGFtb3VudFxuICAgKi9cbiAgbWF4QW1vdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggYXV0aC1pZFxuICAgKi9cbiAgYXV0aElkPzogc3RyaW5nO1xuXG4gIGRlbGVnYXRpb25SZXF1ZXN0cz86IERlbGVnYXRpb25SZXF1ZXN0W107XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgdG8gdGhpcyBjb250cmFjdCB2ZXJzaW9uIGFmdGVyIFNUWCBmb3JrXG4gIC8vIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICAvKipcbiAgICogcG94LWNvbnRyYWN0IG5hbWUgKHZhbGlkIHZhbHVlcyBhcmUgcG94LTMgYW5kIHBveC00KVxuICAgKi9cbiAgY29udHJhY3ROYW1lPzogJ3BveC0zJyB8ICdwb3gtNCc7XG5cbiAgLyoqXG4gICAqIGJ0YyBzdGFraW5nIGV4cGlyZSB0aW1lXG4gICAqL1xuICBleHBpcmVBdD86IHN0cmluZztcblxuICAvKipcbiAgICogYnRjIHN0YWtpbmcgcmV3YXJkIGFkZHJlc3NcbiAgICovXG4gIHJld2FyZEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJ0YyBiYWJ5bG9uIHN0YWtpbmcgcGFyYW1zXG4gICAqL1xuXG4gIGJhYnlsb24/OiBCYWJ5bG9uUGFyYW1zO1xuXG4gIC8qKlxuICAgKiBidGMgY29yZWRhbyBzdGFraW5nIHBhcmFtc1xuICAgKi9cblxuICBjb3JlZGFvPzogQ29yZWRhb1BhcmFtcztcblxuICAvKipcbiAgICogYWRhIHZvdGUgZGVsZWdhdGlvbiBkcmVwIGlkXG4gICAqL1xuICBkUmVwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJlcmEgbmF0aXZlIHN0YWtpbmcgb3BlcmF0b3JcbiAgICovXG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIHdpdGhkcmF3IGNyZWRlbnRpYWxzXG4gICAqL1xuICB3aXRoZHJhd0NyZWRlbnRpYWxzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIGRlcG9zaXQgc2lnbmF0dXJlXG4gICAqL1xuICBkZXBvc2l0U2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiByZWdpb24gZm9yIGV0aCBzdGFraW5nXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJvblN0YWtlT3B0aW9ucyBleHRlbmRzIFN0YWtlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUcm9uIHN0YWtpbmcgcmVzb3VyY2UgdHlwZSAoRW5lcmd5IG9yIEJhbmR3aWR0aClcbiAgICovXG4gIHJlc291cmNlVHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYW9TdGFrZU9wdGlvbnMgZXh0ZW5kcyBTdGFrZU9wdGlvbnMge1xuICAvKipcbiAgICogdGFvIHN0YWtpbmcgbmV0VUlEXG4gICAqL1xuICBuZXRVSUQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zdGFrZU9wdGlvbnMge1xuICBhbW91bnQ6IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZD86IHN0cmluZztcbiAgLyoqXG4gICAqIGNvaW4gc2VwY2lmaWMgc3Rha2luZyBzdWJ0eXBlXG4gICAqL1xuICBzdWJUeXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0aFVuc3Rha2VPcHRpb25zIHtcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZHM/OiBzdHJpbmdbXTtcbiAgdW5zdGFrZUFsbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB7XG4gIGFtb3VudDogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgZGVsZWdhdGlvbklkOiBzdHJpbmc7XG4gIHZhbGlkYXRvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhb1N3aXRjaFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHtcbiAgbmV0VUlEOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhaW1SZXdhcmRzT3B0aW9ucyB7XG4gIGFtb3VudDogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgZGVsZWdhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRpb25PcHRpb25zIHtcbiAgZGVsZWdhdGlvblN0YXR1cz86IERlbGVnYXRpb25TdGF0dXM7XG4gIGRlbGVnYXRpb25JZHM/OiBTZXQ8c3RyaW5nPjtcbiAgcGFnZT86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHNvcnRCeT86IENSRUFURURfREFURV9ERVNDIHwgQ1JFQVRFRF9EQVRFX0FTQztcbn1cblxuZXhwb3J0IHR5cGUgQ1JFQVRFRF9EQVRFX0RFU0MgPSAnLWNyZWF0ZWREYXRlJztcbmV4cG9ydCB0eXBlIENSRUFURURfREFURV9BU0MgPSAnY3JlYXRlZERhdGUnO1xuXG5leHBvcnQgZW51bSBEZWxlZ2F0aW9uU3RhdHVzIHtcbiAgUEVORElORyA9ICdQRU5ESU5HJyxcbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJyxcbiAgQUNUSVZFID0gJ0FDVElWRScsXG4gIENPTVBMRVRFID0gJ0NPTVBMRVRFJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxlZ2F0aW9uUmVzdWx0cyB7XG4gIGRlbGVnYXRpb25zOiBEZWxlZ2F0aW9uW107XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBkZWxlZ2F0aW9uQWRkcmVzczogc3RyaW5nO1xuICB3aXRoZHJhd2FsQWRkcmVzczogc3RyaW5nO1xuICBkZWxlZ2F0ZWQ6IG51bWJlcjtcbiAgY29pbjogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICBzdGF0dXM6IERlbGVnYXRpb25TdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24ge1xuICBhbGxTaWduaW5nQ29tcGxldGU6IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1RyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWQ6IHN0cmluZztcbiAgdHJhbnNhY3Rpb25UeXBlOiBzdHJpbmc7XG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBzdGF0dXNNb2RpZmllZERhdGU6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICB0cmFuc2ZlcklkPzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgYnVpbGRQYXJhbXM/OiBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucztcbiAgZ2FzUHJpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFN0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0ID0ge1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCB7XG4gIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb247XG4gIHJlc3VsdDogUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCB8IFN0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdTaWduZWRUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb247XG4gIHNpZ25lZDogU2lnbmVkVHJhbnNhY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1NpZ25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICB0cmFuc2FjdGlvblZlcmlmaWNhdGlvbk9wdGlvbnM/OiB7XG4gICAgLyoqXG4gICAgICogU2tpcCB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24uIE5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91IGhhdmUgbWFudWFsbHkgdmVyaWZpZWQgdGhlIHRyYW5zYWN0aW9uIGRldGFpbHMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBza2lwVHJhbnNhY3Rpb25WZXJpZmljYXRpb24/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdGFraW5nV2FsbGV0IHtcbiAgcmVhZG9ubHkgd2FsbGV0SWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY29pbjogc3RyaW5nO1xuICBzdGFrZShvcHRpb25zOiBTdGFrZU9wdGlvbnMgfCBUcm9uU3Rha2VPcHRpb25zIHwgVGFvU3Rha2VPcHRpb25zKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIHVuc3Rha2Uob3B0aW9uczogVW5zdGFrZU9wdGlvbnMgfCBFdGhVbnN0YWtlT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+O1xuICBzd2l0Y2hWYWxpZGF0b3Iob3B0aW9uczogU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB8IFRhb1N3aXRjaFZhbGlkYXRvck9wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgY2xhaW1SZXdhcmRzKG9wdGlvbnM6IENsYWltUmV3YXJkc09wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgZ2V0U3Rha2luZ1JlcXVlc3Qoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIGdldFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduKHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24+O1xuICBidWlsZCh0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNpZ24oXG4gICAgc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgICBzdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvbjogU3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRcbiAgKTogUHJvbWlzZTxTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24+O1xuICBzZW5kKHNpZ25lZFRyYW5zYWN0aW9uOiBTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24pOiBQcm9taXNlPFN0YWtpbmdUcmFuc2FjdGlvbj47XG4gIGJ1aWxkU2lnbkFuZFNlbmQoc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucywgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik7XG4gIGJ1aWxkQW5kU2lnbihzaWduT3B0aW9uczogU3Rha2luZ1NpZ25PcHRpb25zLCB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTtcbiAgY2FuY2VsU3Rha2luZ1JlcXVlc3Qoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIHByZWJ1aWxkU2VsZk1hbmFnZWRTdGFraW5nVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG59XG4iXX0=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVN0YWtpbmdXYWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc3Rha2luZy9pU3Rha2luZ1dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFzT0EsSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0lBQ3JCLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMsIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgfSBmcm9tICcuLi93YWxsZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdSZXF1ZXN0IHtcbiAgaWQ6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHdpdGhkcmF3YWxBZGRyZXNzOiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICByZXF1ZXN0aW5nVXNlcklkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHdhbGxldFR5cGU6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc3RhdHVzTW9kaWZpZWREYXRlOiBzdHJpbmc7XG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvblJlcXVlc3Qge1xuICBhbW91bnQ6IHN0cmluZztcbiAgdmFsaWRhdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvcmVkYW9QYXJhbXMgPSB7XG4gIGV4cGlyZUF0OiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhYnlsb25QYXJhbXMgPSB7XG4gIGR1cmF0aW9uOiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgb3B0aW9ucyBmb3Igc3Rha2luZy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YWtlT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthbW91bnRdIC0gYW1vdW50IHRvIHN0YWtlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsaWVudElkXSAtIGNsaWVudElkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3ZhbGlkYXRvcl0gLSBjaG9zZW4gdmFsaWRhdG9yXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2R1cmF0aW9uXSAtIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N1YlR5cGVdIC0gY29pbiBzZXBjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYnRjUmV3YXJkQWRkcmVzc10gLSBidGMgcmV3YXJkIGFkZHJlc3NcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2lnbmVyUHViXSAtIHN0eCBzaWduZXIgcHVibGljIGtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzaWduZXJTaWduYXR1cmVdIC0gc3R4IHNpZ25lciBzaWduYXR1cmVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbWF4QW1vdW50XSAtIHN0eCBtYXggYW1vdW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2F1dGhJZF0gLSBzdHggYXV0aC1pZFxuICogQHByb3BlcnR5IHtEZWxlZ2F0aW9uUmVxdWVzdFtdfSBbZGVsZWdhdGlvblJlcXVlc3RzXSAtIFRoZSBkZWxlZ2F0aW9uIHJlcXVlc3RzXG4gKiBUT0RPOiByZW1vdmUgc3VwcG9ydCB0byB0aGlzIGNvbnRyYWN0IHZlcnNpb24gYWZ0ZXIgU1RYIGZvcmtcbiAqIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb250cmFjdE5hbWVdIC0gc3R4IGNvbnRyYWN0IG5hbWU6IHZhbGlkIG5hbWVzIGFyZSBwb3gtMyBhbmQgcG94LTQgb25seSwgdXNlZCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGR1cmluZyBuYWthbW90byBmb3JrXG5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFrZU9wdGlvbnMge1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICB2YWxpZGF0b3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1c2VkIHRvIHNlbGVjdCBhIHByb3ZpZGVyIGluc3RlYWQgb2YgYSB2YWxpZGF0b3IgYWRkcmVzcyAoaS5lIGZvciBFVEggZmxvdylcbiAgICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgc3Rha2luZyByZXF1ZXN0IGlzIGZvciByZXN0YWtpbmdcbiAgICpcbiAgICogaS5lOiBFVEggcmVzdGFraW5nIGZsb3dcbiAgICovXG4gIGlzUmVzdGFraW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gICAqL1xuICBkdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBwdWJsaWMga2V5IChjdXJyZW50bHkgdXNlZCBmb3IgQVZBWFAgc3Rha2luZylcbiAgICovXG4gIGJsc1B1YmxpY0tleT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBzaWduYXR1cmUgKGN1cnJlbnRseSB1c2VkIGZvciBBVkFYUCBzdGFraW5nKVxuICAgKi9cbiAgYmxzU2lnbmF0dXJlPzogc3RyaW5nO1xuICAvKipcbiAgICogY29pbiBzcGVjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAgICovXG4gIHN1YlR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzdHggYnRjIHJld2FyZCBhZGRyZXNzXG4gICAqL1xuICBidGNSZXdhcmRBZGRyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHB1YlxuICAgKi9cbiAgc2lnbmVyUHViPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHNpZ25hdHVyZVxuICAgKi9cbiAgc2lnbmVyU2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggbWF4IGFtb3VudFxuICAgKi9cbiAgbWF4QW1vdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggYXV0aC1pZFxuICAgKi9cbiAgYXV0aElkPzogc3RyaW5nO1xuXG4gIGRlbGVnYXRpb25SZXF1ZXN0cz86IERlbGVnYXRpb25SZXF1ZXN0W107XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgdG8gdGhpcyBjb250cmFjdCB2ZXJzaW9uIGFmdGVyIFNUWCBmb3JrXG4gIC8vIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICAvKipcbiAgICogcG94LWNvbnRyYWN0IG5hbWUgKHZhbGlkIHZhbHVlcyBhcmUgcG94LTMgYW5kIHBveC00KVxuICAgKi9cbiAgY29udHJhY3ROYW1lPzogJ3BveC0zJyB8ICdwb3gtNCc7XG5cbiAgLyoqXG4gICAqIGJ0YyBzdGFraW5nIGV4cGlyZSB0aW1lXG4gICAqL1xuICBleHBpcmVBdD86IHN0cmluZztcblxuICAvKipcbiAgICogYnRjIHN0YWtpbmcgcmV3YXJkIGFkZHJlc3NcbiAgICovXG4gIHJld2FyZEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJ0YyBiYWJ5bG9uIHN0YWtpbmcgcGFyYW1zXG4gICAqL1xuXG4gIGJhYnlsb24/OiBCYWJ5bG9uUGFyYW1zO1xuXG4gIC8qKlxuICAgKiBidGMgY29yZWRhbyBzdGFraW5nIHBhcmFtc1xuICAgKi9cblxuICBjb3JlZGFvPzogQ29yZWRhb1BhcmFtcztcblxuICAvKipcbiAgICogYWRhIHZvdGUgZGVsZWdhdGlvbiBkcmVwIGlkXG4gICAqL1xuICBkUmVwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJlcmEgbmF0aXZlIHN0YWtpbmcgb3BlcmF0b3JcbiAgICovXG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIHdpdGhkcmF3IGNyZWRlbnRpYWxzXG4gICAqL1xuICB3aXRoZHJhd0NyZWRlbnRpYWxzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIGRlcG9zaXQgc2lnbmF0dXJlXG4gICAqL1xuICBkZXBvc2l0U2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiByZWdpb24gZm9yIGV0aCBzdGFraW5nXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJvblN0YWtlT3B0aW9ucyBleHRlbmRzIFN0YWtlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUcm9uIHN0YWtpbmcgcmVzb3VyY2UgdHlwZSAoRW5lcmd5IG9yIEJhbmR3aWR0aClcbiAgICovXG4gIHJlc291cmNlVHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYW9TdGFrZU9wdGlvbnMgZXh0ZW5kcyBTdGFrZU9wdGlvbnMge1xuICAvKipcbiAgICogdGFvIHN0YWtpbmcgbmV0VUlEXG4gICAqL1xuICBuZXRVSUQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmV0U3Rha2VPcHRpb25zIGV4dGVuZHMgU3Rha2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIHZldCBzdGFraW5nIG5mdCB0aWVyXG4gICAqL1xuICBuZnRUaWVyPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBVbnN0YWtlT3B0aW9ucyB7XG4gIGFtb3VudDogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgZGVsZWdhdGlvbklkPzogc3RyaW5nO1xuICAvKipcbiAgICogY29pbiBzZXBjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAgICovXG4gIHN1YlR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRoVW5zdGFrZU9wdGlvbnMge1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgZGVsZWdhdGlvbklkcz86IHN0cmluZ1tdO1xuICB1bnN0YWtlQWxsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWQ6IHN0cmluZztcbiAgdmFsaWRhdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFvU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFN3aXRjaFZhbGlkYXRvck9wdGlvbnMge1xuICBuZXRVSUQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGFpbVJld2FyZHNPcHRpb25zIHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvbk9wdGlvbnMge1xuICBkZWxlZ2F0aW9uU3RhdHVzPzogRGVsZWdhdGlvblN0YXR1cztcbiAgZGVsZWdhdGlvbklkcz86IFNldDxzdHJpbmc+O1xuICBwYWdlPzogbnVtYmVyO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgc29ydEJ5PzogQ1JFQVRFRF9EQVRFX0RFU0MgfCBDUkVBVEVEX0RBVEVfQVNDO1xufVxuXG5leHBvcnQgdHlwZSBDUkVBVEVEX0RBVEVfREVTQyA9ICctY3JlYXRlZERhdGUnO1xuZXhwb3J0IHR5cGUgQ1JFQVRFRF9EQVRFX0FTQyA9ICdjcmVhdGVkRGF0ZSc7XG5cbmV4cG9ydCBlbnVtIERlbGVnYXRpb25TdGF0dXMge1xuICBQRU5ESU5HID0gJ1BFTkRJTkcnLFxuICBGQUlMRUQgPSAnRkFJTEVEJyxcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxuICBBQ1RJVkUgPSAnQUNUSVZFJyxcbiAgQ09NUExFVEUgPSAnQ09NUExFVEUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRpb25SZXN1bHRzIHtcbiAgZGVsZWdhdGlvbnM6IERlbGVnYXRpb25bXTtcbiAgcGFnZTogbnVtYmVyO1xuICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGRlbGVnYXRpb25BZGRyZXNzOiBzdHJpbmc7XG4gIHdpdGhkcmF3YWxBZGRyZXNzOiBzdHJpbmc7XG4gIGRlbGVnYXRlZDogbnVtYmVyO1xuICBjb2luOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHN0YXR1czogRGVsZWdhdGlvblN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbnNSZWFkeVRvU2lnbiB7XG4gIGFsbFNpZ25pbmdDb21wbGV0ZTogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25zOiBTdGFraW5nVHJhbnNhY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nVHJhbnNhY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICBzdGFraW5nUmVxdWVzdElkOiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZDogc3RyaW5nO1xuICB0cmFuc2FjdGlvblR5cGU6IHN0cmluZztcbiAgY3JlYXRlZERhdGU6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHN0YXR1c01vZGlmaWVkRGF0ZTogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgcGVuZGluZ0FwcHJvdmFsSWQ/OiBzdHJpbmc7XG4gIHRyYW5zZmVySWQ/OiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBidWlsZFBhcmFtcz86IFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zO1xuICBnYXNQcmljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgPSB7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbjtcbiAgcmVzdWx0OiBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0IHwgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbjtcbiAgc2lnbmVkOiBTaWduZWRUcmFuc2FjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nU2lnbk9wdGlvbnMge1xuICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uVmVyaWZpY2F0aW9uT3B0aW9ucz86IHtcbiAgICAvKipcbiAgICAgKiBTa2lwIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbi4gTm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3UgaGF2ZSBtYW51YWxseSB2ZXJpZmllZCB0aGUgdHJhbnNhY3Rpb24gZGV0YWlscy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHNraXBUcmFuc2FjdGlvblZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0YWtpbmdXYWxsZXQge1xuICByZWFkb25seSB3YWxsZXRJZDogc3RyaW5nO1xuICByZWFkb25seSBjb2luOiBzdHJpbmc7XG4gIHN0YWtlKG9wdGlvbnM6IFN0YWtlT3B0aW9ucyB8IFRyb25TdGFrZU9wdGlvbnMgfCBUYW9TdGFrZU9wdGlvbnMgfCBWZXRTdGFrZU9wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgdW5zdGFrZShvcHRpb25zOiBVbnN0YWtlT3B0aW9ucyB8IEV0aFVuc3Rha2VPcHRpb25zKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIHN3aXRjaFZhbGlkYXRvcihvcHRpb25zOiBTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHwgVGFvU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+O1xuICBjbGFpbVJld2FyZHMob3B0aW9uczogQ2xhaW1SZXdhcmRzT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+O1xuICBnZXRTdGFraW5nUmVxdWVzdChzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgZ2V0VHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24oc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNSZWFkeVRvU2lnbj47XG4gIGJ1aWxkKHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pOiBQcm9taXNlPFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PjtcbiAgc2lnbihcbiAgICBzaWduT3B0aW9uczogU3Rha2luZ1NpZ25PcHRpb25zLFxuICAgIHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uOiBTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFxuICApOiBQcm9taXNlPFN0YWtpbmdTaWduZWRUcmFuc2FjdGlvbj47XG4gIHNlbmQoc2lnbmVkVHJhbnNhY3Rpb246IFN0YWtpbmdTaWduZWRUcmFuc2FjdGlvbik6IFByb21pc2U8U3Rha2luZ1RyYW5zYWN0aW9uPjtcbiAgYnVpbGRTaWduQW5kU2VuZChzaWduT3B0aW9uczogU3Rha2luZ1NpZ25PcHRpb25zLCB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTtcbiAgYnVpbGRBbmRTaWduKHNpZ25PcHRpb25zOiBTdGFraW5nU2lnbk9wdGlvbnMsIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pO1xuICBjYW5jZWxTdGFraW5nUmVxdWVzdChzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgcHJlYnVpbGRTZWxmTWFuYWdlZFN0YWtpbmdUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0Pjtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DelegationOptions, DelegationResults, IStakingWallet, StakeOptions, StakingPrebuildTransactionResult, StakingRequest, StakingSignedTransaction, StakingSignOptions, StakingTransaction, SwitchValidatorOptions, TransactionsReadyToSign, UnstakeOptions, EthUnstakeOptions, ClaimRewardsOptions, TronStakeOptions, TaoStakeOptions, TaoSwitchValidatorOptions } from './iStakingWallet';
|
|
1
|
+
import { DelegationOptions, DelegationResults, IStakingWallet, StakeOptions, StakingPrebuildTransactionResult, StakingRequest, StakingSignedTransaction, StakingSignOptions, StakingTransaction, SwitchValidatorOptions, TransactionsReadyToSign, UnstakeOptions, EthUnstakeOptions, ClaimRewardsOptions, TronStakeOptions, TaoStakeOptions, TaoSwitchValidatorOptions, VetStakeOptions } from './iStakingWallet';
|
|
2
2
|
import { IWallet, PrebuildTransactionResult } from '../wallet';
|
|
3
3
|
import { ITssUtils } from '../utils';
|
|
4
4
|
export declare class StakingWallet implements IStakingWallet {
|
|
@@ -15,7 +15,7 @@ export declare class StakingWallet implements IStakingWallet {
|
|
|
15
15
|
* @param options - stake options
|
|
16
16
|
* @return StakingRequest
|
|
17
17
|
*/
|
|
18
|
-
stake(options: StakeOptions | TronStakeOptions | TaoStakeOptions): Promise<StakingRequest>;
|
|
18
|
+
stake(options: StakeOptions | TronStakeOptions | TaoStakeOptions | VetStakeOptions): Promise<StakingRequest>;
|
|
19
19
|
/**
|
|
20
20
|
* Unstake coins
|
|
21
21
|
* @param options - unstake options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stakingWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/stakingWallet.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,gCAAgC,EAChC,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EAEnB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,
|
|
1
|
+
{"version":3,"file":"stakingWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/stakingWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -365,4 +365,4 @@ exports.StakingWallet = StakingWallet;
|
|
|
365
365
|
function isStakingTxRequestPrebuildResult(tx) {
|
|
366
366
|
return tx.txRequestId !== undefined;
|
|
367
367
|
}
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zdGFraW5nL3N0YWtpbmdXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxpREFBaUQ7QUFDakQsNkRBQXFDO0FBd0JyQyxvQ0FBOEQ7QUFDOUQsb0RBQTRCO0FBQzVCLGdFQUF1RTtBQUN2RSxrREFBMEI7QUFDMUIsbURBQW9EO0FBRXBELE1BQWEsYUFBYTtJQVF4QixZQUFZLE1BQWUsRUFBRSxRQUFpQjtRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdCQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQTBEO1FBQ3BFLE9BQU8sTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNE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QixVQUFVLElBQUksQ0FBQyxTQUFTLENBQUUsb0JBQTRCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FDM0UsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sWUFBWSxHQUFHLHlEQUF5RCxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUcsSUFBQSxlQUFLLEVBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLElBQUEsZUFBSyxFQUNILDBEQUEwRCxXQUFXLENBQUMsZ0JBQWdCLGlDQUFpQyxDQUN4SCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRjtBQXJjRCxzQ0FxY0M7QUFFRCxTQUFTLGdDQUFnQyxDQUN2QyxFQUE4QztJQUU5QyxPQUFRLEVBQWdELENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQ29pbkZhbWlseSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuXG5pbXBvcnQge1xuICBEZWxlZ2F0aW9uT3B0aW9ucyxcbiAgRGVsZWdhdGlvblJlc3VsdHMsXG4gIElTdGFraW5nV2FsbGV0LFxuICBTdGFrZU9wdGlvbnMsXG4gIFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0LFxuICBTdGFraW5nUmVxdWVzdCxcbiAgU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uLFxuICBTdGFraW5nU2lnbk9wdGlvbnMsXG4gIFN0YWtpbmdUcmFuc2FjdGlvbixcbiAgU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24sXG4gIFVuc3Rha2VPcHRpb25zLFxuICBFdGhVbnN0YWtlT3B0aW9ucyxcbiAgQ2xhaW1SZXdhcmRzT3B0aW9ucyxcbiAgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsXG4gIFRyb25TdGFrZU9wdGlvbnMsXG4gIFRhb1N0YWtlT3B0aW9ucyxcbiAgVGFvU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyxcbn0gZnJvbSAnLi9pU3Rha2luZ1dhbGxldCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVdhbGxldCwgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBJVHNzVXRpbHMsIFJlcXVlc3RUcmFjZXIsIFRzc1V0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgdHJhbnNhY3Rpb25SZWNpcGllbnRzTWF0Y2ggfSBmcm9tICcuLi91dGlscy90cmFuc2FjdGlvblV0aWxzJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYic7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nV2FsbGV0IGltcGxlbWVudHMgSVN0YWtpbmdXYWxsZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgdG9rZW5QYXJlbnRXYWxsZXQ/OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IGlzRXRoVHNzOiBib29sZWFuO1xuXG4gIHB1YmxpYyB3YWxsZXQ6IElXYWxsZXQ7XG4gIHB1YmxpYyB0c3NVdGlsOiBJVHNzVXRpbHM7XG5cbiAgY29uc3RydWN0b3Iod2FsbGV0OiBJV2FsbGV0LCBpc0V0aFRzczogYm9vbGVhbikge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuYml0Z28gPSB3YWxsZXQuYml0Z287XG4gICAgdGhpcy50c3NVdGlsID0gbmV3IFRzc1V0aWxzKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmJhc2VDb2luLCB0aGlzLndhbGxldCk7XG4gICAgdGhpcy5pc0V0aFRzcyA9IGlzRXRoVHNzO1xuICB9XG5cbiAgZ2V0IHdhbGxldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LmlkKCk7XG4gIH1cblxuICBnZXQgY29pbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndhbGxldC5iYXNlQ29pbi50b2tlbkNvbmZpZyA/IHRoaXMud2FsbGV0LmJhc2VDb2luLnRva2VuQ29uZmlnLnR5cGUgOiB0aGlzLndhbGxldC5jb2luKCk7XG4gIH1cblxuICAvKipcbiAgICogU3Rha2UgY29pbnNcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBzdGFrZSBvcHRpb25zXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIHN0YWtlKG9wdGlvbnM6IFN0YWtlT3B0aW9ucyB8IFRyb25TdGFrZU9wdGlvbnMgfCBUYW9TdGFrZU9wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlU3Rha2luZ1JlcXVlc3Qob3B0aW9ucywgJ1NUQUtFJyk7XG4gIH1cblxuICAvKipcbiAgICogVW5zdGFrZSBjb2luc1xuICAgKiBAcGFyYW0gb3B0aW9ucyAtIHVuc3Rha2Ugb3B0aW9uc1xuICAgKiBAcmV0dXJuIFN0YWtpbmdSZXF1ZXN0XG4gICAqL1xuICBhc3luYyB1bnN0YWtlKG9wdGlvbnM6IFVuc3Rha2VPcHRpb25zIHwgRXRoVW5zdGFrZU9wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlU3Rha2luZ1JlcXVlc3Qob3B0aW9ucywgJ1VOU1RBS0UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJtaXQgYSByZXF1ZXN0IHRvIHN3aXRjaCB0aGUgdmFsaWRhdG9yIHVzZWQgZm9yIGEgc3BlY2lmaWMgZGVsZWdhdGlvblxuICAgKiBUaGlzIHdpbGwgY3JlYXRlIGEgbmV3IGRlbGVnYXRpb24gd2l0aCB0aGUgbmV3IHZhbGlkYXRvciBhZGRyZXNzIGFuZCBtYXJrIHRoZSBvbGQgZGVsZWdhdGlvbiBhcyBpbmFjdGl2ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIHN3aXRjaCB2YWxpZGF0b3Igb3B0aW9uc1xuICAgKiBAcmV0dXJuIFN0YWtpbmdSZXF1ZXN0XG4gICAqL1xuICBhc3luYyBzd2l0Y2hWYWxpZGF0b3Iob3B0aW9uczogU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB8IFRhb1N3aXRjaFZhbGlkYXRvck9wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlU3Rha2luZ1JlcXVlc3Qob3B0aW9ucywgJ1NXSVRDSF9WQUxJREFUT1InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJtaXQgYSByZXF1ZXN0IHRvIGNsYWltIHJld2FyZHMgZm9yIGEgc3BlY2lmaWMgZGVsZWdhdGlvblxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGNsYWltIHJld2FyZHMgb3B0aW9uc1xuICAgKiBAcmV0dXJuIFN0YWtpbmdSZXF1ZXN0XG4gICAqL1xuICBhc3luYyBjbGFpbVJld2FyZHMob3B0aW9uczogQ2xhaW1SZXdhcmRzT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVTdGFraW5nUmVxdWVzdChvcHRpb25zLCAnQ0xBSU1fUkVXQVJEUycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbCBzdGFraW5nIHJlcXVlc3RcbiAgICogQHBhcmFtIHN0YWtpbmdSZXF1ZXN0SWQgLSBpZCBvZiB0aGUgc3Rha2luZyByZXF1ZXN0IHRvIGNhbmNlbFxuICAgKiBAcmV0dXJuIFN0YWtpbmdSZXF1ZXN0XG4gICAqL1xuICBhc3luYyBjYW5jZWxTdGFraW5nUmVxdWVzdChzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZGVsKHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLnN0YWtpbmdSZXF1ZXN0VXJsKHN0YWtpbmdSZXF1ZXN0SWQpKSkucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggZGVsZWdhdGlvbnMgZm9yIGEgc3BlY2lmaWMgd2FsbGV0XG4gICAqIEBwYXJhbSBvcHRpb25zIC0gdW5zdGFrZSBvcHRpb25zXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIGRlbGVnYXRpb25zKG9wdGlvbnM6IERlbGVnYXRpb25PcHRpb25zKTogUHJvbWlzZTxEZWxlZ2F0aW9uUmVzdWx0cz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmdldERlbGVnYXRpb25zKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHN0YWtpbmcgcmVxdWVzdCBieSBJRFxuICAgKiBAcGFyYW0gc3Rha2luZ1JlcXVlc3RJZCAtIGlkIG9mIHRoZSBzdGFraW5nIHJlcXVlc3QgdG8gcmV0cmlldmVcbiAgICogQHJldHVybiBTdGFraW5nUmVxdWVzdFxuICAgKi9cbiAgYXN5bmMgZ2V0U3Rha2luZ1JlcXVlc3Qoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5zdGFraW5nUmVxdWVzdFVybChzdGFraW5nUmVxdWVzdElkKSkpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgcmVhZHkgdG8gc2lnblxuICAgKiBAcGFyYW0gc3Rha2luZ1JlcXVlc3RJZFxuICAgKiBAcmV0dXJuIFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduXG4gICAqL1xuICBhc3luYyBnZXRUcmFuc2FjdGlvbnNSZWFkeVRvU2lnbihzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduPiB7XG4gICAgY29uc3Qgc3Rha2luZ1JlcXVlc3Q6IFN0YWtpbmdSZXF1ZXN0ID0gYXdhaXQgdGhpcy5nZXRTdGFraW5nUmVxdWVzdChzdGFraW5nUmVxdWVzdElkKTtcbiAgICBjb25zdCByZWFkeVRvU2lnbjogU3Rha2luZ1RyYW5zYWN0aW9uW10gPSBzdGFraW5nUmVxdWVzdC50cmFuc2FjdGlvbnMuZmlsdGVyKFxuICAgICAgKHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLnN0YXR1cyA9PT0gYFJFQURZYFxuICAgICk7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb25zOiBTdGFraW5nVHJhbnNhY3Rpb25bXSA9IHN0YWtpbmdSZXF1ZXN0LnRyYW5zYWN0aW9ucy5maWx0ZXIoXG4gICAgICAodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uc3RhdHVzID09PSBgTkVXYFxuICAgICk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIGFsbFNpZ25pbmdDb21wbGV0ZTpcbiAgICAgICAgc3Rha2luZ1JlcXVlc3QudHJhbnNhY3Rpb25zLmxlbmd0aCA+IDAgJiYgbmV3VHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCAmJiByZWFkeVRvU2lnbi5sZW5ndGggPT09IDAsXG4gICAgICB0cmFuc2FjdGlvbnM6IHJlYWR5VG9TaWduLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBzdGFraW5nIHRyYW5zYWN0aW9uXG4gICAqIElmIFRTUyBkZWxldGUgc2lnbmF0dXJlIHNoYXJlcywgZWxzZSBleHBhbmQgYnVpbGQgcGFyYW1zIGFuZCB0aGVuIGJ1aWxkXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiAtIHN0YWtpbmcgdHJhbnNhY3Rpb24gdG8gYnVpbGRcbiAgICovXG4gIGFzeW5jIGJ1aWxkKHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pOiBQcm9taXNlPFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgaWYgKCh0aGlzLndhbGxldC5tdWx0aXNpZ1R5cGUoKSA9PT0gJ3RzcycgJiYgdGhpcy53YWxsZXQuYmFzZUNvaW4uZ2V0RmFtaWx5KCkgIT09ICdldGgnKSB8fCB0aGlzLmlzRXRoVHNzKSB7XG4gICAgICBpZiAoIXRyYW5zYWN0aW9uLnR4UmVxdWVzdElkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndHhSZXF1ZXN0SWQgaXMgcmVxdWlyZWQgdG8gc2lnbiBhbmQgc2VuZCcpO1xuICAgICAgfVxuICAgICAgLy8gZGVsZXRlIHNpZ25hdHVyZSBzaGFyZXMgYmVmb3JlIHNpZ25pbmcgZm9yIHRyYW5zYWN0aW9uIHJlcXVlc3QgQVBJXG4gICAgICBhd2FpdCB0aGlzLnRzc1V0aWwuZGVsZXRlU2lnbmF0dXJlU2hhcmVzKHRyYW5zYWN0aW9uLnR4UmVxdWVzdElkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyYW5zYWN0aW9uOiB0cmFuc2FjdGlvbixcbiAgICAgICAgcmVzdWx0OiB7XG4gICAgICAgICAgd2FsbGV0SWQ6IHRoaXMud2FsbGV0SWQsXG4gICAgICAgICAgdHhSZXF1ZXN0SWQ6IHRyYW5zYWN0aW9uLnR4UmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNhY3Rpb24gPSBhd2FpdCB0aGlzLmV4cGFuZEJ1aWxkUGFyYW1zKHRyYW5zYWN0aW9uKTtcbiAgICAgIGlmICghdHJhbnNhY3Rpb24uYnVpbGRQYXJhbXMpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYFN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5pZH0gYnVpbGQgcGFyYW1zIG5vdCBleHBhbmRlZGApO1xuICAgICAgfVxuICAgICAgY29uc3Qgd2FsbGV0ID0gYXdhaXQgdGhpcy5leHRyYWN0V2FsbGV0KHRyYW5zYWN0aW9uKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHJhbnNhY3Rpb246IHRyYW5zYWN0aW9uLFxuICAgICAgICByZXN1bHQ6IGF3YWl0IHdhbGxldC5wcmVidWlsZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uLmJ1aWxkUGFyYW1zKSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleHRyYWN0V2FsbGV0KHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gdGhpcy5pc0J0Y1VuZGVsZWdhdGUodHJhbnNhY3Rpb24pXG4gICAgICA/IGF3YWl0IHRoaXMuZ2V0RGVzY3JpcHRvcldhbGxldCh0cmFuc2FjdGlvbilcbiAgICAgIDogYXdhaXQgdGhpcy5nZXRXYWxsZXRGb3JCdWlsZGluZ0FuZFNpZ25pbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNCdGNVbmRlbGVnYXRlKHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy53YWxsZXQuYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdidGMnICYmIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpID09PSAndW5kZWxlZ2F0ZV93aXRoZHJhdydcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N0eCgpIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdzdHgnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RyeFN0YWtpbmcodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbikge1xuICAgIHJldHVybiB0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ3RyeCc7XG4gIH1cblxuICAvKipcbiAgICogU2lnbiB0aGUgc3Rha2luZyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gc2lnbk9wdGlvbnNcbiAgICogQHBhcmFtIHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBzaWduKFxuICAgIHNpZ25PcHRpb25zOiBTdGFraW5nU2lnbk9wdGlvbnMsXG4gICAgc3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb246IFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0XG4gICk6IFByb21pc2U8U3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgcmVxSWQgPSBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICAgIGNvbnN0IGlzQnRjVW5kZWxlZ2F0ZSA9XG4gICAgICB0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ2J0YycgJiZcbiAgICAgIHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpID09PSAndW5kZWxlZ2F0ZV93aXRoZHJhdyc7XG4gICAgY29uc3Qgd2FsbGV0ID0gaXNCdGNVbmRlbGVnYXRlXG4gICAgICA/IGF3YWl0IHRoaXMuZ2V0RGVzY3JpcHRvcldhbGxldChzdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbilcbiAgICAgIDogYXdhaXQgdGhpcy5nZXRXYWxsZXRGb3JCdWlsZGluZ0FuZFNpZ25pbmcoKTtcblxuICAgIGNvbnN0IGtleWNoYWluID0gYXdhaXQgd2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldEtleXNGb3JTaWduaW5nKHtcbiAgICAgIHdhbGxldDogdGhpcy53YWxsZXQsXG4gICAgICByZXFJZDogcmVxSWQsXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRyYW5zYWN0aW9uOiBzdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbixcbiAgICAgIHNpZ25lZDogYXdhaXQgd2FsbGV0LnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICAgIHR4UHJlYnVpbGQ6IHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uLnJlc3VsdCxcbiAgICAgICAgd2FsbGV0UGFzc3BocmFzZTogc2lnbk9wdGlvbnMud2FsbGV0UGFzc3BocmFzZSxcbiAgICAgICAga2V5Y2hhaW46IGtleWNoYWluWzBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIHRoZSBzaWduZWQgc3Rha2luZyB0cmFuc2FjdGlvbiBpZiByZXF1aXJlZC4gU2VuZCBjYWxsIGlzIG5vdCByZXF1aXJlZCBpZiBhcGkgdmVyc2lvbiBpcyBmdWxsXG4gICAqIGFuZCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiB0aGUgc3Rha2luZyB0cmFuc2FjdGlvbiBmcm9tIHRoZSBpbmNvbWluZyBvYmplY3QuXG4gICAqIEBwYXJhbSBzaWduZWRUcmFuc2FjdGlvblxuICAgKi9cbiAgYXN5bmMgc2VuZChzaWduZWRUcmFuc2FjdGlvbjogU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nVHJhbnNhY3Rpb24+IHtcbiAgICBpZiAodGhpcy5pc1NlbmRDYWxsUmVxdWlyZWQoKSkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z29cbiAgICAgICAgLnBvc3QodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMuc3Rha2luZ1RyYW5zYWN0aW9uVVJMKHNpZ25lZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uKSkpXG4gICAgICAgIC5zZW5kKHNpZ25lZFRyYW5zYWN0aW9uLnNpZ25lZClcbiAgICAgICAgLnJlc3VsdCgpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmVkVHJhbnNhY3Rpb24udHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQERlcHJlY2F0ZWQgdXNlIGJ1aWxkQW5kU2lnblxuICAgKiBCdWlsZCwgc2lnbiBhbmQgc2VuZCB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIEBwYXJhbSBzaWduT3B0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25cbiAgICovXG4gIGFzeW5jIGJ1aWxkU2lnbkFuZFNlbmQoXG4gICAgc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgICB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uXG4gICk6IFByb21pc2U8U3Rha2luZ1RyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGRBbmRTaWduKHNpZ25PcHRpb25zLCB0cmFuc2FjdGlvbikudGhlbigocmVzdWx0OiBTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbmQocmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgcHJlYnVpbHQgc3Rha2luZyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogZm9yIHRyYW5zYWN0aW9ucyB3aXRoIHR4IHJlcXVlc3QgaWQgKFRTUyB0cmFuc2FjdGlvbnMpLCB3ZSBuZWVkIHRvIGRlbGV0ZSBzaWduYXR1cmUgc2hhcmVzIGJlZm9yZSBjcmVhdGluZyBwcmVidWlsZCB0cmFuc2FjdGlvblxuICAgKiB3ZSBvbmx5IG5lZWQgdG8gZ2V0IHRyYW5zYWN0aW9uIGJ1aWxkIHBhcmFtcyBpZiB0aGV5IGV4aXN0IHRvIHByZSBidWlsZFxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25cbiAgICovXG4gIGFzeW5jIHByZWJ1aWxkU2VsZk1hbmFnZWRTdGFraW5nVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIGlmICh0cmFuc2FjdGlvbi50eFJlcXVlc3RJZCkge1xuICAgICAgYXdhaXQgdGhpcy50c3NVdGlsLmRlbGV0ZVNpZ25hdHVyZVNoYXJlcyh0cmFuc2FjdGlvbi50eFJlcXVlc3RJZCk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkUGFyYW1zID0gKGF3YWl0IHRoaXMuZXhwYW5kQnVpbGRQYXJhbXModHJhbnNhY3Rpb24pKS5idWlsZFBhcmFtcztcbiAgICBjb25zdCBmb3JtYXR0ZWRQYXJhbXMgPSB7XG4gICAgICAuLi5idWlsZFBhcmFtcyxcbiAgICAgIGNvaW46IHRoaXMuY29pbixcbiAgICAgIHdhbGxldElkOiB0aGlzLndhbGxldElkLFxuICAgICAgd2FsbGV0VHlwZTogdGhpcy53YWxsZXQudHlwZSgpLFxuICAgICAgcHJldmlldzogdHJ1ZSxcbiAgICB9O1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5nZXRXYWxsZXRGb3JCdWlsZGluZ0FuZFNpZ25pbmcoKSkucHJlYnVpbGRUcmFuc2FjdGlvbihmb3JtYXR0ZWRQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuZCBzaWduIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogQHBhcmFtIHNpZ25PcHRpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvblxuICAgKi9cbiAgYXN5bmMgYnVpbGRBbmRTaWduKFxuICAgIHNpZ25PcHRpb25zOiBTdGFraW5nU2lnbk9wdGlvbnMsXG4gICAgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvblxuICApOiBQcm9taXNlPFN0YWtpbmdTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGJ1aWx0VHggPSBhd2FpdCB0aGlzLmJ1aWxkKHRyYW5zYWN0aW9uKTtcbiAgICAvLyBkZWZhdWx0IHRvIHZlcmlmeWluZyBhIHRyYW5zYWN0aW9uIHVubGVzcyBleHBsaWNpdGx5IHNraXBwZWRcbiAgICAvLyBza2lwcGluZyB0aGUgdmVyaWZpY2F0aW9uIGZvciBidGMgdW5kZWxlZ2F0ZSBiZWNhdXNlIGl0IGlzIGp1c3Qgc2luZ2xlIHNpZ1xuICAgIC8vIFRPRE86IFNDLTMxODMgKGFkZCB0cnggc3Rha2luZyB2ZXJpZmljYXRpb24pXG4gICAgLy8gVE9ETzogU0MtMzUwOCAoYWRkIFNUWCBzdGFraW5nIHZlcmlmaWNhdGlvbilcbiAgICBjb25zdCBza2lwVmVyaWZpY2F0aW9uID1cbiAgICAgIChzaWduT3B0aW9ucy50cmFuc2FjdGlvblZlcmlmaWNhdGlvbk9wdGlvbnM/LnNraXBUcmFuc2FjdGlvblZlcmlmaWNhdGlvbiB8fFxuICAgICAgICB0aGlzLmlzQnRjVW5kZWxlZ2F0ZSh0cmFuc2FjdGlvbikgfHxcbiAgICAgICAgdGhpcy5pc1RyeFN0YWtpbmcodHJhbnNhY3Rpb24pIHx8XG4gICAgICAgIHRoaXMuaXNTdHgoKSkgPz9cbiAgICAgIGZhbHNlO1xuICAgIGlmICghaXNTdGFraW5nVHhSZXF1ZXN0UHJlYnVpbGRSZXN1bHQoYnVpbHRUeC5yZXN1bHQpICYmICFza2lwVmVyaWZpY2F0aW9uKSB7XG4gICAgICBhd2FpdCB0aGlzLnZhbGlkYXRlQnVpbHRTdGFraW5nVHJhbnNhY3Rpb24oYnVpbHRUeC50cmFuc2FjdGlvbiwgYnVpbHRUeCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLnNpZ24oc2lnbk9wdGlvbnMsIGJ1aWx0VHgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleHBhbmRCdWlsZFBhcmFtcyhzdGFraW5nVHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8U3Rha2luZ1RyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMuc3Rha2luZ1RyYW5zYWN0aW9uVVJMKHN0YWtpbmdUcmFuc2FjdGlvbikpKVxuICAgICAgLnF1ZXJ5KHsgZXhwYW5kQnVpbGRQYXJhbXM6IHRydWUgfSlcbiAgICAgIC5yZXN1bHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlU3Rha2luZ1JlcXVlc3QoXG4gICAgb3B0aW9uczpcbiAgICAgIHwgU3Rha2VPcHRpb25zXG4gICAgICB8IFVuc3Rha2VPcHRpb25zXG4gICAgICB8IEV0aFVuc3Rha2VPcHRpb25zXG4gICAgICB8IFN3aXRjaFZhbGlkYXRvck9wdGlvbnNcbiAgICAgIHwgQ2xhaW1SZXdhcmRzT3B0aW9uc1xuICAgICAgfCBUcm9uU3Rha2VPcHRpb25zXG4gICAgICB8IFRhb1N0YWtlT3B0aW9uc1xuICAgICAgfCBUYW9Td2l0Y2hWYWxpZGF0b3JPcHRpb25zLFxuICAgIHR5cGU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLnN0YWtpbmdSZXF1ZXN0c1VSTCgpKSlcbiAgICAgIC5zZW5kKHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgIH0pXG4gICAgICAucmVzdWx0KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YWtpbmdSZXF1ZXN0c1VSTCgpIHtcbiAgICByZXR1cm4gYC9hcGkvc3Rha2luZy92MS8ke3RoaXMuY29pbn0vd2FsbGV0cy8ke3RoaXMud2FsbGV0SWR9L3JlcXVlc3RzYDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RGVsZWdhdGlvbnMob3B0aW9uczogRGVsZWdhdGlvbk9wdGlvbnMpOiBQcm9taXNlPERlbGVnYXRpb25SZXN1bHRzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLnN0YWtpbmdEZWxlZ2F0aW9uc1VSTCgpKSkucXVlcnkob3B0aW9ucykucmVzdWx0KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YWtpbmdEZWxlZ2F0aW9uc1VSTCgpIHtcbiAgICByZXR1cm4gYC9hcGkvc3Rha2luZy92MS8ke3RoaXMuY29pbn0vd2FsbGV0cy8ke3RoaXMud2FsbGV0SWR9L2RlbGVnYXRpb25zYDtcbiAgfVxuXG4gIHByaXZhdGUgc3Rha2luZ1JlcXVlc3RVcmwoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zdGFraW5nUmVxdWVzdHNVUkwoKX0vJHtzdGFraW5nUmVxdWVzdElkfWA7XG4gIH1cblxuICBwcml2YXRlIHN0YWtpbmdUcmFuc2FjdGlvblVSTChzdGFraW5nVHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3Rha2luZ1JlcXVlc3RVcmwoc3Rha2luZ1RyYW5zYWN0aW9uLnN0YWtpbmdSZXF1ZXN0SWQpfS90cmFuc2FjdGlvbnMvJHtzdGFraW5nVHJhbnNhY3Rpb24uaWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0V2FsbGV0Rm9yQnVpbGRpbmdBbmRTaWduaW5nKCk6IFByb21pc2U8SVdhbGxldD4ge1xuICAgIGlmICh0aGlzLndhbGxldC5iYXNlQ29pbi50b2tlbkNvbmZpZykge1xuICAgICAgaWYgKCF0aGlzLnRva2VuUGFyZW50V2FsbGV0KSB7XG4gICAgICAgIHRoaXMudG9rZW5QYXJlbnRXYWxsZXQgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAgICAgLmNvaW4odGhpcy53YWxsZXQuYmFzZUNvaW4udG9rZW5Db25maWcuY29pbilcbiAgICAgICAgICAud2FsbGV0cygpXG4gICAgICAgICAgLmdldCh7IGlkOiB0aGlzLndhbGxldC5pZCgpIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMudG9rZW5QYXJlbnRXYWxsZXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy53YWxsZXQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIEFQSSBjYWxsIGlzIG9ubHkgcmVxdWlyZWQgZm9yIFRTUyBUeFJlcXVlc3QgYXBpIHZlcnNpb24gbGl0ZSBvciBtdWx0aS1zaWcgdHJhbnNhY3Rpb25zLlxuICAgKiBGb3IgRnVsbCBhcGkgdmVyc2lvbiwgc2lnbiB0cmFuc2FjdGlvbiBtb3ZlcyB0aGUgdHJhbnNhY3Rpb24gdG8gZGVsaXZlcmVkIHN0YXRlLlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHNlbmQgQVBJIGNhbGwgdG8gc3Rha2luZyBzZXJ2aWNlIGlzIHJlcXVpcmVkIGVsc2UgZmFsc2VcbiAgICovXG4gIHByaXZhdGUgaXNTZW5kQ2FsbFJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gQ29pbkZhbWlseS5FVEgpIHtcbiAgICAgIHJldHVybiAhdGhpcy5pc0V0aFRzcztcbiAgICB9IGVsc2UgaWYgKHRoaXMud2FsbGV0Lm11bHRpc2lnVHlwZSgpID09PSAndHNzJykge1xuICAgICAgcmV0dXJuIHRoaXMud2FsbGV0LmJhc2VDb2luLmdldE1QQ0FsZ29yaXRobSgpICE9PSAnZWNkc2EnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldERlc2NyaXB0b3JXYWxsZXQodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8SVdhbGxldD4ge1xuICAgIGFzc2VydCh0cmFuc2FjdGlvbi5idWlsZFBhcmFtcz8uc2VuZGVyV2FsbGV0SWQsICdzZW5kZXJXYWxsZXRJZCBpcyByZXF1aXJlZCBmb3IgYnRjIHVuZGVsZWdhdGUgdHJhbnNhY3Rpb24nKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ud2FsbGV0cygpLmdldCh7IGlkOiB0cmFuc2FjdGlvbi5idWlsZFBhcmFtcy5zZW5kZXJXYWxsZXRJZCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmFsaWRhdGVCdWlsdFN0YWtpbmdUcmFuc2FjdGlvbihcbiAgICB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uLFxuICAgIHByZWJ1aWx0U3Rha2luZ1RyYW5zYWN0aW9uOiBTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFxuICApIHtcbiAgICBjb25zdCB7IGJ1aWxkUGFyYW1zIH0gPSB0cmFuc2FjdGlvbjtcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcHJlYnVpbHRTdGFraW5nVHJhbnNhY3Rpb247XG4gICAgY29uc3QgY29pbiA9IHRoaXMud2FsbGV0LmJhc2VDb2luO1xuICAgIGRlYnVnKGBWYWxpZGF0aW5nIHN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5zdGFraW5nUmVxdWVzdElkfSB3aXRoIHByZWJ1aWx0IHRyYW5zYWN0aW9uYCk7XG5cbiAgICBpZiAoISgndHhIZXgnIGluIHJlc3VsdCkgfHwgIXJlc3VsdC50eEhleCkge1xuICAgICAgZGVidWcoYFNraXBwaW5nIHZhbGlkYXRpb24gZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5zdGFraW5nUmVxdWVzdElkfSAtIHR4SGV4IGlzIHVuZGVmaW5lZGApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGxhaW5lZFRyYW5zYWN0aW9uID0gYXdhaXQgY29pbi5leHBsYWluVHJhbnNhY3Rpb24ocmVzdWx0KTtcbiAgICBjb25zdCBtaXNtYXRjaEVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChidWlsZFBhcmFtcz8ucmVjaXBpZW50cyAmJiBidWlsZFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHVzZXJSZWNpcGllbnRNYXAgPSBuZXcgTWFwKFxuICAgICAgICBidWlsZFBhcmFtcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiBbcmVjaXBpZW50LmFkZHJlc3MudG9Mb3dlckNhc2UoKSwgcmVjaXBpZW50XSlcbiAgICAgICk7XG4gICAgICBjb25zdCBwbGF0Zm9ybVJlY2lwaWVudE1hcCA9IG5ldyBNYXAoXG4gICAgICAgIChleHBsYWluZWRUcmFuc2FjdGlvbj8ub3V0cHV0cyA/PyBbXSkubWFwKChyZWNpcGllbnQpID0+IFtyZWNpcGllbnQuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLCByZWNpcGllbnRdKVxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgW2FkZHJlc3NdIG9mIHBsYXRmb3JtUmVjaXBpZW50TWFwKSB7XG4gICAgICAgIGlmICghdXNlclJlY2lwaWVudE1hcC5oYXMoYWRkcmVzcykpIHtcbiAgICAgICAgICBtaXNtYXRjaEVycm9ycy5wdXNoKGBVbmV4cGVjdGVkIHJlY2lwaWVudCBhZGRyZXNzIGZvdW5kIGluIGJ1aWx0IHRyYW5zYWN0aW9uOiAke2FkZHJlc3N9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBbYWRkcmVzcywgdXNlclJlY2lwaWVudF0gb2YgdXNlclJlY2lwaWVudE1hcCkge1xuICAgICAgICBjb25zdCBwbGF0Zm9ybVJlY2lwaWVudCA9IHBsYXRmb3JtUmVjaXBpZW50TWFwLmdldChhZGRyZXNzKTtcbiAgICAgICAgaWYgKCFwbGF0Zm9ybVJlY2lwaWVudCkge1xuICAgICAgICAgIG1pc21hdGNoRXJyb3JzLnB1c2goYEV4cGVjdGVkIHJlY2lwaWVudCBhZGRyZXNzIG5vdCBmb3VuZCBpbiBidWlsdCB0cmFuc2FjdGlvbjogJHthZGRyZXNzfWApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF0Y2hSZXN1bHQgPSB0cmFuc2FjdGlvblJlY2lwaWVudHNNYXRjaCh1c2VyUmVjaXBpZW50LCBwbGF0Zm9ybVJlY2lwaWVudCk7XG5cbiAgICAgICAgaWYgKCFtYXRjaFJlc3VsdC5hbW91bnRNYXRjaCkge1xuICAgICAgICAgIG1pc21hdGNoRXJyb3JzLnB1c2goXG4gICAgICAgICAgICBgUmVjaXBpZW50ICR7YWRkcmVzc30gYW1vdW50IG1pc21hdGNoLiBFeHBlY3RlZDogJHt1c2VyUmVjaXBpZW50LmFtb3VudH0sIEdvdDogJHtwbGF0Zm9ybVJlY2lwaWVudC5hbW91bnR9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtYXRjaFJlc3VsdC50b2tlbk1hdGNoKSB7XG4gICAgICAgICAgbWlzbWF0Y2hFcnJvcnMucHVzaChcbiAgICAgICAgICAgIGBSZWNpcGllbnQgJHthZGRyZXNzfSB0b2tlbiBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICR7dXNlclJlY2lwaWVudC50b2tlbk5hbWUgPz8gJ25hdGl2ZSBjb2luJ30sIEdvdDogJHtcbiAgICAgICAgICAgICAgcGxhdGZvcm1SZWNpcGllbnQudG9rZW5OYW1lID8/ICduYXRpdmUgY29pbidcbiAgICAgICAgICAgIH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChidWlsZFBhcmFtcz8ubWVtbyAmJiAoZXhwbGFpbmVkVHJhbnNhY3Rpb24gYXMgYW55KS5tZW1vICE9PSBidWlsZFBhcmFtcy5tZW1vKSB7XG4gICAgICBtaXNtYXRjaEVycm9ycy5wdXNoKFxuICAgICAgICBgTWVtbyBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICcke0pTT04uc3RyaW5naWZ5KGJ1aWxkUGFyYW1zLm1lbW8pfScsIEdvdDogJyR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgKGV4cGxhaW5lZFRyYW5zYWN0aW9uIGFzIGFueSkubWVtb1xuICAgICAgICApfSdgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChidWlsZFBhcmFtcz8uZ2FzTGltaXQgJiYgU3RyaW5nKChleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLmdhc0xpbWl0KSAhPT0gU3RyaW5nKGJ1aWxkUGFyYW1zLmdhc0xpbWl0KSkge1xuICAgICAgbWlzbWF0Y2hFcnJvcnMucHVzaChcbiAgICAgICAgYEdhcyBMaW1pdCBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICR7YnVpbGRQYXJhbXMuZ2FzTGltaXR9LCBHb3Q6ICR7KGV4cGxhaW5lZFRyYW5zYWN0aW9uIGFzIGFueSkuZ2FzTGltaXR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBidWlsZFBhcmFtcz8udHlwZSAmJlxuICAgICAgKGV4cGxhaW5lZFRyYW5zYWN0aW9uIGFzIGFueSkudHlwZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBUcmFuc2FjdGlvblR5cGVbYnVpbGRQYXJhbXMudHlwZV0gIT09IChleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLnR5cGVcbiAgICApIHtcbiAgICAgIG1pc21hdGNoRXJyb3JzLnB1c2goXG4gICAgICAgIGBUcmFuc2FjdGlvbiB0eXBlIG1pc21hdGNoLiBFeHBlY3RlZDogJyR7YnVpbGRQYXJhbXMudHlwZX0nLCBHb3Q6ICckeyhleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLnR5cGV9J2BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGJ1aWxkUGFyYW1zPy5zb2xJbnN0cnVjdGlvbnMpIHtcbiAgICAgIGlmICghaXNFcXVhbCgoZXhwbGFpbmVkVHJhbnNhY3Rpb24gYXMgYW55KS5zb2xJbnN0cnVjdGlvbnMsIGJ1aWxkUGFyYW1zLnNvbEluc3RydWN0aW9ucykpIHtcbiAgICAgICAgbWlzbWF0Y2hFcnJvcnMucHVzaChcbiAgICAgICAgICBgU29sYW5hIGluc3RydWN0aW9ucyBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBidWlsZFBhcmFtcy5zb2xJbnN0cnVjdGlvbnNcbiAgICAgICAgICApfSwgR290OiAke0pTT04uc3RyaW5naWZ5KChleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLnNvbEluc3RydWN0aW9ucyl9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtaXNtYXRjaEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgU3Rha2luZyB0cmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZCBiZWZvcmUgc2lnbmluZzogJHttaXNtYXRjaEVycm9ycy5qb2luKCc7ICcpfWA7XG4gICAgICBkZWJ1ZyhlcnJvck1lc3NhZ2UpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKCFidWlsZFBhcmFtcykge1xuICAgICAgZGVidWcoXG4gICAgICAgIGBDYW5ub3QgcGVyZm9ybSBkZWVwIHZhbGlkYXRpb24gZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5zdGFraW5nUmVxdWVzdElkfSB3aXRob3V0IHNwZWNpZmllZCBidWlsZCBwYXJhbXNgXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc1N0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFJlc3VsdChcbiAgdHg6IFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0WydyZXN1bHQnXVxuKTogdHggaXMgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQge1xuICByZXR1cm4gKHR4IGFzIFN0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0KS50eFJlcXVlc3RJZCAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
|
368
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zdGFraW5nL3N0YWtpbmdXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxpREFBaUQ7QUFDakQsNkRBQXFDO0FBeUJyQyxvQ0FBOEQ7QUFDOUQsb0RBQTRCO0FBQzVCLGdFQUF1RTtBQUN2RSxrREFBMEI7QUFDMUIsbURBQW9EO0FBRXBELE1BQWEsYUFBYTtJQVF4QixZQUFZLE1BQWUsRUFBRSxRQUFpQjtRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdCQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQTRFO1FBQ3RGLE9BQU8sTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNE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QixVQUFVLElBQUksQ0FBQyxTQUFTLENBQUUsb0JBQTRCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FDM0UsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sWUFBWSxHQUFHLHlEQUF5RCxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUcsSUFBQSxlQUFLLEVBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLElBQUEsZUFBSyxFQUNILDBEQUEwRCxXQUFXLENBQUMsZ0JBQWdCLGlDQUFpQyxDQUN4SCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRjtBQXRjRCxzQ0FzY0M7QUFFRCxTQUFTLGdDQUFnQyxDQUN2QyxFQUE4QztJQUU5QyxPQUFRLEVBQWdELENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQ29pbkZhbWlseSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuXG5pbXBvcnQge1xuICBEZWxlZ2F0aW9uT3B0aW9ucyxcbiAgRGVsZWdhdGlvblJlc3VsdHMsXG4gIElTdGFraW5nV2FsbGV0LFxuICBTdGFrZU9wdGlvbnMsXG4gIFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0LFxuICBTdGFraW5nUmVxdWVzdCxcbiAgU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uLFxuICBTdGFraW5nU2lnbk9wdGlvbnMsXG4gIFN0YWtpbmdUcmFuc2FjdGlvbixcbiAgU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24sXG4gIFVuc3Rha2VPcHRpb25zLFxuICBFdGhVbnN0YWtlT3B0aW9ucyxcbiAgQ2xhaW1SZXdhcmRzT3B0aW9ucyxcbiAgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsXG4gIFRyb25TdGFrZU9wdGlvbnMsXG4gIFRhb1N0YWtlT3B0aW9ucyxcbiAgVGFvU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyxcbiAgVmV0U3Rha2VPcHRpb25zLFxufSBmcm9tICcuL2lTdGFraW5nV2FsbGV0JztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBJV2FsbGV0LCBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0IH0gZnJvbSAnLi4vd2FsbGV0JztcbmltcG9ydCB7IElUc3NVdGlscywgUmVxdWVzdFRyYWNlciwgVHNzVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyB0cmFuc2FjdGlvblJlY2lwaWVudHNNYXRjaCB9IGZyb20gJy4uL3V0aWxzL3RyYW5zYWN0aW9uVXRpbHMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdXYWxsZXQgaW1wbGVtZW50cyBJU3Rha2luZ1dhbGxldCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSB0b2tlblBhcmVudFdhbGxldD86IElXYWxsZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgaXNFdGhUc3M6IGJvb2xlYW47XG5cbiAgcHVibGljIHdhbGxldDogSVdhbGxldDtcbiAgcHVibGljIHRzc1V0aWw6IElUc3NVdGlscztcblxuICBjb25zdHJ1Y3Rvcih3YWxsZXQ6IElXYWxsZXQsIGlzRXRoVHNzOiBib29sZWFuKSB7XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy5iaXRnbyA9IHdhbGxldC5iaXRnbztcbiAgICB0aGlzLnRzc1V0aWwgPSBuZXcgVHNzVXRpbHModGhpcy5iaXRnbywgdGhpcy53YWxsZXQuYmFzZUNvaW4sIHRoaXMud2FsbGV0KTtcbiAgICB0aGlzLmlzRXRoVHNzID0gaXNFdGhUc3M7XG4gIH1cblxuICBnZXQgd2FsbGV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuaWQoKTtcbiAgfVxuXG4gIGdldCBjb2luKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LmJhc2VDb2luLnRva2VuQ29uZmlnID8gdGhpcy53YWxsZXQuYmFzZUNvaW4udG9rZW5Db25maWcudHlwZSA6IHRoaXMud2FsbGV0LmNvaW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFrZSBjb2luc1xuICAgKiBAcGFyYW0gb3B0aW9ucyAtIHN0YWtlIG9wdGlvbnNcbiAgICogQHJldHVybiBTdGFraW5nUmVxdWVzdFxuICAgKi9cbiAgYXN5bmMgc3Rha2Uob3B0aW9uczogU3Rha2VPcHRpb25zIHwgVHJvblN0YWtlT3B0aW9ucyB8IFRhb1N0YWtlT3B0aW9ucyB8IFZldFN0YWtlT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVTdGFraW5nUmVxdWVzdChvcHRpb25zLCAnU1RBS0UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnN0YWtlIGNvaW5zXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gdW5zdGFrZSBvcHRpb25zXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIHVuc3Rha2Uob3B0aW9uczogVW5zdGFrZU9wdGlvbnMgfCBFdGhVbnN0YWtlT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVTdGFraW5nUmVxdWVzdChvcHRpb25zLCAnVU5TVEFLRScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1Ym1pdCBhIHJlcXVlc3QgdG8gc3dpdGNoIHRoZSB2YWxpZGF0b3IgdXNlZCBmb3IgYSBzcGVjaWZpYyBkZWxlZ2F0aW9uXG4gICAqIFRoaXMgd2lsbCBjcmVhdGUgYSBuZXcgZGVsZWdhdGlvbiB3aXRoIHRoZSBuZXcgdmFsaWRhdG9yIGFkZHJlc3MgYW5kIG1hcmsgdGhlIG9sZCBkZWxlZ2F0aW9uIGFzIGluYWN0aXZlXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gc3dpdGNoIHZhbGlkYXRvciBvcHRpb25zXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIHN3aXRjaFZhbGlkYXRvcihvcHRpb25zOiBTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHwgVGFvU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVTdGFraW5nUmVxdWVzdChvcHRpb25zLCAnU1dJVENIX1ZBTElEQVRPUicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1Ym1pdCBhIHJlcXVlc3QgdG8gY2xhaW0gcmV3YXJkcyBmb3IgYSBzcGVjaWZpYyBkZWxlZ2F0aW9uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gY2xhaW0gcmV3YXJkcyBvcHRpb25zXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIGNsYWltUmV3YXJkcyhvcHRpb25zOiBDbGFpbVJld2FyZHNPcHRpb25zKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNyZWF0ZVN0YWtpbmdSZXF1ZXN0KG9wdGlvbnMsICdDTEFJTV9SRVdBUkRTJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VsIHN0YWtpbmcgcmVxdWVzdFxuICAgKiBAcGFyYW0gc3Rha2luZ1JlcXVlc3RJZCAtIGlkIG9mIHRoZSBzdGFraW5nIHJlcXVlc3QgdG8gY2FuY2VsXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIGNhbmNlbFN0YWtpbmdSZXF1ZXN0KHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnby5kZWwodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMuc3Rha2luZ1JlcXVlc3RVcmwoc3Rha2luZ1JlcXVlc3RJZCkpKS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBkZWxlZ2F0aW9ucyBmb3IgYSBzcGVjaWZpYyB3YWxsZXRcbiAgICogQHBhcmFtIG9wdGlvbnMgLSB1bnN0YWtlIG9wdGlvbnNcbiAgICogQHJldHVybiBTdGFraW5nUmVxdWVzdFxuICAgKi9cbiAgYXN5bmMgZGVsZWdhdGlvbnMob3B0aW9uczogRGVsZWdhdGlvbk9wdGlvbnMpOiBQcm9taXNlPERlbGVnYXRpb25SZXN1bHRzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0RGVsZWdhdGlvbnMob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3Rha2luZyByZXF1ZXN0IGJ5IElEXG4gICAqIEBwYXJhbSBzdGFraW5nUmVxdWVzdElkIC0gaWQgb2YgdGhlIHN0YWtpbmcgcmVxdWVzdCB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJuIFN0YWtpbmdSZXF1ZXN0XG4gICAqL1xuICBhc3luYyBnZXRTdGFraW5nUmVxdWVzdChzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLnN0YWtpbmdSZXF1ZXN0VXJsKHN0YWtpbmdSZXF1ZXN0SWQpKSkucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyByZWFkeSB0byBzaWduXG4gICAqIEBwYXJhbSBzdGFraW5nUmVxdWVzdElkXG4gICAqIEByZXR1cm4gVHJhbnNhY3Rpb25zUmVhZHlUb1NpZ25cbiAgICovXG4gIGFzeW5jIGdldFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduKHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24+IHtcbiAgICBjb25zdCBzdGFraW5nUmVxdWVzdDogU3Rha2luZ1JlcXVlc3QgPSBhd2FpdCB0aGlzLmdldFN0YWtpbmdSZXF1ZXN0KHN0YWtpbmdSZXF1ZXN0SWQpO1xuICAgIGNvbnN0IHJlYWR5VG9TaWduOiBTdGFraW5nVHJhbnNhY3Rpb25bXSA9IHN0YWtpbmdSZXF1ZXN0LnRyYW5zYWN0aW9ucy5maWx0ZXIoXG4gICAgICAodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uc3RhdHVzID09PSBgUkVBRFlgXG4gICAgKTtcbiAgICBjb25zdCBuZXdUcmFuc2FjdGlvbnM6IFN0YWtpbmdUcmFuc2FjdGlvbltdID0gc3Rha2luZ1JlcXVlc3QudHJhbnNhY3Rpb25zLmZpbHRlcihcbiAgICAgICh0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5zdGF0dXMgPT09IGBORVdgXG4gICAgKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgYWxsU2lnbmluZ0NvbXBsZXRlOlxuICAgICAgICBzdGFraW5nUmVxdWVzdC50cmFuc2FjdGlvbnMubGVuZ3RoID4gMCAmJiBuZXdUcmFuc2FjdGlvbnMubGVuZ3RoID09PSAwICYmIHJlYWR5VG9TaWduLmxlbmd0aCA9PT0gMCxcbiAgICAgIHRyYW5zYWN0aW9uczogcmVhZHlUb1NpZ24sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgdGhlIHN0YWtpbmcgdHJhbnNhY3Rpb25cbiAgICogSWYgVFNTIGRlbGV0ZSBzaWduYXR1cmUgc2hhcmVzLCBlbHNlIGV4cGFuZCBidWlsZCBwYXJhbXMgYW5kIHRoZW4gYnVpbGRcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIC0gc3Rha2luZyB0cmFuc2FjdGlvbiB0byBidWlsZFxuICAgKi9cbiAgYXN5bmMgYnVpbGQodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8U3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+IHtcbiAgICBpZiAoKHRoaXMud2FsbGV0Lm11bHRpc2lnVHlwZSgpID09PSAndHNzJyAmJiB0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSAhPT0gJ2V0aCcpIHx8IHRoaXMuaXNFdGhUc3MpIHtcbiAgICAgIGlmICghdHJhbnNhY3Rpb24udHhSZXF1ZXN0SWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0eFJlcXVlc3RJZCBpcyByZXF1aXJlZCB0byBzaWduIGFuZCBzZW5kJyk7XG4gICAgICB9XG4gICAgICAvLyBkZWxldGUgc2lnbmF0dXJlIHNoYXJlcyBiZWZvcmUgc2lnbmluZyBmb3IgdHJhbnNhY3Rpb24gcmVxdWVzdCBBUElcbiAgICAgIGF3YWl0IHRoaXMudHNzVXRpbC5kZWxldGVTaWduYXR1cmVTaGFyZXModHJhbnNhY3Rpb24udHhSZXF1ZXN0SWQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHJhbnNhY3Rpb246IHRyYW5zYWN0aW9uLFxuICAgICAgICByZXN1bHQ6IHtcbiAgICAgICAgICB3YWxsZXRJZDogdGhpcy53YWxsZXRJZCxcbiAgICAgICAgICB0eFJlcXVlc3RJZDogdHJhbnNhY3Rpb24udHhSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2FjdGlvbiA9IGF3YWl0IHRoaXMuZXhwYW5kQnVpbGRQYXJhbXModHJhbnNhY3Rpb24pO1xuICAgICAgaWYgKCF0cmFuc2FjdGlvbi5idWlsZFBhcmFtcykge1xuICAgICAgICB0aHJvdyBFcnJvcihgU3Rha2luZyB0cmFuc2FjdGlvbiAke3RyYW5zYWN0aW9uLmlkfSBidWlsZCBwYXJhbXMgbm90IGV4cGFuZGVkYCk7XG4gICAgICB9XG4gICAgICBjb25zdCB3YWxsZXQgPSBhd2FpdCB0aGlzLmV4dHJhY3RXYWxsZXQodHJhbnNhY3Rpb24pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2FjdGlvbjogdHJhbnNhY3Rpb24sXG4gICAgICAgIHJlc3VsdDogYXdhaXQgd2FsbGV0LnByZWJ1aWxkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24uYnVpbGRQYXJhbXMpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4dHJhY3RXYWxsZXQodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbikge1xuICAgIHJldHVybiB0aGlzLmlzQnRjVW5kZWxlZ2F0ZSh0cmFuc2FjdGlvbilcbiAgICAgID8gYXdhaXQgdGhpcy5nZXREZXNjcmlwdG9yV2FsbGV0KHRyYW5zYWN0aW9uKVxuICAgICAgOiBhd2FpdCB0aGlzLmdldFdhbGxldEZvckJ1aWxkaW5nQW5kU2lnbmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0J0Y1VuZGVsZWdhdGUodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ2J0YycgJiYgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICd1bmRlbGVnYXRlX3dpdGhkcmF3J1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzU3R4KCkge1xuICAgIHJldHVybiB0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ3N0eCc7XG4gIH1cblxuICBwcml2YXRlIGlzVHJ4U3Rha2luZyh0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LmJhc2VDb2luLmdldEZhbWlseSgpID09PSAndHJ4JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIHRoZSBzdGFraW5nIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBzaWduT3B0aW9uc1xuICAgKiBAcGFyYW0gc3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb25cbiAgICovXG4gIGFzeW5jIHNpZ24oXG4gICAgc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgICBzdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvbjogU3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRcbiAgKTogUHJvbWlzZTxTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCByZXFJZCA9IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gICAgY29uc3QgaXNCdGNVbmRlbGVnYXRlID1cbiAgICAgIHRoaXMud2FsbGV0LmJhc2VDb2luLmdldEZhbWlseSgpID09PSAnYnRjJyAmJlxuICAgICAgc3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb24udHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICd1bmRlbGVnYXRlX3dpdGhkcmF3JztcbiAgICBjb25zdCB3YWxsZXQgPSBpc0J0Y1VuZGVsZWdhdGVcbiAgICAgID8gYXdhaXQgdGhpcy5nZXREZXNjcmlwdG9yV2FsbGV0KHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uKVxuICAgICAgOiBhd2FpdCB0aGlzLmdldFdhbGxldEZvckJ1aWxkaW5nQW5kU2lnbmluZygpO1xuXG4gICAgY29uc3Qga2V5Y2hhaW4gPSBhd2FpdCB3YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0S2V5c0ZvclNpZ25pbmcoe1xuICAgICAgd2FsbGV0OiB0aGlzLndhbGxldCxcbiAgICAgIHJlcUlkOiByZXFJZCxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgdHJhbnNhY3Rpb246IHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uLFxuICAgICAgc2lnbmVkOiBhd2FpdCB3YWxsZXQuc2lnblRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQcmVidWlsZDogc3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb24ucmVzdWx0LFxuICAgICAgICB3YWxsZXRQYXNzcGhyYXNlOiBzaWduT3B0aW9ucy53YWxsZXRQYXNzcGhyYXNlLFxuICAgICAgICBrZXljaGFpbjoga2V5Y2hhaW5bMF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgdGhlIHNpZ25lZCBzdGFraW5nIHRyYW5zYWN0aW9uIGlmIHJlcXVpcmVkLiBTZW5kIGNhbGwgaXMgbm90IHJlcXVpcmVkIGlmIGFwaSB2ZXJzaW9uIGlzIGZ1bGxcbiAgICogYW5kIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIHRoZSBzdGFraW5nIHRyYW5zYWN0aW9uIGZyb20gdGhlIGluY29taW5nIG9iamVjdC5cbiAgICogQHBhcmFtIHNpZ25lZFRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBzZW5kKHNpZ25lZFRyYW5zYWN0aW9uOiBTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24pOiBQcm9taXNlPFN0YWtpbmdUcmFuc2FjdGlvbj4ge1xuICAgIGlmICh0aGlzLmlzU2VuZENhbGxSZXF1aXJlZCgpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgICAucG9zdCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5zdGFraW5nVHJhbnNhY3Rpb25VUkwoc2lnbmVkVHJhbnNhY3Rpb24udHJhbnNhY3Rpb24pKSlcbiAgICAgICAgLnNlbmQoc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmVkKVxuICAgICAgICAucmVzdWx0KCk7XG4gICAgfVxuICAgIHJldHVybiBzaWduZWRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBARGVwcmVjYXRlZCB1c2UgYnVpbGRBbmRTaWduXG4gICAqIEJ1aWxkLCBzaWduIGFuZCBzZW5kIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogQHBhcmFtIHNpZ25PcHRpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvblxuICAgKi9cbiAgYXN5bmMgYnVpbGRTaWduQW5kU2VuZChcbiAgICBzaWduT3B0aW9uczogU3Rha2luZ1NpZ25PcHRpb25zLFxuICAgIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb25cbiAgKTogUHJvbWlzZTxTdGFraW5nVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5idWlsZEFuZFNpZ24oc2lnbk9wdGlvbnMsIHRyYW5zYWN0aW9uKS50aGVuKChyZXN1bHQ6IFN0YWtpbmdTaWduZWRUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuc2VuZChyZXN1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBwcmVidWlsdCBzdGFraW5nIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBmb3IgdHJhbnNhY3Rpb25zIHdpdGggdHggcmVxdWVzdCBpZCAoVFNTIHRyYW5zYWN0aW9ucyksIHdlIG5lZWQgdG8gZGVsZXRlIHNpZ25hdHVyZSBzaGFyZXMgYmVmb3JlIGNyZWF0aW5nIHByZWJ1aWxkIHRyYW5zYWN0aW9uXG4gICAqIHdlIG9ubHkgbmVlZCB0byBnZXQgdHJhbnNhY3Rpb24gYnVpbGQgcGFyYW1zIGlmIHRoZXkgZXhpc3QgdG8gcHJlIGJ1aWxkXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvblxuICAgKi9cbiAgYXN5bmMgcHJlYnVpbGRTZWxmTWFuYWdlZFN0YWtpbmdUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgaWYgKHRyYW5zYWN0aW9uLnR4UmVxdWVzdElkKSB7XG4gICAgICBhd2FpdCB0aGlzLnRzc1V0aWwuZGVsZXRlU2lnbmF0dXJlU2hhcmVzKHRyYW5zYWN0aW9uLnR4UmVxdWVzdElkKTtcbiAgICB9XG4gICAgY29uc3QgYnVpbGRQYXJhbXMgPSAoYXdhaXQgdGhpcy5leHBhbmRCdWlsZFBhcmFtcyh0cmFuc2FjdGlvbikpLmJ1aWxkUGFyYW1zO1xuICAgIGNvbnN0IGZvcm1hdHRlZFBhcmFtcyA9IHtcbiAgICAgIC4uLmJ1aWxkUGFyYW1zLFxuICAgICAgY29pbjogdGhpcy5jb2luLFxuICAgICAgd2FsbGV0SWQ6IHRoaXMud2FsbGV0SWQsXG4gICAgICB3YWxsZXRUeXBlOiB0aGlzLndhbGxldC50eXBlKCksXG4gICAgICBwcmV2aWV3OiB0cnVlLFxuICAgIH07XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmdldFdhbGxldEZvckJ1aWxkaW5nQW5kU2lnbmluZygpKS5wcmVidWlsZFRyYW5zYWN0aW9uKGZvcm1hdHRlZFBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uLlxuICAgKiBAcGFyYW0gc2lnbk9wdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBidWlsZEFuZFNpZ24oXG4gICAgc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgICB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uXG4gICk6IFByb21pc2U8U3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgYnVpbHRUeCA9IGF3YWl0IHRoaXMuYnVpbGQodHJhbnNhY3Rpb24pO1xuICAgIC8vIGRlZmF1bHQgdG8gdmVyaWZ5aW5nIGEgdHJhbnNhY3Rpb24gdW5sZXNzIGV4cGxpY2l0bHkgc2tpcHBlZFxuICAgIC8vIHNraXBwaW5nIHRoZSB2ZXJpZmljYXRpb24gZm9yIGJ0YyB1bmRlbGVnYXRlIGJlY2F1c2UgaXQgaXMganVzdCBzaW5nbGUgc2lnXG4gICAgLy8gVE9ETzogU0MtMzE4MyAoYWRkIHRyeCBzdGFraW5nIHZlcmlmaWNhdGlvbilcbiAgICAvLyBUT0RPOiBTQy0zNTA4IChhZGQgU1RYIHN0YWtpbmcgdmVyaWZpY2F0aW9uKVxuICAgIGNvbnN0IHNraXBWZXJpZmljYXRpb24gPVxuICAgICAgKHNpZ25PcHRpb25zLnRyYW5zYWN0aW9uVmVyaWZpY2F0aW9uT3B0aW9ucz8uc2tpcFRyYW5zYWN0aW9uVmVyaWZpY2F0aW9uIHx8XG4gICAgICAgIHRoaXMuaXNCdGNVbmRlbGVnYXRlKHRyYW5zYWN0aW9uKSB8fFxuICAgICAgICB0aGlzLmlzVHJ4U3Rha2luZyh0cmFuc2FjdGlvbikgfHxcbiAgICAgICAgdGhpcy5pc1N0eCgpKSA/P1xuICAgICAgZmFsc2U7XG4gICAgaWYgKCFpc1N0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFJlc3VsdChidWlsdFR4LnJlc3VsdCkgJiYgIXNraXBWZXJpZmljYXRpb24pIHtcbiAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVCdWlsdFN0YWtpbmdUcmFuc2FjdGlvbihidWlsdFR4LnRyYW5zYWN0aW9uLCBidWlsdFR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2lnbihzaWduT3B0aW9ucywgYnVpbHRUeCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4cGFuZEJ1aWxkUGFyYW1zKHN0YWtpbmdUcmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5zdGFraW5nVHJhbnNhY3Rpb25VUkwoc3Rha2luZ1RyYW5zYWN0aW9uKSkpXG4gICAgICAucXVlcnkoeyBleHBhbmRCdWlsZFBhcmFtczogdHJ1ZSB9KVxuICAgICAgLnJlc3VsdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVTdGFraW5nUmVxdWVzdChcbiAgICBvcHRpb25zOlxuICAgICAgfCBTdGFrZU9wdGlvbnNcbiAgICAgIHwgVW5zdGFrZU9wdGlvbnNcbiAgICAgIHwgRXRoVW5zdGFrZU9wdGlvbnNcbiAgICAgIHwgU3dpdGNoVmFsaWRhdG9yT3B0aW9uc1xuICAgICAgfCBDbGFpbVJld2FyZHNPcHRpb25zXG4gICAgICB8IFRyb25TdGFrZU9wdGlvbnNcbiAgICAgIHwgVGFvU3Rha2VPcHRpb25zXG4gICAgICB8IFRhb1N3aXRjaFZhbGlkYXRvck9wdGlvbnNcbiAgICAgIHwgVmV0U3Rha2VPcHRpb25zLFxuICAgIHR5cGU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLnN0YWtpbmdSZXF1ZXN0c1VSTCgpKSlcbiAgICAgIC5zZW5kKHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgIH0pXG4gICAgICAucmVzdWx0KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YWtpbmdSZXF1ZXN0c1VSTCgpIHtcbiAgICByZXR1cm4gYC9hcGkvc3Rha2luZy92MS8ke3RoaXMuY29pbn0vd2FsbGV0cy8ke3RoaXMud2FsbGV0SWR9L3JlcXVlc3RzYDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RGVsZWdhdGlvbnMob3B0aW9uczogRGVsZWdhdGlvbk9wdGlvbnMpOiBQcm9taXNlPERlbGVnYXRpb25SZXN1bHRzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLnN0YWtpbmdEZWxlZ2F0aW9uc1VSTCgpKSkucXVlcnkob3B0aW9ucykucmVzdWx0KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YWtpbmdEZWxlZ2F0aW9uc1VSTCgpIHtcbiAgICByZXR1cm4gYC9hcGkvc3Rha2luZy92MS8ke3RoaXMuY29pbn0vd2FsbGV0cy8ke3RoaXMud2FsbGV0SWR9L2RlbGVnYXRpb25zYDtcbiAgfVxuXG4gIHByaXZhdGUgc3Rha2luZ1JlcXVlc3RVcmwoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zdGFraW5nUmVxdWVzdHNVUkwoKX0vJHtzdGFraW5nUmVxdWVzdElkfWA7XG4gIH1cblxuICBwcml2YXRlIHN0YWtpbmdUcmFuc2FjdGlvblVSTChzdGFraW5nVHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3Rha2luZ1JlcXVlc3RVcmwoc3Rha2luZ1RyYW5zYWN0aW9uLnN0YWtpbmdSZXF1ZXN0SWQpfS90cmFuc2FjdGlvbnMvJHtzdGFraW5nVHJhbnNhY3Rpb24uaWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0V2FsbGV0Rm9yQnVpbGRpbmdBbmRTaWduaW5nKCk6IFByb21pc2U8SVdhbGxldD4ge1xuICAgIGlmICh0aGlzLndhbGxldC5iYXNlQ29pbi50b2tlbkNvbmZpZykge1xuICAgICAgaWYgKCF0aGlzLnRva2VuUGFyZW50V2FsbGV0KSB7XG4gICAgICAgIHRoaXMudG9rZW5QYXJlbnRXYWxsZXQgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAgICAgLmNvaW4odGhpcy53YWxsZXQuYmFzZUNvaW4udG9rZW5Db25maWcuY29pbilcbiAgICAgICAgICAud2FsbGV0cygpXG4gICAgICAgICAgLmdldCh7IGlkOiB0aGlzLndhbGxldC5pZCgpIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMudG9rZW5QYXJlbnRXYWxsZXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy53YWxsZXQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIEFQSSBjYWxsIGlzIG9ubHkgcmVxdWlyZWQgZm9yIFRTUyBUeFJlcXVlc3QgYXBpIHZlcnNpb24gbGl0ZSBvciBtdWx0aS1zaWcgdHJhbnNhY3Rpb25zLlxuICAgKiBGb3IgRnVsbCBhcGkgdmVyc2lvbiwgc2lnbiB0cmFuc2FjdGlvbiBtb3ZlcyB0aGUgdHJhbnNhY3Rpb24gdG8gZGVsaXZlcmVkIHN0YXRlLlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHNlbmQgQVBJIGNhbGwgdG8gc3Rha2luZyBzZXJ2aWNlIGlzIHJlcXVpcmVkIGVsc2UgZmFsc2VcbiAgICovXG4gIHByaXZhdGUgaXNTZW5kQ2FsbFJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLndhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gQ29pbkZhbWlseS5FVEgpIHtcbiAgICAgIHJldHVybiAhdGhpcy5pc0V0aFRzcztcbiAgICB9IGVsc2UgaWYgKHRoaXMud2FsbGV0Lm11bHRpc2lnVHlwZSgpID09PSAndHNzJykge1xuICAgICAgcmV0dXJuIHRoaXMud2FsbGV0LmJhc2VDb2luLmdldE1QQ0FsZ29yaXRobSgpICE9PSAnZWNkc2EnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldERlc2NyaXB0b3JXYWxsZXQodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8SVdhbGxldD4ge1xuICAgIGFzc2VydCh0cmFuc2FjdGlvbi5idWlsZFBhcmFtcz8uc2VuZGVyV2FsbGV0SWQsICdzZW5kZXJXYWxsZXRJZCBpcyByZXF1aXJlZCBmb3IgYnRjIHVuZGVsZWdhdGUgdHJhbnNhY3Rpb24nKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ud2FsbGV0cygpLmdldCh7IGlkOiB0cmFuc2FjdGlvbi5idWlsZFBhcmFtcy5zZW5kZXJXYWxsZXRJZCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmFsaWRhdGVCdWlsdFN0YWtpbmdUcmFuc2FjdGlvbihcbiAgICB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uLFxuICAgIHByZWJ1aWx0U3Rha2luZ1RyYW5zYWN0aW9uOiBTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFxuICApIHtcbiAgICBjb25zdCB7IGJ1aWxkUGFyYW1zIH0gPSB0cmFuc2FjdGlvbjtcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcHJlYnVpbHRTdGFraW5nVHJhbnNhY3Rpb247XG4gICAgY29uc3QgY29pbiA9IHRoaXMud2FsbGV0LmJhc2VDb2luO1xuICAgIGRlYnVnKGBWYWxpZGF0aW5nIHN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5zdGFraW5nUmVxdWVzdElkfSB3aXRoIHByZWJ1aWx0IHRyYW5zYWN0aW9uYCk7XG5cbiAgICBpZiAoISgndHhIZXgnIGluIHJlc3VsdCkgfHwgIXJlc3VsdC50eEhleCkge1xuICAgICAgZGVidWcoYFNraXBwaW5nIHZhbGlkYXRpb24gZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5zdGFraW5nUmVxdWVzdElkfSAtIHR4SGV4IGlzIHVuZGVmaW5lZGApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGxhaW5lZFRyYW5zYWN0aW9uID0gYXdhaXQgY29pbi5leHBsYWluVHJhbnNhY3Rpb24ocmVzdWx0KTtcbiAgICBjb25zdCBtaXNtYXRjaEVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChidWlsZFBhcmFtcz8ucmVjaXBpZW50cyAmJiBidWlsZFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHVzZXJSZWNpcGllbnRNYXAgPSBuZXcgTWFwKFxuICAgICAgICBidWlsZFBhcmFtcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiBbcmVjaXBpZW50LmFkZHJlc3MudG9Mb3dlckNhc2UoKSwgcmVjaXBpZW50XSlcbiAgICAgICk7XG4gICAgICBjb25zdCBwbGF0Zm9ybVJlY2lwaWVudE1hcCA9IG5ldyBNYXAoXG4gICAgICAgIChleHBsYWluZWRUcmFuc2FjdGlvbj8ub3V0cHV0cyA/PyBbXSkubWFwKChyZWNpcGllbnQpID0+IFtyZWNpcGllbnQuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLCByZWNpcGllbnRdKVxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgW2FkZHJlc3NdIG9mIHBsYXRmb3JtUmVjaXBpZW50TWFwKSB7XG4gICAgICAgIGlmICghdXNlclJlY2lwaWVudE1hcC5oYXMoYWRkcmVzcykpIHtcbiAgICAgICAgICBtaXNtYXRjaEVycm9ycy5wdXNoKGBVbmV4cGVjdGVkIHJlY2lwaWVudCBhZGRyZXNzIGZvdW5kIGluIGJ1aWx0IHRyYW5zYWN0aW9uOiAke2FkZHJlc3N9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBbYWRkcmVzcywgdXNlclJlY2lwaWVudF0gb2YgdXNlclJlY2lwaWVudE1hcCkge1xuICAgICAgICBjb25zdCBwbGF0Zm9ybVJlY2lwaWVudCA9IHBsYXRmb3JtUmVjaXBpZW50TWFwLmdldChhZGRyZXNzKTtcbiAgICAgICAgaWYgKCFwbGF0Zm9ybVJlY2lwaWVudCkge1xuICAgICAgICAgIG1pc21hdGNoRXJyb3JzLnB1c2goYEV4cGVjdGVkIHJlY2lwaWVudCBhZGRyZXNzIG5vdCBmb3VuZCBpbiBidWlsdCB0cmFuc2FjdGlvbjogJHthZGRyZXNzfWApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF0Y2hSZXN1bHQgPSB0cmFuc2FjdGlvblJlY2lwaWVudHNNYXRjaCh1c2VyUmVjaXBpZW50LCBwbGF0Zm9ybVJlY2lwaWVudCk7XG5cbiAgICAgICAgaWYgKCFtYXRjaFJlc3VsdC5hbW91bnRNYXRjaCkge1xuICAgICAgICAgIG1pc21hdGNoRXJyb3JzLnB1c2goXG4gICAgICAgICAgICBgUmVjaXBpZW50ICR7YWRkcmVzc30gYW1vdW50IG1pc21hdGNoLiBFeHBlY3RlZDogJHt1c2VyUmVjaXBpZW50LmFtb3VudH0sIEdvdDogJHtwbGF0Zm9ybVJlY2lwaWVudC5hbW91bnR9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtYXRjaFJlc3VsdC50b2tlbk1hdGNoKSB7XG4gICAgICAgICAgbWlzbWF0Y2hFcnJvcnMucHVzaChcbiAgICAgICAgICAgIGBSZWNpcGllbnQgJHthZGRyZXNzfSB0b2tlbiBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICR7dXNlclJlY2lwaWVudC50b2tlbk5hbWUgPz8gJ25hdGl2ZSBjb2luJ30sIEdvdDogJHtcbiAgICAgICAgICAgICAgcGxhdGZvcm1SZWNpcGllbnQudG9rZW5OYW1lID8/ICduYXRpdmUgY29pbidcbiAgICAgICAgICAgIH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChidWlsZFBhcmFtcz8ubWVtbyAmJiAoZXhwbGFpbmVkVHJhbnNhY3Rpb24gYXMgYW55KS5tZW1vICE9PSBidWlsZFBhcmFtcy5tZW1vKSB7XG4gICAgICBtaXNtYXRjaEVycm9ycy5wdXNoKFxuICAgICAgICBgTWVtbyBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICcke0pTT04uc3RyaW5naWZ5KGJ1aWxkUGFyYW1zLm1lbW8pfScsIEdvdDogJyR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgKGV4cGxhaW5lZFRyYW5zYWN0aW9uIGFzIGFueSkubWVtb1xuICAgICAgICApfSdgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChidWlsZFBhcmFtcz8uZ2FzTGltaXQgJiYgU3RyaW5nKChleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLmdhc0xpbWl0KSAhPT0gU3RyaW5nKGJ1aWxkUGFyYW1zLmdhc0xpbWl0KSkge1xuICAgICAgbWlzbWF0Y2hFcnJvcnMucHVzaChcbiAgICAgICAgYEdhcyBMaW1pdCBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICR7YnVpbGRQYXJhbXMuZ2FzTGltaXR9LCBHb3Q6ICR7KGV4cGxhaW5lZFRyYW5zYWN0aW9uIGFzIGFueSkuZ2FzTGltaXR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBidWlsZFBhcmFtcz8udHlwZSAmJlxuICAgICAgKGV4cGxhaW5lZFRyYW5zYWN0aW9uIGFzIGFueSkudHlwZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBUcmFuc2FjdGlvblR5cGVbYnVpbGRQYXJhbXMudHlwZV0gIT09IChleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLnR5cGVcbiAgICApIHtcbiAgICAgIG1pc21hdGNoRXJyb3JzLnB1c2goXG4gICAgICAgIGBUcmFuc2FjdGlvbiB0eXBlIG1pc21hdGNoLiBFeHBlY3RlZDogJyR7YnVpbGRQYXJhbXMudHlwZX0nLCBHb3Q6ICckeyhleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLnR5cGV9J2BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGJ1aWxkUGFyYW1zPy5zb2xJbnN0cnVjdGlvbnMpIHtcbiAgICAgIGlmICghaXNFcXVhbCgoZXhwbGFpbmVkVHJhbnNhY3Rpb24gYXMgYW55KS5zb2xJbnN0cnVjdGlvbnMsIGJ1aWxkUGFyYW1zLnNvbEluc3RydWN0aW9ucykpIHtcbiAgICAgICAgbWlzbWF0Y2hFcnJvcnMucHVzaChcbiAgICAgICAgICBgU29sYW5hIGluc3RydWN0aW9ucyBtaXNtYXRjaC4gRXhwZWN0ZWQ6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBidWlsZFBhcmFtcy5zb2xJbnN0cnVjdGlvbnNcbiAgICAgICAgICApfSwgR290OiAke0pTT04uc3RyaW5naWZ5KChleHBsYWluZWRUcmFuc2FjdGlvbiBhcyBhbnkpLnNvbEluc3RydWN0aW9ucyl9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtaXNtYXRjaEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgU3Rha2luZyB0cmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZCBiZWZvcmUgc2lnbmluZzogJHttaXNtYXRjaEVycm9ycy5qb2luKCc7ICcpfWA7XG4gICAgICBkZWJ1ZyhlcnJvck1lc3NhZ2UpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKCFidWlsZFBhcmFtcykge1xuICAgICAgZGVidWcoXG4gICAgICAgIGBDYW5ub3QgcGVyZm9ybSBkZWVwIHZhbGlkYXRpb24gZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5zdGFraW5nUmVxdWVzdElkfSB3aXRob3V0IHNwZWNpZmllZCBidWlsZCBwYXJhbXNgXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc1N0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFJlc3VsdChcbiAgdHg6IFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0WydyZXN1bHQnXVxuKTogdHggaXMgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQge1xuICByZXR1cm4gKHR4IGFzIFN0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0KS50eFJlcXVlc3RJZCAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|