@dereekb/dbx-firebase 10.1.30 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/esm2022/lib/analytics/analytics.user.events.mjs +10 -15
  2. package/esm2022/lib/analytics/analytics.user.source.mjs +20 -23
  3. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +13 -17
  4. package/esm2022/lib/auth/firebase.auth.module.mjs +4 -4
  5. package/esm2022/lib/auth/login/firebase.login.module.mjs +14 -11
  6. package/esm2022/lib/auth/login/login.anonymous.component.mjs +4 -7
  7. package/esm2022/lib/auth/login/login.apple.component.mjs +4 -7
  8. package/esm2022/lib/auth/login/login.button.component.mjs +23 -28
  9. package/esm2022/lib/auth/login/login.component.mjs +8 -7
  10. package/esm2022/lib/auth/login/login.context.back.component.mjs +8 -10
  11. package/esm2022/lib/auth/login/login.context.directive.mjs +4 -4
  12. package/esm2022/lib/auth/login/login.email.component.mjs +4 -7
  13. package/esm2022/lib/auth/login/login.email.content.component.mjs +53 -57
  14. package/esm2022/lib/auth/login/login.email.form.component.mjs +9 -12
  15. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +5 -8
  16. package/esm2022/lib/auth/login/login.facebook.component.mjs +4 -7
  17. package/esm2022/lib/auth/login/login.github.component.mjs +4 -7
  18. package/esm2022/lib/auth/login/login.google.component.mjs +4 -7
  19. package/esm2022/lib/auth/login/login.list.component.mjs +31 -34
  20. package/esm2022/lib/auth/login/login.microsoft.component.mjs +4 -7
  21. package/esm2022/lib/auth/login/login.service.mjs +11 -15
  22. package/esm2022/lib/auth/login/login.terms.component.mjs +11 -14
  23. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +16 -19
  24. package/esm2022/lib/auth/login/login.twitter.component.mjs +4 -7
  25. package/esm2022/lib/auth/login/register.component.mjs +7 -4
  26. package/esm2022/lib/auth/login/register.email.component.mjs +4 -7
  27. package/esm2022/lib/auth/service/firebase.auth.service.mjs +52 -52
  28. package/esm2022/lib/development/development.module.mjs +10 -11
  29. package/esm2022/lib/development/development.popup.component.mjs +13 -15
  30. package/esm2022/lib/development/development.popup.content.component.mjs +41 -46
  31. package/esm2022/lib/development/development.popup.content.form.component.mjs +17 -20
  32. package/esm2022/lib/development/development.popup.directive.mjs +9 -13
  33. package/esm2022/lib/development/development.scheduler.list.component.mjs +22 -32
  34. package/esm2022/lib/development/development.scheduler.service.mjs +26 -36
  35. package/esm2022/lib/development/development.scheduler.widget.component.mjs +10 -13
  36. package/esm2022/lib/development/development.service.mjs +4 -3
  37. package/esm2022/lib/development/development.widget.service.mjs +8 -9
  38. package/esm2022/lib/firebase/emulators.mjs +12 -1
  39. package/esm2022/lib/firebase/firebase.emulator.module.mjs +4 -4
  40. package/esm2022/lib/firebase/firebase.emulator.service.mjs +6 -9
  41. package/esm2022/lib/firebase/firebase.module.mjs +25 -25
  42. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +6 -11
  43. package/esm2022/lib/firestore/firebase.firestore.module.mjs +4 -4
  44. package/esm2022/lib/function/firebase.function.module.mjs +4 -4
  45. package/esm2022/lib/model/loader/collection.change.trigger.mjs +5 -3
  46. package/esm2022/lib/model/loader/collection.change.watcher.mjs +30 -32
  47. package/esm2022/lib/model/loader/collection.loader.instance.mjs +48 -43
  48. package/esm2022/lib/model/loader/document.loader.instance.mjs +22 -20
  49. package/esm2022/lib/model/model.module.mjs +4 -4
  50. package/esm2022/lib/model/modules/model/model.history.component.mjs +14 -16
  51. package/esm2022/lib/model/modules/model/model.history.module.mjs +4 -4
  52. package/esm2022/lib/model/modules/model/model.history.popover.button.component.mjs +10 -11
  53. package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +5 -8
  54. package/esm2022/lib/model/modules/model/model.tracker.service.mjs +11 -15
  55. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +12 -15
  56. package/esm2022/lib/model/modules/model/model.types.module.mjs +4 -4
  57. package/esm2022/lib/model/modules/model/model.types.service.mjs +48 -40
  58. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +10 -15
  59. package/esm2022/lib/model/modules/store/model.store.module.mjs +4 -4
  60. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +14 -20
  61. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +23 -27
  62. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +5 -4
  63. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +8 -12
  64. package/esm2022/lib/model/modules/store/store.collection.mjs +39 -42
  65. package/esm2022/lib/model/modules/store/store.document.auth.directive.mjs +7 -14
  66. package/esm2022/lib/model/modules/store/store.document.directive.mjs +15 -14
  67. package/esm2022/lib/model/modules/store/store.document.mjs +125 -128
  68. package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +12 -19
  69. package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +13 -20
  70. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +3 -3
  71. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +76 -82
  72. package/esm2022/lib/model/modules/store/store.subcollection.mjs +51 -51
  73. package/esm2022/lib/model/service/model.context.instance.mjs +11 -10
  74. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +3 -3
  75. package/esm2022/lib/model/system/systemstate.collection.store.mjs +4 -3
  76. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +18 -9
  77. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +3 -3
  78. package/esm2022/lib/model/system/systemstate.document.store.mjs +4 -3
  79. package/esm2022/lib/module.mjs +4 -4
  80. package/esm2022/lib/pipe/key.pipe.mjs +5 -5
  81. package/esm2022/lib/pipe/pipe.module.mjs +4 -4
  82. package/esm2022/lib/router/id.param.redirect.mjs +58 -62
  83. package/esm2022/lib/storage/firebase.storage.module.mjs +4 -4
  84. package/esm2022/lib/storage/firebase.storage.service.mjs +6 -11
  85. package/fesm2022/dereekb-dbx-firebase.mjs +1189 -1289
  86. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  87. package/lib/analytics/analytics.user.events.d.ts +0 -1
  88. package/lib/analytics/analytics.user.source.d.ts +0 -1
  89. package/lib/auth/appcheck/appcheck.interceptor.d.ts +1 -5
  90. package/lib/auth/login/firebase.login.module.d.ts +2 -1
  91. package/lib/auth/login/login.button.component.d.ts +0 -1
  92. package/lib/auth/login/login.email.content.component.d.ts +0 -1
  93. package/lib/auth/login/login.list.component.d.ts +0 -1
  94. package/lib/auth/login/login.service.d.ts +2 -2
  95. package/lib/auth/login/login.terms.component.d.ts +0 -1
  96. package/lib/auth/login/login.terms.simple.component.d.ts +0 -1
  97. package/lib/auth/service/firebase.auth.service.d.ts +2 -2
  98. package/lib/development/development.module.d.ts +1 -1
  99. package/lib/development/development.popup.component.d.ts +1 -2
  100. package/lib/development/development.popup.content.component.d.ts +0 -1
  101. package/lib/development/development.popup.directive.d.ts +0 -1
  102. package/lib/development/development.scheduler.list.component.d.ts +1 -2
  103. package/lib/development/development.scheduler.service.d.ts +1 -3
  104. package/lib/development/development.scheduler.widget.component.d.ts +0 -1
  105. package/lib/development/development.widget.service.d.ts +2 -2
  106. package/lib/firebase/firebase.emulator.service.d.ts +0 -1
  107. package/lib/firestore/firebase.firestore.context.service.d.ts +1 -2
  108. package/lib/model/loader/collection.change.trigger.d.ts +1 -1
  109. package/lib/model/loader/collection.change.watcher.d.ts +8 -18
  110. package/lib/model/modules/model/model.history.component.d.ts +0 -1
  111. package/lib/model/modules/model/model.history.popover.button.component.d.ts +2 -3
  112. package/lib/model/modules/model/model.history.popover.component.d.ts +1 -2
  113. package/lib/model/modules/model/model.tracker.service.d.ts +0 -1
  114. package/lib/model/modules/model/model.types.service.d.ts +8 -10
  115. package/lib/model/modules/model/model.types.view.directive.d.ts +1 -2
  116. package/lib/model/modules/store/store.collection.change.directive.d.ts +2 -4
  117. package/lib/model/modules/store/store.collection.change.if.directive.d.ts +2 -3
  118. package/lib/model/modules/store/store.collection.list.directive.d.ts +4 -4
  119. package/lib/model/modules/store/store.document.auth.directive.d.ts +2 -3
  120. package/lib/model/modules/store/store.document.router.directive.d.ts +3 -4
  121. package/lib/model/modules/store/store.document.router.key.directive.d.ts +4 -5
  122. package/lib/model/system/systemstate.document.store.accessor.d.ts +5 -2
  123. package/lib/router/id.param.redirect.d.ts +3 -13
  124. package/lib/storage/firebase.storage.service.d.ts +1 -2
  125. package/package.json +1 -1
@@ -23,9 +23,9 @@ import * as i6 from "@angular/fire/app";
23
23
  * Default firebase firestore provider module.
24
24
  */
25
25
  export class DbxFirebaseDefaultFirestoreProviderModule {
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
27
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1.FirestoreModule] }); }
28
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore((injector) => {
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1.FirestoreModule] });
28
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore((injector) => {
29
29
  const firebaseApp = injector.get(FirebaseApp);
30
30
  const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
31
31
  const firestoreSettings = {};
@@ -50,7 +50,7 @@ export class DbxFirebaseDefaultFirestoreProviderModule {
50
50
  connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
51
51
  }
52
52
  return firestore;
53
- })] }); }
53
+ })] });
54
54
  }
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
56
56
  type: NgModule,
@@ -91,9 +91,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
91
91
  * Also configures the DbxFirebaseAppCheckHttpInterceptor with HTTP_INTERCEPTORS in order for appCheck to be appended to requests to the api.
92
92
  */
93
93
  export class DbxFirebaseDefaultAppCheckProviderModule {
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
95
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i2.AppCheckModule] }); }
96
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
94
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
95
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i2.AppCheckModule] });
96
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
97
97
  {
98
98
  provide: HTTP_INTERCEPTORS,
99
99
  useClass: DbxFirebaseAppCheckHttpInterceptor,
@@ -124,7 +124,7 @@ export class DbxFirebaseDefaultAppCheckProviderModule {
124
124
  }
125
125
  }
126
126
  return appCheck;
127
- })] }); }
127
+ })] });
128
128
  }
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, decorators: [{
130
130
  type: NgModule,
@@ -170,9 +170,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
170
170
  * Default firebase auth provider module.
171
171
  */
172
172
  export class DbxFirebaseDefaultAuthProviderModule {
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
174
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i3.AuthModule] }); }
175
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [provideAuth((injector) => {
173
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
174
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i3.AuthModule] });
175
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [provideAuth((injector) => {
176
176
  const firebaseApp = injector.get(FirebaseApp);
177
177
  const auth = getAuth(firebaseApp);
178
178
  const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
@@ -180,7 +180,7 @@ export class DbxFirebaseDefaultAuthProviderModule {
180
180
  connectAuthEmulator(auth, `http://${emulators.auth.host}:${emulators.auth.port}`);
181
181
  }
182
182
  return auth;
183
- })] }); }
183
+ })] });
184
184
  }
