fmode-ng 0.0.201 → 0.0.203
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.
|
@@ -167,8 +167,8 @@ export class PaymentComponent {
|
|
|
167
167
|
this.accountLog = await this.payServer.updateRecharge(this.accountLog);
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
_this.toast("支付成功", "success");
|
|
171
170
|
_this.isOpen = false;
|
|
171
|
+
_this.toast("支付成功", "success");
|
|
172
172
|
_this.payResult.emit({
|
|
173
173
|
code: 200,
|
|
174
174
|
tradeNo: this.tradeNo,
|
|
@@ -542,4 +542,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
542
542
|
type: Input,
|
|
543
543
|
args: ["isOpen"]
|
|
544
544
|
}] } });
|
|
545
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3BheW1lbnQvcGF5bWVudC9wYXltZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvcGF5bWVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsT0FBTztBQUNMLFlBQVk7QUFDWixXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLGVBQWUsR0FDaEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsVUFBVSxFQUFrQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQUFBLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFBQSxDQUFDO0FBYXBILE1BQU0sT0FBTyxnQkFBZ0I7SUEyQjNCLFlBQ1UsT0FBMkIsRUFDM0IsSUFBZ0IsRUFDaEIsVUFBMEIsRUFDMUIsU0FB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YSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQXhmVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpVUM3QjdCLDByR0E0RUEsNnlJRG5EWSxZQUFZLDhCQUFFLFlBQVk7OzRGQUl6QixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7d01BS3JCLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFDSSxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0EsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNNLFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFFRSxTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBS08sY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ04sTUFBTTtzQkFBdEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNELEdBQUc7c0JBQWhCLEtBQUs7dUJBQUMsS0FBSztnQkFDTSxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBRU4sU0FBUztzQkFBbEIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFdlY2hhdEpzc2RrU2VydmljZSB9IGZyb20gXCIuLi8uLi9zb2NpYWwvd2VjaGF0L3dlY2hhdC1qc3Nkay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFFyQ29kZU1vZHVsZSB9IGZyb20gJ25nLXFyY29kZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIC8vIElvbk1vZGFsLFxyXG4gIC8vIElvbkljb24sXHJcbiAgLy8gVG9hc3RDb250cm9sbGVyLFxyXG4gIEFsZXJ0Q29udHJvbGxlcixcclxufSBmcm9tIFwiQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZVwiO1xyXG5cclxuaW1wb3J0IHtGbW9kZVBhcnNlLEZtb2RlT2JqZWN0LEZtb2RlUXVlcnksRm1vZGVVc2VyfSBmcm9tIFwiLi4vLi4vY29yZS9wYXJzZVwiO2NvbnN0IFBhcnNlID0gRm1vZGVQYXJzZS53aXRoKFwibm92YVwiKTs7XHJcbmRlY2xhcmUgdmFyIHd4OiBhbnk7XHJcblxyXG4vLyDlrprkuYnmlK/ku5jnsbvlnovmnprkuL5cclxudHlwZSBQYXltZW50TWV0aG9kID0gXCJ3eHBheVwiIHwgXCJhbGlwYXlcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImZtLXBheW1lbnRcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFFyQ29kZU1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYXltZW50LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9wYXltZW50LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50Q29tcG9uZW50IHtcclxuICBASW5wdXQoXCJwcmljZVwiKSBwcmljZTogbnVtYmVyID0gMDsgLy/mlK/ku5jph5Hpop1cclxuICBASW5wdXQoXCJ0cmFkZU5vXCIpIHRyYWRlTm86IHN0cmluZyB8IHVuZGVmaW5lZDsgLy/mlK/ku5jljZXlj7dcclxuICBASW5wdXQoXCJ0aXRsZVwiKSB0aXRsZTogc3RyaW5nID0gXCLmlK/ku5jorqLljZVcIjsgLy/mlK/ku5jmoIfpophcclxuICBASW5wdXQoXCJzaG93VHlwZXNcIikgc2hvd1R5cGVzOiBQYXltZW50TWV0aG9kW10gPSBbXCJ3eHBheVwiLCBcImFsaXBheVwiXTsgLy/mmL7npLrnmoTmlK/ku5jmlrnlvI9cclxuICBcclxuICBASW5wdXQoXCJvcmRlclR5cGVcIikgb3JkZXJUeXBlOiBzdHJpbmcgPSAnZ29vZHMnOyAvL+iuouWNleexu+Wei1xyXG4gIC8qIOWFs+mUruWumuWItuWPguaVsGlzUmVjaGFyZ2VSdWxl77ya5b2Tb3JkZXJUeXBlID0gdmlwIHwgcmVjaGFyZ2XkuJTlpoLmnpxpc1JlY2hhcmdlUnVsZeS4unRydWXvvIzliJnooajnpLrmmK/lhYXlgLzop4TliJnvvIzpnIDopoHorr7nva5jcmVkaXTmiJZnaWQgXHJcbiAgKiBvcmRlclR5cGXvvJp2aXAg5Lya5ZGY5byA6YCaXHJcbiAgKiBvcmRlclR5cGXvvJpyZWNoYXJnZSDlhYXlgLxcclxuICAqL1xyXG4gIEBJbnB1dChcImlzUmVjaGFyZ2VSdWxlXCIpIGlzUmVjaGFyZ2VSdWxlOiBib29sZWFuID0gZmFsc2U7IC8v5piv5ZCm5piv5YWF5YC86KeE5YiZXHJcbiAgQElucHV0KFwiY3JlZGl0XCIpIGNyZWRpdDogbnVtYmVyIHwgdW5kZWZpbmVkID0gMDsgLy/np6/liIYm6Jma5ouf5biBXHJcbiAgQElucHV0KFwiZ2lkXCIpIGdpZDogc3RyaW5nIHwgdW5kZWZpbmVkOyAvL+WVhuWTgUlEXHJcbiAgQElucHV0KFwib3JkZXJJZFwiKSBvcmRlcklkPzogc3RyaW5nOyAvL+iuouWNlUlEXHJcblxyXG4gIEBPdXRwdXQoKSBwYXlSZXN1bHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KFwiaXNPcGVuXCIpIGlzT3BlbjogYm9vbGVhbiA9IHRydWU7IC8v5omT5byA5by556qXXHJcblxyXG4gIGNoZWNrcGF5OiBzdHJpbmcgPSB0aGlzLnNob3dUeXBlc1swXSB8fCBcIlwiO1xyXG4gIHVzZXJBZ2VudD86IHN0cmluZzsgLy/ojrflj5blvZPliY3mtY/op4jlmajnjq/looNcclxuICBjb2RlTGluaz86IHN0cmluZztcclxuICB1c2VyOkZtb2RlT2JqZWN0ID0gUGFyc2UuVXNlci5jdXJyZW50KCkhO1xyXG4gIHRpbWVyOiBhbnk7IC8v5a6a5pe25p+l6K+iXHJcblxyXG4gIGFjY291bnRMb2c/OkZtb2RlT2JqZWN0OyAvLyDlhYXlgLzorrDlvZVcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTsgLy/nrYnlvoVcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgd3hqc3NkazogV2VjaGF0SnNzZGtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhY3RpdlJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcGF5U2VydmVyOiBQYXltZW50U2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxyXG4gICkge31cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWN0aXZSb3V0ZS5wYXJhbU1hcC5zdWJzY3JpYmUoYXN5bmMgKHBhcmFtcykgPT4ge1xyXG4gICAgICBsZXQgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHVhKTtcclxuICAgICAgaWYgKHVhLmluZGV4T2YoXCJtaWNyb21lc3NlbmdlclwiKSAhPSAtMSkge1xyXG4gICAgICAgIHRoaXMudXNlckFnZW50ID0gXCJ3ZWl4aW5cIjtcclxuICAgICAgICBhd2FpdCB0aGlzLnd4anNzZGsuaW5pdFVzZXJPcGVuaWQoKTtcclxuICAgICAgICB0aGlzLnd4anNzZGsuc2V0Q3VycmVudFBhZ2VTaGFyZUluZm8oKTtcclxuICAgICAgfSBlbHNlIGlmICh1YS5pbmRleE9mKFwid2luZG93c1wiKSAhPSAtMSB8fCB1YS5pbmRleE9mKFwiTWFjaW50b3NoXCIpICE9IC0xKSB7XHJcbiAgICAgICAgdGhpcy51c2VyQWdlbnQgPSBcInBjXCI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25jaGFuZ1BheSh2YWw6IFBheW1lbnRNZXRob2QpIHtcclxuICAgIHRoaXMuY2hlY2twYXkgPSB2YWw7XHJcbiAgICBjb25zb2xlLmxvZyh2YWwpO1xyXG4gIH1cclxuXHJcbiAgLyog55So5oi356Gu6K6k5pSv5LuYICovXHJcbiAgYXN5bmMgdXNlclBheW1lbnQoKSB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgIXRoaXMuY2hlY2twYXkpIHJldHVybjtcclxuICAgIGlmICghdGhpcy50cmFkZU5vKSB7XHJcbiAgICAgIHRoaXMudHJhZGVObyA9IHRoaXMucGF5U2VydmVyLnNldFRyYWRlTm8oKTtcclxuICAgIH1cclxuICAgIC8qIGlzUmVjaGFyZ2VSdWxlIOWFheWAvOinhOWImSAqL1xyXG4gICAgaWYgKHRoaXMuaXNSZWNoYXJnZVJ1bGUgJiYgdGhpcy50cmFkZU5vKSB7XHJcbiAgICAgIHRoaXMub3JkZXJJZCA9IGF3YWl0IHRoaXMucGF5U2VydmVyLmdldE9yZGVyKHRoaXMudHJhZGVObyk7XHJcbiAgICAgIC8v5ruh6LazIOKRoOS8muWRmOWFheWAvOS4lOiuouWNleS4jeWtmOWcqCDikaHkvZnpop3lhYXlgLzkuJTlhYXlgLzorrDlvZXkuI3lrZjlnKjmiJblt7LmlK/ku5gg5bCG6YeN5paw5Yib5bu66K6i5Y2V5Y+35L2c5Li65paw6K6i5Y2V5Yib5bu6ICAgIFxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRoaXMub3JkZXJUeXBlID09IFwidmlwXCIgJiYgIXRoaXMub3JkZXJJZCkgfHxcclxuICAgICAgICAodGhpcy5vcmRlclR5cGUgPT0gXCJyZWNoYXJnZVwiICYmXHJcbiAgICAgICAgICAoIXRoaXMuYWNjb3VudExvZz8uaWQgfHwgdGhpcy5hY2NvdW50TG9nPy5nZXQoXCJpc1ZlcmlmaWVkXCIpKSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy50cmFkZU5vID0gdGhpcy5wYXlTZXJ2ZXIuc2V0VHJhZGVObygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRyYWRlTm8pO1xyXG4gICAgaWYgKHRoaXMucHJpY2UgPT0gMCkge1xyXG4gICAgICB0aGlzLnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5wYXlSZXN1bHQuZW1pdCh7XHJcbiAgICAgICAgY29kZTogMjAwLFxyXG4gICAgICAgIHRyYWRlTm86IHRoaXMudHJhZGVObyxcclxuICAgICAgICB0eXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy50cmFkZU5vID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoICh0aGlzLmNoZWNrcGF5KSB7XHJcbiAgICAgIGNhc2UgXCJ3eHBheVwiOlxyXG4gICAgICAgIHRoaXMub3Blbld4UGF5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJhbGlwYXlcIjpcclxuICAgICAgICB0aGlzLm9wZW5BbGlwYXkoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgLyog5qCh6aqM5pSv5LuY5pa55byPICovXHJcbiAgYXN5bmMgb3Blbld4UGF5KCkge1xyXG4gICAgbGV0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgbGV0IGlzV2VpeGluID0gdWEuaW5kZXhPZihcIm1pY3JvbWVzc2VuZ2VyXCIpICE9IC0xO1xyXG4gICAgaWYgKGlzV2VpeGluKSB7XHJcbiAgICAgIC8vSlNBUEkg5pSv5LuYXHJcbiAgICAgIHRoaXMud3hQYXlINSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53eFBheSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7IC8v6Ziy5oqWXHJcblxyXG4gIC8qIOW+ruS/oea1j+iniOWZqEg1546v5aKDICovXHJcbiAgYXN5bmMgd3hQYXlINSgpIHtcclxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIGxldCB3ZWNoYXQgPSBQYXJzZS5Vc2VyLmN1cnJlbnQoKT8uZ2V0KFwid2VjaGF0XCIpO1xyXG4gICAgICBsZXQgb3BlbmlkID1cclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm9wZW5pZFwiKSB8fFxyXG4gICAgICAgIHdlY2hhdFt0aGlzLnd4anNzZGsud2VjaGF0QWNjb3VudElkXT8ub3BlbmlkO1xyXG4gICAgICBpZiAob3BlbmlkKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICAgIGNvbXBhbnk6IHRoaXMud3hqc3Nkay5jb21wYW55LFxyXG4gICAgICAgICAgYm9keTogdGhpcy50aXRsZSxcclxuICAgICAgICAgIG91dF90cmFkZV9ubzogdGhpcy50cmFkZU5vLFxyXG4gICAgICAgICAgdG90YWxfZmVlOiArdGhpcy5wcmljZSxcclxuICAgICAgICAgIG9wZW5pZDogb3BlbmlkLFxyXG4gICAgICAgICAgYXBwaWQ6IHRoaXMud3hqc3Nkay53ZWNoYXRBY2NvdW50SWQsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QoYGh0dHBzOi8vc2VydmVyLmZtb2RlLmNuL2FwaS93eHBheS9uZXdvcmRlcmAsIHBhcmFtcylcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGFzeW5jIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0KFwi5pSv5LuY5aSx6LSl77yaXCIgKyBlcnI/LmVycm9yPy5tZXNzLCBcImZhaWxcIik7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShhc3luYyAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZVBheSgpO1xyXG5cclxuICAgICAgICAgICAgbGV0IHBheWluZm86IGFueSA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICB3eC5jaG9vc2VXWFBheSh7XHJcbiAgICAgICAgICAgICAgdGltZXN0YW1wOiBwYXlpbmZvLnRpbWVTdGFtcCwgLy8g5pSv5LuY562+5ZCN5pe26Ze05oiz77yM5rOo5oSP5b6u5L+hanNzZGvkuK3nmoTmiYDmnInkvb/nlKh0aW1lc3RhbXDlrZfmrrXlnYfkuLrlsI/lhpnjgILkvYbmnIDmlrDniYjnmoTmlK/ku5jlkI7lj7DnlJ/miJDnrb7lkI3kvb/nlKjnmoR0aW1lU3RhbXDlrZfmrrXlkI3pnIDlpKflhpnlhbbkuK3nmoRT5a2X56ymXHJcbiAgICAgICAgICAgICAgbm9uY2VTdHI6IHBheWluZm8ubm9uY2VTdHIsIC8vIOaUr+S7mOetvuWQjemaj+acuuS4su+8jOS4jemVv+S6jiAzMiDkvY1cclxuICAgICAgICAgICAgICBwYWNrYWdlOiBwYXlpbmZvLnBhY2thZ2UsIC8vIOe7n+S4gOaUr+S7mOaOpeWPo+i/lOWbnueahHByZXBheV9pZOWPguaVsOWAvO+8jOaPkOS6pOagvOW8j+Wmgu+8mnByZXBheV9pZD1cXCpcXCpcXCrvvIlcclxuICAgICAgICAgICAgICBzaWduVHlwZTogXCJNRDVcIiwgLy8g562+5ZCN5pa55byP77yM6buY6K6k5Li6J1NIQTEn77yM5L2/55So5paw54mI5pSv5LuY6ZyA5Lyg5YWlJ01ENSdcclxuICAgICAgICAgICAgICBwYXlTaWduOiBwYXlpbmZvLnBheVNpZ24sIC8vIOaUr+S7mOetvuWQjVxyXG4gICAgICAgICAgICAgIHN1Y2Nlc3M6IGFzeW5jIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8g5pSv5LuY5oiQ5Yqf5ZCO55qE5Zue6LCD5Ye95pWwXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNSZWNoYXJnZVJ1bGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmZvID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgb3V0X3RyYWRlX25vOiBfdGhpcy50cmFkZU5vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9uY2Vfc3RyOiBwYXlpbmZvLm5vbmNlU3RyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY29tcGFueTogdGhpcy53eGpzc2RrLmNvbXBhbnksXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcmRlcklkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBheVNlcnZlci51cGRhdGVBY2NvdW50TG9nKGluZm8sIHRoaXMub3JkZXJJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyVHlwZSA9PSBcInJlY2hhcmdlXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjb3VudExvZyA9IGF3YWl0IHRoaXMucGF5U2VydmVyLnVwZGF0ZVJlY2hhcmdlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY291bnRMb2chLFxyXG4gICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgX3RoaXMudG9hc3QoXCLmlK/ku5jmiJDlip9cIiwgXCJzdWNjZXNzXCIpO1xyXG4gICAgICAgICAgICAgICAgICBfdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgX3RoaXMucGF5UmVzdWx0LmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IDIwMCxcclxuICAgICAgICAgICAgICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8sXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogdGhpcy5jaGVja3BheSxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gYWxlcnQoJ+e8uuWwkW9wZW5pZCzor7fph43mlrDnmbvlvZUnKVxyXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGxldCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDdHJsLmNyZWF0ZSh7XHJcbiAgICAgICAgICBoZWFkZXI6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgICBzdWJIZWFkZXI6IFwiXCIsXHJcbiAgICAgICAgICBtZXNzYWdlOiBcIue8uuWwkW9wZW5pZCzor7fliLfmlrDpobXpnaLmiJbph43mlrDnmbvlvZVcIixcclxuICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHJvbGU6IFwib2tcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIuehruiupFwiLFxyXG4gICAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFsZXJ0LnByZXNlbnQoKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcclxuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIGxldCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDdHJsLmNyZWF0ZSh7XHJcbiAgICAgICAgaGVhZGVyOiBcIuW8guW4uOmUmeivr1wiLFxyXG4gICAgICAgIHN1YkhlYWRlcjogXCJcIixcclxuICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcclxuICAgICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJvbGU6IFwib2tcIixcclxuICAgICAgICAgICAgdGV4dDogXCLnoa7orqRcIixcclxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge30sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBhbGVydC5wcmVzZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qIOa1j+iniOWZqOS6jOe7tOeggeaUr+S7mCAqL1xyXG4gIGFzeW5jIHd4UGF5KCkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgY29tcGFueTogdGhpcy53eGpzc2RrLmNvbXBhbnksXHJcbiAgICAgIG91dF90cmFkZV9ubzogdGhpcy50cmFkZU5vLFxyXG4gICAgICB0b3RhbF9mZWU6IHRoaXMucHJpY2UsXHJcbiAgICAgIGJvZHk6IHRoaXMudGl0bGUsXHJcbiAgICB9O1xyXG4gICAgUGFyc2UuQ2xvdWQucnVuKFwicGF5X2NvZGUyXCIsIHBhcmFtcylcclxuICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgIGxldCBub25jZV9zdHIgPSByZXMubm9uY2Vfc3RyO1xyXG4gICAgICAgIHRoaXMuY29kZUxpbmsgPSByZXMuY29kZV91cmxbMF07XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5jb2RlTGluayk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZVBheSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlT3JkZXIobm9uY2Vfc3RyKTtcclxuICAgICAgICAvLyB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9hc3QoZXJyLm1lc3NhZ2UsIFwiZGFuZ2VyXCIpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qIOaUr+S7mOWuneaUr+S7mCAqL1xyXG4gIGFzeW5jIG9wZW5BbGlwYXkoKSB7XHJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICBsZXQgaHRtbFN0cmluZ09yVXJsOiBhbnkgPSBhd2FpdCB0aGlzLmdldEFsaVBheVVybCgpO1xyXG4gICAgICBjb25zb2xlLmxvZyhodG1sU3RyaW5nT3JVcmwpO1xyXG4gICAgICBhd2FpdCB0aGlzLmNlcnRpZmljYXRlUGF5KCk7XHJcbiAgICAgIC8vIGlmICh0aGlzLmRldmljZVNlci5pc0lPUykge1xyXG4gICAgICAvLyAgIHRoaXMuc2FmYXJpVmlld0NvbnRyb2xsZXJcclxuICAgICAgLy8gICAgIC5zaG93KHtcclxuICAgICAgLy8gICAgICAgdXJsOiBodG1sU3RyaW5nT3JVcmwsXHJcbiAgICAgIC8vICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vICAgICAgIGFuaW1hdGVkOiB0cnVlLFxyXG4gICAgICAvLyAgICAgICB0cmFuc2l0aW9uOiBcImN1cmxcIixcclxuICAgICAgLy8gICAgIH0pXHJcbiAgICAgIC8vICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAvLyAgICAgICAocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgLy8gICAgICAgICBpZiAocmVzdWx0LmV2ZW50ID09PSBcIm9wZW5lZFwiKSB7XHJcbiAgICAgIC8vICAgICAgICAgICBjb25zb2xlLmxvZyhcIk9wZW5lZFwiKTtcclxuICAgICAgLy8gICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5ldmVudCA9PT0gXCJsb2FkZWRcIikge1xyXG4gICAgICAvLyAgICAgICAgICAgY29uc29sZS5sb2coXCJMb2FkZWRcIik7XHJcbiAgICAgIC8vICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZXZlbnQgPT09IFwiY2xvc2VkXCIpIHtcclxuICAgICAgLy8gICAgICAgICAgIGNvbnNvbGUubG9nKFwiQ2xvc2VkXCIpO1xyXG4gICAgICAvLyAgICAgICAgIH1cclxuICAgICAgLy8gICAgICAgfSxcclxuICAgICAgLy8gICAgICAgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgLy8gICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIC8vICAgICAgIH0sXHJcbiAgICAgIC8vICAgICApO1xyXG4gICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB0ZW1wRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgdGVtcERpdi5pbm5lckhUTUwgPSBodG1sU3RyaW5nT3JVcmw7IC8vIOWBh+iuvmh0bWxTdHJpbmfmmK/lrozmlbTnmoRIVE1M5a2X56ym5LiyXHJcbiAgICAgIGNvbnN0IGZvcm1FbGVtZW50ID0gdGVtcERpdi5xdWVyeVNlbGVjdG9yKFwiZm9ybVwiKTtcclxuICAgICAgaWYgKGZvcm1FbGVtZW50KSB7XHJcbiAgICAgICAgLy8g6Zi75q2i6buY6K6k6KGM5Li677yM6YG/5YWN6aG16Z2i5Yi35pawXHJcbiAgICAgICAgZm9ybUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8g5re75Yqg6ZqQ6JeP55qEaWZyYW1l5p2l5o+Q5Lqk6KGo5Y2VXHJcbiAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcclxuICAgICAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcclxuICAgICAgICBmb3JtRWxlbWVudC50YXJnZXQgPSBpZnJhbWUubmFtZTtcclxuICAgICAgICBjb25zb2xlLmxvZyhmb3JtRWxlbWVudCk7XHJcblxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybUVsZW1lbnQpO1xyXG4gICAgICAgIGZvcm1FbGVtZW50LnN1Ym1pdCgpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZm9ybUVsZW1lbnQpOyAvLyDmj5DkuqTlkI7np7vpmaTooajljZXlhYPntKBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFwi5pyq5om+5Yiw6KGo5Y2V5YWD57SgXCIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgdGhpcy50aW1lciA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuaUr+S7mOe7k+aenOi9ruivolwiKTtcclxuICAgICAgICBsZXQgQWNjb3VudExvZyA9IG5ldyBQYXJzZS5RdWVyeShcIkFjY291bnRMb2dcIik7XHJcbiAgICAgICAgQWNjb3VudExvZy5lcXVhbFRvKFwiY29tcGFueVwiLCB0aGlzLnd4anNzZGsuY29tcGFueSk7XHJcbiAgICAgICAgQWNjb3VudExvZy5lcXVhbFRvKFwib3JkZXJOdW1iZXJcIiwgdGhpcy50cmFkZU5vKTtcclxuICAgICAgICBBY2NvdW50TG9nLmVxdWFsVG8oXCJwYXlUeXBlXCIsIFwiYWxpcGF5XCIpO1xyXG4gICAgICAgIEFjY291bnRMb2cuZXF1YWxUbyhcImlzVmVyaWZpZWRcIiwgdHJ1ZSk7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IEFjY291bnRMb2cuZmlyc3QoKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5pZCkge1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMudGltZXIpIHtcclxuICAgICAgICAgIC8v5pSv5LuY5oiQ5Yqf6L+U5Zue54q25oCBXHJcbiAgICAgICAgICB0aGlzLnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnBheVJlc3VsdC5lbWl0KHtcclxuICAgICAgICAgICAgY29kZTogMjAwLFxyXG4gICAgICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8sXHJcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuY2hlY2twYXksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIGxldCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDdHJsLmNyZWF0ZSh7XHJcbiAgICAgICAgaGVhZGVyOiBcIuW8guW4uOmUmeivr1wiLFxyXG4gICAgICAgIHN1YkhlYWRlcjogXCJcIixcclxuICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcclxuICAgICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJvbGU6IFwib2tcIixcclxuICAgICAgICAgICAgdGV4dDogXCLnoa7orqRcIixcclxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge30sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBhbGVydC5wcmVzZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIOiOt+WPluaUr+S7mOWuneaUr+S7mFxyXG4gIGFzeW5jIGdldEFsaVBheVVybCgpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGxldCBiZWZvclVSTCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIGNvbXBhbnk6IHRoaXMud3hqc3Nkay5jb21wYW55LFxyXG4gICAgICAgIHRyYWRlTm86IHRoaXMudHJhZGVObyxcclxuICAgICAgICBwcmljZTogdGhpcy5wcmljZSxcclxuICAgICAgICB0cmFkZXR5cGU6IFwid2FwXCIsXHJcbiAgICAgICAgb3JkZXJUaXRsZTogdGhpcy50aXRsZSxcclxuICAgICAgICByZXR1cm5Vcmw6IGJlZm9yVVJMLFxyXG4gICAgICAgIHJldHVyblR5cGU6IFwiZ2V0XCIsXHJcbiAgICAgICAgcmVjaGFyZ2VSdWxlOnRoaXMuaXNSZWNoYXJnZVJ1bGVcclxuICAgICAgfTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgIC5wb3N0KFwiaHR0cHM6Ly9zZXJ2ZXIuZm1vZGUuY24vYXBpL2FsaXBheS9uZXdvcmRlclwiLCBwYXJhbXMpXHJcbiAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcihhc3luYyAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdChcIuaUr+S7mOWksei0pe+8mlwiICsgZXJyPy5lcnJvcj8ubWVzcywgXCJmYWlsXCIpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuY29kZSAhPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdChcIue9kee7nOmUmeivr++8jOivt+eojeWQjumHjeivlVwiLCBcIndhcm5pbmdcIik7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS5wYXlfdXJsKSB7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXMuZGF0YS5wYXlfdXJsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgIHRoaXMudG9hc3QoXCLnvZHnu5zplJnor6/vvIzor7fnqI3lkI7ph43or5VcIiwgXCJ3YXJuaW5nXCIpO1xyXG4gICAgICAgICAgcmVqZWN0KGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU9yZGVyKG5vbmNlX3N0cjogc3RyaW5nKSB7XHJcbiAgICAvLyDlrprml7bmn6Xor6LorqLljZXmlK/ku5jnirbmgIFcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoYXQudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGxldCBpbmZvID0ge1xyXG4gICAgICAgIG91dF90cmFkZV9ubzogdGhhdC50cmFkZU5vLFxyXG4gICAgICAgIG5vbmNlX3N0cjogbm9uY2Vfc3RyLFxyXG4gICAgICAgIGNvbXBhbnk6IHRoaXMud3hqc3Nkay5jb21wYW55LFxyXG4gICAgICB9O1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhpbmZvKTtcclxuICAgICAgUGFyc2UuQ2xvdWQucnVuKFwib3JkZXJfc3RhdHVzMlwiLCBpbmZvKVxyXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICBpZiAocmVzLnN0YXR1cyAmJiByZXMuc3RhdHVzWzBdID09IFwiU1VDQ0VTU1wiKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhhdC50aW1lcik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuaXNSZWNoYXJnZVJ1bGUpe1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLm9yZGVySWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGF5U2VydmVyLnVwZGF0ZUFjY291bnRMb2coaW5mbywgdGhpcy5vcmRlcklkKTtcclxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3JkZXJUeXBlID09IFwicmVjaGFyZ2VcIikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50TG9nID0gYXdhaXQgdGhpcy5wYXlTZXJ2ZXIudXBkYXRlUmVjaGFyZ2UoXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWNjb3VudExvZyEsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGF0LnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgdGhhdC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhhdC5wYXlSZXN1bHQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgY29kZTogMjAwLFxyXG4gICAgICAgICAgICAgIHRyYWRlTm86IHRoaXMudHJhZGVObyxcclxuICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7fSk7XHJcbiAgICB9LCAzMDAwKTtcclxuICB9XHJcblxyXG4gIC8vIOaUr+S7mOWJjeeVmeWtmOmihOiuouWNlVxyXG4gIGFzeW5jIGNlcnRpZmljYXRlUGF5KCkge1xyXG4gICAgYXdhaXQgdGhpcy5wYXlTZXJ2ZXIuY3JlYXRlZEFjY291bnRMb2coe1xyXG4gICAgICBjb21wYW55OiB0aGlzLnd4anNzZGsuY29tcGFueSxcclxuICAgICAgb3JkZXJJZDogdGhpcy5vcmRlcklkLFxyXG4gICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8sXHJcbiAgICAgIHByaWNlOiB0aGlzLnByaWNlLFxyXG4gICAgICBwYXlUeXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICBvcmRlclR5cGU6IHRoaXMub3JkZXJUeXBlXHJcbiAgICB9KVxyXG4gICAgaWYoIXRoaXMuaXNSZWNoYXJnZVJ1bGUpIHJldHVyblxyXG4gICAgaWYgKHRoaXMub3JkZXJUeXBlID09IFwidmlwXCIgJiYgIXRoaXMub3JkZXJJZCAmJiB0aGlzLmdpZCkge1xyXG4gICAgICBsZXQgcmVzdWx0ZSA9IGF3YWl0IHRoaXMucGF5U2VydmVyLnNldE9yZGVyKHtcclxuICAgICAgICB0eXBlOiBcInNlcnZpY2VcIiwgLy/liJvlu7rmnI3liqHnsbvorqLljZVcclxuICAgICAgICBnaWQ6IHRoaXMuZ2lkLFxyXG4gICAgICAgIHByaWNlOiB0aGlzLnByaWNlLFxyXG4gICAgICAgIHRvdGFsX2ZlZTogdGhpcy5wcmljZSxcclxuICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8hLFxyXG4gICAgICAgIG91dF90cmFkZV9ubzogdGhpcy50cmFkZU5vISxcclxuICAgICAgICBwYXlUeXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICAgIGNvZGU6dGhpcy5jb2RlTGlua1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0ZSk7XHJcbiAgICAgIGlmIChyZXN1bHRlPy5vYmplY3RJZCkge1xyXG4gICAgICAgIHRoaXMub3JkZXJJZCA9IHJlc3VsdGUub2JqZWN0SWQ7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlclR5cGUgPT0gXCJyZWNoYXJnZVwiKSB7XHJcbiAgICAgIHRoaXMuYWNjb3VudExvZyA9IGF3YWl0IHRoaXMucGF5U2VydmVyLmNyZWF0ZFJlY2hhcmdlTG9nKHtcclxuICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8hLFxyXG4gICAgICAgIHBheVR5cGU6IHRoaXMuY2hlY2twYXksXHJcbiAgICAgICAgcHJpY2U6IHRoaXMucHJpY2UsXHJcbiAgICAgICAgY3JlZGl0OiB0aGlzLmNyZWRpdCEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKiDlhbPpl63mlK/ku5jlvLnnqpcgKi9cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHtcclxuICAgICAgY29kZTogMCxcclxuICAgICAgdHJhZGVObzogdGhpcy50cmFkZU5vLFxyXG4gICAgICB0eXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgfTtcclxuICAgIHRoaXMucGF5UmVzdWx0LmVtaXQocmVzdWx0KTtcclxuICB9XHJcbiAgdG9hc3QodGV4dDogc3RyaW5nLCB0eXBlPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB0b2FzdEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIGNvbnN0IGNvbG9yID0gdHlwZSA/PyBcIndhcm5pbmdcIjtcclxuXHJcbiAgICAvLyDpopzoibLphY3nva5cclxuICAgIGNvbnN0IGNvbG9yQ29uZmlnID0ge1xyXG4gICAgICBzdWNjZXNzOiB7IGJnOiBcIiMxMGRjNjBcIiwgdGV4dDogXCIjZmZmXCIgfSxcclxuICAgICAgZGFuZ2VyOiB7IGJnOiBcIiNmMDQxNDFcIiwgdGV4dDogXCIjZmZmXCIgfSxcclxuICAgICAgZmFpbDogeyBiZzogXCIjZjA0MTQxXCIsIHRleHQ6IFwiI2ZmZlwiIH0sXHJcbiAgICAgIHdhcm5pbmc6IHsgYmc6IFwiI2ZmY2UwMFwiLCB0ZXh0OiBcIiMwMDBcIiB9LFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyDlupTnlKjmoLflvI9cclxuICAgIE9iamVjdC5hc3NpZ24odG9hc3RFbC5zdHlsZSwge1xyXG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxyXG4gICAgICBib3R0b206IFwiMjBweFwiLFxyXG4gICAgICBsZWZ0OiBcIjUwJVwiLFxyXG4gICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgtNTAlKVwiLFxyXG4gICAgICBwYWRkaW5nOiBcIjEycHggMjBweFwiLFxyXG4gICAgICBib3JkZXJSYWRpdXM6IFwiNHB4XCIsXHJcbiAgICAgIHpJbmRleDogXCI5OTk5XCIsXHJcbiAgICAgIGZvbnRTaXplOiBcIjE0cHhcIixcclxuICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICBtaW5XaWR0aDogXCIyMDBweFwiLFxyXG4gICAgICBib3hTaGFkb3c6IFwiMCAzcHggNXB4IHJnYmEoMCwwLDAsMC4yKVwiLFxyXG4gICAgICBvcGFjaXR5OiBcIjBcIixcclxuICAgICAgdHJhbnNpdGlvbjogXCJvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXRcIixcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvckNvbmZpZ1tjb2xvcl0/LmJnIHx8IGNvbG9yQ29uZmlnLndhcm5pbmcuYmcsXHJcbiAgICAgIGNvbG9yOiBjb2xvckNvbmZpZ1tjb2xvcl0/LnRleHQgfHwgY29sb3JDb25maWcud2FybmluZy50ZXh0LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdG9hc3RFbC50ZXh0Q29udGVudCA9IHRleHQ7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRvYXN0RWwpO1xyXG5cclxuICAgIC8vIOaYvuekuuWSjOiHquWKqOenu+mZpFxyXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgdG9hc3RFbC5zdHlsZS5vcGFjaXR5ID0gXCIxXCI7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRvYXN0RWwuc3R5bGUub3BhY2l0eSA9IFwiMFwiO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0b2FzdEVsKSwgMzAwKTtcclxuICAgICAgfSwgMTUwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZXIgJiYgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChpc09wZW4pIHtcclxuICA8ZGl2IGNsYXNzPVwicGF5bWVudC1vdmVybGF5XCI+XHJcbiAgICA8IS0tIOWFqOWxgCBMb2FkaW5nIC0tPlxyXG4gICAgQGlmIChpc0xvYWRpbmcpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImdsb2JhbC1sb2FkaW5nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLXRleHRcIj7lpITnkIbkuK0uLi48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBheW1lbnQtYm94XCIgW2NsYXNzLmJsdXItZWZmZWN0XT1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5LWJveFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1idG5cIiAoY2xpY2spPVwiIWlzTG9hZGluZyAmJiBvbkNsb3NlKClcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYgKCFjb2RlTGluaykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBheS10aXRsZVwiPuaUr+S7mOiuouWNlTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBheS1udW1cIj7vv6V7eyBwcmljZSB8fCAwIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uc1wiPlxyXG4gICAgICAgICAgICBAaWYgKHNob3dUeXBlcy5pbmNsdWRlcyhcInd4cGF5XCIpKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJvbmNoYW5nUGF5KCd3eHBheScpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vZmlsZS1jbG91ZC5mbW9kZS5jbi9FNEtwR3ZURXRvLzIwMjMxMTIzL3Mxc3VuODA2MTAwMDAwNy5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIuW+ruS/oeaUr+S7mFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj7lvq7kv6HmlK/ku5g8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrXCIgW2NsYXNzLmNoZWNrLWFjdGl2ZV09XCJjaGVja3BheSA9PT0gJ3d4cGF5J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc2hvd1R5cGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc2hvd1R5cGVzLmluY2x1ZGVzKFwiYWxpcGF5XCIpKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJvbmNoYW5nUGF5KCdhbGlwYXknKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2ZpbGUtY2xvdWQuZm1vZGUuY24vc3RvcmFnZS9jb21wYW55L0U0S3BHdlRFdG8vMjAyNTA4MTUvMTEwOTM0MTY2LnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwi5pSv5LuY5a6dXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25cIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPuaUr+S7mOWunTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tcIiBbY2xhc3MuY2hlY2stYWN0aXZlXT1cImNoZWNrcGF5ID09PSAnYWxpcGF5J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXktZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcmRlci1udW1cIj7orqLljZXnvJblj7fvvJp7eyB0cmFkZU5vID8gdHJhZGVObyA6IFwiLVwiIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInBheS1idG5cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCIhaXNMb2FkaW5nICYmIHVzZXJQYXltZW50KClcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgIWNoZWNrcGF5XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIOWOu+S7mOasvlxyXG4gICAgICAgICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ0bi1sb2FkaW5nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJxcmNvZGUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8cXItY29kZSBbdmFsdWVdPVwiY29kZUxpbmtcIiB2YWx1ZT1cIuivt+S9v+eUqOaJi+acuuaJq+aPj+S6jOe7tOeggeWujOaIkOaUr+S7mFwiIFtzaXplXT1cIjE4MFwiPjwvcXItY29kZT5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJxcmNvZGUtdGlwXCI+6K+35L2/55So5omL5py65omr5o+P5LqM57u056CB5a6M5oiQ5pSv5LuYPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
545
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3BheW1lbnQvcGF5bWVudC9wYXltZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvcGF5bWVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsT0FBTztBQUNMLFlBQVk7QUFDWixXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLGVBQWUsR0FDaEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsVUFBVSxFQUFrQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQUFBLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFBQSxDQUFDO0FBYXBILE1BQU0sT0FBTyxnQkFBZ0I7SUEyQjNCLFlBQ1UsT0FBMkIsRUFDM0IsSUFBZ0IsRUFDaEIsVUFBMEIsRUFDMUIsU0FBeUI7SUFDakMsNENBQTRDO0lBQ3BDLFNBQTBCO1FBTDFCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDMUIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFFekIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFoQ3BCLFVBQUssR0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNO1FBRXpCLFVBQUssR0FBVyxNQUFNLENBQUMsQ0FBQyxNQUFNO1FBQzFCLGNBQVMsR0FBb0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBRTNELGNBQVMsR0FBVyxPQUFPLENBQUMsQ0FBQyxNQUFNO1FBQ3ZEOzs7VUFHRTtRQUN1QixtQkFBYyxHQUFZLEtBQUssQ0FBQyxDQUFDLFNBQVM7UUFDbEQsV0FBTSxHQUF1QixDQUFDLENBQUMsQ0FBQyxRQUFRO1FBSS9DLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRCxXQUFNLEdBQVksSUFBSSxDQUFDLENBQUMsTUFBTTtRQUUvQyxhQUFRLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFHM0MsU0FBSSxHQUFlLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFHLENBQUM7UUFJekMsY0FBUyxHQUFZLEtBQUssQ0FBQyxDQUFDLElBQUk7UUE4RWhDLGVBQVUsR0FBWSxLQUFLLENBQUMsQ0FBQyxJQUFJO0lBdEU5QixDQUFDO0lBQ0osUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hCLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO2dCQUMxQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBa0I7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWTtJQUNaLEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLENBQUM7UUFDRCx5QkFBeUI7UUFDekIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNELHNEQUFzRDtZQUN0RCxJQUNFLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMxQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksVUFBVTtvQkFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDL0QsQ0FBQztnQkFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksRUFBRSxHQUFHO2dCQUNULE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3BCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBQ0QsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQVk7SUFDWixLQUFLLENBQUMsU0FBUztRQUNiLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixVQUFVO1lBQ1YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFHRCxlQUFlO0lBQ2YsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLE1BQU0sR0FDUixZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO1lBQy9DLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxNQUFNLEdBQUc7b0JBQ1gsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztvQkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNoQixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQzFCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLO29CQUN0QixNQUFNLEVBQUUsTUFBTTtvQkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2lCQUNwQyxDQUFDO2dCQUNGLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDakIsSUFBSSxDQUFDLElBQUk7cUJBQ04sSUFBSSxDQUFDLDRDQUE0QyxFQUFFLE1BQU0sQ0FBQztxQkFDMUQsSUFBSSxDQUNILFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7b0JBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO29CQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pELENBQUMsQ0FBQyxDQUNIO3FCQUNBLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUU1QixJQUFJLE9BQU8sR0FBUSxRQUFRLENBQUM7b0JBQzVCLEVBQUUsQ0FBQyxXQUFXLENBQUM7d0JBQ2IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsK0VBQStFO3dCQUM3RyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxtQkFBbUI7d0JBQy9DLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLGdEQUFnRDt3QkFDMUUsUUFBUSxFQUFFLEtBQUssRUFBRSxnQ0FBZ0M7d0JBQ2pELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU87d0JBQ2pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBUSxFQUFFLEVBQUU7NEJBQzFCLGFBQWE7NEJBQ2IsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQ0FDUixJQUFHLElBQUksQ0FBQyxjQUFjLEVBQUMsQ0FBQztvQ0FDdEIsSUFBSSxJQUFJLEdBQUc7d0NBQ1QsWUFBWSxFQUFFLEtBQUssQ0FBQyxPQUFPO3dDQUMzQixTQUFTLEVBQUUsT0FBTyxDQUFDLFFBQVE7d0NBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87cUNBQzlCLENBQUM7b0NBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7d0NBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQ0FDdEQsQ0FBQzt5Q0FBTSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7d0NBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FDbkQsSUFBSSxDQUFDLFVBQVcsQ0FDakIsQ0FBQztvQ0FDSixDQUFDO2dDQUNILENBQUM7Z0NBQ0QsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0NBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dDQUMvQixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQ0FDbkIsSUFBSSxFQUFFLEdBQUc7b0NBQ1QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO29DQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7aUNBQ3BCLENBQUMsQ0FBQzs0QkFDTCxDQUFDO3dCQUNILENBQUM7cUJBQ0YsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDTiwwQkFBMEI7Z0JBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO29CQUN0QyxNQUFNLEVBQUUsSUFBSTtvQkFDWixTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUscUJBQXFCO29CQUM5QixPQUFPLEVBQUU7d0JBQ1A7NEJBQ0UsSUFBSSxFQUFFLElBQUk7NEJBQ1YsSUFBSSxFQUFFLElBQUk7NEJBQ1YsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQ0FDWixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7NEJBQ3BCLENBQUM7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDdEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixPQUFPLEVBQUU7b0JBQ1A7d0JBQ0UsSUFBSSxFQUFFLElBQUk7d0JBQ1YsSUFBSSxFQUFFLElBQUk7d0JBQ1YsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7cUJBQ2xCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBQ0QsY0FBYztJQUNkLEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxNQUFNLEdBQUc7WUFDWCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTztZQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUM7UUFDRixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO2FBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1Qix1QkFBdUI7UUFDekIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztJQUNYLEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxlQUFlLEdBQVEsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1Qiw4QkFBOEI7WUFDOUIsOEJBQThCO1lBQzlCLGNBQWM7WUFDZCw4QkFBOEI7WUFDOUIsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsU0FBUztZQUNULGtCQUFrQjtZQUNsQiwyQkFBMkI7WUFDM0IsMkNBQTJDO1lBQzNDLG1DQUFtQztZQUNuQyxrREFBa0Q7WUFDbEQsbUNBQW1DO1lBQ25DLGtEQUFrRDtZQUNsRCxtQ0FBbUM7WUFDbkMsWUFBWTtZQUNaLFdBQVc7WUFDWCwwQkFBMEI7WUFDMUIsOEJBQThCO1lBQzlCLFdBQVc7WUFDWCxTQUFTO1lBQ1QsV0FBVztZQUNYLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsQ0FBQywwQkFBMEI7WUFDL0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztnQkFDSCxtQkFBbUI7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFekIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3ZDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZO1lBQ3RELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSTtZQUVKLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QixJQUFJLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3BELFVBQVUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDaEQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDeEIsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDaEIsVUFBVTtvQkFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNsQixJQUFJLEVBQUUsR0FBRzt3QkFDVCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtxQkFDcEIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUN0QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxTQUFTLEVBQUUsRUFBRTtnQkFDYixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87Z0JBQ3BCLE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxJQUFJLEVBQUUsSUFBSTt3QkFDVixJQUFJLEVBQUUsSUFBSTt3QkFDVixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztxQkFDbEI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFDRCxVQUFVO0lBQ1YsS0FBSyxDQUFDLFlBQVk7UUFDaEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNwQyxJQUFJLE1BQU0sR0FBRztnQkFDWCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDdEIsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixZQUFZLEVBQUMsSUFBSSxDQUFDLGNBQWM7YUFDakMsQ0FBQztZQUNGLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsSUFBSTtxQkFDTixJQUFJLENBQUMsNkNBQTZDLEVBQUUsTUFBTSxDQUFDO3FCQUMzRCxJQUFJLENBQ0gsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLENBQ0g7cUJBQ0EsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQzt3QkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3BDLE9BQU87b0JBQ1QsQ0FBQztvQkFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzVCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsU0FBaUI7UUFDM0IsYUFBYTtRQUNiLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxJQUFJLEdBQUc7Z0JBQ1QsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUMxQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzthQUM5QixDQUFDO1lBQ0YscUJBQXFCO1lBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7aUJBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xCLG9CQUFvQjtnQkFDcEIsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQzdDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzFCLElBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDO3dCQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUN0RCxDQUFDOzZCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQzs0QkFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUNuRCxJQUFJLENBQUMsVUFBVyxDQUNqQixDQUFDO3dCQUNKLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNsQixJQUFJLEVBQUUsR0FBRzt3QkFDVCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtxQkFDcEIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUN4QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVztJQUNYLEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFBO1FBQ0YsSUFBRyxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTTtRQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekQsSUFBSSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztnQkFDMUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTO2dCQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBUTtnQkFDdEIsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFRO2dCQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3RCLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUTthQUNuQixDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLElBQUksT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3ZELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBUTtnQkFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTzthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQVk7SUFDWixPQUFPO1FBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUc7WUFDYixJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDcEIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxLQUFLLENBQUMsSUFBWSxFQUFFLElBQWE7UUFDL0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDO1FBRWhDLE9BQU87UUFDUCxNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3ZDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNyQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7U0FDekMsQ0FBQztRQUVGLE9BQU87UUFDUCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDM0IsUUFBUSxFQUFFLE9BQU87WUFDakIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLFNBQVMsRUFBRSxrQkFBa0I7WUFDN0IsT0FBTyxFQUFFLFdBQVc7WUFDcEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsTUFBTTtZQUNoQixTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsT0FBTztZQUNqQixTQUFTLEVBQUUsMkJBQTJCO1lBQ3RDLE9BQU8sRUFBRSxHQUFHO1lBQ1osVUFBVSxFQUFFLDBCQUEwQjtZQUN0QyxlQUFlLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1NBQzVELENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLFVBQVU7UUFDVixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2dCQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQXhmVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpVUM3QjdCLDByR0E0RUEsNnlJRG5EWSxZQUFZLDhCQUFFLFlBQVk7OzRGQUl6QixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7d01BS3JCLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFDSSxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0EsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNNLFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFFRSxTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBS08sY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ04sTUFBTTtzQkFBdEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNELEdBQUc7c0JBQWhCLEtBQUs7dUJBQUMsS0FBSztnQkFDTSxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBRU4sU0FBUztzQkFBbEIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFdlY2hhdEpzc2RrU2VydmljZSB9IGZyb20gXCIuLi8uLi9zb2NpYWwvd2VjaGF0L3dlY2hhdC1qc3Nkay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFFyQ29kZU1vZHVsZSB9IGZyb20gJ25nLXFyY29kZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIC8vIElvbk1vZGFsLFxyXG4gIC8vIElvbkljb24sXHJcbiAgLy8gVG9hc3RDb250cm9sbGVyLFxyXG4gIEFsZXJ0Q29udHJvbGxlcixcclxufSBmcm9tIFwiQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZVwiO1xyXG5cclxuaW1wb3J0IHtGbW9kZVBhcnNlLEZtb2RlT2JqZWN0LEZtb2RlUXVlcnksRm1vZGVVc2VyfSBmcm9tIFwiLi4vLi4vY29yZS9wYXJzZVwiO2NvbnN0IFBhcnNlID0gRm1vZGVQYXJzZS53aXRoKFwibm92YVwiKTs7XHJcbmRlY2xhcmUgdmFyIHd4OiBhbnk7XHJcblxyXG4vLyDlrprkuYnmlK/ku5jnsbvlnovmnprkuL5cclxudHlwZSBQYXltZW50TWV0aG9kID0gXCJ3eHBheVwiIHwgXCJhbGlwYXlcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImZtLXBheW1lbnRcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFFyQ29kZU1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYXltZW50LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9wYXltZW50LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50Q29tcG9uZW50IHtcclxuICBASW5wdXQoXCJwcmljZVwiKSBwcmljZTogbnVtYmVyID0gMDsgLy/mlK/ku5jph5Hpop1cclxuICBASW5wdXQoXCJ0cmFkZU5vXCIpIHRyYWRlTm86IHN0cmluZyB8IHVuZGVmaW5lZDsgLy/mlK/ku5jljZXlj7dcclxuICBASW5wdXQoXCJ0aXRsZVwiKSB0aXRsZTogc3RyaW5nID0gXCLmlK/ku5jorqLljZVcIjsgLy/mlK/ku5jmoIfpophcclxuICBASW5wdXQoXCJzaG93VHlwZXNcIikgc2hvd1R5cGVzOiBQYXltZW50TWV0aG9kW10gPSBbXCJ3eHBheVwiLCBcImFsaXBheVwiXTsgLy/mmL7npLrnmoTmlK/ku5jmlrnlvI9cclxuICBcclxuICBASW5wdXQoXCJvcmRlclR5cGVcIikgb3JkZXJUeXBlOiBzdHJpbmcgPSAnZ29vZHMnOyAvL+iuouWNleexu+Wei1xyXG4gIC8qIOWFs+mUruWumuWItuWPguaVsGlzUmVjaGFyZ2VSdWxl77ya5b2Tb3JkZXJUeXBlID0gdmlwIHwgcmVjaGFyZ2XkuJTlpoLmnpxpc1JlY2hhcmdlUnVsZeS4unRydWXvvIzliJnooajnpLrmmK/lhYXlgLzop4TliJnvvIzpnIDopoHorr7nva5jcmVkaXTmiJZnaWQgXHJcbiAgKiBvcmRlclR5cGXvvJp2aXAg5Lya5ZGY5byA6YCaXHJcbiAgKiBvcmRlclR5cGXvvJpyZWNoYXJnZSDlhYXlgLxcclxuICAqL1xyXG4gIEBJbnB1dChcImlzUmVjaGFyZ2VSdWxlXCIpIGlzUmVjaGFyZ2VSdWxlOiBib29sZWFuID0gZmFsc2U7IC8v5piv5ZCm5piv5YWF5YC86KeE5YiZXHJcbiAgQElucHV0KFwiY3JlZGl0XCIpIGNyZWRpdDogbnVtYmVyIHwgdW5kZWZpbmVkID0gMDsgLy/np6/liIYm6Jma5ouf5biBXHJcbiAgQElucHV0KFwiZ2lkXCIpIGdpZDogc3RyaW5nIHwgdW5kZWZpbmVkOyAvL+WVhuWTgUlEXHJcbiAgQElucHV0KFwib3JkZXJJZFwiKSBvcmRlcklkPzogc3RyaW5nOyAvL+iuouWNlUlEXHJcblxyXG4gIEBPdXRwdXQoKSBwYXlSZXN1bHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KFwiaXNPcGVuXCIpIGlzT3BlbjogYm9vbGVhbiA9IHRydWU7IC8v5omT5byA5by556qXXHJcblxyXG4gIGNoZWNrcGF5OiBzdHJpbmcgPSB0aGlzLnNob3dUeXBlc1swXSB8fCBcIlwiO1xyXG4gIHVzZXJBZ2VudD86IHN0cmluZzsgLy/ojrflj5blvZPliY3mtY/op4jlmajnjq/looNcclxuICBjb2RlTGluaz86IHN0cmluZztcclxuICB1c2VyOkZtb2RlT2JqZWN0ID0gUGFyc2UuVXNlci5jdXJyZW50KCkhO1xyXG4gIHRpbWVyOiBhbnk7IC8v5a6a5pe25p+l6K+iXHJcblxyXG4gIGFjY291bnRMb2c/OkZtb2RlT2JqZWN0OyAvLyDlhYXlgLzorrDlvZVcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTsgLy/nrYnlvoVcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgd3hqc3NkazogV2VjaGF0SnNzZGtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhY3RpdlJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcGF5U2VydmVyOiBQYXltZW50U2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxyXG4gICkge31cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWN0aXZSb3V0ZS5wYXJhbU1hcC5zdWJzY3JpYmUoYXN5bmMgKHBhcmFtcykgPT4ge1xyXG4gICAgICBsZXQgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHVhKTtcclxuICAgICAgaWYgKHVhLmluZGV4T2YoXCJtaWNyb21lc3NlbmdlclwiKSAhPSAtMSkge1xyXG4gICAgICAgIHRoaXMudXNlckFnZW50ID0gXCJ3ZWl4aW5cIjtcclxuICAgICAgICBhd2FpdCB0aGlzLnd4anNzZGsuaW5pdFVzZXJPcGVuaWQoKTtcclxuICAgICAgICB0aGlzLnd4anNzZGsuc2V0Q3VycmVudFBhZ2VTaGFyZUluZm8oKTtcclxuICAgICAgfSBlbHNlIGlmICh1YS5pbmRleE9mKFwid2luZG93c1wiKSAhPSAtMSB8fCB1YS5pbmRleE9mKFwiTWFjaW50b3NoXCIpICE9IC0xKSB7XHJcbiAgICAgICAgdGhpcy51c2VyQWdlbnQgPSBcInBjXCI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25jaGFuZ1BheSh2YWw6IFBheW1lbnRNZXRob2QpIHtcclxuICAgIHRoaXMuY2hlY2twYXkgPSB2YWw7XHJcbiAgICBjb25zb2xlLmxvZyh2YWwpO1xyXG4gIH1cclxuXHJcbiAgLyog55So5oi356Gu6K6k5pSv5LuYICovXHJcbiAgYXN5bmMgdXNlclBheW1lbnQoKSB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgIXRoaXMuY2hlY2twYXkpIHJldHVybjtcclxuICAgIGlmICghdGhpcy50cmFkZU5vKSB7XHJcbiAgICAgIHRoaXMudHJhZGVObyA9IHRoaXMucGF5U2VydmVyLnNldFRyYWRlTm8oKTtcclxuICAgIH1cclxuICAgIC8qIGlzUmVjaGFyZ2VSdWxlIOWFheWAvOinhOWImSAqL1xyXG4gICAgaWYgKHRoaXMuaXNSZWNoYXJnZVJ1bGUgJiYgdGhpcy50cmFkZU5vKSB7XHJcbiAgICAgIHRoaXMub3JkZXJJZCA9IGF3YWl0IHRoaXMucGF5U2VydmVyLmdldE9yZGVyKHRoaXMudHJhZGVObyk7XHJcbiAgICAgIC8v5ruh6LazIOKRoOS8muWRmOWFheWAvOS4lOiuouWNleS4jeWtmOWcqCDikaHkvZnpop3lhYXlgLzkuJTlhYXlgLzorrDlvZXkuI3lrZjlnKjmiJblt7LmlK/ku5gg5bCG6YeN5paw5Yib5bu66K6i5Y2V5Y+35L2c5Li65paw6K6i5Y2V5Yib5bu6ICAgIFxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRoaXMub3JkZXJUeXBlID09IFwidmlwXCIgJiYgIXRoaXMub3JkZXJJZCkgfHxcclxuICAgICAgICAodGhpcy5vcmRlclR5cGUgPT0gXCJyZWNoYXJnZVwiICYmXHJcbiAgICAgICAgICAoIXRoaXMuYWNjb3VudExvZz8uaWQgfHwgdGhpcy5hY2NvdW50TG9nPy5nZXQoXCJpc1ZlcmlmaWVkXCIpKSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy50cmFkZU5vID0gdGhpcy5wYXlTZXJ2ZXIuc2V0VHJhZGVObygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRyYWRlTm8pO1xyXG4gICAgaWYgKHRoaXMucHJpY2UgPT0gMCkge1xyXG4gICAgICB0aGlzLnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5wYXlSZXN1bHQuZW1pdCh7XHJcbiAgICAgICAgY29kZTogMjAwLFxyXG4gICAgICAgIHRyYWRlTm86IHRoaXMudHJhZGVObyxcclxuICAgICAgICB0eXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy50cmFkZU5vID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoICh0aGlzLmNoZWNrcGF5KSB7XHJcbiAgICAgIGNhc2UgXCJ3eHBheVwiOlxyXG4gICAgICAgIHRoaXMub3Blbld4UGF5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJhbGlwYXlcIjpcclxuICAgICAgICB0aGlzLm9wZW5BbGlwYXkoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgLyog5qCh6aqM5pSv5LuY5pa55byPICovXHJcbiAgYXN5bmMgb3Blbld4UGF5KCkge1xyXG4gICAgbGV0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgbGV0IGlzV2VpeGluID0gdWEuaW5kZXhPZihcIm1pY3JvbWVzc2VuZ2VyXCIpICE9IC0xO1xyXG4gICAgaWYgKGlzV2VpeGluKSB7XHJcbiAgICAgIC8vSlNBUEkg5pSv5LuYXHJcbiAgICAgIHRoaXMud3hQYXlINSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53eFBheSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7IC8v6Ziy5oqWXHJcblxyXG4gIC8qIOW+ruS/oea1j+iniOWZqEg1546v5aKDICovXHJcbiAgYXN5bmMgd3hQYXlINSgpIHtcclxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIGxldCB3ZWNoYXQgPSBQYXJzZS5Vc2VyLmN1cnJlbnQoKT8uZ2V0KFwid2VjaGF0XCIpO1xyXG4gICAgICBsZXQgb3BlbmlkID1cclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm9wZW5pZFwiKSB8fFxyXG4gICAgICAgIHdlY2hhdFt0aGlzLnd4anNzZGsud2VjaGF0QWNjb3VudElkXT8ub3BlbmlkO1xyXG4gICAgICBpZiAob3BlbmlkKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICAgIGNvbXBhbnk6IHRoaXMud3hqc3Nkay5jb21wYW55LFxyXG4gICAgICAgICAgYm9keTogdGhpcy50aXRsZSxcclxuICAgICAgICAgIG91dF90cmFkZV9ubzogdGhpcy50cmFkZU5vLFxyXG4gICAgICAgICAgdG90YWxfZmVlOiArdGhpcy5wcmljZSxcclxuICAgICAgICAgIG9wZW5pZDogb3BlbmlkLFxyXG4gICAgICAgICAgYXBwaWQ6IHRoaXMud3hqc3Nkay53ZWNoYXRBY2NvdW50SWQsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QoYGh0dHBzOi8vc2VydmVyLmZtb2RlLmNuL2FwaS93eHBheS9uZXdvcmRlcmAsIHBhcmFtcylcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGFzeW5jIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0KFwi5pSv5LuY5aSx6LSl77yaXCIgKyBlcnI/LmVycm9yPy5tZXNzLCBcImZhaWxcIik7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShhc3luYyAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZVBheSgpO1xyXG5cclxuICAgICAgICAgICAgbGV0IHBheWluZm86IGFueSA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICB3eC5jaG9vc2VXWFBheSh7XHJcbiAgICAgICAgICAgICAgdGltZXN0YW1wOiBwYXlpbmZvLnRpbWVTdGFtcCwgLy8g5pSv5LuY562+5ZCN5pe26Ze05oiz77yM5rOo5oSP5b6u5L+hanNzZGvkuK3nmoTmiYDmnInkvb/nlKh0aW1lc3RhbXDlrZfmrrXlnYfkuLrlsI/lhpnjgILkvYbmnIDmlrDniYjnmoTmlK/ku5jlkI7lj7DnlJ/miJDnrb7lkI3kvb/nlKjnmoR0aW1lU3RhbXDlrZfmrrXlkI3pnIDlpKflhpnlhbbkuK3nmoRT5a2X56ymXHJcbiAgICAgICAgICAgICAgbm9uY2VTdHI6IHBheWluZm8ubm9uY2VTdHIsIC8vIOaUr+S7mOetvuWQjemaj+acuuS4su+8jOS4jemVv+S6jiAzMiDkvY1cclxuICAgICAgICAgICAgICBwYWNrYWdlOiBwYXlpbmZvLnBhY2thZ2UsIC8vIOe7n+S4gOaUr+S7mOaOpeWPo+i/lOWbnueahHByZXBheV9pZOWPguaVsOWAvO+8jOaPkOS6pOagvOW8j+Wmgu+8mnByZXBheV9pZD1cXCpcXCpcXCrvvIlcclxuICAgICAgICAgICAgICBzaWduVHlwZTogXCJNRDVcIiwgLy8g562+5ZCN5pa55byP77yM6buY6K6k5Li6J1NIQTEn77yM5L2/55So5paw54mI5pSv5LuY6ZyA5Lyg5YWlJ01ENSdcclxuICAgICAgICAgICAgICBwYXlTaWduOiBwYXlpbmZvLnBheVNpZ24sIC8vIOaUr+S7mOetvuWQjVxyXG4gICAgICAgICAgICAgIHN1Y2Nlc3M6IGFzeW5jIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8g5pSv5LuY5oiQ5Yqf5ZCO55qE5Zue6LCD5Ye95pWwXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNSZWNoYXJnZVJ1bGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmZvID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgb3V0X3RyYWRlX25vOiBfdGhpcy50cmFkZU5vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9uY2Vfc3RyOiBwYXlpbmZvLm5vbmNlU3RyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY29tcGFueTogdGhpcy53eGpzc2RrLmNvbXBhbnksXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcmRlcklkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBheVNlcnZlci51cGRhdGVBY2NvdW50TG9nKGluZm8sIHRoaXMub3JkZXJJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyVHlwZSA9PSBcInJlY2hhcmdlXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjb3VudExvZyA9IGF3YWl0IHRoaXMucGF5U2VydmVyLnVwZGF0ZVJlY2hhcmdlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY291bnRMb2chLFxyXG4gICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgX3RoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIF90aGlzLnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgICAgICAgX3RoaXMucGF5UmVzdWx0LmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IDIwMCxcclxuICAgICAgICAgICAgICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8sXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogdGhpcy5jaGVja3BheSxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gYWxlcnQoJ+e8uuWwkW9wZW5pZCzor7fph43mlrDnmbvlvZUnKVxyXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGxldCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDdHJsLmNyZWF0ZSh7XHJcbiAgICAgICAgICBoZWFkZXI6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgICBzdWJIZWFkZXI6IFwiXCIsXHJcbiAgICAgICAgICBtZXNzYWdlOiBcIue8uuWwkW9wZW5pZCzor7fliLfmlrDpobXpnaLmiJbph43mlrDnmbvlvZVcIixcclxuICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHJvbGU6IFwib2tcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIuehruiupFwiLFxyXG4gICAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFsZXJ0LnByZXNlbnQoKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcclxuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIGxldCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDdHJsLmNyZWF0ZSh7XHJcbiAgICAgICAgaGVhZGVyOiBcIuW8guW4uOmUmeivr1wiLFxyXG4gICAgICAgIHN1YkhlYWRlcjogXCJcIixcclxuICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcclxuICAgICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJvbGU6IFwib2tcIixcclxuICAgICAgICAgICAgdGV4dDogXCLnoa7orqRcIixcclxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge30sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBhbGVydC5wcmVzZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qIOa1j+iniOWZqOS6jOe7tOeggeaUr+S7mCAqL1xyXG4gIGFzeW5jIHd4UGF5KCkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgY29tcGFueTogdGhpcy53eGpzc2RrLmNvbXBhbnksXHJcbiAgICAgIG91dF90cmFkZV9ubzogdGhpcy50cmFkZU5vLFxyXG4gICAgICB0b3RhbF9mZWU6IHRoaXMucHJpY2UsXHJcbiAgICAgIGJvZHk6IHRoaXMudGl0bGUsXHJcbiAgICB9O1xyXG4gICAgUGFyc2UuQ2xvdWQucnVuKFwicGF5X2NvZGUyXCIsIHBhcmFtcylcclxuICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgIGxldCBub25jZV9zdHIgPSByZXMubm9uY2Vfc3RyO1xyXG4gICAgICAgIHRoaXMuY29kZUxpbmsgPSByZXMuY29kZV91cmxbMF07XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5jb2RlTGluayk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZVBheSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlT3JkZXIobm9uY2Vfc3RyKTtcclxuICAgICAgICAvLyB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9hc3QoZXJyLm1lc3NhZ2UsIFwiZGFuZ2VyXCIpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qIOaUr+S7mOWuneaUr+S7mCAqL1xyXG4gIGFzeW5jIG9wZW5BbGlwYXkoKSB7XHJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICBsZXQgaHRtbFN0cmluZ09yVXJsOiBhbnkgPSBhd2FpdCB0aGlzLmdldEFsaVBheVVybCgpO1xyXG4gICAgICBjb25zb2xlLmxvZyhodG1sU3RyaW5nT3JVcmwpO1xyXG4gICAgICBhd2FpdCB0aGlzLmNlcnRpZmljYXRlUGF5KCk7XHJcbiAgICAgIC8vIGlmICh0aGlzLmRldmljZVNlci5pc0lPUykge1xyXG4gICAgICAvLyAgIHRoaXMuc2FmYXJpVmlld0NvbnRyb2xsZXJcclxuICAgICAgLy8gICAgIC5zaG93KHtcclxuICAgICAgLy8gICAgICAgdXJsOiBodG1sU3RyaW5nT3JVcmwsXHJcbiAgICAgIC8vICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vICAgICAgIGFuaW1hdGVkOiB0cnVlLFxyXG4gICAgICAvLyAgICAgICB0cmFuc2l0aW9uOiBcImN1cmxcIixcclxuICAgICAgLy8gICAgIH0pXHJcbiAgICAgIC8vICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAvLyAgICAgICAocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgLy8gICAgICAgICBpZiAocmVzdWx0LmV2ZW50ID09PSBcIm9wZW5lZFwiKSB7XHJcbiAgICAgIC8vICAgICAgICAgICBjb25zb2xlLmxvZyhcIk9wZW5lZFwiKTtcclxuICAgICAgLy8gICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5ldmVudCA9PT0gXCJsb2FkZWRcIikge1xyXG4gICAgICAvLyAgICAgICAgICAgY29uc29sZS5sb2coXCJMb2FkZWRcIik7XHJcbiAgICAgIC8vICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZXZlbnQgPT09IFwiY2xvc2VkXCIpIHtcclxuICAgICAgLy8gICAgICAgICAgIGNvbnNvbGUubG9nKFwiQ2xvc2VkXCIpO1xyXG4gICAgICAvLyAgICAgICAgIH1cclxuICAgICAgLy8gICAgICAgfSxcclxuICAgICAgLy8gICAgICAgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgLy8gICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIC8vICAgICAgIH0sXHJcbiAgICAgIC8vICAgICApO1xyXG4gICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB0ZW1wRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgdGVtcERpdi5pbm5lckhUTUwgPSBodG1sU3RyaW5nT3JVcmw7IC8vIOWBh+iuvmh0bWxTdHJpbmfmmK/lrozmlbTnmoRIVE1M5a2X56ym5LiyXHJcbiAgICAgIGNvbnN0IGZvcm1FbGVtZW50ID0gdGVtcERpdi5xdWVyeVNlbGVjdG9yKFwiZm9ybVwiKTtcclxuICAgICAgaWYgKGZvcm1FbGVtZW50KSB7XHJcbiAgICAgICAgLy8g6Zi75q2i6buY6K6k6KGM5Li677yM6YG/5YWN6aG16Z2i5Yi35pawXHJcbiAgICAgICAgZm9ybUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8g5re75Yqg6ZqQ6JeP55qEaWZyYW1l5p2l5o+Q5Lqk6KGo5Y2VXHJcbiAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcclxuICAgICAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcclxuICAgICAgICBmb3JtRWxlbWVudC50YXJnZXQgPSBpZnJhbWUubmFtZTtcclxuICAgICAgICBjb25zb2xlLmxvZyhmb3JtRWxlbWVudCk7XHJcblxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybUVsZW1lbnQpO1xyXG4gICAgICAgIGZvcm1FbGVtZW50LnN1Ym1pdCgpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZm9ybUVsZW1lbnQpOyAvLyDmj5DkuqTlkI7np7vpmaTooajljZXlhYPntKBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFwi5pyq5om+5Yiw6KGo5Y2V5YWD57SgXCIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgdGhpcy50aW1lciA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuaUr+S7mOe7k+aenOi9ruivolwiKTtcclxuICAgICAgICBsZXQgQWNjb3VudExvZyA9IG5ldyBQYXJzZS5RdWVyeShcIkFjY291bnRMb2dcIik7XHJcbiAgICAgICAgQWNjb3VudExvZy5lcXVhbFRvKFwiY29tcGFueVwiLCB0aGlzLnd4anNzZGsuY29tcGFueSk7XHJcbiAgICAgICAgQWNjb3VudExvZy5lcXVhbFRvKFwib3JkZXJOdW1iZXJcIiwgdGhpcy50cmFkZU5vKTtcclxuICAgICAgICBBY2NvdW50TG9nLmVxdWFsVG8oXCJwYXlUeXBlXCIsIFwiYWxpcGF5XCIpO1xyXG4gICAgICAgIEFjY291bnRMb2cuZXF1YWxUbyhcImlzVmVyaWZpZWRcIiwgdHJ1ZSk7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IEFjY291bnRMb2cuZmlyc3QoKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5pZCkge1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMudGltZXIpIHtcclxuICAgICAgICAgIC8v5pSv5LuY5oiQ5Yqf6L+U5Zue54q25oCBXHJcbiAgICAgICAgICB0aGlzLnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnBheVJlc3VsdC5lbWl0KHtcclxuICAgICAgICAgICAgY29kZTogMjAwLFxyXG4gICAgICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8sXHJcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuY2hlY2twYXksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIGxldCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDdHJsLmNyZWF0ZSh7XHJcbiAgICAgICAgaGVhZGVyOiBcIuW8guW4uOmUmeivr1wiLFxyXG4gICAgICAgIHN1YkhlYWRlcjogXCJcIixcclxuICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcclxuICAgICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJvbGU6IFwib2tcIixcclxuICAgICAgICAgICAgdGV4dDogXCLnoa7orqRcIixcclxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge30sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBhbGVydC5wcmVzZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIOiOt+WPluaUr+S7mOWuneaUr+S7mFxyXG4gIGFzeW5jIGdldEFsaVBheVVybCgpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGxldCBiZWZvclVSTCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIGNvbXBhbnk6IHRoaXMud3hqc3Nkay5jb21wYW55LFxyXG4gICAgICAgIHRyYWRlTm86IHRoaXMudHJhZGVObyxcclxuICAgICAgICBwcmljZTogdGhpcy5wcmljZSxcclxuICAgICAgICB0cmFkZXR5cGU6IFwid2FwXCIsXHJcbiAgICAgICAgb3JkZXJUaXRsZTogdGhpcy50aXRsZSxcclxuICAgICAgICByZXR1cm5Vcmw6IGJlZm9yVVJMLFxyXG4gICAgICAgIHJldHVyblR5cGU6IFwiZ2V0XCIsXHJcbiAgICAgICAgcmVjaGFyZ2VSdWxlOnRoaXMuaXNSZWNoYXJnZVJ1bGVcclxuICAgICAgfTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgIC5wb3N0KFwiaHR0cHM6Ly9zZXJ2ZXIuZm1vZGUuY24vYXBpL2FsaXBheS9uZXdvcmRlclwiLCBwYXJhbXMpXHJcbiAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcihhc3luYyAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdChcIuaUr+S7mOWksei0pe+8mlwiICsgZXJyPy5lcnJvcj8ubWVzcywgXCJmYWlsXCIpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuY29kZSAhPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdChcIue9kee7nOmUmeivr++8jOivt+eojeWQjumHjeivlVwiLCBcIndhcm5pbmdcIik7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS5wYXlfdXJsKSB7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXMuZGF0YS5wYXlfdXJsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgIHRoaXMudG9hc3QoXCLnvZHnu5zplJnor6/vvIzor7fnqI3lkI7ph43or5VcIiwgXCJ3YXJuaW5nXCIpO1xyXG4gICAgICAgICAgcmVqZWN0KGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU9yZGVyKG5vbmNlX3N0cjogc3RyaW5nKSB7XHJcbiAgICAvLyDlrprml7bmn6Xor6LorqLljZXmlK/ku5jnirbmgIFcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoYXQudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGxldCBpbmZvID0ge1xyXG4gICAgICAgIG91dF90cmFkZV9ubzogdGhhdC50cmFkZU5vLFxyXG4gICAgICAgIG5vbmNlX3N0cjogbm9uY2Vfc3RyLFxyXG4gICAgICAgIGNvbXBhbnk6IHRoaXMud3hqc3Nkay5jb21wYW55LFxyXG4gICAgICB9O1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhpbmZvKTtcclxuICAgICAgUGFyc2UuQ2xvdWQucnVuKFwib3JkZXJfc3RhdHVzMlwiLCBpbmZvKVxyXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICBpZiAocmVzLnN0YXR1cyAmJiByZXMuc3RhdHVzWzBdID09IFwiU1VDQ0VTU1wiKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhhdC50aW1lcik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuaXNSZWNoYXJnZVJ1bGUpe1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLm9yZGVySWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGF5U2VydmVyLnVwZGF0ZUFjY291bnRMb2coaW5mbywgdGhpcy5vcmRlcklkKTtcclxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3JkZXJUeXBlID09IFwicmVjaGFyZ2VcIikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50TG9nID0gYXdhaXQgdGhpcy5wYXlTZXJ2ZXIudXBkYXRlUmVjaGFyZ2UoXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWNjb3VudExvZyEsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGF0LnRvYXN0KFwi5pSv5LuY5oiQ5YqfXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgdGhhdC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhhdC5wYXlSZXN1bHQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgY29kZTogMjAwLFxyXG4gICAgICAgICAgICAgIHRyYWRlTm86IHRoaXMudHJhZGVObyxcclxuICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7fSk7XHJcbiAgICB9LCAzMDAwKTtcclxuICB9XHJcblxyXG4gIC8vIOaUr+S7mOWJjeeVmeWtmOmihOiuouWNlVxyXG4gIGFzeW5jIGNlcnRpZmljYXRlUGF5KCkge1xyXG4gICAgYXdhaXQgdGhpcy5wYXlTZXJ2ZXIuY3JlYXRlZEFjY291bnRMb2coe1xyXG4gICAgICBjb21wYW55OiB0aGlzLnd4anNzZGsuY29tcGFueSxcclxuICAgICAgb3JkZXJJZDogdGhpcy5vcmRlcklkLFxyXG4gICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8sXHJcbiAgICAgIHByaWNlOiB0aGlzLnByaWNlLFxyXG4gICAgICBwYXlUeXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICBvcmRlclR5cGU6IHRoaXMub3JkZXJUeXBlXHJcbiAgICB9KVxyXG4gICAgaWYoIXRoaXMuaXNSZWNoYXJnZVJ1bGUpIHJldHVyblxyXG4gICAgaWYgKHRoaXMub3JkZXJUeXBlID09IFwidmlwXCIgJiYgIXRoaXMub3JkZXJJZCAmJiB0aGlzLmdpZCkge1xyXG4gICAgICBsZXQgcmVzdWx0ZSA9IGF3YWl0IHRoaXMucGF5U2VydmVyLnNldE9yZGVyKHtcclxuICAgICAgICB0eXBlOiBcInNlcnZpY2VcIiwgLy/liJvlu7rmnI3liqHnsbvorqLljZVcclxuICAgICAgICBnaWQ6IHRoaXMuZ2lkLFxyXG4gICAgICAgIHByaWNlOiB0aGlzLnByaWNlLFxyXG4gICAgICAgIHRvdGFsX2ZlZTogdGhpcy5wcmljZSxcclxuICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8hLFxyXG4gICAgICAgIG91dF90cmFkZV9ubzogdGhpcy50cmFkZU5vISxcclxuICAgICAgICBwYXlUeXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgICAgIGNvZGU6dGhpcy5jb2RlTGlua1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0ZSk7XHJcbiAgICAgIGlmIChyZXN1bHRlPy5vYmplY3RJZCkge1xyXG4gICAgICAgIHRoaXMub3JkZXJJZCA9IHJlc3VsdGUub2JqZWN0SWQ7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlclR5cGUgPT0gXCJyZWNoYXJnZVwiKSB7XHJcbiAgICAgIHRoaXMuYWNjb3VudExvZyA9IGF3YWl0IHRoaXMucGF5U2VydmVyLmNyZWF0ZFJlY2hhcmdlTG9nKHtcclxuICAgICAgICB0cmFkZU5vOiB0aGlzLnRyYWRlTm8hLFxyXG4gICAgICAgIHBheVR5cGU6IHRoaXMuY2hlY2twYXksXHJcbiAgICAgICAgcHJpY2U6IHRoaXMucHJpY2UsXHJcbiAgICAgICAgY3JlZGl0OiB0aGlzLmNyZWRpdCEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKiDlhbPpl63mlK/ku5jlvLnnqpcgKi9cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHtcclxuICAgICAgY29kZTogMCxcclxuICAgICAgdHJhZGVObzogdGhpcy50cmFkZU5vLFxyXG4gICAgICB0eXBlOiB0aGlzLmNoZWNrcGF5LFxyXG4gICAgfTtcclxuICAgIHRoaXMucGF5UmVzdWx0LmVtaXQocmVzdWx0KTtcclxuICB9XHJcbiAgdG9hc3QodGV4dDogc3RyaW5nLCB0eXBlPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB0b2FzdEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIGNvbnN0IGNvbG9yID0gdHlwZSA/PyBcIndhcm5pbmdcIjtcclxuXHJcbiAgICAvLyDpopzoibLphY3nva5cclxuICAgIGNvbnN0IGNvbG9yQ29uZmlnID0ge1xyXG4gICAgICBzdWNjZXNzOiB7IGJnOiBcIiMxMGRjNjBcIiwgdGV4dDogXCIjZmZmXCIgfSxcclxuICAgICAgZGFuZ2VyOiB7IGJnOiBcIiNmMDQxNDFcIiwgdGV4dDogXCIjZmZmXCIgfSxcclxuICAgICAgZmFpbDogeyBiZzogXCIjZjA0MTQxXCIsIHRleHQ6IFwiI2ZmZlwiIH0sXHJcbiAgICAgIHdhcm5pbmc6IHsgYmc6IFwiI2ZmY2UwMFwiLCB0ZXh0OiBcIiMwMDBcIiB9LFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyDlupTnlKjmoLflvI9cclxuICAgIE9iamVjdC5hc3NpZ24odG9hc3RFbC5zdHlsZSwge1xyXG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxyXG4gICAgICBib3R0b206IFwiMjBweFwiLFxyXG4gICAgICBsZWZ0OiBcIjUwJVwiLFxyXG4gICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgtNTAlKVwiLFxyXG4gICAgICBwYWRkaW5nOiBcIjEycHggMjBweFwiLFxyXG4gICAgICBib3JkZXJSYWRpdXM6IFwiNHB4XCIsXHJcbiAgICAgIHpJbmRleDogXCI5OTk5XCIsXHJcbiAgICAgIGZvbnRTaXplOiBcIjE0cHhcIixcclxuICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICBtaW5XaWR0aDogXCIyMDBweFwiLFxyXG4gICAgICBib3hTaGFkb3c6IFwiMCAzcHggNXB4IHJnYmEoMCwwLDAsMC4yKVwiLFxyXG4gICAgICBvcGFjaXR5OiBcIjBcIixcclxuICAgICAgdHJhbnNpdGlvbjogXCJvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXRcIixcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvckNvbmZpZ1tjb2xvcl0/LmJnIHx8IGNvbG9yQ29uZmlnLndhcm5pbmcuYmcsXHJcbiAgICAgIGNvbG9yOiBjb2xvckNvbmZpZ1tjb2xvcl0/LnRleHQgfHwgY29sb3JDb25maWcud2FybmluZy50ZXh0LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdG9hc3RFbC50ZXh0Q29udGVudCA9IHRleHQ7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRvYXN0RWwpO1xyXG5cclxuICAgIC8vIOaYvuekuuWSjOiHquWKqOenu+mZpFxyXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgdG9hc3RFbC5zdHlsZS5vcGFjaXR5ID0gXCIxXCI7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRvYXN0RWwuc3R5bGUub3BhY2l0eSA9IFwiMFwiO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0b2FzdEVsKSwgMzAwKTtcclxuICAgICAgfSwgMTUwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZXIgJiYgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChpc09wZW4pIHtcclxuICA8ZGl2IGNsYXNzPVwicGF5bWVudC1vdmVybGF5XCI+XHJcbiAgICA8IS0tIOWFqOWxgCBMb2FkaW5nIC0tPlxyXG4gICAgQGlmIChpc0xvYWRpbmcpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImdsb2JhbC1sb2FkaW5nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLXRleHRcIj7lpITnkIbkuK0uLi48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBheW1lbnQtYm94XCIgW2NsYXNzLmJsdXItZWZmZWN0XT1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5LWJveFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1idG5cIiAoY2xpY2spPVwiIWlzTG9hZGluZyAmJiBvbkNsb3NlKClcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYgKCFjb2RlTGluaykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBheS10aXRsZVwiPuaUr+S7mOiuouWNlTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBheS1udW1cIj7vv6V7eyBwcmljZSB8fCAwIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uc1wiPlxyXG4gICAgICAgICAgICBAaWYgKHNob3dUeXBlcy5pbmNsdWRlcyhcInd4cGF5XCIpKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJvbmNoYW5nUGF5KCd3eHBheScpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vZmlsZS1jbG91ZC5mbW9kZS5jbi9FNEtwR3ZURXRvLzIwMjMxMTIzL3Mxc3VuODA2MTAwMDAwNy5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIuW+ruS/oeaUr+S7mFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj7lvq7kv6HmlK/ku5g8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrXCIgW2NsYXNzLmNoZWNrLWFjdGl2ZV09XCJjaGVja3BheSA9PT0gJ3d4cGF5J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc2hvd1R5cGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc2hvd1R5cGVzLmluY2x1ZGVzKFwiYWxpcGF5XCIpKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJvbmNoYW5nUGF5KCdhbGlwYXknKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2ZpbGUtY2xvdWQuZm1vZGUuY24vc3RvcmFnZS9jb21wYW55L0U0S3BHdlRFdG8vMjAyNTA4MTUvMTEwOTM0MTY2LnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwi5pSv5LuY5a6dXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25cIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPuaUr+S7mOWunTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tcIiBbY2xhc3MuY2hlY2stYWN0aXZlXT1cImNoZWNrcGF5ID09PSAnYWxpcGF5J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXktZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcmRlci1udW1cIj7orqLljZXnvJblj7fvvJp7eyB0cmFkZU5vID8gdHJhZGVObyA6IFwiLVwiIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInBheS1idG5cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCIhaXNMb2FkaW5nICYmIHVzZXJQYXltZW50KClcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgIWNoZWNrcGF5XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIOWOu+S7mOasvlxyXG4gICAgICAgICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ0bi1sb2FkaW5nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJxcmNvZGUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8cXItY29kZSBbdmFsdWVdPVwiY29kZUxpbmtcIiB2YWx1ZT1cIuivt+S9v+eUqOaJi+acuuaJq+aPj+S6jOe7tOeggeWujOaIkOaUr+S7mFwiIFtzaXplXT1cIjE4MFwiPjwvcXItY29kZT5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJxcmNvZGUtdGlwXCI+6K+35L2/55So5omL5py65omr5o+P5LqM57u056CB5a6M5oiQ5pSv5LuYPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
@@ -32,6 +32,12 @@ export class PaymentService {
|
|
|
32
32
|
Account.equalTo("company", params.company);
|
|
33
33
|
let account = await Account.first();
|
|
34
34
|
let accountLog = new Parse.Object("AccountLog");
|
|
35
|
+
if (params.orderId) {
|
|
36
|
+
let query = new Parse.Query("AccountLog");
|
|
37
|
+
query.equalTo("orderId", params.orderId);
|
|
38
|
+
query.equalTo("user", Parse.User.current()?.id);
|
|
39
|
+
accountLog = await query.first();
|
|
40
|
+
}
|
|
35
41
|
accountLog.set("assetType", "wxPay");
|
|
36
42
|
accountLog.set("payType", params.payType);
|
|
37
43
|
accountLog.set("assetCount", params.price);
|
|
@@ -197,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
197
203
|
providedIn: "root",
|
|
198
204
|
}]
|
|
199
205
|
}], ctorParameters: () => [{ type: i1.ToastController }, { type: i2.HttpClient }] });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9wYXltZW50L3BheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBa0MsTUFBTSxlQUFlLENBQUM7Ozs7QUFBQSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBS2hILE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1MsS0FBc0IsRUFDckIsSUFBZ0I7UUFEakIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUgxQixZQUFPLEdBQVcsRUFBRSxDQUFDO0lBSWxCLENBQUM7SUFFSixVQUFVO1FBQ1IsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLE9BQU8sR0FDVCxHQUFHO1lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEIsR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDZCxHQUFHLENBQUMsVUFBVSxFQUFFO1lBQ2hCLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDaEIsR0FBRyxDQUFDLGVBQWUsRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztJQUNkLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQU92QjtRQUNDLElBQUksT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxNQUFNLENBQUMsT0FBTztZQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3QixVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDekQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3pCLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO0lBQ1IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQVNkO1FBQ0MsSUFBSSxHQUFHLEdBQUcsaURBQWlELENBQUM7UUFDNUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSTtpQkFDTixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDdEIsR0FBRyxFQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7Z0JBQ2YsTUFBTSxFQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQztpQkFDRCxTQUFTLENBQ1IsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDWixvQkFBb0I7Z0JBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBS3ZCO1FBQ0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUcsQ0FBQztRQUNuQyxNQUFNO1FBQ04sSUFBSSxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFNLEVBQUUsU0FBUztZQUNqQixTQUFTLEVBQUUsT0FBTztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFO1lBQzlCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtTQUN0QixDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyQyxVQUFVLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0QsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxXQUFXLENBQUMsQ0FBQztRQUN6RCxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxlQUFlO0lBQ2YsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQzlCLElBQUksT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxPQUFPLEdBQVEsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNqQixPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFFBQVEsRUFBRSxHQUFHO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3RCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3ZCLENBQUMsQ0FBQztZQUNILE9BQU8sRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU8sR0FBRyxNQUFNLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUNsRCxJQUFJLEdBQUcsR0FBRyxrREFBa0QsQ0FBQztRQUM3RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJO2lCQUNOLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixHQUFHLEVBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUM5QixPQUFPLEVBQUUsT0FBTztnQkFDaEIsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDO2lCQUNELFNBQVMsQ0FDUixDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNaLENBQUMsRUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLEtBQUssRUFBRSxTQUFTO29CQUNoQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixHQUFHLEVBQUUsQ0FBQztZQUNSLENBQUMsQ0FDRixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFzQjtRQUN6QyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFjO1FBQzNCLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE9BQU8sR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQXBOVSxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xyXG5pbXBvcnQge0Ztb2RlUGFyc2UsRm1vZGVPYmplY3QsRm1vZGVRdWVyeSxGbW9kZVVzZXJ9IGZyb20gXCIuLi9jb3JlL3BhcnNlXCI7Y29uc3QgUGFyc2UgPSBGbW9kZVBhcnNlLndpdGgoXCJub3ZhXCIpO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xyXG4gIGNvbXBhbnk6IHN0cmluZyA9IFwiXCI7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdG9hc3Q6IFRvYXN0Q29udHJvbGxlcixcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICApIHt9XHJcblxyXG4gIHNldFRyYWRlTm8oKSB7XHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGxldCB0cmFkZU5vID1cclxuICAgICAgXCJDXCIgK1xyXG4gICAgICBTdHJpbmcobm93LmdldEZ1bGxZZWFyKCkpICtcclxuICAgICAgKG5vdy5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICBub3cuZ2V0RGF0ZSgpICtcclxuICAgICAgbm93LmdldEhvdXJzKCkgK1xyXG4gICAgICBub3cuZ2V0TWludXRlcygpICtcclxuICAgICAgbm93LmdldFNlY29uZHMoKSArXHJcbiAgICAgIG5vdy5nZXRNaWxsaXNlY29uZHMoKSArXHJcbiAgICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKTtcclxuICAgIHJldHVybiB0cmFkZU5vO1xyXG4gIH1cclxuXHJcbiAgLyog5Yib5bu65pSv5LuY6aKE5a2Y5pel5b+XICovXHJcbiAgYXN5bmMgY3JlYXRlZEFjY291bnRMb2cocGFyYW1zOiB7XHJcbiAgICBjb21wYW55OiBzdHJpbmc7XHJcbiAgICBwcmljZTogbnVtYmVyO1xyXG4gICAgdHJhZGVObzogc3RyaW5nO1xyXG4gICAgb3JkZXJJZDogc3RyaW5nO1xyXG4gICAgcGF5VHlwZTogc3RyaW5nO1xyXG4gICAgb3JkZXJUeXBlOiBzdHJpbmc7XHJcbiAgfSkge1xyXG4gICAgbGV0IEFjY291bnQgPSBuZXcgUGFyc2UuUXVlcnkoXCJBY2NvdW50XCIpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwidXNlclwiLCBQYXJzZS5Vc2VyLmN1cnJlbnQoKS5pZCk7XHJcbiAgICBBY2NvdW50LmVxdWFsVG8oXCJjb21wYW55XCIsIHBhcmFtcy5jb21wYW55KTtcclxuICAgIGxldCBhY2NvdW50ID0gYXdhaXQgQWNjb3VudC5maXJzdCgpO1xyXG4gICAgbGV0IGFjY291bnRMb2cgPSBuZXcgUGFyc2UuT2JqZWN0KFwiQWNjb3VudExvZ1wiKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwiYXNzZXRUeXBlXCIsIFwid3hQYXlcIik7XHJcbiAgICBhY2NvdW50TG9nLnNldChcInBheVR5cGVcIiwgcGFyYW1zLnBheVR5cGUpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJhc3NldENvdW50XCIsIHBhcmFtcy5wcmljZSk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImRlc2NcIiwgYCR7cGFyYW1zLnBheVR5cGV95pSv5LuYKGZtLXNka+eUn+aIkClgKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwib3JkZXJUeXBlXCIsIHBhcmFtcy5vcmRlclR5cGUpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJvcmRlck51bWJlclwiLCBwYXJhbXMudHJhZGVObyk7XHJcbiAgICBpZiAocGFyYW1zLm9yZGVySWQpIGFjY291bnRMb2cuc2V0KFwib3JkZXJJZFwiLCBwYXJhbXMub3JkZXJJZCk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImlzVmVyaWZpZWRcIiwgZmFsc2UpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJ0YXJnZXROYW1lXCIsIFwic3lzdGVtXCIpO1xyXG4gICAgaWYgKGFjY291bnQpIHtcclxuICAgICAgYWNjb3VudExvZy5zZXQoXCJmcm9tQWNjb3VudFwiLCBhY2NvdW50LnRvUG9pbnRlcigpKTtcclxuICAgIH1cclxuICAgIGlmIChQYXJzZS5Vc2VyLmN1cnJlbnQoKT8uaWQpIHtcclxuICAgICAgYWNjb3VudExvZy5zZXQoXCJ1c2VyXCIsIFBhcnNlLlVzZXIuY3VycmVudCgpLnRvUG9pbnRlcigpKTtcclxuICAgICAgYWNjb3VudExvZy5zZXQoXCJmcm9tTmFtZVwiLCBQYXJzZS5Vc2VyLmN1cnJlbnQoKS5nZXQoXCJuaWNrbmFtZVwiKSk7XHJcbiAgICB9XHJcbiAgICBhY2NvdW50TG9nLnNldChcImNvbXBhbnlcIiwge1xyXG4gICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICBjbGFzc05hbWU6IFwiQ29tcGFueVwiLFxyXG4gICAgICBvYmplY3RJZDogcGFyYW1zLmNvbXBhbnksXHJcbiAgICB9KTtcclxuICAgIGF3YWl0IGFjY291bnRMb2cuc2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8g5a2Y5pSv5LuY6K6w5b2VXHJcbiAgYXN5bmMgc2V0T3JkZXIocGFyYW1zOiB7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBnaWQ6IHN0cmluZztcclxuICAgIHByaWNlOiBudW1iZXI7XHJcbiAgICB0b3RhbF9mZWU6IG51bWJlcjtcclxuICAgIHRyYWRlTm86IHN0cmluZztcclxuICAgIG91dF90cmFkZV9ubzogc3RyaW5nO1xyXG4gICAgcGF5VHlwZTogc3RyaW5nO1xyXG4gICAgY29kZT86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGxldCB1cmwgPSBcImh0dHBzOi8vc2VydmVyLmdkY2hhdC5jbi9hcGkvYXBpZy9jcmVhdGVkLW9yZGVyXCI7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0KHVybCwge1xyXG4gICAgICAgICAgZmNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuICAgICAgICAgIHVpZDogIFBhcnNlLlVzZXIuY3VycmVudCgpPy5pZCxcclxuICAgICAgICAgIHR5cGU6IHBhcmFtcy50eXBlLFxyXG4gICAgICAgICAgZ2lkOiBwYXJhbXMuZ2lkLFxyXG4gICAgICAgICAgaW52aXRlOiAgUGFyc2UuVXNlci5jdXJyZW50KCk/LmdldChcImludml0ZVwiKT8uaWQsXHJcbiAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgIHJlcyhkYXRhLmRhdGEpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgcmVqKGVycik7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/lhYXlgLzorrDlvZVcclxuICBhc3luYyBjcmVhdGRSZWNoYXJnZUxvZyhwYXJhbToge1xyXG4gICAgdHJhZGVObzogc3RyaW5nO1xyXG4gICAgcGF5VHlwZTogc3RyaW5nO1xyXG4gICAgcHJpY2U6IG51bWJlcjtcclxuICAgIGNyZWRpdDogbnVtYmVyO1xyXG4gIH0pIHtcclxuICAgIGNvbnN0IHVzZXIgPSBQYXJzZS5Vc2VyLmN1cnJlbnQoKSE7XHJcbiAgICAvL+afpeivoui0puaIt1xyXG4gICAgbGV0IEFjY291bnQgPSBuZXcgUGFyc2UuUXVlcnkoXCJBY2NvdW50XCIpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwiY29tcGFueVwiLCB0aGlzLmNvbXBhbnkpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwidXNlclwiLCB1c2VyPy5pZCk7XHJcbiAgICBBY2NvdW50LnNlbGVjdChcIm9iamVjdElkXCIpO1xyXG4gICAgbGV0IGFjY291bnQgPSBhd2FpdCBBY2NvdW50LmZpcnN0KCk7XHJcbiAgICBpZiAoIWFjY291bnQ/LmlkKSB7XHJcbiAgICAgIGFjY291bnQgPSBhd2FpdCB0aGlzLmNyZWF0ZWRBY2NvdW50KHVzZXIuaWQpO1xyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiQWNjb3VudExvZ1wiKTtcclxuICAgIHF1ZXJ5LmVxdWFsVG8oXCJvcmRlck51bWJlclwiLCBwYXJhbS50cmFkZU5vKTtcclxuICAgIHF1ZXJ5LmVxdWFsVG8oXCJ0YXJnZXRBY2NvdW50XCIsIGFjY291bnQ/LmlkKTtcclxuICAgIHF1ZXJ5Lm5vdEVxdWFsVG8oXCJpc1ZlcmlmaWVkXCIsIHRydWUpO1xyXG4gICAgcXVlcnkubm90RXF1YWxUbyhcImlzRGVsZXRlZFwiLCB0cnVlKTtcclxuICAgIGxldCBhbG9nID0gYXdhaXQgcXVlcnkuZmlyc3QoKTtcclxuICAgIGlmIChhbG9nPy5pZCkge1xyXG4gICAgICByZXR1cm4gYWxvZztcclxuICAgIH1cclxuICAgIGxldCBhY2NvdW50TG9nID0gbmV3IFBhcnNlLk9iamVjdChcIkFjY291bnRMb2dcIik7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImlzVmVyaWZpZWRcIiwgZmFsc2UpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJ1c2VyXCIsIHtcclxuICAgICAgX190eXBlOiBcIlBvaW50ZXJcIixcclxuICAgICAgY2xhc3NOYW1lOiBcIl9Vc2VyXCIsXHJcbiAgICAgIG9iamVjdElkOiB1c2VyLmlkLFxyXG4gICAgfSk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImNvbXBhbnlcIiwge1xyXG4gICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICBjbGFzc05hbWU6IFwiQ29tcGFueVwiLFxyXG4gICAgICBvYmplY3RJZDogdGhpcy5jb21wYW55LFxyXG4gICAgfSk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcInRhcmdldEFjY291bnRcIiwge1xyXG4gICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICBjbGFzc05hbWU6IFwiQWNjb3VudFwiLFxyXG4gICAgICBvYmplY3RJZDogYWNjb3VudD8uaWQsXHJcbiAgICB9KTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwiZnJvbU5hbWVcIiwgXCJzeXN0ZW1cIik7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImZyb21BY2NvdW50TmFtZVwiLCBcInN5c3RlbVwiKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwib3JkZXJOdW1iZXJcIiwgcGFyYW0udHJhZGVObyk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImRlc2NcIiwgYCR7cGFyYW0ucGF5VHlwZX3lhYXlgLwke3BhcmFtLnByaWNlfWApO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJhc3NldFR5cGVcIiwgXCJiYWxhbmNlXCIpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJvcmRlclR5cGVcIiwgYCR7cGFyYW0ucGF5VHlwZX0tcmVjaGFyZ2VgKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwicGF5VHlwZVwiLCBwYXJhbS5wYXlUeXBlKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwiYXNzZXRDb3VudFwiLCBwYXJhbS5jcmVkaXQpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJzZXJ2aWNlRmVlXCIsIHBhcmFtLnByaWNlKTtcclxuICAgIHJldHVybiBhd2FpdCBhY2NvdW50TG9nLnNhdmUoKTtcclxuICB9XHJcbiAgLyog5r+A5rS7QWNjb3VudCAqL1xyXG4gIGFzeW5jIGNyZWF0ZWRBY2NvdW50KHVpZDogc3RyaW5nKTogUHJvbWlzZTxGbW9kZU9iamVjdD4ge1xyXG4gICAgbGV0IEFjY291bnQgPSBuZXcgUGFyc2UuUXVlcnkoXCJBY2NvdW50XCIpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwiY29tcGFueVwiLCB0aGlzLmNvbXBhbnkpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwidXNlclwiLCB1aWQpO1xyXG4gICAgbGV0IGFjY291bnQ6IGFueSA9IGF3YWl0IEFjY291bnQuZmlyc3QoKTtcclxuICAgIGlmICghYWNjb3VudD8uaWQpIHtcclxuICAgICAgYWNjb3VudCA9IG5ldyBQYXJzZS5PYmplY3QoXCJBY2NvdW50XCIpO1xyXG4gICAgICBhY2NvdW50Py5zZXQoXCJ1c2VyXCIsIHtcclxuICAgICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICAgIGNsYXNzTmFtZTogXCJfVXNlclwiLFxyXG4gICAgICAgIG9iamVjdElkOiB1aWQsXHJcbiAgICAgIH0pO1xyXG4gICAgICBhY2NvdW50Py5zZXQoXCJjb21wYW55XCIsIHtcclxuICAgICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICAgIGNsYXNzTmFtZTogXCJDb21wYW55XCIsXHJcbiAgICAgICAgb2JqZWN0SWQ6IHRoaXMuY29tcGFueSxcclxuICAgICAgfSk7XHJcbiAgICAgIGFjY291bnQ/LnNldChcImJhbGFuY2VcIiwgMCk7XHJcbiAgICAgIGFjY291bnQgPSBhd2FpdCBhY2NvdW50Py5zYXZlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYWNjb3VudDtcclxuICB9XHJcbiAgYXN5bmMgdXBkYXRlQWNjb3VudExvZyhpbmZvOiBvYmplY3QsIG9yZGVyaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9zZXJ2ZXIuZ2RjaGF0LmNuL2FwaS9hcGlnL3NhdmVBY2NvdW50TG9nXCI7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0KHVybCwge1xyXG4gICAgICAgICAgY29tcGFueTogdGhpcy5jb21wYW55LFxyXG4gICAgICAgICAgdWlkOiAgUGFyc2UuVXNlci5jdXJyZW50KCk/LmlkLFxyXG4gICAgICAgICAgb3JkZXJpZDogb3JkZXJpZCxcclxuICAgICAgICAgIGluZm86IGluZm8sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgcmVzKHRydWUpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGFzeW5jIChlcnIpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XHJcbiAgICAgICAgICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdC5jcmVhdGUoe1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IFwi5pSv5LuY5oiQ5Yqf77yM6K6i5Y2V6K6w5b2V5byC5bi4XCIsXHJcbiAgICAgICAgICAgICAgY29sb3I6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAxNTAwLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdG9hc3QucHJlc2VudCgpO1xyXG4gICAgICAgICAgICByZWooKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhc3luYyB1cGRhdGVSZWNoYXJnZShhY2NvdW50TG9nOkZtb2RlT2JqZWN0KTogUHJvbWlzZTxGbW9kZU9iamVjdD4ge1xyXG4gICAgYWNjb3VudExvZz8uc2V0KFwiaXNWZXJpZmllZFwiLCB0cnVlKTtcclxuICAgIGF3YWl0IGFjY291bnRMb2c/LnNhdmUoKTtcclxuICAgIHJldHVybiBhY2NvdW50TG9nO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0T3JkZXIodHJhZGVObzpzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KCdPcmRlcicpO1xyXG4gICAgcXVlcnkubm90RXF1YWxUbygnaXNEZWxldGVkJywgdHJ1ZSk7XHJcbiAgICBxdWVyeS5lcXVhbFRvKCdzdGF0dXMnLCAnMTAwJyk7XHJcbiAgICBxdWVyeS5lcXVhbFRvKCdvcmRlck51bScsIHRyYWRlTm8pO1xyXG4gICAgcXVlcnkuc2VsZWN0KCdvYmplY3RJZCcpO1xyXG4gICAgbGV0IHJlcyA9IGF3YWl0IHF1ZXJ5LmZpcnN0KCk7XHJcbiAgICByZXR1cm4gcmVzPy5pZDtcclxuICB9XHJcbn1cclxuIl19
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9wYXltZW50L3BheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBa0MsTUFBTSxlQUFlLENBQUM7Ozs7QUFBQSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBS2hILE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1MsS0FBc0IsRUFDckIsSUFBZ0I7UUFEakIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUgxQixZQUFPLEdBQVcsRUFBRSxDQUFDO0lBSWxCLENBQUM7SUFFSixVQUFVO1FBQ1IsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLE9BQU8sR0FDVCxHQUFHO1lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEIsR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDZCxHQUFHLENBQUMsVUFBVSxFQUFFO1lBQ2hCLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDaEIsR0FBRyxDQUFDLGVBQWUsRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztJQUNkLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQU92QjtRQUNDLElBQUksT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsSUFBRyxNQUFNLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDakIsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELFVBQVUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxNQUFNLENBQUMsT0FBTztZQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3QixVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDekQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3pCLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO0lBQ1IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQVNkO1FBQ0MsSUFBSSxHQUFHLEdBQUcsaURBQWlELENBQUM7UUFDNUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSTtpQkFDTixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDdEIsR0FBRyxFQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7Z0JBQ2YsTUFBTSxFQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQztpQkFDRCxTQUFTLENBQ1IsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDWixvQkFBb0I7Z0JBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBS3ZCO1FBQ0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUcsQ0FBQztRQUNuQyxNQUFNO1FBQ04sSUFBSSxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFNLEVBQUUsU0FBUztZQUNqQixTQUFTLEVBQUUsT0FBTztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFO1lBQzlCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtTQUN0QixDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyQyxVQUFVLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0QsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxXQUFXLENBQUMsQ0FBQztRQUN6RCxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxlQUFlO0lBQ2YsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQzlCLElBQUksT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxPQUFPLEdBQVEsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNqQixPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFFBQVEsRUFBRSxHQUFHO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3RCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3ZCLENBQUMsQ0FBQztZQUNILE9BQU8sRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU8sR0FBRyxNQUFNLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUNsRCxJQUFJLEdBQUcsR0FBRyxrREFBa0QsQ0FBQztRQUM3RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJO2lCQUNOLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixHQUFHLEVBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUM5QixPQUFPLEVBQUUsT0FBTztnQkFDaEIsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDO2lCQUNELFNBQVMsQ0FDUixDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNaLENBQUMsRUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLEtBQUssRUFBRSxTQUFTO29CQUNoQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixHQUFHLEVBQUUsQ0FBQztZQUNSLENBQUMsQ0FDRixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFzQjtRQUN6QyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFjO1FBQzNCLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE9BQU8sR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQTFOVSxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xyXG5pbXBvcnQge0Ztb2RlUGFyc2UsRm1vZGVPYmplY3QsRm1vZGVRdWVyeSxGbW9kZVVzZXJ9IGZyb20gXCIuLi9jb3JlL3BhcnNlXCI7Y29uc3QgUGFyc2UgPSBGbW9kZVBhcnNlLndpdGgoXCJub3ZhXCIpO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xyXG4gIGNvbXBhbnk6IHN0cmluZyA9IFwiXCI7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdG9hc3Q6IFRvYXN0Q29udHJvbGxlcixcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICApIHt9XHJcblxyXG4gIHNldFRyYWRlTm8oKSB7XHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGxldCB0cmFkZU5vID1cclxuICAgICAgXCJDXCIgK1xyXG4gICAgICBTdHJpbmcobm93LmdldEZ1bGxZZWFyKCkpICtcclxuICAgICAgKG5vdy5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICBub3cuZ2V0RGF0ZSgpICtcclxuICAgICAgbm93LmdldEhvdXJzKCkgK1xyXG4gICAgICBub3cuZ2V0TWludXRlcygpICtcclxuICAgICAgbm93LmdldFNlY29uZHMoKSArXHJcbiAgICAgIG5vdy5nZXRNaWxsaXNlY29uZHMoKSArXHJcbiAgICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKTtcclxuICAgIHJldHVybiB0cmFkZU5vO1xyXG4gIH1cclxuXHJcbiAgLyog5Yib5bu65pSv5LuY6aKE5a2Y5pel5b+XICovXHJcbiAgYXN5bmMgY3JlYXRlZEFjY291bnRMb2cocGFyYW1zOiB7XHJcbiAgICBjb21wYW55OiBzdHJpbmc7XHJcbiAgICBwcmljZTogbnVtYmVyO1xyXG4gICAgdHJhZGVObzogc3RyaW5nO1xyXG4gICAgb3JkZXJJZDogc3RyaW5nO1xyXG4gICAgcGF5VHlwZTogc3RyaW5nO1xyXG4gICAgb3JkZXJUeXBlOiBzdHJpbmc7XHJcbiAgfSkge1xyXG4gICAgbGV0IEFjY291bnQgPSBuZXcgUGFyc2UuUXVlcnkoXCJBY2NvdW50XCIpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwidXNlclwiLCBQYXJzZS5Vc2VyLmN1cnJlbnQoKS5pZCk7XHJcbiAgICBBY2NvdW50LmVxdWFsVG8oXCJjb21wYW55XCIsIHBhcmFtcy5jb21wYW55KTtcclxuICAgIGxldCBhY2NvdW50ID0gYXdhaXQgQWNjb3VudC5maXJzdCgpO1xyXG4gICAgbGV0IGFjY291bnRMb2cgPSBuZXcgUGFyc2UuT2JqZWN0KFwiQWNjb3VudExvZ1wiKTtcclxuICAgIGlmKHBhcmFtcy5vcmRlcklkKXtcclxuICAgICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiQWNjb3VudExvZ1wiKTtcclxuICAgICAgcXVlcnkuZXF1YWxUbyhcIm9yZGVySWRcIiwgcGFyYW1zLm9yZGVySWQpO1xyXG4gICAgICBxdWVyeS5lcXVhbFRvKFwidXNlclwiLCBQYXJzZS5Vc2VyLmN1cnJlbnQoKT8uaWQpO1xyXG4gICAgICBhY2NvdW50TG9nID0gYXdhaXQgcXVlcnkuZmlyc3QoKTtcclxuICAgIH1cclxuICAgIGFjY291bnRMb2cuc2V0KFwiYXNzZXRUeXBlXCIsIFwid3hQYXlcIik7XHJcbiAgICBhY2NvdW50TG9nLnNldChcInBheVR5cGVcIiwgcGFyYW1zLnBheVR5cGUpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJhc3NldENvdW50XCIsIHBhcmFtcy5wcmljZSk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImRlc2NcIiwgYCR7cGFyYW1zLnBheVR5cGV95pSv5LuYKGZtLXNka+eUn+aIkClgKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwib3JkZXJUeXBlXCIsIHBhcmFtcy5vcmRlclR5cGUpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJvcmRlck51bWJlclwiLCBwYXJhbXMudHJhZGVObyk7XHJcbiAgICBpZiAocGFyYW1zLm9yZGVySWQpIGFjY291bnRMb2cuc2V0KFwib3JkZXJJZFwiLCBwYXJhbXMub3JkZXJJZCk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImlzVmVyaWZpZWRcIiwgZmFsc2UpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJ0YXJnZXROYW1lXCIsIFwic3lzdGVtXCIpO1xyXG4gICAgaWYgKGFjY291bnQpIHtcclxuICAgICAgYWNjb3VudExvZy5zZXQoXCJmcm9tQWNjb3VudFwiLCBhY2NvdW50LnRvUG9pbnRlcigpKTtcclxuICAgIH1cclxuICAgIGlmIChQYXJzZS5Vc2VyLmN1cnJlbnQoKT8uaWQpIHtcclxuICAgICAgYWNjb3VudExvZy5zZXQoXCJ1c2VyXCIsIFBhcnNlLlVzZXIuY3VycmVudCgpLnRvUG9pbnRlcigpKTtcclxuICAgICAgYWNjb3VudExvZy5zZXQoXCJmcm9tTmFtZVwiLCBQYXJzZS5Vc2VyLmN1cnJlbnQoKS5nZXQoXCJuaWNrbmFtZVwiKSk7XHJcbiAgICB9XHJcbiAgICBhY2NvdW50TG9nLnNldChcImNvbXBhbnlcIiwge1xyXG4gICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICBjbGFzc05hbWU6IFwiQ29tcGFueVwiLFxyXG4gICAgICBvYmplY3RJZDogcGFyYW1zLmNvbXBhbnksXHJcbiAgICB9KTtcclxuICAgIGF3YWl0IGFjY291bnRMb2cuc2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8g5a2Y5pSv5LuY6K6w5b2VXHJcbiAgYXN5bmMgc2V0T3JkZXIocGFyYW1zOiB7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBnaWQ6IHN0cmluZztcclxuICAgIHByaWNlOiBudW1iZXI7XHJcbiAgICB0b3RhbF9mZWU6IG51bWJlcjtcclxuICAgIHRyYWRlTm86IHN0cmluZztcclxuICAgIG91dF90cmFkZV9ubzogc3RyaW5nO1xyXG4gICAgcGF5VHlwZTogc3RyaW5nO1xyXG4gICAgY29kZT86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGxldCB1cmwgPSBcImh0dHBzOi8vc2VydmVyLmdkY2hhdC5jbi9hcGkvYXBpZy9jcmVhdGVkLW9yZGVyXCI7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0KHVybCwge1xyXG4gICAgICAgICAgZmNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuICAgICAgICAgIHVpZDogIFBhcnNlLlVzZXIuY3VycmVudCgpPy5pZCxcclxuICAgICAgICAgIHR5cGU6IHBhcmFtcy50eXBlLFxyXG4gICAgICAgICAgZ2lkOiBwYXJhbXMuZ2lkLFxyXG4gICAgICAgICAgaW52aXRlOiAgUGFyc2UuVXNlci5jdXJyZW50KCk/LmdldChcImludml0ZVwiKT8uaWQsXHJcbiAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgIHJlcyhkYXRhLmRhdGEpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgcmVqKGVycik7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/lhYXlgLzorrDlvZVcclxuICBhc3luYyBjcmVhdGRSZWNoYXJnZUxvZyhwYXJhbToge1xyXG4gICAgdHJhZGVObzogc3RyaW5nO1xyXG4gICAgcGF5VHlwZTogc3RyaW5nO1xyXG4gICAgcHJpY2U6IG51bWJlcjtcclxuICAgIGNyZWRpdDogbnVtYmVyO1xyXG4gIH0pIHtcclxuICAgIGNvbnN0IHVzZXIgPSBQYXJzZS5Vc2VyLmN1cnJlbnQoKSE7XHJcbiAgICAvL+afpeivoui0puaIt1xyXG4gICAgbGV0IEFjY291bnQgPSBuZXcgUGFyc2UuUXVlcnkoXCJBY2NvdW50XCIpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwiY29tcGFueVwiLCB0aGlzLmNvbXBhbnkpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwidXNlclwiLCB1c2VyPy5pZCk7XHJcbiAgICBBY2NvdW50LnNlbGVjdChcIm9iamVjdElkXCIpO1xyXG4gICAgbGV0IGFjY291bnQgPSBhd2FpdCBBY2NvdW50LmZpcnN0KCk7XHJcbiAgICBpZiAoIWFjY291bnQ/LmlkKSB7XHJcbiAgICAgIGFjY291bnQgPSBhd2FpdCB0aGlzLmNyZWF0ZWRBY2NvdW50KHVzZXIuaWQpO1xyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiQWNjb3VudExvZ1wiKTtcclxuICAgIHF1ZXJ5LmVxdWFsVG8oXCJvcmRlck51bWJlclwiLCBwYXJhbS50cmFkZU5vKTtcclxuICAgIHF1ZXJ5LmVxdWFsVG8oXCJ0YXJnZXRBY2NvdW50XCIsIGFjY291bnQ/LmlkKTtcclxuICAgIHF1ZXJ5Lm5vdEVxdWFsVG8oXCJpc1ZlcmlmaWVkXCIsIHRydWUpO1xyXG4gICAgcXVlcnkubm90RXF1YWxUbyhcImlzRGVsZXRlZFwiLCB0cnVlKTtcclxuICAgIGxldCBhbG9nID0gYXdhaXQgcXVlcnkuZmlyc3QoKTtcclxuICAgIGlmIChhbG9nPy5pZCkge1xyXG4gICAgICByZXR1cm4gYWxvZztcclxuICAgIH1cclxuICAgIGxldCBhY2NvdW50TG9nID0gbmV3IFBhcnNlLk9iamVjdChcIkFjY291bnRMb2dcIik7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImlzVmVyaWZpZWRcIiwgZmFsc2UpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJ1c2VyXCIsIHtcclxuICAgICAgX190eXBlOiBcIlBvaW50ZXJcIixcclxuICAgICAgY2xhc3NOYW1lOiBcIl9Vc2VyXCIsXHJcbiAgICAgIG9iamVjdElkOiB1c2VyLmlkLFxyXG4gICAgfSk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImNvbXBhbnlcIiwge1xyXG4gICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICBjbGFzc05hbWU6IFwiQ29tcGFueVwiLFxyXG4gICAgICBvYmplY3RJZDogdGhpcy5jb21wYW55LFxyXG4gICAgfSk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcInRhcmdldEFjY291bnRcIiwge1xyXG4gICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICBjbGFzc05hbWU6IFwiQWNjb3VudFwiLFxyXG4gICAgICBvYmplY3RJZDogYWNjb3VudD8uaWQsXHJcbiAgICB9KTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwiZnJvbU5hbWVcIiwgXCJzeXN0ZW1cIik7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImZyb21BY2NvdW50TmFtZVwiLCBcInN5c3RlbVwiKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwib3JkZXJOdW1iZXJcIiwgcGFyYW0udHJhZGVObyk7XHJcbiAgICBhY2NvdW50TG9nLnNldChcImRlc2NcIiwgYCR7cGFyYW0ucGF5VHlwZX3lhYXlgLwke3BhcmFtLnByaWNlfWApO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJhc3NldFR5cGVcIiwgXCJiYWxhbmNlXCIpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJvcmRlclR5cGVcIiwgYCR7cGFyYW0ucGF5VHlwZX0tcmVjaGFyZ2VgKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwicGF5VHlwZVwiLCBwYXJhbS5wYXlUeXBlKTtcclxuICAgIGFjY291bnRMb2cuc2V0KFwiYXNzZXRDb3VudFwiLCBwYXJhbS5jcmVkaXQpO1xyXG4gICAgYWNjb3VudExvZy5zZXQoXCJzZXJ2aWNlRmVlXCIsIHBhcmFtLnByaWNlKTtcclxuICAgIHJldHVybiBhd2FpdCBhY2NvdW50TG9nLnNhdmUoKTtcclxuICB9XHJcbiAgLyog5r+A5rS7QWNjb3VudCAqL1xyXG4gIGFzeW5jIGNyZWF0ZWRBY2NvdW50KHVpZDogc3RyaW5nKTogUHJvbWlzZTxGbW9kZU9iamVjdD4ge1xyXG4gICAgbGV0IEFjY291bnQgPSBuZXcgUGFyc2UuUXVlcnkoXCJBY2NvdW50XCIpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwiY29tcGFueVwiLCB0aGlzLmNvbXBhbnkpO1xyXG4gICAgQWNjb3VudC5lcXVhbFRvKFwidXNlclwiLCB1aWQpO1xyXG4gICAgbGV0IGFjY291bnQ6IGFueSA9IGF3YWl0IEFjY291bnQuZmlyc3QoKTtcclxuICAgIGlmICghYWNjb3VudD8uaWQpIHtcclxuICAgICAgYWNjb3VudCA9IG5ldyBQYXJzZS5PYmplY3QoXCJBY2NvdW50XCIpO1xyXG4gICAgICBhY2NvdW50Py5zZXQoXCJ1c2VyXCIsIHtcclxuICAgICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICAgIGNsYXNzTmFtZTogXCJfVXNlclwiLFxyXG4gICAgICAgIG9iamVjdElkOiB1aWQsXHJcbiAgICAgIH0pO1xyXG4gICAgICBhY2NvdW50Py5zZXQoXCJjb21wYW55XCIsIHtcclxuICAgICAgICBfX3R5cGU6IFwiUG9pbnRlclwiLFxyXG4gICAgICAgIGNsYXNzTmFtZTogXCJDb21wYW55XCIsXHJcbiAgICAgICAgb2JqZWN0SWQ6IHRoaXMuY29tcGFueSxcclxuICAgICAgfSk7XHJcbiAgICAgIGFjY291bnQ/LnNldChcImJhbGFuY2VcIiwgMCk7XHJcbiAgICAgIGFjY291bnQgPSBhd2FpdCBhY2NvdW50Py5zYXZlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYWNjb3VudDtcclxuICB9XHJcbiAgYXN5bmMgdXBkYXRlQWNjb3VudExvZyhpbmZvOiBvYmplY3QsIG9yZGVyaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9zZXJ2ZXIuZ2RjaGF0LmNuL2FwaS9hcGlnL3NhdmVBY2NvdW50TG9nXCI7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0KHVybCwge1xyXG4gICAgICAgICAgY29tcGFueTogdGhpcy5jb21wYW55LFxyXG4gICAgICAgICAgdWlkOiAgUGFyc2UuVXNlci5jdXJyZW50KCk/LmlkLFxyXG4gICAgICAgICAgb3JkZXJpZDogb3JkZXJpZCxcclxuICAgICAgICAgIGluZm86IGluZm8sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgcmVzKHRydWUpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGFzeW5jIChlcnIpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XHJcbiAgICAgICAgICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdC5jcmVhdGUoe1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IFwi5pSv5LuY5oiQ5Yqf77yM6K6i5Y2V6K6w5b2V5byC5bi4XCIsXHJcbiAgICAgICAgICAgICAgY29sb3I6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAxNTAwLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdG9hc3QucHJlc2VudCgpO1xyXG4gICAgICAgICAgICByZWooKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhc3luYyB1cGRhdGVSZWNoYXJnZShhY2NvdW50TG9nOkZtb2RlT2JqZWN0KTogUHJvbWlzZTxGbW9kZU9iamVjdD4ge1xyXG4gICAgYWNjb3VudExvZz8uc2V0KFwiaXNWZXJpZmllZFwiLCB0cnVlKTtcclxuICAgIGF3YWl0IGFjY291bnRMb2c/LnNhdmUoKTtcclxuICAgIHJldHVybiBhY2NvdW50TG9nO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0T3JkZXIodHJhZGVObzpzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KCdPcmRlcicpO1xyXG4gICAgcXVlcnkubm90RXF1YWxUbygnaXNEZWxldGVkJywgdHJ1ZSk7XHJcbiAgICBxdWVyeS5lcXVhbFRvKCdzdGF0dXMnLCAnMTAwJyk7XHJcbiAgICBxdWVyeS5lcXVhbFRvKCdvcmRlck51bScsIHRyYWRlTm8pO1xyXG4gICAgcXVlcnkuc2VsZWN0KCdvYmplY3RJZCcpO1xyXG4gICAgbGV0IHJlcyA9IGF3YWl0IHF1ZXJ5LmZpcnN0KCk7XHJcbiAgICByZXR1cm4gcmVzPy5pZDtcclxuICB9XHJcbn1cclxuIl19
|
package/fesm2022/fmode-ng.mjs
CHANGED
|
@@ -17695,6 +17695,12 @@ class PaymentService {
|
|
|
17695
17695
|
Account.equalTo("company", params.company);
|
|
17696
17696
|
let account = await Account.first();
|
|
17697
17697
|
let accountLog = new Parse$9.Object("AccountLog");
|
|
17698
|
+
if (params.orderId) {
|
|
17699
|
+
let query = new Parse$9.Query("AccountLog");
|
|
17700
|
+
query.equalTo("orderId", params.orderId);
|
|
17701
|
+
query.equalTo("user", Parse$9.User.current()?.id);
|
|
17702
|
+
accountLog = await query.first();
|
|
17703
|
+
}
|
|
17698
17704
|
accountLog.set("assetType", "wxPay");
|
|
17699
17705
|
accountLog.set("payType", params.payType);
|
|
17700
17706
|
accountLog.set("assetCount", params.price);
|
|
@@ -18009,8 +18015,8 @@ class PaymentComponent {
|
|
|
18009
18015
|
this.accountLog = await this.payServer.updateRecharge(this.accountLog);
|
|
18010
18016
|
}
|
|
18011
18017
|
}
|
|
18012
|
-
_this.toast("支付成功", "success");
|
|
18013
18018
|
_this.isOpen = false;
|
|
18019
|
+
_this.toast("支付成功", "success");
|
|
18014
18020
|
_this.payResult.emit({
|
|
18015
18021
|
code: 200,
|
|
18016
18022
|
tradeNo: this.tradeNo,
|