@esolve/ng-esolve-connect 0.38.0 → 0.39.0

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.
Files changed (100) hide show
  1. package/esm2020/index.mjs +3 -3
  2. package/esm2020/lib/account/esolve-account.service.mjs +11 -13
  3. package/esm2020/lib/auth/esolve-auth-interceptor.service.mjs +8 -10
  4. package/esm2020/lib/auth/esolve-auth.service.mjs +5 -5
  5. package/esm2020/lib/banners/esolve-banner.service.mjs +7 -9
  6. package/esm2020/lib/cart/esolve-cart.service.mjs +2 -2
  7. package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +7 -9
  8. package/esm2020/lib/core/esolve-config.service.mjs +51 -0
  9. package/esm2020/lib/core/esolve-connect-config.constant.mjs +3 -0
  10. package/esm2020/lib/core/esolve-connect.config.mjs +2 -0
  11. package/esm2020/lib/core/index.mjs +4 -0
  12. package/esm2020/lib/coupons/esolve-coupons.service.mjs +2 -2
  13. package/esm2020/lib/enquiry/esolve-enquiry.service.mjs +9 -11
  14. package/esm2020/lib/images/directives/cdn-src.directive.mjs +72 -0
  15. package/esm2020/lib/images/directives/index.mjs +2 -0
  16. package/esm2020/lib/images/esolve-image-loader.provider.mjs +13 -0
  17. package/esm2020/lib/images/functions/index.mjs +4 -0
  18. package/esm2020/lib/images/functions/is-esolve-cdn-path.function.mjs +5 -0
  19. package/esm2020/lib/images/functions/is-legacy-esolve-cdn-path.function.mjs +5 -0
  20. package/esm2020/lib/images/functions/process-image-src.function.mjs +33 -0
  21. package/esm2020/lib/images/index.mjs +4 -0
  22. package/esm2020/lib/locations/esolve-locations.service.mjs +2 -2
  23. package/esm2020/lib/manufacturers/esolve-manufacturers.service.mjs +7 -9
  24. package/esm2020/lib/menu/classes/esolve-menu-item.model.mjs +3 -1
  25. package/esm2020/lib/menu/esolve-menu.service.mjs +7 -9
  26. package/esm2020/lib/news/esolve-news-article.model.mjs +2 -2
  27. package/esm2020/lib/news/esolve-news-group-record.interface.mjs +1 -1
  28. package/esm2020/lib/news/esolve-news-group.model.mjs +22 -6
  29. package/esm2020/lib/news/esolve-news.service.mjs +14 -12
  30. package/esm2020/lib/ng-esolve-connect.module.mjs +2 -2
  31. package/esm2020/lib/payment/esolve-payment.service.mjs +2 -2
  32. package/esm2020/lib/ranges/esolve-ranges.service.mjs +2 -2
  33. package/esm2020/lib/session/esolve-session-metadata.service.mjs +2 -2
  34. package/esm2020/lib/session/esolve-session.service.mjs +2 -2
  35. package/esm2020/lib/shared/assets/esolve-assets.service.mjs +2 -2
  36. package/esm2020/lib/shared/filters/classes/esolve-range-filter.model.mjs +1 -1
  37. package/esm2020/lib/shared/filters/esolve-filter-factory.mjs +1 -1
  38. package/esm2020/lib/shared/geocoder/esolve-geocoder.service.mjs +2 -2
  39. package/esm2020/lib/shared/seo/esolve-seo.service.mjs +24 -38
  40. package/esm2020/lib/shipping/classes/esolve-shipping-cost.model.mjs +1 -1
  41. package/esm2020/lib/shipping/esolve-shipping.service.mjs +2 -2
  42. package/esm2020/lib/specials/esolve-specials.service.mjs +2 -2
  43. package/esm2020/lib/stock/esolve-stock.service.mjs +2 -2
  44. package/esm2020/lib/suppliers/esolve-suppliers.service.mjs +2 -2
  45. package/esm2020/lib/tags/esolve-tags.service.mjs +2 -2
  46. package/esm2020/lib/topics/esolve-topic.service.mjs +2 -2
  47. package/esm2020/lib/transactions/esolve-transactions.service.mjs +2 -2
  48. package/esm2020/lib/wishlist/esolve-wishlist.service.mjs +2 -2
  49. package/fesm2015/esolve-ng-esolve-connect.mjs +565 -431
  50. package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
  51. package/fesm2020/esolve-ng-esolve-connect.mjs +695 -546
  52. package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
  53. package/index.d.ts +2 -2
  54. package/lib/account/esolve-account.service.d.ts +2 -2
  55. package/lib/auth/esolve-auth-interceptor.service.d.ts +3 -3
  56. package/lib/auth/esolve-auth.service.d.ts +1 -1
  57. package/lib/banners/esolve-banner.service.d.ts +2 -2
  58. package/lib/cart/esolve-cart.service.d.ts +1 -1
  59. package/lib/category-tree/esolve-category-tree.service.d.ts +2 -2
  60. package/lib/core/esolve-config.service.d.ts +22 -0
  61. package/lib/core/esolve-connect.config.d.ts +73 -0
  62. package/lib/core/index.d.ts +3 -0
  63. package/lib/coupons/esolve-coupons.service.d.ts +1 -1
  64. package/lib/enquiry/esolve-enquiry.service.d.ts +2 -2
  65. package/lib/images/directives/cdn-src.directive.d.ts +22 -0
  66. package/lib/images/directives/index.d.ts +1 -0
  67. package/lib/images/esolve-image-loader.provider.d.ts +2 -0
  68. package/lib/images/functions/index.d.ts +3 -0
  69. package/lib/images/functions/is-esolve-cdn-path.function.d.ts +1 -0
  70. package/lib/images/functions/is-legacy-esolve-cdn-path.function.d.ts +1 -0
  71. package/lib/images/functions/process-image-src.function.d.ts +1 -0
  72. package/lib/images/index.d.ts +3 -0
  73. package/lib/locations/esolve-locations.service.d.ts +1 -1
  74. package/lib/manufacturers/esolve-manufacturers.service.d.ts +2 -2
  75. package/lib/menu/classes/esolve-menu-item.model.d.ts +1 -0
  76. package/lib/menu/esolve-menu.service.d.ts +2 -2
  77. package/lib/news/esolve-news-group-record.interface.d.ts +1 -0
  78. package/lib/news/esolve-news-group.model.d.ts +5 -1
  79. package/lib/news/esolve-news.service.d.ts +3 -3
  80. package/lib/ng-esolve-connect.module.d.ts +1 -1
  81. package/lib/payment/esolve-payment.service.d.ts +1 -1
  82. package/lib/ranges/esolve-ranges.service.d.ts +1 -1
  83. package/lib/session/esolve-session-metadata.service.d.ts +1 -1
  84. package/lib/session/esolve-session.service.d.ts +1 -1
  85. package/lib/shared/assets/esolve-assets.service.d.ts +1 -1
  86. package/lib/shared/geocoder/esolve-geocoder.service.d.ts +1 -1
  87. package/lib/shared/seo/esolve-seo.service.d.ts +2 -2
  88. package/lib/shipping/esolve-shipping.service.d.ts +1 -1
  89. package/lib/specials/esolve-specials.service.d.ts +1 -1
  90. package/lib/stock/esolve-stock.service.d.ts +1 -1
  91. package/lib/suppliers/esolve-suppliers.service.d.ts +1 -1
  92. package/lib/tags/esolve-tags.service.d.ts +1 -1
  93. package/lib/topics/esolve-topic.service.d.ts +1 -1
  94. package/lib/transactions/esolve-transactions.service.d.ts +1 -1
  95. package/lib/wishlist/esolve-wishlist.service.d.ts +2 -3
  96. package/package.json +1 -1
  97. package/esm2020/lib/esolve-connect-config.constant.mjs +0 -3
  98. package/esm2020/lib/esolve-connect.config.mjs +0 -2
  99. package/lib/esolve-connect.config.d.ts +0 -55
  100. /package/lib/{esolve-connect-config.constant.d.ts → core/esolve-connect-config.constant.d.ts} +0 -0
@@ -1,12 +1,13 @@
1
1
  import { HttpClient, HttpParams } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
3
  import { map } from 'rxjs/operators';
4
- import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
4
+ import { EsolveConfigService } from '../core';
5
5
  import { EsolveBanner } from './esolve-banner.model';
6
6
  import { EsolveBannerImage } from './esolve-banner-image.model';
7
7
  import { EsolveBannerImageHotspot } from './esolve-banner-image-hotspot.model';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