185
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, decorators: [{
186
186
  type: NgModule,
@@ -202,9 +202,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
202
202
  * Default firebase storage provider module.
203
203
  */
204
204
  export class DbxFirebaseDefaultStorageProviderModule {
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
206
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4.StorageModule] }); }
207
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [provideStorage((injector) => {
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
206
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4.StorageModule] });
207
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [provideStorage((injector) => {
208
208
  const firebaseApp = injector.get(FirebaseApp);
209
209
  const storage = getStorage(firebaseApp);
210
210
  const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
@@ -212,7 +212,7 @@ export class DbxFirebaseDefaultStorageProviderModule {
212
212
  connectStorageEmulator(storage, emulators.storage.host, emulators.storage.port, {});
213
213
  }
214
214
  return storage;
215
- })] }); }
215
+ })] });
216
216
  }
217
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, decorators: [{
218
218
  type: NgModule,
@@ -234,9 +234,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
234
234
  * Default firebase functions provider module.
235
235
  */
236
236
  export class DbxFirebaseDefaultFunctionsProviderModule {
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] }); }
239
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [provideFunctions((injector) => {
237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
238
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] });
239
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [provideFunctions((injector) => {
240
240
  const firebaseApp = injector.get(FirebaseApp);
241
241
  const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
242
242
  const { functionsRegionOrCustomDomain } = firebaseOptions;
@@ -246,7 +246,7 @@ export class DbxFirebaseDefaultFunctionsProviderModule {
246
246
  connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
247
247
  }
248
248
  return functions;
249
- })] }); }
249
+ })] });
250
250
  }
251
251
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, decorators: [{
252
252
  type: NgModule,
@@ -281,9 +281,9 @@ export class DbxFirebaseDefaultFirebaseProvidersModule {
281
281
  ]
282
282
  };
283
283
  }
284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
285
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] }); }
286
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [provideFirebaseApp((injector) => {
284
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
285
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
286
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [provideFirebaseApp((injector) => {
287
287
  const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
288
288
  return initializeApp(firebaseOptions);
289
289
  }),
@@ -291,7 +291,7 @@ export class DbxFirebaseDefaultFirebaseProvidersModule {
291
291
  DbxFirebaseDefaultFirestoreProviderModule,
292
292
  DbxFirebaseDefaultAuthProviderModule,
293
293
  DbxFirebaseDefaultStorageProviderModule,
294
- DbxFirebaseDefaultFunctionsProviderModule] }); }
294
+ DbxFirebaseDefaultFunctionsProviderModule] });
295
295
  }
296
296
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, decorators: [{
297
297
  type: NgModule,
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
309
309
  ]
310
310
  }]
311
311
  }] });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsNEJBQTRCLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN00sT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxF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QUNMLFFBQVEsRUFBRSx5Q0FBeUM7WUFDbkQsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBWFUseUNBQXlDO2dIQUF6Qyx5Q0FBeUMsa0NBakZ6Qyx3Q0FBd0MsRUFoRHhDLHlDQUF5QyxFQW9FekMsb0NBQW9DLEVBb0JwQyx1Q0FBdUMsRUF1QnZDLHlDQUF5QztnSEFrQnpDLHlDQUF5QyxZQVhsRCxrQkFBa0IsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQztnQkFDckYsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDO1lBQ0Ysd0NBQXdDO1lBQ3hDLHlDQUF5QztZQUN6QyxvQ0FBb0M7WUFDcEMsdUNBQXVDO1lBQ3ZDLHlDQUF5Qzs7NEZBR2hDLHlDQUF5QztrQkFickQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3hDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7NEJBQ3JGLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN4QyxDQUFDLENBQUM7d0JBQ0Ysd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLG9DQUFvQzt3QkFDcEMsdUNBQXVDO3dCQUN2Qyx5Q0FBeUM7cUJBQzFDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGluaXRpYWxpemVBcHAgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcENoZWNrLCBSZUNhcHRjaGFWM1Byb3ZpZGVyIH0gZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvciwgaW5pdGlhbGl6ZUZpcmVzdG9yZSwgcGVyc2lzdGVudExvY2FsQ2FjaGUsIHBlcnNpc3RlbnRNdWx0aXBsZVRhYk1hbmFnZXIsIEZpcmVzdG9yZVNldHRpbmdzLCBwZXJzaXN0ZW50U2luZ2xlVGFiTWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IEFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IERieEZpcmViYXNlT3B0aW9ucywgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjay9hcHBjaGVjay5pbnRlcmNlcHRvcic7XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmaXJlc3RvcmUgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG5cbiAgICAgIGNvbnN0IGZpcmVzdG9yZVNldHRpbmdzOiBGaXJlc3RvcmVTZXR0aW5ncyA9IHt9O1xuXG4gICAgICBjb25zdCB7IGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UsIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG4gICAgICBjb25zdCB7IHBlcnNpc3RlbnRDYWNoZVNldHRpbmdzIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGlmIChlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgbGV0IHRhYk1hbmFnZXI7XG5cbiAgICAgICAgaWYgKGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UgIT09IGZhbHNlKSB7XG4gICAgICAgICAgdGFiTWFuYWdlciA9IHBlcnNpc3RlbnRNdWx0aXBsZVRhYk1hbmFnZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YWJNYW5hZ2VyID0gcGVyc2lzdGVudFNpbmdsZVRhYk1hbmFnZXIodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpcmVzdG9yZVNldHRpbmdzLmxvY2FsQ2FjaGUgPSBwZXJzaXN0ZW50TG9jYWxDYWNoZSh7XG4gICAgICAgICAgdGFiTWFuYWdlcixcbiAgICAgICAgICAuLi5wZXJzaXN0ZW50Q2FjaGVTZXR0aW5nc1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlyZXN0b3JlID0gaW5pdGlhbGl6ZUZpcmVzdG9yZShmaXJlYmFzZUFwcCwgZmlyZXN0b3JlU2V0dGluZ3MpO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCwgZW11bGF0b3JzLmZpcmVzdG9yZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXBwIGNoZWNrIHByb3ZpZGVyIG1vZHVsZS5cbiAqXG4gKiBBbHNvIGNvbmZpZ3VyZXMgdGhlIERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3Igd2l0aCBIVFRQX0lOVEVSQ0VQVE9SUyBpbiBvcmRlciBmb3IgYXBwQ2hlY2sgdG8gYmUgYXBwZW5kZWQgdG8gcmVxdWVzdHMgdG8gdGhlIGFwaS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBcHBDaGVjaygoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCBhcHBDaGVja09wdGlvbnMgPSBmaXJlYmFzZU9wdGlvbnMuYXBwQ2hlY2s7XG4gICAgICBjb25zdCBhcHBDaGVja0tub3dpbmdseURpc2FibGVkID0gYXBwQ2hlY2tPcHRpb25zPy5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBmaXJlYmFzZU9wdGlvbnMuZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgPT09IHRydWU7XG4gICAgICBsZXQgYXBwQ2hlY2s6IEFwcENoZWNrO1xuXG4gICAgICBpZiAoYXBwQ2hlY2tPcHRpb25zICYmICFhcHBDaGVja0tub3dpbmdseURpc2FibGVkKSB7XG4gICAgICAgIC8vIGVuYWJsZSB0aGUgZGVidWcgdG9rZW5zIGlmIG5vdCB1c2luZyBlbXVsYXRvcnMgYW5kIGFsbG93RGVidWdUb2tlbnMgaXMgc2V0IHRydWVcbiAgICAgICAgaWYgKGZpcmViYXNlT3B0aW9ucy5lbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAhPT0gdHJ1ZSAmJiBhcHBDaGVja09wdGlvbnMuYWxsb3dEZWJ1Z1Rva2Vucykge1xuICAgICAgICAgIGVuYWJsZUFwcENoZWNrRGVidWdUb2tlbkdlbmVyYXRpb24odHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGVuYWJsZWQgb3V0c2lkZSBvZiBhcHAtY2hlY2sgZW52aXJvbm1lbnRzLiBUaGUgZW11bGF0b3JzIHdpbGwgbm90IHVzZSBhcHBjaGVjay5cbiAgICAgICAgYXBwQ2hlY2sgPSBpbml0aWFsaXplQXBwQ2hlY2soZmlyZWJhc2VBcHAsIHtcbiAgICAgICAgICBwcm92aWRlcjogbmV3IFJlQ2FwdGNoYVYzUHJvdmlkZXIoYXBwQ2hlY2tPcHRpb25zLnJlQ2FwdGNoYVYzKSxcbiAgICAgICAgICBpc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkOiBhcHBDaGVja09wdGlvbnMuaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZCA/PyB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdFbmFibGVkIEFwcENoZWNrLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwQ2hlY2sgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBBcHBDaGVjaztcblxuICAgICAgICBpZiAoIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdkYngtZmlyZWJhc2U6IE5vIGFwcGNoZWNrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHAsIGFuZCBub3Qgc3BlY2lmaWNhbGx5IGRpc2FibGVkIGluIGNvbmZpZyBlaXRoZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFwcENoZWNrO1xuICAgIH0pXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3IsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBhdXRoIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBdXRoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGF1dGggPSBnZXRBdXRoKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmF1dGgpIHtcbiAgICAgICAgY29ubmVjdEF1dGhFbXVsYXRvcihhdXRoLCBgaHR0cDovLyR7ZW11bGF0b3JzLmF1dGguaG9zdH06JHtlbXVsYXRvcnMuYXV0aC5wb3J0fWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aDtcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2Ugc3RvcmFnZSBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlU3RvcmFnZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5zdG9yYWdlKSB7XG4gICAgICAgIGNvbm5lY3RTdG9yYWdlRW11bGF0b3Ioc3RvcmFnZSwgZW11bGF0b3JzLnN0b3JhZ2UuaG9zdCwgZW11bGF0b3JzLnN0b3JhZ2UucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RvcmFnZTtcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdFN0b3JhZ2VQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZnVuY3Rpb25zIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGdW5jdGlvbnMoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgY29uc3QgeyBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbiB9ID0gZmlyZWJhc2VPcHRpb25zO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbnMgPSBnZXRGdW5jdGlvbnMoZmlyZWJhc2VBcHAsIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZ1bmN0aW9ucykge1xuICAgICAgICBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IoZnVuY3Rpb25zLCBlbXVsYXRvcnMuZnVuY3Rpb25zLmhvc3QsIGVtdWxhdG9ycy5mdW5jdGlvbnMucG9ydCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbnM7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIHJldHVybiBpbml0aWFsaXplQXBwKGZpcmViYXNlT3B0aW9ucyk7XG4gICAgfSksXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0QXBwQ2hlY2tQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChmaXJlYmFzZU9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogZmlyZWJhc2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsNEJBQTRCLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN00sT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxF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QUNMLFFBQVEsRUFBRSx5Q0FBeUM7WUFDbkQsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7d0dBWFUseUNBQXlDO3lHQUF6Qyx5Q0FBeUMsa0NBakZ6Qyx3Q0FBd0MsRUFoRHhDLHlDQUF5QyxFQW9FekMsb0NBQW9DLEVBb0JwQyx1Q0FBdUMsRUF1QnZDLHlDQUF5Qzt5R0FrQnpDLHlDQUF5QyxZQVhsRCxrQkFBa0IsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQztnQkFDckYsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDO1lBQ0Ysd0NBQXdDO1lBQ3hDLHlDQUF5QztZQUN6QyxvQ0FBb0M7WUFDcEMsdUNBQXVDO1lBQ3ZDLHlDQUF5Qzs7NEZBR2hDLHlDQUF5QztrQkFickQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3hDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7NEJBQ3JGLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN4QyxDQUFDLENBQUM7d0JBQ0Ysd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLG9DQUFvQzt3QkFDcEMsdUNBQXVDO3dCQUN2Qyx5Q0FBeUM7cUJBQzFDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGluaXRpYWxpemVBcHAgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcENoZWNrLCBSZUNhcHRjaGFWM1Byb3ZpZGVyIH0gZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvciwgaW5pdGlhbGl6ZUZpcmVzdG9yZSwgcGVyc2lzdGVudExvY2FsQ2FjaGUsIHBlcnNpc3RlbnRNdWx0aXBsZVRhYk1hbmFnZXIsIEZpcmVzdG9yZVNldHRpbmdzLCBwZXJzaXN0ZW50U2luZ2xlVGFiTWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IEFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IERieEZpcmViYXNlT3B0aW9ucywgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjay9hcHBjaGVjay5pbnRlcmNlcHRvcic7XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmaXJlc3RvcmUgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG5cbiAgICAgIGNvbnN0IGZpcmVzdG9yZVNldHRpbmdzOiBGaXJlc3RvcmVTZXR0aW5ncyA9IHt9O1xuXG4gICAgICBjb25zdCB7IGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UsIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG4gICAgICBjb25zdCB7IHBlcnNpc3RlbnRDYWNoZVNldHRpbmdzIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGlmIChlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgbGV0IHRhYk1hbmFnZXI7XG5cbiAgICAgICAgaWYgKGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UgIT09IGZhbHNlKSB7XG4gICAgICAgICAgdGFiTWFuYWdlciA9IHBlcnNpc3RlbnRNdWx0aXBsZVRhYk1hbmFnZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YWJNYW5hZ2VyID0gcGVyc2lzdGVudFNpbmdsZVRhYk1hbmFnZXIodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpcmVzdG9yZVNldHRpbmdzLmxvY2FsQ2FjaGUgPSBwZXJzaXN0ZW50TG9jYWxDYWNoZSh7XG4gICAgICAgICAgdGFiTWFuYWdlcixcbiAgICAgICAgICAuLi5wZXJzaXN0ZW50Q2FjaGVTZXR0aW5nc1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlyZXN0b3JlID0gaW5pdGlhbGl6ZUZpcmVzdG9yZShmaXJlYmFzZUFwcCwgZmlyZXN0b3JlU2V0dGluZ3MpO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCwgZW11bGF0b3JzLmZpcmVzdG9yZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXBwIGNoZWNrIHByb3ZpZGVyIG1vZHVsZS5cbiAqXG4gKiBBbHNvIGNvbmZpZ3VyZXMgdGhlIERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3Igd2l0aCBIVFRQX0lOVEVSQ0VQVE9SUyBpbiBvcmRlciBmb3IgYXBwQ2hlY2sgdG8gYmUgYXBwZW5kZWQgdG8gcmVxdWVzdHMgdG8gdGhlIGFwaS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBcHBDaGVjaygoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCBhcHBDaGVja09wdGlvbnMgPSBmaXJlYmFzZU9wdGlvbnMuYXBwQ2hlY2s7XG4gICAgICBjb25zdCBhcHBDaGVja0tub3dpbmdseURpc2FibGVkID0gYXBwQ2hlY2tPcHRpb25zPy5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBmaXJlYmFzZU9wdGlvbnMuZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgPT09IHRydWU7XG4gICAgICBsZXQgYXBwQ2hlY2s6IEFwcENoZWNrO1xuXG4gICAgICBpZiAoYXBwQ2hlY2tPcHRpb25zICYmICFhcHBDaGVja0tub3dpbmdseURpc2FibGVkKSB7XG4gICAgICAgIC8vIGVuYWJsZSB0aGUgZGVidWcgdG9rZW5zIGlmIG5vdCB1c2luZyBlbXVsYXRvcnMgYW5kIGFsbG93RGVidWdUb2tlbnMgaXMgc2V0IHRydWVcbiAgICAgICAgaWYgKGZpcmViYXNlT3B0aW9ucy5lbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAhPT0gdHJ1ZSAmJiBhcHBDaGVja09wdGlvbnMuYWxsb3dEZWJ1Z1Rva2Vucykge1xuICAgICAgICAgIGVuYWJsZUFwcENoZWNrRGVidWdUb2tlbkdlbmVyYXRpb24odHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGVuYWJsZWQgb3V0c2lkZSBvZiBhcHAtY2hlY2sgZW52aXJvbm1lbnRzLiBUaGUgZW11bGF0b3JzIHdpbGwgbm90IHVzZSBhcHBjaGVjay5cbiAgICAgICAgYXBwQ2hlY2sgPSBpbml0aWFsaXplQXBwQ2hlY2soZmlyZWJhc2VBcHAsIHtcbiAgICAgICAgICBwcm92aWRlcjogbmV3IFJlQ2FwdGNoYVYzUHJvdmlkZXIoYXBwQ2hlY2tPcHRpb25zLnJlQ2FwdGNoYVYzKSxcbiAgICAgICAgICBpc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkOiBhcHBDaGVja09wdGlvbnMuaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZCA/PyB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdFbmFibGVkIEFwcENoZWNrLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwQ2hlY2sgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBBcHBDaGVjaztcblxuICAgICAgICBpZiAoIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdkYngtZmlyZWJhc2U6IE5vIGFwcGNoZWNrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHAsIGFuZCBub3Qgc3BlY2lmaWNhbGx5IGRpc2FibGVkIGluIGNvbmZpZyBlaXRoZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFwcENoZWNrO1xuICAgIH0pXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3IsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBhdXRoIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBdXRoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGF1dGggPSBnZXRBdXRoKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmF1dGgpIHtcbiAgICAgICAgY29ubmVjdEF1dGhFbXVsYXRvcihhdXRoLCBgaHR0cDovLyR7ZW11bGF0b3JzLmF1dGguaG9zdH06JHtlbXVsYXRvcnMuYXV0aC5wb3J0fWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aDtcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2Ugc3RvcmFnZSBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlU3RvcmFnZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5zdG9yYWdlKSB7XG4gICAgICAgIGNvbm5lY3RTdG9yYWdlRW11bGF0b3Ioc3RvcmFnZSwgZW11bGF0b3JzLnN0b3JhZ2UuaG9zdCwgZW11bGF0b3JzLnN0b3JhZ2UucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RvcmFnZTtcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdFN0b3JhZ2VQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZnVuY3Rpb25zIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGdW5jdGlvbnMoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgY29uc3QgeyBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbiB9ID0gZmlyZWJhc2VPcHRpb25zO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbnMgPSBnZXRGdW5jdGlvbnMoZmlyZWJhc2VBcHAsIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZ1bmN0aW9ucykge1xuICAgICAgICBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IoZnVuY3Rpb25zLCBlbXVsYXRvcnMuZnVuY3Rpb25zLmhvc3QsIGVtdWxhdG9ycy5mdW5jdGlvbnMucG9ydCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbnM7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIHJldHVybiBpbml0aWFsaXplQXBwKGZpcmViYXNlT3B0aW9ucyk7XG4gICAgfSksXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0QXBwQ2hlY2tQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChmaXJlYmFzZU9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogZmlyZWJhc2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,23 +1,18 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { Injectable, inject } from '@angular/core';
