@aerokit/sdk 14.81.0 → 14.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/etcd/client.js +1 -1
- package/dist/cjs/http/client-async.js +2 -2
- package/dist/cjs/qldb/qldb.js +1 -1
- package/dist/dts/etcd/client.d.ts +5 -0
- package/dist/dts/qldb/qldb.d.ts +4 -0
- package/dist/esm/etcd/client.mjs +1 -1
- package/dist/esm/http/client-async.mjs +2 -2
- package/dist/esm/qldb/qldb.mjs +1 -1
- package/package.json +1 -1
package/dist/cjs/etcd/client.js
CHANGED
|
@@ -174,4 +174,4 @@ class Client {
|
|
|
174
174
|
if (typeof module !== "undefined") {
|
|
175
175
|
module.exports = Client;
|
|
176
176
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gU3RvcmluZyBjb25maWd1cmF0aW9uIGRhdGEgb3IgYXBwbGljYXRpb24gc3RhdGUgaW4gRXRjZCBmb3IgZGlzdHJpYnV0ZWQgYXBwbGljYXRpb25zLlxuICogLSBSZXRyaWV2aW5nIGFuZCBtYW5hZ2luZyBrZXktdmFsdWUgcGFpcnMgaW4gRXRjZCBmb3Igc2VydmljZSBkaXNjb3ZlcnksIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudCwgb3IgY29vcmRpbmF0aW9uIHRhc2tzLlxuICogLSBJbnRlZ3JhdGluZyB3aXRoIG90aGVyIG1vZHVsZXMgdGhhdCByZXF1aXJlIGEgY29uc2lzdGVudCBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggRXRjZCBhcyBhIGJhY2tlbmQgc3RvcmUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9ldGNkXCI7XG4gKiBcbiAqIGNvbnN0IGV0Y2RDbGllbnQgPSBuZXcgQ2xpZW50KCk7XG4gKiBcbiAqIC8vIFB1dCBhIHN0cmluZyB2YWx1ZSB0byBhIGtleVxuICogZXRjZENsaWVudC5wdXRTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIsIFwiTXlBcHBcIik7XG4gKiBcbiAqIC8vIEdldCB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5XG4gKiBjb25zdCBhcHBOYW1lID0gZXRjZENsaWVudC5nZXRLdnNTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogY29uc29sZS5sb2coYXBwTmFtZSk7IC8vIE91dHB1dDogeyBcImNvbmZpZy9hcHBOYW1lXCI6IFwiTXlBcHBcIiB9XG4gKiBcbiAqIC8vIERlbGV0ZSBhIGtleVxuICogZXRjZENsaWVudC5kZWxldGUoXCJjb25maWcvYXBwTmFtZVwiKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IEV0Y2RGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuZXRjZC5FdGNkRmFjYWRlXCIpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVRJTElUWSBGVU5DVElPTlNcbi8vIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGUgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKYXZhU2NyaXB0L1R5cGVTY3JpcHQgdHlwZXMgKHN0cmluZywgSW50OEFycmF5KVxuLy8gYW5kIHRoZSBuYXRpdmUgSmF2YS9FdGNkIHR5cGVzIChCeXRlU2VxdWVuY2UsIG5hdGl2ZSBieXRlIGFycmF5cykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBTdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuc3RyaW5nVG9CeXRlU2VxdWVuY2Uoc3RyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEphdmFTY3JpcHQgSW50OEFycmF5IChieXRlIGFycmF5KSB0byBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcGFyYW0gYXJyIFRoZSBJbnQ4QXJyYXkgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdCAoSmF2YSB0eXBlKS5cbiAqL1xuZnVuY3Rpb24gQnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyOiBJbnQ4QXJyYXkpOiBhbnkge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKGFycik7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0IGJhY2sgdG8gYSBzdHJpbmcuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGRlY29kZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBCeXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5ieXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgSmF2YSBhcnJheSBvZiBieXRlcyBpbnRvIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGJ5dGVzLlxuICogQHJldHVybnMgQSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqL1xuZnVuY3Rpb24gQnl0ZXNUb0FycmF5KHZhbHVlOiBhbnkpOiBJbnQ4QXJyYXkge1xuICAgIGNvbnN0IGFycmF5ID0gdmFsdWUuZ2V0Qnl0ZXMoKTsgLy8gR2V0IHRoZSBuYXRpdmUgYnl0ZSBhcnJheVxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnQ4QXJyYXkoYXJyYXkubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vIENvbnZlcnNpb24gZnJvbSBKYXZhIGJ5dGUgdG8gSmF2YVNjcmlwdCBJbnQ4IHZhbHVlXG4gICAgICAgIHJlc3VsdFtpXSA9IHBhcnNlSW50KGFycmF5W2ldLCAxMCk7IFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEhlbHBlciB0byBwcm9jZXNzIGEgbGlzdCBvZiBLZXktVmFsdWUgKEtWKSBvYmplY3RzIGludG8gYSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSBrdnNMaXN0IFRoZSBuYXRpdmUgbGlzdCBvZiBLViBvYmplY3RzLlxuICogQHBhcmFtIGZ1bmMgVGhlIGNvbnZlcnNpb24gZnVuY3Rpb24gZm9yIHRoZSB2YWx1ZSAoZS5nLiwgQnl0ZVNlcXVlbmNlVG9TdHJpbmcgb3IgQnl0ZXNUb0FycmF5KS5cbiAqIEByZXR1cm5zIEEgc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgbWFwcGluZyBzdHJpbmcga2V5cyB0byBzcGVjaWZpZWQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdDxUPihrdnNMaXN0OiBhbnlbXSwgZnVuYzogKHZhbHVlOiBhbnkpID0+IFQpOiB7IFtrZXk6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3Qga3ZPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogVCB9ID0ge307XG4gICAga3ZzTGlzdC5mb3JFYWNoKChrdnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKGt2cy5nZXRLZXkoKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBUID0gZnVuYyhrdnMuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGt2T2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBrdk9iamVjdDtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdFN0cmluZyhrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlU2VxdWVuY2VUb1N0cmluZyk7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIG5hdGl2ZSBLVlMgbGlzdCB0byBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggSW50OEFycmF5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkoa3ZzTGlzdDogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICByZXR1cm4gS2V5VmFsdWVPYmplY3Qoa3ZzTGlzdCwgQnl0ZXNUb0FycmF5KTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgUkVTUE9OU0UgQ0xBU1NFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBoZWFkZXIgbWV0YWRhdGEgb2YgYW4gRXRjZCByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xuICAgIH1cblxuICAgIC8qKiBUaGUgcmV2aXNpb24gb2YgdGhlIGtleS12YWx1ZSBzdG9yZSB3aGVuIHRoZSByZXF1ZXN0IHdhcyBwcm9jZXNzZWQuICovXG4gICAgcHVibGljIGdldFJldmlzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSZXZpc2lvbigpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgSUQgb2YgdGhlIGNsdXN0ZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIHNlbnQgdG8uICovXG4gICAgcHVibGljIGdldENsdXN0ZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q2x1c3RlcklkKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgbWVtYmVyIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBoYW5kbGVkIGJ5LiAqL1xuICAgIHB1YmxpYyBnZXRNZW1iZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TWVtYmVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIFJhZnQgdGVybS4gKi9cbiAgICBwdWJsaWMgZ2V0UmFmdFRlcm0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJhZnRUZXJtKCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHJlc3BvbnNlIG9iamVjdCBmb3IgYSBHZXQgb3BlcmF0aW9uIGZyb20gRXRjZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdldFJlc3BvbnNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIGNvbnRhaW5pbmcgY2x1c3RlciBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKCk6IEhlYWRlciB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUhlYWRlciA9IHRoaXMubmF0aXZlLmdldEhlYWRlcigpO1xuICAgICAgICByZXR1cm4gbmV3IEhlYWRlcihuYXRpdmVIZWFkZXIpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gc3RyaW5ncy4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RTdHJpbmcodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gSW50OEFycmF5IChieXRlIGFycmF5cykuICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheSgpOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICAgICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0Qnl0ZUFycmF5KHRoaXMubmF0aXZlLmdldEt2cygpKTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSBudW1iZXIgb2YgS2V5LVZhbHVlIHBhaXJzIHJldHVybmVkLiAqL1xuICAgIHB1YmxpYyBnZXRDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q291bnQoKTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgQ0xJRU5UIEZBQ0FERVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGllbnQgZmFjYWRlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gRXRjZEZhY2FkZS5nZXRDbGllbnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIGJsb2NraW5nIEdFVCByZXF1ZXN0IG9uIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIEdldFJlc3BvbnNlIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldChrZXk6IHN0cmluZyk6IEdldFJlc3BvbnNlIHtcbiAgICAgICAgLy8gRXRjZCBjbGllbnQgcmV0dXJucyBhIENvbXBsZXRhYmxlRnV0dXJlIHdoaWNoIGlzIGJsb2NrZWQgaGVyZSB1c2luZyAuZ2V0KClcbiAgICAgICAgY29uc3QgZXRjZENvbXBsZXRhYmxlRnV0dXJlID0gdGhpcy5uYXRpdmUuZ2V0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgICAgICBjb25zdCBuYXRpdmVSZXNwb25zZSA9IGV0Y2RDb21wbGV0YWJsZUZ1dHVyZS5nZXQoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBHZXRSZXNwb25zZShuYXRpdmVSZXNwb25zZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIHN0cmluZyB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gd3JpdGUgdG8uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dFN0cmluZ1ZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBTdHJpbmdUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1dHMgKHdyaXRlcykgYSBieXRlIGFycmF5IHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIEludDhBcnJheSAoYnl0ZSBhcnJheSkgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dEJ5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogSW50OEFycmF5KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIG1ldGFkYXRhIGZvciBhIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIHtAbGluayBIZWFkZXJ9IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogSGVhZGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0SGVhZGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIHN0cmluZyB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c1N0cmluZ1ZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c1N0cmluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIGFzIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IG1hcHBpbmcga2V5cyB0byBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRLdnNCeXRlQXJyYXlWYWx1ZShrZXk6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRLdnNCeXRlQXJyYXkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGNvdW50IG9mIEtleS1WYWx1ZSBwYWlycyBtYXRjaGluZyB0aGUga2V5IChvciBrZXkgcHJlZml4KS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBtYXRjaGluZyBlbnRyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb3VudChrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldENvdW50KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gZGVsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUuZGVsZXRlKFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgIH1cbn1cblxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUNBLE1BQU0sYUFBYSxLQUFLLEtBQUssc0RBQXNEO0FBYW5GLFNBQVMscUJBQXFCLEtBQWtCO0FBQzVDLFNBQU8sV0FBVyxxQkFBcUIsR0FBRztBQUM5QztBQU9BLFNBQVMsd0JBQXdCLEtBQXFCO0FBQ2xELFNBQU8sV0FBVyx3QkFBd0IsR0FBRztBQUNqRDtBQU9BLFNBQVMscUJBQXFCLE9BQW9CO0FBQzlDLFNBQU8sV0FBVyxxQkFBcUIsS0FBSztBQUNoRDtBQU9BLFNBQVMsYUFBYSxPQUF1QjtBQUN6QyxRQUFNLFFBQVEsTUFBTSxTQUFTO0FBQzdCLFFBQU0sU0FBUyxJQUFJLFVBQVUsTUFBTSxNQUFNO0FBQ3pDLFdBQVMsSUFBSSxHQUFHLElBQUksTUFBTSxRQUFRLEtBQUs7QUFFbkMsV0FBTyxDQUFDLElBQUksU0FBUyxNQUFNLENBQUMsR0FBRyxFQUFFO0FBQUEsRUFDckM7QUFDQSxTQUFPO0FBQ1g7QUFRQSxTQUFTLGVBQWtCLFNBQWdCLE1BQStDO0FBQ3RGLFFBQU0sV0FBaUMsQ0FBQztBQUN4QyxVQUFRLFFBQVEsQ0FBQyxRQUFhO0FBQzFCLFVBQU0sTUFBYyxxQkFBcUIsSUFBSSxPQUFPLENBQUM7QUFDckQsVUFBTSxRQUFXLEtBQUssSUFBSSxTQUFTLENBQUM7QUFDcEMsYUFBUyxHQUFHLElBQUk7QUFBQSxFQUNwQixDQUFDO0FBRUQsU0FBTztBQUNYO0FBS0EsU0FBUyxxQkFBcUIsU0FBMkM7QUFDckUsU0FBTyxlQUFlLFNBQVMsb0JBQW9CO0FBQ3ZEO0FBS0EsU0FBUyx3QkFBd0IsU0FBOEM7QUFDM0UsU0FBTyxlQUFlLFNBQVMsWUFBWTtBQUMvQztBQVNPLE1BQU0sT0FBTztBQUFBLEVBQ0M7QUFBQSxFQUVqQixZQUFZLFFBQWE7QUFDckIsU0FBSyxTQUFTO0FBQUEsRUFDbEI7QUFBQTtBQUFBLEVBR08sY0FBc0I7QUFDekIsV0FBTyxLQUFLLE9BQU8sWUFBWTtBQUFBLEVBQ25DO0FBQUE7QUFBQSxFQUdPLGVBQXVCO0FBQzFCLFdBQU8sS0FBSyxPQUFPLGFBQWE7QUFBQSxFQUNwQztBQUFBO0FBQUEsRUFHTyxjQUFzQjtBQUN6QixXQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsRUFDbkM7QUFBQTtBQUFBLEVBR08sY0FBc0I7QUFDekIsV0FBTyxLQUFLLE9BQU8sWUFBWTtBQUFBLEVBQ25DO0FBQ0o7QUFLTyxNQUFNLFlBQVk7QUFBQSxFQUNKO0FBQUEsRUFFakIsWUFBWSxRQUFhO0FBQ3JCLFNBQUssU0FBUztBQUFBLEVBQ2xCO0FBQUE7QUFBQSxFQUdPLFlBQW9CO0FBQ3ZCLFVBQU0sZUFBZSxLQUFLLE9BQU8sVUFBVTtBQUMzQyxXQUFPLElBQUksT0FBTyxZQUFZO0FBQUEsRUFDbEM7QUFBQTtBQUFBLEVBR08sZUFBMEM7QUFDN0MsV0FBTyxxQkFBcUIsS0FBSyxPQUFPLE9BQU8sQ0FBQztBQUFBLEVBQ3BEO0FBQUE7QUFBQSxFQUdPLGtCQUFnRDtBQUNuRCxXQUFPLHdCQUF3QixLQUFLLE9BQU8sT0FBTyxDQUFDO0FBQUEsRUFDdkQ7QUFBQTtBQUFBLEVBR08sV0FBbUI7QUFDdEIsV0FBTyxLQUFLLE9BQU8sU0FBUztBQUFBLEVBQ2hDO0FBQ0o7QUFVTyxNQUFNLE9BQU87QUFBQSxFQUVDO0FBQUEsRUFFakIsY0FBYztBQUNWLFNBQUssU0FBUyxXQUFXLFVBQVU7QUFBQSxFQUN2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9RLElBQUksS0FBMEI7QUFFbEMsVUFBTSx3QkFBd0IsS0FBSyxPQUFPLElBQUkscUJBQXFCLEdBQUcsQ0FBQztBQUN2RSxVQUFNLGlCQUFpQixzQkFBc0IsSUFBSTtBQUNqRCxXQUFPLElBQUksWUFBWSxjQUFjO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxlQUFlLEtBQWEsT0FBcUI7QUFDcEQsU0FBSyxPQUFPLElBQUkscUJBQXFCLEdBQUcsR0FBRyxxQkFBcUIsS0FBSyxDQUFDO0FBQUEsRUFDMUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxrQkFBa0IsS0FBYSxPQUF3QjtBQUMxRCxTQUFLLE9BQU8sSUFBSSxxQkFBcUIsR0FBRyxHQUFHLHdCQUF3QixLQUFLLENBQUM7QUFBQSxFQUM3RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQVUsS0FBcUI7QUFDbEMsV0FBTyxLQUFLLElBQUksR0FBRyxFQUFFLFVBQVU7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLGtCQUFrQixLQUF3QztBQUM3RCxXQUFPLEtBQUssSUFBSSxHQUFHLEVBQUUsYUFBYTtBQUFBLEVBQ3RDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08scUJBQXFCLEtBQTJDO0FBQ25FLFdBQU8sS0FBSyxJQUFJLEdBQUcsRUFBRSxnQkFBZ0I7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFNBQVMsS0FBcUI7QUFDakMsV0FBTyxLQUFLLElBQUksR0FBRyxFQUFFLFNBQVM7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxPQUFPLEtBQW1CO0FBQzdCLFNBQUssT0FBTyxPQUFPLHFCQUFxQixHQUFHLENBQUM7QUFBQSxFQUNoRDtBQUNKO0FBSUEsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKlxuICogIyMjIEF2YWlsYWJpbGl0eVxuICogVGhlIGV0Y2QgY2xpZW50IGxpYnJhcnkgKGpldGNkKSBpcyBhbiBhZGQtb24gdGhhdCB0aGUgZGVmYXVsdCBidW5kbGUgZG9lcyBub3Qgc2hpcDogdGhlIGFwcGxpY2F0aW9uIGFkZHNcbiAqIGBvcmcuZWNsaXBzZS5kaXJpZ2libGU6ZGlyaWdpYmxlLWNvbXBvbmVudHMtYXBpLWV0Y2QtY2xpZW50YCAoYDx0eXBlPnBvbTwvdHlwZT5gKS4gV2l0aG91dCBpdCwgZXZlcnkgY2FsbFxuICogdGhyb3dzIGBFdGNkTm90QXZhaWxhYmxlRXhjZXB0aW9uYCBuYW1pbmcgdGhhdCBhcnRpZmFjdC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBTdG9yaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBvciBhcHBsaWNhdGlvbiBzdGF0ZSBpbiBFdGNkIGZvciBkaXN0cmlidXRlZCBhcHBsaWNhdGlvbnMuXG4gKiAtIFJldHJpZXZpbmcgYW5kIG1hbmFnaW5nIGtleS12YWx1ZSBwYWlycyBpbiBFdGNkIGZvciBzZXJ2aWNlIGRpc2NvdmVyeSwgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LCBvciBjb29yZGluYXRpb24gdGFza3MuXG4gKiAtIEludGVncmF0aW5nIHdpdGggb3RoZXIgbW9kdWxlcyB0aGF0IHJlcXVpcmUgYSBjb25zaXN0ZW50IGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBFdGNkIGFzIGEgYmFja2VuZCBzdG9yZS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2V0Y2RcIjtcbiAqIFxuICogY29uc3QgZXRjZENsaWVudCA9IG5ldyBDbGllbnQoKTtcbiAqIFxuICogLy8gUHV0IGEgc3RyaW5nIHZhbHVlIHRvIGEga2V5XG4gKiBldGNkQ2xpZW50LnB1dFN0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIiwgXCJNeUFwcFwiKTtcbiAqIFxuICogLy8gR2V0IHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBrZXlcbiAqIGNvbnN0IGFwcE5hbWUgPSBldGNkQ2xpZW50LmdldEt2c1N0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIik7XG4gKiBjb25zb2xlLmxvZyhhcHBOYW1lKTsgLy8gT3V0cHV0OiB7IFwiY29uZmlnL2FwcE5hbWVcIjogXCJNeUFwcFwiIH1cbiAqIFxuICogLy8gRGVsZXRlIGEga2V5XG4gKiBldGNkQ2xpZW50LmRlbGV0ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogYGBgXG4gKi9cblxuY29uc3QgRXRjZEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5ldGNkLkV0Y2RGYWNhZGVcIik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVVElMSVRZIEZVTkNUSU9OU1xuLy8gVGhlc2UgZnVuY3Rpb25zIGhhbmRsZSB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIEphdmFTY3JpcHQvVHlwZVNjcmlwdCB0eXBlcyAoc3RyaW5nLCBJbnQ4QXJyYXkpXG4vLyBhbmQgdGhlIG5hdGl2ZSBKYXZhL0V0Y2QgdHlwZXMgKEJ5dGVTZXF1ZW5jZSwgbmF0aXZlIGJ5dGUgYXJyYXlzKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHBhcmFtIHN0ciBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgKEphdmEgdHlwZSkuXG4gKi9cbmZ1bmN0aW9uIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHN0cjogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5zdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHIpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXkpIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBhcnIgVGhlIEludDhBcnJheSB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZShhcnI6IEludDhBcnJheSk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuYnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QgYmFjayB0byBhIHN0cmluZy5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBKYXZhIGFycmF5IG9mIGJ5dGVzIGludG8gYSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgY29udGFpbmluZyB0aGUgYnl0ZXMuXG4gKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgSW50OEFycmF5LlxuICovXG5mdW5jdGlvbiBCeXRlc1RvQXJyYXkodmFsdWU6IGFueSk6IEludDhBcnJheSB7XG4gICAgY29uc3QgYXJyYXkgPSB2YWx1ZS5nZXRCeXRlcygpOyAvLyBHZXQgdGhlIG5hdGl2ZSBieXRlIGFycmF5XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludDhBcnJheShhcnJheS5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gQ29udmVyc2lvbiBmcm9tIEphdmEgYnl0ZSB0byBKYXZhU2NyaXB0IEludDggdmFsdWVcbiAgICAgICAgcmVzdWx0W2ldID0gcGFyc2VJbnQoYXJyYXlbaV0sIDEwKTsgXG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogSGVscGVyIHRvIHByb2Nlc3MgYSBsaXN0IG9mIEtleS1WYWx1ZSAoS1YpIG9iamVjdHMgaW50byBhIHN0YW5kYXJkIEphdmFTY3JpcHQgb2JqZWN0LlxuICogQHBhcmFtIGt2c0xpc3QgVGhlIG5hdGl2ZSBsaXN0IG9mIEtWIG9iamVjdHMuXG4gKiBAcGFyYW0gZnVuYyBUaGUgY29udmVyc2lvbiBmdW5jdGlvbiBmb3IgdGhlIHZhbHVlIChlLmcuLCBCeXRlU2VxdWVuY2VUb1N0cmluZyBvciBCeXRlc1RvQXJyYXkpLlxuICogQHJldHVybnMgQSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCBtYXBwaW5nIHN0cmluZyBrZXlzIHRvIHNwZWNpZmllZCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0PFQ+KGt2c0xpc3Q6IGFueVtdLCBmdW5jOiAodmFsdWU6IGFueSkgPT4gVCk6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgICBjb25zdCBrdk9iamVjdDogeyBba2V5OiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBrdnNMaXN0LmZvckVhY2goKGt2czogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleTogc3RyaW5nID0gQnl0ZVNlcXVlbmNlVG9TdHJpbmcoa3ZzLmdldEtleSgpKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBmdW5jKGt2cy5nZXRWYWx1ZSgpKTtcbiAgICAgICAga3ZPYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGt2T2JqZWN0O1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBuYXRpdmUgS1ZTIGxpc3QgdG8gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0U3RyaW5nKGt2c0xpc3Q6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0KGt2c0xpc3QsIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKTtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdEJ5dGVBcnJheShrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlc1RvQXJyYXkpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBSRVNQT05TRSBDTEFTU0VTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGhlYWRlciBtZXRhZGF0YSBvZiBhbiBFdGNkIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY2xhc3MgSGVhZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFRoZSByZXZpc2lvbiBvZiB0aGUga2V5LXZhbHVlIHN0b3JlIHdoZW4gdGhlIHJlcXVlc3Qgd2FzIHByb2Nlc3NlZC4gKi9cbiAgICBwdWJsaWMgZ2V0UmV2aXNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJldmlzaW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgY2x1c3RlciB3aGljaCB0aGUgcmVxdWVzdCB3YXMgc2VudCB0by4gKi9cbiAgICBwdWJsaWMgZ2V0Q2x1c3RlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDbHVzdGVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIElEIG9mIHRoZSBtZW1iZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkuICovXG4gICAgcHVibGljIGdldE1lbWJlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNZW1iZXJJZCgpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgUmFmdCB0ZXJtLiAqL1xuICAgIHB1YmxpYyBnZXRSYWZ0VGVybSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UmFmdFRlcm0oKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcmVzcG9uc2Ugb2JqZWN0IGZvciBhIEdldCBvcGVyYXRpb24gZnJvbSBFdGNkLlxuICovXG5leHBvcnQgY2xhc3MgR2V0UmVzcG9uc2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgY29udGFpbmluZyBjbHVzdGVyIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoKTogSGVhZGVyIHtcbiAgICAgICAgY29uc3QgbmF0aXZlSGVhZGVyID0gdGhpcy5uYXRpdmUuZ2V0SGVhZGVyKCk7XG4gICAgICAgIHJldHVybiBuZXcgSGVhZGVyKG5hdGl2ZUhlYWRlcik7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBzdHJpbmdzLiAqL1xuICAgIHB1YmxpYyBnZXRLdnNTdHJpbmcoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdFN0cmluZyh0aGlzLm5hdGl2ZS5nZXRLdnMoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXlzKS4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzQnl0ZUFycmF5KCk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIG51bWJlciBvZiBLZXktVmFsdWUgcGFpcnMgcmV0dXJuZWQuICovXG4gICAgcHVibGljIGdldENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb3VudCgpO1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBDTElFTlQgRkFDQURFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENsaWVudCBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEV0Y2Qga2V5LXZhbHVlIHN0b3JlLlxuICovXG5leHBvcnQgY2xhc3MgQ2xpZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBFdGNkRmFjYWRlLmdldENsaWVudCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgYmxvY2tpbmcgR0VUIHJlcXVlc3Qgb24gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHJldHJpZXZlLlxuICAgICAqIEByZXR1cm5zIFRoZSBwcm9jZXNzZWQgR2V0UmVzcG9uc2Ugb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0KGtleTogc3RyaW5nKTogR2V0UmVzcG9uc2Uge1xuICAgICAgICAvLyBFdGNkIGNsaWVudCByZXR1cm5zIGEgQ29tcGxldGFibGVGdXR1cmUgd2hpY2ggaXMgYmxvY2tlZCBoZXJlIHVzaW5nIC5nZXQoKVxuICAgICAgICBjb25zdCBldGNkQ29tcGxldGFibGVGdXR1cmUgPSB0aGlzLm5hdGl2ZS5nZXQoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVJlc3BvbnNlID0gZXRjZENvbXBsZXRhYmxlRnV0dXJlLmdldCgpO1xuICAgICAgICByZXR1cm4gbmV3IEdldFJlc3BvbnNlKG5hdGl2ZVJlc3BvbnNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdXRzICh3cml0ZXMpIGEgc3RyaW5nIHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0U3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIGJ5dGUgYXJyYXkgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHdyaXRlIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgSW50OEFycmF5IChieXRlIGFycmF5KSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0Qnl0ZUFycmF5VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBJbnQ4QXJyYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIEJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgbWV0YWRhdGEgZm9yIGEga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBUaGUge0BsaW5rIEhlYWRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBIZWFkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRIZWFkZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyBhcyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCBtYXBwaW5nIGtleXMgdG8gc3RyaW5nIHZhbHVlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0S3ZzU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBJbnQ4QXJyYXkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c0J5dGVBcnJheSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY291bnQgb2YgS2V5LVZhbHVlIHBhaXJzIG1hdGNoaW5nIHRoZSBrZXkgKG9yIGtleSBwcmVmaXgpLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldENvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0Q291bnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBkZWxldGUuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZS5kZWxldGUoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEwQ0EsTUFBTSxhQUFhLEtBQUssS0FBSyxzREFBc0Q7QUFhbkYsU0FBUyxxQkFBcUIsS0FBa0I7QUFDNUMsU0FBTyxXQUFXLHFCQUFxQixHQUFHO0FBQzlDO0FBT0EsU0FBUyx3QkFBd0IsS0FBcUI7QUFDbEQsU0FBTyxXQUFXLHdCQUF3QixHQUFHO0FBQ2pEO0FBT0EsU0FBUyxxQkFBcUIsT0FBb0I7QUFDOUMsU0FBTyxXQUFXLHFCQUFxQixLQUFLO0FBQ2hEO0FBT0EsU0FBUyxhQUFhLE9BQXVCO0FBQ3pDLFFBQU0sUUFBUSxNQUFNLFNBQVM7QUFDN0IsUUFBTSxTQUFTLElBQUksVUFBVSxNQUFNLE1BQU07QUFDekMsV0FBUyxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztBQUVuQyxXQUFPLENBQUMsSUFBSSxTQUFTLE1BQU0sQ0FBQyxHQUFHLEVBQUU7QUFBQSxFQUNyQztBQUNBLFNBQU87QUFDWDtBQVFBLFNBQVMsZUFBa0IsU0FBZ0IsTUFBK0M7QUFDdEYsUUFBTSxXQUFpQyxDQUFDO0FBQ3hDLFVBQVEsUUFBUSxDQUFDLFFBQWE7QUFDMUIsVUFBTSxNQUFjLHFCQUFxQixJQUFJLE9BQU8sQ0FBQztBQUNyRCxVQUFNLFFBQVcsS0FBSyxJQUFJLFNBQVMsQ0FBQztBQUNwQyxhQUFTLEdBQUcsSUFBSTtBQUFBLEVBQ3BCLENBQUM7QUFFRCxTQUFPO0FBQ1g7QUFLQSxTQUFTLHFCQUFxQixTQUEyQztBQUNyRSxTQUFP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
|
|
@@ -184,7 +184,7 @@ function createHttpResponseCallback(httpClient2, successCallback, errorCallback,
|
|
|
184
184
|
);
|
|
185
185
|
}
|
|
186
186
|
function createSuccessCallback(callback) {
|
|
187
|
-
return "(function(httpResponse, isBinary, context) {\nvar response = {};\nresponse.statusCode = httpResponse.
|
|
187
|
+
return "(function(httpResponse, isBinary, context) {\nvar response = {};\nresponse.statusCode = httpResponse.getCode();\nresponse.statusMessage = httpResponse.getReasonPhrase();\nresponse.protocol = httpResponse.getVersion();\nresponse.binary = isBinary;\nvar headers = httpResponse.getHeaders();\nresponse.headers = [];\nfor (var i = 0; i < headers.length; i ++) {\n response.headers.push({\n name: headers[i].getName(),\n value: headers[i].getValue()\n });\n}\nif (isBinary) {\n response.data = httpResponse.getBodyBytes();\n} else {\n response.text = httpResponse.getBodyText();\n}\n(" + callback + ")(response, JSON.parse(context));\n})(__context.get('response'), __context.get('httpClientRequestOptions').isBinary(), __context.get('httpClientRequestOptions').getContext());\n";
|
|
188
188
|
}
|
|
189
189
|
function createErrorCallback(callback) {
|
|
190
190
|
if (callback) {
|
|
@@ -221,4 +221,4 @@ function buildUrl(url, options) {
|
|
|
221
221
|
if (typeof module !== "undefined") {
|
|
222
222
|
module.exports = { HttpAsyncClient, getInstance };
|
|
223
223
|
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvY2xpZW50LWFzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgaHR0cC9jbGllbnQtYXN5bmNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9odHRwXG4gKiBAbmFtZSBIdHRwQXN5bmNDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSHR0cEFzeW5jQ2xpZW50IGNsYXNzIHByb3ZpZGVzIGEgSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHdyYXBwZXIgKEZhY2FkZSkgZm9yIG1ha2luZyBhc3luY2hyb25vdXMgSFRUUCByZXF1ZXN0cyB1c2luZyB0aGUgdW5kZXJseWluZyBKYXZhIEhUVFAgY2xpZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwZXJmb3JtIG5vbi1ibG9ja2luZyBIVFRQIG9wZXJhdGlvbnMgYnkgZGVmaW5pbmcgc3VjY2VzcywgZXJyb3IsIGFuZCBjYW5jZWwgY2FsbGJhY2tzIGFzIHN0cmluZ3Mgb2YgZXhlY3V0YWJsZSBKYXZhU2NyaXB0IGNvZGUuIFRoZSBjbGFzcyBzdXBwb3J0cyBhbGwgc3RhbmRhcmQgSFRUUCBtZXRob2RzIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSwgSEVBRCwgVFJBQ0UpIGFuZCBhY2NlcHRzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcmVxdWVzdCBvcHRpb25zIHRoYXQgbWlycm9yIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIEphdmEgY2xpZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkFzeW5jaHJvbm91cyBFeGVjdXRpb24qKjogQWxsIEhUVFAgbWV0aG9kcyByZXR1cm4gaW1tZWRpYXRlbHksIHdpdGggY2FsbGJhY2tzIGV4ZWN1dGVkIHVwb24gY29tcGxldGlvbi5cbiAqIC0gKipDb21wcmVoZW5zaXZlIFJlcXVlc3QgT3B0aW9ucyoqOiBTdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmaW5lLXR1bmluZyBIVFRQIHJlcXVlc3RzLlxuICogLSAqKkNhbGxiYWNrIEZsZXhpYmlsaXR5Kio6IENhbGxiYWNrcyBhcmUgZGVmaW5lZCBhcyBzdHJpbmdzIG9mIEphdmFTY3JpcHQgY29kZSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZXhlY3V0aW9uIGluIHRoZSBKVk0gZW52aXJvbm1lbnQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTm9uLWJsb2NraW5nIEFQSSBDYWxscyoqOiBJZGVhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIHlvdSB3YW50IHRvIHBlcmZvcm0gSFRUUCByZXF1ZXN0cyB3aXRob3V0IGJsb2NraW5nIHRoZSBtYWluIGV4ZWN1dGlvbiB0aHJlYWQuXG4gKiAtICoqQ29tcGxleCBSZXF1ZXN0IENvbmZpZ3VyYXRpb25zKio6IFN1aXRhYmxlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMgdGhhdCByZXF1aXJlIGRldGFpbGVkIHJlcXVlc3QgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBIdHRwQXN5bmNDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2h0dHBcIjtcbiAqIFxuICogY29uc3QgY2xpZW50ID0gSHR0cEFzeW5jQ2xpZW50LmdldEluc3RhbmNlKCk7XG4gKiBcbiAqIGNsaWVudC5nZXRBc3luYyhcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGFcIiwge1xuICogICBzdWNjZXNzOiBcImZ1bmN0aW9uKHJlc3BvbnNlKSB7IGNvbnNvbGUubG9nKCdTdWNjZXNzOicsIHJlc3BvbnNlKTsgfVwiLFxuICogICBlcnJvcjogXCJmdW5jdGlvbihlcnJvcikgeyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7IH1cIlxuICogfSwge1xuICogICBoZWFkZXJzOiBbeyBuYW1lOiAnQXV0aG9yaXphdGlvbicsIHZhbHVlOiAnQmVhcmVyIHRva2VuJyB9XSxcbiAqICAgcGFyYW1zOiBbeyBuYW1lOiAncXVlcnknLCB2YWx1ZTogJ3NlYXJjaCB0ZXJtJyB9XVxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG4vLyAtLS0gU2hhcmVkIEludGVyZmFjZXMgKGZvciBkb2N1bWVudGF0aW9uIGNsYXJpdHkpIC0tLVxuXG4vKiogRGVmaW5lcyBhIHNpbmdsZSBIVFRQIGhlYWRlciwgdXNlZCBmb3IgYm90aCByZXF1ZXN0IGFuZCByZXNwb25zZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudEhlYWRlciB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgKGUuZy4sICdDb250ZW50LVR5cGUnLCAnQXV0aG9yaXphdGlvbicpLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIuICovXG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIERlZmluZXMgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBVUkwuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRQYXJhbSB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVyIChlLmcuLCAnaWQnKS4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgVVJMIHF1ZXJ5IHBhcmFtZXRlci4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogRGVmaW5lcyBhIGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBtdWx0aS1wYXJ0IGZvcm0gZGF0YSByZXF1ZXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2xpZW50RmlsZSB7XG4gICAgLyoqIFRoZSBmb3JtIGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZpbGUgcGF0aCBvciBjb250ZW50LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdCwgbWlycm9yaW5nIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIHVuZGVybHlpbmcgSmF2YSBjbGllbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgZXhwZWN0Q29udGludWVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm94eUhvc3Q/OiBzdHJpbmc7XG4gICAgcHJveHlQb3J0PzogbnVtYmVyO1xuICAgIGNvb2tpZVNwZWM/OiBzdHJpbmc7XG4gICAgcmVkaXJlY3RzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVsYXRpdmVSZWRpcmVjdHNBbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjaXJjdWxhclJlZGlyZWN0c0FsbG93ZWQ/OiBib29sZWFuO1xuICAgIG1heFJlZGlyZWN0cz86IG51bWJlcjtcbiAgICBhdXRoZW50aWNhdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRhcmdldFByZWZlcnJlZEF1dGhTY2hlbWVzPzogc3RyaW5nW107XG4gICAgcHJveHlQcmVmZXJyZWRBdXRoU2NoZW1lcz86IHN0cmluZ1tdO1xuICAgIGNvbm5lY3Rpb25SZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgICBjb25uZWN0VGltZW91dD86IG51bWJlcjtcbiAgICBzb2NrZXRUaW1lb3V0PzogbnVtYmVyO1xuICAgIGNvbnRlbnRDb21wcmVzc2lvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNzbFRydXN0QWxsRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueVtdO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBIdHRwQ2xpZW50RmlsZVtdO1xuICAgIGNoYXJhY3RlckVuY29kaW5nPzogc3RyaW5nO1xuICAgIGNoYXJhY3RlckVuY29kaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEh0dHBDbGllbnRIZWFkZXJbXTtcbiAgICBwYXJhbXM/OiBIdHRwQ2xpZW50UGFyYW1bXTtcbiAgICBiaW5hcnk/OiBib29sZWFuO1xuICAgIGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKiogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgdGhlIEh0dHBDbGllbnQgbWV0aG9kcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudFJlc3BvbnNlIHtcbiAgICAvKiogVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDIwMCwgNDA0LCA1MDApLiAqL1xuICAgIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXR1cyBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKGUuZy4sICdPSycsICdOb3QgRm91bmQnKS4gKi9cbiAgICBzdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhbiBhcnJheSBvZiBieXRlcyAoaWYgcmVxdWVzdGVkIGFzIGJpbmFyeSkuICovXG4gICAgZGF0YTogYW55W107XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhIGRlY29kZWQgc3RyaW5nLiAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogVGhlIHByb3RvY29sIHVzZWQgKGUuZy4sICdIVFRQLzEuMScpLiAqL1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgcmVzcG9uc2Ugd2FzIHByb2Nlc3NlZCBhcyBiaW5hcnkgZGF0YS4gKi9cbiAgICBiaW5hcnk6IGJvb2xlYW47XG4gICAgLyoqIEFycmF5IG9mIGFsbCBoZWFkZXJzIHJlY2VpdmVkIGluIHRoZSByZXNwb25zZS4gKi9cbiAgICBoZWFkZXJzOiBIdHRwQ2xpZW50SGVhZGVyW11cbn1cblxuLy8gLS0tIEFzeW5jaHJvbm91cyBDbGllbnQgSW50ZXJmYWNlcyAtLS1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0cy5cbiAqIE5vdGU6IENhbGxiYWNrcyBhcmUgcHJvdmlkZWQgYXMgc3RyaW5ncyBjb250YWluaW5nIGV4ZWN1dGFibGUgSmF2YVNjcmlwdCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRBc3luY0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogTWFuZGF0b3J5IHN1Y2Nlc3MgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKHJlc3BvbnNlOiBIdHRwQ2xpZW50UmVzcG9uc2UsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHZvaWRgXG4gICAgICovXG4gICAgc3VjY2Vzczogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIGVycm9yIGNhbGxiYWNrIGFzIGEgKipzdHJpbmcgb2YgSmF2YVNjcmlwdCBjb2RlKiouXG4gICAgICogSXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIHNpZ25hdHVyZTogYChleGNlcHRpb246IGFueSkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBlcnJvcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjYW5jZWwgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKCkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBjYW5jZWw/OiBzdHJpbmc7XG59XG5cblxuLy8gLS0tIEphdmEgVHlwZSBJbXBvcnRzIChDcnVjaWFsIGZvciBKVk0gaW50ZWdyYXRpb24pIC0tLVxuXG4vKiogSW1wb3J0cyB0aGUgbmF0aXZlIEphdmEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGFzeW5jaHJvbm91cyBIVFRQIGV4ZWN1dGlvbi4gKi9cbmNvbnN0IEh0dHBDbGllbnRBc3luY0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBDbGllbnRBc3luY0ZhY2FkZVwiKTtcblxuLyoqIEltcG9ydHMgdGhlIG5hdGl2ZSBKYXZhIGNsYXNzIGZvciByZXRyaWV2aW5nIFNwcmluZy1tYW5hZ2VkIGJlYW5zLiAqL1xuY29uc3QgU3ByaW5nQmVhblByb3ZpZGVyID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuc3ByaW5nLlNwcmluZ0JlYW5Qcm92aWRlclwiKTtcblxuLyoqIFJldHJpZXZlcyB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgZnJvbSB0aGUgU3ByaW5nIGNvbnRleHQuICovXG5jb25zdCBodHRwQ2xpZW50ID0gU3ByaW5nQmVhblByb3ZpZGVyLmdldEJlYW4oSHR0cENsaWVudEFzeW5jRmFjYWRlLmNsYXNzKTtcblxuXG4vKipcbiAqIFRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgY2xhc3MuIEFsbCByZXF1ZXN0IG1ldGhvZHMgcmV0dXJuIGltbWVkaWF0ZWx5XG4gKiBhbmQgZXhlY3V0ZSBjYWxsYmFja3MgdXBvbiBjb21wbGV0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jQ2xpZW50IHtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEdFVCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKGUuZy4sIGhlYWRlcnMsIGJvZHksIHBhcmFtcykuXG4gICAgICovXG5cdGdldEFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmdldEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5nZXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIFBPU1QgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwb3N0QXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucG9zdEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5wb3N0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQVVQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwdXRBc3luYyh1cmw6IHN0cmluZywgY29uZmlnOiBIdHRwQ2xpZW50QXN5bmNDb25maWcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdVcmwgPSBidWlsZFVybCh1cmwsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soXG5cdFx0XHRodHRwQ2xpZW50LFxuXHRcdFx0Y29uZmlnLnN1Y2Nlc3MsXG5cdFx0XHRjb25maWcuZXJyb3IsXG5cdFx0XHRjb25maWcuY2FuY2VsXG5cdFx0KTtcblx0XHRpZiAob3B0aW9ucykge1xuXHRcdFx0aHR0cENsaWVudC5wdXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucHV0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQQVRDSCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHBhdGNoQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIERFTEVURSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdGRlbGV0ZUFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmRlbGV0ZUFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5kZWxldGVBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEhFQUQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRoZWFkQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQuaGVhZEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5oZWFkQXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBUUkFDRSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHRyYWNlQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHF1ZXVlZCBhc3luY2hyb25vdXMgcmVxdWVzdHMgKGRlcGVuZGluZyBvbiB0aGUgdW5kZXJseWluZyBKYXZhIGNsaWVudCdzIHRocmVhZGluZyBtb2RlbCkuXG4gICAgICovXG5cdGV4ZWN1dGUoKTogdm9pZCB7XG5cdFx0aHR0cENsaWVudC5leGVjdXRlKCk7XG5cdH07XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byByZXRyaWV2ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXN5bmNocm9ub3VzIGNsaWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IGluc3RhbmNlIG9mIEh0dHBBc3luY0NsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlKCk6IEh0dHBBc3luY0NsaWVudCB7XG5cdHJldHVybiBuZXcgSHR0cEFzeW5jQ2xpZW50KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuYXRpdmUgSmF2YSBjYWxsYmFjayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgSmF2YVNjcmlwdCBzdWNjZXNzLCBlcnJvciwgYW5kIGNhbmNlbCBjYWxsYmFja3MuXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIHVuZGVybHlpbmcgSmF2YSBIVFRQIGNsaWVudCBpbnN0YW5jZSB0byBnZW5lcmF0ZSB0aGUgZmluYWwgY2FsbGJhY2sgb2JqZWN0LlxuICogQHBhcmFtIGh0dHBDbGllbnQgVGhlIEphdmEgSHR0cENsaWVudEFzeW5jRmFjYWRlIGluc3RhbmNlLlxuICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3Igc3VjY2Vzcy5cbiAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEpTIGNvZGUgc3RyaW5nIGZvciBlcnJvci5cbiAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3IgY2FuY2VsLlxuICogQHJldHVybnMgQSBKYXZhIGNhbGxiYWNrIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soaHR0cENsaWVudDogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IHN0cmluZywgZXJyb3JDYWxsYmFjaz86IHN0cmluZywgY2FuY2VsQ2FsbGJhY2s/OiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gaHR0cENsaWVudC5jcmVhdGVDYWxsYmFjayhcblx0XHRjcmVhdGVTdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKSxcblx0XHRjcmVhdGVFcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spLFxuXHRcdGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbmNlbENhbGxiYWNrKVxuXHQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgSlZNIGVudmlyb25tZW50IHVwb24gc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24uXG4gKiBUaGlzIHN0cmluZyBoYW5kbGVzIHBhcnNpbmcgdGhlIEphdmEgSFRUUCByZXNwb25zZSBvYmplY3QgYW5kIGV4ZWN1dGluZyB0aGUgdXNlcidzIGRlZmluZWQgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIHVzZXItcHJvdmlkZWQgc3VjY2VzcyBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV4IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgc3VjY2VzcyBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIE5vdGU6IFRoaXMgc3RyaW5nIHVzZXMgSmF2YSB1dGlsaXR5IGNsYXNzZXMgKG9yZy5hcGFjaGUuY29tbW9ucy5pby5JT1V0aWxzKSBhbmQgY29udGV4dCB2YXJpYWJsZXMgXG4gICAgLy8gKF9fY29udGV4dCkgdGhhdCBhcmUgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpYyBKVk0gZW52aXJvbm1lbnQuXG4gICAgXG4gICAgLy8gVGhlIHN0cnVjdHVyZSBtYXBzIHRoZSBKYXZhIEhUVFAgUmVzcG9uc2Ugb2JqZWN0IGludG8gdGhlIHN0YW5kYXJkIEh0dHBDbGllbnRSZXNwb25zZSBpbnRlcmZhY2UuXG5cdHJldHVybiBcIihmdW5jdGlvbihodHRwUmVzcG9uc2UsIGlzQmluYXJ5LCBjb250ZXh0KSB7XFxuXCJcblx0XHQrIFwidmFyIHJlc3BvbnNlID0ge307XFxuXCJcblx0XHQrIFwicmVzcG9uc2Uuc3RhdHVzQ29kZSA9IGh0dHBSZXNwb25zZS5nZXRTdGF0dXNMaW5lKCkuZ2V0U3RhdHVzQ29kZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnN0YXR1c01lc3NhZ2UgPSBodHRwUmVzcG9uc2UuZ2V0U3RhdHVzTGluZSgpLmdldFJlYXNvblBocmFzZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnByb3RvY29sID0gaHR0cFJlc3BvbnNlLmdldFByb3RvY29sVmVyc2lvbigpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLmJpbmFyeSA9IGlzQmluYXJ5O1xcblwiXG5cblx0XHQrIFwidmFyIGhlYWRlcnMgPSBodHRwUmVzcG9uc2UuZ2V0QWxsSGVhZGVycygpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLmhlYWRlcnMgPSBbXTtcXG5cIlxuXHRcdCsgXCJmb3IgKHZhciBpID0gMDsgaSA8IGhlYWRlcnMubGVuZ3RoOyBpICsrKSB7XFxuXCJcblx0XHQrIFwiICAgIHJlc3BvbnNlLmhlYWRlcnMucHVzaCh7XFxuXCJcblx0XHQrIFwiICAgICAgICBuYW1lOiBoZWFkZXJzW2ldLmdldE5hbWUoKSxcXG5cIlxuXHRcdCsgXCIgICAgICAgIHZhbHVlOiBoZWFkZXJzW2ldLmdldFZhbHVlKClcXG5cIlxuXHRcdCsgXCIgICAgfSk7XFxuXCJcblx0XHQrIFwifVxcblwiXG5cblx0XHQrIFwidmFyIGVudGl0eSA9IGh0dHBSZXNwb25zZS5nZXRFbnRpdHkoKTtcXG5cIlxuXHRcdCsgXCJpZiAoZW50aXR5KSB7XFxuXCJcblx0XHQrIFwiICAgIHZhciBpbnB1dFN0cmVhbSA9IGVudGl0eS5nZXRDb250ZW50KCk7XFxuXCJcblx0XHQrIFwiICAgIGlmIChpc0JpbmFyeSkge1xcblwiXG5cdFx0KyBcIiAgICAgICAgLy8gVXNlcyBKYXZhIElPVXRpbHMgdG8gcmVhZCBiaW5hcnkgZGF0YVxcblwiXG5cdFx0KyBcIiAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG9yZy5hcGFjaGUuY29tbW9ucy5pby5JT1V0aWxzLnRvQnl0ZUFycmF5KGlucHV0U3RyZWFtKTtcXG5cIlxuXHRcdCsgXCIgICAgfSBlbHNlIHtcXG5cIlxuXHRcdCsgXCIgICAgICAgIC8vIFVzZXMgSmF2YSBJT1V0aWxzIHRvIHJlYWQgdGV4dCBkYXRhXFxuXCJcblx0XHQrIFwiICAgICAgICByZXNwb25zZS50ZXh0ID0gb3JnLmFwYWNoZS5jb21tb25zLmlvLklPVXRpbHMudG9TdHJpbmcoaW5wdXRTdHJlYW0pO1xcblwiXG5cdFx0KyBcIiAgICB9XFxuXCJcblx0XHQrIFwifVxcblwiXG5cblx0XHQrIFwiKFwiICsgY2FsbGJhY2sgKyBcIikocmVzcG9uc2UsIEpTT04ucGFyc2UoY29udGV4dCkpO1xcblwiXG5cdFx0KyBcIn0pKF9fY29udGV4dC5nZXQoJ3Jlc3BvbnNlJyksIF9fY29udGV4dC5nZXQoJ2h0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucycpLmlzQmluYXJ5KCksIF9fY29udGV4dC5nZXQoJ2h0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucycpLmdldENvbnRleHQoKSk7XFxuXCI7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSByYXcgSmF2YVNjcmlwdCBzdHJpbmcgZm9yIHRoZSBlcnJvciBjYWxsYmFjay5cbiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgdXNlci1wcm92aWRlZCBlcnJvciBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGVycm9yIGhhbmRsZXIsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRXJyb3JDYWxsYmFjayhjYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChjYWxsYmFjaykge1xuXHRcdHJldHVybiBcIihcIiArIGNhbGxiYWNrICsgXCIpKF9fY29udGV4dC5nZXQoJ2V4Y2VwdGlvbicpKVwiO1xuXHR9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHJhdyBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGNhbmNlbCBjYWxsYmFjay5cbiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgdXNlci1wcm92aWRlZCBjYW5jZWwgY2FsbGJhY2sgZnVuY3Rpb24gY29kZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCBzdHJpbmcgZm9yIHRoZSBjYW5jZWwgaGFuZGxlciwgb3IgdW5kZWZpbmVkLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDYW5jZWxDYWxsYmFjayhjYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChjYWxsYmFjaykge1xuXHRcdHJldHVybiBcIihcIiArIGNhbGxiYWNrICsgXCIpKClcIjtcblx0fVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBmaW5hbCBVUkwgYnkgYXBwZW5kaW5nIGFsbCBxdWVyeSBwYXJhbWV0ZXJzIGRlZmluZWQgaW4gb3B0aW9ucy5wYXJhbXMuXG4gKiBUaGUgcGFyYW1ldGVycyBhcmUgbm90IHJlbW92ZWQgZnJvbSB0aGUgb3B0aW9ucyBvYmplY3QgYXMgdGhleSBhcmUgZm9yIHRoZSBzeW5jaHJvbm91cyBjbGllbnQsXG4gKiBzaW5jZSB0aGUgb3B0aW9ucyBhcmUgcGFzc2VkIGFzIEpTT04gc3RyaW5nIHRvIHRoZSBmYWNhZGUgYW55d2F5LlxuICogQHBhcmFtIHVybCBUaGUgYmFzZSBVUkwuXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgcmVxdWVzdCBvcHRpb25zIHdoaWNoIG1heSBjb250YWluIGBwYXJhbXNgLlxuICogQHJldHVybnMgVGhlIFVSTCB3aXRoIGFwcGVuZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkVXJsKHVybDogc3RyaW5nLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogc3RyaW5nIHtcblx0aWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMucGFyYW1zID09PSB1bmRlZmluZWQgfHwgb3B0aW9ucy5wYXJhbXMgPT09IG51bGwgfHwgb3B0aW9ucy5wYXJhbXMubGVuZ3RoID09PSAwKSB7XG5cdFx0cmV0dXJuIHVybDtcblx0fVxuXHRsZXQgbmV3VXJsID0gdXJsO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMucGFyYW1zLmxlbmd0aDsgaSArKykge1xuICAgICAgICBjb25zdCBwYXJhbSA9IG9wdGlvbnMucGFyYW1zW2ldO1xuXHRcdGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiBVUkwgYWxyZWFkeSBjb250YWlucyAnPycgYW5kIHVzZSAnJicgaWYgc28gKGltcHJvdmVzIHJvYnVzdG5lc3MpXG4gICAgICAgICAgICBpZiAobmV3VXJsLmluY2x1ZGVzKCc/JykpIHtcbiAgICAgICAgICAgICAgICBuZXdVcmwgKz0gJyYnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdVcmwgKz0gJz8nO1xuICAgICAgICAgICAgfVxuXHRcdFx0bmV3VXJsICs9IHBhcmFtLm5hbWUgKyAnPScgKyBwYXJhbS52YWx1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bmV3VXJsICs9ICcmJyArIHBhcmFtLm5hbWUgKyAnPScgKyBwYXJhbS52YWx1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG5ld1VybDtcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSB7IEh0dHBBc3luY0NsaWVudCwgZ2V0SW5zdGFuY2UgfTtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVJQSxNQUFNLHdCQUF3QixLQUFLLEtBQUssaUVBQWlFO0FBR3pHLE1BQU0scUJBQXFCLEtBQUssS0FBSyw0REFBNEQ7QUFHakcsTUFBTSxhQUFhLG1CQUFtQixRQUFRLHNCQUFzQixLQUFLO0FBT2xFLE1BQU0sZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRNUIsU0FBUyxLQUFhLFFBQStCLFNBQTBDO0FBQzlGLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxTQUFTLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDOUQsT0FBTztBQUNOLGlCQUFXLFNBQVMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQ3pEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsVUFBVSxLQUFhLFFBQStCLFNBQTBDO0FBQy9GLFVBQU0s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QUNOLGlCQUFXLFdBQVcsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQzNEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsVUFBZ0I7QUFDZixlQUFXLFFBQVE7QUFBQSxFQUNwQjtBQUNEO0FBTU8sU0FBUyxjQUErQjtBQUM5QyxTQUFPLElBQUksZ0JBQWdCO0FBQzVCO0FBQUM7QUFXRCxTQUFTLDJCQUEyQkEsYUFBaUIsaUJBQXlCLGVBQXdCLGdCQUE4QjtBQUNuSSxTQUFPQSxZQUFXO0FBQUEsSUFDakIsc0JBQXNCLGVBQWU7QUFBQSxJQUNyQyxvQkFBb0IsYUFBYTtBQUFBLElBQ2pDLHFCQUFxQixjQUFjO0FBQUEsRUFDcEM7QUFDRDtBQVFBLFNBQVMsc0JBQXNCLFVBQTBCO0FBS3hELFNBQU8sbTZCQTRCRSxXQUFXO0FBRXJCO0FBT0EsU0FBUyxvQkFBb0IsVUFBdUM7QUFDbkUsTUFBSSxVQUFVO0FBQ2IsV0FBTyxNQUFNLFdBQVc7QUFBQSxFQUN6QjtBQUNHLFNBQU87QUFDWDtBQU9BLFNBQVMscUJBQXFCLFVBQXVDO0FBQ3BFLE1BQUksVUFBVTtBQUNiLFdBQU8sTUFBTSxXQUFXO0FBQUEsRUFDekI7QUFDRyxTQUFPO0FBQ1g7QUFVQSxTQUFTLFNBQVMsS0FBYSxTQUE0QztBQUMxRSxNQUFJLFlBQVksVUFBYSxZQUFZLFFBQVEsUUFBUSxXQUFXLFVBQWEsUUFBUSxXQUFXLFFBQVEsUUFBUSxPQUFPLFdBQVcsR0FBRztBQUN4SSxXQUFPO0FBQUEsRUFDUjtBQUNBLE1BQUksU0FBUztBQUNiLFdBQVMsSUFBSSxHQUFHLElBQUksUUFBUSxPQUFPLFFBQVEsS0FBTTtBQUMxQyxVQUFNLFFBQVEsUUFBUSxPQUFPLENBQUM7QUFDcEMsUUFBSSxNQUFNLEdBQUc7QUFFSCxVQUFJLE9BQU8sU0FBUyxHQUFHLEdBQUc7QUFDdEIsa0JBQVU7QUFBQSxNQUNkLE9BQU87QUFDSCxrQkFBVTtBQUFBLE1BQ2Q7QUFDVCxnQkFBVSxNQUFNLE9BQU8sTUFBTSxNQUFNO0FBQUEsSUFDcEMsT0FBTztBQUNOLGdCQUFVLE1BQU0sTUFBTSxPQUFPLE1BQU0sTUFBTTtBQUFBLElBQzFDO0FBQUEsRUFDRDtBQUNBLFNBQU87QUFDUjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVLEVBQUUsaUJBQWlCLFlBQVk7QUFDakQ7IiwKICAibmFtZXMiOiBbImh0dHBDbGllbnQiXQp9Cg==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvY2xpZW50LWFzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgaHR0cC9jbGllbnQtYXN5bmNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9odHRwXG4gKiBAbmFtZSBIdHRwQXN5bmNDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSHR0cEFzeW5jQ2xpZW50IGNsYXNzIHByb3ZpZGVzIGEgSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHdyYXBwZXIgKEZhY2FkZSkgZm9yIG1ha2luZyBhc3luY2hyb25vdXMgSFRUUCByZXF1ZXN0cyB1c2luZyB0aGUgdW5kZXJseWluZyBKYXZhIEhUVFAgY2xpZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwZXJmb3JtIG5vbi1ibG9ja2luZyBIVFRQIG9wZXJhdGlvbnMgYnkgZGVmaW5pbmcgc3VjY2VzcywgZXJyb3IsIGFuZCBjYW5jZWwgY2FsbGJhY2tzIGFzIHN0cmluZ3Mgb2YgZXhlY3V0YWJsZSBKYXZhU2NyaXB0IGNvZGUuIFRoZSBjbGFzcyBzdXBwb3J0cyBhbGwgc3RhbmRhcmQgSFRUUCBtZXRob2RzIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSwgSEVBRCwgVFJBQ0UpIGFuZCBhY2NlcHRzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcmVxdWVzdCBvcHRpb25zIHRoYXQgbWlycm9yIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIEphdmEgY2xpZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkFzeW5jaHJvbm91cyBFeGVjdXRpb24qKjogQWxsIEhUVFAgbWV0aG9kcyByZXR1cm4gaW1tZWRpYXRlbHksIHdpdGggY2FsbGJhY2tzIGV4ZWN1dGVkIHVwb24gY29tcGxldGlvbi5cbiAqIC0gKipDb21wcmVoZW5zaXZlIFJlcXVlc3QgT3B0aW9ucyoqOiBTdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmaW5lLXR1bmluZyBIVFRQIHJlcXVlc3RzLlxuICogLSAqKkNhbGxiYWNrIEZsZXhpYmlsaXR5Kio6IENhbGxiYWNrcyBhcmUgZGVmaW5lZCBhcyBzdHJpbmdzIG9mIEphdmFTY3JpcHQgY29kZSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZXhlY3V0aW9uIGluIHRoZSBKVk0gZW52aXJvbm1lbnQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTm9uLWJsb2NraW5nIEFQSSBDYWxscyoqOiBJZGVhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIHlvdSB3YW50IHRvIHBlcmZvcm0gSFRUUCByZXF1ZXN0cyB3aXRob3V0IGJsb2NraW5nIHRoZSBtYWluIGV4ZWN1dGlvbiB0aHJlYWQuXG4gKiAtICoqQ29tcGxleCBSZXF1ZXN0IENvbmZpZ3VyYXRpb25zKio6IFN1aXRhYmxlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMgdGhhdCByZXF1aXJlIGRldGFpbGVkIHJlcXVlc3QgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBIdHRwQXN5bmNDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2h0dHBcIjtcbiAqIFxuICogY29uc3QgY2xpZW50ID0gSHR0cEFzeW5jQ2xpZW50LmdldEluc3RhbmNlKCk7XG4gKiBcbiAqIGNsaWVudC5nZXRBc3luYyhcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGFcIiwge1xuICogICBzdWNjZXNzOiBcImZ1bmN0aW9uKHJlc3BvbnNlKSB7IGNvbnNvbGUubG9nKCdTdWNjZXNzOicsIHJlc3BvbnNlKTsgfVwiLFxuICogICBlcnJvcjogXCJmdW5jdGlvbihlcnJvcikgeyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7IH1cIlxuICogfSwge1xuICogICBoZWFkZXJzOiBbeyBuYW1lOiAnQXV0aG9yaXphdGlvbicsIHZhbHVlOiAnQmVhcmVyIHRva2VuJyB9XSxcbiAqICAgcGFyYW1zOiBbeyBuYW1lOiAncXVlcnknLCB2YWx1ZTogJ3NlYXJjaCB0ZXJtJyB9XVxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG4vLyAtLS0gU2hhcmVkIEludGVyZmFjZXMgKGZvciBkb2N1bWVudGF0aW9uIGNsYXJpdHkpIC0tLVxuXG4vKiogRGVmaW5lcyBhIHNpbmdsZSBIVFRQIGhlYWRlciwgdXNlZCBmb3IgYm90aCByZXF1ZXN0IGFuZCByZXNwb25zZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudEhlYWRlciB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgKGUuZy4sICdDb250ZW50LVR5cGUnLCAnQXV0aG9yaXphdGlvbicpLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIuICovXG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIERlZmluZXMgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBVUkwuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRQYXJhbSB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVyIChlLmcuLCAnaWQnKS4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgVVJMIHF1ZXJ5IHBhcmFtZXRlci4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogRGVmaW5lcyBhIGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBtdWx0aS1wYXJ0IGZvcm0gZGF0YSByZXF1ZXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2xpZW50RmlsZSB7XG4gICAgLyoqIFRoZSBmb3JtIGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZpbGUgcGF0aCBvciBjb250ZW50LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdCwgbWlycm9yaW5nIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIHVuZGVybHlpbmcgSmF2YSBjbGllbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgZXhwZWN0Q29udGludWVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm94eUhvc3Q/OiBzdHJpbmc7XG4gICAgcHJveHlQb3J0PzogbnVtYmVyO1xuICAgIGNvb2tpZVNwZWM/OiBzdHJpbmc7XG4gICAgcmVkaXJlY3RzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVsYXRpdmVSZWRpcmVjdHNBbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjaXJjdWxhclJlZGlyZWN0c0FsbG93ZWQ/OiBib29sZWFuO1xuICAgIG1heFJlZGlyZWN0cz86IG51bWJlcjtcbiAgICBhdXRoZW50aWNhdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRhcmdldFByZWZlcnJlZEF1dGhTY2hlbWVzPzogc3RyaW5nW107XG4gICAgcHJveHlQcmVmZXJyZWRBdXRoU2NoZW1lcz86IHN0cmluZ1tdO1xuICAgIGNvbm5lY3Rpb25SZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgICBjb25uZWN0VGltZW91dD86IG51bWJlcjtcbiAgICBzb2NrZXRUaW1lb3V0PzogbnVtYmVyO1xuICAgIGNvbnRlbnRDb21wcmVzc2lvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNzbFRydXN0QWxsRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueVtdO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBIdHRwQ2xpZW50RmlsZVtdO1xuICAgIGNoYXJhY3RlckVuY29kaW5nPzogc3RyaW5nO1xuICAgIGNoYXJhY3RlckVuY29kaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEh0dHBDbGllbnRIZWFkZXJbXTtcbiAgICBwYXJhbXM/OiBIdHRwQ2xpZW50UGFyYW1bXTtcbiAgICBiaW5hcnk/OiBib29sZWFuO1xuICAgIGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKiogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgdGhlIEh0dHBDbGllbnQgbWV0aG9kcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudFJlc3BvbnNlIHtcbiAgICAvKiogVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDIwMCwgNDA0LCA1MDApLiAqL1xuICAgIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXR1cyBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKGUuZy4sICdPSycsICdOb3QgRm91bmQnKS4gKi9cbiAgICBzdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhbiBhcnJheSBvZiBieXRlcyAoaWYgcmVxdWVzdGVkIGFzIGJpbmFyeSkuICovXG4gICAgZGF0YTogYW55W107XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhIGRlY29kZWQgc3RyaW5nLiAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogVGhlIHByb3RvY29sIHVzZWQgKGUuZy4sICdIVFRQLzEuMScpLiAqL1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgcmVzcG9uc2Ugd2FzIHByb2Nlc3NlZCBhcyBiaW5hcnkgZGF0YS4gKi9cbiAgICBiaW5hcnk6IGJvb2xlYW47XG4gICAgLyoqIEFycmF5IG9mIGFsbCBoZWFkZXJzIHJlY2VpdmVkIGluIHRoZSByZXNwb25zZS4gKi9cbiAgICBoZWFkZXJzOiBIdHRwQ2xpZW50SGVhZGVyW11cbn1cblxuLy8gLS0tIEFzeW5jaHJvbm91cyBDbGllbnQgSW50ZXJmYWNlcyAtLS1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0cy5cbiAqIE5vdGU6IENhbGxiYWNrcyBhcmUgcHJvdmlkZWQgYXMgc3RyaW5ncyBjb250YWluaW5nIGV4ZWN1dGFibGUgSmF2YVNjcmlwdCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRBc3luY0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogTWFuZGF0b3J5IHN1Y2Nlc3MgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKHJlc3BvbnNlOiBIdHRwQ2xpZW50UmVzcG9uc2UsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHZvaWRgXG4gICAgICovXG4gICAgc3VjY2Vzczogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIGVycm9yIGNhbGxiYWNrIGFzIGEgKipzdHJpbmcgb2YgSmF2YVNjcmlwdCBjb2RlKiouXG4gICAgICogSXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIHNpZ25hdHVyZTogYChleGNlcHRpb246IGFueSkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBlcnJvcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjYW5jZWwgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKCkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBjYW5jZWw/OiBzdHJpbmc7XG59XG5cblxuLy8gLS0tIEphdmEgVHlwZSBJbXBvcnRzIChDcnVjaWFsIGZvciBKVk0gaW50ZWdyYXRpb24pIC0tLVxuXG4vKiogSW1wb3J0cyB0aGUgbmF0aXZlIEphdmEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGFzeW5jaHJvbm91cyBIVFRQIGV4ZWN1dGlvbi4gKi9cbmNvbnN0IEh0dHBDbGllbnRBc3luY0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBDbGllbnRBc3luY0ZhY2FkZVwiKTtcblxuLyoqIEltcG9ydHMgdGhlIG5hdGl2ZSBKYXZhIGNsYXNzIGZvciByZXRyaWV2aW5nIFNwcmluZy1tYW5hZ2VkIGJlYW5zLiAqL1xuY29uc3QgU3ByaW5nQmVhblByb3ZpZGVyID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuc3ByaW5nLlNwcmluZ0JlYW5Qcm92aWRlclwiKTtcblxuLyoqIFJldHJpZXZlcyB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgZnJvbSB0aGUgU3ByaW5nIGNvbnRleHQuICovXG5jb25zdCBodHRwQ2xpZW50ID0gU3ByaW5nQmVhblByb3ZpZGVyLmdldEJlYW4oSHR0cENsaWVudEFzeW5jRmFjYWRlLmNsYXNzKTtcblxuXG4vKipcbiAqIFRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgY2xhc3MuIEFsbCByZXF1ZXN0IG1ldGhvZHMgcmV0dXJuIGltbWVkaWF0ZWx5XG4gKiBhbmQgZXhlY3V0ZSBjYWxsYmFja3MgdXBvbiBjb21wbGV0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jQ2xpZW50IHtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEdFVCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKGUuZy4sIGhlYWRlcnMsIGJvZHksIHBhcmFtcykuXG4gICAgICovXG5cdGdldEFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmdldEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5nZXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIFBPU1QgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwb3N0QXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucG9zdEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5wb3N0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQVVQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwdXRBc3luYyh1cmw6IHN0cmluZywgY29uZmlnOiBIdHRwQ2xpZW50QXN5bmNDb25maWcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdVcmwgPSBidWlsZFVybCh1cmwsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soXG5cdFx0XHRodHRwQ2xpZW50LFxuXHRcdFx0Y29uZmlnLnN1Y2Nlc3MsXG5cdFx0XHRjb25maWcuZXJyb3IsXG5cdFx0XHRjb25maWcuY2FuY2VsXG5cdFx0KTtcblx0XHRpZiAob3B0aW9ucykge1xuXHRcdFx0aHR0cENsaWVudC5wdXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucHV0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQQVRDSCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHBhdGNoQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIERFTEVURSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdGRlbGV0ZUFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmRlbGV0ZUFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5kZWxldGVBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEhFQUQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRoZWFkQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQuaGVhZEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5oZWFkQXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBUUkFDRSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHRyYWNlQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHF1ZXVlZCBhc3luY2hyb25vdXMgcmVxdWVzdHMgKGRlcGVuZGluZyBvbiB0aGUgdW5kZXJseWluZyBKYXZhIGNsaWVudCdzIHRocmVhZGluZyBtb2RlbCkuXG4gICAgICovXG5cdGV4ZWN1dGUoKTogdm9pZCB7XG5cdFx0aHR0cENsaWVudC5leGVjdXRlKCk7XG5cdH07XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byByZXRyaWV2ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXN5bmNocm9ub3VzIGNsaWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IGluc3RhbmNlIG9mIEh0dHBBc3luY0NsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlKCk6IEh0dHBBc3luY0NsaWVudCB7XG5cdHJldHVybiBuZXcgSHR0cEFzeW5jQ2xpZW50KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuYXRpdmUgSmF2YSBjYWxsYmFjayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgSmF2YVNjcmlwdCBzdWNjZXNzLCBlcnJvciwgYW5kIGNhbmNlbCBjYWxsYmFja3MuXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIHVuZGVybHlpbmcgSmF2YSBIVFRQIGNsaWVudCBpbnN0YW5jZSB0byBnZW5lcmF0ZSB0aGUgZmluYWwgY2FsbGJhY2sgb2JqZWN0LlxuICogQHBhcmFtIGh0dHBDbGllbnQgVGhlIEphdmEgSHR0cENsaWVudEFzeW5jRmFjYWRlIGluc3RhbmNlLlxuICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3Igc3VjY2Vzcy5cbiAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEpTIGNvZGUgc3RyaW5nIGZvciBlcnJvci5cbiAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3IgY2FuY2VsLlxuICogQHJldHVybnMgQSBKYXZhIGNhbGxiYWNrIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soaHR0cENsaWVudDogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IHN0cmluZywgZXJyb3JDYWxsYmFjaz86IHN0cmluZywgY2FuY2VsQ2FsbGJhY2s/OiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gaHR0cENsaWVudC5jcmVhdGVDYWxsYmFjayhcblx0XHRjcmVhdGVTdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKSxcblx0XHRjcmVhdGVFcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spLFxuXHRcdGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbmNlbENhbGxiYWNrKVxuXHQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgSlZNIGVudmlyb25tZW50IHVwb24gc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24uXG4gKiBUaGlzIHN0cmluZyBoYW5kbGVzIHBhcnNpbmcgdGhlIEphdmEgSFRUUCByZXNwb25zZSBvYmplY3QgYW5kIGV4ZWN1dGluZyB0aGUgdXNlcidzIGRlZmluZWQgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIHVzZXItcHJvdmlkZWQgc3VjY2VzcyBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV4IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgc3VjY2VzcyBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIE5vdGU6IFRoaXMgc3RyaW5nIHJlYWRzIHRoZSBKYXZhIHJlc3BvbnNlIG9iamVjdCBhbmQgdGhlIGNvbnRleHQgdmFyaWFibGVzIChfX2NvbnRleHQpIGF2YWlsYWJsZVxuICAgIC8vIGluIHRoZSBzcGVjaWZpYyBKVk0gZW52aXJvbm1lbnQuIFNpbmNlIHRoZSBIdHRwQ2xpZW50IDUgcG9ydCAoZGlyaWdpYmxlICM3NzkyKSB0aGF0IG9iamVjdCBpcyBhXG4gICAgLy8gU2ltcGxlSHR0cFJlc3BvbnNlOiB0aGUgc3RhdHVzIGlzIGdldENvZGUoKS9nZXRSZWFzb25QaHJhc2UoKSByYXRoZXIgdGhhbiBnZXRTdGF0dXNMaW5lKCksIHRoZVxuICAgIC8vIGhlYWRlcnMgYXJlIGdldEhlYWRlcnMoKSwgYW5kIHRoZSBib2R5IGlzIGFscmVhZHkgaW4gbWVtb3J5IC0gZ2V0Qm9keUJ5dGVzKCkvZ2V0Qm9keVRleHQoKSAtXG4gICAgLy8gc28gdGhlcmUgaXMgbm8gZW50aXR5IHN0cmVhbSB0byByZWFkIHRocm91Z2ggSU9VdGlscyBhbnkgbW9yZS5cbiAgICBcbiAgICAvLyBUaGUgc3RydWN0dXJlIG1hcHMgdGhlIEphdmEgSFRUUCBSZXNwb25zZSBvYmplY3QgaW50byB0aGUgc3RhbmRhcmQgSHR0cENsaWVudFJlc3BvbnNlIGludGVyZmFjZS5cblx0cmV0dXJuIFwiKGZ1bmN0aW9uKGh0dHBSZXNwb25zZSwgaXNCaW5hcnksIGNvbnRleHQpIHtcXG5cIlxuXHRcdCsgXCJ2YXIgcmVzcG9uc2UgPSB7fTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5zdGF0dXNDb2RlID0gaHR0cFJlc3BvbnNlLmdldENvZGUoKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gaHR0cFJlc3BvbnNlLmdldFJlYXNvblBocmFzZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnByb3RvY29sID0gaHR0cFJlc3BvbnNlLmdldFZlcnNpb24oKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5iaW5hcnkgPSBpc0JpbmFyeTtcXG5cIlxuXG5cdFx0KyBcInZhciBoZWFkZXJzID0gaHR0cFJlc3BvbnNlLmdldEhlYWRlcnMoKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5oZWFkZXJzID0gW107XFxuXCJcblx0XHQrIFwiZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgaSArKykge1xcblwiXG5cdFx0KyBcIiAgICByZXNwb25zZS5oZWFkZXJzLnB1c2goe1xcblwiXG5cdFx0KyBcIiAgICAgICAgbmFtZTogaGVhZGVyc1tpXS5nZXROYW1lKCksXFxuXCJcblx0XHQrIFwiICAgICAgICB2YWx1ZTogaGVhZGVyc1tpXS5nZXRWYWx1ZSgpXFxuXCJcblx0XHQrIFwiICAgIH0pO1xcblwiXG5cdFx0KyBcIn1cXG5cIlxuXG5cdFx0KyBcImlmIChpc0JpbmFyeSkge1xcblwiXG5cdFx0KyBcIiAgICByZXNwb25zZS5kYXRhID0gaHR0cFJlc3BvbnNlLmdldEJvZHlCeXRlcygpO1xcblwiXG5cdFx0KyBcIn0gZWxzZSB7XFxuXCJcblx0XHQrIFwiICAgIHJlc3BvbnNlLnRleHQgPSBodHRwUmVzcG9uc2UuZ2V0Qm9keVRleHQoKTtcXG5cIlxuXHRcdCsgXCJ9XFxuXCJcblxuXHRcdCsgXCIoXCIgKyBjYWxsYmFjayArIFwiKShyZXNwb25zZSwgSlNPTi5wYXJzZShjb250ZXh0KSk7XFxuXCJcblx0XHQrIFwifSkoX19jb250ZXh0LmdldCgncmVzcG9uc2UnKSwgX19jb250ZXh0LmdldCgnaHR0cENsaWVudFJlcXVlc3RPcHRpb25zJykuaXNCaW5hcnkoKSwgX19jb250ZXh0LmdldCgnaHR0cENsaWVudFJlcXVlc3RPcHRpb25zJykuZ2V0Q29udGV4dCgpKTtcXG5cIjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHJhdyBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGVycm9yIGNhbGxiYWNrLlxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSB1c2VyLXByb3ZpZGVkIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uIGNvZGUgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgZXJyb3IgaGFuZGxlciwgb3IgdW5kZWZpbmVkLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFcnJvckNhbGxiYWNrKGNhbGxiYWNrPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0aWYgKGNhbGxiYWNrKSB7XG5cdFx0cmV0dXJuIFwiKFwiICsgY2FsbGJhY2sgKyBcIikoX19jb250ZXh0LmdldCgnZXhjZXB0aW9uJykpXCI7XG5cdH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgY2FuY2VsIGNhbGxiYWNrLlxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSB1c2VyLXByb3ZpZGVkIGNhbmNlbCBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGNhbmNlbCBoYW5kbGVyLCBvciB1bmRlZmluZWQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbGxiYWNrPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0aWYgKGNhbGxiYWNrKSB7XG5cdFx0cmV0dXJuIFwiKFwiICsgY2FsbGJhY2sgKyBcIikoKVwiO1xuXHR9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZpbmFsIFVSTCBieSBhcHBlbmRpbmcgYWxsIHF1ZXJ5IHBhcmFtZXRlcnMgZGVmaW5lZCBpbiBvcHRpb25zLnBhcmFtcy5cbiAqIFRoZSBwYXJhbWV0ZXJzIGFyZSBub3QgcmVtb3ZlZCBmcm9tIHRoZSBvcHRpb25zIG9iamVjdCBhcyB0aGV5IGFyZSBmb3IgdGhlIHN5bmNocm9ub3VzIGNsaWVudCxcbiAqIHNpbmNlIHRoZSBvcHRpb25zIGFyZSBwYXNzZWQgYXMgSlNPTiBzdHJpbmcgdG8gdGhlIGZhY2FkZSBhbnl3YXkuXG4gKiBAcGFyYW0gdXJsIFRoZSBiYXNlIFVSTC5cbiAqIEBwYXJhbSBvcHRpb25zIFRoZSByZXF1ZXN0IG9wdGlvbnMgd2hpY2ggbWF5IGNvbnRhaW4gYHBhcmFtc2AuXG4gKiBAcmV0dXJucyBUaGUgVVJMIHdpdGggYXBwZW5kZWQgcXVlcnkgcGFyYW1ldGVycy5cbiAqL1xuZnVuY3Rpb24gYnVpbGRVcmwodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiBzdHJpbmcge1xuXHRpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucy5wYXJhbXMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLnBhcmFtcyA9PT0gbnVsbCB8fCBvcHRpb25zLnBhcmFtcy5sZW5ndGggPT09IDApIHtcblx0XHRyZXR1cm4gdXJsO1xuXHR9XG5cdGxldCBuZXdVcmwgPSB1cmw7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5wYXJhbXMubGVuZ3RoOyBpICsrKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gb3B0aW9ucy5wYXJhbXNbaV07XG5cdFx0aWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIC8vIENoZWNrIGlmIFVSTCBhbHJlYWR5IGNvbnRhaW5zICc/JyBhbmQgdXNlICcmJyBpZiBzbyAoaW1wcm92ZXMgcm9idXN0bmVzcylcbiAgICAgICAgICAgIGlmIChuZXdVcmwuaW5jbHVkZXMoJz8nKSkge1xuICAgICAgICAgICAgICAgIG5ld1VybCArPSAnJic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1VybCArPSAnPyc7XG4gICAgICAgICAgICB9XG5cdFx0XHRuZXdVcmwgKz0gcGFyYW0ubmFtZSArICc9JyArIHBhcmFtLnZhbHVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRuZXdVcmwgKz0gJyYnICsgcGFyYW0ubmFtZSArICc9JyArIHBhcmFtLnZhbHVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbmV3VXJsO1xufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IHsgSHR0cEFzeW5jQ2xpZW50LCBnZXRJbnN0YW5jZSB9O1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUlBLE1BQU0sd0JBQXdCLEtBQUssS0FBSyxpRUFBaUU7QUFHekcsTUFBTSxxQkFBcUIsS0FBSyxLQUFLLDREQUE0RDtBQUdqRyxNQUFNLGFBQWEsbUJBQW1CLFFBQVEsc0JBQXNCLEtBQUs7QUFPbEUsTUFBTSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVE1QixTQUFTLEtBQWEsUUFBK0IsU0FBMEM7QUFDOUYsVUFBTSxTQUFTLFNBQVMsS0FBSyxPQUFPO0FBQ3BDLFVBQU0sV0FBVztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxPQUFPO0FBQUEsTUFDUCxPQUFPO0FBQUEsTUFDUCxPQUFPO0FBQUEsSUFDUjtBQUNBLFFBQUksU0FBUztBQUNaLGlCQUFXLFNBQVMsUUFBUSxLQUFLLFVBQVUsT0FBTyxHQUFHLFFBQVE7QUFBQSxJQUM5RCxPQUFPO0FBQ04saUJBQVcsU0FBUyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsR0FBRyxRQUFRO0FBQUEsSUFDekQ7QUFBQSxFQUNEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxVQUFVLEtBQWEsUUFBK0IsU0FBMEM7QUFDL0YsVUFBTSxTQUFTLFNBQVMsS0FBSyxPQUFPO0FBQ3BDLFVBQU0sV0FBVztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxPQUFPO0FBQUEsTUFDUCxPQUFPO0FBQUEsTUFDUCxPQUFPO0FB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
|
package/dist/cjs/qldb/qldb.js
CHANGED
|
@@ -21,4 +21,4 @@ __export(qldb_exports, {
|
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(qldb_exports);
|
|
23
23
|
const QLDBRepository = Java.type("org.eclipse.dirigible.components.api.qldb.QLDBRepository");
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvcWxkYi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHFsZGIvcWxkYlxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3FsZGJcbiAqIEBuYW1lIFFMREJSZXBvc2l0b3J5XG4gKiBAb3ZlcnZpZXdcbiAqXG4gKiBFbnRyeSBwb2ludCBmb3IgQW1hem9uIFFMREIgcmVwb3NpdG9yeSBpbnRlZ3JhdGlvbiBpbiBBZXJva2l0IFNESy5cbiAqXG4gKiBFeHBvc2VzIHRoZSBgUUxEQlJlcG9zaXRvcnlgIGNsYXNzIGFsaWFzIHRvIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb246XG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlgLlxuICpcbiAqIFRoaXMgb2JqZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgUUxEQiBsZWRnZXIgc2Vzc2lvbnMsIGV4ZWN1dGUgc3RhdGVtZW50cyxcbiAqIGFuZCBoYW5kbGUgdHJhbnNhY3Rpb24gbGlmZWN5Y2xlcyBmcm9tIEphdmFTY3JpcHQgY29kZS5cbiAqXG4gKiBUaGUgUUxEQiBkcml2ZXIgaXMgYW4gYWRkLW9uIHRoYXQgdGhlIGRlZmF1bHQgYnVuZGxlIGRvZXMgbm90IHNoaXA6IHRoZSBhcHBsaWNhdGlvbiBhZGRzXG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlOmRpcmlnaWJsZS1jb21wb25lbnRzLWFwaS1xbGRiLWRyaXZlcmAgKGA8dHlwZT5wb208L3R5cGU+YCkuIFdpdGhvdXQgaXQsXG4gKiBgbmV3IFFMREJSZXBvc2l0b3J5KC4uLilgIHRocm93cyBgUWxkYk5vdEF2YWlsYWJsZUV4Y2VwdGlvbmAgbmFtaW5nIHRoYXQgYXJ0aWZhY3QuXG4gKi9cblxuZXhwb3J0IGNvbnN0IFFMREJSZXBvc2l0b3J5ID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlcIik7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUJPLE1BQU0saUJBQWlCLEtBQUssS0FBSywwREFBMEQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
* - Retrieve metadata about the Etcd cluster and key-value store through response headers.
|
|
13
13
|
* - Delete keys from Etcd.
|
|
14
14
|
*
|
|
15
|
+
* ### Availability
|
|
16
|
+
* The etcd client library (jetcd) is an add-on that the default bundle does not ship: the application adds
|
|
17
|
+
* `org.eclipse.dirigible:dirigible-components-api-etcd-client` (`<type>pom</type>`). Without it, every call
|
|
18
|
+
* throws `EtcdNotAvailableException` naming that artifact.
|
|
19
|
+
*
|
|
15
20
|
* ### Use Cases
|
|
16
21
|
* - Storing configuration data or application state in Etcd for distributed applications.
|
|
17
22
|
* - Retrieving and managing key-value pairs in Etcd for service discovery, configuration management, or coordination tasks.
|
package/dist/dts/qldb/qldb.d.ts
CHANGED
|
@@ -11,5 +11,9 @@
|
|
|
11
11
|
*
|
|
12
12
|
* This object is used to create and manage QLDB ledger sessions, execute statements,
|
|
13
13
|
* and handle transaction lifecycles from JavaScript code.
|
|
14
|
+
*
|
|
15
|
+
* The QLDB driver is an add-on that the default bundle does not ship: the application adds
|
|
16
|
+
* `org.eclipse.dirigible:dirigible-components-api-qldb-driver` (`<type>pom</type>`). Without it,
|
|
17
|
+
* `new QLDBRepository(...)` throws `QldbNotAvailableException` naming that artifact.
|
|
14
18
|
*/
|
|
15
19
|
export declare const QLDBRepository: any;
|
package/dist/esm/etcd/client.mjs
CHANGED
|
@@ -155,4 +155,4 @@ export {
|
|
|
155
155
|
GetResponse,
|
|
156
156
|
Header
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gU3RvcmluZyBjb25maWd1cmF0aW9uIGRhdGEgb3IgYXBwbGljYXRpb24gc3RhdGUgaW4gRXRjZCBmb3IgZGlzdHJpYnV0ZWQgYXBwbGljYXRpb25zLlxuICogLSBSZXRyaWV2aW5nIGFuZCBtYW5hZ2luZyBrZXktdmFsdWUgcGFpcnMgaW4gRXRjZCBmb3Igc2VydmljZSBkaXNjb3ZlcnksIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudCwgb3IgY29vcmRpbmF0aW9uIHRhc2tzLlxuICogLSBJbnRlZ3JhdGluZyB3aXRoIG90aGVyIG1vZHVsZXMgdGhhdCByZXF1aXJlIGEgY29uc2lzdGVudCBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggRXRjZCBhcyBhIGJhY2tlbmQgc3RvcmUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9ldGNkXCI7XG4gKiBcbiAqIGNvbnN0IGV0Y2RDbGllbnQgPSBuZXcgQ2xpZW50KCk7XG4gKiBcbiAqIC8vIFB1dCBhIHN0cmluZyB2YWx1ZSB0byBhIGtleVxuICogZXRjZENsaWVudC5wdXRTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIsIFwiTXlBcHBcIik7XG4gKiBcbiAqIC8vIEdldCB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5XG4gKiBjb25zdCBhcHBOYW1lID0gZXRjZENsaWVudC5nZXRLdnNTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogY29uc29sZS5sb2coYXBwTmFtZSk7IC8vIE91dHB1dDogeyBcImNvbmZpZy9hcHBOYW1lXCI6IFwiTXlBcHBcIiB9XG4gKiBcbiAqIC8vIERlbGV0ZSBhIGtleVxuICogZXRjZENsaWVudC5kZWxldGUoXCJjb25maWcvYXBwTmFtZVwiKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IEV0Y2RGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuZXRjZC5FdGNkRmFjYWRlXCIpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVRJTElUWSBGVU5DVElPTlNcbi8vIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGUgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKYXZhU2NyaXB0L1R5cGVTY3JpcHQgdHlwZXMgKHN0cmluZywgSW50OEFycmF5KVxuLy8gYW5kIHRoZSBuYXRpdmUgSmF2YS9FdGNkIHR5cGVzIChCeXRlU2VxdWVuY2UsIG5hdGl2ZSBieXRlIGFycmF5cykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBTdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuc3RyaW5nVG9CeXRlU2VxdWVuY2Uoc3RyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEphdmFTY3JpcHQgSW50OEFycmF5IChieXRlIGFycmF5KSB0byBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcGFyYW0gYXJyIFRoZSBJbnQ4QXJyYXkgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdCAoSmF2YSB0eXBlKS5cbiAqL1xuZnVuY3Rpb24gQnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyOiBJbnQ4QXJyYXkpOiBhbnkge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKGFycik7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0IGJhY2sgdG8gYSBzdHJpbmcuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGRlY29kZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBCeXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5ieXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgSmF2YSBhcnJheSBvZiBieXRlcyBpbnRvIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGJ5dGVzLlxuICogQHJldHVybnMgQSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqL1xuZnVuY3Rpb24gQnl0ZXNUb0FycmF5KHZhbHVlOiBhbnkpOiBJbnQ4QXJyYXkge1xuICAgIGNvbnN0IGFycmF5ID0gdmFsdWUuZ2V0Qnl0ZXMoKTsgLy8gR2V0IHRoZSBuYXRpdmUgYnl0ZSBhcnJheVxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnQ4QXJyYXkoYXJyYXkubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vIENvbnZlcnNpb24gZnJvbSBKYXZhIGJ5dGUgdG8gSmF2YVNjcmlwdCBJbnQ4IHZhbHVlXG4gICAgICAgIHJlc3VsdFtpXSA9IHBhcnNlSW50KGFycmF5W2ldLCAxMCk7IFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEhlbHBlciB0byBwcm9jZXNzIGEgbGlzdCBvZiBLZXktVmFsdWUgKEtWKSBvYmplY3RzIGludG8gYSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSBrdnNMaXN0IFRoZSBuYXRpdmUgbGlzdCBvZiBLViBvYmplY3RzLlxuICogQHBhcmFtIGZ1bmMgVGhlIGNvbnZlcnNpb24gZnVuY3Rpb24gZm9yIHRoZSB2YWx1ZSAoZS5nLiwgQnl0ZVNlcXVlbmNlVG9TdHJpbmcgb3IgQnl0ZXNUb0FycmF5KS5cbiAqIEByZXR1cm5zIEEgc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgbWFwcGluZyBzdHJpbmcga2V5cyB0byBzcGVjaWZpZWQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdDxUPihrdnNMaXN0OiBhbnlbXSwgZnVuYzogKHZhbHVlOiBhbnkpID0+IFQpOiB7IFtrZXk6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3Qga3ZPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogVCB9ID0ge307XG4gICAga3ZzTGlzdC5mb3JFYWNoKChrdnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKGt2cy5nZXRLZXkoKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBUID0gZnVuYyhrdnMuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGt2T2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBrdk9iamVjdDtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdFN0cmluZyhrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlU2VxdWVuY2VUb1N0cmluZyk7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIG5hdGl2ZSBLVlMgbGlzdCB0byBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggSW50OEFycmF5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkoa3ZzTGlzdDogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICByZXR1cm4gS2V5VmFsdWVPYmplY3Qoa3ZzTGlzdCwgQnl0ZXNUb0FycmF5KTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgUkVTUE9OU0UgQ0xBU1NFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBoZWFkZXIgbWV0YWRhdGEgb2YgYW4gRXRjZCByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xuICAgIH1cblxuICAgIC8qKiBUaGUgcmV2aXNpb24gb2YgdGhlIGtleS12YWx1ZSBzdG9yZSB3aGVuIHRoZSByZXF1ZXN0IHdhcyBwcm9jZXNzZWQuICovXG4gICAgcHVibGljIGdldFJldmlzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSZXZpc2lvbigpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgSUQgb2YgdGhlIGNsdXN0ZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIHNlbnQgdG8uICovXG4gICAgcHVibGljIGdldENsdXN0ZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q2x1c3RlcklkKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgbWVtYmVyIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBoYW5kbGVkIGJ5LiAqL1xuICAgIHB1YmxpYyBnZXRNZW1iZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TWVtYmVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIFJhZnQgdGVybS4gKi9cbiAgICBwdWJsaWMgZ2V0UmFmdFRlcm0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJhZnRUZXJtKCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHJlc3BvbnNlIG9iamVjdCBmb3IgYSBHZXQgb3BlcmF0aW9uIGZyb20gRXRjZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdldFJlc3BvbnNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIGNvbnRhaW5pbmcgY2x1c3RlciBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKCk6IEhlYWRlciB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUhlYWRlciA9IHRoaXMubmF0aXZlLmdldEhlYWRlcigpO1xuICAgICAgICByZXR1cm4gbmV3IEhlYWRlcihuYXRpdmVIZWFkZXIpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gc3RyaW5ncy4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RTdHJpbmcodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gSW50OEFycmF5IChieXRlIGFycmF5cykuICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheSgpOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICAgICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0Qnl0ZUFycmF5KHRoaXMubmF0aXZlLmdldEt2cygpKTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSBudW1iZXIgb2YgS2V5LVZhbHVlIHBhaXJzIHJldHVybmVkLiAqL1xuICAgIHB1YmxpYyBnZXRDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q291bnQoKTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgQ0xJRU5UIEZBQ0FERVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGllbnQgZmFjYWRlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gRXRjZEZhY2FkZS5nZXRDbGllbnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIGJsb2NraW5nIEdFVCByZXF1ZXN0IG9uIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIEdldFJlc3BvbnNlIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldChrZXk6IHN0cmluZyk6IEdldFJlc3BvbnNlIHtcbiAgICAgICAgLy8gRXRjZCBjbGllbnQgcmV0dXJucyBhIENvbXBsZXRhYmxlRnV0dXJlIHdoaWNoIGlzIGJsb2NrZWQgaGVyZSB1c2luZyAuZ2V0KClcbiAgICAgICAgY29uc3QgZXRjZENvbXBsZXRhYmxlRnV0dXJlID0gdGhpcy5uYXRpdmUuZ2V0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgICAgICBjb25zdCBuYXRpdmVSZXNwb25zZSA9IGV0Y2RDb21wbGV0YWJsZUZ1dHVyZS5nZXQoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBHZXRSZXNwb25zZShuYXRpdmVSZXNwb25zZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIHN0cmluZyB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gd3JpdGUgdG8uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dFN0cmluZ1ZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBTdHJpbmdUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1dHMgKHdyaXRlcykgYSBieXRlIGFycmF5IHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIEludDhBcnJheSAoYnl0ZSBhcnJheSkgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dEJ5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogSW50OEFycmF5KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIG1ldGFkYXRhIGZvciBhIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIHtAbGluayBIZWFkZXJ9IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogSGVhZGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0SGVhZGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIHN0cmluZyB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c1N0cmluZ1ZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c1N0cmluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIGFzIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IG1hcHBpbmcga2V5cyB0byBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRLdnNCeXRlQXJyYXlWYWx1ZShrZXk6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRLdnNCeXRlQXJyYXkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGNvdW50IG9mIEtleS1WYWx1ZSBwYWlycyBtYXRjaGluZyB0aGUga2V5IChvciBrZXkgcHJlZml4KS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBtYXRjaGluZyBlbnRyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb3VudChrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldENvdW50KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gZGVsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUuZGVsZXRlKFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgIH1cbn1cblxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFxQ0EsTUFBTSxhQUFhLEtBQUssS0FBSyxzREFBc0Q7QUFhbkYsU0FBUyxxQkFBcUIsS0FBa0I7QUFDNUMsU0FBTyxXQUFXLHFCQUFxQixHQUFHO0FBQzlDO0FB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
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKlxuICogIyMjIEF2YWlsYWJpbGl0eVxuICogVGhlIGV0Y2QgY2xpZW50IGxpYnJhcnkgKGpldGNkKSBpcyBhbiBhZGQtb24gdGhhdCB0aGUgZGVmYXVsdCBidW5kbGUgZG9lcyBub3Qgc2hpcDogdGhlIGFwcGxpY2F0aW9uIGFkZHNcbiAqIGBvcmcuZWNsaXBzZS5kaXJpZ2libGU6ZGlyaWdpYmxlLWNvbXBvbmVudHMtYXBpLWV0Y2QtY2xpZW50YCAoYDx0eXBlPnBvbTwvdHlwZT5gKS4gV2l0aG91dCBpdCwgZXZlcnkgY2FsbFxuICogdGhyb3dzIGBFdGNkTm90QXZhaWxhYmxlRXhjZXB0aW9uYCBuYW1pbmcgdGhhdCBhcnRpZmFjdC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBTdG9yaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBvciBhcHBsaWNhdGlvbiBzdGF0ZSBpbiBFdGNkIGZvciBkaXN0cmlidXRlZCBhcHBsaWNhdGlvbnMuXG4gKiAtIFJldHJpZXZpbmcgYW5kIG1hbmFnaW5nIGtleS12YWx1ZSBwYWlycyBpbiBFdGNkIGZvciBzZXJ2aWNlIGRpc2NvdmVyeSwgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LCBvciBjb29yZGluYXRpb24gdGFza3MuXG4gKiAtIEludGVncmF0aW5nIHdpdGggb3RoZXIgbW9kdWxlcyB0aGF0IHJlcXVpcmUgYSBjb25zaXN0ZW50IGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBFdGNkIGFzIGEgYmFja2VuZCBzdG9yZS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2V0Y2RcIjtcbiAqIFxuICogY29uc3QgZXRjZENsaWVudCA9IG5ldyBDbGllbnQoKTtcbiAqIFxuICogLy8gUHV0IGEgc3RyaW5nIHZhbHVlIHRvIGEga2V5XG4gKiBldGNkQ2xpZW50LnB1dFN0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIiwgXCJNeUFwcFwiKTtcbiAqIFxuICogLy8gR2V0IHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBrZXlcbiAqIGNvbnN0IGFwcE5hbWUgPSBldGNkQ2xpZW50LmdldEt2c1N0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIik7XG4gKiBjb25zb2xlLmxvZyhhcHBOYW1lKTsgLy8gT3V0cHV0OiB7IFwiY29uZmlnL2FwcE5hbWVcIjogXCJNeUFwcFwiIH1cbiAqIFxuICogLy8gRGVsZXRlIGEga2V5XG4gKiBldGNkQ2xpZW50LmRlbGV0ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogYGBgXG4gKi9cblxuY29uc3QgRXRjZEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5ldGNkLkV0Y2RGYWNhZGVcIik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVVElMSVRZIEZVTkNUSU9OU1xuLy8gVGhlc2UgZnVuY3Rpb25zIGhhbmRsZSB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIEphdmFTY3JpcHQvVHlwZVNjcmlwdCB0eXBlcyAoc3RyaW5nLCBJbnQ4QXJyYXkpXG4vLyBhbmQgdGhlIG5hdGl2ZSBKYXZhL0V0Y2QgdHlwZXMgKEJ5dGVTZXF1ZW5jZSwgbmF0aXZlIGJ5dGUgYXJyYXlzKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHBhcmFtIHN0ciBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgKEphdmEgdHlwZSkuXG4gKi9cbmZ1bmN0aW9uIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHN0cjogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5zdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHIpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXkpIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBhcnIgVGhlIEludDhBcnJheSB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZShhcnI6IEludDhBcnJheSk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuYnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QgYmFjayB0byBhIHN0cmluZy5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBKYXZhIGFycmF5IG9mIGJ5dGVzIGludG8gYSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgY29udGFpbmluZyB0aGUgYnl0ZXMuXG4gKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgSW50OEFycmF5LlxuICovXG5mdW5jdGlvbiBCeXRlc1RvQXJyYXkodmFsdWU6IGFueSk6IEludDhBcnJheSB7XG4gICAgY29uc3QgYXJyYXkgPSB2YWx1ZS5nZXRCeXRlcygpOyAvLyBHZXQgdGhlIG5hdGl2ZSBieXRlIGFycmF5XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludDhBcnJheShhcnJheS5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gQ29udmVyc2lvbiBmcm9tIEphdmEgYnl0ZSB0byBKYXZhU2NyaXB0IEludDggdmFsdWVcbiAgICAgICAgcmVzdWx0W2ldID0gcGFyc2VJbnQoYXJyYXlbaV0sIDEwKTsgXG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogSGVscGVyIHRvIHByb2Nlc3MgYSBsaXN0IG9mIEtleS1WYWx1ZSAoS1YpIG9iamVjdHMgaW50byBhIHN0YW5kYXJkIEphdmFTY3JpcHQgb2JqZWN0LlxuICogQHBhcmFtIGt2c0xpc3QgVGhlIG5hdGl2ZSBsaXN0IG9mIEtWIG9iamVjdHMuXG4gKiBAcGFyYW0gZnVuYyBUaGUgY29udmVyc2lvbiBmdW5jdGlvbiBmb3IgdGhlIHZhbHVlIChlLmcuLCBCeXRlU2VxdWVuY2VUb1N0cmluZyBvciBCeXRlc1RvQXJyYXkpLlxuICogQHJldHVybnMgQSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCBtYXBwaW5nIHN0cmluZyBrZXlzIHRvIHNwZWNpZmllZCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0PFQ+KGt2c0xpc3Q6IGFueVtdLCBmdW5jOiAodmFsdWU6IGFueSkgPT4gVCk6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgICBjb25zdCBrdk9iamVjdDogeyBba2V5OiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBrdnNMaXN0LmZvckVhY2goKGt2czogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleTogc3RyaW5nID0gQnl0ZVNlcXVlbmNlVG9TdHJpbmcoa3ZzLmdldEtleSgpKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBmdW5jKGt2cy5nZXRWYWx1ZSgpKTtcbiAgICAgICAga3ZPYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGt2T2JqZWN0O1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBuYXRpdmUgS1ZTIGxpc3QgdG8gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0U3RyaW5nKGt2c0xpc3Q6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0KGt2c0xpc3QsIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKTtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdEJ5dGVBcnJheShrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlc1RvQXJyYXkpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBSRVNQT05TRSBDTEFTU0VTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGhlYWRlciBtZXRhZGF0YSBvZiBhbiBFdGNkIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY2xhc3MgSGVhZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFRoZSByZXZpc2lvbiBvZiB0aGUga2V5LXZhbHVlIHN0b3JlIHdoZW4gdGhlIHJlcXVlc3Qgd2FzIHByb2Nlc3NlZC4gKi9cbiAgICBwdWJsaWMgZ2V0UmV2aXNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJldmlzaW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgY2x1c3RlciB3aGljaCB0aGUgcmVxdWVzdCB3YXMgc2VudCB0by4gKi9cbiAgICBwdWJsaWMgZ2V0Q2x1c3RlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDbHVzdGVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIElEIG9mIHRoZSBtZW1iZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkuICovXG4gICAgcHVibGljIGdldE1lbWJlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNZW1iZXJJZCgpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgUmFmdCB0ZXJtLiAqL1xuICAgIHB1YmxpYyBnZXRSYWZ0VGVybSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UmFmdFRlcm0oKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcmVzcG9uc2Ugb2JqZWN0IGZvciBhIEdldCBvcGVyYXRpb24gZnJvbSBFdGNkLlxuICovXG5leHBvcnQgY2xhc3MgR2V0UmVzcG9uc2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgY29udGFpbmluZyBjbHVzdGVyIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoKTogSGVhZGVyIHtcbiAgICAgICAgY29uc3QgbmF0aXZlSGVhZGVyID0gdGhpcy5uYXRpdmUuZ2V0SGVhZGVyKCk7XG4gICAgICAgIHJldHVybiBuZXcgSGVhZGVyKG5hdGl2ZUhlYWRlcik7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBzdHJpbmdzLiAqL1xuICAgIHB1YmxpYyBnZXRLdnNTdHJpbmcoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdFN0cmluZyh0aGlzLm5hdGl2ZS5nZXRLdnMoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXlzKS4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzQnl0ZUFycmF5KCk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIG51bWJlciBvZiBLZXktVmFsdWUgcGFpcnMgcmV0dXJuZWQuICovXG4gICAgcHVibGljIGdldENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb3VudCgpO1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBDTElFTlQgRkFDQURFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENsaWVudCBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEV0Y2Qga2V5LXZhbHVlIHN0b3JlLlxuICovXG5leHBvcnQgY2xhc3MgQ2xpZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBFdGNkRmFjYWRlLmdldENsaWVudCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgYmxvY2tpbmcgR0VUIHJlcXVlc3Qgb24gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHJldHJpZXZlLlxuICAgICAqIEByZXR1cm5zIFRoZSBwcm9jZXNzZWQgR2V0UmVzcG9uc2Ugb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0KGtleTogc3RyaW5nKTogR2V0UmVzcG9uc2Uge1xuICAgICAgICAvLyBFdGNkIGNsaWVudCByZXR1cm5zIGEgQ29tcGxldGFibGVGdXR1cmUgd2hpY2ggaXMgYmxvY2tlZCBoZXJlIHVzaW5nIC5nZXQoKVxuICAgICAgICBjb25zdCBldGNkQ29tcGxldGFibGVGdXR1cmUgPSB0aGlzLm5hdGl2ZS5nZXQoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVJlc3BvbnNlID0gZXRjZENvbXBsZXRhYmxlRnV0dXJlLmdldCgpO1xuICAgICAgICByZXR1cm4gbmV3IEdldFJlc3BvbnNlKG5hdGl2ZVJlc3BvbnNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdXRzICh3cml0ZXMpIGEgc3RyaW5nIHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0U3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIGJ5dGUgYXJyYXkgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHdyaXRlIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgSW50OEFycmF5IChieXRlIGFycmF5KSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0Qnl0ZUFycmF5VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBJbnQ4QXJyYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIEJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgbWV0YWRhdGEgZm9yIGEga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBUaGUge0BsaW5rIEhlYWRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBIZWFkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRIZWFkZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyBhcyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCBtYXBwaW5nIGtleXMgdG8gc3RyaW5nIHZhbHVlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0S3ZzU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBJbnQ4QXJyYXkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c0J5dGVBcnJheSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY291bnQgb2YgS2V5LVZhbHVlIHBhaXJzIG1hdGNoaW5nIHRoZSBrZXkgKG9yIGtleSBwcmVmaXgpLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldENvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0Q291bnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBkZWxldGUuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZS5kZWxldGUoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICJBQTBDQSxNQUFNLGFBQWEsS0FBSyxLQUFLLHNEQUFzRDtBQWFuRixTQUFTLHFCQUFxQixLQUFrQjtBQUM1QyxTQUFPLFdBQVcscUJBQXFCLEdBQUc7QUFDOUM7QUFPQSxTQUFTLHdCQUF3QixLQUFxQjtBQUNsRCxTQUFPLFdBQVcsd0JBQXdCLEdBQUc7QUFDakQ7QUFPQSxTQUFTLHFCQUFxQixPQUFvQjtBQUM5QyxTQUFPLFdBQVcscUJBQXFCLEtBQUs7QUFDaEQ7QUFPQSxTQUFTLGFBQWEsT0FBdUI7QUFDekMsUUFBTSxRQUFRLE1BQU0sU0FBUztBQUM3QixRQUFNLFNBQVMsSUFBSSxVQUFVLE1BQU0sTUFBTTtBQUN6QyxXQUFTLElBQUksR0FBRyxJQUFJLE1BQU0sUUFBUSxLQUFLO0FBRW5DLFdBQU8sQ0FBQyxJQUFJLFNBQVMsTUFBTSxDQUFDLEdBQUcsRUFBRTtBQUFBLEVBQ3JDO0FBQ0EsU0FBTztBQUNYO0FBUUEsU0FBUyxlQUFrQixTQUFnQixNQUErQztBQUN0RixRQUFNLFdBQWlDLENBQUM7QUFDeEMsVUFBUSxRQUFRLENBQUMsUUFBYTtBQUMxQixVQUFNLE1BQWMscUJBQXFCLElBQUksT0FBTyxDQUFDO0FBQ3JELFVBQU0sUUFBVyxLQUFLLElBQUksU0FBUyxDQUFDO0FBQ3BDLGFBQVMsR0FBRyxJQUFJO0FBQUEsRUFDcEIsQ0FBQztBQUVELFNBQU87QUFDWDtBQUtBLFNBQVMscUJBQXFCLFNBQTJDO0FBQ3JFLFNBQU8sZUFBZSxTQUFTLG9CQUFvQjtBQUN2RDtBQUtBLFNBQVMsd0JBQXdCLFNBQThDO0FBQzNFLFNBQU8sZUFBZSxTQUFTLFlBQVk7QUFDL0M7QUFTTyxNQUFNLE9BQU87QUFBQSxFQUNDO0FBQUEsRUFFakIsWUFBWSxRQUFhO0FBQ3JCLFNBQUssU0FBUztBQUFBLEVBQ2xCO0FBQUE7QUFBQSxFQUdPLGNBQXNCO0FBQ3pCLFdBQU8sS0FBSyxPQUFPLFlBQVk7QUFBQSxFQUNuQztBQUFBO0FBQUEsRUFHTyxlQUF1QjtBQUMxQixXQUFPLEtBQUssT0FBTyxhQUFhO0FBQUEsRUFDcEM7QUFBQTtBQUFBLEVBR08sY0FBc0I7QUFDekIsV0FBTyxLQUFLLE9BQU8sWUFBWTtBQUFBLEVBQ25DO0FBQUE7QUFBQSxFQUdPLGNBQXNCO0FBQ3pCLFdBQU8sS0FBSyxPQUFPLFlBQVk7QUFBQSxFQUNuQztBQUNKO0FBS08sTUFBTSxZQUFZO0FBQUEsRUFDSjtBQUFBLEVBRWpCLFlBQVksUUFBYTtBQUNyQixTQUFLLFNBQVM7QUFBQSxFQUNsQjtBQUFBO0FBQUEsRUFHTyxZQUFvQjtBQUN2QixVQUFNLGVBQWUsS0FBSyxPQUFPLFVBQVU7QUFDM0MsV0FBTyxJQUFJLE9BQU8sWUFBWTtBQUFBLEVBQ2xDO0FBQUE7QUFBQSxFQUdPLGVBQTBDO0FBQzdDLFdBQU8scUJBQXFCLEtBQUssT0FBTyxPQUFPLENBQUM7QUFBQSxFQUNwRDtBQUFBO0FBQUEsRUFHTyxrQkFBZ0Q7QUFDbkQsV0FBTyx3QkFBd0IsS0FBSyxPQUFPLE9BQU8sQ0FBQztBQUFBLEVBQ3ZEO0FBQUE7QUFBQSxFQUdPLFdBQW1CO0FBQ3RCLFdBQU8sS0FBSyxPQUFPLFNBQVM7QUFBQSxFQUNoQztBQUNKO0FBVU8sTUFBTSxPQUFPO0FBQUEsRUFFQztBQUFBLEVBRWpCLGNBQWM7QUFDVixTQUFLLFNBQVMsV0FBVyxVQUFVO0FBQUEsRUFDdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPUSxJQUFJLEtBQTBCO0FBRWxDLFVBQU0sd0JBQXdCLEtBQUssT0FBTyxJQUFJLHFCQUFxQixHQUFHLENBQUM7QUFDdkUsVUFBTSxpQkFBaUIsc0JBQXNCLElBQUk7QUFDakQsV0FBTyxJQUFJLFlBQVksY0FBYztBQUFBLEVBQ3pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sZUFBZSxLQUFhLE9BQXFCO0FBQ3BELFNBQUssT0FBTyxJQUFJLHFCQUFxQixHQUFHLEdBQUcscUJBQXFCLEtBQUssQ0FBQztBQUFBLEVBQzFFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sa0JBQWtCLEtBQWEsT0FBd0I7QUFDMUQsU0FBSyxPQUFPLElBQUkscUJBQXFCLEdBQUcsR0FBRyx3QkFBd0IsS0FBSyxDQUFDO0FBQUEsRUFDN0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxVQUFVLEtBQXFCO0FBQ2xDLFdBQU8sS0FBSyxJQUFJLEdBQUcsRUFBRSxVQUFVO0FBQUEsRUFDbkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxrQkFBa0IsS0FBd0M7QUFDN0QsV0FBTyxLQUFLLElBQUksR0FBRyxFQUFFLGFBQWE7QUFBQSxFQUN0QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLHFCQUFxQixLQUEyQztBQUNuRSxXQUFPLEtBQUssSUFBSSxHQUFHLEVBQUUsZ0JBQWdCO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxTQUFTLEtBQXFCO0FBQ2pDLFdBQU8sS0FBSyxJQUFJLEdBQUcsRUFBRSxTQUFTO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sT0FBTyxLQUFtQjtBQUM3QixTQUFLLE9BQU8sT0FBTyxxQkFBcUIsR0FBRyxDQUFDO0FBQUEsRUFDaEQ7QUFDSjtBQUlBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -161,7 +161,7 @@ function createHttpResponseCallback(httpClient2, successCallback, errorCallback,
|
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
163
|
function createSuccessCallback(callback) {
|
|
164
|
-
return "(function(httpResponse, isBinary, context) {\nvar response = {};\nresponse.statusCode = httpResponse.
|
|
164
|
+
return "(function(httpResponse, isBinary, context) {\nvar response = {};\nresponse.statusCode = httpResponse.getCode();\nresponse.statusMessage = httpResponse.getReasonPhrase();\nresponse.protocol = httpResponse.getVersion();\nresponse.binary = isBinary;\nvar headers = httpResponse.getHeaders();\nresponse.headers = [];\nfor (var i = 0; i < headers.length; i ++) {\n response.headers.push({\n name: headers[i].getName(),\n value: headers[i].getValue()\n });\n}\nif (isBinary) {\n response.data = httpResponse.getBodyBytes();\n} else {\n response.text = httpResponse.getBodyText();\n}\n(" + callback + ")(response, JSON.parse(context));\n})(__context.get('response'), __context.get('httpClientRequestOptions').isBinary(), __context.get('httpClientRequestOptions').getContext());\n";
|
|
165
165
|
}
|
|
166
166
|
function createErrorCallback(callback) {
|
|
167
167
|
if (callback) {
|
|
@@ -202,4 +202,4 @@ export {
|
|
|
202
202
|
HttpAsyncClient,
|
|
203
203
|
getInstance
|
|
204
204
|
};
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvY2xpZW50LWFzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgaHR0cC9jbGllbnQtYXN5bmNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9odHRwXG4gKiBAbmFtZSBIdHRwQXN5bmNDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSHR0cEFzeW5jQ2xpZW50IGNsYXNzIHByb3ZpZGVzIGEgSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHdyYXBwZXIgKEZhY2FkZSkgZm9yIG1ha2luZyBhc3luY2hyb25vdXMgSFRUUCByZXF1ZXN0cyB1c2luZyB0aGUgdW5kZXJseWluZyBKYXZhIEhUVFAgY2xpZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwZXJmb3JtIG5vbi1ibG9ja2luZyBIVFRQIG9wZXJhdGlvbnMgYnkgZGVmaW5pbmcgc3VjY2VzcywgZXJyb3IsIGFuZCBjYW5jZWwgY2FsbGJhY2tzIGFzIHN0cmluZ3Mgb2YgZXhlY3V0YWJsZSBKYXZhU2NyaXB0IGNvZGUuIFRoZSBjbGFzcyBzdXBwb3J0cyBhbGwgc3RhbmRhcmQgSFRUUCBtZXRob2RzIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSwgSEVBRCwgVFJBQ0UpIGFuZCBhY2NlcHRzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcmVxdWVzdCBvcHRpb25zIHRoYXQgbWlycm9yIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIEphdmEgY2xpZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkFzeW5jaHJvbm91cyBFeGVjdXRpb24qKjogQWxsIEhUVFAgbWV0aG9kcyByZXR1cm4gaW1tZWRpYXRlbHksIHdpdGggY2FsbGJhY2tzIGV4ZWN1dGVkIHVwb24gY29tcGxldGlvbi5cbiAqIC0gKipDb21wcmVoZW5zaXZlIFJlcXVlc3QgT3B0aW9ucyoqOiBTdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmaW5lLXR1bmluZyBIVFRQIHJlcXVlc3RzLlxuICogLSAqKkNhbGxiYWNrIEZsZXhpYmlsaXR5Kio6IENhbGxiYWNrcyBhcmUgZGVmaW5lZCBhcyBzdHJpbmdzIG9mIEphdmFTY3JpcHQgY29kZSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZXhlY3V0aW9uIGluIHRoZSBKVk0gZW52aXJvbm1lbnQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTm9uLWJsb2NraW5nIEFQSSBDYWxscyoqOiBJZGVhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIHlvdSB3YW50IHRvIHBlcmZvcm0gSFRUUCByZXF1ZXN0cyB3aXRob3V0IGJsb2NraW5nIHRoZSBtYWluIGV4ZWN1dGlvbiB0aHJlYWQuXG4gKiAtICoqQ29tcGxleCBSZXF1ZXN0IENvbmZpZ3VyYXRpb25zKio6IFN1aXRhYmxlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMgdGhhdCByZXF1aXJlIGRldGFpbGVkIHJlcXVlc3QgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBIdHRwQXN5bmNDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2h0dHBcIjtcbiAqIFxuICogY29uc3QgY2xpZW50ID0gSHR0cEFzeW5jQ2xpZW50LmdldEluc3RhbmNlKCk7XG4gKiBcbiAqIGNsaWVudC5nZXRBc3luYyhcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGFcIiwge1xuICogICBzdWNjZXNzOiBcImZ1bmN0aW9uKHJlc3BvbnNlKSB7IGNvbnNvbGUubG9nKCdTdWNjZXNzOicsIHJlc3BvbnNlKTsgfVwiLFxuICogICBlcnJvcjogXCJmdW5jdGlvbihlcnJvcikgeyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7IH1cIlxuICogfSwge1xuICogICBoZWFkZXJzOiBbeyBuYW1lOiAnQXV0aG9yaXphdGlvbicsIHZhbHVlOiAnQmVhcmVyIHRva2VuJyB9XSxcbiAqICAgcGFyYW1zOiBbeyBuYW1lOiAncXVlcnknLCB2YWx1ZTogJ3NlYXJjaCB0ZXJtJyB9XVxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG4vLyAtLS0gU2hhcmVkIEludGVyZmFjZXMgKGZvciBkb2N1bWVudGF0aW9uIGNsYXJpdHkpIC0tLVxuXG4vKiogRGVmaW5lcyBhIHNpbmdsZSBIVFRQIGhlYWRlciwgdXNlZCBmb3IgYm90aCByZXF1ZXN0IGFuZCByZXNwb25zZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudEhlYWRlciB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgKGUuZy4sICdDb250ZW50LVR5cGUnLCAnQXV0aG9yaXphdGlvbicpLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIuICovXG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIERlZmluZXMgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBVUkwuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRQYXJhbSB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVyIChlLmcuLCAnaWQnKS4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgVVJMIHF1ZXJ5IHBhcmFtZXRlci4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogRGVmaW5lcyBhIGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBtdWx0aS1wYXJ0IGZvcm0gZGF0YSByZXF1ZXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2xpZW50RmlsZSB7XG4gICAgLyoqIFRoZSBmb3JtIGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZpbGUgcGF0aCBvciBjb250ZW50LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdCwgbWlycm9yaW5nIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIHVuZGVybHlpbmcgSmF2YSBjbGllbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgZXhwZWN0Q29udGludWVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm94eUhvc3Q/OiBzdHJpbmc7XG4gICAgcHJveHlQb3J0PzogbnVtYmVyO1xuICAgIGNvb2tpZVNwZWM/OiBzdHJpbmc7XG4gICAgcmVkaXJlY3RzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVsYXRpdmVSZWRpcmVjdHNBbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjaXJjdWxhclJlZGlyZWN0c0FsbG93ZWQ/OiBib29sZWFuO1xuICAgIG1heFJlZGlyZWN0cz86IG51bWJlcjtcbiAgICBhdXRoZW50aWNhdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRhcmdldFByZWZlcnJlZEF1dGhTY2hlbWVzPzogc3RyaW5nW107XG4gICAgcHJveHlQcmVmZXJyZWRBdXRoU2NoZW1lcz86IHN0cmluZ1tdO1xuICAgIGNvbm5lY3Rpb25SZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgICBjb25uZWN0VGltZW91dD86IG51bWJlcjtcbiAgICBzb2NrZXRUaW1lb3V0PzogbnVtYmVyO1xuICAgIGNvbnRlbnRDb21wcmVzc2lvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNzbFRydXN0QWxsRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueVtdO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBIdHRwQ2xpZW50RmlsZVtdO1xuICAgIGNoYXJhY3RlckVuY29kaW5nPzogc3RyaW5nO1xuICAgIGNoYXJhY3RlckVuY29kaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEh0dHBDbGllbnRIZWFkZXJbXTtcbiAgICBwYXJhbXM/OiBIdHRwQ2xpZW50UGFyYW1bXTtcbiAgICBiaW5hcnk/OiBib29sZWFuO1xuICAgIGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKiogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgdGhlIEh0dHBDbGllbnQgbWV0aG9kcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudFJlc3BvbnNlIHtcbiAgICAvKiogVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDIwMCwgNDA0LCA1MDApLiAqL1xuICAgIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXR1cyBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKGUuZy4sICdPSycsICdOb3QgRm91bmQnKS4gKi9cbiAgICBzdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhbiBhcnJheSBvZiBieXRlcyAoaWYgcmVxdWVzdGVkIGFzIGJpbmFyeSkuICovXG4gICAgZGF0YTogYW55W107XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhIGRlY29kZWQgc3RyaW5nLiAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogVGhlIHByb3RvY29sIHVzZWQgKGUuZy4sICdIVFRQLzEuMScpLiAqL1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgcmVzcG9uc2Ugd2FzIHByb2Nlc3NlZCBhcyBiaW5hcnkgZGF0YS4gKi9cbiAgICBiaW5hcnk6IGJvb2xlYW47XG4gICAgLyoqIEFycmF5IG9mIGFsbCBoZWFkZXJzIHJlY2VpdmVkIGluIHRoZSByZXNwb25zZS4gKi9cbiAgICBoZWFkZXJzOiBIdHRwQ2xpZW50SGVhZGVyW11cbn1cblxuLy8gLS0tIEFzeW5jaHJvbm91cyBDbGllbnQgSW50ZXJmYWNlcyAtLS1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0cy5cbiAqIE5vdGU6IENhbGxiYWNrcyBhcmUgcHJvdmlkZWQgYXMgc3RyaW5ncyBjb250YWluaW5nIGV4ZWN1dGFibGUgSmF2YVNjcmlwdCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRBc3luY0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogTWFuZGF0b3J5IHN1Y2Nlc3MgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKHJlc3BvbnNlOiBIdHRwQ2xpZW50UmVzcG9uc2UsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHZvaWRgXG4gICAgICovXG4gICAgc3VjY2Vzczogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIGVycm9yIGNhbGxiYWNrIGFzIGEgKipzdHJpbmcgb2YgSmF2YVNjcmlwdCBjb2RlKiouXG4gICAgICogSXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIHNpZ25hdHVyZTogYChleGNlcHRpb246IGFueSkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBlcnJvcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjYW5jZWwgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKCkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBjYW5jZWw/OiBzdHJpbmc7XG59XG5cblxuLy8gLS0tIEphdmEgVHlwZSBJbXBvcnRzIChDcnVjaWFsIGZvciBKVk0gaW50ZWdyYXRpb24pIC0tLVxuXG4vKiogSW1wb3J0cyB0aGUgbmF0aXZlIEphdmEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGFzeW5jaHJvbm91cyBIVFRQIGV4ZWN1dGlvbi4gKi9cbmNvbnN0IEh0dHBDbGllbnRBc3luY0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBDbGllbnRBc3luY0ZhY2FkZVwiKTtcblxuLyoqIEltcG9ydHMgdGhlIG5hdGl2ZSBKYXZhIGNsYXNzIGZvciByZXRyaWV2aW5nIFNwcmluZy1tYW5hZ2VkIGJlYW5zLiAqL1xuY29uc3QgU3ByaW5nQmVhblByb3ZpZGVyID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuc3ByaW5nLlNwcmluZ0JlYW5Qcm92aWRlclwiKTtcblxuLyoqIFJldHJpZXZlcyB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgZnJvbSB0aGUgU3ByaW5nIGNvbnRleHQuICovXG5jb25zdCBodHRwQ2xpZW50ID0gU3ByaW5nQmVhblByb3ZpZGVyLmdldEJlYW4oSHR0cENsaWVudEFzeW5jRmFjYWRlLmNsYXNzKTtcblxuXG4vKipcbiAqIFRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgY2xhc3MuIEFsbCByZXF1ZXN0IG1ldGhvZHMgcmV0dXJuIGltbWVkaWF0ZWx5XG4gKiBhbmQgZXhlY3V0ZSBjYWxsYmFja3MgdXBvbiBjb21wbGV0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jQ2xpZW50IHtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEdFVCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKGUuZy4sIGhlYWRlcnMsIGJvZHksIHBhcmFtcykuXG4gICAgICovXG5cdGdldEFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmdldEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5nZXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIFBPU1QgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwb3N0QXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucG9zdEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5wb3N0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQVVQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwdXRBc3luYyh1cmw6IHN0cmluZywgY29uZmlnOiBIdHRwQ2xpZW50QXN5bmNDb25maWcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdVcmwgPSBidWlsZFVybCh1cmwsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soXG5cdFx0XHRodHRwQ2xpZW50LFxuXHRcdFx0Y29uZmlnLnN1Y2Nlc3MsXG5cdFx0XHRjb25maWcuZXJyb3IsXG5cdFx0XHRjb25maWcuY2FuY2VsXG5cdFx0KTtcblx0XHRpZiAob3B0aW9ucykge1xuXHRcdFx0aHR0cENsaWVudC5wdXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucHV0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQQVRDSCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHBhdGNoQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIERFTEVURSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdGRlbGV0ZUFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmRlbGV0ZUFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5kZWxldGVBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEhFQUQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRoZWFkQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQuaGVhZEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5oZWFkQXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBUUkFDRSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHRyYWNlQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHF1ZXVlZCBhc3luY2hyb25vdXMgcmVxdWVzdHMgKGRlcGVuZGluZyBvbiB0aGUgdW5kZXJseWluZyBKYXZhIGNsaWVudCdzIHRocmVhZGluZyBtb2RlbCkuXG4gICAgICovXG5cdGV4ZWN1dGUoKTogdm9pZCB7XG5cdFx0aHR0cENsaWVudC5leGVjdXRlKCk7XG5cdH07XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byByZXRyaWV2ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXN5bmNocm9ub3VzIGNsaWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IGluc3RhbmNlIG9mIEh0dHBBc3luY0NsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlKCk6IEh0dHBBc3luY0NsaWVudCB7XG5cdHJldHVybiBuZXcgSHR0cEFzeW5jQ2xpZW50KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuYXRpdmUgSmF2YSBjYWxsYmFjayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgSmF2YVNjcmlwdCBzdWNjZXNzLCBlcnJvciwgYW5kIGNhbmNlbCBjYWxsYmFja3MuXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIHVuZGVybHlpbmcgSmF2YSBIVFRQIGNsaWVudCBpbnN0YW5jZSB0byBnZW5lcmF0ZSB0aGUgZmluYWwgY2FsbGJhY2sgb2JqZWN0LlxuICogQHBhcmFtIGh0dHBDbGllbnQgVGhlIEphdmEgSHR0cENsaWVudEFzeW5jRmFjYWRlIGluc3RhbmNlLlxuICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3Igc3VjY2Vzcy5cbiAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEpTIGNvZGUgc3RyaW5nIGZvciBlcnJvci5cbiAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3IgY2FuY2VsLlxuICogQHJldHVybnMgQSBKYXZhIGNhbGxiYWNrIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soaHR0cENsaWVudDogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IHN0cmluZywgZXJyb3JDYWxsYmFjaz86IHN0cmluZywgY2FuY2VsQ2FsbGJhY2s/OiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gaHR0cENsaWVudC5jcmVhdGVDYWxsYmFjayhcblx0XHRjcmVhdGVTdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKSxcblx0XHRjcmVhdGVFcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spLFxuXHRcdGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbmNlbENhbGxiYWNrKVxuXHQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgSlZNIGVudmlyb25tZW50IHVwb24gc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24uXG4gKiBUaGlzIHN0cmluZyBoYW5kbGVzIHBhcnNpbmcgdGhlIEphdmEgSFRUUCByZXNwb25zZSBvYmplY3QgYW5kIGV4ZWN1dGluZyB0aGUgdXNlcidzIGRlZmluZWQgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIHVzZXItcHJvdmlkZWQgc3VjY2VzcyBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV4IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgc3VjY2VzcyBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIE5vdGU6IFRoaXMgc3RyaW5nIHVzZXMgSmF2YSB1dGlsaXR5IGNsYXNzZXMgKG9yZy5hcGFjaGUuY29tbW9ucy5pby5JT1V0aWxzKSBhbmQgY29udGV4dCB2YXJpYWJsZXMgXG4gICAgLy8gKF9fY29udGV4dCkgdGhhdCBhcmUgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpYyBKVk0gZW52aXJvbm1lbnQuXG4gICAgXG4gICAgLy8gVGhlIHN0cnVjdHVyZSBtYXBzIHRoZSBKYXZhIEhUVFAgUmVzcG9uc2Ugb2JqZWN0IGludG8gdGhlIHN0YW5kYXJkIEh0dHBDbGllbnRSZXNwb25zZSBpbnRlcmZhY2UuXG5cdHJldHVybiBcIihmdW5jdGlvbihodHRwUmVzcG9uc2UsIGlzQmluYXJ5LCBjb250ZXh0KSB7XFxuXCJcblx0XHQrIFwidmFyIHJlc3BvbnNlID0ge307XFxuXCJcblx0XHQrIFwicmVzcG9uc2Uuc3RhdHVzQ29kZSA9IGh0dHBSZXNwb25zZS5nZXRTdGF0dXNMaW5lKCkuZ2V0U3RhdHVzQ29kZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnN0YXR1c01lc3NhZ2UgPSBodHRwUmVzcG9uc2UuZ2V0U3RhdHVzTGluZSgpLmdldFJlYXNvblBocmFzZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnByb3RvY29sID0gaHR0cFJlc3BvbnNlLmdldFByb3RvY29sVmVyc2lvbigpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLmJpbmFyeSA9IGlzQmluYXJ5O1xcblwiXG5cblx0XHQrIFwidmFyIGhlYWRlcnMgPSBodHRwUmVzcG9uc2UuZ2V0QWxsSGVhZGVycygpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLmhlYWRlcnMgPSBbXTtcXG5cIlxuXHRcdCsgXCJmb3IgKHZhciBpID0gMDsgaSA8IGhlYWRlcnMubGVuZ3RoOyBpICsrKSB7XFxuXCJcblx0XHQrIFwiICAgIHJlc3BvbnNlLmhlYWRlcnMucHVzaCh7XFxuXCJcblx0XHQrIFwiICAgICAgICBuYW1lOiBoZWFkZXJzW2ldLmdldE5hbWUoKSxcXG5cIlxuXHRcdCsgXCIgICAgICAgIHZhbHVlOiBoZWFkZXJzW2ldLmdldFZhbHVlKClcXG5cIlxuXHRcdCsgXCIgICAgfSk7XFxuXCJcblx0XHQrIFwifVxcblwiXG5cblx0XHQrIFwidmFyIGVudGl0eSA9IGh0dHBSZXNwb25zZS5nZXRFbnRpdHkoKTtcXG5cIlxuXHRcdCsgXCJpZiAoZW50aXR5KSB7XFxuXCJcblx0XHQrIFwiICAgIHZhciBpbnB1dFN0cmVhbSA9IGVudGl0eS5nZXRDb250ZW50KCk7XFxuXCJcblx0XHQrIFwiICAgIGlmIChpc0JpbmFyeSkge1xcblwiXG5cdFx0KyBcIiAgICAgICAgLy8gVXNlcyBKYXZhIElPVXRpbHMgdG8gcmVhZCBiaW5hcnkgZGF0YVxcblwiXG5cdFx0KyBcIiAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG9yZy5hcGFjaGUuY29tbW9ucy5pby5JT1V0aWxzLnRvQnl0ZUFycmF5KGlucHV0U3RyZWFtKTtcXG5cIlxuXHRcdCsgXCIgICAgfSBlbHNlIHtcXG5cIlxuXHRcdCsgXCIgICAgICAgIC8vIFVzZXMgSmF2YSBJT1V0aWxzIHRvIHJlYWQgdGV4dCBkYXRhXFxuXCJcblx0XHQrIFwiICAgICAgICByZXNwb25zZS50ZXh0ID0gb3JnLmFwYWNoZS5jb21tb25zLmlvLklPVXRpbHMudG9TdHJpbmcoaW5wdXRTdHJlYW0pO1xcblwiXG5cdFx0KyBcIiAgICB9XFxuXCJcblx0XHQrIFwifVxcblwiXG5cblx0XHQrIFwiKFwiICsgY2FsbGJhY2sgKyBcIikocmVzcG9uc2UsIEpTT04ucGFyc2UoY29udGV4dCkpO1xcblwiXG5cdFx0KyBcIn0pKF9fY29udGV4dC5nZXQoJ3Jlc3BvbnNlJyksIF9fY29udGV4dC5nZXQoJ2h0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucycpLmlzQmluYXJ5KCksIF9fY29udGV4dC5nZXQoJ2h0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucycpLmdldENvbnRleHQoKSk7XFxuXCI7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSByYXcgSmF2YVNjcmlwdCBzdHJpbmcgZm9yIHRoZSBlcnJvciBjYWxsYmFjay5cbiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgdXNlci1wcm92aWRlZCBlcnJvciBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGVycm9yIGhhbmRsZXIsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRXJyb3JDYWxsYmFjayhjYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChjYWxsYmFjaykge1xuXHRcdHJldHVybiBcIihcIiArIGNhbGxiYWNrICsgXCIpKF9fY29udGV4dC5nZXQoJ2V4Y2VwdGlvbicpKVwiO1xuXHR9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHJhdyBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGNhbmNlbCBjYWxsYmFjay5cbiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgdXNlci1wcm92aWRlZCBjYW5jZWwgY2FsbGJhY2sgZnVuY3Rpb24gY29kZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCBzdHJpbmcgZm9yIHRoZSBjYW5jZWwgaGFuZGxlciwgb3IgdW5kZWZpbmVkLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDYW5jZWxDYWxsYmFjayhjYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChjYWxsYmFjaykge1xuXHRcdHJldHVybiBcIihcIiArIGNhbGxiYWNrICsgXCIpKClcIjtcblx0fVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBmaW5hbCBVUkwgYnkgYXBwZW5kaW5nIGFsbCBxdWVyeSBwYXJhbWV0ZXJzIGRlZmluZWQgaW4gb3B0aW9ucy5wYXJhbXMuXG4gKiBUaGUgcGFyYW1ldGVycyBhcmUgbm90IHJlbW92ZWQgZnJvbSB0aGUgb3B0aW9ucyBvYmplY3QgYXMgdGhleSBhcmUgZm9yIHRoZSBzeW5jaHJvbm91cyBjbGllbnQsXG4gKiBzaW5jZSB0aGUgb3B0aW9ucyBhcmUgcGFzc2VkIGFzIEpTT04gc3RyaW5nIHRvIHRoZSBmYWNhZGUgYW55d2F5LlxuICogQHBhcmFtIHVybCBUaGUgYmFzZSBVUkwuXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgcmVxdWVzdCBvcHRpb25zIHdoaWNoIG1heSBjb250YWluIGBwYXJhbXNgLlxuICogQHJldHVybnMgVGhlIFVSTCB3aXRoIGFwcGVuZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkVXJsKHVybDogc3RyaW5nLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogc3RyaW5nIHtcblx0aWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMucGFyYW1zID09PSB1bmRlZmluZWQgfHwgb3B0aW9ucy5wYXJhbXMgPT09IG51bGwgfHwgb3B0aW9ucy5wYXJhbXMubGVuZ3RoID09PSAwKSB7XG5cdFx0cmV0dXJuIHVybDtcblx0fVxuXHRsZXQgbmV3VXJsID0gdXJsO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMucGFyYW1zLmxlbmd0aDsgaSArKykge1xuICAgICAgICBjb25zdCBwYXJhbSA9IG9wdGlvbnMucGFyYW1zW2ldO1xuXHRcdGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiBVUkwgYWxyZWFkeSBjb250YWlucyAnPycgYW5kIHVzZSAnJicgaWYgc28gKGltcHJvdmVzIHJvYnVzdG5lc3MpXG4gICAgICAgICAgICBpZiAobmV3VXJsLmluY2x1ZGVzKCc/JykpIHtcbiAgICAgICAgICAgICAgICBuZXdVcmwgKz0gJyYnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdVcmwgKz0gJz8nO1xuICAgICAgICAgICAgfVxuXHRcdFx0bmV3VXJsICs9IHBhcmFtLm5hbWUgKyAnPScgKyBwYXJhbS52YWx1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bmV3VXJsICs9ICcmJyArIHBhcmFtLm5hbWUgKyAnPScgKyBwYXJhbS52YWx1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG5ld1VybDtcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSB7IEh0dHBBc3luY0NsaWVudCwgZ2V0SW5zdGFuY2UgfTtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUF1SUEsTUFBTSx3QkFBd0IsS0FBSyxLQUFLLGlFQUFpRTtBQUd6RyxNQUFNLHFCQUFxQixLQUFLLEtBQUssNERBQTREO0FBR2pHLE1BQU0sYUFBYSxtQkFBbUIsUUFBUSxzQkFBc0IsS0FBSztBQU9sRSxNQUFNLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUTVCLFNBQVMsS0FBYSxRQUErQixTQUEwQztBQUM5RixVQUFNLFNBQVMsU0FBUyxLQUFLLE9BQU87QUFDcEMsVUFBTSxXQUFXO0FBQUEsTUFDaEI7QUFBQSxNQUNBLE9BQU87QUFBQSxNQUNQLE9BQU87QUFBQSxNQUNQLE9BQU87QUFBQSxJQUNSO0FBQ0EsUUFBSSxTQUFTO0FBQ1osaUJBQVcsU0FBUyxRQUFRLEtBQUssVUFBVSxPQUFPLEdBQUcsUUFBUTtBQUFBLElBQzlELE9BQU87QUFDTixpQkFBVyxTQUFTLFFBQVEsS0FBSyxVQUFVLENBQUMsQ0FBQyxHQUFHLFFBQVE7QUFBQSxJQUN6RDtBQUFBLEVBQ0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLFVBQVUsS0FBYSxRQUErQixTQUEwQztBQUMvRixVQUFNLFNBQVMsU0FBUyxLQUFLLE9BQU87QUFDcEMsVUFBTSxXQUFXO0FBQUEsTUFDaEI7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
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvY2xpZW50LWFzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgaHR0cC9jbGllbnQtYXN5bmNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9odHRwXG4gKiBAbmFtZSBIdHRwQXN5bmNDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSHR0cEFzeW5jQ2xpZW50IGNsYXNzIHByb3ZpZGVzIGEgSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHdyYXBwZXIgKEZhY2FkZSkgZm9yIG1ha2luZyBhc3luY2hyb25vdXMgSFRUUCByZXF1ZXN0cyB1c2luZyB0aGUgdW5kZXJseWluZyBKYXZhIEhUVFAgY2xpZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwZXJmb3JtIG5vbi1ibG9ja2luZyBIVFRQIG9wZXJhdGlvbnMgYnkgZGVmaW5pbmcgc3VjY2VzcywgZXJyb3IsIGFuZCBjYW5jZWwgY2FsbGJhY2tzIGFzIHN0cmluZ3Mgb2YgZXhlY3V0YWJsZSBKYXZhU2NyaXB0IGNvZGUuIFRoZSBjbGFzcyBzdXBwb3J0cyBhbGwgc3RhbmRhcmQgSFRUUCBtZXRob2RzIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSwgSEVBRCwgVFJBQ0UpIGFuZCBhY2NlcHRzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcmVxdWVzdCBvcHRpb25zIHRoYXQgbWlycm9yIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIEphdmEgY2xpZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkFzeW5jaHJvbm91cyBFeGVjdXRpb24qKjogQWxsIEhUVFAgbWV0aG9kcyByZXR1cm4gaW1tZWRpYXRlbHksIHdpdGggY2FsbGJhY2tzIGV4ZWN1dGVkIHVwb24gY29tcGxldGlvbi5cbiAqIC0gKipDb21wcmVoZW5zaXZlIFJlcXVlc3QgT3B0aW9ucyoqOiBTdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmaW5lLXR1bmluZyBIVFRQIHJlcXVlc3RzLlxuICogLSAqKkNhbGxiYWNrIEZsZXhpYmlsaXR5Kio6IENhbGxiYWNrcyBhcmUgZGVmaW5lZCBhcyBzdHJpbmdzIG9mIEphdmFTY3JpcHQgY29kZSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZXhlY3V0aW9uIGluIHRoZSBKVk0gZW52aXJvbm1lbnQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTm9uLWJsb2NraW5nIEFQSSBDYWxscyoqOiBJZGVhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIHlvdSB3YW50IHRvIHBlcmZvcm0gSFRUUCByZXF1ZXN0cyB3aXRob3V0IGJsb2NraW5nIHRoZSBtYWluIGV4ZWN1dGlvbiB0aHJlYWQuXG4gKiAtICoqQ29tcGxleCBSZXF1ZXN0IENvbmZpZ3VyYXRpb25zKio6IFN1aXRhYmxlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMgdGhhdCByZXF1aXJlIGRldGFpbGVkIHJlcXVlc3QgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBIdHRwQXN5bmNDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2h0dHBcIjtcbiAqIFxuICogY29uc3QgY2xpZW50ID0gSHR0cEFzeW5jQ2xpZW50LmdldEluc3RhbmNlKCk7XG4gKiBcbiAqIGNsaWVudC5nZXRBc3luYyhcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGFcIiwge1xuICogICBzdWNjZXNzOiBcImZ1bmN0aW9uKHJlc3BvbnNlKSB7IGNvbnNvbGUubG9nKCdTdWNjZXNzOicsIHJlc3BvbnNlKTsgfVwiLFxuICogICBlcnJvcjogXCJmdW5jdGlvbihlcnJvcikgeyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7IH1cIlxuICogfSwge1xuICogICBoZWFkZXJzOiBbeyBuYW1lOiAnQXV0aG9yaXphdGlvbicsIHZhbHVlOiAnQmVhcmVyIHRva2VuJyB9XSxcbiAqICAgcGFyYW1zOiBbeyBuYW1lOiAncXVlcnknLCB2YWx1ZTogJ3NlYXJjaCB0ZXJtJyB9XVxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG4vLyAtLS0gU2hhcmVkIEludGVyZmFjZXMgKGZvciBkb2N1bWVudGF0aW9uIGNsYXJpdHkpIC0tLVxuXG4vKiogRGVmaW5lcyBhIHNpbmdsZSBIVFRQIGhlYWRlciwgdXNlZCBmb3IgYm90aCByZXF1ZXN0IGFuZCByZXNwb25zZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudEhlYWRlciB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgKGUuZy4sICdDb250ZW50LVR5cGUnLCAnQXV0aG9yaXphdGlvbicpLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIuICovXG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIERlZmluZXMgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBVUkwuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRQYXJhbSB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVyIChlLmcuLCAnaWQnKS4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgVVJMIHF1ZXJ5IHBhcmFtZXRlci4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogRGVmaW5lcyBhIGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBtdWx0aS1wYXJ0IGZvcm0gZGF0YSByZXF1ZXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2xpZW50RmlsZSB7XG4gICAgLyoqIFRoZSBmb3JtIGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZpbGUgcGF0aCBvciBjb250ZW50LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdCwgbWlycm9yaW5nIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIHVuZGVybHlpbmcgSmF2YSBjbGllbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgZXhwZWN0Q29udGludWVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm94eUhvc3Q/OiBzdHJpbmc7XG4gICAgcHJveHlQb3J0PzogbnVtYmVyO1xuICAgIGNvb2tpZVNwZWM/OiBzdHJpbmc7XG4gICAgcmVkaXJlY3RzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVsYXRpdmVSZWRpcmVjdHNBbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjaXJjdWxhclJlZGlyZWN0c0FsbG93ZWQ/OiBib29sZWFuO1xuICAgIG1heFJlZGlyZWN0cz86IG51bWJlcjtcbiAgICBhdXRoZW50aWNhdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRhcmdldFByZWZlcnJlZEF1dGhTY2hlbWVzPzogc3RyaW5nW107XG4gICAgcHJveHlQcmVmZXJyZWRBdXRoU2NoZW1lcz86IHN0cmluZ1tdO1xuICAgIGNvbm5lY3Rpb25SZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgICBjb25uZWN0VGltZW91dD86IG51bWJlcjtcbiAgICBzb2NrZXRUaW1lb3V0PzogbnVtYmVyO1xuICAgIGNvbnRlbnRDb21wcmVzc2lvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNzbFRydXN0QWxsRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueVtdO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBIdHRwQ2xpZW50RmlsZVtdO1xuICAgIGNoYXJhY3RlckVuY29kaW5nPzogc3RyaW5nO1xuICAgIGNoYXJhY3RlckVuY29kaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEh0dHBDbGllbnRIZWFkZXJbXTtcbiAgICBwYXJhbXM/OiBIdHRwQ2xpZW50UGFyYW1bXTtcbiAgICBiaW5hcnk/OiBib29sZWFuO1xuICAgIGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKiogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgdGhlIEh0dHBDbGllbnQgbWV0aG9kcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudFJlc3BvbnNlIHtcbiAgICAvKiogVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDIwMCwgNDA0LCA1MDApLiAqL1xuICAgIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXR1cyBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKGUuZy4sICdPSycsICdOb3QgRm91bmQnKS4gKi9cbiAgICBzdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhbiBhcnJheSBvZiBieXRlcyAoaWYgcmVxdWVzdGVkIGFzIGJpbmFyeSkuICovXG4gICAgZGF0YTogYW55W107XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhIGRlY29kZWQgc3RyaW5nLiAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogVGhlIHByb3RvY29sIHVzZWQgKGUuZy4sICdIVFRQLzEuMScpLiAqL1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgcmVzcG9uc2Ugd2FzIHByb2Nlc3NlZCBhcyBiaW5hcnkgZGF0YS4gKi9cbiAgICBiaW5hcnk6IGJvb2xlYW47XG4gICAgLyoqIEFycmF5IG9mIGFsbCBoZWFkZXJzIHJlY2VpdmVkIGluIHRoZSByZXNwb25zZS4gKi9cbiAgICBoZWFkZXJzOiBIdHRwQ2xpZW50SGVhZGVyW11cbn1cblxuLy8gLS0tIEFzeW5jaHJvbm91cyBDbGllbnQgSW50ZXJmYWNlcyAtLS1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0cy5cbiAqIE5vdGU6IENhbGxiYWNrcyBhcmUgcHJvdmlkZWQgYXMgc3RyaW5ncyBjb250YWluaW5nIGV4ZWN1dGFibGUgSmF2YVNjcmlwdCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRBc3luY0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogTWFuZGF0b3J5IHN1Y2Nlc3MgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKHJlc3BvbnNlOiBIdHRwQ2xpZW50UmVzcG9uc2UsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHZvaWRgXG4gICAgICovXG4gICAgc3VjY2Vzczogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIGVycm9yIGNhbGxiYWNrIGFzIGEgKipzdHJpbmcgb2YgSmF2YVNjcmlwdCBjb2RlKiouXG4gICAgICogSXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIHNpZ25hdHVyZTogYChleGNlcHRpb246IGFueSkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBlcnJvcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjYW5jZWwgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKCkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBjYW5jZWw/OiBzdHJpbmc7XG59XG5cblxuLy8gLS0tIEphdmEgVHlwZSBJbXBvcnRzIChDcnVjaWFsIGZvciBKVk0gaW50ZWdyYXRpb24pIC0tLVxuXG4vKiogSW1wb3J0cyB0aGUgbmF0aXZlIEphdmEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGFzeW5jaHJvbm91cyBIVFRQIGV4ZWN1dGlvbi4gKi9cbmNvbnN0IEh0dHBDbGllbnRBc3luY0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBDbGllbnRBc3luY0ZhY2FkZVwiKTtcblxuLyoqIEltcG9ydHMgdGhlIG5hdGl2ZSBKYXZhIGNsYXNzIGZvciByZXRyaWV2aW5nIFNwcmluZy1tYW5hZ2VkIGJlYW5zLiAqL1xuY29uc3QgU3ByaW5nQmVhblByb3ZpZGVyID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuc3ByaW5nLlNwcmluZ0JlYW5Qcm92aWRlclwiKTtcblxuLyoqIFJldHJpZXZlcyB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgZnJvbSB0aGUgU3ByaW5nIGNvbnRleHQuICovXG5jb25zdCBodHRwQ2xpZW50ID0gU3ByaW5nQmVhblByb3ZpZGVyLmdldEJlYW4oSHR0cENsaWVudEFzeW5jRmFjYWRlLmNsYXNzKTtcblxuXG4vKipcbiAqIFRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgY2xhc3MuIEFsbCByZXF1ZXN0IG1ldGhvZHMgcmV0dXJuIGltbWVkaWF0ZWx5XG4gKiBhbmQgZXhlY3V0ZSBjYWxsYmFja3MgdXBvbiBjb21wbGV0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jQ2xpZW50IHtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEdFVCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKGUuZy4sIGhlYWRlcnMsIGJvZHksIHBhcmFtcykuXG4gICAgICovXG5cdGdldEFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmdldEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5nZXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIFBPU1QgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwb3N0QXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucG9zdEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5wb3N0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQVVQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwdXRBc3luYyh1cmw6IHN0cmluZywgY29uZmlnOiBIdHRwQ2xpZW50QXN5bmNDb25maWcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdVcmwgPSBidWlsZFVybCh1cmwsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soXG5cdFx0XHRodHRwQ2xpZW50LFxuXHRcdFx0Y29uZmlnLnN1Y2Nlc3MsXG5cdFx0XHRjb25maWcuZXJyb3IsXG5cdFx0XHRjb25maWcuY2FuY2VsXG5cdFx0KTtcblx0XHRpZiAob3B0aW9ucykge1xuXHRcdFx0aHR0cENsaWVudC5wdXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucHV0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQQVRDSCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHBhdGNoQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIERFTEVURSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdGRlbGV0ZUFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmRlbGV0ZUFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5kZWxldGVBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEhFQUQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRoZWFkQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQuaGVhZEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5oZWFkQXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBUUkFDRSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHRyYWNlQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHF1ZXVlZCBhc3luY2hyb25vdXMgcmVxdWVzdHMgKGRlcGVuZGluZyBvbiB0aGUgdW5kZXJseWluZyBKYXZhIGNsaWVudCdzIHRocmVhZGluZyBtb2RlbCkuXG4gICAgICovXG5cdGV4ZWN1dGUoKTogdm9pZCB7XG5cdFx0aHR0cENsaWVudC5leGVjdXRlKCk7XG5cdH07XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byByZXRyaWV2ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXN5bmNocm9ub3VzIGNsaWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IGluc3RhbmNlIG9mIEh0dHBBc3luY0NsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlKCk6IEh0dHBBc3luY0NsaWVudCB7XG5cdHJldHVybiBuZXcgSHR0cEFzeW5jQ2xpZW50KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuYXRpdmUgSmF2YSBjYWxsYmFjayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgSmF2YVNjcmlwdCBzdWNjZXNzLCBlcnJvciwgYW5kIGNhbmNlbCBjYWxsYmFja3MuXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIHVuZGVybHlpbmcgSmF2YSBIVFRQIGNsaWVudCBpbnN0YW5jZSB0byBnZW5lcmF0ZSB0aGUgZmluYWwgY2FsbGJhY2sgb2JqZWN0LlxuICogQHBhcmFtIGh0dHBDbGllbnQgVGhlIEphdmEgSHR0cENsaWVudEFzeW5jRmFjYWRlIGluc3RhbmNlLlxuICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3Igc3VjY2Vzcy5cbiAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEpTIGNvZGUgc3RyaW5nIGZvciBlcnJvci5cbiAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3IgY2FuY2VsLlxuICogQHJldHVybnMgQSBKYXZhIGNhbGxiYWNrIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soaHR0cENsaWVudDogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IHN0cmluZywgZXJyb3JDYWxsYmFjaz86IHN0cmluZywgY2FuY2VsQ2FsbGJhY2s/OiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gaHR0cENsaWVudC5jcmVhdGVDYWxsYmFjayhcblx0XHRjcmVhdGVTdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKSxcblx0XHRjcmVhdGVFcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spLFxuXHRcdGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbmNlbENhbGxiYWNrKVxuXHQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgSlZNIGVudmlyb25tZW50IHVwb24gc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24uXG4gKiBUaGlzIHN0cmluZyBoYW5kbGVzIHBhcnNpbmcgdGhlIEphdmEgSFRUUCByZXNwb25zZSBvYmplY3QgYW5kIGV4ZWN1dGluZyB0aGUgdXNlcidzIGRlZmluZWQgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIHVzZXItcHJvdmlkZWQgc3VjY2VzcyBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV4IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgc3VjY2VzcyBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIE5vdGU6IFRoaXMgc3RyaW5nIHJlYWRzIHRoZSBKYXZhIHJlc3BvbnNlIG9iamVjdCBhbmQgdGhlIGNvbnRleHQgdmFyaWFibGVzIChfX2NvbnRleHQpIGF2YWlsYWJsZVxuICAgIC8vIGluIHRoZSBzcGVjaWZpYyBKVk0gZW52aXJvbm1lbnQuIFNpbmNlIHRoZSBIdHRwQ2xpZW50IDUgcG9ydCAoZGlyaWdpYmxlICM3NzkyKSB0aGF0IG9iamVjdCBpcyBhXG4gICAgLy8gU2ltcGxlSHR0cFJlc3BvbnNlOiB0aGUgc3RhdHVzIGlzIGdldENvZGUoKS9nZXRSZWFzb25QaHJhc2UoKSByYXRoZXIgdGhhbiBnZXRTdGF0dXNMaW5lKCksIHRoZVxuICAgIC8vIGhlYWRlcnMgYXJlIGdldEhlYWRlcnMoKSwgYW5kIHRoZSBib2R5IGlzIGFscmVhZHkgaW4gbWVtb3J5IC0gZ2V0Qm9keUJ5dGVzKCkvZ2V0Qm9keVRleHQoKSAtXG4gICAgLy8gc28gdGhlcmUgaXMgbm8gZW50aXR5IHN0cmVhbSB0byByZWFkIHRocm91Z2ggSU9VdGlscyBhbnkgbW9yZS5cbiAgICBcbiAgICAvLyBUaGUgc3RydWN0dXJlIG1hcHMgdGhlIEphdmEgSFRUUCBSZXNwb25zZSBvYmplY3QgaW50byB0aGUgc3RhbmRhcmQgSHR0cENsaWVudFJlc3BvbnNlIGludGVyZmFjZS5cblx0cmV0dXJuIFwiKGZ1bmN0aW9uKGh0dHBSZXNwb25zZSwgaXNCaW5hcnksIGNvbnRleHQpIHtcXG5cIlxuXHRcdCsgXCJ2YXIgcmVzcG9uc2UgPSB7fTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5zdGF0dXNDb2RlID0gaHR0cFJlc3BvbnNlLmdldENvZGUoKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gaHR0cFJlc3BvbnNlLmdldFJlYXNvblBocmFzZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnByb3RvY29sID0gaHR0cFJlc3BvbnNlLmdldFZlcnNpb24oKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5iaW5hcnkgPSBpc0JpbmFyeTtcXG5cIlxuXG5cdFx0KyBcInZhciBoZWFkZXJzID0gaHR0cFJlc3BvbnNlLmdldEhlYWRlcnMoKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5oZWFkZXJzID0gW107XFxuXCJcblx0XHQrIFwiZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgaSArKykge1xcblwiXG5cdFx0KyBcIiAgICByZXNwb25zZS5oZWFkZXJzLnB1c2goe1xcblwiXG5cdFx0KyBcIiAgICAgICAgbmFtZTogaGVhZGVyc1tpXS5nZXROYW1lKCksXFxuXCJcblx0XHQrIFwiICAgICAgICB2YWx1ZTogaGVhZGVyc1tpXS5nZXRWYWx1ZSgpXFxuXCJcblx0XHQrIFwiICAgIH0pO1xcblwiXG5cdFx0KyBcIn1cXG5cIlxuXG5cdFx0KyBcImlmIChpc0JpbmFyeSkge1xcblwiXG5cdFx0KyBcIiAgICByZXNwb25zZS5kYXRhID0gaHR0cFJlc3BvbnNlLmdldEJvZHlCeXRlcygpO1xcblwiXG5cdFx0KyBcIn0gZWxzZSB7XFxuXCJcblx0XHQrIFwiICAgIHJlc3BvbnNlLnRleHQgPSBodHRwUmVzcG9uc2UuZ2V0Qm9keVRleHQoKTtcXG5cIlxuXHRcdCsgXCJ9XFxuXCJcblxuXHRcdCsgXCIoXCIgKyBjYWxsYmFjayArIFwiKShyZXNwb25zZSwgSlNPTi5wYXJzZShjb250ZXh0KSk7XFxuXCJcblx0XHQrIFwifSkoX19jb250ZXh0LmdldCgncmVzcG9uc2UnKSwgX19jb250ZXh0LmdldCgnaHR0cENsaWVudFJlcXVlc3RPcHRpb25zJykuaXNCaW5hcnkoKSwgX19jb250ZXh0LmdldCgnaHR0cENsaWVudFJlcXVlc3RPcHRpb25zJykuZ2V0Q29udGV4dCgpKTtcXG5cIjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHJhdyBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGVycm9yIGNhbGxiYWNrLlxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSB1c2VyLXByb3ZpZGVkIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uIGNvZGUgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgZXJyb3IgaGFuZGxlciwgb3IgdW5kZWZpbmVkLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFcnJvckNhbGxiYWNrKGNhbGxiYWNrPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0aWYgKGNhbGxiYWNrKSB7XG5cdFx0cmV0dXJuIFwiKFwiICsgY2FsbGJhY2sgKyBcIikoX19jb250ZXh0LmdldCgnZXhjZXB0aW9uJykpXCI7XG5cdH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgY2FuY2VsIGNhbGxiYWNrLlxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSB1c2VyLXByb3ZpZGVkIGNhbmNlbCBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGNhbmNlbCBoYW5kbGVyLCBvciB1bmRlZmluZWQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbGxiYWNrPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0aWYgKGNhbGxiYWNrKSB7XG5cdFx0cmV0dXJuIFwiKFwiICsgY2FsbGJhY2sgKyBcIikoKVwiO1xuXHR9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZpbmFsIFVSTCBieSBhcHBlbmRpbmcgYWxsIHF1ZXJ5IHBhcmFtZXRlcnMgZGVmaW5lZCBpbiBvcHRpb25zLnBhcmFtcy5cbiAqIFRoZSBwYXJhbWV0ZXJzIGFyZSBub3QgcmVtb3ZlZCBmcm9tIHRoZSBvcHRpb25zIG9iamVjdCBhcyB0aGV5IGFyZSBmb3IgdGhlIHN5bmNocm9ub3VzIGNsaWVudCxcbiAqIHNpbmNlIHRoZSBvcHRpb25zIGFyZSBwYXNzZWQgYXMgSlNPTiBzdHJpbmcgdG8gdGhlIGZhY2FkZSBhbnl3YXkuXG4gKiBAcGFyYW0gdXJsIFRoZSBiYXNlIFVSTC5cbiAqIEBwYXJhbSBvcHRpb25zIFRoZSByZXF1ZXN0IG9wdGlvbnMgd2hpY2ggbWF5IGNvbnRhaW4gYHBhcmFtc2AuXG4gKiBAcmV0dXJucyBUaGUgVVJMIHdpdGggYXBwZW5kZWQgcXVlcnkgcGFyYW1ldGVycy5cbiAqL1xuZnVuY3Rpb24gYnVpbGRVcmwodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiBzdHJpbmcge1xuXHRpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucy5wYXJhbXMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLnBhcmFtcyA9PT0gbnVsbCB8fCBvcHRpb25zLnBhcmFtcy5sZW5ndGggPT09IDApIHtcblx0XHRyZXR1cm4gdXJsO1xuXHR9XG5cdGxldCBuZXdVcmwgPSB1cmw7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5wYXJhbXMubGVuZ3RoOyBpICsrKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gb3B0aW9ucy5wYXJhbXNbaV07XG5cdFx0aWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIC8vIENoZWNrIGlmIFVSTCBhbHJlYWR5IGNvbnRhaW5zICc/JyBhbmQgdXNlICcmJyBpZiBzbyAoaW1wcm92ZXMgcm9idXN0bmVzcylcbiAgICAgICAgICAgIGlmIChuZXdVcmwuaW5jbHVkZXMoJz8nKSkge1xuICAgICAgICAgICAgICAgIG5ld1VybCArPSAnJic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1VybCArPSAnPyc7XG4gICAgICAgICAgICB9XG5cdFx0XHRuZXdVcmwgKz0gcGFyYW0ubmFtZSArICc9JyArIHBhcmFtLnZhbHVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRuZXdVcmwgKz0gJyYnICsgcGFyYW0ubmFtZSArICc9JyArIHBhcmFtLnZhbHVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbmV3VXJsO1xufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IHsgSHR0cEFzeW5jQ2xpZW50LCBnZXRJbnN0YW5jZSB9O1xufSJdLAogICJtYXBwaW5ncyI6ICJBQXVJQSxNQUFNLHdCQUF3QixLQUFLLEtBQUssaUVBQWlFO0FBR3pHLE1BQU0scUJBQXFCLEtBQUssS0FBSyw0REFBNEQ7QUFHakcsTUFBTSxhQUFhLG1CQUFtQixRQUFRLHNCQUFzQixLQUFLO0FBT2xFLE1BQU0sZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRNUIsU0FBUyxLQUFhLFFBQStCLFNBQTBDO0FBQzlGLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxTQUFTLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDOUQsT0FBTztBQUNOLGlCQUFXLFNBQVMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQ3pEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsVUFBVSxLQUFhLFFBQStCLFNBQTBDO0FBQy9GLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxVQUFVLFFBQVEsS0FB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
|
package/dist/esm/qldb/qldb.mjs
CHANGED
|
@@ -2,4 +2,4 @@ const QLDBRepository = Java.type("org.eclipse.dirigible.components.api.qldb.QLDB
|
|
|
2
2
|
export {
|
|
3
3
|
QLDBRepository
|
|
4
4
|
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvcWxkYi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHFsZGIvcWxkYlxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3FsZGJcbiAqIEBuYW1lIFFMREJSZXBvc2l0b3J5XG4gKiBAb3ZlcnZpZXdcbiAqXG4gKiBFbnRyeSBwb2ludCBmb3IgQW1hem9uIFFMREIgcmVwb3NpdG9yeSBpbnRlZ3JhdGlvbiBpbiBBZXJva2l0IFNESy5cbiAqXG4gKiBFeHBvc2VzIHRoZSBgUUxEQlJlcG9zaXRvcnlgIGNsYXNzIGFsaWFzIHRvIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb246XG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlgLlxuICpcbiAqIFRoaXMgb2JqZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgUUxEQiBsZWRnZXIgc2Vzc2lvbnMsIGV4ZWN1dGUgc3RhdGVtZW50cyxcbiAqIGFuZCBoYW5kbGUgdHJhbnNhY3Rpb24gbGlmZWN5Y2xlcyBmcm9tIEphdmFTY3JpcHQgY29kZS5cbiAqXG4gKiBUaGUgUUxEQiBkcml2ZXIgaXMgYW4gYWRkLW9uIHRoYXQgdGhlIGRlZmF1bHQgYnVuZGxlIGRvZXMgbm90IHNoaXA6IHRoZSBhcHBsaWNhdGlvbiBhZGRzXG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlOmRpcmlnaWJsZS1jb21wb25lbnRzLWFwaS1xbGRiLWRyaXZlcmAgKGA8dHlwZT5wb208L3R5cGU+YCkuIFdpdGhvdXQgaXQsXG4gKiBgbmV3IFFMREJSZXBvc2l0b3J5KC4uLilgIHRocm93cyBgUWxkYk5vdEF2YWlsYWJsZUV4Y2VwdGlvbmAgbmFtaW5nIHRoYXQgYXJ0aWZhY3QuXG4gKi9cblxuZXhwb3J0IGNvbnN0IFFMREJSZXBvc2l0b3J5ID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlcIik7Il0sCiAgIm1hcHBpbmdzIjogIkFBbUJPLE1BQU0saUJBQWlCLEtBQUssS0FBSywwREFBMEQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
|