@dereekb/dbx-firebase 5.0.0 → 5.2.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 (122) hide show
  1. package/_index.scss +4 -4
  2. package/esm2020/lib/auth/appcheck/appcheck.interceptor.mjs +80 -0
  3. package/esm2020/lib/auth/appcheck/appcheck.mjs +11 -0
  4. package/esm2020/lib/auth/appcheck/index.mjs +3 -0
  5. package/esm2020/lib/auth/auth.mjs +1 -1
  6. package/esm2020/lib/auth/error.mjs +1 -1
  7. package/esm2020/lib/auth/firebase.auth.module.mjs +1 -1
  8. package/esm2020/lib/auth/index.mjs +2 -1
  9. package/esm2020/lib/auth/login/firebase.login.module.mjs +49 -57
  10. package/esm2020/lib/auth/login/login.anonymous.component.mjs +3 -3
  11. package/esm2020/lib/auth/login/login.apple.component.mjs +3 -3
  12. package/esm2020/lib/auth/login/login.button.component.mjs +34 -36
  13. package/esm2020/lib/auth/login/login.component.mjs +3 -3
  14. package/esm2020/lib/auth/login/login.context.back.component.mjs +4 -4
  15. package/esm2020/lib/auth/login/login.context.directive.mjs +13 -9
  16. package/esm2020/lib/auth/login/login.context.mjs +2 -2
  17. package/esm2020/lib/auth/login/login.email.component.mjs +4 -4
  18. package/esm2020/lib/auth/login/login.email.content.component.mjs +4 -4
  19. package/esm2020/lib/auth/login/login.email.form.component.mjs +11 -7
  20. package/esm2020/lib/auth/login/login.email.recovery.form.component.mjs +9 -5
  21. package/esm2020/lib/auth/login/login.facebook.component.mjs +3 -3
  22. package/esm2020/lib/auth/login/login.github.component.mjs +3 -3
  23. package/esm2020/lib/auth/login/login.google.component.mjs +3 -3
  24. package/esm2020/lib/auth/login/login.list.component.mjs +11 -13
  25. package/esm2020/lib/auth/login/login.microsoft.component.mjs +3 -3
  26. package/esm2020/lib/auth/login/login.mjs +1 -1
  27. package/esm2020/lib/auth/login/login.password.mjs +1 -1
  28. package/esm2020/lib/auth/login/login.service.mjs +8 -8
  29. package/esm2020/lib/auth/login/login.terms.component.mjs +10 -6
  30. package/esm2020/lib/auth/login/login.terms.mjs +1 -1
  31. package/esm2020/lib/auth/login/login.terms.simple.component.mjs +12 -12
  32. package/esm2020/lib/auth/login/login.twitter.component.mjs +3 -3
  33. package/esm2020/lib/auth/login/register.component.mjs +8 -4
  34. package/esm2020/lib/auth/login/register.email.component.mjs +4 -4
  35. package/esm2020/lib/auth/service/firebase.auth.rxjs.mjs +3 -3
  36. package/esm2020/lib/auth/service/firebase.auth.service.mjs +12 -12
  37. package/esm2020/lib/firebase/appcheck.mjs +2 -0
  38. package/esm2020/lib/firebase/emulators.mjs +1 -1
  39. package/esm2020/lib/firebase/firebase.emulator.module.mjs +6 -4
  40. package/esm2020/lib/firebase/firebase.module.mjs +106 -13
  41. package/esm2020/lib/firebase/index.mjs +2 -1
  42. package/esm2020/lib/firebase/options.mjs +3 -2
  43. package/esm2020/lib/firestore/firebase.firestore.context.service.mjs +1 -1
  44. package/esm2020/lib/firestore/firebase.firestore.module.mjs +11 -8
  45. package/esm2020/lib/function/firebase.function.module.mjs +8 -6
  46. package/esm2020/lib/model/error.mjs +2 -2
  47. package/esm2020/lib/model/loader/collection.loader.instance.mjs +9 -10
  48. package/esm2020/lib/model/loader/collection.loader.mjs +1 -1
  49. package/esm2020/lib/model/model.module.mjs +4 -6
  50. package/esm2020/lib/model/store/index.mjs +2 -1
  51. package/esm2020/lib/model/store/model.store.module.mjs +10 -30
  52. package/esm2020/lib/model/store/store.collection.change.directive.mjs +6 -4
  53. package/esm2020/lib/model/store/store.collection.change.if.directive.mjs +1 -1
  54. package/esm2020/lib/model/store/store.collection.directive.mjs +5 -3
  55. package/esm2020/lib/model/store/store.collection.list.directive.mjs +2 -2
  56. package/esm2020/lib/model/store/store.collection.mjs +8 -8
  57. package/esm2020/lib/model/store/store.document.auth.directive.mjs +4 -4
  58. package/esm2020/lib/model/store/store.document.directive.mjs +5 -3
  59. package/esm2020/lib/model/store/store.document.mjs +12 -12
  60. package/esm2020/lib/model/store/store.document.router.directive.mjs +1 -1
  61. package/esm2020/lib/model/store/store.subcollection.directive.mjs +30 -0
  62. package/esm2020/lib/model/store/store.subcollection.document.mjs +23 -6
  63. package/esm2020/lib/model/store/store.subcollection.mjs +53 -11
  64. package/esm2020/lib/model/store/store.subcollection.rxjs.mjs +4 -23
  65. package/esm2020/lib/module.mjs +4 -6
  66. package/fesm2015/dereekb-dbx-firebase.mjs +509 -263
  67. package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
  68. package/fesm2020/dereekb-dbx-firebase.mjs +501 -263
  69. package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
  70. package/lib/auth/appcheck/appcheck.d.ts +8 -0
  71. package/lib/auth/appcheck/appcheck.interceptor.d.ts +19 -0
  72. package/lib/auth/appcheck/index.d.ts +2 -0
  73. package/lib/auth/auth.d.ts +1 -1
  74. package/lib/auth/error.d.ts +1 -1
  75. package/lib/auth/index.d.ts +1 -0
  76. package/lib/auth/login/_login.scss +5 -5
  77. package/lib/auth/login/login.anonymous.component.d.ts +1 -1
  78. package/lib/auth/login/login.apple.component.d.ts +1 -1
  79. package/lib/auth/login/login.button.component.d.ts +5 -5
  80. package/lib/auth/login/login.context.back.component.d.ts +1 -1
  81. package/lib/auth/login/login.context.d.ts +1 -1
  82. package/lib/auth/login/login.context.directive.d.ts +2 -2
  83. package/lib/auth/login/login.email.component.d.ts +1 -1
  84. package/lib/auth/login/login.email.content.component.d.ts +2 -2
  85. package/lib/auth/login/login.email.form.component.d.ts +6 -6
  86. package/lib/auth/login/login.email.recovery.form.component.d.ts +2 -2
  87. package/lib/auth/login/login.facebook.component.d.ts +1 -1
  88. package/lib/auth/login/login.github.component.d.ts +1 -1
  89. package/lib/auth/login/login.google.component.d.ts +1 -1
  90. package/lib/auth/login/login.list.component.d.ts +1 -1
  91. package/lib/auth/login/login.microsoft.component.d.ts +1 -1
  92. package/lib/auth/login/login.password.d.ts +1 -1
  93. package/lib/auth/login/login.service.d.ts +4 -4
  94. package/lib/auth/login/login.terms.component.d.ts +1 -1
  95. package/lib/auth/login/login.twitter.component.d.ts +1 -1
  96. package/lib/auth/login/register.email.component.d.ts +1 -1
  97. package/lib/auth/service/firebase.auth.rxjs.d.ts +1 -1
  98. package/lib/auth/service/firebase.auth.service.d.ts +3 -3
  99. package/lib/firebase/appcheck.d.ts +21 -0
  100. package/lib/firebase/firebase.module.d.ts +20 -10
  101. package/lib/firebase/index.d.ts +1 -0
  102. package/lib/firebase/options.d.ts +10 -3
  103. package/lib/firestore/firebase.firestore.module.d.ts +3 -3
  104. package/lib/function/firebase.function.module.d.ts +4 -4
  105. package/lib/model/loader/collection.loader.d.ts +4 -4
  106. package/lib/model/loader/collection.loader.instance.d.ts +8 -8
  107. package/lib/model/store/index.d.ts +1 -0
  108. package/lib/model/store/store.collection.change.directive.d.ts +2 -2
  109. package/lib/model/store/store.collection.d.ts +7 -7
  110. package/lib/model/store/store.collection.directive.d.ts +3 -3
  111. package/lib/model/store/store.document.auth.directive.d.ts +4 -4
  112. package/lib/model/store/store.document.directive.d.ts +2 -2
  113. package/lib/model/store/store.subcollection.d.ts +29 -9
  114. package/lib/model/store/store.subcollection.directive.d.ts +23 -0
  115. package/lib/model/store/store.subcollection.document.d.ts +9 -8
  116. package/lib/model/store/store.subcollection.rxjs.d.ts +12 -11
  117. package/lib/style/_config.scss +8 -6
  118. package/lib/style/_core.scss +1 -1
  119. package/lib/style/_mixin.scss +1 -1
  120. package/lib/style/_theming.scss +2 -12
  121. package/lib/style/_variables.scss +1 -1
  122. package/package.json +8 -7
@@ -1,8 +1,8 @@
1
1
  import { filterMaybe, isNot } from '@dereekb/rxjs';
2
- import { Injectable, Optional } from "@angular/core";
3
- import { loggedOutObsFromIsLoggedIn, loggedInObsFromIsLoggedIn, authUserIdentifier } from "@dereekb/dbx-core";
2
+ import { Injectable, Optional } from '@angular/core';
3
+ import { loggedOutObsFromIsLoggedIn, loggedInObsFromIsLoggedIn, authUserIdentifier } from '@dereekb/dbx-core';
4
4
  import { Auth, authState, GoogleAuthProvider, signInWithPopup, signInAnonymously, signInWithEmailAndPassword, FacebookAuthProvider, GithubAuthProvider, TwitterAuthProvider, createUserWithEmailAndPassword } from '@angular/fire/auth';
5
- import { timeout, startWith, distinctUntilChanged, shareReplay, map, switchMap } from "rxjs";
5
+ import { timeout, startWith, distinctUntilChanged, shareReplay, map, switchMap } from 'rxjs';
6
6
  import { authUserStateFromFirebaseAuthService } from './firebase.auth.rxjs';
