@xsolla/payment-client-core 0.2.11 → 0.2.13

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 (77) hide show
  1. package/esm2020/lib/core/combined-payment-methods/combined-payment-methods.interface.mjs +2 -0
  2. package/esm2020/lib/core/combined-payment-methods/combined-payment-methods.service.mjs +32 -0
  3. package/esm2020/lib/core/extended-window.interface.mjs +1 -1
  4. package/esm2020/lib/core/payment/field-names.enum.mjs +4 -1
  5. package/esm2020/lib/core/payment/form/control-status.interface.mjs +2 -0
  6. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +17 -7
  7. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  8. package/esm2020/lib/core/payment/payment.service.mjs +12 -1
  9. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +16 -4
  10. package/esm2020/lib/core/payment/submit/submit.service.mjs +21 -4
  11. package/esm2020/lib/core/payment/sync/sync.service.mjs +14 -4
  12. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +7 -5
  13. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +4 -1
  14. package/esm2020/lib/core/performance/performance.service.mjs +111 -0
  15. package/esm2020/lib/core/performance/xhr-action.interface.mjs +2 -0
  16. package/esm2020/lib/core/performance/xhr-action.service.mjs +114 -0
  17. package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +10 -10
  18. package/esm2020/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +3 -3
  19. package/esm2020/lib/core/sdk-payment-systems/sdk-payment-systems.interface.mjs +1 -1
  20. package/esm2020/lib/core/settings/configuration.interface.mjs +1 -1
  21. package/esm2020/lib/core/settings/settings.service.mjs +4 -6
  22. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
  23. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +9 -0
  24. package/esm2020/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +2 -0
  25. package/esm2020/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +2 -0
  26. package/esm2020/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +2 -0
  27. package/esm2020/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +5 -0
  28. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +2 -0
  29. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
  30. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +5 -0
  31. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +8 -0
  32. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +8 -0
  33. package/esm2020/lib/core/user-behaviour-analytics/user-session-options.mjs +2 -0
  34. package/esm2020/lib/core-library.service.mjs +17 -21
  35. package/esm2020/public-api.mjs +6 -1
  36. package/fesm2015/xsolla-payment-client-core.mjs +6978 -6356
  37. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  38. package/fesm2020/xsolla-payment-client-core.mjs +6795 -6189
  39. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  40. package/lib/core/combined-payment-methods/combined-payment-methods.interface.d.ts +9 -0
  41. package/lib/core/combined-payment-methods/combined-payment-methods.service.d.ts +12 -0
  42. package/lib/core/extended-window.interface.d.ts +1 -0
  43. package/lib/core/payment/field-names.enum.d.ts +3 -0
  44. package/lib/core/payment/form/control-status.interface.d.ts +7 -0
  45. package/lib/core/payment/initialize/initialize.service.d.ts +3 -1
  46. package/lib/core/payment/payment.interface.d.ts +3 -0
  47. package/lib/core/payment/payment.service.d.ts +3 -0
  48. package/lib/core/payment/status/listen-status/listen-status.service.d.ts +3 -1
  49. package/lib/core/payment/submit/submit.service.d.ts +4 -1
  50. package/lib/core/payment/sync/sync.service.d.ts +3 -1
  51. package/lib/core/payment/xps-api/xps-api.service.d.ts +3 -1
  52. package/lib/core/payment-methods/payment-methods.service.d.ts +2 -0
  53. package/lib/core/performance/performance.service.d.ts +24 -0
  54. package/lib/core/performance/xhr-action.interface.d.ts +8 -0
  55. package/lib/core/performance/xhr-action.service.d.ts +25 -0
  56. package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +2 -2
  57. package/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.d.ts +1 -1
  58. package/lib/core/sdk-payment-systems/sdk-payment-systems.interface.d.ts +0 -16
  59. package/lib/core/settings/configuration.interface.d.ts +0 -1
  60. package/lib/core/settings/settings.service.d.ts +1 -2
  61. package/lib/core/user-behaviour-analytics/event-builder/event-builder.service.d.ts +22 -0
  62. package/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.d.ts +7 -0
  63. package/lib/core/user-behaviour-analytics/event-builder/invoice.interface.d.ts +14 -0
  64. package/lib/core/user-behaviour-analytics/event-builder/purchase.type.d.ts +1 -0
  65. package/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.d.ts +52 -0
  66. package/lib/core/user-behaviour-analytics/one-time-analytics-events.const.d.ts +1 -0
  67. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.d.ts +36 -0
  68. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.d.ts +43 -0
  69. package/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.d.ts +4 -0
  70. package/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.d.ts +7 -0
  71. package/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.d.ts +6 -0
  72. package/lib/core/user-behaviour-analytics/user-session-options.d.ts +15 -0
  73. package/lib/core-library.service.d.ts +12 -5
  74. package/package.json +1 -1
  75. package/public-api.d.ts +5 -0
  76. package/xsolla-payment-client-core-0.2.13.tgz +0 -0
  77. package/xsolla-payment-client-core-0.2.11.tgz +0 -0
