@esolve/ng-esolve-connect 0.10.5 → 0.11.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 (43) hide show
  1. package/esm2020/lib/account/esolve-account.service.mjs +49 -58
  2. package/esm2020/lib/auth/esolve-auth-interceptor.service.mjs +4 -3
  3. package/esm2020/lib/auth/esolve-auth.service.mjs +6 -16
  4. package/esm2020/lib/banners/esolve-banner.service.mjs +6 -7
  5. package/esm2020/lib/cart/esolve-cart.service.mjs +27 -28
  6. package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +17 -12
  7. package/esm2020/lib/locations/esolve-locations.service.mjs +7 -6
  8. package/esm2020/lib/media/esolve-heading-record.mjs +2 -0
  9. package/esm2020/lib/media/esolve-heading.mjs +7 -0
  10. package/esm2020/lib/media/esolve-media.service.mjs +55 -20
  11. package/esm2020/lib/menu/esolve-menu.service.mjs +5 -7
  12. package/esm2020/lib/news/esolve-news.service.mjs +11 -15
  13. package/esm2020/lib/payment/esolve-payment.service.mjs +62 -73
  14. package/esm2020/lib/session/esolve-session.mjs +8 -11
  15. package/esm2020/lib/session/esolve-session.service.mjs +6 -6
  16. package/esm2020/lib/session/esolve-stored-session.mjs +1 -1
  17. package/esm2020/lib/shipping/esolve-shipping.service.mjs +36 -36
  18. package/esm2020/lib/stock/esolve-stock-item.mjs +6 -1
  19. package/esm2020/lib/stock/esolve-stock-record.mjs +1 -1
  20. package/esm2020/lib/stock/esolve-stock.service.mjs +35 -36
  21. package/esm2020/lib/topics/esolve-topic.service.mjs +3 -7
  22. package/esm2020/public-api.mjs +2 -1
  23. package/fesm2015/esolve-ng-esolve-connect.mjs +335 -324
  24. package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
  25. package/fesm2020/esolve-ng-esolve-connect.mjs +334 -324
  26. package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
  27. package/lib/cart/esolve-cart.service.d.ts +8 -1
  28. package/lib/category-tree/esolve-category-tree.service.d.ts +4 -1
  29. package/lib/locations/esolve-locations.service.d.ts +2 -0
  30. package/lib/media/esolve-heading-record.d.ts +5 -0
  31. package/lib/media/esolve-heading.d.ts +5 -0
  32. package/lib/media/esolve-media.service.d.ts +25 -4
  33. package/lib/news/esolve-news.service.d.ts +1 -1
  34. package/lib/payment/esolve-payment.service.d.ts +16 -14
  35. package/lib/session/esolve-session.d.ts +3 -4
  36. package/lib/session/esolve-session.service.d.ts +2 -2
  37. package/lib/session/esolve-stored-session.d.ts +2 -2
  38. package/lib/shipping/esolve-shipping.service.d.ts +11 -11
  39. package/lib/stock/esolve-stock-item.d.ts +8 -0
  40. package/lib/stock/esolve-stock-record.d.ts +1 -0
  41. package/lib/stock/esolve-stock.service.d.ts +10 -10
  42. package/package.json +3 -3
  43. package/public-api.d.ts +1 -0
@@ -3,6 +3,7 @@ import { HttpParams } from '@angular/common/http';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
5
5
  import { EsolveMediaArticle } from './esolve-media-article';
6
+ import { EsolveHeading } from './esolve-heading';
6
7
  import { EsolveTag } from '../tags/esolve-tag';
7
8
  import { EsolveTopic } from '../topics/esolve-topic';
8
9
  import * as i0 from "@angular/core";
@@ -13,18 +14,16 @@ export class EsolveMediaService {
13
14
  this.http = http;
14
15
  }
15
16
  /**
16
- * Retrieves the media record from the eSolve instance using the identifier.
17
- * @param identifier String representing the eSolve media indentifier
17
+ * Retrieves the media record from the eSolve instance using the identifier
18
+ *
19
+ * @param identifier String representing the eSolve media identifier
18
20
  */