7
7
  import { authUserInfoFromAuthUser } from '../auth';
8
8
  import { sendPasswordResetEmail } from 'firebase/auth';
@@ -15,10 +15,10 @@ export const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE = {
15
15
  return authUserStateFromFirebaseAuthService(dbxFirebaseAuthService);
16
16
  },
17
17
  authRolesObs(dbxFirebaseAuthService) {
18
- return dbxFirebaseAuthService.authUserState$.pipe(map(x => x === 'user' ? new Set(['user']) : new Set()));
18
+ return dbxFirebaseAuthService.authUserState$.pipe(map((x) => (x === 'user' ? new Set(['user']) : new Set())));
19
19
  },
20
20
  isOnboarded(dbxFirebaseAuthService) {
21
- return dbxFirebaseAuthService.authUserState$.pipe(map(x => x === 'user'));
21
+ return dbxFirebaseAuthService.authUserState$.pipe(map((x) => x === 'user'));
22
22
  }
23
23
  };
24
24
  export class DbxFirebaseAuthService {
@@ -29,19 +29,19 @@ export class DbxFirebaseAuthService {
29
29
  first: 1000,
30
30
  with: () => this._authState$.pipe(startWith(null))
31
31
  }), distinctUntilChanged(), shareReplay(1));
32
- this.currentAuthUserInfo$ = this.currentAuthUser$.pipe(map((x) => (x) ? authUserInfoFromAuthUser(x) : undefined));
32
+ this.currentAuthUserInfo$ = this.currentAuthUser$.pipe(map((x) => (x ? authUserInfoFromAuthUser(x) : undefined)));
33
33
  this.authUser$ = this.currentAuthUser$.pipe(filterMaybe());
34
34
  this.authUserInfo$ = this.authUser$.pipe(map(authUserInfoFromAuthUser));
35
- this.hasAuthUser$ = this.currentAuthUser$.pipe(map(x => Boolean(x)), distinctUntilChanged(), shareReplay(1));
36
- this.isAnonymousUser$ = this.authUser$.pipe(map(x => x.isAnonymous), distinctUntilChanged(), shareReplay(1));
35
+ this.hasAuthUser$ = this.currentAuthUser$.pipe(map((x) => Boolean(x)), distinctUntilChanged(), shareReplay(1));
36
+ this.isAnonymousUser$ = this.authUser$.pipe(map((x) => x.isAnonymous), distinctUntilChanged(), shareReplay(1));
37
37
  this.isNotAnonymousUser$ = this.isAnonymousUser$.pipe(isNot());
38
38
  this.isLoggedIn$ = this.hasAuthUser$;
39
39
  this.isNotLoggedIn$ = this.isLoggedIn$.pipe(isNot());
40
40
  this.onLogIn$ = loggedInObsFromIsLoggedIn(this.isLoggedIn$);
41
41
  this.onLogOut$ = loggedOutObsFromIsLoggedIn(this.isLoggedIn$);
42
- this.userIdentifier$ = this.currentAuthUser$.pipe(map(x => authUserIdentifier(x?.uid)));
43
- this.idTokenResult$ = this.authUser$.pipe(switchMap(x => x.getIdTokenResult()));
44
- this.claims$ = this.idTokenResult$.pipe(map(x => x.claims));
42
+ this.userIdentifier$ = this.currentAuthUser$.pipe(map((x) => authUserIdentifier(x?.uid)));
43
+ this.idTokenResult$ = this.authUser$.pipe(switchMap((x) => x.getIdTokenResult()));
44
+ this.claims$ = this.idTokenResult$.pipe(map((x) => x.claims));
45
45
  delegate = delegate ?? DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE;
46
46
  this.authUserState$ = delegate.authUserStateObs(this).pipe(distinctUntilChanged(), shareReplay(1));