2
2
  import { DBX_FIRESTORE_CONTEXT_TOKEN } from './firebase.firestore';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Service that provides access to the app's FirestoreContext.
6
6
  */
7
7
  export class DbxFirestoreContextService {
8
- constructor(firestoreContext) {
9
- this.firestoreContext = firestoreContext;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirestoreContextService, deps: [{ token: DBX_FIRESTORE_CONTEXT_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirestoreContextService, providedIn: 'root' }); }
8
+ firestoreContext = inject(DBX_FIRESTORE_CONTEXT_TOKEN);
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirestoreContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirestoreContextService, providedIn: 'root' });
13
11
  }
14
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirestoreContextService, decorators: [{
15
13
  type: Injectable,
16
14
  args: [{
17
15
  providedIn: 'root'
18
16
  }]
19
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
20
- type: Inject,
21
- args: [DBX_FIRESTORE_CONTEXT_TOKEN]
22
- }] }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLmNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUuY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBMEQsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDOytHQURyRiwwQkFBMEIsa0JBQ2pCLDJCQUEyQjttSEFEcEMsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUVjLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOIH0gZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFwcCdzIEZpcmVzdG9yZUNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmVzdG9yZUNvbnRleHRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4pIHJlYWRvbmx5IGZpcmVzdG9yZUNvbnRleHQ6IEZpcmVzdG9yZUNvbnRleHQpIHt9XG59XG4iXX0=
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLmNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUuY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsZ0JBQWdCLEdBQUcsTUFBTSxDQUFtQiwyQkFBMkIsQ0FBQyxDQUFDO3dHQUR2RSwwQkFBMEI7NEdBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOIH0gZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFwcCdzIEZpcmVzdG9yZUNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmVzdG9yZUNvbnRleHRTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZmlyZXN0b3JlQ29udGV4dCA9IGluamVjdDxGaXJlc3RvcmVDb250ZXh0PihEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4pO1xufVxuIl19
@@ -41,11 +41,11 @@ export class DbxFirebaseFirestoreCollectionModule {
41
41
  providers
42
42
  };
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
45
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule }); }
46
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule }); }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
45
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule });
46
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule });
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule, decorators: [{
49
49
  type: NgModule
50
50
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBb0IsK0JBQStCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3BELE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxhQUE4QztJQUNuRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNlNBQTZTLENBQUMsQ0FBQztLQUNoVTtJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFhRDs7R0FFRztBQUVILE1BQU0sT0FBTyxvQ0FBb0M7SUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBSSxNQUFxRDtRQUNyRSxNQUFNLFNBQVMsR0FBZTtZQUM1QjtnQkFDRSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxVQUFVLEVBQUUscUNBQXFDO2dCQUNqRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtnQkFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7Z0JBQ3BDLElBQUksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2FBQ3BDO1NBQ0YsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLHNDQUFzQyxLQUFLLEtBQUssRUFBRTtZQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNiOzttQkFFRztnQkFDSCxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxVQUFVLEVBQUUsc0NBQXNDO2dCQUNsRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7YUFDbEMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9DQUFvQztZQUM5QyxTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7K0dBOUJVLG9DQUFvQztnSEFBcEMsb0NBQW9DO2dIQUFwQyxvQ0FBb0M7OzRGQUFwQyxvQ0FBb0M7a0JBRGhELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsaWVudEZpcmViYXNlRmlyZXN0b3JlQ29udGV4dEZhY3RvcnksIEZpcmVzdG9yZUNvbnRleHQsIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4gfSBmcm9tICcuL2ZpcmViYXNlLmZpcmVzdG9yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBDbGFzc0xpa2VUeXBlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyhhcHBDb2xsZWN0aW9uOiBTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zKTogU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyB7XG4gIGlmICghYXBwQ29sbGVjdGlvbi5zeXN0ZW1TdGF0ZUNvbGxlY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMgY291bGQgbm90IGJlIHByb3ZpZGVkIHVzaW5nIHRoZSBhcHAncyBhcHAgY29sbGVjdGlvbi4gU2V0IHByb3ZpZGVTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zIHRvIGZhbHNlIGluIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZUNvbmZpZyB0byBwcmV2ZW50IGF1dG8taW5pdGlhbGl6YXRpb24sIG9yIHVwZGF0ZSB5b3VyIGFvbydzIGNvbGxlY3Rpb24gY2xhc3MgdG8gaW1wbGVtZW50IFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMuYCk7XG4gIH1cblxuICByZXR1cm4gYXBwQ29sbGVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4ge1xuICBhcHBDb2xsZWN0aW9uQ2xhc3M6IENsYXNzTGlrZVR5cGU8VD47XG4gIGNvbGxlY3Rpb25GYWN0b3J5OiAoY29udGV4dDogRmlyZXN0b3JlQ29udGV4dCkgPT4gVDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHByb3ZpZGUgdGhlIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIHByb3ZpZGVTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGluaXRpYWxpemUgdGhlIEZpcmVzdG9yZUNvbGxlY3Rpb24gZm9yIGEgRGJ4RmlyZWJhc2UgYXBwLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290PFQ+KGNvbmZpZzogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlQ29uZmlnPFQ+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGU+IHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IERCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTixcbiAgICAgICAgdXNlRmFjdG9yeTogY2xpZW50RmlyZWJhc2VGaXJlc3RvcmVDb250ZXh0RmFjdG9yeSxcbiAgICAgICAgZGVwczogW0ZpcmVzdG9yZV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IGNvbmZpZy5hcHBDb2xsZWN0aW9uQ2xhc3MsXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5jb2xsZWN0aW9uRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0RCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTl1cbiAgICAgIH1cbiAgICBdO1xuXG4gICAgaWYgKGNvbmZpZy5wcm92aWRlU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyAhPT0gZmFsc2UpIHtcbiAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByb3ZpZGUgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyB2aWEgdGhlIGFwcCBjb2xsZWN0aW9ucyBjbGFzcyBhbmQgdXNpbmcgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucy5cbiAgICAgICAgICovXG4gICAgICAgIHByb3ZpZGU6IFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMsXG4gICAgICAgIHVzZUZhY3Rvcnk6IHByb3ZpZGVTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zLFxuICAgICAgICBkZXBzOiBbY29uZmlnLmFwcENvbGxlY3Rpb25DbGFzc11cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBb0IsK0JBQStCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3BELE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxhQUE4QztJQUNuRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNlNBQTZTLENBQUMsQ0FBQztLQUNoVTtJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFhRDs7R0FFRztBQUVILE1BQU0sT0FBTyxvQ0FBb0M7SUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBSSxNQUFxRDtRQUNyRSxNQUFNLFNBQVMsR0FBZTtZQUM1QjtnQkFDRSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxVQUFVLEVBQUUscUNBQXFDO2dCQUNqRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtnQkFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7Z0JBQ3BDLElBQUksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2FBQ3BDO1NBQ0YsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLHNDQUFzQyxLQUFLLEtBQUssRUFBRTtZQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNiOzttQkFFRztnQkFDSCxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxVQUFVLEVBQUUsc0NBQXNDO2dCQUNsRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7YUFDbEMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9DQUFvQztZQUM5QyxTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7d0dBOUJVLG9DQUFvQzt5R0FBcEMsb0NBQW9DO3lHQUFwQyxvQ0FBb0M7OzRGQUFwQyxvQ0FBb0M7a0JBRGhELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsaWVudEZpcmViYXNlRmlyZXN0b3JlQ29udGV4dEZhY3RvcnksIEZpcmVzdG9yZUNvbnRleHQsIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4gfSBmcm9tICcuL2ZpcmViYXNlLmZpcmVzdG9yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBDbGFzc0xpa2VUeXBlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyhhcHBDb2xsZWN0aW9uOiBTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zKTogU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyB7XG4gIGlmICghYXBwQ29sbGVjdGlvbi5zeXN0ZW1TdGF0ZUNvbGxlY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMgY291bGQgbm90IGJlIHByb3ZpZGVkIHVzaW5nIHRoZSBhcHAncyBhcHAgY29sbGVjdGlvbi4gU2V0IHByb3ZpZGVTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zIHRvIGZhbHNlIGluIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZUNvbmZpZyB0byBwcmV2ZW50IGF1dG8taW5pdGlhbGl6YXRpb24sIG9yIHVwZGF0ZSB5b3VyIGFvbydzIGNvbGxlY3Rpb24gY2xhc3MgdG8gaW1wbGVtZW50IFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMuYCk7XG4gIH1cblxuICByZXR1cm4gYXBwQ29sbGVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4ge1xuICBhcHBDb2xsZWN0aW9uQ2xhc3M6IENsYXNzTGlrZVR5cGU8VD47XG4gIGNvbGxlY3Rpb25GYWN0b3J5OiAoY29udGV4dDogRmlyZXN0b3JlQ29udGV4dCkgPT4gVDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHByb3ZpZGUgdGhlIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIHByb3ZpZGVTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGluaXRpYWxpemUgdGhlIEZpcmVzdG9yZUNvbGxlY3Rpb24gZm9yIGEgRGJ4RmlyZWJhc2UgYXBwLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290PFQ+KGNvbmZpZzogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlQ29uZmlnPFQ+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGU+IHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IERCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTixcbiAgICAgICAgdXNlRmFjdG9yeTogY2xpZW50RmlyZWJhc2VGaXJlc3RvcmVDb250ZXh0RmFjdG9yeSxcbiAgICAgICAgZGVwczogW0ZpcmVzdG9yZV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IGNvbmZpZy5hcHBDb2xsZWN0aW9uQ2xhc3MsXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5jb2xsZWN0aW9uRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0RCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTl1cbiAgICAgIH1cbiAgICBdO1xuXG4gICAgaWYgKGNvbmZpZy5wcm92aWRlU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyAhPT0gZmFsc2UpIHtcbiAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByb3ZpZGUgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucyB2aWEgdGhlIGFwcCBjb2xsZWN0aW9ucyBjbGFzcyBhbmQgdXNpbmcgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucy5cbiAgICAgICAgICovXG4gICAgICAgIHByb3ZpZGU6IFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMsXG4gICAgICAgIHVzZUZhY3Rvcnk6IHByb3ZpZGVTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zLFxuICAgICAgICBkZXBzOiBbY29uZmlnLmFwcENvbGxlY3Rpb25DbGFzc11cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -53,11 +53,11 @@ export class DbxFirebaseFunctionsModule {
53
53
  providers
54
54
  };
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
57
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule }); }
58
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule }); }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule });
58
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule });
59
59
  }
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseFunctionsModule, decorators: [{
61
61
  type: NgModule
62
62
  }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQW9ELHNDQUFzQyxFQUF5QixNQUFNLG1CQUFtQixDQUFDO0FBQ2xMLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CL0Q7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBMkQsTUFBOEM7UUFDckgsTUFBTSxTQUFTLEdBQWU7WUFDNUI7Z0JBQ0UsT0FBTyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7Z0JBQ3BDLFVBQVUsRUFBRSxNQUFNLENBQUMsc0JBQXNCO2dCQUN6QyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRixDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUU7WUFDN0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtnQkFDekMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtvQkFDeEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUV6QixTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNiLE9BQU87d0JBQ1AsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBRSxFQUFFOzRCQUN0RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBYSxDQUFDLENBQUM7NEJBRTVDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0NBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsT0FBTyxrQ0FBa0MsQ0FBQyxDQUFDOzZCQUN2SDtpQ0FBTTtnQ0FDTCxPQUFPLE1BQU0sRUFBRSxDQUFDOzZCQUNqQjt3QkFDSCxDQUFDO3dCQUNELElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztxQkFDcEMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7YUFDRixDQUFDLENBQUM7WUFFSCx1RkFBdUY7WUFDdkYsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLElBQUksc0NBQXNDLENBQUM7WUFFekcsSUFBSSx1QkFBdUIsRUFBRTtnQkFDM0IsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFFdEYsSUFBSSwwQkFBMEIsSUFBSSxJQUFJLEVBQUU7b0JBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2IsT0FBTyxFQUFFLDRCQUE0Qjt3QkFDckMsV0FBVyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztxQkFDM0MsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjtRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQzsrR0FsRFUsMEJBQTBCO2dIQUExQiwwQkFBMEI7Z0hBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnVuY3Rpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRmlyZWJhc2VEZXZlbG9wbWVudEZ1bmN0aW9ucywgRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXAsIEZpcmViYXNlRnVuY3Rpb25zTWFwLCBGSVJFQkFTRV9ERVZFTE9QTUVOVF9GVU5DVElPTlNfTUFQX0tFWSwgTGF6eUZpcmViYXNlRnVuY3Rpb25zIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSwgZm9yRWFjaEtleVZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+IHtcbiAgZnVuY3Rpb25zR2V0dGVyVG9rZW46IENsYXNzTGlrZVR5cGU8VD47XG4gIGZ1bmN0aW9uc0dldHRlckZhY3Rvcnk6IChmdW5jdGlvbnM6IEZ1bmN0aW9ucykgPT4gVDtcbiAgLyoqXG4gICAqIEtleSBvZiB0aGUgZnVuY3Rpb25zIGNvbmZpZyB0byB1c2UgdG8gaW5qZWN0IEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgdXNpbmcgdGhhdCBzYW1lIHByb3ZpZGVyLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcImRldmVsb3BtZW50RnVuY3Rpb25zXCIuIElmIGZhbHNlLCB3aWxsIG5vdCBiZSBpbmplY3RlZCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRGdW5jdGlvbnNLZXk/OiBzdHJpbmcgfCBmYWxzZTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9ucyBjb25maWcgbWFwIHRvIHByb3ZpZGUuXG4gICAqXG4gICAqIElmIHByb3ZpZGVkLCB3aWxsIGluamVjdCBhbGwgdGhlIHR5cGVzIHdpdGggZmFjdG9yeSBmdW5jdGlvbnMgc28gdGhleSBjYW4gYmUgaW5qZWN0ZWQgaW50byB0aGUgYXBwLlxuICAgKi9cbiAgZnVuY3Rpb25zQ29uZmlnTWFwPzogRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXA8TT47XG59XG5cbi8qKlxuICogVXNlZCB0byBpbml0aWFsaXplIHRoZSBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgdHlwZSBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKlxuICogSGFuZGxlcyB0aGUgIGtleSBkaWZmZXJlbnQsIGF1dG9tYXRpY2FsbHkgaW5qZWN0aW5nIEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgd2l0aCB0aGlzIGV4aXN0aW5nIHZhbHVlLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Q8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+KGNvbmZpZzogRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTT4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlPiB7XG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBjb25maWcuZnVuY3Rpb25zR2V0dGVyVG9rZW4sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbRnVuY3Rpb25zXVxuICAgICAgfVxuICAgIF07XG5cbiAgICBpZiAoY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcCkge1xuICAgICAgZm9yRWFjaEtleVZhbHVlKGNvbmZpZy5mdW5jdGlvbnNDb25maWdNYXAsIHtcbiAgICAgICAgZm9yRWFjaDogKFtrZXksIGVudHJ5XSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3ZpZGUgPSBlbnRyeVswXTtcblxuICAgICAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgICAgIHByb3ZpZGUsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAobGF6eUZ1bmN0aW9uczogTGF6eUZpcmViYXNlRnVuY3Rpb25zPE0+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldHRlciA9IGxhenlGdW5jdGlvbnNba2V5IGFzIHN0cmluZ107XG5cbiAgICAgICAgICAgICAgaWYgKCFnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgcHJvdmlkZXIgZm9yIGZpcmViYXNlIGZ1bmN0aW9uIGdldHRlciBcIiR7cHJvdmlkZX1cIiBhcyB0aGUgZ2V0dGVyIHdhcyB1bmF2YWlsYWJsZS5gKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0dGVyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZXBzOiBbY29uZmlnLmZ1bmN0aW9uc0dldHRlclRva2VuXVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gQWRkIGEgcHJvdmlkZXIgZm9yIEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgaWYgZGV2ZWxvcG1lbnRGdW5jdGlvbnMgaXMgcHJvdmlkZWQuXG4gICAgICBjb25zdCBkZXZlbG9wbWVudEZ1bmN0aW9uc0tleSA9IGNvbmZpZy5kZXZlbG9wbWVudEZ1bmN0aW9uc0tleSA/PyBGSVJFQkFTRV9ERVZFTE9QTUVOVF9GVU5DVElPTlNfTUFQX0tFWTtcblxuICAgICAgaWYgKGRldmVsb3BtZW50RnVuY3Rpb25zS2V5KSB7XG4gICAgICAgIGNvbnN0IGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnID0gY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcFtkZXZlbG9wbWVudEZ1bmN0aW9uc0tleV07XG5cbiAgICAgICAgaWYgKGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnICE9IG51bGwpIHtcbiAgICAgICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgICAgICBwcm92aWRlOiBGaXJlYmFzZURldmVsb3BtZW50RnVuY3Rpb25zLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnWzBdXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQW9ELHNDQUFzQyxFQUF5QixNQUFNLG1CQUFtQixDQUFDO0FBQ2xMLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CL0Q7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBMkQsTUFBOEM7UUFDckgsTUFBTSxTQUFTLEdBQWU7WUFDNUI7Z0JBQ0UsT0FBTyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7Z0JBQ3BDLFVBQVUsRUFBRSxNQUFNLENBQUMsc0JBQXNCO2dCQUN6QyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRixDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUU7WUFDN0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtnQkFDekMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtvQkFDeEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUV6QixTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNiLE9BQU87d0JBQ1AsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBRSxFQUFFOzRCQUN0RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBYSxDQUFDLENBQUM7NEJBRTVDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0NBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsT0FBTyxrQ0FBa0MsQ0FBQyxDQUFDOzZCQUN2SDtpQ0FBTTtnQ0FDTCxPQUFPLE1BQU0sRUFBRSxDQUFDOzZCQUNqQjt3QkFDSCxDQUFDO3dCQUNELElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztxQkFDcEMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7YUFDRixDQUFDLENBQUM7WUFFSCx1RkFBdUY7WUFDdkYsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLElBQUksc0NBQXNDLENBQUM7WUFFekcsSUFBSSx1QkFBdUIsRUFBRTtnQkFDM0IsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFFdEYsSUFBSSwwQkFBMEIsSUFBSSxJQUFJLEVBQUU7b0JBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2IsT0FBTyxFQUFFLDRCQUE0Qjt3QkFDckMsV0FBVyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztxQkFDM0MsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjtRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQzt3R0FsRFUsMEJBQTBCO3lHQUExQiwwQkFBMEI7eUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnVuY3Rpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRmlyZWJhc2VEZXZlbG9wbWVudEZ1bmN0aW9ucywgRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXAsIEZpcmViYXNlRnVuY3Rpb25zTWFwLCBGSVJFQkFTRV9ERVZFTE9QTUVOVF9GVU5DVElPTlNfTUFQX0tFWSwgTGF6eUZpcmViYXNlRnVuY3Rpb25zIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSwgZm9yRWFjaEtleVZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+IHtcbiAgZnVuY3Rpb25zR2V0dGVyVG9rZW46IENsYXNzTGlrZVR5cGU8VD47XG4gIGZ1bmN0aW9uc0dldHRlckZhY3Rvcnk6IChmdW5jdGlvbnM6IEZ1bmN0aW9ucykgPT4gVDtcbiAgLyoqXG4gICAqIEtleSBvZiB0aGUgZnVuY3Rpb25zIGNvbmZpZyB0byB1c2UgdG8gaW5qZWN0IEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgdXNpbmcgdGhhdCBzYW1lIHByb3ZpZGVyLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcImRldmVsb3BtZW50RnVuY3Rpb25zXCIuIElmIGZhbHNlLCB3aWxsIG5vdCBiZSBpbmplY3RlZCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRGdW5jdGlvbnNLZXk/OiBzdHJpbmcgfCBmYWxzZTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9ucyBjb25maWcgbWFwIHRvIHByb3ZpZGUuXG4gICAqXG4gICAqIElmIHByb3ZpZGVkLCB3aWxsIGluamVjdCBhbGwgdGhlIHR5cGVzIHdpdGggZmFjdG9yeSBmdW5jdGlvbnMgc28gdGhleSBjYW4gYmUgaW5qZWN0ZWQgaW50byB0aGUgYXBwLlxuICAgKi9cbiAgZnVuY3Rpb25zQ29uZmlnTWFwPzogRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXA8TT47XG59XG5cbi8qKlxuICogVXNlZCB0byBpbml0aWFsaXplIHRoZSBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgdHlwZSBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKlxuICogSGFuZGxlcyB0aGUgIGtleSBkaWZmZXJlbnQsIGF1dG9tYXRpY2FsbHkgaW5qZWN0aW5nIEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgd2l0aCB0aGlzIGV4aXN0aW5nIHZhbHVlLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Q8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+KGNvbmZpZzogRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTT4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlPiB7XG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBjb25maWcuZnVuY3Rpb25zR2V0dGVyVG9rZW4sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbRnVuY3Rpb25zXVxuICAgICAgfVxuICAgIF07XG5cbiAgICBpZiAoY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcCkge1xuICAgICAgZm9yRWFjaEtleVZhbHVlKGNvbmZpZy5mdW5jdGlvbnNDb25maWdNYXAsIHtcbiAgICAgICAgZm9yRWFjaDogKFtrZXksIGVudHJ5XSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3ZpZGUgPSBlbnRyeVswXTtcblxuICAgICAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgICAgIHByb3ZpZGUsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAobGF6eUZ1bmN0aW9uczogTGF6eUZpcmViYXNlRnVuY3Rpb25zPE0+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldHRlciA9IGxhenlGdW5jdGlvbnNba2V5IGFzIHN0cmluZ107XG5cbiAgICAgICAgICAgICAgaWYgKCFnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgcHJvdmlkZXIgZm9yIGZpcmViYXNlIGZ1bmN0aW9uIGdldHRlciBcIiR7cHJvdmlkZX1cIiBhcyB0aGUgZ2V0dGVyIHdhcyB1bmF2YWlsYWJsZS5gKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0dGVyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZXBzOiBbY29uZmlnLmZ1bmN0aW9uc0dldHRlclRva2VuXVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gQWRkIGEgcHJvdmlkZXIgZm9yIEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgaWYgZGV2ZWxvcG1lbnRGdW5jdGlvbnMgaXMgcHJvdmlkZWQuXG4gICAgICBjb25zdCBkZXZlbG9wbWVudEZ1bmN0aW9uc0tleSA9IGNvbmZpZy5kZXZlbG9wbWVudEZ1bmN0aW9uc0tleSA/PyBGSVJFQkFTRV9ERVZFTE9QTUVOVF9GVU5DVElPTlNfTUFQX0tFWTtcblxuICAgICAgaWYgKGRldmVsb3BtZW50RnVuY3Rpb25zS2V5KSB7XG4gICAgICAgIGNvbnN0IGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnID0gY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcFtkZXZlbG9wbWVudEZ1bmN0aW9uc0tleV07XG5cbiAgICAgICAgaWYgKGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnICE9IG51bGwpIHtcbiAgICAgICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgICAgICBwcm92aWRlOiBGaXJlYmFzZURldmVsb3BtZW50RnVuY3Rpb25zLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnWzBdXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -9,10 +9,12 @@ import { dbxFirebaseCollectionChangeWatcher } from './collection.change.watcher'
9
9
  */
10
10
  export const DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION = (instance) => instance.watcher.store.restart();
11
11
  export class DbxFirebaseCollectionChangeTriggerInstance {
12
+ config;
13
+ watcher;
14
+ _triggerFunction = new BehaviorSubject(undefined);
15
+ _sub = new SubscriptionObject();
12
16
  constructor(config) {
13
17
  this.config = config;
14
- this._triggerFunction = new BehaviorSubject(undefined);
15
- this._sub = new SubscriptionObject();
16
18
  this.watcher = config.watcher;
17
19
  this.triggerFunction = config.triggerFunction ?? DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION;
18
20
  }
@@ -72,4 +74,4 @@ export function dbxFirebaseCollectionChangeTriggerForWatcher(watcher, triggerFun
72
74
  export function dbxFirebaseCollectionChangeTrigger(config) {
73
75
  return new DbxFirebaseCollectionChangeTriggerInstance(config);
74
76
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5jaGFuZ2UudHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL2xvYWRlci9jb2xsZWN0aW9uLmNoYW5nZS50cmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBcUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdFLE9BQU8sRUFBc0Msa0NBQWtDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUtySDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1EQUFtRCxHQUFvRCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUF1Qm5LLE1BQU0sT0FBTywwQ0FBMEM7SUFNckQsWUFBcUIsTUFBMkQ7UUFBM0QsV0FBTSxHQUFOLE1BQU0sQ0FBcUQ7UUFIeEUscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQXVELFNBQVMsQ0FBQyxDQUFDO1FBQ3hHLFNBQUksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFHdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsSUFBSSxtREFBbUQsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7YUFDM0MsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzVCLElBQUksZUFBZSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDakMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN0RCxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixLQUFLLElBQUksRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBa0MsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxlQUFxRTtRQUN2RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsMENBQTBDLENBQXFELEtBQVEsRUFBRSxlQUFzRTtJQUM3TCxPQUFPLGtDQUFrQyxDQUFJO1FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBSSxLQUFLLEVBQUUsTUFBTSxDQUFDO1FBQzdELHVCQUF1QixFQUFFLElBQUk7UUFDN0IsZUFBZSxFQUNiLGVBQWU7WUFDZixDQUFDLEdBQUcsRUFBRTtnQkFDSixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsQ0FBQyxDQUFDO0tBQ0wsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSw0Q0FBNEMsQ0FBcUQsT0FBOEMsRUFBRSxlQUFzRTtJQUNyTyxPQUFPLGtDQUFrQyxDQUFJO1FBQzNDLE9BQU87UUFDUCx1QkFBdUIsRUFBRSxLQUFLO1FBQzlCLGVBQWU7S0FDaEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxrQ0FBa0MsQ0FBcUQsTUFBMkQ7SUFDaEssT0FBTyxJQUFJLDBDQUEwQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIE9ic2VydmFibGVPclZhbHVlLCBhc09ic2VydmFibGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBzd2l0Y2hNYXAsIGV4aGF1c3RNYXAsIEVNUFRZIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSwgTWF5YmUsIEluaXRpYWxpemVkIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyLCBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyIH0gZnJvbSAnLi9jb2xsZWN0aW9uLmNoYW5nZS53YXRjaGVyJztcbmltcG9ydCB7IERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yIH0gZnJvbSAnLi9jb2xsZWN0aW9uLmxvYWRlcic7XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGdW5jdGlvbjxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4gPSAoaW5zdGFuY2U6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZTxTPikgPT4gT2JzZXJ2YWJsZU9yVmFsdWU8dm9pZD47XG5cbi8qKlxuICogUmVzdGFydHMgdGhlIHN0b3JlLlxuICpcbiAqIEBwYXJhbSBpbnN0YW5jZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklSRUJBU0VfQ09MTEVDVElPTl9DSEFOR0VfVFJJR0dFUl9GVU5DVElPTjogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPGFueT4gPSAoaW5zdGFuY2UpID0+IGluc3RhbmNlLndhdGNoZXIuc3RvcmUucmVzdGFydCgpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZUNvbmZpZzxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4ge1xuICByZWFkb25seSB3YXRjaGVyOiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyPFM+ICYgUGFydGlhbDxEZXN0cm95YWJsZT47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbHNvIGRlc3Ryb3kgdGhlIHdhdGNoZXIgd2hlbiB0aGUgdHJpZ2dlciBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdHJveVdhdGNoZXJPbkRlc3Ryb3k/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5pdGlhbCB0cmlnZ2VyIGZ1bmN0aW9uIHRvIHVzZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCByZXN0YXJ0cyB0aGUgc3RvcmUuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyRnVuY3Rpb24/OiBNYXliZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRnVuY3Rpb248Uz4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXI8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+IHtcbiAgcmVhZG9ubHkgd2F0Y2hlcjogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTPjtcbiAgdHJpZ2dlckZ1bmN0aW9uPzogTWF5YmU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPFM+Pjtcbn1cblxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyPFM+LCBJbml0aWFsaXplZCwgRGVzdHJveWFibGUge1xuICByZWFkb25seSB3YXRjaGVyOiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyPFM+O1xuXG4gIHByaXZhdGUgX3RyaWdnZXJGdW5jdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPFM+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbmZpZzogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlQ29uZmlnPFM+KSB7XG4gICAgdGhpcy53YXRjaGVyID0gY29uZmlnLndhdGNoZXI7XG4gICAgdGhpcy50cmlnZ2VyRnVuY3Rpb24gPSBjb25maWcudHJpZ2dlckZ1bmN0aW9uID8/IERFRkFVTFRfRklSRUJBU0VfQ09MTEVDVElPTl9DSEFOR0VfVFJJR0dFUl9GVU5DVElPTjtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuX3RyaWdnZXJGdW5jdGlvblxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodHJpZ2dlckZ1bmN0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKHRyaWdnZXJGdW5jdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2F0Y2hlci50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICAgICAgICAgIGZpbHRlcigodHJpZ2dlcmVkKSA9PiB0cmlnZ2VyZWQpLFxuICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IGFzT2JzZXJ2YWJsZSh0cmlnZ2VyRnVuY3Rpb24odGhpcykpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckZ1bmN0aW9uLmNvbXBsZXRlKCk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuZGVzdHJveVdhdGNoZXJPbkRlc3Ryb3kgPT09IHRydWUpIHtcbiAgICAgICh0aGlzLndhdGNoZXIgYXMgdW5rbm93biBhcyBEZXN0cm95YWJsZSk/LmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdHJpZ2dlckZ1bmN0aW9uKCk6IE1heWJlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGdW5jdGlvbjxTPj4ge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyRnVuY3Rpb24udmFsdWU7XG4gIH1cblxuICBzZXQgdHJpZ2dlckZ1bmN0aW9uKHRyaWdnZXJGdW5jdGlvbjogTWF5YmU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPFM+Pikge1xuICAgIHRoaXMuX3RyaWdnZXJGdW5jdGlvbi5uZXh0KHRyaWdnZXJGdW5jdGlvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXIsIHNldCB0aGUgbW9kZXMgdG8gXCJhdXRvXCIsIGFuZCBjcmVhdGVzIGEgbmV3IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZS5cbiAqXG4gKiBJZiBubyB0cmlnZ2VyIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGl0IHdpbGwgZGVmYXVsdCB0byByZXNldHRpbmcgdGhlIHN0b3JlLlxuICpcbiAqIE5PVEU6IERvbid0IGZvcmdldCB0byBpbml0aWFsaXplIHRoZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VySW5zdGFuY2UgYW5kIGhhbmRsZSBvdGhlciBsaWZlY3ljbGUgY2hhbmdlcy5cbiAqXG4gKiBAcGFyYW0gc3RvcmVcbiAqIEBwYXJhbSB0cmlnZ2VyRnVuY3Rpb25cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRm9yU3RvcmU8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+KHN0b3JlOiBTLCB0cmlnZ2VyRnVuY3Rpb24/OiBNYXliZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRnVuY3Rpb248Uz4+KTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlPFM+IHtcbiAgcmV0dXJuIGRieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXI8Uz4oe1xuICAgIHdhdGNoZXI6IGRieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXI8Uz4oc3RvcmUsICdhdXRvJyksXG4gICAgZGVzdHJveVdhdGNoZXJPbkRlc3Ryb3k6IHRydWUsXG4gICAgdHJpZ2dlckZ1bmN0aW9uOlxuICAgICAgdHJpZ2dlckZ1bmN0aW9uID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICBzdG9yZS5yZXN0YXJ0KCk7XG4gICAgICB9KVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGb3JXYXRjaGVyPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3Nvcjxhbnk+Pih3YXRjaGVyOiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyPFM+LCB0cmlnZ2VyRnVuY3Rpb24/OiBNYXliZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRnVuY3Rpb248Uz4+KTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlPFM+IHtcbiAgcmV0dXJuIGRieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXI8Uz4oe1xuICAgIHdhdGNoZXIsXG4gICAgZGVzdHJveVdhdGNoZXJPbkRlc3Ryb3k6IGZhbHNlLFxuICAgIHRyaWdnZXJGdW5jdGlvblxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXI8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+KGNvbmZpZzogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlQ29uZmlnPFM+KTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlPFM+IHtcbiAgcmV0dXJuIG5ldyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VySW5zdGFuY2UoY29uZmlnKTtcbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5jaGFuZ2UudHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL2xvYWRlci9jb2xsZWN0aW9uLmNoYW5nZS50cmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBcUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdFLE9BQU8sRUFBc0Msa0NBQWtDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUtySDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1EQUFtRCxHQUFvRCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUF1Qm5LLE1BQU0sT0FBTywwQ0FBMEM7SUFNaEM7SUFMWixPQUFPLENBQXdDO0lBRWhELGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUF1RCxTQUFTLENBQUMsQ0FBQztJQUN4RyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRXhDLFlBQXFCLE1BQTJEO1FBQTNELFdBQU0sR0FBTixNQUFNLENBQXFEO1FBQzlFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLElBQUksbURBQW1ELENBQUM7SUFDdkcsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCO2FBQzNDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM1QixJQUFJLGVBQWUsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDdEQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsS0FBSyxJQUFJLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQWtDLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBcUU7UUFDdkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLDBDQUEwQyxDQUFxRCxLQUFRLEVBQUUsZUFBc0U7SUFDN0wsT0FBTyxrQ0FBa0MsQ0FBSTtRQUMzQyxPQUFPLEVBQUUsa0NBQWtDLENBQUksS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUM3RCx1QkFBdUIsRUFBRSxJQUFJO1FBQzdCLGVBQWUsRUFDYixlQUFlO1lBQ2YsQ0FBQyxHQUFHLEVBQUU7Z0JBQ0osS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLENBQUMsQ0FBQztLQUNMLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsNENBQTRDLENBQXFELE9BQThDLEVBQUUsZUFBc0U7SUFDck8sT0FBTyxrQ0FBa0MsQ0FBSTtRQUMzQyxPQUFPO1FBQ1AsdUJBQXVCLEVBQUUsS0FBSztRQUM5QixlQUFlO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsa0NBQWtDLENBQXFELE1BQTJEO0lBQ2hLLE9BQU8sSUFBSSwwQ0FBMEMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBPYnNlcnZhYmxlT3JWYWx1ZSwgYXNPYnNlcnZhYmxlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgc3dpdGNoTWFwLCBleGhhdXN0TWFwLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIE1heWJlLCBJbml0aWFsaXplZCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlciwgZGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlciB9IGZyb20gJy4vY29sbGVjdGlvbi5jaGFuZ2Uud2F0Y2hlcic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3NvciB9IGZyb20gJy4vY29sbGVjdGlvbi5sb2FkZXInO1xuXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRnVuY3Rpb248UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+ID0gKGluc3RhbmNlOiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VySW5zdGFuY2U8Uz4pID0+IE9ic2VydmFibGVPclZhbHVlPHZvaWQ+O1xuXG4vKipcbiAqIFJlc3RhcnRzIHRoZSBzdG9yZS5cbiAqXG4gKiBAcGFyYW0gaW5zdGFuY2VcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJUkVCQVNFX0NPTExFQ1RJT05fQ0hBTkdFX1RSSUdHRVJfRlVOQ1RJT046IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGdW5jdGlvbjxhbnk+ID0gKGluc3RhbmNlKSA9PiBpbnN0YW5jZS53YXRjaGVyLnN0b3JlLnJlc3RhcnQoKTtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VySW5zdGFuY2VDb25maWc8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+IHtcbiAgcmVhZG9ubHkgd2F0Y2hlcjogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTPiAmIFBhcnRpYWw8RGVzdHJveWFibGU+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxzbyBkZXN0cm95IHRoZSB3YXRjaGVyIHdoZW4gdGhlIHRyaWdnZXIgaW5zdGFuY2UgaXMgZGVzdHJveWVkLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3Ryb3lXYXRjaGVyT25EZXN0cm95PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluaXRpYWwgdHJpZ2dlciBmdW5jdGlvbiB0byB1c2UuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQgcmVzdGFydHMgdGhlIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlckZ1bmN0aW9uPzogTWF5YmU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPFM+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3Nvcjxhbnk+PiB7XG4gIHJlYWRvbmx5IHdhdGNoZXI6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXI8Uz47XG4gIHNldFRyaWdnZXJGdW5jdGlvbj86IE1heWJlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGdW5jdGlvbjxTPj47XG59XG5cbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VySW5zdGFuY2U8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+IGltcGxlbWVudHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlcjxTPiwgSW5pdGlhbGl6ZWQsIERlc3Ryb3lhYmxlIHtcbiAgcmVhZG9ubHkgd2F0Y2hlcjogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTPjtcblxuICBwcml2YXRlIF90cmlnZ2VyRnVuY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGdW5jdGlvbjxTPj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX3N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZUNvbmZpZzxTPikge1xuICAgIHRoaXMud2F0Y2hlciA9IGNvbmZpZy53YXRjaGVyO1xuICAgIHRoaXMudHJpZ2dlckZ1bmN0aW9uID0gY29uZmlnLnRyaWdnZXJGdW5jdGlvbiA/PyBERUZBVUxUX0ZJUkVCQVNFX0NPTExFQ1RJT05fQ0hBTkdFX1RSSUdHRVJfRlVOQ1RJT047XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl90cmlnZ2VyRnVuY3Rpb25cbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHRyaWdnZXJGdW5jdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0cmlnZ2VyRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndhdGNoZXIudHJpZ2dlcmVkJC5waXBlKFxuICAgICAgICAgICAgICBmaWx0ZXIoKHRyaWdnZXJlZCkgPT4gdHJpZ2dlcmVkKSxcbiAgICAgICAgICAgICAgZXhoYXVzdE1hcCgoKSA9PiBhc09ic2VydmFibGUodHJpZ2dlckZ1bmN0aW9uKHRoaXMpKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJGdW5jdGlvbi5jb21wbGV0ZSgpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmRlc3Ryb3lXYXRjaGVyT25EZXN0cm95ID09PSB0cnVlKSB7XG4gICAgICAodGhpcy53YXRjaGVyIGFzIHVua25vd24gYXMgRGVzdHJveWFibGUpPy5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRyaWdnZXJGdW5jdGlvbigpOiBNYXliZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRnVuY3Rpb248Uz4+IHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckZ1bmN0aW9uLnZhbHVlO1xuICB9XG5cbiAgc2V0IHRyaWdnZXJGdW5jdGlvbih0cmlnZ2VyRnVuY3Rpb246IE1heWJlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJGdW5jdGlvbjxTPj4pIHtcbiAgICB0aGlzLl90cmlnZ2VyRnVuY3Rpb24ubmV4dCh0cmlnZ2VyRnVuY3Rpb24pO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyLCBzZXQgdGhlIG1vZGVzIHRvIFwiYXV0b1wiLCBhbmQgY3JlYXRlcyBhIG5ldyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VySW5zdGFuY2UuXG4gKlxuICogSWYgbm8gdHJpZ2dlciBmdW5jdGlvbiBpcyBwcm92aWRlZCBpdCB3aWxsIGRlZmF1bHQgdG8gcmVzZXR0aW5nIHRoZSBzdG9yZS5cbiAqXG4gKiBOT1RFOiBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSB0aGUgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlIGFuZCBoYW5kbGUgb3RoZXIgbGlmZWN5Y2xlIGNoYW5nZXMuXG4gKlxuICogQHBhcmFtIHN0b3JlXG4gKiBAcGFyYW0gdHJpZ2dlckZ1bmN0aW9uXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZvclN0b3JlPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3Nvcjxhbnk+PihzdG9yZTogUywgdHJpZ2dlckZ1bmN0aW9uPzogTWF5YmU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPFM+Pik6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZTxTPiB7XG4gIHJldHVybiBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyPFM+KHtcbiAgICB3YXRjaGVyOiBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyPFM+KHN0b3JlLCAnYXV0bycpLFxuICAgIGRlc3Ryb3lXYXRjaGVyT25EZXN0cm95OiB0cnVlLFxuICAgIHRyaWdnZXJGdW5jdGlvbjpcbiAgICAgIHRyaWdnZXJGdW5jdGlvbiA/P1xuICAgICAgKCgpID0+IHtcbiAgICAgICAgc3RvcmUucmVzdGFydCgpO1xuICAgICAgfSlcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyRm9yV2F0Y2hlcjxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4od2F0Y2hlcjogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTPiwgdHJpZ2dlckZ1bmN0aW9uPzogTWF5YmU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckZ1bmN0aW9uPFM+Pik6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZTxTPiB7XG4gIHJldHVybiBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyPFM+KHtcbiAgICB3YXRjaGVyLFxuICAgIGRlc3Ryb3lXYXRjaGVyT25EZXN0cm95OiBmYWxzZSxcbiAgICB0cmlnZ2VyRnVuY3Rpb25cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VUcmlnZ2VyPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3Nvcjxhbnk+Pihjb25maWc6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZUNvbmZpZzxTPik6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVRyaWdnZXJJbnN0YW5jZTxTPiB7XG4gIHJldHVybiBuZXcgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlVHJpZ2dlckluc3RhbmNlKGNvbmZpZyk7XG59XG4iXX0=
@@ -1,37 +1,35 @@
1
1
  import { SubscriptionObject } from '@dereekb/rxjs';
2
2
  import { filter, take, map, BehaviorSubject, distinctUntilChanged, switchMap, startWith, shareReplay, combineLatest } from 'rxjs';
3
- /**
4
- * DbxFirebaseCollectionChangeWatcher instance
5
- */
6
- export class DbxFirebaseCollectionChangeWatcherInstance {
7
- constructor(store, _initialMode = 'off') {
8
- this.store = store;
9
- this._initialMode = _initialMode;
10
- this._mode = new BehaviorSubject(this._initialMode);
11
- this._sub = new SubscriptionObject();
12
- this.mode$ = this._mode.pipe(distinctUntilChanged());
13
- this.event$ = this.store.queryChangeWatcher$.pipe(switchMap((x) => x.event$.pipe(filter((x) => x.type !== 'none'), // do not share 'none' events.
14
- take(1), // only need one event to mark as change is available.
15
- startWith({
16
- time: new Date(),
17
- type: 'none'
18
- }))), shareReplay(1));
19
- this.hasChangeAvailable$ = this.event$.pipe(map((x) => x.type !== 'none'), shareReplay(1));
20
- this.triggered$ = combineLatest([this.mode$, this.hasChangeAvailable$]).pipe(map(([mode, hasChange]) => mode === 'auto' && hasChange));
21
- this.trigger$ = this.triggered$.pipe(filter((triggered) => triggered), map(() => undefined));
3
+ export function dbxFirebaseCollectionChangeWatcher(store, initialMode) {
4
+ const _mode = new BehaviorSubject(initialMode ?? 'off');
5
+ const _sub = new SubscriptionObject();
6
+ const mode$ = _mode.pipe(distinctUntilChanged());
7
+ const event$ = store.queryChangeWatcher$.pipe(switchMap((x) => x.event$.pipe(filter((x) => x.type !== 'none'), // do not share 'none' events.
8
+ take(1), // only need one event to mark as change is available.
9
+ startWith({
10
+ time: new Date(),
11
+ type: 'none'
12
+ }))), shareReplay(1));
13
+ const hasChangeAvailable$ = event$.pipe(map((x) => x.type !== 'none'), shareReplay(1));
14
+ const triggered$ = combineLatest([mode$, hasChangeAvailable$]).pipe(map(([mode, hasChange]) => mode === 'auto' && hasChange));
15
+ const trigger$ = triggered$.pipe(filter((triggered) => triggered), map(() => undefined));
16
+ function destroy() {
17
+ _sub.destroy();
18
+ _mode.complete();
22
19
  }
23
- destroy() {
24
- this._sub.destroy();
25
- this._mode.complete();
20
+ function setMode(mode) {
21
+ _mode.next(mode);
26
22
  }
27
- get mode() {
28
- return this._mode.value;
29
- }
30
- set mode(mode) {
31
- this._mode.next(mode);
32
- }
33
- }
34
- export function dbxFirebaseCollectionChangeWatcher(store, mode) {
35
- return new DbxFirebaseCollectionChangeWatcherInstance(store, mode);
23
+ const instance = {
24
+ store,
25
+ mode$,
26
+ event$,
27
+ hasChangeAvailable$,
28
+ triggered$,
29
+ trigger$,
30
+ destroy,
31
+ setMode
32
+ };
33
+ return instance;
36
34
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5jaGFuZ2Uud2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL2xvYWRlci9jb2xsZWN0aW9uLmNoYW5nZS53YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFjLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQW9DOUk7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMENBQTBDO0lBZ0NyRCxZQUFxQixLQUFRLEVBQVUsZUFBOEQsS0FBSztRQUFyRixVQUFLLEdBQUwsS0FBSyxDQUFHO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXVEO1FBL0J6RixVQUFLLEdBQUcsSUFBSSxlQUFlLENBQWdELElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RixTQUFJLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRXhDLFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFFaEQsV0FBTSxHQUF3RCxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDeEcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDZCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDWCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsOEJBQThCO1FBQ2hFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxzREFBc0Q7UUFDL0QsU0FBUyxDQUFDO1lBQ1IsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLElBQUksRUFBRSxNQUFrRDtTQUN6RCxDQUFDLENBQ0gsQ0FDRixFQUNELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sd0JBQW1CLEdBQXdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNsRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQzdCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sZUFBVSxHQUF3QixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdkosYUFBUSxHQUFxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDeEQsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDaEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO0lBRTJHLENBQUM7SUFFOUcsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBbUQ7UUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGtDQUFrQyxDQUFxRCxLQUFRLEVBQUUsSUFBb0Q7SUFDbkssT0FBTyxJQUFJLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlcmF0aW9uUXVlcnlEb2NDaGFuZ2VXYXRjaGVyQ2hhbmdlVHlwZSwgSXRlcmF0aW9uUXVlcnlEb2NDaGFuZ2VXYXRjaGVyRXZlbnQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UsIG1hcCwgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCBzdGFydFdpdGgsIHNoYXJlUmVwbGF5LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3NvciB9IGZyb20gJy4vY29sbGVjdGlvbi5sb2FkZXInO1xuXG4vKipcbiAqIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXIgdHJpZ2dlciBtb2Rlc1xuICogLSBhdXRvOiB3aWxsIGF1dG9tYXRpY2FsbHkgY2FsbCB0cmlnZ2VyXG4gKiAtIG9mZjogd2lsbCBuZXZlciBjYWxsIHRyaWdnZXJcbiAqL1xuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlclRyaWdnZXJNb2RlID0gJ2F1dG8nIHwgJ29mZic7XG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyRXZlbnQgPSBQaWNrPEl0ZXJhdGlvblF1ZXJ5RG9jQ2hhbmdlV2F0Y2hlckV2ZW50PHVua25vd24+LCAndGltZScgfCAndHlwZSc+O1xuXG4vKipcbiAqIFVzZWQgdG8gd2F0Y2ggYSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3NvciBmb3Igd2hlbiB0aGUgcXVlcnkgY2hhbmdlcyBhbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3Nvcjxhbnk+PiB7XG4gIHJlYWRvbmx5IHN0b3JlOiBTO1xuICAvKipcbiAgICogQ3VycmVudCBtb2RlXG4gICAqL1xuICByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyVHJpZ2dlck1vZGU+O1xuICAvKipcbiAgICogU3RyZWFtIG9mIGV2ZW50c1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnQkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJFdmVudD47XG4gIHJlYWRvbmx5IGhhc0NoYW5nZUF2YWlsYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBDdXJyZW50IHRyaWdnZXIgc3RhdGUuIEJhc2VkIG9uIHRoZSBoYXNDaGFuZ2VBdmFpbGFibGUkIHN0YXRlIGFuZCBjdXJyZW50IG1vZGUuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogVHJpZ2dlciBlbWl0dGVyLiBPbmx5IGVtaXRzIHdoZW4gdHJpZ2dlcmVkJCBpcy9iZWNvbWVzIHRydWUuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyJDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgbW9kZTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlclRyaWdnZXJNb2RlO1xufVxuXG4vKipcbiAqIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXIgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJJbnN0YW5jZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4gaW1wbGVtZW50cyBEZXN0cm95YWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJUcmlnZ2VyTW9kZT4odGhpcy5faW5pdGlhbE1vZGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgbW9kZSQgPSB0aGlzLl9tb2RlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgcmVhZG9ubHkgZXZlbnQkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJFdmVudD4gPSB0aGlzLnN0b3JlLnF1ZXJ5Q2hhbmdlV2F0Y2hlciQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+XG4gICAgICB4LmV2ZW50JC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IHgudHlwZSAhPT0gJ25vbmUnKSwgLy8gZG8gbm90IHNoYXJlICdub25lJyBldmVudHMuXG4gICAgICAgIHRha2UoMSksIC8vIG9ubHkgbmVlZCBvbmUgZXZlbnQgdG8gbWFyayBhcyBjaGFuZ2UgaXMgYXZhaWxhYmxlLlxuICAgICAgICBzdGFydFdpdGgoe1xuICAgICAgICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgdHlwZTogJ25vbmUnIGFzIEl0ZXJhdGlvblF1ZXJ5RG9jQ2hhbmdlV2F0Y2hlckNoYW5nZVR5cGVcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGFzQ2hhbmdlQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZXZlbnQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnR5cGUgIT09ICdub25lJyksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSB0cmlnZ2VyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5tb2RlJCwgdGhpcy5oYXNDaGFuZ2VBdmFpbGFibGUkXSkucGlwZShtYXAoKFttb2RlLCBoYXNDaGFuZ2VdKSA9PiBtb2RlID09PSAnYXV0bycgJiYgaGFzQ2hhbmdlKSk7XG5cbiAgcmVhZG9ubHkgdHJpZ2dlciQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLnRyaWdnZXJlZCQucGlwZShcbiAgICBmaWx0ZXIoKHRyaWdnZXJlZCkgPT4gdHJpZ2dlcmVkKSxcbiAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHN0b3JlOiBTLCBwcml2YXRlIF9pbml0aWFsTW9kZTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlclRyaWdnZXJNb2RlID0gJ29mZicpIHt9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX21vZGUuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBtb2RlKCk6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJUcmlnZ2VyTW9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGUudmFsdWU7XG4gIH1cblxuICBzZXQgbW9kZShtb2RlOiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyVHJpZ2dlck1vZGUpIHtcbiAgICB0aGlzLl9tb2RlLm5leHQobW9kZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXI8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+KHN0b3JlOiBTLCBtb2RlPzogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlclRyaWdnZXJNb2RlKTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlckluc3RhbmNlPFM+IHtcbiAgcmV0dXJuIG5ldyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVySW5zdGFuY2Uoc3RvcmUsIG1vZGUpO1xufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5jaGFuZ2Uud2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL2xvYWRlci9jb2xsZWN0aW9uLmNoYW5nZS53YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFjLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTZDOUksTUFBTSxVQUFVLGtDQUFrQyxDQUFxRCxLQUFRLEVBQUUsV0FBMkQ7SUFDMUssTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQWdELFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUN2RyxNQUFNLElBQUksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFdEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFFakQsTUFBTSxNQUFNLEdBQXdELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLDhCQUE4QjtJQUNoRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0RBQXNEO0lBQy9ELFNBQVMsQ0FBQztRQUNSLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNoQixJQUFJLEVBQUUsTUFBa0Q7S0FDekQsQ0FBQyxDQUNILENBQ0YsRUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVGLE1BQU0sbUJBQW1CLEdBQXdCLE1BQU0sQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsRUFDN0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBd0IsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQztJQUVuSixNQUFNLFFBQVEsR0FBcUIsVUFBVSxDQUFDLElBQUksQ0FDaEQsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDaEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO0lBRUYsU0FBUyxPQUFPO1FBQ2QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLE9BQU8sQ0FBQyxJQUFtRDtRQUNsRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBa0Q7UUFDOUQsS0FBSztRQUNMLEtBQUs7UUFDTCxNQUFNO1FBQ04sbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixRQUFRO1FBQ1IsT0FBTztRQUNQLE9BQU87S0FDUixDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEl0ZXJhdGlvblF1ZXJ5RG9jQ2hhbmdlV2F0Y2hlckNoYW5nZVR5cGUsIEl0ZXJhdGlvblF1ZXJ5RG9jQ2hhbmdlV2F0Y2hlckV2ZW50IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCBtYXAsIEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBzaGFyZVJlcGxheSwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3IgfSBmcm9tICcuL2NvbGxlY3Rpb24ubG9hZGVyJztcblxuLyoqXG4gKiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyIHRyaWdnZXIgbW9kZXNcbiAqIC0gYXV0bzogd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGwgdHJpZ2dlclxuICogLSBvZmY6IHdpbGwgbmV2ZXIgY2FsbCB0cmlnZ2VyXG4gKi9cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJUcmlnZ2VyTW9kZSA9ICdhdXRvJyB8ICdvZmYnO1xuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlckV2ZW50ID0gUGljazxJdGVyYXRpb25RdWVyeURvY0NoYW5nZVdhdGNoZXJFdmVudDx1bmtub3duPiwgJ3RpbWUnIHwgJ3R5cGUnPjtcblxuLyoqXG4gKiBVc2VkIHRvIHdhdGNoIGEgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3IgZm9yIHdoZW4gdGhlIHF1ZXJ5IGNoYW5nZXMgYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4ge1xuICByZWFkb25seSBzdG9yZTogUztcbiAgLyoqXG4gICAqIEN1cnJlbnQgbW9kZSBvYnNlcnZhYmxlXG4gICAqL1xuICByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyVHJpZ2dlck1vZGU+O1xuICAvKipcbiAgICogU3RyZWFtIG9mIGV2ZW50c1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnQkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJFdmVudD47XG4gIHJlYWRvbmx5IGhhc0NoYW5nZUF2YWlsYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBDdXJyZW50IHRyaWdnZXIgc3RhdGUuIEJhc2VkIG9uIHRoZSBoYXNDaGFuZ2VBdmFpbGFibGUkIHN0YXRlIGFuZCBjdXJyZW50IG1vZGUuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogVHJpZ2dlciBlbWl0dGVyLiBPbmx5IGVtaXRzIHdoZW4gdHJpZ2dlcmVkJCBpcy9iZWNvbWVzIHRydWUuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyJDogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyIGluc3RhbmNlIHRoYXQgY2FuIGJlIGRlc3Ryb3llZCBhbmQgdGhlIG1vZGUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVySW5zdGFuY2U8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckFjY2Vzc29yPGFueT4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTPiwgRGVzdHJveWFibGUge1xuICAvKipcbiAgICogQ2hhbmdlcyB0aGUgbW9kZVxuICAgKi9cbiAgc2V0TW9kZShtb2RlOiBEYnhGaXJlYmFzZUNvbGxlY3Rpb25DaGFuZ2VXYXRjaGVyVHJpZ2dlck1vZGUpOiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlcjxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3I8YW55Pj4oc3RvcmU6IFMsIGluaXRpYWxNb2RlPzogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlclRyaWdnZXJNb2RlKTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlckluc3RhbmNlPFM+IHtcbiAgY29uc3QgX21vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJUcmlnZ2VyTW9kZT4oaW5pdGlhbE1vZGUgPz8gJ29mZicpO1xuICBjb25zdCBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0IG1vZGUkID0gX21vZGUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICBjb25zdCBldmVudCQ6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlckV2ZW50PiA9IHN0b3JlLnF1ZXJ5Q2hhbmdlV2F0Y2hlciQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+XG4gICAgICB4LmV2ZW50JC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IHgudHlwZSAhPT0gJ25vbmUnKSwgLy8gZG8gbm90IHNoYXJlICdub25lJyBldmVudHMuXG4gICAgICAgIHRha2UoMSksIC8vIG9ubHkgbmVlZCBvbmUgZXZlbnQgdG8gbWFyayBhcyBjaGFuZ2UgaXMgYXZhaWxhYmxlLlxuICAgICAgICBzdGFydFdpdGgoe1xuICAgICAgICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgdHlwZTogJ25vbmUnIGFzIEl0ZXJhdGlvblF1ZXJ5RG9jQ2hhbmdlV2F0Y2hlckNoYW5nZVR5cGVcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3QgaGFzQ2hhbmdlQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGV2ZW50JC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC50eXBlICE9PSAnbm9uZScpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3QgdHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGNvbWJpbmVMYXRlc3QoW21vZGUkLCBoYXNDaGFuZ2VBdmFpbGFibGUkXSkucGlwZShtYXAoKFttb2RlLCBoYXNDaGFuZ2VdKSA9PiBtb2RlID09PSAnYXV0bycgJiYgaGFzQ2hhbmdlKSk7XG5cbiAgY29uc3QgdHJpZ2dlciQ6IE9ic2VydmFibGU8dm9pZD4gPSB0cmlnZ2VyZWQkLnBpcGUoXG4gICAgZmlsdGVyKCh0cmlnZ2VyZWQpID0+IHRyaWdnZXJlZCksXG4gICAgbWFwKCgpID0+IHVuZGVmaW5lZClcbiAgKTtcblxuICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgIF9zdWIuZGVzdHJveSgpO1xuICAgIF9tb2RlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBmdW5jdGlvbiBzZXRNb2RlKG1vZGU6IERieEZpcmViYXNlQ29sbGVjdGlvbkNoYW5nZVdhdGNoZXJUcmlnZ2VyTW9kZSkge1xuICAgIF9tb2RlLm5leHQobW9kZSk7XG4gIH1cblxuICBjb25zdCBpbnN0YW5jZTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlV2F0Y2hlckluc3RhbmNlPFM+ID0ge1xuICAgIHN0b3JlLFxuICAgIG1vZGUkLFxuICAgIGV2ZW50JCxcbiAgICBoYXNDaGFuZ2VBdmFpbGFibGUkLFxuICAgIHRyaWdnZXJlZCQsXG4gICAgdHJpZ2dlciQsXG4gICAgZGVzdHJveSxcbiAgICBzZXRNb2RlXG4gIH07XG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuIl19