ets-fe-ng-sdk 1.0.59 → 1.0.61

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.
@@ -22,29 +22,33 @@ export class TranslationService {
22
22
  if (debug)
23
23
  debugger;
24
24
  const text = HTMLString?.trim(), route = this.baseURL + `language`;
25
+ const cacheKey = route + '_' + targetLanguage + '_' + text;
25
26
  if (!text) {
26
27
  res.next(HTMLString);
27
28
  res.complete();
28
29
  }
29
30
  else if (this.lCacheS.has(route + '_' + text)) {
30
- res.next(this.lCacheS.getItem(route + '_' + text));
31
+ res.next(this.lCacheS.getItem(cacheKey));
31
32
  res.complete();
32
33
  }
33
34
  else {
34
35
  const id = Math.round(Math.random() * 1000000000000000);
35
36
  this.translationRequestMatrix[id] = text;
36
- const sub = this.translationResponseMatrix.subscribe((r) => {
37
- if (debug)
38
- debugger;
39
- const transVal = r[id.toString()];
40
- if (transVal) {
41
- res.next(transVal);
42
- this.lCacheS.setItem(route + '_' + text, transVal);
43
- res.complete();
44
- sub.unsubscribe();
45
- }
46
- }, (e) => {
47
- res.error(e);
37
+ const sub = this.translationResponseMatrix.subscribe({
38
+ next: (r) => {
39
+ if (debug)
40
+ debugger;
41
+ const transVal = r[id.toString()];
42
+ if (transVal) {
43
+ res.next(transVal);
44
+ this.lCacheS.setItem(cacheKey, transVal);
45
+ res.complete();
46
+ sub.unsubscribe();
47
+ }
48
+ },
49
+ error: (e) => {
50
+ res.error(e);
51
+ },
48
52
  });
49
53
  }
50
54
  });
@@ -141,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
141
145
  providedIn: 'root',
142
146
  }]
143
147
  }], ctorParameters: function () { return [{ type: i1.ApiService }, { type: i2.StorageService }, { type: i3.LocalCacheService }]; } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxrQkFBa0I7SUFVN0IsWUFDUyxVQUFzQixFQUN0QixRQUF3QixFQUN4QixPQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBWjNCLFlBQU8sR0FBRyxjQUFjLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQzNELDZCQUF3QixHQUE0QixFQUFFLENBQUM7UUFDdkQsOEJBQXlCLEdBQy9CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQW1HbEIsa0JBQWEsR0FBRyxDQUNkLFVBQWtCLEVBQ2xCLGNBQWMsR0FBRyxjQUFjLENBQUMsY0FBYyxFQUM5QyxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFDOUMsS0FBSyxHQUFHLEtBQUssRUFDYixFQUFFO1lBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dC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QUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLFVBQVUsQ0FDVCxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksY0FBYyxDQUFDLGNBQWMsRUFBRSxFQUMxRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUN4QjthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7K0dBeEdVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVUU2Vudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEVMYW5ndWFnZSB9IGZyb20gJy4uL1NoYXJlZC9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2NhY2hlL2xvY2FsLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2U8VHJhbnNsYXRpb25HbG9zc2FyeVJlc3BvbnNlID0gYW55PiB7XG4gIHByaXZhdGUgYmFzZVVSTCA9IEVUU2Vudmlyb25tZW50LmFwaUJhc2VVcmwgKyAnL3Jlc3QvdHJhbnNsYXRpb24vJztcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblJlcXVlc3RNYXRyaXg6IHsgW3g6IG51bWJlcl06IHN0cmluZyB9ID0ge307XG4gIHByaXZhdGUgdHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeDogQmVoYXZpb3JTdWJqZWN0PHsgW3g6IG51bWJlcl06IHN0cmluZyB9PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gIHJlYWRvbmx5IHNlcGVyYXRvciA9ICd+fn4nO1xuICBuYW1lID0gJ2dsb3NzYXJ5JztcbiAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZTtcbiAgdGFyZ2V0TGFuZ3VhZ2U6IEVMYW5ndWFnZTtcbiAgdHJhbnNHbG9zc2FyeTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHVibGljIHN0b3JhZ2VTOiBTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgbENhY2hlUzogTG9jYWxDYWNoZVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBib2R5ID0gY2xvbmUodGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgpO1xuICAgICAgdGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXggPSB7fTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhib2R5KT8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCB0cmFuc0dsb3NzYXJ5ID1cbiAgICAgICAgICB0aGlzLnRyYW5zR2xvc3NhcnkgfHwgKGF3YWl0IHRoaXMuZ2V0R2xvc3NhcnkoKS50b1Byb21pc2UoKSk7XG4gICAgICAgIGlmICh0aGlzLnNvdXJjZUxhbmd1YWdlICE9IHRoaXMudGFyZ2V0TGFuZ3VhZ2UpXG4gICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAgICAgICAucG9zdFN0cmluZyhcbiAgICAgICAgICAgICAgdGhpcy5iYXNlVVJMICtcbiAgICAgICAgICAgICAgICAodGhpcy50cmFuc0dsb3NzYXJ5Py5jb2RlXG4gICAgICAgICAgICAgICAgICA/IGBsYW5ndWFnZT9nbG9zc2FyeUNvZGU9JHt0aGlzLnRyYW5zR2xvc3Nhcnk/LmNvZGV9JnNvdXJjZUxhbmc9JHt0aGlzLnNvdXJjZUxhbmd1YWdlfSZ0YXJnZXRMYW5nPSR7dGhpcy50YXJnZXRMYW5ndWFnZX1gXG4gICAgICAgICAgICAgICAgICA6IGBsYW5ndWFnZS8ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YCksXG4gICAgICAgICAgICAgIE9iamVjdC5rZXlzKGJvZHkpXG4gICAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IHRoaXMudGFnZ2VyKCtpZCwgYm9keVtpZF0pKVxuICAgICAgICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICAgICAudGhlbigocikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXgubmV4dCh0aGlzLmRldGFnZ2VyKHIpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBlbHNlIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgdGFnZ2VyKGlkOiBudW1iZXIsIHN0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGA8ZGl2IGlkPVwiJHtpZH1cIj4ke3N0cn08L2Rpdj5gO1xuICB9XG4gIGdldEdsb3NzYXJ5KFxuICAgIHNvdXJjZUxhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZTogRUxhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2VcbiAgKSB7XG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHNvdXJjZUxhbmd1YWdlIHx8IHRoaXMuc291cmNlTGFuZ3VhZ2U7XG4gICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlIHx8IHRoaXMudGFyZ2V0TGFuZ3VhZ2U7XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG5cbiAgICAgIC5nZXQ8VHJhbnNsYXRpb25HbG9zc2FyeVJlc3BvbnNlW10+KGAke3RoaXMuYmFzZVVSTH1nbG9zc2FyeS9gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocjogYW55W10pID0+IHtcbiAgICAgICAgICBkZWJ1Z2dlcjtcbiAgICAgICAgICBjb25zdCBnbG9zc2FyeSA9IHI/LmZpbmQoXG4gICAgICAgICAgICAoeCkgPT5cbiAgICAgICAgICAgICAgeC5zb3VyY2VMYW5nID09IHRoaXMuc291cmNlTGFuZ3VhZ2UgJiZcbiAgICAgICAgICAgICAgeC50YXJnZXRMYW5nID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiZcbiAgICAgICAgICAgICAgeC5uYW1lID09IHRoaXMubmFtZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGdsb3NzYXJ5ID8gZ2xvc3NhcnkgOiBudWxsO1xuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChnbG9zc2FyeSkgPT4ge1xuICAgICAgICAgIGlmICghZ2xvc3NhcnkpIHJldHVybiBudWxsO1xuICAgICAgICAgIHRoaXMudHJhbnNHbG9zc2FyeSA9IEVUU2Vudmlyb25tZW50LnRyYW5zR2xvc3NhcnkgPSBnbG9zc2FyeTtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTLnNhdmVJdGVtKFxuICAgICAgICAgICAgRVRTZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeUtleSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNHbG9zc2FyeVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGdsb3NzYXJ5O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICBkZXRhZ2dlcihzdHI6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW1zID0gc3RyPy5zcGxpdCh0aGlzLnNlcGVyYXRvcik7XG4gICAgY29uc3QgcmVzb2JqID0ge307XG4gICAgZm9yIChjb25zdCBzdHIgb2YgaXRlbXMpIHtcbiAgICAgIHJlc29ialtzdHI/LnNwbGl0KCdcIicpWzFdXSA9IHN0cj8uc3BsaXQoJz4nKVsxXT8uc3BsaXQoJzwvZGl2JylbMF07XG4gICAgfVxuICAgIHJldHVybiByZXNvYmo7XG4gIH1cblxuICB0cm5hc2xhdGVPbGQodGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3QgaWQgPSAzMjMyMzIzO1xuICAgIGNvbnN0IGJvZHkgPSB7IFtpZF06IHRleHQgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFN0cmluZyhcbiAgICAgICAgdGhpcy5iYXNlVVJMICsgYGxhbmd1YWdlLyR7RVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2V9YCxcbiAgICAgICAgT2JqZWN0LmtleXMoYm9keSlcbiAgICAgICAgICAubWFwKChpZCkgPT4gdGhpcy50YWdnZXIoK2lkLCBib2R5W2lkXSkpXG4gICAgICAgICAgLmpvaW4odGhpcy5zZXBlcmF0b3IpXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGV0YWdnZXIocilbaWRdIGFzIHN0cmluZztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbiAgdHJhbnNsYXRlSFRNTCA9IChcbiAgICBIVE1MU3RyaW5nOiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnRhcmdldExhbmd1YWdlLFxuICAgIGRlYnVnID0gZmFsc2VcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKHJlcykgPT4ge1xuICAgICAgaWYgKGRlYnVnKSBkZWJ1Z2dlcjtcblxuICAgICAgY29uc3QgdGV4dCA9IEhUTUxTdHJpbmc/LnRyaW0oKSxcbiAgICAgICAgcm91dGUgPSB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2VgO1xuXG4gICAgICBpZiAoIXRleHQpIHtcbiAgICAgICAgcmVzLm5leHQoSFRNTFN0cmluZyk7XG4gICAgICAgIHJlcy5jb21wbGV0ZSgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmxDYWNoZVMuaGFzKHJvdXRlICsgJ18nICsgdGV4dCkpIHtcbiAgICAgICAgcmVzLm5leHQodGhpcy5sQ2FjaGVTLmdldEl0ZW08c3RyaW5nPihyb3V0ZSArICdfJyArIHRleHQpKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwMDAwMDApO1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeFtpZF0gPSB0ZXh0O1xuICAgICAgICBjb25zdCBzdWI6IFN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHIpID0+IHtcbiAgICAgICAgICAgIGlmIChkZWJ1ZykgZGVidWdnZXI7XG4gICAgICAgICAgICBjb25zdCB0cmFuc1ZhbCA9IHJbaWQudG9TdHJpbmcoKV07XG4gICAgICAgICAgICBpZiAodHJhbnNWYWwpIHtcbiAgICAgICAgICAgICAgcmVzLm5leHQodHJhbnNWYWwpO1xuICAgICAgICAgICAgICB0aGlzLmxDYWNoZVMuc2V0SXRlbShyb3V0ZSArICdfJyArIHRleHQsIHRyYW5zVmFsKTtcbiAgICAgICAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgIHJlcy5lcnJvcihlKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHBsYWluVHJhbnNsYXRlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2VcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHRleHQgPSB0ZXh0Py50cmltKCk7XG4gICAgICBjb25zdCByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkgcmVzb2x2ZShudWxsKTtcbiAgICAgIGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSlcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgZWxzZVxuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLnBvc3RTdHJpbmcocm91dGUsIHRleHQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKHIpID0+IHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgcikpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICk7XG4gICAgfSk7XG4gIH07XG4gIHRyYW5zbGF0ZUhUTUxQcm9taXNlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICAgZGVidWcgPSBmYWxzZVxuICApID0+XG4gICAgdGhpcy50cmFuc2xhdGVIVE1MKFxuICAgICAgdGV4dCxcbiAgICAgIHNvdXJjZUxhbmd1YWdlLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2UsXG4gICAgICBkZWJ1Z1xuICAgICk/LnRvUHJvbWlzZSgpO1xufVxuIl19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxrQkFBa0I7SUFVN0IsWUFDUyxVQUFzQixFQUN0QixRQUF3QixFQUN4QixPQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBWjNCLFlBQU8sR0FBRyxjQUFjLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQzNELDZCQUF3QixHQUE0QixFQUFFLENBQUM7UUFDdkQsOEJBQXlCLEdBQy9CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQW1HbEIsa0JBQWEsR0FBRyxDQUNkLFVBQWtCLEVBQ2xCLGNBQWMsR0FBRyxjQUFjLENBQUMsY0FBYyxFQUM5QyxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFDOUMsS0FBSyxHQUFHLEtBQUssRUFDYixFQUFFO1lBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dC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WTtRQUN2QixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbkIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsVUFBVSxDQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxjQUFjLENBQUMsY0FBYyxFQUFFLEVBQzFELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2QsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQ3hCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBVyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOzsrR0F4R1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRVRTZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgRUxhbmd1YWdlIH0gZnJvbSAnLi4vU2hhcmVkL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUvbG9jYWwtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZTxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2UgPSBhbnk+IHtcbiAgcHJpdmF0ZSBiYXNlVVJMID0gRVRTZW52aXJvbm1lbnQuYXBpQmFzZVVybCArICcvcmVzdC90cmFuc2xhdGlvbi8nO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeDogeyBbeDogbnVtYmVyXTogc3RyaW5nIH0gPSB7fTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4OiBCZWhhdmlvclN1YmplY3Q8eyBbeDogbnVtYmVyXTogc3RyaW5nIH0+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgcmVhZG9ubHkgc2VwZXJhdG9yID0gJ35+fic7XG4gIG5hbWUgPSAnZ2xvc3NhcnknO1xuICBzb3VyY2VMYW5ndWFnZTogRUxhbmd1YWdlO1xuICB0YXJnZXRMYW5ndWFnZTogRUxhbmd1YWdlO1xuICB0cmFuc0dsb3NzYXJ5O1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICBwdWJsaWMgc3RvcmFnZVM6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBsQ2FjaGVTOiBMb2NhbENhY2hlU2VydmljZVxuICApIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJvZHkgPSBjbG9uZSh0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeCk7XG4gICAgICB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeCA9IHt9O1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGJvZHkpPy5sZW5ndGgpIHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGNvbnN0IHRyYW5zR2xvc3NhcnkgPVxuICAgICAgICAgIHRoaXMudHJhbnNHbG9zc2FyeSB8fCAoYXdhaXQgdGhpcy5nZXRHbG9zc2FyeSgpLnRvUHJvbWlzZSgpKTtcbiAgICAgICAgaWYgKHRoaXMuc291cmNlTGFuZ3VhZ2UgIT0gdGhpcy50YXJnZXRMYW5ndWFnZSlcbiAgICAgICAgICB0aGlzLmFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5wb3N0U3RyaW5nKFxuICAgICAgICAgICAgICB0aGlzLmJhc2VVUkwgK1xuICAgICAgICAgICAgICAgICh0aGlzLnRyYW5zR2xvc3Nhcnk/LmNvZGVcbiAgICAgICAgICAgICAgICAgID8gYGxhbmd1YWdlP2dsb3NzYXJ5Q29kZT0ke3RoaXMudHJhbnNHbG9zc2FyeT8uY29kZX0mc291cmNlTGFuZz0ke3RoaXMuc291cmNlTGFuZ3VhZ2V9JnRhcmdldExhbmc9JHt0aGlzLnRhcmdldExhbmd1YWdlfWBcbiAgICAgICAgICAgICAgICAgIDogYGxhbmd1YWdlLyR7dGhpcy50YXJnZXRMYW5ndWFnZX1gKSxcbiAgICAgICAgICAgICAgT2JqZWN0LmtleXMoYm9keSlcbiAgICAgICAgICAgICAgICAubWFwKChpZCkgPT4gdGhpcy50YWdnZXIoK2lkLCBib2R5W2lkXSkpXG4gICAgICAgICAgICAgICAgLmpvaW4odGhpcy5zZXBlcmF0b3IpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcbiAgICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeC5uZXh0KHRoaXMuZGV0YWdnZXIocikpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGVsc2UgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICB0YWdnZXIoaWQ6IG51bWJlciwgc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYDxkaXYgaWQ9XCIke2lkfVwiPiR7c3RyfTwvZGl2PmA7XG4gIH1cbiAgZ2V0R2xvc3NhcnkoXG4gICAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZVxuICApIHtcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gc291cmNlTGFuZ3VhZ2UgfHwgdGhpcy5zb3VyY2VMYW5ndWFnZTtcbiAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gdGFyZ2V0TGFuZ3VhZ2UgfHwgdGhpcy50YXJnZXRMYW5ndWFnZTtcblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcblxuICAgICAgLmdldDxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2VbXT4oYCR7dGhpcy5iYXNlVVJMfWdsb3NzYXJ5L2ApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICAgIGNvbnN0IGdsb3NzYXJ5ID0gcj8uZmluZChcbiAgICAgICAgICAgICh4KSA9PlxuICAgICAgICAgICAgICB4LnNvdXJjZUxhbmcgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJlxuICAgICAgICAgICAgICB4LnRhcmdldExhbmcgPT0gdGhpcy50YXJnZXRMYW5ndWFnZSAmJlxuICAgICAgICAgICAgICB4Lm5hbWUgPT0gdGhpcy5uYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gZ2xvc3NhcnkgPyBnbG9zc2FyeSA6IG51bGw7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKGdsb3NzYXJ5KSA9PiB7XG4gICAgICAgICAgaWYgKCFnbG9zc2FyeSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5ID0gRVRTZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgICAgICAgIHRoaXMuc3RvcmFnZVMuc2F2ZUl0ZW0oXG4gICAgICAgICAgICBFVFNlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5S2V5LFxuICAgICAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5XG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gZ2xvc3Nhcnk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG4gIGRldGFnZ2VyKHN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgaXRlbXMgPSBzdHI/LnNwbGl0KHRoaXMuc2VwZXJhdG9yKTtcbiAgICBjb25zdCByZXNvYmogPSB7fTtcbiAgICBmb3IgKGNvbnN0IHN0ciBvZiBpdGVtcykge1xuICAgICAgcmVzb2JqW3N0cj8uc3BsaXQoJ1wiJylbMV1dID0gc3RyPy5zcGxpdCgnPicpWzFdPy5zcGxpdCgnPC9kaXYnKVswXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29iajtcbiAgfVxuXG4gIHRybmFzbGF0ZU9sZCh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpZCA9IDMyMzIzMjM7XG4gICAgY29uc3QgYm9keSA9IHsgW2lkXTogdGV4dCB9O1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0U3RyaW5nKFxuICAgICAgICB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2UvJHtFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZX1gLFxuICAgICAgICBPYmplY3Qua2V5cyhib2R5KVxuICAgICAgICAgIC5tYXAoKGlkKSA9PiB0aGlzLnRhZ2dlcigraWQsIGJvZHlbaWRdKSlcbiAgICAgICAgICAuam9pbih0aGlzLnNlcGVyYXRvcilcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZXRhZ2dlcihyKVtpZF0gYXMgc3RyaW5nO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICB0cmFuc2xhdGVIVE1MID0gKFxuICAgIEhUTUxTdHJpbmc6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICAgZGVidWcgPSBmYWxzZVxuICApID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigocmVzKSA9PiB7XG4gICAgICBpZiAoZGVidWcpIGRlYnVnZ2VyO1xuXG4gICAgICBjb25zdCB0ZXh0ID0gSFRNTFN0cmluZz8udHJpbSgpLFxuICAgICAgICByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG4gICAgICBjb25zdCBjYWNoZUtleSA9IHJvdXRlICsgJ18nICsgdGFyZ2V0TGFuZ3VhZ2UgKyAnXycgKyB0ZXh0O1xuICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgIHJlcy5uZXh0KEhUTUxTdHJpbmcpO1xuICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5sQ2FjaGVTLmhhcyhyb3V0ZSArICdfJyArIHRleHQpKSB7XG4gICAgICAgIHJlcy5uZXh0KHRoaXMubENhY2hlUy5nZXRJdGVtPHN0cmluZz4oY2FjaGVLZXkpKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwMDAwMDApO1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeFtpZF0gPSB0ZXh0O1xuICAgICAgICBjb25zdCBzdWI6IFN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGVidWcpIGRlYnVnZ2VyO1xuICAgICAgICAgICAgY29uc3QgdHJhbnNWYWwgPSByW2lkLnRvU3RyaW5nKCldO1xuICAgICAgICAgICAgaWYgKHRyYW5zVmFsKSB7XG4gICAgICAgICAgICAgIHJlcy5uZXh0KHRyYW5zVmFsKTtcbiAgICAgICAgICAgICAgdGhpcy5sQ2FjaGVTLnNldEl0ZW0oY2FjaGVLZXksIHRyYW5zVmFsKTtcbiAgICAgICAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgICByZXMuZXJyb3IoZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHBsYWluVHJhbnNsYXRlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2VcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHRleHQgPSB0ZXh0Py50cmltKCk7XG4gICAgICBjb25zdCByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkgcmVzb2x2ZShudWxsKTtcbiAgICAgIGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSlcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgZWxzZVxuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLnBvc3RTdHJpbmcocm91dGUsIHRleHQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKHIpID0+IHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgcikpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICk7XG4gICAgfSk7XG4gIH07XG4gIHRyYW5zbGF0ZUhUTUxQcm9taXNlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICAgZGVidWcgPSBmYWxzZVxuICApID0+XG4gICAgdGhpcy50cmFuc2xhdGVIVE1MKFxuICAgICAgdGV4dCxcbiAgICAgIHNvdXJjZUxhbmd1YWdlLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2UsXG4gICAgICBkZWJ1Z1xuICAgICk/LnRvUHJvbWlzZSgpO1xufVxuIl19