47
47
  this.authRoles$ = delegate.authRolesObs(this);
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
96
96
  }], ctorParameters: function () { return [{ type: i1.Auth }, { type: DbxFirebaseAuthServiceDelegate, decorators: [{
97
97
  type: Optional
98
98
  }] }]; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFvQyxrQkFBa0IsRUFBRSxlQUFlLEVBQXVDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFrQixvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ULE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBZ0Isd0JBQXdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkQsTUFBTSxPQUFnQiw4QkFBOEI7Q0FJbkQ7QUFFRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBbUM7SUFDeEYsZ0JBQWdCLENBQUMsc0JBQThDO1FBQzdELE9BQU8sb0NBQW9DLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsWUFBWSxDQUFDLHNCQUE4QztR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MUIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLG9EQUFvRDtJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXNCLEVBQUUsUUFBZ0M7UUFDckUsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELDRCQUE0QixDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUMxRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQ3ZELE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7O21IQXJHVSxzQkFBc0Isc0NBeUNULDhCQUE4Qjt1SEF6QzNDLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzZFQTBDZSw4QkFBOEI7MEJBQW5ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSwgaXNOb3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhVc2VyU3RhdGUsIERieEF1dGhTZXJ2aWNlLCBsb2dnZWRPdXRPYnNGcm9tSXNMb2dnZWRJbiwgbG9nZ2VkSW5PYnNGcm9tSXNMb2dnZWRJbiwgQXV0aFVzZXJJZGVudGlmaWVyLCBhdXRoVXNlcklkZW50aWZpZXIgfSBmcm9tIFwiQGRlcmVla2IvZGJ4LWNvcmVcIjtcbmltcG9ydCB7IEF1dGgsIGF1dGhTdGF0ZSwgVXNlciwgSWRUb2tlblJlc3VsdCwgUGFyc2VkVG9rZW4sIEdvb2dsZUF1dGhQcm92aWRlciwgc2lnbkluV2l0aFBvcHVwLCBBdXRoUHJvdmlkZXIsIFBvcHVwUmVkaXJlY3RSZXNvbHZlciwgc2lnbkluQW5vbnltb3VzbHksIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLCBVc2VyQ3JlZGVudGlhbCwgRmFjZWJvb2tBdXRoUHJvdmlkZXIsIEdpdGh1YkF1dGhQcm92aWRlciwgVHdpdHRlckF1dGhQcm92aWRlciwgY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRpbWVvdXQsIHN0YXJ0V2l0aCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBdXRoUm9sZVNldCwgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9maXJlYmFzZS5hdXRoLnJ4anMnO1xuaW1wb3J0IHsgQXV0aFVzZXJJbmZvLCBhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7IHNlbmRQYXNzd29yZFJlc2V0RW1haWwgfSBmcm9tICdmaXJlYmFzZS9hdXRoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSB7XG4gIGFic3RyYWN0IGF1dGhVc2VyU3RhdGVPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT47XG4gIGFic3RyYWN0IGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD47XG4gIGFic3RyYWN0IGlzT25ib2FyZGVkKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUgPSB7XG4gIGF1dGhVc2VyU3RhdGVPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT4ge1xuICAgIHJldHVybiBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2UoZGJ4RmlyZWJhc2VBdXRoU2VydmljZSk7XG4gIH0sXG4gIGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKHggPT4geCA9PT0gJ3VzZXInID8gbmV3IFNldChbJ3VzZXInXSkgOiBuZXcgU2V0KCkpKTtcbiAgfSxcbiAgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKHggPT4geCA9PT0gJ3VzZXInKSk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBEYnhBdXRoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFN0YXRlJDogT2JzZXJ2YWJsZTxNYXliZTxVc2VyPj4gPSBhdXRoU3RhdGUodGhpcy5maXJlYmFzZUF1dGgpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoVXNlciQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKFxuICAgIHRpbWVvdXQoe1xuICAgICAgZmlyc3Q6IDEwMDAsXG4gICAgICB3aXRoOiAoKSA9PiB0aGlzLl9hdXRoU3RhdGUkLnBpcGUoc3RhcnRXaXRoKG51bGwpKVxuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aFVzZXJJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxBdXRoVXNlckluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCgoeCkgPT4gKHgpID8gYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyKHgpIDogdW5kZWZpbmVkKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXIkOiBPYnNlcnZhYmxlPFVzZXI+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IGF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8QXV0aFVzZXJJbmZvPiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUobWFwKGF1dGhVc2VySW5mb0Zyb21BdXRoVXNlcikpO1xuXG4gIHJlYWRvbmx5IGhhc0F1dGhVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCh4ID0+IEJvb2xlYW4oeCkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGlzQW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKG1hcCh4ID0+IHguaXNBbm9ueW1vdXMpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGlzTm90QW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmlzQW5vbnltb3VzVXNlciQucGlwZShpc05vdCgpKTtcblxuICByZWFkb25seSBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzQXV0aFVzZXIkO1xuXG4gIHJlYWRvbmx5IGlzTm90TG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0xvZ2dlZEluJC5waXBlKGlzTm90KCkpO1xuICByZWFkb25seSBvbkxvZ0luJDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4odGhpcy5pc0xvZ2dlZEluJCk7XG4gIHJlYWRvbmx5IG9uTG9nT3V0JDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuICByZWFkb25seSB1c2VySWRlbnRpZmllciQ6IE9ic2VydmFibGU8QXV0aFVzZXJJZGVudGlmaWVyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCh4ID0+IGF1dGhVc2VySWRlbnRpZmllcih4Py51aWQpKSk7XG5cbiAgcmVhZG9ubHkgaWRUb2tlblJlc3VsdCQ6IE9ic2VydmFibGU8SWRUb2tlblJlc3VsdD4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKFxuICAgIHN3aXRjaE1hcCh4ID0+IHguZ2V0SWRUb2tlblJlc3VsdCgpKVxuICApO1xuXG4gIHJlYWRvbmx5IGNsYWltcyQ6IE9ic2VydmFibGU8UGFyc2VkVG9rZW4+ID0gdGhpcy5pZFRva2VuUmVzdWx0JC5waXBlKG1hcCh4ID0+IHguY2xhaW1zKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXJTdGF0ZSQ6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT47XG4gIHJlYWRvbmx5IGF1dGhSb2xlcyQ6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+O1xuICByZWFkb25seSBpc09uYm9hcmRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgZmlyZWJhc2VBdXRoOiBBdXRoLFxuICAgIEBPcHRpb25hbCgpIGRlbGVnYXRlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGVcbiAgKSB7XG4gICAgZGVsZWdhdGUgPSBkZWxlZ2F0ZSA/PyBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEU7XG4gICAgdGhpcy5hdXRoVXNlclN0YXRlJCA9IGRlbGVnYXRlLmF1dGhVc2VyU3RhdGVPYnModGhpcykucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gICAgdGhpcy5hdXRoUm9sZXMkID0gZGVsZWdhdGUuYXV0aFJvbGVzT2JzKHRoaXMpO1xuICAgIHRoaXMuaXNPbmJvYXJkZWQkID0gZGVsZWdhdGUuaXNPbmJvYXJkZWQodGhpcyk7XG4gIH1cblxuICBsb2dJbldpdGhHb29nbGUoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBHb29nbGVBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhGYWNlYm9vaygpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEZhY2Vib29rQXV0aFByb3ZpZGVyKCkpO1xuICB9XG5cbiAgbG9nSW5XaXRoVHdpdHRlcigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IFR3aXR0ZXJBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhHaXRodWIoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBHaXRodWJBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhBcHBsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0b2RvJyk7XG4gIH1cblxuICBsb2dJbldpdGhNaWNyb3NvZnQoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIC8vIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBNaWNyb3NvZnRBdXRoUHJvdmlkZXIoKSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0b2RvJyk7XG4gIH1cblxuICBsb2dJbldpdGhQaG9uZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0b2RvJyk7XG4gICAgLy8gcmV0dXJuIHNpZ25JbldpdGhQaG9uZU51bWJlcih0aGlzLmZpcmViYXNlQXV0aCwgKVxuICB9XG5cbiAgbG9nSW5XaXRoUG9wdXAocHJvdmlkZXI6IEF1dGhQcm92aWRlciwgcmVzb2x2ZXI/OiBQb3B1cFJlZGlyZWN0UmVzb2x2ZXIpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHNpZ25JbldpdGhQb3B1cCh0aGlzLmZpcmViYXNlQXV0aCwgcHJvdmlkZXIsIHJlc29sdmVyKTtcbiAgfVxuXG4gIHJlZ2lzdGVyV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKHRoaXMuZmlyZWJhc2VBdXRoLCBlbWFpbCwgcGFzc3dvcmQpO1xuICB9XG5cbiAgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHNlbmRQYXNzd29yZFJlc2V0RW1haWwodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBsb2dJbkFzQW5vbnltb3VzKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluQW5vbnltb3VzbHkodGhpcy5maXJlYmFzZUF1dGgpO1xuICB9XG5cbiAgbG9nT3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmZpcmViYXNlQXV0aC5zaWduT3V0KCk7XG4gIH1cblxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFvQyxrQkFBa0IsRUFBRSxlQUFlLEVBQXVDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFrQixvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ULE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBZ0Isd0JBQXdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkQsTUFBTSxPQUFnQiw4QkFBOEI7Q0FJbkQ7QUFFRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBbUM7SUFDeEYsZ0JBQWdCLENBQUMsc0JBQThDO1FBQzdELE9BQU8sb0NBQW9DLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsWUFBWSxDQUFDLHNCQUE4QztR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REFBMkQ7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsb0RBQW9EO0lBQ3RELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBc0IsRUFBRSxRQUFnQztRQUNyRSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQzFELE9BQU8sOEJBQThCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWE7UUFDbEMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0I7UUFDdkQsT0FBTywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQzs7bUhBdkdVLHNCQUFzQixzQ0E0QzhCLDhCQUE4Qjt1SEE1Q2xGLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzZFQTZDc0QsOEJBQThCOzBCQUFuRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyTWF5YmUsIGlzTm90IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFVzZXJTdGF0ZSwgRGJ4QXV0aFNlcnZpY2UsIGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluLCBsb2dnZWRJbk9ic0Zyb21Jc0xvZ2dlZEluLCBBdXRoVXNlcklkZW50aWZpZXIsIGF1dGhVc2VySWRlbnRpZmllciB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEF1dGgsIGF1dGhTdGF0ZSwgVXNlciwgSWRUb2tlblJlc3VsdCwgUGFyc2VkVG9rZW4sIEdvb2dsZUF1dGhQcm92aWRlciwgc2lnbkluV2l0aFBvcHVwLCBBdXRoUHJvdmlkZXIsIFBvcHVwUmVkaXJlY3RSZXNvbHZlciwgc2lnbkluQW5vbnltb3VzbHksIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLCBVc2VyQ3JlZGVudGlhbCwgRmFjZWJvb2tBdXRoUHJvdmlkZXIsIEdpdGh1YkF1dGhQcm92aWRlciwgVHdpdHRlckF1dGhQcm92aWRlciwgY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRpbWVvdXQsIHN0YXJ0V2l0aCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFJvbGVTZXQsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2UgfSBmcm9tICcuL2ZpcmViYXNlLmF1dGgucnhqcyc7XG5pbXBvcnQgeyBBdXRoVXNlckluZm8sIGF1dGhVc2VySW5mb0Zyb21BdXRoVXNlciB9IGZyb20gJy4uL2F1dGgnO1xuaW1wb3J0IHsgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCB9IGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlIHtcbiAgYWJzdHJhY3QgYXV0aFVzZXJTdGF0ZU9icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPjtcbiAgYWJzdHJhY3QgYXV0aFJvbGVzT2JzKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PjtcbiAgYWJzdHJhY3QgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEU6IERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSA9IHtcbiAgYXV0aFVzZXJTdGF0ZU9icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPiB7XG4gICAgcmV0dXJuIGF1dGhVc2VyU3RhdGVGcm9tRmlyZWJhc2VBdXRoU2VydmljZShkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTtcbiAgfSxcbiAgYXV0aFJvbGVzT2JzKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiB7XG4gICAgcmV0dXJuIGRieEZpcmViYXNlQXV0aFNlcnZpY2UuYXV0aFVzZXJTdGF0ZSQucGlwZShtYXAoKHgpID0+ICh4ID09PSAndXNlcicgPyBuZXcgU2V0KFsndXNlciddKSA6IG5ldyBTZXQoKSkpKTtcbiAgfSxcbiAgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4ID09PSAndXNlcicpKTtcbiAgfVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBEYnhBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhTdGF0ZSQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gYXV0aFN0YXRlKHRoaXMuZmlyZWJhc2VBdXRoKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aFVzZXIkOiBPYnNlcnZhYmxlPE1heWJlPFVzZXI+PiA9IHRoaXMuX2F1dGhTdGF0ZSQucGlwZShcbiAgICB0aW1lb3V0KHtcbiAgICAgIGZpcnN0OiAxMDAwLFxuICAgICAgd2l0aDogKCkgPT4gdGhpcy5fYXV0aFN0YXRlJC5waXBlKHN0YXJ0V2l0aChudWxsKSlcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY3VycmVudEF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8QXV0aFVzZXJJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShtYXAoKHgpID0+ICh4ID8gYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyKHgpIDogdW5kZWZpbmVkKSkpO1xuXG4gIHJlYWRvbmx5IGF1dGhVc2VyJDogT2JzZXJ2YWJsZTxVc2VyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKGZpbHRlck1heWJlKCkpO1xuICByZWFkb25seSBhdXRoVXNlckluZm8kOiBPYnNlcnZhYmxlPEF1dGhVc2VySW5mbz4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKG1hcChhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIpKTtcblxuICByZWFkb25seSBoYXNBdXRoVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgaXNBbm9ueW1vdXNVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmlzQW5vbnltb3VzKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGlzTm90QW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmlzQW5vbnltb3VzVXNlciQucGlwZShpc05vdCgpKTtcblxuICByZWFkb25seSBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzQXV0aFVzZXIkO1xuXG4gIHJlYWRvbmx5IGlzTm90TG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0xvZ2dlZEluJC5waXBlKGlzTm90KCkpO1xuICByZWFkb25seSBvbkxvZ0luJDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4odGhpcy5pc0xvZ2dlZEluJCk7XG4gIHJlYWRvbmx5IG9uTG9nT3V0JDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuICByZWFkb25seSB1c2VySWRlbnRpZmllciQ6IE9ic2VydmFibGU8QXV0aFVzZXJJZGVudGlmaWVyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCgoeCkgPT4gYXV0aFVzZXJJZGVudGlmaWVyKHg/LnVpZCkpKTtcblxuICByZWFkb25seSBpZFRva2VuUmVzdWx0JDogT2JzZXJ2YWJsZTxJZFRva2VuUmVzdWx0PiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmdldElkVG9rZW5SZXN1bHQoKSkpO1xuXG4gIHJlYWRvbmx5IGNsYWltcyQ6IE9ic2VydmFibGU8UGFyc2VkVG9rZW4+ID0gdGhpcy5pZFRva2VuUmVzdWx0JC5waXBlKG1hcCgoeCkgPT4geC5jbGFpbXMpKTtcblxuICByZWFkb25seSBhdXRoVXNlclN0YXRlJDogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPjtcbiAgcmVhZG9ubHkgYXV0aFJvbGVzJDogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD47XG4gIHJlYWRvbmx5IGlzT25ib2FyZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlYmFzZUF1dGg6IEF1dGgsIEBPcHRpb25hbCgpIGRlbGVnYXRlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUpIHtcbiAgICBkZWxlZ2F0ZSA9IGRlbGVnYXRlID8/IERFRkFVTFRfREJYX0ZJUkVCQVNFX0FVVEhfU0VSVklDRV9ERUxFR0FURTtcbiAgICB0aGlzLmF1dGhVc2VyU3RhdGUkID0gZGVsZWdhdGUuYXV0aFVzZXJTdGF0ZU9icyh0aGlzKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgICB0aGlzLmF1dGhSb2xlcyQgPSBkZWxlZ2F0ZS5hdXRoUm9sZXNPYnModGhpcyk7XG4gICAgdGhpcy5pc09uYm9hcmRlZCQgPSBkZWxlZ2F0ZS5pc09uYm9hcmRlZCh0aGlzKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEdvb2dsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdvb2dsZUF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEZhY2Vib29rKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgRmFjZWJvb2tBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhUd2l0dGVyKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgVHdpdHRlckF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEdpdGh1YigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdpdGh1YkF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEFwcGxlKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aE1pY3Jvc29mdCgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgLy8gcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IE1pY3Jvc29mdEF1dGhQcm92aWRlcigpKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aFBob25lKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgICAvLyByZXR1cm4gc2lnbkluV2l0aFBob25lTnVtYmVyKHRoaXMuZmlyZWJhc2VBdXRoLCApXG4gIH1cblxuICBsb2dJbldpdGhQb3B1cChwcm92aWRlcjogQXV0aFByb3ZpZGVyLCByZXNvbHZlcj86IFBvcHVwUmVkaXJlY3RSZXNvbHZlcik6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aFBvcHVwKHRoaXMuZmlyZWJhc2VBdXRoLCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICB9XG5cbiAgcmVnaXN0ZXJXaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBzZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwpO1xuICB9XG5cbiAgbG9nSW5XaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIGxvZ0luQXNBbm9ueW1vdXMoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5Bbm9ueW1vdXNseSh0aGlzLmZpcmViYXNlQXV0aCk7XG4gIH1cblxuICBsb2dPdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25PdXQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9hcHBjaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ2hlY2tPcHRpb25zIH0gZnJvbSAnQGZpcmViYXNlL2FwcC1jaGVjayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VBcHBDaGVja0NvbmZpZyBleHRlbmRzIFBhcnRpYWw8T21pdDxBcHBDaGVja09wdGlvbnMsICdwcm92aWRlcic+PiB7XG4gIHJlQ2FwdGNoYVYzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgQXBwQ2hlY2sgZGVidWcgdG9rZW5zLiBBcHBDaGVjayB0b2tlbnMgYXJlIG9ubHkgcHJpbnRlZCBpbnRvIHRoZSBjb25zb2xlLCBhbmQgbW9yZSBhY3Rpb25zIG11c3QgYmUgdGFrZW4uXG4gICAqIFNlZSBodHRwczovL2ZpcmViYXNlLmdvb2dsZS5jb20vZG9jcy9hcHAtY2hlY2svd2ViL2RlYnVnLXByb3ZpZGVyIGZvciBtb3JlIGluZm8uXG4gICAqXG4gICAqIERlYnVnIHRva2VucyBhcmUgb25seSBnZW5lcmF0ZWQgd2hlbiBlbXVsYXRvcnMgYXJlIGRpc2FibGVkLCBhbmQgYWxsb3dEZWJ1Z1Rva2VucyBpcyB0cnVlLlxuICAgKi9cbiAgYWxsb3dEZWJ1Z1Rva2Vucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBkaXNhYmxlcyBBcHBDaGVjayBpbml0aWFsaXphdGlvbiBmb3IgdGhpcyBhcHAuXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMaXN0IG9mIHJvdXRlcyB0aGF0IGFwcCBjaGVjayBpcyBhdXRob3JpemVkIHRvIGhpdC5cbiAgICpcbiAgICogSWYgbm90IGRlZmluZWQsIC9hcGkvKiBhbGxvd2VkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBhcHBDaGVja1JvdXRlcz86IHN0cmluZ1tdO1xufVxuIl19
@@ -1,3 +1,3 @@
1
1
  export class DbxFirebaseParsedEmulatorsConfig {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW11bGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZW11bGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDQSxNQUFNLE9BQWdCLGdDQUFnQztDQU9yRCIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnIHtcbiAgLyoqXG4gICAqIFBvcnQgdG8gdGFyZ2V0LlxuICAgKi9cbiAgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogRGVmYXVsdHMgdG8gbG9jYWxob3N0IGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIGhvc3Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIHRoZSBlbXVsYXRvcnMuXG4gICAqL1xuICB1c2VFbXVsYXRvcnM/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmYXVsdCBob3N0IHRvIHRhcmdldC4gRGVmYXVsdHMgdG8gbG9jYWxob3N0IGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIGhvc3Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBlbXVsYXRvciBVSSBjb25maWd1cmF0aW9uXG4gICAqL1xuICB1aT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBBdXRoIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGF1dGg/OiBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnO1xuICAvKipcbiAgICogRmlyZXN0b3JlIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGZpcmVzdG9yZT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlc3RvcmUgZW11bGF0b3IgY29uZmlndXJhdGlvblxuICAgKi9cbiAgc3RvcmFnZT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBGdW5jdGlvbnMgZW11bGF0b3IgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZnVuY3Rpb25zPzogRGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZztcbiAgLyoqXG4gICAqIERhdGFiYXNlIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGRhdGFiYXNlPzogRGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnIGltcGxlbWVudHMgRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWcge1xuICB1c2VFbXVsYXRvcnM/OiBib29sZWFuO1xuICBhdXRoPzogUmVxdWlyZWQ8RGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZz47XG4gIGZpcmVzdG9yZT86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xuICBzdG9yYWdlPzogUmVxdWlyZWQ8RGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZz47XG4gIGZ1bmN0aW9ucz86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xuICBkYXRhYmFzZT86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW11bGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZW11bGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThDQSxNQUFNLE9BQWdCLGdDQUFnQztDQU9yRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZyB7XG4gIC8qKlxuICAgKiBQb3J0IHRvIHRhcmdldC5cbiAgICovXG4gIHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIERlZmF1bHRzIHRvIGxvY2FsaG9zdCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICBob3N0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGVuYWJsZSB0aGUgZW11bGF0b3JzLlxuICAgKi9cbiAgdXNlRW11bGF0b3JzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmF1bHQgaG9zdCB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGxvY2FsaG9zdCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICBob3N0Pzogc3RyaW5nO1xuICAvKipcbiAgICogZW11bGF0b3IgVUkgY29uZmlndXJhdGlvblxuICAgKi9cbiAgdWk/OiBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnO1xuICAvKipcbiAgICogQXV0aCBlbXVsYXRvciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBhdXRoPzogRGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZztcbiAgLyoqXG4gICAqIEZpcmVzdG9yZSBlbXVsYXRvciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBmaXJlc3RvcmU/OiBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnO1xuICAvKipcbiAgICogRmlyZXN0b3JlIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHN0b3JhZ2U/OiBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnO1xuICAvKipcbiAgICogRnVuY3Rpb25zIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGZ1bmN0aW9ucz86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBEYXRhYmFzZSBlbXVsYXRvciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBkYXRhYmFzZT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyBpbXBsZW1lbnRzIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIHtcbiAgdXNlRW11bGF0b3JzPzogYm9vbGVhbjtcbiAgYXV0aD86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xuICBmaXJlc3RvcmU/OiBSZXF1aXJlZDxEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnPjtcbiAgc3RvcmFnZT86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xuICBmdW5jdGlvbnM/OiBSZXF1aXJlZDxEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnPjtcbiAgZGF0YWJhc2U/OiBSZXF1aXJlZDxEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnPjtcbn1cbiJdfQ==
@@ -8,7 +8,7 @@ export class DbxFirebaseEmulatorModule {
8
8
  static forRoot(config) {
9
9
  const defaultHost = config.host ?? 'localhost';
10
10
  function emulatorConfig(emulator) {
11
- return (emulator) ? { host: emulator.host ?? defaultHost, port: emulator.port } : undefined;
11
+ return emulator ? { host: emulator.host ?? defaultHost, port: emulator.port } : undefined;
12
12
  }
13
13
  const finalConfig = {
14
14
  useEmulators: config.useEmulators !== false,
@@ -20,10 +20,12 @@ export class DbxFirebaseEmulatorModule {
20
20
  };
21
21
  return {
22
22
  ngModule: DbxFirebaseEmulatorModule,
23
- providers: [{
23
+ providers: [
24
+ {
24
25
  provide: DbxFirebaseParsedEmulatorsConfig,
25
26
  useValue: finalConfig
26
- }]
27
+ }
28
+ ]
27
29
  };
28
30
  }
29
31
  }
@@ -33,4 +35,4 @@ DbxFirebaseEmulatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
33
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseEmulatorModule, decorators: [{
34
36
  type: NgModule
35
37
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBeUQsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3RIOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWtDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDO1FBRS9DLFNBQVMsY0FBYyxDQUFDLFFBQTBDO1lBQ2hFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzlGLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBcUM7WUFDcEQsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLEtBQUssS0FBSztZQUMzQyxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDakMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQzNDLE9BQU8sRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN2QyxTQUFTLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDM0MsUUFBUSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQzFDLENBQUM7UUFFRixPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsZ0NBQWdDO29CQUN6QyxRQUFRLEVBQUUsV0FBVztpQkFDdEIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDOztzSEF6QlUseUJBQXlCO3VIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JDb25maWcsIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnLCBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogVXNlZCB0byBjb25maWd1cmUgdGhlIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIHByb3ZpZGVyLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRW11bGF0b3JNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRW11bGF0b3JNb2R1bGU+IHtcbiAgICBjb25zdCBkZWZhdWx0SG9zdCA9IGNvbmZpZy5ob3N0ID8/ICdsb2NhbGhvc3QnO1xuXG4gICAgZnVuY3Rpb24gZW11bGF0b3JDb25maWcoZW11bGF0b3I6IE1heWJlPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+KTogUmVxdWlyZWQ8RGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZz4gfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIChlbXVsYXRvcikgPyB7IGhvc3Q6IGVtdWxhdG9yLmhvc3QgPz8gZGVmYXVsdEhvc3QsIHBvcnQ6IGVtdWxhdG9yLnBvcnQgfSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbENvbmZpZzogRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcgPSB7XG4gICAgICB1c2VFbXVsYXRvcnM6IGNvbmZpZy51c2VFbXVsYXRvcnMgIT09IGZhbHNlLFxuICAgICAgYXV0aDogZW11bGF0b3JDb25maWcoY29uZmlnLmF1dGgpLFxuICAgICAgZmlyZXN0b3JlOiBlbXVsYXRvckNvbmZpZyhjb25maWcuZmlyZXN0b3JlKSxcbiAgICAgIHN0b3JhZ2U6IGVtdWxhdG9yQ29uZmlnKGNvbmZpZy5zdG9yYWdlKSxcbiAgICAgIGZ1bmN0aW9uczogZW11bGF0b3JDb25maWcoY29uZmlnLmZ1bmN0aW9ucyksXG4gICAgICBkYXRhYmFzZTogZW11bGF0b3JDb25maWcoY29uZmlnLmRhdGFiYXNlKVxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRW11bGF0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLFxuICAgICAgICB1c2VWYWx1ZTogZmluYWxDb25maWdcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBeUQsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3RIOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWtDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDO1FBRS9DLFNBQVMsY0FBYyxDQUFDLFFBQTBDO1lBQ2hFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUYsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFxQztZQUNwRCxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksS0FBSyxLQUFLO1lBQzNDLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNqQyxTQUFTLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDM0MsT0FBTyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxRQUFRLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7U0FDMUMsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsZ0NBQWdDO29CQUN6QyxRQUFRLEVBQUUsV0FBVztpQkFDdEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztzSEExQlUseUJBQXlCO3VIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JDb25maWcsIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnLCBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogVXNlZCB0byBjb25maWd1cmUgdGhlIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIHByb3ZpZGVyLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRW11bGF0b3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZUVtdWxhdG9yTW9kdWxlPiB7XG4gICAgY29uc3QgZGVmYXVsdEhvc3QgPSBjb25maWcuaG9zdCA/PyAnbG9jYWxob3N0JztcblxuICAgIGZ1bmN0aW9uIGVtdWxhdG9yQ29uZmlnKGVtdWxhdG9yOiBNYXliZTxEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnPik6IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+IHwgdW5kZWZpbmVkIHtcbiAgICAgIHJldHVybiBlbXVsYXRvciA/IHsgaG9zdDogZW11bGF0b3IuaG9zdCA/PyBkZWZhdWx0SG9zdCwgcG9ydDogZW11bGF0b3IucG9ydCB9IDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFsQ29uZmlnOiBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyA9IHtcbiAgICAgIHVzZUVtdWxhdG9yczogY29uZmlnLnVzZUVtdWxhdG9ycyAhPT0gZmFsc2UsXG4gICAgICBhdXRoOiBlbXVsYXRvckNvbmZpZyhjb25maWcuYXV0aCksXG4gICAgICBmaXJlc3RvcmU6IGVtdWxhdG9yQ29uZmlnKGNvbmZpZy5maXJlc3RvcmUpLFxuICAgICAgc3RvcmFnZTogZW11bGF0b3JDb25maWcoY29uZmlnLnN0b3JhZ2UpLFxuICAgICAgZnVuY3Rpb25zOiBlbXVsYXRvckNvbmZpZyhjb25maWcuZnVuY3Rpb25zKSxcbiAgICAgIGRhdGFiYXNlOiBlbXVsYXRvckNvbmZpZyhjb25maWcuZGF0YWJhc2UpXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VFbXVsYXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsXG4gICAgICAgICAgdXNlVmFsdWU6IGZpbmFsQ29uZmlnXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,17 +1,24 @@
1
- import { NgModule, InjectionToken } from '@angular/core';
1
+ import { NgModule } from '@angular/core';
2
2
  import { initializeApp } from 'firebase/app';
3
+ import { initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
3
4
  import { FirebaseApp, provideFirebaseApp } from '@angular/fire/app';
4
5
  import { provideStorage, getStorage, connectStorageEmulator } from '@angular/fire/storage';
5
6
  import { provideFunctions, getFunctions, connectFunctionsEmulator } from '@angular/fire/functions';
6
7
  import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence } from '@angular/fire/firestore';
7
8
  import { provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
9
+ import { provideAppCheck } from '@angular/fire/app-check';
8
10
  import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
11
+ import { DBX_FIREBASE_OPTIONS_TOKEN } from './options';
12
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
13
+ import { enableAppCheckDebugTokenGeneration } from '../auth/appcheck';
14
+ import { DbxFirebaseAppCheckHttpInterceptor } from '../auth/appcheck/appcheck.interceptor';
9
15
  import * as i0 from "@angular/core";
10
16
  import * as i1 from "@angular/fire/firestore";
11
- import * as i2 from "@angular/fire/auth";
12
- import * as i3 from "@angular/fire/storage";
13
- import * as i4 from "@angular/fire/functions";
14
- import * as i5 from "@angular/fire/app";
17
+ import * as i2 from "@angular/fire/app-check";
18
+ import * as i3 from "@angular/fire/auth";
19
+ import * as i4 from "@angular/fire/storage";
20
+ import * as i5 from "@angular/fire/functions";
21
+ import * as i6 from "@angular/fire/app";
15
22
  // TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
16
23
  /**
17
24
  * Default firebase firestore provider module.
@@ -49,13 +56,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
49
56
  ]
50
57
  }]
51
58
  }] });
59
+ /**
60
+ * Default firebase app check provider module.
61
+ *
62
+ * Also configures the DbxFirebaseAppCheckHttpInterceptor with HTTP_INTERCEPTORS in order for appCheck to be appended to requests to the api.
63
+ */
64
+ export class DbxFirebaseDefaultAppCheckProviderModule {
65
+ }
66
+ DbxFirebaseDefaultAppCheckProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
67
+ DbxFirebaseDefaultAppCheckProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i2.AppCheckModule] });
68
+ DbxFirebaseDefaultAppCheckProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
69
+ {
70
+ provide: HTTP_INTERCEPTORS,
71
+ useClass: DbxFirebaseAppCheckHttpInterceptor,
72
+ multi: true
73
+ }
74
+ ], imports: [[
75
+ provideAppCheck(((injector) => {
76
+ const firebaseApp = injector.get(FirebaseApp);
77
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
78
+ const appCheckOptions = firebaseOptions.appCheck;
79
+ const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
80
+ let appCheck;
81
+ if (appCheckOptions && !appCheckKnowinglyDisabled) {
82
+ // enable the debug tokens if not using emulators and allowDebugTokens is set true
83
+ if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
84
+ enableAppCheckDebugTokenGeneration(true);
85
+ }
86
+ // Only enabled outside of app-check environments. The emulators will not use appcheck.
87
+ appCheck = initializeAppCheck(firebaseApp, {
88
+ provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
89
+ isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
90
+ });
91
+ console.debug('Enabled AppCheck.');
92
+ }
93
+ else {
94
+ appCheck = undefined;
95
+ if (!appCheckKnowinglyDisabled) {
96
+ console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
97
+ }
98
+ }
99
+ return appCheck;
100
+ }))
101
+ ]] });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, decorators: [{
103
+ type: NgModule,
104
+ args: [{
105
+ imports: [
106
+ provideAppCheck(((injector) => {
107
+ const firebaseApp = injector.get(FirebaseApp);
108
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
109
+ const appCheckOptions = firebaseOptions.appCheck;
110
+ const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
111
+ let appCheck;
112
+ if (appCheckOptions && !appCheckKnowinglyDisabled) {
113
+ // enable the debug tokens if not using emulators and allowDebugTokens is set true
114
+ if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
115
+ enableAppCheckDebugTokenGeneration(true);
116
+ }
117
+ // Only enabled outside of app-check environments. The emulators will not use appcheck.
118
+ appCheck = initializeAppCheck(firebaseApp, {
119
+ provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
120
+ isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
121
+ });
122
+ console.debug('Enabled AppCheck.');
123
+ }
124
+ else {
125
+ appCheck = undefined;
126
+ if (!appCheckKnowinglyDisabled) {
127
+ console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
128
+ }
129
+ }
130
+ return appCheck;
131
+ }))
132
+ ],
133
+ providers: [
134
+ {
135
+ provide: HTTP_INTERCEPTORS,
136
+ useClass: DbxFirebaseAppCheckHttpInterceptor,
137
+ multi: true
138
+ }
139
+ ]
140
+ }]
141
+ }] });
52
142
  /**
53
143
  * Default firebase auth provider module.
54
144
  */
