ng-easycommerce-v18 0.0.7 → 0.0.9
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/assets/ec-i18n/es.json +6 -0
- package/esm2022/lib/api/connection.service.mjs +4 -4
- package/esm2022/lib/classes/component-helper.mjs +14 -0
- package/esm2022/lib/classes/filters/filter-factory.mjs +2 -1
- package/esm2022/lib/constants/api.constants.service.mjs +4 -4
- package/esm2022/lib/constants/core.constants.service.mjs +4 -4
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +5 -5
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +27 -22
- package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +10 -9
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +13 -12
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +6 -6
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +5 -5
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +5 -4
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +8 -5
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +35 -18
- package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +159 -12
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/index.mjs +2 -1
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +11 -5
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +5 -5
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +125 -0
- package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +5 -5
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +5 -5
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +4 -4
- package/esm2022/lib/ec-directive/product-off.directive.mjs +4 -4
- package/esm2022/lib/ec-directive/product-stock.directive.mjs +4 -4
- package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +4 -4
- package/esm2022/lib/ec-services/addressing.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/analytics.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/doppler.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +4 -4
- package/esm2022/lib/ec-services/auth.service.mjs +4 -4
- package/esm2022/lib/ec-services/auth.storage.service.mjs +4 -4
- package/esm2022/lib/ec-services/blocks-repository.service.mjs +4 -4
- package/esm2022/lib/ec-services/blocks.service.mjs +4 -4
- package/esm2022/lib/ec-services/cart.service.mjs +4 -4
- package/esm2022/lib/ec-services/channel.service.mjs +4 -4
- package/esm2022/lib/ec-services/checkout.service.mjs +4 -4
- package/esm2022/lib/ec-services/currency.service.mjs +4 -4
- package/esm2022/lib/ec-services/filters.service.mjs +17 -29
- package/esm2022/lib/ec-services/form.service.mjs +4 -4
- package/esm2022/lib/ec-services/local-storage.service.mjs +4 -4
- package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +4 -4
- package/esm2022/lib/ec-services/options.service.mjs +22 -15
- package/esm2022/lib/ec-services/order-utility.service.mjs +4 -4
- package/esm2022/lib/ec-services/orders.service.mjs +4 -4
- package/esm2022/lib/ec-services/pagination.service.mjs +4 -4
- package/esm2022/lib/ec-services/parameters.service.mjs +4 -4
- package/esm2022/lib/ec-services/payment.service.mjs +4 -4
- package/esm2022/lib/ec-services/product-detail.service.mjs +4 -4
- package/esm2022/lib/ec-services/products.service.mjs +15 -17
- package/esm2022/lib/ec-services/re-captcha.service.mjs +4 -4
- package/esm2022/lib/ec-services/shipment.service.mjs +4 -4
- package/esm2022/lib/ec-services/stores.service.mjs +4 -4
- package/esm2022/lib/ec-services/test.service.mjs +4 -4
- package/esm2022/lib/ec-services/toast.service.mjs +4 -4
- package/esm2022/lib/interfaces/filter.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +671 -415
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/classes/component-helper.d.ts +9 -0
- package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +4 -1
- package/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.d.ts +1 -0
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +1 -3
- package/lib/ec-components/header-ec/header-ec.component.d.ts +22 -6
- package/lib/ec-components/index.d.ts +1 -0
- package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +3 -1
- package/lib/ec-components/related-products-ec/related-products-ec.component.d.ts +34 -0
- package/lib/ec-services/filters.service.d.ts +0 -18
- package/lib/ec-services/options.service.d.ts +6 -7
- package/lib/ec-services/products.service.d.ts +0 -1
- package/lib/interfaces/filter.d.ts +2 -1
- package/package.json +1 -1
- package/esm2022/lib/classes/filters/PriceRangeFilter.mjs +0 -48
- package/lib/classes/filters/PriceRangeFilter.d.ts +0 -23
|
@@ -63,13 +63,13 @@ export class OrdersService {
|
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
67
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
66
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrdersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrdersService, providedIn: 'root' });
|
|
68
68
|
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrdersService, decorators: [{
|
|
70
70
|
type: Injectable,
|
|
71
71
|
args: [{
|
|
72
72
|
providedIn: 'root'
|
|
73
73
|
}]
|
|
74
74
|
}] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvb3JkZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSzdDLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLFdBQVcsR0FBcUIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsVUFBVSxHQUF1QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRCxZQUFZLEdBQWUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWxELGNBQWMsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsYUFBYSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxxQkFBcUIsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUUsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU5RCxPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3JCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFHbEMsU0FBUztJQUNULGFBQWEsS0FBSSxPQUFPLFlBQVksSUFBSSxDQUFD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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4vY2FydC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyc1NlcnZpY2Uge1xyXG5cdHByaXZhdGUgX2Nvbm5lY3Rpb246Q29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2FwaUNvbnN0czpBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfY2FydFNlcnZpY2U6Q2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIF9vcmRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcblx0cHJpdmF0ZSBfZXJyb3JTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZE9yZGVyU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG5cclxuXHRwdWJsaWMgb3JkZXJzJCA9IHRoaXMuX29yZGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRPcmRlciQgPSB0aGlzLl9zZWxlY3RlZE9yZGVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHVibGljIGxvYWRpbmc6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNoYW5uZWxDb25maWc6IGFueSA9IHt9O1xyXG5cclxuXHJcblx0Ly9BUEkgVVJMXHJcblx0b3JkZXJzTGlzdGFwaSgpeyByZXR1cm4gYHNob3AtYXBpLyR7dGhpcy5fYXBpQ29uc3RzLkNIQU5ORUx9L29yZGVyc2B9O1xyXG5cclxuXHR1cGRhdGVPcmRlcnMoKSB7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMub3JkZXJzTGlzdGFwaSgpKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcChyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBvcmRlcnMgPSB0aGlzLm1hcE9yZGVyc0FuZEFkZEluZm8ocmVzKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JkZXJzO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29yZGVyc1N1YmplY3QubmV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXJyb3JTdWJqZWN0Lm5leHQoeyBtZXNzYWdlOiAndW5hYmxlLWdldC1vcmRlcnMnIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cdFx0XHR9KVxyXG5cclxuXHR9XHJcblx0bWFwT3JkZXJzQW5kQWRkSW5mbyhvcmRlcnM6YW55KXtcclxuICAgICAgICByZXR1cm4gb3JkZXJzLm1hcCgob3JkZXI6YW55KSA9PiB7XHJcbiAgICAgICAgICAgIG9yZGVyLnRvdGFsID0gb3JkZXIucGF5bWVudHMucmVkdWNlKChhOmFueSwgYjphbnkpID0+IGEgKyBiLnByaWNlLmN1cnJlbnQsIDApO1xyXG4gICAgICAgICAgICByZXR1cm4gb3JkZXI7XHJcbiAgICAgICAgfSlcclxuXHR9XHJcblxyXG4gICAgc2V0U2VsZWN0ZWRPcmRlcihvcmRlcjogYW55KSB7XHJcblx0XHR0aGlzLl9zZWxlY3RlZE9yZGVyU3ViamVjdC5uZXh0KG9yZGVyKTtcclxuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWcgPSAodGhpcy5fY2FydFNlcnZpY2UuY2hhbm5lbENvbmZpZyk7XHJcblx0fVxyXG4gICAgZ2V0T3JkZXJCeU51bWJlcihudW1iZXI6IGFueSkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgXHJcblx0XHR0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLm9yZGVyc0xpc3RhcGkoKSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgb3JkZXJzID0gdGhpcy5tYXBPcmRlcnNBbmRBZGRJbmZvKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JkZXIgPSBvcmRlcnMuZmluZCgob3JkZXI6YW55KSA9PiBvcmRlci5udW1iZXIgPT0gbnVtYmVyKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmRlclN1YmplY3QubmV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXJyb3JTdWJqZWN0Lm5leHQoeyBtZXNzYWdlOiAndW5hYmxlLWdldC1vcmRlcnMnIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cdFx0XHR9KVxyXG5cdH1cclxuICAgIC8qIGZpbmRPcmRlciA9IChvcmRlcl9udW1iZXI6YW55KSA9PlxyXG4gICAgICAgIHRoaXMuX29yZGVyc1N1YmplY3QudmFsdWUgPyB0aGlzLmdldE9yZGVyQnlOdW1iZXIob3JkZXJfbnVtYmVyKSA6IHRoaXMud2FpdFVudGlsT3JkZXJzKG9yZGVyX251bWJlciwgdGhpcy5nZXRPcmRlckJ5TnVtYmVyKTsgKi8gICAgXHJcbn1cclxuIl19
|
|
@@ -158,13 +158,13 @@ export class PaginationService {
|
|
|
158
158
|
})).subscribe();
|
|
159
159
|
return this.nextProducts$;
|
|
160
160
|
}
|
|
161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
162
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
161
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
162
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginationService, providedIn: 'root' });
|
|
163
163
|
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginationService, decorators: [{
|
|
165
165
|
type: Injectable,
|
|
166
166
|
args: [{
|
|
167
167
|
providedIn: 'root'
|
|
168
168
|
}]
|
|
169
169
|
}], ctorParameters: () => [] });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVuRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBRXJCLGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6RCxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMxRCxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ2QsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQ0YsQ0FBQTtJQUVPLGVBQWUsR0FBUSxNQUFNLENBQWE7UUFDakQsVUFBVSxFQUFFLEVBQUU7UUFDZCxRQUFRLEVBQUUsRUFBRTtRQUNaLE9BQU8sRUFBRSxFQUFF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dCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb24sIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuL2ZpbHRlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMnO1xyXG4vKipcclxuICogU2VydmljaW8gcGFyYSBtYW5lamFyIGxhIHBhZ2luYWNpw7NuIGRlIGxvcyBwcm9kdWN0b3MuXHJcbiAqIEBjbGFzcyBQYWdpbmF0aW9uU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblNlcnZpY2Uge1xyXG5cclxuXHRwcml2YXRlIF9jb25uZWN0aW9uU2VydmljZTogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcclxuXHRwdWJsaWMgcGFnaW5hdGlvbkRhdGEkID0gdGhpcy5fZmlsdGVyc1NlcnZpY2UuZmlsdGVycyQucGlwZShcclxuXHRcdHNoYXJlUmVwbGF5KDEpLFxyXG5cdFx0c3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XHJcblx0XHRcdGNvbnN0IHVybCA9IHRoaXMuYnVpbGRVcmwoZmlsdGVycyk7XHJcblx0XHRcdGNvbnNvbGUubG9nKFwicGFnXCIsdXJsKTtcclxuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0RGF0YSh1cmwpO1xyXG5cdFx0fSlcclxuXHQpXHJcblxyXG5cdHByaXZhdGUgX2RhdGFQYWdpbmF0aW9uOiBhbnkgPSBzaWduYWw8UGFnaW5hdGlvbj4oe1xyXG5cdFx0YXR0cmlidXRlczogW10sXHJcblx0XHRjYXRlZ29yeTogW10sXHJcblx0XHRvcHRpb25zOiBbXSxcclxuXHRcdGxpbWl0OiAwLFxyXG5cdFx0cGFnZTogMCxcclxuXHRcdHBhZ2VzOiAwLFxyXG5cdFx0dG90YWw6IDAsXHJcblx0XHRpdGVtczogW10sXHJcblx0XHRjYWxsZWQ6IGZhbHNlXHJcblx0fSk7XHJcblxyXG5cdHByaXZhdGUgX3dhaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwcml2YXRlIF9maW5pc2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHByaXZhdGUgX2FwaVVybDogc3RyaW5nID0gJyc7XHJcblx0cHJpdmF0ZSBfc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSBfbmV4dFByb2R1Y3RzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4oW10pO1xyXG5cdHB1YmxpYyBuZXh0UHJvZHVjdHMkID0gdGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRwdWJsaWMgcmVzZXQkID0gdGhpcy5fcmVzZXRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHByaWNlUmFuZ2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IHByaWNlX21pbjogbnVtYmVyLCBwcmljZV9tYXg6IG51bWJlciB9Pih7IHByaWNlX21pbjogMCwgcHJpY2VfbWF4OiAwIH0pO1xyXG5cdHB1YmxpYyBwcmljZVJhbmdlJCA9IHRoaXMucHJpY2VSYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0XHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogSW5pY2lhbGl6YSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIFNlcnZpY2lvIGRlIFBhZ2luYWNpw7NuLlxyXG5cdCAqIEBwYXJhbSBhcGlVcmwgVXJsIGNvbiBsb3MgZmlsdHJvcyBhcGxpY2Fkb3MuIFxyXG5cdCAqIEBwYXJhbSBsaW1pdCBsaW1pdGUgZGUgcHJvZHVjdG9zIGVuIGNhZGEgcGV0aWNpw7NuLlxyXG5cdCAqL1xyXG5cdGluaXRpYWxpemUoYXBpVXJsOiBzdHJpbmcsIGxpbWl0PzogbnVtYmVyKSB7XHJcblx0XHQvL2NvbnNvbGUubG9nKGFwaVVybClcclxuXHRcdHRoaXMuX2FwaVVybCA9IGFwaVVybDtcclxuXHRcdHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQgPSBsaW1pdCB8fCB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmxpbWl0IHx8IDEwO1xyXG5cdFx0dGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMuX3N0YXJ0ID0gdHJ1ZTtcclxuXHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChbXSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gbG9zIGRhdG9zIGRlIGxhIHNpZ3VpZW50ZSBww6FnaW5hLlxyXG5cdCAqIEBwYXJhbSBuZXh0IFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGdldE5leHQobmV4dD86IGFueSk6IGJvb2xlYW4ge1xyXG5cdFx0dGhpcy5fd2FpdGluZyA9IHRydWU7XHJcblx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQoW10pO1xyXG5cdFx0dGhpcy5fYXBpVXJsID0gdGhpcy5fYXBpVXJsLnJlcGxhY2UoJyUyMCcsICcgJyk7Ly8gbWFzIHBhcmEgY3VhbmRvIGVzIHVuIHNlYXJjaCB2YWx1ZS5cclxuXHRcdGxldCBuZXh0UHJvZHVjdHM7XHJcblx0XHRpZiAodGhpcy5fc3RhcnQpIHtcclxuXHRcdFx0bmV4dFByb2R1Y3RzID0gdGhpcy5fY29ubmVjdGlvblNlcnZpY2UuZ2V0KHRoaXMuX2FwaVVybCwgeyBsaW1pdDogdGhpcy5fZGF0YVBhZ2luYXRpb24oKS5saW1pdCwgcGFnZTogMSB9KVxyXG5cdFx0XHR0aGlzLl9zdGFydCA9IGZhbHNlXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRuZXh0UHJvZHVjdHMgPSB0aGlzLl9jb25uZWN0aW9uU2VydmljZS5nZXQodGhpcy5fZGF0YVBhZ2luYXRpb24oKS5saW5rcy5uZXh0LnNsaWNlKDEpKTtcclxuXHRcdH1cclxuXHJcblx0XHQhdGhpcy5fZmluaXNoZWQgJiYgbmV4dFByb2R1Y3RzLnN1YnNjcmliZShcclxuXHRcdFx0KHJlc3BvbnNlOiBQYWdpbmF0aW9uKSA9PiB7XHJcblx0XHRcdFx0cmVzcG9uc2UubGlua3MgPyB0aGlzLnVwZGF0ZVBhZ2VEYXRhKHJlc3BvbnNlKSA6IHRoaXMuZmluaXNoKHJlc3BvbnNlKVxyXG5cdFx0XHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChyZXNwb25zZS5pdGVtcyk7XHJcblx0XHRcdH1cclxuXHRcdClcclxuXHRcdHJldHVybiB0cnVlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbG9zIGRhdG9zIGRlIGxhIHBhZ2luYS5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2UgcmVzcHVlc3RhIGRlbCBiYWNrZW5kIG8gb2JqZWN0byBkZWwgdGlwbyBgUGFnaW5hdGlvbmAuXHJcblx0ICovXHJcblx0dXBkYXRlUGFnZURhdGEocmVzcG9uc2U6IFBhZ2luYXRpb24pOiB2b2lkIHtcclxuXHRcdHRoaXMuX2RhdGFQYWdpbmF0aW9uLnNldCh7IC4uLnJlc3BvbnNlLCBjYWxsZWQ6IHRydWUgfSlcclxuXHRcdHRoaXMuX2ZpbmlzaGVkID0gKHJlc3BvbnNlLnBhZ2UgPT0gcmVzcG9uc2UucGFnZXMpXHJcblx0XHR0aGlzLl93YWl0aW5nID0gZmFsc2U7XHJcblx0XHQgLy8gRW1pdGlyIGxvcyB2YWxvcmVzIGRlIHByaWNlX21pbiB5IHByaWNlX21heCBhIHRyYXbDqXMgZGUgcHJpY2VSYW5nZVN1YmplY3RcclxuICAgICAgICAvLyB0aGlzLnByaWNlUmFuZ2VTdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgIC8vICAgICBwcmljZV9taW46IHJlc3BvbnNlLnByaWNlX21pbixcclxuICAgICAgICAvLyAgICAgcHJpY2VfbWF4OiByZXNwb25zZS5wcmljZV9tYXhcclxuICAgICAgICAvLyB9KTtcclxuXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE1hcmNhIGVsIGZpbmFsIGRlIGxhcyBwYWdpbmFzLCBlcyBkZWNpciBjdWFuZG8geWEgbm8gcXVlZGEgbWFzIGVsZW1lbnRvcyBxdWUgbW9zdHJhci5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2UgXHJcblx0ICovXHJcblx0ZmluaXNoKHJlc3BvbnNlOiBQYWdpbmF0aW9uKTogdm9pZCB7XHJcblx0XHR0aGlzLl9maW5pc2hlZCA9IHRydWU7XHJcblx0XHR0aGlzLl93YWl0aW5nID0gZmFsc2U7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gbG9zIHByb2R1Y3RvcyBkZSBsYSBwYWdpbmEgY2FyZ2FkYSBhY3R1YWwuIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXROZXh0UHJvZHVjdHMoKTogUHJvZHVjdFtdIHtcclxuXHRcdHJldHVybiB0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0LnZhbHVlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBzaSBlc3RhIGVzcGVyYW5kbyBvIG5vIGxhIHBldGljacOzbiBhbCBiYWNrZW5kLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRXYWl0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fd2FpdGluZzsgfVxyXG5cdC8qKlxyXG5cdCAqIFNldGVhIGxhIHZhcmlhYmxlIHdhaXRpbmcuXHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZXRXYWl0aW5nKHZhbHVlOiBib29sZWFuKTogdm9pZCB7IHRoaXMuX3dhaXRpbmcgPSB2YWx1ZSB9XHJcblx0LyoqXHJcblx0ICogR2V0dGVyIHBhcmEgbGEgdmFyaWFibGUgYF9maW5pc2hlZGAuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGdldEZpbmlzaGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZmluaXNoZWQ7IH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCB0b3RhbCBkZSBJdGVtcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0VG90YWxJdGVtcygpOiBudW1iZXIge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQgKiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLnBhZ2U7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gdW4gb2JqZWN0byBjb24gbG9zIGRhdG9zIGRlIGxvcyBmaWx0cm9zIHJlc3VsdGFudGVzLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRGaWx0ZXJzUGFnaW5hdGlvbigpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0XCJjYXRlZ29yaWVzXCI6IHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkuY2F0ZWdvcnksXHJcblx0XHRcdFwiYXR0cmlidXRlc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmF0dHJpYnV0ZXMsXHJcblx0XHRcdFwib3B0aW9uc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLm9wdGlvbnNcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogUGFyYSBjb250cnVpc3RlIGxhIHVybCBlbiBiYXNlIGEgbG9zIGZpbHRyb3MgYXBsaWNhZG9zLlxyXG5cdCAqIEBwYXJhbSBmaWx0ZXJzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBidWlsZFVybChmaWx0ZXJzOiBGaWx0ZXJbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmdlbmVyYXRlRmluYWxBcGkoKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgdW4gb2JzZXJ2YWJsZSBkZSBsb3MgcHJvZHVjdG9zIHF1ZSBkZXZvbHZpbyBsYSDDumx0aW1hIHDDoWdpbmEgb2J0ZW5pZGEuXHJcblx0ICogQHBhcmFtIHVybCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0RGF0YSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHR0aGlzLl9yZXNldFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChbXSk7XHJcblx0XHR0aGlzLl9jb25uZWN0aW9uU2VydmljZS5nZXQodXJsLCB7IGxpbWl0OiAxMCwgcGFnZTogMSB9KS5waXBlKFxyXG5cdFx0XHRtYXAocmVzID0+eyBcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQocmVzLml0ZW1zKTtcclxuXHRcdFx0XHRyZXMubGlua3MgPyB0aGlzLnVwZGF0ZVBhZ2VEYXRhKHJlcykgOiB0aGlzLmZpbmlzaChyZXMpXHJcblx0XHRcdH0pKS5zdWJzY3JpYmUoKTtcclxuXHJcblx0XHRyZXR1cm4gdGhpcy5uZXh0UHJvZHVjdHMkO1xyXG5cdH1cclxufVxyXG5cclxuIl19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVuRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBRXJCLGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6RCxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMxRCxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ2QsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQ0YsQ0FBQTtJQUVPLGVBQWUsR0FBUSxNQUFNLENBQWE7UUFDakQsVUFBVSxFQUFFLEVBQUU7UUFDZCxRQUFRLEVBQUUsRUFBRTtRQUNaLE9BQU8sRUFBRSxFQUFF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dCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb24sIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuL2ZpbHRlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMnO1xyXG4vKipcclxuICogU2VydmljaW8gcGFyYSBtYW5lamFyIGxhIHBhZ2luYWNpw7NuIGRlIGxvcyBwcm9kdWN0b3MuXHJcbiAqIEBjbGFzcyBQYWdpbmF0aW9uU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblNlcnZpY2Uge1xyXG5cclxuXHRwcml2YXRlIF9jb25uZWN0aW9uU2VydmljZTogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcclxuXHRwdWJsaWMgcGFnaW5hdGlvbkRhdGEkID0gdGhpcy5fZmlsdGVyc1NlcnZpY2UuZmlsdGVycyQucGlwZShcclxuXHRcdHNoYXJlUmVwbGF5KDEpLFxyXG5cdFx0c3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XHJcblx0XHRcdGNvbnN0IHVybCA9IHRoaXMuYnVpbGRVcmwoZmlsdGVycyk7XHJcblx0XHRcdGNvbnNvbGUubG9nKFwicGFnXCIsdXJsKTtcclxuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0RGF0YSh1cmwpO1xyXG5cdFx0fSlcclxuXHQpXHJcblxyXG5cdHByaXZhdGUgX2RhdGFQYWdpbmF0aW9uOiBhbnkgPSBzaWduYWw8UGFnaW5hdGlvbj4oe1xyXG5cdFx0YXR0cmlidXRlczogW10sXHJcblx0XHRjYXRlZ29yeTogW10sXHJcblx0XHRvcHRpb25zOiBbXSxcclxuXHRcdGxpbWl0OiAwLFxyXG5cdFx0cGFnZTogMCxcclxuXHRcdHBhZ2VzOiAwLFxyXG5cdFx0dG90YWw6IDAsXHJcblx0XHRpdGVtczogW10sXHJcblx0XHRjYWxsZWQ6IGZhbHNlXHJcblx0fSk7XHJcblxyXG5cdHByaXZhdGUgX3dhaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwcml2YXRlIF9maW5pc2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHByaXZhdGUgX2FwaVVybDogc3RyaW5nID0gJyc7XHJcblx0cHJpdmF0ZSBfc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSBfbmV4dFByb2R1Y3RzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4oW10pO1xyXG5cdHB1YmxpYyBuZXh0UHJvZHVjdHMkID0gdGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRwdWJsaWMgcmVzZXQkID0gdGhpcy5fcmVzZXRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHByaWNlUmFuZ2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IHByaWNlX21pbjogbnVtYmVyLCBwcmljZV9tYXg6IG51bWJlciB9Pih7IHByaWNlX21pbjogMCwgcHJpY2VfbWF4OiAwIH0pO1xyXG5cdHB1YmxpYyBwcmljZVJhbmdlJCA9IHRoaXMucHJpY2VSYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0XHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogSW5pY2lhbGl6YSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIFNlcnZpY2lvIGRlIFBhZ2luYWNpw7NuLlxyXG5cdCAqIEBwYXJhbSBhcGlVcmwgVXJsIGNvbiBsb3MgZmlsdHJvcyBhcGxpY2Fkb3MuIFxyXG5cdCAqIEBwYXJhbSBsaW1pdCBsaW1pdGUgZGUgcHJvZHVjdG9zIGVuIGNhZGEgcGV0aWNpw7NuLlxyXG5cdCAqL1xyXG5cdGluaXRpYWxpemUoYXBpVXJsOiBzdHJpbmcsIGxpbWl0PzogbnVtYmVyKSB7XHJcblx0XHQvL2NvbnNvbGUubG9nKGFwaVVybClcclxuXHRcdHRoaXMuX2FwaVVybCA9IGFwaVVybDtcclxuXHRcdHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQgPSBsaW1pdCB8fCB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmxpbWl0IHx8IDEwO1xyXG5cdFx0dGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMuX3N0YXJ0ID0gdHJ1ZTtcclxuXHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChbXSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gbG9zIGRhdG9zIGRlIGxhIHNpZ3VpZW50ZSBww6FnaW5hLlxyXG5cdCAqIEBwYXJhbSBuZXh0IFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGdldE5leHQobmV4dD86IGFueSk6IGJvb2xlYW4ge1xyXG5cdFx0dGhpcy5fd2FpdGluZyA9IHRydWU7XHJcblx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQoW10pO1xyXG5cdFx0dGhpcy5fYXBpVXJsID0gdGhpcy5fYXBpVXJsLnJlcGxhY2UoJyUyMCcsICcgJyk7Ly8gbWFzIHBhcmEgY3VhbmRvIGVzIHVuIHNlYXJjaCB2YWx1ZS5cclxuXHRcdGxldCBuZXh0UHJvZHVjdHM7XHJcblx0XHRpZiAodGhpcy5fc3RhcnQpIHtcclxuXHRcdFx0bmV4dFByb2R1Y3RzID0gdGhpcy5fY29ubmVjdGlvblNlcnZpY2UuZ2V0KHRoaXMuX2FwaVVybCwgeyBsaW1pdDogdGhpcy5fZGF0YVBhZ2luYXRpb24oKS5saW1pdCwgcGFnZTogMSB9KVxyXG5cdFx0XHR0aGlzLl9zdGFydCA9IGZhbHNlXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRuZXh0UHJvZHVjdHMgPSB0aGlzLl9jb25uZWN0aW9uU2VydmljZS5nZXQodGhpcy5fZGF0YVBhZ2luYXRpb24oKS5saW5rcy5uZXh0LnNsaWNlKDEpKTtcclxuXHRcdH1cclxuXHJcblx0XHQhdGhpcy5fZmluaXNoZWQgJiYgbmV4dFByb2R1Y3RzLnN1YnNjcmliZShcclxuXHRcdFx0KHJlc3BvbnNlOiBQYWdpbmF0aW9uKSA9PiB7XHJcblx0XHRcdFx0cmVzcG9uc2UubGlua3MgPyB0aGlzLnVwZGF0ZVBhZ2VEYXRhKHJlc3BvbnNlKSA6IHRoaXMuZmluaXNoKHJlc3BvbnNlKVxyXG5cdFx0XHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChyZXNwb25zZS5pdGVtcyk7XHJcblx0XHRcdH1cclxuXHRcdClcclxuXHRcdHJldHVybiB0cnVlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbG9zIGRhdG9zIGRlIGxhIHBhZ2luYS5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2UgcmVzcHVlc3RhIGRlbCBiYWNrZW5kIG8gb2JqZWN0byBkZWwgdGlwbyBgUGFnaW5hdGlvbmAuXHJcblx0ICovXHJcblx0dXBkYXRlUGFnZURhdGEocmVzcG9uc2U6IFBhZ2luYXRpb24pOiB2b2lkIHtcclxuXHRcdHRoaXMuX2RhdGFQYWdpbmF0aW9uLnNldCh7IC4uLnJlc3BvbnNlLCBjYWxsZWQ6IHRydWUgfSlcclxuXHRcdHRoaXMuX2ZpbmlzaGVkID0gKHJlc3BvbnNlLnBhZ2UgPT0gcmVzcG9uc2UucGFnZXMpXHJcblx0XHR0aGlzLl93YWl0aW5nID0gZmFsc2U7XHJcblx0XHQgLy8gRW1pdGlyIGxvcyB2YWxvcmVzIGRlIHByaWNlX21pbiB5IHByaWNlX21heCBhIHRyYXbDqXMgZGUgcHJpY2VSYW5nZVN1YmplY3RcclxuICAgICAgICAvLyB0aGlzLnByaWNlUmFuZ2VTdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgIC8vICAgICBwcmljZV9taW46IHJlc3BvbnNlLnByaWNlX21pbixcclxuICAgICAgICAvLyAgICAgcHJpY2VfbWF4OiByZXNwb25zZS5wcmljZV9tYXhcclxuICAgICAgICAvLyB9KTtcclxuXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE1hcmNhIGVsIGZpbmFsIGRlIGxhcyBwYWdpbmFzLCBlcyBkZWNpciBjdWFuZG8geWEgbm8gcXVlZGEgbWFzIGVsZW1lbnRvcyBxdWUgbW9zdHJhci5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2UgXHJcblx0ICovXHJcblx0ZmluaXNoKHJlc3BvbnNlOiBQYWdpbmF0aW9uKTogdm9pZCB7XHJcblx0XHR0aGlzLl9maW5pc2hlZCA9IHRydWU7XHJcblx0XHR0aGlzLl93YWl0aW5nID0gZmFsc2U7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gbG9zIHByb2R1Y3RvcyBkZSBsYSBwYWdpbmEgY2FyZ2FkYSBhY3R1YWwuIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXROZXh0UHJvZHVjdHMoKTogUHJvZHVjdFtdIHtcclxuXHRcdHJldHVybiB0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0LnZhbHVlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBzaSBlc3RhIGVzcGVyYW5kbyBvIG5vIGxhIHBldGljacOzbiBhbCBiYWNrZW5kLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRXYWl0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fd2FpdGluZzsgfVxyXG5cdC8qKlxyXG5cdCAqIFNldGVhIGxhIHZhcmlhYmxlIHdhaXRpbmcuXHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZXRXYWl0aW5nKHZhbHVlOiBib29sZWFuKTogdm9pZCB7IHRoaXMuX3dhaXRpbmcgPSB2YWx1ZSB9XHJcblx0LyoqXHJcblx0ICogR2V0dGVyIHBhcmEgbGEgdmFyaWFibGUgYF9maW5pc2hlZGAuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGdldEZpbmlzaGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZmluaXNoZWQ7IH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCB0b3RhbCBkZSBJdGVtcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0VG90YWxJdGVtcygpOiBudW1iZXIge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQgKiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLnBhZ2U7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gdW4gb2JqZWN0byBjb24gbG9zIGRhdG9zIGRlIGxvcyBmaWx0cm9zIHJlc3VsdGFudGVzLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRGaWx0ZXJzUGFnaW5hdGlvbigpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0XCJjYXRlZ29yaWVzXCI6IHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkuY2F0ZWdvcnksXHJcblx0XHRcdFwiYXR0cmlidXRlc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmF0dHJpYnV0ZXMsXHJcblx0XHRcdFwib3B0aW9uc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLm9wdGlvbnNcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogUGFyYSBjb250cnVpc3RlIGxhIHVybCBlbiBiYXNlIGEgbG9zIGZpbHRyb3MgYXBsaWNhZG9zLlxyXG5cdCAqIEBwYXJhbSBmaWx0ZXJzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBidWlsZFVybChmaWx0ZXJzOiBGaWx0ZXJbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmdlbmVyYXRlRmluYWxBcGkoKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgdW4gb2JzZXJ2YWJsZSBkZSBsb3MgcHJvZHVjdG9zIHF1ZSBkZXZvbHZpbyBsYSDDumx0aW1hIHDDoWdpbmEgb2J0ZW5pZGEuXHJcblx0ICogQHBhcmFtIHVybCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0RGF0YSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHR0aGlzLl9yZXNldFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChbXSk7XHJcblx0XHR0aGlzLl9jb25uZWN0aW9uU2VydmljZS5nZXQodXJsLCB7IGxpbWl0OiAxMCwgcGFnZTogMSB9KS5waXBlKFxyXG5cdFx0XHRtYXAocmVzID0+eyBcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQocmVzLml0ZW1zKTtcclxuXHRcdFx0XHRyZXMubGlua3MgPyB0aGlzLnVwZGF0ZVBhZ2VEYXRhKHJlcykgOiB0aGlzLmZpbmlzaChyZXMpXHJcblx0XHRcdH0pKS5zdWJzY3JpYmUoKTtcclxuXHJcblx0XHRyZXR1cm4gdGhpcy5uZXh0UHJvZHVjdHMkO1xyXG5cdH1cclxufVxyXG5cclxuIl19
|
|
@@ -53,13 +53,13 @@ export class ParametersService {
|
|
|
53
53
|
*/
|
|
54
54
|
hasParams(params, code) { return params && params.find((param) => param.code?.toLowerCase().includes(code.toLowerCase())); }
|
|
55
55
|
constructor() { }
|
|
56
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
57
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParametersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParametersService, providedIn: 'root' });
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParametersService, decorators: [{
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{
|
|
62
62
|
providedIn: 'root'
|
|
63
63
|
}]
|
|
64
64
|
}], ctorParameters: () => [] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUVyRjs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFDN0I7O09BRUc7SUFDSyxZQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDbEQ7O09BRUc7SUFDSyxVQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFOUMsVUFBVTtJQUNWOzs7T0FHRztJQUNLLG1CQUFtQixLQUFLLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sYUFBYSxDQUFBLENBQUMsQ0FBQztJQUVuSCxhQUFhO0lBQ2I7O09BRUc7SUFDSyxpQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsSUFBSSxDQUFDLENBQUM7SUFDbEUsV0FBVyxHQUFtQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFNUYsU0FBUztJQUNUOzs7T0FHRztJQUNJLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3JDLE9BQU8sUUFBUSxDQUFBO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDZCxDQUFDLENBQUMsQ0FDRixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUN4QixDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsTUFBVyxFQUFFLElBQVksSUFBUyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV6SixnQkFBZ0IsQ0FBQzt3R0FyREwsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGakIsTUFBTTs7NEZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG4vKipcclxuICogU2VydmljaW8gcXVlIG1hbmVqYSBsb3MgcGFyYW1ldHJvcyBkZSBsYSBhcGxpY2FjacOzbi5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlcnNTZXJ2aWNlIHtcclxuXHQvKipcclxuXHQgKiBDb25zdGFudGVzIGRlIGxhIEFQSVxyXG5cdCAqL1xyXG5cdHByaXZhdGUgYXBpQ29uc3RhbnRzID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpXHJcblx0LyoqXHJcblx0ICogTWFuZWphIGxhcyBwZXRpY2lvbmVzIGEgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25uZWN0aW9uID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKVxyXG5cclxuXHQvL0FQSSBVUkxTXHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciB0b2RvcyBsb3MgcGFyYW1ldHJvcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIGdldEFsbFBhcmFtZXRlcnNBUEkoKSB7IHJldHVybiBgJHt0aGlzLmFwaUNvbnN0YW50cy5TSE9QX0FQSV9VUkx9JHt0aGlzLmFwaUNvbnN0YW50cy5DSEFOTkVMfS9wYXJhbWV0ZXJzYCB9XHJcblxyXG5cdC8vT0JTRVJWQUJMRVNcclxuXHQvKipcclxuXHQgKiBTdWJqZWN0IHBhcmEgbWFuZWphciBsb3MgY2FtYmlvcyBlbiBsb3MgZGF0b3MgZGUgbG9zIHBhcmFtZXRyb3NcclxuXHQgKi9cclxuXHRwcml2YXRlIHBhcmFtZXRlcnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbWV0ZXJbXSB8IG51bGw+KG51bGwpO1xyXG5cdHByaXZhdGUgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdC8vTUVUSE9EU1xyXG5cdC8qKlxyXG5cdCAqIE9idGllbmUgbG9zIHBhcsOhbWV0cm9zIGRlbCBiYWNrZW5kLiBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0UGFyYW1ldGVycygpOiBPYnNlcnZhYmxlPFBhcmFtZXRlcltdIHwgbnVsbD4ge1xyXG5cdFx0aWYgKHRoaXMucGFyYW1ldGVyc1N1YmplY3QuZ2V0VmFsdWUoKSA9PT0gbnVsbCkge1xyXG5cdFx0XHR0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuZ2V0QWxsUGFyYW1ldGVyc0FQSSgpKS5waXBlKFxyXG5cdFx0XHRcdHNoYXJlUmVwbGF5KDEpLFxyXG5cdFx0XHRcdG1hcCgocmVzcG9uc2U6IFBhcmFtZXRlcltdKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNTdWJqZWN0Lm5leHQocmVzcG9uc2UpXHJcblx0XHRcdFx0XHRyZXR1cm4gcmVzcG9uc2VcclxuXHRcdFx0XHR9KSwgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYEVycm9yOiAke2Vycm9yfWApXHJcblx0XHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNTdWJqZWN0Lm5leHQoW10pXHJcblx0XHRcdFx0XHRyZXR1cm4gb2YoW10pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnBhcmFtZXRlcnMkXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENvbXBydWViYSBzaSBlbCBjw7NkaWdvIGRlIHVuIHBhcsOhbWV0cm8gZXhpc3RlIGVuIGxhIGxpc3RhIGRlIHBhcsOhbWV0cm9zLlxyXG5cdCAqIEBwYXJhbSBwYXJhbXMgTGlzdGEgZGUgcGFyw6FtZXRyb3NcclxuXHQgKiBAcGFyYW0gY29kZSBDw7NkaWdvIGRlbCBwYXLDoW1ldHJvIGEgYnVzY2FyXHJcblx0ICogQHJldHVybnMgRWwgb2JqZXRvIGNvbiBsb3MgZGF0b3MgZGVsIHBhcsOhbWV0cm8gZW5jb250cmFkbywgc2lubyByZXRvcm5hIGBudWxsYFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYXNQYXJhbXMocGFyYW1zOiBhbnksIGNvZGU6IHN0cmluZyk6IGFueSB7IHJldHVybiBwYXJhbXMgJiYgcGFyYW1zLmZpbmQoKHBhcmFtOiBhbnkpID0+IHBhcmFtLmNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY29kZS50b0xvd2VyQ2FzZSgpKSkgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -42,13 +42,13 @@ export class PaymentService {
|
|
|
42
42
|
setPayment(data) {
|
|
43
43
|
return this._checkoutService.setStepData('payment', data);
|
|
44
44
|
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaymentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaymentService, providedIn: 'root' });
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaymentService, decorators: [{
|
|
49
49
|
type: Injectable,
|
|
50
50
|
args: [{
|
|
51
51
|
providedIn: 'root'
|
|
52
52
|
}]
|
|
53
53
|
}], ctorParameters: () => [] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBS3JELE1BQU0sT0FBTyxjQUFjO0lBRWxCLGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxhQUFhLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELGlCQUFpQixHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxnQkFBZ0IsR0FBb0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTVELHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFNUQsU0FBUztJQUNULE9BQU8sS0FBSyxPQUFPLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xILG9CQUFvQixLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsYUFBYSxDQUFDLE1BQWMsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMvRSxnQkFBZ0IsS0FBSyxPQUFPLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFFMUk7UUFDQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2hCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQzdJLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FDakQsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNyQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO2FBQzNDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFELE9BQU8sR0FBRyxDQUFBO1FBQ1gsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO1lBQ0wsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLENBQUMsQ0FDRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQWlCO1FBQzlCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2SSxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVE7UUFDbEIsT0FBUSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO3dHQWhEVyxjQUFjOzRHQUFkLGNBQWMsY0FGZCxNQUFNOzs0RkFFTixjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcyc7XHJcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4vY2hlY2tvdXQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50U2VydmljZSB7XHJcblxyXG5cdHByaXZhdGUgX2Nvbm5lY3Rpb25TZXJ2aWNlOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9hbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2NoZWNrb3V0U2VydmljZTogQ2hlY2tvdXRTZXJ2aWNlID0gaW5qZWN0KENoZWNrb3V0U2VydmljZSk7XHJcblxyXG5cdHByaXZhdGUgcGF5bWVudE1ldGhvZHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG5cdHB1YmxpYyBtZXRob2RzJCA9IHRoaXMucGF5bWVudE1ldGhvZHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHQvL0FQSSBVUkxcclxuXHRiYXNlQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvJyArICdjaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7IH1cclxuXHRnZXRQYXltZW50TWV0aG9kc0FwaSgpIHsgcmV0dXJuIHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50JzsgfVxyXG5cdHB1dFBheW1lbnRBcGkobWV0aG9kOiBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50LycgKyBtZXRob2Q7IH1cclxuXHRnZXRQcmVmZXJlbmNlQXBpICgpeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvbWVyY2Fkby1wYWdvLycgKyB0aGlzLl9jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvcHJlZmVyZW5jZSc7IH1cclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLmdldFBheW1lbnRNZXRob2RzKCk7XHJcblx0fVxyXG5cclxuXHRnZXRQYXltZW50TWV0aG9kcygpIHtcclxuXHRcdHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uU2VydmljZS5nZXQodGhpcy5nZXRQYXltZW50TWV0aG9kc0FwaSgpKSkudGhlbihcclxuXHRcdFx0cmVzID0+IHJlcy5wYXltZW50cz8ubGVuZ3RoICYmIHRoaXMucGF5bWVudE1ldGhvZHNTdWJqZWN0Lm5leHQoT2JqZWN0LmtleXMocmVzLnBheW1lbnRzWzBdLm1ldGhvZHMpLm1hcChrZXkgPT4gcmVzLnBheW1lbnRzWzBdLm1ldGhvZHNba2V5XSkpLFxyXG5cdFx0XHRlcnIgPT4gdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHV0UGF5bWVudChtZXRob2Q6IGFueSkge1xyXG5cdFx0cmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2Nvbm5lY3Rpb25TZXJ2aWNlXHJcblx0XHRcdC5wdXQodGhpcy5wdXRQYXltZW50QXBpKG1ldGhvZCksIHsgbWV0aG9kIH0pKS50aGVuKFxyXG5cdFx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLl9hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgnYWRkX3BheW1lbnRfaW5mbycsIHJlcyk7XHJcblx0XHRcdFx0XHRyZXR1cm4gcmVzXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnIgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJlamVjdChuZXcgRXJyb3IoZXJyLmVycm9yKSkpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpXHJcblx0fVxyXG5cclxuXHRnZXRQcmVmZXJlbmNlKHNoaXBtZW50X2RhdGE6YW55KXtcclxuXHRcdHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uU2VydmljZS5wb3N0KHRoaXMuZ2V0UHJlZmVyZW5jZUFwaSgpLCBzaGlwbWVudF9kYXRhKS5waXBlKG1hcChyZXMgPT4gKHJlcy5wcmVmZXJlbmNlIHx8IHJlcykpKSk7XHJcblx0fVxyXG5cclxuXHRzZXRQYXltZW50KGRhdGE6YW55KSB7XHJcblx0XHRyZXR1cm4gIHRoaXMuX2NoZWNrb3V0U2VydmljZS5zZXRTdGVwRGF0YSgncGF5bWVudCcsZGF0YSk7XHJcblx0fVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -273,13 +273,13 @@ export class ProductDetailService {
|
|
|
273
273
|
}
|
|
274
274
|
return true;
|
|
275
275
|
};
|
|
276
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
277
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
276
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
277
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailService, providedIn: 'root' });
|
|
278
278
|
}
|
|
279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailService, decorators: [{
|
|
280
280
|
type: Injectable,
|
|
281
281
|
args: [{
|
|
282
282
|
providedIn: 'root'
|
|
283
283
|
}]
|
|
284
284
|
}], ctorParameters: () => [] });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLGdCQUFnQixHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0Msc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZUFBZSxHQUFHLElBQUksQ0FB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RyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO1lBQ25HLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUMsQ0FBQTt1R0F0UlEsb0JBQW9COzJHQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7MkZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE9wdGlvbnMsIE9wdGlvblZhbHVlLCBQcm9kdWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi9jYXJ0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbFNlcnZpY2Uge1xyXG5cdHByaXZhdGUgX3Byb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIF9wcm9kdWN0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdCB8IG51bGw+KHt9KTtcclxuXHRwcml2YXRlIF9vcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XHJcblx0cHJpdmF0ZSBfYXNzb2NpYXRlZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHsgcHJpY2U6ICcnLCBzdG9jazogMCwgcGljdHVyZTogJycgfSk7XHJcblxyXG5cdHB1YmxpYyBwcm9kdWN0JCA9IHRoaXMuX3Byb2R1Y3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBvcHRpb25zJCA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBhc3NvY2lhdGVkRGF0YSQgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgdmFyaWFudHM6IGFueVtdID0gW11cclxuXHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHQvKipcclxuXHQgKiBPYnRlbmdvIGVsIHByb2R1Y3RvIGEgdHJhdmVzIGRlIHN1IGNvZGlnbyBlIGluaWNpYWxpem8gbGEgY29uZmlndXJhY2nDs25cclxuXHQgKiBkZWwgU2VydmljaW8uXHJcblx0ICogQHBhcmFtIGNvZGUgXHJcblx0ICogQHBhcmFtIHZhcmlhbnQgXHJcblx0ICovXHJcblx0bG9hZFByb2R1Y3QoY29kZTogc3RyaW5nLCB2YXJpYW50OiBib29sZWFuID0gZmFsc2UpIHtcclxuXHRcdGZpcnN0VmFsdWVGcm9tKHRoaXMuX3Byb2R1Y3RzU2VydmljZS5nZXRQcm9kdWN0QnlDb2RlKGNvZGUsIHZhcmlhbnQpKVxyXG5cdFx0XHQudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdHZhcmlhbnQgPyB0aGlzLmluaXRpYWxpemUocmVzLCBjb2RlKSA6IHRoaXMuaW5pdGlhbGl6ZShyZXMpXHJcblx0XHRcdH0pXHJcblx0XHRcdC5jYXRjaChlcnIgPT4geyBjb25zb2xlLmxvZyhlcnIpOyB0aGlzLl9wcm9kdWN0U3ViamVjdC5uZXh0KG51bGwpIH0pO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBDYXJnYSBlbCBwcm9kdWN0byBlbiBlbCBvYnNlcnZhYmxlIHkgbGEgY29uZmlndXJhY2nDs24gZGUgbGFzIHZhcmlhbnRlcy5cclxuXHQgKiBAcGFyYW0gcHJvZHVjdCBcclxuXHQgKiBAcGFyYW0gdmFyaWFudENvZGUgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBpbml0aWFsaXplKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmlhbnRDb2RlPzogc3RyaW5nKSB7XHJcblx0XHR0aGlzLl9wcm9kdWN0U3ViamVjdC5uZXh0KHByb2R1Y3QpO1xyXG5cdFx0Y29uc3QgYXV4OiBQcm9kdWN0WydvcHRpb25zJ10gPSBwcm9kdWN0Lm9wdGlvbnMgfHwgW107XHJcblx0XHRjb25zdCBvcHRpb25zID0gYXV4Py5tYXAob3B0aW9uID0+IHRoaXMudG9PcHRpb24ob3B0aW9uKSlcclxuXHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQob3B0aW9ucyk7XHJcblx0XHR2YXJpYW50Q29kZSA/IHRoaXMudXBkYXRlVmFyaWFudHModmFyaWFudENvZGUpIDogdGhpcy51cGRhdGVWYXJpYW50cygpO1xyXG5cdFx0dGhpcy52YXJpYW50cy5sZW5ndGggJiYgdGhpcy5nZW5lcmF0ZUFzc29jaWF0ZWREYXRhRnJvbVZhcmlhbnRzKCk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEZvcm1hdGUgbG9zIGRhdG9zIHBhcmEgbGFzIG9wY2lvbmVzIGRlbCBwcm9kdWN0by5cclxuXHQgKiBAcGFyYW0gb3B0aW9uIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgdG9PcHRpb24ob3B0aW9uOiBPcHRpb25zKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRuYW1lOiBvcHRpb24ubGFiZWwsXHJcblx0XHRcdGNvZGU6IG9wdGlvbi5jb2RlLFxyXG5cdFx0XHR0eXBlOiBvcHRpb24udHlwZSxcclxuXHRcdFx0dmFsdWVzOiBvcHRpb24udmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4gKHsgbmFtZTogdmFsdWUuY29kZSwgZGVzY3JpcHRpb246IHZhbHVlLm5hbWUsIGltYWdlOiB2YWx1ZS5pbWFnZSwgbW9iaWxlSW1hZ2U6IHZhbHVlLm1vYmlsZUltYWdlLCBzZWxlY3RlZDogZmFsc2UgfSkpXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDYW1iaWEgbGFzIG9wY2lvbmVzLCBvYnRpZW5lIGVsIHByb2R1Y3RvIGFzb2NpYWRvIGEgbGEgb3BjaW9uIGVsZWdpZGEuXHJcblx0ICovXHJcblx0c2V0T3B0aW9uKG9wdGlvbkNvZGU6IGFueSwgb3B0aW9uVmFsdWU6IGFueSkge1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlO1xyXG5cdFx0Y29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PSBvcHRpb25Db2RlKS52YWx1ZXMuZmluZCgodmFsdWU6IGFueSkgPT4gdmFsdWUubmFtZSA9PSBvcHRpb25WYWx1ZSk7XHJcblx0XHRvcHRpb24uc2VsZWN0ZWQgPSAhb3B0aW9uLnNlbGVjdGVkO1xyXG5cdFx0b3B0aW9ucy5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PSBvcHRpb25Db2RlKS52YWx1ZXMuZm9yRWFjaChcclxuXHRcdFx0KHZhbHVlOiBhbnkpID0+IHsgaWYgKHZhbHVlLm5hbWUgIT0gb3B0aW9uLm5hbWUpIHZhbHVlLnNlbGVjdGVkID0gZmFsc2UgfVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQob3B0aW9ucyk7XHJcblx0XHR0aGlzLnVwZGF0ZVZhcmlhbnRzKCk7XHJcblx0XHR0aGlzLnZhcmlhbnRzLmxlbmd0aCA+IDAgPyB0aGlzLmdlbmVyYXRlQXNzb2NpYXRlZERhdGFGcm9tVmFyaWFudHMoKSA6IHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdzZWxlY3Rpb24tbm90LWF2YWlsYWJsZScpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFjdHVhbGl6YSBlbCBvYnNlcnZhYmxlIGRlIGBhc3NvY2lhdGVkRGF0YWAgZWwgY3VhbCBzZSB1dGlsaXphIHBhcmEgbW9zdHJhciBsb3MgZGF0b3NcclxuXHQgKiBlbiBlbCBmcm9udGVuZCBzZWd1biBlbCBwcm9kdWN0byB5L28gdmFyaWFudGUgZWxlZ2lkYS5cclxuXHQgKiBPYnRpZW5lIGxvcyBkYXRvcyBkZSBsYSB2YXJpYW50ZSB5IGxvcyBmb3JtYXRlYS5cclxuXHQgKi9cclxuXHRnZW5lcmF0ZUFzc29jaWF0ZWREYXRhRnJvbVZhcmlhbnRzKCkge1xyXG5cdFx0bGV0IGFzc29jaWF0ZWQ6IGFueSA9IHt9O1xyXG5cdFx0aWYgKHRoaXMudmFyaWFudHMubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0Y29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF07XHJcblx0XHRcdGNvbnNvbGUubG9nKHZhcmlhbnQpXHJcblx0XHRcdGFzc29jaWF0ZWQuc3RvY2sgPSB2YXJpYW50LnN0b2NrXHJcblx0XHRcdGFzc29jaWF0ZWQucHJpY2UgPSB2YXJpYW50LnByaWNlLnRvU3RyaW5nKCk7XHJcblx0XHRcdGFzc29jaWF0ZWQuc2FsZXByaWNlID0gdmFyaWFudC5zYWxlcHJpY2UgJiYgdmFyaWFudC5zYWxlcHJpY2UudG9TdHJpbmcoKSB8fCB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQuZGlzY291bnQgPSB2YXJpYW50Py5kaXNjb3VudCB8fCB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQucHJvcGVydGllcyA9IHZhcmlhbnQucHJvcGVydGllcyA/IHRoaXMuYmVhdXRpZnlQcm9wZXJ0aWVzKHZhcmlhbnQucHJvcGVydGllcykgOiB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQudW5pcXVlRXh0ZXJuYWxDb2RlID0gdmFyaWFudD8udW5pcXVlRXh0ZXJuYWxDb2RlIHx8IHVuZGVmaW5lZDtcclxuXHRcdFx0YXNzb2NpYXRlZC5tdWx0aXBsZVF1YW50aXR5ID0gdmFyaWFudD8ubXVsdGlwbGVRdWFudGl0eSB8fCB1bmRlZmluZWQ7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByaWNlID0gdGhpcy5jcmVhdGVQcmljZSgpXHJcblx0XHRcdGFzc29jaWF0ZWQuc2FsZXByaWNlID0gdGhpcy5jcmVhdGVTYWxlUHJpY2UoKVxyXG5cdFx0XHRhc3NvY2lhdGVkLnN0b2NrID0gKHRoaXMudmFyaWFudHMubWFwKHZhcmlhbnQgPT4gdmFyaWFudC5zdG9jaykpLnJlZHVjZSgoYSwgYikgPT4gYSArIGIpXHJcblx0XHRcdGFzc29jaWF0ZWQuZGlzY291bnQgPSB0aGlzLmNyZWF0ZURpc2NvdW50KClcclxuXHRcdH1cclxuXHJcblx0XHQoJ2ltYWdlcycgaW4gdGhpcy52YXJpYW50c1swXSAmJiB0aGlzLnZhcmlhbnRzWzBdLmltYWdlcy5sZW5ndGggPiAwKVxyXG5cdFx0XHQ/IGFzc29jaWF0ZWQucGljdHVyZSA9IHRoaXMudmFyaWFudHNbMF0uaW1hZ2VzWzBdXHJcblx0XHRcdDogYXNzb2NpYXRlZC5waWN0dXJlID0gKHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZT8ucGljdHVyZSB8fCAodGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWUgJiYgdGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWU/LnBpY3R1cmVzZGVmYXVsdD8uWzBdIHx8IFtdKSk7XHJcblxyXG5cdFx0YXNzb2NpYXRlZC5tYXhpbXVtQW1vdW50ID0gdGhpcy52YXJpYW50c1swXT8ubWF4aW11bUFtb3VudCB8fCAwXHJcblx0XHRhc3NvY2lhdGVkLm1pbmltdW1BbW91bnQgPSB0aGlzLnZhcmlhbnRzWzBdPy5taW5pbXVtQW1vdW50IHx8IDBcclxuXHJcblx0XHRhc3NvY2lhdGVkLm1heGltdW1JdGVtc1F1YW50aXR5ID0gdGhpcy52YXJpYW50c1swXT8uc3RvY2sgPiAwICYmICdtYXhpbXVtSXRlbXNRdWFudGl0eScgaW4gdGhpcy52YXJpYW50c1swXSA/IHRoaXMudmFyaWFudHNbMF0/Lm1heGltdW1JdGVtc1F1YW50aXR5IDogdGhpcy52YXJpYW50c1swXT8uc3RvY2tcclxuXHRcdGFzc29jaWF0ZWQubWluaW11bUl0ZW1zUXVhbnRpdHkgPSB0aGlzLnZhcmlhbnRzWzBdPy5zdG9jayA+IDAgJiYgJ21pbmltdW1JdGVtc1F1YW50aXR5JyBpbiB0aGlzLnZhcmlhbnRzWzBdXHJcblx0XHRcdCYmIHRoaXMudmFyaWFudHNbMF0/Lm1pbmltdW1JdGVtc1F1YW50aXR5ID4gMCA/IHRoaXMudmFyaWFudHNbMF0/Lm1pbmltdW1JdGVtc1F1YW50aXR5XHJcblx0XHRcdDogKHRoaXMudmFyaWFudHNbMF0/Lm11bHRpcGxlUXVhbnRpdHkgPyB0aGlzLnZhcmlhbnRzWzBdPy5tdWx0aXBsZVF1YW50aXR5IDogMSlcclxuXHJcblx0XHRhc3NvY2lhdGVkLmZpbmFsQ29uc3VtZXIgPSB7XHJcblx0XHRcdGZpbmFsQ29uc3VtZXJQcmljZTogdGhpcy52YXJpYW50c1swXT8uZmluYWxfY29uc3VtZXJfcHJpY2UsXHJcblx0XHRcdG9yaWdpbmFsRmluYWxDb25zdW1lclByaWNlOiB0aGlzLnZhcmlhbnRzWzBdPy5vcmlnaW5hbF9maW5hbF9jb25zdW1lcl9wcmljZSxcclxuXHRcdH1cclxuXHRcdGFzc29jaWF0ZWQudGF4ZXMgPSB7XHJcblx0XHRcdHRheEluY2x1ZGVkOiB0aGlzLnZhcmlhbnRzWzBdPy50YXhJbmNsdWRlZCxcclxuXHRcdFx0dGF4Q2F0ZWdvcnk6IHRoaXMudmFyaWFudHNbMF0/LnRheENhdGVnb3J5LFxyXG5cdFx0fVxyXG5cdFx0Ly9jb25zb2xlLmxvZyhhc3NvY2lhdGVkKVxyXG5cdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQoYXNzb2NpYXRlZCk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE1lam9yYSBsb3MgZGF0b3MgZGUgbGFzIGBwcm9wZXJ0aWVzYC5cclxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRiZWF1dGlmeVByb3BlcnRpZXMocHJvcGVydGllczogYW55KTogYW55IHtcclxuXHRcdGxldCBiZWF1dGlmeURhdGE6IGFueSA9IFtdO1xyXG5cdFx0cHJvcGVydGllcy5mb3JFYWNoKChwcm9wOiBhbnkpID0+IHtcclxuXHRcdFx0Zm9yIChsZXQga2V5IGluIHByb3ApIHtcclxuXHRcdFx0XHRiZWF1dGlmeURhdGEucHVzaCh7IG5hbWU6IGtleSwgdmFsdWU6IHByb3Bba2V5XSB9KVxyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdFx0cmV0dXJuIGJlYXV0aWZ5RGF0YVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSB1biBkZXNjdWVudG8gZW4gY2FzbyBkZSBleGlzdGlyLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZURpc2NvdW50KCk6IGFueSB7XHJcblx0XHRsZXQgYWxsRGlzY291bnRzOiBzdHJpbmcgPSAnJztcclxuXHRcdHRoaXMudmFyaWFudHMuZm9yRWFjaCh2YXJpYW50ID0+IHtcclxuXHRcdFx0dmFyaWFudC5kaXNjb3VudCAmJiAoYWxsRGlzY291bnRzICs9ICcsICcgKyB2YXJpYW50LmRpc2NvdW50KTtcclxuXHRcdH0pXHJcblx0XHRpZiAoYWxsRGlzY291bnRzID09ICcnKSByZXR1cm4gdW5kZWZpbmVkO1xyXG5cdFx0cmV0dXJuIGFsbERpc2NvdW50cztcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgZWwgcHJlY2lvIGRlIHZlbnRhLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZVNhbGVQcmljZSgpOiBhbnkge1xyXG5cdFx0bGV0IG1pblByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IG1heFByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IGFsbFByaWNlczogYW55ID0gdGhpcy52YXJpYW50cy5tYXAodiA9PiB2LnNhbGVwcmljZSkuZmlsdGVyKGUgPT4gZSAhPT0gdW5kZWZpbmVkKTtcclxuXHRcdGlmIChhbGxQcmljZXMubGVuZ3RoID09IDApIHtcclxuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZFxyXG5cdFx0fVxyXG5cdFx0bWluUHJpY2UgPSBhbGxQcmljZXMucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5taW4oYSwgYikpO1xyXG5cdFx0bWF4UHJpY2UgPSBhbGxQcmljZXMucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5tYXgoYSwgYikpO1xyXG5cdFx0cmV0dXJuIG1pblByaWNlID09IG1heFByaWNlID8gbWF4UHJpY2UudG9TdHJpbmcoKSA6IG1pblByaWNlICsgJyAtICcgKyBtYXhQcmljZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgZWwgcHJlY2lvIG8gbG9zIHByZWNpb3MgZW4gY2FzbyBkZSB0ZW5lciB2YXJpYXMgdmFyaWFudGVzIGNvbiBkaXN0aW50b3MgcHJlY2lvcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRjcmVhdGVQcmljZSgpOiBhbnkge1xyXG5cdFx0bGV0IG1pblByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IG1heFByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IGFsbFByaWNlOiBhbnkgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYucHJpY2UpXHJcblx0XHRtaW5QcmljZSA9IGFsbFByaWNlLnJlZHVjZSgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IE1hdGgubWluKGEsIGIpKTtcclxuXHRcdG1heFByaWNlID0gYWxsUHJpY2UucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5tYXgoYSwgYikpO1xyXG5cdFx0cmV0dXJuIG1pblByaWNlID09IG1heFByaWNlID8gbWF4UHJpY2UudG9TdHJpbmcoKSA6IG1pblByaWNlICsgJyAtICcgKyBtYXhQcmljZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxhcyB2YXJpYW50ZXMuXHJcblx0ICogQHBhcmFtIGNvZGUgXHJcblx0ICovXHJcblx0dXBkYXRlVmFyaWFudHMgPSAoY29kZT86IHN0cmluZykgPT4ge1xyXG5cdFx0bGV0IHZhcmlhbnRzID0gdGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWU/LnZhcmlhbnRzXHJcblx0XHQvL2NvbnNvbGUubG9nKHZhcmlhbnRzKVxyXG5cdFx0aWYgKCFjb2RlKSB7XHJcblx0XHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcblx0XHRcdFx0b3B0aW9uLnZhbHVlcy5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRpZiAodmFsdWUuc2VsZWN0ZWQpIHtcclxuXHRcdFx0XHRcdFx0dmFyaWFudHMgPSB2YXJpYW50cz8uZmlsdGVyKHZhcmlhbnQgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB2YXJpYW50Lm9wdGlvbnMuc29tZSgodmFyaWFudE9wdGlvbjogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gKG9wdGlvbi5jb2RlIGluIHZhcmlhbnRPcHRpb24gJiYgdmFyaWFudE9wdGlvbltvcHRpb24uY29kZV0gPT0gdmFsdWUubmFtZSk7XHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dmFyaWFudHMgPSB2YXJpYW50cz8uZmlsdGVyKHZhcmlhbnQgPT4gdmFyaWFudC5jb2RlID09IGNvZGUpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy52YXJpYW50cyA9IHZhcmlhbnRzIHx8IFtdO1xyXG5cdFx0Y29kZSAmJiB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxhcyBvcGNpb25lc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgdXBkYXRlT3B0aW9ucyA9ICgpID0+IHtcclxuXHRcdGxldCB7IG9wdGlvbnMgfSA9IHRoaXMudmFyaWFudHMubGVuZ3RoICYmIHRoaXMudmFyaWFudHNbMF07XHJcblx0XHRvcHRpb25zICYmIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IE9iamVjdC5rZXlzKG9wdGlvbikuZm9yRWFjaChrZXkgPT4gdGhpcy5zZXRPcHRpb24oa2V5LCBvcHRpb25ba2V5XSkpKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBZ3JlZ2EgZWwgcHJvZHVjdG8gYWwgY2Fycml0by5cclxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgQ2FudGlkYWQgZGVsIHByb2R1Y3RvIGEgYWdyZWdhclxyXG5cdCAqIEBwYXJhbSB2YXJpYW50Q29kZSBDb2RpZ28gZGUgbGEgdmFyaWFudGUuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0YWRkVG9DYXJ0KHF1YW50aXR5OiBudW1iZXIsIHZhcmlhbnRDb2RlPzogc3RyaW5nKXtcclxuXHJcblx0XHRcclxuXHRcdGlmKCF0aGlzLnZhcmlhbnRzLmxlbmd0aCl7XHJcblx0XHRcdFxyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnY2FudC1idXknKVxyXG5cdFx0XHRcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0bGV0IHByb2R1Y3RTZWxlY3RlZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoKHRoaXMuX3Byb2R1Y3RTdWJqZWN0LmdldFZhbHVlKCkpKSk7XHJcblxyXG5cdFx0bGV0IHZhcmlhbnQ6YW55O1xyXG5cdFx0c3dpdGNoKHRoaXMudmFyaWFudHMubGVuZ3RoKXtcclxuXHRcdFx0Y2FzZSAwOlxyXG5cdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCduby12YXJpYW50cycpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIDE6XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0LnZhbHVlLnN0b2NrID09IDBcclxuXHRcdFx0XHRcdD8gdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jaycpXHJcblx0XHRcdFx0XHQ6IHZhcmlhbnQgPSB0aGlzLnZhcmlhbnRzWzBdXHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0aWYodmFyaWFudENvZGUpe1xyXG5cdFx0XHRcdFx0dmFyaWFudCA9IHRoaXMudmFyaWFudHMuZmluZCggdmFyaWFudCA9PiAgdmFyaWFudC5jb2RlID09PSB2YXJpYW50Q29kZSlcclxuXHRcdFx0XHRcdGlmKHZhcmlhbnQuc3RvY2sgPT0gMCl7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2snKVxyXG5cdFx0XHRcdFx0XHR2YXJpYW50ID0gdW5kZWZpbmVkXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCd2YXJpYW50cy1sZWZ0JylcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0XHRpZighdmFyaWFudCkgcmV0dXJuO1xyXG5cdFx0aWYoIXRoaXMudmFsaWRhdGVRdWFudGl0eShxdWFudGl0eSkpIHJldHVybjtcclxuXHRcdC8vYWdyZWdhciBhbCBzZXJ2aWNpbyBkZWwgY2Fycml0b1xyXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMubWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZCksIHF1YW50aXR5LCB2YXJpYW50LmNvZGUpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBHZW5lcmEgdW4gcHJvZHVjdG8gcGFyYSBoYWNlciBtYXMgZmFjw61sIGVsIGVudmlvIGRlbCBlbGVtZW50byBhbCBiYWNrZW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0U2VsZWN0ZWQgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBtYWtlQWZmb3JkYWJsZVByb2R1Y3QocHJvZHVjdFNlbGVjdGVkOiBQcm9kdWN0KSB7XHJcbiAgICAgICAgcHJvZHVjdFNlbGVjdGVkLnByaWNlID0gcGFyc2VGbG9hdCh0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUucHJpY2UpO1xyXG4gICAgICAgIHByb2R1Y3RTZWxlY3RlZC5zYWxlcHJpY2UgPSBwYXJzZUZsb2F0KHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZS5wcmljZSk7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQub3B0aW9ucyA9IFtdO1xyXG4gICAgICAgIHRoaXMudmFyaWFudHNbMF0ub3B0aW9ucy5mb3JFYWNoKChvcHRpb246YW55KSA9PiBwcm9kdWN0U2VsZWN0ZWQub3B0aW9ucyA9IHsgLi4ucHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMsIC4uLm9wdGlvbiB9KVxyXG4gICAgICAgIHJldHVybiBwcm9kdWN0U2VsZWN0ZWQ7XHJcbiAgICB9XHJcblx0LyoqXHJcblx0ICogVmFsaWRhIGxhIGNhbnRpZGFkIHF1ZSBzZSBxdWllcmUgYWdyZWdhciBkZSB1biBwcm9kdWN0by5cclxuXHQgKiBSZXZpc2EgcXVlIG5vIHN1cGVyZSBlbCBzdG9jaywgZWwgbWF4aW1vIGRlIGl0ZW1zIHF1ZSBzZSBwdWVkZSBhZ3JlZ2FyXHJcblx0ICogYXNpIGNvbW8gZWwgbWluaW1vLlxyXG5cdCAqIEBwYXJhbSBxdWFudGl0eSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHZhbGlkYXRlUXVhbnRpdHkgPSAocXVhbnRpdHk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFjdHVhbFF1YW50aXR5ID0gdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q291bnRGcm9tSXRlbUluQ2FydCh0aGlzLnZhcmlhbnRzWzBdLmNvZGUpO1xyXG4gICAgICAgIGNvbnN0IGFzb2NpYXRlZERhdGEgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWU7XHJcbiAgICAgICAgaWYgKChhY3R1YWxRdWFudGl0eSArIHF1YW50aXR5KSA+IGFzb2NpYXRlZERhdGEubWF4aW11bUl0ZW1zUXVhbnRpdHkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ21heGltdW0taXRlbXMtcXVhbnRpdHknLCB7IHF1YW50aXR5OiBhc29jaWF0ZWREYXRhLm1heGltdW1JdGVtc1F1YW50aXR5IH0pXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKChhY3R1YWxRdWFudGl0eSArIHF1YW50aXR5KSA8IGFzb2NpYXRlZERhdGEubWluaW11bUl0ZW1zUXVhbnRpdHkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ21pbmltdW0taXRlbXMtcXVhbnRpdHknLCB7IHF1YW50aXR5OiBhc29jaWF0ZWREYXRhLm1pbmltdW1JdGVtc1F1YW50aXR5IH0pXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLGdCQUFnQixHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0Msc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZUFBZSxHQUFHLElBQUksQ0FB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RyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO1lBQ25HLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUMsQ0FBQTt3R0F0UlEsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE9wdGlvbnMsIE9wdGlvblZhbHVlLCBQcm9kdWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi9jYXJ0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbFNlcnZpY2Uge1xyXG5cdHByaXZhdGUgX3Byb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIF9wcm9kdWN0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdCB8IG51bGw+KHt9KTtcclxuXHRwcml2YXRlIF9vcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XHJcblx0cHJpdmF0ZSBfYXNzb2NpYXRlZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHsgcHJpY2U6ICcnLCBzdG9jazogMCwgcGljdHVyZTogJycgfSk7XHJcblxyXG5cdHB1YmxpYyBwcm9kdWN0JCA9IHRoaXMuX3Byb2R1Y3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBvcHRpb25zJCA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBhc3NvY2lhdGVkRGF0YSQgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgdmFyaWFudHM6IGFueVtdID0gW11cclxuXHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHQvKipcclxuXHQgKiBPYnRlbmdvIGVsIHByb2R1Y3RvIGEgdHJhdmVzIGRlIHN1IGNvZGlnbyBlIGluaWNpYWxpem8gbGEgY29uZmlndXJhY2nDs25cclxuXHQgKiBkZWwgU2VydmljaW8uXHJcblx0ICogQHBhcmFtIGNvZGUgXHJcblx0ICogQHBhcmFtIHZhcmlhbnQgXHJcblx0ICovXHJcblx0bG9hZFByb2R1Y3QoY29kZTogc3RyaW5nLCB2YXJpYW50OiBib29sZWFuID0gZmFsc2UpIHtcclxuXHRcdGZpcnN0VmFsdWVGcm9tKHRoaXMuX3Byb2R1Y3RzU2VydmljZS5nZXRQcm9kdWN0QnlDb2RlKGNvZGUsIHZhcmlhbnQpKVxyXG5cdFx0XHQudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdHZhcmlhbnQgPyB0aGlzLmluaXRpYWxpemUocmVzLCBjb2RlKSA6IHRoaXMuaW5pdGlhbGl6ZShyZXMpXHJcblx0XHRcdH0pXHJcblx0XHRcdC5jYXRjaChlcnIgPT4geyBjb25zb2xlLmxvZyhlcnIpOyB0aGlzLl9wcm9kdWN0U3ViamVjdC5uZXh0KG51bGwpIH0pO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBDYXJnYSBlbCBwcm9kdWN0byBlbiBlbCBvYnNlcnZhYmxlIHkgbGEgY29uZmlndXJhY2nDs24gZGUgbGFzIHZhcmlhbnRlcy5cclxuXHQgKiBAcGFyYW0gcHJvZHVjdCBcclxuXHQgKiBAcGFyYW0gdmFyaWFudENvZGUgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBpbml0aWFsaXplKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmlhbnRDb2RlPzogc3RyaW5nKSB7XHJcblx0XHR0aGlzLl9wcm9kdWN0U3ViamVjdC5uZXh0KHByb2R1Y3QpO1xyXG5cdFx0Y29uc3QgYXV4OiBQcm9kdWN0WydvcHRpb25zJ10gPSBwcm9kdWN0Lm9wdGlvbnMgfHwgW107XHJcblx0XHRjb25zdCBvcHRpb25zID0gYXV4Py5tYXAob3B0aW9uID0+IHRoaXMudG9PcHRpb24ob3B0aW9uKSlcclxuXHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQob3B0aW9ucyk7XHJcblx0XHR2YXJpYW50Q29kZSA/IHRoaXMudXBkYXRlVmFyaWFudHModmFyaWFudENvZGUpIDogdGhpcy51cGRhdGVWYXJpYW50cygpO1xyXG5cdFx0dGhpcy52YXJpYW50cy5sZW5ndGggJiYgdGhpcy5nZW5lcmF0ZUFzc29jaWF0ZWREYXRhRnJvbVZhcmlhbnRzKCk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEZvcm1hdGUgbG9zIGRhdG9zIHBhcmEgbGFzIG9wY2lvbmVzIGRlbCBwcm9kdWN0by5cclxuXHQgKiBAcGFyYW0gb3B0aW9uIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgdG9PcHRpb24ob3B0aW9uOiBPcHRpb25zKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRuYW1lOiBvcHRpb24ubGFiZWwsXHJcblx0XHRcdGNvZGU6IG9wdGlvbi5jb2RlLFxyXG5cdFx0XHR0eXBlOiBvcHRpb24udHlwZSxcclxuXHRcdFx0dmFsdWVzOiBvcHRpb24udmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4gKHsgbmFtZTogdmFsdWUuY29kZSwgZGVzY3JpcHRpb246IHZhbHVlLm5hbWUsIGltYWdlOiB2YWx1ZS5pbWFnZSwgbW9iaWxlSW1hZ2U6IHZhbHVlLm1vYmlsZUltYWdlLCBzZWxlY3RlZDogZmFsc2UgfSkpXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDYW1iaWEgbGFzIG9wY2lvbmVzLCBvYnRpZW5lIGVsIHByb2R1Y3RvIGFzb2NpYWRvIGEgbGEgb3BjaW9uIGVsZWdpZGEuXHJcblx0ICovXHJcblx0c2V0T3B0aW9uKG9wdGlvbkNvZGU6IGFueSwgb3B0aW9uVmFsdWU6IGFueSkge1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlO1xyXG5cdFx0Y29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PSBvcHRpb25Db2RlKS52YWx1ZXMuZmluZCgodmFsdWU6IGFueSkgPT4gdmFsdWUubmFtZSA9PSBvcHRpb25WYWx1ZSk7XHJcblx0XHRvcHRpb24uc2VsZWN0ZWQgPSAhb3B0aW9uLnNlbGVjdGVkO1xyXG5cdFx0b3B0aW9ucy5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PSBvcHRpb25Db2RlKS52YWx1ZXMuZm9yRWFjaChcclxuXHRcdFx0KHZhbHVlOiBhbnkpID0+IHsgaWYgKHZhbHVlLm5hbWUgIT0gb3B0aW9uLm5hbWUpIHZhbHVlLnNlbGVjdGVkID0gZmFsc2UgfVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQob3B0aW9ucyk7XHJcblx0XHR0aGlzLnVwZGF0ZVZhcmlhbnRzKCk7XHJcblx0XHR0aGlzLnZhcmlhbnRzLmxlbmd0aCA+IDAgPyB0aGlzLmdlbmVyYXRlQXNzb2NpYXRlZERhdGFGcm9tVmFyaWFudHMoKSA6IHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdzZWxlY3Rpb24tbm90LWF2YWlsYWJsZScpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFjdHVhbGl6YSBlbCBvYnNlcnZhYmxlIGRlIGBhc3NvY2lhdGVkRGF0YWAgZWwgY3VhbCBzZSB1dGlsaXphIHBhcmEgbW9zdHJhciBsb3MgZGF0b3NcclxuXHQgKiBlbiBlbCBmcm9udGVuZCBzZWd1biBlbCBwcm9kdWN0byB5L28gdmFyaWFudGUgZWxlZ2lkYS5cclxuXHQgKiBPYnRpZW5lIGxvcyBkYXRvcyBkZSBsYSB2YXJpYW50ZSB5IGxvcyBmb3JtYXRlYS5cclxuXHQgKi9cclxuXHRnZW5lcmF0ZUFzc29jaWF0ZWREYXRhRnJvbVZhcmlhbnRzKCkge1xyXG5cdFx0bGV0IGFzc29jaWF0ZWQ6IGFueSA9IHt9O1xyXG5cdFx0aWYgKHRoaXMudmFyaWFudHMubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0Y29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF07XHJcblx0XHRcdGNvbnNvbGUubG9nKHZhcmlhbnQpXHJcblx0XHRcdGFzc29jaWF0ZWQuc3RvY2sgPSB2YXJpYW50LnN0b2NrXHJcblx0XHRcdGFzc29jaWF0ZWQucHJpY2UgPSB2YXJpYW50LnByaWNlLnRvU3RyaW5nKCk7XHJcblx0XHRcdGFzc29jaWF0ZWQuc2FsZXByaWNlID0gdmFyaWFudC5zYWxlcHJpY2UgJiYgdmFyaWFudC5zYWxlcHJpY2UudG9TdHJpbmcoKSB8fCB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQuZGlzY291bnQgPSB2YXJpYW50Py5kaXNjb3VudCB8fCB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQucHJvcGVydGllcyA9IHZhcmlhbnQucHJvcGVydGllcyA/IHRoaXMuYmVhdXRpZnlQcm9wZXJ0aWVzKHZhcmlhbnQucHJvcGVydGllcykgOiB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQudW5pcXVlRXh0ZXJuYWxDb2RlID0gdmFyaWFudD8udW5pcXVlRXh0ZXJuYWxDb2RlIHx8IHVuZGVmaW5lZDtcclxuXHRcdFx0YXNzb2NpYXRlZC5tdWx0aXBsZVF1YW50aXR5ID0gdmFyaWFudD8ubXVsdGlwbGVRdWFudGl0eSB8fCB1bmRlZmluZWQ7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByaWNlID0gdGhpcy5jcmVhdGVQcmljZSgpXHJcblx0XHRcdGFzc29jaWF0ZWQuc2FsZXByaWNlID0gdGhpcy5jcmVhdGVTYWxlUHJpY2UoKVxyXG5cdFx0XHRhc3NvY2lhdGVkLnN0b2NrID0gKHRoaXMudmFyaWFudHMubWFwKHZhcmlhbnQgPT4gdmFyaWFudC5zdG9jaykpLnJlZHVjZSgoYSwgYikgPT4gYSArIGIpXHJcblx0XHRcdGFzc29jaWF0ZWQuZGlzY291bnQgPSB0aGlzLmNyZWF0ZURpc2NvdW50KClcclxuXHRcdH1cclxuXHJcblx0XHQoJ2ltYWdlcycgaW4gdGhpcy52YXJpYW50c1swXSAmJiB0aGlzLnZhcmlhbnRzWzBdLmltYWdlcy5sZW5ndGggPiAwKVxyXG5cdFx0XHQ/IGFzc29jaWF0ZWQucGljdHVyZSA9IHRoaXMudmFyaWFudHNbMF0uaW1hZ2VzWzBdXHJcblx0XHRcdDogYXNzb2NpYXRlZC5waWN0dXJlID0gKHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZT8ucGljdHVyZSB8fCAodGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWUgJiYgdGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWU/LnBpY3R1cmVzZGVmYXVsdD8uWzBdIHx8IFtdKSk7XHJcblxyXG5cdFx0YXNzb2NpYXRlZC5tYXhpbXVtQW1vdW50ID0gdGhpcy52YXJpYW50c1swXT8ubWF4aW11bUFtb3VudCB8fCAwXHJcblx0XHRhc3NvY2lhdGVkLm1pbmltdW1BbW91bnQgPSB0aGlzLnZhcmlhbnRzWzBdPy5taW5pbXVtQW1vdW50IHx8IDBcclxuXHJcblx0XHRhc3NvY2lhdGVkLm1heGltdW1JdGVtc1F1YW50aXR5ID0gdGhpcy52YXJpYW50c1swXT8uc3RvY2sgPiAwICYmICdtYXhpbXVtSXRlbXNRdWFudGl0eScgaW4gdGhpcy52YXJpYW50c1swXSA/IHRoaXMudmFyaWFudHNbMF0/Lm1heGltdW1JdGVtc1F1YW50aXR5IDogdGhpcy52YXJpYW50c1swXT8uc3RvY2tcclxuXHRcdGFzc29jaWF0ZWQubWluaW11bUl0ZW1zUXVhbnRpdHkgPSB0aGlzLnZhcmlhbnRzWzBdPy5zdG9jayA+IDAgJiYgJ21pbmltdW1JdGVtc1F1YW50aXR5JyBpbiB0aGlzLnZhcmlhbnRzWzBdXHJcblx0XHRcdCYmIHRoaXMudmFyaWFudHNbMF0/Lm1pbmltdW1JdGVtc1F1YW50aXR5ID4gMCA/IHRoaXMudmFyaWFudHNbMF0/Lm1pbmltdW1JdGVtc1F1YW50aXR5XHJcblx0XHRcdDogKHRoaXMudmFyaWFudHNbMF0/Lm11bHRpcGxlUXVhbnRpdHkgPyB0aGlzLnZhcmlhbnRzWzBdPy5tdWx0aXBsZVF1YW50aXR5IDogMSlcclxuXHJcblx0XHRhc3NvY2lhdGVkLmZpbmFsQ29uc3VtZXIgPSB7XHJcblx0XHRcdGZpbmFsQ29uc3VtZXJQcmljZTogdGhpcy52YXJpYW50c1swXT8uZmluYWxfY29uc3VtZXJfcHJpY2UsXHJcblx0XHRcdG9yaWdpbmFsRmluYWxDb25zdW1lclByaWNlOiB0aGlzLnZhcmlhbnRzWzBdPy5vcmlnaW5hbF9maW5hbF9jb25zdW1lcl9wcmljZSxcclxuXHRcdH1cclxuXHRcdGFzc29jaWF0ZWQudGF4ZXMgPSB7XHJcblx0XHRcdHRheEluY2x1ZGVkOiB0aGlzLnZhcmlhbnRzWzBdPy50YXhJbmNsdWRlZCxcclxuXHRcdFx0dGF4Q2F0ZWdvcnk6IHRoaXMudmFyaWFudHNbMF0/LnRheENhdGVnb3J5LFxyXG5cdFx0fVxyXG5cdFx0Ly9jb25zb2xlLmxvZyhhc3NvY2lhdGVkKVxyXG5cdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQoYXNzb2NpYXRlZCk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE1lam9yYSBsb3MgZGF0b3MgZGUgbGFzIGBwcm9wZXJ0aWVzYC5cclxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRiZWF1dGlmeVByb3BlcnRpZXMocHJvcGVydGllczogYW55KTogYW55IHtcclxuXHRcdGxldCBiZWF1dGlmeURhdGE6IGFueSA9IFtdO1xyXG5cdFx0cHJvcGVydGllcy5mb3JFYWNoKChwcm9wOiBhbnkpID0+IHtcclxuXHRcdFx0Zm9yIChsZXQga2V5IGluIHByb3ApIHtcclxuXHRcdFx0XHRiZWF1dGlmeURhdGEucHVzaCh7IG5hbWU6IGtleSwgdmFsdWU6IHByb3Bba2V5XSB9KVxyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdFx0cmV0dXJuIGJlYXV0aWZ5RGF0YVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSB1biBkZXNjdWVudG8gZW4gY2FzbyBkZSBleGlzdGlyLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZURpc2NvdW50KCk6IGFueSB7XHJcblx0XHRsZXQgYWxsRGlzY291bnRzOiBzdHJpbmcgPSAnJztcclxuXHRcdHRoaXMudmFyaWFudHMuZm9yRWFjaCh2YXJpYW50ID0+IHtcclxuXHRcdFx0dmFyaWFudC5kaXNjb3VudCAmJiAoYWxsRGlzY291bnRzICs9ICcsICcgKyB2YXJpYW50LmRpc2NvdW50KTtcclxuXHRcdH0pXHJcblx0XHRpZiAoYWxsRGlzY291bnRzID09ICcnKSByZXR1cm4gdW5kZWZpbmVkO1xyXG5cdFx0cmV0dXJuIGFsbERpc2NvdW50cztcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgZWwgcHJlY2lvIGRlIHZlbnRhLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZVNhbGVQcmljZSgpOiBhbnkge1xyXG5cdFx0bGV0IG1pblByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IG1heFByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IGFsbFByaWNlczogYW55ID0gdGhpcy52YXJpYW50cy5tYXAodiA9PiB2LnNhbGVwcmljZSkuZmlsdGVyKGUgPT4gZSAhPT0gdW5kZWZpbmVkKTtcclxuXHRcdGlmIChhbGxQcmljZXMubGVuZ3RoID09IDApIHtcclxuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZFxyXG5cdFx0fVxyXG5cdFx0bWluUHJpY2UgPSBhbGxQcmljZXMucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5taW4oYSwgYikpO1xyXG5cdFx0bWF4UHJpY2UgPSBhbGxQcmljZXMucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5tYXgoYSwgYikpO1xyXG5cdFx0cmV0dXJuIG1pblByaWNlID09IG1heFByaWNlID8gbWF4UHJpY2UudG9TdHJpbmcoKSA6IG1pblByaWNlICsgJyAtICcgKyBtYXhQcmljZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgZWwgcHJlY2lvIG8gbG9zIHByZWNpb3MgZW4gY2FzbyBkZSB0ZW5lciB2YXJpYXMgdmFyaWFudGVzIGNvbiBkaXN0aW50b3MgcHJlY2lvcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRjcmVhdGVQcmljZSgpOiBhbnkge1xyXG5cdFx0bGV0IG1pblByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IG1heFByaWNlOiBudW1iZXIgPSAwO1xyXG5cdFx0bGV0IGFsbFByaWNlOiBhbnkgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYucHJpY2UpXHJcblx0XHRtaW5QcmljZSA9IGFsbFByaWNlLnJlZHVjZSgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IE1hdGgubWluKGEsIGIpKTtcclxuXHRcdG1heFByaWNlID0gYWxsUHJpY2UucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5tYXgoYSwgYikpO1xyXG5cdFx0cmV0dXJuIG1pblByaWNlID09IG1heFByaWNlID8gbWF4UHJpY2UudG9TdHJpbmcoKSA6IG1pblByaWNlICsgJyAtICcgKyBtYXhQcmljZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxhcyB2YXJpYW50ZXMuXHJcblx0ICogQHBhcmFtIGNvZGUgXHJcblx0ICovXHJcblx0dXBkYXRlVmFyaWFudHMgPSAoY29kZT86IHN0cmluZykgPT4ge1xyXG5cdFx0bGV0IHZhcmlhbnRzID0gdGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWU/LnZhcmlhbnRzXHJcblx0XHQvL2NvbnNvbGUubG9nKHZhcmlhbnRzKVxyXG5cdFx0aWYgKCFjb2RlKSB7XHJcblx0XHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcblx0XHRcdFx0b3B0aW9uLnZhbHVlcy5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRpZiAodmFsdWUuc2VsZWN0ZWQpIHtcclxuXHRcdFx0XHRcdFx0dmFyaWFudHMgPSB2YXJpYW50cz8uZmlsdGVyKHZhcmlhbnQgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB2YXJpYW50Lm9wdGlvbnMuc29tZSgodmFyaWFudE9wdGlvbjogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gKG9wdGlvbi5jb2RlIGluIHZhcmlhbnRPcHRpb24gJiYgdmFyaWFudE9wdGlvbltvcHRpb24uY29kZV0gPT0gdmFsdWUubmFtZSk7XHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dmFyaWFudHMgPSB2YXJpYW50cz8uZmlsdGVyKHZhcmlhbnQgPT4gdmFyaWFudC5jb2RlID09IGNvZGUpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy52YXJpYW50cyA9IHZhcmlhbnRzIHx8IFtdO1xyXG5cdFx0Y29kZSAmJiB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxhcyBvcGNpb25lc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgdXBkYXRlT3B0aW9ucyA9ICgpID0+IHtcclxuXHRcdGxldCB7IG9wdGlvbnMgfSA9IHRoaXMudmFyaWFudHMubGVuZ3RoICYmIHRoaXMudmFyaWFudHNbMF07XHJcblx0XHRvcHRpb25zICYmIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IE9iamVjdC5rZXlzKG9wdGlvbikuZm9yRWFjaChrZXkgPT4gdGhpcy5zZXRPcHRpb24oa2V5LCBvcHRpb25ba2V5XSkpKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBZ3JlZ2EgZWwgcHJvZHVjdG8gYWwgY2Fycml0by5cclxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgQ2FudGlkYWQgZGVsIHByb2R1Y3RvIGEgYWdyZWdhclxyXG5cdCAqIEBwYXJhbSB2YXJpYW50Q29kZSBDb2RpZ28gZGUgbGEgdmFyaWFudGUuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0YWRkVG9DYXJ0KHF1YW50aXR5OiBudW1iZXIsIHZhcmlhbnRDb2RlPzogc3RyaW5nKXtcclxuXHJcblx0XHRcclxuXHRcdGlmKCF0aGlzLnZhcmlhbnRzLmxlbmd0aCl7XHJcblx0XHRcdFxyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnY2FudC1idXknKVxyXG5cdFx0XHRcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0bGV0IHByb2R1Y3RTZWxlY3RlZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoKHRoaXMuX3Byb2R1Y3RTdWJqZWN0LmdldFZhbHVlKCkpKSk7XHJcblxyXG5cdFx0bGV0IHZhcmlhbnQ6YW55O1xyXG5cdFx0c3dpdGNoKHRoaXMudmFyaWFudHMubGVuZ3RoKXtcclxuXHRcdFx0Y2FzZSAwOlxyXG5cdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCduby12YXJpYW50cycpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIDE6XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0LnZhbHVlLnN0b2NrID09IDBcclxuXHRcdFx0XHRcdD8gdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jaycpXHJcblx0XHRcdFx0XHQ6IHZhcmlhbnQgPSB0aGlzLnZhcmlhbnRzWzBdXHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0aWYodmFyaWFudENvZGUpe1xyXG5cdFx0XHRcdFx0dmFyaWFudCA9IHRoaXMudmFyaWFudHMuZmluZCggdmFyaWFudCA9PiAgdmFyaWFudC5jb2RlID09PSB2YXJpYW50Q29kZSlcclxuXHRcdFx0XHRcdGlmKHZhcmlhbnQuc3RvY2sgPT0gMCl7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2snKVxyXG5cdFx0XHRcdFx0XHR2YXJpYW50ID0gdW5kZWZpbmVkXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCd2YXJpYW50cy1sZWZ0JylcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0XHRpZighdmFyaWFudCkgcmV0dXJuO1xyXG5cdFx0aWYoIXRoaXMudmFsaWRhdGVRdWFudGl0eShxdWFudGl0eSkpIHJldHVybjtcclxuXHRcdC8vYWdyZWdhciBhbCBzZXJ2aWNpbyBkZWwgY2Fycml0b1xyXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMubWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZCksIHF1YW50aXR5LCB2YXJpYW50LmNvZGUpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBHZW5lcmEgdW4gcHJvZHVjdG8gcGFyYSBoYWNlciBtYXMgZmFjw61sIGVsIGVudmlvIGRlbCBlbGVtZW50byBhbCBiYWNrZW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0U2VsZWN0ZWQgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBtYWtlQWZmb3JkYWJsZVByb2R1Y3QocHJvZHVjdFNlbGVjdGVkOiBQcm9kdWN0KSB7XHJcbiAgICAgICAgcHJvZHVjdFNlbGVjdGVkLnByaWNlID0gcGFyc2VGbG9hdCh0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUucHJpY2UpO1xyXG4gICAgICAgIHByb2R1Y3RTZWxlY3RlZC5zYWxlcHJpY2UgPSBwYXJzZUZsb2F0KHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZS5wcmljZSk7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQub3B0aW9ucyA9IFtdO1xyXG4gICAgICAgIHRoaXMudmFyaWFudHNbMF0ub3B0aW9ucy5mb3JFYWNoKChvcHRpb246YW55KSA9PiBwcm9kdWN0U2VsZWN0ZWQub3B0aW9ucyA9IHsgLi4ucHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMsIC4uLm9wdGlvbiB9KVxyXG4gICAgICAgIHJldHVybiBwcm9kdWN0U2VsZWN0ZWQ7XHJcbiAgICB9XHJcblx0LyoqXHJcblx0ICogVmFsaWRhIGxhIGNhbnRpZGFkIHF1ZSBzZSBxdWllcmUgYWdyZWdhciBkZSB1biBwcm9kdWN0by5cclxuXHQgKiBSZXZpc2EgcXVlIG5vIHN1cGVyZSBlbCBzdG9jaywgZWwgbWF4aW1vIGRlIGl0ZW1zIHF1ZSBzZSBwdWVkZSBhZ3JlZ2FyXHJcblx0ICogYXNpIGNvbW8gZWwgbWluaW1vLlxyXG5cdCAqIEBwYXJhbSBxdWFudGl0eSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHZhbGlkYXRlUXVhbnRpdHkgPSAocXVhbnRpdHk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFjdHVhbFF1YW50aXR5ID0gdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q291bnRGcm9tSXRlbUluQ2FydCh0aGlzLnZhcmlhbnRzWzBdLmNvZGUpO1xyXG4gICAgICAgIGNvbnN0IGFzb2NpYXRlZERhdGEgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWU7XHJcbiAgICAgICAgaWYgKChhY3R1YWxRdWFudGl0eSArIHF1YW50aXR5KSA+IGFzb2NpYXRlZERhdGEubWF4aW11bUl0ZW1zUXVhbnRpdHkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ21heGltdW0taXRlbXMtcXVhbnRpdHknLCB7IHF1YW50aXR5OiBhc29jaWF0ZWREYXRhLm1heGltdW1JdGVtc1F1YW50aXR5IH0pXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKChhY3R1YWxRdWFudGl0eSArIHF1YW50aXR5KSA8IGFzb2NpYXRlZERhdGEubWluaW11bUl0ZW1zUXVhbnRpdHkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ21pbmltdW0taXRlbXMtcXVhbnRpdHknLCB7IHF1YW50aXR5OiBhc29jaWF0ZWREYXRhLm1pbmltdW1JdGVtc1F1YW50aXR5IH0pXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -5,9 +5,7 @@ import { ApiConstantsService, CoreConstantsService } from '../constants';
|
|
|
5
5
|
import { OptionsService } from './options.service';
|
|
6
6
|
import { PaginationService } from './pagination.service';
|
|
7
7
|
import { FiltersService } from './filters.service';
|
|
8
|
-
import { PriceRangeFilter } from '../classes/filters/PriceRangeFilter';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
|
-
;
|
|
11
9
|
export class ProductsService {
|
|
12
10
|
_connection = inject(ConnectionService);
|
|
13
11
|
_apiConsts = inject(ApiConstantsService);
|
|
@@ -32,9 +30,9 @@ export class ProductsService {
|
|
|
32
30
|
this._productsSubject.next([...currentProducts, ...products]);
|
|
33
31
|
});
|
|
34
32
|
// Suscribirse a los cambios en el rango de precios
|
|
35
|
-
this._paginationService.priceRange$.subscribe(range => {
|
|
36
|
-
|
|
37
|
-
});
|
|
33
|
+
// this._paginationService.priceRange$.subscribe(range => {
|
|
34
|
+
// this.updatePriceRangeFilter(range.price_min, range.price_max);
|
|
35
|
+
// });
|
|
38
36
|
}
|
|
39
37
|
//API URL
|
|
40
38
|
_shopApiUrl = this._apiConsts.SHOP_API_URL;
|
|
@@ -155,22 +153,22 @@ export class ProductsService {
|
|
|
155
153
|
getObjectWithVariant = () => {
|
|
156
154
|
return this._consts.getParamsProductsWithUniqueVariant();
|
|
157
155
|
};
|
|
158
|
-
updatePriceRangeFilter(min, max) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
156
|
+
// private updatePriceRangeFilter(min: number, max: number) {
|
|
157
|
+
// const final_filters: Filter[] = this.filtersSubject.value;
|
|
158
|
+
// const priceRangeFilter = final_filters.find(filter => filter instanceof PriceRangeFilter);
|
|
159
|
+
// if (priceRangeFilter) {
|
|
160
|
+
// (priceRangeFilter as PriceRangeFilter).updatePrices(min, max);
|
|
161
|
+
// this.filtersSubject.next(final_filters);
|
|
162
|
+
// }
|
|
163
|
+
// }
|
|
166
164
|
getRelatedProducts = (key) => this._connection.get(this.relatedProductsApi(key));
|
|
167
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
168
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
165
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
166
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductsService, providedIn: 'root' });
|
|
169
167
|
}
|
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductsService, decorators: [{
|
|
171
169
|
type: Injectable,
|
|
172
170
|
args: [{
|
|
173
171
|
providedIn: 'root'
|
|
174
172
|
}]
|
|
175
173
|
}], ctorParameters: () => [] });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQTBELE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFBQSxDQUFDO0FBS3hFLE1BQU0sT0FBTyxlQUFlO0lBRWhCLFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsVUFBVSxHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RCxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxrQkFBa0IsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEUsT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU3RCxnQkFBZ0IsR0FBK0IsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUE7SUFDbEYsU0FBUyxHQUEwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFB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LE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxDQUFBO0lBQzVELENBQUMsQ0FBQTtJQUNPLHNCQUFzQixDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3BELE1BQU0sYUFBYSxHQUFhLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQzFELE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXpGLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNsQixnQkFBcUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBQ0Qsa0JBQWtCLEdBQUcsQ0FBQyxHQUFXLEVBQW1CLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7dUdBcEw5QyxlQUFlOzJHQUFmLGVBQWUsY0FGWixNQUFNOzsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciwgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSwgSUZpbHRlciwgT3B0aW9ucywgUGFnaW5hdGlvblNldHRpbmdzLCBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSwgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyRmFjdG9yeSB9IGZyb20gJy4uL2NsYXNzZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVycy5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9maWx0ZXJzL1ByaWNlUmFuZ2VGaWx0ZXInOztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNTZXJ2aWNlIHtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX3BhZ2luYXRpb25TZXJ2aWNlOiBQYWdpbmF0aW9uU2VydmljZSA9IGluamVjdChQYWdpbmF0aW9uU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9jb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcclxuXHJcbiAgICBwcml2YXRlIF9wcm9kdWN0c1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0W10+KFtdKVxyXG4gICAgcHVibGljIHByb2R1Y3RzJDogT2JzZXJ2YWJsZTxQcm9kdWN0W10+ID0gdGhpcy5fcHJvZHVjdHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHJpdmF0ZSBfZmlsdGVyc1NlcnZpY2U6IEZpbHRlcnNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSBmaWx0ZXJzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+KFtdKTtcclxuICAgIHB1YmxpYyBmaWx0ZXJzJCA9IHRoaXMuZmlsdGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBcclxuICAgIHByaXZhdGUgc2VhcmNoVmFsdWUgPSBzaWduYWw8c3RyaW5nPignJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UucmVzZXQkLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcm9kdWN0c1N1YmplY3QubmV4dChbXSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnBhZ2luYXRpb25EYXRhJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHByb2R1Y3RzID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB0aGlzLl9jb25zdHMuZ2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KCk7XHJcbiAgICAgICAgICAgICAgICBpZiAocHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudClcclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0cyA9IHRoaXMuZ2V0UHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudChwcm9kdWN0cywgdGhpcy5nZXRPYmplY3RXaXRoVmFyaWFudCgpKVxyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFByb2R1Y3RzID0gdGhpcy5fcHJvZHVjdHNTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvZHVjdHNTdWJqZWN0Lm5leHQoWy4uLmN1cnJlbnRQcm9kdWN0cywgLi4ucHJvZHVjdHNdKTtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC8vIFN1c2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZW4gZWwgcmFuZ28gZGUgcHJlY2lvc1xyXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnByaWNlUmFuZ2UkLnN1YnNjcmliZShyYW5nZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUHJpY2VSYW5nZUZpbHRlcihyYW5nZS5wcmljZV9taW4sIHJhbmdlLnByaWNlX21heCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9BUEkgVVJMXHJcbiAgICBwcml2YXRlIF9zaG9wQXBpVXJsID0gdGhpcy5fYXBpQ29uc3RzLlNIT1BfQVBJX1VSTDtcclxuICAgIHByb2R1Y3RCeUNvZGVBcGkoY29kZTogc3RyaW5nLCB2YXJpYW50OiBib29sZWFuKSB7IHJldHVybiB0aGlzLl9zaG9wQXBpVXJsICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3RzL2J5LWNvZGUvJyArICh2YXJpYW50ID8gJ3ZhcmlhbnQvJyA6ICcnKSArIGNvZGUgKyAnP2xvY2FsZT0nICsgdGhpcy5fYXBpQ29uc3RzLkxPQ0FMRTsgfVxyXG4gICAgLy8gcmV2aWV3XHJcbiAgICBzYXZlUHJvZHVjdFJldmlld3NBcGkoY29kZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLl9zaG9wQXBpVXJsICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3RzL2J5LWNvZGUvJyArIGNvZGUgKyAnL3Jldmlld3MnOyB9XHJcbiAgICAvL3JlbGF0ZWQgcHJvZHVjdHNcclxuICAgIHJlbGF0ZWRQcm9kdWN0c0FwaSA9IChrZXk6IHN0cmluZyk6IHN0cmluZyA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9yZWxhdGVkL2J5LWNvZGUvJyArIGtleSArICc/bG9jYWxlPScgKyB0aGlzLl9hcGlDb25zdHMuTE9DQUxFO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFNldGVhIGxvcyBmaWx0cm9zIHBhcmEgb2J0ZW5lciBsb3MgcHJvZHVjdG9zLlxyXG4gICAgICogQHBhcmFtIHBhZ2luYXRpb25TZXR0aW5ncyBcclxuICAgICAqIEBwYXJhbSBzZWFyY2hWYWx1ZSBcclxuICAgICAqL1xyXG4gICAgZ2V0UHJvZHVjdHNGb3JGaWx0ZXIocGFnaW5hdGlvblNldHRpbmdzPzogUGFnaW5hdGlvblNldHRpbmdzLCBzZWFyY2hWYWx1ZT86IGFueSk6IGFueSB7XHJcbiAgICAgICAgc2VhcmNoVmFsdWUgPyB0aGlzLnNlYXJjaFZhbHVlLnNldChzZWFyY2hWYWx1ZSkgOiB0aGlzLnNlYXJjaFZhbHVlLnNldCgnJyk7XHJcbiAgICAgICAgcGFnaW5hdGlvblNldHRpbmdzICYmIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnNldEZpbHRlcnMocGFnaW5hdGlvblNldHRpbmdzKVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBBY3R1YWxpemEgbG9zIHByb2R1Y3RvcyBjb24gbG9zIGRlIGxhIHNpZ3VpZW50ZSBwYWdpbmEuXHJcbiAgICAgKi9cclxuICAgIHVwZGF0ZVByb2R1Y3RzKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0V2FpdGluZygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldE5leHQoKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRGV2dWVsdmUgZWwgcHJvZHVjdG8gcG9yIGNvZGlnby5cclxuICAgICAqIEBwYXJhbSBjb2RlIENvZGlnbyBkZWwgcHJvZHVjdG9cclxuICAgICAqIEBwYXJhbSB2YXJpYW50IFBhcmEgaW5kaWNhciBzaSBlcyB2YXJpYW50ZSBvIG5vLlxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIGdldFByb2R1Y3RCeUNvZGUoY29kZTogc3RyaW5nLCB2YXJpYW50OiBib29sZWFuKTogT2JzZXJ2YWJsZTxQcm9kdWN0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMucHJvZHVjdEJ5Q29kZUFwaShjb2RlLCB2YXJpYW50KSk7XHJcbiAgICB9XHJcblxyXG4gICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEd1YXJkYSBsYSByZXNlw7FhIGRlIHVuIHByb2R1Y3RvLlxyXG4gICAgICogQHBhcmFtIGNvZGVcclxuICAgICAqIEBwYXJhbSBmb3JtX2RhdGFcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgICBzYXZlUmV2aWV3cyA9IChjb2RlOiBzdHJpbmcsIGZvcm1fZGF0YTogYW55KSA9PiB0aGlzLl9jb25uZWN0aW9uLnBvc3QodGhpcy5zYXZlUHJvZHVjdFJldmlld3NBcGkoY29kZSksIGZvcm1fZGF0YSlcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWNpYmUgdW5hIGxpc3RhIGRlIHByb2R1Y3RvcyB5IHJldG9ybmEgbG9zIG1pc21vcyBwcm9kdWN0b3MgdGFudGFzIHZlY2VzIGNvbW8gdmFyaWFudGVzIHRlbmdhLlxyXG4gICAgICogY2FkYSBwcm9kdWN0byByZXRvcm5hZG8gdGVuZHLDoSB1bmEgw7puaWNhIHZhcmlhbnRlLlxyXG4gICAgICogQHBhcmFtIHByb2R1Y3RzICBBcnJheS4gTGlzdGEgZGUgcHJvZHVjdG9zLlxyXG4gICAgICogQHBhcmFtIHdpdGhPcHRpb24gJ3R5cGUnIHRpcG8gZGUgb3BjacOzbiwgY29kZTogY8OzZGlnbyBkZSBsYSBvcGNpw7NuLiAnZGVmYXVsdEZpcnN0T3B0aW9uJzogZW4gY2FzbyBkZSBxdWUgbm8gc2UgcHVlZGEgZGVzZG9ibGFyIHBvciBsYSBvcGNpw7NuIGluZGljYWRhIHNpIGVsIHZhbG9yIGVzIHZlcmRhZGVybyBzZSBpbnRlbnRhcmEgZGVzZG9ibGFyIHBvciBsYSBwcmltZXJhIG9wY2nDs24gYXNvY2lhZGEgYWwgcHJvZHVjdG8uXHJcbiAgICAgKiAnY2hlY2tJZlN0b2NrJzogZW4gY2FzbyBkZSBxdWUgZXN0YSB2YWxvciBzZWEgdmVyZGFkZXJvIHNlIHJlYWxpemEgdW4gY29udHJvbCBkZSBxdWUgbGEgdmFyaWFudGVzIGN1ZW50ZW4gY29uIHN0b2NrIHBhcmEgc2VyIHVuIHByb2R1Y3RvIGRlc2RvYmxhZG8gcG9yIGxhIHZhcmlhbnRlLCBzaSBlbCB2YWxvciBlcyBmYWxzbyBubyBzZSByZWFsaXphIGRpY2hvIGNvbnRyb2wgeSBlbCBwcm9kdWN0byBzZSBkZXNkb2JsYXJhIGNvbiBzdG9jayBlbiAwLlxyXG4gICAgICogQHJldHVybnMgYXJyZWdsbyBjb24gbG9zIHByb2R1Y3RvcyBkZXNkb2JsYWRvcyBwb3IgbGEgb3BjacOzbiBzb2xpY2l0YWRhLlxyXG4gICAgICogKG9wY2nDs24gcG9yIGRlZmVjdG8gcXVlIHNlIGludGVudGEgaGFjZXIgZWwgZGVzZG9ibGFtaWVudG8gJ2NvbG9yJywgbyBiaWVuIHNpIGVuIGxlIHBhcsOhbWV0cm8gd2l0aE9wdGlvbiBlbCBhdHJpYnV0byAnZGVmYXVsdEZpcnN0T3B0aW9uJyBlcyB2ZXJkYWRlcm8gc2UgZGVzZG9ibGEgcG9yIGxhIHByaW1lcmEgb3BjacOzbiBhc29jaWFkYSBhbCBwcm9kdWN0bylcclxuICAgICAqL1xyXG4gICAgZ2V0UHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IChwcm9kdWN0czogUHJvZHVjdFtdLCB3aXRoT3B0aW9uOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0geyB0eXBlOiAnY29sb3InLCBjb2RlOiAnY29sb3InLCBkZWZhdWx0Rmlyc3RPcHRpb246IGZhbHNlLCBjaGVja0lmU3RvY2s6IHRydWUgfSkgPT4ge1xyXG5cclxuICAgICAgICAhd2l0aE9wdGlvblsnY29kZSddICYmIHdpdGhPcHRpb25bJ3R5cGUnXSAmJiAod2l0aE9wdGlvblsnY29kZSddID0gd2l0aE9wdGlvblsndHlwZSddKSB8fCAhd2l0aE9wdGlvblsnY29kZSddICYmICh3aXRoT3B0aW9uWydjb2RlJ10gPSAnY29sb3InKVxyXG4gICAgICAgICF3aXRoT3B0aW9uWyd0eXBlJ10gJiYgd2l0aE9wdGlvblsnY29kZSddICYmICh3aXRoT3B0aW9uWyd0eXBlJ10gPSB3aXRoT3B0aW9uWydjb2RlJ10pIHx8ICF3aXRoT3B0aW9uWyd0eXBlJ10gJiYgKHdpdGhPcHRpb25bJ3R5cGUnXSA9ICdjb2xvcicpXHJcbiAgICAgICAgIXdpdGhPcHRpb24uaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRGaXJzdE9wdGlvbicpICYmICh3aXRoT3B0aW9uWydkZWZhdWx0Rmlyc3RPcHRpb24nXSA9IGZhbHNlKVxyXG4gICAgICAgICF3aXRoT3B0aW9uLmhhc093blByb3BlcnR5KCdjaGVja0lmU3RvY2snKSAmJiAod2l0aE9wdGlvblsnY2hlY2tJZlN0b2NrJ10gPSB0cnVlKVxyXG5cclxuICAgICAgICBsZXQgcHJvZHVjdHNVbmlxdWVWYXJpYW50OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIHByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgdmFyaWFudHMgPSBbLi4ucHJvZHVjdD8udmFyaWFudHNdO1xyXG4gICAgICAgICAgICBsZXQgb3B0aW9uID0gcHJvZHVjdC5vcHRpb25zLmZpbmQoKG9wdDogYW55KSA9PiBvcHQudHlwZS50b0xvd2VyQ2FzZSgpID09PSB3aXRoT3B0aW9uLnR5cGU/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb24udmFsdWVzLmZvckVhY2goKG9wdGlvblZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kaWZpZWRfcHJvZHVjdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocHJvZHVjdCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX3Byb2R1Y3Qub3B0aW9ucy5maW5kKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnR5cGUudG9Mb3dlckNhc2UoKSA9PSB3aXRoT3B0aW9uLnR5cGU/LnRvTG93ZXJDYXNlKCkpLnZhbHVlcyA9IFt7IGNvZGU6IG9wdGlvblZhbHVlLmNvZGUsIG5hbWU6IG9wdGlvblZhbHVlLm5hbWUgfV07XHJcbiAgICAgICAgICAgICAgICAgICAgLy9idXNjbyB1bmEgdmFyaWFudGUgY29uIGVzZSBjb2RlIHBhcmEgYXNpZ25hcmxlIGxhIGxpc3RhIGRlIGltYWdlbmVzXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhcmlhbnRBdXggPSB2YXJpYW50cy5maW5kKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50ID0+ICgod2l0aE9wdGlvbi5jaGVja0lmU3RvY2sgJiYgdmFyaWFudC5zdG9jayA+IDApIHx8IHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrID09IGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgdmFyaWFudC5vcHRpb25zLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgdmFyaWFudC5vcHRpb25zLnNvbWUoKG9wOiBhbnkpID0+IChvcC5oYXNPd25Qcm9wZXJ0eSh3aXRoT3B0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkpIHx8IG9wLmhhc093blByb3BlcnR5KHdpdGhPcHRpb24uY29kZT8udG9VcHBlckNhc2UoKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKG9wW2Ake3dpdGhPcHRpb24uY29kZT8udG9Mb3dlckNhc2UoKX1gXSB8fCBvcFtgJHt3aXRoT3B0aW9uLmNvZGU/LnRvVXBwZXJDYXNlKCl9YF0pID09PSBvcHRpb25WYWx1ZS5jb2RlKVxyXG5cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCItLS1cIix2YXJpYW50QXV4KTtcclxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4ICYmIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAgICAgKiBzZSBtb2RpZmljYSBlbCBjYXNvIHBhcmEgY3VhbmRvIHNlIHRvbWEgZWwgcHJpbWVyIGBvcHRpb25gIGRlbCBwcm9kdWN0byBwYXJhXHJcbiAgICAgICAgICAgICAgICAgKiBhcm1hciBsYSBsaXN0YSBkZSBwcm9kdWN0b3MgY29uIHZhcmlhbnRlcy5cclxuICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgaWYgKHdpdGhPcHRpb24uZGVmYXVsdEZpcnN0T3B0aW9uICYmIHByb2R1Y3Qub3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0T3B0aW9ucyA9IHByb2R1Y3Qub3B0aW9uc1swXVxyXG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3Qub3B0aW9uc1swXS52YWx1ZXMuZm9yRWFjaCgob3B0aW9uVmFsdWU6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVkX3Byb2R1Y3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb2R1Y3QpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRfcHJvZHVjdC5vcHRpb25zLmZpbmQoKG9wdGlvbjogT3B0aW9ucykgPT4gb3B0aW9uLnR5cGUgPT0gZmlyc3RPcHRpb25zLnR5cGUpLnZhbHVlcyA9IFt7IGNvZGU6IG9wdGlvblZhbHVlLmNvZGUsIG5hbWU6IG9wdGlvblZhbHVlLm5hbWUgfV07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFyaWFudEF1eCA9IHZhcmlhbnRzLmZpbmQodmFyaWFudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFyaWFudC5vcHRpb25zLmZpbmQoKGVsZW06IGFueSkgPT4gZWxlbVtmaXJzdE9wdGlvbnMuY29kZV0gPT0gb3B0aW9uVmFsdWUuY29kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YXJpYW50QXV4ICYmIHZhcmlhbnRBdXguaW1hZ2VzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4LmltYWdlcyA9IHByb2R1Y3QucGljdHVyZXNkZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aXRoT3B0aW9uLmNoZWNrSWZTdG9jaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhcmlhbnRBdXggJiYgdmFyaWFudEF1eC5zdG9jayA+IDApID8gcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2godGhpcy5wcm9kdWN0V2l0aFZhcmlhbnRWYWx1ZXMobW9kaWZpZWRfcHJvZHVjdCwgdmFyaWFudEF1eCwgb3B0aW9uVmFsdWUpKSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4ICYmIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaChwcm9kdWN0KVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5sZW5ndGggPiAwID8gcHJvZHVjdHNVbmlxdWVWYXJpYW50IDogcHJvZHVjdHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzID0gKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmlhbnQ6IGFueSwgb3B0aW9uVmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHByb2R1Y3QucGljdHVyZXNkZWZhdWx0ID0gWy4uLnZhcmlhbnQuaW1hZ2VzXVxyXG4gICAgICAgIHByb2R1Y3QudmFyaWFudF9pZCA9IHZhcmlhbnQuY29kZTsgLy9sbyBkZWpvIGFjYSBoYXN0YSBhc2VndXJhcm5vcyBkZSBxdWUgbm8gc2UgZXN0YWJhIHVzYW5kbyBlbiBvdHJhIHBhcnRlLlxyXG4gICAgICAgIHByb2R1Y3Quc3RvY2sgPSB2YXJpYW50LnN0b2NrIHx8IDA7IC8vbG8gZGVqbyBhY2EgaGFzdGEgYXNlZ3VyYXJub3MgZGUgcXVlIG5vIHNlIGVzdGFiYSB1c2FuZG8gZW4gb3RyYSBwYXJ0ZS5cclxuICAgICAgICBwcm9kdWN0LnByaWNlID0gdmFyaWFudC5wcmljZS50b1N0cmluZygpIHx8ICcwJztcclxuICAgICAgICBwcm9kdWN0LmN1cnJlbnRPcHRpb24gPSB7XHJcbiAgICAgICAgICAgIC4uLm9wdGlvblZhbHVlLFxyXG4gICAgICAgICAgICBwcm9kdWN0Q29kZTogcHJvZHVjdC5pZCxcclxuICAgICAgICAgICAgdmFyaWFudENvZGU6IHZhcmlhbnQuY29kZSxcclxuICAgICAgICAgICAgc3RvY2s6IHZhcmlhbnQuc3RvY2sgfHwgMCxcclxuICAgICAgICAgICAgZmluYWxQcmljZTogdmFyaWFudC5zYWxlcHJpY2UgfHwgdmFyaWFudC5wcmljZSB8fCAwLFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvZHVjdFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0T2JqZWN0V2l0aFZhcmlhbnQgPSAoKTogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnN0cy5nZXRQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50KClcclxuICAgIH1cclxuICAgIHByaXZhdGUgdXBkYXRlUHJpY2VSYW5nZUZpbHRlcihtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcclxuICAgICAgIGNvbnN0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gdGhpcy5maWx0ZXJzU3ViamVjdC52YWx1ZTtcclxuICAgICAgIGNvbnN0IHByaWNlUmFuZ2VGaWx0ZXIgPSBmaW5hbF9maWx0ZXJzLmZpbmQoZmlsdGVyID0+IGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIpO1xyXG5cclxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xyXG4gICAgICAgICAgICAocHJpY2VSYW5nZUZpbHRlciBhcyBQcmljZVJhbmdlRmlsdGVyKS51cGRhdGVQcmljZXMobWluLCBtYXgpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0UmVsYXRlZFByb2R1Y3RzID0gKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+ID0+XHJcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5yZWxhdGVkUHJvZHVjdHNBcGkoa2V5KSk7XHJcblxyXG5cclxuXHJcbn1cclxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQTBELE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFFaEIsV0FBVyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxPQUFPLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdELGdCQUFnQixHQUErQixJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQTtJQUNsRixTQUFTLEdBQTBCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2RSxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJ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QUFDLEdBQVcsRUFBbUIsRUFBRSxDQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3R0FwTDlDLGVBQWU7NEdBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRJbmplY3RvciwgaW5qZWN0LCBJbmplY3RhYmxlLCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyLCBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyLCBPcHRpb25zLCBQYWdpbmF0aW9uU2V0dGluZ3MsIFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQsIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlLCBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyLCBGaWx0ZXJGYWN0b3J5IH0gZnJvbSAnLi4vY2xhc3Nlcyc7XHJcbmltcG9ydCB7IEZpbHRlcnNTZXJ2aWNlIH0gZnJvbSAnLi9maWx0ZXJzLnNlcnZpY2UnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzU2VydmljZSB7XHJcbiAgICBcclxuICAgIHByaXZhdGUgX2Nvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX2FwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9wYWdpbmF0aW9uU2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UgPSBpbmplY3QoUGFnaW5hdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJvZHVjdHNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdFtdPihbXSlcclxuICAgIHB1YmxpYyBwcm9kdWN0cyQ6IE9ic2VydmFibGU8UHJvZHVjdFtdPiA9IHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcclxuICAgIHByaXZhdGUgZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPihbXSk7XHJcbiAgICBwdWJsaWMgZmlsdGVycyQgPSB0aGlzLmZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgXHJcbiAgICBwcml2YXRlIHNlYXJjaFZhbHVlID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnJlc2V0JC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHJvZHVjdHNTdWJqZWN0Lm5leHQoW10pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5wYWdpbmF0aW9uRGF0YSQuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICBwcm9kdWN0cyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0gdGhpcy5fY29uc3RzLmdldFByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudCgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQpXHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHMgPSB0aGlzLmdldFByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQocHJvZHVjdHMsIHRoaXMuZ2V0T2JqZWN0V2l0aFZhcmlhbnQoKSlcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQcm9kdWN0cyA9IHRoaXMuX3Byb2R1Y3RzU3ViamVjdC52YWx1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5uZXh0KFsuLi5jdXJyZW50UHJvZHVjdHMsIC4uLnByb2R1Y3RzXSk7XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIClcclxuICAgICAgICAvLyBTdXNjcmliaXJzZSBhIGxvcyBjYW1iaW9zIGVuIGVsIHJhbmdvIGRlIHByZWNpb3NcclxuICAgICAgICAvLyB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5wcmljZVJhbmdlJC5zdWJzY3JpYmUocmFuZ2UgPT4ge1xyXG4gICAgICAgIC8vICAgICB0aGlzLnVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIocmFuZ2UucHJpY2VfbWluLCByYW5nZS5wcmljZV9tYXgpO1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQVBJIFVSTFxyXG4gICAgcHJpdmF0ZSBfc2hvcEFwaVVybCA9IHRoaXMuX2FwaUNvbnN0cy5TSE9QX0FQSV9VUkw7XHJcbiAgICBwcm9kdWN0QnlDb2RlQXBpKGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbikgeyByZXR1cm4gdGhpcy5fc2hvcEFwaVVybCArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyAodmFyaWFudCA/ICd2YXJpYW50LycgOiAnJykgKyBjb2RlICsgJz9sb2NhbGU9JyArIHRoaXMuX2FwaUNvbnN0cy5MT0NBTEU7IH1cclxuICAgIC8vIHJldmlld1xyXG4gICAgc2F2ZVByb2R1Y3RSZXZpZXdzQXBpKGNvZGU6IHN0cmluZykgeyByZXR1cm4gdGhpcy5fc2hvcEFwaVVybCArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyBjb2RlICsgJy9yZXZpZXdzJzsgfVxyXG4gICAgLy9yZWxhdGVkIHByb2R1Y3RzXHJcbiAgICByZWxhdGVkUHJvZHVjdHNBcGkgPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvcHJvZHVjdHMvcmVsYXRlZC9ieS1jb2RlLycgKyBrZXkgKyAnP2xvY2FsZT0nICsgdGhpcy5fYXBpQ29uc3RzLkxPQ0FMRTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRlYSBsb3MgZmlsdHJvcyBwYXJhIG9idGVuZXIgbG9zIHByb2R1Y3Rvcy5cclxuICAgICAqIEBwYXJhbSBwYWdpbmF0aW9uU2V0dGluZ3MgXHJcbiAgICAgKiBAcGFyYW0gc2VhcmNoVmFsdWUgXHJcbiAgICAgKi9cclxuICAgIGdldFByb2R1Y3RzRm9yRmlsdGVyKHBhZ2luYXRpb25TZXR0aW5ncz86IFBhZ2luYXRpb25TZXR0aW5ncywgc2VhcmNoVmFsdWU/OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHNlYXJjaFZhbHVlID8gdGhpcy5zZWFyY2hWYWx1ZS5zZXQoc2VhcmNoVmFsdWUpIDogdGhpcy5zZWFyY2hWYWx1ZS5zZXQoJycpO1xyXG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5ncyAmJiB0aGlzLl9maWx0ZXJzU2VydmljZS5zZXRGaWx0ZXJzKHBhZ2luYXRpb25TZXR0aW5ncylcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogQWN0dWFsaXphIGxvcyBwcm9kdWN0b3MgY29uIGxvcyBkZSBsYSBzaWd1aWVudGUgcGFnaW5hLlxyXG4gICAgICovXHJcbiAgICB1cGRhdGVQcm9kdWN0cygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldFdhaXRpbmcoKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXROZXh0KClcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIERldnVlbHZlIGVsIHByb2R1Y3RvIHBvciBjb2RpZ28uXHJcbiAgICAgKiBAcGFyYW0gY29kZSBDb2RpZ28gZGVsIHByb2R1Y3RvXHJcbiAgICAgKiBAcGFyYW0gdmFyaWFudCBQYXJhIGluZGljYXIgc2kgZXMgdmFyaWFudGUgbyBuby5cclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBnZXRQcm9kdWN0QnlDb2RlKGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbik6IE9ic2VydmFibGU8UHJvZHVjdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLnByb2R1Y3RCeUNvZGVBcGkoY29kZSwgdmFyaWFudCkpO1xyXG4gICAgfVxyXG5cclxuICAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBHdWFyZGEgbGEgcmVzZcOxYSBkZSB1biBwcm9kdWN0by5cclxuICAgICAqIEBwYXJhbSBjb2RlXHJcbiAgICAgKiBAcGFyYW0gZm9ybV9kYXRhXHJcbiAgICAgKiBAcmV0dXJuc1xyXG4gICAgICovXHJcbiAgICAgc2F2ZVJldmlld3MgPSAoY29kZTogc3RyaW5nLCBmb3JtX2RhdGE6IGFueSkgPT4gdGhpcy5fY29ubmVjdGlvbi5wb3N0KHRoaXMuc2F2ZVByb2R1Y3RSZXZpZXdzQXBpKGNvZGUpLCBmb3JtX2RhdGEpXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVjaWJlIHVuYSBsaXN0YSBkZSBwcm9kdWN0b3MgeSByZXRvcm5hIGxvcyBtaXNtb3MgcHJvZHVjdG9zIHRhbnRhcyB2ZWNlcyBjb21vIHZhcmlhbnRlcyB0ZW5nYS5cclxuICAgICAqIGNhZGEgcHJvZHVjdG8gcmV0b3JuYWRvIHRlbmRyw6EgdW5hIMO6bmljYSB2YXJpYW50ZS5cclxuICAgICAqIEBwYXJhbSBwcm9kdWN0cyAgQXJyYXkuIExpc3RhIGRlIHByb2R1Y3Rvcy5cclxuICAgICAqIEBwYXJhbSB3aXRoT3B0aW9uICd0eXBlJyB0aXBvIGRlIG9wY2nDs24sIGNvZGU6IGPDs2RpZ28gZGUgbGEgb3BjacOzbi4gJ2RlZmF1bHRGaXJzdE9wdGlvbic6IGVuIGNhc28gZGUgcXVlIG5vIHNlIHB1ZWRhIGRlc2RvYmxhciBwb3IgbGEgb3BjacOzbiBpbmRpY2FkYSBzaSBlbCB2YWxvciBlcyB2ZXJkYWRlcm8gc2UgaW50ZW50YXJhIGRlc2RvYmxhciBwb3IgbGEgcHJpbWVyYSBvcGNpw7NuIGFzb2NpYWRhIGFsIHByb2R1Y3RvLlxyXG4gICAgICogJ2NoZWNrSWZTdG9jayc6IGVuIGNhc28gZGUgcXVlIGVzdGEgdmFsb3Igc2VhIHZlcmRhZGVybyBzZSByZWFsaXphIHVuIGNvbnRyb2wgZGUgcXVlIGxhIHZhcmlhbnRlcyBjdWVudGVuIGNvbiBzdG9jayBwYXJhIHNlciB1biBwcm9kdWN0byBkZXNkb2JsYWRvIHBvciBsYSB2YXJpYW50ZSwgc2kgZWwgdmFsb3IgZXMgZmFsc28gbm8gc2UgcmVhbGl6YSBkaWNobyBjb250cm9sIHkgZWwgcHJvZHVjdG8gc2UgZGVzZG9ibGFyYSBjb24gc3RvY2sgZW4gMC5cclxuICAgICAqIEByZXR1cm5zIGFycmVnbG8gY29uIGxvcyBwcm9kdWN0b3MgZGVzZG9ibGFkb3MgcG9yIGxhIG9wY2nDs24gc29saWNpdGFkYS5cclxuICAgICAqIChvcGNpw7NuIHBvciBkZWZlY3RvIHF1ZSBzZSBpbnRlbnRhIGhhY2VyIGVsIGRlc2RvYmxhbWllbnRvICdjb2xvcicsIG8gYmllbiBzaSBlbiBsZSBwYXLDoW1ldHJvIHdpdGhPcHRpb24gZWwgYXRyaWJ1dG8gJ2RlZmF1bHRGaXJzdE9wdGlvbicgZXMgdmVyZGFkZXJvIHNlIGRlc2RvYmxhIHBvciBsYSBwcmltZXJhIG9wY2nDs24gYXNvY2lhZGEgYWwgcHJvZHVjdG8pXHJcbiAgICAgKi9cclxuICAgIGdldFByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSAocHJvZHVjdHM6IFByb2R1Y3RbXSwgd2l0aE9wdGlvbjogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHsgdHlwZTogJ2NvbG9yJywgY29kZTogJ2NvbG9yJywgZGVmYXVsdEZpcnN0T3B0aW9uOiBmYWxzZSwgY2hlY2tJZlN0b2NrOiB0cnVlIH0pID0+IHtcclxuXHJcbiAgICAgICAgIXdpdGhPcHRpb25bJ2NvZGUnXSAmJiB3aXRoT3B0aW9uWyd0eXBlJ10gJiYgKHdpdGhPcHRpb25bJ2NvZGUnXSA9IHdpdGhPcHRpb25bJ3R5cGUnXSkgfHwgIXdpdGhPcHRpb25bJ2NvZGUnXSAmJiAod2l0aE9wdGlvblsnY29kZSddID0gJ2NvbG9yJylcclxuICAgICAgICAhd2l0aE9wdGlvblsndHlwZSddICYmIHdpdGhPcHRpb25bJ2NvZGUnXSAmJiAod2l0aE9wdGlvblsndHlwZSddID0gd2l0aE9wdGlvblsnY29kZSddKSB8fCAhd2l0aE9wdGlvblsndHlwZSddICYmICh3aXRoT3B0aW9uWyd0eXBlJ10gPSAnY29sb3InKVxyXG4gICAgICAgICF3aXRoT3B0aW9uLmhhc093blByb3BlcnR5KCdkZWZhdWx0Rmlyc3RPcHRpb24nKSAmJiAod2l0aE9wdGlvblsnZGVmYXVsdEZpcnN0T3B0aW9uJ10gPSBmYWxzZSlcclxuICAgICAgICAhd2l0aE9wdGlvbi5oYXNPd25Qcm9wZXJ0eSgnY2hlY2tJZlN0b2NrJykgJiYgKHdpdGhPcHRpb25bJ2NoZWNrSWZTdG9jayddID0gdHJ1ZSlcclxuXHJcbiAgICAgICAgbGV0IHByb2R1Y3RzVW5pcXVlVmFyaWFudDogYW55W10gPSBbXTtcclxuICAgICAgICBwcm9kdWN0cy5mb3JFYWNoKChwcm9kdWN0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgbGV0IHZhcmlhbnRzID0gWy4uLnByb2R1Y3Q/LnZhcmlhbnRzXTtcclxuICAgICAgICAgICAgbGV0IG9wdGlvbiA9IHByb2R1Y3Qub3B0aW9ucy5maW5kKChvcHQ6IGFueSkgPT4gb3B0LnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gd2l0aE9wdGlvbi50eXBlPy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uLnZhbHVlcy5mb3JFYWNoKChvcHRpb25WYWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVkX3Byb2R1Y3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb2R1Y3QpKTtcclxuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZF9wcm9kdWN0Lm9wdGlvbnMuZmluZCgob3B0aW9uOiBhbnkpID0+IG9wdGlvbi50eXBlLnRvTG93ZXJDYXNlKCkgPT0gd2l0aE9wdGlvbi50eXBlPy50b0xvd2VyQ2FzZSgpKS52YWx1ZXMgPSBbeyBjb2RlOiBvcHRpb25WYWx1ZS5jb2RlLCBuYW1lOiBvcHRpb25WYWx1ZS5uYW1lIH1dO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vYnVzY28gdW5hIHZhcmlhbnRlIGNvbiBlc2UgY29kZSBwYXJhIGFzaWduYXJsZSBsYSBsaXN0YSBkZSBpbWFnZW5lc1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YXJpYW50QXV4ID0gdmFyaWFudHMuZmluZChcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudCA9PiAoKHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrICYmIHZhcmlhbnQuc3RvY2sgPiAwKSB8fCB3aXRoT3B0aW9uLmNoZWNrSWZTdG9jayA9PSBmYWxzZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHZhcmlhbnQub3B0aW9ucy5sZW5ndGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHZhcmlhbnQub3B0aW9ucy5zb21lKChvcDogYW55KSA9PiAob3AuaGFzT3duUHJvcGVydHkod2l0aE9wdGlvbi5jb2RlPy50b0xvd2VyQ2FzZSgpKSB8fCBvcC5oYXNPd25Qcm9wZXJ0eSh3aXRoT3B0aW9uLmNvZGU/LnRvVXBwZXJDYXNlKCkpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChvcFtgJHt3aXRoT3B0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCl9YF0gfHwgb3BbYCR7d2l0aE9wdGlvbi5jb2RlPy50b1VwcGVyQ2FzZSgpfWBdKSA9PT0gb3B0aW9uVmFsdWUuY29kZSlcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiLS0tXCIsdmFyaWFudEF1eCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eCAmJiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaCh0aGlzLnByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyhtb2RpZmllZF9wcm9kdWN0LCB2YXJpYW50QXV4LCBvcHRpb25WYWx1ZSkpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgICAgICogc2UgbW9kaWZpY2EgZWwgY2FzbyBwYXJhIGN1YW5kbyBzZSB0b21hIGVsIHByaW1lciBgb3B0aW9uYCBkZWwgcHJvZHVjdG8gcGFyYVxyXG4gICAgICAgICAgICAgICAgICogYXJtYXIgbGEgbGlzdGEgZGUgcHJvZHVjdG9zIGNvbiB2YXJpYW50ZXMuXHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgIGlmICh3aXRoT3B0aW9uLmRlZmF1bHRGaXJzdE9wdGlvbiAmJiBwcm9kdWN0Lm9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaXJzdE9wdGlvbnMgPSBwcm9kdWN0Lm9wdGlvbnNbMF1cclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lm9wdGlvbnNbMF0udmFsdWVzLmZvckVhY2goKG9wdGlvblZhbHVlOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllZF9wcm9kdWN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcm9kdWN0KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX3Byb2R1Y3Qub3B0aW9ucy5maW5kKChvcHRpb246IE9wdGlvbnMpID0+IG9wdGlvbi50eXBlID09IGZpcnN0T3B0aW9ucy50eXBlKS52YWx1ZXMgPSBbeyBjb2RlOiBvcHRpb25WYWx1ZS5jb2RlLCBuYW1lOiBvcHRpb25WYWx1ZS5uYW1lIH1dO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhcmlhbnRBdXggPSB2YXJpYW50cy5maW5kKHZhcmlhbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhcmlhbnQub3B0aW9ucy5maW5kKChlbGVtOiBhbnkpID0+IGVsZW1bZmlyc3RPcHRpb25zLmNvZGVdID09IG9wdGlvblZhbHVlLmNvZGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWFudEF1eCAmJiB2YXJpYW50QXV4LmltYWdlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eC5pbWFnZXMgPSBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAod2l0aE9wdGlvbi5jaGVja0lmU3RvY2spIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YXJpYW50QXV4ICYmIHZhcmlhbnRBdXguc3RvY2sgPiAwKSA/IHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSkgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eCAmJiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaCh0aGlzLnByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyhtb2RpZmllZF9wcm9kdWN0LCB2YXJpYW50QXV4LCBvcHRpb25WYWx1ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2gocHJvZHVjdClcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQubGVuZ3RoID4gMCA/IHByb2R1Y3RzVW5pcXVlVmFyaWFudCA6IHByb2R1Y3RzO1xyXG4gICAgfVxyXG5cclxuICAgIHByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyA9IChwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50OiBhbnksIG9wdGlvblZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdCA9IFsuLi52YXJpYW50LmltYWdlc11cclxuICAgICAgICBwcm9kdWN0LnZhcmlhbnRfaWQgPSB2YXJpYW50LmNvZGU7IC8vbG8gZGVqbyBhY2EgaGFzdGEgYXNlZ3VyYXJub3MgZGUgcXVlIG5vIHNlIGVzdGFiYSB1c2FuZG8gZW4gb3RyYSBwYXJ0ZS5cclxuICAgICAgICBwcm9kdWN0LnN0b2NrID0gdmFyaWFudC5zdG9jayB8fCAwOyAvL2xvIGRlam8gYWNhIGhhc3RhIGFzZWd1cmFybm9zIGRlIHF1ZSBubyBzZSBlc3RhYmEgdXNhbmRvIGVuIG90cmEgcGFydGUuXHJcbiAgICAgICAgcHJvZHVjdC5wcmljZSA9IHZhcmlhbnQucHJpY2UudG9TdHJpbmcoKSB8fCAnMCc7XHJcbiAgICAgICAgcHJvZHVjdC5jdXJyZW50T3B0aW9uID0ge1xyXG4gICAgICAgICAgICAuLi5vcHRpb25WYWx1ZSxcclxuICAgICAgICAgICAgcHJvZHVjdENvZGU6IHByb2R1Y3QuaWQsXHJcbiAgICAgICAgICAgIHZhcmlhbnRDb2RlOiB2YXJpYW50LmNvZGUsXHJcbiAgICAgICAgICAgIHN0b2NrOiB2YXJpYW50LnN0b2NrIHx8IDAsXHJcbiAgICAgICAgICAgIGZpbmFsUHJpY2U6IHZhcmlhbnQuc2FsZXByaWNlIHx8IHZhcmlhbnQucHJpY2UgfHwgMCxcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb2R1Y3RcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE9iamVjdFdpdGhWYXJpYW50ID0gKCk6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25zdHMuZ2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCgpXHJcbiAgICB9XHJcbiAgICAvLyBwcml2YXRlIHVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XHJcbiAgICAvLyAgICBjb25zdCBmaW5hbF9maWx0ZXJzOiBGaWx0ZXJbXSA9IHRoaXMuZmlsdGVyc1N1YmplY3QudmFsdWU7XHJcbiAgICAvLyAgICBjb25zdCBwcmljZVJhbmdlRmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcclxuXHJcbiAgICAvLyAgICAgaWYgKHByaWNlUmFuZ2VGaWx0ZXIpIHtcclxuICAgIC8vICAgICAgICAgKHByaWNlUmFuZ2VGaWx0ZXIgYXMgUHJpY2VSYW5nZUZpbHRlcikudXBkYXRlUHJpY2VzKG1pbiwgbWF4KTtcclxuICAgIC8vICAgICAgICAgdGhpcy5maWx0ZXJzU3ViamVjdC5uZXh0KGZpbmFsX2ZpbHRlcnMpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIGdldFJlbGF0ZWRQcm9kdWN0cyA9IChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiA9PlxyXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMucmVsYXRlZFByb2R1Y3RzQXBpKGtleSkpO1xyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
|