@frontegg/angular 4.12.0 → 4.13.0-alpha.2403521885

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.
@@ -131,6 +131,15 @@ export class FronteggAppService {
131
131
  var _a;
132
132
  (_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideAdminPortal();
133
133
  }
134
+ // Open checkout dialog
135
+ showCheckoutDialog(opts) {
136
+ this.fronteggApp.showCheckoutDialog(opts);
137
+ }
138
+ // Open checkout dialog
139
+ hideCheckoutDialog() {
140
+ var _a;
141
+ (_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideCheckoutDialog();
142
+ }
134
143
  }
135
144
  FronteggAppService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggAppService_Factory() { return new FronteggAppService(i0.ɵɵinject(FronteggAppOptionsClass), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.NgZone)); }, token: FronteggAppService, providedIn: "root" });
136
145
  FronteggAppService.decorators = [
@@ -143,4 +152,4 @@ FronteggAppService.ctorParameters = () => [
143
152
  { type: Router },
144
153
  { type: NgZone }
145
154
  ];
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFTLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBaUMsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLG1CQUFjLEdBQXlDO1lBQ3JELE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUE4QzdCLFlBQXFELE1BQTBCLEVBQVUsTUFBYyxFQUFVLE1BQWM7UUFBMUUsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNDdkgscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdEQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0QsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBbUIsQ0FBQyxDQUFDO1FBQ3ZFLHFCQUFnQixHQUFHLElBQUksZUFBZSxD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Q29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhQYWdlUm91dGVzLCBGcm9udGVnZ1N0YXRlLCBpbml0aWFsaXplIH0gZnJvbSAnQGZyb250ZWdnL2FkbWluLXBvcnRhbCc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcEluc3RhbmNlLCBGcm9udGVnZ0FwcE9wdGlvbnMgfSBmcm9tICdAZnJvbnRlZ2cvdHlwZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGcm9udGVnZ0xvYWRHdWFyZCB9IGZyb20gJy4vZ3VhcmRzL2Zyb250ZWdnLWxvYWQuZ3VhcmQnO1xuaW1wb3J0IHsgQ29udGV4dEhvbGRlciwgUmVkaXJlY3RPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3Jlc3QtYXBpJztcbmltcG9ydCB7IEZyb250ZWdnQ29tcG9uZW50IH0gZnJvbSAnLi9mcm9udGVnZy5jb21wb25lbnQnO1xuXG50eXBlIEZyb250ZWdnQXBwID0gRnJvbnRlZ2dBcHBJbnN0YW5jZSAmIHtcbiAgc2hvd0FkbWluUG9ydGFsKCk6IHZvaWQ7XG4gIGhpZGVBZG1pblBvcnRhbCgpOiB2b2lkO1xufTtcblxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQXBwT3B0aW9uc0NsYXNzIGltcGxlbWVudHMgRnJvbnRlZ2dBcHBPcHRpb25zIHtcbiAgY29udGV4dE9wdGlvbnM6IEZyb250ZWdnQXBwT3B0aW9uc1snY29udGV4dE9wdGlvbnMnXSA9IHtcbiAgICBiYXNlVXJsOiAnaHR0cHM6Ly9zdWItZG9tYWluLmZyb250ZWdnLmNvbScsXG4gIH07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGcm9udGVnZ0FwcFNlcnZpY2Uge1xuICBmcm9udGVnZ0FwcDogRnJvbnRlZ2dBcHA7XG5cbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBpc0F1dGhlbnRpY2F0ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgc3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlPih7fSBhcyBGcm9udGVnZ1N0YXRlKTtcbiAgcHJpdmF0ZSBhdXRoU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydhdXRoJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2F1dGgnXSk7XG4gIHByaXZhdGUgYXVkaXRzU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydhdWRpdHMnXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10pO1xuICBwcml2YXRlIGNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnY29ubmVjdGl2aXR5J10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ3N1YnNjcmlwdGlvbnMnXSk7XG4gIHByaXZhdGUgdmVuZG9yU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWyd2ZW5kb3InXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10pO1xuXG5cbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXV0aFN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2F1dGgnXT4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXVkaXRzU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hdWRpdHNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY29ubmVjdGl2aXR5U3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnY29ubmVjdGl2aXR5J10+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3Vic2NyaXB0aW9uc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ3N1YnNjcmlwdGlvbnMnXT4ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdmVuZG9yU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10+IHtcbiAgICByZXR1cm4gdGhpcy52ZW5kb3JTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9O1xuXG5cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEZyb250ZWdnQXBwT3B0aW9uc0NsYXNzKSBwcml2YXRlIGNvbmZpZzogRnJvbnRlZ2dBcHBPcHRpb25zLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgdGhyb3cgRXJyb3IoJ05lZWQgdG8gcGFzcyBjb25maWc6IEZyb250ZWdnQ29uZmlnT3B0aW9ucyBpbiBGcm9udGVnZ0FwcE1vZHVsZS5mb3JSb290KGNvbmZpZyknKTtcbiAgICB9XG5cbiAgICBpZigod2luZG93IGFzIGFueSkuQ1lQUkVTU19DT05GSUcpe1xuICAgICAgdGhpcy5jb25maWcgPSAod2luZG93IGFzIGFueSkuQ1lQUkVTU19DT05GSUc7XG4gICAgfVxuICAgIGNvbnN0IG9uUmVkaXJlY3RUbyA9ICh0bzogc3RyaW5nLCBvcHRzPzogUmVkaXJlY3RPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBiYXNlTmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgICBsZXQgcGF0aCA9IHRvO1xuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChiYXNlTmFtZSkgJiYgYmFzZU5hbWUgIT09ICcvJykge1xuICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoYmFzZU5hbWUubGVuZ3RoIC0gMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRzPy5yZWZyZXNoKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcGF0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdHM/LnJlcGxhY2UpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aCwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBDb250ZXh0SG9sZGVyLnNldE9uUmVkaXJlY3RUbyhvblJlZGlyZWN0VG8pO1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAgPSBpbml0aWFsaXplKHtcbiAgICAgIG9uUmVkaXJlY3RUbyxcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgIH0pO1xuXG5cbiAgICAvLyBBZGQgYWxsIGxvZ2luIGJveCByb3V0ZXMgdG8gQW5ndWxhciByb3V0ZXIgY29uZmlnXG4gICAgdGhpcy5yb3V0ZXIucmVzZXRDb25maWcoW1xuICAgICAgLi4udGhpcy5tYXBBdXRoQ29tcG9uZW50cyxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJycsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbRnJvbnRlZ2dMb2FkR3VhcmRdLFxuICAgICAgICBjaGlsZHJlbjogWy4uLnRoaXMucm91dGVyLmNvbmZpZ10sXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgLy8gU3Vic2NyaWJlIG9uIGZyb250ZWdnQXBwIHN0b3JlIHRvIGNoYW5nZSBzdGF0ZSBzdWJqZWN0c1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGZyb250ZWdnU3RvcmUgPSB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkgYXMgRnJvbnRlZ2dTdGF0ZTtcbiAgICAgIGlmICh0aGlzLmlzTG9hZGluZ1N1YmplY3QuZ2V0VmFsdWUoKSAhPT0gZnJvbnRlZ2dTdG9yZS5hdXRoLmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmlzTG9hZGluZ1N1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGguaXNMb2FkaW5nKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuZ2V0VmFsdWUoKSAhPT0gZnJvbnRlZ2dTdG9yZS5hdXRoLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGguaXNBdXRoZW50aWNhdGVkKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlKTtcbiAgICAgIHRoaXMuYXV0aFN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aCk7XG4gICAgICB0aGlzLmF1ZGl0c1N0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXVkaXRzKTtcbiAgICAgIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5jb25uZWN0aXZpdHkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5zdWJzY3JpcHRpb25zKTtcbiAgICAgIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS52ZW5kb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IG1hcEF1dGhDb21wb25lbnRzKCk6IFJvdXRlW10ge1xuICAgIGNvbnN0IGF1dGhSb3V0ZXMgPSB0aGlzLmF1dGhSb3V0ZXM7XG4gICAgcmV0dXJuIChPYmplY3Qua2V5cyhhdXRoUm91dGVzKSBhcyAoa2V5b2YgQXV0aFBhZ2VSb3V0ZXMpW10pXG4gICAgICAuZmlsdGVyKChrZXk6IGtleW9mIEF1dGhQYWdlUm91dGVzKSA9PiBrZXkgIT09ICdhdXRoZW50aWNhdGVkVXJsJyAmJiBrZXkgIT09ICdzaWduVXBTdWNjZXNzVXJsJyAmJiBrZXkgIT0gbnVsbClcbiAgICAgIC5tYXAoKGtleToga2V5b2YgQXV0aFBhZ2VSb3V0ZXMpID0+ICh7XG4gICAgICAgIHBhdGg6IGF1dGhSb3V0ZXNba2V5XT8uc3Vic3RyaW5nKDEpLFxuICAgICAgICBjb21wb25lbnQ6IEZyb250ZWdnQ29tcG9uZW50LFxuICAgICAgfSkpO1xuICB9XG5cbiAgZ2V0IGF1dGhSb3V0ZXMoKTogQXV0aFBhZ2VSb3V0ZXMge1xuICAgIHJldHVybiB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC5yb3V0ZXM7XG4gIH1cblxuICAvLyBPcGVuIGFkbWluIHBvcnRhbFxuICBwdWJsaWMgc2hvd0FkbWluUG9ydGFsKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAuc2hvd0FkbWluUG9ydGFsKCk7XG4gIH1cblxuICAvLyBPcGVuIGFkbWluIHBvcnRhbFxuICBwdWJsaWMgaGlkZUFkbWluUG9ydGFsKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHA/LmhpZGVBZG1pblBvcnRhbCgpO1xuICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFTLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBaUMsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLG1CQUFjLEdBQXlDO1lBQ3JELE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUE4QzdCLFlBQXFELE1BQTBCLEVBQVUsTUFBYyxFQUFVLE1BQWM7UUFBMUUsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNDdkgscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdEQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0QsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBbUIsQ0FBQyxDQUFDO1FBQ3ZFLHFCQUFnQixHQUFHLElBQUksZUFBZSxD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RCx1QkFBdUI7SUFDaEIsa0JBQWtCOztRQUN2QixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDekMsQ0FBQzs7OztZQWhKRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0ErQ2MsTUFBTSxTQUFDLHVCQUF1QjtZQXBFN0IsTUFBTTtZQURPLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhQYWdlUm91dGVzLCBGcm9udGVnZ1N0YXRlLCBpbml0aWFsaXplIH0gZnJvbSAnQGZyb250ZWdnL2FkbWluLXBvcnRhbCc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcEluc3RhbmNlLCBGcm9udGVnZ0FwcE9wdGlvbnMsIEZyb250ZWdnQ2hlY2tvdXREaWFsb2dPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3R5cGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dMb2FkR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9mcm9udGVnZy1sb2FkLmd1YXJkJztcbmltcG9ydCB7IENvbnRleHRIb2xkZXIsIFJlZGlyZWN0T3B0aW9ucyB9IGZyb20gJ0Bmcm9udGVnZy9yZXN0LWFwaSc7XG5pbXBvcnQgeyBGcm9udGVnZ0NvbXBvbmVudCB9IGZyb20gJy4vZnJvbnRlZ2cuY29tcG9uZW50JztcblxudHlwZSBGcm9udGVnZ0FwcCA9IEZyb250ZWdnQXBwSW5zdGFuY2UgJiB7XG4gIHNob3dBZG1pblBvcnRhbCgpOiB2b2lkO1xuICBoaWRlQWRtaW5Qb3J0YWwoKTogdm9pZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcyBpbXBsZW1lbnRzIEZyb250ZWdnQXBwT3B0aW9ucyB7XG4gIGNvbnRleHRPcHRpb25zOiBGcm9udGVnZ0FwcE9wdGlvbnNbJ2NvbnRleHRPcHRpb25zJ10gPSB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vc3ViLWRvbWFpbi5mcm9udGVnZy5jb20nLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBTZXJ2aWNlIHtcbiAgZnJvbnRlZ2dBcHA6IEZyb250ZWdnQXBwO1xuXG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZT4oe30gYXMgRnJvbnRlZ2dTdGF0ZSk7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydhdXRoJ10pO1xuICBwcml2YXRlIGF1ZGl0c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddKTtcbiAgcHJpdmF0ZSBjb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXSk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10pO1xuICBwcml2YXRlIHZlbmRvclN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddKTtcblxuXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dGhTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydhdXRoJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1ZGl0c1N0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGNvbm5lY3Rpdml0eVN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHN1YnNjcmlwdGlvbnNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZlbmRvclN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddPiB7XG4gICAgcmV0dXJuIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzTG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcykgcHJpdmF0ZSBjb25maWc6IEZyb250ZWdnQXBwT3B0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHRocm93IEVycm9yKCdOZWVkIHRvIHBhc3MgY29uZmlnOiBGcm9udGVnZ0NvbmZpZ09wdGlvbnMgaW4gRnJvbnRlZ2dBcHBNb2R1bGUuZm9yUm9vdChjb25maWcpJyk7XG4gICAgfVxuXG4gICAgaWYoKHdpbmRvdyBhcyBhbnkpLkNZUFJFU1NfQ09ORklHKXtcbiAgICAgIHRoaXMuY29uZmlnID0gKHdpbmRvdyBhcyBhbnkpLkNZUFJFU1NfQ09ORklHO1xuICAgIH1cbiAgICBjb25zdCBvblJlZGlyZWN0VG8gPSAodG86IHN0cmluZywgb3B0cz86IFJlZGlyZWN0T3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgYmFzZU5hbWUgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xuICAgICAgbGV0IHBhdGggPSB0bztcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYmFzZU5hbWUpICYmIGJhc2VOYW1lICE9PSAnLycpIHtcbiAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGJhc2VOYW1lLmxlbmd0aCAtIDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0cz8ucmVmcmVzaCkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHBhdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChvcHRzPy5yZXBsYWNlKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgQ29udGV4dEhvbGRlci5zZXRPblJlZGlyZWN0VG8ob25SZWRpcmVjdFRvKTtcbiAgICB0aGlzLmZyb250ZWdnQXBwID0gaW5pdGlhbGl6ZSh7XG4gICAgICBvblJlZGlyZWN0VG8sXG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICB9KTtcblxuXG4gICAgLy8gQWRkIGFsbCBsb2dpbiBib3ggcm91dGVzIHRvIEFuZ3VsYXIgcm91dGVyIGNvbmZpZ1xuICAgIHRoaXMucm91dGVyLnJlc2V0Q29uZmlnKFtcbiAgICAgIC4uLnRoaXMubWFwQXV0aENvbXBvbmVudHMsXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBjYW5BY3RpdmF0ZTogW0Zyb250ZWdnTG9hZEd1YXJkXSxcbiAgICAgICAgY2hpbGRyZW46IFsuLi50aGlzLnJvdXRlci5jb25maWddLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIC8vIFN1YnNjcmliZSBvbiBmcm9udGVnZ0FwcCBzdG9yZSB0byBjaGFuZ2Ugc3RhdGUgc3ViamVjdHNcbiAgICB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBmcm9udGVnZ1N0b3JlID0gdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpIGFzIEZyb250ZWdnU3RhdGU7XG4gICAgICBpZiAodGhpcy5pc0xvYWRpbmdTdWJqZWN0LmdldFZhbHVlKCkgIT09IGZyb250ZWdnU3RvcmUuYXV0aC5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoLmlzTG9hZGluZyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmdldFZhbHVlKCkgIT09IGZyb250ZWdnU3RvcmUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoLmlzQXV0aGVudGljYXRlZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZSk7XG4gICAgICB0aGlzLmF1dGhTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGgpO1xuICAgICAgdGhpcy5hdWRpdHNTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1ZGl0cyk7XG4gICAgICB0aGlzLmNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuY29ubmVjdGl2aXR5KTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuc3Vic2NyaXB0aW9ucyk7XG4gICAgICB0aGlzLnZlbmRvclN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUudmVuZG9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBtYXBBdXRoQ29tcG9uZW50cygpOiBSb3V0ZVtdIHtcbiAgICBjb25zdCBhdXRoUm91dGVzID0gdGhpcy5hdXRoUm91dGVzO1xuICAgIHJldHVybiAoT2JqZWN0LmtleXMoYXV0aFJvdXRlcykgYXMgKGtleW9mIEF1dGhQYWdlUm91dGVzKVtdKVxuICAgICAgLmZpbHRlcigoa2V5OiBrZXlvZiBBdXRoUGFnZVJvdXRlcykgPT4ga2V5ICE9PSAnYXV0aGVudGljYXRlZFVybCcgJiYga2V5ICE9PSAnc2lnblVwU3VjY2Vzc1VybCcgJiYga2V5ICE9IG51bGwpXG4gICAgICAubWFwKChrZXk6IGtleW9mIEF1dGhQYWdlUm91dGVzKSA9PiAoe1xuICAgICAgICBwYXRoOiBhdXRoUm91dGVzW2tleV0/LnN1YnN0cmluZygxKSxcbiAgICAgICAgY29tcG9uZW50OiBGcm9udGVnZ0NvbXBvbmVudCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIGdldCBhdXRoUm91dGVzKCk6IEF1dGhQYWdlUm91dGVzIHtcbiAgICByZXR1cm4gdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpLmF1dGgucm91dGVzO1xuICB9XG5cbiAgLy8gT3BlbiBhZG1pbiBwb3J0YWxcbiAgcHVibGljIHNob3dBZG1pblBvcnRhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwLnNob3dBZG1pblBvcnRhbCgpO1xuICB9XG5cbiAgLy8gT3BlbiBhZG1pbiBwb3J0YWxcbiAgcHVibGljIGhpZGVBZG1pblBvcnRhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwPy5oaWRlQWRtaW5Qb3J0YWwoKTtcbiAgfVxuXG4gIC8vIE9wZW4gY2hlY2tvdXQgZGlhbG9nXG4gIHB1YmxpYyBzaG93Q2hlY2tvdXREaWFsb2cob3B0czogRnJvbnRlZ2dDaGVja291dERpYWxvZ09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwLnNob3dDaGVja291dERpYWxvZyhvcHRzKTtcbiAgfVxuXG4gIC8vIE9wZW4gY2hlY2tvdXQgZGlhbG9nXG4gIHB1YmxpYyBoaWRlQ2hlY2tvdXREaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcD8uaGlkZUNoZWNrb3V0RGlhbG9nKCk7XG4gIH1cbn1cbiJdfQ==
@@ -271,6 +271,7 @@ export class FronteggAuthService {
271
271
  }
272
272
  dispatchAction(type, payload) {
273
273
  const store = this.fronteggAppService.fronteggApp.store;
274
+ // @ts-ignore
274
275
  store.dispatch({ type: `${authStoreName}/${type}`, payload });
275
276
  }
276
277
  }