55
145
  export class DbxFirebaseDefaultAuthProviderModule {
56
146
  }
57
147
  DbxFirebaseDefaultAuthProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
58
- DbxFirebaseDefaultAuthProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i2.AuthModule] });
148
+ DbxFirebaseDefaultAuthProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i3.AuthModule] });
59
149
  DbxFirebaseDefaultAuthProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [[
60
150
  provideAuth(((injector) => {
61
151
  const firebaseApp = injector.get(FirebaseApp);
@@ -89,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
89
179
  export class DbxFirebaseDefaultStorageProviderModule {
90
180
  }
91
181
  DbxFirebaseDefaultStorageProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
92
- DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i3.StorageModule] });
182
+ DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4.StorageModule] });
93
183
  DbxFirebaseDefaultStorageProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [[
94
184
  provideStorage(((injector) => {
95
185
  const firebaseApp = injector.get(FirebaseApp);
@@ -123,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
123
213
  export class DbxFirebaseDefaultFunctionsProviderModule {
124
214
  }
125
215
  DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
126
- DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i4.FunctionsModule] });
216
+ DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] });
127
217
  DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [[
128
218
  provideFunctions(((injector) => {
129
219
  const firebaseApp = injector.get(FirebaseApp);
@@ -155,7 +245,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
155
245
  ]
156
246
  }]
157
247
  }] });
