simpo-component-library 1.6.49 → 1.6.51
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-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/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +13 -12
- package/fesm2022/simpo-component-library.mjs +42 -16
- 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/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/package.json +1 -1
- package/simpo-component-library-1.6.50.tgz +0 -0
- package/simpo-component-library-1.6.51.tgz +0 -0
@@ -322,6 +322,8 @@ export class UserProfileComponent extends BaseSection {
|
|
322
322
|
this.sidePanelList.forEach((t) => t.status = (tab.value == t.value));
|
323
323
|
}
|
324
324
|
editSection() {
|
325
|
+
if (window.innerWidth <= 475)
|
326
|
+
return;
|
325
327
|
this._eventService.toggleEditorEvent.emit(false);
|
326
328
|
setTimeout(() => {
|
327
329
|
this._eventService.editSection.emit({ data: this.data });
|
@@ -402,4 +404,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
402
404
|
type: HostListener,
|
403
405
|
args: ['window:resize', ['$event']]
|
404
406
|
}] } });
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3VzZXItcHJvZmlsZS91c2VyLXByb2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdXNlci1wcm9maWxlL3VzZXItcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFJMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJOUQsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUd0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQnhELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFXO0lBRW5ELFlBQ21CLE1BQWMsRUFDZCxhQUE0QixFQUM1QixXQUF3QixFQUN4QixjQUFxQyxFQUNyQyxXQUF3QixFQUN4QixTQUFvQixFQUNwQixjQUE4QixFQUM5QixhQUE0QixFQUM1QixjQUE4QjtRQUUvQyxLQUFLLEVBQUUsQ0FBQztRQVZTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVWpELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFJcEIseUJBQW9CLEdBQVcsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZFLGdCQUFXLEdBQWdCLElBQUksQ0FBQztRQUNoQyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUd0QixrQkFBYSxHQUFXO1lBQzdCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDeEcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtZQUM3RyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQzlHLGlIQUFpSDtZQUNqSCwyRkFBMkY7U0FDNUYsQ0FBQztRQUNLLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFDL0IsaUJBQVksR0FBbUIsRUFBRSxDQUFDO1FBbU56QyxnQkFBVyxHQUFTLENBQUMsQ0FBQztJQTVPdEIsQ0FBQztJQTJCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFVLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGdDQUFnQyxFQUFFLENBQUMsQ0FBQztZQUMzRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDL0UsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtZQUNsQyxhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixRQUFRLEVBQUUsQ0FBQztZQUNYLFVBQVUsRUFBRSxHQUFHO1NBQ2hCLENBQUE7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUMsRUFBRTtZQUVqRSxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNO1lBQ1QsT0FBTztRQUVULE1BQU0sWUFBWSxHQUFRO1lBQ3hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQzdFLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU07Z0JBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO2dCQUMxQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDekM7U0FDRixDQUFBO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUMzRCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFBO1lBQzlELFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO1lBQ2xELElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFO2dCQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsaUJBQWlCLEVBQUMsRUFBRTtvQkFDL0QsaUJBQWlCLENBQUMsU0FBUyxHQUFHLENBQUMsWUFBaUIsRUFBRSxFQUFFO3dCQUVsRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUNoRixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRSxFQUFFOzRCQUUzQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBbUMsQ0FBQzt3QkFDOUUsQ0FBQyxDQUFDLENBQUE7b0JBQ0osQ0FBQyxDQUFBO2dCQUNILENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFBO1FBQ1AsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBcUI7UUFDdEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEYsV0FBVyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUU7WUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQWtCLEVBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQUEsQ0FBQztRQUN0RyxDQUFDLENBQUE7UUFDRCxXQUFXLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQTtJQUNILENBQUM7SUFDRCxVQUFVLENBQUMsT0FBcUI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ25CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsV0FBVyxDQUFDLFNBQVMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBQy9GLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUU7b0JBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFrQixFQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDM0csQ0FBQyxDQUFBO1lBQ0gsQ0FBQyxDQUFBO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFLENBQUMsQ0FBQztRQUN2SCxDQUFDLENBQUE7UUFDRCxXQUFXLENBQUMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLENBQUMsQ0FBQTtJQUNILENBQUM7SUFDRCxRQUFRLENBQUMsSUFBa0IsRUFBRSxJQUF5QjtRQUNwRCxJQUFJLElBQUksSUFBSSxLQUFLO1lBQ2YsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7O1lBRW5CLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBd0I7UUFDNUMsdUNBQXVDO1FBQ3ZDLHlCQUF5QjtRQUN6QixZQUFZO1FBQ1oseUJBQXlCO1FBQ3pCLCtDQUErQztRQUMvQyw2QkFBNkI7UUFDN0Isc0JBQXNCO1FBQ3RCLHdDQUF3QztRQUN4QyxvREFBb0Q7UUFDcEQscUJBQXFCO1FBQ3JCLGtDQUFrQztRQUNsQyxRQUFRO1FBQ1IsT0FBTztRQUNQLGVBQWU7UUFDZiw4Q0FBOEM7UUFDOUMsSUFBSTtRQUNKLDBCQUEwQjtRQUMxQixnREFBZ0Q7UUFDaEQsNkJBQTZCO1FBQzdCLG9CQUFvQjtRQUNwQix3Q0FBd0M7UUFDeEMsb0RBQW9EO1FBQ3BELHFCQUFxQjtRQUNyQixrQ0FBa0M7UUFDbEMsUUFBUTtRQUNSLE9BQU87UUFDUCxnQkFBZ0I7UUFDaEIsZ0RBQWdEO1FBQ2hELElBQUk7UUFFSixvQkFBb0I7UUFDcEIsd0NBQXdDO1FBQ3hDLGdEQUFnRDtRQUNoRCxpQkFBaUI7UUFDakIsa0RBQWtEO1FBQ2xELCtDQUErQztRQUMvQyxNQUFNO1FBQ04sSUFBSTtRQUNKLHdFQUF3RTtRQUN4RSxtREFBbUQ7UUFDbkQsS0FBSztJQUNQLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFFakIsT0FBTyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUMvSSxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBZTtRQUNoQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsV0FBVztRQUVULElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFDLEVBQUU7WUFDOUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDdEQsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1FBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsT0FBTztZQUNqQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRTtTQUM3RSxDQUNGLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQVUsQ0FBQztnQkFDekQsbUZBQW1GO1lBQ3JGLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDdEQsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1FBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsT0FBTztZQUNqQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1NBQ2xHLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxhQUFhLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBVztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsOENBQThDO0lBQ2hELENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUMxQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsRUFBRzthQUNWLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBVSxDQUFDO1lBQzNELENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQzFCLENBQUM7WUFDQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDMUMsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLElBQUksRUFBRSxFQUFHO2FBQ1YsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFVLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0QsQ0FBQztJQUNELE1BQU07UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSx3QkFBd0I7WUFDL0IsSUFBSSxFQUFFLHFDQUFxQztZQUMzQyxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQixFQUFFLFFBQVE7WUFDM0IsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixpQkFBaUIsRUFBRSxTQUFTO1NBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUMsRUFBRTtZQUNsQixJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ08sV0FBVztRQUNqQixNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxrQkFBa0I7U0FDekQsQ0FBQTtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxHQUFTO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsV0FBVztRQUVULElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFVBQVUsQ0FBQyxHQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUNELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE1BQU0sSUFBSSxHQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFXLENBQUM7UUFDckQsSUFBSSxJQUFJO1lBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQWdCO1FBRXpDLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ3RCLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZDLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUvQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFWixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFFeEgsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNPLFVBQVUsQ0FBQyxRQUFnQjtRQUNqQyxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3BCLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQzs4R0EzV1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsME9BSnRCLENBQUMsY0FBYyxDQUFDLGlEQzFEM0Isd29sQkFxUk0sMDBKRDVPRixZQUFZLHUzQkFDWixPQUFPLDBJQUVQLG9CQUFvQix1aEJBRXBCLG1CQUFtQixtRkFDbkIsY0FBYyxnRkFDZCxxQkFBcUIsMExBQ3JCLHVCQUF1QiwrQkFDdkIsbUJBQW1CLDBHQUNuQiwwQkFBMEIsK0ZBRTFCLGVBQWUsa0ZBQ2Ysb0JBQW9CLDhCQUNwQixXQUFXLG9XQUNYLFVBQVU7OzJGQU1ELG9CQUFvQjtrQkF6QmhDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLE9BQU87d0JBQ1Asd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxVQUFVO3FCQUNiLGFBQ1UsQ0FBQyxjQUFjLENBQUM7NlNBb0JoQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkF3T04sYUFBYTtzQkFEWixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcnQsIFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vc3R5bGVzL2NhcnQubW9kYWwnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJVU0lORVNTX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy5jb25zdGFudCc7XHJcbmltcG9ydCB7IFByb2ZpbGVDb250ZW50TW9kYWwsIFByb2ZpbGVTdHlsZXNNb2RhbCwgUmVzcG9uc2VEYXRhLCBUYWJzLCBVc2VyUHJvZmlsZU1vZGFsIH0gZnJvbSAnLi91c2VyLXByb2ZpbGUubW9kYWwnO1xyXG5pbXBvcnQgeyBPcmRlckl0ZW0gfSBmcm9tICcuLi8uLi9zdHlsZXMvb3JkZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPcmRlckRldGFpbHNDb21wb25lbnQgfSBmcm9tIFwiLi4vb3JkZXItZGV0YWlscy9vcmRlci1kZXRhaWxzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL3N0eWxlcy91c2VyLm1vZGFsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQsIE1hdEJvdHRvbVNoZWV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2NvbG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IFVzZXJCYXNpY0luZm9Db21wb25lbnQgfSBmcm9tICcuLi91c2VyLWJhc2ljLWluZm8vdXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uLy4uL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmRlckljb24gfSBmcm9tIFwiLi4vLi4vLi4vcGlwZXMvZ2VuZGVyLnBpcGVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tdXNlci1wcm9maWxlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb24sXHJcbiAgICBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIE9yZGVyRGV0YWlsc0NvbXBvbmVudCxcclxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxyXG4gICAgQ29sb3JEaXJlY3RpdmUsXHJcbiAgICBCb3JkZXJEaXJlY3RpdmUsXHJcbiAgICBNYXRCb3R0b21TaGVldE1vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgR2VuZGVySWNvblxyXG5dLFxyXG5wcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VzZXItcHJvZmlsZS5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclByb2ZpbGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdERpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRCb3R0b21TaGVldDogTWF0Qm90dG9tU2hlZXQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBVc2VyUHJvZmlsZU1vZGFsO1xyXG4gIEBJbnB1dCgpIGluZGV4PyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PyA6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPyA6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc3R5bGVzPzogUHJvZmlsZVN0eWxlc01vZGFsO1xyXG4gIGNvbnRlbnQ/OiBQcm9maWxlQ29udGVudE1vZGFsO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRTaWRlUGFuZWxUYWI6IHN0cmluZyA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gXCJPcmRlcnNcIiA6IFwiXCI7XHJcbiAgcHVibGljIHVzZXJEZXRhaWxzOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGFkZHJlc3NMaXN0OiBhbnkgPSBbXTtcclxuICBwdWJsaWMgb3JkZXJEZXRhaWxzRGF0YTogYW55O1xyXG5cclxuICBwdWJsaWMgc2lkZVBhbmVsTGlzdDogVGFic1tdID0gW1xyXG4gICAgeyB2YWx1ZTogXCJPcmRlcnNcIiwgaWNvbjogXCJhY2Nlc3NpYmlsaXR5XCIsIHN0YXR1czogdHJ1ZSwgbGFiZWw6IFwiSGVhZGluZ1wiLCB1cmw6ICdvcmRlcicsIGltYWdlOiBcIk9SREVSXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiQWRkcmVzc1wiLCBpY29uOiBcImxvY2F0aW9uX29uXCIsIHN0YXR1czogZmFsc2UsIGxhYmVsOiBcIkhlYWRpbmdcIiwgdXJsOiAnYWRkcmVzcycsIGltYWdlOiBcIkxPQ0FUSU9OXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiV2lzaGxpc3RcIiwgaWNvbjogXCJsb2NhdGlvbl9vblwiLCBzdGF0dXM6IGZhbHNlLCBsYWJlbDogXCJIZWFkaW5nXCIsIHVybDogJ2FkZHJlc3MnLCBpbWFnZTogXCJXSVNITElTVFwiIH0sXHJcbiAgICAvLyB7IHZhbHVlOiBcIkFjY291bnQgRGV0YWlsc1wiLCBpY29uOiBcInN1cGVydmlzZWRfdXNlcl9jaXJjbGVcIiwgc3RhdHVzOiBmYWxzZSwgbGFiZWw6IFwiSGVhZGluZ1wiLCB1cmw6ICdhY2NvdW50JyB9LFxyXG4gICAgLy8geyB2YWx1ZTogXCJMb2dvdXRcIiwgaWNvbjogXCJ0cmFuc2l0X2VudGVyZXhpdFwiLCBzdGF0dXM6IGZhbHNlLCBsYWJlbDogXCJIZWFkaW5nXCIsIHVybDogJycgfVxyXG4gIF07XHJcbiAgcHVibGljIHRhYnM6IFRhYnNbXSA9IFtdO1xyXG4gIHB1YmxpYyBvcmRlckxpc3Q6IE9yZGVyZWRJdGVtc1tdID0gW107XHJcbiAgcHVibGljIHdpc2hsaXN0RGF0YTogT3JkZXJlZEl0ZW1zW10gPSBbXTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKTtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSByZXNwb25zZTtcclxuICAgIH0pXHJcbiAgICBcclxuICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgaWYgKCF0aGlzLnVzZXJEZXRhaWxzICYmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlJFUVVFU1RfRlJPTVwiKSA9PSBcIlVTRVJcIikpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0Vycm9yJywgZGV0YWlsOiAnUGxlYXNlIGxvZ2luIHRvIGFjY2VzcyBwcm9maWxlJyB9KTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudDtcclxuICAgIHRoaXMuZ2V0VXNlck9yZGVyRGV0YWlscygpO1xyXG4gICAgdGhpcy5nZXRVc2VyV2lzbGlzdERldGFpbHMoKTtcclxuICB9XHJcbiAgZ2V0VXNlck9yZGVyRGV0YWlscygpIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXHJcbiAgICAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgXCJvcmRlclN0YXR1c1wiOiBudWxsLFxyXG4gICAgICBcInBsYXRmb3JtXCI6IG51bGwsXHJcbiAgICAgIFwicGFnZU5vXCI6IDAsXHJcbiAgICAgIFwicGFnZVNpemVcIjogMTAwXHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJPcmRlcnMocGF5bG9hZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgXHJcbiAgICAgIHRoaXMub3JkZXJMaXN0ID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGdldFVzZXJXaXNsaXN0RGV0YWlscygpIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZDtcclxuICAgIGlmICghdXNlcklkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgd2lzaGxpc3RJbmZvOiBhbnkgPSB7XHJcbiAgICAgIG9yZGVyZWRJdGVtczogbnVsbCxcclxuICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpLFxyXG4gICAgICBiaWxsZGV0YWlsczogbnVsbCxcclxuICAgICAgYWRkcmVzc0RldGFpbHM6IG51bGwsXHJcbiAgICAgIHBsYXRmb3JtOiBcIldFQlwiLFxyXG4gICAgICBjYXJ0VHlwZTogXCJXSVNITElTVFwiLFxyXG4gICAgICB1c2VyRGV0YWlsczoge1xyXG4gICAgICAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgICBcInVzZXJOYW1lXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubmFtZSxcclxuICAgICAgICBcIm1vYmlsZVwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Lm1vYmlsZSxcclxuICAgICAgICBcImVtYWlsXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QuZW1haWxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VyV2lzaGxpc3QodXNlcklkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICB0aGlzLndpc2hsaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGE/LlswXT8ub3JkZXJlZEl0ZW1zID8/IFtdO1xyXG4gICAgICBjb25zdCB0ZW1wVXNlcldpc2hsaXN0ID0gcmVzcG9uc2U/LmRhdGE/LlswXT8ub3JkZXJlZEl0ZW1zID8/IFtdXHJcbiAgICAgICAgd2lzaGxpc3RJbmZvW1wiY2FydElkXCJdID0gcmVzcG9uc2UuZGF0YT8uWzBdPy5jYXJ0SWQ7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZEFsbFByb2R1Y3RUb1dpc2hsaXN0KHRlbXBVc2VyV2lzaGxpc3QpLm9uY29tcGxldGUgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcldoaXNobGlzdCgpLnRoZW4oKHdpc2h0bGlzdFJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgICB3aXNodGxpc3RSZXNwb25zZS5vbnN1Y2Nlc3MgPSAod2lzaGxpc3REYXRhOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCB3aXNobGlzdFJlc3BvbnNlID0gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih3aXNobGlzdEluZm8pLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICAgICAgd2lzaGxpc3RSZXNwb25zZS5maW5hbGx5KCgpPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgdGhpcy53aXNobGlzdERhdGEgPSB3aXNobGlzdERhdGEudGFyZ2V0LnJlc3VsdCBhcyB1bmtub3duIGFzIE9yZGVyZWRJdGVtc1tdO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBkZWxldGVGcm9tV2hpc2xpc3QocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0Lml0ZW1JZCk7XHJcbiAgICB0cmFuc2FjdGlvbi5vbnN1Y2Nlc3MgPSAoKSA9PiB7XHJcblxyXG4gICAgICB0aGlzLndpc2hsaXN0RGF0YSA9IHRoaXMud2lzaGxpc3REYXRhLmZpbHRlcigoaXRlbTogT3JkZXJlZEl0ZW1zKT0+IGl0ZW0uaXRlbUlkICE9IHByb2R1Y3QuaXRlbUlkKTs7XHJcbiAgICB9XHJcbiAgICB0cmFuc2FjdGlvbi5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkVycm9yXCIpO1xyXG4gICAgfVxyXG4gIH0gXHJcbiAgbW92ZVRvQ2FydChwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcclxuICAgIGlmICghcHJvZHVjdC5xdWFudGl0eSlcclxuICAgICAgcHJvZHVjdC5xdWFudGl0eSA9IDE7XHJcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvQ2FydChwcm9kdWN0KTtcclxuICAgIHRyYW5zYWN0aW9uLm9uc3VjY2VzcyA9ICh3aXNobGlzdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0LnZhcmllbnRJZCkub25zdWNjZXNzID0gKHdpc2xpc3RSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiU3VjY2Vzc1wiKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb0NhcnQocHJvZHVjdCkub25zdWNjZXNzID0gKGNhcnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy53aXNobGlzdERhdGEgPSB0aGlzLndpc2hsaXN0RGF0YS5maWx0ZXIoKGl0ZW06IE9yZGVyZWRJdGVtcyk9PiBpdGVtLnZhcmllbnRJZCAhPSBwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ01vdmUgdG8gY2FydCcsIGRldGFpbDogJ0l0ZW0gc3VjY2Vzc2Z1bGx5IG1vdmVkIHRvIGNhcnQnIH0pO1xyXG4gICAgfVxyXG4gICAgdHJhbnNhY3Rpb24ub25lcnJvciA9ICh3aXNobGlzdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdGYWlsdXJlJywgZGV0YWlsOiAnRmFpbGVkIHRvIG1vdmUgaXRlbSB0byBjYXJ0JyB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgYWRkVG9GYXYoaXRlbTogT3JkZXJlZEl0ZW1zLCB0eXBlOiAnQUREJyB8ICdTVUJTVFJBQ1QnKSB7XHJcbiAgICBpZiAodHlwZSA9PSAnQUREJylcclxuICAgICAgaXRlbS5xdWFudGl0eSArPSAxO1xyXG4gICAgZWxzZVxyXG4gICAgICBpdGVtLnF1YW50aXR5IC09IDE7XHJcbiAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZE9yZGVyZWRJdGVtVG9GYXZvdXJpdGUoaXRlbSk7XHJcbiAgfVxyXG4gIGFzeW5jIGVkaXRQcm9maWxlRGF0YSh0eXBlOiAnTU9CSUxFJyB8ICdFTUFJTCcpIHtcclxuICAgIC8vIFRPRE86IFNob3VsZCBiZSBPVFAgYmFzZWQgdmFsaWRhdGlvblxyXG4gICAgLy8gaWYgKCF0aGlzLnVzZXJEZXRhaWxzKVxyXG4gICAgLy8gICByZXR1cm47XHJcbiAgICAvLyBpZiAodHlwZSA9PSBcIkVNQUlMXCIpIHtcclxuICAgIC8vICAgY29uc3QgeyB2YWx1ZTogZW1haWwgfSA9IGF3YWl0IFN3YWwuZmlyZSh7XHJcbiAgICAvLyAgICAgdGl0bGU6IFwiVXNlciBEZXRhaWxzXCIsXHJcbiAgICAvLyAgICAgaW5wdXQ6IFwiZW1haWxcIixcclxuICAgIC8vICAgICBpbnB1dExhYmVsOiBcIllvdXIgZW1haWwgYWRkcmVzc1wiLFxyXG4gICAgLy8gICAgIGlucHV0UGxhY2Vob2xkZXI6IFwiRW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzXCIsXHJcbiAgICAvLyAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgIC8vICAgICAgIHRpdGxlOiAnc3dhbDItdGl0bGUtbGVmdCdcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pXHJcbiAgICAvLyAgIGlmIChlbWFpbClcclxuICAgIC8vICAgICB0aGlzLnVzZXJEZXRhaWxzLmNvbnRhY3QuZW1haWwgPSBlbWFpbDtcclxuICAgIC8vIH1cclxuICAgIC8vIGlmICh0eXBlID09IFwiTU9CSUxFXCIpIHtcclxuICAgIC8vICAgY29uc3QgeyB2YWx1ZTogbW9iaWxlIH0gPSBhd2FpdCBTd2FsLmZpcmUoe1xyXG4gICAgLy8gICAgIHRpdGxlOiBcIlVzZXIgRGV0YWlsc1wiLFxyXG4gICAgLy8gICAgIGlucHV0OiBcInRlbFwiLFxyXG4gICAgLy8gICAgIGlucHV0TGFiZWw6IFwiWW91ciBtb2JpbGUgbnVtYmVyXCIsXHJcbiAgICAvLyAgICAgaW5wdXRQbGFjZWhvbGRlcjogXCJFbnRlciB5b3VyIG1vYmlsZSBudW1iZXJcIixcclxuICAgIC8vICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgLy8gICAgICAgdGl0bGU6ICdzd2FsMi10aXRsZS1sZWZ0J1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vICAgaWYgKG1vYmlsZSlcclxuICAgIC8vICAgICB0aGlzLnVzZXJEZXRhaWxzLmNvbnRhY3QubW9iaWxlID0gbW9iaWxlO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAvLyAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgIC8vICAgXCJidXNpbmVzc0lkXCI6IHRoaXMudXNlckRldGFpbHM/LmJ1c2luZXNzSWQsXHJcbiAgICAvLyAgIFwiY29udGFjdFwiOiB7XHJcbiAgICAvLyAgICAgXCJtb2JpbGVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5tb2JpbGUsXHJcbiAgICAvLyAgICAgXCJlbWFpbFwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0LmVtYWlsXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIHRoaXMucmVzdFNlcnZpY2UudXBkYXRlUHJvZmlsZShwYXlsb2FkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgLy8gICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFwidXNlclwiLCByZXNwb25zZS5kYXRhKTtcclxuICAgIC8vIH0pXHJcbiAgfVxyXG4gIGdldCBnZXRQcm9kdWN0V2lkdGgoKSB7XHJcbiAgICBcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSA/ICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMjUgPyAnMjUlJyA6ICdjYWxjKCcgKyAoKDEwMCAvICh0aGlzLnN0eWxlcz8uZWxlbWVudEluUm93IHx8IDQpKSAtMSkgKyAnJSknKSA6ICcxMDAlJ1xyXG4gIH1cclxuICBnZXRTdXBwb3J0aW5nQ29sb3IoYmdDb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldENvbXBsZW1lbnRDb2xvcihiZ0NvbG9yKTtcclxuICB9XHJcbiAgZ2V0VXNlckluZm8oKSB7XHJcbiAgXHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJbmZvKFwiNmI2NTAwNzEtM2ExMS00YmFmLWEzMDQtMGE4YjdhNGZhMWNlXCIpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSByZXNwb25zZS5kYXRhO1xyXG4gICAgICB0aGlzLmdldFVzZXJPcmRlckRldGFpbHMoKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGdvVG9QYW5lbChwYW5lbDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU2lkZVBhbmVsVGFiID0gcGFuZWwudmFsdWU7XHJcbiAgfVxyXG4gIGdvQmFjaygpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU2lkZVBhbmVsVGFiID09ICcnKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTaWRlUGFuZWxUYWIgPSAnJztcclxuICAgIH1cclxuICB9XHJcbiAgZ29Ub09yZGVyRGV0YWlscyhvcmRlcjogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU2lkZVBhbmVsVGFiID0gJ09yZGVyc19EZXRhaWxzJztcclxuICAgIHRoaXMub3JkZXJEZXRhaWxzRGF0YSA9IG9yZGVyO1xyXG4gIH1cclxuICBhZGROZXdBZGRyZXNzKCkge1xyXG4gICAgbGV0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAnMzV2dycgOiAnMTAwdncnXHJcbiAgICBsZXQgaGVpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAnZml0LWNvbnRlbnQnIDogJzEwMHZoJ1xyXG4gICAgdGhpcy5tYXREaWFsb2cub3BlbihBZGRyZXNzQ29tcG9uZW50LCB7XHJcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXHJcbiAgICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICAgIG1heFdpZHRoOiAnMTAwdncnLFxyXG4gICAgICAgIGRhdGE6IHsgZGF0YTogdGhpcy5kYXRhLCBhZGRyZXNzTGlzdDogdGhpcy51c2VyRGV0YWlscz8uYWRkcmVzc0RldGFpbHNMaXN0IH0gXHJcbiAgICAgIH1cclxuICAgICkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgICBpZiAodGhpcy51c2VyRGV0YWlscykge1xyXG4gICAgICAgICAgdGhpcy51c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpIGFzIFVzZXI7XHJcbiAgICAgICAgICAvLyB0aGlzLnVzZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzTGlzdCA9IFsuLi50aGlzLnVzZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlsc0xpc3RdO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnb1RvSG9tZSgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICB9XHJcbiAgZWRpdEFkZHJlc3MoaW5kZXg6IG51bWJlcikge1xyXG4gICAgbGV0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAnMzV2dycgOiAnMTAwdncnXHJcbiAgICBsZXQgaGVpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAnZml0LWNvbnRlbnQnIDogJzEwMHZoJ1xyXG4gICAgdGhpcy5tYXREaWFsb2cub3BlbihBZGRyZXNzQ29tcG9uZW50LCB7XHJcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXHJcbiAgICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICAgIG1heFdpZHRoOiAnMTAwdncnLFxyXG4gICAgICAgIGRhdGE6IHsgZGF0YTogdGhpcy5kYXRhLCBhZGRyZXNzOiB0aGlzLnVzZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlsc0xpc3RbaW5kZXhdLCBlZGl0SW5kZXg6IGluZGV4IH0gXHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcbiAgZGVsZXRlQWRkcmVzcyhpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoISF0aGlzLnVzZXJEZXRhaWxzKSB7XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMuYWRkcmVzc0RldGFpbHNMaXN0ID0gdGhpcy51c2VyRGV0YWlscz8uYWRkcmVzc0RldGFpbHNMaXN0LmZpbHRlcigoXywgaWR4OiBudW1iZXIpID0+IGlkeCAhPSBpbmRleCk7XHJcbiAgICAgIHRoaXMuc2F2ZVByb2ZpbGUoKTsgXHJcbiAgICB9XHJcbiAgfVxyXG4gIHNjcmVlbldpZHRoOiBudW1iZXI9MDtcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBnZXRTY3JlZW5TaXplKGV2ZW50PzogYW55KSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnNjckhlaWdodCwgdGhpcy5zY3JXaWR0aCk7XHJcbiAgfVxyXG4gIGVkaXRQcm9maWxlKCkge1xyXG4gICAgaWYodGhpcy5zY3JlZW5XaWR0aCA+IDQ3NSApe1xyXG4gICAgdGhpcy5tYXREaWFsb2cub3BlbihVc2VyQmFzaWNJbmZvQ29tcG9uZW50LCB7XHJcbiAgICAgIGhlaWdodDogJzUwdmgnLFxyXG4gICAgICB3aWR0aDogJzQwdncnLFxyXG4gICAgICBkYXRhOiB7IH1cclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgfSlcclxuICB9XHJcbiAgaWYgKHRoaXMuc2NyZWVuV2lkdGggPCA0NzUpXHJcbiAge1xyXG4gICAgdGhpcy5tYXREaWFsb2cub3BlbihVc2VyQmFzaWNJbmZvQ29tcG9uZW50LCB7XHJcbiAgICAgIGhlaWdodDogJzEwMHZoJyxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgbWF4V2lkdGg6ICcxMDB2dycsXHJcbiAgICAgIGRhdGE6IHsgfVxyXG4gICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHtcclxuICAgICAgdGhpcy51c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpIGFzIFVzZXI7XHJcbiAgICB9KVxyXG4gIH1cclxuICB9XHJcbiAgbG9nb3V0KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJMb2dvdXRcIik7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBpY29uOiBcIndhcm5pbmdcIixcclxuICAgICAgdGl0bGU6IFwiVGhhbmtzIGZvciBjaG9vc2luZyB1c1wiLFxyXG4gICAgICB0ZXh0OiBcIllvdSB3aWxsIGJlIGxvZ2dlZCBvdXQgaW1tZWRpYXRlbHkhXCIsXHJcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIkxvZ291dFwiLFxyXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiBcIkNhbmNlbFwiLFxyXG4gICAgICBjYW5jZWxCdXR0b25Db2xvcjogXCIjOTI4YzhjXCIsXHJcbiAgICB9KS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZS5pc0NvbmZpcm1lZCkge1xyXG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUoXCJ1c2VyXCIpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICAgICAgfSBcclxuICAgIH0pXHJcbiAgfVxyXG4gIHByaXZhdGUgc2F2ZVByb2ZpbGUoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICAuLi50aGlzLnVzZXJEZXRhaWxzLFxyXG4gICAgICBhZGRyZXNzRGV0YWlsc0xpc3Q6IHRoaXMudXNlckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzTGlzdFxyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN0U2VydmljZS51cGRhdGVQcm9maWxlKHBheWxvYWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJ1c2VyXCIsIHJlc3BvbnNlLmRhdGEpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RUYWIodGFiOiBUYWJzKSB7XHJcbiAgICB0aGlzLnRhYnMuZm9yRWFjaCgodCk9PiB0LnN0YXR1cyA9ICh0YWIudmFsdWUgPT0gdC52YWx1ZSkpO1xyXG4gIH1cclxuICBwdWJsaWMgdG9nZ2xlU2lkZXBhbmVsVGFiKHRhYjogVGFicykge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNpZGVQYW5lbFRhYiA9IHRhYi52YWx1ZTtcclxuICAgIHRoaXMuc2lkZVBhbmVsTGlzdC5mb3JFYWNoKCh0KT0+IHQuc3RhdHVzID0gKHRhYi52YWx1ZSA9PSB0LnZhbHVlKSk7XHJcbiAgfVxyXG4gIGVkaXRTZWN0aW9uKCl7XHJcbiAgICBcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCk9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHtkYXRhOnRoaXMuZGF0YX0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgZ2V0IGdldFVzZXJEZXRhaWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlckRldGFpbHM7XHJcbiAgfVxyXG4gIGdldCBpc01vYmlsZSgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG4gIGdldCB1c2VyR2VuZGVyKCkge1xyXG4gICAgY29uc3QgdXNlciA9ICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyKTtcclxuICAgIGlmICh1c2VyKVxyXG4gICAgICByZXR1cm4gdXNlci5nZW5kZXI7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgZ2V0IGdldENhcmRCR0NvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29tcGxlbWVudENvbG9yKHRoaXMuc3R5bGVzPy5iYWNrZ3JvdW5kLmFjY2VudENvbG9yID8/IFwiIzAwMDAwXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb21wbGVtZW50Q29sb3IoaGV4Q29sb3I6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBcclxuICAgIGlmIChoZXhDb2xvci5sZW5ndGggPD0gNClcclxuICAgICAgaGV4Q29sb3IgPSB0aGlzLmNvbnZlcnRIRVgoaGV4Q29sb3IpO1xyXG5cclxuICAgIGhleENvbG9yID0gaGV4Q29sb3IucmVwbGFjZSgvXiMvLCAnJyk7XHJcblxyXG4gICAgbGV0IHIgPSBwYXJzZUludChoZXhDb2xvci5zdWJzdHJpbmcoMCwgMiksIDE2KTtcclxuICAgIGxldCBnID0gcGFyc2VJbnQoaGV4Q29sb3Iuc3Vic3RyaW5nKDIsIDQpLCAxNik7XHJcbiAgICBsZXQgYiA9IHBhcnNlSW50KGhleENvbG9yLnN1YnN0cmluZyg0LCA2KSwgMTYpO1xyXG5cclxuICAgIHIgPSAyNTUgLSByO1xyXG4gICAgZyA9IDI1NSAtIGc7XHJcbiAgICBiID0gMjU1IC0gYjtcclxuXHJcbiAgICBsZXQgY29tcEhleCA9IGAjJHtyLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpfSR7Zy50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKX0ke2IudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyl9YDtcclxuXHJcbiAgICByZXR1cm4gY29tcEhleC50b1VwcGVyQ2FzZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIGNvbnZlcnRIRVgoaGV4Q29sb3I6IHN0cmluZykge1xyXG4gICAgaGV4Q29sb3IgPSBoZXhDb2xvci5yZXBsYWNlKC9eIy8sICcnKTtcclxuICAgIGxldCBjb2xvciA9IFwiI1wiO1xyXG4gICAgZm9yIChsZXQgaT0wOyBpPDM7IGkrKylcclxuICAgICAgY29sb3IgKz0gKGhleENvbG9yW2ldICsgaGV4Q29sb3JbaSsxXSk7XHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcblxyXG4gIC8vIGdldFVzZXJJbmZvKCkge1xyXG4gIC8vICAgY29uc3QgdXNlcklkID0gXCJkYzkxNWJkNC1mYTZmLTQ0NmUtYmNlMi00NDBiNjgwNGFmMjJcIjtcclxuICAvLyAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJbmZvKHVzZXJJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAvLyAgICAgdGhpcy51c2VyRGV0YWlscyA9IHJlc3BvbnNlLmRhdGE7XHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxufVxyXG4iLCI8cC10b2FzdCBwb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiIFtiYXNlWkluZGV4XT1cIjEwMDAwMDAwMDAwXCIgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiIFtzaG93VHJhbnNmb3JtT3B0aW9uc109XCJpc01vYmlsZSA/ICd0cmFuc2xhdGVZKC0xMDAlKScgOiAnJ1wiPjwvcC10b2FzdD5cclxuXHJcbjxzZWN0aW9uICpuZ0lmPVwiIWlzTG9hZGluZ1wiIGNsYXNzPVwiZC1mbGV4IHctMTAwXCIgc3R5bGU9XCJtYXJnaW46IGF1dG87IG92ZXJmbG93LXk6IGF1dG87XCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlcz8ubGF5b3V0XCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uY29sb3IgPz8gJ3doaXRlJ1wiIFtzdHlsZS5oZWlnaHQudmhdPVwiaXNNb2JpbGUgPyAnMTAwJzonOTAnXCIgW3N0eWxlLnpJbmRleF09XCJpc01vYmlsZSA/ICcxMDAwMDAwMDAnIDogJydcIiBbbmdDbGFzc109XCJ7J3Bvc2l0aW9uLWFic29sdXRlIHRvcC0wJzogaXNNb2JpbGV9XCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiAoY2xpY2spPVwiZWRpdFNlY3Rpb24oKVwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTW9iaWxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBwcm9maWxlLWJveFwiIHN0eWxlPVwid2lkdGg6IDI1JTsgYm9yZGVyLXJhZGl1czogMTBweDsgaGVpZ2h0OiBmaXQtY29udGVudDtcIiBbc3R5bGUub3JkZXJdPVwic3R5bGVzPy5zd2FwID8gJzEnIDogJzAnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJnYXA6IDVweDsgaGVpZ2h0OiA3MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgW3NyY109XCJ1c2VyR2VuZGVyIHwgZ2VuZGVySWNvblwiIGFsdD1cIlwiIGNsYXNzPVwicm91bmRlZC1jaXJjbGUgaC0xMDBcIiBzdHlsZT1cIndpZHRoOiA3MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e2dldFVzZXJEZXRhaWxzPy5jb250YWN0Py5uYW1lfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9udC13ZWlnaHQtbm9ybWFsIHBvc2l0aW9uLXJlbGF0aXZlXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiAqbmdJZj1cImdldFVzZXJEZXRhaWxzPy5jb250YWN0Py5tb2JpbGU/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c3RheV9wcmltYXJ5X3BvcnRyYWl0PC9tYXQtaWNvbj4gPHNwYW4+e3tnZXRVc2VyRGV0YWlscz8uY29udGFjdD8ubW9iaWxlfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxtYXQtaWNvbiBjbGFzcz1cImVkaXQtaWNvblwiIChjbGljayk9XCJlZGl0UHJvZmlsZURhdGEoJ01PQklMRScpXCI+ZWRpdDwvbWF0LWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmb250LXdlaWdodC1ub3JtYWwgcG9zaXRpb24tcmVsYXRpdmVcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwiZ2V0VXNlckRldGFpbHM/LmNvbnRhY3Q/LmVtYWlsPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPm1haWxfb3V0bGluZTwvbWF0LWljb24+IDxzcGFuPnt7Z2V0VXNlckRldGFpbHM/LmNvbnRhY3Q/LmVtYWlsfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxtYXQtaWNvbiBjbGFzcz1cImVkaXQtaWNvblwiIChjbGljayk9XCJlZGl0UHJvZmlsZURhdGEoJ0VNQUlMJylcIj5lZGl0PC9tYXQtaWNvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oNj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYnNcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBzaWRlUGFuZWxMaXN0OyBsZXQgaWR4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweS0zXCIgc3R5bGU9XCJnYXA6IDVweDsgY3Vyc29yOiBwb2ludGVyO1wiIFtzdHlsZS5ib3JkZXJCb3R0b21dPVwiaWR4ICE9IChzaWRlUGFuZWxMaXN0Lmxlbmd0aCAtMSkgPyAnMnB4IHNvbGlkICNjY2NjY2M0ZCcgOiAnJ1wiIFtuZ0NsYXNzXT1cInsndGFiLXNlbGVjdGVkJzogdGFiLnN0YXR1c31cIiAoY2xpY2spPVwidG9nZ2xlU2lkZXBhbmVsVGFiKHRhYilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImdldFN1cHBvcnRpbmdDb2xvcihnZXRDYXJkQkdDb2xvcilcIj57e3RhYi5pY29ufX08L21hdC1pY29uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cInRhYi5pbWFnZSB8IGdlbmRlckljb25cIiBhbHQ9XCJcIiBzdHlsZT1cImhlaWdodDogMjBweDtcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFiIGZvbnQtd2VpZ2h0LW5vcm1hbFwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3t0YWIudmFsdWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJnYXA6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZWRpdC1idG5cIiBbc3R5bGUuYm9yZGVyQ29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKGNsaWNrKT1cImVkaXRQcm9maWxlKClcIj5FZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxvZ291dC1idG5cIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvclwiIChjbGljayk9XCJsb2dvdXQoKVwiPkxvZ291dDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcmRlcnMtc2VjXCIgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCIgW3N0eWxlLm9yZGVyXT1cInN0eWxlcz8uc3dhcCA/ICcwJyA6ICcxJ1wiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInNlbGVjdGVkU2lkZVBhbmVsVGFiXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT3JkZXJzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJPcmRlclNlY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0FkZHJlc3MnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkFkZHJlc3NTZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidBY2NvdW50IERldGFpbHMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkFjY291bnRzU2VjdGlvblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTG9nb3V0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJMb2dvdXRTZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidPcmRlcnNfRGV0YWlscydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiT3JkZXJEZXRhaWxzXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidXaXNobGlzdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiV2lzaGxpc3REZXRhaWxzXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01vYmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiIHN0eWxlPVwiaGVpZ2h0OiA4MHZoO1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtb2JpbGVBY2NvdW50SGVhZGVyXCIgc3R5bGU9XCJnYXA6IDEwcHg7IGhlaWdodDogNTBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5rZXlib2FyZF9iYWNrc3BhY2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGg0Pk15IHt7IXNlbGVjdGVkU2lkZVBhbmVsVGFiPy5sZW5ndGggPyAnQWNjb3VudCcgOiBzZWxlY3RlZFNpZGVQYW5lbFRhYj8ucmVwbGFjZUFsbCgnXycsICcgJyl9fTwvaDQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFNpZGVQYW5lbFRhYlwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInRvcC1zZWNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiBbc3JjXT1cInVzZXJHZW5kZXIgfCBnZW5kZXJJY29uXCIgYWx0PVwiXCIgY2xhc3M9XCJyb3VuZGVkLWNpcmNsZVwiIHN0eWxlPVwid2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGRcIj57e2dldFVzZXJEZXRhaWxzPy5jb250YWN0Py5uYW1lfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmb250LXdlaWdodC1ub3JtYWxcIj48bWF0LWljb24+c3RheV9wcmltYXJ5X3BvcnRyYWl0PC9tYXQtaWNvbj4gPHNwYW4+e3tnZXRVc2VyRGV0YWlscz8uY29udGFjdD8ubW9iaWxlfX08L3NwYW4+PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9udC13ZWlnaHQtbm9ybWFsXCIgKm5nSWY9XCJnZXRVc2VyRGV0YWlscz8uY29udGFjdD8uZW1haWxcIj48bWF0LWljb24+bWFpbF9vdXRsaW5lPC9tYXQtaWNvbj4gPHNwYW4+e3tnZXRVc2VyRGV0YWlscz8uY29udGFjdD8uZW1haWx9fTwvc3Bhbj48L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJsaXN0LXNlY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2Ygc2lkZVBhbmVsTGlzdDsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweS0zXCIgc3R5bGU9XCJnYXA6IDVweDsgY3Vyc29yOiBwb2ludGVyO1wiIFtzdHlsZS5ib3JkZXJCb3R0b21dPVwiaWR4ICE9IChzaWRlUGFuZWxMaXN0Lmxlbmd0aCAtMSkgPyAnMnB4IHNvbGlkICNjY2NjY2M0ZCcgOiAnJ1wiIFtuZ0NsYXNzXT1cInsndGFiLXNlbGVjdGVkJzogdGFiLnN0YXR1c31cIiAoY2xpY2spPVwiZ29Ub1BhbmVsKHRhYilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwidGFiLmltYWdlIHwgZ2VuZGVySWNvblwiIGFsdD1cIlwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYiBmb250LXdlaWdodC1ub3JtYWxcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPnt7dGFiLnZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJnYXA6IDVweDsgbWFyZ2luLXRvcDogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXQtYnRuXCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIChjbGljayk9XCJlZGl0UHJvZmlsZSgpXCI+RWRpdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibG9nb3V0LWJ0blwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmNvbG9yXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+TG9nb3V0PC9idXR0b24+ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidPcmRlcnMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIk9yZGVyU2VjdGlvblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQWRkcmVzcydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiQWRkcmVzc1NlY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0FjY291bnQgRGV0YWlscydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiQWNjb3VudHNTZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMb2dvdXQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkxvZ291dFNlY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1dpc2hsaXN0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJXaXNobGlzdERldGFpbHNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ09yZGVyc19EZXRhaWxzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJPcmRlckRldGFpbHNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjT3JkZXJTZWN0aW9uPlxyXG4gICAgPGgxIGNsYXNzPVwib25seURlc2t0b3BcIj5NeSBPcmRlcnM8L2gxPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBteS0zIG9yZGVybGlzdCBvbmx5RGVza3RvcFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItdGFiXCIgW25nQ2xhc3NdPVwieydmaWx0ZXItdGFiLXNlbGVjdGVkJzogdGFiLnN0YXR1c31cIiAoY2xpY2spPVwic2VsZWN0VGFiKHRhYilcIj57e3RhYi52YWx1ZX19PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvcmRlci1saXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9yZGVyTGlzdD8ubGVuZ3RoOyBlbHNlIHNob3dFbXB0eVNjcmVlblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3JkZXJcIiBbc3R5bGUud2lkdGhdPVwiZ2V0UHJvZHVjdFdpZHRoXCIgKm5nRm9yPVwibGV0IG9yZGVyIG9mIG9yZGVyTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIk9yZGVyQ2FyZDsgY29udGV4dDoge2RhdGE6IG9yZGVyfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dFbXB0eVNjcmVlbj5cclxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJlbXB0eS1jYXJ0IG0tYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtaW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgW3NyY109XCJjb250ZW50Py5pbWFnZT8udXJsXCIgW2FsdF09XCJjb250ZW50Py5pbWFnZT8uYWx0VGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRleHQgb2YgY29udGVudD8uaW5wdXRUZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiIFtuZ0NsYXNzXT1cInsnaGVhZGluZy1tZWRpdW0nOiB0ZXh0LmxhYmVsID09ICdIZWFkaW5nJywgJ2Rlc2NyaXB0aW9uJzogdGV4dC5sYWJlbCA9PSAnVGV4dCd9XCI+e3sgdGV4dC52YWx1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI09yZGVyRGV0YWlscz5cclxuICAgIDxzaW1wby1vcmRlci1kZXRhaWxzIFtkYXRhXT1cImRhdGFcIiBbb3JkZXJEZXRhaWxEYXRhXT1cIm9yZGVyRGV0YWlsc0RhdGFcIiAoZ29CYWNrRW1pdHRlcik9XCJzZWxlY3RlZFNpZGVQYW5lbFRhYiA9ICdPcmRlcnMnXCI+PC9zaW1wby1vcmRlci1kZXRhaWxzPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI0FkZHJlc3NTZWN0aW9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0yXCI+XHJcbiAgICAgICAgPGgxIGNsYXNzPVwidGl0bGUtdGV4dFwiPk15IEFkZHJlc3M8L2gxPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhZGRyZXNzLWJ0blwiIChjbGljayk9XCJhZGROZXdBZGRyZXNzKClcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e2RhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdPy5jb250ZW50Py5sYWJlbH19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzLWxpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzTGlzdD8ubGVuZ3RoOyBlbHNlIHNob3dFbXB0eUFkZHJlc3NcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWRkcmVzcyBvZiB1c2VyRGV0YWlscz8uYWRkcmVzc0RldGFpbHNMaXN0OyBsZXQgaWR4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzXCIgW3N0eWxlLndpZHRoXT1cImdldFByb2R1Y3RXaWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIG1yLTJcIj57e2FkZHJlc3MucmVjZWl2ZXJOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZHJlc3MtdHlwZVwiPnt7YWRkcmVzcy5hZGRyZXNzVHlwZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZHJlc3MtZGV0IHRyaW0tdGV4dFwiPnt7YWRkcmVzcy5hZGRyZXNzTGluZTF9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGhvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlBob25lOjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRkcmVzcy1waG9uZVwiPnt7YWRkcmVzcy5yZWNlaXZlclBob25lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiZWRpdEFkZHJlc3MoaWR4KVwiPmVkaXQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImRlbGV0ZUFkZHJlc3MoaWR4KVwiPmRlbGV0ZV9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dFbXB0eUFkZHJlc3M+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZW1wdHktY2FydCBtLWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIHNyYz1cImh0dHBzOi8vaS5wb3N0aW1nLmNjLzI1clQ4V3dwLzYyMTY3OTcuanBnXCIgW2FsdF09XCJjb250ZW50Py5pbWFnZT8uYWx0VGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGV4dCBvZiBjb250ZW50Py5pbnB1dFRleHRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPk5vIGFkZHJlc3MgYWRkZWQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+UGxlYXNlIHByb3ZpZGUgYWRkcmVzcyBmb3IgZWFzeSBkZWxpdmVyeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI0FjY291bnRzU2VjdGlvbj5cclxuICAgIDxoMSBjbGFzcz1cIm9ubHlEZXNrdG9wXCI+TXkgQWNjb3VudHM8L2gxPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI0xvZ291dFNlY3Rpb24+XHJcbiAgICA8aDEgY2xhc3M9XCJvbmx5RGVza3RvcFwiPkxvZ291dDwvaDE+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjT3JkZXJDYXJkIGxldC1vcmRlcj1cImRhdGFcIj5cclxuICAgIDxkaXYgKGNsaWNrKT1cImdvVG9PcmRlckRldGFpbHMob3JkZXIpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXdlaWdodC1ub3JtYWxcIj57e29yZGVyLm9yZGVyTnVtfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd19mb3J3YXJkX2lvczwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pZGRsZSBteS0yXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7b3JkZXIuY3JlYXRlZFRpbWVTdGFtcCB8IGRhdGU6ICdtZWRpdW0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiPnt7b3JkZXI/LmJyYW5kT3JkZXJEZXRhaWxzPy5bMF0/LmJyYW5kTmFtZSB8IHRpdGxlY2FzZX19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXdlaWdodC1ub3JtYWxcIj5BbW91bnQ6IDxzcGFuPiA8c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPiB7eyBvcmRlci5iaWxsRGV0YWlscy50b3RhbEdyb3NzVmFsdWUgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBbYXR0ci5jbGFzc109XCJvcmRlcj8uYnJhbmRPcmRlckRldGFpbHM/LlswXT8ub3JkZXJTdGF0dXMgKyAnIG9yZGVyLXN0YXR1cydcIj57eyBvcmRlcj8uYnJhbmRPcmRlckRldGFpbHM/LlswXT8ub3JkZXJTdGF0dXMucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIHwgdXBwZXJjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjV2lzaGxpc3REZXRhaWxzPlxyXG4gICAgPGgxIGNsYXNzPVwib25seURlc2t0b3BcIj5NeSBXaXNobGlzdDwvaDE+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2lzaGxpc3QtbGlzdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgc3R5bGU9XCJnYXA6IDEwcHg7XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygd2lzaGxpc3REYXRhOyBsZXQgaWR4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBpdGVtLXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiIHN0eWxlPVwicGFkZGluZzogMHB4OyB3aWR0aDogZml0LWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgICBjbGFzcz1cInByb2R1Y3QtaW1nXCIgW3NyY109XCJpdGVtLmltZ1VybFwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCBoLTEwMCBpdGVtLWRlc2NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxoLTIzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWUgaGVhZGluZy1sYXJnZVwiPnt7aXRlbS5pdGVtTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS13aXRoLXRheFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7aXRlbS5kaXNjb3VudGVkUHJpY2V9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhY3Rpb24tYnRuXCIgc3R5bGU9XCJnYXA6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXF1YW50aXR5XCIgKm5nSWY9XCJpdGVtLnF1YW50aXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9GYXYoaXRlbSwgJ1NVQlNUUkFDVCcpXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0ucXVhbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvclwiIChjbGljayk9XCJhZGRUb0ZhdihpdGVtLCAnQUREJylcIj4rPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1xdWFudGl0eVwiICpuZ0lmPVwiIWl0ZW0ucXVhbnRpdHlcIiAoY2xpY2spPVwiYWRkVG9GYXYoaXRlbSwgJ0FERCcpXCI+QWRkIHRvIFF1YW50aXR5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1xdWFudGl0eVwiIChjbGljayk9XCJtb3ZlVG9DYXJ0KGl0ZW0pXCI+TW92ZSB0byBDYXJ0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGllbVByaWNlXCIgc3R5bGU9XCJyaWdodDogNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCIgKm5nSWY9XCJpdGVtLnF1YW50aXR5XCI+PHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7KGl0ZW0uZGlzY291bnRlZFByaWNlKSAqIGl0ZW0ucXVhbnRpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkZWxldGUtaXRlbVwiIChjbGljayk9XCJkZWxldGVGcm9tV2hpc2xpc3QoaXRlbSlcIiAqbmdJZj1cIiFpc01vYmlsZVwiPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0VtcHR5V2lzaGxpc3RTY3JlZW4+XHJcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJlbXB0eS1jYXJ0IG0tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgW3NyY109XCJjb250ZW50Py5pbWFnZT8udXJsXCIgW2FsdF09XCJjb250ZW50Py5pbWFnZT8uYWx0VGV4dFwiPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXRleHRcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRleHQgb2YgY29udGVudD8uaW5wdXRUZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbWVkaXVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgW25nQ2xhc3NdPVwieydoZWFkaW5nLW1lZGl1bSc6IHRleHQubGFiZWwgPT0gJ0hlYWRpbmcnLCAnZGVzY3JpcHRpb24nOiB0ZXh0LmxhYmVsID09ICdUZXh0J31cIj57eyB0ZXh0LnZhbHVlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZ3gtc2tlbGV0b24tbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgaGVpZ2h0OiAnNDB2aCcsXHJcbiAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAncmlnaHQnOiAnNXB4J1xyXG4gIH1cIj5cclxuPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG48ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCIgW2lzRWNvbW1lcmNlXT1cInRydWVcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuPC9kaXY+Il19
|
407
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3VzZXItcHJvZmlsZS91c2VyLXByb2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdXNlci1wcm9maWxlL3VzZXItcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFJMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJOUQsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FB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ZTt3QkFDZixvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsVUFBVTtxQkFDYixhQUNVLENBQUMsY0FBYyxDQUFDOzZTQW9CaEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBd09OLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYXJ0LCBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL3N0eWxlcy9jYXJ0Lm1vZGFsJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4vLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCVVNJTkVTU19DT05TVEFOVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYnVzaW5lc3MuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlQ29udGVudE1vZGFsLCBQcm9maWxlU3R5bGVzTW9kYWwsIFJlc3BvbnNlRGF0YSwgVGFicywgVXNlclByb2ZpbGVNb2RhbCB9IGZyb20gJy4vdXNlci1wcm9maWxlLm1vZGFsJztcclxuaW1wb3J0IHsgT3JkZXJJdGVtIH0gZnJvbSAnLi4vLi4vc3R5bGVzL29yZGVyLm1vZGFsJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT3JkZXJEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4uL29yZGVyLWRldGFpbHMvb3JkZXItZGV0YWlscy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9zdHlsZXMvdXNlci5tb2RhbCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0LCBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb2xvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb2xvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYm9yZGVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBVc2VyQmFzaWNJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vdXNlci1iYXNpYy1pbmZvL3VzZXItYmFzaWMtaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHZW5kZXJJY29uIH0gZnJvbSBcIi4uLy4uLy4uL3BpcGVzL2dlbmRlci5waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXVzZXItcHJvZmlsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXHJcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXHJcbiAgICBDb250ZW50Rml0RGlyZWN0aXZlLFxyXG4gICAgSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBPcmRlckRldGFpbHNDb21wb25lbnQsXHJcbiAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIENvbG9yRGlyZWN0aXZlLFxyXG4gICAgQm9yZGVyRGlyZWN0aXZlLFxyXG4gICAgTWF0Qm90dG9tU2hlZXRNb2R1bGUsXHJcbiAgICBUb2FzdE1vZHVsZSxcclxuICAgIEdlbmRlckljb25cclxuXSxcclxucHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLXByb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91c2VyLXByb2ZpbGUuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJQcm9maWxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0Qm90dG9tU2hlZXQ6IE1hdEJvdHRvbVNoZWV0LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBkYXRhPzogVXNlclByb2ZpbGVNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdD8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHN0eWxlcz86IFByb2ZpbGVTdHlsZXNNb2RhbDtcclxuICBjb250ZW50PzogUHJvZmlsZUNvbnRlbnRNb2RhbDtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkU2lkZVBhbmVsVGFiOiBzdHJpbmcgPSB3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSA/IFwiT3JkZXJzXCIgOiBcIlwiO1xyXG4gIHB1YmxpYyB1c2VyRGV0YWlsczogVXNlciB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBhZGRyZXNzTGlzdDogYW55ID0gW107XHJcbiAgcHVibGljIG9yZGVyRGV0YWlsc0RhdGE6IGFueTtcclxuXHJcbiAgcHVibGljIHNpZGVQYW5lbExpc3Q6IFRhYnNbXSA9IFtcclxuICAgIHsgdmFsdWU6IFwiT3JkZXJzXCIsIGljb246IFwiYWNjZXNzaWJpbGl0eVwiLCBzdGF0dXM6IHRydWUsIGxhYmVsOiBcIkhlYWRpbmdcIiwgdXJsOiAnb3JkZXInLCBpbWFnZTogXCJPUkRFUlwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIkFkZHJlc3NcIiwgaWNvbjogXCJsb2NhdGlvbl9vblwiLCBzdGF0dXM6IGZhbHNlLCBsYWJlbDogXCJIZWFkaW5nXCIsIHVybDogJ2FkZHJlc3MnLCBpbWFnZTogXCJMT0NBVElPTlwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIldpc2hsaXN0XCIsIGljb246IFwibG9jYXRpb25fb25cIiwgc3RhdHVzOiBmYWxzZSwgbGFiZWw6IFwiSGVhZGluZ1wiLCB1cmw6ICdhZGRyZXNzJywgaW1hZ2U6IFwiV0lTSExJU1RcIiB9LFxyXG4gICAgLy8geyB2YWx1ZTogXCJBY2NvdW50IERldGFpbHNcIiwgaWNvbjogXCJzdXBlcnZpc2VkX3VzZXJfY2lyY2xlXCIsIHN0YXR1czogZmFsc2UsIGxhYmVsOiBcIkhlYWRpbmdcIiwgdXJsOiAnYWNjb3VudCcgfSxcclxuICAgIC8vIHsgdmFsdWU6IFwiTG9nb3V0XCIsIGljb246IFwidHJhbnNpdF9lbnRlcmV4aXRcIiwgc3RhdHVzOiBmYWxzZSwgbGFiZWw6IFwiSGVhZGluZ1wiLCB1cmw6ICcnIH1cclxuICBdO1xyXG4gIHB1YmxpYyB0YWJzOiBUYWJzW10gPSBbXTtcclxuICBwdWJsaWMgb3JkZXJMaXN0OiBPcmRlcmVkSXRlbXNbXSA9IFtdO1xyXG4gIHB1YmxpYyB3aXNobGlzdERhdGE6IE9yZGVyZWRJdGVtc1tdID0gW107XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKCk7XHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2Uuc2hvd0xvYWRpbmdTY3JlZW4uc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzcG9uc2U7XHJcbiAgICB9KVxyXG4gICAgXHJcbiAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcjtcclxuICAgIGlmICghdGhpcy51c2VyRGV0YWlscyAmJiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJSRVFVRVNUX0ZST01cIikgPT0gXCJVU0VSXCIpKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdFcnJvcicsIGRldGFpbDogJ1BsZWFzZSBsb2dpbiB0byBhY2Nlc3MgcHJvZmlsZScgfSk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLmdldFVzZXJPcmRlckRldGFpbHMoKTtcclxuICAgIHRoaXMuZ2V0VXNlcldpc2xpc3REZXRhaWxzKCk7XHJcbiAgfVxyXG4gIGdldFVzZXJPcmRlckRldGFpbHMoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBcImJ1c2luZXNzSWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpLFxyXG4gICAgICBcInVzZXJJZFwiOiB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAgIFwib3JkZXJTdGF0dXNcIjogbnVsbCxcclxuICAgICAgXCJwbGF0Zm9ybVwiOiBudWxsLFxyXG4gICAgICBcInBhZ2VOb1wiOiAwLFxyXG4gICAgICBcInBhZ2VTaXplXCI6IDEwMFxyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VyT3JkZXJzKHBheWxvYWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLm9yZGVyTGlzdCA9IHJlc3BvbnNlLmRhdGE7XHJcbiAgICB9KVxyXG4gIH1cclxuICBnZXRVc2VyV2lzbGlzdERldGFpbHMoKSB7XHJcbiAgICBjb25zdCB1c2VySWQgPSB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQ7XHJcbiAgICBpZiAoIXVzZXJJZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHdpc2hsaXN0SW5mbzogYW55ID0ge1xyXG4gICAgICBvcmRlcmVkSXRlbXM6IG51bGwsXHJcbiAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSxcclxuICAgICAgYmlsbGRldGFpbHM6IG51bGwsXHJcbiAgICAgIGFkZHJlc3NEZXRhaWxzOiBudWxsLFxyXG4gICAgICBwbGF0Zm9ybTogXCJXRUJcIixcclxuICAgICAgY2FydFR5cGU6IFwiV0lTSExJU1RcIixcclxuICAgICAgdXNlckRldGFpbHM6IHtcclxuICAgICAgICBcInVzZXJJZFwiOiB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAgICAgXCJ1c2VyTmFtZVwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Lm5hbWUsXHJcbiAgICAgICAgXCJtb2JpbGVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5tb2JpbGUsXHJcbiAgICAgICAgXCJlbWFpbFwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0LmVtYWlsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlcldpc2hsaXN0KHVzZXJJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgdGhpcy53aXNobGlzdERhdGEgPSByZXNwb25zZS5kYXRhPy5bMF0/Lm9yZGVyZWRJdGVtcyA/PyBbXTtcclxuICAgICAgY29uc3QgdGVtcFVzZXJXaXNobGlzdCA9IHJlc3BvbnNlPy5kYXRhPy5bMF0/Lm9yZGVyZWRJdGVtcyA/PyBbXVxyXG4gICAgICAgIHdpc2hsaXN0SW5mb1tcImNhcnRJZFwiXSA9IHJlc3BvbnNlLmRhdGE/LlswXT8uY2FydElkO1xyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRBbGxQcm9kdWN0VG9XaXNobGlzdCh0ZW1wVXNlcldpc2hsaXN0KS5vbmNvbXBsZXRlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJXaGlzaGxpc3QoKS50aGVuKCh3aXNodGxpc3RSZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICAgICAgd2lzaHRsaXN0UmVzcG9uc2Uub25zdWNjZXNzID0gKHdpc2hsaXN0RGF0YTogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3Qgd2lzaGxpc3RSZXNwb25zZSA9IHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIod2lzaGxpc3RJbmZvKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgICAgIHdpc2hsaXN0UmVzcG9uc2UuZmluYWxseSgoKT0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMud2lzaGxpc3REYXRhID0gd2lzaGxpc3REYXRhLnRhcmdldC5yZXN1bHQgYXMgdW5rbm93biBhcyBPcmRlcmVkSXRlbXNbXTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgZGVsZXRlRnJvbVdoaXNsaXN0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tV2lzaGxpc3QocHJvZHVjdC5pdGVtSWQpO1xyXG4gICAgdHJhbnNhY3Rpb24ub25zdWNjZXNzID0gKCkgPT4ge1xyXG5cclxuICAgICAgdGhpcy53aXNobGlzdERhdGEgPSB0aGlzLndpc2hsaXN0RGF0YS5maWx0ZXIoKGl0ZW06IE9yZGVyZWRJdGVtcyk9PiBpdGVtLml0ZW1JZCAhPSBwcm9kdWN0Lml0ZW1JZCk7O1xyXG4gICAgfVxyXG4gICAgdHJhbnNhY3Rpb24ub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCJFcnJvclwiKTtcclxuICAgIH1cclxuICB9IFxyXG4gIG1vdmVUb0NhcnQocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICBpZiAoIXByb2R1Y3QucXVhbnRpdHkpXHJcbiAgICAgIHByb2R1Y3QucXVhbnRpdHkgPSAxO1xyXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb0NhcnQocHJvZHVjdCk7XHJcbiAgICB0cmFuc2FjdGlvbi5vbnN1Y2Nlc3MgPSAod2lzaGxpc3RSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tV2lzaGxpc3QocHJvZHVjdC52YXJpZW50SWQpLm9uc3VjY2VzcyA9ICh3aXNsaXN0UmVzcG9uc2UpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NcIik7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KHByb2R1Y3QpLm9uc3VjY2VzcyA9IChjYXJ0UmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMud2lzaGxpc3REYXRhID0gdGhpcy53aXNobGlzdERhdGEuZmlsdGVyKChpdGVtOiBPcmRlcmVkSXRlbXMpPT4gaXRlbS52YXJpZW50SWQgIT0gcHJvZHVjdC52YXJpZW50SWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdNb3ZlIHRvIGNhcnQnLCBkZXRhaWw6ICdJdGVtIHN1Y2Nlc3NmdWxseSBtb3ZlZCB0byBjYXJ0JyB9KTtcclxuICAgIH1cclxuICAgIHRyYW5zYWN0aW9uLm9uZXJyb3IgPSAod2lzaGxpc3RSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnRmFpbHVyZScsIGRldGFpbDogJ0ZhaWxlZCB0byBtb3ZlIGl0ZW0gdG8gY2FydCcgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFkZFRvRmF2KGl0ZW06IE9yZGVyZWRJdGVtcywgdHlwZTogJ0FERCcgfCAnU1VCU1RSQUNUJykge1xyXG4gICAgaWYgKHR5cGUgPT0gJ0FERCcpXHJcbiAgICAgIGl0ZW0ucXVhbnRpdHkgKz0gMTtcclxuICAgIGVsc2VcclxuICAgICAgaXRlbS5xdWFudGl0eSAtPSAxO1xyXG4gICAgdGhpcy5jYXJ0U2VydmljZS5hZGRPcmRlcmVkSXRlbVRvRmF2b3VyaXRlKGl0ZW0pO1xyXG4gIH1cclxuICBhc3luYyBlZGl0UHJvZmlsZURhdGEodHlwZTogJ01PQklMRScgfCAnRU1BSUwnKSB7XHJcbiAgICAvLyBUT0RPOiBTaG91bGQgYmUgT1RQIGJhc2VkIHZhbGlkYXRpb25cclxuICAgIC8vIGlmICghdGhpcy51c2VyRGV0YWlscylcclxuICAgIC8vICAgcmV0dXJuO1xyXG4gICAgLy8gaWYgKHR5cGUgPT0gXCJFTUFJTFwiKSB7XHJcbiAgICAvLyAgIGNvbnN0IHsgdmFsdWU6IGVtYWlsIH0gPSBhd2FpdCBTd2FsLmZpcmUoe1xyXG4gICAgLy8gICAgIHRpdGxlOiBcIlVzZXIgRGV0YWlsc1wiLFxyXG4gICAgLy8gICAgIGlucHV0OiBcImVtYWlsXCIsXHJcbiAgICAvLyAgICAgaW5wdXRMYWJlbDogXCJZb3VyIGVtYWlsIGFkZHJlc3NcIixcclxuICAgIC8vICAgICBpbnB1dFBsYWNlaG9sZGVyOiBcIkVudGVyIHlvdXIgZW1haWwgYWRkcmVzc1wiLFxyXG4gICAgLy8gICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAvLyAgICAgICB0aXRsZTogJ3N3YWwyLXRpdGxlLWxlZnQnXHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gICBpZiAoZW1haWwpXHJcbiAgICAvLyAgICAgdGhpcy51c2VyRGV0YWlscy5jb250YWN0LmVtYWlsID0gZW1haWw7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBpZiAodHlwZSA9PSBcIk1PQklMRVwiKSB7XHJcbiAgICAvLyAgIGNvbnN0IHsgdmFsdWU6IG1vYmlsZSB9ID0gYXdhaXQgU3dhbC5maXJlKHtcclxuICAgIC8vICAgICB0aXRsZTogXCJVc2VyIERldGFpbHNcIixcclxuICAgIC8vICAgICBpbnB1dDogXCJ0ZWxcIixcclxuICAgIC8vICAgICBpbnB1dExhYmVsOiBcIllvdXIgbW9iaWxlIG51bWJlclwiLFxyXG4gICAgLy8gICAgIGlucHV0UGxhY2Vob2xkZXI6IFwiRW50ZXIgeW91ciBtb2JpbGUgbnVtYmVyXCIsXHJcbiAgICAvLyAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgIC8vICAgICAgIHRpdGxlOiAnc3dhbDItdGl0bGUtbGVmdCdcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pXHJcbiAgICAvLyAgIGlmIChtb2JpbGUpXHJcbiAgICAvLyAgICAgdGhpcy51c2VyRGV0YWlscy5jb250YWN0Lm1vYmlsZSA9IG1vYmlsZTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgLy8gICBcInVzZXJJZFwiOiB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAvLyAgIFwiYnVzaW5lc3NJZFwiOiB0aGlzLnVzZXJEZXRhaWxzPy5idXNpbmVzc0lkLFxyXG4gICAgLy8gICBcImNvbnRhY3RcIjoge1xyXG4gICAgLy8gICAgIFwibW9iaWxlXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubW9iaWxlLFxyXG4gICAgLy8gICAgIFwiZW1haWxcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5lbWFpbFxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyB0aGlzLnJlc3RTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUocGF5bG9hZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgIC8vICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChcInVzZXJcIiwgcmVzcG9uc2UuZGF0YSk7XHJcbiAgICAvLyB9KVxyXG4gIH1cclxuICBnZXQgZ2V0UHJvZHVjdFdpZHRoKCkge1xyXG4gICAgXHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAod2luZG93LmlubmVyV2lkdGggPCAxMDI1ID8gJzI1JScgOiAnY2FsYygnICsgKCgxMDAgLyAodGhpcy5zdHlsZXM/LmVsZW1lbnRJblJvdyB8fCA0KSkgLTEpICsgJyUpJykgOiAnMTAwJSdcclxuICB9XHJcbiAgZ2V0U3VwcG9ydGluZ0NvbG9yKGJnQ29sb3I6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wbGVtZW50Q29sb3IoYmdDb2xvcik7XHJcbiAgfVxyXG4gIGdldFVzZXJJbmZvKCkge1xyXG4gIFxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySW5mbyhcIjZiNjUwMDcxLTNhMTEtNGJhZi1hMzA0LTBhOGI3YTRmYTFjZVwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICB0aGlzLnVzZXJEZXRhaWxzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgICAgdGhpcy5nZXRVc2VyT3JkZXJEZXRhaWxzKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBnb1RvUGFuZWwocGFuZWw6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNpZGVQYW5lbFRhYiA9IHBhbmVsLnZhbHVlO1xyXG4gIH1cclxuICBnb0JhY2soKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFNpZGVQYW5lbFRhYiA9PSAnJykge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkU2lkZVBhbmVsVGFiID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdvVG9PcmRlckRldGFpbHMob3JkZXI6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNpZGVQYW5lbFRhYiA9ICdPcmRlcnNfRGV0YWlscyc7XHJcbiAgICB0aGlzLm9yZGVyRGV0YWlsc0RhdGEgPSBvcmRlcjtcclxuICB9XHJcbiAgYWRkTmV3QWRkcmVzcygpIHtcclxuICAgIGxldCB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gJzM1dncnIDogJzEwMHZ3J1xyXG4gICAgbGV0IGhlaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gJ2ZpdC1jb250ZW50JyA6ICcxMDB2aCdcclxuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oQWRkcmVzc0NvbXBvbmVudCwge1xyXG4gICAgICAgIGhlaWdodDogaGVpZ2h0LFxyXG4gICAgICAgIHdpZHRoOiB3aWR0aCxcclxuICAgICAgICBtYXhXaWR0aDogJzEwMHZ3JyxcclxuICAgICAgICBkYXRhOiB7IGRhdGE6IHRoaXMuZGF0YSwgYWRkcmVzc0xpc3Q6IHRoaXMudXNlckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzTGlzdCB9IFxyXG4gICAgICB9XHJcbiAgICApLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudXNlckRldGFpbHMpIHtcclxuICAgICAgICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgICAgICAgLy8gdGhpcy51c2VyRGV0YWlscy5hZGRyZXNzRGV0YWlsc0xpc3QgPSBbLi4udGhpcy51c2VyRGV0YWlscz8uYWRkcmVzc0RldGFpbHNMaXN0XTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ29Ub0hvbWUoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XHJcbiAgfVxyXG4gIGVkaXRBZGRyZXNzKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGxldCB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gJzM1dncnIDogJzEwMHZ3J1xyXG4gICAgbGV0IGhlaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gJ2ZpdC1jb250ZW50JyA6ICcxMDB2aCdcclxuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oQWRkcmVzc0NvbXBvbmVudCwge1xyXG4gICAgICAgIGhlaWdodDogaGVpZ2h0LFxyXG4gICAgICAgIHdpZHRoOiB3aWR0aCxcclxuICAgICAgICBtYXhXaWR0aDogJzEwMHZ3JyxcclxuICAgICAgICBkYXRhOiB7IGRhdGE6IHRoaXMuZGF0YSwgYWRkcmVzczogdGhpcy51c2VyRGV0YWlscz8uYWRkcmVzc0RldGFpbHNMaXN0W2luZGV4XSwgZWRpdEluZGV4OiBpbmRleCB9IFxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG4gIGRlbGV0ZUFkZHJlc3MoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKCEhdGhpcy51c2VyRGV0YWlscykge1xyXG4gICAgICB0aGlzLnVzZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzTGlzdCA9IHRoaXMudXNlckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzTGlzdC5maWx0ZXIoKF8sIGlkeDogbnVtYmVyKSA9PiBpZHggIT0gaW5kZXgpO1xyXG4gICAgICB0aGlzLnNhdmVQcm9maWxlKCk7IFxyXG4gICAgfVxyXG4gIH1cclxuICBzY3JlZW5XaWR0aDogbnVtYmVyPTA7XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgZ2V0U2NyZWVuU2l6ZShldmVudD86IGFueSkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5zY3JIZWlnaHQsIHRoaXMuc2NyV2lkdGgpO1xyXG4gIH1cclxuICBlZGl0UHJvZmlsZSgpIHtcclxuICAgIGlmKHRoaXMuc2NyZWVuV2lkdGggPiA0NzUgKXtcclxuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oVXNlckJhc2ljSW5mb0NvbXBvbmVudCwge1xyXG4gICAgICBoZWlnaHQ6ICc1MHZoJyxcclxuICAgICAgd2lkdGg6ICc0MHZ3JyxcclxuICAgICAgZGF0YTogeyB9XHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcjtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGlmICh0aGlzLnNjcmVlbldpZHRoIDwgNDc1KVxyXG4gIHtcclxuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oVXNlckJhc2ljSW5mb0NvbXBvbmVudCwge1xyXG4gICAgICBoZWlnaHQ6ICcxMDB2aCcsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIG1heFdpZHRoOiAnMTAwdncnLFxyXG4gICAgICBkYXRhOiB7IH1cclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgfSlcclxuICB9XHJcbiAgfVxyXG4gIGxvZ291dCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiTG9nb3V0XCIpO1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgaWNvbjogXCJ3YXJuaW5nXCIsXHJcbiAgICAgIHRpdGxlOiBcIlRoYW5rcyBmb3IgY2hvb3NpbmcgdXNcIixcclxuICAgICAgdGV4dDogXCJZb3Ugd2lsbCBiZSBsb2dnZWQgb3V0IGltbWVkaWF0ZWx5IVwiLFxyXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJMb2dvdXRcIixcclxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogXCJDYW5jZWxcIixcclxuICAgICAgY2FuY2VsQnV0dG9uQ29sb3I6IFwiIzkyOGM4Y1wiLFxyXG4gICAgfSkudGhlbigocmVzcG9uc2UpPT4ge1xyXG4gICAgICBpZiAocmVzcG9uc2UuaXNDb25maXJtZWQpIHtcclxuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKFwidXNlclwiKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XHJcbiAgICAgIH0gXHJcbiAgICB9KVxyXG4gIH1cclxuICBwcml2YXRlIHNhdmVQcm9maWxlKCkge1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgLi4udGhpcy51c2VyRGV0YWlscyxcclxuICAgICAgYWRkcmVzc0RldGFpbHNMaXN0OiB0aGlzLnVzZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlsc0xpc3RcclxuICAgIH1cclxuICAgIHRoaXMucmVzdFNlcnZpY2UudXBkYXRlUHJvZmlsZShwYXlsb2FkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFwidXNlclwiLCByZXNwb25zZS5kYXRhKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0VGFiKHRhYjogVGFicykge1xyXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHQpPT4gdC5zdGF0dXMgPSAodGFiLnZhbHVlID09IHQudmFsdWUpKTtcclxuICB9XHJcbiAgcHVibGljIHRvZ2dsZVNpZGVwYW5lbFRhYih0YWI6IFRhYnMpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTaWRlUGFuZWxUYWIgPSB0YWIudmFsdWU7XHJcbiAgICB0aGlzLnNpZGVQYW5lbExpc3QuZm9yRWFjaCgodCk9PiB0LnN0YXR1cyA9ICh0YWIudmFsdWUgPT0gdC52YWx1ZSkpO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpe1xyXG5cclxuICAgIGlmKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7ZGF0YTp0aGlzLmRhdGF9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG4gIGdldCBnZXRVc2VyRGV0YWlscygpIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJEZXRhaWxzO1xyXG4gIH1cclxuICBnZXQgaXNNb2JpbGUoKSB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNDc1O1xyXG4gIH1cclxuICBnZXQgdXNlckdlbmRlcigpIHtcclxuICAgIGNvbnN0IHVzZXIgPSAodGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcik7XHJcbiAgICBpZiAodXNlcilcclxuICAgICAgcmV0dXJuIHVzZXIuZ2VuZGVyO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGdldCBnZXRDYXJkQkdDb2xvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmdldENvbXBsZW1lbnRDb2xvcih0aGlzLnN0eWxlcz8uYmFja2dyb3VuZC5hY2NlbnRDb2xvciA/PyBcIiMwMDAwMFwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29tcGxlbWVudENvbG9yKGhleENvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgXHJcbiAgICBpZiAoaGV4Q29sb3IubGVuZ3RoIDw9IDQpXHJcbiAgICAgIGhleENvbG9yID0gdGhpcy5jb252ZXJ0SEVYKGhleENvbG9yKTtcclxuXHJcbiAgICBoZXhDb2xvciA9IGhleENvbG9yLnJlcGxhY2UoL14jLywgJycpO1xyXG5cclxuICAgIGxldCByID0gcGFyc2VJbnQoaGV4Q29sb3Iuc3Vic3RyaW5nKDAsIDIpLCAxNik7XHJcbiAgICBsZXQgZyA9IHBhcnNlSW50KGhleENvbG9yLnN1YnN0cmluZygyLCA0KSwgMTYpO1xyXG4gICAgbGV0IGIgPSBwYXJzZUludChoZXhDb2xvci5zdWJzdHJpbmcoNCwgNiksIDE2KTtcclxuXHJcbiAgICByID0gMjU1IC0gcjtcclxuICAgIGcgPSAyNTUgLSBnO1xyXG4gICAgYiA9IDI1NSAtIGI7XHJcblxyXG4gICAgbGV0IGNvbXBIZXggPSBgIyR7ci50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKX0ke2cudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyl9JHtiLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpfWA7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBIZXgudG9VcHBlckNhc2UoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBjb252ZXJ0SEVYKGhleENvbG9yOiBzdHJpbmcpIHtcclxuICAgIGhleENvbG9yID0gaGV4Q29sb3IucmVwbGFjZSgvXiMvLCAnJyk7XHJcbiAgICBsZXQgY29sb3IgPSBcIiNcIjtcclxuICAgIGZvciAobGV0IGk9MDsgaTwzOyBpKyspXHJcbiAgICAgIGNvbG9yICs9IChoZXhDb2xvcltpXSArIGhleENvbG9yW2krMV0pO1xyXG4gICAgcmV0dXJuIGNvbG9yO1xyXG4gIH1cclxuICBnZXQgY3VycmVuY3koKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBCVVNJTkVTU19DT05TVEFOVFMuQ1VSUkVOQ1k7XHJcbiAgfVxyXG5cclxuICAvLyBnZXRVc2VySW5mbygpIHtcclxuICAvLyAgIGNvbnN0IHVzZXJJZCA9IFwiZGM5MTViZDQtZmE2Zi00NDZlLWJjZTItNDQwYjY4MDRhZjIyXCI7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySW5mbyh1c2VySWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgLy8gICAgIHRoaXMudXNlckRldGFpbHMgPSByZXNwb25zZS5kYXRhO1xyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcbn1cclxuIiwiPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBbYmFzZVpJbmRleF09XCIxMDAwMDAwMDAwMFwiIFthdXRvWkluZGV4XT1cInRydWVcIiBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XHJcblxyXG48c2VjdGlvbiAqbmdJZj1cIiFpc0xvYWRpbmdcIiBjbGFzcz1cImQtZmxleCB3LTEwMFwiIHN0eWxlPVwibWFyZ2luOiBhdXRvOyBvdmVyZmxvdy15OiBhdXRvO1wiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiIFtzcGFjaW5nSG9yaXpvbnRhbF09XCJzdHlsZXM/LmxheW91dFwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmNvbG9yID8/ICd3aGl0ZSdcIiBbc3R5bGUuaGVpZ2h0LnZoXT1cImlzTW9iaWxlID8gJzEwMCc6JzkwJ1wiIFtzdHlsZS56SW5kZXhdPVwiaXNNb2JpbGUgPyAnMTAwMDAwMDAwJyA6ICcnXCIgW25nQ2xhc3NdPVwieydwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtMCc6IGlzTW9iaWxlfVwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgKGNsaWNrKT1cImVkaXRTZWN0aW9uKClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01vYmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgcHJvZmlsZS1ib3hcIiBzdHlsZT1cIndpZHRoOiAyNSU7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGhlaWdodDogZml0LWNvbnRlbnQ7XCIgW3N0eWxlLm9yZGVyXT1cInN0eWxlcz8uc3dhcCA/ICcxJyA6ICcwJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwiZ2FwOiA1cHg7IGhlaWdodDogNzBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgIFtzcmNdPVwidXNlckdlbmRlciB8IGdlbmRlckljb25cIiBhbHQ9XCJcIiBjbGFzcz1cInJvdW5kZWQtY2lyY2xlIGgtMTAwXCIgc3R5bGU9XCJ3aWR0aDogNzBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3tnZXRVc2VyRGV0YWlscz8uY29udGFjdD8ubmFtZX19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZvbnQtd2VpZ2h0LW5vcm1hbCBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKm5nSWY9XCJnZXRVc2VyRGV0YWlscz8uY29udGFjdD8ubW9iaWxlPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnN0YXlfcHJpbWFyeV9wb3J0cmFpdDwvbWF0LWljb24+IDxzcGFuPnt7Z2V0VXNlckRldGFpbHM/LmNvbnRhY3Q/Lm1vYmlsZX19PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gY2xhc3M9XCJlZGl0LWljb25cIiAoY2xpY2spPVwiZWRpdFByb2ZpbGVEYXRhKCdNT0JJTEUnKVwiPmVkaXQ8L21hdC1pY29uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9udC13ZWlnaHQtbm9ybWFsIHBvc2l0aW9uLXJlbGF0aXZlXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiAqbmdJZj1cImdldFVzZXJEZXRhaWxzPy5jb250YWN0Py5lbWFpbD8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPiA8c3Bhbj57e2dldFVzZXJEZXRhaWxzPy5jb250YWN0Py5lbWFpbH19PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gY2xhc3M9XCJlZGl0LWljb25cIiAoY2xpY2spPVwiZWRpdFByb2ZpbGVEYXRhKCdFTUFJTCcpXCI+ZWRpdDwvbWF0LWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJzXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2Ygc2lkZVBhbmVsTGlzdDsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHktM1wiIHN0eWxlPVwiZ2FwOiA1cHg7IGN1cnNvcjogcG9pbnRlcjtcIiBbc3R5bGUuYm9yZGVyQm90dG9tXT1cImlkeCAhPSAoc2lkZVBhbmVsTGlzdC5sZW5ndGggLTEpID8gJzJweCBzb2xpZCAjY2NjY2NjNGQnIDogJydcIiBbbmdDbGFzc109XCJ7J3RhYi1zZWxlY3RlZCc6IHRhYi5zdGF0dXN9XCIgKGNsaWNrKT1cInRvZ2dsZVNpZGVwYW5lbFRhYih0YWIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG1hdC1pY29uIFtzdHlsZS5jb2xvcl09XCJnZXRTdXBwb3J0aW5nQ29sb3IoZ2V0Q2FyZEJHQ29sb3IpXCI+e3t0YWIuaWNvbn19PC9tYXQtaWNvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJ0YWIuaW1hZ2UgfCBnZW5kZXJJY29uXCIgYWx0PVwiXCIgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYiBmb250LXdlaWdodC1ub3JtYWxcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPnt7dGFiLnZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwiZ2FwOiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXQtYnRuXCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIChjbGljayk9XCJlZGl0UHJvZmlsZSgpXCI+RWRpdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJsb2dvdXQtYnRuXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uY29sb3JcIiAoY2xpY2spPVwibG9nb3V0KClcIj5Mb2dvdXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3JkZXJzLXNlY1wiIFtzaW1wb0JvcmRlcl09XCJzdHlsZXM/LmJvcmRlclwiIFtzdHlsZS5vcmRlcl09XCJzdHlsZXM/LnN3YXAgPyAnMCcgOiAnMSdcIiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFNpZGVQYW5lbFRhYlwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ09yZGVycydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiT3JkZXJTZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidBZGRyZXNzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJBZGRyZXNzU2VjdGlvblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQWNjb3VudCBEZXRhaWxzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJBY2NvdW50c1NlY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0xvZ291dCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiTG9nb3V0U2VjdGlvblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT3JkZXJzX0RldGFpbHMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIk9yZGVyRGV0YWlsc1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInV2lzaGxpc3QnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIldpc2hsaXN0RGV0YWlsc1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNb2JpbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcG9zaXRpb24tcmVsYXRpdmVcIiBzdHlsZT1cImhlaWdodDogODB2aDtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbW9iaWxlQWNjb3VudEhlYWRlclwiIHN0eWxlPVwiZ2FwOiAxMHB4OyBoZWlnaHQ6IDUwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCIgKGNsaWNrKT1cImdvQmFjaygpXCI+a2V5Ym9hcmRfYmFja3NwYWNlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxoND5NeSB7eyFzZWxlY3RlZFNpZGVQYW5lbFRhYj8ubGVuZ3RoID8gJ0FjY291bnQnIDogc2VsZWN0ZWRTaWRlUGFuZWxUYWI/LnJlcGxhY2VBbGwoJ18nLCAnICcpfX08L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VsZWN0ZWRTaWRlUGFuZWxUYWJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIicnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0b3Atc2VjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgW3NyY109XCJ1c2VyR2VuZGVyIHwgZ2VuZGVySWNvblwiIGFsdD1cIlwiIGNsYXNzPVwicm91bmRlZC1jaXJjbGVcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkXCI+e3tnZXRVc2VyRGV0YWlscz8uY29udGFjdD8ubmFtZX19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9udC13ZWlnaHQtbm9ybWFsXCI+PG1hdC1pY29uPnN0YXlfcHJpbWFyeV9wb3J0cmFpdDwvbWF0LWljb24+IDxzcGFuPnt7Z2V0VXNlckRldGFpbHM/LmNvbnRhY3Q/Lm1vYmlsZX19PC9zcGFuPjwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZvbnQtd2VpZ2h0LW5vcm1hbFwiICpuZ0lmPVwiZ2V0VXNlckRldGFpbHM/LmNvbnRhY3Q/LmVtYWlsXCI+PG1hdC1pY29uPm1haWxfb3V0bGluZTwvbWF0LWljb24+IDxzcGFuPnt7Z2V0VXNlckRldGFpbHM/LmNvbnRhY3Q/LmVtYWlsfX08L3NwYW4+PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwibGlzdC1zZWNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHNpZGVQYW5lbExpc3Q7IGxldCBpZHggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHktM1wiIHN0eWxlPVwiZ2FwOiA1cHg7IGN1cnNvcjogcG9pbnRlcjtcIiBbc3R5bGUuYm9yZGVyQm90dG9tXT1cImlkeCAhPSAoc2lkZVBhbmVsTGlzdC5sZW5ndGggLTEpID8gJzJweCBzb2xpZCAjY2NjY2NjNGQnIDogJydcIiBbbmdDbGFzc109XCJ7J3RhYi1zZWxlY3RlZCc6IHRhYi5zdGF0dXN9XCIgKGNsaWNrKT1cImdvVG9QYW5lbCh0YWIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cInRhYi5pbWFnZSB8IGdlbmRlckljb25cIiBhbHQ9XCJcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWIgZm9udC13ZWlnaHQtbm9ybWFsXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e3RhYi52YWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwiZ2FwOiA1cHg7IG1hcmdpbi10b3A6IDEwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlZGl0LWJ0blwiIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiAoY2xpY2spPVwiZWRpdFByb2ZpbGUoKVwiPkVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxvZ291dC1idG5cIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvclwiIChjbGljayk9XCJsb2dvdXQoKVwiPkxvZ291dDwvYnV0dG9uPiAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT3JkZXJzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJPcmRlclNlY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0FkZHJlc3MnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkFkZHJlc3NTZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidBY2NvdW50IERldGFpbHMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkFjY291bnRzU2VjdGlvblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTG9nb3V0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJMb2dvdXRTZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidXaXNobGlzdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiV2lzaGxpc3REZXRhaWxzXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidPcmRlcnNfRGV0YWlscydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiT3JkZXJEZXRhaWxzXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L3NlY3Rpb24+XHJcblxyXG48bmctdGVtcGxhdGUgI09yZGVyU2VjdGlvbj5cclxuICAgIDxoMSBjbGFzcz1cIm9ubHlEZXNrdG9wXCI+TXkgT3JkZXJzPC9oMT5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXktMyBvcmRlcmxpc3Qgb25seURlc2t0b3BcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRhYlwiIFtuZ0NsYXNzXT1cInsnZmlsdGVyLXRhYi1zZWxlY3RlZCc6IHRhYi5zdGF0dXN9XCIgKGNsaWNrKT1cInNlbGVjdFRhYih0YWIpXCI+e3t0YWIudmFsdWV9fTwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3JkZXItbGlzdFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlckxpc3Q/Lmxlbmd0aDsgZWxzZSBzaG93RW1wdHlTY3JlZW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyXCIgW3N0eWxlLndpZHRoXT1cImdldFByb2R1Y3RXaWR0aFwiICpuZ0Zvcj1cImxldCBvcmRlciBvZiBvcmRlckxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJPcmRlckNhcmQ7IGNvbnRleHQ6IHtkYXRhOiBvcmRlcn1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93RW1wdHlTY3JlZW4+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZW1wdHktY2FydCBtLWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIFtzcmNdPVwiY29udGVudD8uaW1hZ2U/LnVybFwiIFthbHRdPVwiY29udGVudD8uaW1hZ2U/LmFsdFRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIiBbbmdDbGFzc109XCJ7J2hlYWRpbmctbWVkaXVtJzogdGV4dC5sYWJlbCA9PSAnSGVhZGluZycsICdkZXNjcmlwdGlvbic6IHRleHQubGFiZWwgPT0gJ1RleHQnfVwiPnt7IHRleHQudmFsdWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNPcmRlckRldGFpbHM+XHJcbiAgICA8c2ltcG8tb3JkZXItZGV0YWlscyBbZGF0YV09XCJkYXRhXCIgW29yZGVyRGV0YWlsRGF0YV09XCJvcmRlckRldGFpbHNEYXRhXCIgKGdvQmFja0VtaXR0ZXIpPVwic2VsZWN0ZWRTaWRlUGFuZWxUYWIgPSAnT3JkZXJzJ1wiPjwvc2ltcG8tb3JkZXItZGV0YWlscz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNBZGRyZXNzU2VjdGlvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMlwiPlxyXG4gICAgICAgIDxoMSBjbGFzcz1cInRpdGxlLXRleHRcIj5NeSBBZGRyZXNzPC9oMT5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWRkcmVzcy1idG5cIiAoY2xpY2spPVwiYWRkTmV3QWRkcmVzcygpXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3tkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uY29udGVudD8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkcmVzcy1saXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlsc0xpc3Q/Lmxlbmd0aDsgZWxzZSBzaG93RW1wdHlBZGRyZXNzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFkZHJlc3Mgb2YgdXNlckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzTGlzdDsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkcmVzc1wiIFtzdHlsZS53aWR0aF09XCJnZXRQcm9kdWN0V2lkdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkcmVzcy1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBtci0yXCI+e3thZGRyZXNzLnJlY2VpdmVyTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGRyZXNzLXR5cGVcIj57e2FkZHJlc3MuYWRkcmVzc1R5cGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzLWRldCB0cmltLXRleHRcIj57e2FkZHJlc3MuYWRkcmVzc0xpbmUxfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBob25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5QaG9uZTo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZHJlc3MtcGhvbmVcIj57e2FkZHJlc3MucmVjZWl2ZXJQaG9uZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkcmVzcy1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImVkaXRBZGRyZXNzKGlkeClcIj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJkZWxldGVBZGRyZXNzKGlkeClcIj5kZWxldGVfb3V0bGluZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93RW1wdHlBZGRyZXNzPlxyXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImVtcHR5LWNhcnQgbS1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgICBzcmM9XCJodHRwczovL2kucG9zdGltZy5jYy8yNXJUOFd3cC82MjE2Nzk3LmpwZ1wiIFthbHRdPVwiY29udGVudD8uaW1hZ2U/LmFsdFRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRleHQgb2YgY29udGVudD8uaW5wdXRUZXh0XCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5ObyBhZGRyZXNzIGFkZGVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlBsZWFzZSBwcm92aWRlIGFkZHJlc3MgZm9yIGVhc3kgZGVsaXZlcnk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNBY2NvdW50c1NlY3Rpb24+XHJcbiAgICA8aDEgY2xhc3M9XCJvbmx5RGVza3RvcFwiPk15IEFjY291bnRzPC9oMT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNMb2dvdXRTZWN0aW9uPlxyXG4gICAgPGgxIGNsYXNzPVwib25seURlc2t0b3BcIj5Mb2dvdXQ8L2gxPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI09yZGVyQ2FyZCBsZXQtb3JkZXI9XCJkYXRhXCI+XHJcbiAgICA8ZGl2IChjbGljayk9XCJnb1RvT3JkZXJEZXRhaWxzKG9yZGVyKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC13ZWlnaHQtbm9ybWFsXCI+e3tvcmRlci5vcmRlck51bX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZm9yd2FyZF9pb3M8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWRkbGUgbXktMlwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e29yZGVyLmNyZWF0ZWRUaW1lU3RhbXAgfCBkYXRlOiAnbWVkaXVtJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGRcIj57e29yZGVyPy5icmFuZE9yZGVyRGV0YWlscz8uWzBdPy5icmFuZE5hbWUgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aHIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC13ZWlnaHQtbm9ybWFsXCI+QW1vdW50OiA8c3Bhbj4gPHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj4ge3sgb3JkZXIuYmlsbERldGFpbHMudG90YWxHcm9zc1ZhbHVlIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gW2F0dHIuY2xhc3NdPVwib3JkZXI/LmJyYW5kT3JkZXJEZXRhaWxzPy5bMF0/Lm9yZGVyU3RhdHVzICsgJyBvcmRlci1zdGF0dXMnXCI+e3sgb3JkZXI/LmJyYW5kT3JkZXJEZXRhaWxzPy5bMF0/Lm9yZGVyU3RhdHVzLnJlcGxhY2VBbGwoXCJfXCIsIFwiIFwiKSB8IHVwcGVyY2FzZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI1dpc2hsaXN0RGV0YWlscz5cclxuICAgIDxoMSBjbGFzcz1cIm9ubHlEZXNrdG9wXCI+TXkgV2lzaGxpc3Q8L2gxPlxyXG4gICAgPGRpdiBjbGFzcz1cIndpc2hsaXN0LWxpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwiZ2FwOiAxMHB4O1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHdpc2hsaXN0RGF0YTsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggaXRlbS1wYXJlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDBcIiBzdHlsZT1cInBhZGRpbmc6IDBweDsgd2lkdGg6IGZpdC1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgY2xhc3M9XCJwcm9kdWN0LWltZ1wiIFtzcmNdPVwiaXRlbS5pbWdVcmxcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTggaC0xMDAgaXRlbS1kZXNjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaC0yM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1uYW1lIGhlYWRpbmctbGFyZ2VcIj57e2l0ZW0uaXRlbU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utd2l0aC10YXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7e2l0ZW0uZGlzY291bnRlZFByaWNlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWN0aW9uLWJ0blwiIHN0eWxlPVwiZ2FwOiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1xdWFudGl0eVwiICpuZ0lmPVwiaXRlbS5xdWFudGl0eVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yXCIgKGNsaWNrKT1cImFkZFRvRmF2KGl0ZW0sICdTVUJTVFJBQ1QnKVwiPi08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnF1YW50aXR5fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9GYXYoaXRlbSwgJ0FERCcpXCI+Kzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcXVhbnRpdHlcIiAqbmdJZj1cIiFpdGVtLnF1YW50aXR5XCIgKGNsaWNrKT1cImFkZFRvRmF2KGl0ZW0sICdBREQnKVwiPkFkZCB0byBRdWFudGl0eTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcXVhbnRpdHlcIiAoY2xpY2spPVwibW92ZVRvQ2FydChpdGVtKVwiPk1vdmUgdG8gQ2FydDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBpZW1QcmljZVwiIHN0eWxlPVwicmlnaHQ6IDVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1wcmljZVwiICpuZ0lmPVwiaXRlbS5xdWFudGl0eVwiPjxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPiB7eyhpdGVtLmRpc2NvdW50ZWRQcmljZSkgKiBpdGVtLnF1YW50aXR5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZGVsZXRlLWl0ZW1cIiAoY2xpY2spPVwiZGVsZXRlRnJvbVdoaXNsaXN0KGl0ZW0pXCIgKm5nSWY9XCIhaXNNb2JpbGVcIj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI3Nob3dFbXB0eVdpc2hsaXN0U2NyZWVuPlxyXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZW1wdHktY2FydCBtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIFtzcmNdPVwiY29udGVudD8uaW1hZ2U/LnVybFwiIFthbHRdPVwiY29udGVudD8uaW1hZ2U/LmFsdFRleHRcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiIFtuZ0NsYXNzXT1cInsnaGVhZGluZy1tZWRpdW0nOiB0ZXh0LmxhYmVsID09ICdIZWFkaW5nJywgJ2Rlc2NyaXB0aW9uJzogdGV4dC5sYWJlbCA9PSAnVGV4dCd9XCI+e3sgdGV4dC52YWx1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmd4LXNrZWxldG9uLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gICAgd2lkdGg6ICcxMDAlJyxcclxuICAgIGhlaWdodDogJzQwdmgnLFxyXG4gICAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXHJcbiAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxyXG4gICAgJ3JpZ2h0JzogJzVweCdcclxuICB9XCI+XHJcbjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiIFtpc0Vjb21tZXJjZV09XCJ0cnVlXCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbjwvZGl2PiJdfQ==
|
@@ -95,6 +95,8 @@ export class VerifyComponent extends BaseSection {
|
|
95
95
|
});
|
96
96
|
}
|
97
97
|
editSection() {
|
98
|
+
if (window.innerWidth <= 475)
|
99
|
+
return;
|
98
100
|
this._eventService.toggleEditorEvent.emit(false);
|
99
101
|
setTimeout(() => {
|
100
102
|
this._eventService.editSection.emit({ data: this.data });
|
@@ -126,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
126
128
|
}], customClass: [{
|
127
129
|
type: Input
|
128
130
|
}] } });
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdmVyaWZ5LXBheW1lbnQvdmVyaWZ5LXBheW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdmVyaWZ5LXBheW1lbnQvdmVyaWZ5LXBheW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLekQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDdEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFpQi9DLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFZOUMsWUFDbUIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQXFDLEVBQ3JDLGNBQThCLEVBQzlCLGFBQTRCO1FBRTdDLEtBQUssRUFBRSxDQUFDO1FBTlMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIs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QUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs4R0FyR1UsZUFBZTtrR0FBZixlQUFlLHVNQUpmLENBQUMsY0FBYyxDQUFDLGlEQzVCN0IsdWpDQVVNLDZHRFdGLG1CQUFtQiwwR0FDbkIsY0FBYywrRUFDZCxXQUFXLHVXQUNYLFlBQVksaU9BQ1osc0JBQXNCLHlKQUN0QiwyQkFBMkI7OzJGQU1sQixlQUFlO2tCQWYzQixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLDJCQUEyQjtxQkFDNUIsYUFDVSxDQUFDLGNBQWMsQ0FBQztrTUFNbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFZlcmlmeVBheW1lbnRDb250ZW50TW9kZWwsIFZlcmlmeVBheW1lbnRTZWN0aW9uTW9kYWwsIFZlcmlmeVBheW1lbnRTdHlsZXNNb2RlbCB9IGZyb20gJy4vdmVyaWZ5LXBheW1lbnQubW9kZWwnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9zdHlsZXMvdXNlci5tb2RhbCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckVsZW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2RlbGV0ZS1ob3Zlci1lbGVtZW50L2RlbGV0ZS1ob3Zlci1lbGVtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXZlcmlmeS1wYXltZW50JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSG92ZXJFbGVtZW50c0NvbXBvbmVudCxcclxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJpZnktcGF5bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3ZlcmlmeS1wYXltZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZXJpZnlDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBWZXJpZnlQYXltZW50U2VjdGlvbk1vZGFsO1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNlRGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgc3R5bGVzPzogVmVyaWZ5UGF5bWVudFN0eWxlc01vZGVsO1xyXG4gIGNvbnRlbnQ/OiBWZXJpZnlQYXltZW50Q29udGVudE1vZGVsO1xyXG4gIHByaXZhdGUgdXNlckRldGFpbHM6IFVzZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkaW5nVGV4dDogc3RyaW5nID0gXCJQbGVhc2Ugd2FpdC4uLlwiO1xyXG4gIHByaXZhdGUgQVBJX0NPVU5UOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgTUFYX0FQSV9DT1VOVDogbnVtYmVyID0gMjA7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5kYXRhKTtcclxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudDtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICBcclxuICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSBhcyBVc2VyO1xyXG4gICAgaWYgKCF0aGlzLnVzZXJEZXRhaWxzICYmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlJFUVVFU1RfRlJPTVwiKSA9PSBcIlVTRVJcIikpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0Vycm9yJywgZGV0YWlsOiAnUGxlYXNlIGxvZ2luIHRvIGFjY2VzcyBwcm9maWxlJyB9KTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRpbmdUZXh0ID0gdGhpcy5jb250ZW50Py5pbnB1dFRleHQ/LlswXT8udmFsdWUgPz8gJ1RoYW5rcyBmb3IgY2hvb3NpbmcgdXMnO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdUZXh0ID0gdGhpcy5jb250ZW50Py5pbnB1dFRleHQ/LlsxXT8udmFsdWUgPz8gJ1dlIGFyZSBwcm9jZXNzaW5nIHlvdXIgcGF5bWVudHMnO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nVGV4dCA9IHRoaXMuY29udGVudD8uaW5wdXRUZXh0Py5bMl0/LnZhbHVlID8/ICdIb2xkIE9uLi4uJztcclxuICAgICAgICAgICAgdGhpcy5jaGVja1BheW1lbnRTdGF0dXMoKTtcclxuICAgICAgICB9LCAzMDAwKTtcclxuICAgICAgfSwgMzAwMCk7XHJcbiAgICB9LCAzMDAwKTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRJbWFnZVVybCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ/LmltYWdlPy51cmw7XHJcbiAgfVxyXG4gIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8IDQ3NTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja1BheW1lbnRTdGF0dXMoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBcIm9yZGVySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJvcmRlcklkXCIpXHJcbiAgICB9XHJcbiAgICB0aGlzLkFQSV9DT1VOVCsrO1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5jaGVja1BheW1lbnRTdGF0dXMocGF5bG9hZCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwib3JkZXJJZFwiKTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJjYXJ0SWRcIik7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwicGF5bWVudEZvclwiKTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhclVzZXJDYXJ0KCk7XHJcbiAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgdGl0bGU6IFwiSHVycmF5XCIsXHJcbiAgICAgICAgdGV4dDogXCJPcmRlciBwbGFjZWQgc3VjY2Vzc2Z1bGx5XCIsXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiU2VlIERldGFpbHNcIlxyXG4gICAgICB9KS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLmlzQ29uZmlybWVkKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcm9maWxlJ10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcbiAgICB9LCAoZXJyb3IpPT4ge1xyXG4gICAgICBpZiAodGhpcy5BUElfQ09VTlQgPj0gdGhpcy5NQVhfQVBJX0NPVU5UKSB7XHJcbiAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgIGljb246IFwiZXJyb3JcIixcclxuICAgICAgICAgIHRpdGxlOiBcIlNvcnJ5XCIsXHJcbiAgICAgICAgICB0ZXh0OiBcIldlIGVuY291bnRlcmVkIHNvbWUgaXNzdWUgd2hpbGUgcGxhY2luZyB5b3VyIG9yZGVyXCIsXHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJHbyBUbyBIb21lXCJcclxuICAgICAgICB9KS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UuaXNDb25maXJtZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pICBcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkZhaWxlZCB0byBnZXQgU3RhdHVzXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2hlY2tQYXltZW50U3RhdHVzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRTZWN0aW9uKCl7XHJcbiAgICBcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCk9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHtkYXRhOnRoaXMuZGF0YX0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIiwiPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBbYmFzZVpJbmRleF09XCIxMDAwMDAwMDAwMFwiIFthdXRvWkluZGV4XT1cInRydWVcIiBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XHJcbjxzZWN0aW9uIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoO1wiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cImVkaXRTZWN0aW9uKClcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgW3NyY109XCJnZXRJbWFnZVVybFwiIHN0eWxlPVwiaGVpZ2h0OiAyMDBweDsgd2lkdGg6IDIwMHB4O1wiIFthbHRdPVwiY29udGVudD8uaW1hZ2U/LmFsdFRleHRcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+e3tsb2FkaW5nVGV4dH19PC9zcGFuPlxyXG48L3NlY3Rpb24+XHJcbjxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIiBbaXNFY29tbWVyY2VdPVwidHJ1ZVwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuPC9kaXY+Il19
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdmVyaWZ5LXBheW1lbnQvdmVyaWZ5LXBheW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdmVyaWZ5LXBheW1lbnQvdmVyaWZ5LXBheW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLekQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDdEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFpQi9DLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFZOUMsWUFDbUIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQXFDLEVBQ3JDLGNBQThCLEVBQzlCLGFBQTRCO1FBRTdDLEtBQUssRUFBRSxDQUFDO1FBTlMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIs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R0FBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7OEdBeEdVLGVBQWU7a0dBQWYsZUFBZSx1TUFKZixDQUFDLGNBQWMsQ0FBQyxpREM1QjdCLHVqQ0FVTSw2R0RXRixtQkFBbUIsMEdBQ25CLGNBQWMsK0VBQ2QsV0FBVyx1V0FDWCxZQUFZLGlPQUNaLHNCQUFzQix5SkFDdEIsMkJBQTJCOzsyRkFNbEIsZUFBZTtrQkFmM0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QiwyQkFBMkI7cUJBQzVCLGFBQ1UsQ0FBQyxjQUFjLENBQUM7a01BTWxCLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWZXJpZnlQYXltZW50Q29udGVudE1vZGVsLCBWZXJpZnlQYXltZW50U2VjdGlvbk1vZGFsLCBWZXJpZnlQYXltZW50U3R5bGVzTW9kZWwgfSBmcm9tICcuL3ZlcmlmeS1wYXltZW50Lm1vZGVsJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi8uLi8uLi9zZWN0aW9ucy9CYXNlU2VjdGlvbic7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaG92ZXItZWxlbWVudHMvaG92ZXItZWxlbWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kZWxldGUtaG92ZXItZWxlbWVudC9kZWxldGUtaG92ZXItZWxlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby12ZXJpZnktcGF5bWVudCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBUb2FzdE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEhvdmVyRWxlbWVudHNDb21wb25lbnQsXHJcbiAgICBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmVyaWZ5LXBheW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi92ZXJpZnktcGF5bWVudC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmVyaWZ5Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBkYXRhPzogVmVyaWZ5UGF5bWVudFNlY3Rpb25Nb2RhbDtcclxuICBASW5wdXQoKSByZXNwb25zZURhdGE6IGFueTtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIHN0eWxlcz86IFZlcmlmeVBheW1lbnRTdHlsZXNNb2RlbDtcclxuICBjb250ZW50PzogVmVyaWZ5UGF5bWVudENvbnRlbnRNb2RlbDtcclxuICBwcml2YXRlIHVzZXJEZXRhaWxzOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZGluZ1RleHQ6IHN0cmluZyA9IFwiUGxlYXNlIHdhaXQuLi5cIjtcclxuICBwcml2YXRlIEFQSV9DT1VOVDogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIE1BWF9BUElfQ09VTlQ6IG51bWJlciA9IDIwO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YSk7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgXHJcbiAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcjtcclxuICAgIGlmICghdGhpcy51c2VyRGV0YWlscyAmJiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJSRVFVRVNUX0ZST01cIikgPT0gXCJVU0VSXCIpKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdFcnJvcicsIGRldGFpbDogJ1BsZWFzZSBsb2dpbiB0byBhY2Nlc3MgcHJvZmlsZScgfSk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5sb2FkaW5nVGV4dCA9IHRoaXMuY29udGVudD8uaW5wdXRUZXh0Py5bMF0/LnZhbHVlID8/ICdUaGFua3MgZm9yIGNob29zaW5nIHVzJztcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nVGV4dCA9IHRoaXMuY29udGVudD8uaW5wdXRUZXh0Py5bMV0/LnZhbHVlID8/ICdXZSBhcmUgcHJvY2Vzc2luZyB5b3VyIHBheW1lbnRzJztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ1RleHQgPSB0aGlzLmNvbnRlbnQ/LmlucHV0VGV4dD8uWzJdPy52YWx1ZSA/PyAnSG9sZCBPbi4uLic7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tQYXltZW50U3RhdHVzKCk7XHJcbiAgICAgICAgfSwgMzAwMCk7XHJcbiAgICAgIH0sIDMwMDApO1xyXG4gICAgfSwgMzAwMCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0SW1hZ2VVcmwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZW50Py5pbWFnZT8udXJsO1xyXG4gIH1cclxuICBnZXQgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCA0NzU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tQYXltZW50U3RhdHVzKCkge1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgXCJvcmRlcklkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwib3JkZXJJZFwiKVxyXG4gICAgfVxyXG4gICAgdGhpcy5BUElfQ09VTlQrKztcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuY2hlY2tQYXltZW50U3RhdHVzKHBheWxvYWQpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIm9yZGVySWRcIik7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiY2FydElkXCIpO1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcInBheW1lbnRGb3JcIik7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXJVc2VyQ2FydCgpO1xyXG4gICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgIHRpdGxlOiBcIkh1cnJheVwiLFxyXG4gICAgICAgIHRleHQ6IFwiT3JkZXIgcGxhY2VkIHN1Y2Nlc3NmdWxseVwiLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIlNlZSBEZXRhaWxzXCJcclxuICAgICAgfSkudGhlbigocmVzcG9uc2UpPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5pc0NvbmZpcm1lZCkge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcHJvZmlsZSddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgfSwgKGVycm9yKT0+IHtcclxuICAgICAgaWYgKHRoaXMuQVBJX0NPVU5UID49IHRoaXMuTUFYX0FQSV9DT1VOVCkge1xyXG4gICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICBpY29uOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB0aXRsZTogXCJTb3JyeVwiLFxyXG4gICAgICAgICAgdGV4dDogXCJXZSBlbmNvdW50ZXJlZCBzb21lIGlzc3VlIHdoaWxlIHBsYWNpbmcgeW91ciBvcmRlclwiLFxyXG4gICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiR28gVG8gSG9tZVwiXHJcbiAgICAgICAgfSkudGhlbigocmVzcG9uc2UpPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmlzQ29uZmlybWVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSAgXHJcbiAgICAgICAgY29uc29sZS5sb2coXCJGYWlsZWQgdG8gZ2V0IFN0YXR1c1wiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrUGF5bWVudFN0YXR1cygpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpe1xyXG5cclxuICAgIGlmKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7ZGF0YTp0aGlzLmRhdGF9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxwLXRvYXN0IHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgW2Jhc2VaSW5kZXhdPVwiMTAwMDAwMDAwMDBcIiBbYXV0b1pJbmRleF09XCJ0cnVlXCIgW3Nob3dUcmFuc2Zvcm1PcHRpb25zXT1cImlzTW9iaWxlID8gJ3RyYW5zbGF0ZVkoLTEwMCUpJyA6ICcnXCI+PC9wLXRvYXN0PlxyXG48c2VjdGlvbiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiIHN0eWxlPVwiaGVpZ2h0OiAxMDB2aDtcIiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIChjbGljayk9XCJlZGl0U2VjdGlvbigpXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIFtzcmNdPVwiZ2V0SW1hZ2VVcmxcIiBzdHlsZT1cImhlaWdodDogMjAwcHg7IHdpZHRoOiAyMDBweDtcIiBbYWx0XT1cImNvbnRlbnQ/LmltYWdlPy5hbHRUZXh0XCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7bG9hZGluZ1RleHR9fTwvc3Bhbj5cclxuPC9zZWN0aW9uPlxyXG48ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCIgW2lzRWNvbW1lcmNlXT1cInRydWVcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbjwvZGl2PiJdfQ==
|
@@ -192,6 +192,8 @@ export class WhislistComponent extends BaseSection {
|
|
192
192
|
return [];
|
193
193
|
}
|
194
194
|
editSection() {
|
195
|
+
if (window.innerWidth <= 475)
|
196
|
+
return;
|
195
197
|
this._eventService.toggleEditorEvent.emit(false);
|
196
198
|
setTimeout(() => {
|
197
199
|
this._eventService.editSection.emit({ data: this.data });
|
@@ -235,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
235
237
|
}], customClass: [{
|
236
238
|
type: Input
|
237
239
|
}] } });
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpc2xpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvd2hpc2xpc3Qvd2hpc2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvd2hpc2xpc3Qvd2hpc2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNL0MsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFxQjlFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxX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QUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9zdHlsZXMvdXNlci5tb2RhbCc7XHJcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uLy4uL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCVVNJTkVTU19DT05TVEFOVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYnVzaW5lc3MuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgQ2FydCB9IGZyb20gJy4uLy4uL3N0eWxlcy9jYXJ0Lm1vZGFsJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXdoaXNsaXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb24sXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIC8vRElSRUNUSVZFXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgVG9hc3RNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vd2hpc2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi93aGlzbGlzdC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2hpc2xpc3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgXHJcbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhPzogQ2FydDtcclxuICBASW5wdXQoKSBkYXRhPzogYW55O1xyXG4gIEBJbnB1dCgpIGluZGV4PyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PyA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT8gOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzdHlsZXM6IGFueTtcclxuICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXNlckRldGFpbHM6IGFueTtcclxuICBwcml2YXRlIFVTRVJfV0lTSExJU1RfSVRFTVM6IE9yZGVyZWRJdGVtc1tdID0gW107XHJcbiAgd2lzaGxpc3RJbmZvOiBhbnkgPSB7XHJcbiAgICBvcmRlcmVkSXRlbXM6IG51bGwsXHJcbiAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXHJcbiAgICBiaWxsZGV0YWlsczoge1xyXG4gICAgICBcInRvdGFsTmV0VmFsdWVcIjogMCxcclxuICAgICAgXCJ0b3RhbEdyb3NzVmFsdWVcIjogMCxcclxuICAgICAgXCJ0b3RhbFRheFwiOiAwLFxyXG4gICAgICBcInRvdGFsT2ZmZXJlZFZhbHVlXCI6IDAsXHJcbiAgICAgIFwiZGVsaXZlcnlDaGFyZ2VzXCI6IDBcclxuICAgIH0sXHJcbiAgICBhZGRyZXNzRGV0YWlsczogbnVsbCxcclxuICAgIHBsYXRmb3JtOiBcIldFQlwiLFxyXG4gICAgY2FydFR5cGU6IFwiV0lTSExJU1RcIixcclxuICAgIHVzZXJEZXRhaWxzOiB7XHJcbiAgICAgIFwidXNlcklkXCI6IFwiXCIsXHJcbiAgICAgIFwidXNlck5hbWVcIjogXCJcIixcclxuICAgICAgXCJtb2JpbGVcIjogXCJcIixcclxuICAgICAgXCJlbWFpbFwiOiBcIlwiXHJcbiAgICB9LFxyXG4gICAgdG90YWxBbW91bnQ6IDBcclxuICB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2Uuc2hvd0xvYWRpbmdTY3JlZW4uc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzcG9uc2U7XHJcbiAgICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgICB0aGlzLmdldFdpc2hsaXN0SW5kZXhEQkRhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSkge1xyXG4gICAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkgYXMgVXNlcjtcclxuICAgICAgdGhpcy53aXNobGlzdEluZm8udXNlckRldGFpbHMgPSB7XHJcbiAgICAgICAgXCJ1c2VySWRcIjogdGhpcy51c2VyRGV0YWlscz8udXNlcklkLFxyXG4gICAgICAgIFwidXNlck5hbWVcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5uYW1lLFxyXG4gICAgICAgIFwibW9iaWxlXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubW9iaWxlLFxyXG4gICAgICAgIFwiZW1haWxcIjogdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5lbWFpbFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHRoaXMudXNlckRldGFpbHMudXNlcklkLCBcIldJU0hMSVNUXCIpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgICAgY29uc3QgdGVtcFVzZXJXaXNobGlzdCA9IHJlc3BvbnNlPy5kYXRhPy5bMF0/Lm9yZGVyZWRJdGVtcyA/PyBbXVxyXG4gICAgICAgIHRoaXMud2lzaGxpc3RJbmZvW1wiY2FydElkXCJdID0gcmVzcG9uc2UuZGF0YT8uWzBdPy5jYXJ0SWQ7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGE/LlswXT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkQWxsUHJvZHVjdFRvV2lzaGxpc3QodGVtcFVzZXJXaXNobGlzdCkub25jb21wbGV0ZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGVtcFVzZXJXaXNobGlzdCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcldoaXNobGlzdCgpLnRoZW4oKHdpc2h0bGlzdFJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgICB3aXNodGxpc3RSZXNwb25zZS5vbnN1Y2Nlc3MgPSAod2lzaGxpc3REYXRhOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCB3aXNobGlzdFJlc3BvbnNlID0gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih0aGlzLndpc2hsaXN0SW5mbykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgICAgICB3aXNobGlzdFJlc3BvbnNlLmZpbmFsbHkoKCk9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIndpc2h0bGlzdCBEYXRhXCIsIHdpc2hsaXN0RGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUyA9IHdpc2hsaXN0RGF0YS50YXJnZXQucmVzdWx0IGFzIHVua25vd24gYXMgT3JkZXJlZEl0ZW1zW107XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMud2lzaGxpc3RJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUztcclxuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLndpc2hsaXN0SW5mbztcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yZXNwb25zZURhdGEpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcldoaXNobGlzdCgpLnRoZW4oKHJlc3BvbnNlKT0+IHtcclxuICAgICAgICAgICAgcmVzcG9uc2Uub25zdWNjZXNzID0gKHVzZXJXaXNobGlzdFJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUyA9IHVzZXJXaXNobGlzdFJlc3BvbnNlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgICAgICAgdGhpcy53aXNobGlzdEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TO1xyXG4gICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy53aXNobGlzdEluZm87XHJcbiAgICAgICAgICAgICAgdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih0aGlzLnJlc3BvbnNlRGF0YSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd3aXNobGlzdElkJywgcmVzcG9uc2UuZGF0YT8uY2FydElkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMud2lzaGxpc3RJbmZvW1wiY2FydElkXCJdID0gcmVzcG9uc2UuZGF0YT8uY2FydElkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLndpc2hsaXN0SW5mbztcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmdldFdpc2hsaXN0SW5kZXhEQkRhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vdmVUb0NhcnQocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICBpZiAoIXByb2R1Y3QucXVhbnRpdHkpXHJcbiAgICAgIHByb2R1Y3QucXVhbnRpdHkgPSAxO1xyXG5cclxuICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XHJcbiAgICBpZiAoISF1c2VyRGV0YWlscykge1xyXG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICAgIFwiaXRlbXNcIjogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIml0ZW1JZFwiOiBwcm9kdWN0Lml0ZW1JZCxcclxuICAgICAgICAgICAgXCJidXNpbmVzc0lkXCI6IHByb2R1Y3QuYnVzaW5lc3NJZCxcclxuICAgICAgICAgICAgXCJpdGVtTmFtZVwiOiBwcm9kdWN0Lml0ZW1OYW1lLFxyXG4gICAgICAgICAgICBcImJ1c2luZXNzTmFtZVwiOiBwcm9kdWN0LmJ1c2luZXNzTmFtZSxcclxuICAgICAgICAgICAgXCJpbWdVcmxcIjogcHJvZHVjdC5pbWdVcmwsXHJcbiAgICAgICAgICAgIFwidGF4Q2F0ZWdvcnlcIjogXCJOT05fTVJQXCIsXHJcbiAgICAgICAgICAgIFwicXVhbnRpdHlcIjogcHJvZHVjdC5xdWFudGl0eSxcclxuICAgICAgICAgICAgXCJwcmljZVwiOiBwcm9kdWN0LnByaWNlLFxyXG4gICAgICAgICAgICBcIml0ZW1UYXhcIjogcHJvZHVjdC5pdGVtVGF4LFxyXG4gICAgICAgICAgICBcImRpc2NvdW50ZWRQcmljZVwiOiBwcm9kdWN0LmRpc2NvdW50ZWRQcmljZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlc3RTZXJ2aWNlLm1vdmVJdGVtVG9DYXJ0KHVzZXJEZXRhaWxzLnVzZXJJZCwgcGF5bG9hZCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7fSlcclxuICAgIH1cclxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KHByb2R1Y3QpO1xyXG4gICAgdHJhbnNhY3Rpb24ub25zdWNjZXNzID0gKHdpc2hsaXN0UmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3QuaXRlbUlkKS5vbnN1Y2Nlc3MgPSAod2lzbGlzdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJTdWNjZXNzXCIpO1xyXG4gICAgICAgIC8vIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvQ2FydChwcm9kdWN0KS5vbnN1Y2Nlc3MgPSAoY2FydFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMgPSB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMuZmlsdGVyKChpdGVtOiBPcmRlcmVkSXRlbXMpPT4gaXRlbS52YXJpZW50SWQgIT0gcHJvZHVjdC52YXJpZW50SWQpO1xyXG4gICAgICAgICAgdGhpcy53aXNobGlzdEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLndpc2hsaXN0SW5mbztcclxuICAgICAgICAvLyB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnTW92ZSB0byBjYXJ0JywgZGV0YWlsOiAnSXRlbSBzdWNjZXNzZnVsbHkgbW92ZWQgdG8gY2FydCcgfSk7XHJcbiAgICB9XHJcbiAgICB0cmFuc2FjdGlvbi5vbmVycm9yID0gKHdpc2hsaXN0UmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0ZhaWx1cmUnLCBkZXRhaWw6ICdGYWlsZWQgdG8gbW92ZSBpdGVtIHRvIGNhcnQnIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRXaXNobGlzdEluZGV4REJEYXRhKCkge1xyXG4gICAgXHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJXaGlzaGxpc3QoKS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgIHJlc3BvbnNlLm9uc3VjY2VzcyA9ICh1c2VyV2lzaGxpc3RSZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMgPSB1c2VyV2lzaGxpc3RSZXNwb25zZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICAgIHRoaXMud2lzaGxpc3RJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUztcclxuICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YSA9IHRoaXMud2lzaGxpc3RJbmZvO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBkZWxldGVGcm9tV2hpc2xpc3QocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMgPSB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMuZmlsdGVyKChpdGVtOiBPcmRlcmVkSXRlbXMpPT4gaXRlbS52YXJpZW50SWQgIT0gcHJvZHVjdC52YXJpZW50SWQpO1xyXG4gICAgdGhpcy53aXNobGlzdEluZm8ub3JkZXJlZEl0ZW1zID0gdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TO1xyXG4gICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLndpc2hsaXN0SW5mbztcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSkge1xyXG4gICAgICB0aGlzLmNhcnRTZXJ2aWNlLnJlbW92ZUl0ZW1Gcm9tV2lzaGxpc3RQYWdlKHByb2R1Y3QsIHRoaXMud2lzaGxpc3RJbmZvKS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHt9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3QudmFyaWVudElkKTtcclxuICAgIH1cclxuICB9IFxyXG4gIGFkZFRvRmF2KGl0ZW06IE9yZGVyZWRJdGVtcywgdHlwZTogJ0FERCcgfCAnU1VCU1RSQUNUJykge1xyXG4gICAgaWYgKHR5cGUgPT0gJ0FERCcpXHJcbiAgICAgIGl0ZW0ucXVhbnRpdHkgKz0gMTtcclxuICAgIGVsc2VcclxuICAgICAgaXRlbS5xdWFudGl0eSAtPSAxO1xyXG4gICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpKSB7XHJcbiAgICAgIHRoaXMud2lzaGxpc3RJbmZvLm9yZGVyZWRJdGVtcz8uZm9yRWFjaCgocHJvZHVjdDogT3JkZXJlZEl0ZW1zKT0+IHtcclxuICAgICAgICBpZiAoaXRlbS52YXJpZW50SWQgPT0gcHJvZHVjdC52YXJpZW50SWQpXHJcbiAgICAgICAgICBwcm9kdWN0LnF1YW50aXR5ID0gaXRlbS5xdWFudGl0eTtcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtRnJvbVdpc2hsaXN0UGFnZShpdGVtLCB0aGlzLndpc2hsaXN0SW5mbykuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHt9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3QoaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldEtleXMob2JqZWN0OiBPYmplY3QpOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAob2JqZWN0KVxyXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0KTtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgZWRpdFNlY3Rpb24oKXtcclxuICAgIFxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKT0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoe2RhdGE6dGhpcy5kYXRhfSk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuICBnZXQgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCA0NzU7XHJcbiAgfVxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcbn1cclxuIiwiPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBbYmFzZVpJbmRleF09XCIxMDAwMDAwMDAwMFwiIFthdXRvWkluZGV4XT1cInRydWVcIiBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgKGNsaWNrKT1cImVkaXRTZWN0aW9uKClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcnQtcGFyZW50IGNvbnRhaW5lclwiICpuZ0lmPVwiKHJlc3BvbnNlRGF0YT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGggfHwgMCkgPiAwXCIgW2lkXT1cImRhdGE/LmlkXCJcclxuICAgICAgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXBhbmVsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm15LWJhZ1wiW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5cclxuICAgICAgICAgIE15IFdpc2hsaXN0Jm5ic3A7IDxzcGFuPih7e3Jlc3BvbnNlRGF0YT8ub3JkZXJlZEl0ZW1zPy5sZW5ndGh9fSBJdGVtcyk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgc3R5bGU9XCJnYXA6IDEwcHg7XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJlc3BvbnNlRGF0YT8ub3JkZXJlZEl0ZW1zOyBsZXQgaWR4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtaXRlbXNcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkZWxldGUtYnRuXCIgKGNsaWNrKT1cImRlbGV0ZUZyb21XaGlzbGlzdChpdGVtKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGl0ZW0tcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDBcIiBzdHlsZT1cInBhZGRpbmc6IDBweDsgd2lkdGg6IGZpdC1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgY2xhc3M9XCJwcm9kdWN0LWltZ1wiIFtzcmNdPVwiaXRlbS5pbWdVcmwgPz8gJ2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBoLTEwMCBpdGVtLWRlc2NcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxoLTIzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tbmFtZSBoZWFkaW5nLWxhcmdlXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e2l0ZW0uaXRlbU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS13aXRoLXRheFwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT0nY3VycmVuY3knPjwvc3Bhbj4ge3tpdGVtLmRpc2NvdW50ZWRQcmljZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uaXRlbVZhcmlhbnRcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICpuZ0Zvcj1cImxldCB2YXJpZW50IG9mIGdldEtleXMoaXRlbS5pdGVtVmFyaWFudC5wcm9wZXJ0aWVzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57eyB2YXJpZW50IH19IDogPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZ3LW5vcm1hbFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgaGVpZ2h0OiAxM3B4OyB3aWR0aDogMTNweDsgYm9yZGVyLXJhZGl1czogNTAlO1wiICpuZ0lmPVwidmFyaWVudC50b0xvd2VyQ2FzZSgpID09ICdjb2xvcidcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllc1t2YXJpZW50XVwiPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW5vcm1hbFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDtcIltzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+IHt7IGl0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllc1t2YXJpZW50XSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhY3Rpb24tYnRuXCIgc3R5bGU9XCJnYXA6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXF1YW50aXR5XCIgKm5nSWY9XCJpdGVtLnF1YW50aXR5XCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9GYXYoaXRlbSwgJ1NVQlNUUkFDVCcpXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0ucXVhbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvclwiIChjbGljayk9XCJhZGRUb0ZhdihpdGVtLCAnQUREJylcIj4rPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcXVhbnRpdHlcIiAqbmdJZj1cIiFpdGVtLnF1YW50aXR5XCIgKGNsaWNrKT1cImFkZFRvRmF2KGl0ZW0sICdBREQnKVwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+QWRkIFF1YW50aXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXF1YW50aXR5XCIgKGNsaWNrKT1cIm1vdmVUb0NhcnQoaXRlbSlcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPk1vdmUgdG8gQ2FydDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGl0ZW1QcmljZVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IGF1dG87IHdpZHRoOiAzMCU7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCIgKm5nSWY9XCJpdGVtLnF1YW50aXR5XCI+PHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAge3soaXRlbS5kaXNjb3VudGVkUHJpY2UpICogaXRlbS5xdWFudGl0eX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZGVsZXRlLWl0ZW1cIiAoY2xpY2spPVwiZGVsZXRlRnJvbVdoaXNsaXN0KGl0ZW0pXCI+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImVtcHR5LWNhcnRcIiAqbmdJZj1cIihyZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoIHx8IDApID09IDBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LWNhcnQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtaW1hZ2VcIj5cclxuICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgICBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzEwNzIxM2MxNzE2NTQzMzM0MDQwZW1wdHktY2FydC5wbmdcIlxyXG4gICAgICAgICAgICBhbHQ9XCJcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydC10ZXh0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzLmJhY2tncm91bmQuYWNjZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgWW91ciBXaGlzbGlzdCBpcyBlbXB0eVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24gZC1mbGV4IG10LTRcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzLmJhY2tncm91bmQuYWNjZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgTG9va3MgbGlrZSB5b3UgaGF2ZSBub3QgYWRkZWQgYW55dGhpbmcgdG8geW91ciBXaGlzbGlzdC4gR28gYWhlYWQgJiBleHBsb3JlIHRvcCBjYXRlZ29yaWVzLlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvc2VjdGlvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZ3gtc2tlbGV0b24tbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgd2lkdGg6ICcxMDAlJyxcclxuICBoZWlnaHQ6ICc0MHZoJyxcclxuICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxyXG4gICdyaWdodCc6ICc1cHgnXHJcbn1cIj5cclxuPC9uZ3gtc2tlbGV0b24tbG9hZGVyPiJdfQ==
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpc2xpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvd2hpc2xpc3Qvd2hpc2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvd2hpc2xpc3Qvd2hpc2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNL0MsT0FBTyxXQUFXLE1BQU0sK0JBQStCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFxQjlFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxX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Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgQlVTSU5FU1NfQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2J1c2luZXNzLmNvbnN0YW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IENhcnQgfSBmcm9tICcuLi8uLi9zdHlsZXMvY2FydC5tb2RhbCc7XHJcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby13aGlzbGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRJY29uLFxyXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAvL0RJUkVDVElWRVxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIFRvYXN0TW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3doaXNsaXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vd2hpc2xpc3QuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFdoaXNsaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIFxyXG4gIEBJbnB1dCgpIHJlc3BvbnNlRGF0YT86IENhcnQ7XHJcbiAgQElucHV0KCkgZGF0YT86IGFueTtcclxuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdD8gOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkZWxldGU/IDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgc3R5bGVzOiBhbnk7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVzZXJEZXRhaWxzOiBhbnk7XHJcbiAgcHJpdmF0ZSBVU0VSX1dJU0hMSVNUX0lURU1TOiBPcmRlcmVkSXRlbXNbXSA9IFtdO1xyXG4gIHdpc2hsaXN0SW5mbzogYW55ID0ge1xyXG4gICAgb3JkZXJlZEl0ZW1zOiBudWxsLFxyXG4gICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpLFxyXG4gICAgYmlsbGRldGFpbHM6IHtcclxuICAgICAgXCJ0b3RhbE5ldFZhbHVlXCI6IDAsXHJcbiAgICAgIFwidG90YWxHcm9zc1ZhbHVlXCI6IDAsXHJcbiAgICAgIFwidG90YWxUYXhcIjogMCxcclxuICAgICAgXCJ0b3RhbE9mZmVyZWRWYWx1ZVwiOiAwLFxyXG4gICAgICBcImRlbGl2ZXJ5Q2hhcmdlc1wiOiAwXHJcbiAgICB9LFxyXG4gICAgYWRkcmVzc0RldGFpbHM6IG51bGwsXHJcbiAgICBwbGF0Zm9ybTogXCJXRUJcIixcclxuICAgIGNhcnRUeXBlOiBcIldJU0hMSVNUXCIsXHJcbiAgICB1c2VyRGV0YWlsczoge1xyXG4gICAgICBcInVzZXJJZFwiOiBcIlwiLFxyXG4gICAgICBcInVzZXJOYW1lXCI6IFwiXCIsXHJcbiAgICAgIFwibW9iaWxlXCI6IFwiXCIsXHJcbiAgICAgIFwiZW1haWxcIjogXCJcIlxyXG4gICAgfSxcclxuICAgIHRvdGFsQW1vdW50OiAwXHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnNob3dMb2FkaW5nU2NyZWVuLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHJlc3BvbnNlO1xyXG4gICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgdGhpcy5nZXRXaXNobGlzdEluZGV4REJEYXRhKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkpIHtcclxuICAgICAgdGhpcy51c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpIGFzIFVzZXI7XHJcbiAgICAgIHRoaXMud2lzaGxpc3RJbmZvLnVzZXJEZXRhaWxzID0ge1xyXG4gICAgICAgIFwidXNlcklkXCI6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgICBcInVzZXJOYW1lXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QubmFtZSxcclxuICAgICAgICBcIm1vYmlsZVwiOiB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Lm1vYmlsZSxcclxuICAgICAgICBcImVtYWlsXCI6IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3QuZW1haWxcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJdGVtcyh0aGlzLnVzZXJEZXRhaWxzLnVzZXJJZCwgXCJXSVNITElTVFwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgIGNvbnN0IHRlbXBVc2VyV2lzaGxpc3QgPSByZXNwb25zZT8uZGF0YT8uWzBdPy5vcmRlcmVkSXRlbXMgPz8gW11cclxuICAgICAgICB0aGlzLndpc2hsaXN0SW5mb1tcImNhcnRJZFwiXSA9IHJlc3BvbnNlLmRhdGE/LlswXT8uY2FydElkO1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5kYXRhPy5bMF0/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZEFsbFByb2R1Y3RUb1dpc2hsaXN0KHRlbXBVc2VyV2lzaGxpc3QpLm9uY29tcGxldGUgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRlbXBVc2VyV2lzaGxpc3QpO1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJXaGlzaGxpc3QoKS50aGVuKCh3aXNodGxpc3RSZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICAgICAgd2lzaHRsaXN0UmVzcG9uc2Uub25zdWNjZXNzID0gKHdpc2hsaXN0RGF0YTogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3Qgd2lzaGxpc3RSZXNwb25zZSA9IHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy53aXNobGlzdEluZm8pLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICAgICAgd2lzaGxpc3RSZXNwb25zZS5maW5hbGx5KCgpPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ3aXNodGxpc3QgRGF0YVwiLCB3aXNobGlzdERhdGEpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMgPSB3aXNobGlzdERhdGEudGFyZ2V0LnJlc3VsdCBhcyB1bmtub3duIGFzIE9yZGVyZWRJdGVtc1tdO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLndpc2hsaXN0SW5mby5vcmRlcmVkSXRlbXMgPSB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVM7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy53aXNobGlzdEluZm87XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucmVzcG9uc2VEYXRhKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJXaGlzaGxpc3QoKS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICAgIHJlc3BvbnNlLm9uc3VjY2VzcyA9ICh1c2VyV2lzaGxpc3RSZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVMgPSB1c2VyV2lzaGxpc3RSZXNwb25zZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICAgICAgICAgIHRoaXMud2lzaGxpc3RJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUztcclxuICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YSA9IHRoaXMud2lzaGxpc3RJbmZvO1xyXG4gICAgICAgICAgICAgIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodGhpcy5yZXNwb25zZURhdGEpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2lzaGxpc3RJZCcsIHJlc3BvbnNlLmRhdGE/LmNhcnRJZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndpc2hsaXN0SW5mb1tcImNhcnRJZFwiXSA9IHJlc3BvbnNlLmRhdGE/LmNhcnRJZDtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy53aXNobGlzdEluZm87XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBcclxuICAgICAgdGhpcy5nZXRXaXNobGlzdEluZGV4REJEYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3ZlVG9DYXJ0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgaWYgKCFwcm9kdWN0LnF1YW50aXR5KVxyXG4gICAgICBwcm9kdWN0LnF1YW50aXR5ID0gMTtcclxuXHJcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgaWYgKCEhdXNlckRldGFpbHMpIHtcclxuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgICBcIml0ZW1zXCI6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJpdGVtSWRcIjogcHJvZHVjdC5pdGVtSWQsXHJcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBwcm9kdWN0LmJ1c2luZXNzSWQsXHJcbiAgICAgICAgICAgIFwiaXRlbU5hbWVcIjogcHJvZHVjdC5pdGVtTmFtZSxcclxuICAgICAgICAgICAgXCJidXNpbmVzc05hbWVcIjogcHJvZHVjdC5idXNpbmVzc05hbWUsXHJcbiAgICAgICAgICAgIFwiaW1nVXJsXCI6IHByb2R1Y3QuaW1nVXJsLFxyXG4gICAgICAgICAgICBcInRheENhdGVnb3J5XCI6IFwiTk9OX01SUFwiLFxyXG4gICAgICAgICAgICBcInF1YW50aXR5XCI6IHByb2R1Y3QucXVhbnRpdHksXHJcbiAgICAgICAgICAgIFwicHJpY2VcIjogcHJvZHVjdC5wcmljZSxcclxuICAgICAgICAgICAgXCJpdGVtVGF4XCI6IHByb2R1Y3QuaXRlbVRheCxcclxuICAgICAgICAgICAgXCJkaXNjb3VudGVkUHJpY2VcIjogcHJvZHVjdC5kaXNjb3VudGVkUHJpY2VcclxuICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5tb3ZlSXRlbVRvQ2FydCh1c2VyRGV0YWlscy51c2VySWQsIHBheWxvYWQpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge30pXHJcbiAgICB9XHJcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvQ2FydChwcm9kdWN0KTtcclxuICAgIHRyYW5zYWN0aW9uLm9uc3VjY2VzcyA9ICh3aXNobGlzdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0Lml0ZW1JZCkub25zdWNjZXNzID0gKHdpc2xpc3RSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiU3VjY2Vzc1wiKTtcclxuICAgICAgICAvLyB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb0NhcnQocHJvZHVjdCkub25zdWNjZXNzID0gKGNhcnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TID0gdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TLmZpbHRlcigoaXRlbTogT3JkZXJlZEl0ZW1zKT0+IGl0ZW0udmFyaWVudElkICE9IHByb2R1Y3QudmFyaWVudElkKTtcclxuICAgICAgICAgIHRoaXMud2lzaGxpc3RJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUztcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy53aXNobGlzdEluZm87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ01vdmUgdG8gY2FydCcsIGRldGFpbDogJ0l0ZW0gc3VjY2Vzc2Z1bGx5IG1vdmVkIHRvIGNhcnQnIH0pO1xyXG4gICAgfVxyXG4gICAgdHJhbnNhY3Rpb24ub25lcnJvciA9ICh3aXNobGlzdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdGYWlsdXJlJywgZGV0YWlsOiAnRmFpbGVkIHRvIG1vdmUgaXRlbSB0byBjYXJ0JyB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0V2lzaGxpc3RJbmRleERCRGF0YSgpIHtcclxuICAgIFxyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyV2hpc2hsaXN0KCkudGhlbigocmVzcG9uc2UpPT4ge1xyXG4gICAgICByZXNwb25zZS5vbnN1Y2Nlc3MgPSAodXNlcldpc2hsaXN0UmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TID0gdXNlcldpc2hsaXN0UmVzcG9uc2UudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICB0aGlzLndpc2hsaXN0SW5mby5vcmRlcmVkSXRlbXMgPSB0aGlzLlVTRVJfV0lTSExJU1RfSVRFTVM7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zZURhdGEgPSB0aGlzLndpc2hsaXN0SW5mbztcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgZGVsZXRlRnJvbVdoaXNsaXN0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TID0gdGhpcy5VU0VSX1dJU0hMSVNUX0lURU1TLmZpbHRlcigoaXRlbTogT3JkZXJlZEl0ZW1zKT0+IGl0ZW0udmFyaWVudElkICE9IHByb2R1Y3QudmFyaWVudElkKTtcclxuICAgIHRoaXMud2lzaGxpc3RJbmZvLm9yZGVyZWRJdGVtcyA9IHRoaXMuVVNFUl9XSVNITElTVF9JVEVNUztcclxuICAgIHRoaXMucmVzcG9uc2VEYXRhID0gdGhpcy53aXNobGlzdEluZm87XHJcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCkpIHtcclxuICAgICAgdGhpcy5jYXJ0U2VydmljZS5yZW1vdmVJdGVtRnJvbVdpc2hsaXN0UGFnZShwcm9kdWN0LCB0aGlzLndpc2hsaXN0SW5mbykuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7fSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgICB9XHJcbiAgfSBcclxuICBhZGRUb0ZhdihpdGVtOiBPcmRlcmVkSXRlbXMsIHR5cGU6ICdBREQnIHwgJ1NVQlNUUkFDVCcpIHtcclxuICAgIGlmICh0eXBlID09ICdBREQnKVxyXG4gICAgICBpdGVtLnF1YW50aXR5ICs9IDE7XHJcbiAgICBlbHNlXHJcbiAgICAgIGl0ZW0ucXVhbnRpdHkgLT0gMTtcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKSkge1xyXG4gICAgICB0aGlzLndpc2hsaXN0SW5mby5vcmRlcmVkSXRlbXM/LmZvckVhY2goKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcyk9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0udmFyaWVudElkID09IHByb2R1Y3QudmFyaWVudElkKVxyXG4gICAgICAgICAgcHJvZHVjdC5xdWFudGl0eSA9IGl0ZW0ucXVhbnRpdHk7XHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbUZyb21XaXNobGlzdFBhZ2UoaXRlbSwgdGhpcy53aXNobGlzdEluZm8pLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7fSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KGl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRLZXlzKG9iamVjdDogT2JqZWN0KTogc3RyaW5nW10ge1xyXG4gICAgaWYgKG9iamVjdClcclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCk7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGVkaXRTZWN0aW9uKCl7XHJcblxyXG4gICAgaWYod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxyXG4gICAgICByZXR1cm47XHJcbiAgICBcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCk9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHtkYXRhOnRoaXMuZGF0YX0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgNDc1O1xyXG4gIH1cclxuICBnZXQgY3VycmVuY3koKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBCVVNJTkVTU19DT05TVEFOVFMuQ1VSUkVOQ1k7XHJcbiAgfVxyXG59XHJcbiIsIjxwLXRvYXN0IHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgW2Jhc2VaSW5kZXhdPVwiMTAwMDAwMDAwMDBcIiBbYXV0b1pJbmRleF09XCJ0cnVlXCIgW3Nob3dUcmFuc2Zvcm1PcHRpb25zXT1cImlzTW9iaWxlID8gJ3RyYW5zbGF0ZVkoLTEwMCUpJyA6ICcnXCI+PC9wLXRvYXN0PlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gIDxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIChjbGljayk9XCJlZGl0U2VjdGlvbigpXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXBhcmVudCBjb250YWluZXJcIiAqbmdJZj1cIihyZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RoIHx8IDApID4gMFwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wYW5lbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJteS1iYWdcIltzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+XHJcbiAgICAgICAgICBNeSBXaXNobGlzdCZuYnNwOyA8c3Bhbj4oe3tyZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtcz8ubGVuZ3RofX0gSXRlbXMpPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwiZ2FwOiAxMHB4O1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByZXNwb25zZURhdGE/Lm9yZGVyZWRJdGVtczsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZGVsZXRlLWJ0blwiIChjbGljayk9XCJkZWxldGVGcm9tV2hpc2xpc3QoaXRlbSlcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBpdGVtLXBhcmVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCIgc3R5bGU9XCJwYWRkaW5nOiAwcHg7IHdpZHRoOiBmaXQtY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIGNsYXNzPVwicHJvZHVjdC1pbWdcIiBbc3JjXT1cIml0ZW0uaW1nVXJsID8/ICdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgaC0xMDAgaXRlbS1kZXNjXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaC0yM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWUgaGVhZGluZy1sYXJnZVwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3tpdGVtLml0ZW1OYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utd2l0aC10YXhcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09J2N1cnJlbmN5Jz48L3NwYW4+IHt7aXRlbS5kaXNjb3VudGVkUHJpY2V9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLml0ZW1WYXJpYW50XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAqbmdGb3I9XCJsZXQgdmFyaWVudCBvZiBnZXRLZXlzKGl0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllcylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIltzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+e3sgdmFyaWVudCB9fSA6IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmdy1ub3JtYWxcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IGhlaWdodDogMTNweDsgd2lkdGg6IDEzcHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcIiAqbmdJZj1cInZhcmllbnQudG9Mb3dlckNhc2UoKSA9PSAnY29sb3InXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJpdGVtLml0ZW1WYXJpYW50LnByb3BlcnRpZXNbdmFyaWVudF1cIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ub3JtYWxcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7XCJbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPiB7eyBpdGVtLml0ZW1WYXJpYW50LnByb3BlcnRpZXNbdmFyaWVudF0gfCB1cHBlcmNhc2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWN0aW9uLWJ0blwiIHN0eWxlPVwiZ2FwOiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1xdWFudGl0eVwiICpuZ0lmPVwiaXRlbS5xdWFudGl0eVwiIFtzdHlsZS5jb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yXCIgKGNsaWNrKT1cImFkZFRvRmF2KGl0ZW0sICdTVUJTVFJBQ1QnKVwiPi08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnF1YW50aXR5fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIiAoY2xpY2spPVwiYWRkVG9GYXYoaXRlbSwgJ0FERCcpXCI+Kzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXF1YW50aXR5XCIgKm5nSWY9XCIhaXRlbS5xdWFudGl0eVwiIChjbGljayk9XCJhZGRUb0ZhdihpdGVtLCAnQUREJylcIiBbc3R5bGUuY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPkFkZCBRdWFudGl0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1xdWFudGl0eVwiIChjbGljayk9XCJtb3ZlVG9DYXJ0KGl0ZW0pXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5Nb3ZlIHRvIENhcnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBpdGVtUHJpY2VcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiBhdXRvOyB3aWR0aDogMzAlO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1wcmljZVwiICpuZ0lmPVwiaXRlbS5xdWFudGl0eVwiPjxzcGFuIFtpbm5lckhUTUxdPSdjdXJyZW5jeSc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7KGl0ZW0uZGlzY291bnRlZFByaWNlKSAqIGl0ZW0ucXVhbnRpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRlbGV0ZS1pdGVtXCIgKGNsaWNrKT1cImRlbGV0ZUZyb21XaGlzbGlzdChpdGVtKVwiPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJlbXB0eS1jYXJ0XCIgKm5nSWY9XCIocmVzcG9uc2VEYXRhPy5vcmRlcmVkSXRlbXM/Lmxlbmd0aCB8fCAwKSA9PSAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1jYXJ0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWltYWdlXCI+XHJcbiAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xMDcyMTNjMTcxNjU0MzMzNDA0MGVtcHR5LWNhcnQucG5nXCJcclxuICAgICAgICAgICAgYWx0PVwiXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtdGV4dFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbWVkaXVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcy5iYWNrZ3JvdW5kLmFjY2VudENvbG9yXCI+XHJcbiAgICAgICAgICAgIFlvdXIgV2hpc2xpc3QgaXMgZW1wdHlcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uIGQtZmxleCBtdC00XCIgW3N0eWxlLmNvbG9yXT1cInN0eWxlcy5iYWNrZ3JvdW5kLmFjY2VudENvbG9yXCI+XHJcbiAgICAgICAgICAgIExvb2tzIGxpa2UgeW91IGhhdmUgbm90IGFkZGVkIGFueXRoaW5nIHRvIHlvdXIgV2hpc2xpc3QuIEdvIGFoZWFkICYgZXhwbG9yZSB0b3AgY2F0ZWdvcmllcy5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L3NlY3Rpb24+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmd4LXNrZWxldG9uLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gIHdpZHRoOiAnMTAwJScsXHJcbiAgaGVpZ2h0OiAnNDB2aCcsXHJcbiAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXHJcbiAgJ3Bvc2l0aW9uJzogJ3JlbGF0aXZlJyxcclxuICAncmlnaHQnOiAnNXB4J1xyXG59XCI+XHJcbjwvbmd4LXNrZWxldG9uLWxvYWRlcj4iXX0=
|