@infrab4a/connect-angular 4.17.0-beta.13 → 4.17.0-beta.3

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.
@@ -1,6 +1,5 @@
1
1
  import { ModuleWithProviders, Type } from '@angular/core';
2
2
  import { FirebaseOptions } from '@angular/fire/app';
3
- import { AppCheckOptions } from '@angular/fire/app-check';
4
3
  import { AxiosElasticSearchConfig, Shops, VertexSearchConfig } from '@infrab4a/connect';
5
4
  import { HasuraGraphQLOptions } from './angular-hasura-graphql.module';
6
5
  import { DataPersistence } from './persistence';
@@ -24,7 +23,7 @@ export declare class AngularConnectModule {
24
23
  oldCategoryStructure?: boolean;
25
24
  storageBaseUrl?: string;
26
25
  persistenceProvider?: Type<DataPersistence>;
27
- appCheckProvider?: AppCheckOptions['provider'];
26
+ recaptchaSiteKey?: string;
28
27
  }, nameOrConfig?: string | FirebaseAppConfig): ModuleWithProviders<AngularConnectModule>;
29
28
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularConnectModule, never>;
30
29
  static ɵmod: i0.ɵɵNgModuleDeclaration<AngularConnectModule, never, [typeof i1.FirebaseAppModule, typeof i2.AppCheckModule, typeof i3.StorageModule, typeof i4.AngularElasticSeachModule, typeof i5.AngularVertexSeachModule, typeof i6.AngularFirebaseAuthModule, typeof i7.AngularFirestoreModule, typeof i8.AngularHasuraGraphQLModule], never>;
@@ -1,4 +1,4 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export declare const FIREBASE_APP_NAME: InjectionToken<unknown>;
3
3
  export declare const FIREBASE_OPTIONS: InjectionToken<unknown>;
4
- export declare const APP_CHECK_PROVIDER: InjectionToken<unknown>;
4
+ export declare const RECAPTCHA_SITE_KEY: InjectionToken<unknown>;
@@ -1,14 +1,14 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
3
- import { initializeAppCheck, provideAppCheck } from '@angular/fire/app-check';
3
+ import { initializeAppCheck, provideAppCheck, ReCaptchaEnterpriseProvider } from '@angular/fire/app-check';
4
4
  import { getStorage, provideStorage, Storage } from '@angular/fire/storage';
5
- import { FirebaseFileUploaderService, isNil, ProductsVertexSearch, UpdateUserImage, } from '@infrab4a/connect';
5
+ import { FirebaseFileUploaderService, isEmpty, isNil, ProductsVertexSearch, UpdateUserImage, } from '@infrab4a/connect';
6
6
  import { AngularElasticSeachModule } from './angular-elastic-search.module';
7
7
  import { AngularFirebaseAuthModule } from './angular-firebase-auth.module';
8
8
  import { AngularFirestoreModule } from './angular-firestore.module';
9
9
  import { AngularHasuraGraphQLModule } from './angular-hasura-graphql.module';
10
10
  import { AngularVertexSeachModule } from './angular-vertex-search.module';
11
- import { APP_CHECK_PROVIDER, BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, PERSISTENCE_PROVIDER, VERTEX_CONFIG, } from './consts';
11
+ import { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, PERSISTENCE_PROVIDER, RECAPTCHA_SITE_KEY, VERTEX_CONFIG, } from './consts';
12
12
  import { STORAGE_BASE_URL } from './consts/storage-base-url.const';
13
13
  import { CookieDataPersistence } from './persistence';
14
14
  import { AuthService, CartService, CatalogService, CategoryService, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, ShippingService, WishlistService, } from './services';
@@ -22,8 +22,6 @@ export class AngularConnectModule {
22
22
  return {
23
23
  ngModule: AngularConnectModule,
24
24
  providers: [
25
- { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
26
- { provide: APP_CHECK_PROVIDER, useValue: options.appCheckProvider },
27
25
  {
28
26
  provide: CATEGORY_STRUCTURE,
29
27
  useClass: isNil(options?.oldCategoryStructure) || options?.oldCategoryStructure
@@ -33,11 +31,15 @@ export class AngularConnectModule {
33
31
  { provide: PERSISTENCE_PROVIDER, useClass: options?.persistenceProvider || CookieDataPersistence },
34
32
  ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),
35
33
  ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),
34
+ ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),
36
35
  ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),
37
36
  ...(isNil(options?.vertexConfig) ? [] : [{ provide: VERTEX_CONFIG, useValue: options.vertexConfig }]),
38
37
  ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),
39
38
  ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),
40
39
  ...(isNil(options?.storageBaseUrl) ? [] : [{ provide: STORAGE_BASE_URL, useValue: options.storageBaseUrl }]),
40
+ ...(isNil(options?.recaptchaSiteKey)
41
+ ? []
42
+ : [{ provide: RECAPTCHA_SITE_KEY, useValue: options.recaptchaSiteKey }]),
41
43
  ],
42
44
  };
43
45
  }