158
- export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
159
248
  /**
160
249
  * Default provider module.
161
250
  */
@@ -163,20 +252,23 @@ export class DbxFirebaseDefaultFirebaseProvidersModule {
163
252
  static forRoot(firebaseOptions) {
164
253
  return {
165
254
  ngModule: DbxFirebaseDefaultFirebaseProvidersModule,
166
- providers: [{
255
+ providers: [
256
+ {
167
257
  provide: DBX_FIREBASE_OPTIONS_TOKEN,
168
258
  useValue: firebaseOptions
169
- }]
259
+ }
260
+ ]
170
261
  };
171
262
  }
172
263
  }
173
264
  DbxFirebaseDefaultFirebaseProvidersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
174
- DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i5.FirebaseAppModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
265
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
175
266
  DbxFirebaseDefaultFirebaseProvidersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [[
176
267
  provideFirebaseApp(((injector) => {
177
268
  const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
178
269
  return initializeApp(firebaseOptions);
179
270
  })),
271
+ DbxFirebaseDefaultAppCheckProviderModule,
180
272
  DbxFirebaseDefaultFirestoreProviderModule,
181
273
  DbxFirebaseDefaultAuthProviderModule,
182
274
  DbxFirebaseDefaultStorageProviderModule,
@@ -190,6 +282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
190
282
  const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
191
283
  return initializeApp(firebaseOptions);
192
284
  })),