9
+ import * as i1 from "../core";
10
+ import * as i2 from "@angular/common/http";
10
11
  export class EsolveBannerService {
11
12
  constructor(config, http) {
12
13
  this.config = config;
@@ -89,15 +90,12 @@ export class EsolveBannerService {
89
90
  return banners;
90
91
  }
91
92
  }
92
- EsolveBannerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveBannerService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
93
+ EsolveBannerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveBannerService, deps: [{ token: i1.EsolveConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
93
94
  EsolveBannerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveBannerService, providedIn: 'root' });
94
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveBannerService, decorators: [{
95
96
  type: Injectable,
96
97
  args: [{
97
98
  providedIn: 'root',
98
99
  }]
99
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
100
- type: Inject,
101
- args: [ESOLVE_CONNECT_CONFIG]
102
- }] }, { type: i1.HttpClient }]; } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWJhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2Jhbm5lcnMvZXNvbHZlLWJhbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBUS9FLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3pCLENBQUM7SUFFSjs7OztPQUlHO0lBQ0ksVUFBVSxDQUNiLFVBQW1CLEVBQ25CLHdCQUFpQyxFQUNqQyxxQkFBOEIsS0FBSztRQUVuQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN4QixVQUFVLEVBQUUsRUFBRSxrQkFBa0IsRUFBRTtTQUNyQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNqRDtRQUVELElBQUksd0JBQXdCLEVBQUU7WUFDMUIsTUFBTSxHQUFHLE1B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QUNuQixVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQ2QsQ0FBQztpQkFDTDtnQkFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FDM0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUNWLE1BQU0sQ0FBQyx3QkFBd0IsRUFDL0IsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLElBQUksRUFDWCxNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUNyQjtvQkFDSSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHO29CQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUM3QixFQUNELFVBQVUsQ0FDYixDQUFDO2dCQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2dIQXZKUSxtQkFBbUIsa0JBRWhCLHFCQUFxQjtvSEFGeEIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBR1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJUeXBlIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLXR5cGUudHlwZSc7XG5pbXBvcnQgeyBFc29sdmVCYW5uZXIgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXIubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlQmFubmVySW1hZ2VTZXQgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2Utc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZSB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci1pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3QgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UtaG90c3BvdC5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVCYW5uZXJSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UtaG90c3BvdC1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVzb2x2ZUJhbm5lckltYWdlUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLWltYWdlLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVCYW5uZXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGJhbm5lcnMgcmVjb3JkcyBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiBlU29sdmUgYmFubmVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QmFubmVycyhcbiAgICAgICAgaWRlbnRpZmllcj86IHN0cmluZyxcbiAgICAgICAgYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyPzogc3RyaW5nLFxuICAgICAgICBlbmFibGVfZGF0ZV9maWx0ZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUJhbm5lcltdPiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7IGVuYWJsZV9kYXRlX2ZpbHRlciB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaWRlbnRpZmllcikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaWRlbnRpZmllcicsIGlkZW50aWZpZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhbm5lcl9kaXNwbGF5X2NvbnRhaW5lcikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcbiAgICAgICAgICAgICAgICAnYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICBiYW5uZXJfZGlzcGxheV9jb250YWluZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVCYW5uZXJSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1iYW5uZXJzLnBocGAsXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQmFubmVycyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQmFubmVySW1hZ2VIb3RzcG90cyhcbiAgICAgICAgaG90c3BvdF9yZWNvcmRzOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RSZWNvcmRbXSxcbiAgICApOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RbXSB7XG4gICAgICAgIGNvbnN0IGhvdHNwb3RzOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RbXSA9IFtdO1xuXG4gICAgICAgIGlmIChob3RzcG90X3JlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBob3RzcG90X3JlY29yZCBvZiBob3RzcG90X3JlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBob3RzcG90ID0gbmV3IEVzb2x2ZUJhbm5lckltYWdlSG90c3BvdChcbiAgICAgICAgICAgICAgICAgICAgaG90c3BvdF9yZWNvcmQudXJsLFxuICAgICAgICAgICAgICAgICAgICBob3RzcG90X3JlY29yZC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIGhvdHNwb3RfcmVjb3JkLmNvb3JkcyxcbiAgICAgICAgICAgICAgICAgICAgaG90c3BvdF9yZWNvcmQuY29vcmRzX3N0cmluZyxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaG90c3BvdHMucHVzaChob3RzcG90KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBob3RzcG90cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NCYW5uZXJJbWFnZXMoXG4gICAgICAgIGltYWdlX3JlY29yZHM6IEVzb2x2ZUJhbm5lckltYWdlUmVjb3JkW10sXG4gICAgICAgIGJhbm5lcl90eXBlOiBFc29sdmVCYW5uZXJUeXBlLFxuICAgICk6IEVzb2x2ZUJhbm5lckltYWdlW10ge1xuICAgICAgICBjb25zdCBpbWFnZXM6IEVzb2x2ZUJhbm5lckltYWdlW10gPSBbXTtcblxuICAgICAgICBpZiAoaW1hZ2VfcmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGltYWdlX3JlY29yZCBvZiBpbWFnZV9yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgRXNvbHZlQmFubmVySW1hZ2UoXG4gICAgICAgICAgICAgICAgICAgICtpbWFnZV9yZWNvcmQuaWQsXG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3JlY29yZC5pbWFnZV90eXBlLFxuICAgICAgICAgICAgICAgICAgICAraW1hZ2VfcmVjb3JkLndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAraW1hZ2VfcmVjb3JkLmhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VfcmVjb3JkLmZpbGVuYW1lLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYmFubmVyX3R5cGUgPT09ICdob3RzcG90JyAmJiBpbWFnZV9yZWNvcmQuaG90c3BvdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG90c3BvdHMgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZUhvdHNwb3RzKFxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VfcmVjb3JkLmhvdHNwb3RzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5ob3RzcG90cyA9IGhvdHNwb3RzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKGltYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbWFnZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyBiYW5uZXIgcmVjb3JkcyBpbnRvIGJhbm5lciBvYmplY3RzXG4gICAgICogQHBhcmFtIHJlY29yZHMgQXJyYXkgb2YgcmVjb3Jkc1xuICAgICAqIEByZXR1cm5zIExpc3Qgb2YgYmFubmVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc0Jhbm5lcnMocmVjb3JkczogRXNvbHZlQmFubmVyUmVjb3JkW10pOiBFc29sdmVCYW5uZXJbXSB7XG4gICAgICAgIGNvbnN0IGJhbm5lcnM6IEVzb2x2ZUJhbm5lcltdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMgJiYgcmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2Vfc2V0czogRXNvbHZlQmFubmVySW1hZ2VTZXQgPSB7fTtcblxuICAgICAgICAgICAgICAgIGlmIChyZWNvcmQuaW1hZ2VzLmRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5kZXNrdG9wID0gdGhpcy5wcm9jZXNzQmFubmVySW1hZ2VzKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlcy5kZXNrdG9wLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5pbWFnZXMubW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3NldHMubW9iaWxlID0gdGhpcy5wcm9jZXNzQmFubmVySW1hZ2VzKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlcy5tb2JpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmltYWdlcy5zdWIpIHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5zdWIgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuaW1hZ2VzLnN1YixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC50eXBlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGJhbm5lciA9IG5ldyBFc29sdmVCYW5uZXIoXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5iYW5uZXJfZGlzcGxheV9jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYXJ0aWNsZSxcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zb3J0X3ByaW9yaXR5LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJlY29yZC5saW5rLnVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogcmVjb3JkLmxpbmsudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZXRzLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBiYW5uZXJzLnB1c2goYmFubmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBiYW5uZXJzO1xuICAgIH1cbn1cbiJdfQ==
100
+ }], ctorParameters: function () { return [{ type: i1.EsolveConfigService }, { type: i2.HttpClient }]; } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWJhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2Jhbm5lcnMvZXNvbHZlLWJhbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQVEvRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFlBQ1ksTUFBMkIsRUFDM0IsSUFBZ0I7UUFEaEIsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN6QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLFVBQVUsQ0FDYixVQUFtQixFQUNuQix3QkFBaUMsRUFDakMsa0JBQWtCLEdBQUcsS0FBSztRQUUxQixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN4QixVQUFVLEVBQUUsRUFBRSxrQkFBa0IsRUFBRTtTQUNyQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNqRDtRQUVELElBQUksd0JBQXdCLEVBQUU7WUFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FB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QUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQ2QsQ0FBQztpQkFDTDtnQkFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FDM0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUNWLE1BQU0sQ0FBQyx3QkFBd0IsRUFDL0IsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLElBQUksRUFDWCxNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUNyQjtvQkFDSSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHO29CQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUM3QixFQUNELFVBQVUsQ0FDYixDQUFDO2dCQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2dIQXZKUSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZoQixNQUFNOzJGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlJztcblxuaW1wb3J0IHsgRXNvbHZlQmFubmVyVHlwZSB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci10eXBlLnR5cGUnO1xuaW1wb3J0IHsgRXNvbHZlQmFubmVyIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUJhbm5lckltYWdlU2V0IH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLWltYWdlLXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQmFubmVySW1hZ2UgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlQmFubmVySW1hZ2VIb3RzcG90IH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLWltYWdlLWhvdHNwb3QubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlQmFubmVyUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQmFubmVySW1hZ2VIb3RzcG90UmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLWltYWdlLWhvdHNwb3QtcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci1pbWFnZS1yZWNvcmQuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlQmFubmVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGJhbm5lcnMgcmVjb3JkcyBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiBlU29sdmUgYmFubmVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QmFubmVycyhcbiAgICAgICAgaWRlbnRpZmllcj86IHN0cmluZyxcbiAgICAgICAgYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyPzogc3RyaW5nLFxuICAgICAgICBlbmFibGVfZGF0ZV9maWx0ZXIgPSBmYWxzZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUJhbm5lcltdPiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7IGVuYWJsZV9kYXRlX2ZpbHRlciB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaWRlbnRpZmllcikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaWRlbnRpZmllcicsIGlkZW50aWZpZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhbm5lcl9kaXNwbGF5X2NvbnRhaW5lcikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcbiAgICAgICAgICAgICAgICAnYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICBiYW5uZXJfZGlzcGxheV9jb250YWluZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVCYW5uZXJSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1iYW5uZXJzLnBocGAsXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQmFubmVycyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQmFubmVySW1hZ2VIb3RzcG90cyhcbiAgICAgICAgaG90c3BvdF9yZWNvcmRzOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RSZWNvcmRbXSxcbiAgICApOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RbXSB7XG4gICAgICAgIGNvbnN0IGhvdHNwb3RzOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RbXSA9IFtdO1xuXG4gICAgICAgIGlmIChob3RzcG90X3JlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBob3RzcG90X3JlY29yZCBvZiBob3RzcG90X3JlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBob3RzcG90ID0gbmV3IEVzb2x2ZUJhbm5lckltYWdlSG90c3BvdChcbiAgICAgICAgICAgICAgICAgICAgaG90c3BvdF9yZWNvcmQudXJsLFxuICAgICAgICAgICAgICAgICAgICBob3RzcG90X3JlY29yZC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIGhvdHNwb3RfcmVjb3JkLmNvb3JkcyxcbiAgICAgICAgICAgICAgICAgICAgaG90c3BvdF9yZWNvcmQuY29vcmRzX3N0cmluZyxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaG90c3BvdHMucHVzaChob3RzcG90KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBob3RzcG90cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NCYW5uZXJJbWFnZXMoXG4gICAgICAgIGltYWdlX3JlY29yZHM6IEVzb2x2ZUJhbm5lckltYWdlUmVjb3JkW10sXG4gICAgICAgIGJhbm5lcl90eXBlOiBFc29sdmVCYW5uZXJUeXBlLFxuICAgICk6IEVzb2x2ZUJhbm5lckltYWdlW10ge1xuICAgICAgICBjb25zdCBpbWFnZXM6IEVzb2x2ZUJhbm5lckltYWdlW10gPSBbXTtcblxuICAgICAgICBpZiAoaW1hZ2VfcmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGltYWdlX3JlY29yZCBvZiBpbWFnZV9yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgRXNvbHZlQmFubmVySW1hZ2UoXG4gICAgICAgICAgICAgICAgICAgICtpbWFnZV9yZWNvcmQuaWQsXG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3JlY29yZC5pbWFnZV90eXBlLFxuICAgICAgICAgICAgICAgICAgICAraW1hZ2VfcmVjb3JkLndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAraW1hZ2VfcmVjb3JkLmhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VfcmVjb3JkLmZpbGVuYW1lLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYmFubmVyX3R5cGUgPT09ICdob3RzcG90JyAmJiBpbWFnZV9yZWNvcmQuaG90c3BvdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG90c3BvdHMgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZUhvdHNwb3RzKFxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VfcmVjb3JkLmhvdHNwb3RzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5ob3RzcG90cyA9IGhvdHNwb3RzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKGltYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbWFnZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyBiYW5uZXIgcmVjb3JkcyBpbnRvIGJhbm5lciBvYmplY3RzXG4gICAgICogQHBhcmFtIHJlY29yZHMgQXJyYXkgb2YgcmVjb3Jkc1xuICAgICAqIEByZXR1cm5zIExpc3Qgb2YgYmFubmVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc0Jhbm5lcnMocmVjb3JkczogRXNvbHZlQmFubmVyUmVjb3JkW10pOiBFc29sdmVCYW5uZXJbXSB7XG4gICAgICAgIGNvbnN0IGJhbm5lcnM6IEVzb2x2ZUJhbm5lcltdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMgJiYgcmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2Vfc2V0czogRXNvbHZlQmFubmVySW1hZ2VTZXQgPSB7fTtcblxuICAgICAgICAgICAgICAgIGlmIChyZWNvcmQuaW1hZ2VzLmRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5kZXNrdG9wID0gdGhpcy5wcm9jZXNzQmFubmVySW1hZ2VzKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlcy5kZXNrdG9wLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5pbWFnZXMubW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3NldHMubW9iaWxlID0gdGhpcy5wcm9jZXNzQmFubmVySW1hZ2VzKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlcy5tb2JpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmltYWdlcy5zdWIpIHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5zdWIgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuaW1hZ2VzLnN1YixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC50eXBlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGJhbm5lciA9IG5ldyBFc29sdmVCYW5uZXIoXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5iYW5uZXJfZGlzcGxheV9jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYXJ0aWNsZSxcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zb3J0X3ByaW9yaXR5LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJlY29yZC5saW5rLnVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogcmVjb3JkLmxpbmsudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZXRzLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBiYW5uZXJzLnB1c2goYmFubmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBiYW5uZXJzO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import { HttpClient, HttpParams, } from '@angular/common/http';
3
3
  import { iif, of } from 'rxjs';
4
4
  import { catchError, map, switchMap } from 'rxjs/operators';
5
- import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
5
+ import { ESOLVE_CONNECT_CONFIG } from '../core/esolve-connect-config.constant';
6
6
  import { EsolveErrorHandlerService } from '../shared/errors/esolve-error-handler.service';
7
7
  import { EsolveResponseHandlerService, } from '../shared/response';
8
8
  import { EsolveCouponsService } from '../coupons';
@@ -230,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
230
230
  type: Inject,
231
231
  args: [ESOLVE_CONNECT_CONFIG]