@@ -81,36 +83,25 @@ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
81
83
  ], imports: [provideFirebaseApp((injector) => {
82
84
  const appName = injector.get(FIREBASE_APP_NAME);
83
85
  try {
84
- const app = appName ? getApp(appName) : getApp();
85
- console.log('Connect initializeApp', app.name);
86
- return app;
86
+ return appName ? getApp(appName) : getApp();
87
87
  }
88
88
  catch (error) {
89
- console.warn('Firebase app not found, initializing new app');
90
- if (error instanceof Error) {
91
- console.error(error.message);
92
- }
93
89
  return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
94
90
  }
95
91
  }),
96
92
  provideAppCheck((injector) => {
97
93
  const app = injector.get(FirebaseApp);
98
- console.log('Connect APP', app.name);
99
- console.log('Connect APP', JSON.stringify(app.options));
100
94
  try {
101
- const provider = injector.get(APP_CHECK_PROVIDER);
102
- console.log('APP_CHECK_PROVIDER', provider);
103
- if (provider)
104
- return initializeAppCheck(app, {
105
- provider,
106
- isTokenAutoRefreshEnabled: true,
107
- });
95
+ const siteKey = injector.get(RECAPTCHA_SITE_KEY);
96
+ return initializeAppCheck(app, {
97
+ provider: isEmpty(siteKey) ? undefined : new ReCaptchaEnterpriseProvider(siteKey),
98
+ isTokenAutoRefreshEnabled: true,
99
+ });
108
100
  }
109
101
  catch (error) {
110
- if (error instanceof Error)
111
- console.error(error.message);
112
- return;
102
+ console.warn('ReCAPTCHA site key not provided or invalid, App Check not initialized');
113
103
  }
104
+ return;
114
105
  }),
115
106
  provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
116
107
  AngularElasticSeachModule,
@@ -125,36 +116,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
125
116
  provideFirebaseApp((injector) => {
126
117
  const appName = injector.get(FIREBASE_APP_NAME);
127
118
  try {
128
- const app = appName ? getApp(appName) : getApp();
129
- console.log('Connect initializeApp', app.name);
130
- return app;
119
+ return appName ? getApp(appName) : getApp();
131
120
  }
132
121
  catch (error) {
133
- console.warn('Firebase app not found, initializing new app');
134
- if (error instanceof Error) {
135
- console.error(error.message);
136
- }
137
122
  return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
138
123
  }
139
124
  }),
140
125
  provideAppCheck((injector) => {
141
126
  const app = injector.get(FirebaseApp);
142
- console.log('Connect APP', app.name);
143
- console.log('Connect APP', JSON.stringify(app.options));
144
127
  try {
145
- const provider = injector.get(APP_CHECK_PROVIDER);
146
- console.log('APP_CHECK_PROVIDER', provider);
147
- if (provider)
148
- return initializeAppCheck(app, {
149
- provider,
150
- isTokenAutoRefreshEnabled: true,
151
- });
128
+ const siteKey = injector.get(RECAPTCHA_SITE_KEY);
129
+ return initializeAppCheck(app, {
130
+ provider: isEmpty(siteKey) ? undefined : new ReCaptchaEnterpriseProvider(siteKey),
131
+ isTokenAutoRefreshEnabled: true,
132
+ });
152
133
  }
153
134
  catch (error) {
154
- if (error instanceof Error)
155
- console.error(error.message);
156
- return;
135
+ console.warn('ReCAPTCHA site key not provided or invalid, App Check not initialized');
157
136
  }
137
+ return;
158
138
  }),
159
139
  provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
160
140
  AngularElasticSeachModule,
@@ -196,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
196
176
  ],
197
177
  }]
198
178
  }] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0csT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBR0wsMkJBQTJCLEVBQzNCLEtBQUssRUFDTCxvQkFBb0IsRUFFcEIsZUFBZSxHQUdoQixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN6RSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FB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QzFELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7eUJBQ2hEO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFVBQVUsRUFBRSxDQUFDLE9BQWdCLEVBQUUsT0FBZSxFQUFFLEVBQUU7Z0NBQ2hELE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7NEJBQzFELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO3lCQUNsQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsV0FBVyxFQUFFLG9CQUFvQjt5QkFDbEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucywgZ2V0QXBwLCBpbml0aWFsaXplQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCdcbmltcG9ydCB7IEFwcENoZWNrT3B0aW9ucywgaW5pdGlhbGl6ZUFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjaydcbmltcG9ydCB7IGdldFN0b3JhZ2UsIHByb3ZpZGVTdG9yYWdlLCBTdG9yYWdlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9zdG9yYWdlJ1xuaW1wb3J0IHtcbiAgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLFxuICBGaWxlVXBsb2FkZXJTZXJ2aWNlLFxuICBGaXJlYmFzZUZpbGVVcGxvYWRlclNlcnZpY2UsXG4gIGlzTmlsLFxuICBQcm9kdWN0c1ZlcnRleFNlYXJjaCxcbiAgU2hvcHMsXG4gIFVwZGF0ZVVzZXJJbWFnZSxcbiAgVXNlclJlcG9zaXRvcnksXG4gIFZlcnRleFNlYXJjaENvbmZpZyxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZmlyZWJhc2UtYXV0aC5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZSwgSGFzdXJhR3JhcGhRTE9wdGlvbnMgfSBmcm9tICcuL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhclZlcnRleFNlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLXZlcnRleC1zZWFyY2gubW9kdWxlJ1xuaW1wb3J0IHtcbiAgQVBQX0NIRUNLX1BST1ZJREVSLFxuICBCQUNLRU5EX1VSTCxcbiAgQ0FURUdPUllfU1RSVUNUVVJFLFxuICBERUZBVUxUX1NIT1AsXG4gIEVTX0NPTkZJRyxcbiAgRklSRUJBU0VfQVBQX05BTUUsXG4gIEZJUkVCQVNFX09QVElPTlMsXG4gIEhBU1VSQV9PUFRJT05TLFxuICBQRVJTSVNURU5DRV9QUk9WSURFUixcbiAgVkVSVEVYX0NPTkZJRyxcbn0gZnJvbSAnLi9jb25zdHMnXG5pbXBvcnQgeyBTVE9SQUdFX0JBU0VfVVJMIH0gZnJvbSAnLi9jb25zdHMvc3RvcmFnZS1iYXNlLXVybC5jb25zdCdcbmltcG9ydCB7IENvb2tpZURhdGFQZXJzaXN0ZW5jZSwgRGF0YVBlcnNpc3RlbmNlIH0gZnJvbSAnLi9wZXJzaXN0ZW5jZSdcbmltcG9ydCB7XG4gIEF1dGhTZXJ2aWNlLFxuICBDYXJ0U2VydmljZSxcbiAgQ2F0YWxvZ1NlcnZpY2UsXG4gIENhdGVnb3J5U2VydmljZSxcbiAgQ2hlY2tvdXRTZXJ2aWNlLFxuICBDaGVja291dFN1YnNjcmlwdGlvblNlcnZpY2UsXG4gIENvdXBvblNlcnZpY2UsXG4gIEhvbWVTaG9wU2VydmljZSxcbiAgT3JkZXJTZXJ2aWNlLFxuICBTaGlwcGluZ1NlcnZpY2UsXG4gIFdpc2hsaXN0U2VydmljZSxcbn0gZnJvbSAnLi9zZXJ2aWNlcydcbmltcG9ydCB7IE5ld0NhdGVnb3J5U3RydWN0dXJlQWRhcHRlciwgT2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGFwcE5hbWUgPSBpbmplY3Rvci5nZXQ8c3RyaW5nPihGSVJFQkFTRV9BUFBfTkFNRSlcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYXBwID0gYXBwTmFtZSA/IGdldEFwcChhcHBOYW1lKSA6IGdldEFwcCgpXG5cbiAgICAgICAgY29uc29sZS5sb2coJ0Nvbm5lY3QgaW5pdGlhbGl6ZUFwcCcsIGFwcC5uYW1lKVxuXG4gICAgICAgIHJldHVybiBhcHBcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignRmlyZWJhc2UgYXBwIG5vdCBmb3VuZCwgaW5pdGlhbGl6aW5nIG5ldyBhcHAnKVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUFwcChpbmplY3Rvci5nZXQoRklSRUJBU0VfT1BUSU9OUyksIGFwcE5hbWUpXG4gICAgICB9XG4gICAgfSksXG4gICAgcHJvdmlkZUFwcENoZWNrKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcClcblxuICAgICAgY29uc29sZS5sb2coJ0Nvbm5lY3QgQVBQJywgYXBwLm5hbWUpXG4gICAgICBjb25zb2xlLmxvZygnQ29ubmVjdCBBUFAnLCBKU09OLnN0cmluZ2lmeShhcHAub3B0aW9ucykpXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gaW5qZWN0b3IuZ2V0PEFwcENoZWNrT3B0aW9uc1sncHJvdmlkZXInXT4oQVBQX0NIRUNLX1BST1ZJREVSKVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCdBUFBfQ0hFQ0tfUFJPVklERVInLCBwcm92aWRlcilcblxuICAgICAgICBpZiAocHJvdmlkZXIpXG4gICAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHBDaGVjayhhcHAsIHtcbiAgICAgICAgICAgIHByb3ZpZGVyLFxuICAgICAgICAgICAgaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSlcblxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9KSxcbiAgICBwcm92aWRlU3RvcmFnZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBnZXRTdG9yYWdlKGluamVjdG9yLmdldChGaXJlYmFzZUFwcCkpKSxcbiAgICBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlLFxuICAgIEFuZ3VsYXJWZXJ0ZXhTZWFjaE1vZHVsZSxcbiAgICBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxuICAgIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEF1dGhTZXJ2aWNlLFxuICAgIENhcnRTZXJ2aWNlLFxuICAgIENhdGFsb2dTZXJ2aWNlLFxuICAgIENhdGVnb3J5U2VydmljZSxcbiAgICBDaGVja291dFNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgIENvdXBvblNlcnZpY2UsXG4gICAgSG9tZVNob3BTZXJ2aWNlLFxuICAgIE9yZGVyU2VydmljZSxcbiAgICBTaGlwcGluZ1NlcnZpY2UsXG4gICAgV2lzaGxpc3RTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFVwZGF0ZVVzZXJJbWFnZSxcbiAgICAgIHVzZUZhY3Rvcnk6ICh1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnksIGZpbGVVcGxvYWRlcjogRmlsZVVwbG9hZGVyU2VydmljZSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVwZGF0ZVVzZXJJbWFnZSh1c2VyUmVwb3NpdG9yeSwgZmlsZVVwbG9hZGVyKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnVXNlclJlcG9zaXRvcnknLCAnRmlsZVVwbG9hZGVyU2VydmljZSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0ZpbGVVcGxvYWRlclNlcnZpY2UnLFxuICAgICAgdXNlRmFjdG9yeTogKHN0b3JhZ2U6IFN0b3JhZ2UsIGJhc2VVcmw6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEZpcmViYXNlRmlsZVVwbG9hZGVyU2VydmljZShzdG9yYWdlLCBiYXNlVXJsKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtTdG9yYWdlLCBTVE9SQUdFX0JBU0VfVVJMXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0U2VhcmNoJyxcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0c1ZlcnRleFNlYXJjaCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZT86IEZpcmViYXNlT3B0aW9uc1xuICAgICAgZWxhc3RpY1NlYXJjaD86IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xuICAgICAgdmVydGV4Q29uZmlnPzogVmVydGV4U2VhcmNoQ29uZmlnXG4gICAgICBoYXN1cmE6IEhhc3VyYUdyYXBoUUxPcHRpb25zXG4gICAgICBiYWNrZW5kVXJsOiBzdHJpbmdcbiAgICAgIG9sZENhdGVnb3J5U3RydWN0dXJlPzogYm9vbGVhblxuICAgICAgc3RvcmFnZUJhc2VVcmw/OiBzdHJpbmdcbiAgICAgIHBlcnNpc3RlbmNlUHJvdmlkZXI/OiBUeXBlPERhdGFQZXJzaXN0ZW5jZT5cbiAgICAgIGFwcENoZWNrUHJvdmlkZXI/OiBBcHBDaGVja09wdGlvbnNbJ3Byb3ZpZGVyJ11cbiAgICB9LFxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJDb25uZWN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyQ29ubmVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQVBQX0NIRUNLX1BST1ZJREVSLCB1c2VWYWx1ZTogb3B0aW9ucy5hcHBDaGVja1Byb3ZpZGVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDQVRFR09SWV9TVFJVQ1RVUkUsXG4gICAgICAgICAgdXNlQ2xhc3M6XG4gICAgICAgICAgICBpc05pbChvcHRpb25zPy5vbGRDYXRlZ29yeVN0cnVjdHVyZSkgfHwgb3B0aW9ucz8ub2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVcbiAgICAgICAgICAgICAgPyBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXJcbiAgICAgICAgICAgICAgOiBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsXG4gICAgICAgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUEVSU0lTVEVOQ0VfUFJPVklERVIsIHVzZUNsYXNzOiBvcHRpb25zPy5wZXJzaXN0ZW5jZVByb3ZpZGVyIHx8IENvb2tpZURhdGFQZXJzaXN0ZW5jZSB9LFxuICAgICAgICAuLi4oaXNOaWwoZGVmYXVsdFNob3ApID8gW10gOiBbeyBwcm92aWRlOiBERUZBVUxUX1NIT1AsIHVzZVZhbHVlOiBkZWZhdWx0U2hvcCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5maXJlYmFzZSkgPyBbXSA6IFt7IHByb3ZpZGU6IEZJUkVCQVNFX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zPy5maXJlYmFzZSB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5lbGFzdGljU2VhcmNoKSA/IFtdIDogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy5lbGFzdGljU2VhcmNoIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LnZlcnRleENvbmZpZykgPyBbXSA6IFt7IHByb3ZpZGU6IFZFUlRFWF9DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLnZlcnRleENvbmZpZyB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5oYXN1cmEpID8gW10gOiBbeyBwcm92aWRlOiBIQVNVUkFfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuaGFzdXJhIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmJhY2tlbmRVcmwpID8gW10gOiBbeyBwcm92aWRlOiBCQUNLRU5EX1VSTCwgdXNlVmFsdWU6IG9wdGlvbnMuYmFja2VuZFVybCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5zdG9yYWdlQmFzZVVybCkgPyBbXSA6IFt7IHByb3ZpZGU6IFNUT1JBR0VfQkFTRV9VUkwsIHVzZVZhbHVlOiBvcHRpb25zLnN0b3JhZ2VCYXNlVXJsIH1dKSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzFHLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFHTCwyQkFBMkIsRUFDM0IsT0FBTyxFQUNQLEtBQUssRUFDTCxvQkFBb0IsRUFFcEIsZUFBZSxHQUdoQixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN6RSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsYUFBYSxHQUNkLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFB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Q3hCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0QiwwQkFBMEI7cUJBQzNCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsMkJBQTJCO3dCQUMzQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Y7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxDQUFDLGNBQThCLEVBQUUsWUFBaUMsRUFBRSxFQUFFO2dDQUNoRixPQUFPLElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQTs0QkFDMUQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDaEQ7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsVUFBVSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxPQUFlLEVBQUUsRUFBRTtnQ0FDaEQsT0FBTyxJQUFJLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTs0QkFDMUQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7eUJBQ2xDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixXQUFXLEVBQUUsb0JBQW9CO3lCQUNsQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zLCBnZXRBcHAsIGluaXRpYWxpemVBcHAsIHByb3ZpZGVGaXJlYmFzZUFwcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2ssIFJlQ2FwdGNoYUVudGVycHJpc2VQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwLWNoZWNrJ1xuaW1wb3J0IHsgZ2V0U3RvcmFnZSwgcHJvdmlkZVN0b3JhZ2UsIFN0b3JhZ2UgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEZpbGVVcGxvYWRlclNlcnZpY2UsXG4gIEZpcmViYXNlRmlsZVVwbG9hZGVyU2VydmljZSxcbiAgaXNFbXB0eSxcbiAgaXNOaWwsXG4gIFByb2R1Y3RzVmVydGV4U2VhcmNoLFxuICBTaG9wcyxcbiAgVXBkYXRlVXNlckltYWdlLFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgVmVydGV4U2VhcmNoQ29uZmlnLFxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZmlyZXN0b3JlLm1vZHVsZSdcbmltcG9ydCB7IEFuZ3VsYXJIYXN1cmFHcmFwaFFMTW9kdWxlLCBIYXN1cmFHcmFwaFFMT3B0aW9ucyB9IGZyb20gJy4vYW5ndWxhci1oYXN1cmEtZ3JhcGhxbC5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFyVmVydGV4U2VhY2hNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItdmVydGV4LXNlYXJjaC5tb2R1bGUnXG5pbXBvcnQge1xuICBCQUNLRU5EX1VSTCxcbiAgQ0FURUdPUllfU1RSVUNUVVJFLFxuICBERUZBVUxUX1NIT1AsXG4gIEVTX0NPTkZJRyxcbiAgRklSRUJBU0VfQVBQX05BTUUsXG4gIEZJUkVCQVNFX09QVElPTlMsXG4gIEhBU1VSQV9PUFRJT05TLFxuICBQRVJTSVNURU5DRV9QUk9WSURFUixcbiAgUkVDQVBUQ0hBX1NJVEVfS0VZLFxuICBWRVJURVhfQ09ORklHLFxufSBmcm9tICcuL2NvbnN0cydcbmltcG9ydCB7IFNUT1JBR0VfQkFTRV9VUkwgfSBmcm9tICcuL2NvbnN0cy9zdG9yYWdlLWJhc2UtdXJsLmNvbnN0J1xuaW1wb3J0IHsgQ29va2llRGF0YVBlcnNpc3RlbmNlLCBEYXRhUGVyc2lzdGVuY2UgfSBmcm9tICcuL3BlcnNpc3RlbmNlJ1xuaW1wb3J0IHtcbiAgQXV0aFNlcnZpY2UsXG4gIENhcnRTZXJ2aWNlLFxuICBDYXRhbG9nU2VydmljZSxcbiAgQ2F0ZWdvcnlTZXJ2aWNlLFxuICBDaGVja291dFNlcnZpY2UsXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcbiAgQ291cG9uU2VydmljZSxcbiAgSG9tZVNob3BTZXJ2aWNlLFxuICBPcmRlclNlcnZpY2UsXG4gIFNoaXBwaW5nU2VydmljZSxcbiAgV2lzaGxpc3RTZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJ1xuaW1wb3J0IHsgTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLCBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgYXBwTmFtZSA9IGluamVjdG9yLmdldDxzdHJpbmc+KEZJUkVCQVNFX0FQUF9OQU1FKVxuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXBwTmFtZSA/IGdldEFwcChhcHBOYW1lKSA6IGdldEFwcCgpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUFwcChpbmplY3Rvci5nZXQoRklSRUJBU0VfT1BUSU9OUyksIGFwcE5hbWUpXG4gICAgICB9XG4gICAgfSksXG4gICAgcHJvdmlkZUFwcENoZWNrKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcClcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2l0ZUtleSA9IGluamVjdG9yLmdldDxzdHJpbmc+KFJFQ0FQVENIQV9TSVRFX0tFWSlcblxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUFwcENoZWNrKGFwcCwge1xuICAgICAgICAgIHByb3ZpZGVyOiBpc0VtcHR5KHNpdGVLZXkpID8gdW5kZWZpbmVkIDogbmV3IFJlQ2FwdGNoYUVudGVycHJpc2VQcm92aWRlcihzaXRlS2V5KSxcbiAgICAgICAgICBpc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdSZUNBUFRDSEEgc2l0ZSBrZXkgbm90IHByb3ZpZGVkIG9yIGludmFsaWQsIEFwcCBDaGVjayBub3QgaW5pdGlhbGl6ZWQnKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9KSxcbiAgICBwcm92aWRlU3RvcmFnZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBnZXRTdG9yYWdlKGluamVjdG9yLmdldChGaXJlYmFzZUFwcCkpKSxcbiAgICBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlLFxuICAgIEFuZ3VsYXJWZXJ0ZXhTZWFjaE1vZHVsZSxcbiAgICBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxuICAgIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEF1dGhTZXJ2aWNlLFxuICAgIENhcnRTZXJ2aWNlLFxuICAgIENhdGFsb2dTZXJ2aWNlLFxuICAgIENhdGVnb3J5U2VydmljZSxcbiAgICBDaGVja291dFNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgIENvdXBvblNlcnZpY2UsXG4gICAgSG9tZVNob3BTZXJ2aWNlLFxuICAgIE9yZGVyU2VydmljZSxcbiAgICBTaGlwcGluZ1NlcnZpY2UsXG4gICAgV2lzaGxpc3RTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFVwZGF0ZVVzZXJJbWFnZSxcbiAgICAgIHVzZUZhY3Rvcnk6ICh1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnksIGZpbGVVcGxvYWRlcjogRmlsZVVwbG9hZGVyU2VydmljZSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVwZGF0ZVVzZXJJbWFnZSh1c2VyUmVwb3NpdG9yeSwgZmlsZVVwbG9hZGVyKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnVXNlclJlcG9zaXRvcnknLCAnRmlsZVVwbG9hZGVyU2VydmljZSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0ZpbGVVcGxvYWRlclNlcnZpY2UnLFxuICAgICAgdXNlRmFjdG9yeTogKHN0b3JhZ2U6IFN0b3JhZ2UsIGJhc2VVcmw6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEZpcmViYXNlRmlsZVVwbG9hZGVyU2VydmljZShzdG9yYWdlLCBiYXNlVXJsKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtTdG9yYWdlLCBTVE9SQUdFX0JBU0VfVVJMXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0U2VhcmNoJyxcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0c1ZlcnRleFNlYXJjaCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZT86IEZpcmViYXNlT3B0aW9uc1xuICAgICAgZWxhc3RpY1NlYXJjaD86IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xuICAgICAgdmVydGV4Q29uZmlnPzogVmVydGV4U2VhcmNoQ29uZmlnXG4gICAgICBoYXN1cmE6IEhhc3VyYUdyYXBoUUxPcHRpb25zXG4gICAgICBiYWNrZW5kVXJsOiBzdHJpbmdcbiAgICAgIG9sZENhdGVnb3J5U3RydWN0dXJlPzogYm9vbGVhblxuICAgICAgc3RvcmFnZUJhc2VVcmw/OiBzdHJpbmdcbiAgICAgIHBlcnNpc3RlbmNlUHJvdmlkZXI/OiBUeXBlPERhdGFQZXJzaXN0ZW5jZT5cbiAgICAgIHJlY2FwdGNoYVNpdGVLZXk/OiBzdHJpbmdcbiAgICB9LFxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJDb25uZWN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyQ29ubmVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ0FURUdPUllfU1RSVUNUVVJFLFxuICAgICAgICAgIHVzZUNsYXNzOlxuICAgICAgICAgICAgaXNOaWwob3B0aW9ucz8ub2xkQ2F0ZWdvcnlTdHJ1Y3R1cmUpIHx8IG9wdGlvbnM/Lm9sZENhdGVnb3J5U3RydWN0dXJlXG4gICAgICAgICAgICAgID8gT2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyXG4gICAgICAgICAgICAgIDogTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IFBFUlNJU1RFTkNFX1BST1ZJREVSLCB1c2VDbGFzczogb3B0aW9ucz8ucGVyc2lzdGVuY2VQcm92aWRlciB8fCBDb29raWVEYXRhUGVyc2lzdGVuY2UgfSxcbiAgICAgICAgLi4uKGlzTmlsKGRlZmF1bHRTaG9wKSA/IFtdIDogW3sgcHJvdmlkZTogREVGQVVMVF9TSE9QLCB1c2VWYWx1ZTogZGVmYXVsdFNob3AgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucz8uZmlyZWJhc2UgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5lbGFzdGljU2VhcmNoKSA/IFtdIDogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy5lbGFzdGljU2VhcmNoIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LnZlcnRleENvbmZpZykgPyBbXSA6IFt7IHByb3ZpZGU6IFZFUlRFWF9DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLnZlcnRleENvbmZpZyB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5oYXN1cmEpID8gW10gOiBbeyBwcm92aWRlOiBIQVNVUkFfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuaGFzdXJhIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmJhY2tlbmRVcmwpID8gW10gOiBbeyBwcm92aWRlOiBCQUNLRU5EX1VSTCwgdXNlVmFsdWU6IG9wdGlvbnMuYmFja2VuZFVybCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5zdG9yYWdlQmFzZVVybCkgPyBbXSA6IFt7IHByb3ZpZGU6IFNUT1JBR0VfQkFTRV9VUkwsIHVzZVZhbHVlOiBvcHRpb25zLnN0b3JhZ2VCYXNlVXJsIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LnJlY2FwdGNoYVNpdGVLZXkpXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW3sgcHJvdmlkZTogUkVDQVBUQ0hBX1NJVEVfS0VZLCB1c2VWYWx1ZTogb3B0aW9ucy5yZWNhcHRjaGFTaXRlS2V5IH1dKSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { FirebaseApp } from '@angular/fire/app';