285
+ DbxFirebaseDefaultAppCheckProviderModule,
193
286
  DbxFirebaseDefaultFirestoreProviderModule,
194
287
  DbxFirebaseDefaultAuthProviderModule,
195
288
  DbxFirebaseDefaultStorageProviderModule,
@@ -197,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
197
290
  ]
198
291
  }]
199
292
  }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBRy9ELGdHQUFnRztBQUVoRzs7R0FFRztBQWtCSCxNQUFNLE9BQU8seUNBQXlDOztzSUFBekMseUNBQXlDO3VJQUF6Qyx5Q0FBeUM7dUlBQXpDLHlDQUF5QyxZQWhCM0M7WUFDUCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0s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QUFlLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQVEsQ0FBQztZQUNWLHlDQUF5QztZQUN6QyxvQ0FBb0M7WUFDcEMsdUNBQXVDO1lBQ3ZDLHlDQUF5QztTQUMxQzsyRkFFVSx5Q0FBeUM7a0JBWnJELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3pDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7NEJBQ3JGLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN4QyxDQUFDLENBQVEsQ0FBQzt3QkFDVix5Q0FBeUM7d0JBQ3pDLG9DQUFvQzt3QkFDcEMsdUNBQXVDO3dCQUN2Qyx5Q0FBeUM7cUJBQzFDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIEluamVjdG9yLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zLCBpbml0aWFsaXplQXBwIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGdldEZpcmVzdG9yZSwgY29ubmVjdEZpcmVzdG9yZUVtdWxhdG9yLCBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcblxuLy8gVE9ETzogcmVtb3ZlIFwiYXMgYW55XCIgdHlwZXNjcmlwdCBjYXN0aW5nIC0gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhcmZpcmUvaXNzdWVzLzMwODZcblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGZpcmVzdG9yZSBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZXN0b3JlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlc3RvcmUgPSBnZXRGaXJlc3RvcmUoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCwgZW11bGF0b3JzLmZpcmVzdG9yZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlKGZpcmVzdG9yZSk7XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSkgYXMgYW55KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlIHsgfVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXV0aCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlQXV0aCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgYXV0aCA9IGdldEF1dGgoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uYXV0aCkge1xuICAgICAgICBjb25uZWN0QXV0aEVtdWxhdG9yKGF1dGgsIGBodHRwOi8vJHtlbXVsYXRvcnMuYXV0aC5ob3N0fToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUgeyB9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5zdG9yYWdlKSB7XG4gICAgICAgIGNvbm5lY3RTdG9yYWdlRW11bGF0b3Ioc3RvcmFnZSwgZW11bGF0b3JzLnN0b3JhZ2UuaG9zdCwgZW11bGF0b3JzLnN0b3JhZ2UucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RvcmFnZTtcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlIHsgfVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZnVuY3Rpb25zIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGdW5jdGlvbnMoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IHsgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4gfSA9IGZpcmViYXNlT3B0aW9ucztcblxuICAgICAgY29uc3QgZnVuY3Rpb25zID0gZ2V0RnVuY3Rpb25zKGZpcmViYXNlQXBwLCBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbik7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5mdW5jdGlvbnMpIHtcbiAgICAgICAgY29ubmVjdEZ1bmN0aW9uc0VtdWxhdG9yKGZ1bmN0aW9ucywgZW11bGF0b3JzLmZ1bmN0aW9ucy5ob3N0LCBlbXVsYXRvcnMuZnVuY3Rpb25zLnBvcnQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZnVuY3Rpb25zO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZSB7IH1cblxuZXhwb3J0IGNvbnN0IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuKCdEYnhGaXJlYmFzZU9wdGlvbnMnKTtcblxuLyoqXG4gKiBEZWZhdWx0IHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlYmFzZUFwcCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSBhcyBhbnkpLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3QoZmlyZWJhc2VPcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4sXG4gICAgICAgIHVzZVZhbHVlOiBmaXJlYmFzZU9wdGlvbnNcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFZLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQXNCLDBCQUEwQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1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Q29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgSW5qZWN0b3IsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGluaXRpYWxpemVBcHAgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcENoZWNrLCBSZUNhcHRjaGFWM1Byb3ZpZGVyIH0gZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGdldEZpcmVzdG9yZSwgY29ubmVjdEZpcmVzdG9yZUVtdWxhdG9yLCBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IEFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IERieEZpcmViYXNlT3B0aW9ucywgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjay9hcHBjaGVjay5pbnRlcmNlcHRvcic7XG5cbi8vIFRPRE86IHJlbW92ZSBcImFzIGFueVwiIHR5cGVzY3JpcHQgY2FzdGluZyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXJmaXJlL2lzc3Vlcy8zMDg2XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmaXJlc3RvcmUgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZXN0b3JlID0gZ2V0RmlyZXN0b3JlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZpcmVzdG9yZSkge1xuICAgICAgICBjb25uZWN0RmlyZXN0b3JlRW11bGF0b3IoZmlyZXN0b3JlLCBlbXVsYXRvcnMuZmlyZXN0b3JlLmhvc3QsIGVtdWxhdG9ycy5maXJlc3RvcmUucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpO1xuXG4gICAgICByZXR1cm4gZmlyZXN0b3JlO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXBwIGNoZWNrIHByb3ZpZGVyIG1vZHVsZS5cbiAqXG4gKiBBbHNvIGNvbmZpZ3VyZXMgdGhlIERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3Igd2l0aCBIVFRQX0lOVEVSQ0VQVE9SUyBpbiBvcmRlciBmb3IgYXBwQ2hlY2sgdG8gYmUgYXBwZW5kZWQgdG8gcmVxdWVzdHMgdG8gdGhlIGFwaS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBcHBDaGVjaygoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgY29uc3QgYXBwQ2hlY2tPcHRpb25zID0gZmlyZWJhc2VPcHRpb25zLmFwcENoZWNrO1xuICAgICAgY29uc3QgYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCA9IGFwcENoZWNrT3B0aW9ucz8uZGlzYWJsZWQgPT09IHRydWUgfHwgZmlyZWJhc2VPcHRpb25zLmVtdWxhdG9ycz8udXNlRW11bGF0b3JzID09PSB0cnVlO1xuICAgICAgbGV0IGFwcENoZWNrOiBBcHBDaGVjaztcblxuICAgICAgaWYgKGFwcENoZWNrT3B0aW9ucyAmJiAhYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCkge1xuICAgICAgICAvLyBlbmFibGUgdGhlIGRlYnVnIHRva2VucyBpZiBub3QgdXNpbmcgZW11bGF0b3JzIGFuZCBhbGxvd0RlYnVnVG9rZW5zIGlzIHNldCB0cnVlXG4gICAgICAgIGlmIChmaXJlYmFzZU9wdGlvbnMuZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgIT09IHRydWUgJiYgYXBwQ2hlY2tPcHRpb25zLmFsbG93RGVidWdUb2tlbnMpIHtcbiAgICAgICAgICBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSBlbmFibGVkIG91dHNpZGUgb2YgYXBwLWNoZWNrIGVudmlyb25tZW50cy4gVGhlIGVtdWxhdG9ycyB3aWxsIG5vdCB1c2UgYXBwY2hlY2suXG4gICAgICAgIGFwcENoZWNrID0gaW5pdGlhbGl6ZUFwcENoZWNrKGZpcmViYXNlQXBwLCB7XG4gICAgICAgICAgcHJvdmlkZXI6IG5ldyBSZUNhcHRjaGFWM1Byb3ZpZGVyKGFwcENoZWNrT3B0aW9ucy5yZUNhcHRjaGFWMyksXG4gICAgICAgICAgaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZDogYXBwQ2hlY2tPcHRpb25zLmlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQgPz8gdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zb2xlLmRlYnVnKCdFbmFibGVkIEFwcENoZWNrLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwQ2hlY2sgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBBcHBDaGVjaztcblxuICAgICAgICBpZiAoIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdkYngtZmlyZWJhc2U6IE5vIGFwcGNoZWNrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHAsIGFuZCBub3Qgc3BlY2lmaWNhbGx5IGRpc2FibGVkIGluIGNvbmZpZyBlaXRoZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFwcENoZWNrO1xuICAgIH0pIGFzIGFueSlcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICB1c2VDbGFzczogRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEFwcENoZWNrUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGF1dGggcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUF1dGgoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGF1dGggPSBnZXRBdXRoKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmF1dGgpIHtcbiAgICAgICAgY29ubmVjdEF1dGhFbXVsYXRvcihhdXRoLCBgaHR0cDovLyR7ZW11bGF0b3JzLmF1dGguaG9zdH06JHtlbXVsYXRvcnMuYXV0aC5wb3J0fWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aDtcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0QXV0aFByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5zdG9yYWdlKSB7XG4gICAgICAgIGNvbm5lY3RTdG9yYWdlRW11bGF0b3Ioc3RvcmFnZSwgZW11bGF0b3JzLnN0b3JhZ2UuaG9zdCwgZW11bGF0b3JzLnN0b3JhZ2UucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RvcmFnZTtcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmdW5jdGlvbnMgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZ1bmN0aW9ucygoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgY29uc3QgeyBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbiB9ID0gZmlyZWJhc2VPcHRpb25zO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbnMgPSBnZXRGdW5jdGlvbnMoZmlyZWJhc2VBcHAsIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZ1bmN0aW9ucykge1xuICAgICAgICBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IoZnVuY3Rpb25zLCBlbXVsYXRvcnMuZnVuY3Rpb25zLmhvc3QsIGVtdWxhdG9ycy5mdW5jdGlvbnMucG9ydCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbnM7XG4gICAgfSkgYXMgYW55KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIHJldHVybiBpbml0aWFsaXplQXBwKGZpcmViYXNlT3B0aW9ucyk7XG4gICAgfSkgYXMgYW55KSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBmaXJlYmFzZU9wdGlvbnNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
+ export * from './appcheck';
1
2
  export * from './emulators';
2
3
  export * from './firebase.module';
3
4
  export * from './firebase.emulator.module';