@@ -283,4 +284,4 @@ FronteggAuthService.decorators = [
283
284
  FronteggAuthService.ctorParameters = () => [
284
285
  { type: FronteggAppService }
285
286
  ];
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnJvbnRlZ2ctYXBwL3NyYy9saWIvZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBdUNMLGFBQWEsR0FJZCxNQUFNLHVCQUF1QixDQUFDOzs7QUEwRC9CLE1BQU0sT0FBTyxtQkFBbUI7SUFxSDlCLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBcEhsRCxpQ0FBNEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsRUFBd0MsQ0FBQyxDQUFDO1FBQ2pJLGdDQUEyQixHQUFHLElBQUksZUFBZSxDQUFvQyxFQUF1QyxDQUFDLENBQUM7UUFDOUgseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQTZCLEVBQWdDLENBQUMsQ0FBQztRQUN6RywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsRUFBaUMsQ0FBQyxDQUFDO1FBQzVHLCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFtQyxFQUFzQyxDQUFDLENBQUM7UUFDM0gsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQTBCLEVBQTZCLENBQUMsQ0FBQztRQUNoRyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixFQUEyQixDQUFDLENBQUM7UUFDMUYsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQStCLENBQUMsQ0FBQztRQUN0RyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsRUFBNkIsQ0FBQyxDQUFD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SUFDOUMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQXVDTyxjQUFjLENBQUMsSUFBWSxFQUFFLE9BQWE7UUFDaEQsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3ZFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxhQUFhLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDOzs7O1lBaEtGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBdEdRLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9mcm9udGVnZy1hcHAuc2VydmljZSc7XG5pbXBvcnQgRmFzdERlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHtcbiAgUm9sZXNTdGF0ZSxcbiAgVGVuYW50c1N0YXRlLFxuICBBY2NvdW50U2V0dGluZ3NTdGF0ZSxcbiAgU2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5UGF5bG9hZCxcbiAgU2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dFBheWxvYWQsXG4gIFNhdmVTZWN1cml0eVBvbGljeU1mYVBheWxvYWQsXG4gIFBhc3N3b3JkUG9saWN5U3RhdGUsXG4gIFBhc3N3b3JkSGlzdG9yeVBvbGljeVN0YXRlLFxuICBNZmFQb2xpY3lTdGF0ZSxcbiAgQ2FwdGNoYVBvbGljeVN0YXRlLFxuICBMb2Nrb3V0UG9saWN5U3RhdGUsXG4gIFB1YmxpY1BvbGljeVN0YXRlLFxuICBHbG9iYWxQb2xpY3lTdGF0ZSxcbiAgU2VjdXJpdHlQb2xpY3lTdGF0ZSxcbiAgQWRkVXNlckFwaVRva2VuUGF5bG9hZCxcbiAgQWRkVGVuYW50QXBpVG9rZW5QYXlsb2FkLFxuICBBcGlUb2tlblR5cGUsXG4gIEFwaVRva2Vuc1N0YXRlLFxuICBBcGlTdGF0ZUluZGljYXRvcixcbiAgSVNldERlbGV0ZVVzZXJEaWFsb2csXG4gIElTZXRBZGRVc2VyRGlhbG9nLFxuICBMb2FkUm9sZXNBbmRQZXJtaXNzaW9uc1BheWxvYWQsXG4gIFRlYW1TdGF0ZSxcbiAgVGVhbVN0YXRlSW5kaWNhdG9yLFxuICBNRkFTdGF0ZSxcbiAgU2F2ZVNTT0NvbmZpZ3VyYXRpb25QYXlsb2FkLFxuICBTU09TdGF0ZSxcbiAgUHJvZmlsZVN0YXRlLFxuICBTYXZlU1NPQ29uZmlndXJhdGlvbkZpbGVQYXlsb2FkLFxuICBVcGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXNQYXlsb2FkLFxuICBEZWxldGVTYW1sR3JvdXBQYXlsb2FkLFxuICBDcmVhdGVTYW1sR3JvdXBQYXlsb2FkLFxuICBTYXZlUHJvZmlsZVBheWxvYWQsXG4gIFNpZ25VcFN0YXRlLFxuICBGb3Jnb3RQYXNzd29yZFN0YXRlLFxuICBBY2NlcHRJbnZpdGF0aW9uU3RhdGUsXG4gIEF1dGhTdGF0ZSxcbiAgVXNlcixcbiAgYXV0aFN0b3JlTmFtZSxcbiAgTG9naW5TdGF0ZSxcbiAgQWN0aXZhdGVBY2NvdW50U3RyYXRlZ3lTdGF0ZSxcbiAgRW5oYW5jZWRTdG9yZSxcbn0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7XG4gIElMb2dpbixcbiAgSUxvZ2luV2l0aE1mYSxcbiAgSVBvc3RMb2dpbixcbiAgSVByZUxvZ2luLFxuICBJUmVjb3Zlck1GQVRva2VuLFxuICBJQWN0aXZhdGVBY2NvdW50LFxuICBJTG9naW5WaWFTb2NpYWxMb2dpbixcbiAgSVNldFNvY2lhbExvZ2luRXJyb3IsXG4gIElSZXNlbmRBY3RpdmF0aW9uRW1haWwsXG4gIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneSxcbiAgSUdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5UmVzcG9uc2UsXG4gIElBY2NlcHRJbnZpdGF0aW9uLFxuICBJRm9yZ290UGFzc3dvcmQsXG4gIElSZXNldFBhc3N3b3JkLFxuICBJR2V0VXNlclBhc3N3b3JkQ29uZmlnLFxuICBJU2lnblVwVXNlcixcbiAgSUNoYW5nZVBhc3N3b3JkLFxuICBJT2lkY1Bvc3RMb2dpbixcbiAgSVZlcmlmeU1mYSxcbiAgSURpc2FibGVNZmEsXG4gIElMb2FkVXNlcnMsXG4gIElUZWFtVXNlcixcbiAgSUFkZFVzZXIsXG4gIElVcGRhdGVVc2VyLFxuICBJRGVsZXRlVXNlcixcbiAgSVJlc2VuZEFjdGl2YXRpb25MaW5rLFxuICBJU2V0dGluZ3NSZXNwb25zZSxcbiAgSVN3aXRjaFRlbmFudCxcbiAgSVRlbmFudHNSZXNwb25zZSxcbiAgSUFkZFJvbGUsXG4gIElSb2xlLFxuICBJVXBkYXRlUm9sZSxcbiAgSURlbGV0ZVJvbGUsXG4gIElBdHRhY2hQZXJtaXNzaW9uc1RvUm9sZSxcbiAgSVJlc2VuZEludml0YXRpb25MaW5rLFxuICBJUm9sZVBlcm1pc3Npb24sXG59IGZyb20gJ0Bmcm9udGVnZy9yZXN0LWFwaSc7XG5pbXBvcnQgeyBBY3RpdmF0ZUFjY291bnRTdGF0ZSwgU29jaWFsTG9naW5TdGF0ZSB9IGZyb20gJ0Bmcm9udGVnZy9yZWR1eC1zdG9yZS9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW50ZXJmYWNlIEF1dGhTdWJTdGF0ZXMge1xuICBmaWVsZDogUGFydGlhbDxrZXlvZiBBdXRoU3RhdGU+O1xuICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55Pjtcbn1cblxuZXhwb3J0IHR5cGUgV2l0aENhbGxiYWNrPFQgPSB7fSwgUiA9IGJvb2xlYW4+ID0gVCAmIHtcbiAgY2FsbGJhY2s/OiAoZGF0YTogUiB8IG51bGwsIGVycm9yPzogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aFNpbGVudExvYWQ8VD4gPSBUICYge1xuICBzaWxlbnRMb2FkaW5nPzogYm9vbGVhbjtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGcm9udGVnZ0F1dGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBhY2NlcHRJbnZpdGF0aW9uU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FjY2VwdEludml0YXRpb25TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2FjY2VwdEludml0YXRpb25TdGF0ZSddKTtcbiAgcHJpdmF0ZSBhY2NvdW50U2V0dGluZ3NTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydhY2NvdW50U2V0dGluZ3NTdGF0ZSddKTtcbiAgcHJpdmF0ZSBhY3RpdmF0ZVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydhY3RpdmF0ZVN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddKTtcbiAgcHJpdmF0ZSBhcGlUb2tlbnNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnYXBpVG9rZW5zU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydhcGlUb2tlbnNTdGF0ZSddKTtcbiAgcHJpdmF0ZSBmb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydmb3Jnb3RQYXNzd29yZFN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnZm9yZ290UGFzc3dvcmRTdGF0ZSddKTtcbiAgcHJpdmF0ZSBsb2dpblN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydsb2dpblN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddKTtcbiAgcHJpdmF0ZSBtZmFTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnbWZhU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydtZmFTdGF0ZSddKTtcbiAgcHJpdmF0ZSBwcm9maWxlU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Byb2ZpbGVTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3Byb2ZpbGVTdGF0ZSddKTtcbiAgcHJpdmF0ZSByb2xlc1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydyb2xlc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddKTtcbiAgcHJpdmF0ZSByb3V0ZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3JvdXRlcyddPih7fSBhcyBBdXRoU3RhdGVbJ3JvdXRlcyddKTtcbiAgcHJpdmF0ZSBzZWN1cml0eVBvbGljeVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydzZWN1cml0eVBvbGljeVN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc2VjdXJpdHlQb2xpY3lTdGF0ZSddKTtcbiAgcHJpdmF0ZSBzaWduVXBTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydzaWduVXBTdGF0ZSddKTtcbiAgcHJpdmF0ZSBzb2NpYWxMb2dpblN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydzb2NpYWxMb2dpblN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddKTtcbiAgcHJpdmF0ZSBzc29TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc3NvU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydzc29TdGF0ZSddKTtcbiAgcHJpdmF0ZSB0ZWFtU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3RlYW1TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3RlYW1TdGF0ZSddKTtcbiAgcHJpdmF0ZSB0ZW5hbnRzU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3RlbmFudHNTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3RlbmFudHNTdGF0ZSddKTtcbiAgcHJpdmF0ZSB1c2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd1c2VyJ10+KHt9IGFzIEF1dGhTdGF0ZVsndXNlciddKTtcbiAgcHJpdmF0ZSBpc0F1dGhlbnRpY2F0ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2lzQXV0aGVudGljYXRlZCddPihmYWxzZSk7XG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydpc0xvYWRpbmcnXT4odHJ1ZSk7XG4gIHByaXZhdGUgaXNTU09BdXRoU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydpc1NTT0F1dGgnXT4oZmFsc2UpO1xuICBwcml2YXRlIHNzb0FDU1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc3NvQUNTJ10+KCcnKTtcblxuXG4gIGdldCBhY2NlcHRJbnZpdGF0aW9uU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLmFjY2VwdEludml0YXRpb25TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYWNjb3VudFNldHRpbmdzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydhY2NvdW50U2V0dGluZ3NTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudFNldHRpbmdzU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGFjdGl2YXRlU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydhY3RpdmF0ZVN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmF0ZVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhcGlUb2tlbnNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2FwaVRva2Vuc1N0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlUb2tlbnNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZm9yZ290UGFzc3dvcmRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2ZvcmdvdFBhc3N3b3JkU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLmZvcmdvdFBhc3N3b3JkU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGxvZ2luU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydsb2dpblN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dpblN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBtZmFTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ21mYVN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5tZmFTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcHJvZmlsZVN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsncHJvZmlsZVN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHJvbGVzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydyb2xlc1N0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5yb2xlc1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCByb3V0ZXNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3JvdXRlcyddPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzZWN1cml0eVBvbGljeVN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc2VjdXJpdHlQb2xpY3lTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2lnblVwU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzaWduVXBTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc2lnblVwU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNvY2lhbExvZ2luU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzb2NpYWxMb2dpblN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zb2NpYWxMb2dpblN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzc29TdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3Nzb1N0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zc29TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdGVhbVN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsndGVhbVN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRlbmFudHNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3RlbmFudHNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50c1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB1c2VyJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsndXNlciddPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdXNlcigpOiBBdXRoU3RhdGVbJ3VzZXInXSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC51c2VyO1xuICB9XG5cblxuICBnZXQgaXNBdXRoZW50aWNhdGVkJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnaXNBdXRoZW50aWNhdGVkJ10+IHtcbiAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpOiBBdXRoU3RhdGVbJ2lzQXV0aGVudGljYXRlZCddIHtcbiAgICByZXR1cm4gdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKS5hdXRoLmlzQXV0aGVudGljYXRlZDtcbiAgfVxuXG4gIGdldCBpc0xvYWRpbmckKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydpc0xvYWRpbmcnXT4ge1xuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNTU09BdXRoJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnaXNTU09BdXRoJ10+IHtcbiAgICByZXR1cm4gdGhpcy5pc1NTT0F1dGhTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNzb0FDUyQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3Nzb0FDUyddPiB7XG4gICAgcmV0dXJuIHRoaXMuc3NvQUNTU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJvbnRlZ2dBcHBTZXJ2aWNlOiBGcm9udGVnZ0FwcFNlcnZpY2UpIHtcbiAgICBjb25zdCBhdXRoU3ViU3RhdGVzOiBBdXRoU3ViU3RhdGVzW10gPSBbXG4gICAgICB7IGZpZWxkOiAnYWNjZXB0SW52aXRhdGlvblN0YXRlJywgc3ViamVjdDogdGhpcy5hY2NlcHRJbnZpdGF0aW9uU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnYWNjb3VudFNldHRpbmdzU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmFjY291bnRTZXR0aW5nc1N0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FjdGl2YXRlU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmFjdGl2YXRlU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnYXBpVG9rZW5zU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmFwaVRva2Vuc1N0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2ZvcmdvdFBhc3N3b3JkU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmZvcmdvdFBhc3N3b3JkU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndGVuYW50c1N0YXRlJywgc3ViamVjdDogdGhpcy50ZW5hbnRzU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnbG9naW5TdGF0ZScsIHN1YmplY3Q6IHRoaXMubG9naW5TdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdtZmFTdGF0ZScsIHN1YmplY3Q6IHRoaXMubWZhU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAncHJvZmlsZVN0YXRlJywgc3ViamVjdDogdGhpcy5wcm9maWxlU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAncm9sZXNTdGF0ZScsIHN1YmplY3Q6IHRoaXMucm9sZXNTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdyb3V0ZXMnLCBzdWJqZWN0OiB0aGlzLnJvdXRlc1N1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzZWN1cml0eVBvbGljeVN0YXRlJywgc3ViamVjdDogdGhpcy5zZWN1cml0eVBvbGljeVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3NpZ25VcFN0YXRlJywgc3ViamVjdDogdGhpcy5zaWduVXBTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzb2NpYWxMb2dpblN0YXRlJywgc3ViamVjdDogdGhpcy5zb2NpYWxMb2dpblN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3Nzb1N0YXRlJywgc3ViamVjdDogdGhpcy5zc29TdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICd0ZWFtU3RhdGUnLCBzdWJqZWN0OiB0aGlzLnRlYW1TdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICd1c2VyJywgc3ViamVjdDogdGhpcy51c2VyU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2lzU1NPQXV0aCcsIHN1YmplY3Q6IHRoaXMuaXNTU09BdXRoU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3Nzb0FDUycsIHN1YmplY3Q6IHRoaXMuc3NvQUNTU3ViamVjdCB9LFxuICAgIF07XG5cbiAgICAvLyBNZW1vaXplZCBBdXRoIFN0YXRlXG4gICAgdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuYXV0aFN0YXRlJC5zdWJzY3JpYmUoKGF1dGhTdGF0ZSkgPT4ge1xuICAgICAgaWYgKGF1dGhTdGF0ZSAhPSBudWxsKSB7XG4gICAgICAgIGZvciAoY29uc3QgYXV0aFN1YlN0YXRlIG9mIGF1dGhTdWJTdGF0ZXMpIHtcbiAgICAgICAgICBpZiAoIUZhc3REZWVwRXF1YWwoYXV0aFN1YlN0YXRlLnN1YmplY3QuZ2V0VmFsdWUoKSwgYXV0aFN0YXRlW2F1dGhTdWJTdGF0ZS5maWVsZF0pKSB7XG4gICAgICAgICAgICBhdXRoU3ViU3RhdGUuc3ViamVjdC5uZXh0KGF1dGhTdGF0ZVthdXRoU3ViU3RhdGUuZmllbGRdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0Lm5leHQoYXV0aFN0YXRlLmlzQXV0aGVudGljYXRlZCk7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5uZXh0KGF1dGhTdGF0ZS5pc0xvYWRpbmcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaEFjdGlvbih0eXBlOiBzdHJpbmcsIHBheWxvYWQ/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdG9yZTogRW5oYW5jZWRTdG9yZSA9IHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlO1xuICAgIHN0b3JlLmRpc3BhdGNoKHsgdHlwZTogYCR7YXV0aFN0b3JlTmFtZX0vJHt0eXBlfWAsIHBheWxvYWQgfSk7XG4gIH1cblxuICAvLyBSb290IEFjdGlvbnNcbiAgc2V0U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QXV0aFN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFN0YXRlJyk7XG4gIHNldFVzZXIgPSAodXNlcjogVXNlcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VXNlcicsIHVzZXIpO1xuXG4gIC8vIExvZ2luIEFjdGlvbnNcbiAgc2V0TG9naW5TdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxMb2dpblN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0TG9naW5TdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRMb2dpblN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRMb2dpblN0YXRlJyk7XG4gIHJlcXVlc3RBdXRob3JpemUgPSAoZmlyc3RUaW1lPzogYm9vbGVhbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVxdWVzdEF1dGhvcml6ZScsIGZpcnN0VGltZSk7XG4gIGxvZ2luV2l0aFJlZGlyZWN0ID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVxdWVzdEhvc3RlZExvZ2luQXV0aG9yaXplJyk7XG4gIHByZUxvZ2luID0gKHBheWxvYWQ6IElQcmVMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncHJlTG9naW4nLCBwYXlsb2FkKTtcbiAgcG9zdExvZ2luID0gKHBheWxvYWQ6IElQb3N0TG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Bvc3RMb2dpbicsIHBheWxvYWQpO1xuICBsb2dpbiA9IChwYXlsb2FkOiBJTG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvZ2luJywgcGF5bG9hZCk7XG4gIGxvZ2luV2l0aE1mYSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUxvZ2luV2l0aE1mYT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvZ2luV2l0aE1mYScsIHBheWxvYWQpO1xuICByZWNvdmVyTWZhID0gKHBheWxvYWQ6IElSZWNvdmVyTUZBVG9rZW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlY292ZXJNZmEnLCBwYXlsb2FkKTtcbiAgbG9nb3V0ID0gKGNhbGxiYWNrPzogKCkgPT4gdm9pZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9nb3V0JywgY2FsbGJhY2spO1xuICBzaWxlbnRMb2dvdXQgPSAoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzaWxlbnRMb2dvdXQnLCBjYWxsYmFjayk7XG4gIGNoZWNrSWZBbGxvd1RvUmVtZW1iZXJNZmFEZXZpY2UgPSAocGF5bG9hZDogeyBtZmFUb2tlbjogc3RyaW5nIH0pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignY2hlY2tJZkFsbG93VG9SZW1lbWJlck1mYURldmljZScsIHBheWxvYWQpO1xuXG4gIC8vIFNvY2lhbCBMb2dpbnMgQWN0aW9uc1xuICBzZXRTb2NpYWxMb2dpbnNTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxTb2NpYWxMb2dpblN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U29jaWFsTG9naW5zU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U29jaWFsTG9naW5zU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFNvY2lhbExvZ2luc1N0YXRlJyk7XG4gIGxvYWRTb2NpYWxMb2dpbnNDb25maWd1cmF0aW9uID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNvY2lhbExvZ2luc0NvbmZpZ3VyYXRpb24nKTtcbiAgbG9naW5WaWFTb2NpYWxMb2dpbiA9IChwYXlsb2FkOiBJTG9naW5WaWFTb2NpYWxMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9naW5WaWFTb2NpYWxMb2dpbicsIHBheWxvYWQpO1xuICBzZXRTb2NpYWxMb2dpbkVycm9yID0gKHBheWxvYWQ6IElTZXRTb2NpYWxMb2dpbkVycm9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTb2NpYWxMb2dpbkVycm9yJywgcGF5bG9hZCk7XG5cbiAgLy8gQWN0aXZhdGUgQWNjb3VudCBBY3Rpb25zXG4gIHNldEFjdGl2YXRlU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QWN0aXZhdGVBY2NvdW50U3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY3RpdmF0ZVN0YXRlJywgc3RhdGUpO1xuICByZXNldEFjdGl2YXRlU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldEFjdGl2YXRlU3RhdGUnKTtcbiAgc2V0QWN0aXZhdGVTdHJhdGVneVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFjdGl2YXRlU3RyYXRlZ3lTdGF0ZScsIHN0YXRlKTtcbiAgYWN0aXZhdGVBY2NvdW50ID0gKHBheWxvYWQ6IElBY3RpdmF0ZUFjY291bnQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FjdGl2YXRlQWNjb3VudCcsIHBheWxvYWQpO1xuICByZXNlbmRBY3RpdmF0aW9uRW1haWwgPSAocGF5bG9hZDogSVJlc2VuZEFjdGl2YXRpb25FbWFpbCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZW5kQWN0aXZhdGlvbkVtYWlsJywgcGF5bG9hZCk7XG4gIGdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5ID0gKFxuICAgIHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJR2V0QWN0aXZhdGVBY2NvdW50U3RyYXRlZ3ksIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneVJlc3BvbnNlPixcbiAgKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdnZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneScsIHBheWxvYWQpO1xuXG4gIC8vIEFjY2VwdCBJbnZpdGF0aW9uIEFjdGlvbnNcbiAgc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjY2VwdEludml0YXRpb25TdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlJywgc3RhdGUpO1xuICByZXNldEFjY2VwdEludml0YXRpb25TdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlJyk7XG4gIGFjY2VwdEludml0YXRpb24gPSAocGF5bG9hZDogSUFjY2VwdEludml0YXRpb24pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FjY2VwdEludml0YXRpb24nLCBwYXlsb2FkKTtcblxuICAvLyBGb3Jnb3QgUGFzc3dvcmQgQWN0aW9uc1xuICBzZXRGb3Jnb3RQYXNzd29yZFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEZvcmdvdFBhc3N3b3JkU3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEZvcmdvdFBhc3N3b3JkU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZScpO1xuICBmb3Jnb3RQYXNzd29yZCA9IChwYXlsb2FkOiBJRm9yZ290UGFzc3dvcmQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2ZvcmdvdFBhc3N3b3JkJywgcGF5bG9hZCk7XG4gIHJlc2V0UGFzc3dvcmQgPSAocGF5bG9hZDogSVJlc2V0UGFzc3dvcmQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0UGFzc3dvcmQnLCBwYXlsb2FkKTtcbiAgbG9hZFBhc3N3b3JkQ29uZmlnID0gKHBheWxvYWQ/OiBJR2V0VXNlclBhc3N3b3JkQ29uZmlnKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUGFzc3dvcmRDb25maWcnLCBwYXlsb2FkKTtcblxuICAvLyBTaWduIFVwIEFjdGlvbnNcbiAgc2V0U2lnblVwU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8U2lnblVwU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTaWduVXBTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTaWduVXBTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2lnblVwU3RhdGUnKTtcbiAgc2lnblVwVXNlciA9IChwYXlsb2FkOiBJU2lnblVwVXNlcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2lnblVwVXNlcicsIHBheWxvYWQpO1xuICByZXNldFNpZ25VcFN0YXRlU29mdCA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2lnblVwU3RhdGVTb2Z0Jyk7XG5cbiAgLy8gUHJvZmlsZSBBY3Rpb25zXG4gIHNldFByb2ZpbGVTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxQcm9maWxlU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRQcm9maWxlU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0UHJvZmlsZVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRQcm9maWxlU3RhdGUnKTtcbiAgbG9hZFByb2ZpbGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUHJvZmlsZScpO1xuICBzYXZlUHJvZmlsZSA9IChwYXlsb2FkOiBTYXZlUHJvZmlsZVBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVQcm9maWxlJywgcGF5bG9hZCk7XG4gIGNoYW5nZVBhc3N3b3JkID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQ2hhbmdlUGFzc3dvcmQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjaGFuZ2VQYXNzd29yZCcsIHBheWxvYWQpO1xuXG4gIC8vIFNTTyBhY3Rpb25zXG4gIHNldFNTT1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNTT1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U1NPU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U1NPU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFNTT1N0YXRlJyk7XG4gIGxvYWRTU09Db25maWd1cmF0aW9ucyA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTU09Db25maWd1cmF0aW9ucycpO1xuICBsb2FkU1NPQXV0aG9yaXphdGlvblJvbGVzID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNTT0F1dGhvcml6YXRpb25Sb2xlcycpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnMgPSAocGF5bG9hZDogU2F2ZVNTT0NvbmZpZ3VyYXRpb25QYXlsb2FkKSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVTU09Db25maWd1cmF0aW9ucycsIHBheWxvYWQpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlID0gKHBheWxvYWQ6IEZpbGVbXSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zRmlsZScsIHBheWxvYWQpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlV2l0aENhbGxiYWNrID0gKHBheWxvYWQ6IFNhdmVTU09Db25maWd1cmF0aW9uRmlsZVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zRmlsZVdpdGhDYWxsYmFjaycsIHBheWxvYWQpO1xuICB2YWxpZGF0ZVNTT0RvbWFpbiA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2YWxpZGF0ZVNTT0RvbWFpbicsIHBheWxvYWQpO1xuICB1cGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXMgPSAocGF5bG9hZDogVXBkYXRlU1NPQXV0aG9yaXphdGlvblJvbGVzUGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCd1cGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXMnLCBwYXlsb2FkKTtcbiAgZGVsZXRlU2FtbEdyb3VwID0gKHBheWxvYWQ6IERlbGV0ZVNhbWxHcm91cFBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2RlbGV0ZVNhbWxHcm91cCcsIHBheWxvYWQpO1xuICBjcmVhdGVTYW1sR3JvdXAgPSAocGF5bG9hZDogQ3JlYXRlU2FtbEdyb3VwUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignY3JlYXRlU2FtbEdyb3VwJywgcGF5bG9hZCk7XG4gIG9pZGNQb3N0bG9naW4gPSAocGF5bG9hZDogSU9pZGNQb3N0TG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29pZGNQb3N0bG9naW4nLCBwYXlsb2FkKTtcblxuICAvLyBNZmEgYWN0aW9uc1xuICBzZXRNZmFTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxNRkFTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldE1mYVN0YXRlJywgc3RhdGUpO1xuICByZXNldE1mYVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRNZmFTdGF0ZScpO1xuICBlbnJvbGxNZmEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdlbnJvbGxNZmEnKTtcbiAgdmVyaWZ5TWZhID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJVmVyaWZ5TWZhLCBzdHJpbmcgfCB1bmRlZmluZWQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2ZXJpZnlNZmEnLCBwYXlsb2FkKTtcbiAgdmVyaWZ5TWZhQWZ0ZXJGb3JjZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUxvZ2luV2l0aE1mYSwgc3RyaW5nIHwgdW5kZWZpbmVkPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2ZXJpZnlNZmFBZnRlckZvcmNlJywgcGF5bG9hZCk7XG4gIGRpc2FibGVNZmEgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElEaXNhYmxlTWZhPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGlzYWJsZU1mYScsIHBheWxvYWQpO1xuXG4gIC8vIFRlYW0gYWN0aW9uc1xuICBzZXRUZWFtTG9hZGVyID0gKHBheWxvYWQ6IFRlYW1TdGF0ZUluZGljYXRvcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVhbUxvYWRlcicsIHBheWxvYWQpO1xuICBzZXRUZWFtRXJyb3IgPSAocGF5bG9hZDogVGVhbVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRUZWFtRXJyb3InLCBwYXlsb2FkKTtcbiAgc2V0VGVhbVN0YXRlID0gKHBheWxvYWQ6IFBhcnRpYWw8VGVhbVN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVhbVN0YXRlJywgcGF5bG9hZCk7XG4gIHJlc2V0VGVhbVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRUZWFtU3RhdGUnKTtcbiAgbG9hZFVzZXJzID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxXaXRoU2lsZW50TG9hZDxJTG9hZFVzZXJzPiwgSVRlYW1Vc2VyW10+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRVc2VycycsIHBheWxvYWQpO1xuICBsb2FkUm9sZXMgPSAocGF5bG9hZD86IExvYWRSb2xlc0FuZFBlcm1pc3Npb25zUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFJvbGVzJywgcGF5bG9hZCk7XG4gIGFkZFVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElBZGRVc2VyLCBJVGVhbVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRVc2VyJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElVcGRhdGVVc2VyLCBJVGVhbVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd1cGRhdGVVc2VyJywgcGF5bG9hZCk7XG4gIGRlbGV0ZVVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElEZWxldGVVc2VyPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVXNlcicsIHBheWxvYWQpO1xuICByZXNlbmRBY3RpdmF0aW9uTGluayA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVJlc2VuZEFjdGl2YXRpb25MaW5rPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRBY3RpdmF0aW9uTGluaycsIHBheWxvYWQpO1xuICByZXNlbmRJbnZpdGF0aW9uTGluayA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVJlc2VuZEludml0YXRpb25MaW5rPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRJbnZpdGF0aW9uTGluaycsIHBheWxvYWQpO1xuICBvcGVuQWRkVXNlckRpYWxvZyA9IChwYXlsb2FkPzogSVNldEFkZFVzZXJEaWFsb2cpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29wZW5BZGRVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG4gIGNsb3NlQWRkVXNlckRpYWxvZyA9IChwYXlsb2FkPzogYW55KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjbG9zZUFkZFVzZXJEaWFsb2cnLCBwYXlsb2FkKTtcbiAgb3BlbkRlbGV0ZVVzZXJEaWFsb2cgPSAocGF5bG9hZD86IElTZXREZWxldGVVc2VyRGlhbG9nKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdvcGVuRGVsZXRlVXNlckRpYWxvZycsIHBheWxvYWQpO1xuICBjbG9zZURlbGV0ZVVzZXJEaWFsb2cgPSAocGF5bG9hZD86IGFueSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignY2xvc2VEZWxldGVVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG5cbiAgLy8gQVBJIFRva2VuIEFjdGlvbnNcbiAgc2V0QXBpVG9rZW5zTG9hZGVyID0gKHBheWxvYWQ6IEFwaVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBcGlUb2tlbnNMb2FkZXInLCBwYXlsb2FkKTtcbiAgc2V0QXBpVG9rZW5zRXJyb3IgPSAocGF5bG9hZDogQXBpU3RhdGVJbmRpY2F0b3IpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFwaVRva2Vuc0Vycm9yJywgcGF5bG9hZCk7XG4gIHNldEFwaVRva2Vuc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFwaVRva2Vuc1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QXBpVG9rZW5zU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0QXBpVG9rZW5zU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldEFwaVRva2Vuc1N0YXRlJyk7XG4gIGxvYWRBcGlUb2tlbnMgPSAocGF5bG9hZD86IFdpdGhTaWxlbnRMb2FkPFdpdGhDYWxsYmFjaz4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRBcGlUb2tlbnMnLCBwYXlsb2FkKTtcbiAgaW5pdEFwaVRva2Vuc0RhdGEgPSAocGF5bG9hZDogQXBpVG9rZW5UeXBlKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdpbml0QXBpVG9rZW5zRGF0YScsIHBheWxvYWQpO1xuICBhZGRUZW5hbnRBcGlUb2tlbiA9IChwYXlsb2FkOiBBZGRUZW5hbnRBcGlUb2tlblBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FkZFRlbmFudEFwaVRva2VuJywgcGF5bG9hZCk7XG4gIGFkZFVzZXJBcGlUb2tlbiA9IChwYXlsb2FkOiBBZGRVc2VyQXBpVG9rZW5QYXlsb2FkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRVc2VyQXBpVG9rZW4nLCBwYXlsb2FkKTtcbiAgZGVsZXRlVXNlckFwaVRva2VuID0gKHBheWxvYWQ6IHN0cmluZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVXNlckFwaVRva2VuJywgcGF5bG9hZCk7XG4gIGRlbGV0ZVRlbmFudEFwaVRva2VuID0gKHBheWxvYWQ6IHN0cmluZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVGVuYW50QXBpVG9rZW4nLCBwYXlsb2FkKTtcblxuICAvLyBTZWN1cml0eSBQb2xpY3kgQWN0aW9uc1xuICBzZXRTZWN1cml0eVBvbGljeVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNlY3VyaXR5UG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5U3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5R2xvYmFsU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8R2xvYmFsUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5R2xvYmFsU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5UHVibGljU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UHVibGljUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5UHVibGljU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5TWZhU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8TWZhUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5TWZhU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5TG9ja291dFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPExvY2tvdXRQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lMb2Nrb3V0U3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5Q2FwdGNoYVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPENhcHRjaGFQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lDYXB0Y2hhU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UGFzc3dvcmRIaXN0b3J5UG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5U3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZScpO1xuICBzZXRTZWN1cml0eVBvbGljeVBhc3N3b3JkU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UGFzc3dvcmRQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lQYXNzd29yZFN0YXRlJywgc3RhdGUpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3kgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3knKTtcbiAgbG9hZFB1YmxpY1NlY3VyaXR5UG9saWN5ID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFB1YmxpY1NlY3VyaXR5UG9saWN5Jyk7XG4gIGxvYWRWZW5kb3JQYXNzd29yZENvbmZpZyA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRWZW5kb3JQYXNzd29yZENvbmZpZycpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lNZmEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lNZmEnKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5TWZhID0gKHBheWxvYWQ6IFNhdmVTZWN1cml0eVBvbGljeU1mYVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5TWZhJywgcGF5bG9hZCk7XG4gIGxvYWRTZWN1cml0eVBvbGljeUxvY2tvdXQgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lMb2Nrb3V0Jyk7XG4gIHNhdmVTZWN1cml0eVBvbGljeUxvY2tvdXQgPSAocGF5bG9hZDogU2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dFBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dCcsIHBheWxvYWQpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lDYXB0Y2hhID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNlY3VyaXR5UG9saWN5Q2FwdGNoYScpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnkgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnknKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5ID0gKHBheWxvYWQ6IFNhdmVTZWN1cml0eVBvbGljeVBhc3N3b3JkSGlzdG9yeVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5JywgcGF5bG9hZCk7XG5cbiAgLy8gQWNjb3VudCBTZXR0aW5ncyBBY3Rpb25zXG4gIHNldEFjY291bnRTZXR0aW5nc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjY291bnRTZXR0aW5nc1N0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWNjb3VudFNldHRpbmdzU3RhdGUnKTtcbiAgbG9hZEFjY291bnRTZXR0aW5ncyA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrPFdpdGhTaWxlbnRMb2FkPHt9Pj4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZEFjY291bnRTZXR0aW5ncycsIHBheWxvYWQpO1xuICBzYXZlQWNjb3VudFNldHRpbmdzID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJU2V0dGluZ3NSZXNwb25zZSwgSVNldHRpbmdzUmVzcG9uc2U+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVBY2NvdW50U2V0dGluZ3MnLCBwYXlsb2FkKTtcblxuICAvLyBUZW5hbnRzIEFjdGlvbnNcbiAgc2V0VGVuYW50c1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFRlbmFudHNTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFRlbmFudHNTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRUZW5hbnRzU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFRlbmFudHNTdGF0ZScpO1xuICBzd2l0Y2hUZW5hbnQgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElTd2l0Y2hUZW5hbnQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzd2l0Y2hUZW5hbnQnLCBwYXlsb2FkKTtcbiAgbG9hZFRlbmFudHMgPSAocGF5bG9hZD86IFdpdGhDYWxsYmFjazx7fSwgSVRlbmFudHNSZXNwb25zZVtdPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFRlbmFudHMnLCBwYXlsb2FkKTtcblxuICAvLyBSb2xlcyBBY3Rpb25zXG4gIHNldFJvbGVzU3RhdGUgPSAoc3RhdGU6IFJvbGVzU3RhdGUpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFJvbGVzU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0Um9sZXNTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0Um9sZXNTdGF0ZScpO1xuICBsb2FkUm9sZXNBbmRQZXJtaXNzaW9ucyA9IChwYXlsb2FkPzogV2l0aFNpbGVudExvYWQ8e30+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUm9sZXNBbmRQZXJtaXNzaW9ucycsIHBheWxvYWQpO1xuICBhZGRSb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQWRkUm9sZSwgSVJvbGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRSb2xlJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVJvbGUgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElVcGRhdGVSb2xlLCBJUm9sZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3VwZGF0ZVJvbGUnLCBwYXlsb2FkKTtcbiAgZGVsZXRlUm9sZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SURlbGV0ZVJvbGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkZWxldGVSb2xlJywgcGF5bG9hZCk7XG4gIGF0dGFjaFBlcm1pc3Npb25zVG9Sb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQXR0YWNoUGVybWlzc2lvbnNUb1JvbGUsIElSb2xlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhdHRhY2hQZXJtaXNzaW9uc1RvUm9sZScsIHBheWxvYWQpO1xuXG4gIGF0dGFjaFBlcm1pc3Npb25Ub1JvbGVzID0gKFxuICAgIHBheWxvYWQ6IFdpdGhDYWxsYmFjazx7XG4gICAgICBwZXJtaXNzaW9uSWQ6IHN0cmluZztcbiAgICAgIHJvbGVJZHM6IHN0cmluZ1tdO1xuICAgIH0sXG4gICAgICBJUm9sZVBlcm1pc3Npb24+LFxuICApID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2F0dGFjaFBlcm1pc3Npb25Ub1JvbGVzJywgcGF5bG9hZCk7XG59XG4iXX0=
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnJvbnRlZ2ctYXBwL3NyYy9saWIvZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBdUNMLGFBQWEsR0FJZCxNQUFNLHVCQUF1QixDQUFDOzs7QUEwRC9CLE1BQU0sT0FBTyxtQkFBbUI7SUFxSDlCLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBcEhsRCxpQ0FBNEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsRUFBd0MsQ0FBQyxDQUFDO1FBQ2pJLGdDQUEyQixHQUFHLElBQUksZUFBZSxDQUFvQyxFQUF1QyxDQUFDLENBQUM7UUFDOUgseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQTZCLEVBQWdDLENBQUMsQ0FBQztRQUN6RywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsRUFBaUMsQ0FBQyxDQUFDO1FBQzVHLCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFtQyxFQUFzQyxDQUFDLENBQUM7UUFDM0gsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQTBCLEVBQTZCLENBQUMsQ0FBQztRQUNoRyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixFQUEyQixDQUFDLENBQUM7UUFDMUYsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQStCLENBQUMsQ0FBQztRQUN0RyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsRUFBNkIsQ0FBQyxDQUFD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SUFDOUMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQXVDTyxjQUFjLENBQUMsSUFBWSxFQUFFLE9BQWE7UUFDaEQsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3ZFLGFBQWE7UUFDYixLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsYUFBYSxJQUFJLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7OztZQWpLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXRHUSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZyb250ZWdnQXBwU2VydmljZSB9IGZyb20gJy4vZnJvbnRlZ2ctYXBwLnNlcnZpY2UnO1xuaW1wb3J0IEZhc3REZWVwRXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7XG4gIFJvbGVzU3RhdGUsXG4gIFRlbmFudHNTdGF0ZSxcbiAgQWNjb3VudFNldHRpbmdzU3RhdGUsXG4gIFNhdmVTZWN1cml0eVBvbGljeVBhc3N3b3JkSGlzdG9yeVBheWxvYWQsXG4gIFNhdmVTZWN1cml0eVBvbGljeUxvY2tvdXRQYXlsb2FkLFxuICBTYXZlU2VjdXJpdHlQb2xpY3lNZmFQYXlsb2FkLFxuICBQYXNzd29yZFBvbGljeVN0YXRlLFxuICBQYXNzd29yZEhpc3RvcnlQb2xpY3lTdGF0ZSxcbiAgTWZhUG9saWN5U3RhdGUsXG4gIENhcHRjaGFQb2xpY3lTdGF0ZSxcbiAgTG9ja291dFBvbGljeVN0YXRlLFxuICBQdWJsaWNQb2xpY3lTdGF0ZSxcbiAgR2xvYmFsUG9saWN5U3RhdGUsXG4gIFNlY3VyaXR5UG9saWN5U3RhdGUsXG4gIEFkZFVzZXJBcGlUb2tlblBheWxvYWQsXG4gIEFkZFRlbmFudEFwaVRva2VuUGF5bG9hZCxcbiAgQXBpVG9rZW5UeXBlLFxuICBBcGlUb2tlbnNTdGF0ZSxcbiAgQXBpU3RhdGVJbmRpY2F0b3IsXG4gIElTZXREZWxldGVVc2VyRGlhbG9nLFxuICBJU2V0QWRkVXNlckRpYWxvZyxcbiAgTG9hZFJvbGVzQW5kUGVybWlzc2lvbnNQYXlsb2FkLFxuICBUZWFtU3RhdGUsXG4gIFRlYW1TdGF0ZUluZGljYXRvcixcbiAgTUZBU3RhdGUsXG4gIFNhdmVTU09Db25maWd1cmF0aW9uUGF5bG9hZCxcbiAgU1NPU3RhdGUsXG4gIFByb2ZpbGVTdGF0ZSxcbiAgU2F2ZVNTT0NvbmZpZ3VyYXRpb25GaWxlUGF5bG9hZCxcbiAgVXBkYXRlU1NPQXV0aG9yaXphdGlvblJvbGVzUGF5bG9hZCxcbiAgRGVsZXRlU2FtbEdyb3VwUGF5bG9hZCxcbiAgQ3JlYXRlU2FtbEdyb3VwUGF5bG9hZCxcbiAgU2F2ZVByb2ZpbGVQYXlsb2FkLFxuICBTaWduVXBTdGF0ZSxcbiAgRm9yZ290UGFzc3dvcmRTdGF0ZSxcbiAgQWNjZXB0SW52aXRhdGlvblN0YXRlLFxuICBBdXRoU3RhdGUsXG4gIFVzZXIsXG4gIGF1dGhTdG9yZU5hbWUsXG4gIExvZ2luU3RhdGUsXG4gIEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5U3RhdGUsXG4gIEVuaGFuY2VkU3RvcmUsXG59IGZyb20gJ0Bmcm9udGVnZy9yZWR1eC1zdG9yZSc7XG5pbXBvcnQge1xuICBJTG9naW4sXG4gIElMb2dpbldpdGhNZmEsXG4gIElQb3N0TG9naW4sXG4gIElQcmVMb2dpbixcbiAgSVJlY292ZXJNRkFUb2tlbixcbiAgSUFjdGl2YXRlQWNjb3VudCxcbiAgSUxvZ2luVmlhU29jaWFsTG9naW4sXG4gIElTZXRTb2NpYWxMb2dpbkVycm9yLFxuICBJUmVzZW5kQWN0aXZhdGlvbkVtYWlsLFxuICBJR2V0QWN0aXZhdGVBY2NvdW50U3RyYXRlZ3ksXG4gIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneVJlc3BvbnNlLFxuICBJQWNjZXB0SW52aXRhdGlvbixcbiAgSUZvcmdvdFBhc3N3b3JkLFxuICBJUmVzZXRQYXNzd29yZCxcbiAgSUdldFVzZXJQYXNzd29yZENvbmZpZyxcbiAgSVNpZ25VcFVzZXIsXG4gIElDaGFuZ2VQYXNzd29yZCxcbiAgSU9pZGNQb3N0TG9naW4sXG4gIElWZXJpZnlNZmEsXG4gIElEaXNhYmxlTWZhLFxuICBJTG9hZFVzZXJzLFxuICBJVGVhbVVzZXIsXG4gIElBZGRVc2VyLFxuICBJVXBkYXRlVXNlcixcbiAgSURlbGV0ZVVzZXIsXG4gIElSZXNlbmRBY3RpdmF0aW9uTGluayxcbiAgSVNldHRpbmdzUmVzcG9uc2UsXG4gIElTd2l0Y2hUZW5hbnQsXG4gIElUZW5hbnRzUmVzcG9uc2UsXG4gIElBZGRSb2xlLFxuICBJUm9sZSxcbiAgSVVwZGF0ZVJvbGUsXG4gIElEZWxldGVSb2xlLFxuICBJQXR0YWNoUGVybWlzc2lvbnNUb1JvbGUsXG4gIElSZXNlbmRJbnZpdGF0aW9uTGluayxcbiAgSVJvbGVQZXJtaXNzaW9uLFxufSBmcm9tICdAZnJvbnRlZ2cvcmVzdC1hcGknO1xuaW1wb3J0IHsgQWN0aXZhdGVBY2NvdW50U3RhdGUsIFNvY2lhbExvZ2luU3RhdGUgfSBmcm9tICdAZnJvbnRlZ2cvcmVkdXgtc3RvcmUvYXV0aCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBBdXRoU3ViU3RhdGVzIHtcbiAgZmllbGQ6IFBhcnRpYWw8a2V5b2YgQXV0aFN0YXRlPjtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFdpdGhDYWxsYmFjazxUID0ge30sIFIgPSBib29sZWFuPiA9IFQgJiB7XG4gIGNhbGxiYWNrPzogKGRhdGE6IFIgfCBudWxsLCBlcnJvcj86IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFdpdGhTaWxlbnRMb2FkPFQ+ID0gVCAmIHtcbiAgc2lsZW50TG9hZGluZz86IGJvb2xlYW47XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgYWNjZXB0SW52aXRhdGlvblN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXSk7XG4gIHByaXZhdGUgYWNjb3VudFNldHRpbmdzU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FjY291bnRTZXR0aW5nc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXSk7XG4gIHByaXZhdGUgYWN0aXZhdGVTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2FjdGl2YXRlU3RhdGUnXSk7XG4gIHByaXZhdGUgYXBpVG9rZW5zU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FwaVRva2Vuc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYXBpVG9rZW5zU3RhdGUnXSk7XG4gIHByaXZhdGUgZm9yZ290UGFzc3dvcmRTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnZm9yZ290UGFzc3dvcmRTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2ZvcmdvdFBhc3N3b3JkU3RhdGUnXSk7XG4gIHByaXZhdGUgbG9naW5TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2xvZ2luU3RhdGUnXSk7XG4gIHByaXZhdGUgbWZhU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ21mYVN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnbWZhU3RhdGUnXSk7XG4gIHByaXZhdGUgcHJvZmlsZVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydwcm9maWxlU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydwcm9maWxlU3RhdGUnXSk7XG4gIHByaXZhdGUgcm9sZXNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3JvbGVzU3RhdGUnXSk7XG4gIHByaXZhdGUgcm91dGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydyb3V0ZXMnXT4oe30gYXMgQXV0aFN0YXRlWydyb3V0ZXMnXSk7XG4gIHByaXZhdGUgc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc2VjdXJpdHlQb2xpY3lTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3NlY3VyaXR5UG9saWN5U3RhdGUnXSk7XG4gIHByaXZhdGUgc2lnblVwU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3NpZ25VcFN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXSk7XG4gIHByaXZhdGUgc29jaWFsTG9naW5TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3NvY2lhbExvZ2luU3RhdGUnXSk7XG4gIHByaXZhdGUgc3NvU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Nzb1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc3NvU3RhdGUnXSk7XG4gIHByaXZhdGUgdGVhbVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd0ZWFtU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWyd0ZWFtU3RhdGUnXSk7XG4gIHByaXZhdGUgdGVuYW50c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXSk7XG4gIHByaXZhdGUgdXNlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsndXNlciddPih7fSBhcyBBdXRoU3RhdGVbJ3VzZXInXSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydpc0F1dGhlbnRpY2F0ZWQnXT4oZmFsc2UpO1xuICBwcml2YXRlIGlzTG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnaXNMb2FkaW5nJ10+KHRydWUpO1xuICBwcml2YXRlIGlzU1NPQXV0aFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnaXNTU09BdXRoJ10+KGZhbHNlKTtcbiAgcHJpdmF0ZSBzc29BQ1NTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Nzb0FDUyddPignJyk7XG5cblxuICBnZXQgYWNjZXB0SW52aXRhdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWNjZXB0SW52aXRhdGlvblN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hY2NlcHRJbnZpdGF0aW9uU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGFjY291bnRTZXR0aW5nc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLmFjY291bnRTZXR0aW5nc1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZVN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXBpVG9rZW5zU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydhcGlUb2tlbnNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpVG9rZW5zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGZvcmdvdFBhc3N3b3JkU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydmb3Jnb3RQYXNzd29yZFN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5mb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBsb2dpblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMubG9naW5TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbWZhU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydtZmFTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMubWZhU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHByb2ZpbGVTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3Byb2ZpbGVTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCByb2xlc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcm91dGVzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydyb3V0ZXMnXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2VjdXJpdHlQb2xpY3lTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3NlY3VyaXR5UG9saWN5U3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnNlY3VyaXR5UG9saWN5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNpZ25VcFN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnNpZ25VcFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzb2NpYWxMb2dpblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc29jaWFsTG9naW5TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3NvU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzc29TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc3NvU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRlYW1TdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3RlYW1TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMudGVhbVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB0ZW5hbnRzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnRlbmFudHNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdXNlciQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3VzZXInXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHVzZXIoKTogQXV0aFN0YXRlWyd1c2VyJ10ge1xuICAgIHJldHVybiB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpLmF1dGgudXNlcjtcbiAgfVxuXG5cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2lzQXV0aGVudGljYXRlZCddPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQoKTogQXV0aFN0YXRlWydpc0F1dGhlbnRpY2F0ZWQnXSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC5pc0F1dGhlbnRpY2F0ZWQ7XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnaXNMb2FkaW5nJ10+IHtcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzU1NPQXV0aCQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2lzU1NPQXV0aCddPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTU09BdXRoU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzc29BQ1MkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzc29BQ1MnXT4ge1xuICAgIHJldHVybiB0aGlzLnNzb0FDU1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyb250ZWdnQXBwU2VydmljZTogRnJvbnRlZ2dBcHBTZXJ2aWNlKSB7XG4gICAgY29uc3QgYXV0aFN1YlN0YXRlczogQXV0aFN1YlN0YXRlc1tdID0gW1xuICAgICAgeyBmaWVsZDogJ2FjY2VwdEludml0YXRpb25TdGF0ZScsIHN1YmplY3Q6IHRoaXMuYWNjZXB0SW52aXRhdGlvblN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FjY291bnRTZXR0aW5nc1N0YXRlJywgc3ViamVjdDogdGhpcy5hY2NvdW50U2V0dGluZ3NTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdhY3RpdmF0ZVN0YXRlJywgc3ViamVjdDogdGhpcy5hY3RpdmF0ZVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FwaVRva2Vuc1N0YXRlJywgc3ViamVjdDogdGhpcy5hcGlUb2tlbnNTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdmb3Jnb3RQYXNzd29yZFN0YXRlJywgc3ViamVjdDogdGhpcy5mb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3RlbmFudHNTdGF0ZScsIHN1YmplY3Q6IHRoaXMudGVuYW50c1N0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2xvZ2luU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmxvZ2luU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnbWZhU3RhdGUnLCBzdWJqZWN0OiB0aGlzLm1mYVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3Byb2ZpbGVTdGF0ZScsIHN1YmplY3Q6IHRoaXMucHJvZmlsZVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3JvbGVzU3RhdGUnLCBzdWJqZWN0OiB0aGlzLnJvbGVzU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAncm91dGVzJywgc3ViamVjdDogdGhpcy5yb3V0ZXNTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnc2VjdXJpdHlQb2xpY3lTdGF0ZScsIHN1YmplY3Q6IHRoaXMuc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzaWduVXBTdGF0ZScsIHN1YmplY3Q6IHRoaXMuc2lnblVwU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnc29jaWFsTG9naW5TdGF0ZScsIHN1YmplY3Q6IHRoaXMuc29jaWFsTG9naW5TdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzc29TdGF0ZScsIHN1YmplY3Q6IHRoaXMuc3NvU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndGVhbVN0YXRlJywgc3ViamVjdDogdGhpcy50ZWFtU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndXNlcicsIHN1YmplY3Q6IHRoaXMudXNlclN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdpc1NTT0F1dGgnLCBzdWJqZWN0OiB0aGlzLmlzU1NPQXV0aFN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzc29BQ1MnLCBzdWJqZWN0OiB0aGlzLnNzb0FDU1N1YmplY3QgfSxcbiAgICBdO1xuXG4gICAgLy8gTWVtb2l6ZWQgQXV0aCBTdGF0ZVxuICAgIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmF1dGhTdGF0ZSQuc3Vic2NyaWJlKChhdXRoU3RhdGUpID0+IHtcbiAgICAgIGlmIChhdXRoU3RhdGUgIT0gbnVsbCkge1xuICAgICAgICBmb3IgKGNvbnN0IGF1dGhTdWJTdGF0ZSBvZiBhdXRoU3ViU3RhdGVzKSB7XG4gICAgICAgICAgaWYgKCFGYXN0RGVlcEVxdWFsKGF1dGhTdWJTdGF0ZS5zdWJqZWN0LmdldFZhbHVlKCksIGF1dGhTdGF0ZVthdXRoU3ViU3RhdGUuZmllbGRdKSkge1xuICAgICAgICAgICAgYXV0aFN1YlN0YXRlLnN1YmplY3QubmV4dChhdXRoU3RhdGVbYXV0aFN1YlN0YXRlLmZpZWxkXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KGF1dGhTdGF0ZS5pc0F1dGhlbnRpY2F0ZWQpO1xuICAgICAgICB0aGlzLmlzTG9hZGluZ1N1YmplY3QubmV4dChhdXRoU3RhdGUuaXNMb2FkaW5nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hBY3Rpb24odHlwZTogc3RyaW5nLCBwYXlsb2FkPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmU6IEVuaGFuY2VkU3RvcmUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc3RvcmUuZGlzcGF0Y2goeyB0eXBlOiBgJHthdXRoU3RvcmVOYW1lfS8ke3R5cGV9YCwgcGF5bG9hZCB9KTtcbiAgfVxuXG4gIC8vIFJvb3QgQWN0aW9uc1xuICBzZXRTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxBdXRoU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U3RhdGUnKTtcbiAgc2V0VXNlciA9ICh1c2VyOiBVc2VyKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRVc2VyJywgdXNlcik7XG5cbiAgLy8gTG9naW4gQWN0aW9uc1xuICBzZXRMb2dpblN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPExvZ2luU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRMb2dpblN0YXRlJywgc3RhdGUpO1xuICByZXNldExvZ2luU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldExvZ2luU3RhdGUnKTtcbiAgcmVxdWVzdEF1dGhvcml6ZSA9IChmaXJzdFRpbWU/OiBib29sZWFuKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXF1ZXN0QXV0aG9yaXplJywgZmlyc3RUaW1lKTtcbiAgbG9naW5XaXRoUmVkaXJlY3QgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXF1ZXN0SG9zdGVkTG9naW5BdXRob3JpemUnKTtcbiAgcHJlTG9naW4gPSAocGF5bG9hZDogSVByZUxvZ2luKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdwcmVMb2dpbicsIHBheWxvYWQpO1xuICBwb3N0TG9naW4gPSAocGF5bG9hZDogSVBvc3RMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncG9zdExvZ2luJywgcGF5bG9hZCk7XG4gIGxvZ2luID0gKHBheWxvYWQ6IElMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9naW4nLCBwYXlsb2FkKTtcbiAgbG9naW5XaXRoTWZhID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJTG9naW5XaXRoTWZhPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9naW5XaXRoTWZhJywgcGF5bG9hZCk7XG4gIHJlY292ZXJNZmEgPSAocGF5bG9hZDogSVJlY292ZXJNRkFUb2tlbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVjb3Zlck1mYScsIHBheWxvYWQpO1xuICBsb2dvdXQgPSAoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2dvdXQnLCBjYWxsYmFjayk7XG4gIHNpbGVudExvZ291dCA9IChjYWxsYmFjaz86ICgpID0+IHZvaWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NpbGVudExvZ291dCcsIGNhbGxiYWNrKTtcbiAgY2hlY2tJZkFsbG93VG9SZW1lbWJlck1mYURldmljZSA9IChwYXlsb2FkOiB7IG1mYVRva2VuOiBzdHJpbmcgfSkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjaGVja0lmQWxsb3dUb1JlbWVtYmVyTWZhRGV2aWNlJywgcGF5bG9hZCk7XG5cbiAgLy8gU29jaWFsIExvZ2lucyBBY3Rpb25zXG4gIHNldFNvY2lhbExvZ2luc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNvY2lhbExvZ2luU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTb2NpYWxMb2dpbnNTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTb2NpYWxMb2dpbnNTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U29jaWFsTG9naW5zU3RhdGUnKTtcbiAgbG9hZFNvY2lhbExvZ2luc0NvbmZpZ3VyYXRpb24gPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU29jaWFsTG9naW5zQ29uZmlndXJhdGlvbicpO1xuICBsb2dpblZpYVNvY2lhbExvZ2luID0gKHBheWxvYWQ6IElMb2dpblZpYVNvY2lhbExvZ2luKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2dpblZpYVNvY2lhbExvZ2luJywgcGF5bG9hZCk7XG4gIHNldFNvY2lhbExvZ2luRXJyb3IgPSAocGF5bG9hZDogSVNldFNvY2lhbExvZ2luRXJyb3IpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNvY2lhbExvZ2luRXJyb3InLCBwYXlsb2FkKTtcblxuICAvLyBBY3RpdmF0ZSBBY2NvdW50IEFjdGlvbnNcbiAgc2V0QWN0aXZhdGVTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxBY3RpdmF0ZUFjY291bnRTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFjdGl2YXRlU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0QWN0aXZhdGVTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWN0aXZhdGVTdGF0ZScpO1xuICBzZXRBY3RpdmF0ZVN0cmF0ZWd5U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QWN0aXZhdGVBY2NvdW50U3RyYXRlZ3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QWN0aXZhdGVTdHJhdGVneVN0YXRlJywgc3RhdGUpO1xuICBhY3RpdmF0ZUFjY291bnQgPSAocGF5bG9hZDogSUFjdGl2YXRlQWNjb3VudCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignYWN0aXZhdGVBY2NvdW50JywgcGF5bG9hZCk7XG4gIHJlc2VuZEFjdGl2YXRpb25FbWFpbCA9IChwYXlsb2FkOiBJUmVzZW5kQWN0aXZhdGlvbkVtYWlsKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRBY3RpdmF0aW9uRW1haWwnLCBwYXlsb2FkKTtcbiAgZ2V0QWN0aXZhdGVBY2NvdW50U3RyYXRlZ3kgPSAoXG4gICAgcGF5bG9hZDogV2l0aENhbGxiYWNrPElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneSwgSUdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5UmVzcG9uc2U+LFxuICApID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2dldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5JywgcGF5bG9hZCk7XG5cbiAgLy8gQWNjZXB0IEludml0YXRpb24gQWN0aW9uc1xuICBzZXRBY2NlcHRJbnZpdGF0aW9uU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QWNjZXB0SW52aXRhdGlvblN0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY2NlcHRJbnZpdGF0aW9uU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRBY2NlcHRJbnZpdGF0aW9uU3RhdGUnKTtcbiAgYWNjZXB0SW52aXRhdGlvbiA9IChwYXlsb2FkOiBJQWNjZXB0SW52aXRhdGlvbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignYWNjZXB0SW52aXRhdGlvbicsIHBheWxvYWQpO1xuXG4gIC8vIEZvcmdvdCBQYXNzd29yZCBBY3Rpb25zXG4gIHNldEZvcmdvdFBhc3N3b3JkU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8Rm9yZ290UGFzc3dvcmRTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRGb3Jnb3RQYXNzd29yZFN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRGb3Jnb3RQYXNzd29yZFN0YXRlJyk7XG4gIGZvcmdvdFBhc3N3b3JkID0gKHBheWxvYWQ6IElGb3Jnb3RQYXNzd29yZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZm9yZ290UGFzc3dvcmQnLCBwYXlsb2FkKTtcbiAgcmVzZXRQYXNzd29yZCA9IChwYXlsb2FkOiBJUmVzZXRQYXNzd29yZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRQYXNzd29yZCcsIHBheWxvYWQpO1xuICBsb2FkUGFzc3dvcmRDb25maWcgPSAocGF5bG9hZD86IElHZXRVc2VyUGFzc3dvcmRDb25maWcpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRQYXNzd29yZENvbmZpZycsIHBheWxvYWQpO1xuXG4gIC8vIFNpZ24gVXAgQWN0aW9uc1xuICBzZXRTaWduVXBTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxTaWduVXBTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNpZ25VcFN0YXRlJywgc3RhdGUpO1xuICByZXNldFNpZ25VcFN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRTaWduVXBTdGF0ZScpO1xuICBzaWduVXBVc2VyID0gKHBheWxvYWQ6IElTaWduVXBVc2VyKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzaWduVXBVc2VyJywgcGF5bG9hZCk7XG4gIHJlc2V0U2lnblVwU3RhdGVTb2Z0ID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRTaWduVXBTdGF0ZVNvZnQnKTtcblxuICAvLyBQcm9maWxlIEFjdGlvbnNcbiAgc2V0UHJvZmlsZVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFByb2ZpbGVTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFByb2ZpbGVTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRQcm9maWxlU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFByb2ZpbGVTdGF0ZScpO1xuICBsb2FkUHJvZmlsZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRQcm9maWxlJyk7XG4gIHNhdmVQcm9maWxlID0gKHBheWxvYWQ6IFNhdmVQcm9maWxlUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVByb2ZpbGUnLCBwYXlsb2FkKTtcbiAgY2hhbmdlUGFzc3dvcmQgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElDaGFuZ2VQYXNzd29yZD4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2NoYW5nZVBhc3N3b3JkJywgcGF5bG9hZCk7XG5cbiAgLy8gU1NPIGFjdGlvbnNcbiAgc2V0U1NPU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8U1NPU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTU09TdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTU09TdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U1NPU3RhdGUnKTtcbiAgbG9hZFNTT0NvbmZpZ3VyYXRpb25zID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNTT0NvbmZpZ3VyYXRpb25zJyk7XG4gIGxvYWRTU09BdXRob3JpemF0aW9uUm9sZXMgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU1NPQXV0aG9yaXphdGlvblJvbGVzJyk7XG4gIHNhdmVTU09Db25maWd1cmF0aW9ucyA9IChwYXlsb2FkOiBTYXZlU1NPQ29uZmlndXJhdGlvblBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zJywgcGF5bG9hZCk7XG4gIHNhdmVTU09Db25maWd1cmF0aW9uc0ZpbGUgPSAocGF5bG9hZDogRmlsZVtdKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlJywgcGF5bG9hZCk7XG4gIHNhdmVTU09Db25maWd1cmF0aW9uc0ZpbGVXaXRoQ2FsbGJhY2sgPSAocGF5bG9hZDogU2F2ZVNTT0NvbmZpZ3VyYXRpb25GaWxlUGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlV2l0aENhbGxiYWNrJywgcGF5bG9hZCk7XG4gIHZhbGlkYXRlU1NPRG9tYWluID0gKHBheWxvYWQ/OiBXaXRoQ2FsbGJhY2spID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3ZhbGlkYXRlU1NPRG9tYWluJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVNTT0F1dGhvcml6YXRpb25Sb2xlcyA9IChwYXlsb2FkOiBVcGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXNQYXlsb2FkKSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3VwZGF0ZVNTT0F1dGhvcml6YXRpb25Sb2xlcycsIHBheWxvYWQpO1xuICBkZWxldGVTYW1sR3JvdXAgPSAocGF5bG9hZDogRGVsZXRlU2FtbEdyb3VwUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlU2FtbEdyb3VwJywgcGF5bG9hZCk7XG4gIGNyZWF0ZVNhbWxHcm91cCA9IChwYXlsb2FkOiBDcmVhdGVTYW1sR3JvdXBQYXlsb2FkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjcmVhdGVTYW1sR3JvdXAnLCBwYXlsb2FkKTtcbiAgb2lkY1Bvc3Rsb2dpbiA9IChwYXlsb2FkOiBJT2lkY1Bvc3RMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignb2lkY1Bvc3Rsb2dpbicsIHBheWxvYWQpO1xuXG4gIC8vIE1mYSBhY3Rpb25zXG4gIHNldE1mYVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPE1GQVN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0TWZhU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0TWZhU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldE1mYVN0YXRlJyk7XG4gIGVucm9sbE1mYSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2Vucm9sbE1mYScpO1xuICB2ZXJpZnlNZmEgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElWZXJpZnlNZmEsIHN0cmluZyB8IHVuZGVmaW5lZD4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3ZlcmlmeU1mYScsIHBheWxvYWQpO1xuICB2ZXJpZnlNZmFBZnRlckZvcmNlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJTG9naW5XaXRoTWZhLCBzdHJpbmcgfCB1bmRlZmluZWQ+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3ZlcmlmeU1mYUFmdGVyRm9yY2UnLCBwYXlsb2FkKTtcbiAgZGlzYWJsZU1mYSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SURpc2FibGVNZmE+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkaXNhYmxlTWZhJywgcGF5bG9hZCk7XG5cbiAgLy8gVGVhbSBhY3Rpb25zXG4gIHNldFRlYW1Mb2FkZXIgPSAocGF5bG9hZDogVGVhbVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRUZWFtTG9hZGVyJywgcGF5bG9hZCk7XG4gIHNldFRlYW1FcnJvciA9IChwYXlsb2FkOiBUZWFtU3RhdGVJbmRpY2F0b3IpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFRlYW1FcnJvcicsIHBheWxvYWQpO1xuICBzZXRUZWFtU3RhdGUgPSAocGF5bG9hZDogUGFydGlhbDxUZWFtU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRUZWFtU3RhdGUnLCBwYXlsb2FkKTtcbiAgcmVzZXRUZWFtU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFRlYW1TdGF0ZScpO1xuICBsb2FkVXNlcnMgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPFdpdGhTaWxlbnRMb2FkPElMb2FkVXNlcnM+LCBJVGVhbVVzZXJbXT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFVzZXJzJywgcGF5bG9hZCk7XG4gIGxvYWRSb2xlcyA9IChwYXlsb2FkPzogTG9hZFJvbGVzQW5kUGVybWlzc2lvbnNQYXlsb2FkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUm9sZXMnLCBwYXlsb2FkKTtcbiAgYWRkVXNlciA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUFkZFVzZXIsIElUZWFtVXNlcj4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FkZFVzZXInLCBwYXlsb2FkKTtcbiAgdXBkYXRlVXNlciA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVVwZGF0ZVVzZXIsIElUZWFtVXNlcj4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3VwZGF0ZVVzZXInLCBwYXlsb2FkKTtcbiAgZGVsZXRlVXNlciA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SURlbGV0ZVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkZWxldGVVc2VyJywgcGF5bG9hZCk7XG4gIHJlc2VuZEFjdGl2YXRpb25MaW5rID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJUmVzZW5kQWN0aXZhdGlvbkxpbms+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2VuZEFjdGl2YXRpb25MaW5rJywgcGF5bG9hZCk7XG4gIHJlc2VuZEludml0YXRpb25MaW5rID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJUmVzZW5kSW52aXRhdGlvbkxpbms+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2VuZEludml0YXRpb25MaW5rJywgcGF5bG9hZCk7XG4gIG9wZW5BZGRVc2VyRGlhbG9nID0gKHBheWxvYWQ/OiBJU2V0QWRkVXNlckRpYWxvZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignb3BlbkFkZFVzZXJEaWFsb2cnLCBwYXlsb2FkKTtcbiAgY2xvc2VBZGRVc2VyRGlhbG9nID0gKHBheWxvYWQ/OiBhbnkpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2Nsb3NlQWRkVXNlckRpYWxvZycsIHBheWxvYWQpO1xuICBvcGVuRGVsZXRlVXNlckRpYWxvZyA9IChwYXlsb2FkPzogSVNldERlbGV0ZVVzZXJEaWFsb2cpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29wZW5EZWxldGVVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG4gIGNsb3NlRGVsZXRlVXNlckRpYWxvZyA9IChwYXlsb2FkPzogYW55KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjbG9zZURlbGV0ZVVzZXJEaWFsb2cnLCBwYXlsb2FkKTtcblxuICAvLyBBUEkgVG9rZW4gQWN0aW9uc1xuICBzZXRBcGlUb2tlbnNMb2FkZXIgPSAocGF5bG9hZDogQXBpU3RhdGVJbmRpY2F0b3IpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFwaVRva2Vuc0xvYWRlcicsIHBheWxvYWQpO1xuICBzZXRBcGlUb2tlbnNFcnJvciA9IChwYXlsb2FkOiBBcGlTdGF0ZUluZGljYXRvcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QXBpVG9rZW5zRXJyb3InLCBwYXlsb2FkKTtcbiAgc2V0QXBpVG9rZW5zU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QXBpVG9rZW5zU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBcGlUb2tlbnNTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRBcGlUb2tlbnNTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QXBpVG9rZW5zU3RhdGUnKTtcbiAgbG9hZEFwaVRva2VucyA9IChwYXlsb2FkPzogV2l0aFNpbGVudExvYWQ8V2l0aENhbGxiYWNrPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZEFwaVRva2VucycsIHBheWxvYWQpO1xuICBpbml0QXBpVG9rZW5zRGF0YSA9IChwYXlsb2FkOiBBcGlUb2tlblR5cGUpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2luaXRBcGlUb2tlbnNEYXRhJywgcGF5bG9hZCk7XG4gIGFkZFRlbmFudEFwaVRva2VuID0gKHBheWxvYWQ6IEFkZFRlbmFudEFwaVRva2VuUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignYWRkVGVuYW50QXBpVG9rZW4nLCBwYXlsb2FkKTtcbiAgYWRkVXNlckFwaVRva2VuID0gKHBheWxvYWQ6IEFkZFVzZXJBcGlUb2tlblBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FkZFVzZXJBcGlUb2tlbicsIHBheWxvYWQpO1xuICBkZWxldGVVc2VyQXBpVG9rZW4gPSAocGF5bG9hZDogc3RyaW5nKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkZWxldGVVc2VyQXBpVG9rZW4nLCBwYXlsb2FkKTtcbiAgZGVsZXRlVGVuYW50QXBpVG9rZW4gPSAocGF5bG9hZDogc3RyaW5nKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkZWxldGVUZW5hbnRBcGlUb2tlbicsIHBheWxvYWQpO1xuXG4gIC8vIFNlY3VyaXR5IFBvbGljeSBBY3Rpb25zXG4gIHNldFNlY3VyaXR5UG9saWN5U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8U2VjdXJpdHlQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZScsIHN0YXRlKTtcbiAgc2V0U2VjdXJpdHlQb2xpY3lHbG9iYWxTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxHbG9iYWxQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lHbG9iYWxTdGF0ZScsIHN0YXRlKTtcbiAgc2V0U2VjdXJpdHlQb2xpY3lQdWJsaWNTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxQdWJsaWNQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lQdWJsaWNTdGF0ZScsIHN0YXRlKTtcbiAgc2V0U2VjdXJpdHlQb2xpY3lNZmFTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxNZmFQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lNZmFTdGF0ZScsIHN0YXRlKTtcbiAgc2V0U2VjdXJpdHlQb2xpY3lMb2Nrb3V0U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8TG9ja291dFBvbGljeVN0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTZWN1cml0eVBvbGljeUxvY2tvdXRTdGF0ZScsIHN0YXRlKTtcbiAgc2V0U2VjdXJpdHlQb2xpY3lDYXB0Y2hhU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8Q2FwdGNoYVBvbGljeVN0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTZWN1cml0eVBvbGljeUNhcHRjaGFTdGF0ZScsIHN0YXRlKTtcbiAgc2V0U2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnlTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxQYXNzd29yZEhpc3RvcnlQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnlTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTZWN1cml0eVBvbGljeVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRTZWN1cml0eVBvbGljeVN0YXRlJyk7XG4gIHNldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxQYXNzd29yZFBvbGljeVN0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTZWN1cml0eVBvbGljeVBhc3N3b3JkU3RhdGUnLCBzdGF0ZSk7XG4gIGxvYWRTZWN1cml0eVBvbGljeSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTZWN1cml0eVBvbGljeScpO1xuICBsb2FkUHVibGljU2VjdXJpdHlQb2xpY3kgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUHVibGljU2VjdXJpdHlQb2xpY3knKTtcbiAgbG9hZFZlbmRvclBhc3N3b3JkQ29uZmlnID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFZlbmRvclBhc3N3b3JkQ29uZmlnJyk7XG4gIGxvYWRTZWN1cml0eVBvbGljeU1mYSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTZWN1cml0eVBvbGljeU1mYScpO1xuICBzYXZlU2VjdXJpdHlQb2xpY3lNZmEgPSAocGF5bG9hZDogU2F2ZVNlY3VyaXR5UG9saWN5TWZhUGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzYXZlU2VjdXJpdHlQb2xpY3lNZmEnLCBwYXlsb2FkKTtcbiAgbG9hZFNlY3VyaXR5UG9saWN5TG9ja291dCA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTZWN1cml0eVBvbGljeUxvY2tvdXQnKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dCA9IChwYXlsb2FkOiBTYXZlU2VjdXJpdHlQb2xpY3lMb2Nrb3V0UGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzYXZlU2VjdXJpdHlQb2xpY3lMb2Nrb3V0JywgcGF5bG9hZCk7XG4gIGxvYWRTZWN1cml0eVBvbGljeUNhcHRjaGEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lDYXB0Y2hhJyk7XG4gIGxvYWRTZWN1cml0eVBvbGljeVBhc3N3b3JkSGlzdG9yeSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTZWN1cml0eVBvbGljeVBhc3N3b3JkSGlzdG9yeScpO1xuICBzYXZlU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnkgPSAocGF5bG9hZDogU2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5UGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzYXZlU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnknLCBwYXlsb2FkKTtcblxuICAvLyBBY2NvdW50IFNldHRpbmdzIEFjdGlvbnNcbiAgc2V0QWNjb3VudFNldHRpbmdzU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QWNjb3VudFNldHRpbmdzU3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFjY291bnRTZXR0aW5nc1N0YXRlJywgc3RhdGUpO1xuICByZXNldEFjY291bnRTZXR0aW5nc1N0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZScpO1xuICBsb2FkQWNjb3VudFNldHRpbmdzID0gKHBheWxvYWQ/OiBXaXRoQ2FsbGJhY2s8V2l0aFNpbGVudExvYWQ8e30+PikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkQWNjb3VudFNldHRpbmdzJywgcGF5bG9hZCk7XG4gIHNhdmVBY2NvdW50U2V0dGluZ3MgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElTZXR0aW5nc1Jlc3BvbnNlLCBJU2V0dGluZ3NSZXNwb25zZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZUFjY291bnRTZXR0aW5ncycsIHBheWxvYWQpO1xuXG4gIC8vIFRlbmFudHMgQWN0aW9uc1xuICBzZXRUZW5hbnRzU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8VGVuYW50c1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVuYW50c1N0YXRlJywgc3RhdGUpO1xuICByZXNldFRlbmFudHNTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0VGVuYW50c1N0YXRlJyk7XG4gIHN3aXRjaFRlbmFudCA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVN3aXRjaFRlbmFudD4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3N3aXRjaFRlbmFudCcsIHBheWxvYWQpO1xuICBsb2FkVGVuYW50cyA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrPHt9LCBJVGVuYW50c1Jlc3BvbnNlW10+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkVGVuYW50cycsIHBheWxvYWQpO1xuXG4gIC8vIFJvbGVzIEFjdGlvbnNcbiAgc2V0Um9sZXNTdGF0ZSA9IChzdGF0ZTogUm9sZXNTdGF0ZSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0Um9sZXNTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRSb2xlc1N0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRSb2xlc1N0YXRlJyk7XG4gIGxvYWRSb2xlc0FuZFBlcm1pc3Npb25zID0gKHBheWxvYWQ/OiBXaXRoU2lsZW50TG9hZDx7fT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRSb2xlc0FuZFBlcm1pc3Npb25zJywgcGF5bG9hZCk7XG4gIGFkZFJvbGUgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElBZGRSb2xlLCBJUm9sZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FkZFJvbGUnLCBwYXlsb2FkKTtcbiAgdXBkYXRlUm9sZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVVwZGF0ZVJvbGUsIElSb2xlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigndXBkYXRlUm9sZScsIHBheWxvYWQpO1xuICBkZWxldGVSb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJRGVsZXRlUm9sZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2RlbGV0ZVJvbGUnLCBwYXlsb2FkKTtcbiAgYXR0YWNoUGVybWlzc2lvbnNUb1JvbGUgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElBdHRhY2hQZXJtaXNzaW9uc1RvUm9sZSwgSVJvbGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2F0dGFjaFBlcm1pc3Npb25zVG9Sb2xlJywgcGF5bG9hZCk7XG5cbiAgYXR0YWNoUGVybWlzc2lvblRvUm9sZXMgPSAoXG4gICAgcGF5bG9hZDogV2l0aENhbGxiYWNrPHtcbiAgICAgIHBlcm1pc3Npb25JZDogc3RyaW5nO1xuICAgICAgcm9sZUlkczogc3RyaW5nW107XG4gICAgfSxcbiAgICAgIElSb2xlUGVybWlzc2lvbj4sXG4gICkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignYXR0YWNoUGVybWlzc2lvblRvUm9sZXMnLCBwYXlsb2FkKTtcbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { FronteggAppService } from './frontegg-app.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./frontegg-app.service";
6
+ export class FronteggCheckoutService {
7
+ constructor(fronteggAppService) {
8
+ this.fronteggAppService = fronteggAppService;
9
+ this.checkoutStateSubject = new BehaviorSubject({
10
+ open: false,
11
+ confirmed: false,
12
+ error: null,
13
+ });
14
+ }
15
+ get checkoutState$() {
16
+ return this.checkoutStateSubject.asObservable();
17
+ }
18
+ openCheckout(plan) {
19
+ this.checkoutStateSubject.next({
20
+ open: true,
21
+ confirmed: false,
22
+ error: null,
23
+ });
24
+ this.fronteggAppService.showCheckoutDialog({
25
+ plan,
26
+ onSuccess: () => {
27
+ this.checkoutStateSubject.next({
28
+ open: false,
29
+ confirmed: true,
30
+ error: null,
31
+ });
32
+ },
33
+ onError: (error) => {
34
+ const checkoutState = this.checkoutStateSubject.value;
35
+ this.checkoutStateSubject.next(Object.assign(Object.assign({}, checkoutState), { error }));
36
+ },
37
+ onClose: () => {
38
+ const checkoutState = this.checkoutStateSubject.value;
39
+ this.checkoutStateSubject.next(Object.assign(Object.assign({}, checkoutState), { open: false }));
40
+ },
41
+ });
42
+ }
43
+ hideCheckout() {
44
+ this.fronteggAppService.hideCheckoutDialog();
45
+ }
46
+ }
47
+ FronteggCheckoutService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggCheckoutService_Factory() { return new FronteggCheckoutService(i0.ɵɵinject(i1.FronteggAppService)); }, token: FronteggCheckoutService, providedIn: "root" });
48
+ FronteggCheckoutService.decorators = [
49
+ { type: Injectable, args: [{
50
+ providedIn: 'root',
51
+ },] }
52
+ ];
53
+ FronteggCheckoutService.ctorParameters = () => [
54
+ { type: FronteggAppService }
55
+ ];
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctY2hlY2tvdXQuc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1jaGVja291dC5zZXJ2aWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVc1RCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBVmxELHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFzQjtZQUN0RSxJQUFJLEVBQUUsS0FBSztZQUNYLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO0lBTTBELENBQUM7SUFKOUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFJTSxZQUFZLENBQUMsSUFBWTtRQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLEtBQUs7WUFDaEIsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7WUFDekMsSUFBSTtZQUNKLFNBQVMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztvQkFDN0IsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsU0FBUyxFQUFFLElBQUk7b0JBQ2YsS0FBSyxFQUFFLElBQUk7aUJBQ1osQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxpQ0FDekIsYUFBYSxLQUNoQixLQUFLLElBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLGlDQUN6QixhQUFhLEtBQ2hCLElBQUksRUFBRSxLQUFLLElBQ1gsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMvQyxDQUFDOzs7O1lBbERGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVlEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcFNlcnZpY2UgfSBmcm9tICcuL2Zyb250ZWdnLWFwcC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja291dERpYWxvZ1N0YXRlIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgY29uZmlybWVkOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQ2hlY2tvdXRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjaGVja291dFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hlY2tvdXREaWFsb2dTdGF0ZT4oe1xuICAgIG9wZW46IGZhbHNlLFxuICAgIGNvbmZpcm1lZDogZmFsc2UsXG4gICAgZXJyb3I6IG51bGwsXG4gIH0pO1xuXG4gIGdldCBjaGVja291dFN0YXRlJCgpOiBPYnNlcnZhYmxlPENoZWNrb3V0RGlhbG9nU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5jaGVja291dFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJvbnRlZ2dBcHBTZXJ2aWNlOiBGcm9udGVnZ0FwcFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIG9wZW5DaGVja291dChwbGFuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrb3V0U3RhdGVTdWJqZWN0Lm5leHQoe1xuICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgIGNvbmZpcm1lZDogZmFsc2UsXG4gICAgICBlcnJvcjogbnVsbCxcbiAgICB9KTtcbiAgICB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5zaG93Q2hlY2tvdXREaWFsb2coe1xuICAgICAgcGxhbixcbiAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrb3V0U3RhdGVTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIG9wZW46IGZhbHNlLFxuICAgICAgICAgIGNvbmZpcm1lZDogdHJ1ZSxcbiAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgb25FcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoZWNrb3V0U3RhdGUgPSB0aGlzLmNoZWNrb3V0U3RhdGVTdWJqZWN0LnZhbHVlO1xuICAgICAgICB0aGlzLmNoZWNrb3V0U3RhdGVTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIC4uLmNoZWNrb3V0U3RhdGUsXG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIG9uQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tvdXRTdGF0ZSA9IHRoaXMuY2hlY2tvdXRTdGF0ZVN1YmplY3QudmFsdWU7XG4gICAgICAgIHRoaXMuY2hlY2tvdXRTdGF0ZVN1YmplY3QubmV4dCh7XG4gICAgICAgICAgLi4uY2hlY2tvdXRTdGF0ZSxcbiAgICAgICAgICBvcGVuOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGhpZGVDaGVja291dCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5oaWRlQ2hlY2tvdXREaWFsb2coKTtcbiAgfVxufVxuIl19
@@ -25,6 +25,7 @@ export class FronteggSubscriptionService {
25
25
  }
26
26
  dispatchAction(type, payload) {
27
27
  const store = this.fronteggAppService.fronteggApp.store;
28
+ // @ts-ignore
28
29
  store.dispatch({ type: `${subscriptionsStoreName}/${type}`, payload });
29
30
  }
30
31
  }
@@ -37,4 +38,4 @@ FronteggSubscriptionService.decorators = [
37
38
  FronteggSubscriptionService.ctorParameters = () => [
38
39
  { type: FronteggAppService }
39
40
  ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctc3Vic2NyaXB0aW9uLnNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnJvbnRlZ2ctYXBwL3NyYy9saWIvZnJvbnRlZ2ctc3Vic2NyaXB0aW9uLnNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBRUwsc0JBQXNCLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7OztBQU8vQixNQUFNLE9BQU8sMkJBQTJCO0lBT3RDLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTmxELDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUErQixFQUFrQyxDQUFDLENBQUM7UUF3QmxILHFCQUFnQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQWpCM0YsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO1lBQzFFLElBQUksaUJBQWlCLElBQUksSUFBSSxFQUFFO2dCQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztnQkFFeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUU7b0JBQzFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQ2xEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFmRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBZU8sY0FBYyxDQUFDLElBQVksRUFBRSxPQUFhO1FBQ2hELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUN2RSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsc0JBQXNCLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs7O1lBMUJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBWlEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcFNlcnZpY2UgfSBmcm9tICcuL2Zyb250ZWdnLWFwcC5zZXJ2aWNlJztcbmltcG9ydCBGYXN0RGVlcEVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQge1xuICBFbmhhbmNlZFN0b3JlLFxuICBzdWJzY3JpcHRpb25zU3RvcmVOYW1lLFxuICBCaWxsaW5nU3RhdGUsXG59IGZyb20gJ0Bmcm9udGVnZy9yZWR1eC1zdG9yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZyb250ZWdnU3Vic2NyaXB0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCaWxsaW5nU3RhdGVbJ3N1YnNjcmlwdGlvbiddPih7fSBhcyBCaWxsaW5nU3RhdGVbJ3N1YnNjcmlwdGlvbiddKTtcblxuICBnZXQgc3Vic2NyaXB0aW9uU3RhdGUkKCk6IE9ic2VydmFibGU8QmlsbGluZ1N0YXRlWydzdWJzY3JpcHRpb24nXT4ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvblN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJvbnRlZ2dBcHBTZXJ2aWNlOiBGcm9udGVnZ0FwcFNlcnZpY2UpIHtcbiAgICAvLyBNZW1vaXplZCBTdWJzY3JpcHRpb24gU3RhdGVcbiAgICB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5zdWJzY3JpcHRpb25zU3RhdGUkLnN1YnNjcmliZSgoc3Vic2NyaXB0aW9uU3RhdGUpID0+IHtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25TdGF0ZSAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHsgYmlsbGluZzogeyBzdWJzY3JpcHRpb24gfSB9ID0gc3Vic2NyaXB0aW9uU3RhdGU7XG5cbiAgICAgICAgaWYgKCFGYXN0RGVlcEVxdWFsKHRoaXMuc3Vic2NyaXB0aW9uU3RhdGVTdWJqZWN0LmdldFZhbHVlKCksIHN1YnNjcmlwdGlvbikpIHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlU3ViamVjdC5uZXh0KHN1YnNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hBY3Rpb24odHlwZTogc3RyaW5nLCBwYXlsb2FkPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmU6IEVuaGFuY2VkU3RvcmUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZTtcbiAgICBzdG9yZS5kaXNwYXRjaCh7IHR5cGU6IGAke3N1YnNjcmlwdGlvbnNTdG9yZU5hbWV9LyR7dHlwZX1gLCBwYXlsb2FkIH0pO1xuICB9XG5cbiAgcHVibGljIGxvYWRTdWJzY3JpcHRpb24gPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdiaWxsaW5nL3N1YnNjcmlwdGlvbi9sb2FkU3Vic2NyaXB0aW9uJyk7XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctc3Vic2NyaXB0aW9uLnNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnJvbnRlZ2ctYXBwL3NyYy9saWIvZnJvbnRlZ2ctc3Vic2NyaXB0aW9uLnNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBRUwsc0JBQXNCLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7OztBQU8vQixNQUFNLE9BQU8sMkJBQTJCO0lBT3RDLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTmxELDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUErQixFQUFrQyxDQUFDLENBQUM7UUF5QmxILHFCQUFnQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQWxCM0YsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO1lBQzFFLElBQUksaUJBQWlCLElBQUksSUFBSSxFQUFFO2dCQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztnQkFFeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUU7b0JBQzFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQ2xEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFmRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBZU8sY0FBYyxDQUFDLElBQVksRUFBRSxPQUFhO1FBQ2hELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUN2RSxhQUFhO1FBQ2IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLHNCQUFzQixJQUFJLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7OztZQTNCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVpRLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9mcm9udGVnZy1hcHAuc2VydmljZSc7XG5pbXBvcnQgRmFzdERlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHtcbiAgRW5oYW5jZWRTdG9yZSxcbiAgc3Vic2NyaXB0aW9uc1N0b3JlTmFtZSxcbiAgQmlsbGluZ1N0YXRlLFxufSBmcm9tICdAZnJvbnRlZ2cvcmVkdXgtc3RvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGcm9udGVnZ1N1YnNjcmlwdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvblN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmlsbGluZ1N0YXRlWydzdWJzY3JpcHRpb24nXT4oe30gYXMgQmlsbGluZ1N0YXRlWydzdWJzY3JpcHRpb24nXSk7XG5cbiAgZ2V0IHN1YnNjcmlwdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPEJpbGxpbmdTdGF0ZVsnc3Vic2NyaXB0aW9uJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyb250ZWdnQXBwU2VydmljZTogRnJvbnRlZ2dBcHBTZXJ2aWNlKSB7XG4gICAgLy8gTWVtb2l6ZWQgU3Vic2NyaXB0aW9uIFN0YXRlXG4gICAgdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2Uuc3Vic2NyaXB0aW9uc1N0YXRlJC5zdWJzY3JpYmUoKHN1YnNjcmlwdGlvblN0YXRlKSA9PiB7XG4gICAgICBpZiAoc3Vic2NyaXB0aW9uU3RhdGUgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCB7IGJpbGxpbmc6IHsgc3Vic2NyaXB0aW9uIH0gfSA9IHN1YnNjcmlwdGlvblN0YXRlO1xuXG4gICAgICAgIGlmICghRmFzdERlZXBFcXVhbCh0aGlzLnN1YnNjcmlwdGlvblN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLCBzdWJzY3JpcHRpb24pKSB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZVN1YmplY3QubmV4dChzdWJzY3JpcHRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoQWN0aW9uKHR5cGU6IHN0cmluZywgcGF5bG9hZD86IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHN0b3JlOiBFbmhhbmNlZFN0b3JlID0gdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHN0b3JlLmRpc3BhdGNoKHsgdHlwZTogYCR7c3Vic2NyaXB0aW9uc1N0b3JlTmFtZX0vJHt0eXBlfWAsIHBheWxvYWQgfSk7XG4gIH1cblxuICBwdWJsaWMgbG9hZFN1YnNjcmlwdGlvbiA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2JpbGxpbmcvc3Vic2NyaXB0aW9uL2xvYWRTdWJzY3JpcHRpb24nKTtcbn1cbiJdfQ==
@@ -6,7 +6,8 @@ export { FronteggAppService } from './lib/frontegg-app.service';
6
6
  export { FronteggComponent } from './lib/frontegg.component';
7
7
  export { FronteggAuthService } from './lib/frontegg-auth.service';
8
8
  export { FronteggSubscriptionService } from './lib/frontegg-subscription.services';
9
+ export { FronteggCheckoutService } from './lib/frontegg-checkout.services';
9
10
  export * from './lib/directives/authorized-content.directive';
10
11
  export * from './lib/guards/frontegg-auth.guard';
11
12
  export * from './lib/guards/frontegg-load.guard';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBmcm9udGVnZy1hcHBcbiAqL1xuXG5leHBvcnQgeyBGcm9udGVnZ0FwcE1vZHVsZSB9IGZyb20gJy4vbGliL2Zyb250ZWdnLWFwcC5tb2R1bGUnO1xuZXhwb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZnJvbnRlZ2ctYXBwLnNlcnZpY2UnO1xuZXhwb3J0IHsgRnJvbnRlZ2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9mcm9udGVnZy5jb21wb25lbnQnO1xuZXhwb3J0IHsgRnJvbnRlZ2dBdXRoU2VydmljZSB9IGZyb20gJy4vbGliL2Zyb250ZWdnLWF1dGguc2VydmljZSc7XG5leHBvcnQgeyBGcm9udGVnZ1N1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuL2xpYi9mcm9udGVnZy1zdWJzY3JpcHRpb24uc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRob3JpemVkLWNvbnRlbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9mcm9udGVnZy1hdXRoLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9mcm9udGVnZy1sb2FkLmd1YXJkJztcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBmcm9udGVnZy1hcHBcbiAqL1xuXG5leHBvcnQgeyBGcm9udGVnZ0FwcE1vZHVsZSB9IGZyb20gJy4vbGliL2Zyb250ZWdnLWFwcC5tb2R1bGUnO1xuZXhwb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZnJvbnRlZ2ctYXBwLnNlcnZpY2UnO1xuZXhwb3J0IHsgRnJvbnRlZ2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9mcm9udGVnZy5jb21wb25lbnQnO1xuZXhwb3J0IHsgRnJvbnRlZ2dBdXRoU2VydmljZSB9IGZyb20gJy4vbGliL2Zyb250ZWdnLWF1dGguc2VydmljZSc7XG5leHBvcnQgeyBGcm9udGVnZ1N1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuL2xpYi9mcm9udGVnZy1zdWJzY3JpcHRpb24uc2VydmljZXMnO1xuZXhwb3J0IHsgRnJvbnRlZ2dDaGVja291dFNlcnZpY2UgfSBmcm9tICcuL2xpYi9mcm9udGVnZy1jaGVja291dC5zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2F1dGhvcml6ZWQtY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzL2Zyb250ZWdnLWF1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzL2Zyb250ZWdnLWxvYWQuZ3VhcmQnO1xuIl19
@@ -165,6 +165,15 @@ class FronteggAppService {
165
165
  var _a;
166
166
  (_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideAdminPortal();
167
167
  }
168
+ // Open checkout dialog
169
+ showCheckoutDialog(opts) {
170
+ this.fronteggApp.showCheckoutDialog(opts);
171
+ }
172
+ // Open checkout dialog
173
+ hideCheckoutDialog() {
174
+ var _a;
175
+ (_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideCheckoutDialog();
176
+ }
168
177
  }
169
178
  FronteggAppService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggAppService_Factory() { return new FronteggAppService(i0.ɵɵinject(FronteggAppOptionsClass), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.NgZone)); }, token: FronteggAppService, providedIn: "root" });