3
- import { Auth, browserLocalPersistence, getAuth, indexedDBLocalPersistence, initializeAuth, provideAuth, } from '@angular/fire/auth';
3
+ import { Auth, getAuth, provideAuth } from '@angular/fire/auth';
4
4
  import { Authentication, AuthenticationFirebaseAuthService, RecoveryPassword, Register, RegisterFirebaseAuthService, SignOut, } from '@infrab4a/connect';
5
5
  import { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts';
6
6
  import * as i0 from "@angular/core";
@@ -61,39 +61,11 @@ AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
61
61
  },
62
62
  deps: ['AuthenticationService'],
63
63
  },
64
- ], imports: [provideAuth((injector) => {
65
- const app = injector.get(FirebaseApp);
66
- try {
67
- console.log('Initializing auth', app.name);
68
- return initializeAuth(app, {
69
- persistence: [indexedDBLocalPersistence, browserLocalPersistence],
70
- });
71
- }
72
- catch (error) {
73
- if (error instanceof Error)
74
- console.error('Error initializing auth', error.message);
75
- return getAuth(app);
76
- }
77
- })] });
64
+ ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] });
78
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
79
66
  type: NgModule,
80
67
  args: [{
81
- imports: [
82
- provideAuth((injector) => {
83
- const app = injector.get(FirebaseApp);
84
- try {
85
- console.log('Initializing auth', app.name);
86
- return initializeAuth(app, {
87
- persistence: [indexedDBLocalPersistence, browserLocalPersistence],
88
- });
89
- }
90
- catch (error) {
91
- if (error instanceof Error)
92
- console.error('Error initializing auth', error.message);
93
- return getAuth(app);
94
- }
95
- }),
96
- ],
68
+ imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))],
97
69
  providers: [
98
70
  {
99
71
  provide: 'Authentication',
@@ -140,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
140
112
  ],
141
113
  }]
142
114
  }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFDTCxJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCLE9BQU8sRUFDUCx5QkFBeUIsRUFDekIsY0FBYyxFQUNkLFdBQVcsR0FDWixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUNBQWlDLEVBRWpDLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsMkJBQTJCLEVBRTNCLE9BQU8sR0FFUixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7O0FBa0U5RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE9BQXdCLEVBQ3hCLFlBQXlDO1FBRXpDLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUNoRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3ZEO1NBQ0YsQ0FBQTtJQUNILENBQUM7O3NIQVpVLHlCQUF5Qjt1SEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsYUE3Q3pCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFFLGNBQThCLEVBQWtCLEVBQUU7Z0JB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QzNDLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFvQixFQUFFO2dDQUM3RSxPQUFPLElBQUksZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQTs0QkFDcEQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHtcbiAgQXV0aCxcbiAgYnJvd3NlckxvY2FsUGVyc2lzdGVuY2UsXG4gIGdldEF1dGgsXG4gIGluZGV4ZWREQkxvY2FsUGVyc2lzdGVuY2UsXG4gIGluaXRpYWxpemVBdXRoLFxuICBwcm92aWRlQXV0aCxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJ1xuaW1wb3J0IHtcbiAgQXV0aGVudGljYXRpb24sXG4gIEF1dGhlbnRpY2F0aW9uRmlyZWJhc2VBdXRoU2VydmljZSxcbiAgQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICBSZWNvdmVyeVBhc3N3b3JkLFxuICBSZWdpc3RlcixcbiAgUmVnaXN0ZXJGaXJlYmFzZUF1dGhTZXJ2aWNlLFxuICBSZWdpc3RlclNlcnZpY2UsXG4gIFNpZ25PdXQsXG4gIFVzZXJSZXBvc2l0b3J5LFxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0cydcbmltcG9ydCB7IEZpcmViYXNlQXBwQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBdXRoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcClcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0luaXRpYWxpemluZyBhdXRoJywgYXBwLm5hbWUpXG5cbiAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBdXRoKGFwcCwge1xuICAgICAgICAgIHBlcnNpc3RlbmNlOiBbaW5kZXhlZERCTG9jYWxQZXJzaXN0ZW5jZSwgYnJvd3NlckxvY2FsUGVyc2lzdGVuY2VdLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluaXRpYWxpemluZyBhdXRoJywgZXJyb3IubWVzc2FnZSlcblxuICAgICAgICByZXR1cm4gZ2V0QXV0aChhcHApXG4gICAgICB9XG4gICAgfSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvbicsXG4gICAgICB1c2VGYWN0b3J5OiAoYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSk6IEF1dGhlbnRpY2F0aW9uID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbihhdXRoZW50aWNhdGlvblNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQXV0aGVudGljYXRpb25TZXJ2aWNlJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEF1dGgpOiBBdXRoZW50aWNhdGlvblNlcnZpY2UgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEF1dGhlbnRpY2F0aW9uRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXG4gICAgICB9LFxuICAgICAgZGVwczogW0F1dGhdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1JlZ2lzdGVyJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChyZWdpc3RlclNlcnZpY2U6IFJlZ2lzdGVyU2VydmljZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KTogUmVnaXN0ZXIgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyKHJlZ2lzdGVyU2VydmljZSwgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydSZWdpc3RlclNlcnZpY2UnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlclNlcnZpY2UnLFxuICAgICAgdXNlRmFjdG9yeTogKGFuZ3VsYXJGaXJlQXV0aDogQXV0aCk6IFJlZ2lzdGVyU2VydmljZSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUmVnaXN0ZXJGaXJlYmFzZUF1dGhTZXJ2aWNlKGFuZ3VsYXJGaXJlQXV0aClcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQXV0aF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU2lnbk91dCcsXG4gICAgICB1c2VGYWN0b3J5OiAoYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpOiBTaWduT3V0ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaWduT3V0KGF1dGhlbnRpY2F0aW9uU2VydmljZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1JlY292ZXJ5UGFzc3dvcmQnLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogUmVjb3ZlcnlQYXNzd29yZCA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUmVjb3ZlcnlQYXNzd29yZChhdXRoZW50aWNhdGlvblNlcnZpY2UpXG4gICAgICB9LFxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlIHtcbiAgc3RhdGljIGluaXRpYWxpemVBcHAoXG4gICAgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9ELE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUNBQWlDLEVBRWpDLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsMkJBQTJCLEVBRTNCLE9BQU8sR0FFUixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7O0FBa0Q5RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE9BQXdCLEVBQ3hCLFlBQXlDO1FBRXpDLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUNoRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3ZEO1NBQ0YsQ0FBQTtJQUNILENBQUM7O3NIQVpVLHlCQUF5Qjt1SEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsYUE3Q3pCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFFLGNBQThCLEVBQWtCLEVBQUU7Z0JBQzNHLE9BQU8sSUFBSSxjQUFjLENBQUMscUJBQXFCLEVBQUUs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ZSxDQUFDLENBQUE7NEJBQ3pELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNiO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxTQUFTOzRCQUNsQixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBVyxFQUFFO2dDQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUE7NEJBQzNDLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFvQixFQUFFO2dDQUM3RSxPQUFPLElBQUksZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQTs0QkFDcEQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHsgQXV0aCwgZ2V0QXV0aCwgcHJvdmlkZUF1dGggfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnXG5pbXBvcnQge1xuICBBdXRoZW50aWNhdGlvbixcbiAgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlLFxuICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gIFJlY292ZXJ5UGFzc3dvcmQsXG4gIFJlZ2lzdGVyLFxuICBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UsXG4gIFJlZ2lzdGVyU2VydmljZSxcbiAgU2lnbk91dCxcbiAgVXNlclJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4gZ2V0QXV0aChpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApKSldLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQXV0aGVudGljYXRpb24nLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBBdXRoZW50aWNhdGlvbiA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb24oYXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogQXV0aGVudGljYXRpb25TZXJ2aWNlID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbkZpcmViYXNlQXV0aFNlcnZpY2UoYW5ndWxhckZpcmVBdXRoKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBdXRoXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlcicsXG4gICAgICB1c2VGYWN0b3J5OiAocmVnaXN0ZXJTZXJ2aWNlOiBSZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSk6IFJlZ2lzdGVyID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RlcihyZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnUmVnaXN0ZXJTZXJ2aWNlJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUmVnaXN0ZXJTZXJ2aWNlJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEF1dGgpOiBSZWdpc3RlclNlcnZpY2UgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXG4gICAgICB9LFxuICAgICAgZGVwczogW0F1dGhdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1NpZ25PdXQnLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogU2lnbk91dCA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2lnbk91dChhdXRoZW50aWNhdGlvblNlcnZpY2UpXG4gICAgICB9LFxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWNvdmVyeVBhc3N3b3JkJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSk6IFJlY292ZXJ5UGFzc3dvcmQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlY292ZXJ5UGFzc3dvcmQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJ10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const FIREBASE_APP_NAME = new InjectionToken('firebaseAppName');