232
232
  }] }, { type: i1.HttpClient }, { type: i2.EsolveErrorHandlerService }, { type: i3.EsolveResponseHandlerService }, { type: i4.EsolveCouponsService }]; } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBRUgsNEJBQTRCLEdBRS9CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxELE9BQU8sRUFDSCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsOEJBQThCLEdBQ2pDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFzQm5CLE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0IsRUFDaEIsWUFBdUMsRUFDdkMsZUFBNkMsRUFDN0MsT0FBNkI7UUFKRSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUN2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBOEI7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFQakMscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBUTFCLENBQUM7SUFFSjs7OztPQUlHO0lBQ0ksT0FBTztRQUNWLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRXBELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sZUFBZSxFQUNyQyxFQUFFLE1BQU0sRUFBRSxDQUNiO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDaEMsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE9BQU8sQ0FDVixLQUEwQixFQUMxQixTQUE4QixLQUFLO1FBRW5DLE1BQU0sSUFBSSxHQUFHO1lBQ1QsS0FBSztZQUNMLE1BQU07U0FDVCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FDRCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxvQkFBb0IsRUFDMUMsSUFBSSxFQUNKO1lBQ0ksT0FBTyxFQUFFO2dCQUNMLGNBQWMsRUFDVixrREFBa0Q7YUFDekQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtZQUNwQixPQUFPLEVBQUUsTUFBTTtTQUNsQixDQUNKO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxRQUFRLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFTSxZQUFZLENBQ2YsSUFBMkIsRUFDM0IsZ0JBQXlDO1FBRXpDLE1BQU0sSUFBSSxHQUFHO1lBQ1QsSUFBSTtZQUNKLGdCQUFnQjtTQUNuQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FDRCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxxQkFBcUIsRUFDM0MsSUFBSSxFQUNKO1lBQ0ksT0FBTyxFQUFFO2dCQUNMLGNBQWMsRUFDVixrREFBa0Q7YUFDekQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtZQUNwQixPQUFPLEVBQUUsTUFBTTtTQUNsQixDQUNKO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQzNDLGFBQWEsRUFDYixDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztZQUUxQixPQUFPLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUNKLENBQ0osRUFDRCxVQUFVLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUN4QyxnQkFBZ0IsRUFDaEIsUUFBUSxDQUNYLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQ1osSUFBNEI7UUFFNUIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FDQSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxzQkFBc0IsRUFDNUM7WUFDSSxNQUFNLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO2FBQ25CO1NBQ0osQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDakM7Z0JBQ0UsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZTtRQUNsQixPQUFPLEdBQUcsQ0FDTixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxFQUMvQixFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQ3pCLElBQUksQ0FBQyxJQUFJO2FBQ0osR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDRCQUE0QixDQUNyRDthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDakM7Z0JBQ0UsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFFbEQsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDTCxDQUNSLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMkJBQTJCLENBQzlCLGNBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8scUNBQXFDLEVBQzNEO1lBQ0ksTUFBTSxFQUFFO2dCQUNKLGNBQWM7YUFDakI7U0FDSixDQUNKO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFDSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVM7Z0JBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUNqQztnQkFDRSxNQUFNLFFBQVEsQ0FBQzthQUNsQjtZQUVELE9BQU8sSUFBSSw4QkFBOEIsQ0FDckMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxRQUFRLENBQ1gsSUFBMkIsRUFDM0IsWUFBb0IsRUFDcEIsV0FBbUIsRUFDbkIsaUJBQWlCLEdBQUcsQ0FBQyxFQUNyQixXQUFXLEdBQUcsQ0FBQyxFQUNmLFFBQVEsR0FBRyxFQUFFLEVBQ2IsU0FBa0M7UUFFbEMsTUFBTSxJQUFJLEdBQUc7WUFDVCxJQUFJO1lBQ0osWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsV0FBVztZQUNYLFFBQVE7WUFDUixRQUFRLEVBQUUsQ0FBQztZQUNYLFNBQVM7U0FDWixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUM5QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUV6QixPQUFPLElBQUksQ0FBQyxJQUFJO2lCQUNYLElBQUksQ0FDRCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxtQkFBbUIsRUFDekMsSUFBSSxFQUNKO2dCQUNJLE9BQU8sRUFBRTtvQkFDTCxjQUFjLEVBQ1Ysa0RBQWtEO2lCQUN6RDtnQkFDRCxZQUFZLEVBQUUsTUFBTTtnQkFDcEIsT0FBTyxFQUFFLE1BQU07YUFDbEIsQ0FDSjtpQkFDQSxJQUFJLENBQ0QsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FDM0MsYUFBYSxFQUNiLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFFckIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FDSixDQUNKLEVBQ0QsVUFBVSxDQUFDLENBQUMsUUFBaUMsRUFBRSxFQUFFO2dCQUM3QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQ3hDLGNBQWMsRUFDZCxRQUFRLENBQ1gsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDVixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssV0FBVyxDQUFDLGlCQUF5QztRQUN6RCxNQUFNLFVBQVUsR0FBcUIsRUFBRSxDQUFDO1FBRXhDLElBQUksaUJBQWlCLEVBQUU7WUFDbkIsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFO2dCQUM5QyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQzthQUN6RDtTQUNKO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssaUJBQWlCLENBQ3JCLE1BQThCO1FBRTlCLE1BQU0sV0FBVyxHQUFHLElBQUksZ0JBQWdCLENBQ3BDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFDZixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQ2IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUNiLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFDWCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ25CLENBQUM7UUFFRixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDOzs4R0E1VVEsaUJBQWlCLGtCQUlkLHFCQUFxQjtrSEFKeEIsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBpaWYsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMvZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvdXBvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY291cG9ucyc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlQ2FydEl0ZW0sXG4gICAgRXNvbHZlQ2FydFRvdGFscyxcbiAgICBFc29sdmVDaGVja291dFJlc3VsdCxcbiAgICBFc29sdmVFbXB0eUNhcnRSZXN1bHQsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhLFxufSBmcm9tICcuL2NsYXNzZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVBZGRpdGlvbmFsV2hlcmUsXG4gICAgRXNvbHZlQ2FydEl0ZW1SZWNvcmQsXG4gICAgRXNvbHZlQ2FydEl0ZW1SZXNwb25zZSxcbiAgICBFc29sdmVDYXJ0U2V0SXRlbSxcbiAgICBFc29sdmVDYXJ0VG90YWxzUmVjb3JkLFxuICAgIEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2UsXG4gICAgRXNvbHZlVGltZVNsb3RDaGVja291dCxcbiAgICBFc29sdmVUcmFja2luZ0NvZGUsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhUmVjb3JkLFxufSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVDYXJ0LFxuICAgIEVzb2x2ZUNhcnRTZXRBY3Rpb24sXG4gICAgRXNvbHZlQ2FydEVtcHR5UmVzcG9uc2UsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlQ2FydFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2NhY2hlZF90cmFja2luZyA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlc3BvbnNlSGFuZGxlcjogRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb3Vwb25zOiBFc29sdmVDb3Vwb25zU2VydmljZSxcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgY2FydFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgY2FydCBpdGVtc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJ0KCk6IE9ic2VydmFibGU8RXNvbHZlQ2FydD4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBjb25zdCBjb3Vwb25zID0gdGhpcy5jb3Vwb25zLmdldEFwcGxpZWRDb3Vwb25LZXlzKCk7XG5cbiAgICAgICAgaWYgKGNvdXBvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291cG9ucycsIGNvdXBvbnMuam9pbignLCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2FydEl0ZW1SZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1jYXJ0LnBocGAsXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydChyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgY2FydCBieSBwcmVmb3JtaW5nIHZhcmlvdXMgYWN0aW9ucywgc3VjaCBhcyBhZGRpbmcsIGVkaXRpbmcgb3IgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgY2FydC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBvcHRpb25zIHRvIHVwZGF0ZSB0aGUgY2FydFxuICAgICAqIEBwYXJhbSBhY3Rpb24gVGhlIGRlZmF1bHQgYWN0aW9uIHRvIHByZWZvcm1cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHJlc3BvbnNlcyB0aGF0IGdpdmVzIGZlZWRiYWNrIG9uIHRoZSByZXF1ZXN0ZWQgY2hhbmdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDYXJ0KFxuICAgICAgICBpdGVtczogRXNvbHZlQ2FydFNldEl0ZW1bXSxcbiAgICAgICAgYWN0aW9uOiBFc29sdmVDYXJ0U2V0QWN0aW9uID0gJ2FkZCcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDYXJ0SXRlbVJlc3BvbnNlW10+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2FydC1pdGVtLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzcG9uc2VzO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2FydEVtcHR5KFxuICAgICAgICB0eXBlOiBFc29sdmVUcmFuc2FjdGlvblR5cGUsXG4gICAgICAgIGFkZGl0aW9uYWxfd2hlcmU6IEVzb2x2ZUFkZGl0aW9uYWxXaGVyZVtdLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlRW1wdHlDYXJ0UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgYWRkaXRpb25hbF93aGVyZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDYXJ0RW1wdHlSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jYXJ0LWVtcHR5LnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhY2hlZF90cmFja2luZyA9IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUVtcHR5Q2FydFJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1jYXJ0LWVtcHR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHRvdGFscyBvZiB0aGUgY2FydCB3aXRoIGFsbCB0aGUgdG90YWxzIGNhbGN1bGF0ZWRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIG9iamVjdCBjb250YWluaW5nIGNhcnQgdG90YWxzXG4gICAgICovXG4gICAgcHVibGljIGdldFRvdGFscyhcbiAgICAgICAgdHlwZT86IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRUb3RhbHM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0VG90YWxzUmVjb3JkPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNhcnQtdG90YWxzLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHR5cGUgPz8gJycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydFRvdGFscyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgdHJhY2tpbmcgY29kZSBmb3IgdGhlIGNhcnRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSBjYXJ0IHRyYWNraW5nIGNvZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhY2tpbmdDb2RlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBpaWYoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPiAwLFxuICAgICAgICAgICAgb2YodGhpcy5fY2FjaGVkX3RyYWNraW5nKSxcbiAgICAgICAgICAgIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhY2tpbmdDb2RlPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1jaGVja291dC10cmFja2luZy5waHBgLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy50cmFja2luZztcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGRhdGEgb2YgdGhlIHRyYW5zYWN0aW9uIGZvciB0aGUgYW5hbHl0aWNzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25faWQgSUQgb2YgdGhlIHRyYW5zYWN0aW9uIHVzZWQgaW4gZVNvbHZlXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgYW5hbHl0aWNzIGRhdGFcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhPFQgPSBhbnk+KFxuICAgICAgICB0cmFuc2FjdGlvbl9pZDogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhPFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhUmVjb3JkPFQ+Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXRyYW5zYWN0aW9uLWFuYWx5dGljcy1kYXRhLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGE8VD4oXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWF0ZXMgY2hlY2tvdXQgb2YgdGhlIGNhcnQgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSBjYXJ0IHR5cGUgdGhhdCBuZWVkcyB0byBiZSBjaGVja2VkIG91dFxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgVGhlIElEIG9mIHRoZSBkZWxpdmVyeSBhZGRyZXNzXG4gICAgICogQHBhcmFtIHNoaXBwaW5nX2lkIFRoZSBJRCBvZiB0aGUgc2hpcHBpbmcgbWV0aG9kXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kX2lkIFRoZSBJRCBvZiB0aGUgc2VsZWN0ZWQgcGF5bWVudCBtZXRob2RcbiAgICAgKiBAcGFyYW0gbG9jYXRpb25faWQgVGhlIElEIG9mIHRoZSBzZWxlY3RlZCBicmFuY2ggZnJvbSB3aXRoIHNoaXBwaW5nIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWRcbiAgICAgKiBAcGFyYW0gY29tbWVudHMgQWRkaXRpb25hbCBjb21tZW50cyBvbiB0aGUgY2FydFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHRyYW5zYWN0aW9uIElEXG4gICAgICovXG4gICAgcHVibGljIGNoZWNrb3V0KFxuICAgICAgICB0eXBlOiBFc29sdmVUcmFuc2FjdGlvblR5cGUsXG4gICAgICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyLFxuICAgICAgICBzaGlwcGluZ19pZDogbnVtYmVyLFxuICAgICAgICBwYXltZW50X21ldGhvZF9pZCA9IDAsXG4gICAgICAgIGxvY2F0aW9uX2lkID0gMCxcbiAgICAgICAgY29tbWVudHMgPSAnJyxcbiAgICAgICAgdGltZV9zbG90PzogRXNvbHZlVGltZVNsb3RDaGVja291dCxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNoZWNrb3V0UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgc2hpcHBpbmdfaWQsXG4gICAgICAgICAgICBwYXltZW50X21ldGhvZF9pZCxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgY29tbWVudHMsXG4gICAgICAgICAgICB0cmFja2luZzogMCxcbiAgICAgICAgICAgIHRpbWVfc2xvdCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFja2luZ0NvZGUoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh0cmFja2luZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0cmFja2luZyA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IHRyYWNraW5nO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJvZHkudHJhY2tpbmcgPSB0cmFja2luZztcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQ2hlY2tvdXRSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWNoZWNrb3V0LnBocGAsXG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FjaGVkX3RyYWNraW5nID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291cG9ucy5yZXNldCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUNoZWNrb3V0UmVzdWx0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWNoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgdHJlZSByZWNvcmRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FydF9pdGVtX3JlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIGNhcnQgaXRlbXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NDYXJ0KGNhcnRfaXRlbV9yZWNvcmRzOiBFc29sdmVDYXJ0SXRlbVJlY29yZFtdKTogRXNvbHZlQ2FydCB7XG4gICAgICAgIGNvbnN0IGNhcnRfaXRlbXM6IEVzb2x2ZUNhcnRJdGVtW10gPSBbXTtcblxuICAgICAgICBpZiAoY2FydF9pdGVtX3JlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2FydF9pdGVtX3JlY29yZCBvZiBjYXJ0X2l0ZW1fcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGNhcnRfaXRlbXMucHVzaChuZXcgRXNvbHZlQ2FydEl0ZW0oY2FydF9pdGVtX3JlY29yZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhcnRfaXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgY2FydCB0b3RhbHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmQgRGF0YSB0byBwcm9jZXNzXG4gICAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNhcnQgdG90YWxzXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2FydFRvdGFscyhcbiAgICAgICAgcmVjb3JkOiBFc29sdmVDYXJ0VG90YWxzUmVjb3JkLFxuICAgICk6IEVzb2x2ZUNhcnRUb3RhbHMge1xuICAgICAgICBjb25zdCBjYXJ0X3RvdGFscyA9IG5ldyBFc29sdmVDYXJ0VG90YWxzKFxuICAgICAgICAgICAgK3JlY29yZC5yZWNvcmRzLFxuICAgICAgICAgICAgK3JlY29yZC5pdGVtcyxcbiAgICAgICAgICAgICtyZWNvcmQudG90YWwsXG4gICAgICAgICAgICArcmVjb3JkLnZhdCxcbiAgICAgICAgICAgICtyZWNvcmQuZGlzY291bnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNhcnRfdG90YWxzO1xuICAgIH1cbn1cbiJdfQ==
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBRUgsNEJBQTRCLEdBRS9CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxELE9BQU8sRUFDSCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsOEJBQThCLEdBQ2pDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFzQm5CLE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0IsRUFDaEIsWUFBdUMsRUFDdkMsZUFBNkMsRUFDN0MsT0FBNkI7UUFKRSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUN2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBOEI7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFQakMs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TSxDQUFDLEdBQUcsRUFDWCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ25CLENBQUM7UUFFRixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDOzs4R0E1VVEsaUJBQWlCLGtCQUlkLHFCQUFxQjtrSEFKeEIsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBpaWYsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4uL2NvcmUvZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcbmltcG9ydCB7IEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2NvcmUvZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcbmltcG9ydCB7IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3JzL2Vzb2x2ZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxufSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVDb3Vwb25zU2VydmljZSB9IGZyb20gJy4uL2NvdXBvbnMnO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUNhcnRJdGVtLFxuICAgIEVzb2x2ZUNhcnRUb3RhbHMsXG4gICAgRXNvbHZlQ2hlY2tvdXRSZXN1bHQsXG4gICAgRXNvbHZlRW1wdHlDYXJ0UmVzdWx0LFxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YSxcbn0gZnJvbSAnLi9jbGFzc2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQWRkaXRpb25hbFdoZXJlLFxuICAgIEVzb2x2ZUNhcnRJdGVtUmVjb3JkLFxuICAgIEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2UsXG4gICAgRXNvbHZlQ2FydFNldEl0ZW0sXG4gICAgRXNvbHZlQ2FydFRvdGFsc1JlY29yZCxcbiAgICBFc29sdmVDaGVja291dFJlc3BvbnNlLFxuICAgIEVzb2x2ZVRpbWVTbG90Q2hlY2tvdXQsXG4gICAgRXNvbHZlVHJhY2tpbmdDb2RlLFxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YVJlY29yZCxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQ2FydCxcbiAgICBFc29sdmVDYXJ0U2V0QWN0aW9uLFxuICAgIEVzb2x2ZUNhcnRFbXB0eVJlc3BvbnNlLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZUNhcnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9jYWNoZWRfdHJhY2tpbmcgPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZXNwb25zZUhhbmRsZXI6IEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY291cG9uczogRXNvbHZlQ291cG9uc1NlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IGNhcnRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIGNhcnQgaXRlbXNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FydCgpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnQ+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgY29uc3QgY291cG9ucyA9IHRoaXMuY291cG9ucy5nZXRBcHBsaWVkQ291cG9uS2V5cygpO1xuXG4gICAgICAgIGlmIChjb3Vwb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NvdXBvbnMnLCBjb3Vwb25zLmpvaW4oJywnKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNhcnRJdGVtUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtY2FydC5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NhcnQocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGNhcnQgYnkgcHJlZm9ybWluZyB2YXJpb3VzIGFjdGlvbnMsIHN1Y2ggYXMgYWRkaW5nLCBlZGl0aW5nIG9yIHJlbW92aW5nIGl0ZW1zIGZyb20gdGhlIGNhcnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbXMgQW4gYXJyYXkgb2Ygb3B0aW9ucyB0byB1cGRhdGUgdGhlIGNhcnRcbiAgICAgKiBAcGFyYW0gYWN0aW9uIFRoZSBkZWZhdWx0IGFjdGlvbiB0byBwcmVmb3JtXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiByZXNwb25zZXMgdGhhdCBnaXZlcyBmZWVkYmFjayBvbiB0aGUgcmVxdWVzdGVkIGNoYW5nZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Q2FydChcbiAgICAgICAgaXRlbXM6IEVzb2x2ZUNhcnRTZXRJdGVtW10sXG4gICAgICAgIGFjdGlvbjogRXNvbHZlQ2FydFNldEFjdGlvbiA9ICdhZGQnLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2FydEl0ZW1SZXNwb25zZVtdPiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBpdGVtcyxcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWNhcnQtaXRlbS5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzcG9uc2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENhcnRFbXB0eShcbiAgICAgICAgdHlwZTogRXNvbHZlVHJhbnNhY3Rpb25UeXBlLFxuICAgICAgICBhZGRpdGlvbmFsX3doZXJlOiBFc29sdmVBZGRpdGlvbmFsV2hlcmVbXSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUVtcHR5Q2FydFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxfd2hlcmUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQ2FydEVtcHR5UmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2FydC1lbXB0eS5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVFbXB0eUNhcnRSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtY2FydC1lbXB0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSB0b3RhbHMgb2YgdGhlIGNhcnQgd2l0aCBhbGwgdGhlIHRvdGFscyBjYWxjdWxhdGVkXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBvYmplY3QgY29udGFpbmluZyBjYXJ0IHRvdGFsc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb3RhbHMoXG4gICAgICAgIHR5cGU/OiBFc29sdmVUcmFuc2FjdGlvblR5cGUsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDYXJ0VG90YWxzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2FydFRvdGFsc1JlY29yZD4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1jYXJ0LXRvdGFscy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NhcnRUb3RhbHMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHRyYWNraW5nIGNvZGUgZm9yIHRoZSBjYXJ0XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgY2FydCB0cmFja2luZyBjb2RlXG4gICAgICovXG4gICAgcHVibGljIGdldFRyYWNraW5nQ29kZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gaWlmKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5fY2FjaGVkX3RyYWNraW5nID4gMCxcbiAgICAgICAgICAgIG9mKHRoaXMuX2NhY2hlZF90cmFja2luZyksXG4gICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVRyYWNraW5nQ29kZT4+KFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtY2hlY2tvdXQtdHJhY2tpbmcucGhwYCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FjaGVkX3RyYWNraW5nID0gcmVzcG9uc2UucmVjb3Jkcy50cmFja2luZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlY29yZHMudHJhY2tpbmc7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBkYXRhIG9mIHRoZSB0cmFuc2FjdGlvbiBmb3IgdGhlIGFuYWx5dGljc1xuICAgICAqXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9uX2lkIElEIG9mIHRoZSB0cmFuc2FjdGlvbiB1c2VkIGluIGVTb2x2ZVxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIGFuYWx5dGljcyBkYXRhXG4gICAgICovXG4gICAgcHVibGljIGdldFRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YTxUID0gYW55PihcbiAgICAgICAgdHJhbnNhY3Rpb25faWQ6IG51bWJlcixcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YTxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YVJlY29yZDxUPj4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbi1hbmFseXRpY3MtZGF0YS5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhPFQ+KFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhdGVzIGNoZWNrb3V0IG9mIHRoZSBjYXJ0IGl0ZW1zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZSBUaGUgY2FydCB0eXBlIHRoYXQgbmVlZHMgdG8gYmUgY2hlY2tlZCBvdXRcbiAgICAgKiBAcGFyYW0gYWRkcmVzc2VzX2lkIFRoZSBJRCBvZiB0aGUgZGVsaXZlcnkgYWRkcmVzc1xuICAgICAqIEBwYXJhbSBzaGlwcGluZ19pZCBUaGUgSUQgb2YgdGhlIHNoaXBwaW5nIG1ldGhvZFxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZF9pZCBUaGUgSUQgb2YgdGhlIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kXG4gICAgICogQHBhcmFtIGxvY2F0aW9uX2lkIFRoZSBJRCBvZiB0aGUgc2VsZWN0ZWQgYnJhbmNoIGZyb20gd2l0aCBzaGlwcGluZyBuZWVkcyB0byBiZSBjYWxjdWxhdGVkXG4gICAgICogQHBhcmFtIGNvbW1lbnRzIEFkZGl0aW9uYWwgY29tbWVudHMgb24gdGhlIGNhcnRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSB0cmFuc2FjdGlvbiBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBjaGVja291dChcbiAgICAgICAgdHlwZTogRXNvbHZlVHJhbnNhY3Rpb25UeXBlLFxuICAgICAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcixcbiAgICAgICAgc2hpcHBpbmdfaWQ6IG51bWJlcixcbiAgICAgICAgcGF5bWVudF9tZXRob2RfaWQgPSAwLFxuICAgICAgICBsb2NhdGlvbl9pZCA9IDAsXG4gICAgICAgIGNvbW1lbnRzID0gJycsXG4gICAgICAgIHRpbWVfc2xvdD86IEVzb2x2ZVRpbWVTbG90Q2hlY2tvdXQsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDaGVja291dFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgcGF5bWVudF9tZXRob2RfaWQsXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcbiAgICAgICAgICAgIGNvbW1lbnRzLFxuICAgICAgICAgICAgdHJhY2tpbmc6IDAsXG4gICAgICAgICAgICB0aW1lX3Nsb3QsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhY2tpbmdDb2RlKCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodHJhY2tpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHJhY2tpbmcgPD0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyB0cmFja2luZztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBib2R5LnRyYWNraW5nID0gdHJhY2tpbmc7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jaGVja291dC5waHBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhY2hlZF90cmFja2luZyA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdXBvbnMucmVzZXQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVDaGVja291dFJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1jaGVja291dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHRyZWUgcmVjb3Jkc1xuICAgICAqXG4gICAgICogQHBhcmFtIGNhcnRfaXRlbV9yZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBjYXJ0IGl0ZW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2FydChjYXJ0X2l0ZW1fcmVjb3JkczogRXNvbHZlQ2FydEl0ZW1SZWNvcmRbXSk6IEVzb2x2ZUNhcnQge1xuICAgICAgICBjb25zdCBjYXJ0X2l0ZW1zOiBFc29sdmVDYXJ0SXRlbVtdID0gW107XG5cbiAgICAgICAgaWYgKGNhcnRfaXRlbV9yZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhcnRfaXRlbV9yZWNvcmQgb2YgY2FydF9pdGVtX3JlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1zLnB1c2gobmV3IEVzb2x2ZUNhcnRJdGVtKGNhcnRfaXRlbV9yZWNvcmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYXJ0X2l0ZW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIGNhcnQgdG90YWxzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIFByb2Nlc3NlZCBjYXJ0IHRvdGFsc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnRUb3RhbHMoXG4gICAgICAgIHJlY29yZDogRXNvbHZlQ2FydFRvdGFsc1JlY29yZCxcbiAgICApOiBFc29sdmVDYXJ0VG90YWxzIHtcbiAgICAgICAgY29uc3QgY2FydF90b3RhbHMgPSBuZXcgRXNvbHZlQ2FydFRvdGFscyhcbiAgICAgICAgICAgICtyZWNvcmQucmVjb3JkcyxcbiAgICAgICAgICAgICtyZWNvcmQuaXRlbXMsXG4gICAgICAgICAgICArcmVjb3JkLnRvdGFsLFxuICAgICAgICAgICAgK3JlY29yZC52YXQsXG4gICAgICAgICAgICArcmVjb3JkLmRpc2NvdW50LFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjYXJ0X3RvdGFscztcbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,12 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
2
  import { HttpClient, HttpParams } from '@angular/common/http';