19
21
  getMediaArticle(identifier) {
20
- const params = new HttpParams({
21
- fromObject: {
22
- identifier
23
- }
24
- });
22
+ const params = new HttpParams({ fromObject: { identifier } });
25
23
  // TODO: Error Handling
26
- return this.getMediaRecords(params).pipe(map(response => {
27
- if ((response.records === undefined) || (response.records.length <= 0)) {
24
+ return this.getMediaRecords(params).pipe(map((response) => {
25
+ if ((response.records === undefined) ||
26
+ (response.records.length <= 0)) {
28
27
  throw response;
29
28
  }
30
29
  const mediaRecord = response.records[0];
@@ -35,18 +34,18 @@ export class EsolveMediaService {
35
34
  }));
36
35
  }
37
36
  /**
38
- * Retrieves a group of media records from the eSolve instance linked to a group.
37
+ * Retrieves a group of media records from the eSolve instance linked to a group
38
+ *
39
39
  * @param media_group String representing the eSolve media group
40
40
  */
41
41
  getGroupedMediaArticles(media_group) {
42
42
  const params = new HttpParams({
43
- fromObject: {
44
- media_group_sef: media_group
45
- }
43
+ fromObject: { media_group_sef: media_group }
46
44
  });
47
- return this.getMediaRecords(params).pipe(map(response => {
45
+ return this.getMediaRecords(params).pipe(map((response) => {
48
46
  const mediaArticles = [];
49
- if ((response.records !== undefined) && (response.records.length > 0)) {
47
+ if ((response.records !== undefined) &&
48
+ (response.records.length > 0)) {
50
49
  for (const mediaRecord of response.records) {
51
50
  if (mediaRecord.active) {
52
51
  mediaArticles.push(this.processMediaRecord(mediaRecord));
@@ -56,6 +55,34 @@ export class EsolveMediaService {
56
55
  return mediaArticles;
57
56
  }));
58
57
  }
58
+ /**
59
+ * Retrieves the media heading records from the eSolve instance using the identifiers
60
+ *
61
+ * @param identifiers Array of strings representing the eSolve heading identifiers
62
+ */
63
+ getHeadings(identifiers) {
64
+ return this.http
65
+ .get(`${this.config.api_url}/get-headings.php`, {
66
+ params: {
67
+ identifier: identifiers.join(','),
68
+ },
69
+ })
70
+ .pipe(map((response) => {
71
+ const headings = [];
72
+ if ((response.records !== undefined) &&
73
+ (response.records.length > 0)) {
74
+ for (const heading_record of response.records) {
75
+ headings.push(this.processHeadingRecord(heading_record));
76
+ }
77
+ }
78
+ return headings;
79
+ }));
80
+ }
81
+ /**
82
+ * Processes media article record
83
+ *
84
+ * @param record Record from eSolve instance
85
+ */
59
86
  processMediaRecord(record) {
60
87
  const tags = [];
61
88
  const topics = [];
@@ -71,13 +98,21 @@ export class EsolveMediaService {
71
98
  }
72
99
  return new EsolveMediaArticle(record.identifier, record.title, record.article, record.image_url, tags, topics, record.seo_page_title, record.seo_keywords, record.seo_description);
73
100
  }
101
+ /**
102
+ * Processes media heading record
103
+ *
104
+ * @param record Record from eSolve instance
105
+ */
106
+ processHeadingRecord(record) {
107
+ return new EsolveHeading(record.identifier, record.value);
108
+ }
74
109
  /**
75
110
  * Retrieves media records from eSolve instance.
76
- * @param params Header params
111
+ *
112
+ * @param params HTTP params
77
113
  */
78
114
  getMediaRecords(params) {
79
- params = params.set('ws_id', this.config.wsid);
80
- return this.http.get(`${this.config.api_url}/service/get-media.php`, { params });
115
+ return this.http.get(`${this.config.api_url}/get-media.php`, { params });
81
116
  }
82
117
  }
83
118
  EsolveMediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsolveMediaService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -85,10 +120,10 @@ EsolveMediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
85
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsolveMediaService, decorators: [{
86
121
  type: Injectable,
87
122
  args: [{
88
- providedIn: 'root'
123
+ providedIn: 'root',
89
124
  }]
90
125
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
91
126
  type: Inject,
92
127
  args: [ESOLVE_CONNECT_CONFIG]
93
128
  }] }, { type: i1.HttpClient }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUtyRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN4QixDQUFDO0lBRUw7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLFVBQWtCO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzFCLFVBQVUsRUFBRTtnQkFDUixVQUFVO2FBQ2I7U0FDSixDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0s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QyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXlDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3SCxDQUFDOzsrR0E5R1Esa0JBQWtCLGtCQUVmLHFCQUFxQjttSEFGeEIsa0JBQWtCLGNBRmYsTUFBTTsyRkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVNZWRpYUFydGljbGUgfSBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1hcnRpY2xlJztcclxuaW1wb3J0IHsgRXNvbHZlTWVkaWFSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi90YWdzL2Vzb2x2ZS10YWcnO1xyXG5pbXBvcnQgeyBFc29sdmVUb3BpYyB9IGZyb20gJy4uL3RvcGljcy9lc29sdmUtdG9waWMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyB0aGUgbWVkaWEgcmVjb3JkIGZyb20gdGhlIGVTb2x2ZSBpbnN0YW5jZSB1c2luZyB0aGUgaWRlbnRpZmllci5cclxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBpbmRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TWVkaWFBcnRpY2xlKGlkZW50aWZpZXI6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlPiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7XHJcbiAgICAgICAgICAgICAgICBpZGVudGlmaWVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gVE9ETzogRXJyb3IgSGFuZGxpbmdcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHx8IChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhUmVjb3JkID0gcmVzcG9uc2UucmVjb3Jkc1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIW1lZGlhUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NNZWRpYVJlY29yZChtZWRpYVJlY29yZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGdyb3VwIG9mIG1lZGlhIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGxpbmtlZCB0byBhIGdyb3VwLlxyXG4gICAgICogQHBhcmFtIG1lZGlhX2dyb3VwIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBncm91cFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0R3JvdXBlZE1lZGlhQXJ0aWNsZXMobWVkaWFfZ3JvdXA6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlW10+IHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcclxuICAgICAgICAgICAgICAgIG1lZGlhX2dyb3VwX3NlZjogbWVkaWFfZ3JvdXBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWVkaWFBcnRpY2xlczogRXNvbHZlTWVkaWFBcnRpY2xlW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoKHJlc3BvbnNlLnJlY29yZHMgIT09IHVuZGVmaW5lZCkgJiYgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1lZGlhUmVjb3JkIG9mIHJlc3BvbnNlLnJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lZGlhUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFBcnRpY2xlcy5wdXNoKHRoaXMucHJvY2Vzc01lZGlhUmVjb3JkKG1lZGlhUmVjb3JkKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lZGlhQXJ0aWNsZXM7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NNZWRpYVJlY29yZChyZWNvcmQ6IEVzb2x2ZU1lZGlhUmVjb3JkKTogRXNvbHZlTWVkaWFBcnRpY2xlIHtcclxuICAgICAgICBjb25zdCB0YWdzOiBFc29sdmVUYWdbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHRvcGljczogRXNvbHZlVG9waWNbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoKHJlY29yZC50YWdzKSAmJiAocmVjb3JkLnRhZ3MubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcclxuICAgICAgICAgICAgICAgIHRhZ3MucHVzaChuZXcgRXNvbHZlVGFnKFxyXG4gICAgICAgICAgICAgICAgICAgICt0YWcuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgdGFnLnRhZ19waHJhc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3RhZy50YWdfd2VpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgIHRhZy5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICgocmVjb3JkLnRvcGljcykgJiYgKHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB0b3BpYyBvZiByZWNvcmQudG9waWNzKSB7XHJcbiAgICAgICAgICAgICAgICB0b3BpY3MucHVzaChuZXcgRXNvbHZlVG9waWMoXHJcbiAgICAgICAgICAgICAgICAgICAgK3RvcGljLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHRvcGljLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9waWMuc2hvcnRfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgK3RvcGljLnNvcnRfcHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZU1lZGlhQXJ0aWNsZShcclxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC50aXRsZSxcclxuICAgICAgICAgICAgcmVjb3JkLmFydGljbGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5pbWFnZV91cmwsXHJcbiAgICAgICAgICAgIHRhZ3MsXHJcbiAgICAgICAgICAgIHRvcGljcyxcclxuICAgICAgICAgICAgcmVjb3JkLnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2Rlc2NyaXB0aW9uXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBtZWRpYSByZWNvcmRzIGZyb20gZVNvbHZlIGluc3RhbmNlLlxyXG4gICAgICogQHBhcmFtIHBhcmFtcyBIZWFkZXIgcGFyYW1zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0TWVkaWFSZWNvcmRzKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTWVkaWFSZWNvcmRbXT4+IHtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtbWVkaWEucGhwYCwgeyBwYXJhbXMgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQjtRQURlLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7SUFDeEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsVUFBa0I7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFOUQsdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFDSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtB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QUNyQjs7MEJBR1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZywgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRXNvbHZlTWVkaWFBcnRpY2xlIH0gZnJvbSAnLi9lc29sdmUtbWVkaWEtYXJ0aWNsZSc7XHJcbmltcG9ydCB7IEVzb2x2ZU1lZGlhUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtbWVkaWEtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlSGVhZGluZyB9IGZyb20gJy4vZXNvbHZlLWhlYWRpbmcnO1xyXG5pbXBvcnQgeyBFc29sdmVIZWFkaW5nUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtaGVhZGluZy1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi90YWdzL2Vzb2x2ZS10YWcnO1xyXG5pbXBvcnQgeyBFc29sdmVUb3BpYyB9IGZyb20gJy4uL3RvcGljcy9lc29sdmUtdG9waWMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlTWVkaWFTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIHJlY29yZCBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBTdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgbWVkaWEgaWRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TWVkaWFBcnRpY2xlKGlkZW50aWZpZXI6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlPiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiB7IGlkZW50aWZpZXIgfSB9KTtcclxuXHJcbiAgICAgICAgLy8gVE9ETzogRXJyb3IgSGFuZGxpbmdcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhUmVjb3JkID0gcmVzcG9uc2UucmVjb3Jkc1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIW1lZGlhUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NNZWRpYVJlY29yZChtZWRpYVJlY29yZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGdyb3VwIG9mIG1lZGlhIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGxpbmtlZCB0byBhIGdyb3VwXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG1lZGlhX2dyb3VwIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBncm91cFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0R3JvdXBlZE1lZGlhQXJ0aWNsZXMobWVkaWFfZ3JvdXA6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlW10+IHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHsgbWVkaWFfZ3JvdXBfc2VmOiBtZWRpYV9ncm91cCB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhUmVjb3JkcyhwYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhQXJ0aWNsZXM6IEVzb2x2ZU1lZGlhQXJ0aWNsZVtdID0gW107XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVkaWFSZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVkaWFSZWNvcmQuYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYUFydGljbGVzLnB1c2godGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVkaWFBcnRpY2xlcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBoZWFkaW5nIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIHVzaW5nIHRoZSBpZGVudGlmaWVyc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVycyBBcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIGhlYWRpbmcgaWRlbnRpZmllcnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEhlYWRpbmdzKGlkZW50aWZpZXJzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8RXNvbHZlSGVhZGluZ1tdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUhlYWRpbmdSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWhlYWRpbmdzLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXJzLmpvaW4oJywnKSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRpbmdzOiBFc29sdmVIZWFkaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3JkcyAhPT0gdW5kZWZpbmVkKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGhlYWRpbmdfcmVjb3JkIG9mIHJlc3BvbnNlLnJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdzLnB1c2godGhpcy5wcm9jZXNzSGVhZGluZ1JlY29yZChoZWFkaW5nX3JlY29yZCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIG1lZGlhIGFydGljbGUgcmVjb3JkXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzTWVkaWFSZWNvcmQocmVjb3JkOiBFc29sdmVNZWRpYVJlY29yZCk6IEVzb2x2ZU1lZGlhQXJ0aWNsZSB7XHJcbiAgICAgICAgY29uc3QgdGFnczogRXNvbHZlVGFnW10gPSBbXTtcclxuICAgICAgICBjb25zdCB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKChyZWNvcmQudGFncykgJiYgKHJlY29yZC50YWdzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHJlY29yZC50YWdzKSB7XHJcbiAgICAgICAgICAgICAgICB0YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyhcclxuICAgICAgICAgICAgICAgICAgICArdGFnLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHRhZy50YWdfcGhyYXNlLFxyXG4gICAgICAgICAgICAgICAgICAgICt0YWcudGFnX3dlaWdodCxcclxuICAgICAgICAgICAgICAgICAgICB0YWcuZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoKHJlY29yZC50b3BpY3MpICYmIChyZWNvcmQudG9waWNzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xyXG4gICAgICAgICAgICAgICAgdG9waWNzLnB1c2gobmV3IEVzb2x2ZVRvcGljKFxyXG4gICAgICAgICAgICAgICAgICAgICt0b3BpYy5pZCxcclxuICAgICAgICAgICAgICAgICAgICB0b3BpYy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHRvcGljLnNob3J0X2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICt0b3BpYy5zb3J0X3ByaW9yaXR5XHJcbiAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVNZWRpYUFydGljbGUoXHJcbiAgICAgICAgICAgIHJlY29yZC5pZGVudGlmaWVyLFxyXG4gICAgICAgICAgICByZWNvcmQudGl0bGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5hcnRpY2xlLFxyXG4gICAgICAgICAgICByZWNvcmQuaW1hZ2VfdXJsLFxyXG4gICAgICAgICAgICB0YWdzLFxyXG4gICAgICAgICAgICB0b3BpY3MsXHJcbiAgICAgICAgICAgIHJlY29yZC5zZW9fcGFnZV90aXRsZSxcclxuICAgICAgICAgICAgcmVjb3JkLnNlb19rZXl3b3JkcyxcclxuICAgICAgICAgICAgcmVjb3JkLnNlb19kZXNjcmlwdGlvblxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgbWVkaWEgaGVhZGluZyByZWNvcmRcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIFJlY29yZCBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NIZWFkaW5nUmVjb3JkKHJlY29yZDogRXNvbHZlSGVhZGluZ1JlY29yZCk6IEVzb2x2ZUhlYWRpbmcge1xyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlSGVhZGluZyhcclxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgbWVkaWEgcmVjb3JkcyBmcm9tIGVTb2x2ZSBpbnN0YW5jZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIEhUVFAgcGFyYW1zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0TWVkaWFSZWNvcmRzKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTWVkaWFSZWNvcmRbXT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1tZWRpYS5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { HttpParams } from '@angular/common/http';
3
2
  import { map } from 'rxjs/operators';
4
3
  import { EsolveMenuItem } from './esolve-menu-item';
5
4
  import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
@@ -11,10 +10,9 @@ export class EsolveMenuService {
11
10
  this.http = http;
12
11
  }
13
12
  getMenuTree(identifier) {
14
- let menuParams = new HttpParams();
15
- menuParams = menuParams.set('identifier', identifier);
16
- menuParams = menuParams.set('ws_id', this.config.wsid);
17
- return this.http.get(`${this.config.api_url}/service/get-menu-tree.php`, { params: menuParams }).pipe(map(response => {
13
+ return this.http
14
+ .get(`${this.config.api_url}/get-menu-tree.php`, { params: { identifier } })
15
+ .pipe(map((response) => {
18
16
  if ((!response) || (response.records === undefined)) {
19
17
  throw response;
20
18
  }
@@ -39,10 +37,10 @@ EsolveMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
39
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsolveMenuService, decorators: [{
40
38
  type: Injectable,
41
39
  args: [{
42
- providedIn: 'root'
40
+ providedIn: 'root',
43
41
  }]
44
42
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
45
43
  type: Inject,
46
44
  args: [ESOLVE_CONNECT_CONFIG]
47
45
  }] }, { type: i1.HttpClient }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lbnUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbWVudS9lc29sdmUtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhFLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBS3RGLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFRSxXQUFXLENBQUMsVUFBa0I7UUFDakMsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNsQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEQsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sNEJBQTRCLEVBQUUsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLENBQzNFLENBQUMsSUFBSSxDQUNGLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsRUFBRTtnQkFDakQsTUFBTSxRQUFRLENBQUM7YUFDbEI7aUJBQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDO2FBQ2I7WUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWdDO1FBQy9DLE1BQU0sSUFBSSxHQUFlLEVBQUUsQ0FBQztRQUU1QixJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRTtZQUNoQyxLQUFLLE1BQU0sY0FBYyxJQUFJLE9BQU8sRUFBRTtnQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FDeEIsY0FBYyxDQUFDLE9BQU8sRUFDdEIsY0FBYyxDQUFDLElBQUksRUFDbkIsY0FBYyxDQUFDLE1BQU0sRUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQzNDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs4R0F6Q1EsaUJBQWlCLGtCQUVkLHFCQUFxQjtrSEFGeEIsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVNZW51VHJlZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLW1lbnUtdHJlZS1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVNZW51LCBFc29sdmVNZW51SXRlbSB9IGZyb20gJy4vZXNvbHZlLW1lbnUtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXNwb25zZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lbnVTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICAgICkgeyB9XHJcblxyXG4gICAgcHVibGljIGdldE1lbnVUcmVlKGlkZW50aWZpZXI6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVudT4ge1xyXG4gICAgICAgIGxldCBtZW51UGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBtZW51UGFyYW1zID0gbWVudVBhcmFtcy5zZXQoJ2lkZW50aWZpZXInLCBpZGVudGlmaWVyKTtcclxuICAgICAgICBtZW51UGFyYW1zID0gbWVudVBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZU1lbnVUcmVlUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtbWVudS10cmVlLnBocGAsIHtwYXJhbXM6IG1lbnVQYXJhbXN9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCghcmVzcG9uc2UpIHx8IChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZU1lbnUocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU1lbnUocmVjb3Jkcz86IEVzb2x2ZU1lbnVUcmVlUmVjb3JkW10pOiBFc29sdmVNZW51IHtcclxuICAgICAgICBjb25zdCBtZW51OiBFc29sdmVNZW51ID0gW107XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgcmVjb3JkcyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBtZW51VHJlZVJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2gobmV3IEVzb2x2ZU1lbnVJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgIG1lbnVUcmVlUmVjb3JkLnNlZl91cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgbWVudVRyZWVSZWNvcmQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBtZW51VHJlZVJlY29yZC50YXJnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVNZW51KG1lbnVUcmVlUmVjb3JkLmNoaWxkcmVuKVxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBtZW51O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lbnUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbWVudS9lc29sdmUtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEUsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFLdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQjtRQURlLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7SUFDeEIsQ0FBQztJQUVFLFdBQVcsQ0FBQyxVQUFrQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLG9CQUFvQixFQUMxQyxFQUFFLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQzdCO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxFQUFFO2dCQUNqRCxNQUFNLFFBQVEsQ0FBQzthQUNsQjtpQkFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxFQUFFLENBQUM7YUFDYjtZQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBZ0M7UUFDL0MsTUFBTSxJQUFJLEdBQWUsRUFBRSxDQUFDO1FBRTVCLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQ2hDLEtBQUssTUFBTSxjQUFjLElBQUksT0FBTyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUN4QixjQUFjLENBQUMsT0FBTyxFQUN0QixjQUFjLENBQUMsSUFBSSxFQUNuQixjQUFjLENBQUMsTUFBTSxFQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FDM0MsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzhHQXhDUSxpQkFBaUIsa0JBRWQscUJBQXFCO2tIQUZ4QixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZU1lbnVUcmVlUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtbWVudS10cmVlLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZU1lbnUsIEVzb2x2ZU1lbnVJdGVtIH0gZnJvbSAnLi9lc29sdmUtbWVudS1pdGVtJztcclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZywgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lbnVTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICAgICkgeyB9XHJcblxyXG4gICAgcHVibGljIGdldE1lbnVUcmVlKGlkZW50aWZpZXI6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVudT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZW51VHJlZVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbWVudS10cmVlLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7IHBhcmFtczogeyBpZGVudGlmaWVyIH0gfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgoIXJlc3BvbnNlKSB8fCAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZU1lbnUocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlTWVudShyZWNvcmRzPzogRXNvbHZlTWVudVRyZWVSZWNvcmRbXSk6IEVzb2x2ZU1lbnUge1xyXG4gICAgICAgIGNvbnN0IG1lbnU6IEVzb2x2ZU1lbnUgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiByZWNvcmRzICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1lbnVUcmVlUmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIG1lbnUucHVzaChuZXcgRXNvbHZlTWVudUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgbWVudVRyZWVSZWNvcmQuc2VmX3VybCxcclxuICAgICAgICAgICAgICAgICAgICBtZW51VHJlZVJlY29yZC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lbnVUcmVlUmVjb3JkLnRhcmdldCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU1lbnUobWVudVRyZWVSZWNvcmQuY2hpbGRyZW4pXHJcbiAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG1lbnU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -13,18 +13,11 @@ export class EsolveNewsService {
13
13
  this.config = config;
14
14
  this.http = http;
15
15
  }
16
- getNewsRecords(params) {
17
- params = params.set('ws_id', this.config.wsid);
18
- return this.http.get(`${this.config.api_url}/service/get-news.php`, { params });
19
- }
20
16
  getNewsArticle(identifier) {
21
- const params = new HttpParams({
22
- fromObject: {
23
- sef_title: identifier
24
- }
25
- });
17
+ const params = new HttpParams({ fromObject: { sef_title: identifier } });
26
18
  return this.getNewsRecords(params).pipe(map(response => {
27
- if ((response.records === undefined) || (response.records.length <= 0)) {
19
+ if ((response.records === undefined) ||
20
+ (response.records.length <= 0)) {
28
21
  throw response;
29
22
  }
30
23
  const newsRecord = response.records[0];
@@ -75,9 +68,9 @@ export class EsolveNewsService {
75
68
  }));
76
69
  }
77
70
  getNewsGroups() {
78
- let params = new HttpParams();
79
- params = params.set('ws_id', this.config.wsid);
80
- return this.http.get(`${this.config.api_url}/service/get-news-groups.php`, { params }).pipe(map(response => {
71
+ return this.http
72
+ .get(`${this.config.api_url}/get-news-groups.php`)
73
+ .pipe(map((response) => {
81
74
  if (response.records === undefined) {
82
75
  throw response;
83
76
  }
@@ -92,16 +85,19 @@ export class EsolveNewsService {
92
85
  const author = new EsolveNewsArticleAuthor(newsRecord.user.userid, newsRecord.user.email, newsRecord.user.firstname, newsRecord.user.surname);
93
86
  return new EsolveNewsArticle(newsRecord.id, newsRecord.title, newsRecord.sef_title, newsRecord.article, newsRecord.short_description, newsRecord.txdate, newsRecord.active, newsRecord.image, newsRecord.featured, author, newsRecord.seo_page_title, newsRecord.seo_keywords);
94
87
  }
88
+ getNewsRecords(params) {
89
+ return this.http.get(`${this.config.api_url}/get-news.php`, { params });
90
+ }
95
91
  }
96
92
  EsolveNewsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsolveNewsService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
97
93
  EsolveNewsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsolveNewsService, providedIn: 'root' });
98
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsolveNewsService, decorators: [{
99
95
  type: Injectable,
100
96
  args: [{
101
- providedIn: 'root'
97
+ providedIn: 'root',
102
98
  }]
103
99
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
104
100
  type: Inject,
105
101
  args: [ESOLVE_CONNECT_CONFIG]
106
102
  }] }, { type: i1.HttpClient }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbmV3cy9lc29sdmUtbmV3cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBTW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFRyxjQUFjLENBQUMsTUFBa0I7UUFDckMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sdUJBQXVCLEVBQzdDLEVBQUUsTUFBTSxFQUFFLENBQ2IsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBa0I7UUFD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Q0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLGtCQUFrQixDQUFDLFVBQW1DO1FBQzFELE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLENBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUN0QixVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUMxQixDQUFDO1FBRUYsT0FBTyxJQUFJLGlCQUFpQixDQUN4QixVQUFVLENBQUMsRUFBRSxFQUNiLFVBQVUsQ0FBQyxLQUFLLEVBQ2hCLFVBQVUsQ0FBQyxTQUFTLEVBQ3BCLFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxpQkFBaUIsRUFDNUIsVUFBVSxDQUFDLE1BQU0sRUFDakIsVUFBVSxDQUFDLE1BQU0sRUFDakIsVUFBVSxDQUFDLEtBQUssRUFDaEIsVUFBVSxDQUFDLFFBQVEsRUFDbkIsTUFBTSxFQUNOLFVBQVUsQ0FBQyxjQUFjLEVBQ3pCLFVBQVUsQ0FBQyxZQUFZLENBQzFCLENBQUM7SUFDTixDQUFDOzs4R0FoSlEsaUJBQWlCLGtCQUdkLHFCQUFxQjtrSEFIeEIsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzQXJ0aWNsZSB9IGZyb20gJy4vZXNvbHZlLW5ld3MtYXJ0aWNsZSc7XHJcbmltcG9ydCB7IEVzb2x2ZU5ld3NHcm91cCB9IGZyb20gJy4vZXNvbHZlLW5ld3MtZ3JvdXAnO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzQXJ0aWNsZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLW5ld3MtYXJ0aWNsZS1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzQXJ0aWNsZUF1dGhvciB9IGZyb20gJy4vZXNvbHZlLW5ld3MtYXJ0aWNsZS1hdXRob3InO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzR3JvdXBSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWdyb3VwLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZU5ld3NBcnRpY2xlTGlzdCB9IGZyb20gJy4vZXNvbHZlLW5ld3MtYXJ0aWNsZS1saXN0JztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0FydGljbGVPcHRpb25zIH0gZnJvbSAnLi9lc29sdmUtbmV3cy1hcnRpY2xlLW9wdGlvbnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVOZXdzU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIGdldE5ld3NSZWNvcmRzKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTmV3c0FydGljbGVSZWNvcmRbXT4+IHtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVOZXdzQXJ0aWNsZVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LW5ld3MucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TmV3c0FydGljbGUoaWRlbnRpZmllcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc29sdmVOZXdzQXJ0aWNsZT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcclxuICAgICAgICAgICAgZnJvbU9iamVjdDoge1xyXG4gICAgICAgICAgICAgICAgc2VmX3RpdGxlOiBpZGVudGlmaWVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TmV3c1JlY29yZHMocGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHx8IChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld3NSZWNvcmQgPSByZXNwb25zZS5yZWNvcmRzWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICghbmV3c1JlY29yZC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzTmV3c0FydGljbGUobmV3c1JlY29yZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROZXdzQXJ0aWNsZXMob3B0aW9uczogRXNvbHZlTmV3c0FydGljbGVPcHRpb25zKTogT2JzZXJ2YWJsZTxFc29sdmVOZXdzQXJ0aWNsZUxpc3Q+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMubmV3c19ncm91cF9pZCkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCduZXdzX2dyb3VwX2lkJywgb3B0aW9ucy5uZXdzX2dyb3VwX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5uZXdzX2dyb3VwX3NlZikge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCduZXdzX2dyb3VwX3NlZicsIG9wdGlvbnMubmV3c19ncm91cF9zZWYudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5wYWdlKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BhZ2UnLCBvcHRpb25zLnBhZ2UudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5yb3dzKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Jvd3MnLCBvcHRpb25zLnJvd3MudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5mZWF0dXJlX29ubHkpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZmVhdHVyZV9vbmx5Jywgb3B0aW9ucy5mZWF0dXJlX29ubHkudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5tYW51ZmFjdHVyZXJzX2lkKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ21hbnVmYWN0dXJlcnNfaWQnLCBvcHRpb25zLm1hbnVmYWN0dXJlcnNfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5yYW5nZXNfaWQpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncmFuZ2VzX2lkJywgb3B0aW9ucy5yYW5nZXNfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5mcm9tX2RhdGUpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZnJvbV9kYXRlJywgb3B0aW9ucy5mcm9tX2RhdGUudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy50b19kYXRlKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvX2RhdGUnLCBvcHRpb25zLnRvX2RhdGUudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXROZXdzUmVjb3JkcyhwYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3c0FydGljbGVzOiBFc29sdmVOZXdzQXJ0aWNsZVtdID0gW107XHJcblxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5mb3JFYWNoKG5ld3NBcnRpY2xlUmVjb3JkID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBuZXdzQXJ0aWNsZXMucHVzaCh0aGlzLnByb2Nlc3NOZXdzQXJ0aWNsZShuZXdzQXJ0aWNsZVJlY29yZCkpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVOZXdzQXJ0aWNsZUxpc3QobmV3c0FydGljbGVzLCByZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3Jkcywgb3B0aW9ucy5wYWdlIHx8IDApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TmV3c0dyb3VwcygpOiBPYnNlcnZhYmxlPEVzb2x2ZU5ld3NHcm91cFtdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTmV3c0dyb3VwUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtbmV3cy1ncm91cHMucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdzR3JvdXBzOiBFc29sdmVOZXdzR3JvdXBbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5mb3JFYWNoKG5ld3NHcm91cFJlY29yZCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3Vwcy5wdXNoKG5ldyBFc29sdmVOZXdzR3JvdXAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld3NHcm91cFJlY29yZC5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3VwUmVjb3JkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld3NHcm91cFJlY29yZC5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3VwUmVjb3JkLnNlZl9uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3c0dyb3VwcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc05ld3NBcnRpY2xlKG5ld3NSZWNvcmQ6IEVzb2x2ZU5ld3NBcnRpY2xlUmVjb3JkKTogRXNvbHZlTmV3c0FydGljbGUge1xyXG4gICAgICAgIGNvbnN0IGF1dGhvciA9IG5ldyBFc29sdmVOZXdzQXJ0aWNsZUF1dGhvcihcclxuICAgICAgICAgICAgbmV3c1JlY29yZC51c2VyLnVzZXJpZCxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC51c2VyLmVtYWlsLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnVzZXIuZmlyc3RuYW1lLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnVzZXIuc3VybmFtZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlTmV3c0FydGljbGUoXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuaWQsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQudGl0bGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuc2VmX3RpdGxlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLmFydGljbGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuc2hvcnRfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQudHhkYXRlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLmFjdGl2ZSxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5pbWFnZSxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5mZWF0dXJlZCxcclxuICAgICAgICAgICAgYXV0aG9yLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnNlb19rZXl3b3Jkc1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbmV3cy9lc29sdmUtbmV3cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBTW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFRSxjQUFjLENBQUMsVUFBa0I7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNYLElBQ0ksQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQztnQkFDaEMs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LENBQUMsT0FBTyxFQUNsQixVQUFVLENBQUMsaUJBQWlCLEVBQzVCLFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLFVBQVUsQ0FBQyxLQUFLLEVBQ2hCLFVBQVUsQ0FBQyxRQUFRLEVBQ25CLE1BQU0sRUFDTixVQUFVLENBQUMsY0FBYyxFQUN6QixVQUFVLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFrQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxlQUFlLEVBQ3JDLEVBQUUsTUFBTSxFQUFFLENBQ2IsQ0FBQztJQUNOLENBQUM7OzhHQWhKUSxpQkFBaUIsa0JBRWQscUJBQXFCO2tIQUZ4QixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXNwb25zZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVzb2x2ZU5ld3NBcnRpY2xlIH0gZnJvbSAnLi9lc29sdmUtbmV3cy1hcnRpY2xlJztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0dyb3VwIH0gZnJvbSAnLi9lc29sdmUtbmV3cy1ncm91cCc7XHJcbmltcG9ydCB7IEVzb2x2ZU5ld3NBcnRpY2xlUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtbmV3cy1hcnRpY2xlLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZU5ld3NBcnRpY2xlQXV0aG9yIH0gZnJvbSAnLi9lc29sdmUtbmV3cy1hcnRpY2xlLWF1dGhvcic7XHJcbmltcG9ydCB7IEVzb2x2ZU5ld3NHcm91cFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLW5ld3MtZ3JvdXAtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0FydGljbGVMaXN0IH0gZnJvbSAnLi9lc29sdmUtbmV3cy1hcnRpY2xlLWxpc3QnO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzQXJ0aWNsZU9wdGlvbnMgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWFydGljbGUtb3B0aW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVOZXdzU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgICApIHsgfVxyXG5cclxuICAgIHB1YmxpYyBnZXROZXdzQXJ0aWNsZShpZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZU5ld3NBcnRpY2xlPiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiB7IHNlZl90aXRsZTogaWRlbnRpZmllciB9fSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE5ld3NSZWNvcmRzKHBhcmFtcykucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwKVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3c1JlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFuZXdzUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NOZXdzQXJ0aWNsZShuZXdzUmVjb3JkKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXROZXdzQXJ0aWNsZXMoXHJcbiAgICAgICAgb3B0aW9uczogRXNvbHZlTmV3c0FydGljbGVPcHRpb25zXHJcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZU5ld3NBcnRpY2xlTGlzdD4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5uZXdzX2dyb3VwX2lkKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ25ld3NfZ3JvdXBfaWQnLCBvcHRpb25zLm5ld3NfZ3JvdXBfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLm5ld3NfZ3JvdXBfc2VmKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ25ld3NfZ3JvdXBfc2VmJywgb3B0aW9ucy5uZXdzX2dyb3VwX3NlZi50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnBhZ2UpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFnZScsIG9wdGlvbnMucGFnZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnJvd3MpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncm93cycsIG9wdGlvbnMucm93cy50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLmZlYXR1cmVfb25seSkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmZWF0dXJlX29ubHknLCBvcHRpb25zLmZlYXR1cmVfb25seS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLm1hbnVmYWN0dXJlcnNfaWQpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWFudWZhY3R1cmVyc19pZCcsIG9wdGlvbnMubWFudWZhY3R1cmVyc19pZC50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnJhbmdlc19pZCkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyYW5nZXNfaWQnLCBvcHRpb25zLnJhbmdlc19pZC50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLmZyb21fZGF0ZSkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmcm9tX2RhdGUnLCBvcHRpb25zLmZyb21fZGF0ZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnRvX2RhdGUpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG9fZGF0ZScsIG9wdGlvbnMudG9fZGF0ZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE5ld3NSZWNvcmRzKHBhcmFtcykucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdzQXJ0aWNsZXM6IEVzb2x2ZU5ld3NBcnRpY2xlW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmZvckVhY2gobmV3c0FydGljbGVSZWNvcmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG5ld3NBcnRpY2xlcy5wdXNoKHRoaXMucHJvY2Vzc05ld3NBcnRpY2xlKG5ld3NBcnRpY2xlUmVjb3JkKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZU5ld3NBcnRpY2xlTGlzdChcclxuICAgICAgICAgICAgICAgICAgICBuZXdzQXJ0aWNsZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhLnRvdGFsX3JlY29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5wYWdlIHx8IDBcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0TmV3c0dyb3VwcygpOiBPYnNlcnZhYmxlPEVzb2x2ZU5ld3NHcm91cFtdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZU5ld3NHcm91cFJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbmV3cy1ncm91cHMucGhwYFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdzR3JvdXBzOiBFc29sdmVOZXdzR3JvdXBbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMuZm9yRWFjaChuZXdzR3JvdXBSZWNvcmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdzR3JvdXBzLnB1c2gobmV3IEVzb2x2ZU5ld3NHcm91cChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3NHcm91cFJlY29yZC5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3NHcm91cFJlY29yZC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3VwUmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3VwUmVjb3JkLnNlZl9uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3c0dyb3VwcztcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzTmV3c0FydGljbGUobmV3c1JlY29yZDogRXNvbHZlTmV3c0FydGljbGVSZWNvcmQpOiBFc29sdmVOZXdzQXJ0aWNsZSB7XHJcbiAgICAgICAgY29uc3QgYXV0aG9yID0gbmV3IEVzb2x2ZU5ld3NBcnRpY2xlQXV0aG9yKFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnVzZXIudXNlcmlkLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnVzZXIuZW1haWwsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQudXNlci5maXJzdG5hbWUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQudXNlci5zdXJuYW1lXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVOZXdzQXJ0aWNsZShcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5pZCxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC50aXRsZSxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5zZWZfdGl0bGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuYXJ0aWNsZSxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgbmV3c1JlY29yZC50eGRhdGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuYWN0aXZlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLmltYWdlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLmZlYXR1cmVkLFxyXG4gICAgICAgICAgICBhdXRob3IsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuc2VvX3BhZ2VfdGl0bGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuc2VvX2tleXdvcmRzXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE5ld3NSZWNvcmRzKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTmV3c0FydGljbGVSZWNvcmRbXT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVOZXdzQXJ0aWNsZVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1uZXdzLnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==