3
3
  export const FIREBASE_OPTIONS = new InjectionToken('firebaseOptions');
4
- export const APP_CHECK_PROVIDER = new InjectionToken('appCheckProvider');
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2NvbnN0cy9maXJlYmFzZS1jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDdEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUNyRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgY29uc3QgRklSRUJBU0VfQVBQX05BTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2ZpcmViYXNlQXBwTmFtZScpXG5leHBvcnQgY29uc3QgRklSRUJBU0VfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignZmlyZWJhc2VPcHRpb25zJylcbmV4cG9ydCBjb25zdCBBUFBfQ0hFQ0tfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2FwcENoZWNrUHJvdmlkZXInKVxuIl19
4
+ export const RECAPTCHA_SITE_KEY = new InjectionToken('recaptchaSiteKey');
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2NvbnN0cy9maXJlYmFzZS1jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDdEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUNyRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgY29uc3QgRklSRUJBU0VfQVBQX05BTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2ZpcmViYXNlQXBwTmFtZScpXG5leHBvcnQgY29uc3QgRklSRUJBU0VfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignZmlyZWJhc2VPcHRpb25zJylcbmV4cG9ydCBjb25zdCBSRUNBUFRDSEFfU0lURV9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ3JlY2FwdGNoYVNpdGVLZXknKVxuIl19
@@ -3,13 +3,13 @@ import { NgModule, InjectionToken, PLATFORM_ID, Injectable, Inject } from '@angu
3
3
  import * as i1$4 from '@angular/fire/app';