3
3
  import { throwError } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
- import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
5
+ import { EsolveConfigService } from '../core';
6
6
  import { EsolveCategoryTreeItem } from './esolve-category-tree-item.model';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
8
+ import * as i1 from "../core";
9
+ import * as i2 from "@angular/common/http";
9
10
  export class EsolveCategoryTreeService {
10
11
  constructor(config, http) {
11
12
  this.config = config;
@@ -141,15 +142,12 @@ export class EsolveCategoryTreeService {
141
142
  return null;
142
143
  }
143
144
  }
144
- EsolveCategoryTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveCategoryTreeService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
145
+ EsolveCategoryTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveCategoryTreeService, deps: [{ token: i1.EsolveConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
145
146
  EsolveCategoryTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveCategoryTreeService, providedIn: 'root' });
146
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveCategoryTreeService, decorators: [{
147
148
  type: Injectable,
148
149
  args: [{
149
150
  providedIn: 'root',
150
151
  }]
151
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
152
- type: Inject,
153
- args: [ESOLVE_CONNECT_CONFIG]
154
- }] }, { type: i1.HttpClient }]; } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhdGVnb3J5LXRyZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXRlZ29yeS10cmVlL2Vzb2x2ZS1jYXRlZ29yeS10cmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUsxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBUTNFLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3pCLENBQUM7SUFFSjs7T0FFRztJQUNJLGVBQWUsQ0FDbEIsVUFBbUI7UUFFbkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QixJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNqRDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBSUYsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDbkQsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxF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bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcbmltcG9ydCB7IEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LWNvbmZpZy5jb25zdGFudCc7XG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5cbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5UmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY2F0ZWdvcnktcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVTdWJjYXRlZ29yeVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXN1YmNhdGVnb3J5LXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4vZXNvbHZlLWNhdGVnb3J5LXRyZWUtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY2F0ZWdvcnktdHJlZS1pdGVtLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbU9wdGlvbnMgfSBmcm9tICcuL2Vzb2x2ZS1jYXRlZ29yeS10cmVlLWl0ZW0tb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlJZGVudGlmaWVyIH0gZnJvbSAnLi9lc29sdmUtY2F0ZWdvcnktaWRlbnRpZmllci5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVDYXRlZ29yeVRyZWVTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjYXRlZ29yeSB0cmVlIGZyb20gZVNvbHZlIGluc3RhbmNlIGFuZCBjb3ZlcnRzIGl0IHRvIHRoZSBjb3JyZWN0IGZvcm1hdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2F0ZWdvcnlUcmVlKFxuICAgICAgICBpZGVudGlmaWVyPzogc3RyaW5nLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVtdPiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAgIGlmIChpZGVudGlmaWVyKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdpZGVudGlmaWVyJywgaWRlbnRpZmllcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFxuICAgICAgICAgICAgICAgIEVzb2x2ZUdldFJlc3BvbnNlPFxuICAgICAgICAgICAgICAgICAgICAoRXNvbHZlQ2F0ZWdvcnlSZWNvcmQgfCBFc29sdmVTdWJjYXRlZ29yeVJlY29yZClbXVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXRyZWUucGhwYCwgeyBwYXJhbXMgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVHJlZShyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgdGhlIHNwZWNpYWwgdHJlZSBzdHJ1Y3R1cmUgZm9yIGEgc3BlY2lmaWMgc3BlY2lhbCBmcm9tIHRoZSBlU29sdmVcbiAgICAgKiBpbnN0YW5jZSBhbmQgY29udmVydHMgaXQgaW50byB0aGUgY29ycmVjdCBmb3JtYXRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzcGVjaWFsX2lkIElkIG9mIHRvIHNwZWNpYWwgdG8gZ2V0IHRyZWUgZm9yXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgc3BlY2lhbCB0cmVlIGRhdGFcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3BlY2lhbFRyZWUoXG4gICAgICAgIHNwZWNpYWxfaWQ6IG51bWJlcixcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzcGVjaWFsX2lkJywgc3BlY2lhbF9pZCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICBFc29sdmVHZXRSZXNwb25zZTxcbiAgICAgICAgICAgICAgICAgICAgKEVzb2x2ZUNhdGVnb3J5UmVjb3JkIHwgRXNvbHZlU3ViY2F0ZWdvcnlSZWNvcmQpW11cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA+KGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1zcGVjaWFsLXRyZWUucGhwYCwgeyBwYXJhbXMgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVHJlZShyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgdGhlIGRldGFpbHMgb2YgYSBjYXRlZ29yeSB0cmVlIGl0ZW0gZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGFuZFxuICAgICAqIGNvbnZlcnRzIGl0IHRvIHRoZSBjb3JyZWN0IGZvcm1hdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIEZpbHRlciBvcHRpb25zXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgIG9wdGlvbnM6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1PcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbT4ge1xuICAgICAgICBsZXQgdHlwZSE6ICdjYXRlZ29yeScgfCAnc3ViY2F0ZWdvcnknO1xuICAgICAgICBsZXQgZXNvbHZlX2lkITogbnVtYmVyIHwgc3RyaW5nO1xuICAgICAgICBsZXQgc2VmX2Rlc2NyaXB0aW9uO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmlkKSB7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yeUlkZW50aWZpZXIgPSB0aGlzLnByb2Nlc3NJRChvcHRpb25zLmlkKTtcblxuICAgICAgICAgICAgaWYgKGNhdGVnb3J5SWRlbnRpZmllcikge1xuICAgICAgICAgICAgICAgIHR5cGUgPSBjYXRlZ29yeUlkZW50aWZpZXIudHlwZTtcbiAgICAgICAgICAgICAgICBlc29sdmVfaWQgPSBjYXRlZ29yeUlkZW50aWZpZXIuZXNvbHZlX2lkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMudHlwZSkge1xuICAgICAgICAgICAgdHlwZSA9IG9wdGlvbnMudHlwZTtcblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZXNvbHZlX2lkKSB7XG4gICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gb3B0aW9ucy5lc29sdmVfaWQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc2VmX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgc2VmX2Rlc2NyaXB0aW9uID0gb3B0aW9ucy5zZWZfZGVzY3JpcHRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZSAmJiAoZXNvbHZlX2lkIHx8IHNlZl9kZXNjcmlwdGlvbikpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0eXBlJywgdHlwZSk7XG5cbiAgICAgICAgICAgIGlmIChlc29sdmVfaWQpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdpZCcsIGVzb2x2ZV9pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWZfZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzZWZfZGVzY3JpcHRpb24nLCBzZWZfZGVzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXRyZWUtaXRlbS5waHBgLFxuICAgICAgICAgICAgICAgICAgICB7IHBhcmFtcyB9LFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoIDw9IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVHJlZUl0ZW0ocmVzcG9uc2UucmVjb3Jkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnSW52YWxpZCBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgdHJlZSByZWNvcmRzIGFuZCBjb252ZXJ0cyB0aGVtIGludG8gdGhlIGNvcnJlY3QgZm9ybWF0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRyZWVfcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NUcmVlKFxuICAgICAgICB0cmVlX3JlY29yZHM6IChFc29sdmVDYXRlZ29yeVJlY29yZCB8IEVzb2x2ZVN1YmNhdGVnb3J5UmVjb3JkKVtdLFxuICAgICk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IHRyZWVfaXRlbXM6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGlmICh0cmVlX3JlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHJlZV9yZWNvcmQgb2YgdHJlZV9yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgbGV0IGVzb2x2ZV9pZDogc3RyaW5nIHwgbnVtYmVyID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHBhcmVudF9pZCA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbjogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVtdID0gW107XG5cbiAgICAgICAgICAgICAgICBpZiAodHJlZV9yZWNvcmQudHlwZSA9PT0gJ2NhdGVnb3J5Jykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMucHJvY2Vzc1RyZWUodHJlZV9yZWNvcmQuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICBlc29sdmVfaWQgPSB0cmVlX3JlY29yZC5tZW51X2lkO1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfaWQgPSB0cmVlX3JlY29yZC5vd25lcl9tZW51X2lkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCA9IHRyZWVfcmVjb3JkLmlkO1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfaWQgPSB0cmVlX3JlY29yZC5tZW51X2lkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyZWVfaXRlbXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zb3J0X3ByaW9yaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuZGlzcGxheV9vbmx5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuaW1hZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zZW9fcGFnZV90aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNlb19rZXl3b3JkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmVlX2l0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1RyZWVJdGVtKFxuICAgICAgICByZWNvcmQ6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmQsXG4gICAgKTogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB7XG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbShcbiAgICAgICAgICAgIHJlY29yZC50eXBlLFxuICAgICAgICAgICAgcmVjb3JkLmlkLFxuICAgICAgICAgICAgcmVjb3JkLnBhcmVudF9pZCxcbiAgICAgICAgICAgIHJlY29yZC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHJlY29yZC5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZWNvcmQuc2hvcnRfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZWNvcmQuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgIHJlY29yZC5hY3RpdmUsXG4gICAgICAgICAgICByZWNvcmQuZGlzcGxheV9vbmx5LFxuICAgICAgICAgICAgcmVjb3JkLmltYWdlLFxuICAgICAgICAgICAgcmVjb3JkLnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgcmVjb3JkLnNlb19rZXl3b3JkcyxcbiAgICAgICAgICAgIHJlY29yZC5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzSUQoaWQ6IHN0cmluZyk6IEVzb2x2ZUNhdGVnb3J5SWRlbnRpZmllciB8IG51bGwge1xuICAgICAgICBsZXQgdHlwZTogJ2NhdGVnb3J5JyB8ICdzdWJjYXRlZ29yeSc7XG4gICAgICAgIGxldCBlc29sdmVfaWQ6IG51bWJlciB8IHN0cmluZztcblxuICAgICAgICBjb25zdCB0eXBlX2NvZGVfcmVnZXggPSAvXjw8KENBVHxTVUIpPj4vZztcbiAgICAgICAgY29uc3QgbWF0Y2hfcmVzdWx0cyA9IGlkLm1hdGNoKHR5cGVfY29kZV9yZWdleCk7XG5cbiAgICAgICAgaWYgKG1hdGNoX3Jlc3VsdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVfY29kZSA9IG1hdGNoX3Jlc3VsdHNbMF07XG5cbiAgICAgICAgICAgIHR5cGUgPSB0eXBlX2NvZGUgPT09ICc8PENBVD4+JyA/ICdjYXRlZ29yeScgOiAnc3ViY2F0ZWdvcnknO1xuICAgICAgICAgICAgZXNvbHZlX2lkID0gaWQucmVwbGFjZSh0eXBlX2NvZGVfcmVnZXgsICcnKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
152
+ }], ctorParameters: function () { return [{ type: i1.EsolveConfigService }, { type: i2.HttpClient }]; } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhdGVnb3J5LXRyZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXRlZ29yeS10cmVlL2Vzb2x2ZS1jYXRlZ29yeS10cmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUk5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQVEzRSxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDLFlBQ1ksTUFBMkIsRUFDM0IsSUFBZ0I7UUFEaEIsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN6QixDQUFDO0lBRUo7O09BRUc7SUFDSSxlQUFlLENBQ2xCLFVBQW1CO1FBRW5CLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsSUFBSSxVQUFVLEVBQUU7WUFDWixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDakQ7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUlGLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ25ELElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElB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TTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlJztcbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1jYXRlZ29yeS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVzb2x2ZVN1YmNhdGVnb3J5UmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtc3ViY2F0ZWdvcnktcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtIH0gZnJvbSAnLi9lc29sdmUtY2F0ZWdvcnktdHJlZS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1jYXRlZ29yeS10cmVlLWl0ZW0tcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtT3B0aW9ucyB9IGZyb20gJy4vZXNvbHZlLWNhdGVnb3J5LXRyZWUtaXRlbS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeUlkZW50aWZpZXIgfSBmcm9tICcuL2Vzb2x2ZS1jYXRlZ29yeS1pZGVudGlmaWVyLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZUNhdGVnb3J5VHJlZVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY2F0ZWdvcnkgdHJlZSBmcm9tIGVTb2x2ZSBpbnN0YW5jZSBhbmQgY292ZXJ0cyBpdCB0byB0aGUgY29ycmVjdCBmb3JtYXQuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGVnb3J5VHJlZShcbiAgICAgICAgaWRlbnRpZmllcj86IHN0cmluZyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBpZiAoaWRlbnRpZmllcikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaWRlbnRpZmllcicsIGlkZW50aWZpZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICBFc29sdmVHZXRSZXNwb25zZTxcbiAgICAgICAgICAgICAgICAgICAgKEVzb2x2ZUNhdGVnb3J5UmVjb3JkIHwgRXNvbHZlU3ViY2F0ZWdvcnlSZWNvcmQpW11cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA+KGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmVlLnBocGAsIHsgcGFyYW1zIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1RyZWUocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIHRoZSBzcGVjaWFsIHRyZWUgc3RydWN0dXJlIGZvciBhIHNwZWNpZmljIHNwZWNpYWwgZnJvbSB0aGUgZVNvbHZlXG4gICAgICogaW5zdGFuY2UgYW5kIGNvbnZlcnRzIGl0IGludG8gdGhlIGNvcnJlY3QgZm9ybWF0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3BlY2lhbF9pZCBJZCBvZiB0byBzcGVjaWFsIHRvIGdldCB0cmVlIGZvclxuICAgICAqXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHNwZWNpYWwgdHJlZSBkYXRhXG4gICAgICovXG4gICAgcHVibGljIGdldFNwZWNpYWxUcmVlKFxuICAgICAgICBzcGVjaWFsX2lkOiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDYXRlZ29yeVRyZWVJdGVtW10+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3BlY2lhbF9pZCcsIHNwZWNpYWxfaWQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8XG4gICAgICAgICAgICAgICAgRXNvbHZlR2V0UmVzcG9uc2U8XG4gICAgICAgICAgICAgICAgICAgIChFc29sdmVDYXRlZ29yeVJlY29yZCB8IEVzb2x2ZVN1YmNhdGVnb3J5UmVjb3JkKVtdXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPihgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtc3BlY2lhbC10cmVlLnBocGAsIHsgcGFyYW1zIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1RyZWUocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIHRoZSBkZXRhaWxzIG9mIGEgY2F0ZWdvcnkgdHJlZSBpdGVtIGZyb20gdGhlIGVTb2x2ZSBpbnN0YW5jZSBhbmRcbiAgICAgKiBjb252ZXJ0cyBpdCB0byB0aGUgY29ycmVjdCBmb3JtYXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBGaWx0ZXIgb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICBvcHRpb25zOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtT3B0aW9ucyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0+IHtcbiAgICAgICAgbGV0IHR5cGUhOiAnY2F0ZWdvcnknIHwgJ3N1YmNhdGVnb3J5JztcbiAgICAgICAgbGV0IGVzb2x2ZV9pZCE6IG51bWJlciB8IHN0cmluZztcbiAgICAgICAgbGV0IHNlZl9kZXNjcmlwdGlvbjtcblxuICAgICAgICBpZiAob3B0aW9ucy5pZCkge1xuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnlJZGVudGlmaWVyID0gdGhpcy5wcm9jZXNzSUQob3B0aW9ucy5pZCk7XG5cbiAgICAgICAgICAgIGlmIChjYXRlZ29yeUlkZW50aWZpZXIpIHtcbiAgICAgICAgICAgICAgICB0eXBlID0gY2F0ZWdvcnlJZGVudGlmaWVyLnR5cGU7XG4gICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gY2F0ZWdvcnlJZGVudGlmaWVyLmVzb2x2ZV9pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnR5cGUpIHtcbiAgICAgICAgICAgIHR5cGUgPSBvcHRpb25zLnR5cGU7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmVzb2x2ZV9pZCkge1xuICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCA9IG9wdGlvbnMuZXNvbHZlX2lkO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnNlZl9kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHNlZl9kZXNjcmlwdGlvbiA9IG9wdGlvbnMuc2VmX2Rlc2NyaXB0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGUgJiYgKGVzb2x2ZV9pZCB8fCBzZWZfZGVzY3JpcHRpb24pKSB7XG4gICAgICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndHlwZScsIHR5cGUpO1xuXG4gICAgICAgICAgICBpZiAoZXNvbHZlX2lkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaWQnLCBlc29sdmVfaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2VmX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2VmX2Rlc2NyaXB0aW9uJywgc2VmX2Rlc2NyaXB0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmVlLWl0ZW0ucGhwYCxcbiAgICAgICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1RyZWVJdGVtKHJlc3BvbnNlLnJlY29yZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ0ludmFsaWQgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHRyZWUgcmVjb3JkcyBhbmQgY29udmVydHMgdGhlbSBpbnRvIHRoZSBjb3JyZWN0IGZvcm1hdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmVlX3JlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzVHJlZShcbiAgICAgICAgdHJlZV9yZWNvcmRzOiAoRXNvbHZlQ2F0ZWdvcnlSZWNvcmQgfCBFc29sdmVTdWJjYXRlZ29yeVJlY29yZClbXSxcbiAgICApOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtW10ge1xuICAgICAgICBjb25zdCB0cmVlX2l0ZW1zOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtW10gPSBbXTtcblxuICAgICAgICBpZiAodHJlZV9yZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRyZWVfcmVjb3JkIG9mIHRyZWVfcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGxldCBlc29sdmVfaWQ6IHN0cmluZyB8IG51bWJlciA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCBwYXJlbnRfaWQgPSAnJztcbiAgICAgICAgICAgICAgICBsZXQgY2hpbGRyZW46IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRyZWVfcmVjb3JkLnR5cGUgPT09ICdjYXRlZ29yeScpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4gPSB0aGlzLnByb2Nlc3NUcmVlKHRyZWVfcmVjb3JkLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gdHJlZV9yZWNvcmQubWVudV9pZDtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50X2lkID0gdHJlZV9yZWNvcmQub3duZXJfbWVudV9pZDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlc29sdmVfaWQgPSB0cmVlX3JlY29yZC5pZDtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50X2lkID0gdHJlZV9yZWNvcmQubWVudV9pZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cmVlX2l0ZW1zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudF9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc2VmX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmltYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJlZV9pdGVtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NUcmVlSXRlbShcbiAgICAgICAgcmVjb3JkOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkLFxuICAgICk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0ge1xuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICByZWNvcmQudHlwZSxcbiAgICAgICAgICAgIHJlY29yZC5pZCxcbiAgICAgICAgICAgIHJlY29yZC5wYXJlbnRfaWQsXG4gICAgICAgICAgICByZWNvcmQuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZWNvcmQuc2VmX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgcmVjb3JkLnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgcmVjb3JkLnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICByZWNvcmQuYWN0aXZlLFxuICAgICAgICAgICAgcmVjb3JkLmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgIHJlY29yZC5pbWFnZSxcbiAgICAgICAgICAgIHJlY29yZC5zZW9fcGFnZV90aXRsZSxcbiAgICAgICAgICAgIHJlY29yZC5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICByZWNvcmQuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0lEKGlkOiBzdHJpbmcpOiBFc29sdmVDYXRlZ29yeUlkZW50aWZpZXIgfCBudWxsIHtcbiAgICAgICAgbGV0IHR5cGU6ICdjYXRlZ29yeScgfCAnc3ViY2F0ZWdvcnknO1xuICAgICAgICBsZXQgZXNvbHZlX2lkOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAgICAgY29uc3QgdHlwZV9jb2RlX3JlZ2V4ID0gL148PChDQVR8U1VCKT4+L2c7XG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc3VsdHMgPSBpZC5tYXRjaCh0eXBlX2NvZGVfcmVnZXgpO1xuXG4gICAgICAgIGlmIChtYXRjaF9yZXN1bHRzKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlX2NvZGUgPSBtYXRjaF9yZXN1bHRzWzBdO1xuXG4gICAgICAgICAgICB0eXBlID0gdHlwZV9jb2RlID09PSAnPDxDQVQ+PicgPyAnY2F0ZWdvcnknIDogJ3N1YmNhdGVnb3J5JztcbiAgICAgICAgICAgIGVzb2x2ZV9pZCA9IGlkLnJlcGxhY2UodHlwZV9jb2RlX3JlZ2V4LCAnJyk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBlc29sdmVfaWQsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,51 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { ESOLVE_CONNECT_CONFIG } from './esolve-connect-config.constant';
3
+ import * as i0 from "@angular/core";
4
+ export class EsolveConfigService {
5
+ constructor(config) {
6
+ this.api_url = '';
7
+ this.wsid = '';
8
+ this.title_separator = '|';
9
+ this.user_session_storage_key = 'ngEslvUserSession';
10
+ this.coupon_storage_key = '_ng_eslv_coupons';
11
+ this.device_designation = 'web';
12
+ if (config.api_url === '' || config.wsid === '') {
13
+ throw new Error('Invalid eSolve Eurus config');
14
+ }
15
+ this.api_url = config.api_url;
16
+ this.wsid = config.wsid;
17
+ this.title_prefix = config.title_prefix ?? '';
18
+ this.title_suffix = config.title_suffix ?? '';
19
+ this.default_seo_title = config.default_seo_title ?? '';
20
+ this.default_seo_description = config.default_seo_description ?? '';
21
+ this.default_seo_keywords = config.default_seo_keywords ?? '';
22
+ this.native = config.native ?? false;
23
+ if (config.user_session_storage_key) {
24
+ this.user_session_storage_key = config.user_session_storage_key;
25
+ }
26
+ if (config.title_separator) {
27
+ this.title_separator = config.title_separator;
28
+ }
29
+ if (config.coupon_storage_key) {
30
+ this.coupon_storage_key = config.coupon_storage_key;
31
+ }
32
+ if (this.native && config.device_designation) {
33
+ this.device_designation = config.device_designation;
34
+ }
35
+ this.legacy_cdn = config.legacy_cdn;
36
+ this.cdn = config.cdn;
37
+ this.error_image_path = config.error_image_path;
38
+ }
39
+ }
40
+ EsolveConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveConfigService, deps: [{ token: ESOLVE_CONNECT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ EsolveConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveConfigService, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveConfigService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root',
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: [ESOLVE_CONNECT_CONFIG]
50
+ }] }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NvcmUvZXNvbHZlLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUt6RSxNQUFNLE9BQU8sbUJBQW1CO0lBa0I1QixZQUEyQyxNQUEyQjtRQWpCL0QsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFNBQUksR0FBRyxFQUFFLENBQUM7UUFHVixvQkFBZSxHQUFHLEdBQUcsQ0FBQztRQUt0Qiw2QkFBd0IsR0FBRyxtQkFBbUIsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFPOUIsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRXhCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztRQUU5RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDO1FBRXJDLElBQUksTUFBTSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7U0FDbkU7UUFFRCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztTQUN2RDtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNwRCxDQUFDOztnSEFyRFEsbUJBQW1CLGtCQWtCUixxQkFBcUI7b0hBbEJoQyxtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFtQmdCLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgRXNvbHZlQ29ubmVjdENvbmZpZyB7XG4gICAgcHVibGljIGFwaV91cmwgPSAnJztcbiAgICBwdWJsaWMgd3NpZCA9ICcnO1xuICAgIHB1YmxpYyB0aXRsZV9wcmVmaXg6IHN0cmluZztcbiAgICBwdWJsaWMgdGl0bGVfc3VmZml4OiBzdHJpbmc7XG4gICAgcHVibGljIHRpdGxlX3NlcGFyYXRvciA9ICd8JztcbiAgICBwdWJsaWMgZGVmYXVsdF9zZW9fdGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgZGVmYXVsdF9zZW9fZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgZGVmYXVsdF9zZW9fa2V5d29yZHM6IHN0cmluZztcbiAgICBwdWJsaWMgbmF0aXZlOiBib29sZWFuO1xuICAgIHB1YmxpYyB1c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXkgPSAnbmdFc2x2VXNlclNlc3Npb24nO1xuICAgIHB1YmxpYyBjb3Vwb25fc3RvcmFnZV9rZXkgPSAnX25nX2VzbHZfY291cG9ucyc7XG4gICAgcHVibGljIGRldmljZV9kZXNpZ25hdGlvbiA9ICd3ZWInO1xuXG4gICAgcHVibGljIGxlZ2FjeV9jZG4/OiBzdHJpbmc7XG4gICAgcHVibGljIGNkbj86IHN0cmluZztcbiAgICBwdWJsaWMgZXJyb3JfaW1hZ2VfcGF0aD86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZy5hcGlfdXJsID09PSAnJyB8fCBjb25maWcud3NpZCA9PT0gJycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBlU29sdmUgRXVydXMgY29uZmlnJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFwaV91cmwgPSBjb25maWcuYXBpX3VybDtcbiAgICAgICAgdGhpcy53c2lkID0gY29uZmlnLndzaWQ7XG5cbiAgICAgICAgdGhpcy50aXRsZV9wcmVmaXggPSBjb25maWcudGl0bGVfcHJlZml4ID8/ICcnO1xuICAgICAgICB0aGlzLnRpdGxlX3N1ZmZpeCA9IGNvbmZpZy50aXRsZV9zdWZmaXggPz8gJyc7XG4gICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fdGl0bGUgPSBjb25maWcuZGVmYXVsdF9zZW9fdGl0bGUgPz8gJyc7XG4gICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24gPSBjb25maWcuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fa2V5d29yZHMgPSBjb25maWcuZGVmYXVsdF9zZW9fa2V5d29yZHMgPz8gJyc7XG5cbiAgICAgICAgdGhpcy5uYXRpdmUgPSBjb25maWcubmF0aXZlID8/IGZhbHNlO1xuXG4gICAgICAgIGlmIChjb25maWcudXNlcl9zZXNzaW9uX3N0b3JhZ2Vfa2V5KSB7XG4gICAgICAgICAgICB0aGlzLnVzZXJfc2Vzc2lvbl9zdG9yYWdlX2tleSA9IGNvbmZpZy51c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZmlnLnRpdGxlX3NlcGFyYXRvcikge1xuICAgICAgICAgICAgdGhpcy50aXRsZV9zZXBhcmF0b3IgPSBjb25maWcudGl0bGVfc2VwYXJhdG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZy5jb3Vwb25fc3RvcmFnZV9rZXkpIHtcbiAgICAgICAgICAgIHRoaXMuY291cG9uX3N0b3JhZ2Vfa2V5ID0gY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZSAmJiBjb25maWcuZGV2aWNlX2Rlc2lnbmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRldmljZV9kZXNpZ25hdGlvbiA9IGNvbmZpZy5kZXZpY2VfZGVzaWduYXRpb247XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxlZ2FjeV9jZG4gPSBjb25maWcubGVnYWN5X2NkbjtcbiAgICAgICAgdGhpcy5jZG4gPSBjb25maWcuY2RuO1xuICAgICAgICB0aGlzLmVycm9yX2ltYWdlX3BhdGggPSBjb25maWcuZXJyb3JfaW1hZ2VfcGF0aDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const ESOLVE_CONNECT_CONFIG = new InjectionToken('esolve.connect.config');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NvcmUvZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELHVCQUF1QixDQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IEVTT0xWRV9DT05ORUNUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFc29sdmVDb25uZWN0Q29uZmlnPihcbiAgICAnZXNvbHZlLmNvbm5lY3QuY29uZmlnJyxcbik7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvbm5lY3QuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NvcmUvZXNvbHZlLWNvbm5lY3QuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgdG8gZVNvbHZlIENvbm5lY3QgTW9kdWxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlQ29ubmVjdENvbmZpZyB7XG4gICAgLyoqXG4gICAgICogVVJMIHRvIHRoZSBlU29sdmUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBhcGlfdXJsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBlU29sdmUgV2ViIFNlcnZpY2UgSUQuIFRoaXMgY29kZSBpbiByZXF1aXJlZCB0byBhdXRoZW50aWNhdGUgeW91ciBpbnN0YW5jZVxuICAgICAqL1xuICAgIHdzaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRleHQgdG8gYmUgcHJlZml4ZWQgdG8gdGhlIHBhZ2UgdGl0bGVcbiAgICAgKi9cbiAgICB0aXRsZV9wcmVmaXg/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IHRvIGJlIHN1ZmZpeGVkIHRvIHRoZSBwYWdlIHRpdGxlXG4gICAgICovXG4gICAgdGl0bGVfc3VmZml4Pzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogU3RyaW5nIHRvIHNlcGFyYXRlIHRoZSB0aXRsZSBmcm9tIHByZWZpeCBhbmQgc3VmZml4LiBEZWZhdWx0IGlzIHRoZSBgfGAgY2hhcmFjdGVyXG4gICAgICovXG4gICAgdGl0bGVfc2VwYXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBTRU8gcGFnZSB0aXRsZVxuICAgICAqL1xuICAgIGRlZmF1bHRfc2VvX3RpdGxlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBTRU8gcGFnZSBkZXNjcmlwdGlvblxuICAgICAqL1xuICAgIGRlZmF1bHRfc2VvX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBTRU8ga2V5d29yZHNcbiAgICAgKi9cbiAgICBkZWZhdWx0X3Nlb19rZXl3b3Jkcz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEtleSBmb3IgdXNlciBzZXNzaW9uIGxvY2FsIHN0b3JhZ2UgKERlZmF1bHQgaXMgYG5nRXNsdlVzZXJTZXNzaW9uYClcbiAgICAgKi9cbiAgICB1c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBLZXkgZm9yIGNvdXBvbiBsb2NhbCBzdG9yYWdlIChEZWZhdWx0IGlzIGBfbmdfZXNsdl9jb3Vwb25zYClcbiAgICAgKi9cbiAgICBjb3Vwb25fc3RvcmFnZV9rZXk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gaXMgYSBuYXRpdmUgYXBwIG9yIGEgd2Vic2l0ZS4gSWYgaXQgaXMgYSBuYXRpdmVcbiAgICAgKiBhcHAsIHRoZSBgZGV2aWNlX2Rlc2lnbmF0aW9uYCBpcyByZXF1aXJlZCBmb3IgbmF0aXZlIGFwcCBmZWF0dXJlcyB0byBiZSBlbmFibGVkXG4gICAgICovXG4gICAgbmF0aXZlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB0aGUgcGxhdGZvcm0gdXNlZC4gUG9zc2libGUgdmFsdWVzIGluY2x1ZGUgYGFuZHJvaWRgLCBgaW9zYCBhbmRcbiAgICAgKiBgd2ViYC4gSWYgbm9uZSBpcyBwcm92aWRlZCwgdGhlbiB0aGUgdmFsdWUgaXMgYXNzdW1lZCB0byBiZSBgd2ViYFxuICAgICAqL1xuICAgIGRldmljZV9kZXNpZ25hdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgVVJMIG9mIGEgbGVnYWN5IGNvbnRlbnQgZGVsaXZlcnkgbmV0d29yayAoQ0ROKSB0aGF0IG1heSBiZVxuICAgICAqIHVzZWQgZm9yIHNlcnZpbmcgc3RhdGljIGFzc2V0cyBzdWNoIGFzIGltYWdlcywgdmlkZW9zLCBhbmQgb3RoZXIgbWVkaWEgZmlsZXMuIFRoaXMgcHJvcGVydHkgaXNcbiAgICAgKiBvcHRpb25hbCBhbmQgbWF5IG5vdCBiZSB1c2VkIGlmIHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCByZXF1aXJlIGEgbGVnYWN5IENETi5cbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIGxlZ2FjeV9jZG4/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgVVJMIG9mIGEgY29udGVudCBkZWxpdmVyeSBuZXR3b3JrIChDRE4pXG4gICAgICogdGhhdCBtYXkgYmUgdXNlZCBmb3Igc2VydmluZyBzdGF0aWMgYXNzZXRzIHN1Y2ggYXMgaW1hZ2VzLCB2aWRlb3MsIGFuZCBvdGhlciBtZWRpYVxuICAgICAqIGZpbGVzLiBJZiB0aGlzIHByb3BlcnR5IGlzIG5vdCBwcm92aWRlZCwgdGhlIGFwcGxpY2F0aW9uIG1heSBub3QgdXNlIGEgQ0ROLlxuICAgICAqL1xuICAgIGNkbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgcGF0aCB0byBhbiBlcnJvciBpbWFnZSB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgaW4gY2FzZSBvZiBlcnJvcnMgb3IgZmFpbHVyZXMgaW5cbiAgICAgKiB0aGUgYXBwbGljYXRpb24uIElmIHRoaXMgcHJvcGVydHkgaXMgbm90IHByb3ZpZGVkLCBgL2Fzc2V0cy9ub19pbWFnZS5qcGdgIGlzIHVzZWQgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBlcnJvcl9pbWFnZV9wYXRoPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './esolve-config.service';
2
+ export * from './esolve-connect-config.constant';
3
+ export * from './esolve-connect.config';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcbiJdfQ==
@@ -3,7 +3,7 @@ import { HttpClient } from '@angular/common/http';
3
3
  import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