@@ -18,8 +18,8 @@ export class ETSInfoDialogService {
18
18
  },
19
19
  height: 'auto',
20
20
  minWidth: '450px',
21
- maxWidth: '80%',
22
- maxHeight: '90%',
21
+ maxWidth: '90vw',
22
+ maxHeight: '90vh',
23
23
  autoFocus: false,
24
24
  disableClose,
25
25
  })
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
44
44
  providedIn: 'root',
45
45
  }]
46
46
  }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbmZvLWRpYWxvZy9pbmZvLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs5RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDcEMsU0FBSSxHQUFHLENBQ0wsSUFBWSxFQUNaLFNBQW9CLENBQUMsRUFDckIsT0FBZ0IsRUFDaEIsSUFBYSxFQUNiLFlBQVksR0FBRyxLQUFLLEVBQ3BCLEVBQUU7WUFDRixJQUFJO2dCQUNGLE9BQU8sSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFFLE9BQU8sSUFBSSxDQUFDLE1BQU07aUJBQ2YsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osSUFBSTtvQkFDSixNQUFNLEVBQUUsQ0FBQyxNQUFNO29CQUNmLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUNuRCxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUM3QjtnQkFDRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixZQUFZO2FBQ2IsQ0FBQztpQkFDRCxXQUFXLEVBQUU7aUJBQ2IsU0FBUyxFQUFFO2lCQUNYLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNWLElBQUksQ0FBQyxFQUFFO29CQUNMLE9BQU8sSUFBSSxDQUFDO2lCQUNiO3FCQUFNO29CQUNMLE9BQU8sS0FBSyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7SUFsQ3FDLENBQUM7O2lIQUQ3QixvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnOyBcbmltcG9ydCB7IElCdG4gfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgSW5mb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vaW5mby1kaWFsb2cuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVUU0luZm9EaWFsb2dTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7fVxuICBpbmZvID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzdGF0dXM6IDEgfCAwIHwgMiA9IDEsXG4gICAgaGVhZGluZz86IHN0cmluZyxcbiAgICBidG5zPzogSUJ0bltdLFxuICAgIGRpc2FibGVDbG9zZSA9IGZhbHNlXG4gICkgPT4ge1xuICAgIHRleHQgPVxuICAgICAgdHlwZW9mIHRleHQgPT0gJ3N0cmluZycgPyB0ZXh0IDogc3RhdHVzID09IDAgPyAnQW4gZXJyb3Igb2NjdXJyZWQnIDogJyc7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nXG4gICAgICAub3BlbihJbmZvRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB0ZXh0LFxuICAgICAgICAgIHN0YXR1czogK3N0YXR1cyxcbiAgICAgICAgICBoZWFkaW5nOiBoZWFkaW5nIHx8IChzdGF0dXMgPyAnU3VjY2VzcyEnIDogJ09vcHMhJyksXG4gICAgICAgICAgYnRuczogYnRucz8uZmlsdGVyKChiKSA9PiBiKSxcbiAgICAgICAgfSxcbiAgICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICAgIG1pbldpZHRoOiAnNDUwcHgnLFxuICAgICAgICBtYXhXaWR0aDogJzgwJScsXG4gICAgICAgIG1heEhlaWdodDogJzkwJScsXG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbigocikgPT4ge1xuICAgICAgICBpZiAocikge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH07XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbmZvLWRpYWxvZy9pbmZvLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs5RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDcEMsU0FBSSxHQUFHLENBQ0wsSUFBWSxFQUNaLFNBQW9CLENBQUMsRUFDckIsT0FBZ0IsRUFDaEIsSUFBYSxFQUNiLFlBQVksR0FBRyxLQUFLLEVBQ3BCLEVBQUU7WUFDRixJQUFJO2dCQUNGLE9BQU8sSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFFLE9BQU8sSUFBSSxDQUFDLE1BQU07aUJBQ2YsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osSUFBSTtvQkFDSixNQUFNLEVBQUUsQ0FBQyxNQUFNO29CQUNmLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUNuRCxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUM3QjtnQkFDRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsWUFBWTthQUNiLENBQUM7aUJBQ0QsV0FBVyxFQUFFO2lCQUNiLFNBQVMsRUFBRTtpQkFDWCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsRUFBRTtvQkFDTCxPQUFPLElBQUksQ0FBQztpQkFDYjtxQkFBTTtvQkFDTCxPQUFPLEtBQUssQ0FBQztpQkFDZDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO0lBbENxQyxDQUFDOztpSEFEN0Isb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJzsgXG5pbXBvcnQgeyBJQnRuIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IEluZm9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2luZm8tZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFVFNJbmZvRGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge31cbiAgaW5mbyA9IChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgc3RhdHVzOiAxIHwgMCB8IDIgPSAxLFxuICAgIGhlYWRpbmc/OiBzdHJpbmcsXG4gICAgYnRucz86IElCdG5bXSxcbiAgICBkaXNhYmxlQ2xvc2UgPSBmYWxzZVxuICApID0+IHtcbiAgICB0ZXh0ID1cbiAgICAgIHR5cGVvZiB0ZXh0ID09ICdzdHJpbmcnID8gdGV4dCA6IHN0YXR1cyA9PSAwID8gJ0FuIGVycm9yIG9jY3VycmVkJyA6ICcnO1xuICAgIHJldHVybiB0aGlzLmRpYWxvZ1xuICAgICAgLm9wZW4oSW5mb0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdGV4dCxcbiAgICAgICAgICBzdGF0dXM6ICtzdGF0dXMsXG4gICAgICAgICAgaGVhZGluZzogaGVhZGluZyB8fCAoc3RhdHVzID8gJ1N1Y2Nlc3MhJyA6ICdPb3BzIScpLFxuICAgICAgICAgIGJ0bnM6IGJ0bnM/LmZpbHRlcigoYikgPT4gYiksXG4gICAgICAgIH0sXG4gICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICBtaW5XaWR0aDogJzQ1MHB4JyxcbiAgICAgICAgbWF4V2lkdGg6ICc5MHZ3JyxcbiAgICAgICAgbWF4SGVpZ2h0OiAnOTB2aCcsXG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbigocikgPT4ge1xuICAgICAgICBpZiAocikge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -3971,29 +3971,33 @@ class TranslationService {
3971
3971
  if (debug)
3972
3972
  debugger;
3973
3973
  const text = HTMLString === null || HTMLString === void 0 ? void 0 : HTMLString.trim(), route = this.baseURL + `language`;
3974
+ const cacheKey = route + '_' + targetLanguage + '_' + text;
3974
3975
  if (!text) {
3975
3976
  res.next(HTMLString);
3976
3977
  res.complete();
3977
3978
  }
3978
3979
  else if (this.lCacheS.has(route + '_' + text)) {
3979
- res.next(this.lCacheS.getItem(route + '_' + text));
3980
+ res.next(this.lCacheS.getItem(cacheKey));
3980
3981
  res.complete();
3981
3982
  }
3982
3983
  else {
3983
3984
  const id = Math.round(Math.random() * 1000000000000000);
3984
3985
  this.translationRequestMatrix[id] = text;
3985
- const sub = this.translationResponseMatrix.subscribe((r) => {
3986
- if (debug)
3987
- debugger;
3988
- const transVal = r[id.toString()];
3989
- if (transVal) {
3990
- res.next(transVal);
3991
- this.lCacheS.setItem(route + '_' + text, transVal);
3992
- res.complete();
3993
- sub.unsubscribe();
3994
- }
3995
- }, (e) => {
3996
- res.error(e);
3986
+ const sub = this.translationResponseMatrix.subscribe({
3987
+ next: (r) => {
3988
+ if (debug)
3989
+ debugger;
3990
+ const transVal = r[id.toString()];
3991
+ if (transVal) {
3992
+ res.next(transVal);
3993
+ this.lCacheS.setItem(cacheKey, transVal);
3994
+ res.complete();
3995
+ sub.unsubscribe();
3996
+ }
3997
+ },
3998
+ error: (e) => {
3999
+ res.error(e);
4000
+ },
3997
4001
  });
3998
4002
  }
3999
4003
  });
@@ -5740,8 +5744,8 @@ class ETSInfoDialogService {
5740
5744
  },
5741
5745
  height: 'auto',
5742
5746
  minWidth: '450px',
5743
- maxWidth: '80%',
5744
- maxHeight: '90%',
5747
+ maxWidth: '90vw',
5748
+ maxHeight: '90vh',
5745
5749
  autoFocus: false,
5746
5750
  disableClose,
5747
5751
  })