4
4
  import { FirebaseApp, provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
5
5
  import * as i2 from '@angular/fire/app-check';
6
- import { provideAppCheck, initializeAppCheck } from '@angular/fire/app-check';
6
+ import { provideAppCheck, initializeAppCheck, ReCaptchaEnterpriseProvider } from '@angular/fire/app-check';
7
7
  import * as i3 from '@angular/fire/storage';
8
8
  import { Storage, provideStorage, getStorage } from '@angular/fire/storage';
9
9
  import * as i1$2 from '@infrab4a/connect';
10
10
  import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, OrderBlockedFirestoreRepository, LogFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, CategoryProductHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, ProductsVertexSearch, VertexAxiosAdapter, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, OrderStatus, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, isEmpty, Category, PersonTypes, WishlistLogType, Wishlist, CheckoutSubscription, Product, RequiredArgumentError, add, Order, UpdateUserImage, FirebaseFileUploaderService } from '@infrab4a/connect';
11
11
  import * as i1 from '@angular/fire/auth';
12
- import { Auth, provideAuth, initializeAuth, indexedDBLocalPersistence, browserLocalPersistence, getAuth, getIdToken, authState } from '@angular/fire/auth';
12
+ import { Auth, provideAuth, getAuth, getIdToken, authState } from '@angular/fire/auth';
13
13
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
14
14
  import * as i1$1 from '@angular/fire/firestore';
15
15
  import { Firestore, provideFirestore, initializeFirestore, memoryLocalCache, docSnapshots, doc } from '@angular/fire/firestore';
@@ -60,7 +60,7 @@ const DEFAULT_SHOP = 'DEFAULT_SHOP';
60
60
 
61
61
  const FIREBASE_APP_NAME = new InjectionToken('firebaseAppName');
62
62
  const FIREBASE_OPTIONS = new InjectionToken('firebaseOptions');
63
- const APP_CHECK_PROVIDER = new InjectionToken('appCheckProvider');
63
+ const RECAPTCHA_SITE_KEY = new InjectionToken('recaptchaSiteKey');
64
64
 
65
65
  const HASURA_OPTIONS = 'HASURA_OPTIONS';
66
66
 
@@ -124,39 +124,11 @@ AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
124
124
  },
125
125
  deps: ['AuthenticationService'],
126
126
  },
127
- ], imports: [provideAuth((injector) => {
128
- const app = injector.get(FirebaseApp);
129
- try {
130
- console.log('Initializing auth', app.name);
131
- return initializeAuth(app, {
132
- persistence: [indexedDBLocalPersistence, browserLocalPersistence],
133
- });
134
- }
135
- catch (error) {
136
- if (error instanceof Error)
137
- console.error('Error initializing auth', error.message);
138
- return getAuth(app);
139
- }
140
- })] });
127
+ ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] });
141
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
142
129
  type: NgModule,