4
4
  import { BehaviorSubject, firstValueFrom, of, Subject } from 'rxjs';
5
5
  import { catchError, map } from 'rxjs/operators';
6
- import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
6
+ import { ESOLVE_CONNECT_CONFIG } from '../core/esolve-connect-config.constant';
7
7
  import { EsolveCookieService } from '../shared/cookie/esolve-cookie.service';
8
8
  import { EsolveCoupon } from './classes';
9
9
  import * as i0 from "@angular/core";
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
227
227
  type: Inject,
228
228
  args: [ESOLVE_CONNECT_CONFIG]
229
229
  }] }, { type: i1.HttpClient }, { type: i2.EsolveCookieService }]; } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvdXBvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jb3Vwb25zL2Vzb2x2ZS1jb3Vwb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQVl6QyxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQ2lDLFVBQWtCLEVBQ1IsTUFBMkIsRUFDMUQsSUFBZ0IsRUFDaEIsYUFBa0M7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1IsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFadEMsZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxrQkFBYSxHQUF1QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUMvQyxxQkFBZ0IsR0FB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aW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xuXG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZS9lc29sdmUtY29va2llLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVDb3Vwb24gfSBmcm9tICcuL2NsYXNzZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVDb3Vwb25SZWNvcmQsXG4gICAgRXNvbHZlQ291cG9uVmFsaWRhdGlvbixcbiAgICBFc29sdmVDb3Vwb25WYWxpZGF0aW9uRXJyb3IsXG4gICAgRXNvbHZlQ291cG9uVmFsaWRhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVzb2x2ZUNvdXBvbnNDYWNoZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVDb3Vwb25zU2VydmljZSB7XG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICdfbmdfZXNsdl9jb3Vwb25zJztcbiAgICBwcml2YXRlIGNvdXBvbnNfY2FjaGU6IEVzb2x2ZUNvdXBvbnNDYWNoZSA9IG5ldyBNYXAoKTtcbiAgICBwcml2YXRlIGFwcGxpZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uX2Vycm9yID0gbmV3IFN1YmplY3Q8XG4gICAgICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb25FcnJvciB8IHVuZGVmaW5lZFxuICAgID4oKTtcbiAgICBwcml2YXRlIGlzX2Jyb3dzZXI6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IEVzb2x2ZUNvb2tpZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2V0U3RvcmFnZUtleSgpO1xuICAgICAgICB0aGlzLmNvdXBvbnNfY2FjaGUgPSB0aGlzLnJldHJpZXZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy5pc19icm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWxpZGF0aW9uRXJyb3IoKTogT2JzZXJ2YWJsZTxcbiAgICAgICAgRXNvbHZlQ291cG9uVmFsaWRhdGlvbkVycm9yIHwgdW5kZWZpbmVkXG4gICAgPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25fZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQXBwbGllZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGllZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGUoXG4gICAgICAgIGNvdXBvbl9rZXk6IHN0cmluZyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNvdXBvblZhbGlkYXRpb25SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDb3Vwb25WYWxpZGF0aW9uPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXZhbGlkYXRlLWNvdXBvbi5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3Vwb25fa2V5LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWQgPSByZXNwb25zZS5yZWNvcmRzLnZhbGlkO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogRXNvbHZlQ291cG9uVmFsaWRhdGlvblJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gcmVzcG9uc2UucmVjb3Jkcy5lcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbl9lcnJvci5uZXh0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlkID0gcmVzcG9uc2UucmVjb3Jkcy5pZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbl9lcnJvci5uZXh0KHVuZGVmaW5lZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgdmFsaWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYXBwbHlDb3Vwb24oY291cG9uX2tleTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoY291cG9uX2tleS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnZhbGlkYXRlKGNvdXBvbl9rZXkpKTtcblxuICAgICAgICAgICAgaWYgKHJlc3VsdC52YWxpZCAmJiByZXN1bHQuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZENvdXBvbihyZXN1bHQuaWQsIGNvdXBvbl9rZXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0LnZhbGlkO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUNvdXBvbihpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY291cG9uc19jYWNoZS5kZWxldGUoaWQpO1xuXG4gICAgICAgIHRoaXMuY2FjaGVDb3Vwb25zKCk7XG4gICAgICAgIHRoaXMuYXBwbGllZC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFwcGxpZWRDb3Vwb25LZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLmNvdXBvbnNfY2FjaGUudmFsdWVzKCldO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBcHBsaWVkQ291cG9ucygpOiBPYnNlcnZhYmxlPEVzb2x2ZUNvdXBvbltdPiB7XG4gICAgICAgIGNvbnN0IGNvdXBvbl9pZHMgPSBbLi4udGhpcy5jb3Vwb25zX2NhY2hlLmtleXMoKV07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDb3Vwb25SZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hcHBsaWVkLWNvdXBvbnMucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY291cG9uczogY291cG9uX2lkcy5qb2luKCcsJyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ291cG9ucyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0KCkge1xuICAgICAgICB0aGlzLmRlbGV0ZUNvdXBvbnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJldHJpZXZlQ2FjaGUoKTogRXNvbHZlQ291cG9uc0NhY2hlIHtcbiAgICAgICAgaWYgKHRoaXMuY29va2llU2VydmljZS5jaGVjayh0aGlzLnN0b3JhZ2Vfa2V5KSB8fCB0aGlzLmdldEJhY2t1cCgpKSB7XG4gICAgICAgICAgICBsZXQgY291cG9uc19qc29uID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLnN0b3JhZ2Vfa2V5KTtcblxuICAgICAgICAgICAgaWYgKGNvdXBvbnNfanNvbiA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbF9zdG9yZV9kYXRhID0gdGhpcy5nZXRCYWNrdXAoKTtcblxuICAgICAgICAgICAgICAgIGlmIChsb2NhbF9zdG9yZV9kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvdXBvbnNfanNvbiA9IGxvY2FsX3N0b3JlX2RhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmpzb25EZWNvZGVNYXAoY291cG9uc19qc29uKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgLy8gc29mdCBlcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlQ291cG9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY291cG9uc19jYWNoZS5zaXplID4gMCkge1xuICAgICAgICAgICAgY29uc3QgY291cG9uc19qc29uID0gdGhpcy5qc29uRW5jb2RlTWFwKHRoaXMuY291cG9uc19jYWNoZSk7XG5cbiAgICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSxcbiAgICAgICAgICAgICAgICBjb3Vwb25zX2pzb24sXG4gICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICcvJyxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0QmFja3VwKGNvdXBvbnNfanNvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUNvdXBvbnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlQ291cG9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3Vwb25zX2NhY2hlLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUodGhpcy5zdG9yYWdlX2tleSwgJy8nKTtcblxuICAgICAgICB0aGlzLnJlbW92ZUJhY2t1cCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmFja3VwKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRCYWNrdXAoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlX2tleSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVCYWNrdXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRDb3Vwb24oaWQ6IG51bWJlciwga2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvdXBvbnNfY2FjaGUuaGFzKGlkKSkge1xuICAgICAgICAgICAgdGhpcy5jb3Vwb25zX2NhY2hlLnNldChpZCwga2V5KTtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVDb3Vwb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFwcGxpZWQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3RvcmFnZUtleSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIHRoaXMuY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleSAhPT0gJydcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5ID0gdGhpcy5jb25maWcuY291cG9uX3N0b3JhZ2Vfa2V5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBqc29uRW5jb2RlTWFwKGRhdGE6IEVzb2x2ZUNvdXBvbnNDYWNoZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghKGRhdGEgaW5zdGFuY2VvZiBNYXApKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbWFwIHR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhLCAoa2V5LCB2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdNYXAnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogWy4uLnZhbHVlXSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUganNvbkRlY29kZU1hcChqc29uX2RhdGE6IHN0cmluZyk6IEVzb2x2ZUNvdXBvbnNDYWNoZSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGpzb25fZGF0YSwgKGtleSwgdmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmRhdGFUeXBlID09PSAnTWFwJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE1hcCh2YWx1ZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkYXRhIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXAgdHlwZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0NvdXBvbnMocmVjb3JkczogRXNvbHZlQ291cG9uUmVjb3JkW10pOiBFc29sdmVDb3Vwb25bXSB7XG4gICAgICAgIGNvbnN0IGNvdXBvbnM6IEVzb2x2ZUNvdXBvbltdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3Vwb24gPSBuZXcgRXNvbHZlQ291cG9uKHJlY29yZCk7XG5cbiAgICAgICAgICAgICAgICBjb3Vwb25zLnB1c2goY291cG9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb3Vwb25zO1xuICAgIH1cbn1cbiJdfQ==
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvdXBvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jb3Vwb25zL2Vzb2x2ZS1jb3Vwb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQVl6QyxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQ2lDLFVBQWtCLEVBQ1IsTUFBMkIsRUFDMUQsSUFBZ0IsRUFDaEIsYUFBa0M7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1IsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFadEMsZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxrQkFBYSxHQUF1QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUMvQyxxQkFBZ0IsR0FB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aW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vY29yZS9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4uL2NvcmUvZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcblxuaW1wb3J0IHsgRXNvbHZlQ29va2llU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb29raWUvZXNvbHZlLWNvb2tpZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlJztcblxuaW1wb3J0IHsgRXNvbHZlQ291cG9uIH0gZnJvbSAnLi9jbGFzc2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQ291cG9uUmVjb3JkLFxuICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb24sXG4gICAgRXNvbHZlQ291cG9uVmFsaWRhdGlvbkVycm9yLFxuICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb25SZXN1bHQsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVDb3Vwb25zQ2FjaGUgfSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlQ291cG9uc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RvcmFnZV9rZXkgPSAnX25nX2VzbHZfY291cG9ucyc7XG4gICAgcHJpdmF0ZSBjb3Vwb25zX2NhY2hlOiBFc29sdmVDb3Vwb25zQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSBhcHBsaWVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICAgIHByaXZhdGUgdmFsaWRhdGlvbl9lcnJvciA9IG5ldyBTdWJqZWN0PFxuICAgICAgICBFc29sdmVDb3Vwb25WYWxpZGF0aW9uRXJyb3IgfCB1bmRlZmluZWRcbiAgICA+KCk7XG4gICAgcHJpdmF0ZSBpc19icm93c2VyOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBFc29sdmVDb29raWVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcbiAgICAgICAgdGhpcy5jb3Vwb25zX2NhY2hlID0gdGhpcy5yZXRyaWV2ZUNhY2hlKCk7XG4gICAgICAgIHRoaXMuaXNfYnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsaWRhdGlvbkVycm9yKCk6IE9ic2VydmFibGU8XG4gICAgICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb25FcnJvciB8IHVuZGVmaW5lZFxuICAgID4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uX2Vycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFwcGxpZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGxpZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlKFxuICAgICAgICBjb3Vwb25fa2V5OiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDb3Vwb25WYWxpZGF0aW9uUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ291cG9uVmFsaWRhdGlvbj4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC12YWxpZGF0ZS1jb3Vwb24ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY291cG9uX2tleSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkID0gcmVzcG9uc2UucmVjb3Jkcy52YWxpZDtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IEVzb2x2ZUNvdXBvblZhbGlkYXRpb25SZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCxcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJlc3BvbnNlLnJlY29yZHMuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25fZXJyb3IubmV4dChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pZCA9IHJlc3BvbnNlLnJlY29yZHMuaWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25fZXJyb3IubmV4dCh1bmRlZmluZWQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7IHZhbGlkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGFwcGx5Q291cG9uKGNvdXBvbl9rZXk6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGNvdXBvbl9rZXkudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy52YWxpZGF0ZShjb3Vwb25fa2V5KSk7XG5cbiAgICAgICAgICAgIGlmIChyZXN1bHQudmFsaWQgJiYgcmVzdWx0LmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRDb3Vwb24ocmVzdWx0LmlkLCBjb3Vwb25fa2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC52YWxpZDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVDb3Vwb24oaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvdXBvbnNfY2FjaGUuZGVsZXRlKGlkKTtcblxuICAgICAgICB0aGlzLmNhY2hlQ291cG9ucygpO1xuICAgICAgICB0aGlzLmFwcGxpZWQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBcHBsaWVkQ291cG9uS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbLi4udGhpcy5jb3Vwb25zX2NhY2hlLnZhbHVlcygpXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QXBwbGllZENvdXBvbnMoKTogT2JzZXJ2YWJsZTxFc29sdmVDb3Vwb25bXT4ge1xuICAgICAgICBjb25zdCBjb3Vwb25faWRzID0gWy4uLnRoaXMuY291cG9uc19jYWNoZS5rZXlzKCldO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ291cG9uUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYXBwbGllZC1jb3Vwb25zLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdXBvbnM6IGNvdXBvbl9pZHMuam9pbignLCcpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NvdXBvbnMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldCgpIHtcbiAgICAgICAgdGhpcy5kZWxldGVDb3Vwb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWV2ZUNhY2hlKCk6IEVzb2x2ZUNvdXBvbnNDYWNoZSB7XG4gICAgICAgIGlmICh0aGlzLmNvb2tpZVNlcnZpY2UuY2hlY2sodGhpcy5zdG9yYWdlX2tleSkgfHwgdGhpcy5nZXRCYWNrdXAoKSkge1xuICAgICAgICAgICAgbGV0IGNvdXBvbnNfanNvbiA9IHRoaXMuY29va2llU2VydmljZS5nZXQodGhpcy5zdG9yYWdlX2tleSk7XG5cbiAgICAgICAgICAgIGlmIChjb3Vwb25zX2pzb24gPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxfc3RvcmVfZGF0YSA9IHRoaXMuZ2V0QmFja3VwKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAobG9jYWxfc3RvcmVfZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjb3Vwb25zX2pzb24gPSBsb2NhbF9zdG9yZV9kYXRhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5qc29uRGVjb2RlTWFwKGNvdXBvbnNfanNvbik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIC8vIHNvZnQgZXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWNoZUNvdXBvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvdXBvbnNfY2FjaGUuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvdXBvbnNfanNvbiA9IHRoaXMuanNvbkVuY29kZU1hcCh0aGlzLmNvdXBvbnNfY2FjaGUpO1xuXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZV9rZXksXG4gICAgICAgICAgICAgICAgY291cG9uc19qc29uLFxuICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAnLycsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnNldEJhY2t1cChjb3Vwb25zX2pzb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVDb3Vwb25zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUNvdXBvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY291cG9uc19jYWNoZS5jbGVhcigpO1xuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKHRoaXMuc3RvcmFnZV9rZXksICcvJyk7XG5cbiAgICAgICAgdGhpcy5yZW1vdmVCYWNrdXAoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJhY2t1cCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QmFja3VwKGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIGRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQmFja3VwKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQ291cG9uKGlkOiBudW1iZXIsIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb3Vwb25zX2NhY2hlLmhhcyhpZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY291cG9uc19jYWNoZS5zZXQoaWQsIGtleSk7XG4gICAgICAgICAgICB0aGlzLmNhY2hlQ291cG9ucygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBsaWVkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFN0b3JhZ2VLZXkoKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy5jb3Vwb25fc3RvcmFnZV9rZXkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5jb3Vwb25fc3RvcmFnZV9rZXkgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUganNvbkVuY29kZU1hcChkYXRhOiBFc29sdmVDb3Vwb25zQ2FjaGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIShkYXRhIGluc3RhbmNlb2YgTWFwKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1hcCB0eXBlJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSwgKGtleSwgdmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnTWFwJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFsuLi52YWx1ZV0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGpzb25EZWNvZGVNYXAoanNvbl9kYXRhOiBzdHJpbmcpOiBFc29sdmVDb3Vwb25zQ2FjaGUge1xuICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShqc29uX2RhdGEsIChrZXksIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5kYXRhVHlwZSA9PT0gJ01hcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBNYXAodmFsdWUudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbWFwIHR5cGUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NDb3Vwb25zKHJlY29yZHM6IEVzb2x2ZUNvdXBvblJlY29yZFtdKTogRXNvbHZlQ291cG9uW10ge1xuICAgICAgICBjb25zdCBjb3Vwb25zOiBFc29sdmVDb3Vwb25bXSA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY291cG9uID0gbmV3IEVzb2x2ZUNvdXBvbihyZWNvcmQpO1xuXG4gICAgICAgICAgICAgICAgY291cG9ucy5wdXNoKGNvdXBvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY291cG9ucztcbiAgICB9XG59XG4iXX0=
@@ -1,14 +1,15 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
3
  import { catchError, map } from 'rxjs/operators';