4
5
  export * from './options';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VtdWxhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmVtdWxhdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbnMnO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGNoZWNrJztcbmV4cG9ydCAqIGZyb20gJy4vZW11bGF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWJhc2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG4iXX0=
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gXCJmaXJlYmFzZS9hcHBcIjtcbmltcG9ydCB7IERieEZpcmViYXNlTG9naW5Nb2R1bGVSb290Q29uZmlnIH0gZnJvbSBcIi4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlXCI7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUVtdWxhdG9yc0NvbmZpZyB9IGZyb20gXCIuL2VtdWxhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG4gIC8qKlxuICAgKiBQYXNzZWQgdG8gdGhlIEZ1bmN0aW9ucyBpbml0aWFsaXphdGlvbiB0byBzZXQgdGhlIGRvbWFpbiB0byB1c2Ugd2hlbiBzZW5kaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG4iXX0=
1
+ import { InjectionToken } from '@angular/core';
2
+ export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZyB9IGZyb20gJy4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tDb25maWcgfSBmcm9tICcuL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieEZpcmViYXNlT3B0aW9ucycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlYmFzZSBBcHBDaGVjayBoYW5kbGluZ1xuICAgKi9cbiAgYXBwQ2hlY2s/OiBEYnhGaXJlYmFzZUFwcENoZWNrQ29uZmlnO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHRoZSBGdW5jdGlvbnMgaW5pdGlhbGl6YXRpb24gdG8gc2V0IHRoZSBkb21haW4gdG8gdXNlIHdoZW4gc2VuZGluZyByZXF1ZXN0cy5cbiAgICovXG4gIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuIl19
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
20
20
  type: Inject,
21
21
  args: [DBX_FIRESTORE_CONTEXT_TOKEN]
22
22
  }] }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLmNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUuY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFFckMsWUFBMEQsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDOzt1SEFGdEYsMEJBQTBCLGtCQUVqQiwyQkFBMkI7MkhBRnBDLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOIH0gZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFwcCdzIEZpcmVzdG9yZUNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmVzdG9yZUNvbnRleHRTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTikgcmVhZG9ubHkgZmlyZXN0b3JlQ29udGV4dDogRmlyZXN0b3JlQ29udGV4dCkgeyB9XG5cbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLmNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUuY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBMEQsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDOzt1SEFEckYsMEJBQTBCLGtCQUNqQiwyQkFBMkI7MkhBRHBDLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUVjLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOIH0gZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFwcCdzIEZpcmVzdG9yZUNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmVzdG9yZUNvbnRleHRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4pIHJlYWRvbmx5IGZpcmVzdG9yZUNvbnRleHQ6IEZpcmVzdG9yZUNvbnRleHQpIHt9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { NgModule } from "@angular/core";
2
- import { firebaseFirestoreContextFactory } from "@dereekb/firebase";
3
- import { DBX_FIRESTORE_CONTEXT_TOKEN } from "./firebase.firestore";
4
- import { Firestore } from "@angular/fire/firestore";
1
+ import { NgModule } from '@angular/core';
2
+ import { firebaseFirestoreContextFactory } from '@dereekb/firebase';
3
+ import { DBX_FIRESTORE_CONTEXT_TOKEN } from './firebase.firestore';
4
+ import { Firestore } from '@angular/fire/firestore';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Used to initialize the FirestoreCollection for a DbxFirebase app.
@@ -10,15 +10,18 @@ export class DbxFirebaseFirestoreCollectionModule {
10
10
  static forRoot(config) {
11
11
  return {
12
12
  ngModule: DbxFirebaseFirestoreCollectionModule,
13
- providers: [{
13
+ providers: [
14
+ {
14
15
  provide: DBX_FIRESTORE_CONTEXT_TOKEN,
15
16
  useFactory: firebaseFirestoreContextFactory,
16
17
  deps: [Firestore]
17
- }, {
18
+ },
19
+ {
18
20
  provide: config.appCollectionClass,
19
21
  useFactory: config.collectionFactory,
20
22
  deps: [DBX_FIRESTORE_CONTEXT_TOKEN]
21
- }]
23
+ }
24
+ ]
22
25
  };
23
26
  }
24
27
  }