143
130
  args: [{
144
- imports: [
145
- provideAuth((injector) => {
146
- const app = injector.get(FirebaseApp);
147
- try {
148
- console.log('Initializing auth', app.name);
149
- return initializeAuth(app, {
150
- persistence: [indexedDBLocalPersistence, browserLocalPersistence],
151
- });
152
- }
153
- catch (error) {
154
- if (error instanceof Error)
155
- console.error('Error initializing auth', error.message);
156
- return getAuth(app);
157
- }
158
- }),
159
- ],
131
+ imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))],
160
132
  providers: [
161
133
  {
162
134
  provide: 'Authentication',
@@ -2696,8 +2668,6 @@ class AngularConnectModule {
2696
2668
  return {
2697
2669
  ngModule: AngularConnectModule,
2698
2670
  providers: [
2699
- { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
2700
- { provide: APP_CHECK_PROVIDER, useValue: options.appCheckProvider },
2701
2671
  {
2702
2672
  provide: CATEGORY_STRUCTURE,
2703
2673
  useClass: isNil(options === null || options === void 0 ? void 0 : options.oldCategoryStructure) || (options === null || options === void 0 ? void 0 : options.oldCategoryStructure)
@@ -2707,11 +2677,15 @@ class AngularConnectModule {
2707
2677
  { provide: PERSISTENCE_PROVIDER, useClass: (options === null || options === void 0 ? void 0 : options.persistenceProvider) || CookieDataPersistence },
2708
2678
  ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),
2709
2679
  ...(isNil(options === null || options === void 0 ? void 0 : options.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options === null || options === void 0 ? void 0 : options.firebase }]),
2680
+ ...(isNil(options === null || options === void 0 ? void 0 : options.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),
2710
2681
  ...(isNil(options === null || options === void 0 ? void 0 : options.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),
2711
2682
  ...(isNil(options === null || options === void 0 ? void 0 : options.vertexConfig) ? [] : [{ provide: VERTEX_CONFIG, useValue: options.vertexConfig }]),
2712
2683
  ...(isNil(options === null || options === void 0 ? void 0 : options.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),
2713
2684
  ...(isNil(options === null || options === void 0 ? void 0 : options.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),
2714
2685
  ...(isNil(options === null || options === void 0 ? void 0 : options.storageBaseUrl) ? [] : [{ provide: STORAGE_BASE_URL, useValue: options.storageBaseUrl }]),
2686
+ ...(isNil(options === null || options === void 0 ? void 0 : options.recaptchaSiteKey)
2687
+ ? []
2688
+ : [{ provide: RECAPTCHA_SITE_KEY, useValue: options.recaptchaSiteKey }]),
2715
2689
  ],
2716
2690
  };
2717
2691
  }
@@ -2755,36 +2729,25 @@ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
2755
2729
  ], imports: [provideFirebaseApp((injector) => {
2756
2730
  const appName = injector.get(FIREBASE_APP_NAME);
2757
2731
  try {
2758
- const app = appName ? getApp(appName) : getApp();
2759
- console.log('Connect initializeApp', app.name);
2760
- return app;
2732
+ return appName ? getApp(appName) : getApp();
2761
2733
  }
2762
2734
  catch (error) {
2763
- console.warn('Firebase app not found, initializing new app');
2764
- if (error instanceof Error) {
2765
- console.error(error.message);
2766
- }
2767
2735
  return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2768
2736
  }
2769
2737
  }),
2770
2738
  provideAppCheck((injector) => {
2771
2739
  const app = injector.get(FirebaseApp);
2772
- console.log('Connect APP', app.name);
2773
- console.log('Connect APP', JSON.stringify(app.options));
2774
2740
  try {
2775
- const provider = injector.get(APP_CHECK_PROVIDER);
2776
- console.log('APP_CHECK_PROVIDER', provider);
2777
- if (provider)
2778
- return initializeAppCheck(app, {
2779
- provider,
2780
- isTokenAutoRefreshEnabled: true,
2781
- });
2741
+ const siteKey = injector.get(RECAPTCHA_SITE_KEY);
2742
+ return initializeAppCheck(app, {
2743
+ provider: isEmpty(siteKey) ? undefined : new ReCaptchaEnterpriseProvider(siteKey),
2744
+ isTokenAutoRefreshEnabled: true,
2745
+ });
2782
2746
  }
2783
2747
  catch (error) {
2784
- if (error instanceof Error)
2785
- console.error(error.message);
2786
- return;
2748
+ console.warn('ReCAPTCHA site key not provided or invalid, App Check not initialized');
2787
2749
  }
2750
+ return;
2788
2751
  }),
2789
2752
  provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
2790
2753
  AngularElasticSeachModule,
@@ -2799,36 +2762,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
2799
2762
  provideFirebaseApp((injector) => {
2800
2763
  const appName = injector.get(FIREBASE_APP_NAME);
2801
2764
  try {
2802
- const app = appName ? getApp(appName) : getApp();
2803
- console.log('Connect initializeApp', app.name);
2804
- return app;
2765
+ return appName ? getApp(appName) : getApp();
2805
2766
  }
2806
2767
  catch (error) {
2807
- console.warn('Firebase app not found, initializing new app');
2808
- if (error instanceof Error) {
2809
- console.error(error.message);
2810
- }
2811
2768
  return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2812
2769
  }
2813
2770
  }),
2814
2771
  provideAppCheck((injector) => {
2815
2772
  const app = injector.get(FirebaseApp);
2816
- console.log('Connect APP', app.name);
2817
- console.log('Connect APP', JSON.stringify(app.options));
2818
2773
  try {
2819
- const provider = injector.get(APP_CHECK_PROVIDER);
2820
- console.log('APP_CHECK_PROVIDER', provider);
2821
- if (provider)
2822
- return initializeAppCheck(app, {
2823
- provider,
2824
- isTokenAutoRefreshEnabled: true,
2825
- });
2774
+ const siteKey = injector.get(RECAPTCHA_SITE_KEY);
2775
+ return initializeAppCheck(app, {
2776
+ provider: isEmpty(siteKey) ? undefined : new ReCaptchaEnterpriseProvider(siteKey),
2777
+ isTokenAutoRefreshEnabled: true,
2778
+ });
2826
2779
  }
2827
2780
  catch (error) {
2828
- if (error instanceof Error)
2829
- console.error(error.message);
2830
- return;
2781
+ console.warn('ReCAPTCHA site key not provided or invalid, App Check not initialized');
2831
2782
  }
2783
+ return;
2832
2784
  }),
2833
2785
  provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
2834
2786
  AngularElasticSeachModule,