4
- import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
5
4
  import { EsolveErrorHandlerService } from '../shared/errors';
6
5
  import { EsolveResponseHandlerService, } from '../shared/response';
7
6
  import { EsolveEnquiryResult } from './esolve-enquiry-result.model';
7
+ import { EsolveConfigService } from '../core';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
10
- import * as i2 from "../shared/errors";
11
- import * as i3 from "../shared/response";
9
+ import * as i1 from "../core";
10
+ import * as i2 from "@angular/common/http";
11
+ import * as i3 from "../shared/errors";
12
+ import * as i4 from "../shared/response";
12
13
  export class EsolveEnquiryService {
13
14
  constructor(config, http, errorHandler, responseHandler) {
14
15
  this.config = config;
@@ -30,15 +31,12 @@ export class EsolveEnquiryService {
30
31
  }));
31
32
  }
32
33
  }
33
- EsolveEnquiryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveEnquiryService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }, { token: i2.EsolveErrorHandlerService }, { token: i3.EsolveResponseHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ EsolveEnquiryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveEnquiryService, deps: [{ token: i1.EsolveConfigService }, { token: i2.HttpClient }, { token: i3.EsolveErrorHandlerService }, { token: i4.EsolveResponseHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
34
35
  EsolveEnquiryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveEnquiryService, providedIn: 'root' });
35
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveEnquiryService, decorators: [{
36
37
  type: Injectable,
37
38
  args: [{
38
39
  providedIn: 'root',
39
40
  }]
40
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
41
- type: Inject,
42
- args: [ESOLVE_CONNECT_CONFIG]
43
- }] }, { type: i1.HttpClient }, { type: i2.EsolveErrorHandlerService }, { type: i3.EsolveResponseHandlerService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWVucXVpcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9lbnF1aXJ5L2Vzb2x2ZS1lbnF1aXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFDSCw0QkFBNEIsR0FFL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFNcEUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQixFQUNoQixZQUF1QyxFQUN2QyxlQUE2QztRQUhkLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUE4QjtJQUN0RCxDQUFDO0lBRUcsSUFBSSxDQUFDLFNBQW1CO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQzlCLGdCQUFnQixFQUNoQixtQkFBbUIsQ0FDdEIsQ0FBQztTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FDRCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxrQkFBa0IsRUFDeEMsU0FBUyxFQUNUO1lBQ0ksWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFLE1BQU07U0FDbEIsQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLDBCQUEwQixDQUMzQyxhQUFhLEVBQ2IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQ2xELENBQ0osRUFDRCxVQUFVLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUN4QyxhQUFhLEVBQ2IsUUFBUSxDQUNYLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQzs7aUhBdkNRLG9CQUFvQixrQkFFakIscUJBQXFCO3FIQUZ4QixvQkFBb0IsY0FGakIsTUFBTTsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxufSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVFbnF1aXJ5UmVzdWx0IH0gZnJvbSAnLi9lc29sdmUtZW5xdWlyeS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlRW5xdWlyeVJlc3BvbnNlIH0gZnJvbSAnLi9lc29sdmUtZW5xdWlyeS1yZXNwb25zZS50eXBlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlRW5xdWlyeVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVzcG9uc2VIYW5kbGVyOiBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgICkge31cblxuICAgIHB1YmxpYyBzZW5kKGZvcm1fZGF0YTogRm9ybURhdGEpOiBPYnNlcnZhYmxlPEVzb2x2ZUVucXVpcnlSZXN1bHQ+IHtcbiAgICAgICAgaWYgKCFmb3JtX2RhdGEuaGFzKCdlbWFpbCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuZW1pdEVycm9yKFxuICAgICAgICAgICAgICAgICdlbWFpbF9yZXF1aXJlZCcsXG4gICAgICAgICAgICAgICAgJ0VtYWlsIGlzIHJlcXVpcmVkJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVFbnF1aXJ5UmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtZW5xdWlyeS5waHBgLFxuICAgICAgICAgICAgICAgIGZvcm1fZGF0YSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlRW5xdWlyeVJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWVucXVpcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
41
+ }], ctorParameters: function () { return [{ type: i1.EsolveConfigService }, { type: i2.HttpClient }, { type: i3.EsolveErrorHandlerService }, { type: i4.EsolveResponseHandlerService }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWVucXVpcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9lbnF1aXJ5L2Vzb2x2ZS1lbnF1aXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUNILDRCQUE0QixHQUUvQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7O0FBSzlDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFDWSxNQUEyQixFQUMzQixJQUFnQixFQUNoQixZQUF1QyxFQUN2QyxlQUE2QztRQUg3QyxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUN2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBOEI7SUFDdEQsQ0FBQztJQUVHLElBQUksQ0FBQyxTQUFtQjtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUM5QixnQkFBZ0IsRUFDaEIsbUJBQW1CLENBQ3RCLENBQUM7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxJQUFJLENBQ0QsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sa0JBQWtCLEVBQ3hDLFNBQVMsRUFDVDtZQUNJLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxNQUFNO1NBQ2xCLENBQ0o7YUFDQSxJQUFJLENBQ0QsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FDM0MsYUFBYSxFQUNiLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUNsRCxDQUNKLEVBQ0QsVUFBVSxDQUFDLENBQUMsUUFBaUMsRUFBRSxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FDeEMsYUFBYSxFQUNiLFFBQVEsQ0FDWCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7O2lIQXZDUSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUZqQixNQUFNOzJGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycyc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5cbmltcG9ydCB7IEVzb2x2ZUVucXVpcnlSZXN1bHQgfSBmcm9tICcuL2Vzb2x2ZS1lbnF1aXJ5LXJlc3VsdC5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVFbnF1aXJ5UmVzcG9uc2UgfSBmcm9tICcuL2Vzb2x2ZS1lbnF1aXJ5LXJlc3BvbnNlLnR5cGUnO1xuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVFbnF1aXJ5U2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlc3BvbnNlSGFuZGxlcjogRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgc2VuZChmb3JtX2RhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTxFc29sdmVFbnF1aXJ5UmVzdWx0PiB7XG4gICAgICAgIGlmICghZm9ybV9kYXRhLmhhcygnZW1haWwnKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmVtaXRFcnJvcihcbiAgICAgICAgICAgICAgICAnZW1haWxfcmVxdWlyZWQnLFxuICAgICAgICAgICAgICAgICdFbWFpbCBpcyByZXF1aXJlZCcsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlRW5xdWlyeVJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWVucXVpcnkucGhwYCxcbiAgICAgICAgICAgICAgICBmb3JtX2RhdGEsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4gbmV3IEVzb2x2ZUVucXVpcnlSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1lbnF1aXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=