@@ -0,0 +1,114 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { interval, of, Subject } from 'rxjs';
3
+ import { debounce, filter, map } from 'rxjs/operators';
4
+ import { windowToken } from '../window.token';
5
+ import { defaultApiUrl, sandboxApiUrl } from '../http/secure-api/api-url.const';
6
+ import * as i0 from "@angular/core";
7
+ export class XhrActionService {
8
+ constructor(window) {
9
+ this.window = window;
10
+ this.pauseTime = 1000;
11
+ this.userInputEventNames = ['click', 'change'];
12
+ this.isXhrActionStarted = false;
13
+ this.apiRequestEntries = [];
14
+ this.cdnRequestEntries = [];
15
+ this.entriesSubject = new Subject();
16
+ }
17
+ getXhrAction() {
18
+ if (!this.window.performance || !this.window.PerformanceObserver) {
19
+ return of();
20
+ }
21
+ this.getUserInput().subscribe(() => this.window.performance.mark('userInput'));
22
+ this.getPerformance().subscribe((entry) => this.processEntry(entry));
23
+ return this.getPauseEvent().pipe(map(() => {
24
+ const event = {
25
+ name: this.getApiRequestName(),
26
+ duration: this.getDuration([
27
+ ...this.apiRequestEntries,
28
+ ...this.cdnRequestEntries,
29
+ ]),
30
+ apiRequestCount: this.apiRequestEntries.length,
31
+ apiRequestDuration: this.getDuration(this.apiRequestEntries),
32
+ cdnRequestCount: this.cdnRequestEntries.length,
33
+ cdnRequestDuration: this.getDuration(this.cdnRequestEntries),
34
+ };
35
+ this.stopXhrAction();
36
+ return event;
37
+ }));
38
+ }
39
+ processEntry(entry) {
40
+ const isApiRequest = entry.name.includes(defaultApiUrl || sandboxApiUrl);
41
+ const cdnUrl = '';
42
+ const isCdnRequest = !isApiRequest && entry.name.startsWith(cdnUrl);
43
+ if (this.isXhrActionStarted && isApiRequest) {
44
+ this.apiRequestEntries.push(entry);
45
+ }
46
+ if (this.isXhrActionStarted && isCdnRequest) {
47
+ this.cdnRequestEntries.push(entry);
48
+ }
49
+ if (isApiRequest && !this.isXhrActionStarted) {
50
+ const userInputEntries = this.window.performance.getEntriesByName('userInput', 'mark');
51
+ const userInputEntry = userInputEntries[userInputEntries.length - 1];
52
+ if (userInputEntry) {
53
+ this.startXhrAction(entry);
54
+ }
55
+ }
56
+ if (isApiRequest || isCdnRequest) {
57
+ this.entriesSubject.next(entry);
58
+ }
59
+ }
60
+ startXhrAction(xhrEntry) {
61
+ this.isXhrActionStarted = true;
62
+ this.apiRequestEntries.push(xhrEntry);
63
+ }
64
+ stopXhrAction() {
65
+ this.isXhrActionStarted = false;
66
+ this.apiRequestEntries = [];
67
+ this.cdnRequestEntries = [];
68
+ }
69
+ getUserInput() {
70
+ const userInputSubject = new Subject();
71
+ this.userInputEventNames.forEach((eventName) => {
72
+ this.window.addEventListener(eventName, () => userInputSubject.next());
73
+ });
74
+ return userInputSubject;
75
+ }
76
+ getPerformance() {
77
+ const performanceSubject = new Subject();
78
+ if (this.window.PerformanceObserver) {
79
+ const observer = new this.window.PerformanceObserver((list) => {
80
+ list.getEntries().forEach((entry) => {
81
+ return performanceSubject.next(entry);
82
+ });
83
+ });
84
+ observer.observe({ entryTypes: ['resource'] });
85
+ }
86
+ return performanceSubject;
87
+ }
88
+ getApiRequestName() {
89
+ return this.apiRequestEntries[0].name.split(defaultApiUrl)[1].split('?')[0];
90
+ }
91
+ getDuration(entries) {
92
+ if (!entries.length) {
93
+ return 0;
94
+ }
95
+ const firstApiRequestEntry = entries.reduce((prev, current) => (prev.startTime < current.startTime ? prev : current));
96
+ const lastApiRequestEntry = entries.reduce((prev, current) => prev.responseEnd > current.responseEnd ? prev : current);
97
+ return Math.round(lastApiRequestEntry.responseEnd - firstApiRequestEntry.startTime);
98
+ }
99
+ getPauseEvent() {
100
+ return this.entriesSubject.pipe(debounce(() => interval(this.pauseTime)), filter(() => this.isXhrActionStarted));
101
+ }
102
+ }
103
+ XhrActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, deps: [{ token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
104
+ XhrActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, providedIn: 'root' });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, decorators: [{
106
+ type: Injectable,
107
+ args: [{
108
+ providedIn: 'root',
109
+ }]
110
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
111
+ type: Inject,
112
+ args: [windowToken]
113
+ }] }]; } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWFjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGVyZm9ybWFuY2UveGhyLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUVtQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVR4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHdCQUFtQixHQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdELHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixzQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFnQyxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztJQUt4RSxDQUFDO0lBRUcsWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO1lBQ2hFLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENB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O1lBQ25CLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLG9CQUFvQixHQUE4QixPQUFPLENBQUMsTUFBTSxDQUNwRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUN6RSxDQUFDO1FBQ0YsTUFBTSxtQkFBbUIsR0FBOEIsT0FBTyxDQUFDLE1BQU0sQ0FDbkUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDMUQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDeEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQzs7NkdBbkpVLGdCQUFnQixrQkFTakIsV0FBVztpSEFUVixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBYaHJBY3Rpb24gfSBmcm9tICcuL3hoci1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBkZWZhdWx0QXBpVXJsLCBzYW5kYm94QXBpVXJsIH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL2FwaS11cmwuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgWGhyQWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF1c2VUaW1lID0gMTAwMDtcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySW5wdXRFdmVudE5hbWVzOiBzdHJpbmdbXSA9IFsnY2xpY2snLCAnY2hhbmdlJ107XG4gIHByaXZhdGUgaXNYaHJBY3Rpb25TdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgYXBpUmVxdWVzdEVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSA9IFtdO1xuICBwcml2YXRlIGNkblJlcXVlc3RFbnRyaWVzOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRyaWVzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93XG4gICkge31cblxuICBwdWJsaWMgZ2V0WGhyQWN0aW9uKCk6IE9ic2VydmFibGU8WGhyQWN0aW9uPiB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5wZXJmb3JtYW5jZSB8fCAhdGhpcy53aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcikge1xuICAgICAgcmV0dXJuIG9mKCk7XG4gICAgfVxuXG4gICAgdGhpcy5nZXRVc2VySW5wdXQoKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlLm1hcmsoJ3VzZXJJbnB1dCcpXG4gICAgKTtcblxuICAgIHRoaXMuZ2V0UGVyZm9ybWFuY2UoKS5zdWJzY3JpYmUoKGVudHJ5OiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSA9PlxuICAgICAgdGhpcy5wcm9jZXNzRW50cnkoZW50cnkpXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmdldFBhdXNlRXZlbnQoKS5waXBlKFxuICAgICAgbWFwPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcsIFhockFjdGlvbj4oKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudDogWGhyQWN0aW9uID0ge1xuICAgICAgICAgIG5hbWU6IHRoaXMuZ2V0QXBpUmVxdWVzdE5hbWUoKSxcbiAgICAgICAgICBkdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbihbXG4gICAgICAgICAgICAuLi50aGlzLmFwaVJlcXVlc3RFbnRyaWVzLFxuICAgICAgICAgICAgLi4udGhpcy5jZG5SZXF1ZXN0RW50cmllcyxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBhcGlSZXF1ZXN0Q291bnQ6IHRoaXMuYXBpUmVxdWVzdEVudHJpZXMubGVuZ3RoLFxuICAgICAgICAgIGFwaVJlcXVlc3REdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbih0aGlzLmFwaVJlcXVlc3RFbnRyaWVzKSxcbiAgICAgICAgICBjZG5SZXF1ZXN0Q291bnQ6IHRoaXMuY2RuUmVxdWVzdEVudHJpZXMubGVuZ3RoLFxuICAgICAgICAgIGNkblJlcXVlc3REdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbih0aGlzLmNkblJlcXVlc3RFbnRyaWVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0b3BYaHJBY3Rpb24oKTtcblxuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFbnRyeShlbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQXBpUmVxdWVzdDogYm9vbGVhbiA9IGVudHJ5Lm5hbWUuaW5jbHVkZXMoXG4gICAgICBkZWZhdWx0QXBpVXJsIHx8IHNhbmRib3hBcGlVcmxcbiAgICApO1xuXG4gICAgY29uc3QgY2RuVXJsID0gJyc7XG4gICAgY29uc3QgaXNDZG5SZXF1ZXN0OiBib29sZWFuID1cbiAgICAgICFpc0FwaVJlcXVlc3QgJiYgZW50cnkubmFtZS5zdGFydHNXaXRoKGNkblVybCk7XG5cbiAgICBpZiAodGhpcy5pc1hockFjdGlvblN0YXJ0ZWQgJiYgaXNBcGlSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmFwaVJlcXVlc3RFbnRyaWVzLnB1c2goZW50cnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCAmJiBpc0NkblJlcXVlc3QpIHtcbiAgICAgIHRoaXMuY2RuUmVxdWVzdEVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQXBpUmVxdWVzdCAmJiAhdGhpcy5pc1hockFjdGlvblN0YXJ0ZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbnB1dEVudHJpZXM6IFBlcmZvcm1hbmNlRW50cnlbXSA9XG4gICAgICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ3VzZXJJbnB1dCcsICdtYXJrJyk7XG4gICAgICBjb25zdCB1c2VySW5wdXRFbnRyeTogUGVyZm9ybWFuY2VFbnRyeSA9XG4gICAgICAgIHVzZXJJbnB1dEVudHJpZXNbdXNlcklucHV0RW50cmllcy5sZW5ndGggLSAxXTtcblxuICAgICAgaWYgKHVzZXJJbnB1dEVudHJ5KSB7XG4gICAgICAgIHRoaXMuc3RhcnRYaHJBY3Rpb24oZW50cnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc0FwaVJlcXVlc3QgfHwgaXNDZG5SZXF1ZXN0KSB7XG4gICAgICB0aGlzLmVudHJpZXNTdWJqZWN0Lm5leHQoZW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRYaHJBY3Rpb24oeGhyRW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCA9IHRydWU7XG4gICAgdGhpcy5hcGlSZXF1ZXN0RW50cmllcy5wdXNoKHhockVudHJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFhockFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXBpUmVxdWVzdEVudHJpZXMgPSBbXTtcbiAgICB0aGlzLmNkblJlcXVlc3RFbnRyaWVzID0gW107XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXJJbnB1dCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICBjb25zdCB1c2VySW5wdXRTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudXNlcklucHV0RXZlbnROYW1lcy5mb3JFYWNoKChldmVudE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsICgpID0+IHVzZXJJbnB1dFN1YmplY3QubmV4dCgpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB1c2VySW5wdXRTdWJqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJmb3JtYW5jZSgpOiBTdWJqZWN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHtcbiAgICBjb25zdCBwZXJmb3JtYW5jZVN1YmplY3Q6IFN1YmplY3Q8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gPVxuICAgICAgbmV3IFN1YmplY3QoKTtcblxuICAgIGlmICh0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKSB7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyB0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKFxuICAgICAgICAobGlzdDogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgPT4ge1xuICAgICAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goKGVudHJ5OiBQZXJmb3JtYW5jZUVudHJ5KTogdm9pZCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcGVyZm9ybWFuY2VTdWJqZWN0Lm5leHQoZW50cnkgYXMgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ10gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmZvcm1hbmNlU3ViamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBpUmVxdWVzdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlSZXF1ZXN0RW50cmllc1swXS5uYW1lLnNwbGl0KGRlZmF1bHRBcGlVcmwpWzFdLnNwbGl0KCc/JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldER1cmF0aW9uKGVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSk6IG51bWJlciB7XG4gICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RBcGlSZXF1ZXN0RW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgPSBlbnRyaWVzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyZW50KSA9PiAocHJldi5zdGFydFRpbWUgPCBjdXJyZW50LnN0YXJ0VGltZSA/IHByZXYgOiBjdXJyZW50KVxuICAgICk7XG4gICAgY29uc3QgbGFzdEFwaVJlcXVlc3RFbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA9IGVudHJpZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnJlbnQpID0+XG4gICAgICAgIHByZXYucmVzcG9uc2VFbmQgPiBjdXJyZW50LnJlc3BvbnNlRW5kID8gcHJldiA6IGN1cnJlbnRcbiAgICApO1xuXG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICBsYXN0QXBpUmVxdWVzdEVudHJ5LnJlc3BvbnNlRW5kIC0gZmlyc3RBcGlSZXF1ZXN0RW50cnkuc3RhcnRUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF1c2VFdmVudCgpOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzU3ViamVjdC5waXBlKFxuICAgICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy5wYXVzZVRpbWUpKSxcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -12,9 +12,9 @@ export class GooglePayService {
12
12
  get googlePaymentClientWasInitialized() {
13
13
  return !!this.googlePaymentClient;
14
14
  }
15
- constructor(window, commonPayProcessingService, injector) {
15
+ constructor(window, paymentSystemProcessingService, injector) {
16
16
  this.window = window;
17
- this.commonPayProcessingService = commonPayProcessingService;
17
+ this.paymentSystemProcessingService = paymentSystemProcessingService;
18
18
  this.injector = injector;
19
19
  this.googlePayScriptUrl = 'https://pay.google.com/gp/p/js/pay.js';
20
20
  this.readyToPay = new BehaviorSubject(null);
@@ -37,14 +37,14 @@ export class GooglePayService {
37
37
  this.setupGooglePayClient();
38
38
  return;
39
39
  }
40
- this.commonPayProcessingService.loadScript(this.googlePayScriptUrl, this.onLoadScript.bind(this));
40
+ this.paymentSystemProcessingService.loadScript(this.googlePayScriptUrl, this.onLoadScript.bind(this));
41
41
  }
42
42
  checkPaymentDevice(base64checkoutData) {
43
- this.commonPayProcessingService.initialize$
43
+ this.paymentSystemProcessingService.initialize$
44
44
  .pipe(filter(Boolean), take(1))
45
45
  .subscribe(() => {
46
46
  this.checkout =
47
- this.commonPayProcessingService.getDecodedCheckout(base64checkoutData);
47
+ this.paymentSystemProcessingService.getDecodedCheckout(base64checkoutData);
48
48
  if (!this.checkout || !this.googlePaymentClient) {
49
49
  throw new AppError(`Google Pay: no checkout or google payment client, checkout - ${Boolean(this.checkout).toString()}, client - ${Boolean(this.googlePaymentClient).toString()}`);
50
50
  }
@@ -100,7 +100,7 @@ export class GooglePayService {
100
100
  let returnUrl = this.checkout.request.form.fields.returnSuccessUrl;
101
101
  const data = this.checkout.request.form.fields;
102
102
  returnUrl += `&cpf_number=${data.cpf_number}&descriptor=${data.descriptor}&paymentData=${JSON.stringify(paymentData)}`;
103
- this.commonPayProcessingService.emitPayment(returnUrl);
103
+ this.paymentSystemProcessingService.emitStatusUrl(returnUrl);
104
104
  return checkStatusAction;
105
105
  }
106
106
  catch (error) {
@@ -114,7 +114,7 @@ export class GooglePayService {
114
114
  return null;
115
115
  }
116
116
  const returnUrl = this.checkout.request.form.fields.returnFailUrl;
117
- this.commonPayProcessingService.emitPayment(returnUrl);
117
+ this.paymentSystemProcessingService.emitStatusUrl(returnUrl);
118
118
  return checkStatusAction;
119
119
  }
120
120
  }
@@ -149,14 +149,14 @@ export class GooglePayService {
149
149
  const isAvailableGoogleClient = !!this.window.google;
150
150
  if (isAvailableGoogleClient) {
151
151
  this.setupGooglePayClient();
152
- this.commonPayProcessingService.emitInitialize(true);
152
+ this.paymentSystemProcessingService.emitInitialize(true);
153
153
  }
154
154
  }, retryTimeout);
155
155
  throw new AppError('Google Pay: google library now is available');
156
156
  }
157
157
  else {
158
158
  this.setupGooglePayClient();
159
- this.commonPayProcessingService.emitInitialize(true);
159
+ this.paymentSystemProcessingService.emitInitialize(true);
160
160
  }
161
161
  }
162
162
  isCancelledStatus(statusCode) {
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
174
174
  type: Inject,
175
175
  args: [windowToken]
176
176
  }] }, { type: i1.PaymentSystemProcessingService }, { type: i0.Injector }]; } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQU03RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUc1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7O0FBTXhHLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVksaUNBQWlDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDNUMsMEJBQTBELEVBQzFELFFBQWtCO1FBRkksV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDNUMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFnQztRQUMxRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBckJuQix1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUU3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBRWhFLGFBQVEsR0FBNkIsSUFBSSxDQUFDO1FBQzFDLHdCQUFtQixHQUEyQixJQUFJLENBQUM7SUFpQnhELENB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LFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztZQUUxQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUVyRCxJQUFJLHVCQUF1QixFQUFFO29CQUMzQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFFNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdEQ7WUFDSCxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFakIsTUFBTSxJQUFJLFFBQVEsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNqRCxDQUFDOzs2R0FqUFUsZ0JBQWdCLGtCQW9CakIsV0FBVztpSEFwQlYsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFxQkksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuL2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9hcHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4vZ29vZ2xlLXBheS1pbml0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlUGF5U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5U2NyaXB0VXJsID0gJ2h0dHBzOi8vcGF5Lmdvb2dsZS5jb20vZ3AvcC9qcy9wYXkuanMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlUb1BheSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgY2hlY2tvdXQ6IEdvb2dsZVBheUNoZWNrb3V0IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZ29vZ2xlUGF5bWVudENsaWVudDogR29vZ2xlUGF5Q2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc1NhbmRib3ghOiBib29sZWFuO1xuICBwcml2YXRlIGNvdW50cnkhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25QYXlQcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgcmVhZHlUb1BheSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNSZWFkeVRvUGF5KCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdEdvb2dsZVBheUxpYnJhcnkoZGF0YTogR29vZ2xlUGF5SW5pdFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuaXNTYW5kYm94ID0gZGF0YS5pc1NhbmRib3g7XG4gICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5jb3VudHJ5O1xuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UubG9hZFNjcmlwdChcbiAgICAgIHRoaXMuZ29vZ2xlUGF5U2NyaXB0VXJsLFxuICAgICAgdGhpcy5vbkxvYWRTY3JpcHQuYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYXltZW50RGV2aWNlKGJhc2U2NGNoZWNrb3V0RGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tvdXQgPVxuICAgICAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZ2V0RGVjb2RlZENoZWNrb3V0PEdvb2dsZVBheUNoZWNrb3V0PihcbiAgICAgICAgICAgIGJhc2U2NGNoZWNrb3V0RGF0YVxuICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrb3V0IHx8ICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICBgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgb3IgZ29vZ2xlIHBheW1lbnQgY2xpZW50LCBjaGVja291dCAtICR7Qm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5jaGVja291dFxuICAgICAgICAgICAgKS50b1N0cmluZygpfSwgY2xpZW50IC0gJHtCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAgICkudG9TdHJpbmcoKX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICAgICAgY29uc3QgaXNSZWFkeVRvUGF5UmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgY2hlY2tvdXREYXRhLmlzUmVhZHlUb1BheVJlcXVlc3RcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAuaXNSZWFkeVRvUGF5KGlzUmVhZHlUb1BheVJlcXVlc3QpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0ICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQucHJlZmV0Y2hQYXltZW50RGF0YShcbiAgICAgICAgICAgICAgICBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZS5yZXN1bHQ/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBpc0hhdmVQYXltZW50Q2xpZW50ID0gQm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IHBvc3NpYmx5IG5vIHJlc3BvbnNlLnJlc3VsdCBvciBnb29nbGVQYXltZW50Q2xpZW50IGlzIG1pc3NpbmcsIHJlc3VsdCAtICR7cmVzdWx0fSwgaXNIYXZlUGF5bWVudENsaWVudCAtICR7aXNIYXZlUGF5bWVudENsaWVudH1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWFkeVRvUGF5Lm5leHQoZmFsc2UpO1xuXG4gICAgICAgICAgICBsZXQgbWVzc2FnZSA9IChlcnJvciBhcyBzdHJpbmcpID8/ICcnO1xuXG4gICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICBtZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgICAgICBgR29vZ2xlIFBheTogZGV2aWNlIGlzIG5vdCByZWFkeSB0byBwYXksICR7bWVzc2FnZX1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJvY2VlZENoZWNrb3V0KCk6IFByb21pc2U8Q2hlY2tTdGF0dXNBY3Rpb24gfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0IHx8ICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgIGNvbnN0IGlzSGF2ZUNoZWNrb3V0ID0gISF0aGlzLmNoZWNrb3V0O1xuICAgICAgY29uc3QgaXNIYXZlQ2xpZW50ID0gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG5cbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IG9yIGdvb2dsZSBwYXltZW50IGNsaWVudCwgY2hlY2tvdXQgLSAke2lzSGF2ZUNoZWNrb3V0LnRvU3RyaW5nKCl9LCBjbGllbnQgLSAke2lzSGF2ZUNsaWVudC50b1N0cmluZygpfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY2hlY2tvdXREYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuXG4gICAgY29uc3QgcGF5bWVudERhdGFSZXF1ZXN0ID0gSlNPTi5wYXJzZShcbiAgICAgIGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3RcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcGF5bWVudERhdGFSZXF1ZXN0LnRyYW5zYWN0aW9uSW5mbyA9IHtcbiAgICAgIGN1cnJlbmN5Q29kZTogY2hlY2tvdXREYXRhLmN1cnJlbmN5LFxuICAgICAgdG90YWxQcmljZVN0YXR1czogJ0ZJTkFMJyxcbiAgICAgIHRvdGFsUHJpY2U6IGNoZWNrb3V0RGF0YS5zdW0sXG4gICAgICBjb3VudHJ5Q29kZTogdGhpcy5jb3VudHJ5LFxuICAgIH07XG5cbiAgICBjb25zdCBjaGVja1N0YXR1c0FjdGlvbjogTmV4dEFjdGlvbiA9IHRoaXMuaW5qZWN0b3JcbiAgICAgIC5nZXQ8Q2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yPihDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IpXG4gICAgICAuZ2V0QWN0aW9uRGF0YSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBheW1lbnREYXRhID0gYXdhaXQgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmxvYWRQYXltZW50RGF0YShcbiAgICAgICAgcGF5bWVudERhdGFSZXF1ZXN0XG4gICAgICApO1xuXG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiB0b2tlbiBpcyBtaXNzaW5nJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5jaGVja291dCkge1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IGRhdGEgaW4gdGhlbicpO1xuICAgICAgfVxuXG4gICAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgICByZXR1cm5VcmwgKz0gYCZjcGZfbnVtYmVyPSR7ZGF0YS5jcGZfbnVtYmVyfSZkZXNjcmlwdG9yPSR7XG4gICAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgICAgfSZwYXltZW50RGF0YT0ke0pTT04uc3RyaW5naWZ5KHBheW1lbnREYXRhKX1gO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybCk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgaWYgKCF0aGlzLmNoZWNrb3V0KSB7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgZGF0YWApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdGF0dXNDb2RlID0gKGVycm9yIGFzIHVua25vd24gYXMgeyBzdGF0dXNDb2RlPzogc3RyaW5nIH0pXG4gICAgICAgID8uc3RhdHVzQ29kZTtcblxuICAgICAgY29uc3QgaXNTdGF0dXNDYW5jZWxlZCA9IHN0YXR1c0NvZGUgJiYgdGhpcy5pc0NhbmNlbGxlZFN0YXR1cyhzdGF0dXNDb2RlKTtcblxuICAgICAgaWYgKGlzU3RhdHVzQ2FuY2VsZWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5GYWlsVXJsO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybCk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQnV0dG9uKG9uQ2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tvdXQgfHwgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY2hlY2tvdXREYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICBjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0XG4gICAgKSBhcyBHb29nbGVQYXlQYXltZW50UmVxdWVzdDtcblxuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQuY3JlYXRlQnV0dG9uKHtcbiAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tIYW5kbGVyLFxuICAgICAgYWxsb3dlZFBheW1lbnRNZXRob2RzOiBwYXltZW50RGF0YVJlcXVlc3QuYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6ICd3aGl0ZScsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSB0aGlzLmlzU2FuZGJveCA/ICdURVNUJyA6ICdQUk9EVUNUSU9OJztcblxuICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCA9XG4gICAgICBuZXcgdGhpcy53aW5kb3cuZ29vZ2xlLnBheW1lbnRzLmFwaS5QYXltZW50c0NsaWVudCh7XG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgY29uc3QgcmV0cnlUaW1lb3V0ID0gMTAwMDtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50ID0gISF0aGlzLndpbmRvdy5nb29nbGU7XG5cbiAgICAgICAgaWYgKGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWxlZCc7XG4gIH1cbn1cbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQU03RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUc1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7O0FBTXhHLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVksaUNBQWlDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDNUMsOEJBQThELEVBQzlELFFBQWtCO1FBRkksV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDNUMsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM5RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBckJuQix1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUU3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBRWhFLGFBQVEsR0FBNkIsSUFBSSxDQUFDO1FBQzFDLHdCQUFtQixHQUEyQixJQUFJLENBQUM7SUFpQnhELENB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LFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztZQUUxQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUVyRCxJQUFJLHVCQUF1QixFQUFFO29CQUMzQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFFNUIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDMUQ7WUFDSCxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFakIsTUFBTSxJQUFJLFFBQVEsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsOEJBQThCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNqRCxDQUFDOzs2R0FqUFUsZ0JBQWdCLGtCQW9CakIsV0FBVztpSEFwQlYsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFxQkksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuL2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9hcHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4vZ29vZ2xlLXBheS1pbml0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlUGF5U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5U2NyaXB0VXJsID0gJ2h0dHBzOi8vcGF5Lmdvb2dsZS5jb20vZ3AvcC9qcy9wYXkuanMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlUb1BheSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgY2hlY2tvdXQ6IEdvb2dsZVBheUNoZWNrb3V0IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZ29vZ2xlUGF5bWVudENsaWVudDogR29vZ2xlUGF5Q2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc1NhbmRib3ghOiBib29sZWFuO1xuICBwcml2YXRlIGNvdW50cnkhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHB1YmxpYyByZWFkb25seSBwYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2U6IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9QYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGlzUmVhZHlUb1BheSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRHb29nbGVQYXlMaWJyYXJ5KGRhdGE6IEdvb2dsZVBheUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2FuZGJveCA9IGRhdGEuaXNTYW5kYm94O1xuICAgIHRoaXMuY291bnRyeSA9IGRhdGEuY291bnRyeTtcblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5sb2FkU2NyaXB0KFxuICAgICAgdGhpcy5nb29nbGVQYXlTY3JpcHRVcmwsXG4gICAgICB0aGlzLm9uTG9hZFNjcmlwdC5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1BheW1lbnREZXZpY2UoYmFzZTY0Y2hlY2tvdXREYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tvdXQgPVxuICAgICAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmdldERlY29kZWRDaGVja291dDxHb29nbGVQYXlDaGVja291dD4oXG4gICAgICAgICAgICBiYXNlNjRjaGVja291dERhdGFcbiAgICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5jaGVja291dCB8fCAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgICAgYEdvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IG9yIGdvb2dsZSBwYXltZW50IGNsaWVudCwgY2hlY2tvdXQgLSAke0Jvb2xlYW4oXG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRcbiAgICAgICAgICAgICkudG9TdHJpbmcoKX0sIGNsaWVudCAtICR7Qm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgICApLnRvU3RyaW5nKCl9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGVja291dERhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgICAgIGNvbnN0IGlzUmVhZHlUb1BheVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgICAgIGNoZWNrb3V0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgLmlzUmVhZHlUb1BheShpc1JlYWR5VG9QYXlSZXF1ZXN0KVxuICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LnByZWZldGNoUGF5bWVudERhdGEoXG4gICAgICAgICAgICAgICAgSlNPTi5wYXJzZShjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0KVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5yZWFkeVRvUGF5Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UucmVzdWx0Py50b1N0cmluZygpID8/ICcnO1xuICAgICAgICAgICAgY29uc3QgaXNIYXZlUGF5bWVudENsaWVudCA9IEJvb2xlYW4oXG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBHb29nbGUgUGF5OiBwb3NzaWJseSBubyByZXNwb25zZS5yZXN1bHQgb3IgZ29vZ2xlUGF5bWVudENsaWVudCBpcyBtaXNzaW5nLCByZXN1bHQgLSAke3Jlc3VsdH0sIGlzSGF2ZVBheW1lbnRDbGllbnQgLSAke2lzSGF2ZVBheW1lbnRDbGllbnR9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAoZXJyb3IgYXMgc3RyaW5nKSA/PyAnJztcblxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IGRldmljZSBpcyBub3QgcmVhZHkgdG8gcGF5LCAke21lc3NhZ2V9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHByb2NlZWRDaGVja291dCgpOiBQcm9taXNlPENoZWNrU3RhdHVzQWN0aW9uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5jaGVja291dCB8fCAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICBjb25zdCBpc0hhdmVDaGVja291dCA9ICEhdGhpcy5jaGVja291dDtcbiAgICAgIGNvbnN0IGlzSGF2ZUNsaWVudCA9ICEhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50O1xuXG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgIGBHb29nbGUgUGF5OiBubyBjaGVja291dCBvciBnb29nbGUgcGF5bWVudCBjbGllbnQsIGNoZWNrb3V0IC0gJHtpc0hhdmVDaGVja291dC50b1N0cmluZygpfSwgY2xpZW50IC0gJHtpc0hhdmVDbGllbnQudG9TdHJpbmcoKX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICBjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0XG4gICAgKSBhcyBHb29nbGVQYXlQYXltZW50UmVxdWVzdDtcblxuICAgIHBheW1lbnREYXRhUmVxdWVzdC50cmFuc2FjdGlvbkluZm8gPSB7XG4gICAgICBjdXJyZW5jeUNvZGU6IGNoZWNrb3V0RGF0YS5jdXJyZW5jeSxcbiAgICAgIHRvdGFsUHJpY2VTdGF0dXM6ICdGSU5BTCcsXG4gICAgICB0b3RhbFByaWNlOiBjaGVja291dERhdGEuc3VtLFxuICAgICAgY291bnRyeUNvZGU6IHRoaXMuY291bnRyeSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2hlY2tTdGF0dXNBY3Rpb246IE5leHRBY3Rpb24gPSB0aGlzLmluamVjdG9yXG4gICAgICAuZ2V0PENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcj4oQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yKVxuICAgICAgLmdldEFjdGlvbkRhdGEoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXltZW50RGF0YSA9IGF3YWl0IHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5sb2FkUGF5bWVudERhdGEoXG4gICAgICAgIHBheW1lbnREYXRhUmVxdWVzdFxuICAgICAgKTtcblxuICAgICAgaWYgKCFwYXltZW50RGF0YT8ucGF5bWVudE1ldGhvZERhdGE/LnRva2VuaXphdGlvbkRhdGE/LnRva2VuKSB7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogdG9rZW4gaXMgbWlzc2luZycpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuY2hlY2tvdXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBubyBjaGVja291dCBkYXRhIGluIHRoZW4nKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5TdWNjZXNzVXJsO1xuXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgICAgcmV0dXJuVXJsICs9IGAmY3BmX251bWJlcj0ke2RhdGEuY3BmX251bWJlcn0mZGVzY3JpcHRvcj0ke1xuICAgICAgICBkYXRhLmRlc2NyaXB0b3JcbiAgICAgIH0mcGF5bWVudERhdGE9JHtKU09OLnN0cmluZ2lmeShwYXltZW50RGF0YSl9YDtcblxuICAgICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuZW1pdFN0YXR1c1VybChyZXR1cm5VcmwpO1xuXG4gICAgICByZXR1cm4gY2hlY2tTdGF0dXNBY3Rpb247XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGlmICghdGhpcy5jaGVja291dCkge1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoYEdvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IGRhdGFgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IChlcnJvciBhcyB1bmtub3duIGFzIHsgc3RhdHVzQ29kZT86IHN0cmluZyB9KVxuICAgICAgICA/LnN0YXR1c0NvZGU7XG5cbiAgICAgIGNvbnN0IGlzU3RhdHVzQ2FuY2VsZWQgPSBzdGF0dXNDb2RlICYmIHRoaXMuaXNDYW5jZWxsZWRTdGF0dXMoc3RhdHVzQ29kZSk7XG5cbiAgICAgIGlmIChpc1N0YXR1c0NhbmNlbGVkKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXR1cm5VcmwgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHMucmV0dXJuRmFpbFVybDtcblxuICAgICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuZW1pdFN0YXR1c1VybChyZXR1cm5VcmwpO1xuXG4gICAgICByZXR1cm4gY2hlY2tTdGF0dXNBY3Rpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZUJ1dHRvbihvbkNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZCk6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0IHx8ICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdFxuICAgICkgYXMgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3Q7XG5cbiAgICByZXR1cm4gdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmNyZWF0ZUJ1dHRvbih7XG4gICAgICBvbkNsaWNrOiBvbkNsaWNrSGFuZGxlcixcbiAgICAgIGFsbG93ZWRQYXltZW50TWV0aG9kczogcGF5bWVudERhdGFSZXF1ZXN0LmFsbG93ZWRQYXltZW50TWV0aG9kcyxcbiAgICAgIGJ1dHRvblNpemVNb2RlOiAnZmlsbCcsXG4gICAgICBidXR0b25UeXBlOiAnYnV5JyxcbiAgICAgIGJ1dHRvbkNvbG9yOiAnd2hpdGUnLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEdvb2dsZVBheUNsaWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudmlyb25tZW50ID0gdGhpcy5pc1NhbmRib3ggPyAnVEVTVCcgOiAnUFJPRFVDVElPTic7XG5cbiAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQgPVxuICAgICAgbmV3IHRoaXMud2luZG93Lmdvb2dsZS5wYXltZW50cy5hcGkuUGF5bWVudHNDbGllbnQoe1xuICAgICAgICBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkxvYWRTY3JpcHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIGNvbnN0IHJldHJ5VGltZW91dCA9IDEwMDA7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCA9ICEhdGhpcy53aW5kb3cuZ29vZ2xlO1xuXG4gICAgICAgIGlmIChpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCkge1xuICAgICAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRJbml0aWFsaXplKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LCByZXRyeVRpbWVvdXQpO1xuXG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IGdvb2dsZSBsaWJyYXJ5IG5vdyBpcyBhdmFpbGFibGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWxlZCc7XG4gIH1cbn1cbiJdfQ==
