simpo-component-library 1.6.50 → 1.6.52
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/ecommerce/sections/address/address.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +7 -4
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +9 -6
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +3 -1
- package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +3 -1
- package/fesm2022/simpo-component-library.mjs +35 -7
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/directive/background-directive.d.ts +1 -1
- package/lib/directive/button-directive.directive.d.ts +1 -1
- package/lib/directive/color.directive.d.ts +1 -1
- package/lib/ecommerce/sections/product-category-list/product-category-list.component.d.ts +2 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/package.json +1 -1
- package/simpo-component-library-1.6.52.tgz +0 -0
- package/simpo-component-library-1.6.47.tgz +0 -0
- package/simpo-component-library-1.6.48.tgz +0 -0
- package/simpo-component-library-1.6.49.tgz +0 -0
- package/simpo-component-library-1.6.50.tgz +0 -0
@@ -398,6 +398,8 @@ export class CartComponent extends BaseSection {
|
|
398
398
|
return [];
|
399
399
|
}
|
400
400
|
editSection() {
|
401
|
+
if (window.innerWidth <= 475)
|
402
|
+
return;
|
401
403
|
this._eventService.toggleEditorEvent.emit(false);
|
402
404
|
setTimeout(() => {
|
403
405
|
this._eventService.editSection.emit({ data: this.data });
|
@@ -458,4 +460,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
458
460
|
}], customClass: [{
|
459
461
|
type: Input
|
460
462
|
}] } });
|
461
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9jYXJ0L2NhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2FydC9jYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1B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QjFCLGFBQWEsNkxBSmIsQ0FBQyxjQUFjLENBQUMsaURDaEQ3QixvbVlBMExBLG94SkR6SkksV0FBVyw4QkFDWCxZQUFZLDRzQkFDWixPQUFPLDBJQUNQLGVBQWUsOEJBQ2Ysb0JBQW9CLHVoQkFDcEIsbUJBQW1CLHlHQUNuQixvQkFBb0I7Z0JBQ3BCLFdBQVc7Z0JBQ1gsd0JBQXdCLG9IQUN4QixrQkFBa0IseUZBQ2xCLG1CQUFtQixtRkFDbkIsY0FBYyxnRkFDZCxnQkFBZ0IsNktBQ2hCLFdBQVc7OzJGQU1GLGFBQWE7a0JBdkJ6QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNaLGFBQ1UsQ0FBQyxjQUFjLENBQUM7OzBCQXlCeEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzswQkFDbEMsUUFBUTt5Q0FyQkYsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRyZXNzLCBDYXJ0U2VjdGlvbk1vZGFsLCBDYXJ0U2VjdGlvblN0eWxlc01vZGVsIH0gZnJvbSAnLi9jYXJ0Lm1vZGFsJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4vLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tIFwiLi4vYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGVVc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0aGVudGljYXRlLXVzZXIvYXV0aGVudGljYXRlLXVzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9zdHlsZXMvdXNlci5tb2RhbCc7XHJcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uLy4uL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgeyBCVVNJTkVTU19DT05TVEFOVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYnVzaW5lc3MuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQsIE1hdEJvdHRvbVNoZWV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcclxuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uL3N0eWxlcy9wcm9kdWN0Lm1vZGFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tY2FydCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSwgXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgTWF0Qm90dG9tU2hlZXRNb2R1bGUsXHJcbiAgICAvL0RJUkVDVElWRVxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLCBcclxuICAgIEFkZHJlc3NDb21wb25lbnQsXHJcbiAgICBUb2FzdE1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY2FydC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FydENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhPzogQ2FydFNlY3Rpb25Nb2RhbDtcclxuICBASW5wdXQoKSByZXNwb25zZURhdGE/OiBhbnk7XHJcbiAgQElucHV0KCkgaW5kZXg/IDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGVkaXQ/IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzdHlsZXM/OiBDYXJ0U2VjdGlvblN0eWxlc01vZGVsO1xyXG4gIHB1YmxpYyBjdXJyZW50VGFiOiAnQkFHJyB8ICdBRERSRVNTJyB8ICdQQVlNRU5UJyA9IFwiQkFHXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBib3R0b21TaGVldDogTWF0Qm90dG9tU2hlZXQsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIG1hdERpYWxvZ0RhdGE6IGFueSxcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDYXJ0Q29tcG9uZW50PlxyXG4gICl7XHJcbiAgICBzdXBlcigpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVzZXJEZXRhaWxzOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBVU0VSX0NBUlRfSVRFTVM6IE9yZGVyZWRJdGVtc1tdIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHNlbGVjdGVkQWRkcmVzc0lkeDogbnVtYmVyID0gMDtcclxuXHJcbiAgY2FydEluZm86IGFueSA9IHtcclxuICAgIG9yZGVyZWRJdGVtczogbnVsbCxcclxuICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSxcclxuICAgIGJpbGxkZXRhaWxzOiB7XHJcbiAgICAgIFwidG90YWxOZXRWYWx1ZVwiOiAwLFxyXG4gICAgICBcInRvdGFsR3Jvc3NWYWx1ZVwiOiAwLFxyXG4gICAgICBcInRvdGFsVGF4XCI6IDAsXHJcbiAgICAgIFwidG90YWxPZmZlcmVkVmFsdWVcIjogMCxcclxuICAgICAgXCJkZWxpdmVyeUNoYXJnZXNcIjogMFxyXG4gICAgfSxcclxuICAgIHBsYXRmb3JtOiBcIldFQlwiLFxyXG4gICAgY2FydFR5cGU6IFwiQ0FSVFwiLFxyXG4gICAgYWRkcmVzc0RldGFpbHM6IG51bGwsXHJcbiAgICB1c2VyRGV0YWlsczoge1xyXG4gICAgICBcInVzZXJJZFwiOiBcIlwiLFxyXG4gICAgICBcInVzZXJOYW1lXCI6IFwiXCIsXHJcbiAgICAgIFwibW9iaWxlXCI6IFwiXCIsXHJcbiAgICAgIFwiZW1haWxcIjogXCJcIlxyXG4gICAgfSxcclxuICAgIHRvdGFsQW1vdW50OiAwXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnNob3dMb2FkaW5nU2NyZWVuLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHJlc3BvbnNlO1xyXG4gICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgdGhpcy5nZXRJbmRleERCRGF0YSgpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpKSB7XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgICB0aGlzLmNhcnRJbmZvLnVzZXJEZXRhaWxzID0ge1xyXG4gICAgICAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgICBcInVzZXJOYW1lXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubmFtZSxcclxuICAgICAgICBcIm1vYmlsZVwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Lm1vYmlsZSxcclxuICAgICAgICBcImVtYWlsXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QuZW1haWwsXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySXRlbXModGhpcy51c2VyRGV0YWlscy51c2VySWQsIFwiQ0FSVFwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgIGNvbnN0IHRlbXBVc2VyQ2FydCA9IHJlc3BvbnNlPy5kYXRhPy5bMF0/Lm9yZGVyZWRJdGVtcyA/PyBbXTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY2FydElkJywgcmVzcG9uc2UuZGF0YT8uWzBdPy5jYXJ0SWQpO1xyXG4gICAgICAgIHRoaXMuY2FydEluZm9bXCJjYXJ0SWRcIl0gPSByZXNwb25zZS5kYXRhPy5bMF0/LmNhcnRJZDsgXHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGE/LlswXT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkQWxsUHJvZHVjdHNUb0NhcnQodGVtcFVzZXJDYXJ0KS5vbmNvbXBsZXRlID0gKCk9PiB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJDYXJ0KCkudGhlbigoY2FydFJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgICBjYXJ0UmVzcG9uc2Uub25zdWNjZXNzID0gKGNhcnREYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuY2FydEluZm9bXCJvcmRlcmVkSXRlbXNcIl0/LmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcyk9PiBpdGVtLml0ZW1WYXJpYW50ID0gbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXN0UmVzcG9uc2UgPSB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHRoaXMuY2FydEluZm8pLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICAgICAgcmVzdFJlc3BvbnNlLmZpbmFsbHkoKCk9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlID0gMDtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgdGhpcy5VU0VSX0NBUlRfSVRFTVMgPSBjYXJ0RGF0YS50YXJnZXQucmVzdWx0IGFzIHVua25vd24gYXMgT3JkZXJlZEl0ZW1zW107XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TLmZvckVhY2goKGl0ZW0pPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlICs9IChpdGVtLmRpc2NvdW50ZWRQcmljZSAqIChpdGVtLnF1YW50aXR5ID8/IDEpKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ICs9IChpdGVtLnF1YW50aXR5ICogKGl0ZW0uaXRlbVRheCA/PyAwKSk7XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlIC0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy5kZWxpdmVyeUNoYXJnZXM7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX0NBUlRfSVRFTVM7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgKyB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4O1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YSA9IHRoaXMuY2FydEluZm87XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucmVzcG9uc2VEYXRhKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGNhcnRSZXNwb25zZS5vbmVycm9yID0gKGNhcnREYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdFcnJvcicsIGRldGFpbDogJ0ZhaWxlZCB0byB1cGRhdGUgY2FydCBkZXRhaWxzJyB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlckNhcnQoKS50aGVuKChjYXJ0UmVzcG9uc2UpPT4ge1xyXG4gICAgICAgICAgICBjYXJ0UmVzcG9uc2Uub25zdWNjZXNzID0gKGNhcnREYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImNhcnQgRGF0YVwiLCBjYXJ0RGF0YSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5VU0VSX0NBUlRfSVRFTVMgPSBjYXJ0RGF0YS50YXJnZXQucmVzdWx0IGFzIHVua25vd24gYXMgT3JkZXJlZEl0ZW1zW107XHJcbiAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgPSAwO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXggPSAwO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IDA7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby50b3RhbEFtb3VudCA9IDA7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgdGhpcy5VU0VSX0NBUlRfSVRFTVMuZm9yRWFjaCgoaXRlbSk9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSArPSAoaXRlbS5kaXNjb3VudGVkUHJpY2UgKiAoaXRlbS5xdWFudGl0eSA/PyAxKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ICs9IChpdGVtLnF1YW50aXR5ICogKGl0ZW0uaXRlbVRheCA/PyAwKSk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSAtIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMuZGVsaXZlcnlDaGFyZ2VzO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgKyB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4O1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX0NBUlRfSVRFTVM7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yZXNwb25zZURhdGEpO1xyXG4gICAgICAgICAgICAgIC8vIHRoaXMuY2FydEluZm9bXCJvcmRlcmVkSXRlbXNcIl0/LmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcyk9PiBpdGVtLml0ZW1WYXJpYW50ID0gbnVsbCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLmNhcnRJbmZvO1xyXG4gICAgICAgICAgICAgIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy5yZXNwb25zZURhdGEpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY2FydElkJywgcmVzcG9uc2UuZGF0YT8uY2FydElkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm9bXCJjYXJ0SWRcIl0gPSByZXNwb25zZS5kYXRhPy5jYXJ0SWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YVtcImNhcnRJZFwiXSA9IHRoaXMuY2FydEluZm9bXCJjYXJ0SWRcIl07XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldEluZGV4REJEYXRhKCk7XHJcbiAgICAgIC8vIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy5zdG9yYWdlU2VydmljZS5jYWxjdWxhdGVCaWxsaW5nRGV0YWlscygpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnJlc3BvbnNlRGF0YSk7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnJlc3BvbnNlRGF0YSk7XHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXhEQkRhdGEoKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJDYXJ0KCkudGhlbigoY2FydFJlc3BvbnNlKT0+IHtcclxuICAgICAgY29uc29sZS5sb2coY2FydFJlc3BvbnNlKTtcclxuICAgICAgXHJcbiAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlID0gMDtcclxuICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCA9IDA7XHJcbiAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IDA7XHJcbiAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSAwO1xyXG4gICAgICBcclxuXHJcbiAgICAgIGNhcnRSZXNwb25zZS5vbnN1Y2Nlc3MgPSAoY2FydERhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TID0gY2FydERhdGEudGFyZ2V0LnJlc3VsdCBhcyB1bmtub3duIGFzIE9yZGVyZWRJdGVtc1tdO1xyXG4gICAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TLmZvckVhY2goKGl0ZW0pPT4ge1xyXG4gICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgKz0gKGl0ZW0uZGlzY291bnRlZFByaWNlICogKGl0ZW0ucXVhbnRpdHkgPz8gMSkpO1xyXG4gICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCArPSAoaXRlbS5xdWFudGl0eSAqIChpdGVtLml0ZW1UYXggPz8gMCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlID0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgLSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlcztcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLnRvdGFsQW1vdW50ID0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlICsgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheDtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9DQVJUX0lURU1TO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy5jYXJ0SW5mbztcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgcHJvY2VlZFRvQ2hlY2tvdXQoKXtcclxuICAgIGlmKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpKXtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiID0gXCJBRERSRVNTXCI7IFxyXG4gICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMDtcclxuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcclxuICAgICAgfVxyXG4gICAgICAgICBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2luZm8nLCBzdW1tYXJ5OiAnTG9naW4nLCBkZXRhaWw6ICdQbGVhc2UgbG9naW4gd2l0aCBtb2JpbGUgbnVtYmVyIHRvIG9yZGVyJyB9KTtcclxuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYm90dG9tU2hlZXQub3BlbihBdXRoZW50aWNhdGVVc2VyQ29tcG9uZW50LCB7ZGF0YTogdGhpcy5kYXRhfSkuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby51c2VyRGV0YWlscyA9IHtcclxuICAgICAgICAgICAgICAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgICAgICAgICAgIFwidXNlck5hbWVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgXCJtb2JpbGVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5tb2JpbGUsXHJcbiAgICAgICAgICAgICAgICBcImVtYWlsXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QuZW1haWwsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUmVzcG9uc2UgOiBcIiwgcmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZSlcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2VlZFRvQ2hlY2tvdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tYXREaWFsb2cub3BlbihBdXRoZW50aWNhdGVVc2VyQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJzUwdmgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzM1dncnLFxyXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGEgXHJcbiAgICAgICAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FydEluZm8udXNlckRldGFpbHMgPSB7XHJcbiAgICAgICAgICAgICAgXCJ1c2VySWRcIjogdGhpcy51c2VyRGV0YWlscz8udXNlcklkLFxyXG4gICAgICAgICAgICAgIFwidXNlck5hbWVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5uYW1lLFxyXG4gICAgICAgICAgICAgIFwibW9iaWxlXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubW9iaWxlLFxyXG4gICAgICAgICAgICAgIFwiZW1haWxcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5lbWFpbCxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlJlc3BvbnNlIDogXCIsIHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlKVxyXG4gICAgICAgICAgICAgIHRoaXMucHJvY2VlZFRvQ2hlY2tvdXQoKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnb1RvUHJvZHVjdERldGFpbHMocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9kZXRhaWxzJ10sIHtxdWVyeVBhcmFtczoge2lkOiBwcm9kdWN0Lml0ZW1JZCwgdmFyaWVudElkOiBwcm9kdWN0LnZhcmllbnRJZH19KTtcclxuICB9XHJcbiAgcHJvY2VlZFRvTGlzdFBhZ2UoKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICB9XHJcbiAgcmVtb3ZlSXRlbShpdGVtOiBPcmRlcmVkSXRlbXMpIHtcclxuXHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBpY29uOiBcIndhcm5pbmdcIixcclxuICAgICAgaHRtbDogXCI8c3Bhbj5Zb3UgY2FuIG1vdmUgPC9zcGFuPiA8Yj5cIiArIGl0ZW0uaXRlbU5hbWUgKyBcIjwvYj4gPHNwYW4+dG8gd2lzaGxpc3Qgc28geW91IGNhbiBidXkgbGF0ZXIuPC9zcGFuPlwiLFxyXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJNb3ZlIHRvIHdpc2hsaXN0XCIsXHJcbiAgICAgIHNob3dEZW55QnV0dG9uOiB0cnVlLFxyXG4gICAgICBkZW55QnV0dG9uVGV4dDogXCJEZWxldGUgaXRlbVwiLFxyXG4gICAgICBkZW55QnV0dG9uQ29sb3I6IFwiIzkyOGM4Y1wiXHJcbiAgICB9KS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZS5pc0NvbmZpcm1lZCkge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlSXRlbUZyb21DYXJ0KGl0ZW0pO1xyXG4gICAgICAgIHRoaXMubW92ZUl0ZW1Ub1dpc2hsaXN0KGl0ZW0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmlzRGVuaWVkKSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVJdGVtRnJvbUNhcnQoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHByaXZhdGUgbW92ZUl0ZW1Ub1dpc2hsaXN0KGl0ZW06IE9yZGVyZWRJdGVtcykge1xyXG4gICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9GYXZGcm9tQ2FydChpdGVtKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZW1vdmVJdGVtRnJvbUNhcnQoaXRlbTogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICBpdGVtLnF1YW50aXR5ID0gMDtcclxuICAgIGlmICh0aGlzLlVTRVJfQ0FSVF9JVEVNUylcclxuICAgICAgdGhpcy5VU0VSX0NBUlRfSVRFTVMgPSB0aGlzLlVTRVJfQ0FSVF9JVEVNUy5maWx0ZXIoKHByb2R1Y3Q6IGFueSk9PiBwcm9kdWN0LnZhcmllbnRJZCAhPSBpdGVtLnZhcmllbnRJZCk7XHJcbiAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9DQVJUX0lURU1TO1xyXG4gICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLmNhcnRJbmZvO1xyXG4gICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtRnJvbUNhcnRQYWdlKGl0ZW0sIHRoaXMucmVzcG9uc2VEYXRhKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG5cclxuICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgPSAwO1xyXG4gICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ID0gMDtcclxuICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlID0gMDtcclxuICAgICAgdGhpcy5jYXJ0SW5mby50b3RhbEFtb3VudCA9IDA7XHJcbiAgICAgIFxyXG4gICAgICByZXNwb25zZT8uZGF0YT8ub3JkZXJlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSk9PiB7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgKz0gKGl0ZW0uZGlzY291bnRlZFByaWNlICogKGl0ZW0ucXVhbnRpdHkgPz8gMSkpO1xyXG4gICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXggKz0gKGl0ZW0ucXVhbnRpdHkgKiAoaXRlbS5pdGVtVGF4ID8/IDApKTtcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlID0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgLSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlcztcclxuICAgICAgdGhpcy5jYXJ0SW5mby50b3RhbEFtb3VudCA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSArIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXg7XHJcbiAgICAgIHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX0NBUlRfSVRFTVM7XHJcbiAgICB9KVxyXG4gIH1cclxuICBhZGRUb0NhcnQoaXRlbTogT3JkZXJlZEl0ZW1zLCB0eXBlOiAnQUREJyB8ICdTVUJTVFJBQ1QnKSB7XHJcbiAgICBpZiAodHlwZSA9PSAnQUREJykge1xyXG4gICAgICBpdGVtLnF1YW50aXR5ICs9IDE7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaXRlbS5xdWFudGl0eSAtPSAxO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgaWYgKGl0ZW0ucXVhbnRpdHkpIHtcclxuICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtRnJvbUNhcnRQYWdlKGl0ZW0sIHRoaXMucmVzcG9uc2VEYXRhKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlID0gMDtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ID0gMDtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSAwO1xyXG4gICAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJlc3BvbnNlPy5kYXRhPy5vcmRlcmVkSXRlbXMuZm9yRWFjaCgoaXRlbTogYW55KT0+IHtcclxuICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlICs9IChpdGVtLmRpc2NvdW50ZWRQcmljZSAqIChpdGVtLnF1YW50aXR5ID8/IDEpKTtcclxuICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXggKz0gKGl0ZW0ucXVhbnRpdHkgKiAoaXRlbS5pdGVtVGF4ID8/IDApKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlIC0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy5kZWxpdmVyeUNoYXJnZXM7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby50b3RhbEFtb3VudCA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSArIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXg7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMgPSB0aGlzLlVTRVJfQ0FSVF9JVEVNUztcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlSXRlbShpdGVtKTtcclxuICAgIH1cclxuICB9XHJcbiAgYXN5bmMgcHJvY2VlZFRvUGF5bWVudCgpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogJ0xvZ2luJywgZGV0YWlsOiAnUGxlYXNlIGxvZ2luIHdpdGggbW9iaWxlIG51bWJlciB0byBvcmRlcicgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHVzZXJEZXRhaWwgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgY29uc3QgYWRkcmVzcyA9IHVzZXJEZXRhaWw/LmFkZHJlc3NEZXRhaWxzTGlzdFt0aGlzLnNlbGVjdGVkQWRkcmVzc0lkeF0gYXMgQWRkcmVzcztcclxuICAgIGlmIChhZGRyZXNzPy5yZWNlaXZlck5hbWU/Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdQYXltZW50IEZhaWx1cmUnLCBkZXRhaWw6ICdQbGVhc2UgcHJvdmlkZSBhZGRyZXNzIGRldGFpbHMnIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjYXJ0SWRcIikpXHJcbiAgICAgIHRoaXMuY2FydEluZm9bXCJjYXJ0SWRcIl0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNhcnRJZFwiKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6ICdQbGVhc2Ugd2FpdCcsIGRldGFpbDogJ1dlIGFyZSBwcm9jZXNzaW5nIHlvdXIgcGF5bWVudCcsIGxpZmU6IDIwMDAgfSk7XHJcbiAgICAgIGF3YWl0IHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy5jYXJ0SW5mbykudG9Qcm9taXNlKCkudGhlbigocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJjYXJ0SWRcIiwgcmVzcG9uc2UuZGF0YT8uY2FydElkKTtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvW1wiY2FydElkXCJdID0gcmVzcG9uc2UuZGF0YT8uY2FydElkO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5jYXJ0SW5mb1tcImFkZHJlc3NEZXRhaWxzXCJdID0gYWRkcmVzcztcclxuICAgIGNvbnN0IGlzUGF5bWVudEdhdGV3YXlFbmFibGVkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJpc1BheW1lbnRHYXRld2F5RW5hYmxlZFwiKSA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaXNQYXltZW50R2F0ZXdheUVuYWJsZWRcIikgPT0gXCJ0cnVlXCIgOiB0cnVlO1xyXG4gICAgY29uc3QgdXBkYXRlQWRkcmVzcyA9IGF3YWl0IHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy5jYXJ0SW5mbykudG9Qcm9taXNlKCk7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBcInVzZXJJZFwiOiB1c2VyRGV0YWlsLnVzZXJJZCxcclxuICAgICAgXCJjYXJ0SWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NhcnRJZCcpLFxyXG4gICAgICBcIm9yZGVyQW1vdW50XCI6IE51bWJlcihOdW1iZXIodGhpcy5yZXNwb25zZURhdGEudG90YWxBbW91bnQpLnRvRml4ZWQoMikpLFxyXG4gICAgICBcImlzUGF5bWVudEdhdGV3YXlFbmFibGVkXCI6IGlzUGF5bWVudEdhdGV3YXlFbmFibGVkLFxyXG4gICAgICBcImNvbnRhY3REZXRhaWxzXCI6IHtcclxuICAgICAgICBcIm5hbWVcIjogYWRkcmVzcy5yZWNlaXZlck5hbWUsXHJcbiAgICAgICAgXCJtb2JpbGVcIjogYWRkcmVzcy5yZWNlaXZlclBob25lLFxyXG4gICAgICAgIFwiY291bnRyeUNvZGVcIjogXCI5MVwiLFxyXG4gICAgICAgIFwiZW1haWxcIjogYWRkcmVzcy5yZWNlaXZlckVtYWlsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucmVzdFNlcnZpY2UuY3JlYXRlUGF5bWVudFRva2VuKHBheWxvYWQpLnN1YnNjcmliZSgocGF5bWVudERldGFpbHM6IGFueSk9PiB7XHJcbiAgICAgIGlmIChpc1BheW1lbnRHYXRld2F5RW5hYmxlZClcclxuICAgICAgICB0aGlzLl9ldmVudFNlcnZpY2UuY2FzaEZyZWVFdmVudC5lbWl0KHBheW1lbnREZXRhaWxzKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJvcmRlcklkXCIpO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiY2FydElkXCIpO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwicGF5bWVudEZvclwiKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmNsZWFyVXNlckNhcnQoKTtcclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICB0aXRsZTogXCJIdXJyYXlcIixcclxuICAgICAgICAgIHRleHQ6IFwiT3JkZXIgcGxhY2VkIHN1Y2Nlc3NmdWxseVwiLFxyXG4gICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiU2VlIERldGFpbHNcIlxyXG4gICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZS5pc0NvbmZpcm1lZCkge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcm9maWxlJ10pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0sIChlcnJvcik9PiB7XHJcbiAgICAgIGlmIChlcnJvci5lcnJvckNvZGUgPT0gMTAwMSB8fCBlcnJvci5lcnJvckNvZGUgPT0gMTAwMikge1xyXG4gICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICBpY29uOiBcImluZm9cIixcclxuICAgICAgICAgIGh0bWw6IFwiPHA+XCIgKyBlcnJvci5tZXNzYWdlLnJlcGxhY2UoLyAqXFwoW14pXSpcXCkgKi9nLCBcIlwiKSArIFwiPC9wPlwiLFxyXG4gICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZXJyb3IuZXJyb3JDb2RlID09IDEwMDIsXHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJSZW1vdmUgaXRlbSAmIFBsYWNlIE9yZGVyXCIsXHJcbiAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBcIlJlZHVjZSBxdWFudGl0eVwiLFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uQ29sb3I6IFwiIzkyOGM4Y1wiLFxyXG4gICAgICAgIH0pLnRoZW4oYXN5bmMgKHJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogJ1Byb2Nlc3NpbmcnLCBkZXRhaWw6ICdQbGVhc2Ugd2FpdCwgdXBkYWluZyB5b3VyIGNhcnQnLCBsaWZlOiAyMDAwfSk7XHJcbiAgICAgICAgICBjb25zdCByZWdFeHAgPSAveyhbXn1dKyl9L2c7XHJcbiAgICAgICAgICBjb25zdCBpZCA9IHJlZ0V4cC5leGVjKGVycm9yLm1lc3NhZ2UpPy5bMV07XHJcbiAgICAgICAgICBsZXQgaXRlbURldGFpbDogUHJvZHVjdCB8IG51bGwgPSBudWxsO1xyXG4gICAgICAgICAgY29uc3QgcHJvZHVjdERldGFpbHNBc3luYyA9IGF3YWl0IHRoaXMucmVzdFNlcnZpY2UuZ2V0UHJvZHVjdERldGFpbHMoaWQpLnRvUHJvbWlzZSgpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW1EZXRhaWwgPSByZXNwb25zZVswXSBhcyBQcm9kdWN0O1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Rpc21pc3NlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMpPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChpdGVtLml0ZW1JZCA9PSBpdGVtRGV0YWlsPy5pdGVtSWQpXHJcbiAgICAgICAgICAgICAgICBpdGVtLnF1YW50aXR5ID0gaXRlbURldGFpbD8uaXRlbUludmVudG9yeS5vcGVuaW5nU3RvY2s7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIGNvbnN0IGFkZEl0ZW1EQkFzeW5jID0gYXdhaXQgdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih0aGlzLmNhcnRJbmZvKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgY29uc3QgYWRkSXRlbUluZGV4REJBc3luYyA9IGF3YWl0IHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkQWxsUHJvZHVjdHNUb0NhcnQodGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5pc0NvbmZpcm1lZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zLmZpbHRlcigoaXRlbTogT3JkZXJlZEl0ZW1zKT0+IGl0ZW0uaXRlbUlkICE9IGl0ZW1EZXRhaWw/Lml0ZW1JZCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFkZEl0ZW1EQkFzeW5jID0gYXdhaXQgdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih0aGlzLmNhcnRJbmZvKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgY29uc3QgYWRkSXRlbUluZGV4REJBc3luYyA9IGF3YWl0IHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkQWxsUHJvZHVjdHNUb0NhcnQodGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMpO1xyXG4gICAgICAgICAgICB0aGlzLnByb2NlZWRUb1BheW1lbnQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdQYXltZW50IEZhaWx1cmUnLCBkZXRhaWw6ICdQbGVhc2UgdHJ5IGFnYWluJyB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuICBhZGRyZXNzU2VsZWN0ZWQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFkZHJlc3NJZHggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIGlzSXRlbU91dE9mU3RvY2socHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7IC8vIG5lZWQgY29uZGl0aW9uXHJcbiAgfVxyXG4gIGdldEtleXMob2JqZWN0OiBPYmplY3QpOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAob2JqZWN0KVxyXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0KTtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGVkaXRTZWN0aW9uKCl7XHJcbiAgICBcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCk9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHtkYXRhOnRoaXMuZGF0YX0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgY2xvc2VXaW5kb3coKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEFkZHJlc3NMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlckRldGFpbHMgPyBbLi4udGhpcy51c2VyRGV0YWlscz8uYWRkcmVzc0RldGFpbHNMaXN0XSA6IFtdO1xyXG4gIH1cclxuICBnZXQgaXNNb2JpbGUoKSB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNDc1O1xyXG4gIH1cclxuICBnZXQgY3VycmVuY3koKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBCVVNJTkVTU19DT05TVEFOVFMuQ1VSUkVOQ1k7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBbYmFzZVpJbmRleF09XCIxMDAwMDAwMDAwMFwiIFthdXRvWkluZGV4XT1cInRydWVcIiBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhXCI+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2F0dHIuY2xhc3NdPVwiaXNNb2JpbGUgPyAncHktNScgOiAnJ1wiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgKGNsaWNrKT1cImVkaXRTZWN0aW9uKClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG0tYXV0byBtYi00XCIgW3N0eWxlLm1hcmdpblRvcC5weF09XCJpc01vYmlsZSA/ICcnOiAnNTAnXCIgW3N0eWxlLndpZHRoLiVdPVwiaXNNb2JpbGUgPyAnOTAnIDogJydcIiAqbmdJZj1cInJlc3BvbnNlRGF0YT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGhcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVsaW5lXCIgW25nQ2xhc3NdPVwieydpc0FjdGl2ZSc6IGN1cnJlbnRUYWIgPT0gJ0JBRyd9XCIgKGNsaWNrKT1cImN1cnJlbnRUYWIgPSAnQkFHJ1wiPkJhZzwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFyXCI+PC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1lbGluZVwiIFtuZ0NsYXNzXT1cInsnaXNBY3RpdmUnOiBjdXJyZW50VGFiID09ICdBRERSRVNTJ31cIiAoY2xpY2spPVwiY3VycmVudFRhYiA9ICdBRERSRVNTJ1wiPkFkZHJlc3M8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJhclwiPjwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGltZWxpbmVcIiBbbmdDbGFzc109XCJ7J2lzQWN0aXZlJzogY3VycmVudFRhYiA9PSAnUEFZTUVOVCd9XCIgc3R5bGU9XCJjdXJzb3I6IGF1dG87XCI+UGF5bWVudDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXBhcmVudCBjb250YWluZXJcIiAqbmdJZj1cIihyZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoIHx8IDApID4gMFwiICBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjdXJyZW50VGFiXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wYW5lbFwiICpuZ1N3aXRjaENhc2U9XCInQkFHJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktYmFnXCI+XHJcbiAgICAgICAgICAgICAgTXkgQmFnJm5ic3A7IDxzcGFuPih7e3Jlc3BvbnNlRGF0YT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGh9fSBJdGVtcyk8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pdGVtc1wiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXM7IGxldCBpZHggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcGFyZW50IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDBcIiBzdHlsZT1cInBhZGRpbmc6IDBweDsgd2lkdGg6IGZpdC1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgY2xhc3M9XCJwcm9kdWN0LWltZ1wiIFtzcmNdPVwiaXRlbS5pbWdVcmwgPz8gJ2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgYWx0PVwiXCIgKGNsaWNrKT1cImdvVG9Qcm9kdWN0RGV0YWlscyhpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGgtMTAwXCIgW3N0eWxlLndpZHRoLnB4XT1cImlzTW9iaWxlID8gJzIwMCcgOiAnJ1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaC0yM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tbmFtZSB0cmltLXRleHQgaGVhZGluZy1sYXJnZVwiPnt7aXRlbS5pdGVtTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utd2l0aC10YXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7KGl0ZW0uZGlzY291bnRlZFByaWNlKSB8IG51bWJlcjogJzEuMC0yJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLml0ZW1WYXJpYW50XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICpuZ0Zvcj1cImxldCB2YXJpZW50IG9mIGdldEtleXMoaXRlbS5pdGVtVmFyaWFudC5wcm9wZXJ0aWVzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3sgdmFyaWVudCB9fSA6IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZ3LW5vcm1hbFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgaGVpZ2h0OiAxM3B4OyB3aWR0aDogMTNweDsgYm9yZGVyLXJhZGl1czogNTAlO1wiICpuZ0lmPVwidmFyaWVudC50b0xvd2VyQ2FzZSgpID09ICdjb2xvcidcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllc1t2YXJpZW50XVwiPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbm9ybWFsXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4O1wiPiB7eyBpdGVtLml0ZW1WYXJpYW50LnByb3BlcnRpZXNbdmFyaWVudF0gfCB1cHBlcmNhc2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXF1YW50aXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9DYXJ0KGl0ZW0sICdTVUJTVFJBQ1QnKVwiPi08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnF1YW50aXR5fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9DYXJ0KGl0ZW0sICdBREQnKVwiPis8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBwb3NpdGlvbi1yZWxhdGl2ZVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IGF1dG87XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcHJpY2VcIj48c3BhbiBbaW5uZXJIVE1MXT0nY3VycmVuY3knPjwvc3Bhbj4ge3soKGl0ZW0uZGlzY291bnRlZFByaWNlKSAqIGl0ZW0ucXVhbnRpdHkpICB8IG51bWJlcjogJzEuMC0yJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRlbGV0ZS1pdGVtXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oaXRlbSlcIiBbc3R5bGUucmlnaHQucHhdPVwiaXNNb2JpbGUgPyAnNScgOiAnMCdcIj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGhyICpuZ0lmPVwicmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXM/Lmxlbmd0aCAhPSAoaWR4ICsxKVwiPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcGFuZWxcIiAqbmdTd2l0Y2hDYXNlPVwiJ0FERFJFU1MnXCI+XHJcbiAgICAgICAgICAgIDxzaW1wby1hZGRyZXNzIFtpc0NhcnRdPVwidHJ1ZVwiIFtyZXNwb25zZURhdGFdPVwiZ2V0QWRkcmVzc0xpc3RcIiBbZGF0YV09XCJkYXRhXCIgKHNlbGVjdGVkQWRkcmVzcyk9XCJhZGRyZXNzU2VsZWN0ZWQoJGV2ZW50KVwiPjwvc2ltcG8tYWRkcmVzcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcGFuZWxcIiAqbmdTd2l0Y2hDYXNlPVwiJ1BBWU1FTlQnXCI+PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXBhbmVsXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktYmFnXCI+XHJcbiAgICAgICAgICAgIFByaWNlIERldGFpbHNcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXBhcmVudC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS10eXBlXCI+VG90YWwgUHJpY2U8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdmFsdWVcIj48c3BhbiBbaW5uZXJIVE1MXT0nY3VycmVuY3knPjwvc3Bhbj4ge3socmVzcG9uc2VEYXRhPy5iaWxsZGV0YWlscz8udG90YWxOZXRWYWx1ZSA/PyAwKSB8IG51bWJlcjogJzEuMC0yJ319PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXR5cGVcIj5Ub3RhbCBUYXg8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdmFsdWVcIj48c3BhbiBbaW5uZXJIVE1MXT0nY3VycmVuY3knPjwvc3Bhbj4ge3socmVzcG9uc2VEYXRhPy5iaWxsZGV0YWlscz8udG90YWxUYXggPz8gMCkgfCBudW1iZXI6ICcxLjAtMid9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXBhcmVudC1ibG9ja1wiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy5kZWxpdmVyeUNoYXJnZXMgJiYgcmVzcG9uc2VEYXRhLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlcyA+IDBcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdHlwZVwiPkRlbGl2ZXJ5IENoYXJnZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiPjxzcGFuIFtpbm5lckh0bWxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7e3Jlc3BvbnNlRGF0YS5iaWxsZGV0YWlscy5kZWxpdmVyeUNoYXJnZXMgfCBudW1iZXI6ICcxLjAtMid9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGhyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXR5cGVcIiBzdHlsZT1cImNvbG9yOiBibGFjaztmb250LXdlaWdodDogNjAwO1wiPlRvdGFsIEFtb3VudDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDYwMDtcIj48c3BhbiBbaW5uZXJIdG1sXT0nY3VycmVuY3knPjwvc3Bhbj4ge3socmVzcG9uc2VEYXRhPy50b3RhbEFtb3VudCA/PyAwKSB8IG51bWJlcjogJzEuMC0yJ319PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFRhYiA9PSAnQkFHJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0biBtb2JpbGUtZml4ZWRcIiAoY2xpY2spPVwicHJvY2VlZFRvQ2hlY2tvdXQoKVwiICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvclwiPnt7ZGF0YT8uYWN0aW9uPy5idXR0b25zPy5bMF0/LmNvbnRlbnQ/LmxhYmVsID8/ICdDaGVja291dCBDYXJ0J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cInByb2NlZWRUb0xpc3RQYWdlKClcIiBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbYnV0dG9uU3R5bGVdPVwiZGF0YT8uYWN0aW9uPy5idXR0b25zPy5bMV0/LnN0eWxlc1wiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3tkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlsxXT8uY29udGVudD8ubGFiZWwgPz8gJ0NvbnRpbnVlIFNob3BwaW5nJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT0gJ0FERFJFU1MnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuIG1vYmlsZS1maXhlZFwiIChjbGljayk9XCJwcm9jZWVkVG9QYXltZW50KClcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvclwiPnt7ZGF0YT8uYWN0aW9uPy5idXR0b25zPy5bMl0/LmNvbnRlbnQ/LmxhYmVsID8/ICdQbGFjZSBPcmRlcid9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGE/LmFjdGlvbj8uYnV0dG9ucztsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImkgPT0gMCA/IHByb2NlZWRUb0NoZWNrb3V0KCkgOiBwcm9jZWVkVG9MaXN0UGFnZSgpXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkK2J1dHRvbi5pZFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3tidXR0b24/LmNvbnRlbnQ/LmxhYmVsfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJlbXB0eS1jYXJ0XCIgKm5nSWY9XCIocmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXM/Lmxlbmd0aCB8fCAwKSA9PSAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LWNhcnQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pbWFnZVwiPlxyXG4gICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgW3NyY109XCJkYXRhPy5jb250ZW50Py5pbWFnZT8udXJsXCIgW2FsdF09XCJkYXRhPy5jb250ZW50Py5pbWFnZT8uYWx0VGV4dFwiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC10ZXh0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRleHQgb2YgZGF0YT8uY29udGVudD8uaW5wdXRUZXh0XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgW25nQ2xhc3NdPVwieydoZWFkaW5nLW1lZGl1bSc6IHRleHQubGFiZWwgPT0gJ0hlYWRpbmcnLCAnZGVzY3JpcHRpb24nOiB0ZXh0LmxhYmVsID09ICdUZXh0J31cIj57e3RleHQudmFsdWV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24gZC1mbGV4IG10LTRcIj5cclxuICAgICAgICAgICAgICBMb29rcyBsaWtlIHlvdSBoYXZlIG5vdCBhZGRlZCBhbnl0aGluZyB0byB5b3VyIGNhcnQuIEdvIGFoZWFkICYgZXhwbG9yZSB0b3AgY2F0ZWdvcmllcy5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIiBbaXNFY29tbWVyY2VdPVwidHJ1ZVwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YVwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJjYXJ0LXdpbmRvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBsaC0yIG1iLTMgaGVhZGVyLXNlY1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImNsb3NlV2luZG93KClcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPllvdXIgQ2FydDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2F2aW5nXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwib2ZmZXJzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cImdhcDogNXB4O1wiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2kucG9zdGltZy5jYy9odFk1NXNxWS9kaXNjb3VudC5wbmdcIiBhbHQ9XCJcIiBoZWlnaHQ9XCIyMFwiIHdpZHRoPVwiMjBcIj5cclxuICAgICAgICAgIDxzcGFuPkF2YWlsIE9mZmVycyAvIENvdXBvbnM8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbC1pdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbC1pdGVtXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBzdHlsZT1cImdhcDogNXB4O1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiIHN0eWxlPVwicGFkZGluZzogMHB4OyB3aWR0aDogZml0LWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiIGNsYXNzPVwic21hbGwtcHJvZHVjdC1pbWdcIiBbc3JjXT1cIml0ZW0uaW1nVXJsID8/ICdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiIGFsdD1cIlwiIChjbGljayk9XCJnb1RvUHJvZHVjdERldGFpbHMoaXRlbSlcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGwtaXRlbS1uYW1lIHRyaW0tdGV4dFwiPnt7IGl0ZW0uaXRlbU5hbWUgfCB0aXRsZWNhc2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGwtaXRlbS1xdWFudGl0eVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9DYXJ0KGl0ZW0sICdTVUJTVFJBQ1QnKVwiPi08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0ucXVhbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yXCIgKGNsaWNrKT1cImFkZFRvQ2FydChpdGVtLCAnQUREJylcIj4rPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbC1pdGVtLXByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utd2l0aC10YXhcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7KGl0ZW0uZGlzY291bnRlZFByaWNlKSB8IG51bWJlcjogJzEuMC0yJ319XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInByaWNlLXdpdGgtdGF4XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7eyhpdGVtLnNlbGxpbmcpIHwgbnVtYmVyOiAnMS4wLTInfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3R0ZXItc2VjXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRlbGl2ZXJ5LWFkZCBkLWZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5ob21lPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzXCI+VGV0c3Rpbmc8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGF5bWVudC1idG5cIiBbZGlzYWJsZWRdPVwiY2FydEluZm8uYWRkcmVzc0RldGFpbHNcIiAoY2xpY2spPVwicHJvY2VlZFRvQ2hlY2tvdXQoKVwiPiA8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4O1wiPkNsaWNrIHRvIFBheTwvc3Bhbj4gPHNwYW4gW2lubmVySHRtbF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7KHJlc3BvbnNlRGF0YT8udG90YWxBbW91bnQgPz8gMCkgfCBudW1iZXI6ICcxLjAtMid9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmd4LXNrZWxldG9uLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gIHdpZHRoOiAnMTAwJScsXHJcbiAgaGVpZ2h0OiAnNDB2aCcsXHJcbiAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXHJcbiAgJ3Bvc2l0aW9uJzogJ3JlbGF0aXZlJyxcclxuICAncmlnaHQnOiAnNXB4J1xyXG59XCI+XHJcbjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuIl19
|
463
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9jYXJ0L2NhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2FydC9jYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1B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USxDQUFDO0lBQ3JDLENBQUM7OEdBL1pVLGFBQWEscVBBcUJGLGVBQWU7a0dBckIxQixhQUFhLDZMQUpiLENBQUMsY0FBYyxDQUFDLGlEQ2hEN0Isb21ZQTBMQSxveEpEekpJLFdBQVcsOEJBQ1gsWUFBWSw0c0JBQ1osT0FBTywwSUFDUCxlQUFlLDhCQUNmLG9CQUFvQix1aEJBQ3BCLG1CQUFtQix5R0FDbkIsb0JBQW9CO2dCQUNwQixXQUFXO2dCQUNYLHdCQUF3QixvSEFDeEIsa0JBQWtCLHlGQUNsQixtQkFBbUIsbUZBQ25CLGNBQWMsZ0ZBQ2QsZ0JBQWdCLDZLQUNoQixXQUFXOzsyRkFNRixhQUFhO2tCQXZCekIsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixPQUFPO3dCQUNQLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCx3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVztxQkFDWixhQUNVLENBQUMsY0FBYyxDQUFDOzswQkF5QnhCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7eUNBckJGLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWRkcmVzcywgQ2FydFNlY3Rpb25Nb2RhbCwgQ2FydFNlY3Rpb25TdHlsZXNNb2RlbCB9IGZyb20gJy4vY2FydC5tb2RhbCc7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi8uLi8uLi9zZWN0aW9ucy9CYXNlU2VjdGlvbic7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRyZXNzQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRlVXNlckNvbXBvbmVudCB9IGZyb20gJy4uL2F1dGhlbnRpY2F0ZS11c2VyL2F1dGhlbnRpY2F0ZS11c2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcclxuaW1wb3J0IHsgQlVTSU5FU1NfQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2J1c2luZXNzLmNvbnN0YW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0LCBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9zdHlsZXMvcHJvZHVjdC5tb2RhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWNhcnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsIFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIE1hdEJvdHRvbVNoZWV0TW9kdWxlLFxyXG4gICAgLy9ESVJFQ1RJVkVcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSwgXHJcbiAgICBBZGRyZXNzQ29tcG9uZW50LFxyXG4gICAgVG9hc3RNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NhcnQuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YT86IENhcnRTZWN0aW9uTW9kYWw7XHJcbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhPzogYW55O1xyXG4gIEBJbnB1dCgpIGluZGV4PyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZWxldGU/IDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgc3R5bGVzPzogQ2FydFNlY3Rpb25TdHlsZXNNb2RlbDtcclxuICBwdWJsaWMgY3VycmVudFRhYjogJ0JBRycgfCAnQUREUkVTUycgfCAnUEFZTUVOVCcgPSBcIkJBR1wiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZSA6IEV2ZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYm90dG9tU2hlZXQ6IE1hdEJvdHRvbVNoZWV0LFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBtYXREaWFsb2dEYXRhOiBhbnksXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2FydENvbXBvbmVudD5cclxuICApe1xyXG4gICAgc3VwZXIoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1c2VyRGV0YWlsczogVXNlciB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgVVNFUl9DQVJUX0lURU1TOiBPcmRlcmVkSXRlbXNbXSB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NJZHg6IG51bWJlciA9IDA7XHJcblxyXG4gIGNhcnRJbmZvOiBhbnkgPSB7XHJcbiAgICBvcmRlcmVkSXRlbXM6IG51bGwsXHJcbiAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXHJcbiAgICBiaWxsZGV0YWlsczoge1xyXG4gICAgICBcInRvdGFsTmV0VmFsdWVcIjogMCxcclxuICAgICAgXCJ0b3RhbEdyb3NzVmFsdWVcIjogMCxcclxuICAgICAgXCJ0b3RhbFRheFwiOiAwLFxyXG4gICAgICBcInRvdGFsT2ZmZXJlZFZhbHVlXCI6IDAsXHJcbiAgICAgIFwiZGVsaXZlcnlDaGFyZ2VzXCI6IDBcclxuICAgIH0sXHJcbiAgICBwbGF0Zm9ybTogXCJXRUJcIixcclxuICAgIGNhcnRUeXBlOiBcIkNBUlRcIixcclxuICAgIGFkZHJlc3NEZXRhaWxzOiBudWxsLFxyXG4gICAgdXNlckRldGFpbHM6IHtcclxuICAgICAgXCJ1c2VySWRcIjogXCJcIixcclxuICAgICAgXCJ1c2VyTmFtZVwiOiBcIlwiLFxyXG4gICAgICBcIm1vYmlsZVwiOiBcIlwiLFxyXG4gICAgICBcImVtYWlsXCI6IFwiXCJcclxuICAgIH0sXHJcbiAgICB0b3RhbEFtb3VudDogMFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSByZXNwb25zZTtcclxuICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICAgIHRoaXMuZ2V0SW5kZXhEQkRhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSkge1xyXG4gICAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcjtcclxuICAgICAgdGhpcy5jYXJ0SW5mby51c2VyRGV0YWlscyA9IHtcclxuICAgICAgICBcInVzZXJJZFwiOiB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAgICAgXCJ1c2VyTmFtZVwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Lm5hbWUsXHJcbiAgICAgICAgXCJtb2JpbGVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5tb2JpbGUsXHJcbiAgICAgICAgXCJlbWFpbFwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0LmVtYWlsLFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHRoaXMudXNlckRldGFpbHMudXNlcklkLCBcIkNBUlRcIikuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgICBjb25zdCB0ZW1wVXNlckNhcnQgPSByZXNwb25zZT8uZGF0YT8uWzBdPy5vcmRlcmVkSXRlbXMgPz8gW107XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnRJZCcsIHJlc3BvbnNlLmRhdGE/LlswXT8uY2FydElkKTtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvW1wiY2FydElkXCJdID0gcmVzcG9uc2UuZGF0YT8uWzBdPy5jYXJ0SWQ7IFxyXG4gICAgICAgIGlmIChyZXNwb25zZS5kYXRhPy5bMF0/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZEFsbFByb2R1Y3RzVG9DYXJ0KHRlbXBVc2VyQ2FydCkub25jb21wbGV0ZSA9ICgpPT4ge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyQ2FydCgpLnRoZW4oKGNhcnRSZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICAgICAgY2FydFJlc3BvbnNlLm9uc3VjY2VzcyA9IChjYXJ0RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmNhcnRJbmZvW1wib3JkZXJlZEl0ZW1zXCJdPy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMpPT4gaXRlbS5pdGVtVmFyaWFudCA9IG51bGwpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdFJlc3BvbnNlID0gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih0aGlzLmNhcnRJbmZvKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgICAgIHJlc3RSZXNwb25zZS5maW5hbGx5KCgpPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXggPSAwO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLnRvdGFsQW1vdW50ID0gMDtcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TID0gY2FydERhdGEudGFyZ2V0LnJlc3VsdCBhcyB1bmtub3duIGFzIE9yZGVyZWRJdGVtc1tdO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLlVTRVJfQ0FSVF9JVEVNUy5mb3JFYWNoKChpdGVtKT0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSArPSAoaXRlbS5kaXNjb3VudGVkUHJpY2UgKiAoaXRlbS5xdWFudGl0eSA/PyAxKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCArPSAoaXRlbS5xdWFudGl0eSAqIChpdGVtLml0ZW1UYXggPz8gMCkpO1xyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSAtIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMuZGVsaXZlcnlDaGFyZ2VzO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9DQVJUX0lURU1TO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLnRvdGFsQW1vdW50ID0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlICsgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheDtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLmNhcnRJbmZvO1xyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnJlc3BvbnNlRGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBjYXJ0UmVzcG9uc2Uub25lcnJvciA9IChjYXJ0RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnRXJyb3InLCBkZXRhaWw6ICdGYWlsZWQgdG8gdXBkYXRlIGNhcnQgZGV0YWlscycgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJDYXJ0KCkudGhlbigoY2FydFJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgY2FydFJlc3BvbnNlLm9uc3VjY2VzcyA9IChjYXJ0RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJjYXJ0IERhdGFcIiwgY2FydERhdGEpO1xyXG4gICAgICAgICAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TID0gY2FydERhdGEudGFyZ2V0LnJlc3VsdCBhcyB1bmtub3duIGFzIE9yZGVyZWRJdGVtc1tdO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlID0gMDtcclxuICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ID0gMDtcclxuICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSAwO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSAwO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TLmZvckVhY2goKGl0ZW0pPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgKz0gKGl0ZW0uZGlzY291bnRlZFByaWNlICogKGl0ZW0ucXVhbnRpdHkgPz8gMSkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCArPSAoaXRlbS5xdWFudGl0eSAqIChpdGVtLml0ZW1UYXggPz8gMCkpO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlID0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbEdyb3NzVmFsdWUgLSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlcztcclxuICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLnRvdGFsQW1vdW50ID0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlICsgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheDtcclxuICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9DQVJUX0lURU1TO1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucmVzcG9uc2VEYXRhKTtcclxuICAgICAgICAgICAgICAvLyB0aGlzLmNhcnRJbmZvW1wib3JkZXJlZEl0ZW1zXCJdPy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMpPT4gaXRlbS5pdGVtVmFyaWFudCA9IG51bGwpO1xyXG4gICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy5jYXJ0SW5mbztcclxuICAgICAgICAgICAgICB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHRoaXMucmVzcG9uc2VEYXRhKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnRJZCcsIHJlc3BvbnNlLmRhdGE/LmNhcnRJZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRJbmZvW1wiY2FydElkXCJdID0gcmVzcG9uc2UuZGF0YT8uY2FydElkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZURhdGFbXCJjYXJ0SWRcIl0gPSB0aGlzLmNhcnRJbmZvW1wiY2FydElkXCJdO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nZXRJbmRleERCRGF0YSgpO1xyXG4gICAgICAvLyB0aGlzLnJlc3BvbnNlRGF0YSA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuY2FsY3VsYXRlQmlsbGluZ0RldGFpbHMoKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5yZXNwb25zZURhdGEpO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2codGhpcy5yZXNwb25zZURhdGEpO1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICB9XHJcblxyXG4gIGdldEluZGV4REJEYXRhKCkge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyQ2FydCgpLnRoZW4oKGNhcnRSZXNwb25zZSk9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGNhcnRSZXNwb25zZSk7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSA9IDA7XHJcbiAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXggPSAwO1xyXG4gICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSAwO1xyXG4gICAgICB0aGlzLmNhcnRJbmZvLnRvdGFsQW1vdW50ID0gMDtcclxuICAgICAgXHJcblxyXG4gICAgICBjYXJ0UmVzcG9uc2Uub25zdWNjZXNzID0gKGNhcnREYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLlVTRVJfQ0FSVF9JVEVNUyA9IGNhcnREYXRhLnRhcmdldC5yZXN1bHQgYXMgdW5rbm93biBhcyBPcmRlcmVkSXRlbXNbXTtcclxuICAgICAgICB0aGlzLlVTRVJfQ0FSVF9JVEVNUy5mb3JFYWNoKChpdGVtKT0+IHtcclxuICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlICs9IChpdGVtLmRpc2NvdW50ZWRQcmljZSAqIChpdGVtLnF1YW50aXR5ID8/IDEpKTtcclxuICAgICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXggKz0gKGl0ZW0ucXVhbnRpdHkgKiAoaXRlbS5pdGVtVGF4ID8/IDApKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlIC0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy5kZWxpdmVyeUNoYXJnZXM7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby50b3RhbEFtb3VudCA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSArIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxUYXg7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMgPSB0aGlzLlVTRVJfQ0FSVF9JVEVNUztcclxuICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YSA9IHRoaXMuY2FydEluZm87XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHByb2NlZWRUb0NoZWNrb3V0KCl7XHJcbiAgICBpZih0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSl7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYiA9IFwiQUREUkVTU1wiOyBcclxuICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgIH1cclxuICAgICAgICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogJ0xvZ2luJywgZGV0YWlsOiAnUGxlYXNlIGxvZ2luIHdpdGggbW9iaWxlIG51bWJlciB0byBvcmRlcicgfSk7XHJcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSkge1xyXG4gICAgICAgICAgICB0aGlzLmJvdHRvbVNoZWV0Lm9wZW4oQXV0aGVudGljYXRlVXNlckNvbXBvbmVudCwge2RhdGE6IHRoaXMuZGF0YX0pLmFmdGVyRGlzbWlzc2VkKCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FydEluZm8udXNlckRldGFpbHMgPSB7XHJcbiAgICAgICAgICAgICAgICBcInVzZXJJZFwiOiB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAgICAgICAgICAgICBcInVzZXJOYW1lXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubmFtZSxcclxuICAgICAgICAgICAgICAgIFwibW9iaWxlXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubW9iaWxlLFxyXG4gICAgICAgICAgICAgICAgXCJlbWFpbFwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0LmVtYWlsLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIlJlc3BvbnNlIDogXCIsIHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2NlZWRUb0NoZWNrb3V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oQXV0aGVudGljYXRlVXNlckNvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICc1MHZoJyxcclxuICAgICAgICAgICAgd2lkdGg6ICczNXZ3JyxcclxuICAgICAgICAgICAgZGF0YTogdGhpcy5kYXRhIFxyXG4gICAgICAgICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgdGhpcy51c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgICAgICB0aGlzLmNhcnRJbmZvLnVzZXJEZXRhaWxzID0ge1xyXG4gICAgICAgICAgICAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgICAgICAgICBcInVzZXJOYW1lXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubmFtZSxcclxuICAgICAgICAgICAgICBcIm1vYmlsZVwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Lm1vYmlsZSxcclxuICAgICAgICAgICAgICBcImVtYWlsXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QuZW1haWwsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJSZXNwb25zZSA6IFwiLCByZXNwb25zZSk7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSlcclxuICAgICAgICAgICAgICB0aGlzLnByb2NlZWRUb0NoZWNrb3V0KCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ29Ub1Byb2R1Y3REZXRhaWxzKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZGV0YWlscyddLCB7cXVlcnlQYXJhbXM6IHtpZDogcHJvZHVjdC5pdGVtSWQsIHZhcmllbnRJZDogcHJvZHVjdC52YXJpZW50SWR9fSk7XHJcbiAgfVxyXG4gIHByb2NlZWRUb0xpc3RQYWdlKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XHJcbiAgfVxyXG4gIHJlbW92ZUl0ZW0oaXRlbTogT3JkZXJlZEl0ZW1zKSB7XHJcblxyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgaWNvbjogXCJ3YXJuaW5nXCIsXHJcbiAgICAgIGh0bWw6IFwiPHNwYW4+WW91IGNhbiBtb3ZlIDwvc3Bhbj4gPGI+XCIgKyBpdGVtLml0ZW1OYW1lICsgXCI8L2I+IDxzcGFuPnRvIHdpc2hsaXN0IHNvIHlvdSBjYW4gYnV5IGxhdGVyLjwvc3Bhbj5cIixcclxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiTW92ZSB0byB3aXNobGlzdFwiLFxyXG4gICAgICBzaG93RGVueUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgZGVueUJ1dHRvblRleHQ6IFwiRGVsZXRlIGl0ZW1cIixcclxuICAgICAgZGVueUJ1dHRvbkNvbG9yOiBcIiM5MjhjOGNcIlxyXG4gICAgfSkudGhlbigocmVzcG9uc2UpPT4ge1xyXG4gICAgICBpZiAocmVzcG9uc2UuaXNDb25maXJtZWQpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZUl0ZW1Gcm9tQ2FydChpdGVtKTtcclxuICAgICAgICB0aGlzLm1vdmVJdGVtVG9XaXNobGlzdChpdGVtKTtcclxuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5pc0RlbmllZCkge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlSXRlbUZyb21DYXJ0KGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBwcml2YXRlIG1vdmVJdGVtVG9XaXNobGlzdChpdGVtOiBPcmRlcmVkSXRlbXMpIHtcclxuICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbVRvRmF2RnJvbUNhcnQoaXRlbSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVtb3ZlSXRlbUZyb21DYXJ0KGl0ZW06IE9yZGVyZWRJdGVtcykge1xyXG4gICAgaXRlbS5xdWFudGl0eSA9IDA7XHJcbiAgICBpZiAodGhpcy5VU0VSX0NBUlRfSVRFTVMpXHJcbiAgICAgIHRoaXMuVVNFUl9DQVJUX0lURU1TID0gdGhpcy5VU0VSX0NBUlRfSVRFTVMuZmlsdGVyKChwcm9kdWN0OiBhbnkpPT4gcHJvZHVjdC52YXJpZW50SWQgIT0gaXRlbS52YXJpZW50SWQpO1xyXG4gICAgdGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMgPSB0aGlzLlVTRVJfQ0FSVF9JVEVNUztcclxuICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy5jYXJ0SW5mbztcclxuICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbUZyb21DYXJ0UGFnZShpdGVtLCB0aGlzLnJlc3BvbnNlRGF0YSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuXHJcbiAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlID0gMDtcclxuICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCA9IDA7XHJcbiAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IDA7XHJcbiAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSAwO1xyXG4gICAgICBcclxuICAgICAgcmVzcG9uc2U/LmRhdGE/Lm9yZGVyZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpPT4ge1xyXG4gICAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlICs9IChpdGVtLmRpc2NvdW50ZWRQcmljZSAqIChpdGVtLnF1YW50aXR5ID8/IDEpKTtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ICs9IChpdGVtLnF1YW50aXR5ICogKGl0ZW0uaXRlbVRheCA/PyAwKSk7XHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZSA9IHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMudG90YWxHcm9zc1ZhbHVlIC0gdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy5kZWxpdmVyeUNoYXJnZXM7XHJcbiAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgKyB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4O1xyXG4gICAgICB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9DQVJUX0lURU1TO1xyXG4gICAgfSlcclxuICB9XHJcbiAgYWRkVG9DYXJ0KGl0ZW06IE9yZGVyZWRJdGVtcywgdHlwZTogJ0FERCcgfCAnU1VCU1RSQUNUJykge1xyXG4gICAgaWYgKHR5cGUgPT0gJ0FERCcpIHtcclxuICAgICAgaXRlbS5xdWFudGl0eSArPSAxO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGl0ZW0ucXVhbnRpdHkgLT0gMTtcclxuICAgIH1cclxuICBcclxuICAgIGlmIChpdGVtLnF1YW50aXR5KSB7XHJcbiAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbUZyb21DYXJ0UGFnZShpdGVtLCB0aGlzLnJlc3BvbnNlRGF0YSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbFRheCA9IDA7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mby5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlID0gMDtcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLnRvdGFsQW1vdW50ID0gMDtcclxuICAgICAgICBcclxuICAgICAgICByZXNwb25zZT8uZGF0YT8ub3JkZXJlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSk9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSArPSAoaXRlbS5kaXNjb3VudGVkUHJpY2UgKiAoaXRlbS5xdWFudGl0eSA/PyAxKSk7XHJcbiAgICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4ICs9IChpdGVtLnF1YW50aXR5ICogKGl0ZW0uaXRlbVRheCA/PyAwKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsR3Jvc3NWYWx1ZSAtIHRoaXMuY2FydEluZm8uYmlsbGRldGFpbHMuZGVsaXZlcnlDaGFyZ2VzO1xyXG4gICAgICAgIHRoaXMuY2FydEluZm8udG90YWxBbW91bnQgPSB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsTmV0VmFsdWUgKyB0aGlzLmNhcnRJbmZvLmJpbGxkZXRhaWxzLnRvdGFsVGF4O1xyXG4gICAgICAgIHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX0NBUlRfSVRFTVM7XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbW92ZUl0ZW0oaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFzeW5jIHByb2NlZWRUb1BheW1lbnQoKSB7XHJcblxyXG4gICAgaWYgKCF0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6ICdMb2dpbicsIGRldGFpbDogJ1BsZWFzZSBsb2dpbiB3aXRoIG1vYmlsZSBudW1iZXIgdG8gb3JkZXInIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB1c2VyRGV0YWlsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcjtcclxuICAgIGNvbnN0IGFkZHJlc3MgPSB1c2VyRGV0YWlsPy5hZGRyZXNzRGV0YWlsc0xpc3RbdGhpcy5zZWxlY3RlZEFkZHJlc3NJZHhdIGFzIEFkZHJlc3M7XHJcbiAgICBpZiAoYWRkcmVzcz8ucmVjZWl2ZXJOYW1lPy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnUGF5bWVudCBGYWlsdXJlJywgZGV0YWlsOiAnUGxlYXNlIHByb3ZpZGUgYWRkcmVzcyBkZXRhaWxzJyB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2FydElkXCIpKVxyXG4gICAgICB0aGlzLmNhcnRJbmZvW1wiY2FydElkXCJdID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjYXJ0SWRcIik7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2luZm8nLCBzdW1tYXJ5OiAnUGxlYXNlIHdhaXQnLCBkZXRhaWw6ICdXZSBhcmUgcHJvY2Vzc2luZyB5b3VyIHBheW1lbnQnLCBsaWZlOiAyMDAwIH0pO1xyXG4gICAgICBhd2FpdCB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHRoaXMuY2FydEluZm8pLnRvUHJvbWlzZSgpLnRoZW4oKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiY2FydElkXCIsIHJlc3BvbnNlLmRhdGE/LmNhcnRJZCk7XHJcbiAgICAgICAgdGhpcy5jYXJ0SW5mb1tcImNhcnRJZFwiXSA9IHJlc3BvbnNlLmRhdGE/LmNhcnRJZDtcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIHRoaXMuY2FydEluZm9bXCJhZGRyZXNzRGV0YWlsc1wiXSA9IGFkZHJlc3M7XHJcbiAgICBjb25zdCBpc1BheW1lbnRHYXRld2F5RW5hYmxlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaXNQYXltZW50R2F0ZXdheUVuYWJsZWRcIikgPyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImlzUGF5bWVudEdhdGV3YXlFbmFibGVkXCIpID09IFwidHJ1ZVwiIDogdHJ1ZTtcclxuICAgIGNvbnN0IHVwZGF0ZUFkZHJlc3MgPSBhd2FpdCB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHRoaXMuY2FydEluZm8pLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgXCJ1c2VySWRcIjogdXNlckRldGFpbC51c2VySWQsXHJcbiAgICAgIFwiY2FydElkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjYXJ0SWQnKSxcclxuICAgICAgXCJvcmRlckFtb3VudFwiOiBOdW1iZXIoTnVtYmVyKHRoaXMucmVzcG9uc2VEYXRhLnRvdGFsQW1vdW50KS50b0ZpeGVkKDIpKSxcclxuICAgICAgXCJpc1BheW1lbnRHYXRld2F5RW5hYmxlZFwiOiBpc1BheW1lbnRHYXRld2F5RW5hYmxlZCxcclxuICAgICAgXCJjb250YWN0RGV0YWlsc1wiOiB7XHJcbiAgICAgICAgXCJuYW1lXCI6IGFkZHJlc3MucmVjZWl2ZXJOYW1lLFxyXG4gICAgICAgIFwibW9iaWxlXCI6IGFkZHJlc3MucmVjZWl2ZXJQaG9uZSxcclxuICAgICAgICBcImNvdW50cnlDb2RlXCI6IFwiOTFcIixcclxuICAgICAgICBcImVtYWlsXCI6IGFkZHJlc3MucmVjZWl2ZXJFbWFpbFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmNyZWF0ZVBheW1lbnRUb2tlbihwYXlsb2FkKS5zdWJzY3JpYmUoKHBheW1lbnREZXRhaWxzOiBhbnkpPT4ge1xyXG4gICAgICBpZiAoaXNQYXltZW50R2F0ZXdheUVuYWJsZWQpXHJcbiAgICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmNhc2hGcmVlRXZlbnQuZW1pdChwYXltZW50RGV0YWlscyk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwib3JkZXJJZFwiKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcImNhcnRJZFwiKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcInBheW1lbnRGb3JcIik7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhclVzZXJDYXJ0KCk7XHJcbiAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgdGl0bGU6IFwiSHVycmF5XCIsXHJcbiAgICAgICAgICB0ZXh0OiBcIk9yZGVyIHBsYWNlZCBzdWNjZXNzZnVsbHlcIixcclxuICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIlNlZSBEZXRhaWxzXCJcclxuICAgICAgICB9KS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UuaXNDb25maXJtZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcHJvZmlsZSddKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9LCAoZXJyb3IpPT4ge1xyXG4gICAgICBpZiAoZXJyb3IuZXJyb3JDb2RlID09IDEwMDEgfHwgZXJyb3IuZXJyb3JDb2RlID09IDEwMDIpIHtcclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgaWNvbjogXCJpbmZvXCIsXHJcbiAgICAgICAgICBodG1sOiBcIjxwPlwiICsgZXJyb3IubWVzc2FnZS5yZXBsYWNlKC8gKlxcKFteKV0qXFwpICovZywgXCJcIikgKyBcIjwvcD5cIixcclxuICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IGVycm9yLmVycm9yQ29kZSA9PSAxMDAyLFxyXG4gICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiUmVtb3ZlIGl0ZW0gJiBQbGFjZSBPcmRlclwiLFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogXCJSZWR1Y2UgcXVhbnRpdHlcIixcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbkNvbG9yOiBcIiM5MjhjOGNcIixcclxuICAgICAgICB9KS50aGVuKGFzeW5jIChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6ICdQcm9jZXNzaW5nJywgZGV0YWlsOiAnUGxlYXNlIHdhaXQsIHVwZGFpbmcgeW91ciBjYXJ0JywgbGlmZTogMjAwMH0pO1xyXG4gICAgICAgICAgY29uc3QgcmVnRXhwID0gL3soW159XSspfS9nO1xyXG4gICAgICAgICAgY29uc3QgaWQgPSByZWdFeHAuZXhlYyhlcnJvci5tZXNzYWdlKT8uWzFdO1xyXG4gICAgICAgICAgbGV0IGl0ZW1EZXRhaWw6IFByb2R1Y3QgfCBudWxsID0gbnVsbDtcclxuICAgICAgICAgIGNvbnN0IHByb2R1Y3REZXRhaWxzQXN5bmMgPSBhd2FpdCB0aGlzLnJlc3RTZXJ2aWNlLmdldFByb2R1Y3REZXRhaWxzKGlkKS50b1Byb21pc2UoKS50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtRGV0YWlsID0gcmVzcG9uc2VbMF0gYXMgUHJvZHVjdDtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UuaXNEaXNtaXNzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMuZm9yRWFjaCgoaXRlbTogT3JkZXJlZEl0ZW1zKT0+IHtcclxuICAgICAgICAgICAgICBpZiAoaXRlbS5pdGVtSWQgPT0gaXRlbURldGFpbD8uaXRlbUlkKVxyXG4gICAgICAgICAgICAgICAgaXRlbS5xdWFudGl0eSA9IGl0ZW1EZXRhaWw/Lml0ZW1JbnZlbnRvcnkub3BlbmluZ1N0b2NrO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBjb25zdCBhZGRJdGVtREJBc3luYyA9IGF3YWl0IHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy5jYXJ0SW5mbykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFkZEl0ZW1JbmRleERCQXN5bmMgPSBhd2FpdCB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZEFsbFByb2R1Y3RzVG9DYXJ0KHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuaXNDb25maXJtZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXJ0SW5mby5vcmRlcmVkSXRlbXMgPSB0aGlzLmNhcnRJbmZvLm9yZGVyZWRJdGVtcy5maWx0ZXIoKGl0ZW06IE9yZGVyZWRJdGVtcyk9PiBpdGVtLml0ZW1JZCAhPSBpdGVtRGV0YWlsPy5pdGVtSWQpO1xyXG4gICAgICAgICAgICBjb25zdCBhZGRJdGVtREJBc3luYyA9IGF3YWl0IHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy5jYXJ0SW5mbykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFkZEl0ZW1JbmRleERCQXN5bmMgPSBhd2FpdCB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZEFsbFByb2R1Y3RzVG9DYXJ0KHRoaXMuY2FydEluZm8ub3JkZXJlZEl0ZW1zKTtcclxuICAgICAgICAgICAgdGhpcy5wcm9jZWVkVG9QYXltZW50KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnUGF5bWVudCBGYWlsdXJlJywgZGV0YWlsOiAnUGxlYXNlIHRyeSBhZ2FpbicgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkcmVzc1NlbGVjdGVkKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzSWR4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBpc0l0ZW1PdXRPZlN0b2NrKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgcmV0dXJuIGZhbHNlOyAvLyBuZWVkIGNvbmRpdGlvblxyXG4gIH1cclxuICBnZXRLZXlzKG9iamVjdDogT2JqZWN0KTogc3RyaW5nW10ge1xyXG4gICAgaWYgKG9iamVjdClcclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCk7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICBlZGl0U2VjdGlvbigpe1xyXG4gICAgXHJcbiAgICBpZih3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzUpXHJcbiAgICAgIHJldHVybjtcclxuICAgIFxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKT0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoe2RhdGE6dGhpcy5kYXRhfSk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuICBjbG9zZVdpbmRvdygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0QWRkcmVzc0xpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyRGV0YWlscyA/IFsuLi50aGlzLnVzZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlsc0xpc3RdIDogW107XHJcbiAgfVxyXG4gIGdldCBpc01vYmlsZSgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICA8cC10b2FzdCBwb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiIFtiYXNlWkluZGV4XT1cIjEwMDAwMDAwMDAwXCIgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiIFtzaG93VHJhbnNmb3JtT3B0aW9uc109XCJpc01vYmlsZSA/ICd0cmFuc2xhdGVZKC0xMDAlKScgOiAnJ1wiPjwvcC10b2FzdD5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbYXR0ci5jbGFzc109XCJpc01vYmlsZSA/ICdweS01JyA6ICcnXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiAoY2xpY2spPVwiZWRpdFNlY3Rpb24oKVwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgbS1hdXRvIG1iLTRcIiBbc3R5bGUubWFyZ2luVG9wLnB4XT1cImlzTW9iaWxlID8gJyc6ICc1MCdcIiBbc3R5bGUud2lkdGguJV09XCJpc01vYmlsZSA/ICc5MCcgOiAnJ1wiICpuZ0lmPVwicmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXM/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGltZWxpbmVcIiBbbmdDbGFzc109XCJ7J2lzQWN0aXZlJzogY3VycmVudFRhYiA9PSAnQkFHJ31cIiAoY2xpY2spPVwiY3VycmVudFRhYiA9ICdCQUcnXCI+QmFnPC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj48L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVsaW5lXCIgW25nQ2xhc3NdPVwieydpc0FjdGl2ZSc6IGN1cnJlbnRUYWIgPT0gJ0FERFJFU1MnfVwiIChjbGljayk9XCJjdXJyZW50VGFiID0gJ0FERFJFU1MnXCI+QWRkcmVzczwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFyXCI+PC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1lbGluZVwiIFtuZ0NsYXNzXT1cInsnaXNBY3RpdmUnOiBjdXJyZW50VGFiID09ICdQQVlNRU5UJ31cIiBzdHlsZT1cImN1cnNvcjogYXV0bztcIj5QYXltZW50PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtcGFyZW50IGNvbnRhaW5lclwiICpuZ0lmPVwiKHJlc3BvbnNlRGF0YT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGggfHwgMCkgPiAwXCIgIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImN1cnJlbnRUYWJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXBhbmVsXCIgKm5nU3dpdGNoQ2FzZT1cIidCQUcnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS1iYWdcIj5cclxuICAgICAgICAgICAgICBNeSBCYWcmbmJzcDsgPHNwYW4+KHt7cmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXM/Lmxlbmd0aH19IEl0ZW1zKTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtczsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1wYXJlbnQgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiIHN0eWxlPVwicGFkZGluZzogMHB4OyB3aWR0aDogZml0LWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiBjbGFzcz1cInByb2R1Y3QtaW1nXCIgW3NyY109XCJpdGVtLmltZ1VybCA/PyAnaHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiBhbHQ9XCJcIiAoY2xpY2spPVwiZ29Ub1Byb2R1Y3REZXRhaWxzKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgaC0xMDBcIiBbc3R5bGUud2lkdGgucHhdPVwiaXNNb2JpbGUgPyAnMjAwJyA6ICcnXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxoLTIzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1uYW1lIHRyaW0tdGV4dCBoZWFkaW5nLWxhcmdlXCI+e3tpdGVtLml0ZW1OYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS13aXRoLXRheFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT0nY3VycmVuY3knPjwvc3Bhbj4ge3soaXRlbS5kaXNjb3VudGVkUHJpY2UpIHwgbnVtYmVyOiAnMS4wLTInfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uaXRlbVZhcmlhbnRcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nRm9yPVwibGV0IHZhcmllbnQgb2YgZ2V0S2V5cyhpdGVtLml0ZW1WYXJpYW50LnByb3BlcnRpZXMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIj57eyB2YXJpZW50IH19IDogPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZnctbm9ybWFsXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4OyBoZWlnaHQ6IDEzcHg7IHdpZHRoOiAxM3B4OyBib3JkZXItcmFkaXVzOiA1MCU7XCIgKm5nSWY9XCJ2YXJpZW50LnRvTG93ZXJDYXNlKCkgPT0gJ2NvbG9yJ1wiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5pdGVtVmFyaWFudC5wcm9wZXJ0aWVzW3ZhcmllbnRdXCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ub3JtYWxcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7XCI+IHt7IGl0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllc1t2YXJpZW50XSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcXVhbnRpdHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvclwiIChjbGljayk9XCJhZGRUb0NhcnQoaXRlbSwgJ1NVQlNUUkFDVCcpXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0ucXVhbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvclwiIChjbGljayk9XCJhZGRUb0NhcnQoaXRlbSwgJ0FERCcpXCI+Kzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IHBvc2l0aW9uLXJlbGF0aXZlXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogYXV0bztcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1wcmljZVwiPjxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7eygoaXRlbS5kaXNjb3VudGVkUHJpY2UpICogaXRlbS5xdWFudGl0eSkgIHwgbnVtYmVyOiAnMS4wLTInfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZGVsZXRlLWl0ZW1cIiAoY2xpY2spPVwicmVtb3ZlSXRlbShpdGVtKVwiIFtzdHlsZS5yaWdodC5weF09XCJpc01vYmlsZSA/ICc1JyA6ICcwJ1wiPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aHIgKm5nSWY9XCJyZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoICE9IChpZHggKzEpXCI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wYW5lbFwiICpuZ1N3aXRjaENhc2U9XCInQUREUkVTUydcIj5cclxuICAgICAgICAgICAgPHNpbXBvLWFkZHJlc3MgW2lzQ2FydF09XCJ0cnVlXCIgW3Jlc3BvbnNlRGF0YV09XCJnZXRBZGRyZXNzTGlzdFwiIFtkYXRhXT1cImRhdGFcIiAoc2VsZWN0ZWRBZGRyZXNzKT1cImFkZHJlc3NTZWxlY3RlZCgkZXZlbnQpXCI+PC9zaW1wby1hZGRyZXNzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wYW5lbFwiICpuZ1N3aXRjaENhc2U9XCInUEFZTUVOVCdcIj48L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtcGFuZWxcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS1iYWdcIj5cclxuICAgICAgICAgICAgUHJpY2UgRGV0YWlsc1xyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXR5cGVcIj5Ub3RhbCBQcmljZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiPjxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7eyhyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy50b3RhbE5ldFZhbHVlID8/IDApIHwgbnVtYmVyOiAnMS4wLTInfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1wYXJlbnQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdHlwZVwiPlRvdGFsIFRheDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiPjxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7eyhyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy50b3RhbFRheCA/PyAwKSB8IG51bWJlcjogJzEuMC0yJ319PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cInJlc3BvbnNlRGF0YT8uYmlsbGRldGFpbHM/LmRlbGl2ZXJ5Q2hhcmdlcyAmJiByZXNwb25zZURhdGEuYmlsbGRldGFpbHMuZGVsaXZlcnlDaGFyZ2VzID4gMFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS10eXBlXCI+RGVsaXZlcnkgQ2hhcmdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXZhbHVlXCI+PHNwYW4gW2lubmVySHRtbF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7cmVzcG9uc2VEYXRhLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlcyB8IG51bWJlcjogJzEuMC0yJ319PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aHI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1wYXJlbnQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdHlwZVwiIHN0eWxlPVwiY29sb3I6IGJsYWNrO2ZvbnQtd2VpZ2h0OiA2MDA7XCI+VG90YWwgQW1vdW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXZhbHVlXCIgc3R5bGU9XCJmb250LXdlaWdodDogNjAwO1wiPjxzcGFuIFtpbm5lckh0bWxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7eyhyZXNwb25zZURhdGE/LnRvdGFsQW1vdW50ID8/IDApIHwgbnVtYmVyOiAnMS4wLTInfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50VGFiID09ICdCQUcnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuIG1vYmlsZS1maXhlZFwiIChjbGljayk9XCJwcm9jZWVkVG9DaGVja291dCgpXCIgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmNvbG9yXCI+e3tkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uY29udGVudD8ubGFiZWwgPz8gJ0NoZWNrb3V0IENhcnQnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5cIiAoY2xpY2spPVwicHJvY2VlZFRvTGlzdFBhZ2UoKVwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtidXR0b25TdHlsZV09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlsxXT8uc3R5bGVzXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e2RhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzFdPy5jb250ZW50Py5sYWJlbCA/PyAnQ29udGludWUgU2hvcHBpbmcnfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFRhYiA9PSAnQUREUkVTUydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4gbW9iaWxlLWZpeGVkXCIgKGNsaWNrKT1cInByb2NlZWRUb1BheW1lbnQoKVwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmNvbG9yXCI+e3tkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlsyXT8uY29udGVudD8ubGFiZWwgPz8gJ1BsYWNlIE9yZGVyJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBidXR0b24gb2YgZGF0YT8uYWN0aW9uPy5idXR0b25zO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiAoY2xpY2spPVwiaSA9PSAwID8gcHJvY2VlZFRvQ2hlY2tvdXQoKSA6IHByb2NlZWRUb0xpc3RQYWdlKClcIiBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbaWRdPVwiZGF0YT8uaWQrYnV0dG9uLmlkXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e2J1dHRvbj8uY29udGVudD8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImVtcHR5LWNhcnRcIiAqbmdJZj1cIihyZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoIHx8IDApID09IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktY2FydC1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgICBbc3JjXT1cImRhdGE/LmNvbnRlbnQ/LmltYWdlPy51cmxcIiBbYWx0XT1cImRhdGE/LmNvbnRlbnQ/LmltYWdlPy5hbHRUZXh0XCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXRleHRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIiBbbmdDbGFzc109XCJ7J2hlYWRpbmctbWVkaXVtJzogdGV4dC5sYWJlbCA9PSAnSGVhZGluZycsICdkZXNjcmlwdGlvbic6IHRleHQubGFiZWwgPT0gJ1RleHQnfVwiPnt7dGV4dC52YWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbiBkLWZsZXggbXQtNFwiPlxyXG4gICAgICAgICAgICAgIExvb2tzIGxpa2UgeW91IGhhdmUgbm90IGFkZGVkIGFueXRoaW5nIHRvIHlvdXIgY2FydC4gR28gYWhlYWQgJiBleHBsb3JlIHRvcCBjYXRlZ29yaWVzLlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiIFtpc0Vjb21tZXJjZV09XCJ0cnVlXCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhXCI+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImNhcnQtd2luZG93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLWxhcmdlIGxoLTIgbWItMyBoZWFkZXItc2VjXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiY2xvc2VXaW5kb3coKVwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4+WW91ciBDYXJ0PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYXZpbmdcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvZmZlcnNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwiZ2FwOiA1cHg7XCI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vaS5wb3N0aW1nLmNjL2h0WTU1c3FZL2Rpc2NvdW50LnBuZ1wiIGFsdD1cIlwiIGhlaWdodD1cIjIwXCIgd2lkdGg9XCIyMFwiPlxyXG4gICAgICAgICAgPHNwYW4+QXZhaWwgT2ZmZXJzIC8gQ291cG9uczwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYWxsLWl0ZW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsLWl0ZW1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwiZ2FwOiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCIgc3R5bGU9XCJwYWRkaW5nOiAwcHg7IHdpZHRoOiBmaXQtY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgY2xhc3M9XCJzbWFsbC1wcm9kdWN0LWltZ1wiIFtzcmNdPVwiaXRlbS5pbWdVcmwgPz8gJ2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgYWx0PVwiXCIgKGNsaWNrKT1cImdvVG9Qcm9kdWN0RGV0YWlscyhpdGVtKVwiPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbC1pdGVtLW5hbWUgdHJpbS10ZXh0XCI+e3sgaXRlbS5pdGVtTmFtZSB8IHRpdGxlY2FzZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbC1pdGVtLXF1YW50aXR5XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvclwiIChjbGljayk9XCJhZGRUb0NhcnQoaXRlbSwgJ1NVQlNUUkFDVCcpXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS5xdWFudGl0eX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9DYXJ0KGl0ZW0sICdBREQnKVwiPis8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsLWl0ZW0tcHJpY2VcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS13aXRoLXRheFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT0nY3VycmVuY3knPjwvc3Bhbj4ge3soaXRlbS5kaXNjb3VudGVkUHJpY2UpIHwgbnVtYmVyOiAnMS4wLTInfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwicHJpY2Utd2l0aC10YXhcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7KGl0ZW0uc2VsbGluZykgfCBudW1iZXI6ICcxLjAtMid9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvdHRlci1zZWNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVsaXZlcnktYWRkIGQtZmxleFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmhvbWU8L21hdC1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkZHJlc3NcIj5UZXRzdGluZzwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJwYXltZW50LWJ0blwiIFtkaXNhYmxlZF09XCJjYXJ0SW5mby5hZGRyZXNzRGV0YWlsc1wiIChjbGljayk9XCJwcm9jZWVkVG9DaGVja291dCgpXCI+IDxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHg7XCI+Q2xpY2sgdG8gUGF5PC9zcGFuPiA8c3BhbiBbaW5uZXJIdG1sXT0nY3VycmVuY3knPjwvc3Bhbj4ge3socmVzcG9uc2VEYXRhPy50b3RhbEFtb3VudCA/PyAwKSB8IG51bWJlcjogJzEuMC0yJ319PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZ3gtc2tlbGV0b24tbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgd2lkdGg6ICcxMDAlJyxcclxuICBoZWlnaHQ6ICc0MHZoJyxcclxuICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxyXG4gICdyaWdodCc6ICc1cHgnXHJcbn1cIj5cclxuPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4iXX0=
|
@@ -164,6 +164,8 @@ export class CategoryProductComponent extends BaseSection {
|
|
164
164
|
}
|
165
165
|
}
|
166
166
|
editSection() {
|
167
|
+
if (window.innerWidth <= 475)
|
168
|
+
return;
|
167
169
|
this._eventService.toggleEditorEvent.emit(false);
|
168
170
|
setTimeout(() => {
|
169
171
|
this._eventService.editSection.emit({ data: this.data });
|
@@ -208,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
208
210
|
type: ViewChild,
|
209
211
|
args: ["container"]
|
210
212
|
}] } });
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9jYXRlZ29yeS1wcm9kdWN0L2NhdGVnb3J5LXByb2R1Y3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2F0ZWdvcnktcHJvZHVjdC9jYXRlZ29yeS1wcm9kdWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHNUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1B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WSwyWkFDWixPQUFPLDJJQUdQLDRCQUE0Qiw2SkFDNUIsbUJBQW1CLDBHQUNuQixjQUFjLGdGQUNkLG1CQUFtQixrRkFDbkIsb0JBQW9CLCtnQkFDcEIsZ0JBQWdCLHFEQUNoQiwwQkFBMEIsK0ZBQzFCLDJCQUEyQjs7MkZBS2xCLHdCQUF3QjtrQkFwQnBDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLE9BQU87d0JBQ1AsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7d0JBQ3pCLDRCQUE0Qjt3QkFDNUIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3FCQUM1QjtzSUFNUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFa0IsWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlQcm9kdWN0Q29udGVudE1vZGFsLCBDYXRlZ29yeVByb2R1Y3RNb2RhbCwgQ2F0ZWdvcnlQcm9kdWN0U3R5bGVzTW9kZWwgfSBmcm9tICcuL2NhdGVnb3J5LXByb2R1Y3QubW9kZWwnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRmVhdHVyZWRQcm9kdWN0c0NvbXBvbmVudCB9IGZyb20gJy4uL2ZlYXR1cmVkLXByb2R1Y3RzL2ZlYXR1cmVkLXByb2R1Y3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vc3R5bGVzL2NhdGVnb3J5Lm1vZGFsJztcclxuaW1wb3J0IHsgSXRlbVZhcmlhbnQsIFByb2R1Y3QgfSBmcm9tICcuLi8uLi9zdHlsZXMvcHJvZHVjdC5tb2RhbCc7XHJcbmltcG9ydCB7IEZlYXR1cmVkUHJvZHVjdE1vZGFsIH0gZnJvbSAnLi4vZmVhdHVyZWQtcHJvZHVjdHMvZmVhdHVyZWQtcHJvZHVjdHMubW9kYWwnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uLy4uL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckVsZW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2RlbGV0ZS1ob3Zlci1lbGVtZW50L2RlbGV0ZS1ob3Zlci1lbGVtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL3Bvc2l0aW9uLWxheW91dC1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNtYWxsUHJvZHVjdExpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9zbWFsbC1wcm9kdWN0LWxpc3Rpbmcvc21hbGwtcHJvZHVjdC1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBDYXJkU2tlbGV0b25Mb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9jYXJkLXNrZWxldG9uLWxvYWRlci9jYXJkLXNrZWxldG9uLWxvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1jYXRlZ29yeS1wcm9kdWN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb24sXHJcbiAgICBQb3NpdGlvbkxheW91dERpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIEZlYXR1cmVkUHJvZHVjdHNDb21wb25lbnQsXHJcbiAgICBTbWFsbFByb2R1Y3RMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgU2FuaXRpemVIdG1sUGlwZSxcclxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxyXG4gICAgQ2FyZFNrZWxldG9uTG9hZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcnktcHJvZHVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NhdGVnb3J5LXByb2R1Y3QuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGVnb3J5UHJvZHVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZGF0YT86IENhdGVnb3J5UHJvZHVjdE1vZGFsO1xyXG4gIEBJbnB1dCgpIGluZGV4PyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PyA6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPyA6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgcHVibGljIGFwaUxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIpIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHN0eWxlcz86IENhdGVnb3J5UHJvZHVjdFN0eWxlc01vZGVsO1xyXG4gIGNvbnRlbnQ/OiBDYXRlZ29yeVByb2R1Y3RDb250ZW50TW9kYWw7XHJcbiAgc2VsZWN0Q2F0ZWdvcnlJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgY2F0ZWdvcnlMaXN0OiBDYXRlZ29yeVtdID0gW107XHJcbiAgcHJpdmF0ZSBVU0VSX0NBUlQ6IE9yZGVyZWRJdGVtc1tdIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGZlYXR1cmVQcm9kdWN0RGF0YTogRmVhdHVyZWRQcm9kdWN0TW9kYWwgfCBudWxsID0gbnVsbDtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmVhdHVyZVByb2R1Y3REYXRhID0gbmV3IEZlYXR1cmVkUHJvZHVjdE1vZGFsKHRoaXMuZGF0YSk7XHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5nZXRBbGxDYXRlZ29yaWVzQnlJZCgpO1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmNhdGVnb3J5UHJvZHVjdExpc3Quc3Vic2NyaWJlKCgpPT4ge1xyXG4gICAgICB0aGlzLmdldEFsbENhdGVnb3JpZXNCeUlkKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQXJyb3dzKCksIDIwMDApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxDYXRlZ29yaWVzQnlJZCgpIHtcclxuICAgIGlmICghdGhpcy5kYXRhPy5jb250ZW50LmNvbGxlY3Rpb25JZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5hcGlMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0Q2F0ZWdvcmllc0J5Q29sbGVjdGlvbklkKHRoaXMuZGF0YT8uY29udGVudC5jb2xsZWN0aW9uSWQpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmFwaUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZWxlY3RDYXRlZ29yeSh0aGlzLmNhdGVnb3J5TGlzdFswXS5jYXRlZ29yeUlkKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGRhdGFMaXN0OiBQcm9kdWN0W10gPSBbXTtcclxuICBzZWxlY3RDYXRlZ29yeShjYXRlZ29yeUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0Q2F0ZWdvcnlJZCA9IGNhdGVnb3J5SWQ7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFByb2R1Y3RCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHRoaXMuZGF0YUxpc3QgPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgbGV0IHByb2R1Y3RTY3JvbGxTZWN0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2R1Y3RTY3JvbGxCYXInKTtcclxuICAgICAgaWYocHJvZHVjdFNjcm9sbFNlY3Rpb24pXHJcbiAgICAgICAgcHJvZHVjdFNjcm9sbFNlY3Rpb24uc2Nyb2xsTGVmdCA9IDBcclxuICAgIH0pXHJcbiAgfVxyXG4gIGFkZEl0ZW1Ub0NhcnQocHJvZHVjdDogUHJvZHVjdCwgdHlwZTogJ0FERCcgfCAnU1VCU1RSQUNUJykge1xyXG4gICAgLy8gaWYgKHRoaXMuaXNJdGVtT3V0T2ZTdG9jayhwcm9kdWN0KSkge1xyXG4gICAgLy8gICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIHN1bW1hcnk6ICdDYXJ0JywgZGV0YWlsOiAnSXRlbSBpcyBub3QgYXZhaWxhYmxlIGFzIG9mIG5vdy4gV2Ugd2lsbCBub3RpZnkgeW91IG9uY2UgYXZhaWxhYmxlJyB9KTtcclxuICAgIC8vICAgcmV0dXJuO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIGlmICghcHJvZHVjdD8ucXVhbnRpdHkpXHJcbiAgICAgIHByb2R1Y3QucXVhbnRpdHkgPSAwO1xyXG4gICAgaWYgKHR5cGUgPT0gJ0FERCcpIHtcclxuICAgICAgcHJvZHVjdC5xdWFudGl0eSArPSAxO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHByb2R1Y3QucXVhbnRpdHkgLT0gMTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvZHVjdD8uaXRlbVZhcmlhbnQ/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBpdGVtVmFyaWVudDogSXRlbVZhcmlhbnQgfCBudWxsID0gdGhpcy5nZXRJdGVtVmFyaWVudChwcm9kdWN0LCBwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgICAgIGlmIChpdGVtVmFyaWVudCkge1xyXG4gICAgICAgIGl0ZW1WYXJpZW50LnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZEl0ZW1Ub0NhcnQocHJvZHVjdCwgaXRlbVZhcmllbnQudmFyaWFudElkKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9DYXJ0KHByb2R1Y3QpO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb2R1Y3QucXVhbnRpdHkpIHtcclxuICAgICAgbGV0IGlzUHJlc2VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLlVTRVJfQ0FSVD8uZm9yRWFjaCgoaXRlbTogT3JkZXJlZEl0ZW1zKSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0udmFyaWVudElkID09IHByb2R1Y3QudmFyaWVudElkKSB7XHJcbiAgICAgICAgICBpdGVtLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcclxuICAgICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICBpZiAoIWlzUHJlc2VudClcclxuICAgICAgICB0aGlzLlVTRVJfQ0FSVD8ucHVzaChuZXcgT3JkZXJlZEl0ZW1zKHByb2R1Y3QsIHByb2R1Y3QudmFyaWVudElkKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLlVTRVJfQ0FSVCA9IHRoaXMuVVNFUl9DQVJUPy5maWx0ZXIoKGl0ZW06IE9yZGVyZWRJdGVtcykgPT4gaXRlbS52YXJpZW50SWQgIT0gcHJvZHVjdC52YXJpZW50SWQpID8/IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbVZhcmllbnQocHJvZHVjdDogUHJvZHVjdCwgdmFyaWVudElkOiBzdHJpbmcpOiBJdGVtVmFyaWFudCB8IG51bGwge1xyXG4gICAgbGV0IHNlbGVjdGVkVmFyaWVudDogSXRlbVZhcmlhbnQgfCBudWxsID0gbnVsbDtcclxuICAgIHByb2R1Y3Q/Lml0ZW1WYXJpYW50Py5mb3JFYWNoKCh2YXJpZW50OiBJdGVtVmFyaWFudCkgPT4ge1xyXG4gICAgICBpZiAodmFyaWVudC52YXJpYW50SWQgPT0gdmFyaWVudElkKVxyXG4gICAgICAgIHNlbGVjdGVkVmFyaWVudCA9IHZhcmllbnQ7XHJcbiAgICB9KVxyXG5cclxuICAgIHJldHVybiBzZWxlY3RlZFZhcmllbnQ7XHJcbiAgfVxyXG4gIGdldFBlcmNlbnRhZ2UocHJvZHVjdDogUHJvZHVjdCkge1xyXG4gICAgcmV0dXJuICgocHJvZHVjdC5wcmljZS5zZWxsaW5nUHJpY2UgLSBwcm9kdWN0LnByaWNlLmRpc2NvdW50ZWRQcmljZSkgLyAxMDApLnRvRml4ZWQoMCk7XHJcbiAgfVxyXG4gIGdldFN1cHBvcnRpbmdDb2xvcihjb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBoZXggPSBjb2xvcjtcclxuICAgIGlmICghaGV4KVxyXG4gICAgICByZXR1cm4gY29sb3I7XHJcbiAgICBoZXggPSBoZXgucmVwbGFjZSgvXiMvLCAnJyk7XHJcblxyXG4gICAgbGV0IGJpZ2ludCA9IHBhcnNlSW50KGhleCwgMTYpO1xyXG4gICAgbGV0IHIgPSAoYmlnaW50ID4+IDE2KSAmIDI1NTtcclxuICAgIGxldCBnID0gKGJpZ2ludCA+PiA4KSAmIDI1NTtcclxuICAgIGxldCBiID0gYmlnaW50ICYgMjU1O1xyXG5cclxuICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAwLjQpYDtcclxuICB9XHJcblxyXG5cclxuICBzY3JvbGxSaWdodCgpIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGNvbnRhaW5lcikge1xyXG4gICAgICBsZXQgc2Nyb2xsQW1vdW50ID0gMDtcclxuICAgICAgY29uc3Qgc2xpZGVUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICBjb250YWluZXIuc2Nyb2xsTGVmdCArPSBjb250YWluZXIuY2xpZW50V2lkdGggLyAxMjtcclxuICAgICAgICBzY3JvbGxBbW91bnQgKz0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMTI7XHJcbiAgICAgICAgaWYgKHNjcm9sbEFtb3VudCA+PSBjb250YWluZXIuY2xpZW50V2lkdGggLyAyKSB7XHJcbiAgICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChzbGlkZVRpbWVyKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlQXJyb3dzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAyNSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNjcm9sbExlZnQoKSB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChjb250YWluZXIpIHtcclxuICAgICAgbGV0IHNjcm9sbEFtb3VudCA9IDA7XHJcbiAgICAgIGNvbnN0IHNsaWRlVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgY29udGFpbmVyLnNjcm9sbExlZnQgLT0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMTI7XHJcbiAgICAgICAgc2Nyb2xsQW1vdW50ICs9IGNvbnRhaW5lci5jbGllbnRXaWR0aCAvIDEyO1xyXG4gICAgICAgIGlmIChzY3JvbGxBbW91bnQgPj0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMikge1xyXG4gICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoc2xpZGVUaW1lcik7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFycm93cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMjUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzaG93UmlnaHRBcnJvdyA9IHRydWU7XHJcbiAgc2hvd0xlZnRBcnJvdyA9IGZhbHNlO1xyXG4gIHVwZGF0ZUFycm93cygpIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoZWwpIHtcclxuICAgICAgdGhpcy5zaG93UmlnaHRBcnJvdyA9IChlbC5zY3JvbGxXaWR0aCAtIGVsLnNjcm9sbExlZnQgLSBlbC5jbGllbnRXaWR0aCkgPj0gMTtcclxuICAgICAgdGhpcy5zaG93TGVmdEFycm93ID0gZWwuc2Nyb2xsTGVmdCA+IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZWRpdFNlY3Rpb24oKXtcclxuXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7ZGF0YTp0aGlzLmRhdGF9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNDc1O1xyXG4gIH1cclxuICBnZXQgZ2V0U3BhY2luZ0xheW91dCgpIHtcclxuICAgIHJldHVybiB7Li4udGhpcy5zdHlsZXM/LmxheW91dH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW2lkXT1cImRhdGE/LmlkXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiAoY2xpY2spPVwiZWRpdFNlY3Rpb24oKVwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJjb250YWluZXItZmx1aWQgZC1ibG9ja1wiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiIFtzcGFjaW5nSG9yaXpvbnRhbF09XCJnZXRTcGFjaW5nTGF5b3V0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS52YWx1ZSB8IHNhbml0aXplSHRtbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5sYWJlbCA9PT0gJ0hlYWRpbmcnID8gJ2hlYWRpbmctbGFyZ2UgbGgtMiBtYi0zJyA6ICdib2R5LWxhcmdlJ1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJtLWF1dG8gcG9zaXRpb24tcmVsYXRpdmUgdy0xMDBcIiBbbmdDbGFzc109XCJ7J2FkanVzdFBvc2l0aW9uJzogaXNNb2JpbGV9XCI+XHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcnlMaXN0OyBsZXQgaWR4ID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGNhdGVnb3J5LXRhZyBwb3NpdGlvbi1yZWxhdGl2ZVwiIHN0eWxlPVwiZ2FwOiA1cHg7XCJcclxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJzZWxlY3RDYXRlZ29yeUlkID09PSBjYXRlZ29yeS5jYXRlZ29yeUlkID8gZ2V0U3VwcG9ydGluZ0NvbG9yKHN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgPz8gJyMwMDAwMDAnKSA6ICcnXCJcclxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cInNlbGVjdENhdGVnb3J5SWQgPT0gY2F0ZWdvcnkuY2F0ZWdvcnlJZCA/IHN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgOiAgJydcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0Q2F0ZWdvcnkoY2F0ZWdvcnkuY2F0ZWdvcnlJZClcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImNhdGVnb3J5LmltZ1VybFswXVwiIGFsdD1cIlwiIGhlaWdodD1cIjMwcHhcIiB3aWR0aD1cIjMwcHhcIiBzdHlsZT1cImJvcmRlci1yYWRpdXM6IDUwJTtcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmltLXRleHRcIiBzdHlsZT1cImZvbnQtc2l6ZTogLjgxMjVyZW07IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInNlbGVjdENhdGVnb3J5SWQgPT09IGNhdGVnb3J5LmNhdGVnb3J5SWQgPyAoc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvcikgOiAnJ1wiPnt7XHJcbiAgICAgICAgICAgICAgY2F0ZWdvcnkuY2F0ZWdvcnlOYW1lIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01vYmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWFycm93XCIgKGNsaWNrKT1cInNjcm9sbExlZnQoKVwiICpuZ0lmPVwic2hvd0xlZnRBcnJvdyAmJiBjYXRlZ29yeUxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1hcnJvd1wiIChjbGljayk9XCJzY3JvbGxSaWdodCgpXCIgKm5nSWY9XCJzaG93UmlnaHRBcnJvdyAmJiBjYXRlZ29yeUxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwicHJvZHVjdC1saXN0IHBvc2l0aW9uLXJlbGF0aXZlXCIgW3N0eWxlLmJvcmRlclRvcExlZnRSYWRpdXMucHhdPScoc2VsZWN0Q2F0ZWdvcnlJZCA9PT0gY2F0ZWdvcnlMaXN0Py5bMF0/LmNhdGVnb3J5SWQpID8gMCA6IDgnICNjb250YWluZXIgKm5nSWY9XCJkYXRhTGlzdC5sZW5ndGhcIlxyXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlxyXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZC1mbGV4IG92ZXJmbG93LXNjcm9sbFwiIGlkPVwicHJvZHVjdFNjcm9sbEJhclwiICpuZ0lmPVwiIWFwaUxvYWRpbmdcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgZGF0YUxpc3RcIj5cclxuICAgICAgICAgICAgPHNpbXBvLXNtYWxsLXByb2R1Y3QtbGlzdGluZyBbcHJvZHVjdF09XCJwcm9kdWN0XCIgW2RhdGFdPVwiZGF0YVwiIFtpc1Njcm9sbGFibGVdPVwidHJ1ZVwiPjwvc2ltcG8tc21hbGwtcHJvZHVjdC1saXN0aW5nPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDxzaW1wby1jYXJkLXNrZWxldG9uLWxvYWRlciAgKm5nSWY9XCJhcGlMb2FkaW5nXCI+PC9zaW1wby1jYXJkLXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvc2VjdGlvbj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RlbXBsYXRlPlxyXG4gIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgaGVpZ2h0OiAnNDB2aCcsXHJcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXHJcbiAgICAgICAgJ3Bvc2l0aW9uJzogJ3JlbGF0aXZlJyxcclxuICAgICAgICAncmlnaHQnOiAnNXB4J1xyXG4gICAgfVwiPlxyXG4gIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9jYXRlZ29yeS1wcm9kdWN0L2NhdGVnb3J5LXByb2R1Y3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2F0ZWdvcnktcHJvZHVjdC9jYXRlZ29yeS1wcm9kdWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHNUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1B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QUF3QjtrR0FBeEIsd0JBQXdCLDBUQy9DckMscWpIQTBEQSx3MUJEM0JJLFlBQVksMlpBQ1osT0FBTywySUFHUCw0QkFBNEIsNkpBQzVCLG1CQUFtQiwwR0FDbkIsY0FBYyxnRkFDZCxtQkFBbUIsa0ZBQ25CLG9CQUFvQiwrZ0JBQ3BCLGdCQUFnQixxREFDaEIsMEJBQTBCLCtGQUMxQiwyQkFBMkI7OzJGQUtsQix3QkFBd0I7a0JBcEJwQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixPQUFPO3dCQUNQLGdDQUFnQzt3QkFDaEMseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjtxQkFDNUI7c0lBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWtCLFlBQVk7c0JBQW5DLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhdGVnb3J5UHJvZHVjdENvbnRlbnRNb2RhbCwgQ2F0ZWdvcnlQcm9kdWN0TW9kYWwsIENhdGVnb3J5UHJvZHVjdFN0eWxlc01vZGVsIH0gZnJvbSAnLi9jYXRlZ29yeS1wcm9kdWN0Lm1vZGVsJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEZlYXR1cmVkUHJvZHVjdHNDb21wb25lbnQgfSBmcm9tICcuLi9mZWF0dXJlZC1wcm9kdWN0cy9mZWF0dXJlZC1wcm9kdWN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uLy4uL3N0eWxlcy9jYXRlZ29yeS5tb2RhbCc7XHJcbmltcG9ydCB7IEl0ZW1WYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vc3R5bGVzL3Byb2R1Y3QubW9kYWwnO1xyXG5pbXBvcnQgeyBGZWF0dXJlZFByb2R1Y3RNb2RhbCB9IGZyb20gJy4uL2ZlYXR1cmVkLXByb2R1Y3RzL2ZlYXR1cmVkLXByb2R1Y3RzLm1vZGFsJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaG92ZXItZWxlbWVudHMvaG92ZXItZWxlbWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kZWxldGUtaG92ZXItZWxlbWVudC9kZWxldGUtaG92ZXItZWxlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3NpdGlvbkxheW91dERpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wb3NpdGlvbi1sYXlvdXQtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTbWFsbFByb2R1Y3RMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hbGwtcHJvZHVjdC1saXN0aW5nL3NtYWxsLXByb2R1Y3QtbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExheU91dE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcclxuaW1wb3J0IHsgQ2FyZFNrZWxldG9uTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvY2FyZC1za2VsZXRvbi1sb2FkZXIvY2FyZC1za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tY2F0ZWdvcnktcHJvZHVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBGZWF0dXJlZFByb2R1Y3RzQ29tcG9uZW50LFxyXG4gICAgU21hbGxQcm9kdWN0TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIFNhbml0aXplSHRtbFBpcGUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIENhcmRTa2VsZXRvbkxvYWRlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGVnb3J5LXByb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jYXRlZ29yeS1wcm9kdWN0LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVByb2R1Y3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBDYXRlZ29yeVByb2R1Y3RNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdD8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBhcGlMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBzdHlsZXM/OiBDYXRlZ29yeVByb2R1Y3RTdHlsZXNNb2RlbDtcclxuICBjb250ZW50PzogQ2F0ZWdvcnlQcm9kdWN0Q29udGVudE1vZGFsO1xyXG4gIHNlbGVjdENhdGVnb3J5SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGNhdGVnb3J5TGlzdDogQ2F0ZWdvcnlbXSA9IFtdO1xyXG4gIHByaXZhdGUgVVNFUl9DQVJUOiBPcmRlcmVkSXRlbXNbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBmZWF0dXJlUHJvZHVjdERhdGE6IEZlYXR1cmVkUHJvZHVjdE1vZGFsIHwgbnVsbCA9IG51bGw7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZlYXR1cmVQcm9kdWN0RGF0YSA9IG5ldyBGZWF0dXJlZFByb2R1Y3RNb2RhbCh0aGlzLmRhdGEpO1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudDtcclxuICAgIHRoaXMuZ2V0QWxsQ2F0ZWdvcmllc0J5SWQoKTtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5jYXRlZ29yeVByb2R1Y3RMaXN0LnN1YnNjcmliZSgoKT0+IHtcclxuICAgICAgdGhpcy5nZXRBbGxDYXRlZ29yaWVzQnlJZCgpO1xyXG4gICAgfSlcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFycm93cygpLCAyMDAwKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ2F0ZWdvcmllc0J5SWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YT8uY29udGVudC5jb2xsZWN0aW9uSWQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMuYXBpTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldENhdGVnb3JpZXNCeUNvbGxlY3Rpb25JZCh0aGlzLmRhdGE/LmNvbnRlbnQuY29sbGVjdGlvbklkKS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSByZXNwb25zZTtcclxuICAgICAgdGhpcy5hcGlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2VsZWN0Q2F0ZWdvcnkodGhpcy5jYXRlZ29yeUxpc3RbMF0uY2F0ZWdvcnlJZCk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBkYXRhTGlzdDogUHJvZHVjdFtdID0gW107XHJcbiAgc2VsZWN0Q2F0ZWdvcnkoY2F0ZWdvcnlJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdENhdGVnb3J5SWQgPSBjYXRlZ29yeUlkO1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQcm9kdWN0QnlDYXRlZ29yeUlkKGNhdGVnb3J5SWQpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICB0aGlzLmRhdGFMaXN0ID0gcmVzcG9uc2UuZGF0YTtcclxuXHJcbiAgICAgIGxldCBwcm9kdWN0U2Nyb2xsU2VjdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9kdWN0U2Nyb2xsQmFyJyk7XHJcbiAgICAgIGlmKHByb2R1Y3RTY3JvbGxTZWN0aW9uKVxyXG4gICAgICAgIHByb2R1Y3RTY3JvbGxTZWN0aW9uLnNjcm9sbExlZnQgPSAwXHJcbiAgICB9KVxyXG4gIH1cclxuICBhZGRJdGVtVG9DYXJ0KHByb2R1Y3Q6IFByb2R1Y3QsIHR5cGU6ICdBREQnIHwgJ1NVQlNUUkFDVCcpIHtcclxuICAgIC8vIGlmICh0aGlzLmlzSXRlbU91dE9mU3RvY2socHJvZHVjdCkpIHtcclxuICAgIC8vICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3dhcm4nLCBzdW1tYXJ5OiAnQ2FydCcsIGRldGFpbDogJ0l0ZW0gaXMgbm90IGF2YWlsYWJsZSBhcyBvZiBub3cuIFdlIHdpbGwgbm90aWZ5IHlvdSBvbmNlIGF2YWlsYWJsZScgfSk7XHJcbiAgICAvLyAgIHJldHVybjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBpZiAoIXByb2R1Y3Q/LnF1YW50aXR5KVxyXG4gICAgICBwcm9kdWN0LnF1YW50aXR5ID0gMDtcclxuICAgIGlmICh0eXBlID09ICdBREQnKSB7XHJcbiAgICAgIHByb2R1Y3QucXVhbnRpdHkgKz0gMTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwcm9kdWN0LnF1YW50aXR5IC09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHByb2R1Y3Q/Lml0ZW1WYXJpYW50Py5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgaXRlbVZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IHRoaXMuZ2V0SXRlbVZhcmllbnQocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpO1xyXG4gICAgICBpZiAoaXRlbVZhcmllbnQpIHtcclxuICAgICAgICBpdGVtVmFyaWVudC5xdWFudGl0eSA9IHByb2R1Y3QucXVhbnRpdHk7XHJcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9DYXJ0KHByb2R1Y3QsIGl0ZW1WYXJpZW50LnZhcmlhbnRJZCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbVRvQ2FydChwcm9kdWN0KTtcclxuICAgIH1cclxuICAgIGlmIChwcm9kdWN0LnF1YW50aXR5KSB7XHJcbiAgICAgIGxldCBpc1ByZXNlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5VU0VSX0NBUlQ/LmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcykgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnZhcmllbnRJZCA9PSBwcm9kdWN0LnZhcmllbnRJZCkge1xyXG4gICAgICAgICAgaXRlbS5xdWFudGl0eSA9IHByb2R1Y3QucXVhbnRpdHk7XHJcbiAgICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgaWYgKCFpc1ByZXNlbnQpXHJcbiAgICAgICAgdGhpcy5VU0VSX0NBUlQ/LnB1c2gobmV3IE9yZGVyZWRJdGVtcyhwcm9kdWN0LCBwcm9kdWN0LnZhcmllbnRJZCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5VU0VSX0NBUlQgPSB0aGlzLlVTRVJfQ0FSVD8uZmlsdGVyKChpdGVtOiBPcmRlcmVkSXRlbXMpID0+IGl0ZW0udmFyaWVudElkICE9IHByb2R1Y3QudmFyaWVudElkKSA/PyBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEl0ZW1WYXJpZW50KHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmllbnRJZDogc3RyaW5nKTogSXRlbVZhcmlhbnQgfCBudWxsIHtcclxuICAgIGxldCBzZWxlY3RlZFZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcm9kdWN0Py5pdGVtVmFyaWFudD8uZm9yRWFjaCgodmFyaWVudDogSXRlbVZhcmlhbnQpID0+IHtcclxuICAgICAgaWYgKHZhcmllbnQudmFyaWFudElkID09IHZhcmllbnRJZClcclxuICAgICAgICBzZWxlY3RlZFZhcmllbnQgPSB2YXJpZW50O1xyXG4gICAgfSlcclxuXHJcbiAgICByZXR1cm4gc2VsZWN0ZWRWYXJpZW50O1xyXG4gIH1cclxuICBnZXRQZXJjZW50YWdlKHByb2R1Y3Q6IFByb2R1Y3QpIHtcclxuICAgIHJldHVybiAoKHByb2R1Y3QucHJpY2Uuc2VsbGluZ1ByaWNlIC0gcHJvZHVjdC5wcmljZS5kaXNjb3VudGVkUHJpY2UpIC8gMTAwKS50b0ZpeGVkKDApO1xyXG4gIH1cclxuICBnZXRTdXBwb3J0aW5nQ29sb3IoY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGV4ID0gY29sb3I7XHJcbiAgICBpZiAoIWhleClcclxuICAgICAgcmV0dXJuIGNvbG9yO1xyXG4gICAgaGV4ID0gaGV4LnJlcGxhY2UoL14jLywgJycpO1xyXG5cclxuICAgIGxldCBiaWdpbnQgPSBwYXJzZUludChoZXgsIDE2KTtcclxuICAgIGxldCByID0gKGJpZ2ludCA+PiAxNikgJiAyNTU7XHJcbiAgICBsZXQgZyA9IChiaWdpbnQgPj4gOCkgJiAyNTU7XHJcbiAgICBsZXQgYiA9IGJpZ2ludCAmIDI1NTtcclxuXHJcbiAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgMC40KWA7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2Nyb2xsUmlnaHQoKSB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChjb250YWluZXIpIHtcclxuICAgICAgbGV0IHNjcm9sbEFtb3VudCA9IDA7XHJcbiAgICAgIGNvbnN0IHNsaWRlVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgY29udGFpbmVyLnNjcm9sbExlZnQgKz0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMTI7XHJcbiAgICAgICAgc2Nyb2xsQW1vdW50ICs9IGNvbnRhaW5lci5jbGllbnRXaWR0aCAvIDEyO1xyXG4gICAgICAgIGlmIChzY3JvbGxBbW91bnQgPj0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMikge1xyXG4gICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoc2xpZGVUaW1lcik7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFycm93cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMjUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzY3JvbGxMZWZ0KCkge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoY29udGFpbmVyKSB7XHJcbiAgICAgIGxldCBzY3JvbGxBbW91bnQgPSAwO1xyXG4gICAgICBjb25zdCBzbGlkZVRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGNvbnRhaW5lci5zY3JvbGxMZWZ0IC09IGNvbnRhaW5lci5jbGllbnRXaWR0aCAvIDEyO1xyXG4gICAgICAgIHNjcm9sbEFtb3VudCArPSBjb250YWluZXIuY2xpZW50V2lkdGggLyAxMjtcclxuICAgICAgICBpZiAoc2Nyb2xsQW1vdW50ID49IGNvbnRhaW5lci5jbGllbnRXaWR0aCAvIDIpIHtcclxuICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHNsaWRlVGltZXIpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVBcnJvd3MoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDI1KTtcclxuICAgIH1cclxuICB9XHJcbiAgc2hvd1JpZ2h0QXJyb3cgPSB0cnVlO1xyXG4gIHNob3dMZWZ0QXJyb3cgPSBmYWxzZTtcclxuICB1cGRhdGVBcnJvd3MoKSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsKSB7XHJcbiAgICAgIHRoaXMuc2hvd1JpZ2h0QXJyb3cgPSAoZWwuc2Nyb2xsV2lkdGggLSBlbC5zY3JvbGxMZWZ0IC0gZWwuY2xpZW50V2lkdGgpID49IDE7XHJcbiAgICAgIHRoaXMuc2hvd0xlZnRBcnJvdyA9IGVsLnNjcm9sbExlZnQgPiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGVkaXRTZWN0aW9uKCl7XHJcblxyXG4gICAgaWYod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKT0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoe2RhdGE6dGhpcy5kYXRhfSk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NTtcclxuICB9XHJcbiAgZ2V0IGdldFNwYWNpbmdMYXlvdXQoKSB7XHJcbiAgICByZXR1cm4gey4uLnRoaXMuc3R5bGVzPy5sYXlvdXR9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIFtpZF09XCJkYXRhPy5pZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgKGNsaWNrKT1cImVkaXRTZWN0aW9uKClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gIDxzZWN0aW9uIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIGQtYmxvY2tcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIiBbc3BhY2luZ0hvcml6b250YWxdPVwiZ2V0U3BhY2luZ0xheW91dFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIj5cclxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0udmFsdWUgfCBzYW5pdGl6ZUh0bWxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0ubGFiZWwgPT09ICdIZWFkaW5nJyA/ICdoZWFkaW5nLWxhcmdlIGxoLTIgbWItMycgOiAnYm9keS1sYXJnZSdcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwibS1hdXRvIHBvc2l0aW9uLXJlbGF0aXZlIHctMTAwXCIgW25nQ2xhc3NdPVwieydhZGp1c3RQb3NpdGlvbic6IGlzTW9iaWxlfVwiPlxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIGNhdGVnb3J5TGlzdDsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBjYXRlZ29yeS10YWcgcG9zaXRpb24tcmVsYXRpdmVcIiBzdHlsZT1cImdhcDogNXB4O1wiXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwic2VsZWN0Q2F0ZWdvcnlJZCA9PT0gY2F0ZWdvcnkuY2F0ZWdvcnlJZCA/IGdldFN1cHBvcnRpbmdDb2xvcihzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yID8/ICcjMDAwMDAwJykgOiAnJ1wiXHJcbiAgICAgICAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJzZWxlY3RDYXRlZ29yeUlkID09IGNhdGVnb3J5LmNhdGVnb3J5SWQgPyBzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogICcnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdENhdGVnb3J5KGNhdGVnb3J5LmNhdGVnb3J5SWQpXCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJjYXRlZ29yeS5pbWdVcmxbMF1cIiBhbHQ9XCJcIiBoZWlnaHQ9XCIzMHB4XCIgd2lkdGg9XCIzMHB4XCIgc3R5bGU9XCJib3JkZXItcmFkaXVzOiA1MCU7XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJpbS10ZXh0XCIgc3R5bGU9XCJmb250LXNpemU6IC44MTI1cmVtOyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWxlY3RDYXRlZ29yeUlkID09PSBjYXRlZ29yeS5jYXRlZ29yeUlkID8gKHN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IpIDogJydcIj57e1xyXG4gICAgICAgICAgICAgIGNhdGVnb3J5LmNhdGVnb3J5TmFtZSB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3NlY3Rpb24+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1hcnJvd1wiIChjbGljayk9XCJzY3JvbGxMZWZ0KClcIiAqbmdJZj1cInNob3dMZWZ0QXJyb3cgJiYgY2F0ZWdvcnlMaXN0Py5sZW5ndGhcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtYXJyb3dcIiAoY2xpY2spPVwic2Nyb2xsUmlnaHQoKVwiICpuZ0lmPVwic2hvd1JpZ2h0QXJyb3cgJiYgY2F0ZWdvcnlMaXN0Py5sZW5ndGhcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInByb2R1Y3QtbGlzdCBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtzdHlsZS5ib3JkZXJUb3BMZWZ0UmFkaXVzLnB4XT0nKHNlbGVjdENhdGVnb3J5SWQgPT09IGNhdGVnb3J5TGlzdD8uWzBdPy5jYXRlZ29yeUlkKSA/IDAgOiA4JyAjY29udGFpbmVyICpuZ0lmPVwiZGF0YUxpc3QubGVuZ3RoXCJcclxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5cclxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImQtZmxleCBvdmVyZmxvdy1zY3JvbGxcIiBpZD1cInByb2R1Y3RTY3JvbGxCYXJcIiAqbmdJZj1cIiFhcGlMb2FkaW5nXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGRhdGFMaXN0XCI+XHJcbiAgICAgICAgICAgIDxzaW1wby1zbWFsbC1wcm9kdWN0LWxpc3RpbmcgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIFtkYXRhXT1cImRhdGFcIiBbaXNTY3JvbGxhYmxlXT1cInRydWVcIj48L3NpbXBvLXNtYWxsLXByb2R1Y3QtbGlzdGluZz5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8c2ltcG8tY2FyZC1za2VsZXRvbi1sb2FkZXIgICpuZ0lmPVwiYXBpTG9hZGluZ1wiPjwvc2ltcG8tY2FyZC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L3NlY3Rpb24+XHJcbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48bmctdGVtcGxhdGUgI2xvYWRpbmdUZW1wbGF0ZT5cclxuICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcclxuICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIGhlaWdodDogJzQwdmgnLFxyXG4gICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgJ3JpZ2h0JzogJzVweCdcclxuICAgIH1cIj5cclxuICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
@@ -35,6 +35,8 @@ export class CheckoutComponent extends BaseSection {
|
|
35
35
|
this._eventService.placeOrder.emit({ cartData: this.responseData });
|
36
36
|
}
|
37
37
|
editSection() {
|
38
|
+
if (window.innerWidth <= 475)
|
39
|
+
return;
|
38
40
|
this._eventService.toggleEditorEvent.emit(false);
|
39
41
|
setTimeout(() => {
|
40
42
|
this._eventService.editSection.emit({ data: this.data });
|
@@ -71,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
71
73
|
}], customClass: [{
|
72
74
|
type: Input
|
73
75
|
}] } });
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBZ0IxRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQVNoRCxZQUFvQixhQUE2QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQURXLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUZqRCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTTNCLHdCQUFtQixHQUFHLElBQUksQ0FBQztJQUYzQixDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsV0FBVztRQUVULElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFVBQVUsQ0FBQyxHQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sa0JBQWtCLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7OEdBekNVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFPQzdCOUIsMjdPQWdJQSwrOEREOUdZLFdBQVcsZ3hCQUFFLFlBQVksZ09BQ2pDLG9CQUFvQjtnQkFDcEIsV0FBVztnQkFDWCx3QkFBd0Isb0hBQ3hCLGtCQUFrQix5RkFDbEIsbUJBQW1CLG1GQUNuQixjQUFjOzsyRkFLTCxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFlBQVk7d0JBQ2pDLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCx3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3FCQUNmO2tGQUtRLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoZWNrb3V0Q29udGVudE1vZGFsLCBDaGVja291dE1vZGFsLCBDaGVja291dFN0eWxlc01vZGFsIH0gZnJvbSAnLi9jaGVja291dC5tb2RhbCc7XHJcbmltcG9ydCB7IENhcnQgfSBmcm9tICcuLi8uLi9zdHlsZXMvY2FydC5tb2RhbCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQlVTSU5FU1NfQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2J1c2luZXNzLmNvbnN0YW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tY2hlY2tvdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIC8vRElSRUNUSVZFXHJcbiAgICBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXHJcbiAgICBDb250ZW50Rml0RGlyZWN0aXZlLFxyXG4gICAgSG92ZXJEaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja291dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NoZWNrb3V0LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9ue1xyXG4gIEBJbnB1dCgpIGRhdGE/OiBDaGVja291dE1vZGFsO1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNlRGF0YT86IGFueTtcclxuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdD8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ldmVudFNlcnZpY2UgOiBFdmVudHNTZXJ2aWNlKXtcclxuICAgIHN1cGVyKClcclxuICB9XHJcblxyXG4gIGVkaXREZWxpdmVyeUFkZHJlc3MgPSB0cnVlO1xyXG4gIGNvbnRlbnQ/OiBDaGVja291dENvbnRlbnRNb2RhbDtcclxuICBzdHlsZXM/OiBDaGVja291dFN0eWxlc01vZGFsO1xyXG4gIGJ1dHRvbj86IEJ1dHRvbk1vZGVsO1xyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy5lZGl0RGVsaXZlcnlBZGRyZXNzID0gdGhpcy5yZXNwb25zZURhdGE/LnVzZXJEZXRhaWxzID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuYnV0dG9uID0gdGhpcy5kYXRhPy5hY3Rpb24/LmJ1dHRvbnNbMF07XHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2Uuc2hvd0xvYWRpbmdTY3JlZW4uc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzcG9uc2U7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcGxhY2VPcmRlcigpe1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnBsYWNlT3JkZXIuZW1pdCh7Y2FydERhdGE6IHRoaXMucmVzcG9uc2VEYXRhfSk7XHJcbiAgfVxyXG4gIGVkaXRTZWN0aW9uKCl7XHJcbiAgICBcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCk9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHtkYXRhOnRoaXMuZGF0YX0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICA8c2VjdGlvbiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgKGNsaWNrKT1cImVkaXRTZWN0aW9uKClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03IGNvbC0xMlwiICpuZ0lmPVwiZWRpdERlbGl2ZXJ5QWRkcmVzc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoaXBwaW5nLWxhYmVsIGhlYWRpbmctbGFyZ2VcIj5TaGlwcGluZyBUbzwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5OYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMudXNlck5hbWVcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Nb2JpbGUgTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMubW9iaWxlXCIgdHlwZT1cIm51bWJlclwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgbnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTIgaW5wdXQtcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPkVtYWlsPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMuZW1haWxcIiB0eXBlPVwiZW1haWxcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGVtYWlsXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpcHBpbmctbGFiZWxcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDE1cHg7XCI+U2hpcHBpbmcgQWRkcmVzczwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5BZGRyZXNzPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzLmFkZHJlc3NMaW5lMVwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRmxhdC9Ib3VzZSBObywgQnVpbGRpbmcsIENvbG9ueVwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTIgaW5wdXQtcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPkxvY2FsaXR5L0FyZWE8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInJlc3BvbnNlRGF0YS51c2VyRGV0YWlscy5kZWxpdmVyeUFkZHJlc3MubG9jYWxpdHlOYW1lXCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFZzogSmF5YmhlcmkgRW5jbGF2ZSwgR2FjaGlib3dsaVwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTIgaW5wdXQtcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPkxhbmRtYXJrPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzLmxhbmRtYXJrXCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFZzogTmVhciBTQkkgQmFua1wiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTIgaW5wdXQtcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlBpbmNvZGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInJlc3BvbnNlRGF0YS51c2VyRGV0YWlscy5kZWxpdmVyeUFkZHJlc3MuemlwQ29kZVwiIHR5cGU9XCJudW1iZXJcIiBwbGFjZWhvbGRlcj1cIkVnOiA1MDAwMzJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC0xMiBpbnB1dC1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+Q2l0eTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcy5jaXR5TmFtZVwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRWc6IEh5ZGVyYWJhZFwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTIgaW5wdXQtcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlN0YXRlPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzLnN0YXRlTmFtZVwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRWc6IFRlbGFuZ2FuYVwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgY29sLTEyXCIgKm5nSWY9XCIhZWRpdERlbGl2ZXJ5QWRkcmVzc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoaXBwaW5nLWxhYmVsXCI+RGVsaXZlcnkgQWRkcmVzczwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlbGl2ZXJ5LWFkZHJlc3NcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTVweDtcIj5cclxuICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9saWJyYXJ5LW1lZGlhLzgxMzgyN2MxNzA5MTg2NDk5Njg5ZWRpdCUyMDEucG5nXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJlZGl0RGVsaXZlcnlBZGRyZXNzID0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXJOYW1lXCI+e3tyZXNwb25zZURhdGE/LnVzZXJEZXRhaWxzLnVzZXJOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZGV0YWlsc1wiIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4O1wiPlxyXG4gICAgICAgICAgICAgIHt7cmVzcG9uc2VEYXRhPy51c2VyRGV0YWlscy5kZWxpdmVyeUFkZHJlc3M/LmFkZHJlc3NMaW5lMX19LFxyXG4gICAgICAgICAgICAgIHt7cmVzcG9uc2VEYXRhPy51c2VyRGV0YWlscy5kZWxpdmVyeUFkZHJlc3M/LmxvY2FsaXR5TmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWRldGFpbHNcIj57e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzPy5jaXR5TmFtZX19LFxyXG4gICAgICAgICAgICAgIHt7cmVzcG9uc2VEYXRhPy51c2VyRGV0YWlscy5kZWxpdmVyeUFkZHJlc3M/LnN0YXRlTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWRldGFpbHNcIj57e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzPy5jb3VudHJ5TmFtZX19IC1cclxuICAgICAgICAgICAgICB7e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzPy56aXBDb2RlfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZGV0YWlsc1wiIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4O1wiPlBob25lIDogPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDUwMDtcIj57e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMubW9iaWxlfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib2Zmc2V0LW1kLTEgY29sLW1kLTQgY29sLTEyIHJpZ2h0LXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGlwcGluZy1sYWJlbCBoZWFkaW5nLWxhcmdlIGxoLW5vcm1hbFwiPlxyXG4gICAgICAgICAgICBQcmljZSBEZXRhaWxzXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1wYXJlbnQtYmxvY2tcIiAqbmdJZj1cInJlc3BvbnNlRGF0YT8uYmlsbGRldGFpbHM/LnRvdGFsTmV0VmFsdWVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdHlwZVwiPlRvdGFsIE1SUDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiPjxzcGFuIFtpbm5lckh0bWxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7e3Jlc3BvbnNlRGF0YS5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1wYXJlbnQtYmxvY2tcIiAqbmdJZj1cInJlc3BvbnNlRGF0YT8uYmlsbGRldGFpbHM/LnRvdGFsVGF4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXR5cGVcIj5Ub3RhbCBUYXg8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdmFsdWVcIj48c3BhbiBbaW5uZXJIdG1sXT0nY3VycmVuY3knPjwvc3Bhbj4ge3tyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy50b3RhbFRheH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cInJlc3BvbnNlRGF0YT8uYmlsbGRldGFpbHM/LmRlbGl2ZXJ5Q2hhcmdlcyAmJiByZXNwb25zZURhdGEuYmlsbGRldGFpbHMuZGVsaXZlcnlDaGFyZ2VzID4gMFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS10eXBlXCI+RGVsaXZlcnkgQ2hhcmdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXZhbHVlXCI+PHNwYW4gW2lubmVySHRtbF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7cmVzcG9uc2VEYXRhLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlc319PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aHI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1wYXJlbnQtYmxvY2tcIiAqbmdJZj1cInJlc3BvbnNlRGF0YT8udG90YWxBbW91bnRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdHlwZVwiIHN0eWxlPVwiY29sb3I6IGJsYWNrO2ZvbnQtd2VpZ2h0OiA2MDA7XCI+VG90YWwgQW1vdW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXZhbHVlXCIgc3R5bGU9XCJmb250LXdlaWdodDogNjAwO1wiPjxzcGFuIFtpbm5lckh0bWxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7e3Jlc3BvbnNlRGF0YS50b3RhbEFtb3VudH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJkYXRhPy5pZCsoYnV0dG9uPy5pZCB8fCAnJylcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uPy5zdHlsZXNcIlxyXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiAoY2xpY2spPVwicGxhY2VPcmRlcigpXCI+e3tjb250ZW50Py5idXR0b259fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvc2VjdGlvbj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmd4LXNrZWxldG9uLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gIHdpZHRoOiAnMTAwJScsXHJcbiAgaGVpZ2h0OiAnNDB2aCcsXHJcbiAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXHJcbiAgJ3Bvc2l0aW9uJzogJ3JlbGF0aXZlJyxcclxuICAncmlnaHQnOiAnNXB4J1xyXG59XCI+XHJcbjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuXHJcbiJdfQ==
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBZ0IxRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQVNoRCxZQUFvQixhQUE2QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQURXLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUZqRCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTTNCLHdCQUFtQixHQUFHLElBQUksQ0FBQztJQUYzQixDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsV0FBVztRQUVULElBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHO1lBQ3pCLE9BQU87UUFFVCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxVQUFVLENBQUMsR0FBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDOzhHQTVDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixxT0M3QjlCLDI3T0FnSUEsKzhERDlHWSxXQUFXLGd4QkFBRSxZQUFZLGdPQUNqQyxvQkFBb0I7Z0JBQ3BCLFdBQVc7Z0JBQ1gsd0JBQXdCLG9IQUN4QixrQkFBa0IseUZBQ2xCLG1CQUFtQixtRkFDbkIsY0FBYzs7MkZBS0wsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxZQUFZO3dCQUNqQyxvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDZjtrRkFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGVja291dENvbnRlbnRNb2RhbCwgQ2hlY2tvdXRNb2RhbCwgQ2hlY2tvdXRTdHlsZXNNb2RhbCB9IGZyb20gJy4vY2hlY2tvdXQubW9kYWwnO1xyXG5pbXBvcnQgeyBDYXJ0IH0gZnJvbSAnLi4vLi4vc3R5bGVzL2NhcnQubW9kYWwnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJVU0lORVNTX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWNoZWNrb3V0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXHJcbiAgICAvL0RJUkVDVElWRVxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jaGVja291dC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbntcclxuICBASW5wdXQoKSBkYXRhPzogQ2hlY2tvdXRNb2RhbDtcclxuICBASW5wdXQoKSByZXNwb25zZURhdGE/OiBhbnk7XHJcbiAgQElucHV0KCkgaW5kZXg/IDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGVkaXQ/IDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/IDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZSl7XHJcbiAgICBzdXBlcigpXHJcbiAgfVxyXG5cclxuICBlZGl0RGVsaXZlcnlBZGRyZXNzID0gdHJ1ZTtcclxuICBjb250ZW50PzogQ2hlY2tvdXRDb250ZW50TW9kYWw7XHJcbiAgc3R5bGVzPzogQ2hlY2tvdXRTdHlsZXNNb2RhbDtcclxuICBidXR0b24/OiBCdXR0b25Nb2RlbDtcclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuZWRpdERlbGl2ZXJ5QWRkcmVzcyA9IHRoaXMucmVzcG9uc2VEYXRhPy51c2VyRGV0YWlscyA/IHRydWUgOiBmYWxzZTtcclxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudDtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmJ1dHRvbiA9IHRoaXMuZGF0YT8uYWN0aW9uPy5idXR0b25zWzBdO1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnNob3dMb2FkaW5nU2NyZWVuLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHJlc3BvbnNlO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHBsYWNlT3JkZXIoKXtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5wbGFjZU9yZGVyLmVtaXQoe2NhcnREYXRhOiB0aGlzLnJlc3BvbnNlRGF0YX0pO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpe1xyXG5cclxuICAgIGlmKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7ZGF0YTp0aGlzLmRhdGF9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY3VycmVuY3koKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBCVVNJTkVTU19DT05TVEFOVFMuQ1VSUkVOQ1k7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIChjbGljayk9XCJlZGl0U2VjdGlvbigpXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNyBjb2wtMTJcIiAqbmdJZj1cImVkaXREZWxpdmVyeUFkZHJlc3NcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGlwcGluZy1sYWJlbCBoZWFkaW5nLWxhcmdlXCI+U2hpcHBpbmcgVG88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC0xMiBpbnB1dC1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+TmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLnVzZXJOYW1lXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkVudGVyIE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC0xMiBpbnB1dC1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+TW9iaWxlIE51bWJlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLm1vYmlsZVwiIHR5cGU9XCJudW1iZXJcIiBwbGFjZWhvbGRlcj1cIkVudGVyIG51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5FbWFpbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLmVtYWlsXCIgdHlwZT1cImVtYWlsXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoaXBwaW5nLWxhYmVsXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNXB4O1wiPlNoaXBwaW5nIEFkZHJlc3M8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBpbnB1dC1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+QWRkcmVzczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcy5hZGRyZXNzTGluZTFcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZsYXQvSG91c2UgTm8sIEJ1aWxkaW5nLCBDb2xvbnlcIiBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Mb2NhbGl0eS9BcmVhPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzLmxvY2FsaXR5TmFtZVwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRWc6IEpheWJoZXJpIEVuY2xhdmUsIEdhY2hpYm93bGlcIiBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5MYW5kbWFyazwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcy5sYW5kbWFya1wiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRWc6IE5lYXIgU0JJIEJhbmtcIiBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5QaW5jb2RlPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJyZXNwb25zZURhdGEudXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzLnppcENvZGVcIiB0eXBlPVwibnVtYmVyXCIgcGxhY2Vob2xkZXI9XCJFZzogNTAwMDMyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTIgaW5wdXQtcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPkNpdHk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInJlc3BvbnNlRGF0YS51c2VyRGV0YWlscy5kZWxpdmVyeUFkZHJlc3MuY2l0eU5hbWVcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVnOiBIeWRlcmFiYWRcIiBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLTEyIGlucHV0LXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5TdGF0ZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicmVzcG9uc2VEYXRhLnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcy5zdGF0ZU5hbWVcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVnOiBUZWxhbmdhbmFcIiBjbGFzcz1cImlucHV0LWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03IGNvbC0xMlwiICpuZ0lmPVwiIWVkaXREZWxpdmVyeUFkZHJlc3NcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGlwcGluZy1sYWJlbFwiPkRlbGl2ZXJ5IEFkZHJlc3M8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWxpdmVyeS1hZGRyZXNzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vbGlicmFyeS1tZWRpYS84MTM4MjdjMTcwOTE4NjQ5OTY4OWVkaXQlMjAxLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiAoY2xpY2spPVwiZWRpdERlbGl2ZXJ5QWRkcmVzcyA9IHRydWVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyTmFtZVwiPnt7cmVzcG9uc2VEYXRhPy51c2VyRGV0YWlscy51c2VyTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWRldGFpbHNcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDVweDtcIj5cclxuICAgICAgICAgICAgICB7e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzPy5hZGRyZXNzTGluZTF9fSxcclxuICAgICAgICAgICAgICB7e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzPy5sb2NhbGl0eU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1kZXRhaWxzXCI+e3tyZXNwb25zZURhdGE/LnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcz8uY2l0eU5hbWV9fSxcclxuICAgICAgICAgICAgICB7e3Jlc3BvbnNlRGF0YT8udXNlckRldGFpbHMuZGVsaXZlcnlBZGRyZXNzPy5zdGF0ZU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1kZXRhaWxzXCI+e3tyZXNwb25zZURhdGE/LnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcz8uY291bnRyeU5hbWV9fSAtXHJcbiAgICAgICAgICAgICAge3tyZXNwb25zZURhdGE/LnVzZXJEZXRhaWxzLmRlbGl2ZXJ5QWRkcmVzcz8uemlwQ29kZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWRldGFpbHNcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDVweDtcIj5QaG9uZSA6IDxzcGFuXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtd2VpZ2h0OiA1MDA7XCI+e3tyZXNwb25zZURhdGE/LnVzZXJEZXRhaWxzLm1vYmlsZX19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9mZnNldC1tZC0xIGNvbC1tZC00IGNvbC0xMiByaWdodC1zZWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpcHBpbmctbGFiZWwgaGVhZGluZy1sYXJnZSBsaC1ub3JtYWxcIj5cclxuICAgICAgICAgICAgUHJpY2UgRGV0YWlsc1xyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCIgKm5nSWY9XCJyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy50b3RhbE5ldFZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXR5cGVcIj5Ub3RhbCBNUlA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdmFsdWVcIj48c3BhbiBbaW5uZXJIdG1sXT0nY3VycmVuY3knPjwvc3Bhbj4ge3tyZXNwb25zZURhdGEuYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCIgKm5nSWY9XCJyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy50b3RhbFRheFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS10eXBlXCI+VG90YWwgVGF4PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXZhbHVlXCI+PHNwYW4gW2lubmVySHRtbF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7cmVzcG9uc2VEYXRhPy5iaWxsZGV0YWlscz8udG90YWxUYXh9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXBhcmVudC1ibG9ja1wiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJyZXNwb25zZURhdGE/LmJpbGxkZXRhaWxzPy5kZWxpdmVyeUNoYXJnZXMgJiYgcmVzcG9uc2VEYXRhLmJpbGxkZXRhaWxzLmRlbGl2ZXJ5Q2hhcmdlcyA+IDBcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdHlwZVwiPkRlbGl2ZXJ5IENoYXJnZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiPjxzcGFuIFtpbm5lckh0bWxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7e3Jlc3BvbnNlRGF0YS5iaWxsZGV0YWlscy5kZWxpdmVyeUNoYXJnZXN9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGhyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtcGFyZW50LWJsb2NrXCIgKm5nSWY9XCJyZXNwb25zZURhdGE/LnRvdGFsQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXR5cGVcIiBzdHlsZT1cImNvbG9yOiBibGFjaztmb250LXdlaWdodDogNjAwO1wiPlRvdGFsIEFtb3VudDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS12YWx1ZVwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDYwMDtcIj48c3BhbiBbaW5uZXJIdG1sXT0nY3VycmVuY3knPjwvc3Bhbj4ge3tyZXNwb25zZURhdGEudG90YWxBbW91bnR9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbaWRdPVwiZGF0YT8uaWQrKGJ1dHRvbj8uaWQgfHwgJycpXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCJcclxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKGNsaWNrKT1cInBsYWNlT3JkZXIoKVwiPnt7Y29udGVudD8uYnV0dG9ufX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L3NlY3Rpb24+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5neC1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJpc0xvYWRpbmdcIiBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcclxuICB3aWR0aDogJzEwMCUnLFxyXG4gIGhlaWdodDogJzQwdmgnLFxyXG4gICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgJ3JpZ2h0JzogJzVweCdcclxufVwiPlxyXG48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcblxyXG4iXX0=
|