@@ -28,4 +31,4 @@ DbxFirebaseFirestoreCollectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersi
28
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule, decorators: [{
29
32
  type: NgModule
30
33
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSwrQkFBK0IsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBUXBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG9DQUFvQztJQUUvQyxNQUFNLENBQUMsT0FBTyxDQUFJLE1BQXFEO1FBQ3JFLE9BQU87WUFDTCxRQUFRLEVBQUUsb0NBQW9DO1lBQzlDLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFVBQVUsRUFBRSwrQkFBK0I7b0JBQzNDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDbEIsRUFBRTtvQkFDRCxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtvQkFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7b0JBQ3BDLElBQUksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUNwQyxDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7O2lJQWZVLG9DQUFvQztrSUFBcEMsb0NBQW9DO2tJQUFwQyxvQ0FBb0M7MkZBQXBDLG9DQUFvQztrQkFEaEQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGZpcmViYXNlRmlyZXN0b3JlQ29udGV4dEZhY3RvcnksIEZpcmVzdG9yZUNvbnRleHQgfSBmcm9tIFwiQGRlcmVla2IvZmlyZWJhc2VcIjtcbmltcG9ydCB7IERCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTiB9IGZyb20gXCIuL2ZpcmViYXNlLmZpcmVzdG9yZVwiO1xuaW1wb3J0IHsgRmlyZXN0b3JlIH0gZnJvbSBcIkBhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlXCI7XG5pbXBvcnQgeyBDbGFzc0xpa2VUeXBlIH0gZnJvbSBcIkBkZXJlZWtiL3V0aWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4ge1xuICBhcHBDb2xsZWN0aW9uQ2xhc3M6IENsYXNzTGlrZVR5cGU8VD47XG4gIGNvbGxlY3Rpb25GYWN0b3J5OiAoY29udGV4dDogRmlyZXN0b3JlQ29udGV4dCkgPT4gVDtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGluaXRpYWxpemUgdGhlIEZpcmVzdG9yZUNvbGxlY3Rpb24gZm9yIGEgRGJ4RmlyZWJhc2UgYXBwLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3Q8VD4oY29uZmlnOiBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGZpcmViYXNlRmlyZXN0b3JlQ29udGV4dEZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtGaXJlc3RvcmVdXG4gICAgICB9LCB7XG4gICAgICAgIHByb3ZpZGU6IGNvbmZpZy5hcHBDb2xsZWN0aW9uQ2xhc3MsXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5jb2xsZWN0aW9uRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0RCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTl1cbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSwrQkFBK0IsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBUXBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG9DQUFvQztJQUMvQyxNQUFNLENBQUMsT0FBTyxDQUFJLE1BQXFEO1FBQ3JFLE9BQU87WUFDTCxRQUFRLEVBQUUsb0NBQW9DO1lBQzlDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxVQUFVLEVBQUUsK0JBQStCO29CQUMzQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQ2xCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsa0JBQWtCO29CQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtvQkFDcEMsSUFBSSxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3BDO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7aUlBakJVLG9DQUFvQztrSUFBcEMsb0NBQW9DO2tJQUFwQyxvQ0FBb0M7MkZBQXBDLG9DQUFvQztrQkFEaEQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJlYmFzZUZpcmVzdG9yZUNvbnRleHRGYWN0b3J5LCBGaXJlc3RvcmVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOIH0gZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUnO1xuaW1wb3J0IHsgRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZUNvbmZpZzxUPiB7XG4gIGFwcENvbGxlY3Rpb25DbGFzczogQ2xhc3NMaWtlVHlwZTxUPjtcbiAgY29sbGVjdGlvbkZhY3Rvcnk6IChjb250ZXh0OiBGaXJlc3RvcmVDb250ZXh0KSA9PiBUO1xufVxuXG4vKipcbiAqIFVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRmlyZXN0b3JlQ29sbGVjdGlvbiBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKi9cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Q8VD4oY29uZmlnOiBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4sXG4gICAgICAgICAgdXNlRmFjdG9yeTogZmlyZWJhc2VGaXJlc3RvcmVDb250ZXh0RmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbRmlyZXN0b3JlXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogY29uZmlnLmFwcENvbGxlY3Rpb25DbGFzcyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjb25maWcuY29sbGVjdGlvbkZhY3RvcnksXG4gICAgICAgICAgZGVwczogW0RCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTl1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +1,19 @@
1
- import { NgModule } from "@angular/core";
2
- import { Functions } from "@angular/fire/functions";
3
- import { forEachKeyValue } from "@dereekb/util";
1
+ import { NgModule } from '@angular/core';
2
+ import { Functions } from '@angular/fire/functions';
3
+ import { forEachKeyValue } from '@dereekb/util';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Used to initialize the LazyFirebaseFunctions type for a DbxFirebase app.
7
7
  */
8
8
  export class DbxFirebaseFunctionsModule {
9
9
  static forRoot(config) {
10
- const providers = [{
10
+ const providers = [
11
+ {
11
12
  provide: config.functionsGetterToken,
12
13
  useFactory: config.functionsGetterFactory,
13
14
  deps: [Functions]
14
- }];
15
+ }
16
+ ];
15
17
  if (config.functionsConfigMap) {
16
18
  forEachKeyValue(config.functionsConfigMap, {
17
19
  forEach: ([key, entry]) => {
@@ -44,4 +46,4 @@ DbxFirebaseFunctionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
44
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFunctionsModule, decorators: [{
45
47
  type: NgModule
46
48
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLE1BQU0sQ0FBQyxPQUFPLENBQTJELE1BQThDO1FBQ3JILE1BQU0sU0FBUyxHQUFlLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsb0JBQW9CO2dCQUNwQyxVQUFVLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtnQkFDekMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2FBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQzdCLGVBQWUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3pDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFekIsU0FBUyxDQUFDLElBQUksQ0FBQzt3QkFDYixPQUFPO3dCQUNQLFVBQVUsRUFBRSxDQUFDLGFBQXVDLEVBQUUsRUFBRTs0QkFDdEQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQWEsQ0FBQyxDQUFDOzRCQUU1QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dDQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELE9BQU8sa0NBQWtDLENBQUMsQ0FBQzs2QkFDdkg7aUNBQU07Z0NBQ0wsT0FBTyxNQUFNLEVBQUUsQ0FBQzs2QkFDakI7d0JBQ0gsQ0FBQzt3QkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7cUJBQ3BDLENBQUMsQ0FBQTtnQkFDSixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7O3VIQW5DVSwwQkFBMEI7d0hBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRHRDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRnVuY3Rpb25zIH0gZnJvbSBcIkBhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zXCI7XG5pbXBvcnQgeyBGaXJlYmFzZUZ1bmN0aW9uc0NvbmZpZ01hcCwgRmlyZWJhc2VGdW5jdGlvbnNNYXAsIExhenlGaXJlYmFzZUZ1bmN0aW9ucyB9IGZyb20gXCJAZGVyZWVrYi9maXJlYmFzZVwiO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSwgZm9yRWFjaEtleVZhbHVlIH0gZnJvbSBcIkBkZXJlZWtiL3V0aWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUZ1bmN0aW9uc01vZHVsZUNvbmZpZzxULCBNIGV4dGVuZHMgRmlyZWJhc2VGdW5jdGlvbnNNYXAgPSBGaXJlYmFzZUZ1bmN0aW9uc01hcD4ge1xuICBmdW5jdGlvbnNHZXR0ZXJUb2tlbjogQ2xhc3NMaWtlVHlwZTxUPjtcbiAgZnVuY3Rpb25zR2V0dGVyRmFjdG9yeTogKGZ1bmN0aW9uczogRnVuY3Rpb25zKSA9PiBUO1xuICAvKipcbiAgICogT3B0aW9uYWwgZnVuY3Rpb25zIGNvbmZpZyBtYXAgdG8gcHJvdmlkZS4gXG4gICAqIFxuICAgKiBJZiBwcm92aWRlZCwgd2lsbCBpbmplY3QgYWxsIHRoZSB0eXBlcyB3aXRoIGZhY3RvcnkgZnVuY3Rpb25zIHNvIHRoZXkgY2FuIGJlIGluamVjdGVkIGludG8gdGhlIGFwcC5cbiAgICovXG4gIGZ1bmN0aW9uc0NvbmZpZ01hcD86IEZpcmViYXNlRnVuY3Rpb25zQ29uZmlnTWFwPE0+O1xufVxuXG4vKipcbiAqIFVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgTGF6eUZpcmViYXNlRnVuY3Rpb25zIHR5cGUgZm9yIGEgRGJ4RmlyZWJhc2UgYXBwLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdDxULCBNIGV4dGVuZHMgRmlyZWJhc2VGdW5jdGlvbnNNYXAgPSBGaXJlYmFzZUZ1bmN0aW9uc01hcD4oY29uZmlnOiBEYnhGaXJlYmFzZUZ1bmN0aW9uc01vZHVsZUNvbmZpZzxULCBNPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGU+IHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbe1xuICAgICAgcHJvdmlkZTogY29uZmlnLmZ1bmN0aW9uc0dldHRlclRva2VuLFxuICAgICAgdXNlRmFjdG9yeTogY29uZmlnLmZ1bmN0aW9uc0dldHRlckZhY3RvcnksXG4gICAgICBkZXBzOiBbRnVuY3Rpb25zXVxuICAgIH1dO1xuXG4gICAgaWYgKGNvbmZpZy5mdW5jdGlvbnNDb25maWdNYXApIHtcbiAgICAgIGZvckVhY2hLZXlWYWx1ZShjb25maWcuZnVuY3Rpb25zQ29uZmlnTWFwLCB7XG4gICAgICAgIGZvckVhY2g6IChba2V5LCBlbnRyeV0pID0+IHtcbiAgICAgICAgICBjb25zdCBwcm92aWRlID0gZW50cnlbMF07XG5cbiAgICAgICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgICAgICBwcm92aWRlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKGxhenlGdW5jdGlvbnM6IExhenlGaXJlYmFzZUZ1bmN0aW9uczxNPikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBnZXR0ZXIgPSBsYXp5RnVuY3Rpb25zW2tleSBhcyBzdHJpbmddO1xuXG4gICAgICAgICAgICAgIGlmICghZ2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHByb3ZpZGVyIGZvciBmaXJlYmFzZSBmdW5jdGlvbiBnZXR0ZXIgXCIke3Byb3ZpZGV9XCIgYXMgdGhlIGdldHRlciB3YXMgdW5hdmFpbGFibGUuYCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldHRlcigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVwczogW2NvbmZpZy5mdW5jdGlvbnNHZXR0ZXJUb2tlbl1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQTJELE1BQThDO1FBQ3JILE1BQU0sU0FBUyxHQUFlO1lBQzVCO2dCQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsb0JBQW9CO2dCQUNwQyxVQUFVLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtnQkFDekMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2FBQ2xCO1NBQ0YsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQzdCLGVBQWUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3pDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFekIsU0FBUyxDQUFDLElBQUksQ0FBQzt3QkFDYixPQUFPO3dCQUNQLFVBQVUsRUFBRSxDQUFDLGFBQXVDLEVBQUUsRUFBRTs0QkFDdEQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQWEsQ0FBQyxDQUFDOzRCQUU1QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dDQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELE9BQU8sa0NBQWtDLENBQUMsQ0FBQzs2QkFDdkg7aUNBQU07Z0NBQ0wsT0FBTyxNQUFNLEVBQUUsQ0FBQzs2QkFDakI7d0JBQ0gsQ0FBQzt3QkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7cUJBQ3BDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7O3VIQXBDVSwwQkFBMEI7d0hBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRHRDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1bmN0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IEZpcmViYXNlRnVuY3Rpb25zQ29uZmlnTWFwLCBGaXJlYmFzZUZ1bmN0aW9uc01hcCwgTGF6eUZpcmViYXNlRnVuY3Rpb25zIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSwgZm9yRWFjaEtleVZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+IHtcbiAgZnVuY3Rpb25zR2V0dGVyVG9rZW46IENsYXNzTGlrZVR5cGU8VD47XG4gIGZ1bmN0aW9uc0dldHRlckZhY3Rvcnk6IChmdW5jdGlvbnM6IEZ1bmN0aW9ucykgPT4gVDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9ucyBjb25maWcgbWFwIHRvIHByb3ZpZGUuXG4gICAqXG4gICAqIElmIHByb3ZpZGVkLCB3aWxsIGluamVjdCBhbGwgdGhlIHR5cGVzIHdpdGggZmFjdG9yeSBmdW5jdGlvbnMgc28gdGhleSBjYW4gYmUgaW5qZWN0ZWQgaW50byB0aGUgYXBwLlxuICAgKi9cbiAgZnVuY3Rpb25zQ29uZmlnTWFwPzogRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXA8TT47XG59XG5cbi8qKlxuICogVXNlZCB0byBpbml0aWFsaXplIHRoZSBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgdHlwZSBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKi9cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdDxULCBNIGV4dGVuZHMgRmlyZWJhc2VGdW5jdGlvbnNNYXAgPSBGaXJlYmFzZUZ1bmN0aW9uc01hcD4oY29uZmlnOiBEYnhGaXJlYmFzZUZ1bmN0aW9uc01vZHVsZUNvbmZpZzxULCBNPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGU+IHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJUb2tlbixcbiAgICAgICAgdXNlRmFjdG9yeTogY29uZmlnLmZ1bmN0aW9uc0dldHRlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtGdW5jdGlvbnNdXG4gICAgICB9XG4gICAgXTtcblxuICAgIGlmIChjb25maWcuZnVuY3Rpb25zQ29uZmlnTWFwKSB7XG4gICAgICBmb3JFYWNoS2V5VmFsdWUoY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcCwge1xuICAgICAgICBmb3JFYWNoOiAoW2tleSwgZW50cnldKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvdmlkZSA9IGVudHJ5WzBdO1xuXG4gICAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgcHJvdmlkZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChsYXp5RnVuY3Rpb25zOiBMYXp5RmlyZWJhc2VGdW5jdGlvbnM8TT4pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0dGVyID0gbGF6eUZ1bmN0aW9uc1trZXkgYXMgc3RyaW5nXTtcblxuICAgICAgICAgICAgICBpZiAoIWdldHRlcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGNyZWF0ZSBwcm92aWRlciBmb3IgZmlyZWJhc2UgZnVuY3Rpb24gZ2V0dGVyIFwiJHtwcm92aWRlfVwiIGFzIHRoZSBnZXR0ZXIgd2FzIHVuYXZhaWxhYmxlLmApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXR0ZXIoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcHM6IFtjb25maWcuZnVuY3Rpb25zR2V0dGVyVG9rZW5dXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnNcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
- import { readableError } from "@dereekb/util";
1
+ import { readableError } from '@dereekb/util';
2
2
  export const DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR = 'DOES_NOT_EXIST';
3
3
  export function modelDoesNotExistError() {
4
4
  return readableError(DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, 'The document does not exist.');
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLGdCQUFnQixDQUFDO0FBRXhFLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxhQUFhLENBQUMsdUNBQXVDLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtBQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGFibGVFcnJvciB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5cbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfTU9ERUxfRE9FU19OT1RfRVhJU1RfRVJST1IgPSAnRE9FU19OT1RfRVhJU1QnO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxEb2VzTm90RXhpc3RFcnJvcigpIHtcbiAgcmV0dXJuIHJlYWRhYmxlRXJyb3IoREJYX0ZJUkVCQVNFX01PREVMX0RPRVNfTk9UX0VYSVNUX0VSUk9SLCAnVGhlIGRvY3VtZW50IGRvZXMgbm90IGV4aXN0LicpXG59XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLGdCQUFnQixDQUFDO0FBRXhFLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxhQUFhLENBQUMsdUNBQXVDLEVBQUUsOEJBQThCLENBQUMsQ0FBQztBQUNoRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX01PREVMX0RPRVNfTk9UX0VYSVNUX0VSUk9SID0gJ0RPRVNfTk9UX0VYSVNUJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsRG9lc05vdEV4aXN0RXJyb3IoKSB7XG4gIHJldHVybiByZWFkYWJsZUVycm9yKERCWF9GSVJFQkFTRV9NT0RFTF9ET0VTX05PVF9FWElTVF9FUlJPUiwgJ1RoZSBkb2N1bWVudCBkb2VzIG5vdCBleGlzdC4nKTtcbn1cbiJdfQ==