@@ -16,8 +16,8 @@ export class PaymentSystemProcessingService {
16
16
  get status$() {
17
17
  return this.statusUrl.asObservable().pipe(filter((status) => !!status));
18
18
  }
19
- emitPayment(payment) {
20
- this.statusUrl.next(payment);
19
+ emitStatusUrl(statusUrl) {
20
+ this.statusUrl.next(statusUrl);
21
21
  }
22
22
  emitInitialize(isInitialized) {
23
23
  this.initialize.next(isInitialized);
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
81
81
  type: Inject,
82
82
  args: [windowToken]
83
83
  }] }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9wYXltZW50LXN5c3RlbXMvcGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBTzVFLE1BQU0sT0FBTyw4QkFBOEI7SUFLekMsWUFDd0MsTUFBc0I7UUFBdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFMN0MsY0FBUyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RCxlQUFVLEdBQ3pCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBSW5DLENBQUM7SUFFSixJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLGFBQXNCO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsa0JBQTBCO1FBRTFCLElBQUk7WUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQU0sQ0FBQztTQUNsRDtRQUFDLE9BQU8sS0FBYyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxRQUFRLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFTSxVQUFVLENBQ2YsR0FBVyxFQUNYLE1BQWtCLEVBQ2xCLHlCQUE0RTtRQUU1RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLE1BQU0sR0FDUixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0MsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFFakIsSUFBSSx5QkFBeUIsRUFBRTtZQUM3QixNQUFNLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUk7Z0JBQ0YsTUFBTSxFQUFFLENBQUM7YUFDVjtZQUFDLE9BQU8sS0FBYyxFQUFFO2dCQUN2QixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBRXBCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtvQkFDMUIsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7aUJBQ3pCO2dCQUNELE1BQU0sSUFBSSxRQUFRLENBQ2hCLDhDQUNFLE9BQ0YsV0FBVyxHQUFHLEVBQUUsQ0FDakIsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUNmLEtBQXFCLEVBQ3JCLE1BQWUsRUFDZixNQUFlLEVBQ2YsS0FBYyxFQUNkLEtBQWEsRUFDYixFQUFFO1lBQ0YsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFaEQsSUFBSSxZQUFZLEdBQUcsS0FBZSxDQUFDO1lBRW5DLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO2dCQUM3QixZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0QztZQUVELE1BQU0sSUFBSSxRQUFRLENBQ2hCO2dCQUNRLEdBQUc7a0JBQ0QsWUFBWTttQkFDWCxNQUFNLElBQUksRUFBRTttQkFDWixNQUFNLElBQUksRUFBRTtrQkFDYixLQUFLLElBQUksRUFBRTtrQkFDWCxZQUFZLEVBQUUsQ0FDekIsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzsySEFuR1UsOEJBQThCLGtCQU0vQixXQUFXOytIQU5WLDhCQUE4QixjQUY3QixNQUFNOzJGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHb29nbGVQYXlDaGVja291dCB9IGZyb20gJy4uL2dvb2dsZS1wYXkvZ29vZ2xlLXBheS1jaGVja291dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IEFwcEVycm9yIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvYXBwLWVycm9yLmNsYXNzJztcblxuZXhwb3J0IHR5cGUgQ29tbW9uQ2hlY2tvdXQgPSBHb29nbGVQYXlDaGVja291dDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzVXJsOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxpemU6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvd1xuICApIHt9XG5cbiAgcHVibGljIGdldCBpbml0aWFsaXplJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXMkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzVXJsLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKChzdGF0dXMpID0+ICEhc3RhdHVzKSk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFBheW1lbnQocGF5bWVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNVcmwubmV4dChwYXltZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0SW5pdGlhbGl6ZShpc0luaXRpYWxpemVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplLm5leHQoaXNJbml0aWFsaXplZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVjb2RlZENoZWNrb3V0PFQgZXh0ZW5kcyBDb21tb25DaGVja291dD4oXG4gICAgYmFzZTY0Y2hlY2tvdXREYXRhOiBzdHJpbmdcbiAgKTogVCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGF0b2IoYmFzZTY0Y2hlY2tvdXREYXRhKSkgYXMgVDtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdsb2FkIHNjcmlwdCBzZXJ2aWNlOiBkZWNvZGUgZXJyb3InKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbG9hZFNjcmlwdChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvbkxvYWQ6ICgpID0+IHZvaWQsXG4gICAgYWRkU2NyaXB0Q3VzdG9tQXR0cmlidXRlcz86IChzY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50KSA9PiBIVE1MU2NyaXB0RWxlbWVudFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemUubmV4dChmYWxzZSk7XG4gICAgbGV0IHNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPVxuICAgICAgdGhpcy53aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xuICAgIHNjcmlwdC5zcmMgPSB1cmw7XG5cbiAgICBpZiAoYWRkU2NyaXB0Q3VzdG9tQXR0cmlidXRlcykge1xuICAgICAgc2NyaXB0ID0gYWRkU2NyaXB0Q3VzdG9tQXR0cmlidXRlcyhzY3JpcHQpO1xuICAgIH1cblxuICAgIHRoaXMud2luZG93LmRvY3VtZW50LmJvZHkuYXBwZW5kKHNjcmlwdCk7XG5cbiAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgb25Mb2FkKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IGVycm9yO1xuXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgIGBQYWdlczogZXJyb3IgZHVyaW5nIHNjcmlwdCBvbmxvYWQgaGFuZGxlcjogJHtcbiAgICAgICAgICAgIG1lc3NhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgfSwgdXJsIC0gJHt1cmx9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBzY3JpcHQub25lcnJvciA9IChcbiAgICAgIGV2ZW50OiBFdmVudCB8IHN0cmluZyxcbiAgICAgIHNvdXJjZT86IHN0cmluZyxcbiAgICAgIGxpbmVubz86IG51bWJlcixcbiAgICAgIGNvbG5vPzogbnVtYmVyLFxuICAgICAgZXJyb3I/OiBFcnJvclxuICAgICkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJyc7XG5cbiAgICAgIGxldCBldmVudE1lc3NhZ2UgPSBldmVudCBhcyBzdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGV2ZW50TWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICBgUGFnZXM6IGVycm9yIGR1cmluZyBzY3JpcHQgb25lcnJvciBoYW5kbGVyOlxuICAgICAgICB1cmwgLSAke3VybH0sXG4gICAgICAgIGV2ZW50IC0gJHtldmVudE1lc3NhZ2V9LFxuICAgICAgICBzb3VyY2UgLSAke3NvdXJjZSA/PyAnJ30sXG4gICAgICAgIGxpbmVubyAtICR7bGluZW5vID8/ICcnfSxcbiAgICAgICAgY29sbm8gLSAke2NvbG5vID8/ICcnfSxcbiAgICAgICAgZXJyb3IgLSAke2Vycm9yTWVzc2FnZX1gXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplLmdldFZhbHVlKCk7XG4gIH1cbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9wYXltZW50LXN5c3RlbXMvcGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBTzVFLE1BQU0sT0FBTyw4QkFBOEI7SUFLekMsWUFDd0MsTUFBc0I7UUFBdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFMN0MsY0FBUyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RCxlQUFVLEdBQ3pCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBSW5DLENBQUM7SUFFSixJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBaUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxhQUFzQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sa0JBQWtCLENBQ3ZCLGtCQUEwQjtRQUUxQixJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFNLENBQUM7U0FDbEQ7UUFBQyxPQUFPLEtBQWMsRUFBRTtZQUN2QixNQUFNLElBQUksUUFBUSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUNmLEdBQVcsRUFDWCxNQUFrQixFQUNsQix5QkFBNEU7UUFFNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxNQUFNLEdBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRWpCLElBQUkseUJBQXlCLEVBQUU7WUFDN0IsTUFBTSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNuQixJQUFJO2dCQUNGLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7WUFBQyxPQUFPLEtBQWMsRUFBRTtnQkFDdkIsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUVwQixJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7b0JBQzFCLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNLElBQUksUUFBUSxDQUNoQiw4Q0FDRSxPQUNGLFdBQVcsR0FBRyxFQUFFLENBQ2pCLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FDZixLQUFxQixFQUNyQixNQUFlLEVBQ2YsTUFBZSxFQUNmLEtBQWMsRUFDZCxLQUFhLEVBQ2IsRUFBRTtZQUNGLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRWhELElBQUksWUFBWSxHQUFHLEtBQWUsQ0FBQztZQUVuQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDN0IsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEM7WUFFRCxNQUFNLElBQUksUUFBUSxDQUNoQjtnQkFDUSxHQUFHO2tCQUNELFlBQVk7bUJBQ1gsTUFBTSxJQUFJLEVBQUU7bUJBQ1osTUFBTSxJQUFJLEVBQUU7a0JBQ2IsS0FBSyxJQUFJLEVBQUU7a0JBQ1gsWUFBWSxFQUFFLENBQ3pCLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7MkhBbkdVLDhCQUE4QixrQkFNL0IsV0FBVzsrSEFOViw4QkFBOEIsY0FGN0IsTUFBTTsyRkFFUCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuLi9nb29nbGUtcGF5L2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBBcHBFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2FwcC1lcnJvci5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIENvbW1vbkNoZWNrb3V0ID0gR29vZ2xlUGF5Q2hlY2tvdXQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1VybDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsaXplOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3dcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgaW5pdGlhbGl6ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1VybC5hc09ic2VydmFibGUoKS5waXBlKGZpbHRlcigoc3RhdHVzKSA9PiAhIXN0YXR1cykpO1xuICB9XG5cbiAgcHVibGljIGVtaXRTdGF0dXNVcmwoc3RhdHVzVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXR1c1VybC5uZXh0KHN0YXR1c1VybCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdEluaXRpYWxpemUoaXNJbml0aWFsaXplZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZS5uZXh0KGlzSW5pdGlhbGl6ZWQpO1xuICB9XG5cbiAgcHVibGljIGdldERlY29kZWRDaGVja291dDxUIGV4dGVuZHMgQ29tbW9uQ2hlY2tvdXQ+KFxuICAgIGJhc2U2NGNoZWNrb3V0RGF0YTogc3RyaW5nXG4gICk6IFQge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShhdG9iKGJhc2U2NGNoZWNrb3V0RGF0YSkpIGFzIFQ7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcignbG9hZCBzY3JpcHQgc2VydmljZTogZGVjb2RlIGVycm9yJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWRTY3JpcHQoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb25Mb2FkOiAoKSA9PiB2b2lkLFxuICAgIGFkZFNjcmlwdEN1c3RvbUF0dHJpYnV0ZXM/OiAoc2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudCkgPT4gSFRNTFNjcmlwdEVsZW1lbnRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplLm5leHQoZmFsc2UpO1xuICAgIGxldCBzY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID1cbiAgICAgIHRoaXMud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXG4gICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICBzY3JpcHQuc3JjID0gdXJsO1xuXG4gICAgaWYgKGFkZFNjcmlwdEN1c3RvbUF0dHJpYnV0ZXMpIHtcbiAgICAgIHNjcmlwdCA9IGFkZFNjcmlwdEN1c3RvbUF0dHJpYnV0ZXMoc2NyaXB0KTtcbiAgICB9XG5cbiAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5ib2R5LmFwcGVuZChzY3JpcHQpO1xuXG4gICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIG9uTG9hZCgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSBlcnJvcjtcblxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICBgUGFnZXM6IGVycm9yIGR1cmluZyBzY3JpcHQgb25sb2FkIGhhbmRsZXI6ICR7XG4gICAgICAgICAgICBtZXNzYWdlIGFzIHN0cmluZ1xuICAgICAgICAgIH0sIHVybCAtICR7dXJsfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc2NyaXB0Lm9uZXJyb3IgPSAoXG4gICAgICBldmVudDogRXZlbnQgfCBzdHJpbmcsXG4gICAgICBzb3VyY2U/OiBzdHJpbmcsXG4gICAgICBsaW5lbm8/OiBudW1iZXIsXG4gICAgICBjb2xubz86IG51bWJlcixcbiAgICAgIGVycm9yPzogRXJyb3JcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yID8gZXJyb3IubWVzc2FnZSA6ICcnO1xuXG4gICAgICBsZXQgZXZlbnRNZXNzYWdlID0gZXZlbnQgYXMgc3RyaW5nO1xuXG4gICAgICBpZiAodHlwZW9mIGV2ZW50ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBldmVudE1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShldmVudCk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYFBhZ2VzOiBlcnJvciBkdXJpbmcgc2NyaXB0IG9uZXJyb3IgaGFuZGxlcjpcbiAgICAgICAgdXJsIC0gJHt1cmx9LFxuICAgICAgICBldmVudCAtICR7ZXZlbnRNZXNzYWdlfSxcbiAgICAgICAgc291cmNlIC0gJHtzb3VyY2UgPz8gJyd9LFxuICAgICAgICBsaW5lbm8gLSAke2xpbmVubyA/PyAnJ30sXG4gICAgICAgIGNvbG5vIC0gJHtjb2xubyA/PyAnJ30sXG4gICAgICAgIGVycm9yIC0gJHtlcnJvck1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZS5nZXRWYWx1ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLXBheW1lbnQtc3lzdGVtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL3Nkay1wYXltZW50LXN5c3RlbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbml0UGFyYW1zIH0gZnJvbSAnLi9nb29nbGUtcGF5L2dvb2dsZS1wYXktaW5pdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNka1BheW1lbnRTeXN0ZW1zSW5pdGlhbERhdGEgfSBmcm9tICcuL3Nkay1wYXltZW50LXN5c3RlbXMtaW5pdGlhbC1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbiB9IGZyb20gJy4uL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBTZGtQYXltZW50U3lzdGVtcyB7XG4gIGdvb2dsZVBheToge1xuICAgIHJlYWR5VG9QYXkkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPjtcbiAgICBpc1JlYWR5VG9QYXkoKTogYm9vbGVhbiB8IG51bGw7XG4gICAgaW5pdEdvb2dsZVBheUxpYnJhcnkocGFyYW1zOiBHb29nbGVQYXlJbml0UGFyYW1zKTogdm9pZDtcbiAgICBjaGVja1BheW1lbnREZXZpY2UoYmFzZTY0Y2hlY2tvdXREYXRhOiBzdHJpbmcpOiB2b2lkO1xuICAgIHByb2NlZWRDaGVja291dCgpOiBQcm9taXNlPENoZWNrU3RhdHVzQWN0aW9uIHwgbnVsbD47XG4gICAgY3JlYXRlQnV0dG9uKG9uQ2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsO1xuICB9O1xuICBjb21tb25QYXlQcm9jZXNzaW5nU2VydmljZToge1xuICAgIGluaXRpYWxpemUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbjtcbiAgICBzdGF0dXMkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIH07XG4gIGdldEluaXRpYWxEYXRhKCk6IFNka1BheW1lbnRTeXN0ZW1zSW5pdGlhbERhdGE7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLXBheW1lbnQtc3lzdGVtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL3Nkay1wYXltZW50LXN5c3RlbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtc0luaXRpYWxEYXRhIH0gZnJvbSAnLi9zZGstcGF5bWVudC1zeXN0ZW1zLWluaXRpYWwtZGF0YS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNka1BheW1lbnRTeXN0ZW1zIHtcbiAgZ2V0SW5pdGlhbERhdGEoKTogU2RrUGF5bWVudFN5c3RlbXNJbml0aWFsRGF0YTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJbml0Q29uZmlndXJhdGlvbiB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGlzTW9iaWxlOiBib29sZWFuO1xuICBpc1dlYnZpZXc/OiBib29sZWFuO1xuICBzYW5kYm94PzogYm9vbGVhbjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJbml0Q29uZmlndXJhdGlvbiB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGlzV2Vidmlldz86IGJvb2xlYW47XG4gIHNhbmRib3g/OiBib29sZWFuO1xufVxuIl19
