ng-easycommerce 0.0.595 → 0.0.596
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/bundles/ng-easycommerce.umd.js +58 -8
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +9 -2
- package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +12 -4
- package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +18 -3
- package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +7 -1
- package/esm2015/lib/ec-component/header-ec/header-ec.component.js +6 -1
- package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +4 -1
- package/esm2015/lib/ec-component/product-ec/product-ec.component.js +13 -3
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +9 -2
- package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +12 -4
- package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +18 -3
- package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +7 -1
- package/esm5/lib/ec-component/header-ec/header-ec.component.js +6 -1
- package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +4 -1
- package/esm5/lib/ec-component/product-ec/product-ec.component.js +13 -3
- package/fesm2015/ng-easycommerce.js +58 -8
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +58 -8
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +3 -0
- package/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.d.ts +4 -1
- package/lib/ec-component/cart-ec/cart-ec.component.d.ts +6 -1
- package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +1 -0
- package/lib/ec-component/header-ec/header-ec.component.d.ts +1 -0
- package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +1 -0
- package/lib/ec-component/product-ec/product-ec.component.d.ts +4 -1
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -74,9 +74,10 @@ import { CartService } from '../../services/cart.service';
|
|
|
74
74
|
import { ComponentHelper } from "../../classes/component-helper";
|
|
75
75
|
import { ToastService } from "../../utils/toast.service";
|
|
76
76
|
import { AddressingService } from '../../services/checkout/addressing.service';
|
|
77
|
+
import { ChannelConfigService } from '../../services/channel-config.service';
|
|
77
78
|
var CartEcComponent = /** @class */ (function (_super) {
|
|
78
79
|
__extends(CartEcComponent, _super);
|
|
79
|
-
function CartEcComponent(cartService, authService, consts, productsService, router, modalService, toastrService, addressingService) {
|
|
80
|
+
function CartEcComponent(cartService, authService, consts, productsService, router, modalService, toastrService, addressingService, channelConfigService) {
|
|
80
81
|
var _this = _super.call(this) || this;
|
|
81
82
|
_this.cartService = cartService;
|
|
82
83
|
_this.authService = authService;
|
|
@@ -86,6 +87,7 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
86
87
|
_this.modalService = modalService;
|
|
87
88
|
_this.toastrService = toastrService;
|
|
88
89
|
_this.addressingService = addressingService;
|
|
90
|
+
_this.channelConfigService = channelConfigService;
|
|
89
91
|
_this.variantsToShow = ['TALLE', 'COLOR'];
|
|
90
92
|
_this.isLoggedIn = false;
|
|
91
93
|
_this.mediaUrl = '';
|
|
@@ -95,6 +97,9 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
95
97
|
_this.updateStock = false;
|
|
96
98
|
_this.exitUpdate = false;
|
|
97
99
|
_this.isDisabled = false;
|
|
100
|
+
_this.hidePrices = false;
|
|
101
|
+
_this.hideDiscounts = false;
|
|
102
|
+
_this.hideTaxes = false;
|
|
98
103
|
_this.toDecimal = function (amount) { return _this.consts.toDecimal(amount); };
|
|
99
104
|
_this.actualizarCantidad = function (item, cantidad, stock, id) {
|
|
100
105
|
if (id) {
|
|
@@ -179,6 +184,15 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
179
184
|
window.scroll(0, 0);
|
|
180
185
|
this.cartService.promotions.subscribe(function (promotions) { return _this.promotions = promotions; });
|
|
181
186
|
// console.log(this.cartService.getTaxes());
|
|
187
|
+
this.channelConfigService.channelConfig$.subscribe(function (channel) {
|
|
188
|
+
var _a, _b, _c, _d, _e, _f;
|
|
189
|
+
_this.hidePrices = (_b = (_a = channel) === null || _a === void 0 ? void 0 : _a.hidePrices, (_b !== null && _b !== void 0 ? _b : false));
|
|
190
|
+
_this.hideDiscounts = (_d = (_c = channel) === null || _c === void 0 ? void 0 : _c.hideDiscounts, (_d !== null && _d !== void 0 ? _d : false));
|
|
191
|
+
_this.hideTaxes = (_f = (_e = channel) === null || _e === void 0 ? void 0 : _e.hideTaxes, (_f !== null && _f !== void 0 ? _f : false));
|
|
192
|
+
if (_this.hidePrices) {
|
|
193
|
+
_this.router.navigate(['/']);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
182
196
|
this.ecOnInit();
|
|
183
197
|
};
|
|
184
198
|
CartEcComponent.prototype.redirectCheckout = function () {
|
|
@@ -452,7 +466,8 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
452
466
|
{ type: Router },
|
|
453
467
|
{ type: BsModalService },
|
|
454
468
|
{ type: ToastService },
|
|
455
|
-
{ type: AddressingService }
|
|
469
|
+
{ type: AddressingService },
|
|
470
|
+
{ type: ChannelConfigService }
|
|
456
471
|
]; };
|
|
457
472
|
CartEcComponent = __decorate([
|
|
458
473
|
Component({
|
|
@@ -464,4 +479,4 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
464
479
|
return CartEcComponent;
|
|
465
480
|
}(ComponentHelper));
|
|
466
481
|
export { CartEcComponent };
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2NhcnQtZWMvY2FydC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUE7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQVUvRTtJQUFxQyxtQ0FBZTtJQWdCaEQseUJBQW1CLFdBQXdCLEVBQVMsV0FBd0IsRUFBWSxNQUFpQixFQUM5RixlQUFnQyxFQUFTLE1BQWMsRUFBUyxZQUE0QixFQUFZLGFBQTJCLEVBQVEsaUJBQW9DO1FBRDFMLFlBRUksaUJBQU8sU0FLVjtRQVBrQixpQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVksWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUM5RixxQkFBZSxHQUFmLGVBQWUsQ0FB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QUssR0FBRyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUV6RSxJQUFJLGVBQWUsR0FBTSxrQkFBa0IsVUFBTyxDQUFDO1FBQ25ELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7O2dCQTdXbUMsV0FBVztnQkFBc0IsV0FBVztnQkFBb0IsU0FBUztnQkFDN0UsZUFBZTtnQkFBaUIsTUFBTTtnQkFBdUIsY0FBYztnQkFBMkIsWUFBWTtnQkFBMkIsaUJBQWlCOztJQWpCakwsZUFBZTtRQUwzQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsYUFBYTtZQUN2QixZQUF1Qzs7U0FFMUMsQ0FBQztPQUNXLGVBQWUsQ0FzWTNCO0lBQUQsc0JBQUM7Q0FBQSxBQXRZRCxDQUFxQyxlQUFlLEdBc1luRDtTQXRZWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsL2JzLW1vZGFsLXJlZi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gXCIuLi8uLi9jb3JlLmNvbnN0c1wiO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyXCI7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQWRkcmVzc2luZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGVja291dC9hZGRyZXNzaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5kZWNsYXJlIHZhciAkOmFueTtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYXJ0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FydC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FydC1lYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhcnRFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblxuICAgIHB1YmxpYyB2YXJpYW50c1RvU2hvdzogc3RyaW5nW10gPSBbJ1RBTExFJywgJ0NPTE9SJ107XG4gICAgcHVibGljIGlzTG9nZ2VkSW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgbWVkaWFVcmwgPSAnJztcbiAgICBwdWJsaWMgbW9kYWxSZWY6IEJzTW9kYWxSZWYgfCBudWxsO1xuICAgIHB1YmxpYyBwcm9tb3Rpb25zID0gW107XG4gICAgcHVibGljIGl0ZW1zOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcHJpdmF0ZSBjYXJnYW5kbzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjaGFubmVsOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgdXBkYXRlU3RvY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgZXhpdFVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByb3RlY3RlZCBjb25zdHM6IENvbnN0YW50cyxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLCBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLHB1YmxpYyBhZGRyZXNzaW5nU2VydmljZTogQWRkcmVzc2luZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluID0gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG5cbiAgICB9XG5cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmlzTG9nZ2VkSW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUxvZ2dlZEluKCkge1xuICAgICAgICB0aGlzLmlzTG9nZ2VkSW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnByb21vdGlvbnMuc3Vic2NyaWJlKHByb21vdGlvbnMgPT4gdGhpcy5wcm9tb3Rpb25zID0gcHJvbW90aW9ucyk7XG4gICAgIC8vICAgIGNvbnNvbGUubG9nKHRoaXMuY2FydFNlcnZpY2UuZ2V0VGF4ZXMoKSk7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuXG4gICAgfVxuXG4gICAgdG9EZWNpbWFsID0gKGFtb3VudCkgPT4gdGhpcy5jb25zdHMudG9EZWNpbWFsKGFtb3VudCk7XG5cbiAgICBhY3R1YWxpemFyQ2FudGlkYWQgPSAoaXRlbSwgY2FudGlkYWQsIHN0b2NrLCBpZD8pID0+IHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlOyAvLyBBY3R1YWxpemEgbGEgcHJvcGllZGFkIHZpbmN1bGFkYSBhIGBbZGlzYWJsZWRdYFxuICAgICAgICAgICAgaWYgKGNhbnRpZGFkID4gMCAmJiBjYW50aWRhZCA8PSBzdG9jaykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UudXBkYXRlSXRlbVF1YW50aXR5KGl0ZW0sIGNhbnRpZGFkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIEZ1bmNpw7NuIGRlIGZsZWNoYSBwYXJhIHByZXNlcnZhciBlbCBjb250ZXh0b1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoY2FudGlkYWQgPiAwICYmIGNhbnRpZGFkIDw9IHN0b2NrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGVJdGVtUXVhbnRpdHkoaXRlbSwgY2FudGlkYWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFxuXG4gICAgcmVkaXJlY3RDaGVja291dCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuY2FydFNlcnZpY2UuaGFzU3VmZmljaWVudENyZWRpdHNGb3JDYXJ0VG90YWwoKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2NoZWNrb3V0YCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIk5vIHNlIHB1ZWRlIHJlZGlyaWdpciBhbCBjaGVja291dCBkZWJpZG8gYSB1bmEgdmFsaWRhY2nDs24gZmFsbGlkYS5cIik7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWRpcmVjdFJlZ2lzdGVyID0gKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2F1dGgvbG9naW5gKVxuXG4gICAgb3Blbk1vZGFsKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KHRlbXBsYXRlLCB7IGNsYXNzOiAnbW9kYWwteGwnLCBrZXlib2FyZDogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgcmVkaXJlY3REZXRhaWxQcm9kdWN0KHByb2R1Y3QpIHtcbiAgICAgICAgbGV0IHZhcmlhbnQgPSBwcm9kdWN0LnZhcmlhbnRzWzBdXG4gICAgICAgIGxldCBwYXRoID0gJy9wcm9kdWN0LydcbiAgICAgICAgcGF0aCArPSB2YXJpYW50LmNvZGVcbiAgICAgICAgcGF0aCArPSB2YXJpYW50Lm9wdGlvbnMubGVuZ3RoID8gXCI/dmFyaWFudD10cnVlXCIgOiBcIlwiXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aClcbiAgICB9XG5cbiAgICBmb3JtYXREYXRlKGRhdGUpIHtcbiAgICAgdmFyIGQgPSBuZXcgRGF0ZShkYXRlKSxcbiAgICAgICAgIG1vbnRoID0gJycgKyAoZC5nZXRNb250aCgpICsgMSksXG4gICAgICAgICBkYXkgPSAnJyArIGQuZ2V0RGF0ZSgpLFxuICAgICAgICAgeWVhciA9IGQuZ2V0RnVsbFllYXIoKTtcblxuICAgICBpZiAobW9udGgubGVuZ3RoIDwgMilcbiAgICAgICAgIG1vbnRoID0gJzAnICsgbW9udGg7XG4gICAgIGlmIChkYXkubGVuZ3RoIDwgMilcbiAgICAgICAgIGRheSA9ICcwJyArIGRheTtcblxuICAgICByZXR1cm4gW3llYXIsIG1vbnRoLCBkYXldLmpvaW4oJy0nKTtcbiB9XG5cbiAgICAgYXN5bmMgY2FyZ2FNb2RhbChpdGVtKXtcblxuICAgICAvLyBPYnRpZW5lIGxhcyBzZWRlcyBkZWwgY2xpZW50ZVxuICAgICBjb25zdCBzZWRlcyA9IGF3YWl0IHRoaXMuY2FydFNlcnZpY2UuZ2V0QWRkcmVzc0Jvb2soKTtcblxuICAgICAvLyBDcmVvIHVuYSBzZXJpZSBkZSB2YXJpYWJsZXMgcXVlIHZveSBhIG5lY2VzaXRhciwgaWQgcGFyYSBjb250cm9sYXIgbGFzIHZ1ZWx0YXMgcXVlIGRhIHkgY3VhbnRhcyBsaW5lYXMgaGF5IHkgYWxsSUQgcGFyYSBhbG1hY2VuYXIgbG9zIElEIGRlIGxvcyBsb3Rlcy5cbiAgICAgdmFyIGlkID0gMTtcbiAgICAgdmFyIHRoaXNfPXRoaXM7XG4gICAgIHZhciBhbGxJRCA9ICBbXTtcblxuICAgICAvLyBBw7FhZGUgbG9zIGRhdG9zIGFsIGVuY2FiZXphZG8gZGVsIE1vZGFsXG4gICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbmNhYmV6YWRvTW9kYWwnKS5pbm5lckhUTUwgPSAnPGEgY2xhc3M9XCJ0aXRsZSB0ZXh0LWRhcmsgdGV4dC1kZWNvcmF0aW9uLW5vbmUgaDUgZC1ibG9jayBtLTAgcC0wIG0tMCBwLTBcIj48cCBjbGFzcz1cIm5vbWJyZSBtYi0wXCIgaWQ9XCJwcm9kdWN0TmFtZVwiPicrIGl0ZW1bJ3Byb2R1Y3QnXVsnbmFtZSddKyc8L3A+PHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgcHMtMiBtcy0xXCIgaWQ9XCJwcm9kdWN0UmVmXCI+UmVmOicraXRlbVsndmFyaWFudF9pZCddKyc8L3NtYWxsPjwvYT4nO1xuXG4gICAgIC8vIEJvcnJhbW9zIHRvZG9zIGxvcyBkYXRvcyBkZSBsb3MgbG90ZXMgYW50ZXJpb3Jlc1xuICAgICB2YXIgYm9keVRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJsb3RfYm9keV90YWJsZVwiKSBhcyBIVE1MVGFibGVFbGVtZW50O1xuICAgICBib2R5VGFibGUuaW5uZXJIVE1MPScnO1xuXG4gICAgIC8vIFJlY29ycmUgdG9kb3MgbG9zIGFydGljdWxvcyB5IGVuY3VlbnRyYSBzaSB0aWVuZW4gbG90ZXMgbyBubywgc2kgdGllbmUgY3JlYSBsYXMgbGluZWFzXG4gICAgICAgdGhpc18uY2FydFNlcnZpY2UuZ2V0Q2FydDIoKS5mb3JFYWNoKGkgPT4ge1xuXG4gICAgICAgICAgICBpZiAoaVsnaXRlbV9pZCddID09IGl0ZW0uaXRlbV9pZCAmJiBpWydsb3QnXSAhPSAnJyl7XG4gICAgICAgICAgICAgICAgIGJvZHlUYWJsZS5pbm5lckhUTUw9Jyc7XG4gICAgICAgICAgICAgICAgIGlbJ2xvdCddLmZvckVhY2gobG90ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gYm9keVRhYmxlLmluc2VydFJvdyhib2R5VGFibGUucm93cy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBjZWxsMSA9IHJvdy5pbnNlcnRDZWxsKDApO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBjZWxsMiA9IHJvdy5pbnNlcnRDZWxsKDEpO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBjZWxsMyA9IHJvdy5pbnNlcnRDZWxsKDIpO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBjZWxsNCA9IHJvdy5pbnNlcnRDZWxsKDMpO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBjZWxsNSA9IHJvdy5pbnNlcnRDZWxsKDQpO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBjZWxsNiA9IHJvdy5pbnNlcnRDZWxsKDUpO1xuICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoRGF0ZS5wYXJzZShsb3RbJ2RhdGVfcmVxdWVzdCddKSk7XG4gICAgICAgICAgICAgICAgICAgICAgY2VsbDEuaW5uZXJIVE1MID0gJzxpbnB1dCBpZD1cImlkJytpZCsnXCIgIHN0eWxlPVwiYm9yZGVyOiAwO1wiIHZhbHVlPVwiJytsb3QuaWQrJ1wiIGRpc2FibGVkPic7XG4gICAgICAgICAgICAgICAgICAgICAgY2VsbDIuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBlPVwibnVtYmVyXCIgaWQ9XCJxdWFudGl0eScraWQrJ1wiIHZhbHVlPSBcIicrIGxvdC5xdWFudGl0eSArJ1wiY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy01MFwiIG1heD1cIicrIGxvdC5xdWFudGl0eSArJ1wiPic7XG4gICAgICAgICAgICAgICAgICAgICAgY2VsbDMuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBlPVwiZGF0ZVwiIHZhbHVlPVwiJysgdGhpcy5mb3JtYXREYXRlKGRhdGUpICsnXCIgaWQ9XCJkZWxpdmVyeURhdGUnK2lkKydcIiBjbGFzcz1cImZvcm0tY29udHJvbCB3LTc1XCI+JztcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgb3BjaW9uZXMgPSBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgc2VkZXMuZm9yRWFjaChzZWRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VkZS5pZCA9PSBsb3Quc2hpcHBpbmdfYWRkcmVzc19pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BjaW9uZXMrPSc8b3B0aW9uIHZhbHVlPVwiJytzZWRlLmlkKydcIiBzZWxlY3RlZD4nKyBzZWRlLmNpdHkrICcgLSAnICsgc2VkZS5zdHJlZXQrJzwvb3B0aW9uPic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BjaW9uZXMrPSc8b3B0aW9uIHZhbHVlPVwiJytzZWRlLmlkKydcIj4nKyBzZWRlLmNpdHkrICcgLSAnICsgc2VkZS5zdHJlZXQrJzwvb3B0aW9uPic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgfX0pO1xuICAgICAgICAgICAgICAgICAgICAgIGNlbGw0LmlubmVySFRNTCA9ICc8c2VsZWN0ICBpZD1cInNoaXBwaW5nQWRkcmVzcycraWQrJ1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIHctNzVcIj4nK29wY2lvbmVzKyc8L3NlbGVjdD4nO1xuICAgICAgICAgICAgICAgICAgICAgIGNlbGw1LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0blNlZ3VpclwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCIgZGF0YS1icy10YXJnZXQ9XCIjY29sbGFwc2VFeGFtcGxlJytpZCsnXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgYXJpYS1jb250cm9scz1cImNvbGxhcHNlRXhhbXBsZScraWQrJ1wiIHZhbHVlPVwiVmVyXCI+PC9pbnB1dD4nO1xuICAgICAgICAgICAgICAgICAgICAgIGNlbGw2LmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPVwiY29sLTEgZmxleC1ncm93LTAgdGV4dC1yaWdodCBidG5Cb3JyYXIgZC1ub25lIGQtbWQtYmxvY2sgZC1ub25lIGQtbWQtYmxvY2tcIj48YnV0dG9uIHZhbHVlPVwiJysgbG90LmlkICsnXCIgY2xhc3M9XCJidG5cIiBpZD1cImJvdG9uQm9ycmFyXCI+PGltZyBzcmM9XCIuL2Fzc2V0cy9tYXF1ZXRhZG8vaW1nL2ljLWJvcnJhci5zdmdcIiBhbHQ9XCJcIj4gPC9idXR0b24+PC9kaXY+JztcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgcm93MiA9IGJvZHlUYWJsZS5pbnNlcnRSb3coYm9keVRhYmxlLnJvd3MubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlsYTIgID0gcm93Mi5pbnNlcnRDZWxsKDApXG4gICAgICAgICAgICAgICAgICAgICAgZmlsYTIuY29sU3BhbiA9IDY7XG4gICAgICAgICAgICAgICAgICAgICAgZmlsYTIuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPVwiY29sbGFwc2VcIiBpZD1cImNvbGxhcHNlRXhhbXBsZScraWQrJ1wiPjxpbnB1dCBpZD1cIm5vdGVzJytpZCsnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB2YWx1ZT1cIicrbG90Lm5vdGVzKydcIiBwbGFjZWhvbGRlcj1cIkluZ3Jlc2UgdW4gY29tZW50YXJpbyBlbiBjYXNvIGRlIHF1ZSBzZWEgbmVjZXNhcmlvLlwiIHR5cGU9XCJ0ZXh0XCIvPjwvZGl2Pic7XG4gICAgICAgICAgICAgICAgICAgICAgaWQgPSBpZCsxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgYWxsSUQucHVzaChsb3RbJ2lkJ10pO1xuICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICB9KTtcblxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3RvbkFncmVnYXInKS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7XG5cbiAgICAgICAgLy8gLy8gU2UgY2FsY3VsYSBsYSBjYW50aWRhZCB5IGVsIGNvbnRhZG9yIHBhcmEgcXVlIG5vIGV4Y2VkYSBsYSBjYW50aWRhZCBkZSBsYSBsaW5lYSBhbCBjcmVhciB1biBudWV2byBsb3RlLlxuICAgICAgICB2YXIgY2FudGlkYWRBY3R1YWw9MDtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IGlkOyBpbmRleCsrKSB7XG4gICAgICAgICAgaWYgKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicXVhbnRpdHlcIitpbmRleCkpe1xuICAgICAgICAgICAgICAgY2FudGlkYWRBY3R1YWwgPSBjYW50aWRhZEFjdHVhbCArIHBhcnNlSW50KCg8SFRNTElucHV0RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInF1YW50aXR5XCIraW5kZXgpKS52YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2UgYcOxYWRlIGxhIGxpbmVhIHNpZW1wcmUgeSBjdWFuZG8gbGEgY2FudGlkYWQgcmVzdGFudGUgbm8gc2VhIGNlcm8uXG4gICAgICAgIGlmIChjYW50aWRhZEFjdHVhbCA8IGl0ZW1bJ3F1YW50aXR5J10pe1xuICAgICAgICAgICAgIHZhciByb3cgPSBib2R5VGFibGUuaW5zZXJ0Um93KGJvZHlUYWJsZS5yb3dzLmxlbmd0aCk7XG4gICAgICAgICAgICAgdmFyIGNlbGwxID0gcm93Lmluc2VydENlbGwoMCk7XG4gICAgICAgICAgICAgdmFyIGNlbGwyID0gcm93Lmluc2VydENlbGwoMSk7XG4gICAgICAgICAgICAgdmFyIGNlbGwzID0gcm93Lmluc2VydENlbGwoMik7XG4gICAgICAgICAgICAgdmFyIGNlbGw0ID0gcm93Lmluc2VydENlbGwoMyk7XG4gICAgICAgICAgICAgdmFyIGNlbGw1ID0gcm93Lmluc2VydENlbGwoNCk7XG4gICAgICAgICAgICAgdmFyIGNlbGw2ID0gcm93Lmluc2VydENlbGwoNSk7XG4gICAgICAgICAgICAgY2VsbDEuaW5uZXJIVE1MID0gJzxpbnB1dCBpZD1cImlkJytpZCsnXCIgIHN0eWxlPVwiYm9yZGVyOiAwO1wiIHZhbHVlPVwiUGVuZHQuXCIgZGlzYWJsZWQ+JztcbiAgICAgICAgICAgICBjZWxsMi5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9XCJudW1iZXJcIiBpZD1cInF1YW50aXR5JytpZCsnXCIgdmFsdWU9IFwiJysgKGl0ZW1bJ3F1YW50aXR5J10gLSAgY2FudGlkYWRBY3R1YWwgKSsnXCJjbGFzcz1cImZvcm0tY29udHJvbCB3LTUwXCIgbWF4PVwiJysgKGl0ZW1bJ3F1YW50aXR5J10gLSAgY2FudGlkYWRBY3R1YWwgKSArJ1wiPic7XG4gICAgICAgICAgICAgY2VsbDMuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBlPVwiZGF0ZVwiIGlkPVwiZGVsaXZlcnlEYXRlJytpZCsnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy03NVwiPic7XG4gICAgICAgICAgICAgdmFyIG9wY2lvbmVzID0gXCJcIlxuICAgICAgICAgICAgIHNlZGVzLmZvckVhY2goc2VkZSA9PiB7IG9wY2lvbmVzKz0nPG9wdGlvbiB2YWx1ZT1cIicrc2VkZS5pZCsnXCI+Jysgc2VkZS5jaXR5KyAnIC0gJyArIHNlZGUuc3RyZWV0Kyc8L29wdGlvbj4nO30pO1xuICAgICAgICAgICAgIGNlbGw0LmlubmVySFRNTCA9ICc8c2VsZWN0ICBpZD1cInNoaXBwaW5nQWRkcmVzcycraWQrJ1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIHctNzVcIj4nK29wY2lvbmVzKyc8L3NlbGVjdD4nO1xuICAgICAgICAgICAgIGNlbGw1LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0blNlZ3VpclwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCIgZGF0YS1icy10YXJnZXQ9XCIjY29sbGFwc2VFeGFtcGxlJytpZCsnXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgYXJpYS1jb250cm9scz1cImNvbGxhcHNlRXhhbXBsZScraWQrJ1wiIHZhbHVlPVwiVmVyXCI+PC9pbnB1dD4nO1xuICAgICAgICAgICAgIGNlbGw2LmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPVwiY29sLTEgZmxleC1ncm93LTAgdGV4dC1yaWdodCBidG5Cb3JyYXIgZC1ub25lIGQtbWQtYmxvY2sgZC1ub25lIGQtbWQtYmxvY2tcIj48YnV0dG9uIGNsYXNzPVwiYnRuXCIgaWQ9XCJib3RvbkJvcnJhclwiPjxpbWcgc3JjPVwiLi9hc3NldHMvbWFxdWV0YWRvL2ltZy9pYy1ib3JyYXIuc3ZnXCIgYWx0PVwiXCI+IDwvYnV0dD48L2Rpdj4nO1xuICAgICAgICAgICAgIHZhciByb3cyID0gYm9keVRhYmxlLmluc2VydFJvdyhib2R5VGFibGUucm93cy5sZW5ndGgpO1xuICAgICAgICAgICAgIHZhciBmaWxhMiAgPSByb3cyLmluc2VydENlbGwoMClcbiAgICAgICAgICAgICBmaWxhMi5jb2xTcGFuID0gNjtcbiAgICAgICAgICAgICBmaWxhMi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9XCJjb2xsYXBzZVwiIGlkPVwiY29sbGFwc2VFeGFtcGxlJytpZCsnXCI+PGlucHV0IGlkPVwibm90ZXMnK2lkKydcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiSW5ncmVzZSB1biBjb21lbnRhcmlvIGVuIGNhc28gZGUgcXVlIHNlYSBuZWNlc2FyaW8uXCIgdHlwZT1cInRleHRcIi8+PC9kaXY+JztcblxuXG4gICAgICAgICAgICAgaWQgPSBpZCsxO1xuICAgICAgICB9IGVsc2V7XG4gICAgICAgICAgdGhpc18udG9hc3RyU2VydmljZS5zaG93KCdsb3QtbWF4LXF1YW50aXR5Jyk7XG4gICAgICAgIH1cbiAgICAgfVxuXG4gICAgIC8vIEN1YW5kbyBzZSBwdWxzYSBlbCBib3RvbiBwYXJhIGd1YXJkYXIgZWwgbG90ZSByZWNvcnJlIGxhIGZ1bmNpb24geSBlbCBmb3IgLCByZWNvcnJlIGxpbmVhIGEgbGluZWEgeSBsYW56YSBlbCBlbmRwb2ludCBjb24gdW5hIHBhdXNhIHBhcmEgcXVlIG5vIHNlIHBpZXJkYSBuaW5ndW5vIHkgbm8gc2UgcXVlZGUgcGlsbGFkby5cbiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvdG9uR3VhcmRhcicpLm9uY2xpY2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB0aGlzXy50b2FzdHJTZXJ2aWNlLnNob3coJ2xvdC1zYXZpbmcnKTtcbiAgICAgICAgICB0aGlzXy5jYXJnYW5kbyA9IHRydWU7XG4gICAgICAgICAgdmFyIGxvdElEID0gJyc7XG4gICAgICAgICAgdmFyIGNhbnRpZGFkTG90ZXM9MDtcbiAgICAgICAgICAvL0NvbnRyb2xhIHF1ZSBsYXMgY2FudGlkYWRlcyBkZSBsb3MgbG90ZXMgbm8gc2VhIHN1cGVyaW9yIGEgbGEgZGVsIHByb2R1Y3RvIGVuIGVsIGNhcnJpdG8uXG4gICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IGlkOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICBpZiAoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJxdWFudGl0eVwiK2luZGV4KSl7XG4gICAgICAgICAgICAgICAgICAgIGNhbnRpZGFkTG90ZXMgPSBjYW50aWRhZExvdGVzICsgcGFyc2VJbnQoKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicXVhbnRpdHlcIitpbmRleCkpLnZhbHVlKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXRlbS5xdWFudGl0eSA+PSBjYW50aWRhZExvdGVzKXtcbiAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGNhbnRpZGFkTG90ZXMpO1xuICAgICAgICAgICAgICAgdmFyIHkgPSAwO1xuICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgaWQ7IGluZGV4KyspIHtcblxuICAgICAgICAgICAgICAgaWYoKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicXVhbnRpdHlcIitpbmRleCkpKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHF1YW50aXR5ID0gcGFyc2VJbnQoKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicXVhbnRpdHlcIitpbmRleCkpLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRlbGl2ZXJ5RGF0ZSA9ICg8SFRNTElucHV0RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRlbGl2ZXJ5RGF0ZVwiK2luZGV4KSkudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzaGlwcGluZ0FkZHJlc3MgPSAkKFwiI3NoaXBwaW5nQWRkcmVzc1wiK2luZGV4KS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5vdGVzID0gJChcIiNub3Rlc1wiK2luZGV4KS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNoaXBwaW5nQWRkcmVzc05hbWUgPSAgJCgnI3NoaXBwaW5nQWRkcmVzcycraW5kZXgrJyBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAoKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaWRcIitpbmRleCkpKXtcbiAgICAgICAgICAgICAgICAgICAgbG90SUQgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZFwiK2luZGV4KSkudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBteUluZGV4ID0gYWxsSUQuaW5kZXhPZihwYXJzZUludChsb3RJRCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobXlJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbElELnNwbGljZShteUluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsb3RJRCA9PSAnUGVuZHQuJyl7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdudWV2bycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzXy5jYXJ0U2VydmljZS5hZGRUb0xvdChpdGVtLnByb2R1Y3QsMCxpdGVtLnZhcmlhbnRfaWQsMCxpdGVtLml0ZW1faWQscXVhbnRpdHksaXRlbS5wcm9kdWN0LnByaWNlLGl0ZW0ucXVhbnRpdHksaXRlbS5kaXNjb3VudCxpdGVtLnByb2R1Y3QucHJpY2UqcXVhbnRpdHksJ25ldycsZGVsaXZlcnlEYXRlLG5vdGVzLHBhcnNlSW50KHNoaXBwaW5nQWRkcmVzcyksc2hpcHBpbmdBZGRyZXNzTmFtZSwgJ25ld2xvdCcpO1xuXG4gICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxvdElEICE9ICcnKXtcbiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGxvdElEKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpc18uY2FydFNlcnZpY2UuYWRkVG9Mb3QoaXRlbS5wcm9kdWN0LDAsaXRlbS52YXJpYW50X2lkLHBhcnNlSW50KGxvdElEKSxpdGVtLml0ZW1faWQscXVhbnRpdHksaXRlbS5wcm9kdWN0LnByaWNlLGl0ZW0ucXVhbnRpdHksaXRlbS5kaXNjb3VudCxpdGVtLnByb2R1Y3QucHJpY2UqcXVhbnRpdHksJ2VkaXRlZCcsZGVsaXZlcnlEYXRlLG5vdGVzLHBhcnNlSW50KHNoaXBwaW5nQWRkcmVzcyksc2hpcHBpbmdBZGRyZXNzTmFtZSwgJ2VkaXRsb3QnKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIHk9aW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICAgICBhbGxJRC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZygnYm9ycmFyJyk7XG4gICAgICAgICAgICAgICB0aGlzXy5jYXJ0U2VydmljZS5hZGRUb0xvdChpdGVtLnByb2R1Y3QsMCxpdGVtLnZhcmlhbnRfaWQsZWxlbWVudCwwLDAsMCwwLDAsMCwnZGVsZXRlJywwLCcnLDAsJ2RlbGV0ZScsJ2RlbGV0ZWxvdCcpO1xuICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzXy5jYXJ0U2VydmljZS5sb2FkQ2FydEJ5VG9rZW4odGhpc18uY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCkpO30sIDMwMCAqIHkpO1xuXG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXNfLnRvYXN0clNlcnZpY2Uuc2hvdygnbG90LXNhdmVkJyk7fSwgMzAwICogeSk7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpc18uY2FyZ2FuZG8gPSBmYWxzZX0sIDMwMCAqIHkpO1xuXG4gICAgICAgICAgfSBlbHNle1xuICAgICAgICAgICAgICAgdGhpc18udG9hc3RyU2VydmljZS5zaG93KCdMYSBjYW50aWRhZCBkZSBsb3MgbG90ZXMgZXMgc3VwZXJpb3IgYSBsYSBjYW50aWRhZCBkZWwgcHJvZHVjdG8uJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCAnI2JvdG9uQm9ycmFyJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzKTtcbiAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgndHInKS5yZW1vdmUoKTtcblxuICAgICAgICAgIH0pO1xuXG4gICAgIH1cblxuICAgICBjbG9zZU1vZGFsKGlkKXtcbiAgICAgICAgICAkKCcjJytpZCkubW9kYWwoJ2hpZGUnKTtcbiAgICAgfVxuXG4gICAgIGNoZWNrU3RvY2soaXRlbSkge1xuICAgICAgICBmb3IgKGNvbnN0IHZhcmlhbnQgb2YgaXRlbS5wcm9kdWN0LnZhcmlhbnRzKSB7XG4gICAgICAgICAgaWYgKGl0ZW0udmFyaWFudF9pZCA9PT0gdmFyaWFudC5jb2RlKSB7XG4gICAgICAgICAgICBpZih2YXJpYW50LnN0b2NrID09PSAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0b2NrPXRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcwJztcbiAgICAgICAgICAgIH1lbHNlIGlmIChpdGVtLnF1YW50aXR5ID4gdmFyaWFudC5zdG9jaykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RvY2s9dHJ1ZTtcbiAgICAgICAgICAgICAgcmV0dXJuIHZhcmlhbnQuc3RvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gU29sbyBzZSBlamVjdXRhIHNpIG5vIHNlIGN1bXBsZSBsYSBjb25kaWNpw7NuXG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZUFsbFN0b2NrKCkge1xuICAgICAgICBjb25zdCBpdGVtczogYW55W10gPSBbXTtcbiAgICAgICAgXG4gICAgICAgIC8vIERlZmluZSBsYSBzdXNjcmlwY2nDs24gYW50ZXMgZGUgdXNhcmxhXG4gICAgICAgIFxuICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jYXJ0SXRlbXMuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgcmVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhcmlhbnQgb2YgaXRlbS5wcm9kdWN0LnZhcmlhbnRzKSB7XG4gICAgICAgICAgICAgIGlmIChpdGVtLnZhcmlhbnRfaWQgPT09IHZhcmlhbnQuY29kZSAmJiAhdGhpcy5leGl0VXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhcmlhbnQuc3RvY2sgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuZGVsZXRlQ2FydEl0ZW0oaXRlbSwgZmFsc2UpOyAvLyBCb3JyYSBlbCBhcnTDrWN1bG9cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ucXVhbnRpdHkgPiB2YXJpYW50LnN0b2NrKSB7XG4gICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdENvZGU6IGl0ZW0ucHJvZHVjdC5pZCxcbiAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IHZhcmlhbnQuc3RvY2ssXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnRDb2RlOiB2YXJpYW50LmNvZGUsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2V7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdENvZGU6IGl0ZW0ucHJvZHVjdC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudENvZGU6IHZhcmlhbnQuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID4gMCAmJiAhdGhpcy5leGl0VXBkYXRlKSB7XG4gICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgIC8vIERlc3VzY3LDrWJldGUgYW50ZXMgZGUgYWN0dWFsaXphclxuICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRBbGxUb0NhcnQoaXRlbXMpOyAgLy8gQWN0dWFsaXphIGVsIGNhcnJpdG9cbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RvY2s9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5leGl0VXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIHRoaXMudXBkYXRlQWxsU3RvY2soKTsgIC8vIFZ1ZWx2ZSBhIHZlcmlmaWNhciBlbCBzdG9ja1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIFxuXG4gICAgZ2V0VmFyaWFudHMgPSBwcm9kdWN0ID0+IHtcblxuICAgICAgICBsZXQgaXRlbSA9IHByb2R1Y3QucHJvZHVjdFxuXG4gICAgICAgIGlmIChpdGVtLnZhcmlhbnRzICYmIGl0ZW0udmFyaWFudHMubGVuZ3RoICYmIGl0ZW0udmFyaWFudHNbMF0ub3B0aW9ucyAmJiBpdGVtLnZhcmlhbnRzWzBdLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgbGV0IG9wdGlvbnMgPSBpdGVtLnZhcmlhbnRzWzBdLm9wdGlvbnNcbiAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHRoaXMudmFyaWFudHNUb1Nob3cuZmluZChuYW1lID0+IG9wdGlvbi5oYXNPd25Qcm9wZXJ0eShuYW1lKSkpXG4gICAgICAgICAgICAgbGV0IG9wdGlvbnNNYXAgPSBbXVxuICAgICAgICAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PiB7XG4gICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9wdGlvbikuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxldCBvcHRpb25BZGRlZCA9IGZhbHNlOyAgLy8gVmFyaWFibGUgcGFyYSBldml0YXIgbcO6bHRpcGxlcyBpbnNlcmNpb25lc1xuICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgaXRlbS5vcHRpb25zLmZvckVhY2gob3B0aW9uMiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbjIuY29kZSA9PSAnQ09MT1InKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbjIudmFsdWVzLmZvckVhY2goY29sb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yLmNvZGUgPT0gb3B0aW9uW2VudHJ5XSAmJiAhb3B0aW9uQWRkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zTWFwLnB1c2goeyBuYW1lOiBlbnRyeSwgdmFsdWU6IG9wdGlvbltlbnRyeV0sIGltYWdlOiBjb2xvci5pbWFnZSwgbW9iaWxlSW1hZ2U6IGNvbG9yLm1vYmlsZUltYWdlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkFkZGVkID0gdHJ1ZTsgLy8gTWFyY2FyIG9wY2nDs24gYWdyZWdhZGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgIC8vIFNpIG5vIHNlIGHDsWFkacOzIGxhIG9wY2nDs24gZGUgQ09MT1IsIG1hbmVqYXIgb3RyYXMgb3BjaW9uZXNcbiAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbkFkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcHRpb25zLmZvckVhY2gob3B0aW9uMiA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbjIuY29kZSAhPT0gJ0NPTE9SJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc01hcC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uW2VudHJ5XVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnNNYXA7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnNNYXA7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9XG5cbiAgIH1cblxuICAgY3JlYXRlRGlzY291bnRNZXNzYWdlKHNhbGVwcmljZTogbnVtYmVyLCBwcmljZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoaXNOYU4oc2FsZXByaWNlKSB8fCBpc05hTihwcmljZSkgfHwgc2FsZXByaWNlID49IHByaWNlIHx8IHNhbGVwcmljZSA8PSAwIHx8IHByaWNlIDw9IDApIHtcbiAgICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBsZXQgZGlzY291bnRQZXJjZW50YWdlID0gTWF0aC5yb3VuZCgoKHByaWNlIC0gc2FsZXByaWNlKSAvIHByaWNlKSAqIDEwMCk7XG5cbiAgICBsZXQgZGlzY291bnRNZXNzYWdlID0gYCR7ZGlzY291bnRQZXJjZW50YWdlfSUgT0ZGYDtcbiAgICByZXR1cm4gZGlzY291bnRNZXNzYWdlO1xufVxuZ2V0TWluaW11bVB1cmNoYXNlQW1vdW50ID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWwudHlwZSA9PSAnYjJiJyA/IHRoaXMuY2hhbm5lbC53aG9sZXNhbGVyTWluaW11bVB1cmNoYXNlQW1vdW50IDogdGhpcy5jaGFubmVsLnJldGFpbGVyTWluaW11bVB1cmNoYXNlQW1vdW50XG5cbn1cblxuZXhjZWVkc01pbmltdW1BbW91bnQgPSAodmFsdWU6IG51bWJlcikgPT4gdmFsdWUgPj0gdGhpcy5nZXRNaW5pbXVtUHVyY2hhc2VBbW91bnQoKSA/IHRoaXMucmVkaXJlY3RDaGVja291dCgpIDogdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ3F1YW50aXR5LW5vdC1leGNlZWRlZCcsIHsgYW1vdW50OiB0aGlzLmdldE1pbmltdW1QdXJjaGFzZUFtb3VudCgpIH0pXG5cblxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cbiJdfQ==
|
|
482
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2NhcnQtZWMvY2FydC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUE7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQVM3RTtJQUFxQyxtQ0FBZTtJQW1CaEQseUJBQ1csV0FBd0IsRUFDeEIsV0FBd0IsRUFDckIsTUFBaUIsRUFDcEIsZUFBZ0MsRUFDaEMsTUFBYyxFQUNkLFlBQTRCLEVBQ3pCLGFBQTJCLEVBQzlCLGlCQUFvQyxFQUNwQyxvQkFBMEM7UUFUckQsWUFVSSxpQkFBTyxTQUtWO1FBZFUsaUJBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVcsR0FB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bkQ7U0E1WlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL21vZGFsXCI7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbC9icy1tb2RhbC1yZWYuc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tIFwiLi4vLi4vY29yZS5jb25zdHNcIjtcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlclwiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2VcIjtcbmltcG9ydCB7IGludGVydmFsLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEFkZHJlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hlY2tvdXQvYWRkcmVzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYXJ0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FydC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FydC1lYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhcnRFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblxuICAgIHB1YmxpYyB2YXJpYW50c1RvU2hvdzogc3RyaW5nW10gPSBbJ1RBTExFJywgJ0NPTE9SJ107XG4gICAgcHVibGljIGlzTG9nZ2VkSW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgbWVkaWFVcmwgPSAnJztcbiAgICBwdWJsaWMgbW9kYWxSZWY6IEJzTW9kYWxSZWYgfCBudWxsO1xuICAgIHB1YmxpYyBwcm9tb3Rpb25zID0gW107XG4gICAgcHVibGljIGl0ZW1zOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcHJpdmF0ZSBjYXJnYW5kbzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjaGFubmVsOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgdXBkYXRlU3RvY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgZXhpdFVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGlkZURpc2NvdW50czogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBoaWRlVGF4ZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBjb25zdHM6IENvbnN0YW50cyxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYWRkcmVzc2luZ1NlcnZpY2U6IEFkZHJlc3NpbmdTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY2hhbm5lbENvbmZpZ1NlcnZpY2U6IENoYW5uZWxDb25maWdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgICAgIHRoaXMuaXNMb2dnZWRJbiA9IHRoaXMuYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCk7XG4gICAgICAgIHRoaXMubWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpO1xuXG4gICAgfVxuXG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluID0gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVMb2dnZWRJbigpIHtcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluID0gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5wcm9tb3Rpb25zLnN1YnNjcmliZShwcm9tb3Rpb25zID0+IHRoaXMucHJvbW90aW9ucyA9IHByb21vdGlvbnMpO1xuICAgICAgICAvLyAgICBjb25zb2xlLmxvZyh0aGlzLmNhcnRTZXJ2aWNlLmdldFRheGVzKCkpO1xuXG4gICAgICAgIHRoaXMuY2hhbm5lbENvbmZpZ1NlcnZpY2UuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlUHJpY2VzID0gY2hhbm5lbD8uaGlkZVByaWNlcyA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGlkZURpc2NvdW50cyA9IGNoYW5uZWw/LmhpZGVEaXNjb3VudHMgPz8gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhpZGVUYXhlcyA9IGNoYW5uZWw/LmhpZGVUYXhlcyA/PyBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGlkZVByaWNlcykge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuXG4gICAgfVxuXG4gICAgdG9EZWNpbWFsID0gKGFtb3VudCkgPT4gdGhpcy5jb25zdHMudG9EZWNpbWFsKGFtb3VudCk7XG5cbiAgICBhY3R1YWxpemFyQ2FudGlkYWQgPSAoaXRlbSwgY2FudGlkYWQsIHN0b2NrLCBpZD8pID0+IHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlOyAvLyBBY3R1YWxpemEgbGEgcHJvcGllZGFkIHZpbmN1bGFkYSBhIGBbZGlzYWJsZWRdYFxuICAgICAgICAgICAgaWYgKGNhbnRpZGFkID4gMCAmJiBjYW50aWRhZCA8PSBzdG9jaykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UudXBkYXRlSXRlbVF1YW50aXR5KGl0ZW0sIGNhbnRpZGFkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gRnVuY2nDs24gZGUgZmxlY2hhIHBhcmEgcHJlc2VydmFyIGVsIGNvbnRleHRvXG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjYW50aWRhZCA+IDAgJiYgY2FudGlkYWQgPD0gc3RvY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZUl0ZW1RdWFudGl0eShpdGVtLCBjYW50aWRhZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cblxuICAgIHJlZGlyZWN0Q2hlY2tvdXQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmNhcnRTZXJ2aWNlLmhhc1N1ZmZpY2llbnRDcmVkaXRzRm9yQ2FydFRvdGFsKCkpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9jaGVja291dGApO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJObyBzZSBwdWVkZSByZWRpcmlnaXIgYWwgY2hlY2tvdXQgZGViaWRvIGEgdW5hIHZhbGlkYWNpw7NuIGZhbGxpZGEuXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVkaXJlY3RSZWdpc3RlciA9ICgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9hdXRoL2xvZ2luYClcblxuICAgIG9wZW5Nb2RhbCh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyh0ZW1wbGF0ZSwgeyBjbGFzczogJ21vZGFsLXhsJywga2V5Ym9hcmQ6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIHJlZGlyZWN0RGV0YWlsUHJvZHVjdChwcm9kdWN0KSB7XG4gICAgICAgIGxldCB2YXJpYW50ID0gcHJvZHVjdC52YXJpYW50c1swXVxuICAgICAgICBsZXQgcGF0aCA9ICcvcHJvZHVjdC8nXG4gICAgICAgIHBhdGggKz0gdmFyaWFudC5jb2RlXG4gICAgICAgIHBhdGggKz0gdmFyaWFudC5vcHRpb25zLmxlbmd0aCA/IFwiP3ZhcmlhbnQ9dHJ1ZVwiIDogXCJcIlxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpXG4gICAgfVxuXG4gICAgZm9ybWF0RGF0ZShkYXRlKSB7XG4gICAgICAgIHZhciBkID0gbmV3IERhdGUoZGF0ZSksXG4gICAgICAgICAgICBtb250aCA9ICcnICsgKGQuZ2V0TW9udGgoKSArIDEpLFxuICAgICAgICAgICAgZGF5ID0gJycgKyBkLmdldERhdGUoKSxcbiAgICAgICAgICAgIHllYXIgPSBkLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAgICAgaWYgKG1vbnRoLmxlbmd0aCA8IDIpXG4gICAgICAgICAgICBtb250aCA9ICcwJyArIG1vbnRoO1xuICAgICAgICBpZiAoZGF5Lmxlbmd0aCA8IDIpXG4gICAgICAgICAgICBkYXkgPSAnMCcgKyBkYXk7XG5cbiAgICAgICAgcmV0dXJuIFt5ZWFyLCBtb250aCwgZGF5XS5qb2luKCctJyk7XG4gICAgfVxuXG4gICAgYXN5bmMgY2FyZ2FNb2RhbChpdGVtKSB7XG5cbiAgICAgICAgLy8gT2J0aWVuZSBsYXMgc2VkZXMgZGVsIGNsaWVudGVcbiAgICAgICAgY29uc3Qgc2VkZXMgPSBhd2FpdCB0aGlzLmNhcnRTZXJ2aWNlLmdldEFkZHJlc3NCb29rKCk7XG5cbiAgICAgICAgLy8gQ3JlbyB1bmEgc2VyaWUgZGUgdmFyaWFibGVzIHF1ZSB2b3kgYSBuZWNlc2l0YXIsIGlkIHBhcmEgY29udHJvbGFyIGxhcyB2dWVsdGFzIHF1ZSBkYSB5IGN1YW50YXMgbGluZWFzIGhheSB5IGFsbElEIHBhcmEgYWxtYWNlbmFyIGxvcyBJRCBkZSBsb3MgbG90ZXMuXG4gICAgICAgIHZhciBpZCA9IDE7XG4gICAgICAgIHZhciB0aGlzXyA9IHRoaXM7XG4gICAgICAgIHZhciBhbGxJRCA9IFtdO1xuXG4gICAgICAgIC8vIEHDsWFkZSBsb3MgZGF0b3MgYWwgZW5jYWJlemFkbyBkZWwgTW9kYWxcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VuY2FiZXphZG9Nb2RhbCcpLmlubmVySFRNTCA9ICc8YSBjbGFzcz1cInRpdGxlIHRleHQtZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSBoNSBkLWJsb2NrIG0tMCBwLTAgbS0wIHAtMFwiPjxwIGNsYXNzPVwibm9tYnJlIG1iLTBcIiBpZD1cInByb2R1Y3ROYW1lXCI+JyArIGl0ZW1bJ3Byb2R1Y3QnXVsnbmFtZSddICsgJzwvcD48c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeSBwcy0yIG1zLTFcIiBpZD1cInByb2R1Y3RSZWZcIj5SZWY6JyArIGl0ZW1bJ3ZhcmlhbnRfaWQnXSArICc8L3NtYWxsPjwvYT4nO1xuXG4gICAgICAgIC8vIEJvcnJhbW9zIHRvZG9zIGxvcyBkYXRvcyBkZSBsb3MgbG90ZXMgYW50ZXJpb3Jlc1xuICAgICAgICB2YXIgYm9keVRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJsb3RfYm9keV90YWJsZVwiKSBhcyBIVE1MVGFibGVFbGVtZW50O1xuICAgICAgICBib2R5VGFibGUuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgICAgLy8gUmVjb3JyZSB0b2RvcyBsb3MgYXJ0aWN1bG9zIHkgZW5jdWVudHJhIHNpIHRpZW5lbiBsb3RlcyBvIG5vLCBzaSB0aWVuZSBjcmVhIGxhcyBsaW5lYXNcbiAgICAgICAgdGhpc18uY2FydFNlcnZpY2UuZ2V0Q2FydDIoKS5mb3JFYWNoKGkgPT4ge1xuXG4gICAgICAgICAgICBpZiAoaVsnaXRlbV9pZCddID09IGl0ZW0uaXRlbV9pZCAmJiBpWydsb3QnXSAhPSAnJykge1xuICAgICAgICAgICAgICAgIGJvZHlUYWJsZS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBpWydsb3QnXS5mb3JFYWNoKGxvdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByb3cgPSBib2R5VGFibGUuaW5zZXJ0Um93KGJvZHlUYWJsZS5yb3dzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjZWxsMSA9IHJvdy5pbnNlcnRDZWxsKDApO1xuICAgICAgICAgICAgICAgICAgICB2YXIgY2VsbDIgPSByb3cuaW5zZXJ0Q2VsbCgxKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNlbGwzID0gcm93Lmluc2VydENlbGwoMik7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjZWxsNCA9IHJvdy5pbnNlcnRDZWxsKDMpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgY2VsbDUgPSByb3cuaW5zZXJ0Q2VsbCg0KTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNlbGw2ID0gcm93Lmluc2VydENlbGwoNSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoRGF0ZS5wYXJzZShsb3RbJ2RhdGVfcmVxdWVzdCddKSk7XG4gICAgICAgICAgICAgICAgICAgIGNlbGwxLmlubmVySFRNTCA9ICc8aW5wdXQgaWQ9XCJpZCcgKyBpZCArICdcIiAgc3R5bGU9XCJib3JkZXI6IDA7XCIgdmFsdWU9XCInICsgbG90LmlkICsgJ1wiIGRpc2FibGVkPic7XG4gICAgICAgICAgICAgICAgICAgIGNlbGwyLmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cIm51bWJlclwiIGlkPVwicXVhbnRpdHknICsgaWQgKyAnXCIgdmFsdWU9IFwiJyArIGxvdC5xdWFudGl0eSArICdcImNsYXNzPVwiZm9ybS1jb250cm9sIHctNTBcIiBtYXg9XCInICsgbG90LnF1YW50aXR5ICsgJ1wiPic7XG4gICAgICAgICAgICAgICAgICAgIGNlbGwzLmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cImRhdGVcIiB2YWx1ZT1cIicgKyB0aGlzLmZvcm1hdERhdGUoZGF0ZSkgKyAnXCIgaWQ9XCJkZWxpdmVyeURhdGUnICsgaWQgKyAnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy03NVwiPic7XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcGNpb25lcyA9IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgc2VkZXMuZm9yRWFjaChzZWRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWRlLmlkID09IGxvdC5zaGlwcGluZ19hZGRyZXNzX2lkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BjaW9uZXMgKz0gJzxvcHRpb24gdmFsdWU9XCInICsgc2VkZS5pZCArICdcIiBzZWxlY3RlZD4nICsgc2VkZS5jaXR5ICsgJyAtICcgKyBzZWRlLnN0cmVldCArICc8L29wdGlvbj4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BjaW9uZXMgKz0gJzxvcHRpb24gdmFsdWU9XCInICsgc2VkZS5pZCArICdcIj4nICsgc2VkZS5jaXR5ICsgJyAtICcgKyBzZWRlLnN0cmVldCArICc8L29wdGlvbj4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY2VsbDQuaW5uZXJIVE1MID0gJzxzZWxlY3QgIGlkPVwic2hpcHBpbmdBZGRyZXNzJyArIGlkICsgJ1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIHctNzVcIj4nICsgb3BjaW9uZXMgKyAnPC9zZWxlY3Q+JztcbiAgICAgICAgICAgICAgICAgICAgY2VsbDUuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuU2VndWlyXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIiBkYXRhLWJzLXRhcmdldD1cIiNjb2xsYXBzZUV4YW1wbGUnICsgaWQgKyAnXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgYXJpYS1jb250cm9scz1cImNvbGxhcHNlRXhhbXBsZScgKyBpZCArICdcIiB2YWx1ZT1cIlZlclwiPjwvaW5wdXQ+JztcbiAgICAgICAgICAgICAgICAgICAgY2VsbDYuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJjb2wtMSBmbGV4LWdyb3ctMCB0ZXh0LXJpZ2h0IGJ0bkJvcnJhciBkLW5vbmUgZC1tZC1ibG9jayBkLW5vbmUgZC1tZC1ibG9ja1wiPjxidXR0b24gdmFsdWU9XCInICsgbG90LmlkICsgJ1wiIGNsYXNzPVwiYnRuXCIgaWQ9XCJib3RvbkJvcnJhclwiPjxpbWcgc3JjPVwiLi9hc3NldHMvbWFxdWV0YWRvL2ltZy9pYy1ib3JyYXIuc3ZnXCIgYWx0PVwiXCI+IDwvYnV0dG9uPjwvZGl2Pic7XG4gICAgICAgICAgICAgICAgICAgIHZhciByb3cyID0gYm9keVRhYmxlLmluc2VydFJvdyhib2R5VGFibGUucm93cy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZmlsYTIgPSByb3cyLmluc2VydENlbGwoMClcbiAgICAgICAgICAgICAgICAgICAgZmlsYTIuY29sU3BhbiA9IDY7XG4gICAgICAgICAgICAgICAgICAgIGZpbGEyLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPVwiY29sbGFwc2VcIiBpZD1cImNvbGxhcHNlRXhhbXBsZScgKyBpZCArICdcIj48aW5wdXQgaWQ9XCJub3RlcycgKyBpZCArICdcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHZhbHVlPVwiJyArIGxvdC5ub3RlcyArICdcIiBwbGFjZWhvbGRlcj1cIkluZ3Jlc2UgdW4gY29tZW50YXJpbyBlbiBjYXNvIGRlIHF1ZSBzZWEgbmVjZXNhcmlvLlwiIHR5cGU9XCJ0ZXh0XCIvPjwvZGl2Pic7XG4gICAgICAgICAgICAgICAgICAgIGlkID0gaWQgKyAxO1xuXG4gICAgICAgICAgICAgICAgICAgIGFsbElELnB1c2gobG90WydpZCddKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvdG9uQWdyZWdhcicpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgICAgIC8vIC8vIFNlIGNhbGN1bGEgbGEgY2FudGlkYWQgeSBlbCBjb250YWRvciBwYXJhIHF1ZSBubyBleGNlZGEgbGEgY2FudGlkYWQgZGUgbGEgbGluZWEgYWwgY3JlYXIgdW4gbnVldm8gbG90ZS5cbiAgICAgICAgICAgIHZhciBjYW50aWRhZEFjdHVhbCA9IDA7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgaWQ7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBpZiAoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJxdWFudGl0eVwiICsgaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhbnRpZGFkQWN0dWFsID0gY2FudGlkYWRBY3R1YWwgKyBwYXJzZUludCgoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJxdWFudGl0eVwiICsgaW5kZXgpKS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZSBhw7FhZGUgbGEgbGluZWEgc2llbXByZSB5IGN1YW5kbyBsYSBjYW50aWRhZCByZXN0YW50ZSBubyBzZWEgY2Vyby5cbiAgICAgICAgICAgIGlmIChjYW50aWRhZEFjdHVhbCA8IGl0ZW1bJ3F1YW50aXR5J10pIHtcbiAgICAgICAgICAgICAgICB2YXIgcm93ID0gYm9keVRhYmxlLmluc2VydFJvdyhib2R5VGFibGUucm93cy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHZhciBjZWxsMSA9IHJvdy5pbnNlcnRDZWxsKDApO1xuICAgICAgICAgICAgICAgIHZhciBjZWxsMiA9IHJvdy5pbnNlcnRDZWxsKDEpO1xuICAgICAgICAgICAgICAgIHZhciBjZWxsMyA9IHJvdy5pbnNlcnRDZWxsKDIpO1xuICAgICAgICAgICAgICAgIHZhciBjZWxsNCA9IHJvdy5pbnNlcnRDZWxsKDMpO1xuICAgICAgICAgICAgICAgIHZhciBjZWxsNSA9IHJvdy5pbnNlcnRDZWxsKDQpO1xuICAgICAgICAgICAgICAgIHZhciBjZWxsNiA9IHJvdy5pbnNlcnRDZWxsKDUpO1xuICAgICAgICAgICAgICAgIGNlbGwxLmlubmVySFRNTCA9ICc8aW5wdXQgaWQ9XCJpZCcgKyBpZCArICdcIiAgc3R5bGU9XCJib3JkZXI6IDA7XCIgdmFsdWU9XCJQZW5kdC5cIiBkaXNhYmxlZD4nO1xuICAgICAgICAgICAgICAgIGNlbGwyLmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cIm51bWJlclwiIGlkPVwicXVhbnRpdHknICsgaWQgKyAnXCIgdmFsdWU9IFwiJyArIChpdGVtWydxdWFudGl0eSddIC0gY2FudGlkYWRBY3R1YWwpICsgJ1wiY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy01MFwiIG1heD1cIicgKyAoaXRlbVsncXVhbnRpdHknXSAtIGNhbnRpZGFkQWN0dWFsKSArICdcIj4nO1xuICAgICAgICAgICAgICAgIGNlbGwzLmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cImRhdGVcIiBpZD1cImRlbGl2ZXJ5RGF0ZScgKyBpZCArICdcIiBjbGFzcz1cImZvcm0tY29udHJvbCB3LTc1XCI+JztcbiAgICAgICAgICAgICAgICB2YXIgb3BjaW9uZXMgPSBcIlwiXG4gICAgICAgICAgICAgICAgc2VkZXMuZm9yRWFjaChzZWRlID0+IHsgb3BjaW9uZXMgKz0gJzxvcHRpb24gdmFsdWU9XCInICsgc2VkZS5pZCArICdcIj4nICsgc2VkZS5jaXR5ICsgJyAtICcgKyBzZWRlLnN0cmVldCArICc8L29wdGlvbj4nOyB9KTtcbiAgICAgICAgICAgICAgICBjZWxsNC5pbm5lckhUTUwgPSAnPHNlbGVjdCAgaWQ9XCJzaGlwcGluZ0FkZHJlc3MnICsgaWQgKyAnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy03NVwiPicgKyBvcGNpb25lcyArICc8L3NlbGVjdD4nO1xuICAgICAgICAgICAgICAgIGNlbGw1LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0blNlZ3VpclwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCIgZGF0YS1icy10YXJnZXQ9XCIjY29sbGFwc2VFeGFtcGxlJyArIGlkICsgJ1wiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGFyaWEtY29udHJvbHM9XCJjb2xsYXBzZUV4YW1wbGUnICsgaWQgKyAnXCIgdmFsdWU9XCJWZXJcIj48L2lucHV0Pic7XG4gICAgICAgICAgICAgICAgY2VsbDYuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJjb2wtMSBmbGV4LWdyb3ctMCB0ZXh0LXJpZ2h0IGJ0bkJvcnJhciBkLW5vbmUgZC1tZC1ibG9jayBkLW5vbmUgZC1tZC1ibG9ja1wiPjxidXR0b24gY2xhc3M9XCJidG5cIiBpZD1cImJvdG9uQm9ycmFyXCI+PGltZyBzcmM9XCIuL2Fzc2V0cy9tYXF1ZXRhZG8vaW1nL2ljLWJvcnJhci5zdmdcIiBhbHQ9XCJcIj4gPC9idXR0PjwvZGl2Pic7XG4gICAgICAgICAgICAgICAgdmFyIHJvdzIgPSBib2R5VGFibGUuaW5zZXJ0Um93KGJvZHlUYWJsZS5yb3dzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgdmFyIGZpbGEyID0gcm93Mi5pbnNlcnRDZWxsKDApXG4gICAgICAgICAgICAgICAgZmlsYTIuY29sU3BhbiA9IDY7XG4gICAgICAgICAgICAgICAgZmlsYTIuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJjb2xsYXBzZVwiIGlkPVwiY29sbGFwc2VFeGFtcGxlJyArIGlkICsgJ1wiPjxpbnB1dCBpZD1cIm5vdGVzJyArIGlkICsgJ1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJJbmdyZXNlIHVuIGNvbWVudGFyaW8gZW4gY2FzbyBkZSBxdWUgc2VhIG5lY2VzYXJpby5cIiB0eXBlPVwidGV4dFwiLz48L2Rpdj4nO1xuXG5cbiAgICAgICAgICAgICAgICBpZCA9IGlkICsgMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpc18udG9hc3RyU2VydmljZS5zaG93KCdsb3QtbWF4LXF1YW50aXR5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDdWFuZG8gc2UgcHVsc2EgZWwgYm90b24gcGFyYSBndWFyZGFyIGVsIGxvdGUgcmVjb3JyZSBsYSBmdW5jaW9uIHkgZWwgZm9yICwgcmVjb3JyZSBsaW5lYSBhIGxpbmVhIHkgbGFuemEgZWwgZW5kcG9pbnQgY29uIHVuYSBwYXVzYSBwYXJhIHF1ZSBubyBzZSBwaWVyZGEgbmluZ3VubyB5IG5vIHNlIHF1ZWRlIHBpbGxhZG8uXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3Rvbkd1YXJkYXInKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdGhpc18udG9hc3RyU2VydmljZS5zaG93KCdsb3Qtc2F2aW5nJyk7XG4gICAgICAgICAgICB0aGlzXy5jYXJnYW5kbyA9IHRydWU7XG4gICAgICAgICAgICB2YXIgbG90SUQgPSAnJztcbiAgICAgICAgICAgIHZhciBjYW50aWRhZExvdGVzID0gMDtcbiAgICAgICAgICAgIC8vQ29udHJvbGEgcXVlIGxhcyBjYW50aWRhZGVzIGRlIGxvcyBsb3RlcyBubyBzZWEgc3VwZXJpb3IgYSBsYSBkZWwgcHJvZHVjdG8gZW4gZWwgY2Fycml0by5cbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCBpZDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGlmICg8SFRNTElucHV0RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInF1YW50aXR5XCIgKyBpbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FudGlkYWRMb3RlcyA9IGNhbnRpZGFkTG90ZXMgKyBwYXJzZUludCgoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJxdWFudGl0eVwiICsgaW5kZXgpKS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5xdWFudGl0eSA+PSBjYW50aWRhZExvdGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coY2FudGlkYWRMb3Rlcyk7XG4gICAgICAgICAgICAgICAgdmFyIHkgPSAwO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCBpZDsgaW5kZXgrKykge1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJxdWFudGl0eVwiICsgaW5kZXgpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHF1YW50aXR5ID0gcGFyc2VJbnQoKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicXVhbnRpdHlcIiArIGluZGV4KSkudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlbGl2ZXJ5RGF0ZSA9ICg8SFRNTElucHV0RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRlbGl2ZXJ5RGF0ZVwiICsgaW5kZXgpKS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzaGlwcGluZ0FkZHJlc3MgPSAkKFwiI3NoaXBwaW5nQWRkcmVzc1wiICsgaW5kZXgpLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5vdGVzID0gJChcIiNub3Rlc1wiICsgaW5kZXgpLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNoaXBwaW5nQWRkcmVzc05hbWUgPSAkKCcjc2hpcHBpbmdBZGRyZXNzJyArIGluZGV4ICsgJyBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCg8SFRNTElucHV0RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImlkXCIgKyBpbmRleCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb3RJRCA9ICg8SFRNTElucHV0RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImlkXCIgKyBpbmRleCkpLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG15SW5kZXggPSBhbGxJRC5pbmRleE9mKHBhcnNlSW50KGxvdElEKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobXlJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxJRC5zcGxpY2UobXlJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobG90SUQgPT0gJ1BlbmR0LicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdudWV2bycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpc18uY2FydFNlcnZpY2UuYWRkVG9Mb3QoaXRlbS5wcm9kdWN0LCAwLCBpdGVtLnZhcmlhbnRfaWQsIDAsIGl0ZW0uaXRlbV9pZCwgcXVhbnRpdHksIGl0ZW0ucHJvZHVjdC5wcmljZSwgaXRlbS5xdWFudGl0eSwgaXRlbS5kaXNjb3VudCwgaXRlbS5wcm9kdWN0LnByaWNlICogcXVhbnRpdHksICduZXcnLCBkZWxpdmVyeURhdGUsIG5vdGVzLCBwYXJzZUludChzaGlwcGluZ0FkZHJlc3MpLCBzaGlwcGluZ0FkZHJlc3NOYW1lLCAnbmV3bG90Jyk7XG5cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsb3RJRCAhPSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobG90SUQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpc18uY2FydFNlcnZpY2UuYWRkVG9Mb3QoaXRlbS5wcm9kdWN0LCAwLCBpdGVtLnZhcmlhbnRfaWQsIHBhcnNlSW50KGxvdElEKSwgaXRlbS5pdGVtX2lkLCBxdWFudGl0eSwgaXRlbS5wcm9kdWN0LnByaWNlLCBpdGVtLnF1YW50aXR5LCBpdGVtLmRpc2NvdW50LCBpdGVtLnByb2R1Y3QucHJpY2UgKiBxdWFudGl0eSwgJ2VkaXRlZCcsIGRlbGl2ZXJ5RGF0ZSwgbm90ZXMsIHBhcnNlSW50KHNoaXBwaW5nQWRkcmVzcyksIHNoaXBwaW5nQWRkcmVzc05hbWUsICdlZGl0bG90Jyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgeSA9IGluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhbGxJRC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCdib3JyYXInKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpc18uY2FydFNlcnZpY2UuYWRkVG9Mb3QoaXRlbS5wcm9kdWN0LCAwLCBpdGVtLnZhcmlhbnRfaWQsIGVsZW1lbnQsIDAsIDAsIDAsIDAsIDAsIDAsICdkZWxldGUnLCAwLCAnJywgMCwgJ2RlbGV0ZScsICdkZWxldGVsb3QnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgdGhpc18uY2FydFNlcnZpY2UubG9hZENhcnRCeVRva2VuKHRoaXNfLmNhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpKTsgfSwgMzAwICogeSk7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgdGhpc18udG9hc3RyU2VydmljZS5zaG93KCdsb3Qtc2F2ZWQnKTsgfSwgMzAwICogeSk7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgdGhpc18uY2FyZ2FuZG8gPSBmYWxzZSB9LCAzMDAgKiB5KTtcblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzXy50b2FzdHJTZXJ2aWNlLnNob3coJ0xhIGNhbnRpZGFkIGRlIGxvcyBsb3RlcyBlcyBzdXBlcmlvciBhIGxhIGNhbnRpZGFkIGRlbCBwcm9kdWN0by4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCAnI2JvdG9uQm9ycmFyJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcyk7XG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykucmVtb3ZlKCk7XG5cbiAgICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBjbG9zZU1vZGFsKGlkKSB7XG4gICAgICAgICQoJyMnICsgaWQpLm1vZGFsKCdoaWRlJyk7XG4gICAgfVxuXG4gICAgY2hlY2tTdG9jayhpdGVtKSB7XG4gICAgICAgIGZvciAoY29uc3QgdmFyaWFudCBvZiBpdGVtLnByb2R1Y3QudmFyaWFudHMpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLnZhcmlhbnRfaWQgPT09IHZhcmlhbnQuY29kZSkge1xuICAgICAgICAgICAgICAgIGlmICh2YXJpYW50LnN0b2NrID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RvY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzAnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5xdWFudGl0eSA+IHZhcmlhbnQuc3RvY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdG9jayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YXJpYW50LnN0b2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFNvbG8gc2UgZWplY3V0YSBzaSBubyBzZSBjdW1wbGUgbGEgY29uZGljacOzblxuICAgIH1cblxuICAgIHVwZGF0ZUFsbFN0b2NrKCkge1xuICAgICAgICBjb25zdCBpdGVtczogYW55W10gPSBbXTtcblxuICAgICAgICAvLyBEZWZpbmUgbGEgc3VzY3JpcGNpw7NuIGFudGVzIGRlIHVzYXJsYVxuXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UuY2FydEl0ZW1zLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgcmVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YXJpYW50IG9mIGl0ZW0ucHJvZHVjdC52YXJpYW50cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS52YXJpYW50X2lkID09PSB2YXJpYW50LmNvZGUgJiYgIXRoaXMuZXhpdFVwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhcmlhbnQuc3RvY2sgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmRlbGV0ZUNhcnRJdGVtKGl0ZW0sIGZhbHNlKTsgLy8gQm9ycmEgZWwgYXJ0w61jdWxvXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ucXVhbnRpdHkgPiB2YXJpYW50LnN0b2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RDb2RlOiBpdGVtLnByb2R1Y3QuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiB2YXJpYW50LnN0b2NrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50Q29kZTogdmFyaWFudC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdENvZGU6IGl0ZW0ucHJvZHVjdC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnRDb2RlOiB2YXJpYW50LmNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPiAwICYmICF0aGlzLmV4aXRVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgIC8vIERlc3VzY3LDrWJldGUgYW50ZXMgZGUgYWN0dWFsaXphclxuICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkQWxsVG9DYXJ0KGl0ZW1zKTsgIC8vIEFjdHVhbGl6YSBlbCBjYXJyaXRvXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdG9jayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXhpdFVwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy51cGRhdGVBbGxTdG9jaygpOyAgLy8gVnVlbHZlIGEgdmVyaWZpY2FyIGVsIHN0b2NrXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgICBnZXRWYXJpYW50cyA9IHByb2R1Y3QgPT4ge1xuXG4gICAgICAgIGxldCBpdGVtID0gcHJvZHVjdC5wcm9kdWN0XG5cbiAgICAgICAgaWYgKGl0ZW0udmFyaWFudHMgJiYgaXRlbS52YXJpYW50cy5sZW5ndGggJiYgaXRlbS52YXJpYW50c1swXS5vcHRpb25zICYmIGl0ZW0udmFyaWFudHNbMF0ub3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxldCBvcHRpb25zID0gaXRlbS52YXJpYW50c1swXS5vcHRpb25zXG4gICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHRoaXMudmFyaWFudHNUb1Nob3cuZmluZChuYW1lID0+IG9wdGlvbi5oYXNPd25Qcm9wZXJ0eShuYW1lKSkpXG4gICAgICAgICAgICBsZXQgb3B0aW9uc01hcCA9IFtdXG4gICAgICAgICAgICBvcHRpb25zLm1hcChvcHRpb24gPT4ge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9wdGlvbikuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9wdGlvbkFkZGVkID0gZmFsc2U7ICAvLyBWYXJpYWJsZSBwYXJhIGV2aXRhciBtw7psdGlwbGVzIGluc2VyY2lvbmVzXG5cbiAgICAgICAgICAgICAgICAgICAgaXRlbS5vcHRpb25zLmZvckVhY2gob3B0aW9uMiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uMi5jb2RlID09ICdDT0xPUicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24yLnZhbHVlcy5mb3JFYWNoKGNvbG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yLmNvZGUgPT0gb3B0aW9uW2VudHJ5XSAmJiAhb3B0aW9uQWRkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNNYXAucHVzaCh7IG5hbWU6IGVudHJ5LCB2YWx1ZTogb3B0aW9uW2VudHJ5XSwgaW1hZ2U6IGNvbG9yLmltYWdlLCBtb2JpbGVJbWFnZTogY29sb3IubW9iaWxlSW1hZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25BZGRlZCA9IHRydWU7IC8vIE1hcmNhciBvcGNpw7NuIGFncmVnYWRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNpIG5vIHNlIGHDsWFkacOzIGxhIG9wY2nDs24gZGUgQ09MT1IsIG1hbmVqYXIgb3RyYXMgb3BjaW9uZXNcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25BZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcHRpb25zLmZvckVhY2gob3B0aW9uMiA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uMi5jb2RlICE9PSAnQ09MT1InKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNNYXAucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb25bZW50cnldXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zTWFwO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zTWFwO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBjcmVhdGVEaXNjb3VudE1lc3NhZ2Uoc2FsZXByaWNlOiBudW1iZXIsIHByaWNlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBpZiAoaXNOYU4oc2FsZXByaWNlKSB8fCBpc05hTihwcmljZSkgfHwgc2FsZXByaWNlID49IHByaWNlIHx8IHNhbGVwcmljZSA8PSAwIHx8IHByaWNlIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkaXNjb3VudFBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKCgocHJpY2UgLSBzYWxlcHJpY2UpIC8gcHJpY2UpICogMTAwKTtcblxuICAgICAgICBsZXQgZGlzY291bnRNZXNzYWdlID0gYCR7ZGlzY291bnRQZXJjZW50YWdlfSUgT0ZGYDtcbiAgICAgICAgcmV0dXJuIGRpc2NvdW50TWVzc2FnZTtcbiAgICB9XG4gICAgZ2V0TWluaW11bVB1cmNoYXNlQW1vdW50ID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGFubmVsLnR5cGUgPT0gJ2IyYicgPyB0aGlzLmNoYW5uZWwud2hvbGVzYWxlck1pbmltdW1QdXJjaGFzZUFtb3VudCA6IHRoaXMuY2hhbm5lbC5yZXRhaWxlck1pbmltdW1QdXJjaGFzZUFtb3VudFxuXG4gICAgfVxuXG4gICAgZXhjZWVkc01pbmltdW1BbW91bnQgPSAodmFsdWU6IG51bWJlcikgPT4gdmFsdWUgPj0gdGhpcy5nZXRNaW5pbXVtUHVyY2hhc2VBbW91bnQoKSA/IHRoaXMucmVkaXJlY3RDaGVja291dCgpIDogdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ3F1YW50aXR5LW5vdC1leGNlZWRlZCcsIHsgYW1vdW50OiB0aGlzLmdldE1pbmltdW1QdXJjaGFzZUFtb3VudCgpIH0pXG5cblxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cbiJdfQ==
|
|
@@ -42,6 +42,7 @@ var CheckoutEcComponent = /** @class */ (function (_super) {
|
|
|
42
42
|
_this.canCheckout = false;
|
|
43
43
|
_this.require_login = false;
|
|
44
44
|
_this.steps = [];
|
|
45
|
+
_this.hidePrices = false;
|
|
45
46
|
_this.loading$ = _this.loadingSubject.asObservable();
|
|
46
47
|
_this.initializeCheckout = function () {
|
|
47
48
|
var _a, _b, _c, _d;
|
|
@@ -120,8 +121,13 @@ var CheckoutEcComponent = /** @class */ (function (_super) {
|
|
|
120
121
|
}
|
|
121
122
|
};
|
|
122
123
|
_this.channelService.channelConfig$.subscribe(function (res) {
|
|
124
|
+
var _a, _b;
|
|
123
125
|
_this.channel = res;
|
|
124
126
|
_this.initializeSteps();
|
|
127
|
+
_this.hidePrices = (_b = (_a = res) === null || _a === void 0 ? void 0 : _a.hidePrices, (_b !== null && _b !== void 0 ? _b : false));
|
|
128
|
+
if (_this.hidePrices) {
|
|
129
|
+
_this.router.navigate(['/']);
|
|
130
|
+
}
|
|
125
131
|
//console.log(this.stepEnabled(3))
|
|
126
132
|
});
|
|
127
133
|
_this.ecOnConstruct();
|
|
@@ -160,4 +166,4 @@ var CheckoutEcComponent = /** @class */ (function (_super) {
|
|
|
160
166
|
return CheckoutEcComponent;
|
|
161
167
|
}(ComponentHelper));
|
|
162
168
|
export { CheckoutEcComponent };
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9jaGVja291dC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBK0IsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTzdFO0lBQXlDLHVDQUFlO0lBYXBELDZCQUFtQixlQUFnQyxFQUFTLGFBQTJCLEVBQzVFLE1BQWMsRUFBUyxXQUF3QixFQUFTLGVBQWdDLEVBQ3hGLGNBQW9DO1FBRi9DLFlBR0ksaUJBQU8sU0FPVjtRQVZrQixxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUM1RSxZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsaUJBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxxQkFBZSxHQUFm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Q0FBa0M7UUFDdEMsQ0FBQyxDQUFDLENBQUE7UUFDRixLQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7O0lBQ3hCLENBQUM7SUFFRCxzQ0FBUSxHQUFSO1FBQUEsaUJBTUM7UUFMRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBQSxhQUFhO1lBQ2pGLElBQUksYUFBYTtnQkFBRSxLQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzs7Z0JBQ3hDLEtBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCx5Q0FBVyxHQUFYOztRQUNJLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsV0FBVyxHQUFFO1FBQzFCLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsV0FBVyxHQUFFO0lBQ2hDLENBQUM7O2dCQXZCbUMsZUFBZTtnQkFBd0IsWUFBWTtnQkFDcEUsTUFBTTtnQkFBc0IsV0FBVztnQkFBMEIsZUFBZTtnQkFDeEUsb0JBQW9COztJQWZ0QyxtQkFBbUI7UUFML0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixzaEhBQTJDOztTQUU5QyxDQUFDO09BQ1csbUJBQW1CLENBNkgvQjtJQUFELDBCQUFDO0NBQUEsQUE3SEQsQ0FBeUMsZUFBZSxHQTZIdkQ7U0E3SFksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN0ZXBwZXIgZnJvbSAnYnMtc3RlcHBlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L2NoZWNrb3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdGVwSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RlcCc7XG5pbXBvcnQgeyBDaGVja291dERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2hlY2tvdXQtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja291dC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hlY2tvdXQtZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja291dEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0e1xuXG4gICAgcHVibGljIHN0ZXBwZXI6IFN0ZXBwZXI7XG4gICAgcHVibGljIGxvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgY2FuQ2hlY2tvdXQgPSBmYWxzZTtcbiAgICBwdWJsaWMgcmVxdWlyZV9sb2dpbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzdWJDYW46IFN1YnNjcmlwdGlvbjtcbiAgICBwdWJsaWMgc3ViUmVhZHk6IFN1YnNjcmlwdGlvbjtcbiAgICBwdWJsaWMgY2hhbm5lbDogYW55O1xuICAgIHB1YmxpYyBzdGVwczogYW55W10gPSBbXVxuXG4gICAgcHVibGljIGxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSwgcHVibGljIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBwdWJsaWMgcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjaGFubmVsU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUocmVzID0+e1xuICAgICAgICAgICAgdGhpcy5jaGFubmVsID0gcmVzXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVTdGVwcygpXG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcEVuYWJsZWQoMykpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3ViQ2FuID0gdGhpcy5jaGVja291dFNlcnZpY2UuY2FuQ2hlY2tvdXQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGNvbnRhaW5faXRlbXMgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5faXRlbXMpIHRoaXMuaW5pdGlhbGl6ZUNoZWNrb3V0KCk7XG4gICAgICAgICAgICBlbHNlIHRoaXMuY2FuQ2hlY2tvdXQgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3ViQ2FuPy51bnN1YnNjcmliZSgpXG4gICAgICAgIHRoaXMuc3ViUmVhZHk/LnVuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICBpbml0aWFsaXplQ2hlY2tvdXQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FuQ2hlY2tvdXQgPSB0cnVlO1xuICAgICAgICBsZXQgc3RlcHM6IFN0ZXBJW10gPSBbXTtcbiAgICAgICAgLy9jb25zb2xlLmxvZygnY2hhbm5lbCcsIHRoaXMuY2hhbm5lbClcbiAgICAgICAgc3RlcHMucHVzaCh7IG5hbWU6ICdhZGRyZXNzJyB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsPy5pc1NraXBwaW5nU2hpcHBpbmdTdGVwQWxsb3dlZCA/IG51bGwgOiBzdGVwcy5wdXNoKHsgbmFtZTogJ3NoaXBtZW50JyB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsPy5pc1NraXBwaW5nUGF5bWVudFN0ZXBBbGxvd2VkID8gbnVsbCA6IHN0ZXBzLnB1c2goeyBuYW1lOiAncGF5bWVudCcgfSk7XG4gICAgICAgIC8qIHN0ZXBzLnB1c2goeyBuYW1lOiAnc2hpcG1lbnQnIH0pO1xuICAgICAgICBzdGVwcy5wdXNoKHsgbmFtZTogJ3BheW1lbnQnIH0pOyAqL1xuICAgICAgICAvL2NvbnNvbGUubG9nKHN0ZXBzKVxuICAgICAgICB0aGlzLmNoZWNrb3V0U2VydmljZS5zZXRTdGVwcyhzdGVwcyk7XG4gICAgICAgIHRoaXMuc2V0U3RlcHBlcigpO1xuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICBpZiAodGhpcy5jaGFubmVsPy5pc1NraXBwaW5nU2hpcHBpbmdTdGVwQWxsb3dlZCAhPSB0cnVlIHx8IHRoaXMuY2hhbm5lbD8uaXNTa2lwcGluZ1BheW1lbnRTdGVwQWxsb3dlZCAhPSB0cnVlKXtcbiAgICAgICAgICB0aGlzLnN1YlJlYWR5ID0gdGhpcy5jaGVja291dFNlcnZpY2Uub25SZWFkeSQucGlwZShmaWx0ZXIoIHJlYWR5ID0+IHJlYWR5ICkpLnN1YnNjcmliZShcbiAgICAgICAgICAgIHJlcyA9PiB7IHJlcyAmJiB0aGlzLmVuZENoZWNrb3V0KCl9XG4gICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgfVxuXG4gICAgZ29CYWNrID0gKCkgPT4gdGhpcy5zdGVwcGVyLnByZXZpb3VzKCk7XG5cbiAgICBpc1N0ZXBSZWFkeSA9IChzdGVwX25hbWUpID0+IHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmlzU3RlcFJlYWR5KHN0ZXBfbmFtZSk7XG5cbiAgICBlbmRDaGVja291dCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2UuY29tcGxldGUoKS50aGVuKFxuICAgICAgICAgICAgcmVzID0+IHJlcy5vayAmJiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2NoZWNrb3V0L29yZGVyX3N1Y2Nlc3MnXSksXG4gICAgICAgICAgICBlcnIgPT4gdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBzZXRTdGVwcGVyID0gKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RlcHBlcicpICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBwZXIgPSBuZXcgU3RlcHBlcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RlcHBlcicpLCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmVhcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB0cnVlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RlcHBlcigpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcHBlcilcbiAgICB9XG5cbiAgICBuZXh0ID0gKCkgPT4ge1xuICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcHBlcilcbiAgICAgICAgdGhpcy5zdGVwcGVyLm5leHQoKVxuICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcHBlcilcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgfSlcbiAgICB9O1xuXG4gICAgZXJyb3IgPSAoZXJyb3JfdmFsdWUpID0+IHRoaXMudG9hc3RyU2VydmljZS5zaG93KGVycm9yX3ZhbHVlKTtcblxuICAgIGdldEljb24gPSAoZGF0YV9pdGVtOiBDaGVja291dERhdGEpID0+IHtcbiAgICAgICAgc3dpdGNoIChkYXRhX2l0ZW0udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY291cG9uJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2NvdXBvbi5wbmcnO1xuICAgICAgICAgICAgY2FzZSAnZGlzY291bnQnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvZGlzY291bnQucG5nJztcbiAgICAgICAgICAgIGNhc2UgJ3NoaXBtZW50JzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljby1lbnZpby5wbmcnO1xuICAgICAgICAgICAgY2FzZSAnc3VidG90YWwnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvcHJvZHVjdHMucG5nJztcbiAgICAgICAgICAgIGNhc2UgJ3RvdGFsJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljby1jYXJyaXRvLnBuZyc7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvLWNhcnJpdG8ucG5nJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpYWxpemVTdGVwcyA9ICgpID0+IHtcbiAgICAgICAgLy9FbCBwYXNvIGRlIGVsZWdpciBkaXJlY2Npw7NuIHNpZW1wcmUgZXN0YVxuICAgICAgICB0aGlzLnN0ZXBzLnB1c2goe3N0ZXA6MSwgbGFiZWw6J2JpbGxpbmctZGV0YWlscycsIG5hbWU6J2FkZHJlc3MnfSlcbiAgICAgICAgLy9FbCBwYXNvIGRlIGVsZWdpciBtZXRvZG8gZGUgZW52aW9cbiAgICAgICAgdGhpcy5jaGFubmVsPy5pc1NraXBwaW5nU2hpcHBpbmdTdGVwQWxsb3dlZCA/IG51bGwgOiAgdGhpcy5zdGVwcy5wdXNoKHtzdGVwOjIsIGxhYmVsOidzaGlwbWVudC1tZXRob2QnLCBuYW1lOidzaGlwbWVudCcgfSlcbiAgICAgICAgLy9FbCBwYXNvIGRlIGVsZWdpciBtZXRvZG8gZGUgcGFnb1xuICAgICAgICB0aGlzLmNoYW5uZWw/LmlzU2tpcHBpbmdQYXltZW50U3RlcEFsbG93ZWQgPyBudWxsIDogdGhpcy5zdGVwcy5wdXNoKHtzdGVwOjMsIGxhYmVsOidwYXltZW50JywgbmFtZToncGF5bWVudCd9KVxuICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcHMpXG4gICAgfVxuXG4gICAgc3RlcEVuYWJsZWQgPSAoc3RlcE51bWJlcjpudW1iZXIpID0+IHRoaXMuc3RlcHMuZmluZCggc3RlcCA9PiBzdGVwLnN0ZXAgPT0gc3RlcE51bWJlcikgPyB0cnVlIDogZmFsc2VcblxuICAgIGdldENsYXNzVG9TdGVwcGVyID0gKGluZGV4Om51bWJlcik6c3RyaW5nID0+IHtcbiAgICAgICAgaWYoaW5kZXggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICdsaW5lYSdcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGVwc1tpbmRleCsxXSA/ICd0ZXh0LWNlbnRlcicgOiAndGV4dC1lbmQnXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9jaGVja291dC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBK0IsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTzdFO0lBQXlDLHVDQUFlO0lBY3BELDZCQUFtQixlQUFnQyxFQUFTLGFBQTJCLEVBQzVFLE1BQWMsRUFBUyxXQUF3QixFQUFTLGVBQWdDLEVBQ3hGLGNBQW9DO1FBRi9DLFlBR0ksaUJBQU8sU0FZVjtRQWZrQixxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUM1RSxZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsaUJBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxxQkFBZSxHQUFm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ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTdGVwcGVyIGZyb20gJ2JzLXN0ZXBwZXInO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RlcEkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3N0ZXAnO1xuaW1wb3J0IHsgQ2hlY2tvdXREYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jaGVja291dC1kYXRhJztcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWNoZWNrb3V0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tvdXQtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoZWNrb3V0LWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgc3RlcHBlcjogU3RlcHBlcjtcbiAgICBwdWJsaWMgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHB1YmxpYyBjYW5DaGVja291dCA9IGZhbHNlO1xuICAgIHB1YmxpYyByZXF1aXJlX2xvZ2luID0gZmFsc2U7XG4gICAgcHVibGljIHN1YkNhbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBzdWJSZWFkeTogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBjaGFubmVsOiBhbnk7XG4gICAgcHVibGljIHN0ZXBzOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBoaWRlUHJpY2VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgbG9hZGluZyQgPSB0aGlzLmxvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGNoZWNrb3V0U2VydmljZTogQ2hlY2tvdXRTZXJ2aWNlLCBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIHB1YmxpYyBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcbiAgICAgICAgcHVibGljIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsQ29uZmlnU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFubmVsID0gcmVzXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVTdGVwcygpXG4gICAgICAgICAgICB0aGlzLmhpZGVQcmljZXMgPSByZXM/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhpZGVQcmljZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcEVuYWJsZWQoMykpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3ViQ2FuID0gdGhpcy5jaGVja291dFNlcnZpY2UuY2FuQ2hlY2tvdXQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGNvbnRhaW5faXRlbXMgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5faXRlbXMpIHRoaXMuaW5pdGlhbGl6ZUNoZWNrb3V0KCk7XG4gICAgICAgICAgICBlbHNlIHRoaXMuY2FuQ2hlY2tvdXQgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3ViQ2FuPy51bnN1YnNjcmliZSgpXG4gICAgICAgIHRoaXMuc3ViUmVhZHk/LnVuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICBpbml0aWFsaXplQ2hlY2tvdXQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FuQ2hlY2tvdXQgPSB0cnVlO1xuICAgICAgICBsZXQgc3RlcHM6IFN0ZXBJW10gPSBbXTtcbiAgICAgICAgLy9jb25zb2xlLmxvZygnY2hhbm5lbCcsIHRoaXMuY2hhbm5lbClcbiAgICAgICAgc3RlcHMucHVzaCh7IG5hbWU6ICdhZGRyZXNzJyB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsPy5pc1NraXBwaW5nU2hpcHBpbmdTdGVwQWxsb3dlZCA/IG51bGwgOiBzdGVwcy5wdXNoKHsgbmFtZTogJ3NoaXBtZW50JyB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsPy5pc1NraXBwaW5nUGF5bWVudFN0ZXBBbGxvd2VkID8gbnVsbCA6IHN0ZXBzLnB1c2goeyBuYW1lOiAncGF5bWVudCcgfSk7XG4gICAgICAgIC8qIHN0ZXBzLnB1c2goeyBuYW1lOiAnc2hpcG1lbnQnIH0pO1xuICAgICAgICBzdGVwcy5wdXNoKHsgbmFtZTogJ3BheW1lbnQnIH0pOyAqL1xuICAgICAgICAvL2NvbnNvbGUubG9nKHN0ZXBzKVxuICAgICAgICB0aGlzLmNoZWNrb3V0U2VydmljZS5zZXRTdGVwcyhzdGVwcyk7XG4gICAgICAgIHRoaXMuc2V0U3RlcHBlcigpO1xuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICBpZiAodGhpcy5jaGFubmVsPy5pc1NraXBwaW5nU2hpcHBpbmdTdGVwQWxsb3dlZCAhPSB0cnVlIHx8IHRoaXMuY2hhbm5lbD8uaXNTa2lwcGluZ1BheW1lbnRTdGVwQWxsb3dlZCAhPSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLnN1YlJlYWR5ID0gdGhpcy5jaGVja291dFNlcnZpY2Uub25SZWFkeSQucGlwZShmaWx0ZXIocmVhZHkgPT4gcmVhZHkpKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcmVzID0+IHsgcmVzICYmIHRoaXMuZW5kQ2hlY2tvdXQoKSB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ29CYWNrID0gKCkgPT4gdGhpcy5zdGVwcGVyLnByZXZpb3VzKCk7XG5cbiAgICBpc1N0ZXBSZWFkeSA9IChzdGVwX25hbWUpID0+IHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmlzU3RlcFJlYWR5KHN0ZXBfbmFtZSk7XG5cbiAgICBlbmRDaGVja291dCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2UuY29tcGxldGUoKS50aGVuKFxuICAgICAgICAgICAgcmVzID0+IHJlcy5vayAmJiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2NoZWNrb3V0L29yZGVyX3N1Y2Nlc3MnXSksXG4gICAgICAgICAgICBlcnIgPT4gdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBzZXRTdGVwcGVyID0gKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RlcHBlcicpICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBwZXIgPSBuZXcgU3RlcHBlcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RlcHBlcicpLCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmVhcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB0cnVlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGVwcGVyKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIC8vY29uc29sZS5sb2codGhpcy5zdGVwcGVyKVxuICAgIH1cblxuICAgIG5leHQgPSAoKSA9PiB7XG4gICAgICAgIC8vY29uc29sZS5sb2codGhpcy5zdGVwcGVyKVxuICAgICAgICB0aGlzLnN0ZXBwZXIubmV4dCgpXG4gICAgICAgIC8vY29uc29sZS5sb2codGhpcy5zdGVwcGVyKVxuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICB9KVxuICAgIH07XG5cbiAgICBlcnJvciA9IChlcnJvcl92YWx1ZSkgPT4gdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coZXJyb3JfdmFsdWUpO1xuXG4gICAgZ2V0SWNvbiA9IChkYXRhX2l0ZW06IENoZWNrb3V0RGF0YSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGRhdGFfaXRlbS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdjb3Vwb24nOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvY291cG9uLnBuZyc7XG4gICAgICAgICAgICBjYXNlICdkaXNjb3VudCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9kaXNjb3VudC5wbmcnO1xuICAgICAgICAgICAgY2FzZSAnc2hpcG1lbnQnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvLWVudmlvLnBuZyc7XG4gICAgICAgICAgICBjYXNlICdzdWJ0b3RhbCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9wcm9kdWN0cy5wbmcnO1xuICAgICAgICAgICAgY2FzZSAndG90YWwnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvLWNhcnJpdG8ucG5nJztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY28tY2Fycml0by5wbmcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVN0ZXBzID0gKCkgPT4ge1xuICAgICAgICAvL0VsIHBhc28gZGUgZWxlZ2lyIGRpcmVjY2nDs24gc2llbXByZSBlc3RhXG4gICAgICAgIHRoaXMuc3RlcHMucHVzaCh7IHN0ZXA6IDEsIGxhYmVsOiAnYmlsbGluZy1kZXRhaWxzJywgbmFtZTogJ2FkZHJlc3MnIH0pXG4gICAgICAgIC8vRWwgcGFzbyBkZSBlbGVnaXIgbWV0b2RvIGRlIGVudmlvXG4gICAgICAgIHRoaXMuY2hhbm5lbD8uaXNTa2lwcGluZ1NoaXBwaW5nU3RlcEFsbG93ZWQgPyBudWxsIDogdGhpcy5zdGVwcy5wdXNoKHsgc3RlcDogMiwgbGFiZWw6ICdzaGlwbWVudC1tZXRob2QnLCBuYW1lOiAnc2hpcG1lbnQnIH0pXG4gICAgICAgIC8vRWwgcGFzbyBkZSBlbGVnaXIgbWV0b2RvIGRlIHBhZ29cbiAgICAgICAgdGhpcy5jaGFubmVsPy5pc1NraXBwaW5nUGF5bWVudFN0ZXBBbGxvd2VkID8gbnVsbCA6IHRoaXMuc3RlcHMucHVzaCh7IHN0ZXA6IDMsIGxhYmVsOiAncGF5bWVudCcsIG5hbWU6ICdwYXltZW50JyB9KVxuICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuc3RlcHMpXG4gICAgfVxuXG4gICAgc3RlcEVuYWJsZWQgPSAoc3RlcE51bWJlcjogbnVtYmVyKSA9PiB0aGlzLnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnN0ZXAgPT0gc3RlcE51bWJlcikgPyB0cnVlIDogZmFsc2VcblxuICAgIGdldENsYXNzVG9TdGVwcGVyID0gKGluZGV4OiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICdsaW5lYSdcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0ZXBzW2luZGV4ICsgMV0gPyAndGV4dC1jZW50ZXInIDogJ3RleHQtZW5kJ1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -85,6 +85,7 @@ var HeaderEcComponent = /** @class */ (function (_super) {
|
|
|
85
85
|
_this.toggled = false;
|
|
86
86
|
_this.locales = [];
|
|
87
87
|
_this.selectedLocale = 'ESP';
|
|
88
|
+
_this.hidePrices = false;
|
|
88
89
|
_this.updateMenuItemSection = function (elements) {
|
|
89
90
|
_this.menuItemsSections = _this.optionsService.generateMenu(elements);
|
|
90
91
|
_this.menuItemsSections = _this.ecUpdateMenuItemSection(_this.menuItemsSections);
|
|
@@ -210,6 +211,10 @@ var HeaderEcComponent = /** @class */ (function (_super) {
|
|
|
210
211
|
_this.selectedLocale = _this.locales[0].name;
|
|
211
212
|
}
|
|
212
213
|
});
|
|
214
|
+
this.channelConfigService.channelConfig$.subscribe(function (channel) {
|
|
215
|
+
var _a, _b;
|
|
216
|
+
_this.hidePrices = (_b = (_a = channel) === null || _a === void 0 ? void 0 : _a.hidePrices, (_b !== null && _b !== void 0 ? _b : false));
|
|
217
|
+
});
|
|
213
218
|
};
|
|
214
219
|
HeaderEcComponent.prototype.subscribeToBalance = function () {
|
|
215
220
|
var _this = this;
|
|
@@ -242,4 +247,4 @@ var HeaderEcComponent = /** @class */ (function (_super) {
|
|
|
242
247
|
return HeaderEcComponent;
|
|
243
248
|
}(ComponentHelper));
|
|
244
249
|
export { HeaderEcComponent };
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBdUMscUNBQWU7SUF5QmxELDJCQUNXLE1BQWMsRUFDWCxNQUFpQixFQUNwQixXQUF3QixFQUNyQixjQUE4QixFQUNqQyxhQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxX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USxFQUFFLGVBQWU7WUFDekIsa3JQQUF5Qzs7U0FFNUMsQ0FBQztPQUVXLGlCQUFpQixDQXlMN0I7SUFBRCx3QkFBQztDQUFBLEFBekxELENBQXVDLGVBQWUsR0F5THJEO1NBekxZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBFdmVudCwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRISVNfRVhQUiB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9uYXZiYXItaXRlbXMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1ldGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5kZWNsYXJlIHZhciAkOiBhbnlcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtaGVhZGVyLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9oZWFkZXItZWMuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEhlYWRlckVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHRyYW5zcGFyZW50OiBib29sZWFuO1xuICAgIG1lZGlhTWVudTogYm9vbGVhbjtcblxuICAgIC8vb2cgZWxkZW5cbiAgICBwdWJsaWMgbWVudUl0ZW1zOiBNZW51W10gPSBbXTtcbiAgICBwdWJsaWMgbWVudUl0ZW1zU2VjdGlvbnM6IE1lbnVbXSA9IFtdO1xuXG4gICAgcHVibGljIHNlY3Rpb25zID0gW107XG4gICAgcHVibGljIGF0dHJpYnV0ZXM6IE1lbnVbXSA9IFtdO1xuICAgIHB1YmxpYyBjYXRlZ29yaWVzOiBNZW51W10gPSBbXTtcbiAgICBwdWJsaWMgZW52ZXRVcmxUcmFuc3BhcmVudCA9IFtcIi9ob21lXCIsIFwiL1wiXTtcbiAgICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZztcbiAgICBwdWJsaWMgcGFyYW1zOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgdG9nZ2xlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBtZWRpYVVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBjdXJyZW5jaWVzOiBhbnk7XG4gICAgcHVibGljIGJhbGFuY2VBdHRyaWJ1dGVzOiBhbnk7XG4gICAgcHJpdmF0ZSBiYWxhbmNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHVibGljIGxvY2FsZXM6IGFueVtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkTG9jYWxlOiBzdHJpbmcgPSAnRVNQJztcblxuICAgIEBWaWV3Q2hpbGQoXCJtZW51XCIpIG1lbnVfYnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcGFyYW1zU2VydmljZTogUGFyYW1ldGVyc1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2hhbm5lbENvbmZpZ1NlcnZpY2U6IENoYW5uZWxDb25maWdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZW52ZXRVcmxUcmFuc3BhcmVudCA9IHRoaXMuY2hhbmdlVXJsVHJhbnNwYXJlbnQodGhpcy5lbnZldFVybFRyYW5zcGFyZW50KVxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVVybE5hdmlnYXRpb24odXJsKVxuICAgICAgICAgICAgICAgIHRoaXMuZW52ZXRVcmxUcmFuc3BhcmVudC5maW5kKGV2VXJsID0+IGV2VXJsID09PSB1cmwpICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNwYXJlbnQgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy50cmFuc3BhcmVudCA9IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBtZW51XG4gICAgICAgIHRoaXMub3B0aW9uc1NlcnZpY2UuY2F0ZWdvcmllcy5waXBlKGZpbHRlcihjYXQgPT4gY2F0Lmxlbmd0aCA+IDApKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTWVudUl0ZW0oJ2NhdGVnb3JpZXMnLCByZXMpXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZUNhdGVnb3JpZXMocmVzKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vcHRpb25zU2VydmljZS5hdHRyaWJ1dGVzLnBpcGUoZmlsdGVyKGF0ciA9PiBhdHIubGVuZ3RoID4gMCkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNZW51SXRlbSgnYXR0cmlidXRlcycsIHJlcylcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQXR0cmlidXRlcyhyZXMpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9wdGlvbnNTZXJ2aWNlLnNlY3Rpb25zLnN1YnNjcmliZShyZXMgPT4gKHJlcy5sZW5ndGggPiAwKSAmJiB0aGlzLnVwZGF0ZU1lbnVJdGVtU2VjdGlvbihyZXMpKTtcblxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuXG4gICAgICAgIHRoaXMubWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVNZW51SXRlbVNlY3Rpb24gPSAoZWxlbWVudHMpID0+IHtcbiAgICAgICAgdGhpcy5tZW51SXRlbXNTZWN0aW9ucyA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KGVsZW1lbnRzKTtcbiAgICAgICAgdGhpcy5tZW51SXRlbXNTZWN0aW9ucyA9IHRoaXMuZWNVcGRhdGVNZW51SXRlbVNlY3Rpb24odGhpcy5tZW51SXRlbXNTZWN0aW9ucylcbiAgICAgICAgdGhpcy5zZWN0aW9ucyA9IHRoaXMubWVudUl0ZW1zU2VjdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGVjVXBkYXRlTWVudUl0ZW1TZWN0aW9uID0gKG1lbnVJdGVtcykgPT4ge1xuICAgICAgICByZXR1cm4gbWVudUl0ZW1zXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyYW1zU2VydmljZS5wYXJhbWV0ZXJzLnN1YnNjcmliZShyZXMgPT4gdGhpcy5wYXJhbXMgPSByZXMpO1xuICAgICAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk5MnB4KScpO1xuICAgICAgICB0aGlzLm1lZGlhTWVudSA9IG1lZGlhUXVlcnkubWF0Y2hlcztcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0JhbGFuY2UoKTtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5sb2NhbGVzLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZXMgPSByZXM7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2NhbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYWxlID0gdGhpcy5sb2NhbGVzWzBdLm5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVNZW51SXRlbSA9ICh0aXRsZSwgZWxlbWVudHMpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1lbnVJdGVtcy5maW5kSW5kZXgoZWxlbWVudCA9PiBlbGVtZW50LnRpdGxlID09IHRpdGxlKTtcbiAgICAgICAgaWYgKGluZGV4ICE9IG51bGwgJiYgaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbXNbaW5kZXhdLmNoaWxkcmVuID0gdGhpcy5vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUoZWxlbWVudHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRpdGxlID09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlcy5wdXNoKC4uLnRoaXMub3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KGVsZW1lbnRzKSlcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXMgPSB0aGlzLnVwZGF0ZU1lbnVJdGVtTGFzdENyZWF0ZWQodGhpcy5hdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aXRsZSA9PSAnY2F0ZWdvcmllcycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMucHVzaCguLi50aGlzLm9wdGlvbnNTZXJ2aWNlLmdlbmVyYXRlTWVudShlbGVtZW50cykpXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzID0gdGhpcy51cGRhdGVNZW51SXRlbUxhc3RDcmVhdGVkKHRoaXMuY2F0ZWdvcmllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYWdpdmF0ZSA9ICh1cmw6IHN0cmluZykgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgLyR7dXJsfWApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRlcm1pbmEgbGEgc2VzaW9uIGRlbCB1c3VhcmlvIHkgcmVkaXJpZ2UgcG9yIGRlZmVjdG8gYWwgaG9tZVxuICAgICAqIEBwYXJhbSBwYXRoIHBhcmEgaW5kaWNhciBhIGRvbmRlIHJlZGlyZWNjaW9uYXIuXG4gICAgICovXG4gICAgbG9nb3V0ID0gKHBhdGg6IHN0cmluZyA9ICdob21lJykgPT4ge1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpO1xuICAgIH1cblxuICAgIHNldFNlYXJjaFZhbHVlID0gKGV2ZW50LCBhZnRlclNlYXJjaD86IEZ1bmN0aW9uLCAuLi5hcmdzKSA9PiB7XG4gICAgICAgIC8vIFByaW1lcm8gYWN0dWFsaXphbW9zIGVsIHZhbG9yIGRlIGLDunNxdWVkYVxuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG4gICAgICAgIC8vIFZlcmlmaWNhbW9zIHNpIGxhIHRlY2xhIHByZXNpb25hZGEgZXMgXCJFbnRlclwiXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIC8vIExsYW1hbW9zIGEgZ2V0Q29sbGVjdGlvblNlYXJjaFxuICAgICAgICAgICAgdGhpcy5nZXRDb2xsZWN0aW9uU2VhcmNoKCk7XG5cbiAgICAgICAgICAgIC8vIFNpIHNlIHByb3BvcmNpb25hLCBsbGFtYW1vcyBhIGFmdGVyU2VhcmNoIGNvbiBsb3MgYXJndW1lbnRvc1xuICAgICAgICAgICAgaWYgKGFmdGVyU2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgYWZ0ZXJTZWFyY2goLi4uYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDb2xsZWN0aW9uU2VhcmNoID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnN0cy5zZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9jb2xsZWN0aW9uP3NlYXJjaD0nICsgdGhpcy5zZWFyY2hWYWx1ZSk7XG4gICAgfVxuXG5cblxuICAgIHRvb2dsZVRvb2xiYXIgPSAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdMTEFNQSBBTCBUT09HTEUnKVxuICAgICAgICBpZiAodGhpcy5tZW51X2J1dHRvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZC1ub25lJykpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5tZW51X2J1dHRvbiwgJ2Qtbm9uZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm1lbnVfYnV0dG9uLCAnYWN0aXZlLW1vYmlsZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm1lbnVfYnV0dG9uLCAnZC1ub25lJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubWVudV9idXR0b24sICdhY3RpdmUtbW9iaWxlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VMYW5ndWFnZSA9IChsYW5nKSA9PiB7XG4gICAgICAgIHRoaXMuY29uc3RzLnNldExvY2FsZShsYW5nKVxuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICB9XG5cbiAgICBjaGFuZ2VVcmxUcmFuc3BhcmVudCA9ICh1cmxUcmFuc3BhcmVudCA9IFtdKSA9PiB1cmxUcmFuc3BhcmVudFxuXG4gICAgc3Vic2NyaWJlQXR0cmlidXRlcyA9IChhcnJheUF0dHJpYnV0ZXM6IEFycmF5PGFueT4pID0+IHtcblxuICAgIH1cblxuICAgIHN1YnNjcmliZUNhdGVnb3JpZXMgPSAoYXJyYXlDYXRlZ29yaWVzOiBBcnJheTxhbnk+KSA9PiB7XG5cbiAgICB9XG5cbiAgICB1cGRhdGVNZW51SXRlbUxhc3RDcmVhdGVkID0gKGFycmF5TWVudTogTWVudVtdKSA9PiBhcnJheU1lbnVcblxuICAgIGNoYW5nZVVybE5hdmlnYXRpb24gPSAodXJsOiBzdHJpbmcpID0+IHsgfVxuXG4gICAgcHVibGljIGFkZENoaWxkcmVuID0gKG1lbnVJdGVtcywgY29kZSwgaXRlbSwgc3RhY2tQbGFjZSA9ICdlbmQnKSA9PiB7XG4gICAgICAgIChzdGFja1BsYWNlID09ICdzdGFydCcpXG4gICAgICAgICAgICA/IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4udW5zaGlmdChcbiAgICAgICAgICAgICAgICB7IGNvZGU6ICdzZCcsIG5hbWU6ICdzZCcsIHBhdGg6ICcvaG9tZScsIHRpdGxlOiAnc2QnLCAuLi5pdGVtIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogbWVudUl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY29kZSkpPy5jaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgICAgIHsgY29kZTogJ3NkJywgbmFtZTogJ3NkJywgcGF0aDogJy9ob21lJywgdGl0bGU6ICdzZCcsIC4uLml0ZW0gfVxuICAgICAgICAgICAgKVxuICAgIH1cblxuICAgIGhhc1BhcmFtcyA9IChwYXJhbXMsIHNlYXJjaGVkKSA9PiBwYXJhbXMgJiYgcGFyYW1zLmZpbmQocGFyYW0gPT4gcGFyYW0uY29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaGVkKSk7XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlVG9CYWxhbmNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJhbGFuY2VTdWJzY3JpcHRpb24gPSB0aGlzLmNhcnRTZXJ2aWNlLmJhbGFuY2VDdXN0b21lciQuc3Vic2NyaWJlKGJhbGFuY2VEYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMuYmFsYW5jZUF0dHJpYnV0ZXMgPSBiYWxhbmNlRGF0YTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBdUMscUNBQWU7SUEwQmxELDJCQUNXLE1BQWMsRUFDWCxNQUFpQixFQUNwQixXQUF3QixFQUNyQixjQUE4QixFQUNqQyxhQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxX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Q1AsV0FBVztnQkFDTCxjQUFjO2dCQUNsQixpQkFBaUI7Z0JBQ2YsZUFBZTtnQkFDbkIsV0FBVztnQkFDYixnQkFBZ0I7Z0JBQ2QsU0FBUztnQkFDQyxvQkFBb0I7O0lBWm5DO1FBQWxCLFNBQVMsQ0FBQyxNQUFNLENBQUM7MERBQXlCO0lBeEJsQyxpQkFBaUI7UUFON0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGVBQWU7WUFDekIsa3JQQUF5Qzs7U0FFNUMsQ0FBQztPQUVXLGlCQUFpQixDQThMN0I7SUFBRCx3QkFBQztDQUFBLEFBOUxELENBQXVDLGVBQWUsR0E4THJEO1NBOUxZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBFdmVudCwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRISVNfRVhQUiB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9uYXZiYXItaXRlbXMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1ldGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5kZWNsYXJlIHZhciAkOiBhbnlcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtaGVhZGVyLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9oZWFkZXItZWMuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEhlYWRlckVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHRyYW5zcGFyZW50OiBib29sZWFuO1xuICAgIG1lZGlhTWVudTogYm9vbGVhbjtcblxuICAgIC8vb2cgZWxkZW5cbiAgICBwdWJsaWMgbWVudUl0ZW1zOiBNZW51W10gPSBbXTtcbiAgICBwdWJsaWMgbWVudUl0ZW1zU2VjdGlvbnM6IE1lbnVbXSA9IFtdO1xuXG4gICAgcHVibGljIHNlY3Rpb25zID0gW107XG4gICAgcHVibGljIGF0dHJpYnV0ZXM6IE1lbnVbXSA9IFtdO1xuICAgIHB1YmxpYyBjYXRlZ29yaWVzOiBNZW51W10gPSBbXTtcbiAgICBwdWJsaWMgZW52ZXRVcmxUcmFuc3BhcmVudCA9IFtcIi9ob21lXCIsIFwiL1wiXTtcbiAgICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZztcbiAgICBwdWJsaWMgcGFyYW1zOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgdG9nZ2xlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBtZWRpYVVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBjdXJyZW5jaWVzOiBhbnk7XG4gICAgcHVibGljIGJhbGFuY2VBdHRyaWJ1dGVzOiBhbnk7XG4gICAgcHJpdmF0ZSBiYWxhbmNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHVibGljIGxvY2FsZXM6IGFueVtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkTG9jYWxlOiBzdHJpbmcgPSAnRVNQJztcbiAgICBwdWJsaWMgaGlkZVByaWNlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZChcIm1lbnVcIikgbWVudV9idXR0b246IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBvcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBwYXJhbXNTZXJ2aWNlOiBQYXJhbWV0ZXJzU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbnZldFVybFRyYW5zcGFyZW50ID0gdGhpcy5jaGFuZ2VVcmxUcmFuc3BhcmVudCh0aGlzLmVudmV0VXJsVHJhbnNwYXJlbnQpXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gZXZlbnQudXJsO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlVXJsTmF2aWdhdGlvbih1cmwpXG4gICAgICAgICAgICAgICAgdGhpcy5lbnZldFVybFRyYW5zcGFyZW50LmZpbmQoZXZVcmwgPT4gZXZVcmwgPT09IHVybCkgIT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy50cmFuc3BhcmVudCA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRyYW5zcGFyZW50ID0gZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIG1lbnVcbiAgICAgICAgdGhpcy5vcHRpb25zU2VydmljZS5jYXRlZ29yaWVzLnBpcGUoZmlsdGVyKGNhdCA9PiBjYXQubGVuZ3RoID4gMCkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNZW51SXRlbSgnY2F0ZWdvcmllcycsIHJlcylcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQ2F0ZWdvcmllcyhyZXMpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9wdGlvbnNTZXJ2aWNlLmF0dHJpYnV0ZXMucGlwZShmaWx0ZXIoYXRyID0+IGF0ci5sZW5ndGggPiAwKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1lbnVJdGVtKCdhdHRyaWJ1dGVzJywgcmVzKVxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBdHRyaWJ1dGVzKHJlcylcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub3B0aW9uc1NlcnZpY2Uuc2VjdGlvbnMuc3Vic2NyaWJlKHJlcyA9PiAocmVzLmxlbmd0aCA+IDApICYmIHRoaXMudXBkYXRlTWVudUl0ZW1TZWN0aW9uKHJlcykpO1xuXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG5cbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZU1lbnVJdGVtU2VjdGlvbiA9IChlbGVtZW50cykgPT4ge1xuICAgICAgICB0aGlzLm1lbnVJdGVtc1NlY3Rpb25zID0gdGhpcy5vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUoZWxlbWVudHMpO1xuICAgICAgICB0aGlzLm1lbnVJdGVtc1NlY3Rpb25zID0gdGhpcy5lY1VwZGF0ZU1lbnVJdGVtU2VjdGlvbih0aGlzLm1lbnVJdGVtc1NlY3Rpb25zKVxuICAgICAgICB0aGlzLnNlY3Rpb25zID0gdGhpcy5tZW51SXRlbXNTZWN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZWNVcGRhdGVNZW51SXRlbVNlY3Rpb24gPSAobWVudUl0ZW1zKSA9PiB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXNcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJhbXNTZXJ2aWNlLnBhcmFtZXRlcnMuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnBhcmFtcyA9IHJlcyk7XG4gICAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTkycHgpJyk7XG4gICAgICAgIHRoaXMubWVkaWFNZW51ID0gbWVkaWFRdWVyeS5tYXRjaGVzO1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvQmFsYW5jZSgpO1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWdTZXJ2aWNlLmxvY2FsZXMuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxlcyA9IHJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLmxvY2FsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhbGUgPSB0aGlzLmxvY2FsZXNbMF0ubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGVQcmljZXMgPSBjaGFubmVsPy5oaWRlUHJpY2VzID8/IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlTWVudUl0ZW0gPSAodGl0bGUsIGVsZW1lbnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tZW51SXRlbXMuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC50aXRsZSA9PSB0aXRsZSk7XG4gICAgICAgIGlmIChpbmRleCAhPSBudWxsICYmIGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1zW2luZGV4XS5jaGlsZHJlbiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KGVsZW1lbnRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aXRsZSA9PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXMucHVzaCguLi50aGlzLm9wdGlvbnNTZXJ2aWNlLmdlbmVyYXRlTWVudShlbGVtZW50cykpXG4gICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzID0gdGhpcy51cGRhdGVNZW51SXRlbUxhc3RDcmVhdGVkKHRoaXMuYXR0cmlidXRlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGl0bGUgPT0gJ2NhdGVnb3JpZXMnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLnB1c2goLi4udGhpcy5vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUoZWxlbWVudHMpKVxuICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IHRoaXMudXBkYXRlTWVudUl0ZW1MYXN0Q3JlYXRlZCh0aGlzLmNhdGVnb3JpZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmFnaXZhdGUgPSAodXJsOiBzdHJpbmcpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC8ke3VybH1gKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXJtaW5hIGxhIHNlc2lvbiBkZWwgdXN1YXJpbyB5IHJlZGlyaWdlIHBvciBkZWZlY3RvIGFsIGhvbWVcbiAgICAgKiBAcGFyYW0gcGF0aCBwYXJhIGluZGljYXIgYSBkb25kZSByZWRpcmVjY2lvbmFyLlxuICAgICAqL1xuICAgIGxvZ291dCA9IChwYXRoOiBzdHJpbmcgPSAnaG9tZScpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKTtcbiAgICB9XG5cbiAgICBzZXRTZWFyY2hWYWx1ZSA9IChldmVudCwgYWZ0ZXJTZWFyY2g/OiBGdW5jdGlvbiwgLi4uYXJncykgPT4ge1xuICAgICAgICAvLyBQcmltZXJvIGFjdHVhbGl6YW1vcyBlbCB2YWxvciBkZSBiw7pzcXVlZGFcbiAgICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcblxuICAgICAgICAvLyBWZXJpZmljYW1vcyBzaSBsYSB0ZWNsYSBwcmVzaW9uYWRhIGVzIFwiRW50ZXJcIlxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAvLyBMbGFtYW1vcyBhIGdldENvbGxlY3Rpb25TZWFyY2hcbiAgICAgICAgICAgIHRoaXMuZ2V0Q29sbGVjdGlvblNlYXJjaCgpO1xuXG4gICAgICAgICAgICAvLyBTaSBzZSBwcm9wb3JjaW9uYSwgbGxhbWFtb3MgYSBhZnRlclNlYXJjaCBjb24gbG9zIGFyZ3VtZW50b3NcbiAgICAgICAgICAgIGlmIChhZnRlclNlYXJjaCkge1xuICAgICAgICAgICAgICAgIGFmdGVyU2VhcmNoKC4uLmFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29sbGVjdGlvblNlYXJjaCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25zdHMuc2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY29sbGVjdGlvbj9zZWFyY2g9JyArIHRoaXMuc2VhcmNoVmFsdWUpO1xuICAgIH1cblxuXG5cbiAgICB0b29nbGVUb29sYmFyID0gKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnTExBTUEgQUwgVE9PR0xFJylcbiAgICAgICAgaWYgKHRoaXMubWVudV9idXR0b24ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2Qtbm9uZScpKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubWVudV9idXR0b24sICdkLW5vbmUnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5tZW51X2J1dHRvbiwgJ2FjdGl2ZS1tb2JpbGUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5tZW51X2J1dHRvbiwgJ2Qtbm9uZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm1lbnVfYnV0dG9uLCAnYWN0aXZlLW1vYmlsZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlTGFuZ3VhZ2UgPSAobGFuZykgPT4ge1xuICAgICAgICB0aGlzLmNvbnN0cy5zZXRMb2NhbGUobGFuZylcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXG4gICAgfVxuXG4gICAgY2hhbmdlVXJsVHJhbnNwYXJlbnQgPSAodXJsVHJhbnNwYXJlbnQgPSBbXSkgPT4gdXJsVHJhbnNwYXJlbnRcblxuICAgIHN1YnNjcmliZUF0dHJpYnV0ZXMgPSAoYXJyYXlBdHRyaWJ1dGVzOiBBcnJheTxhbnk+KSA9PiB7XG5cbiAgICB9XG5cbiAgICBzdWJzY3JpYmVDYXRlZ29yaWVzID0gKGFycmF5Q2F0ZWdvcmllczogQXJyYXk8YW55PikgPT4ge1xuXG4gICAgfVxuXG4gICAgdXBkYXRlTWVudUl0ZW1MYXN0Q3JlYXRlZCA9IChhcnJheU1lbnU6IE1lbnVbXSkgPT4gYXJyYXlNZW51XG5cbiAgICBjaGFuZ2VVcmxOYXZpZ2F0aW9uID0gKHVybDogc3RyaW5nKSA9PiB7IH1cblxuICAgIHB1YmxpYyBhZGRDaGlsZHJlbiA9IChtZW51SXRlbXMsIGNvZGUsIGl0ZW0sIHN0YWNrUGxhY2UgPSAnZW5kJykgPT4ge1xuICAgICAgICAoc3RhY2tQbGFjZSA9PSAnc3RhcnQnKVxuICAgICAgICAgICAgPyBtZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjb2RlKSk/LmNoaWxkcmVuLnVuc2hpZnQoXG4gICAgICAgICAgICAgICAgeyBjb2RlOiAnc2QnLCBuYW1lOiAnc2QnLCBwYXRoOiAnL2hvbWUnLCB0aXRsZTogJ3NkJywgLi4uaXRlbSB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgICA6IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4ucHVzaChcbiAgICAgICAgICAgICAgICB7IGNvZGU6ICdzZCcsIG5hbWU6ICdzZCcsIHBhdGg6ICcvaG9tZScsIHRpdGxlOiAnc2QnLCAuLi5pdGVtIH1cbiAgICAgICAgICAgIClcbiAgICB9XG5cbiAgICBoYXNQYXJhbXMgPSAocGFyYW1zLCBzZWFyY2hlZCkgPT4gcGFyYW1zICYmIHBhcmFtcy5maW5kKHBhcmFtID0+IHBhcmFtLmNvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hlZCkpO1xuXG4gICAgcHJvdGVjdGVkIHN1YnNjcmliZVRvQmFsYW5jZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYWxhbmNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXJ0U2VydmljZS5iYWxhbmNlQ3VzdG9tZXIkLnN1YnNjcmliZShiYWxhbmNlRGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJhbGFuY2VBdHRyaWJ1dGVzID0gYmFsYW5jZURhdGE7XG4gICAgICAgIH0pO1xuICAgIH1cbn0iXX0=
|
|
@@ -64,6 +64,7 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
64
64
|
_this.focusImage = null;
|
|
65
65
|
_this.owlOptions = {};
|
|
66
66
|
_this.showReviews = false;
|
|
67
|
+
_this.hidePrices = false;
|
|
67
68
|
_this.addToCart = function () {
|
|
68
69
|
_this.quantity > 0 && _this.productService.addToCart(_this.quantity);
|
|
69
70
|
};
|
|
@@ -144,7 +145,9 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
144
145
|
_this.changeImgFocus(productParam.picturesdefault[0]);
|
|
145
146
|
});
|
|
146
147
|
_this.injector.get(ChannelConfigService).channelConfig$.subscribe(function (channel) {
|
|
148
|
+
var _a, _b;
|
|
147
149
|
_this.showReviews = channel.showReviews;
|
|
150
|
+
_this.hidePrices = (_b = (_a = channel) === null || _a === void 0 ? void 0 : _a.hidePrices, (_b !== null && _b !== void 0 ? _b : false));
|
|
148
151
|
});
|
|
149
152
|
_this.ecOnConstruct();
|
|
150
153
|
return _this;
|
|
@@ -189,4 +192,4 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
189
192
|
return ProductDetailEcComponent;
|
|
190
193
|
}(ComponentHelper));
|
|
191
194
|
export { ProductDetailEcComponent };
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFnQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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LENBQUMsQ0FBQztRQUNILEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTs7SUFFeEIsQ0FBQztJQUVBLDZDQUFVLEdBQVYsVUFBVyxNQUFjO1FBQ3pCLCtDQUErQztRQUMvQyxJQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNwQywwREFBMEQ7UUFDMUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRSwyQ0FBUSxHQUFSO1FBQ0ksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFXRCx5Q0FBTSxHQUFOO1FBQ0ksSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDO1FBQ25ELEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOztnQkF0RTBCLG9CQUFvQjtnQkFDNUIsU0FBUztnQkFDQSxjQUFjO2dCQUNsQixXQUFXO2dCQUNSLGNBQWM7Z0JBQ2IsZUFBZTtnQkFDZCxnQkFBZ0I7Z0JBQzFCLE1BQU07Z0JBQ0ksWUFBWTtnQkFDdkIsSUFBSTtnQkFDRCxRQUFROztJQWJQO1FBQXJCLFNBQVMsQ0FBQyxTQUFTLENBQUM7NkRBQXFCO0lBZGpDLHdCQUF3QjtRQU5wQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFlBQWlEO1lBRWpELFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztTQUNwQyxDQUFDO09BQ1csd0JBQXdCLENBdUlwQztJQUFELCtCQUFDO0NBQUEsQUF2SUQsQ0FBOEMsZUFBZSxHQXVJNUQ7U0F2SVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdC1kZXRhaWwuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1kZXRhaWwtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtQcm9kdWN0RGV0YWlsU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHB1YmxpYyBwcm9kdWN0OiBhbnk7XG4gICAgcHVibGljIG1lZGlhVXJsO1xuICAgIHB1YmxpYyBzaG93ID0gZmFsc2U7XG4gICAgcHVibGljIHF1YW50aXR5ID0gMTtcbiAgICBwdWJsaWMgYnJlYWRjcnVtYiA9IFtdO1xuICAgIHB1YmxpYyBjYXJvdXNlbDogYW55O1xuICAgIHB1YmxpYyBjb2RlID0gbnVsbDtcbiAgICBwdWJsaWMgZm9jdXNJbWFnZTogc3RyaW5nID0gbnVsbFxuICAgIHB1YmxpYyBvd2xPcHRpb25zID0ge31cbiAgICBwdWJsaWMgc2hvd1Jldmlld3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCl7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pXG4gICAgICAgICAgICB9IGVsc2V7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1iID0gdGhpcy5vcHRpb25zU2VydmljZS5nZXRCcmVhZGNydW1iKHRoaXMucHJvZHVjdC5jYXRlZ29yeSk7XG4gICAgICAgICAgICBpZih0aGlzLnByb2R1Y3QubmFtZSl7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IHRoaXMuZGVsZXRlSFRNTCh0aGlzLnByb2R1Y3QuZGVzY3JpcHRpb24pIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogdGhpcy5jb25zdHMubWVkaWFVcmwoKSArIHRoaXMucHJvZHVjdC5waWN0dXJlc2RlZmF1bHRbMF0gfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiB3aW5kb3cubG9jYXRpb24uaHJlZiB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UucHJvZHVjdCQucGlwZShmaWx0ZXIoZGF0YSA9PiBkYXRhICYmIGRhdGEuaWQgJiYgZGF0YS5pZCAhPSAwKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHByb2R1Y3RQYXJhbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3ZpZXdfaXRlbScsIHsgLi4ucHJvZHVjdFBhcmFtLCBjdXJyZW5jeTogdGhpcy5jb25zdHMuY3VycmVuY3kuY29kZSB9KVxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlSW1nRm9jdXMocHJvZHVjdFBhcmFtLnBpY3R1cmVzZGVmYXVsdFswXSl9XG4gICAgICAgIClcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbENvbmZpZ1NlcnZpY2UpLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jldmlld3MgPSBjaGFubmVsLnNob3dSZXZpZXdzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcblxuICAgIH1cblxuICAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXG4gICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xuICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxuICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xuIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPiAwICYmIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkpO1xuICAgIH1cblxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcbiAgICB9XG5cbiAgICBzY3JvbGwoKSB7XG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cblxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIHN0b2NrIGRlYmUgcmVjaWJpciB1biBudW1iZXIgcXVlIGNvbnRlbmdhIGVsIHN0b2NrIGRpc3BvbmlibGUuXG4gICAgICogQHBhcmFtIG11bHRpcGxlUXVhbnRpdHkgZGViZSByZWNpYmlyIGVsIG11bHRpcGxvIGRlIGNhbnRpZGFkIHF1ZSBzZSBxdWllcmEgaW5jcmVtZW50YXIuXG4gICAgICovXG4gICAgcGx1cyA9IChzdG9jaz86YW55LCBtdWx0aXBsZVF1YW50aXR5PzphbnkpID0+IHtcblxuICAgICAgICBpZihtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwKXtcbiAgICAgICAgICAgIHN0b2NrID8gKHRoaXMucXVhbnRpdHkgPCBzdG9jayA/IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgbXVsdGlwbGVRdWFudGl0eSA6IHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKSlcbiAgICAgICAgICAgICAgICAgICA6IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgbXVsdGlwbGVRdWFudGl0eTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBzdG9jayA/ICh0aGlzLnF1YW50aXR5IDwgc3RvY2sgPyB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIDEgOiB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5JykpXG4gICAgICAgICAgICAgICAgICAgOiB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYmxlIHF1YW50aXR5IHJlc3RhbmRvbGUgJ3gnIGNvbnRlbmlkby5cbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVRdWFudGl0eSBkZWJlIHJlY2liaXIgZWwgbXVsdGlwbG8gZGUgY2FudGlkYWQgcXVlIHNlIHF1aWVyYSBkZWNyZW1lbnRhci5cbiAgICAgKi9cbiAgICBsZXNzID0gKG11bHRpcGxlUXVhbnRpdHk/OmFueSkgPT4ge1xuICAgICAgICBpZihtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwKXtcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPiBtdWx0aXBsZVF1YW50aXR5ID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgLSBtdWx0aXBsZVF1YW50aXR5IDogbnVsbFxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPiAxID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgLSAxIDogbnVsbFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd0NvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSB0cnVlO1xuICAgIGhpZGVDb250YWN0ID0gKCkgPT4gdGhpcy5zaG93ID0gZmFsc2U7XG5cbiAgICB0aGVyZUlzTW9yZUluZm8gPSAocHJvZHVjdDogYW55KSA9PiB7XG4gICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgIGlmIChwcm9kdWN0Py5zcGVjaWFsX21hcmsgJiYgcHJvZHVjdD8uc3BlY2lhbF9tYXJrLmxlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gcHJvZHVjdD8uc3BlY2lhbF9tYXJrPy5maW5kKHNwZWNpYWxfbWFyayA9PiBzcGVjaWFsX21hcmsudHlwZSA9PSAnbW9yZV9pbmZvJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjaGFuZ2VJbWdGb2N1cyA9IChpbWcpID0+IHtcbiAgICAgICAgdGhpcy5mb2N1c0ltYWdlID0gaW1nXG4gICAgfVxufVxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFpQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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QU8sQ0FBQyxXQUFXLENBQUM7WUFDdkMsS0FBSSxDQUFDLFVBQVUsZUFBRyxPQUFPLDBDQUFFLFVBQVUsdUNBQUksS0FBSyxFQUFBLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7O0lBRXhCLENBQUM7SUFFRCw2Q0FBVSxHQUFWLFVBQVcsTUFBYztRQUNyQiwrQ0FBK0M7UUFDL0MsSUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDcEMsMERBQTBEO1FBQzFELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsMkNBQVEsR0FBUjtRQUNJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBV0QseUNBQU0sR0FBTjtRQUNJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUNuRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Z0JBeEUwQixvQkFBb0I7Z0JBQzVCLFNBQVM7Z0JBQ0EsY0FBYztnQkFDbEIsV0FBVztnQkFDUixjQUFjO2dCQUNiLGVBQWU7Z0JBQ2QsZ0JBQWdCO2dCQUMxQixNQUFNO2dCQUNJLFlBQVk7Z0JBQ3ZCLElBQUk7Z0JBQ0QsUUFBUTs7SUFiUDtRQUFyQixTQUFTLENBQUMsU0FBUyxDQUFDOzZEQUFxQjtJQWZqQyx3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxZQUFpRDtZQUVqRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7U0FDcEMsQ0FBQztPQUNXLHdCQUF3QixDQTBJcEM7SUFBRCwrQkFBQztDQUFBLEFBMUlELENBQThDLGVBQWUsR0EwSTVEO1NBMUlZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICAgIHB1YmxpYyBtZWRpYVVybDtcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWFudGl0eSA9IDE7XG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kdWN0Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiB0aGlzLmRlbGV0ZUhUTUwodGhpcy5wcm9kdWN0LmRlc2NyaXB0aW9uKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxDb25maWdTZXJ2aWNlKS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9IGNoYW5uZWw/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuXG4gICAgfVxuXG4gICAgZGVsZXRlSFRNTChjYWRlbmE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEV4cHJlc2nDs24gcmVndWxhciBwYXJhIGJ1c2NhciBldGlxdWV0YXMgSFRNTFxuICAgICAgICBjb25zdCBleHByZXNpb25SZWd1bGFyID0gLzxbXj5dKj4vZztcbiAgICAgICAgLy8gUmVlbXBsYXphIHRvZGFzIGxhcyBldGlxdWV0YXMgSFRNTCBwb3IgdW5hIGNhZGVuYSB2YWPDrWFcbiAgICAgICAgcmV0dXJuIGNhZGVuYS5yZXBsYWNlKGV4cHJlc2lvblJlZ3VsYXIsICcnKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgYWRkVG9DYXJ0ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnF1YW50aXR5ID4gMCAmJiB0aGlzLnByb2R1Y3RTZXJ2aWNlLmFkZFRvQ2FydCh0aGlzLnF1YW50aXR5KTtcbiAgICB9XG5cbiAgICBhZGRBbGxQcm9kdWN0b3NUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMucHJvZHVjdC5wcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQ/LmZpbHRlcihwcm9kID0+IHByb2QucHJvZHVjdFRvQ2FydEl0ZW0pLm1hcChwcm9kID0+IHByb2QucHJvZHVjdFRvQ2FydEl0ZW0pXG4gICAgICAgIGl0ZW1zPy5sZW5ndGggJiYgdGhpcy5jYXJ0U2VydmljZS5hZGRBbGxUb0NhcnQoaXRlbXMpXG4gICAgfVxuXG4gICAgc2Nyb2xsKCkge1xuICAgICAgICBsZXQgZWwgPSB0aGlzLmNvbnRhY3QubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICB9XG5cbiAgICBzYXZlUmVmID0gKGNhcm91c2VsKSA9PiB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWwgPSBjYXJvdXNlbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlhYmxlIHF1YW50aXR5IHN1bWFuZG9sZSAneCcgY29udGVuaWRvLlxuICAgICAqIEBwYXJhbSBzdG9jayBkZWJlIHJlY2liaXIgdW4gbnVtYmVyIHF1ZSBjb250ZW5nYSBlbCBzdG9jayBkaXNwb25pYmxlLlxuICAgICAqIEBwYXJhbSBtdWx0aXBsZVF1YW50aXR5IGRlYmUgcmVjaWJpciBlbCBtdWx0aXBsbyBkZSBjYW50aWRhZCBxdWUgc2UgcXVpZXJhIGluY3JlbWVudGFyLlxuICAgICAqL1xuICAgIHBsdXMgPSAoc3RvY2s/OiBhbnksIG11bHRpcGxlUXVhbnRpdHk/OiBhbnkpID0+IHtcblxuICAgICAgICBpZiAobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID4gMCkge1xuICAgICAgICAgICAgc3RvY2sgPyAodGhpcy5xdWFudGl0eSA8IHN0b2NrID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgKyBtdWx0aXBsZVF1YW50aXR5IDogdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxuICAgICAgICAgICAgICAgIDogdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgKyBtdWx0aXBsZVF1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RvY2sgPyAodGhpcy5xdWFudGl0eSA8IHN0b2NrID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgKyAxIDogdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxuICAgICAgICAgICAgICAgIDogdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgKyAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlibGUgcXVhbnRpdHkgcmVzdGFuZG9sZSAneCcgY29udGVuaWRvLlxuICAgICogQHBhcmFtIG11bHRpcGxlUXVhbnRpdHkgZGViZSByZWNpYmlyIGVsIG11bHRpcGxvIGRlIGNhbnRpZGFkIHF1ZSBzZSBxdWllcmEgZGVjcmVtZW50YXIuXG4gICAgKi9cbiAgICBsZXNzID0gKG11bHRpcGxlUXVhbnRpdHk/OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG11bHRpcGxlUXVhbnRpdHkgJiYgbXVsdGlwbGVRdWFudGl0eSA+IDApIHtcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPiBtdWx0aXBsZVF1YW50aXR5ID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgLSBtdWx0aXBsZVF1YW50aXR5IDogbnVsbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA+IDEgPyB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIDEgOiBudWxsXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XG4gICAgaGlkZUNvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSBmYWxzZTtcblxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKHByb2R1Y3Q/LnNwZWNpYWxfbWFyayAmJiBwcm9kdWN0Py5zcGVjaWFsX21hcmsubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNoYW5nZUltZ0ZvY3VzID0gKGltZykgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcbiAgICB9XG59XG4iXX0=
|