170
179
  FronteggAppService.decorators = [
@@ -508,6 +517,7 @@ class FronteggAuthService {
508
517
  }
509
518
  dispatchAction(type, payload) {
510
519
  const store = this.fronteggAppService.fronteggApp.store;
520
+ // @ts-ignore
511
521
  store.dispatch({ type: `${authStoreName}/${type}`, payload });
512
522
  }
513
523
  }
@@ -557,6 +567,57 @@ AuthorizedContentDirective.propDecorators = {
557
567
  authorizedContent: [{ type: Input }]
558
568
  };
559
569
 
570
+ class FronteggCheckoutService {
571
+ constructor(fronteggAppService) {
572
+ this.fronteggAppService = fronteggAppService;
573
+ this.checkoutStateSubject = new BehaviorSubject({
574
+ open: false,
575
+ confirmed: false,
576
+ error: null,
577
+ });
578
+ }
579
+ get checkoutState$() {
580
+ return this.checkoutStateSubject.asObservable();
581
+ }
582
+ openCheckout(plan) {
583
+ this.checkoutStateSubject.next({
584
+ open: true,
585
+ confirmed: false,
586
+ error: null,
587
+ });
588
+ this.fronteggAppService.showCheckoutDialog({
589
+ plan,
590
+ onSuccess: () => {
591
+ this.checkoutStateSubject.next({
592
+ open: false,
593
+ confirmed: true,
594
+ error: null,
595
+ });
596
+ },
597
+ onError: (error) => {
598
+ const checkoutState = this.checkoutStateSubject.value;
599
+ this.checkoutStateSubject.next(Object.assign(Object.assign({}, checkoutState), { error }));
600
+ },
601
+ onClose: () => {
602
+ const checkoutState = this.checkoutStateSubject.value;
603
+ this.checkoutStateSubject.next(Object.assign(Object.assign({}, checkoutState), { open: false }));
604
+ },
605
+ });
606
+ }
607
+ hideCheckout() {
608
+ this.fronteggAppService.hideCheckoutDialog();
609
+ }
610
+ }
611
+ FronteggCheckoutService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggCheckoutService_Factory() { return new FronteggCheckoutService(i0.ɵɵinject(FronteggAppService)); }, token: FronteggCheckoutService, providedIn: "root" });
612
+ FronteggCheckoutService.decorators = [
613
+ { type: Injectable, args: [{
614
+ providedIn: 'root',
615
+ },] }
616
+ ];
617
+ FronteggCheckoutService.ctorParameters = () => [
618
+ { type: FronteggAppService }
619
+ ];
620
+
560
621
  class FronteggAppModule {
561
622
  static forRoot(config) {
562
623
  return {
@@ -566,6 +627,7 @@ class FronteggAppModule {
566
627
  FronteggAuthGuard,
567
628
  FronteggLoadGuard,
568
629
  FronteggAuthService,
630
+ FronteggCheckoutService,
569
631
  {
570
632
  provide: FronteggAppOptionsClass,
571
633
  useValue: config,
@@ -602,6 +664,7 @@ class FronteggSubscriptionService {
602
664
  }
603
665
  dispatchAction(type, payload) {
604
666
  const store = this.fronteggAppService.fronteggApp.store;
667
+ // @ts-ignore
605
668
  store.dispatch({ type: `${subscriptionsStoreName}/${type}`, payload });
606
669
  }
607
670
  }
@@ -623,5 +686,5 @@ FronteggSubscriptionService.ctorParameters = () => [
623
686
  * Generated bundle index. Do not edit.
624
687
  */
625
688
 
626
- export { AuthorizedContentDirective, FronteggAppModule, FronteggAppService, FronteggAuthGuard, FronteggAuthService, FronteggComponent, FronteggLoadGuard, FronteggSubscriptionService, FronteggAppOptionsClass as ɵa, FronteggBaseGuard as ɵb };
689
+ export { AuthorizedContentDirective, FronteggAppModule, FronteggAppService, FronteggAuthGuard, FronteggAuthService, FronteggCheckoutService, FronteggComponent, FronteggLoadGuard, FronteggSubscriptionService, FronteggAppOptionsClass as ɵa, FronteggBaseGuard as ɵb };
627
690
  //# sourceMappingURL=frontegg-angular.js.map