@@ -41,15 +41,15 @@ export class SettingsService {
41
41
  }
42
42
  return this.response;
43
43
  }
44
+ get unsafeUtilsResponse() {
45
+ return this.response ?? null;
46
+ }
44
47
  get isEmpty() {
45
48
  return !this.response;
46
49
  }
47
50
  get token() {
48
51
  return this._token;
49
52
  }
50
- get isMobile() {
51
- return this._isMobile;
52
- }
53
53
  get hasResponse() {
54
54
  return !!this.response;
55
55
  }
@@ -58,7 +58,6 @@ export class SettingsService {
58
58
  this.isInitialized = false;
59
59
  this._token = '';
60
60
  this.sandboxMode = false;
61
- this._isMobile = false;
62
61
  }
63
62
  async init(configuration) {
64
63
  if (!configuration.token) {
@@ -66,7 +65,6 @@ export class SettingsService {
66
65
  }
67
66
  this._token = configuration.token;
68
67
  this.sandboxMode = !!configuration.sandbox;
69
- this._isMobile = configuration.isMobile;
70
68
  await this.sendRequest(this.token);
71
69
  this.isInitialized = true;
72
70
  }
@@ -87,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
87
85
  providedIn: 'root',
88
86
  }]
89
87
  }], ctorParameters: function () { return [{ type: i1.SecureApiClient }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBVXZFLE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQVcsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtZQUN2QyxPQUFPO2dCQUNMLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2dCQUN6QixvQkFBb0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQjthQUN6RCxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFZRCxZQUFvQyxTQUEwQjtRQUExQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQVZ2RCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUlyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUV1QyxDQUFDO0lBRTNELEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBZ0M7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDM0M7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFFeEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBYTtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQWdCLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQ3ZELENBQUM7SUFDSixDQUFDOzs0R0F0R1UsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2VjdXJlQXBpQ2xpZW50IH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL3NlY3VyZS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBEZWVwUmVhZG9ubHkgfSBmcm9tICcuLi9kZWVwLXJlYWRvbmx5LnR5cGUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yIH0gZnJvbSAnLi9lbXB0eS11dGlscy1yZXNwb25zZS5lcnJvcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gJy4vc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1cmNoYXNlIH0gZnJvbSAnLi9wdXJjaGFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4vcHJvamVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXRpbHNSZXNwb25zZSB9IGZyb20gJy4vdXRpbHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgcHJvamVjdCgpOiBEZWVwUmVhZG9ubHk8UHJvamVjdD4ge1xuICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2UucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHVyY2hhc2UoKTogRGVlcFJlYWRvbmx5PFB1cmNoYXNlPiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZS5wdXJjaGFzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogRGVlcFJlYWRvbmx5PFNldHRpbmdzPiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNwb25zZT8ucHVyY2hhc2VfZXh0ZXJuYWxfaWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRoaXMucmVzcG9uc2Uuc2V0dGluZ3MsXG4gICAgICAgIHB1cmNoYXNlX2V4dGVybmFsX2lkOiB0aGlzLnJlc3BvbnNlLnB1cmNoYXNlX2V4dGVybmFsX2lkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZT8uc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXIoKTogRGVlcFJlYWRvbmx5PFVzZXI+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHV0aWxzUmVzcG9uc2UoKTogRGVlcFJlYWRvbmx5PFV0aWxzUmVzcG9uc2U+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5yZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc01vYmlsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUmVzcG9uc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZXNwb25zZSE6IERlZXBSZWFkb25seTxVdGlsc1Jlc3BvbnNlPiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF90b2tlbiA9ICcnO1xuXG4gIHByaXZhdGUgc2FuZGJveE1vZGUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9pc01vYmlsZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNlY3VyZUFwaTogU2VjdXJlQXBpQ2xpZW50KSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0KGNvbmZpZ3VyYXRpb246IEluaXRDb25maWd1cmF0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFjb25maWd1cmF0aW9uLnRva2VuKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ3Rva2VuIGlzIG1pc3NpbmcnKTtcbiAgICB9XG5cbiAgICB0aGlzLl90b2tlbiA9IGNvbmZpZ3VyYXRpb24udG9rZW47XG4gICAgdGhpcy5zYW5kYm94TW9kZSA9ICEhY29uZmlndXJhdGlvbi5zYW5kYm94O1xuICAgIHRoaXMuX2lzTW9iaWxlID0gY29uZmlndXJhdGlvbi5pc01vYmlsZTtcblxuICAgIGF3YWl0IHRoaXMuc2VuZFJlcXVlc3QodGhpcy50b2tlbik7XG5cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzU2FuZGJveE1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2FuZGJveE1vZGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlbmRSZXF1ZXN0KHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnYWNjZXNzX3Rva2VuJywgdG9rZW4pO1xuXG4gICAgdGhpcy5zZWN1cmVBcGkuc2V0U2FuZGJveE1vZGUodGhpcy5pc1NhbmRib3hNb2RlKCkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGkuZ2V0PFV0aWxzUmVzcG9uc2U+KCd1dGlscycsIHsgcGFyYW1zIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBVXZFLE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQVcsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtZQUN2QyxPQUFPO2dCQUNMLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2dCQUN6QixvQkFBb0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQjthQUN6RCxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFVRCxZQUFvQyxTQUEwQjtRQUExQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQVJ2RCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUlyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFcUMsQ0FBQztJQUUzRCxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWdDO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFFM0MsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBYTtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQWdCLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQ3ZELENBQUM7SUFDSixDQUFDOzs0R0FuR1UsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2VjdXJlQXBpQ2xpZW50IH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL3NlY3VyZS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBEZWVwUmVhZG9ubHkgfSBmcm9tICcuLi9kZWVwLXJlYWRvbmx5LnR5cGUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yIH0gZnJvbSAnLi9lbXB0eS11dGlscy1yZXNwb25zZS5lcnJvcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gJy4vc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1cmNoYXNlIH0gZnJvbSAnLi9wdXJjaGFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4vcHJvamVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXRpbHNSZXNwb25zZSB9IGZyb20gJy4vdXRpbHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgcHJvamVjdCgpOiBEZWVwUmVhZG9ubHk8UHJvamVjdD4ge1xuICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2UucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHVyY2hhc2UoKTogRGVlcFJlYWRvbmx5PFB1cmNoYXNlPiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZS5wdXJjaGFzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogRGVlcFJlYWRvbmx5PFNldHRpbmdzPiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNwb25zZT8ucHVyY2hhc2VfZXh0ZXJuYWxfaWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRoaXMucmVzcG9uc2Uuc2V0dGluZ3MsXG4gICAgICAgIHB1cmNoYXNlX2V4dGVybmFsX2lkOiB0aGlzLnJlc3BvbnNlLnB1cmNoYXNlX2V4dGVybmFsX2lkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZT8uc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXIoKTogRGVlcFJlYWRvbmx5PFVzZXI+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHV0aWxzUmVzcG9uc2UoKTogRGVlcFJlYWRvbmx5PFV0aWxzUmVzcG9uc2U+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGdldCB1bnNhZmVVdGlsc1Jlc3BvbnNlKCk6IERlZXBSZWFkb25seTxVdGlsc1Jlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2tlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90b2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUmVzcG9uc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZXNwb25zZSE6IERlZXBSZWFkb25seTxVdGlsc1Jlc3BvbnNlPiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF90b2tlbiA9ICcnO1xuXG4gIHByaXZhdGUgc2FuZGJveE1vZGUgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudCkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghY29uZmlndXJhdGlvbi50b2tlbikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCd0b2tlbiBpcyBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdG9rZW4gPSBjb25maWd1cmF0aW9uLnRva2VuO1xuICAgIHRoaXMuc2FuZGJveE1vZGUgPSAhIWNvbmZpZ3VyYXRpb24uc2FuZGJveDtcblxuICAgIGF3YWl0IHRoaXMuc2VuZFJlcXVlc3QodGhpcy50b2tlbik7XG5cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzU2FuZGJveE1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2FuZGJveE1vZGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlbmRSZXF1ZXN0KHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnYWNjZXNzX3Rva2VuJywgdG9rZW4pO1xuXG4gICAgdGhpcy5zZWN1cmVBcGkuc2V0U2FuZGJveE1vZGUodGhpcy5pc1NhbmRib3hNb2RlKCkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGkuZ2V0PFV0aWxzUmVzcG9uc2U+KCd1dGlscycsIHsgcGFyYW1zIH0pXG4gICAgKTtcbiAgfVxufVxuIl19