@bitgo-beta/sdk-core 8.2.1-beta.2102 → 8.2.1-beta.2104

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.
@@ -254,6 +254,11 @@ export interface TransactionParams {
254
254
  memo?: Memo;
255
255
  enableTokens?: TokenEnablement[];
256
256
  stakingRequestId?: string;
257
+ /** ERC-7984 shield intent (`type: 'wrapApprove' | 'wrap'`): wrapper coin name and exact amount. */
258
+ wrapParams?: {
259
+ tokenName: string;
260
+ amount: string;
261
+ };
257
262
  }
258
263
  export interface AddressVerificationData {
259
264
  coinSpecific?: AddressCoinSpecific;
@@ -1 +1 @@
1
- {"version":3,"file":"iBaseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/iBaseCoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iBaseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/iBaseCoin.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,4 @@ var SignTypedDataVersion;
18
18
  SignTypedDataVersion["V3"] = "V3";
19
19
  SignTypedDataVersion["V4"] = "V4";
20
20
  })(SignTypedDataVersion || (exports.SignTypedDataVersion = SignTypedDataVersion = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2TUEsOERBU0M7QUFqTVksUUFBQSxhQUFhLEdBQUc7SUFDM0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBcUxYLFNBQWdCLHlCQUF5QixDQUN2QyxNQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsQ0FDUCxXQUFXLElBQUksTUFBTTtRQUNyQixPQUFPLElBQUksTUFBTTtRQUNqQixTQUFTLElBQUksTUFBTTtRQUNuQixNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBMFFELElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtJQUNULGlDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVG9rZW5Db25maWcsIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgSUVudGVycHJpc2VzIH0gZnJvbSAnLi4vZW50ZXJwcmlzZSc7XG5pbXBvcnQgeyBBcGlLZXlTaGFyZSwgSUtleWNoYWlucywgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJTWFya2V0cyB9IGZyb20gJy4uL21hcmtldCc7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFscyB9IGZyb20gJy4uL3BlbmRpbmdBcHByb3ZhbCc7XG5pbXBvcnQgeyBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3JlY292ZXJ5JztcbmltcG9ydCB7IEVjZHNhTVBDdjJVdGlscywgRWNkc2FVdGlscyB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lY2RzYSc7XG5pbXBvcnQgRWRkc2FVdGlscywgeyBFZGRzYU1QQ3YyVXRpbHMsIFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VkZHNhJztcbmltcG9ydCB7IFJlZHBhbGxhc01QQ3YyVXRpbHMgfSBmcm9tICcuLi91dGlscy90c3MvcmVkcGFsbGFzJztcbmltcG9ydCB7IENyZWF0ZUFkZHJlc3NGb3JtYXQsIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiwgSVdhbGxldCwgSVdhbGxldHMsIE1lbW8sIFdhbGxldCwgV2FsbGV0RGF0YSB9IGZyb20gJy4uL3dhbGxldCc7XG5cbmltcG9ydCB7IFRva2VuRW5hYmxlbWVudCwgdW5pZmllZEFkZHJlc3NQcmVmZXJlbmNlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IElJbnNjcmlwdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSwgTVBDVHgsIFBvcHVsYXRlZEludGVudCwgVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcywgVG9rZW5UeXBlLCBUcmlwbGUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFNpZ25hYmxlVHJhbnNhY3Rpb24gfSBmcm9tICcuLi91dGlscy90c3MvYmFzZVR5cGVzJztcbmltcG9ydCB7IElXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2svaVdlYmhvb2tzJztcblxuZXhwb3J0IGNvbnN0IG11bHRpc2lnVHlwZXMgPSB7XG4gIG9uY2hhaW46ICdvbmNoYWluJyxcbiAgdHNzOiAndHNzJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE11bHRpc2lnVHlwZSA9IGtleW9mIHR5cGVvZiBtdWx0aXNpZ1R5cGVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCBleHRlbmRzIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLy8gb2YgZm9ybSBjb2luOnRva2VuXG4gIGNvaW5OYW1lPzogc3RyaW5nO1xuICBpc1BheUdvPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHdhbGxldD86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIHdhbGxldFYxPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICAvLyBcImNoYW5nZVwiIGlzIGEgdXR4by1zcGVjaWZpYyBjb25jZXB0IGFuZCB0aGlzIHByb3BlcnR5IHNob3VsZFxuICAvLyBiZSByZW1vdmVkIG9uY2UgaXQgaXQncyB1c2FnZSBpcyByZWZhY3RvcmVkIG91dCBvZiBiYXNlIGNvaW4gbG9naWNcbiAgY2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXQgPSB7XG4gIGRlcml2YXRpb25JbmRleD86IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgLy8gdGhlIHByb3BlcnRpZXMgYmVsb3cgYXJlIHV0eG8tcmVsYXRlZCBidXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIGFic3RyYWN0QmFzZUNvaW5cbiAgLy8gdGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGVpciB1c2FnZSBpcyByZW1vdmVkIGZyb20gdGhlIGJhc2UgY29pbiBjbGFzc1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVbnNpZ25lZFRyYW5zYWN0aW9uID0ge1xuICAvLyB1bnNpZ25lZCB0cmFuc2FjdGlvbiBpbiBicm9hZGNhc3QgZm9ybWF0XG4gIHNlcmlhbGl6ZWRUeEhleDogc3RyaW5nO1xuICAvLyBwb3J0aW9uIG9mIGEgdHJhbnNhY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSBhIHNpZ25hdHVyZVxuICBzaWduYWJsZUhleDogc3RyaW5nO1xuICAvLyB0cmFuc2FjdGlvbiBmZWVzXG4gIGZlZUluZm8/OiB7XG4gICAgZmVlOiBudW1iZXIgfCBCaWdOdW1iZXI7XG4gICAgZmVlU3RyaW5nOiBzdHJpbmc7XG4gIH07XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBlbnRyeVZhbHVlczogYW55O1xuICBwYXJzZWRUeDogVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25SZXN1bHQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIGJsb2NrTnVtYmVyOiBudW1iZXIgfCB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xuICBwcm9ncmFtSWQ/OiBzdHJpbmc7XG4gIG1lbW8/OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHRva2VuIGVuYWJsZW1lbnQgKGUuZy4sIGNyZWF0aW9uIG9mIGFuIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9rZW5FbmFibGVtZW50IHtcbiAgYWRkcmVzczogc3RyaW5nOyAvLyBBc3NvY2lhdGVkIHRva2VuIGFjY291bnQgYWRkcmVzc1xuICB0b2tlbk5hbWU6IHN0cmluZzsgLy8gTmFtZSBvZiB0aGUgdG9rZW4gYmVpbmcgZW5hYmxlZFxuICB0b2tlbkFkZHJlc3M/OiBzdHJpbmc7IC8vIENvbnRyYWN0IGFkZHJlc3Mgb2YgdGhlIHRva2VuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uRmVlPFRBbW91bnQgPSBzdHJpbmc+IHtcbiAgZmVlOiBUQW1vdW50O1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBzaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBdWRpdEtleVBhcmFtcyA9IHsgcHJ2Pzogc3RyaW5nOyBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7IHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmcgfSAmIChcbiAgfCB7IHBydjogc3RyaW5nIH1cbiAgfCB7IGVuY3J5cHRlZFBydjogc3RyaW5nOyB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcgfVxuKSAmXG4gIChcbiAgICB8IHtcbiAgICAgICAgbXVsdGlTaWdUeXBlOiAndHNzJztcbiAgICAgICAgcHVibGljS2V5OiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG11bHRpU2lnVHlwZT86ICdvbmNoYWluJztcbiAgICAgICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgICAgfVxuICApO1xuXG5leHBvcnQgdHlwZSBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyA9IE9taXQ8QXVkaXRLZXlQYXJhbXMsICdlbmNyeXB0ZWRQcnYnIHwgJ3dhbGxldFBhc3NwaHJhc2UnPiAmIHsgcHJ2OiBzdHJpbmcgfTtcblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxURmVlID0gYW55LCBUQW1vdW50ID0gYW55PiB7XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBkaXNwbGF5T3JkZXI/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgLyoqIE5PVEU6IEV4dGVybmFsIHJlY2lwaWVudHMgKi9cbiAgb3V0cHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIC8qKiBOT1RFOiBFeHRlcm5hbCBhbW91bnQgKi9cbiAgb3V0cHV0QW1vdW50OiBUQW1vdW50O1xuICBjaGFuZ2VPdXRwdXRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgY2hhbmdlQW1vdW50OiBUQW1vdW50O1xuICBmZWU6IFRGZWU7XG4gIHByb3h5Pzogc3RyaW5nO1xuICBwcm9kdWNlcnM/OiBzdHJpbmdbXTtcbiAgLyoqIE5PVEU6IFRva2VucyBiZWluZyBlbmFibGVkIGZvciB0aGUgd2FsbGV0ICovXG4gIHRva2VuRW5hYmxlbWVudHM/OiBJVG9rZW5FbmFibGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5UGFpciB7XG4gIHB1Yj86IHN0cmluZztcbiAgcHJ2OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsc0tleVBhaXIgZXh0ZW5kcyBLZXlQYWlyIHtcbiAgc2VjcmV0U2hhcmVzPzogc3RyaW5nW107XG4gIGNoYWluY29kZTogc3RyaW5nO1xuICBzZWVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgZm9ybWF0PzogQ3JlYXRlQWRkcmVzc0Zvcm1hdDtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhZGRyZXNzVHlwZT86IHN0cmluZztcbiAga2V5Y2hhaW5zPzoge1xuICAgIHB1Yjogc3RyaW5nO1xuICB9W107XG4gIGVycm9yPzogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBpbXBsaWVkRm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHNlZWQgdmFsdWUgZnJvbSB1c2VyIGtleWNoYWluJ3MgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCBmaWVsZC5cbiAgICogRm9yIFNNQyAoU2VsZi1NYW5hZ2VkIEN1c3RvZGlhbCkgVFNTIHdhbGxldHMsIHRoaXMgaXMgdXNlZCB0byBjb21wdXRlIHRoZSBkZXJpdmF0aW9uIHByZWZpeC5cbiAgICovXG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBNUEMgc2lnbmluZyBwcm90b2NvbCB2ZXJzaW9uIG9mIHRoZSB3YWxsZXQgKGUuZy4gJ01QQ3YyJykuXG4gICAqIFVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBNUEN2MSBhbmQgTVBDdjIgd2FsbGV0cy5cbiAgICovXG4gIG11bHRpc2lnVHlwZVZlcnNpb24/OiAnTVBDdjInO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHZlcmlmeWluZyBpZiBhbiBhZGRyZXNzIGJlbG9uZ3MgdG8gYSBUU1MvTVBDIHdhbGxldC5cbiAqIFVzZWQgZm9yIEVkRFNBLWJhc2VkIE1QQyBjb2lucyAoU09MLCBET1QsIFNVSSwgVE9OLCBJT1RBLCBORUFSLCBldGMuKVxuICogdG8gY3J5cHRvZ3JhcGhpY2FsbHkgdmVyaWZ5IGFkZHJlc3MgZGVyaXZhdGlvbiB3aXRob3V0IHRydXN0aW5nIHRoZSBwbGF0Zm9ybS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIC8qKiBUaGUgYWRkcmVzcyB0byB2ZXJpZnkgKi9cbiAgYWRkcmVzczogc3RyaW5nO1xuICAvKipcbiAgICogS2V5Y2hhaW5zIGNvbnRhaW5pbmcgdGhlIGNvbW1vbktleWNoYWluIGZvciBIRCBkZXJpdmF0aW9uLlxuICAgKiBGb3IgTVBDIHdhbGxldHMsIHRoZSBjb21tb25LZXljaGFpbiAoY29tYmluZWQgcHVibGljIGtleSBmcm9tIE1QQyBrZXkgZ2VuZXJhdGlvbilcbiAgICogc2hvdWxkIGJlIGlkZW50aWNhbCBhY3Jvc3MgYWxsIGtleWNoYWlucyAodXNlciwgYmFja3VwLCBiaXRnbykuXG4gICAqL1xuICBrZXljaGFpbnM6IFBpY2s8S2V5Y2hhaW4sICdjb21tb25LZXljaGFpbic+W107XG4gIC8qKlxuICAgKiBEZXJpdmF0aW9uIGluZGV4IGZvciB0aGUgYWRkcmVzcy5cbiAgICogVXNlZCB0byBkZXJpdmUgY2hpbGQgYWRkcmVzc2VzIGZyb20gdGhlIHJvb3Qga2V5Y2hhaW4gdmlhIEhEIGRlcml2YXRpb24gcGF0aDogbS97aW5kZXh9XG4gICAqIEZvciBTTUMgKFNlbGYtTWFuYWdlZCBDdXN0b2RpYWwpIHdhbGxldHMsIHRoZSBwYXRoIGluY2x1ZGVzIGEgcHJlZml4OiBtL3tkZXJpdmF0aW9uUHJlZml4fS97aW5kZXh9XG4gICAqL1xuICBpbmRleDogbnVtYmVyIHwgc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VlZCB2YWx1ZSBmcm9tIHVzZXIga2V5Y2hhaW4ncyBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkIGZpZWxkLlxuICAgKiBGb3IgU01DIChTZWxmLU1hbmFnZWQgQ3VzdG9kaWFsKSB3YWxsZXRzLCB0aGlzIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGUgZGVyaXZhdGlvbiBwcmVmaXguXG4gICAqIFRoZSBkZXJpdmF0aW9uIHBhdGggYmVjb21lcyB7Y29tcHV0ZWRQcmVmaXh9L3tpbmRleH0gaW5zdGVhZCBvZiBtL3tpbmRleH0uXG4gICAqL1xuICBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkPzogc3RyaW5nO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgTVBDIHNpZ25pbmcgcHJvdG9jb2wgdmVyc2lvbiBvZiB0aGUgd2FsbGV0IChlLmcuICdNUEN2MicpLlxuICAgKiBVc2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gTVBDdjEgYW5kIE1QQ3YyIHdhbGxldHMuXG4gICAqL1xuICBtdWx0aXNpZ1R5cGVWZXJzaW9uPzogJ01QQ3YyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnM8VCBleHRlbmRzIFZlcmlmeUFkZHJlc3NPcHRpb25zIHwgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnM+KFxuICBwYXJhbXM6IFRcbik6IHBhcmFtcyBpcyBUICYgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICByZXR1cm4gISEoXG4gICAgJ2tleWNoYWlucycgaW4gcGFyYW1zICYmXG4gICAgJ2luZGV4JyBpbiBwYXJhbXMgJiZcbiAgICAnYWRkcmVzcycgaW4gcGFyYW1zICYmXG4gICAgcGFyYW1zLmtleWNoYWlucz8uc29tZSgoa2MpID0+ICdjb21tb25LZXljaGFpbicgaW4ga2MgJiYgISFrYy5jb21tb25LZXljaGFpbilcbiAgKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBsb2NhbGx5IGRlcml2aW5nIGEgd2FsbGV0IHJlY2VpdmUgYWRkcmVzcyBmcm9tIGEgZGVyaXZhdGlvbiBwYXRoLlxuICpcbiAqIFVubGlrZSB7QGxpbmsgVmVyaWZ5QWRkcmVzc09wdGlvbnN9LCB3aGljaCBjaGVja3MgYSBjYW5kaWRhdGUgYWRkcmVzcywgdGhlc2Ugb3B0aW9ucyBhcmVcbiAqIHVzZWQgdG8gKnByb2R1Y2UqIHRoZSBhZGRyZXNzIG9mZmxpbmUgZnJvbSBwdWJsaWMga2V5IG1hdGVyaWFsIG9ubHk6XG4gKiAtIHRoZSB1c2VyL2JhY2t1cC9iaXRnbyB4cHViIHRyaXBsZSAoYHB1YmApIGZvciBCSVAzMiBtdWx0aXNpZyBjb2lucywgb3JcbiAqIC0gdGhlIGBjb21tb25LZXljaGFpbmAgZm9yIFRTUy9NUEMgY29pbnMuXG4gKlxuICogTm8gcHJpdmF0ZSBrZXlzIGFuZCBubyBuZXR3b3JrIGFjY2VzcyBhcmUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlQWRkcmVzc09wdGlvbnNcbiAgZXh0ZW5kcyBQaWNrPFZlcmlmeUFkZHJlc3NPcHRpb25zLCAnZm9ybWF0JyB8ICdkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkJyB8ICdtdWx0aXNpZ1R5cGVWZXJzaW9uJz4ge1xuICAvLyBgZm9ybWF0YCwgYGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWRgIGFuZCBgbXVsdGlzaWdUeXBlVmVyc2lvbmAgYXJlIHJldXNlZCBmcm9tXG4gIC8vIFZlcmlmeUFkZHJlc3NPcHRpb25zIHNvIGRlcml2ZSBhbmQgdmVyaWZ5IHN0YXkgaW4gc3luYyBvbiBzaGFyZWQgZmllbGRzLlxuICAvKipcbiAgICogRGVyaXZhdGlvbiBpbmRleCBmb3IgdGhlIGFkZHJlc3MuXG4gICAqIEZvciBCSVAzMiBtdWx0aXNpZyBjb2lucyB0aGlzIGlzIGNvbWJpbmVkIHdpdGggYGNoYWluYDsgZm9yIFRTUy9NUEMgY29pbnMgdGhlXG4gICAqIGRlcml2YXRpb24gcGF0aCBpcyBgbS97aW5kZXh9YCAob3IgYHtwcmVmaXh9L3tpbmRleH1gIGZvciBTTUMgd2FsbGV0cykuXG4gICAqL1xuICBpbmRleDogbnVtYmVyO1xuICAvKiogRGVyaXZhdGlvbiBjaGFpbiBjb2RlIChVVFhPIHNjcmlwdC10eXBlIC8gZXh0ZXJuYWwtdnMtaW50ZXJuYWwgc2VsZWN0b3IpLiAqL1xuICBjaGFpbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFB1YmxpYyBrZXkgbWF0ZXJpYWwgZm9yIGRlcml2YXRpb24uIEVhY2gga2V5Y2hhaW4gbXVzdCBjYXJyeSBhdCBsZWFzdCBvbmUgb2Y6XG4gICAqIC0gQklQMzIgbXVsdGlzaWcgKFVUWE8sIGxlZ2FjeSBFVk0pOiB0aGUgdXNlci9iYWNrdXAvYml0Z28geHB1YiB0cmlwbGUgdmlhIGBwdWJgLlxuICAgKiAtIFRTUy9NUEMgKFNPTCwgRVZNIE1QQywgZXRjLik6IHRoZSBgY29tbW9uS2V5Y2hhaW5gIChpZGVudGljYWwgYWNyb3NzIGtleWNoYWlucykuXG4gICAqXG4gICAqIE1vZGVsbGVkIGFzIGEgdW5pb24gc28gYSBrZXljaGFpbiB3aXRoIG5laXRoZXIgZmllbGQgaXMgYSB0eXBlIGVycm9yLiBBIGtleWNoYWluIG1heVxuICAgKiBzdGlsbCBjYXJyeSBib3RoIGZpZWxkcyAoVFNTIGtleWNoYWlucyBjb21tb25seSBleHBvc2UgYHB1YmAgYWxvbmdzaWRlIGBjb21tb25LZXljaGFpbmApLlxuICAgKi9cbiAga2V5Y2hhaW5zPzogKHsgcHViOiBzdHJpbmcgfSB8IHsgY29tbW9uS2V5Y2hhaW46IHN0cmluZyB9KVtdO1xuICAvKiogV2FsbGV0IHZlcnNpb24sIHVzZWQgdG8gZGlzYW1iaWd1YXRlIGRlcml2YXRpb24gc3RyYXRlZ3kgZm9yIHNvbWUgY29pbiBmYW1pbGllcy4gKi9cbiAgd2FsbGV0VmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRva2VuIG5hbWUgKGUuZy4gYHNvbDp1c2RjYCwgYHRzb2w6dXNkdGApIHRvIGRlcml2ZSBhIHRva2VuIGRlcG9zaXQgYWRkcmVzcyBpbnN0ZWFkIG9mIHRoZVxuICAgKiBuYXRpdmUgcmVjZWl2ZSBhZGRyZXNzLiBGb3IgU29sYW5hIHRoaXMgcmVzb2x2ZXMgdG8gdGhlIFNQTCBtaW50IGFuZCByZXR1cm5zIHRoZSB3YWxsZXQnc1xuICAgKiBBc3NvY2lhdGVkIFRva2VuIEFjY291bnQgKEFUQSkgZm9yIHRoYXQgbWludC4gSWdub3JlZCBieSBjb2lucy90b2tlbnMgdGhhdCByZXVzZSB0aGUgbmF0aXZlXG4gICAqIGFkZHJlc3MgKGUuZy4gRVJDLTIwIG9uIEVWTSkuXG4gICAqL1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXYWxsZXQgYmFzZSBhZGRyZXNzICh0aGUgd2FsbGV0IGNvbnRyYWN0IGFkZHJlc3MgZm9yIEVWTSB3YWxsZXRzKS4gUmVxdWlyZWQgdG8gZGVyaXZlXG4gICAqIHBlci1pbmRleCBmb3J3YXJkZXIgKENSRUFURTIpIHJlY2VpdmUgYWRkcmVzc2VzIGZvciBsZWdhY3kgbXVsdGlzaWcgRVZNIHdhbGxldHMuXG4gICAqL1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgLyoqXG4gICAqIENvaW4tc3BlY2lmaWMgZGVyaXZhdGlvbiBpbnB1dHMuIEZvciBFVk0gbGVnYWN5IGZvcndhcmRlciB3YWxsZXRzIHRoaXMgY2Fycmllc1xuICAgKiBgZm9yd2FyZGVyVmVyc2lvbmAgKDEvMi80KSBhbmQsIGZvciB2NCwgYGZlZUFkZHJlc3NgLlxuICAgKi9cbiAgY29pblNwZWNpZmljPzogQWRkcmVzc0NvaW5TcGVjaWZpYztcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgbG9jYWxseSBkZXJpdmluZyBhIHdhbGxldCByZWNlaXZlIGFkZHJlc3MuXG4gKlxuICogRXh0ZW5kcyB7QGxpbmsgQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGF9IChgY2hhaW5gLCBgaW5kZXhgLCBgY29pblNwZWNpZmljYCkgYW5kIGFkZHMgdGhlXG4gKiByZXNvbHZlZCBgYWRkcmVzc2AgYW5kIHRoZSBIRCBgZGVyaXZhdGlvblBhdGhgIGFjdHVhbGx5IHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlQWRkcmVzc1Jlc3VsdCBleHRlbmRzIEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIHtcbiAgLyoqIFRoZSBkZXJpdmVkIGFkZHJlc3MuICovXG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLyoqIFRoZSBkZXJpdmF0aW9uIGluZGV4IHVzZWQuICovXG4gIGluZGV4OiBudW1iZXI7XG4gIC8qKiBUaGUgSEQgZGVyaXZhdGlvbiBwYXRoIGFjdHVhbGx5IHVzZWQgdG8gZGVyaXZlIHRoZSBhZGRyZXNzLiAqL1xuICBkZXJpdmF0aW9uUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIHJlY2lwaWVudHM/OiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbWVtbz86IE1lbW87XG4gIGVuYWJsZVRva2Vucz86IFRva2VuRW5hYmxlbWVudFtdO1xuICBzdGFraW5nUmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIHtcbiAgY29pblNwZWNpZmljPzogQWRkcmVzc0NvaW5TcGVjaWZpYztcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmaWNhdGlvbk9wdGlvbnMge1xuICBkaXNhYmxlTmV0d29ya2luZz86IGJvb2xlYW47XG4gIGtleWNoYWlucz86IHtcbiAgICB1c2VyPzogS2V5Y2hhaW47XG4gICAgYmFja3VwPzogS2V5Y2hhaW47XG4gICAgYml0Z28/OiBLZXljaGFpbjtcbiAgfTtcbiAgYWRkcmVzc2VzPzogeyBbYWRkcmVzczogc3RyaW5nXTogQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGEgfTtcbiAgYWxsb3dQYXlnb091dHB1dD86IGJvb2xlYW47XG4gIGNvbnNpZGVyTWlncmF0ZWRGcm9tQWRkcmVzc0ludGVybmFsPzogYm9vbGVhbjtcbiAgdmVyaWZ5VG9rZW5FbmFibGVtZW50PzogYm9vbGVhbjtcbiAgLy8gVmVyaWZ5IHRyYW5zYWN0aW9uIGlzIGNvbnNvbGlkYXRpbmcgdG8gd2FsbGV0J3MgYmFzZSBhZGRyZXNzXG4gIGNvbnNvbGlkYXRpb25Ub0Jhc2VBZGRyZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXM7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgdmVyaWZpY2F0aW9uPzogVmVyaWZpY2F0aW9uT3B0aW9ucztcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgd2FsbGV0VHlwZT86ICdvbmNoYWluJyB8ICd0c3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBkaXNhYmxlVHJhbnNhY3Rpb25Ob3RpZmljYXRpb25zPzogYm9vbGVhbjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGVpcDE1NTk/OiB7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gIH07XG4gIHdhbGxldFZlcnNpb24/OiBudW1iZXI7XG4gIGtleXM/OiBzdHJpbmdbXTtcbiAga2V5U2lnbmF0dXJlcz86IHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9O1xuICByb290UHJpdmF0ZUtleT86IHN0cmluZztcbiAgZGlzYWJsZUtSU0VtYWlsPzogYm9vbGVhbjtcbiAgbXVsdGlzaWdUeXBlPzogJ3RzcycgfCAnb25jaGFpbicgfCAnYmxzZGtnJztcbiAgdHlwZTogJ2hvdCcgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdhZHZhbmNlZCcgfCAndHJhZGluZyc7XG4gIHN1YlR5cGU/OiAnbGlnaHRuaW5nQ3VzdG9keScgfCAnbGlnaHRuaW5nU2VsZkN1c3RvZHknIHwgJ29uUHJlbSc7XG4gIGNvaW5TcGVjaWZpYz86IHsgW2NvaW5OYW1lOiBzdHJpbmddOiB1bmtub3duIH07XG4gIGV2bUtleVJpbmdSZWZlcmVuY2VXYWxsZXRJZD86IHN0cmluZztcbiAgbGlnaHRuaW5nUHJvdmlkZXI/OiAndm9sdGFnZScgfCAnYW1ib3NzJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVFc3RpbWF0ZU9wdGlvbnMge1xuICBudW1CbG9ja3M/OiBudW1iZXI7XG4gIGhvcD86IGJvb2xlYW47XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgYW1vdW50Pzogc3RyaW5nO1xuICB0eXBlPzoga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZTtcbn1cblxuLyoqIEhvdyBhIFpjYXNoIFVuaWZpZWQgQWRkcmVzcyByZWNpcGllbnQgc2hvdWxkIGJlIHJlc29sdmVkLiAqL1xuZXhwb3J0IHR5cGUgVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgPSB1bmlmaWVkQWRkcmVzc1ByZWZlcmVuY2U7XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhUHJlYnVpbGRQYXJhbXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIGhvdyB0byByZXNvbHZlIGEgVW5pZmllZCBBZGRyZXNzIHJlY2lwaWVudCAoYCdzaGllbGRlZCdgIG9yIGAndHJhbnNwYXJlbnQnYCkuXG4gICAqL1xuICB1bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZT86IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkPzogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgd2FsbGV0RGF0YTogV2FsbGV0RGF0YTtcbiAgdHNzVXRpbHM6IEVjZHNhVXRpbHMgfCBFY2RzYU1QQ3YyVXRpbHMgfCBFZGRzYVV0aWxzIHwgRWRkc2FNUEN2MlV0aWxzIHwgUmVkcGFsbGFzTVBDdjJVdGlscyB8IHVuZGVmaW5lZDtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQcmVjcmVhdGVCaXRHb09wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBUaGlzIGlzIG9ubHkgdXNlZCBmb3IgZGV0ZXJtaW5pbmcgdGhlIFBheUdvIGZlZSBvZiBhIHRyYW5zYWN0aW9uIHdoaWNoIGlzIG9ubHkgcmVsZXZhbnQgZm9yIFVUWE8gY29pbnMuXG4gKiBTb21lIGNvaW5zIHJldHVybiB2YXJpb3VzIG90aGVyIGZpZWxkcyBoZXJlLCBidXQgdGhleSBhcmUgb25seSB1c2VkIGludGVybmFsbHkgYnkgdGhlIHJlc3BlY3RpdmUgY29pbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkVHJhbnNhY3Rpb24ge1xuICAvLyB0aGUgY2FsbHNpdGUgYXNzdW1lcyB0aGF0IHRoaXMgaXMgdGhlIFBheUdvIGFtb3VudFxuICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ/OiBudW1iZXIgfCBiaWdpbnQ7XG4gIC8vIGNvaW5zIG1heSBhZGQgaW50ZXJuYWwgZmllbGRzXG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCB0eXBlIFVuc2lnbmVkUGFyc2VkVHJhbnNhY3Rpb24gPSB7XG4gIGlucHV0czogSW5wdXRbXTtcbiAgbWluZXJGZWU6IG51bWJlciB8IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIHNwZW5kQW1vdW50OiBudW1iZXIgfCBzdHJpbmc7XG4gIGhhc1VudmFsaWRhdGVkRGF0YT86IGJvb2xlYW47XG4gIHBheUdvRmVlPzogbnVtYmVyO1xuICB0eXBlPzogc3RyaW5nO1xuICBzZXF1ZW5jZUlkOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICBiYWNrdXBLZXljaGFpbjogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ0tleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICB1c2VyQXV0aEtleWNoYWluOiBLZXljaGFpbjtcbiAgbm9kZUF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG59XG5cbmludGVyZmFjZSBCdWlsZFBhcmFtcyB7XG4gIHByZXZpZXc/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG59XG5cbmludGVyZmFjZSBCYXNlU2lnbmFibGUge1xuICB3YWxsZXQ/OiBJV2FsbGV0O1xuICBidWlsZFBhcmFtcz86IEJ1aWxkUGFyYW1zICYgUGFydGlhbDxhbnk+O1xuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblByZWJ1aWxkIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICB0eEluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFhwdWJXaXRoRGVyaXZhdGlvblBhdGgge1xuICB4cHViOiBzdHJpbmc7XG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sZFRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICBwdWJzPzogc3RyaW5nW107XG4gIHhwdWJzV2l0aERlcml2YXRpb25QYXRoPzogUGFydGlhbDxSZWNvcmQ8QXBpS2V5U2hhcmVbJ2Zyb20nXSwgWHB1YldpdGhEZXJpdmF0aW9uUGF0aD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2UgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xuICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgc2lnbmVyQWRkcmVzcz86IHN0cmluZztcbiAgLyoqIEJhc2U2NC1lbmNvZGVkIHByZXBhcmVkIHRyYW5zYWN0aW9uIGJ5dGVzIHJlcXVpcmVkIGJ5IENhbnRvbiBtZXNzYWdlIHNpZ25pbmcuICovXG4gIHByZXBhcmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVQcm9wZXJ0eSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVHlwZXMge1xuICBFSVA3MTJEb21haW46IE1lc3NhZ2VUeXBlUHJvcGVydHlbXTtcbiAgW2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBzdHJpbmddOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG59XG5cbmV4cG9ydCBlbnVtIFNpZ25UeXBlZERhdGFWZXJzaW9uIHtcbiAgVjEgPSAnVjEnLFxuICBWMyA9ICdWMycsXG4gIFY0ID0gJ1Y0Jyxcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBtZXNzYWdlIGZvcm1hdCB1c2VkIGZvciBgc2lnblR5cGVEYXRhYCwgZm9yIGFsbCB2ZXJzaW9uc1xuICogZXhjZXB0IGBWMWAuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgY3VzdG9tIHR5cGVzIHVzZWQgYnkgdGhpcyBtZXNzYWdlLlxuICogQHByb3BlcnR5IHR5cGVzIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBwcmltYXJ5VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlLlxuICogQHByb3BlcnR5IGRvbWFpbiAtIFNpZ25pbmcgZG9tYWluIG1ldGFkYXRhLiBUaGUgc2lnbmluZyBkb21haW4gaXMgdGhlIGludGVuZGVkIGNvbnRleHQgZm9yIHRoZVxuICogc2lnbmF0dXJlIChlLmcuIHRoZSBkYXBwLCBwcm90b2NvbCwgZXRjLiB0aGF0IGl0J3MgaW50ZW5kZWQgZm9yKS4gVGhpcyBkYXRhIGlzIHVzZWQgdG9cbiAqIGNvbnN0cnVjdCB0aGUgZG9tYWluIHNlcGVyYXRvciBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4ubmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyc2lvbiAtIFRoZSBjdXJyZW50IG1ham9yIHZlcnNpb24gb2YgdGhlIHNpZ25pbmcgZG9tYWluLlxuICogQHByb3BlcnR5IGRvbWFpbi5jaGFpbklkIC0gVGhlIGNoYWluIElEIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyaWZ5aW5nQ29udHJhY3QgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdGhhdCBjYW4gdmVyaWZ5IHRoZSBzaWduYXR1cmUuXG4gKiBAcHJvcGVydHkgZG9tYWluLnNhbHQgLSBBIGRpc2FtYmlndWF0aW5nIHNhbHQgZm9yIHRoZSBwcm90b2NvbC5cbiAqIEBwcm9wZXJ0eSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgc2lnbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkTWVzc2FnZTxUIGV4dGVuZHMgTWVzc2FnZVR5cGVzPiB7XG4gIHR5cGVzOiBUO1xuICBwcmltYXJ5VHlwZToga2V5b2YgVDtcbiAgZG9tYWluOiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIGNoYWluSWQ/OiBudW1iZXI7XG4gICAgdmVyaWZ5aW5nQ29udHJhY3Q/OiBzdHJpbmc7XG4gICAgc2FsdD86IEFycmF5QnVmZmVyO1xuICB9O1xuICBtZXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlZERhdGEgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICB0eXBlZERhdGFSYXc6IHN0cmluZztcbiAgdmVyc2lvbjogU2lnblR5cGVkRGF0YVZlcnNpb247XG4gIHR5cGVkRGF0YUVuY29kZWQ/OiBCdWZmZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc0NvaW5TcGVjaWZpYyB7XG4gIG91dHB1dFNjcmlwdD86IHN0cmluZztcbiAgcmVkZWVtU2NyaXB0Pzogc3RyaW5nO1xuICB3aXRuZXNzU2NyaXB0Pzogc3RyaW5nO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgcGVuZGluZ0NoYWluSW5pdGlhbGl6YXRpb24/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICAvKiogRmVlIGFkZHJlc3MgZm9yIHY0IEVWTSBmb3J3YXJkZXJzICh1c2VkIHdoZW4gZGVyaXZpbmcvdmVyaWZ5aW5nIHY0IGZvcndhcmRlciBhZGRyZXNzZXMpLiAqL1xuICBmZWVBZGRyZXNzPzogc3RyaW5nO1xuICAvKipcbiAgICogWmNhc2ggc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2QpIHJlY2VpdmVyIGRhdGEgcmVwb3J0ZWQgYnkgd2FsbGV0LXBsYXRmb3JtLiBQcmVzZW50XG4gICAqIG9ubHkgZm9yIHNoaWVsZGVkIGFkZHJlc3Nlczsgc2VlIGBhc3NlcnRTaGllbGRlZFdhbGxldEFkZHJlc3NgLlxuICAgKi9cbiAgc2hpZWxkZWQ/OiB7XG4gICAgLyoqIFJlY2VpdmVyIHR5cGUsIGUuZy4gJ2lyb253b29kJy4gKi9cbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIC8qKiAxMS1ieXRlIGhleCBkaXZlcnNpZmllci4gKi9cbiAgICBkaXZlcnNpZmllcj86IHN0cmluZztcbiAgICAvKiogMzItYnl0ZSBoZXggYHBrX2RgLiAqL1xuICAgIHBrRD86IHN0cmluZztcbiAgICAvKiogV2FsbGV0IGFkZHJlc3MgaW5kZXggdGhlIGRpdmVyc2lmaWVyIHdhcyBkZXJpdmVkIGZyb20uICovXG4gICAgZGl2ZXJzaWZpZXJJbmRleD86IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdWxseVNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbiAgLyoqXG4gICAqIFBTQlQtbGl0ZSBoZXggcHJlc2VydmVkIGZyb20gYSBwZW5kaW5nIGFwcHJvdmFsJ3MgY29pblNwZWNpZmljLlxuICAgKiBPbmx5IHByZXNlbnQgaW4gdGhlIFBBIGFwcHJvdmFsIGZsb3cg4oCUIG5vdCBpbiByZWd1bGFyIHNpZ24vc2VuZCBmbG93cy5cbiAgICovXG4gIHR4SGV4UHNidD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkQWNjb3VudFRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRUcmFuc2FjdGlvbiBleHRlbmRzIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkOiB7XG4gICAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gICAgZXhwaXJlVGltZT86IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ/OiBudW1iZXI7XG4gICAgc2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICB0eEhleD86IG5ldmVyO1xuICAgIGlzQmF0Y2g/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zIHtcbiAga2V5OiBzdHJpbmc7XG4gIHNlZWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZE1vZk5PcHRpb25zIHtcbiAgbT86IG51bWJlcjtcbiAgbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgU2lnbmVkVHJhbnNhY3Rpb24gPVxuICB8IEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb25cbiAgfCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uXG4gIHwgRnVsbHlTaWduZWRUcmFuc2FjdGlvblxuICB8IFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdFxuICB8IFR4UmVxdWVzdDtcblxuLyoqXG4gKiBCYXNlIGZpZWxkcyBzaGFyZWQgYnkgZXZlcnkgbWVzc2FnZS1zaWduIHJlc3VsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlQmFzZSB7XG4gIGNvaW4/OiBzdHJpbmc7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VTdGFuZGFyZFR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBtZXNzYWdlLXNpZ24gcmVxdWVzdCB3YXMgcGFya2VkIGJlaGluZCBhIHBlbmRpbmcgYXBwcm92YWwgYnkgdGhlXG4gKiBtZXNzYWdlLXNpZ25pbmcgcG9saWN5OyBubyBzaWduYXR1cmUgd2FzIHByb2R1Y2VkLiBUaGUgZGlzY3JpbWluYXRvciBpcyB0aGVcbiAqIHNlcnZlci1yZXBvcnRlZCB0eFJlcXVlc3Qgc3RhdGUgKCdwZW5kaW5nQXBwcm92YWwnKSDigJQgbmV2ZXIgaW5mZXJyZWQgZnJvbVxuICogaWQgcHJlc2VuY2UuIFN1cmZhY2UgdGhlIGFwcHJvdmFsLCB0aGVuIHJlLXNpZ24gdmlhXG4gKiBzaWduQW5kU2VuZE1lc3NhZ2VUeFJlcXVlc3Qgb25jZSBpdCBpcyByZXNvbHZlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlUGVuZGluZ0FwcHJvdmFsIGV4dGVuZHMgU2lnbmVkTWVzc2FnZUJhc2Uge1xuICBzdGF0ZTogJ3BlbmRpbmdBcHByb3ZhbCc7XG4gIHBlbmRpbmdBcHByb3ZhbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIG1lc3NhZ2UgaXMgc2lnbmVkIGFuZCB0aGUgcmVxdWVzdCBpcyB0ZXJtaW5hbCAod2FsbGV0LXBsYXRmb3JtXG4gKiB0cmFuc2l0aW9ucyBhIG1lc3NhZ2UgcmVxdWVzdCBwZW5kaW5nRGVsaXZlcnkg4oaSIGRlbGl2ZXJlZCBvbmNlIGFsbFxuICogbWVzc2FnZXMgYXJlIHNpZ25lZDsgdGhlIHR4UmVxdWVzdC1sZXZlbCAnc2lnbmVkJyBzdGF0ZSBpcyBuZXZlciB1c2VkIGZvclxuICogbWVzc2FnZSByZXF1ZXN0cykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkTWVzc2FnZURlbGl2ZXJlZCBleHRlbmRzIFNpZ25lZE1lc3NhZ2VCYXNlIHtcbiAgc3RhdGU6ICdkZWxpdmVyZWQnO1xuICAvLyBAZGVwcmVjYXRlZCAtIHVzZSBgc2lnbmF0dXJlYCBpbnN0ZWFkXG4gIHR4SGFzaDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNjcmltaW5hdGVkIG9uIHRoZSB3YWxsZXQtcGxhdGZvcm0gdHhSZXF1ZXN0IHN0YXRlLiBCUkVBS0lORzogY29uc3VtZXJzXG4gKiB0aGF0IHByZXZpb3VzbHkgcmVhZCBgdHhIYXNoYC9gc2lnbmF0dXJlYCB3aXRob3V0IG5hcnJvd2luZyBtdXN0IGZpcnN0XG4gKiBjaGVjayBgc3RhdGUgPT09ICdkZWxpdmVyZWQnYC5cbiAqL1xuZXhwb3J0IHR5cGUgU2lnbmVkTWVzc2FnZSA9IFNpZ25lZE1lc3NhZ2VQZW5kaW5nQXBwcm92YWwgfCBTaWduZWRNZXNzYWdlRGVsaXZlcmVkO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJXYWxsZXRUb2tlbk9wdGlvbnMge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICB3YWxsZXQ6IElXYWxsZXQ7XG4gIHJlY2lwaWVudDogc3RyaW5nO1xuICBicm9hZGNhc3Q/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjaXBpZW50IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ6IHtcbiAgICByZWNpcGllbnQ6IFJlY2lwaWVudDtcbiAgICBleHBpcmVUaW1lOiBudW1iZXI7XG4gICAgY29udHJhY3RTZXF1ZW5jZUlkOiBudW1iZXI7XG4gICAgb3BlcmF0aW9uSGFzaDogc3RyaW5nO1xuICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIGdhc0xpbWl0OiBudW1iZXI7XG4gICAgZ2FzUHJpY2U6IG51bWJlcjtcbiAgICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICAgIHdhbGxldElkOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5FbmFibGVtZW50Q29uZmlnIHtcbiAgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlwbGVUb2tlbkVuYWJsZW1lbnRzOiBib29sZWFuO1xuICB2YWxpZGF0ZVdhbGxldD86ICh3YWxsZXRUeXBlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGdldEVuYWJsZVRva2VuVHlwZT86ICh0b2tlbk5hbWU6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VQcmVwIHtcbiAgZW5jb2RlTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogJ3JlZHBhbGxhcycgaXMgdGhlIE1QQyBhbGdvcml0aG0gdXNlZCBmb3IgdGhlIFpjYXNoIE9yY2hhcmQgc2hpZWxkZWQgcG9vbCAoUmVkUGFsbGFzIC9cbiAqIFwiSXJvbndvb2RcIikuIFRvZGF5IGl0IG9ubHkgc3VwcG9ydHMgREtHIChrZXkgZ2VuZXJhdGlvbikgdmlhIE1QQ3YyIGluIHRoaXMgU0RLIC0gdGhlcmUgaXMgbm9cbiAqIG9ubGluZSBzZWxmLWN1c3RvZHkgRFNHICh0cmFuc2FjdGlvbiBzaWduaW5nKSBlbnRyeXBvaW50IHlldCwgdGhvdWdoIHRoZSB1bmRlcmx5aW5nXG4gKiBzaWduYXR1cmUtc2hhcmUgcHJpbWl0aXZlcyAoYGJpdGdvL3Rzcy9yZWRwYWxsYXNgKSBhbmQgdGhlIGBzZW5kU2lnbmF0dXJlU2hhcmVWMmAgTVBDdjJcbiAqIHJlcXVlc3QgdHlwZSBleGlzdCBhcyBncm91bmR3b3JrIGZvciBhIGZ1dHVyZSBjdXN0b2RpYWwvY29sZCAoU01DL09WQykgRFNHIHNpZ25pbmcgZmxvdy5cbiAqIEl0IGlzIGFkZGl0aXZlOiBleGlzdGluZyBjb2lucyBuZXZlciByZXR1cm4gaXQgZnJvbSBgZ2V0TVBDQWxnb3JpdGhtKClgIHVubGVzcyBleHBsaWNpdGx5XG4gKiBpbXBsZW1lbnRlZCB0byBkbyBzbywgc28gdGhpcyBkb2VzIG5vdCBjaGFuZ2UgYmVoYXZpb3IgZm9yIGFueSBleGlzdGluZyBFQ0RTQS9FZERTQSBjb2luIG9yXG4gKiBmb3IgWkVDJ3MgZXhpc3RpbmcgdHJhbnNwYXJlbnQgKHNlY3AyNTZrMSkgbXVsdGlzaWcvVFNTIGZsb3dzLlxuICovXG5leHBvcnQgdHlwZSBNUENBbGdvcml0aG0gPSAnZWNkc2EnIHwgJ2VkZHNhJyB8ICdyZWRwYWxsYXMnO1xuXG5leHBvcnQgdHlwZSBORlRUcmFuc2Zlck9wdGlvbnMgPSB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY2lwaWVudEFkZHJlc3M6IHN0cmluZztcbn0gJiAoXG4gIHwge1xuICAgICAgdHlwZTogJ0VSQzcyMScgfCBUb2tlblR5cGUuRElHSVRBTF9BU1NFVDtcbiAgICAgIHRva2VuSWQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ0VSQzExNTUnO1xuICAgICAgZW50cmllczogeyB0b2tlbklkOiBzdHJpbmc7IGFtb3VudDogbnVtYmVyIH1bXTtcbiAgICB9XG4pO1xuXG5leHBvcnQgdHlwZSBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMgPSBORlRUcmFuc2Zlck9wdGlvbnMgJiB7XG4gIGZyb21BZGRyZXNzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb246IHN0cmluZztcbiAgdHJhbnNhY3Rpb25zPzogTVBDVHhbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQge1xuICB0eElkPzogc3RyaW5nO1xuICB0eElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlQ29pbiB7XG4gIHR5cGU6IHN0cmluZztcbiAgdG9rZW5Db25maWc/OiBCYXNlVG9rZW5Db25maWc7XG4gIGdldENvbmZpZygpOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICB1cmwoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHdhbGxldHMoKTogSVdhbGxldHM7XG4gIGVudGVycHJpc2VzKCk6IElFbnRlcnByaXNlcztcbiAga2V5Y2hhaW5zKCk6IElLZXljaGFpbnM7XG4gIHdlYmhvb2tzKCk6IElXZWJob29rcztcbiAgcGVuZGluZ0FwcHJvdmFscygpOiBJUGVuZGluZ0FwcHJvdmFscztcbiAgbWFya2V0cygpOiBJTWFya2V0cztcbiAgZ2V0Q2hhaW4oKTogc3RyaW5nO1xuICBnZXRGYW1pbHkoKTogc3RyaW5nO1xuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmc7XG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuO1xuICBjaGVja1JlY2lwaWVudChcbiAgICByZWNpcGllbnQ6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB8IG51bWJlciB9LFxuICAgIG9wdGlvbnM/OiB7IGFsbG93WmVyb0Ftb3VudD86IGJvb2xlYW4gfVxuICApOiB2b2lkO1xuICBzd2VlcFdpdGhTZW5kTWFueSgpOiBib29sZWFuO1xuICB0cmFuc2FjdGlvbkRhdGFBbGxvd2VkKCk6IGJvb2xlYW47XG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuO1xuICBzdXBwb3J0c1Jlc291cmNlRGVsZWdhdGlvbigpOiBib29sZWFuO1xuICBnZXRUb2tlbkVuYWJsZW1lbnRDb25maWcoKTogVG9rZW5FbmFibGVtZW50Q29uZmlnO1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuO1xuICBzdXBwb3J0c011bHRpc2lnKCk6IGJvb2xlYW47XG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHwgdW5kZWZpbmVkO1xuICBzdXBwb3J0c0Rlcml2ZUtleVdpdGhTZWVkKCk6IGJvb2xlYW47XG4gIGlzRVZNKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzQmxzRGtnKCk6IGJvb2xlYW47XG4gIHByZXBhcmVDb2xkVHJhbnNhY3Rpb248VCBleHRlbmRzIFRyYW5zYWN0aW9uUHJlYnVpbGQ+KFxuICAgIHR4UHJlYnVpbGQ6IFQsXG4gICAga2V5Y2hhaW5zOiBUcmlwbGU8S2V5Y2hhaW4+XG4gICk6IFQgJiBDb2xkVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIgfCBzdHJpbmc7XG4gIGJhc2VVbml0c1RvQmlnVW5pdHMoYmFzZVVuaXRzOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmc7XG4gIGJpZ1VuaXRzVG9CYXNlVW5pdHMoYmlnVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgcHJlcHJvY2Vzc0J1aWxkUGFyYW1zKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNpZ25NZXNzYWdlKGtleTogeyBwcnY6IHN0cmluZyB9LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGNyZWF0ZUtleVNpZ25hdHVyZXMoXG4gICAgcHJ2OiBzdHJpbmcsXG4gICAgYmFja3VwS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSxcbiAgICBiaXRnb0tleWNoYWluOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfT47XG4gIGV4cGxhaW5UcmFuc2FjdGlvbihcbiAgICBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHdhbGxldD86IElXYWxsZXRcbiAgKTogUHJvbWlzZTxJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxhbnksIHN0cmluZyB8IG51bWJlcj4gfCB1bmRlZmluZWQ+O1xuICB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIHZlcmlmeUFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zIHwgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsIHdhbGxldD86IElXYWxsZXQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBkZXJpdmVBZGRyZXNzKHBhcmFtczogRGVyaXZlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPERlcml2ZUFkZHJlc3NSZXN1bHQ+O1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0OiB1bmtub3duKTogc3RyaW5nO1xuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb2luLXNwZWNpZmljIHZhbGlkYXRpb24gb2YgYSBtZXNzYWdlIHBheWxvYWQgYmVmb3JlIGl0IGlzIGZvcndhcmRlZCBmb3Igc2lnbmluZy5cbiAgICogSW1wbGVtZW50YXRpb25zIG11c3QgdGhyb3cgd2hlbiB0aGUgbWVzc2FnZSBpcyBub3Qgc2lnbmFibGUgZm9yIHRoaXMgY29pbi5cbiAgICovXG4gIHZhbGlkYXRlU2lnbmFibGVNZXNzYWdlPyhtZXNzYWdlOiBQaWNrPE1lc3NhZ2UsICdtZXNzYWdlUmF3JyB8ICdtZXNzYWdlU3RhbmRhcmRUeXBlJyB8ICdzaWduZXJBZGRyZXNzJz4pOiB2b2lkO1xuICBzdXBwbGVtZW50R2VuZXJhdGVXYWxsZXQod2FsbGV0UGFyYW1zOiBTdXBwbGVtZW50R2VuZXJhdGVXYWxsZXRPcHRpb25zLCBrZXljaGFpbnM6IEtleWNoYWluc1RyaXBsZXQpOiBQcm9taXNlPGFueT47XG4gIGdldEV4dHJhUHJlYnVpbGRQYXJhbXMoYnVpbGRQYXJhbXM6IEV4dHJhUHJlYnVpbGRQYXJhbXNPcHRpb25zKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gIHBvc3RQcm9jZXNzUHJlYnVpbGQocHJlYnVpbGRSZXNwb25zZTogVHJhbnNhY3Rpb25QcmVidWlsZCk6IFByb21pc2U8VHJhbnNhY3Rpb25QcmVidWlsZD47XG4gIHByZXNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnM+O1xuICBzaWduV2l0aEN1c3RvbVNpZ25pbmdGdW5jdGlvbj8oXG4gICAgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uOiBDdXN0b21TaWduaW5nRnVuY3Rpb24sXG4gICAgc2lnblRyYW5zYWN0aW9uUGFyYW1zOiB7IHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7IHB1YnM6IHN0cmluZ1tdIH1cbiAgKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIG5ld1dhbGxldE9iamVjdCh3YWxsZXRQYXJhbXM6IGFueSk6IElXYWxsZXQ7XG4gIGZlZUVzdGltYXRlKHBhcmFtczogRmVlRXN0aW1hdGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBkZXJpdmVLZXlXaXRoU2VlZChwYXJhbXM6IERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyk6IHsga2V5OiBzdHJpbmc7IGRlcml2YXRpb25QYXRoOiBzdHJpbmcgfTtcbiAga2V5SWRzRm9yU2lnbmluZygpOiBudW1iZXJbXTtcbiAgcHJlQ3JlYXRlQml0R28ocGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkO1xuICBpbml0aWF0ZVJlY292ZXJ5KHBhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlcjtcbiAgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj47XG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgZ2VuZXJhdGVSb290S2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW47XG4gIGlzVmFsaWRNb2ZOU2V0dXAocGFyYW1zOiBWYWxpZE1vZk5PcHRpb25zKTogYm9vbGVhbjtcbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbjtcbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBnZXRTaWduYWJsZVBheWxvYWQoc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG07XG4gIC8vIFRPRE8gLSB0aGlzIG9ubHkgYmVsb25ncyBpbiBldGggY29pbnNcbiAgcmVjb3ZlclRva2VuKHBhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+O1xuICBnZXRJbnNjcmlwdGlvbkJ1aWxkZXIod2FsbGV0OiBXYWxsZXQpOiBJSW5zY3JpcHRpb25CdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgY2FsbCBkYXRhIGZvciB0cmFuc2ZlcnJpbmcgYSBORlQocykuXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9ucyBzcGVjaWZ5aW5nIHRoZSB0b2tlbiBjb250cmFjdCwgdG9rZW4gcmVjaXBpZW50ICYgdGhlIHRva2VuKHMpIHRvIGJlIHRyYW5zZmVycmVkXG4gICAqIEByZXR1cm4gdGhlIGhleCBzdHJpbmcgZm9yIHRoZSBjb250cmFjdCBjYWxsLlxuICAgKi9cbiAgYnVpbGROZnRUcmFuc2ZlckRhdGEocGFyYW1zOiBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMpOiBzdHJpbmcgfCBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zO1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaDtcbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSB3aGVuIHNpZ25hYmxlSGV4IGlzIGFscmVhZHkgdGhlIGZpbmFsIHNpZ25pbmcgaGFzaCBmb3IgTVBDIHNpZ25pbmdcbiAgICogKGUuZy4gU0hBLTI1NiBmb3IgQXZhbGFuY2hlIGF0b21pYyBjcm9zcy1jaGFpbiB0eHMpLiBPbmx5IGltcGxlbWVudGVkIGJ5IGNvaW5zXG4gICAqIHRoYXQgcHJvZHVjZSBwcmUtaGFzaGVkIHNpZ25hYmxlIG1hdGVyaWFsLlxuICAgKi9cbiAgaXNTaWduYWJsZVByZUhhc2hlZD8odW5zaWduZWRUeDogU2lnbmFibGVUcmFuc2FjdGlvbik6IGJvb2xlYW47XG4gIGJyb2FkY2FzdFRyYW5zYWN0aW9uKHBhcmFtczogQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0PjtcbiAgc2V0Q29pblNwZWNpZmljRmllbGRzSW5JbnRlbnQoaW50ZW50OiBQb3B1bGF0ZWRJbnRlbnQsIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQXVkaXQgYSBrZXkgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIHZhbGlkIGZvciB0aGUgY29pbi5cbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYXVkaXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5wdWJsaWNLZXkgIC0gVGhlIHB1YmxpYyBwb3J0aW9uIG9mIHRoZSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5lbmNyeXB0ZWRQcnYgLSBUaGUgZW5jcnlwdGVkIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSAtIFRoZSBwYXNzcGhyYXNlIHRvIGRlY3J5cHQgdGhlIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMubXVsdGlTaWdUeXBlIC0gVGhlIHR5cGUgb2YgbXVsdGlzaWcgKGUuZy4gJ29uY2hhaW4nIG9yICd0c3MnKVxuICAgKi9cbiAgYXNzZXJ0SXNWYWxpZEtleShwYXJhbXM6IEF1ZGl0S2V5UGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcbiAgcmVxdWlyZXNXYWxsZXRJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKCk6IGJvb2xlYW47XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2TUEsOERBU0M7QUFqTVksUUFBQSxhQUFhLEdBQUc7SUFDM0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBcUxYLFNBQWdCLHlCQUF5QixDQUN2QyxNQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsQ0FDUCxXQUFXLElBQUksTUFBTTtRQUNyQixPQUFPLElBQUksTUFBTTtRQUNqQixTQUFTLElBQUksTUFBTTtRQUNuQixNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBNFFELElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtJQUNULGlDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVG9rZW5Db25maWcsIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgSUVudGVycHJpc2VzIH0gZnJvbSAnLi4vZW50ZXJwcmlzZSc7XG5pbXBvcnQgeyBBcGlLZXlTaGFyZSwgSUtleWNoYWlucywgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJTWFya2V0cyB9IGZyb20gJy4uL21hcmtldCc7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFscyB9IGZyb20gJy4uL3BlbmRpbmdBcHByb3ZhbCc7XG5pbXBvcnQgeyBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3JlY292ZXJ5JztcbmltcG9ydCB7IEVjZHNhTVBDdjJVdGlscywgRWNkc2FVdGlscyB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lY2RzYSc7XG5pbXBvcnQgRWRkc2FVdGlscywgeyBFZGRzYU1QQ3YyVXRpbHMsIFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VkZHNhJztcbmltcG9ydCB7IFJlZHBhbGxhc01QQ3YyVXRpbHMgfSBmcm9tICcuLi91dGlscy90c3MvcmVkcGFsbGFzJztcbmltcG9ydCB7IENyZWF0ZUFkZHJlc3NGb3JtYXQsIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiwgSVdhbGxldCwgSVdhbGxldHMsIE1lbW8sIFdhbGxldCwgV2FsbGV0RGF0YSB9IGZyb20gJy4uL3dhbGxldCc7XG5cbmltcG9ydCB7IFRva2VuRW5hYmxlbWVudCwgdW5pZmllZEFkZHJlc3NQcmVmZXJlbmNlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IElJbnNjcmlwdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSwgTVBDVHgsIFBvcHVsYXRlZEludGVudCwgVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcywgVG9rZW5UeXBlLCBUcmlwbGUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFNpZ25hYmxlVHJhbnNhY3Rpb24gfSBmcm9tICcuLi91dGlscy90c3MvYmFzZVR5cGVzJztcbmltcG9ydCB7IElXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2svaVdlYmhvb2tzJztcblxuZXhwb3J0IGNvbnN0IG11bHRpc2lnVHlwZXMgPSB7XG4gIG9uY2hhaW46ICdvbmNoYWluJyxcbiAgdHNzOiAndHNzJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE11bHRpc2lnVHlwZSA9IGtleW9mIHR5cGVvZiBtdWx0aXNpZ1R5cGVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCBleHRlbmRzIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLy8gb2YgZm9ybSBjb2luOnRva2VuXG4gIGNvaW5OYW1lPzogc3RyaW5nO1xuICBpc1BheUdvPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHdhbGxldD86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIHdhbGxldFYxPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICAvLyBcImNoYW5nZVwiIGlzIGEgdXR4by1zcGVjaWZpYyBjb25jZXB0IGFuZCB0aGlzIHByb3BlcnR5IHNob3VsZFxuICAvLyBiZSByZW1vdmVkIG9uY2UgaXQgaXQncyB1c2FnZSBpcyByZWZhY3RvcmVkIG91dCBvZiBiYXNlIGNvaW4gbG9naWNcbiAgY2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXQgPSB7XG4gIGRlcml2YXRpb25JbmRleD86IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgLy8gdGhlIHByb3BlcnRpZXMgYmVsb3cgYXJlIHV0eG8tcmVsYXRlZCBidXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIGFic3RyYWN0QmFzZUNvaW5cbiAgLy8gdGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGVpciB1c2FnZSBpcyByZW1vdmVkIGZyb20gdGhlIGJhc2UgY29pbiBjbGFzc1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVbnNpZ25lZFRyYW5zYWN0aW9uID0ge1xuICAvLyB1bnNpZ25lZCB0cmFuc2FjdGlvbiBpbiBicm9hZGNhc3QgZm9ybWF0XG4gIHNlcmlhbGl6ZWRUeEhleDogc3RyaW5nO1xuICAvLyBwb3J0aW9uIG9mIGEgdHJhbnNhY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSBhIHNpZ25hdHVyZVxuICBzaWduYWJsZUhleDogc3RyaW5nO1xuICAvLyB0cmFuc2FjdGlvbiBmZWVzXG4gIGZlZUluZm8/OiB7XG4gICAgZmVlOiBudW1iZXIgfCBCaWdOdW1iZXI7XG4gICAgZmVlU3RyaW5nOiBzdHJpbmc7XG4gIH07XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBlbnRyeVZhbHVlczogYW55O1xuICBwYXJzZWRUeDogVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25SZXN1bHQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIGJsb2NrTnVtYmVyOiBudW1iZXIgfCB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xuICBwcm9ncmFtSWQ/OiBzdHJpbmc7XG4gIG1lbW8/OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHRva2VuIGVuYWJsZW1lbnQgKGUuZy4sIGNyZWF0aW9uIG9mIGFuIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9rZW5FbmFibGVtZW50IHtcbiAgYWRkcmVzczogc3RyaW5nOyAvLyBBc3NvY2lhdGVkIHRva2VuIGFjY291bnQgYWRkcmVzc1xuICB0b2tlbk5hbWU6IHN0cmluZzsgLy8gTmFtZSBvZiB0aGUgdG9rZW4gYmVpbmcgZW5hYmxlZFxuICB0b2tlbkFkZHJlc3M/OiBzdHJpbmc7IC8vIENvbnRyYWN0IGFkZHJlc3Mgb2YgdGhlIHRva2VuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uRmVlPFRBbW91bnQgPSBzdHJpbmc+IHtcbiAgZmVlOiBUQW1vdW50O1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBzaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBdWRpdEtleVBhcmFtcyA9IHsgcHJ2Pzogc3RyaW5nOyBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7IHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmcgfSAmIChcbiAgfCB7IHBydjogc3RyaW5nIH1cbiAgfCB7IGVuY3J5cHRlZFBydjogc3RyaW5nOyB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcgfVxuKSAmXG4gIChcbiAgICB8IHtcbiAgICAgICAgbXVsdGlTaWdUeXBlOiAndHNzJztcbiAgICAgICAgcHVibGljS2V5OiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG11bHRpU2lnVHlwZT86ICdvbmNoYWluJztcbiAgICAgICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgICAgfVxuICApO1xuXG5leHBvcnQgdHlwZSBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyA9IE9taXQ8QXVkaXRLZXlQYXJhbXMsICdlbmNyeXB0ZWRQcnYnIHwgJ3dhbGxldFBhc3NwaHJhc2UnPiAmIHsgcHJ2OiBzdHJpbmcgfTtcblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxURmVlID0gYW55LCBUQW1vdW50ID0gYW55PiB7XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBkaXNwbGF5T3JkZXI/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgLyoqIE5PVEU6IEV4dGVybmFsIHJlY2lwaWVudHMgKi9cbiAgb3V0cHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIC8qKiBOT1RFOiBFeHRlcm5hbCBhbW91bnQgKi9cbiAgb3V0cHV0QW1vdW50OiBUQW1vdW50O1xuICBjaGFuZ2VPdXRwdXRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgY2hhbmdlQW1vdW50OiBUQW1vdW50O1xuICBmZWU6IFRGZWU7XG4gIHByb3h5Pzogc3RyaW5nO1xuICBwcm9kdWNlcnM/OiBzdHJpbmdbXTtcbiAgLyoqIE5PVEU6IFRva2VucyBiZWluZyBlbmFibGVkIGZvciB0aGUgd2FsbGV0ICovXG4gIHRva2VuRW5hYmxlbWVudHM/OiBJVG9rZW5FbmFibGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5UGFpciB7XG4gIHB1Yj86IHN0cmluZztcbiAgcHJ2OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsc0tleVBhaXIgZXh0ZW5kcyBLZXlQYWlyIHtcbiAgc2VjcmV0U2hhcmVzPzogc3RyaW5nW107XG4gIGNoYWluY29kZTogc3RyaW5nO1xuICBzZWVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgZm9ybWF0PzogQ3JlYXRlQWRkcmVzc0Zvcm1hdDtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhZGRyZXNzVHlwZT86IHN0cmluZztcbiAga2V5Y2hhaW5zPzoge1xuICAgIHB1Yjogc3RyaW5nO1xuICB9W107XG4gIGVycm9yPzogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBpbXBsaWVkRm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHNlZWQgdmFsdWUgZnJvbSB1c2VyIGtleWNoYWluJ3MgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCBmaWVsZC5cbiAgICogRm9yIFNNQyAoU2VsZi1NYW5hZ2VkIEN1c3RvZGlhbCkgVFNTIHdhbGxldHMsIHRoaXMgaXMgdXNlZCB0byBjb21wdXRlIHRoZSBkZXJpdmF0aW9uIHByZWZpeC5cbiAgICovXG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBNUEMgc2lnbmluZyBwcm90b2NvbCB2ZXJzaW9uIG9mIHRoZSB3YWxsZXQgKGUuZy4gJ01QQ3YyJykuXG4gICAqIFVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBNUEN2MSBhbmQgTVBDdjIgd2FsbGV0cy5cbiAgICovXG4gIG11bHRpc2lnVHlwZVZlcnNpb24/OiAnTVBDdjInO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHZlcmlmeWluZyBpZiBhbiBhZGRyZXNzIGJlbG9uZ3MgdG8gYSBUU1MvTVBDIHdhbGxldC5cbiAqIFVzZWQgZm9yIEVkRFNBLWJhc2VkIE1QQyBjb2lucyAoU09MLCBET1QsIFNVSSwgVE9OLCBJT1RBLCBORUFSLCBldGMuKVxuICogdG8gY3J5cHRvZ3JhcGhpY2FsbHkgdmVyaWZ5IGFkZHJlc3MgZGVyaXZhdGlvbiB3aXRob3V0IHRydXN0aW5nIHRoZSBwbGF0Zm9ybS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIC8qKiBUaGUgYWRkcmVzcyB0byB2ZXJpZnkgKi9cbiAgYWRkcmVzczogc3RyaW5nO1xuICAvKipcbiAgICogS2V5Y2hhaW5zIGNvbnRhaW5pbmcgdGhlIGNvbW1vbktleWNoYWluIGZvciBIRCBkZXJpdmF0aW9uLlxuICAgKiBGb3IgTVBDIHdhbGxldHMsIHRoZSBjb21tb25LZXljaGFpbiAoY29tYmluZWQgcHVibGljIGtleSBmcm9tIE1QQyBrZXkgZ2VuZXJhdGlvbilcbiAgICogc2hvdWxkIGJlIGlkZW50aWNhbCBhY3Jvc3MgYWxsIGtleWNoYWlucyAodXNlciwgYmFja3VwLCBiaXRnbykuXG4gICAqL1xuICBrZXljaGFpbnM6IFBpY2s8S2V5Y2hhaW4sICdjb21tb25LZXljaGFpbic+W107XG4gIC8qKlxuICAgKiBEZXJpdmF0aW9uIGluZGV4IGZvciB0aGUgYWRkcmVzcy5cbiAgICogVXNlZCB0byBkZXJpdmUgY2hpbGQgYWRkcmVzc2VzIGZyb20gdGhlIHJvb3Qga2V5Y2hhaW4gdmlhIEhEIGRlcml2YXRpb24gcGF0aDogbS97aW5kZXh9XG4gICAqIEZvciBTTUMgKFNlbGYtTWFuYWdlZCBDdXN0b2RpYWwpIHdhbGxldHMsIHRoZSBwYXRoIGluY2x1ZGVzIGEgcHJlZml4OiBtL3tkZXJpdmF0aW9uUHJlZml4fS97aW5kZXh9XG4gICAqL1xuICBpbmRleDogbnVtYmVyIHwgc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VlZCB2YWx1ZSBmcm9tIHVzZXIga2V5Y2hhaW4ncyBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkIGZpZWxkLlxuICAgKiBGb3IgU01DIChTZWxmLU1hbmFnZWQgQ3VzdG9kaWFsKSB3YWxsZXRzLCB0aGlzIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGUgZGVyaXZhdGlvbiBwcmVmaXguXG4gICAqIFRoZSBkZXJpdmF0aW9uIHBhdGggYmVjb21lcyB7Y29tcHV0ZWRQcmVmaXh9L3tpbmRleH0gaW5zdGVhZCBvZiBtL3tpbmRleH0uXG4gICAqL1xuICBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkPzogc3RyaW5nO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgTVBDIHNpZ25pbmcgcHJvdG9jb2wgdmVyc2lvbiBvZiB0aGUgd2FsbGV0IChlLmcuICdNUEN2MicpLlxuICAgKiBVc2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gTVBDdjEgYW5kIE1QQ3YyIHdhbGxldHMuXG4gICAqL1xuICBtdWx0aXNpZ1R5cGVWZXJzaW9uPzogJ01QQ3YyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnM8VCBleHRlbmRzIFZlcmlmeUFkZHJlc3NPcHRpb25zIHwgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnM+KFxuICBwYXJhbXM6IFRcbik6IHBhcmFtcyBpcyBUICYgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICByZXR1cm4gISEoXG4gICAgJ2tleWNoYWlucycgaW4gcGFyYW1zICYmXG4gICAgJ2luZGV4JyBpbiBwYXJhbXMgJiZcbiAgICAnYWRkcmVzcycgaW4gcGFyYW1zICYmXG4gICAgcGFyYW1zLmtleWNoYWlucz8uc29tZSgoa2MpID0+ICdjb21tb25LZXljaGFpbicgaW4ga2MgJiYgISFrYy5jb21tb25LZXljaGFpbilcbiAgKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBsb2NhbGx5IGRlcml2aW5nIGEgd2FsbGV0IHJlY2VpdmUgYWRkcmVzcyBmcm9tIGEgZGVyaXZhdGlvbiBwYXRoLlxuICpcbiAqIFVubGlrZSB7QGxpbmsgVmVyaWZ5QWRkcmVzc09wdGlvbnN9LCB3aGljaCBjaGVja3MgYSBjYW5kaWRhdGUgYWRkcmVzcywgdGhlc2Ugb3B0aW9ucyBhcmVcbiAqIHVzZWQgdG8gKnByb2R1Y2UqIHRoZSBhZGRyZXNzIG9mZmxpbmUgZnJvbSBwdWJsaWMga2V5IG1hdGVyaWFsIG9ubHk6XG4gKiAtIHRoZSB1c2VyL2JhY2t1cC9iaXRnbyB4cHViIHRyaXBsZSAoYHB1YmApIGZvciBCSVAzMiBtdWx0aXNpZyBjb2lucywgb3JcbiAqIC0gdGhlIGBjb21tb25LZXljaGFpbmAgZm9yIFRTUy9NUEMgY29pbnMuXG4gKlxuICogTm8gcHJpdmF0ZSBrZXlzIGFuZCBubyBuZXR3b3JrIGFjY2VzcyBhcmUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlQWRkcmVzc09wdGlvbnNcbiAgZXh0ZW5kcyBQaWNrPFZlcmlmeUFkZHJlc3NPcHRpb25zLCAnZm9ybWF0JyB8ICdkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkJyB8ICdtdWx0aXNpZ1R5cGVWZXJzaW9uJz4ge1xuICAvLyBgZm9ybWF0YCwgYGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWRgIGFuZCBgbXVsdGlzaWdUeXBlVmVyc2lvbmAgYXJlIHJldXNlZCBmcm9tXG4gIC8vIFZlcmlmeUFkZHJlc3NPcHRpb25zIHNvIGRlcml2ZSBhbmQgdmVyaWZ5IHN0YXkgaW4gc3luYyBvbiBzaGFyZWQgZmllbGRzLlxuICAvKipcbiAgICogRGVyaXZhdGlvbiBpbmRleCBmb3IgdGhlIGFkZHJlc3MuXG4gICAqIEZvciBCSVAzMiBtdWx0aXNpZyBjb2lucyB0aGlzIGlzIGNvbWJpbmVkIHdpdGggYGNoYWluYDsgZm9yIFRTUy9NUEMgY29pbnMgdGhlXG4gICAqIGRlcml2YXRpb24gcGF0aCBpcyBgbS97aW5kZXh9YCAob3IgYHtwcmVmaXh9L3tpbmRleH1gIGZvciBTTUMgd2FsbGV0cykuXG4gICAqL1xuICBpbmRleDogbnVtYmVyO1xuICAvKiogRGVyaXZhdGlvbiBjaGFpbiBjb2RlIChVVFhPIHNjcmlwdC10eXBlIC8gZXh0ZXJuYWwtdnMtaW50ZXJuYWwgc2VsZWN0b3IpLiAqL1xuICBjaGFpbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFB1YmxpYyBrZXkgbWF0ZXJpYWwgZm9yIGRlcml2YXRpb24uIEVhY2gga2V5Y2hhaW4gbXVzdCBjYXJyeSBhdCBsZWFzdCBvbmUgb2Y6XG4gICAqIC0gQklQMzIgbXVsdGlzaWcgKFVUWE8sIGxlZ2FjeSBFVk0pOiB0aGUgdXNlci9iYWNrdXAvYml0Z28geHB1YiB0cmlwbGUgdmlhIGBwdWJgLlxuICAgKiAtIFRTUy9NUEMgKFNPTCwgRVZNIE1QQywgZXRjLik6IHRoZSBgY29tbW9uS2V5Y2hhaW5gIChpZGVudGljYWwgYWNyb3NzIGtleWNoYWlucykuXG4gICAqXG4gICAqIE1vZGVsbGVkIGFzIGEgdW5pb24gc28gYSBrZXljaGFpbiB3aXRoIG5laXRoZXIgZmllbGQgaXMgYSB0eXBlIGVycm9yLiBBIGtleWNoYWluIG1heVxuICAgKiBzdGlsbCBjYXJyeSBib3RoIGZpZWxkcyAoVFNTIGtleWNoYWlucyBjb21tb25seSBleHBvc2UgYHB1YmAgYWxvbmdzaWRlIGBjb21tb25LZXljaGFpbmApLlxuICAgKi9cbiAga2V5Y2hhaW5zPzogKHsgcHViOiBzdHJpbmcgfSB8IHsgY29tbW9uS2V5Y2hhaW46IHN0cmluZyB9KVtdO1xuICAvKiogV2FsbGV0IHZlcnNpb24sIHVzZWQgdG8gZGlzYW1iaWd1YXRlIGRlcml2YXRpb24gc3RyYXRlZ3kgZm9yIHNvbWUgY29pbiBmYW1pbGllcy4gKi9cbiAgd2FsbGV0VmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRva2VuIG5hbWUgKGUuZy4gYHNvbDp1c2RjYCwgYHRzb2w6dXNkdGApIHRvIGRlcml2ZSBhIHRva2VuIGRlcG9zaXQgYWRkcmVzcyBpbnN0ZWFkIG9mIHRoZVxuICAgKiBuYXRpdmUgcmVjZWl2ZSBhZGRyZXNzLiBGb3IgU29sYW5hIHRoaXMgcmVzb2x2ZXMgdG8gdGhlIFNQTCBtaW50IGFuZCByZXR1cm5zIHRoZSB3YWxsZXQnc1xuICAgKiBBc3NvY2lhdGVkIFRva2VuIEFjY291bnQgKEFUQSkgZm9yIHRoYXQgbWludC4gSWdub3JlZCBieSBjb2lucy90b2tlbnMgdGhhdCByZXVzZSB0aGUgbmF0aXZlXG4gICAqIGFkZHJlc3MgKGUuZy4gRVJDLTIwIG9uIEVWTSkuXG4gICAqL1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXYWxsZXQgYmFzZSBhZGRyZXNzICh0aGUgd2FsbGV0IGNvbnRyYWN0IGFkZHJlc3MgZm9yIEVWTSB3YWxsZXRzKS4gUmVxdWlyZWQgdG8gZGVyaXZlXG4gICAqIHBlci1pbmRleCBmb3J3YXJkZXIgKENSRUFURTIpIHJlY2VpdmUgYWRkcmVzc2VzIGZvciBsZWdhY3kgbXVsdGlzaWcgRVZNIHdhbGxldHMuXG4gICAqL1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgLyoqXG4gICAqIENvaW4tc3BlY2lmaWMgZGVyaXZhdGlvbiBpbnB1dHMuIEZvciBFVk0gbGVnYWN5IGZvcndhcmRlciB3YWxsZXRzIHRoaXMgY2Fycmllc1xuICAgKiBgZm9yd2FyZGVyVmVyc2lvbmAgKDEvMi80KSBhbmQsIGZvciB2NCwgYGZlZUFkZHJlc3NgLlxuICAgKi9cbiAgY29pblNwZWNpZmljPzogQWRkcmVzc0NvaW5TcGVjaWZpYztcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgbG9jYWxseSBkZXJpdmluZyBhIHdhbGxldCByZWNlaXZlIGFkZHJlc3MuXG4gKlxuICogRXh0ZW5kcyB7QGxpbmsgQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGF9IChgY2hhaW5gLCBgaW5kZXhgLCBgY29pblNwZWNpZmljYCkgYW5kIGFkZHMgdGhlXG4gKiByZXNvbHZlZCBgYWRkcmVzc2AgYW5kIHRoZSBIRCBgZGVyaXZhdGlvblBhdGhgIGFjdHVhbGx5IHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlQWRkcmVzc1Jlc3VsdCBleHRlbmRzIEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIHtcbiAgLyoqIFRoZSBkZXJpdmVkIGFkZHJlc3MuICovXG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLyoqIFRoZSBkZXJpdmF0aW9uIGluZGV4IHVzZWQuICovXG4gIGluZGV4OiBudW1iZXI7XG4gIC8qKiBUaGUgSEQgZGVyaXZhdGlvbiBwYXRoIGFjdHVhbGx5IHVzZWQgdG8gZGVyaXZlIHRoZSBhZGRyZXNzLiAqL1xuICBkZXJpdmF0aW9uUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIHJlY2lwaWVudHM/OiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbWVtbz86IE1lbW87XG4gIGVuYWJsZVRva2Vucz86IFRva2VuRW5hYmxlbWVudFtdO1xuICBzdGFraW5nUmVxdWVzdElkPzogc3RyaW5nO1xuICAvKiogRVJDLTc5ODQgc2hpZWxkIGludGVudCAoYHR5cGU6ICd3cmFwQXBwcm92ZScgfCAnd3JhcCdgKTogd3JhcHBlciBjb2luIG5hbWUgYW5kIGV4YWN0IGFtb3VudC4gKi9cbiAgd3JhcFBhcmFtcz86IHsgdG9rZW5OYW1lOiBzdHJpbmc7IGFtb3VudDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGEge1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZpY2F0aW9uT3B0aW9ucyB7XG4gIGRpc2FibGVOZXR3b3JraW5nPzogYm9vbGVhbjtcbiAga2V5Y2hhaW5zPzoge1xuICAgIHVzZXI/OiBLZXljaGFpbjtcbiAgICBiYWNrdXA/OiBLZXljaGFpbjtcbiAgICBiaXRnbz86IEtleWNoYWluO1xuICB9O1xuICBhZGRyZXNzZXM/OiB7IFthZGRyZXNzOiBzdHJpbmddOiBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB9O1xuICBhbGxvd1BheWdvT3V0cHV0PzogYm9vbGVhbjtcbiAgY29uc2lkZXJNaWdyYXRlZEZyb21BZGRyZXNzSW50ZXJuYWw/OiBib29sZWFuO1xuICB2ZXJpZnlUb2tlbkVuYWJsZW1lbnQ/OiBib29sZWFuO1xuICAvLyBWZXJpZnkgdHJhbnNhY3Rpb24gaXMgY29uc29saWRhdGluZyB0byB3YWxsZXQncyBiYXNlIGFkZHJlc3NcbiAgY29uc29saWRhdGlvblRvQmFzZUFkZHJlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtcztcbiAgd2FsbGV0OiBJV2FsbGV0O1xuICB2ZXJpZmljYXRpb24/OiBWZXJpZmljYXRpb25PcHRpb25zO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICB3YWxsZXRUeXBlPzogJ29uY2hhaW4nIHwgJ3Rzcyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG0/OiBudW1iZXI7XG4gIG4/OiBudW1iZXI7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2FjdGlvbk5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xuICBnYXNQcmljZT86IG51bWJlciB8IHN0cmluZztcbiAgZWlwMTU1OT86IHtcbiAgICBtYXhGZWVQZXJHYXM6IG51bWJlciB8IHN0cmluZztcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IG51bWJlciB8IHN0cmluZztcbiAgfTtcbiAgd2FsbGV0VmVyc2lvbj86IG51bWJlcjtcbiAga2V5cz86IHN0cmluZ1tdO1xuICBrZXlTaWduYXR1cmVzPzoge1xuICAgIGJhY2t1cDogc3RyaW5nO1xuICAgIGJpdGdvOiBzdHJpbmc7XG4gIH07XG4gIHJvb3RQcml2YXRlS2V5Pzogc3RyaW5nO1xuICBkaXNhYmxlS1JTRW1haWw/OiBib29sZWFuO1xuICBtdWx0aXNpZ1R5cGU/OiAndHNzJyB8ICdvbmNoYWluJyB8ICdibHNka2cnO1xuICB0eXBlOiAnaG90JyB8ICdjb2xkJyB8ICdjdXN0b2RpYWwnIHwgJ2FkdmFuY2VkJyB8ICd0cmFkaW5nJztcbiAgc3ViVHlwZT86ICdsaWdodG5pbmdDdXN0b2R5JyB8ICdsaWdodG5pbmdTZWxmQ3VzdG9keScgfCAnb25QcmVtJztcbiAgY29pblNwZWNpZmljPzogeyBbY29pbk5hbWU6IHN0cmluZ106IHVua25vd24gfTtcbiAgZXZtS2V5UmluZ1JlZmVyZW5jZVdhbGxldElkPzogc3RyaW5nO1xuICBsaWdodG5pbmdQcm92aWRlcj86ICd2b2x0YWdlJyB8ICdhbWJvc3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZUVzdGltYXRlT3B0aW9ucyB7XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgaG9wPzogYm9vbGVhbjtcbiAgcmVjaXBpZW50Pzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBrZXlvZiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vKiogSG93IGEgWmNhc2ggVW5pZmllZCBBZGRyZXNzIHJlY2lwaWVudCBzaG91bGQgYmUgcmVzb2x2ZWQuICovXG5leHBvcnQgdHlwZSBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSA9IHVuaWZpZWRBZGRyZXNzUHJlZmVyZW5jZTtcblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMge1xuICAvKipcbiAgICogaG93IHRvIHJlc29sdmUgYSBVbmlmaWVkIEFkZHJlc3MgcmVjaXBpZW50IChgJ3NoaWVsZGVkJ2Agb3IgYCd0cmFuc3BhcmVudCdgKS5cbiAgICovXG4gIHVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlPzogVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2U7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ/OiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICB3YWxsZXREYXRhOiBXYWxsZXREYXRhO1xuICB0c3NVdGlsczogRWNkc2FVdGlscyB8IEVjZHNhTVBDdjJVdGlscyB8IEVkZHNhVXRpbHMgfCBFZGRzYU1QQ3YyVXRpbHMgfCBSZWRwYWxsYXNNUEN2MlV0aWxzIHwgdW5kZWZpbmVkO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZWNyZWF0ZUJpdEdvT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVjb3ZlcnlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vKipcbiAqIFRoaXMgaXMgb25seSB1c2VkIGZvciBkZXRlcm1pbmluZyB0aGUgUGF5R28gZmVlIG9mIGEgdHJhbnNhY3Rpb24gd2hpY2ggaXMgb25seSByZWxldmFudCBmb3IgVVRYTyBjb2lucy5cbiAqIFNvbWUgY29pbnMgcmV0dXJuIHZhcmlvdXMgb3RoZXIgZmllbGRzIGhlcmUsIGJ1dCB0aGV5IGFyZSBvbmx5IHVzZWQgaW50ZXJuYWxseSBieSB0aGUgcmVzcGVjdGl2ZSBjb2lucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRUcmFuc2FjdGlvbiB7XG4gIC8vIHRoZSBjYWxsc2l0ZSBhc3N1bWVzIHRoYXQgdGhpcyBpcyB0aGUgUGF5R28gYW1vdW50XG4gIGltcGxpY2l0RXh0ZXJuYWxTcGVuZEFtb3VudD86IG51bWJlciB8IGJpZ2ludDtcbiAgLy8gY29pbnMgbWF5IGFkZCBpbnRlcm5hbCBmaWVsZHNcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IHR5cGUgVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbiA9IHtcbiAgaW5wdXRzOiBJbnB1dFtdO1xuICBtaW5lckZlZTogbnVtYmVyIHwgc3RyaW5nO1xuICBvdXRwdXRzOiBPdXRwdXRbXTtcbiAgc3BlbmRBbW91bnQ6IG51bWJlciB8IHN0cmluZztcbiAgaGFzVW52YWxpZGF0ZWREYXRhPzogYm9vbGVhbjtcbiAgcGF5R29GZWU/OiBudW1iZXI7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgaWQ6IHN0cmluZztcbn07XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Y2hhaW5zVHJpcGxldCB7XG4gIHVzZXJLZXljaGFpbjogS2V5Y2hhaW47XG4gIGJhY2t1cEtleWNoYWluOiBLZXljaGFpbjtcbiAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRuaW5nS2V5Y2hhaW5zVHJpcGxldCB7XG4gIHVzZXJLZXljaGFpbjogS2V5Y2hhaW47XG4gIHVzZXJBdXRoS2V5Y2hhaW46IEtleWNoYWluO1xuICBub2RlQXV0aEtleWNoYWluOiBLZXljaGFpbjtcbn1cblxuaW50ZXJmYWNlIEJ1aWxkUGFyYW1zIHtcbiAgcHJldmlldz86IGJvb2xlYW47XG4gIHJlY2lwaWVudHM/OiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbn1cblxuaW50ZXJmYWNlIEJhc2VTaWduYWJsZSB7XG4gIHdhbGxldD86IElXYWxsZXQ7XG4gIGJ1aWxkUGFyYW1zPzogQnVpbGRQYXJhbXMgJiBQYXJ0aWFsPGFueT47XG4gIGNvbnNvbGlkYXRlSWQ/OiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUHJlYnVpbGQgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICB0eEJhc2U2ND86IHN0cmluZztcbiAgdHhIZXg/OiBzdHJpbmc7XG4gIHR4SW5mbz86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWHB1YldpdGhEZXJpdmF0aW9uUGF0aCB7XG4gIHhwdWI6IHN0cmluZztcbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xkVHJhbnNhY3Rpb25QcmVidWlsZCB7XG4gIHB1YnM/OiBzdHJpbmdbXTtcbiAgeHB1YnNXaXRoRGVyaXZhdGlvblBhdGg/OiBQYXJ0aWFsPFJlY29yZDxBcGlLZXlTaGFyZVsnZnJvbSddLCBYcHViV2l0aERlcml2YXRpb25QYXRoPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSBleHRlbmRzIEJhc2VTaWduYWJsZSB7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VTdGFuZGFyZFR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBzaWduZXJBZGRyZXNzPzogc3RyaW5nO1xuICAvKiogQmFzZTY0LWVuY29kZWQgcHJlcGFyZWQgdHJhbnNhY3Rpb24gYnl0ZXMgcmVxdWlyZWQgYnkgQ2FudG9uIG1lc3NhZ2Ugc2lnbmluZy4gKi9cbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVHlwZVByb3BlcnR5IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VUeXBlcyB7XG4gIEVJUDcxMkRvbWFpbjogTWVzc2FnZVR5cGVQcm9wZXJ0eVtdO1xuICBbYWRkaXRpb25hbFByb3BlcnRpZXM6IHN0cmluZ106IE1lc3NhZ2VUeXBlUHJvcGVydHlbXTtcbn1cblxuZXhwb3J0IGVudW0gU2lnblR5cGVkRGF0YVZlcnNpb24ge1xuICBWMSA9ICdWMScsXG4gIFYzID0gJ1YzJyxcbiAgVjQgPSAnVjQnLFxufVxuXG4vKipcbiAqIFRoaXMgaXMgdGhlIG1lc3NhZ2UgZm9ybWF0IHVzZWQgZm9yIGBzaWduVHlwZURhdGFgLCBmb3IgYWxsIHZlcnNpb25zXG4gKiBleGNlcHQgYFYxYC5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSBjdXN0b20gdHlwZXMgdXNlZCBieSB0aGlzIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgdHlwZXMgLSBUaGUgY3VzdG9tIHR5cGVzIHVzZWQgYnkgdGhpcyBtZXNzYWdlLlxuICogQHByb3BlcnR5IHByaW1hcnlUeXBlIC0gVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgZG9tYWluIC0gU2lnbmluZyBkb21haW4gbWV0YWRhdGEuIFRoZSBzaWduaW5nIGRvbWFpbiBpcyB0aGUgaW50ZW5kZWQgY29udGV4dCBmb3IgdGhlXG4gKiBzaWduYXR1cmUgKGUuZy4gdGhlIGRhcHAsIHByb3RvY29sLCBldGMuIHRoYXQgaXQncyBpbnRlbmRlZCBmb3IpLiBUaGlzIGRhdGEgaXMgdXNlZCB0b1xuICogY29uc3RydWN0IHRoZSBkb21haW4gc2VwZXJhdG9yIG9mIHRoZSBtZXNzYWdlLlxuICogQHByb3BlcnR5IGRvbWFpbi5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHNpZ25pbmcgZG9tYWluLlxuICogQHByb3BlcnR5IGRvbWFpbi52ZXJzaW9uIC0gVGhlIGN1cnJlbnQgbWFqb3IgdmVyc2lvbiBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLmNoYWluSWQgLSBUaGUgY2hhaW4gSUQgb2YgdGhlIHNpZ25pbmcgZG9tYWluLlxuICogQHByb3BlcnR5IGRvbWFpbi52ZXJpZnlpbmdDb250cmFjdCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0aGF0IGNhbiB2ZXJpZnkgdGhlIHNpZ25hdHVyZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4uc2FsdCAtIEEgZGlzYW1iaWd1YXRpbmcgc2FsdCBmb3IgdGhlIHByb3RvY29sLlxuICogQHByb3BlcnR5IG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBiZSBzaWduZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRNZXNzYWdlPFQgZXh0ZW5kcyBNZXNzYWdlVHlwZXM+IHtcbiAgdHlwZXM6IFQ7XG4gIHByaW1hcnlUeXBlOiBrZXlvZiBUO1xuICBkb21haW46IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcbiAgICB2ZXJpZnlpbmdDb250cmFjdD86IHN0cmluZztcbiAgICBzYWx0PzogQXJyYXlCdWZmZXI7XG4gIH07XG4gIG1lc3NhZ2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkRGF0YSBleHRlbmRzIEJhc2VTaWduYWJsZSB7XG4gIHR5cGVkRGF0YVJhdzogc3RyaW5nO1xuICB2ZXJzaW9uOiBTaWduVHlwZWREYXRhVmVyc2lvbjtcbiAgdHlwZWREYXRhRW5jb2RlZD86IEJ1ZmZlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzQ29pblNwZWNpZmljIHtcbiAgb3V0cHV0U2NyaXB0Pzogc3RyaW5nO1xuICByZWRlZW1TY3JpcHQ/OiBzdHJpbmc7XG4gIHdpdG5lc3NTY3JpcHQ/OiBzdHJpbmc7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICBwZW5kaW5nQ2hhaW5Jbml0aWFsaXphdGlvbj86IGJvb2xlYW47XG4gIGZvcndhcmRlclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKiBGZWUgYWRkcmVzcyBmb3IgdjQgRVZNIGZvcndhcmRlcnMgKHVzZWQgd2hlbiBkZXJpdmluZy92ZXJpZnlpbmcgdjQgZm9yd2FyZGVyIGFkZHJlc3NlcykuICovXG4gIGZlZUFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBaY2FzaCBzaGllbGRlZCAoT3JjaGFyZC9Jcm9ud29vZCkgcmVjZWl2ZXIgZGF0YSByZXBvcnRlZCBieSB3YWxsZXQtcGxhdGZvcm0uIFByZXNlbnRcbiAgICogb25seSBmb3Igc2hpZWxkZWQgYWRkcmVzc2VzOyBzZWUgYGFzc2VydFNoaWVsZGVkV2FsbGV0QWRkcmVzc2AuXG4gICAqL1xuICBzaGllbGRlZD86IHtcbiAgICAvKiogUmVjZWl2ZXIgdHlwZSwgZS5nLiAnaXJvbndvb2QnLiAqL1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgLyoqIDExLWJ5dGUgaGV4IGRpdmVyc2lmaWVyLiAqL1xuICAgIGRpdmVyc2lmaWVyPzogc3RyaW5nO1xuICAgIC8qKiAzMi1ieXRlIGhleCBgcGtfZGAuICovXG4gICAgcGtEPzogc3RyaW5nO1xuICAgIC8qKiBXYWxsZXQgYWRkcmVzcyBpbmRleCB0aGUgZGl2ZXJzaWZpZXIgd2FzIGRlcml2ZWQgZnJvbS4gKi9cbiAgICBkaXZlcnNpZmllckluZGV4PzogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGx5U2lnbmVkVHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nO1xuICAvKipcbiAgICogUFNCVC1saXRlIGhleCBwcmVzZXJ2ZWQgZnJvbSBhIHBlbmRpbmcgYXBwcm92YWwncyBjb2luU3BlY2lmaWMuXG4gICAqIE9ubHkgcHJlc2VudCBpbiB0aGUgUEEgYXBwcm92YWwgZmxvdyDigJQgbm90IGluIHJlZ3VsYXIgc2lnbi9zZW5kIGZsb3dzLlxuICAgKi9cbiAgdHhIZXhQc2J0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4Pzogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG4gICAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFsZlNpZ25lZFRyYW5zYWN0aW9uIGV4dGVuZHMgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ6IHtcbiAgICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcbiAgICBleHBpcmVUaW1lPzogbnVtYmVyO1xuICAgIGNvbnRyYWN0U2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICBzZXF1ZW5jZUlkPzogbnVtYmVyO1xuICAgIHR4SGV4PzogbmV2ZXI7XG4gICAgaXNCYXRjaD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0IHtcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmVLZXlXaXRoU2VlZE9wdGlvbnMge1xuICBrZXk6IHN0cmluZztcbiAgc2VlZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkTW9mTk9wdGlvbnMge1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTaWduZWRUcmFuc2FjdGlvbiA9XG4gIHwgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvblxuICB8IEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb25cbiAgfCBGdWxseVNpZ25lZFRyYW5zYWN0aW9uXG4gIHwgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0XG4gIHwgVHhSZXF1ZXN0O1xuXG4vKipcbiAqIEJhc2UgZmllbGRzIHNoYXJlZCBieSBldmVyeSBtZXNzYWdlLXNpZ24gcmVzdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZE1lc3NhZ2VCYXNlIHtcbiAgY29pbj86IHN0cmluZztcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIG1lc3NhZ2Utc2lnbiByZXF1ZXN0IHdhcyBwYXJrZWQgYmVoaW5kIGEgcGVuZGluZyBhcHByb3ZhbCBieSB0aGVcbiAqIG1lc3NhZ2Utc2lnbmluZyBwb2xpY3k7IG5vIHNpZ25hdHVyZSB3YXMgcHJvZHVjZWQuIFRoZSBkaXNjcmltaW5hdG9yIGlzIHRoZVxuICogc2VydmVyLXJlcG9ydGVkIHR4UmVxdWVzdCBzdGF0ZSAoJ3BlbmRpbmdBcHByb3ZhbCcpIOKAlCBuZXZlciBpbmZlcnJlZCBmcm9tXG4gKiBpZCBwcmVzZW5jZS4gU3VyZmFjZSB0aGUgYXBwcm92YWwsIHRoZW4gcmUtc2lnbiB2aWFcbiAqIHNpZ25BbmRTZW5kTWVzc2FnZVR4UmVxdWVzdCBvbmNlIGl0IGlzIHJlc29sdmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZE1lc3NhZ2VQZW5kaW5nQXBwcm92YWwgZXh0ZW5kcyBTaWduZWRNZXNzYWdlQmFzZSB7XG4gIHN0YXRlOiAncGVuZGluZ0FwcHJvdmFsJztcbiAgcGVuZGluZ0FwcHJvdmFsSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgbWVzc2FnZSBpcyBzaWduZWQgYW5kIHRoZSByZXF1ZXN0IGlzIHRlcm1pbmFsICh3YWxsZXQtcGxhdGZvcm1cbiAqIHRyYW5zaXRpb25zIGEgbWVzc2FnZSByZXF1ZXN0IHBlbmRpbmdEZWxpdmVyeSDihpIgZGVsaXZlcmVkIG9uY2UgYWxsXG4gKiBtZXNzYWdlcyBhcmUgc2lnbmVkOyB0aGUgdHhSZXF1ZXN0LWxldmVsICdzaWduZWQnIHN0YXRlIGlzIG5ldmVyIHVzZWQgZm9yXG4gKiBtZXNzYWdlIHJlcXVlc3RzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlRGVsaXZlcmVkIGV4dGVuZHMgU2lnbmVkTWVzc2FnZUJhc2Uge1xuICBzdGF0ZTogJ2RlbGl2ZXJlZCc7XG4gIC8vIEBkZXByZWNhdGVkIC0gdXNlIGBzaWduYXR1cmVgIGluc3RlYWRcbiAgdHhIYXNoOiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIERpc2NyaW1pbmF0ZWQgb24gdGhlIHdhbGxldC1wbGF0Zm9ybSB0eFJlcXVlc3Qgc3RhdGUuIEJSRUFLSU5HOiBjb25zdW1lcnNcbiAqIHRoYXQgcHJldmlvdXNseSByZWFkIGB0eEhhc2hgL2BzaWduYXR1cmVgIHdpdGhvdXQgbmFycm93aW5nIG11c3QgZmlyc3RcbiAqIGNoZWNrIGBzdGF0ZSA9PT0gJ2RlbGl2ZXJlZCdgLlxuICovXG5leHBvcnQgdHlwZSBTaWduZWRNZXNzYWdlID0gU2lnbmVkTWVzc2FnZVBlbmRpbmdBcHByb3ZhbCB8IFNpZ25lZE1lc3NhZ2VEZWxpdmVyZWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGJyb2FkY2FzdD86IGJvb2xlYW47XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZDoge1xuICAgIHJlY2lwaWVudDogUmVjaXBpZW50O1xuICAgIGV4cGlyZVRpbWU6IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgICBvcGVyYXRpb25IYXNoOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gICAgZ2FzTGltaXQ6IG51bWJlcjtcbiAgICBnYXNQcmljZTogbnVtYmVyO1xuICAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gICAgd2FsbGV0SWQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogYm9vbGVhbjtcbiAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGJvb2xlYW47XG4gIHZhbGlkYXRlV2FsbGV0PzogKHdhbGxldFR5cGU6IHN0cmluZykgPT4gdm9pZDtcbiAgZ2V0RW5hYmxlVG9rZW5UeXBlPzogKHRva2VuTmFtZTogc3RyaW5nKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVByZXAge1xuICBlbmNvZGVNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZztcbn1cblxuLyoqXG4gKiAncmVkcGFsbGFzJyBpcyB0aGUgTVBDIGFsZ29yaXRobSB1c2VkIGZvciB0aGUgWmNhc2ggT3JjaGFyZCBzaGllbGRlZCBwb29sIChSZWRQYWxsYXMgL1xuICogXCJJcm9ud29vZFwiKS4gVG9kYXkgaXQgb25seSBzdXBwb3J0cyBES0cgKGtleSBnZW5lcmF0aW9uKSB2aWEgTVBDdjIgaW4gdGhpcyBTREsgLSB0aGVyZSBpcyBub1xuICogb25saW5lIHNlbGYtY3VzdG9keSBEU0cgKHRyYW5zYWN0aW9uIHNpZ25pbmcpIGVudHJ5cG9pbnQgeWV0LCB0aG91Z2ggdGhlIHVuZGVybHlpbmdcbiAqIHNpZ25hdHVyZS1zaGFyZSBwcmltaXRpdmVzIChgYml0Z28vdHNzL3JlZHBhbGxhc2ApIGFuZCB0aGUgYHNlbmRTaWduYXR1cmVTaGFyZVYyYCBNUEN2MlxuICogcmVxdWVzdCB0eXBlIGV4aXN0IGFzIGdyb3VuZHdvcmsgZm9yIGEgZnV0dXJlIGN1c3RvZGlhbC9jb2xkIChTTUMvT1ZDKSBEU0cgc2lnbmluZyBmbG93LlxuICogSXQgaXMgYWRkaXRpdmU6IGV4aXN0aW5nIGNvaW5zIG5ldmVyIHJldHVybiBpdCBmcm9tIGBnZXRNUENBbGdvcml0aG0oKWAgdW5sZXNzIGV4cGxpY2l0bHlcbiAqIGltcGxlbWVudGVkIHRvIGRvIHNvLCBzbyB0aGlzIGRvZXMgbm90IGNoYW5nZSBiZWhhdmlvciBmb3IgYW55IGV4aXN0aW5nIEVDRFNBL0VkRFNBIGNvaW4gb3JcbiAqIGZvciBaRUMncyBleGlzdGluZyB0cmFuc3BhcmVudCAoc2VjcDI1NmsxKSBtdWx0aXNpZy9UU1MgZmxvd3MuXG4gKi9cbmV4cG9ydCB0eXBlIE1QQ0FsZ29yaXRobSA9ICdlY2RzYScgfCAnZWRkc2EnIHwgJ3JlZHBhbGxhcyc7XG5cbmV4cG9ydCB0eXBlIE5GVFRyYW5zZmVyT3B0aW9ucyA9IHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcmVjaXBpZW50QWRkcmVzczogc3RyaW5nO1xufSAmIChcbiAgfCB7XG4gICAgICB0eXBlOiAnRVJDNzIxJyB8IFRva2VuVHlwZS5ESUdJVEFMX0FTU0VUO1xuICAgICAgdG9rZW5JZDogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnRVJDMTE1NSc7XG4gICAgICBlbnRyaWVzOiB7IHRva2VuSWQ6IHN0cmluZzsgYW1vdW50OiBudW1iZXIgfVtdO1xuICAgIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyA9IE5GVFRyYW5zZmVyT3B0aW9ucyAmIHtcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbnM/OiBNUENUeFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdCB7XG4gIHR4SWQ/OiBzdHJpbmc7XG4gIHR4SWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VDb2luIHtcbiAgdHlwZTogc3RyaW5nO1xuICB0b2tlbkNvbmZpZz86IEJhc2VUb2tlbkNvbmZpZztcbiAgZ2V0Q29uZmlnKCk6IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj47XG4gIHVybChzdWZmaXg6IHN0cmluZyk6IHN0cmluZztcbiAgd2FsbGV0cygpOiBJV2FsbGV0cztcbiAgZW50ZXJwcmlzZXMoKTogSUVudGVycHJpc2VzO1xuICBrZXljaGFpbnMoKTogSUtleWNoYWlucztcbiAgd2ViaG9va3MoKTogSVdlYmhvb2tzO1xuICBwZW5kaW5nQXBwcm92YWxzKCk6IElQZW5kaW5nQXBwcm92YWxzO1xuICBtYXJrZXRzKCk6IElNYXJrZXRzO1xuICBnZXRDaGFpbigpOiBzdHJpbmc7XG4gIGdldEZhbWlseSgpOiBzdHJpbmc7XG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZztcbiAgdmFsdWVsZXNzVHJhbnNmZXJBbGxvd2VkKCk6IGJvb2xlYW47XG4gIGNoZWNrUmVjaXBpZW50KFxuICAgIHJlY2lwaWVudDogeyBhZGRyZXNzOiBzdHJpbmc7IGFtb3VudDogc3RyaW5nIHwgbnVtYmVyIH0sXG4gICAgb3B0aW9ucz86IHsgYWxsb3daZXJvQW1vdW50PzogYm9vbGVhbiB9XG4gICk6IHZvaWQ7XG4gIHN3ZWVwV2l0aFNlbmRNYW55KCk6IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uRGF0YUFsbG93ZWQoKTogYm9vbGVhbjtcbiAgYWxsb3dzQWNjb3VudENvbnNvbGlkYXRpb25zKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzUmVzb3VyY2VEZWxlZ2F0aW9uKCk6IGJvb2xlYW47XG4gIGdldFRva2VuRW5hYmxlbWVudENvbmZpZygpOiBUb2tlbkVuYWJsZW1lbnRDb25maWc7XG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlzaWcoKTogYm9vbGVhbjtcbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUgfCB1bmRlZmluZWQ7XG4gIHN1cHBvcnRzRGVyaXZlS2V5V2l0aFNlZWQoKTogYm9vbGVhbjtcbiAgaXNFVk0oKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNCbHNEa2coKTogYm9vbGVhbjtcbiAgcHJlcGFyZUNvbGRUcmFuc2FjdGlvbjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25QcmVidWlsZD4oXG4gICAgdHhQcmVidWlsZDogVCxcbiAgICBrZXljaGFpbnM6IFRyaXBsZTxLZXljaGFpbj5cbiAgKTogVCAmIENvbGRUcmFuc2FjdGlvblByZWJ1aWxkO1xuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB8IHN0cmluZztcbiAgYmFzZVVuaXRzVG9CaWdVbml0cyhiYXNlVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgYmlnVW5pdHNUb0Jhc2VVbml0cyhiaWdVbml0czogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nO1xuICBwcmVwcm9jZXNzQnVpbGRQYXJhbXMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgc2lnbk1lc3NhZ2Uoa2V5OiB7IHBydjogc3RyaW5nIH0sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPjtcbiAgY3JlYXRlS2V5U2lnbmF0dXJlcyhcbiAgICBwcnY6IHN0cmluZyxcbiAgICBiYWNrdXBLZXljaGFpbjogeyBwdWI6IHN0cmluZyB9LFxuICAgIGJpdGdvS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfVxuICApOiBQcm9taXNlPHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9PjtcbiAgZXhwbGFpblRyYW5zYWN0aW9uKFxuICAgIG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgd2FsbGV0PzogSVdhbGxldFxuICApOiBQcm9taXNlPElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPGFueSwgc3RyaW5nIHwgbnVtYmVyPiB8IHVuZGVmaW5lZD47XG4gIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPjtcbiAgdmVyaWZ5QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPjtcbiAgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMgfCBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucywgd2FsbGV0PzogSVdhbGxldCk6IFByb21pc2U8Ym9vbGVhbj47XG4gIGRlcml2ZUFkZHJlc3MocGFyYW1zOiBEZXJpdmVBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8RGVyaXZlQWRkcmVzc1Jlc3VsdD47XG4gIGNhbm9uaWNhbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBmb3JtYXQ6IHVua25vd24pOiBzdHJpbmc7XG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNMaWdodG5pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNNZXNzYWdlU2lnbmluZygpOiBib29sZWFuO1xuICBzdXBwb3J0c1NpZ25pbmdUeXBlZERhdGEoKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvaW4tc3BlY2lmaWMgdmFsaWRhdGlvbiBvZiBhIG1lc3NhZ2UgcGF5bG9hZCBiZWZvcmUgaXQgaXMgZm9yd2FyZGVkIGZvciBzaWduaW5nLlxuICAgKiBJbXBsZW1lbnRhdGlvbnMgbXVzdCB0aHJvdyB3aGVuIHRoZSBtZXNzYWdlIGlzIG5vdCBzaWduYWJsZSBmb3IgdGhpcyBjb2luLlxuICAgKi9cbiAgdmFsaWRhdGVTaWduYWJsZU1lc3NhZ2U/KG1lc3NhZ2U6IFBpY2s8TWVzc2FnZSwgJ21lc3NhZ2VSYXcnIHwgJ21lc3NhZ2VTdGFuZGFyZFR5cGUnIHwgJ3NpZ25lckFkZHJlc3MnPik6IHZvaWQ7XG4gIHN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldCh3YWxsZXRQYXJhbXM6IFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsIGtleWNoYWluczogS2V5Y2hhaW5zVHJpcGxldCk6IFByb21pc2U8YW55PjtcbiAgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhidWlsZFBhcmFtczogRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPjtcbiAgcHJlc2lnblRyYW5zYWN0aW9uKHBhcmFtczogUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucz47XG4gIHNpZ25XaXRoQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uPyhcbiAgICBjdXN0b21TaWduaW5nRnVuY3Rpb246IEN1c3RvbVNpZ25pbmdGdW5jdGlvbixcbiAgICBzaWduVHJhbnNhY3Rpb25QYXJhbXM6IHsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDsgcHViczogc3RyaW5nW10gfVxuICApOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgbmV3V2FsbGV0T2JqZWN0KHdhbGxldFBhcmFtczogYW55KTogSVdhbGxldDtcbiAgZmVlRXN0aW1hdGUocGFyYW1zOiBGZWVFc3RpbWF0ZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGRlcml2ZUtleVdpdGhTZWVkKHBhcmFtczogRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zKTogeyBrZXk6IHN0cmluZzsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9O1xuICBrZXlJZHNGb3JTaWduaW5nKCk6IG51bWJlcltdO1xuICBwcmVDcmVhdGVCaXRHbyhwYXJhbXM6IFByZWNyZWF0ZUJpdEdvT3B0aW9ucyk6IHZvaWQ7XG4gIGluaXRpYXRlUmVjb3ZlcnkocGFyYW1zOiBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyk6IG5ldmVyO1xuICBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPjtcbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyO1xuICBnZW5lcmF0ZVJvb3RLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyO1xuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbjtcbiAgaXNWYWxpZE1vZk5TZXR1cChwYXJhbXM6IFZhbGlkTW9mTk9wdGlvbnMpOiBib29sZWFuO1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuO1xuICBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGdldFNpZ25hYmxlUGF5bG9hZChzZXJpYWxpemVkVHg6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPjtcbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobTtcbiAgLy8gVE9ETyAtIHRoaXMgb25seSBiZWxvbmdzIGluIGV0aCBjb2luc1xuICByZWNvdmVyVG9rZW4ocGFyYW1zOiBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zKTogUHJvbWlzZTxSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbj47XG4gIGdldEluc2NyaXB0aW9uQnVpbGRlcih3YWxsZXQ6IFdhbGxldCk6IElJbnNjcmlwdGlvbkJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBjYWxsIGRhdGEgZm9yIHRyYW5zZmVycmluZyBhIE5GVChzKS5cbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25zIHNwZWNpZnlpbmcgdGhlIHRva2VuIGNvbnRyYWN0LCB0b2tlbiByZWNpcGllbnQgJiB0aGUgdG9rZW4ocykgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICogQHJldHVybiB0aGUgaGV4IHN0cmluZyBmb3IgdGhlIGNvbnRyYWN0IGNhbGwuXG4gICAqL1xuICBidWlsZE5mdFRyYW5zZmVyRGF0YShwYXJhbXM6IEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyk6IHN0cmluZyB8IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXM7XG4gIGdldEhhc2hGdW5jdGlvbigpOiBIYXNoO1xuICAvKipcbiAgICogUmV0dXJucyB0cnVlIHdoZW4gc2lnbmFibGVIZXggaXMgYWxyZWFkeSB0aGUgZmluYWwgc2lnbmluZyBoYXNoIGZvciBNUEMgc2lnbmluZ1xuICAgKiAoZS5nLiBTSEEtMjU2IGZvciBBdmFsYW5jaGUgYXRvbWljIGNyb3NzLWNoYWluIHR4cykuIE9ubHkgaW1wbGVtZW50ZWQgYnkgY29pbnNcbiAgICogdGhhdCBwcm9kdWNlIHByZS1oYXNoZWQgc2lnbmFibGUgbWF0ZXJpYWwuXG4gICAqL1xuICBpc1NpZ25hYmxlUHJlSGFzaGVkPyh1bnNpZ25lZFR4OiBTaWduYWJsZVRyYW5zYWN0aW9uKTogYm9vbGVhbjtcbiAgYnJvYWRjYXN0VHJhbnNhY3Rpb24ocGFyYW1zOiBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQ+O1xuICBzZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChpbnRlbnQ6IFBvcHVsYXRlZEludGVudCwgcGFyYW1zOiBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBdWRpdCBhIGtleSB0byBkZXRlcm1pbmUgaWYgaXQgaXMgdmFsaWQgZm9yIHRoZSBjb2luLlxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBhdWRpdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLnB1YmxpY0tleSAgLSBUaGUgcHVibGljIHBvcnRpb24gb2YgdGhlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLmVuY3J5cHRlZFBydiAtIFRoZSBlbmNyeXB0ZWQgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIC0gVGhlIHBhc3NwaHJhc2UgdG8gZGVjcnlwdCB0aGUgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tdWx0aVNpZ1R5cGUgLSBUaGUgdHlwZSBvZiBtdWx0aXNpZyAoZS5nLiAnb25jaGFpbicgb3IgJ3RzcycpXG4gICAqL1xuICBhc3NlcnRJc1ZhbGlkS2V5KHBhcmFtczogQXVkaXRLZXlQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICByZXF1aXJlc1dhbGxldEluaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24oKTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"recipientUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/recipientUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAmB,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,aAsFhC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,EACvC,SAAS,CAAC,EAAE,MAAM,GACjB,iBAAiB,CA0DnB"}
1
+ {"version":3,"file":"recipientUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/recipientUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAmB,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,aAsFhC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,EACvC,SAAS,CAAC,EAAE,MAAM,GACjB,iBAAiB,CAwEnB"}
@@ -150,6 +150,17 @@ function resolveEffectiveTxParams(txRequest, txParams, chainName) {
150
150
  if (intentStakingRequestId && !effectiveTxParams.stakingRequestId) {
151
151
  effectiveTxParams.stakingRequestId = intentStakingRequestId;
152
152
  }
153
+ // Propagate the ERC-7984 shield params from the persisted intent. Signing paths that carry no
154
+ // txParams (pendingApproval.approve() -> recreateTxRequest() -> signTxRequest()) would otherwise reach
155
+ // the coin verifier without wrapParams, and the wrapApprove calldata check would reject valid bytes.
156
+ // WP flattens wrapParams into intent.tokenName / intent.amount (see mpcUtils.createIntent).
157
+ const intent = txRequest.intent;
158
+ if (!effectiveTxParams.wrapParams &&
159
+ (intent?.intentType === 'wrapApprove' || intent?.intentType === 'wrap') &&
160
+ typeof intent.tokenName === 'string' &&
161
+ typeof intent.amount === 'string') {
162
+ effectiveTxParams.wrapParams = { tokenName: intent.tokenName, amount: intent.amount };
163
+ }
153
164
  // All staking intents (BSC delegate/undelegate, CELO stake/unstake, etc.) carry
154
165
  // stakingRequestId as a required field on BaseStakeIntent (@bitgo/public-types).
155
166
  // Use its presence as a generic staking signal — no need to enumerate every intentType.
@@ -165,4 +176,4 @@ function resolveEffectiveTxParams(txRequest, txParams, chainName) {
165
176
  }
166
177
  return effectiveTxParams;
167
178
  }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlY2lwaWVudFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlJQSw0REE4REM7QUE5TEQseUNBQXVEO0FBR3ZEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNDLGNBQWM7SUFDZCxjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtJQUNiLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxjQUFjO0lBQ2QsVUFBVTtJQUNWLGdGQUFnRjtJQUNoRixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCwyRUFBMkU7SUFDM0UsNkVBQTZFO0lBQzdFLHVFQUF1RTtJQUN2RSw4RUFBOEU7SUFDOUUsK0VBQStFO0lBQy9FLCtEQUErRDtJQUMvRCw2RUFBNkU7SUFDN0UsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGVBQWU7SUFDZix1RkFBdUY7SUFDdkYsdUZBQXVGO0lBQ3ZGLDJDQUEyQztJQUMzQyxhQUFhO0lBQ2IsTUFBTTtJQUNOLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsbUVBQW1FO0lBQ25FLGNBQWM7SUFFZCwwRkFBMEY7SUFDMUYsK0RBQStEO0lBQy9ELFVBQVU7SUFDVixZQUFZO0lBQ1osaUJBQWlCO0lBRWpCLDhCQUE4QjtJQUM5QixPQUFPO0lBQ1AsU0FBUztJQUNULG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGVBQWU7SUFDZixXQUFXO0lBRVgsc0ZBQXNGO0lBQ3RGLE9BQU87SUFDUCxtQkFBbUI7SUFFbkIsZUFBZTtJQUNmLHdIQUF3SDtJQUN4SCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2Ysa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUNuQyxtQ0FBbUM7SUFDbkMsb0NBQW9DO0lBRXBDLFFBQVE7SUFFUiw2RUFBNkU7SUFDN0UsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSwrREFBK0Q7SUFDL0QsUUFBUTtJQUNSLFdBQVc7SUFFWCxrRUFBa0U7SUFDbEUsWUFBWTtJQUVaLHdEQUF3RDtJQUN4RCxXQUFXO0NBQ1osQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsU0FBb0IsRUFDcEIsUUFBdUMsRUFDdkMsU0FBa0I7SUFFbEIsTUFBTSxnQkFBZ0IsR0FBSSxTQUFTLENBQUMsTUFBMEIsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7UUFDbEcsMkVBQTJFO1FBQzNFLHVFQUF1RTtRQUN2RSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxNQUFNLFNBQVMsR0FDYixlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVM7WUFDcEMsQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLE1BQU0sSUFBSSxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLE9BQU87WUFDTCxPQUFPLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ3hDLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDcEMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO1lBQzFCLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUNoQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLGlCQUFpQixHQUFzQjtRQUMzQyxHQUFHLFFBQVE7UUFDWCxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtLQUNsRixDQUFDO0lBRUYsMkVBQTJFO0lBQzNFLCtGQUErRjtJQUMvRixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLElBQUssU0FBUyxDQUFDLE1BQTBCLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUVqRyxvREFBb0Q7SUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN0QyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx3RkFBd0Y7SUFDeEYsNEZBQTRGO0lBQzVGLE1BQU0sc0JBQXNCLEdBQUksU0FBUyxDQUFDLE1BQTBCLEVBQUUsZ0JBQWdCLENBQUM7SUFDdkYsSUFBSSxzQkFBc0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDbEUsaUJBQWlCLENBQUMsZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUM7SUFDOUQsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixpRkFBaUY7SUFDakYsd0ZBQXdGO0lBQ3hGLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBRSxTQUFTLENBQUMsTUFBMEIsRUFBRSxnQkFBZ0IsQ0FBQztJQUVsRiwwRkFBMEY7SUFDMUYsNEZBQTRGO0lBQzVGLE1BQU0sVUFBVSxHQUFJLFNBQVMsQ0FBQyxNQUEwQixFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFFM0UsSUFDRSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxNQUFNO1FBQ3JDLENBQUMsZUFBZTtRQUNoQixDQUFDLDZCQUFxQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQyw2QkFBcUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQ3RDLENBQUM7UUFDRCxNQUFNLElBQUksZ0NBQXVCLENBQy9CLHNIQUFzSCxDQUN2SCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHsgUG9wdWxhdGVkSW50ZW50LCBUeFJlcXVlc3QgfSBmcm9tICcuL2Jhc2VUeXBlcyc7XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gdHlwZXMgdGhhdCBsZWdpdGltYXRlbHkgY2Fycnkgbm8gZXhwbGljaXQgcmVjaXBpZW50cy5cbiAqIFRoZXNlIGFyZSB0aGUgaW50ZW50VHlwZSBzdHJpbmdzIGFzIHN0b3JlZCBpbiBUeFJlcXVlc3QuaW50ZW50LmludGVudFR5cGUgYnkgV1AuXG4gKiB2ZXJpZnlUcmFuc2FjdGlvbiBoYW5kbGVzIG5vLXJlY2lwaWVudCB2YWxpZGF0aW9uIGZvciB0aGVzZSBpbnRlcm5hbGx5LlxuICogTWlycm9ycyB0aGUgYnlwYXNzIGxpc3QgaW4gYWJzdHJhY3RFdGhMaWtlTmV3Q29pbnMudHMgdmVyaWZ5VHNzVHJhbnNhY3Rpb24uXG4gKlxuICogRUNEU0EgdHlwZXM6IGFjY2VsZXJhdGlvbiwgZmlsbE5vbmNlLCB0cmFuc2ZlclRva2VuLCB0b2tlbkFwcHJvdmFsLCBjb25zb2xpZGF0ZSxcbiAqICAgICAgICAgICAgICBicmlkZ2VGdW5kcywgZW5hYmxlVG9rZW4sIGN1c3RvbVR4LCB3cmFwQXBwcm92ZSwgd3JhcCwgdW53cmFwLFxuICogICAgICAgICAgICAgIGZpbmFsaXplVW53cmFwLCBjb250cmFjdENhbGxcbiAqIEJTQy9CTkIgZGVsZWdhdGlvbi1iYXNlZCBzdGFraW5nOiBkZWxlZ2F0ZSwgdW5kZWxlZ2F0ZSwgc3dpdGNoVmFsaWRhdG9yXG4gKiBDRUxPL0VUSCBsb2NrLWJhc2VkIHN0YWtpbmc6IHN0YWtlLCB1bnN0YWtlLCBzdGFrZVdpdGhDYWxsRGF0YSwgdW5zdGFrZVdpdGhDYWxsRGF0YSxcbiAqICAgICAgICAgICAgICB0cmFuc2ZlclN0YWtlLCBpbmNyZWFzZVN0YWtlLCBnb1Vuc3Rha2VcbiAqIENsYWltIHJld2FyZHMgKEJTQywgQ0VMTyDigJQgVFJYL1NPTCB1c2UgRWREU0EgYW5kIGFyZSB1bmFmZmVjdGVkKTogY2xhaW0sIHN0YWtlQ2xhaW1SZXdhcmRzXG4gKi9cbmV4cG9ydCBjb25zdCBOT19SRUNJUElFTlRfVFhfVFlQRVMgPSBuZXcgU2V0KFtcbiAgLy8gRUNEU0EgdHlwZXNcbiAgJ2FjY2VsZXJhdGlvbicsXG4gICdmaWxsTm9uY2UnLFxuICAndHJhbnNmZXJUb2tlbicsXG4gICd0b2tlbkFwcHJvdmFsJyxcbiAgJ2NvbnNvbGlkYXRlJyxcbiAgJ2JyaWRnZUZ1bmRzJyxcbiAgJ2VuYWJsZVRva2VuJyxcbiAgJ2VuYWJsZXRva2VuJyxcbiAgJ2Rpc2FibGVUb2tlbicsXG4gICdkaXNhYmxldG9rZW4nLFxuICAnY3VzdG9tVHgnLFxuICAvLyBEZUZpIHZhdWx0IG9wZXJhdGlvbnMg4oCUIHJlY2lwaWVudHMvY2FsbGRhdGEgYnVpbHQgc2VydmVyLXNpZGUgZnJvbSBkZWZpUGFyYW1zXG4gICdkZWZpQXBwcm92ZScsXG4gICdkZWZpRGVwb3NpdCcsXG4gICdkZWZpV2l0aGRyYXcnLFxuICAvLyBOYXRpdmUgd3JhcC91bndyYXAgKFdFVEg5IGRlcG9zaXQoKS93aXRoZHJhdygpKSDigJQgY2FsbGRhdGEgYW5kIHRoZSBXRVRIOVxuICAvLyBhZGRyZXNzIGFyZSByZXNvbHZlZCBzZXJ2ZXItc2lkZSBmcm9tIHRoZSB2YXVsdCBiaW5kaW5nLCBzbyBubyByZWNpcGllbnRzLlxuICAvLyBSZWdpc3RlcmVkIGluIEJPVEggc3BlbGxpbmdzIG9uIHB1cnBvc2U6IHRoaXMgc2V0IGlzIG1hdGNoZWQgYWdhaW5zdFxuICAvLyB0eFBhcmFtcy50eXBlLCB3aGljaCBpcyBidWlsZFBhcmFtcy50eXBlIChjYW1lbENhc2UsIGZyb20gd2FsbGV0LnNlbmRNYW55KSxcbiAgLy8gQU5EIGFnYWluc3QgaW50ZW50LmludGVudFR5cGUgKGtlYmFiLWNhc2UsIGFzIFdQIHBlcnNpc3RzIGl0KS4gU2lnbmluZyBwYXRoc1xuICAvLyB0aGF0IGNhcnJ5IG5vIHR4UGFyYW1zIOKAlCBub3RhYmx5IHBlbmRpbmdBcHByb3ZhbC5hcHByb3ZlKCkg4oaSXG4gIC8vIHJlY3JlYXRlVHhSZXF1ZXN0KCkg4oaSIHNpZ25UeFJlcXVlc3QoKSB3aXRoIG5vIHR4UGFyYW1zIOKAlCBvbmx5IGV2ZXIgc2VlIHRoZVxuICAvLyBrZWJhYi1jYXNlIHNwZWxsaW5nLlxuICAnd3JhcE5hdGl2ZScsXG4gICd3cmFwLW5hdGl2ZScsXG4gICd1bndyYXBOYXRpdmUnLFxuICAndW53cmFwLW5hdGl2ZScsXG4gIC8vIEVSQy03OTg0IHNoaWVsZC91bnNoaWVsZDogYXBwcm92ZS93cmFwL3Vud3JhcCBjYWxsZGF0YSBpcyBidWlsdCBzZXJ2ZXItc2lkZSBmcm9tIHRoZVxuICAvLyBpbnRlbnQsIGFuZCBmaW5hbGl6ZVVud3JhcCB0eG5SZXFzIGFyZSBXUC1jcmVhdGVkIGF0IFJFQURZX1RPX0ZJTkFMSVpFIChjbGllbnQgc2lnbnNcbiAgLy8gb25seSkg4oCUIG5vbmUgY2FycnkgU0RLLWxldmVsIHJlY2lwaWVudHMuXG4gICd3cmFwQXBwcm92ZScsXG4gICd3cmFwJyxcbiAgJ3Vud3JhcCcsXG4gICdmaW5hbGl6ZVVud3JhcCcsXG4gIC8vIFNtYXJ0IGNvbnRyYWN0IGludm9jYXRpb25zIHdpdGggbm8gZXhwbGljaXQgU0RLLWxldmVsIHJlY2lwaWVudHNcbiAgJ2NvbnRyYWN0Q2FsbCcsXG5cbiAgLy8gQlNDL0JOQiBkZWxlZ2F0aW9uLWJhc2VkIHN0YWtpbmcg4oCUIGludGVudFR5cGUgc3RyaW5ncyBmcm9tIFR4UmVxdWVzdC5pbnRlbnQuaW50ZW50VHlwZS5cbiAgLy8gTm90ZTogU09MIHNvbERlbGVnYXRlSW50ZW50IGFsc28gdXNlcyBpbnRlbnRUeXBlIFwiZGVsZWdhdGVcIi5cbiAgJ2RlbGVnYXRlJyxcbiAgJ3VuZGVsZWdhdGUnLFxuICAnc3dpdGNoVmFsaWRhdG9yJyxcblxuICAvLyBDRUxPL0VUSCBsb2NrLWJhc2VkIHN0YWtpbmdcbiAgJ3N0YWtlJyxcbiAgJ3Vuc3Rha2UnLFxuICAnc3Rha2VXaXRoQ2FsbERhdGEnLFxuICAndW5zdGFrZVdpdGhDYWxsRGF0YScsXG4gICd0cmFuc2ZlclN0YWtlJyxcbiAgJ2luY3JlYXNlU3Rha2UnLFxuICAnZ29VbnN0YWtlJyxcblxuICAvLyBDbGFpbSByZXdhcmRzIOKAlCBCU0MgYW5kIENFTE8gKFRSWC9TT0wvQ29zbW9zIHVzZSBFZERTQSwgbm90IGFmZmVjdGVkIGJ5IHRoaXMgZ3VhcmQpXG4gICdjbGFpbScsXG4gICdzdGFrZUNsYWltUmV3YXJkcycsXG5cbiAgJ2NyZWF0ZUFjY291bnQnLFxuICAvLyBDYW50b24gb3BlcmF0aW9ucyB3aXRoIG5vIFNESy1sZXZlbCByZWNpcGllbnRzLiBDYW50b24udmVyaWZ5VHJhbnNhY3Rpb24gdmFsaWRhdGVzIHRoZXNlIGZyb20gdGhlIHRyYW5zYWN0aW9uIGl0c2VsZi5cbiAgJ3RyYW5zZmVyQWNjZXB0JyxcbiAgJ3RyYW5zZmVyUmVqZWN0JyxcbiAgJ3RyYW5zZmVyT2ZmZXJXaXRoZHJhd24nLFxuICAnY29zaWduRGVsZWdhdGlvbkFjY2VwdCcsXG4gICdhbGxvY2F0aW9uQWxsb2NhdGUnLFxuICAnYWxsb2NhdGlvbk9mZmVyV2l0aGRyYXduJyxcbiAgJ2NhbnRvbkNvbW1hbmQnLFxuICAnY2FudG9uRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXInLFxuICAnY2FudG9uRW5kSW52ZXN0b3JPbmJvYXJkaW5nQWNjZXB0JyxcbiAgJ2NhbnRvbkVuZEludmVzdG9yT25ib2FyZGluZ1JlamVjdCcsXG4gICdjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0JyxcblxuICAncGxlZGdlJyxcblxuICAvLyBBdmFsYW5jaGUgLyBGbGFyZSBjcm9zcy1jaGFpbiBhdG9taWMgaW1wb3J0cyDigJQgcmVjaXBpZW50cyBhcmUgbm90IHN1cHBsaWVkXG4gIC8vIGJ5IHRoZSBjbGllbnQgYmVjYXVzZSB0aGUgaW1wb3J0IGNvbnN1bWVzIFVUWE9zIGFscmVhZHkgb3duZWQgYnkgdGhlXG4gIC8vIHdhbGxldDsgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgaXMgdGhlIHdhbGxldCBpdHNlbGYuIFdQIGlzc3VlcyB0aGVzZVxuICAvLyB3aXRoIGludGVudFR5cGUgJ2ltcG9ydCcgKFAtY2hhaW4pIG9yICdpbXBvcnR0b2MnIChDLWNoYWluKS5cbiAgJ2ltcG9ydCcsXG4gICdpbXBvcnR0b2MnLFxuXG4gIC8vIFNPTDogZGVhY3RpdmF0ZSBzdGFrZSBhY2NvdW50IOKAlCBubyBvbi1jaGFpbiB0cmFuc2ZlciByZWNpcGllbnQuXG4gICdkZWFjdGl2YXRlJyxcblxuICAvLyBTT0w6IGF1dGhvcml6ZSBzdGFrZSBhY2NvdW50IOKAlCBubyB0cmFuc2ZlciByZWNpcGllbnQuXG4gICdhdXRob3JpemUnLFxuXSk7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGVmZmVjdGl2ZSB0eFBhcmFtcyBmb3IgVFNTIHNpZ25pbmcgcmVjaXBpZW50IHZlcmlmaWNhdGlvbi5cbiAqXG4gKiBGb3Igc21hcnQgY29udHJhY3QgaW50ZXJhY3Rpb25zLCByZWNpcGllbnRzIGxpdmUgaW4gdHhSZXF1ZXN0LmludGVudC5yZWNpcGllbnRzXG4gKiAobmF0aXZlIGFtb3VudCA9IDAsIHNvIGJ1aWxkUGFyYW1zIGlzIGVtcHR5KS4gRmFsbHMgYmFjayB0byBpbnRlbnQgcmVjaXBpZW50c1xuICogbWFwcGVkIHRvIElUcmFuc2FjdGlvblJlY2lwaWVudCBzaGFwZSB3aGVuIHR4UGFyYW1zLnJlY2lwaWVudHMgaXMgYWJzZW50LlxuICpcbiAqIHRva2VuTmFtZSBpcyBkZXJpdmVkIGZyb20gdG9rZW5EYXRhLnRva2VuTmFtZSB3aGVuIHByZXNlbnQsIG90aGVyd2lzZSBmcm9tXG4gKiBhbW91bnQuc3ltYm9sIHdoZW4gY2hhaW5OYW1lIGlzIHByb3ZpZGVkIGFuZCBzeW1ib2wgZGlmZmVycyBmcm9tIGl0LlxuICpcbiAqIFN0YWtpbmcgaW50ZW50cyAoQlNDIGRlbGVnYXRlL3VuZGVsZWdhdGUsIENFTE8gc3Rha2UvdW5zdGFrZSwgZXRjLikgYXJlXG4gKiBpZGVudGlmaWVkIGdlbmVyaWNhbGx5IGJ5IHRoZSBwcmVzZW5jZSBvZiBgc3Rha2luZ1JlcXVlc3RJZGAgb24gdGhlIGludGVudCDigJRcbiAqIGEgcmVxdWlyZWQgZmllbGQgb24gQmFzZVN0YWtlSW50ZW50IGluIEBiaXRnby9wdWJsaWMtdHlwZXMuIFRoZXNlIGludGVudHNcbiAqIGhhdmUgbm8gdHhQYXJhbXMgcmVjaXBpZW50cyBieSBkZXNpZ247IHZhbGlkYXRpb24gaXMgZG9uZSBhdCB0aGUgY29pbiBsYXllci5cbiAqXG4gKiBUaHJvd3MgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgaWYgbm8gcmVjaXBpZW50cyBjYW4gYmUgcmVzb2x2ZWQgYW5kIHRoZVxuICogdHJhbnNhY3Rpb24gaXMgbm90IGEga25vd24gbm8tcmVjaXBpZW50IHR5cGUuXG4gKlxuICogQHBhcmFtIHR4UmVxdWVzdCAtIHRoZSB0cmFuc2FjdGlvbiByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHBlcnNpc3RlZCBpbnRlbnRcbiAqIEBwYXJhbSB0eFBhcmFtcyAtIHRoZSBjYWxsZXItc3VwcGxpZWQgdHJhbnNhY3Rpb24gcGFyYW1ldGVycyAobWF5IGJlIHVuZGVmaW5lZClcbiAqIEBwYXJhbSBjaGFpbk5hbWUgLSB0aGUgYmFzZSBjaGFpbiBuYW1lIChlLmcuICdzb2wnLCAndHNvbCcpIHVzZWQgdG8gZXhjbHVkZVxuICogICBuYXRpdmUtY29pbiB0cmFuc2ZlcnMgZnJvbSB0b2tlbk5hbWU7IHBhc3MgYmFzZUNvaW4uZ2V0Q2hhaW4oKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUVmZmVjdGl2ZVR4UGFyYW1zKFxuICB0eFJlcXVlc3Q6IFR4UmVxdWVzdCxcbiAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zIHwgdW5kZWZpbmVkLFxuICBjaGFpbk5hbWU/OiBzdHJpbmdcbik6IFRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgY29uc3QgaW50ZW50UmVjaXBpZW50cyA9ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LnJlY2lwaWVudHM/Lm1hcCgoaW50ZW50UmVjaXBpZW50KSA9PiB7XG4gICAgLy8gUHJlZmVyIHRva2VuRGF0YS50b2tlbk5hbWU7IGZhbGwgYmFjayB0byBhbW91bnQuc3ltYm9sIHdoZW4gY2hhaW5OYW1lIGlzXG4gICAgLy8gcHJvdmlkZWQgYW5kIGRpZmZlcnMgZnJvbSBpdC4gV2hlbiBhYnNlbnQsIHNraXAgdGhlIHN5bWJvbCBmYWxsYmFjay5cbiAgICBjb25zdCB7IHN5bWJvbCB9ID0gaW50ZW50UmVjaXBpZW50LmFtb3VudDtcbiAgICBjb25zdCB0b2tlbk5hbWUgPVxuICAgICAgaW50ZW50UmVjaXBpZW50LnRva2VuRGF0YT8udG9rZW5OYW1lIHx8XG4gICAgICAoY2hhaW5OYW1lICE9PSB1bmRlZmluZWQgJiYgc3ltYm9sICYmIHN5bWJvbCAhPT0gY2hhaW5OYW1lID8gc3ltYm9sIDogdW5kZWZpbmVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogaW50ZW50UmVjaXBpZW50LmFkZHJlc3MuYWRkcmVzcyxcbiAgICAgIGFtb3VudDogaW50ZW50UmVjaXBpZW50LmFtb3VudC52YWx1ZSxcbiAgICAgIGRhdGE6IGludGVudFJlY2lwaWVudC5kYXRhLFxuICAgICAgLi4uKHRva2VuTmFtZSAmJiB7IHRva2VuTmFtZSB9KSxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBlZmZlY3RpdmVUeFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXMgPSB7XG4gICAgLi4udHhQYXJhbXMsXG4gICAgcmVjaXBpZW50czogdHhQYXJhbXM/LnJlY2lwaWVudHM/Lmxlbmd0aCA/IHR4UGFyYW1zLnJlY2lwaWVudHMgOiBpbnRlbnRSZWNpcGllbnRzLFxuICB9O1xuXG4gIC8vIEZhbGwgYmFjayB0byBpbnRlbnQuaW50ZW50VHlwZSB3aGVuIHR4UGFyYW1zLnR5cGUgaXMgbm90IGV4cGxpY2l0bHkgc2V0LlxuICAvLyBTdGFraW5nIHdhbGxldHMgY2FsbCBzaWduVHJhbnNhY3Rpb24gd2l0aG91dCB0eFBhcmFtcywgc28gdGhlIHR5cGUgbGl2ZXMgb25seSBpbiB0aGUgaW50ZW50LlxuICBjb25zdCB0eFR5cGUgPSBlZmZlY3RpdmVUeFBhcmFtcy50eXBlID8/ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LmludGVudFR5cGUgPz8gJyc7XG5cbiAgLy8gUHJvcGFnYXRlIHRoZSByZXNvbHZlZCB0eXBlIHNvIGRvd25zdHJlYW0gY2FsbGVyc1xuICBpZiAoIWVmZmVjdGl2ZVR4UGFyYW1zLnR5cGUgJiYgdHhUeXBlKSB7XG4gICAgZWZmZWN0aXZlVHhQYXJhbXMudHlwZSA9IHR4VHlwZTtcbiAgfVxuXG4gIC8vIFByb3BhZ2F0ZSBzdGFraW5nUmVxdWVzdElkIGZyb20gaW50ZW50IGludG8gZWZmZWN0aXZlVHhQYXJhbXMgc28gdmVyaWZ5VHNzVHJhbnNhY3Rpb25cbiAgLy8gb3ZlcnJpZGVzIGNhbiBieXBhc3MgdGhlIG5vLXJlY2lwaWVudCBndWFyZCB3aXRob3V0IG5lZWRpbmcgYWNjZXNzIHRvIHR4UmVxdWVzdCBkaXJlY3RseS5cbiAgY29uc3QgaW50ZW50U3Rha2luZ1JlcXVlc3RJZCA9ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LnN0YWtpbmdSZXF1ZXN0SWQ7XG4gIGlmIChpbnRlbnRTdGFraW5nUmVxdWVzdElkICYmICFlZmZlY3RpdmVUeFBhcmFtcy5zdGFraW5nUmVxdWVzdElkKSB7XG4gICAgZWZmZWN0aXZlVHhQYXJhbXMuc3Rha2luZ1JlcXVlc3RJZCA9IGludGVudFN0YWtpbmdSZXF1ZXN0SWQ7XG4gIH1cblxuICAvLyBBbGwgc3Rha2luZyBpbnRlbnRzIChCU0MgZGVsZWdhdGUvdW5kZWxlZ2F0ZSwgQ0VMTyBzdGFrZS91bnN0YWtlLCBldGMuKSBjYXJyeVxuICAvLyBzdGFraW5nUmVxdWVzdElkIGFzIGEgcmVxdWlyZWQgZmllbGQgb24gQmFzZVN0YWtlSW50ZW50IChAYml0Z28vcHVibGljLXR5cGVzKS5cbiAgLy8gVXNlIGl0cyBwcmVzZW5jZSBhcyBhIGdlbmVyaWMgc3Rha2luZyBzaWduYWwg4oCUIG5vIG5lZWQgdG8gZW51bWVyYXRlIGV2ZXJ5IGludGVudFR5cGUuXG4gIGNvbnN0IGlzU3Rha2luZ0ludGVudCA9ICEhKHR4UmVxdWVzdC5pbnRlbnQgYXMgUG9wdWxhdGVkSW50ZW50KT8uc3Rha2luZ1JlcXVlc3RJZDtcblxuICAvLyBidWlsZFBhcmFtcy50eXBlIGZyb20gdGhlIHdhbGxldCBVSSBpcyBQYXNjYWxDYXNlICgnSW1wb3J0Jyk7IGludGVudC5pbnRlbnRUeXBlIGZyb20gV1BcbiAgLy8gaXMgbG93ZXJjYXNlICgnaW1wb3J0JykuIEVpdGhlciBtYXkgYmUgdGhlIHNvdXJjZSBvZiB0cnV0aCBkZXBlbmRpbmcgb24gdGhlIHNpZ25pbmcgcGF0aC5cbiAgY29uc3QgaW50ZW50VHlwZSA9ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LmludGVudFR5cGUgPz8gJyc7XG5cbiAgaWYgKFxuICAgICFlZmZlY3RpdmVUeFBhcmFtcy5yZWNpcGllbnRzPy5sZW5ndGggJiZcbiAgICAhaXNTdGFraW5nSW50ZW50ICYmXG4gICAgIU5PX1JFQ0lQSUVOVF9UWF9UWVBFUy5oYXModHhUeXBlKSAmJlxuICAgICFOT19SRUNJUElFTlRfVFhfVFlQRVMuaGFzKGludGVudFR5cGUpXG4gICkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICdSZWNpcGllbnQgZGV0YWlscyBhcmUgcmVxdWlyZWQgdG8gdmVyaWZ5IHRoaXMgdHJhbnNhY3Rpb24gYmVmb3JlIHNpZ25pbmcuIFBhc3MgdHhQYXJhbXMgd2l0aCBhdCBsZWFzdCBvbmUgcmVjaXBpZW50LidcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGVmZmVjdGl2ZVR4UGFyYW1zO1xufVxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlY2lwaWVudFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlJQSw0REE0RUM7QUE1TUQseUNBQXVEO0FBR3ZEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNDLGNBQWM7SUFDZCxjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtJQUNiLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxjQUFjO0lBQ2QsVUFBVTtJQUNWLGdGQUFnRjtJQUNoRixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCwyRUFBMkU7SUFDM0UsNkVBQTZFO0lBQzdFLHVFQUF1RTtJQUN2RSw4RUFBOEU7SUFDOUUsK0VBQStFO0lBQy9FLCtEQUErRDtJQUMvRCw2RUFBNkU7SUFDN0UsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGVBQWU7SUFDZix1RkFBdUY7SUFDdkYsdUZBQXVGO0lBQ3ZGLDJDQUEyQztJQUMzQyxhQUFhO0lBQ2IsTUFBTTtJQUNOLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsbUVBQW1FO0lBQ25FLGNBQWM7SUFFZCwwRkFBMEY7SUFDMUYsK0RBQStEO0lBQy9ELFVBQVU7SUFDVixZQUFZO0lBQ1osaUJBQWlCO0lBRWpCLDhCQUE4QjtJQUM5QixPQUFPO0lBQ1AsU0FBUztJQUNULG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGVBQWU7SUFDZixXQUFXO0lBRVgsc0ZBQXNGO0lBQ3RGLE9BQU87SUFDUCxtQkFBbUI7SUFFbkIsZUFBZTtJQUNmLHdIQUF3SDtJQUN4SCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2Ysa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUNuQyxtQ0FBbUM7SUFDbkMsb0NBQW9DO0lBRXBDLFFBQVE7SUFFUiw2RUFBNkU7SUFDN0UsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSwrREFBK0Q7SUFDL0QsUUFBUTtJQUNSLFdBQVc7SUFFWCxrRUFBa0U7SUFDbEUsWUFBWTtJQUVaLHdEQUF3RDtJQUN4RCxXQUFXO0NBQ1osQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsU0FBb0IsRUFDcEIsUUFBdUMsRUFDdkMsU0FBa0I7SUFFbEIsTUFBTSxnQkFBZ0IsR0FBSSxTQUFTLENBQUMsTUFBMEIsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7UUFDbEcsMkVBQTJFO1FBQzNFLHVFQUF1RTtRQUN2RSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxNQUFNLFNBQVMsR0FDYixlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVM7WUFDcEMsQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLE1BQU0sSUFBSSxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLE9BQU87WUFDTCxPQUFPLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ3hDLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDcEMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO1lBQzFCLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUNoQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLGlCQUFpQixHQUFzQjtRQUMzQyxHQUFHLFFBQVE7UUFDWCxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtLQUNsRixDQUFDO0lBRUYsMkVBQTJFO0lBQzNFLCtGQUErRjtJQUMvRixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLElBQUssU0FBUyxDQUFDLE1BQTBCLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUVqRyxvREFBb0Q7SUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN0QyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx3RkFBd0Y7SUFDeEYsNEZBQTRGO0lBQzVGLE1BQU0sc0JBQXNCLEdBQUksU0FBUyxDQUFDLE1BQTBCLEVBQUUsZ0JBQWdCLENBQUM7SUFDdkYsSUFBSSxzQkFBc0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDbEUsaUJBQWlCLENBQUMsZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUM7SUFDOUQsQ0FBQztJQUVELDhGQUE4RjtJQUM5Rix1R0FBdUc7SUFDdkcscUdBQXFHO0lBQ3JHLDRGQUE0RjtJQUM1RixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBeUIsQ0FBQztJQUNuRCxJQUNFLENBQUMsaUJBQWlCLENBQUMsVUFBVTtRQUM3QixDQUFDLE1BQU0sRUFBRSxVQUFVLEtBQUssYUFBYSxJQUFJLE1BQU0sRUFBRSxVQUFVLEtBQUssTUFBTSxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ3BDLE9BQU8sTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQ2pDLENBQUM7UUFDRCxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hGLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsaUZBQWlGO0lBQ2pGLHdGQUF3RjtJQUN4RixNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUUsU0FBUyxDQUFDLE1BQTBCLEVBQUUsZ0JBQWdCLENBQUM7SUFFbEYsMEZBQTBGO0lBQzFGLDRGQUE0RjtJQUM1RixNQUFNLFVBQVUsR0FBSSxTQUFTLENBQUMsTUFBMEIsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO0lBRTNFLElBQ0UsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsTUFBTTtRQUNyQyxDQUFDLGVBQWU7UUFDaEIsQ0FBQyw2QkFBcUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ2xDLENBQUMsNkJBQXFCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUN0QyxDQUFDO1FBQ0QsTUFBTSxJQUFJLGdDQUF1QixDQUMvQixzSEFBc0gsQ0FDdkgsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblBhcmFtcyB9IGZyb20gJy4uLy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7IFBvcHVsYXRlZEludGVudCwgVHhSZXF1ZXN0IH0gZnJvbSAnLi9iYXNlVHlwZXMnO1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uIHR5cGVzIHRoYXQgbGVnaXRpbWF0ZWx5IGNhcnJ5IG5vIGV4cGxpY2l0IHJlY2lwaWVudHMuXG4gKiBUaGVzZSBhcmUgdGhlIGludGVudFR5cGUgc3RyaW5ncyBhcyBzdG9yZWQgaW4gVHhSZXF1ZXN0LmludGVudC5pbnRlbnRUeXBlIGJ5IFdQLlxuICogdmVyaWZ5VHJhbnNhY3Rpb24gaGFuZGxlcyBuby1yZWNpcGllbnQgdmFsaWRhdGlvbiBmb3IgdGhlc2UgaW50ZXJuYWxseS5cbiAqIE1pcnJvcnMgdGhlIGJ5cGFzcyBsaXN0IGluIGFic3RyYWN0RXRoTGlrZU5ld0NvaW5zLnRzIHZlcmlmeVRzc1RyYW5zYWN0aW9uLlxuICpcbiAqIEVDRFNBIHR5cGVzOiBhY2NlbGVyYXRpb24sIGZpbGxOb25jZSwgdHJhbnNmZXJUb2tlbiwgdG9rZW5BcHByb3ZhbCwgY29uc29saWRhdGUsXG4gKiAgICAgICAgICAgICAgYnJpZGdlRnVuZHMsIGVuYWJsZVRva2VuLCBjdXN0b21UeCwgd3JhcEFwcHJvdmUsIHdyYXAsIHVud3JhcCxcbiAqICAgICAgICAgICAgICBmaW5hbGl6ZVVud3JhcCwgY29udHJhY3RDYWxsXG4gKiBCU0MvQk5CIGRlbGVnYXRpb24tYmFzZWQgc3Rha2luZzogZGVsZWdhdGUsIHVuZGVsZWdhdGUsIHN3aXRjaFZhbGlkYXRvclxuICogQ0VMTy9FVEggbG9jay1iYXNlZCBzdGFraW5nOiBzdGFrZSwgdW5zdGFrZSwgc3Rha2VXaXRoQ2FsbERhdGEsIHVuc3Rha2VXaXRoQ2FsbERhdGEsXG4gKiAgICAgICAgICAgICAgdHJhbnNmZXJTdGFrZSwgaW5jcmVhc2VTdGFrZSwgZ29VbnN0YWtlXG4gKiBDbGFpbSByZXdhcmRzIChCU0MsIENFTE8g4oCUIFRSWC9TT0wgdXNlIEVkRFNBIGFuZCBhcmUgdW5hZmZlY3RlZCk6IGNsYWltLCBzdGFrZUNsYWltUmV3YXJkc1xuICovXG5leHBvcnQgY29uc3QgTk9fUkVDSVBJRU5UX1RYX1RZUEVTID0gbmV3IFNldChbXG4gIC8vIEVDRFNBIHR5cGVzXG4gICdhY2NlbGVyYXRpb24nLFxuICAnZmlsbE5vbmNlJyxcbiAgJ3RyYW5zZmVyVG9rZW4nLFxuICAndG9rZW5BcHByb3ZhbCcsXG4gICdjb25zb2xpZGF0ZScsXG4gICdicmlkZ2VGdW5kcycsXG4gICdlbmFibGVUb2tlbicsXG4gICdlbmFibGV0b2tlbicsXG4gICdkaXNhYmxlVG9rZW4nLFxuICAnZGlzYWJsZXRva2VuJyxcbiAgJ2N1c3RvbVR4JyxcbiAgLy8gRGVGaSB2YXVsdCBvcGVyYXRpb25zIOKAlCByZWNpcGllbnRzL2NhbGxkYXRhIGJ1aWx0IHNlcnZlci1zaWRlIGZyb20gZGVmaVBhcmFtc1xuICAnZGVmaUFwcHJvdmUnLFxuICAnZGVmaURlcG9zaXQnLFxuICAnZGVmaVdpdGhkcmF3JyxcbiAgLy8gTmF0aXZlIHdyYXAvdW53cmFwIChXRVRIOSBkZXBvc2l0KCkvd2l0aGRyYXcoKSkg4oCUIGNhbGxkYXRhIGFuZCB0aGUgV0VUSDlcbiAgLy8gYWRkcmVzcyBhcmUgcmVzb2x2ZWQgc2VydmVyLXNpZGUgZnJvbSB0aGUgdmF1bHQgYmluZGluZywgc28gbm8gcmVjaXBpZW50cy5cbiAgLy8gUmVnaXN0ZXJlZCBpbiBCT1RIIHNwZWxsaW5ncyBvbiBwdXJwb3NlOiB0aGlzIHNldCBpcyBtYXRjaGVkIGFnYWluc3RcbiAgLy8gdHhQYXJhbXMudHlwZSwgd2hpY2ggaXMgYnVpbGRQYXJhbXMudHlwZSAoY2FtZWxDYXNlLCBmcm9tIHdhbGxldC5zZW5kTWFueSksXG4gIC8vIEFORCBhZ2FpbnN0IGludGVudC5pbnRlbnRUeXBlIChrZWJhYi1jYXNlLCBhcyBXUCBwZXJzaXN0cyBpdCkuIFNpZ25pbmcgcGF0aHNcbiAgLy8gdGhhdCBjYXJyeSBubyB0eFBhcmFtcyDigJQgbm90YWJseSBwZW5kaW5nQXBwcm92YWwuYXBwcm92ZSgpIOKGklxuICAvLyByZWNyZWF0ZVR4UmVxdWVzdCgpIOKGkiBzaWduVHhSZXF1ZXN0KCkgd2l0aCBubyB0eFBhcmFtcyDigJQgb25seSBldmVyIHNlZSB0aGVcbiAgLy8ga2ViYWItY2FzZSBzcGVsbGluZy5cbiAgJ3dyYXBOYXRpdmUnLFxuICAnd3JhcC1uYXRpdmUnLFxuICAndW53cmFwTmF0aXZlJyxcbiAgJ3Vud3JhcC1uYXRpdmUnLFxuICAvLyBFUkMtNzk4NCBzaGllbGQvdW5zaGllbGQ6IGFwcHJvdmUvd3JhcC91bndyYXAgY2FsbGRhdGEgaXMgYnVpbHQgc2VydmVyLXNpZGUgZnJvbSB0aGVcbiAgLy8gaW50ZW50LCBhbmQgZmluYWxpemVVbndyYXAgdHhuUmVxcyBhcmUgV1AtY3JlYXRlZCBhdCBSRUFEWV9UT19GSU5BTElaRSAoY2xpZW50IHNpZ25zXG4gIC8vIG9ubHkpIOKAlCBub25lIGNhcnJ5IFNESy1sZXZlbCByZWNpcGllbnRzLlxuICAnd3JhcEFwcHJvdmUnLFxuICAnd3JhcCcsXG4gICd1bndyYXAnLFxuICAnZmluYWxpemVVbndyYXAnLFxuICAvLyBTbWFydCBjb250cmFjdCBpbnZvY2F0aW9ucyB3aXRoIG5vIGV4cGxpY2l0IFNESy1sZXZlbCByZWNpcGllbnRzXG4gICdjb250cmFjdENhbGwnLFxuXG4gIC8vIEJTQy9CTkIgZGVsZWdhdGlvbi1iYXNlZCBzdGFraW5nIOKAlCBpbnRlbnRUeXBlIHN0cmluZ3MgZnJvbSBUeFJlcXVlc3QuaW50ZW50LmludGVudFR5cGUuXG4gIC8vIE5vdGU6IFNPTCBzb2xEZWxlZ2F0ZUludGVudCBhbHNvIHVzZXMgaW50ZW50VHlwZSBcImRlbGVnYXRlXCIuXG4gICdkZWxlZ2F0ZScsXG4gICd1bmRlbGVnYXRlJyxcbiAgJ3N3aXRjaFZhbGlkYXRvcicsXG5cbiAgLy8gQ0VMTy9FVEggbG9jay1iYXNlZCBzdGFraW5nXG4gICdzdGFrZScsXG4gICd1bnN0YWtlJyxcbiAgJ3N0YWtlV2l0aENhbGxEYXRhJyxcbiAgJ3Vuc3Rha2VXaXRoQ2FsbERhdGEnLFxuICAndHJhbnNmZXJTdGFrZScsXG4gICdpbmNyZWFzZVN0YWtlJyxcbiAgJ2dvVW5zdGFrZScsXG5cbiAgLy8gQ2xhaW0gcmV3YXJkcyDigJQgQlNDIGFuZCBDRUxPIChUUlgvU09ML0Nvc21vcyB1c2UgRWREU0EsIG5vdCBhZmZlY3RlZCBieSB0aGlzIGd1YXJkKVxuICAnY2xhaW0nLFxuICAnc3Rha2VDbGFpbVJld2FyZHMnLFxuXG4gICdjcmVhdGVBY2NvdW50JyxcbiAgLy8gQ2FudG9uIG9wZXJhdGlvbnMgd2l0aCBubyBTREstbGV2ZWwgcmVjaXBpZW50cy4gQ2FudG9uLnZlcmlmeVRyYW5zYWN0aW9uIHZhbGlkYXRlcyB0aGVzZSBmcm9tIHRoZSB0cmFuc2FjdGlvbiBpdHNlbGYuXG4gICd0cmFuc2ZlckFjY2VwdCcsXG4gICd0cmFuc2ZlclJlamVjdCcsXG4gICd0cmFuc2Zlck9mZmVyV2l0aGRyYXduJyxcbiAgJ2Nvc2lnbkRlbGVnYXRpb25BY2NlcHQnLFxuICAnYWxsb2NhdGlvbkFsbG9jYXRlJyxcbiAgJ2FsbG9jYXRpb25PZmZlcldpdGhkcmF3bicsXG4gICdjYW50b25Db21tYW5kJyxcbiAgJ2NhbnRvbkVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyJyxcbiAgJ2NhbnRvbkVuZEludmVzdG9yT25ib2FyZGluZ0FjY2VwdCcsXG4gICdjYW50b25FbmRJbnZlc3Rvck9uYm9hcmRpbmdSZWplY3QnLFxuICAnY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCcsXG5cbiAgJ3BsZWRnZScsXG5cbiAgLy8gQXZhbGFuY2hlIC8gRmxhcmUgY3Jvc3MtY2hhaW4gYXRvbWljIGltcG9ydHMg4oCUIHJlY2lwaWVudHMgYXJlIG5vdCBzdXBwbGllZFxuICAvLyBieSB0aGUgY2xpZW50IGJlY2F1c2UgdGhlIGltcG9ydCBjb25zdW1lcyBVVFhPcyBhbHJlYWR5IG93bmVkIGJ5IHRoZVxuICAvLyB3YWxsZXQ7IHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGlzIHRoZSB3YWxsZXQgaXRzZWxmLiBXUCBpc3N1ZXMgdGhlc2VcbiAgLy8gd2l0aCBpbnRlbnRUeXBlICdpbXBvcnQnIChQLWNoYWluKSBvciAnaW1wb3J0dG9jJyAoQy1jaGFpbikuXG4gICdpbXBvcnQnLFxuICAnaW1wb3J0dG9jJyxcblxuICAvLyBTT0w6IGRlYWN0aXZhdGUgc3Rha2UgYWNjb3VudCDigJQgbm8gb24tY2hhaW4gdHJhbnNmZXIgcmVjaXBpZW50LlxuICAnZGVhY3RpdmF0ZScsXG5cbiAgLy8gU09MOiBhdXRob3JpemUgc3Rha2UgYWNjb3VudCDigJQgbm8gdHJhbnNmZXIgcmVjaXBpZW50LlxuICAnYXV0aG9yaXplJyxcbl0pO1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBlZmZlY3RpdmUgdHhQYXJhbXMgZm9yIFRTUyBzaWduaW5nIHJlY2lwaWVudCB2ZXJpZmljYXRpb24uXG4gKlxuICogRm9yIHNtYXJ0IGNvbnRyYWN0IGludGVyYWN0aW9ucywgcmVjaXBpZW50cyBsaXZlIGluIHR4UmVxdWVzdC5pbnRlbnQucmVjaXBpZW50c1xuICogKG5hdGl2ZSBhbW91bnQgPSAwLCBzbyBidWlsZFBhcmFtcyBpcyBlbXB0eSkuIEZhbGxzIGJhY2sgdG8gaW50ZW50IHJlY2lwaWVudHNcbiAqIG1hcHBlZCB0byBJVHJhbnNhY3Rpb25SZWNpcGllbnQgc2hhcGUgd2hlbiB0eFBhcmFtcy5yZWNpcGllbnRzIGlzIGFic2VudC5cbiAqXG4gKiB0b2tlbk5hbWUgaXMgZGVyaXZlZCBmcm9tIHRva2VuRGF0YS50b2tlbk5hbWUgd2hlbiBwcmVzZW50LCBvdGhlcndpc2UgZnJvbVxuICogYW1vdW50LnN5bWJvbCB3aGVuIGNoYWluTmFtZSBpcyBwcm92aWRlZCBhbmQgc3ltYm9sIGRpZmZlcnMgZnJvbSBpdC5cbiAqXG4gKiBTdGFraW5nIGludGVudHMgKEJTQyBkZWxlZ2F0ZS91bmRlbGVnYXRlLCBDRUxPIHN0YWtlL3Vuc3Rha2UsIGV0Yy4pIGFyZVxuICogaWRlbnRpZmllZCBnZW5lcmljYWxseSBieSB0aGUgcHJlc2VuY2Ugb2YgYHN0YWtpbmdSZXF1ZXN0SWRgIG9uIHRoZSBpbnRlbnQg4oCUXG4gKiBhIHJlcXVpcmVkIGZpZWxkIG9uIEJhc2VTdGFrZUludGVudCBpbiBAYml0Z28vcHVibGljLXR5cGVzLiBUaGVzZSBpbnRlbnRzXG4gKiBoYXZlIG5vIHR4UGFyYW1zIHJlY2lwaWVudHMgYnkgZGVzaWduOyB2YWxpZGF0aW9uIGlzIGRvbmUgYXQgdGhlIGNvaW4gbGF5ZXIuXG4gKlxuICogVGhyb3dzIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIGlmIG5vIHJlY2lwaWVudHMgY2FuIGJlIHJlc29sdmVkIGFuZCB0aGVcbiAqIHRyYW5zYWN0aW9uIGlzIG5vdCBhIGtub3duIG5vLXJlY2lwaWVudCB0eXBlLlxuICpcbiAqIEBwYXJhbSB0eFJlcXVlc3QgLSB0aGUgdHJhbnNhY3Rpb24gcmVxdWVzdCBjb250YWluaW5nIHRoZSBwZXJzaXN0ZWQgaW50ZW50XG4gKiBAcGFyYW0gdHhQYXJhbXMgLSB0aGUgY2FsbGVyLXN1cHBsaWVkIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgKG1heSBiZSB1bmRlZmluZWQpXG4gKiBAcGFyYW0gY2hhaW5OYW1lIC0gdGhlIGJhc2UgY2hhaW4gbmFtZSAoZS5nLiAnc29sJywgJ3Rzb2wnKSB1c2VkIHRvIGV4Y2x1ZGVcbiAqICAgbmF0aXZlLWNvaW4gdHJhbnNmZXJzIGZyb20gdG9rZW5OYW1lOyBwYXNzIGJhc2VDb2luLmdldENoYWluKClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVFZmZlY3RpdmVUeFBhcmFtcyhcbiAgdHhSZXF1ZXN0OiBUeFJlcXVlc3QsXG4gIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtcyB8IHVuZGVmaW5lZCxcbiAgY2hhaW5OYW1lPzogc3RyaW5nXG4pOiBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIGNvbnN0IGludGVudFJlY2lwaWVudHMgPSAodHhSZXF1ZXN0LmludGVudCBhcyBQb3B1bGF0ZWRJbnRlbnQpPy5yZWNpcGllbnRzPy5tYXAoKGludGVudFJlY2lwaWVudCkgPT4ge1xuICAgIC8vIFByZWZlciB0b2tlbkRhdGEudG9rZW5OYW1lOyBmYWxsIGJhY2sgdG8gYW1vdW50LnN5bWJvbCB3aGVuIGNoYWluTmFtZSBpc1xuICAgIC8vIHByb3ZpZGVkIGFuZCBkaWZmZXJzIGZyb20gaXQuIFdoZW4gYWJzZW50LCBza2lwIHRoZSBzeW1ib2wgZmFsbGJhY2suXG4gICAgY29uc3QgeyBzeW1ib2wgfSA9IGludGVudFJlY2lwaWVudC5hbW91bnQ7XG4gICAgY29uc3QgdG9rZW5OYW1lID1cbiAgICAgIGludGVudFJlY2lwaWVudC50b2tlbkRhdGE/LnRva2VuTmFtZSB8fFxuICAgICAgKGNoYWluTmFtZSAhPT0gdW5kZWZpbmVkICYmIHN5bWJvbCAmJiBzeW1ib2wgIT09IGNoYWluTmFtZSA/IHN5bWJvbCA6IHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IGludGVudFJlY2lwaWVudC5hZGRyZXNzLmFkZHJlc3MsXG4gICAgICBhbW91bnQ6IGludGVudFJlY2lwaWVudC5hbW91bnQudmFsdWUsXG4gICAgICBkYXRhOiBpbnRlbnRSZWNpcGllbnQuZGF0YSxcbiAgICAgIC4uLih0b2tlbk5hbWUgJiYgeyB0b2tlbk5hbWUgfSksXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3QgZWZmZWN0aXZlVHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zID0ge1xuICAgIC4uLnR4UGFyYW1zLFxuICAgIHJlY2lwaWVudHM6IHR4UGFyYW1zPy5yZWNpcGllbnRzPy5sZW5ndGggPyB0eFBhcmFtcy5yZWNpcGllbnRzIDogaW50ZW50UmVjaXBpZW50cyxcbiAgfTtcblxuICAvLyBGYWxsIGJhY2sgdG8gaW50ZW50LmludGVudFR5cGUgd2hlbiB0eFBhcmFtcy50eXBlIGlzIG5vdCBleHBsaWNpdGx5IHNldC5cbiAgLy8gU3Rha2luZyB3YWxsZXRzIGNhbGwgc2lnblRyYW5zYWN0aW9uIHdpdGhvdXQgdHhQYXJhbXMsIHNvIHRoZSB0eXBlIGxpdmVzIG9ubHkgaW4gdGhlIGludGVudC5cbiAgY29uc3QgdHhUeXBlID0gZWZmZWN0aXZlVHhQYXJhbXMudHlwZSA/PyAodHhSZXF1ZXN0LmludGVudCBhcyBQb3B1bGF0ZWRJbnRlbnQpPy5pbnRlbnRUeXBlID8/ICcnO1xuXG4gIC8vIFByb3BhZ2F0ZSB0aGUgcmVzb2x2ZWQgdHlwZSBzbyBkb3duc3RyZWFtIGNhbGxlcnNcbiAgaWYgKCFlZmZlY3RpdmVUeFBhcmFtcy50eXBlICYmIHR4VHlwZSkge1xuICAgIGVmZmVjdGl2ZVR4UGFyYW1zLnR5cGUgPSB0eFR5cGU7XG4gIH1cblxuICAvLyBQcm9wYWdhdGUgc3Rha2luZ1JlcXVlc3RJZCBmcm9tIGludGVudCBpbnRvIGVmZmVjdGl2ZVR4UGFyYW1zIHNvIHZlcmlmeVRzc1RyYW5zYWN0aW9uXG4gIC8vIG92ZXJyaWRlcyBjYW4gYnlwYXNzIHRoZSBuby1yZWNpcGllbnQgZ3VhcmQgd2l0aG91dCBuZWVkaW5nIGFjY2VzcyB0byB0eFJlcXVlc3QgZGlyZWN0bHkuXG4gIGNvbnN0IGludGVudFN0YWtpbmdSZXF1ZXN0SWQgPSAodHhSZXF1ZXN0LmludGVudCBhcyBQb3B1bGF0ZWRJbnRlbnQpPy5zdGFraW5nUmVxdWVzdElkO1xuICBpZiAoaW50ZW50U3Rha2luZ1JlcXVlc3RJZCAmJiAhZWZmZWN0aXZlVHhQYXJhbXMuc3Rha2luZ1JlcXVlc3RJZCkge1xuICAgIGVmZmVjdGl2ZVR4UGFyYW1zLnN0YWtpbmdSZXF1ZXN0SWQgPSBpbnRlbnRTdGFraW5nUmVxdWVzdElkO1xuICB9XG5cbiAgLy8gUHJvcGFnYXRlIHRoZSBFUkMtNzk4NCBzaGllbGQgcGFyYW1zIGZyb20gdGhlIHBlcnNpc3RlZCBpbnRlbnQuIFNpZ25pbmcgcGF0aHMgdGhhdCBjYXJyeSBub1xuICAvLyB0eFBhcmFtcyAocGVuZGluZ0FwcHJvdmFsLmFwcHJvdmUoKSAtPiByZWNyZWF0ZVR4UmVxdWVzdCgpIC0+IHNpZ25UeFJlcXVlc3QoKSkgd291bGQgb3RoZXJ3aXNlIHJlYWNoXG4gIC8vIHRoZSBjb2luIHZlcmlmaWVyIHdpdGhvdXQgd3JhcFBhcmFtcywgYW5kIHRoZSB3cmFwQXBwcm92ZSBjYWxsZGF0YSBjaGVjayB3b3VsZCByZWplY3QgdmFsaWQgYnl0ZXMuXG4gIC8vIFdQIGZsYXR0ZW5zIHdyYXBQYXJhbXMgaW50byBpbnRlbnQudG9rZW5OYW1lIC8gaW50ZW50LmFtb3VudCAoc2VlIG1wY1V0aWxzLmNyZWF0ZUludGVudCkuXG4gIGNvbnN0IGludGVudCA9IHR4UmVxdWVzdC5pbnRlbnQgYXMgUG9wdWxhdGVkSW50ZW50O1xuICBpZiAoXG4gICAgIWVmZmVjdGl2ZVR4UGFyYW1zLndyYXBQYXJhbXMgJiZcbiAgICAoaW50ZW50Py5pbnRlbnRUeXBlID09PSAnd3JhcEFwcHJvdmUnIHx8IGludGVudD8uaW50ZW50VHlwZSA9PT0gJ3dyYXAnKSAmJlxuICAgIHR5cGVvZiBpbnRlbnQudG9rZW5OYW1lID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBpbnRlbnQuYW1vdW50ID09PSAnc3RyaW5nJ1xuICApIHtcbiAgICBlZmZlY3RpdmVUeFBhcmFtcy53cmFwUGFyYW1zID0geyB0b2tlbk5hbWU6IGludGVudC50b2tlbk5hbWUsIGFtb3VudDogaW50ZW50LmFtb3VudCB9O1xuICB9XG5cbiAgLy8gQWxsIHN0YWtpbmcgaW50ZW50cyAoQlNDIGRlbGVnYXRlL3VuZGVsZWdhdGUsIENFTE8gc3Rha2UvdW5zdGFrZSwgZXRjLikgY2FycnlcbiAgLy8gc3Rha2luZ1JlcXVlc3RJZCBhcyBhIHJlcXVpcmVkIGZpZWxkIG9uIEJhc2VTdGFrZUludGVudCAoQGJpdGdvL3B1YmxpYy10eXBlcykuXG4gIC8vIFVzZSBpdHMgcHJlc2VuY2UgYXMgYSBnZW5lcmljIHN0YWtpbmcgc2lnbmFsIOKAlCBubyBuZWVkIHRvIGVudW1lcmF0ZSBldmVyeSBpbnRlbnRUeXBlLlxuICBjb25zdCBpc1N0YWtpbmdJbnRlbnQgPSAhISh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LnN0YWtpbmdSZXF1ZXN0SWQ7XG5cbiAgLy8gYnVpbGRQYXJhbXMudHlwZSBmcm9tIHRoZSB3YWxsZXQgVUkgaXMgUGFzY2FsQ2FzZSAoJ0ltcG9ydCcpOyBpbnRlbnQuaW50ZW50VHlwZSBmcm9tIFdQXG4gIC8vIGlzIGxvd2VyY2FzZSAoJ2ltcG9ydCcpLiBFaXRoZXIgbWF5IGJlIHRoZSBzb3VyY2Ugb2YgdHJ1dGggZGVwZW5kaW5nIG9uIHRoZSBzaWduaW5nIHBhdGguXG4gIGNvbnN0IGludGVudFR5cGUgPSAodHhSZXF1ZXN0LmludGVudCBhcyBQb3B1bGF0ZWRJbnRlbnQpPy5pbnRlbnRUeXBlID8/ICcnO1xuXG4gIGlmIChcbiAgICAhZWZmZWN0aXZlVHhQYXJhbXMucmVjaXBpZW50cz8ubGVuZ3RoICYmXG4gICAgIWlzU3Rha2luZ0ludGVudCAmJlxuICAgICFOT19SRUNJUElFTlRfVFhfVFlQRVMuaGFzKHR4VHlwZSkgJiZcbiAgICAhTk9fUkVDSVBJRU5UX1RYX1RZUEVTLmhhcyhpbnRlbnRUeXBlKVxuICApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAnUmVjaXBpZW50IGRldGFpbHMgYXJlIHJlcXVpcmVkIHRvIHZlcmlmeSB0aGlzIHRyYW5zYWN0aW9uIGJlZm9yZSBzaWduaW5nLiBQYXNzIHR4UGFyYW1zIHdpdGggYXQgbGVhc3Qgb25lIHJlY2lwaWVudC4nXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBlZmZlY3RpdmVUeFBhcmFtcztcbn1cbiJdfQ==