@dereekb/dbx-firebase 11.1.7 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/esm2022/lib/analytics/analytics.user.events.providers.mjs +25 -0
  2. package/esm2022/lib/analytics/analytics.user.events.service.mjs +37 -0
  3. package/esm2022/lib/analytics/analytics.user.source.mjs +4 -4
  4. package/esm2022/lib/analytics/index.mjs +3 -2
  5. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +6 -6
  6. package/esm2022/lib/auth/firebase.auth.module.mjs +11 -23
  7. package/esm2022/lib/auth/firebase.auth.providers.mjs +27 -0
  8. package/esm2022/lib/auth/index.mjs +2 -1
  9. package/esm2022/lib/auth/login/firebase.login.module.mjs +56 -201
  10. package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +109 -0
  11. package/esm2022/lib/auth/login/firebase.login.providers.mjs +59 -0
  12. package/esm2022/lib/auth/login/index.mjs +2 -1
  13. package/esm2022/lib/auth/login/login.anonymous.component.mjs +9 -6
  14. package/esm2022/lib/auth/login/login.apple.component.mjs +9 -6
  15. package/esm2022/lib/auth/login/login.button.component.mjs +68 -49
  16. package/esm2022/lib/auth/login/login.component.mjs +21 -26
  17. package/esm2022/lib/auth/login/login.context.back.component.mjs +8 -5
  18. package/esm2022/lib/auth/login/login.context.directive.mjs +5 -4
  19. package/esm2022/lib/auth/login/login.email.component.mjs +9 -6
  20. package/esm2022/lib/auth/login/login.email.content.component.mjs +29 -28
  21. package/esm2022/lib/auth/login/login.email.form.component.mjs +17 -26
  22. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +11 -12
  23. package/esm2022/lib/auth/login/login.facebook.component.mjs +9 -6
  24. package/esm2022/lib/auth/login/login.github.component.mjs +9 -6
  25. package/esm2022/lib/auth/login/login.google.component.mjs +9 -6
  26. package/esm2022/lib/auth/login/login.list.component.mjs +45 -56
  27. package/esm2022/lib/auth/login/login.microsoft.component.mjs +9 -6
  28. package/esm2022/lib/auth/login/login.service.mjs +10 -13
  29. package/esm2022/lib/auth/login/login.terms.component.mjs +10 -8
  30. package/esm2022/lib/auth/login/login.terms.mjs +6 -3
  31. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +11 -9
  32. package/esm2022/lib/auth/login/login.twitter.component.mjs +9 -6
  33. package/esm2022/lib/auth/login/register.component.mjs +9 -7
  34. package/esm2022/lib/auth/login/register.email.component.mjs +11 -6
  35. package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +1 -1
  36. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +1 -1
  37. package/esm2022/lib/auth/service/firebase.auth.service.mjs +4 -4
  38. package/esm2022/lib/development/development.directive.mjs +78 -0
  39. package/esm2022/lib/development/development.module.mjs +32 -70
  40. package/esm2022/lib/development/development.popup.component.mjs +13 -15
  41. package/esm2022/lib/development/development.popup.content.component.mjs +28 -19
  42. package/esm2022/lib/development/development.popup.content.form.component.mjs +11 -12
  43. package/esm2022/lib/development/development.providers.mjs +47 -0
  44. package/esm2022/lib/development/development.scheduler.list.component.mjs +32 -23
  45. package/esm2022/lib/development/development.scheduler.service.mjs +5 -8
  46. package/esm2022/lib/development/development.scheduler.widget.component.mjs +13 -10
  47. package/esm2022/lib/development/development.service.mjs +9 -20
  48. package/esm2022/lib/development/development.widget.service.mjs +7 -10
  49. package/esm2022/lib/development/index.mjs +3 -2
  50. package/esm2022/lib/firebase/emulators.mjs +1 -1
  51. package/esm2022/lib/firebase/firebase.emulator.module.mjs +9 -25
  52. package/esm2022/lib/firebase/firebase.emulator.providers.mjs +33 -0
  53. package/esm2022/lib/firebase/firebase.emulator.service.mjs +5 -8
  54. package/esm2022/lib/firebase/firebase.module.mjs +11 -297
  55. package/esm2022/lib/firebase/firebase.options.environment.mjs +2 -0
  56. package/esm2022/lib/firebase/firebase.options.mjs +3 -0
  57. package/esm2022/lib/firebase/firebase.providers.mjs +149 -0
  58. package/esm2022/lib/firebase/index.mjs +5 -2
  59. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +4 -4
  60. package/esm2022/lib/firestore/firebase.firestore.module.mjs +9 -50
  61. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +67 -0
  62. package/esm2022/lib/firestore/index.mjs +2 -1
  63. package/esm2022/lib/function/firebase.function.module.mjs +8 -48
  64. package/esm2022/lib/function/firebase.function.providers.mjs +54 -0
  65. package/esm2022/lib/function/index.mjs +2 -1
  66. package/esm2022/lib/index.mjs +2 -1
  67. package/esm2022/lib/model/loader/collection.change.trigger.mjs +1 -1
  68. package/esm2022/lib/model/loader/collection.loader.instance.mjs +1 -1
  69. package/esm2022/lib/model/model.module.mjs +6 -6
  70. package/esm2022/lib/model/modules/model/history/index.mjs +7 -0
  71. package/esm2022/lib/model/modules/model/history/model.history.component.mjs +36 -0
  72. package/esm2022/lib/model/modules/model/history/model.history.module.mjs +26 -0
  73. package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +40 -0
  74. package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +36 -0
  75. package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +18 -0
  76. package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +58 -0
  77. package/esm2022/lib/model/modules/model/index.mjs +2 -7
  78. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +33 -28
  79. package/esm2022/lib/model/modules/model/model.types.module.mjs +17 -12
  80. package/esm2022/lib/model/modules/model/model.types.providers.mjs +20 -0
  81. package/esm2022/lib/model/modules/model/model.types.service.mjs +9 -14
  82. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +11 -13
  83. package/esm2022/lib/model/modules/store/model.store.module.mjs +6 -8
  84. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +3 -3
  85. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +4 -4
  86. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +5 -5
  87. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +6 -6
  88. package/esm2022/lib/model/modules/store/store.collection.mjs +3 -3
  89. package/esm2022/lib/model/modules/store/store.document.auth.directive.mjs +3 -3
  90. package/esm2022/lib/model/modules/store/store.document.crud.mjs +1 -1
  91. package/esm2022/lib/model/modules/store/store.document.directive.mjs +5 -5
  92. package/esm2022/lib/model/modules/store/store.document.mjs +6 -5
  93. package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +3 -3
  94. package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +4 -4
  95. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +3 -3
  96. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +3 -3
  97. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +3 -3
  98. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +4 -4
  99. package/esm2022/lib/model/modules/store/store.subcollection.mjs +6 -6
  100. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
  101. package/esm2022/lib/model/service/index.mjs +2 -1
  102. package/esm2022/lib/model/service/model.context.providers.mjs +32 -0
  103. package/esm2022/lib/model/service/model.context.service.mjs +1 -1
  104. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +4 -4
  105. package/esm2022/lib/model/system/systemstate.collection.store.mjs +4 -4
  106. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +5 -5
  107. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +4 -4
  108. package/esm2022/lib/model/system/systemstate.document.store.mjs +4 -4
  109. package/esm2022/lib/module.mjs +4 -4
  110. package/esm2022/lib/modules/notification/component/index.mjs +2 -1
  111. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +11 -17
  112. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +30 -21
  113. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +28 -35
  114. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +8 -6
  115. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +3 -3
  116. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +17 -21
  117. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +14 -26
  118. package/esm2022/lib/modules/notification/index.mjs +3 -1
  119. package/esm2022/lib/modules/notification/notification.module.mjs +33 -32
  120. package/esm2022/lib/modules/notification/notification.providers.mjs +47 -0
  121. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +3 -3
  122. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +5 -8
  123. package/esm2022/lib/modules/notification/store/index.mjs +6 -2
  124. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +4 -4
  125. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +7 -6
  126. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +4 -4
  127. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +7 -6
  128. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +4 -4
  129. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +7 -6
  130. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +4 -4
  131. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +7 -6
  132. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +4 -4
  133. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +7 -6
  134. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +4 -4
  135. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +7 -6
  136. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +4 -4
  137. package/esm2022/lib/pipe/key.pipe.mjs +7 -7
  138. package/esm2022/lib/pipe/pipe.module.mjs +4 -4
  139. package/esm2022/lib/providers.mjs +40 -0
  140. package/esm2022/lib/router/id.param.redirect.mjs +1 -1
  141. package/esm2022/lib/storage/firebase.storage.module.mjs +11 -34
  142. package/esm2022/lib/storage/firebase.storage.providers.mjs +43 -0
  143. package/esm2022/lib/storage/firebase.storage.service.mjs +3 -3
  144. package/esm2022/lib/storage/index.mjs +2 -1
  145. package/fesm2022/dereekb-dbx-firebase.mjs +1893 -1762
  146. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  147. package/lib/analytics/analytics.user.events.providers.d.ts +6 -0
  148. package/lib/analytics/{analytics.user.events.d.ts → analytics.user.events.service.d.ts} +5 -5
  149. package/lib/analytics/index.d.ts +2 -1
  150. package/lib/auth/firebase.auth.module.d.ts +6 -5
  151. package/lib/auth/firebase.auth.providers.d.ts +21 -0
  152. package/lib/auth/index.d.ts +1 -0
  153. package/lib/auth/login/_login.scss +3 -3
  154. package/lib/auth/login/firebase.login.module.d.ts +8 -21
  155. package/lib/auth/login/firebase.login.providers.d.ts +32 -0
  156. package/lib/auth/login/firebase.login.providers.default.d.ts +7 -0
  157. package/lib/auth/login/index.d.ts +1 -0
  158. package/lib/auth/login/login.anonymous.component.d.ts +2 -2
  159. package/lib/auth/login/login.apple.component.d.ts +2 -2
  160. package/lib/auth/login/login.button.component.d.ts +19 -14
  161. package/lib/auth/login/login.component.d.ts +6 -6
  162. package/lib/auth/login/login.context.back.component.d.ts +1 -1
  163. package/lib/auth/login/login.context.directive.d.ts +1 -1
  164. package/lib/auth/login/login.email.component.d.ts +1 -1
  165. package/lib/auth/login/login.email.content.component.d.ts +10 -9
  166. package/lib/auth/login/login.email.form.component.d.ts +5 -8
  167. package/lib/auth/login/login.email.recovery.form.component.d.ts +1 -1
  168. package/lib/auth/login/login.facebook.component.d.ts +2 -2
  169. package/lib/auth/login/login.github.component.d.ts +2 -2
  170. package/lib/auth/login/login.google.component.d.ts +2 -2
  171. package/lib/auth/login/login.list.component.d.ts +11 -17
  172. package/lib/auth/login/login.microsoft.component.d.ts +2 -2
  173. package/lib/auth/login/login.service.d.ts +3 -3
  174. package/lib/auth/login/login.terms.component.d.ts +1 -1
  175. package/lib/auth/login/login.terms.d.ts +17 -3
  176. package/lib/auth/login/login.terms.simple.component.d.ts +2 -3
  177. package/lib/auth/login/login.twitter.component.d.ts +2 -2
  178. package/lib/auth/login/register.component.d.ts +1 -1
  179. package/lib/auth/login/register.email.component.d.ts +1 -1
  180. package/lib/development/{development.popup.directive.d.ts → development.directive.d.ts} +2 -2
  181. package/lib/development/development.module.d.ts +2 -19
  182. package/lib/development/development.popup.component.d.ts +2 -2
  183. package/lib/development/development.popup.content.component.d.ts +10 -6
  184. package/lib/development/development.popup.content.form.component.d.ts +1 -1
  185. package/lib/development/development.providers.d.ts +32 -0
  186. package/lib/development/development.scheduler.list.component.d.ts +3 -3
  187. package/lib/development/development.scheduler.service.d.ts +4 -4
  188. package/lib/development/development.scheduler.widget.component.d.ts +1 -1
  189. package/lib/development/development.service.d.ts +2 -3
  190. package/lib/development/index.d.ts +2 -1
  191. package/lib/firebase/emulators.d.ts +21 -19
  192. package/lib/firebase/firebase.emulator.module.d.ts +2 -0
  193. package/lib/firebase/firebase.emulator.providers.d.ts +13 -0
  194. package/lib/firebase/firebase.module.d.ts +5 -51
  195. package/lib/firebase/{options.d.ts → firebase.options.d.ts} +11 -9
  196. package/lib/firebase/firebase.options.environment.d.ts +10 -0
  197. package/lib/firebase/firebase.providers.d.ts +51 -0
  198. package/lib/firebase/index.d.ts +4 -1
  199. package/lib/firestore/firebase.firestore.module.d.ts +4 -20
  200. package/lib/firestore/firebase.firestore.providers.d.ts +49 -0
  201. package/lib/firestore/index.d.ts +1 -0
  202. package/lib/function/firebase.function.module.d.ts +4 -20
  203. package/lib/function/firebase.function.providers.d.ts +43 -0
  204. package/lib/function/index.d.ts +1 -0
  205. package/lib/index.d.ts +1 -0
  206. package/lib/model/loader/document.loader.instance.d.ts +1 -1
  207. package/lib/model/model.module.d.ts +1 -1
  208. package/lib/model/modules/model/history/index.d.ts +6 -0
  209. package/lib/model/modules/model/history/model.history.component.d.ts +16 -0
  210. package/lib/model/modules/model/history/model.history.module.d.ts +16 -0
  211. package/lib/model/modules/model/{model.history.popover.button.component.d.ts → history/model.history.popover.button.component.d.ts} +7 -6
  212. package/lib/model/modules/model/{model.history.popover.component.d.ts → history/model.history.popover.component.d.ts} +18 -17
  213. package/lib/model/modules/model/{model.sourceselect.history.d.ts → history/model.sourceselect.history.d.ts} +5 -5
  214. package/lib/model/modules/model/{model.tracker.service.d.ts → history/model.tracker.service.d.ts} +6 -6
  215. package/lib/model/modules/model/index.d.ts +1 -6
  216. package/lib/model/modules/model/model.types.list.component.d.ts +12 -12
  217. package/lib/model/modules/model/model.types.module.d.ts +9 -3
  218. package/lib/model/modules/model/model.types.providers.d.ts +22 -0
  219. package/lib/model/modules/model/model.types.service.d.ts +6 -3
  220. package/lib/model/modules/model/model.types.view.directive.d.ts +5 -5
  221. package/lib/model/modules/store/model.store.module.d.ts +7 -9
  222. package/lib/model/modules/store/store.document.router.key.directive.d.ts +2 -1
  223. package/lib/model/service/index.d.ts +1 -0
  224. package/lib/model/service/model.context.providers.d.ts +18 -0
  225. package/lib/modules/notification/component/index.d.ts +1 -0
  226. package/lib/modules/notification/component/notificationitem.content.component.d.ts +4 -4
  227. package/lib/modules/notification/component/notificationitem.list.component.d.ts +3 -3
  228. package/lib/modules/notification/component/notificationitem.view.component.d.ts +4 -9
  229. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +1 -1
  230. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +4 -4
  231. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +7 -7
  232. package/lib/modules/notification/index.d.ts +2 -0
  233. package/lib/modules/notification/notification.module.d.ts +18 -10
  234. package/lib/modules/notification/notification.providers.d.ts +24 -0
  235. package/lib/modules/notification/store/index.d.ts +5 -1
  236. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +1 -1
  237. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +1 -1
  238. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +1 -1
  239. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +1 -1
  240. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +1 -1
  241. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +1 -1
  242. package/lib/providers.d.ts +55 -0
  243. package/lib/storage/firebase.storage.module.d.ts +6 -9
  244. package/lib/storage/firebase.storage.providers.d.ts +31 -0
  245. package/lib/storage/index.d.ts +1 -0
  246. package/lib/style/_theming.scss +1 -1
  247. package/package.json +7 -8
  248. package/esm2022/lib/analytics/analytics.user.events.mjs +0 -40
  249. package/esm2022/lib/development/development.popup.directive.mjs +0 -77
  250. package/esm2022/lib/firebase/options.mjs +0 -3
  251. package/esm2022/lib/model/modules/model/model.history.component.mjs +0 -46
  252. package/esm2022/lib/model/modules/model/model.history.module.mjs +0 -23
  253. package/esm2022/lib/model/modules/model/model.history.popover.button.component.mjs +0 -44
  254. package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +0 -47
  255. package/esm2022/lib/model/modules/model/model.sourceselect.history.mjs +0 -18
  256. package/esm2022/lib/model/modules/model/model.tracker.service.mjs +0 -58
  257. package/lib/model/modules/model/model.history.component.d.ts +0 -19
  258. package/lib/model/modules/model/model.history.module.d.ts +0 -12
@@ -25,4 +25,4 @@ export function defaultDbxFirebaseAuthServiceDelegateWithClaimsService(config) {
25
25
  authRoleClaimsService: config.claimsService
26
26
  };
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmRlbGVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS5kZWxlZ2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFvRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsNENBQTRDLEVBQUUscUNBQXFDLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkosT0FBTyxFQUFvRiwwQ0FBMEMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBcUJ2SyxNQUFNLFVBQVUsNkJBQTZCLENBQTZCLE1BQThDO0lBQ3RILE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFNUUsT0FBTyxDQUFDLHNCQUE4QyxFQUEyQixFQUFFO1FBQ2pGLElBQUksR0FBRyxHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5ILElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaks7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztBQUNKLENBQUM7QUFJRCxNQUFNLFVBQVUsc0RBQXNELENBQTZCLE1BQXVFO0lBQ3hLLElBQUksc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMvSCxNQUFNLElBQUksS0FBSyxDQUFDLHNJQUFzSSxDQUFDLENBQUM7S0FDeko7SUFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSw0Q0FBNEMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUUzTyxPQUFPO1FBQ0wsZ0JBQWdCO1FBQ2hCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsSUFBSSwwQ0FBMEMsQ0FBQyxvQkFBb0I7UUFDcEgsWUFBWSxFQUFFLDZCQUE2QixDQUFDLE1BQU0sQ0FBQztRQUNuRCxXQUFXLEVBQUUsMENBQTBDLENBQUMsV0FBVztRQUNuRSxxQkFBcUIsRUFBRSxNQUFNLENBQUMsYUFBbUU7S0FDbEcsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRUb1NldENvcHksIEF1dGhDbGFpbXMsIEF1dGhDbGFpbXNPYmplY3QsIEF1dGhSb2xlQ2xhaW1zU2VydmljZSwgQXV0aFJvbGVTZXQsIGZpbHRlck1heWJlQXJyYXlWYWx1ZXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2VGdW5jdGlvbiwgc3RhdGVGcm9tVG9rZW5Gb3JMb2dnZWRJblVzZXJGdW5jdGlvbiwgU3RhdGVGcm9tVG9rZW5GdW5jdGlvbiB9IGZyb20gJy4vZmlyZWJhc2UuYXV0aC5yeGpzJztcbmltcG9ydCB7IEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbiwgRGJ4RmlyZWJhc2VBdXRoU2VydmljZSwgRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlLCBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEUgfSBmcm9tICcuL2ZpcmViYXNlLmF1dGguc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFJvbGVzT2JzV2l0aENsYWltc1NlcnZpY2VDb25maWc8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3Q+IGV4dGVuZHMgUGFydGlhbDxQaWNrPERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSwgJ2lzQWRtaW5JbkF1dGhSb2xlU2V0JyB8ICdhdXRoVXNlclN0YXRlT2JzJz4+IHtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgYWx0ZXJuYXRpdmUgdG8gc3VwcGx5aW5nIGF1dGhVc2VyU3RhdGVPYnMuIElzIHBhc3NlZCB0byBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZUZvckxvZ2dlZEluVXNlcj86IEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgYWx0ZXJuYXRpdmUgdG8gc3VwcGx5aW5nIGF1dGhVc2VyU3RhdGVPYnMuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZUZvckxvZ2dlZEluVXNlclRva2VuPzogU3RhdGVGcm9tVG9rZW5GdW5jdGlvbjtcbiAgLyoqXG4gICAqIENsYWltcyBzZXJ2aWNlIHRvIHVzZSBmb3IgZGVjb2RpbmcuXG4gICAqL1xuICByZWFkb25seSBjbGFpbXNTZXJ2aWNlOiBBdXRoUm9sZUNsYWltc1NlcnZpY2U8VD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbHNvIGFkZCB0aGUgY3VycmVudCBBdXRoVXNlclN0YXRlIHZhbHVlIHRvIGRlY29kZWQgcm9sZXMuXG4gICAqL1xuICByZWFkb25seSBhZGRBdXRoVXNlclN0YXRlVG9Sb2xlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZTxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdD4oY29uZmlnOiBBdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZUNvbmZpZzxUPik6IChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKSA9PiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiB7XG4gIGNvbnN0IHsgYWRkQXV0aFVzZXJTdGF0ZVRvUm9sZXM6IGFkZEF1dGhVc2VyU3RhdGUsIGNsYWltc1NlcnZpY2UgfSA9IGNvbmZpZztcblxuICByZXR1cm4gKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiA9PiB7XG4gICAgbGV0IG9icyA9IGRieEZpcmViYXNlQXV0aFNlcnZpY2UuaWRUb2tlblJlc3VsdCQucGlwZShtYXAoKHgpID0+IGNsYWltc1NlcnZpY2UudG9Sb2xlcyh4LmNsYWltcyBhcyBBdXRoQ2xhaW1zPFQ+KSkpO1xuXG4gICAgaWYgKGFkZEF1dGhVc2VyU3RhdGUpIHtcbiAgICAgIG9icyA9IG9icy5waXBlKHN3aXRjaE1hcCgoYXV0aFJvbGVTZXQ6IEF1dGhSb2xlU2V0KSA9PiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh1c2VyU3RhdGUpID0+IGFkZFRvU2V0Q29weShhdXRoUm9sZVNldCwgW3VzZXJTdGF0ZV0pKSkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JzO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBEZWZhdWx0RGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlV2l0aENsYWltc1NlcnZpY2VDb25maWc8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3Q+ID0gQXV0aFJvbGVzT2JzV2l0aENsYWltc1NlcnZpY2VDb25maWc8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlV2l0aENsYWltc1NlcnZpY2U8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3Q+KGNvbmZpZzogRGVmYXVsdERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZVdpdGhDbGFpbXNTZXJ2aWNlQ29uZmlnPFQ+KTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlIHtcbiAgaWYgKGZpbHRlck1heWJlQXJyYXlWYWx1ZXMoW2NvbmZpZy5zdGF0ZUZvckxvZ2dlZEluVXNlciwgY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW4sIGNvbmZpZy5hdXRoVXNlclN0YXRlT2JzXSkubGVuZ3RoID4gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgYSBjb21iaW5hdGlvbiBvZiBcInN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW5cIiwgXCJzdGF0ZUZvckxvZ2dlZEluVXNlclwiIGFuZCBcImF1dGhVc2VyU3RhdGVPYnNcIi4gTXVzdCBzcGVjaWZ5IG9uZSBhdCBtYXguJyk7XG4gIH1cblxuICBjb25zdCBhdXRoVXNlclN0YXRlT2JzID0gY29uZmlnLmF1dGhVc2VyU3RhdGVPYnMgPz8gYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24oY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW4gPyBzdGF0ZUZyb21Ub2tlbkZvckxvZ2dlZEluVXNlckZ1bmN0aW9uKGNvbmZpZy5zdGF0ZUZvckxvZ2dlZEluVXNlclRva2VuKSA6IGNvbmZpZy5zdGF0ZUZvckxvZ2dlZEluVXNlcik7XG5cbiAgcmV0dXJuIHtcbiAgICBhdXRoVXNlclN0YXRlT2JzLFxuICAgIGlzQWRtaW5JbkF1dGhSb2xlU2V0OiBjb25maWcuaXNBZG1pbkluQXV0aFJvbGVTZXQgPz8gREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFLmlzQWRtaW5JbkF1dGhSb2xlU2V0LFxuICAgIGF1dGhSb2xlc09iczogYXV0aFJvbGVzT2JzV2l0aENsYWltc1NlcnZpY2UoY29uZmlnKSxcbiAgICBpc09uYm9hcmRlZDogREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFLmlzT25ib2FyZGVkLFxuICAgIGF1dGhSb2xlQ2xhaW1zU2VydmljZTogY29uZmlnLmNsYWltc1NlcnZpY2UgYXMgdW5rbm93biBhcyBBdXRoUm9sZUNsYWltc1NlcnZpY2U8QXV0aENsYWltc09iamVjdD5cbiAgfTtcbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmRlbGVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS5kZWxlZ2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFvRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsNENBQTRDLEVBQUUscUNBQXFDLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkosT0FBTyxFQUFvRiwwQ0FBMEMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBcUJ2SyxNQUFNLFVBQVUsNkJBQTZCLENBQTZCLE1BQThDO0lBQ3RILE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFNUUsT0FBTyxDQUFDLHNCQUE4QyxFQUEyQixFQUFFO1FBQ2pGLElBQUksR0FBRyxHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5ILElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsSyxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7QUFDSixDQUFDO0FBSUQsTUFBTSxVQUFVLHNEQUFzRCxDQUE2QixNQUF1RTtJQUN4SyxJQUFJLHNCQUFzQixDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoSSxNQUFNLElBQUksS0FBSyxDQUFDLHNJQUFzSSxDQUFDLENBQUM7SUFDMUosQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLDRDQUE0QyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTNPLE9BQU87UUFDTCxnQkFBZ0I7UUFDaEIsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixJQUFJLDBDQUEwQyxDQUFDLG9CQUFvQjtRQUNwSCxZQUFZLEVBQUUsNkJBQTZCLENBQUMsTUFBTSxDQUFDO1FBQ25ELFdBQVcsRUFBRSwwQ0FBMEMsQ0FBQyxXQUFXO1FBQ25FLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxhQUFtRTtLQUNsRyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZFRvU2V0Q29weSwgQXV0aENsYWltcywgQXV0aENsYWltc09iamVjdCwgQXV0aFJvbGVDbGFpbXNTZXJ2aWNlLCBBdXRoUm9sZVNldCwgZmlsdGVyTWF5YmVBcnJheVZhbHVlcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGF1dGhVc2VyU3RhdGVGcm9tRmlyZWJhc2VBdXRoU2VydmljZUZ1bmN0aW9uLCBzdGF0ZUZyb21Ub2tlbkZvckxvZ2dlZEluVXNlckZ1bmN0aW9uLCBTdGF0ZUZyb21Ub2tlbkZ1bmN0aW9uIH0gZnJvbSAnLi9maXJlYmFzZS5hdXRoLnJ4anMnO1xuaW1wb3J0IHsgQXV0aFVzZXJTdGF0ZU9ic0Z1bmN0aW9uLCBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLCBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUsIERFRkFVTFRfREJYX0ZJUkVCQVNFX0FVVEhfU0VSVklDRV9ERUxFR0FURSB9IGZyb20gJy4vZmlyZWJhc2UuYXV0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZUNvbmZpZzxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdD4gZXh0ZW5kcyBQYXJ0aWFsPFBpY2s8RGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlLCAnaXNBZG1pbkluQXV0aFJvbGVTZXQnIHwgJ2F1dGhVc2VyU3RhdGVPYnMnPj4ge1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBhbHRlcm5hdGl2ZSB0byBzdXBwbHlpbmcgYXV0aFVzZXJTdGF0ZU9icy4gSXMgcGFzc2VkIHRvIGF1dGhVc2VyU3RhdGVGcm9tRmlyZWJhc2VBdXRoU2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlRm9yTG9nZ2VkSW5Vc2VyPzogQXV0aFVzZXJTdGF0ZU9ic0Z1bmN0aW9uO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBhbHRlcm5hdGl2ZSB0byBzdXBwbHlpbmcgYXV0aFVzZXJTdGF0ZU9icy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW4/OiBTdGF0ZUZyb21Ub2tlbkZ1bmN0aW9uO1xuICAvKipcbiAgICogQ2xhaW1zIHNlcnZpY2UgdG8gdXNlIGZvciBkZWNvZGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGNsYWltc1NlcnZpY2U6IEF1dGhSb2xlQ2xhaW1zU2VydmljZTxUPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsc28gYWRkIHRoZSBjdXJyZW50IEF1dGhVc2VyU3RhdGUgdmFsdWUgdG8gZGVjb2RlZCByb2xlcy5cbiAgICovXG4gIHJlYWRvbmx5IGFkZEF1dGhVc2VyU3RhdGVUb1JvbGVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1dGhSb2xlc09ic1dpdGhDbGFpbXNTZXJ2aWNlPFQgZXh0ZW5kcyBBdXRoQ2xhaW1zT2JqZWN0Pihjb25maWc6IEF1dGhSb2xlc09ic1dpdGhDbGFpbXNTZXJ2aWNlQ29uZmlnPFQ+KTogKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpID0+IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+IHtcbiAgY29uc3QgeyBhZGRBdXRoVXNlclN0YXRlVG9Sb2xlczogYWRkQXV0aFVzZXJTdGF0ZSwgY2xhaW1zU2VydmljZSB9ID0gY29uZmlnO1xuXG4gIHJldHVybiAoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+ID0+IHtcbiAgICBsZXQgb2JzID0gZGJ4RmlyZWJhc2VBdXRoU2VydmljZS5pZFRva2VuUmVzdWx0JC5waXBlKG1hcCgoeCkgPT4gY2xhaW1zU2VydmljZS50b1JvbGVzKHguY2xhaW1zIGFzIEF1dGhDbGFpbXM8VD4pKSk7XG5cbiAgICBpZiAoYWRkQXV0aFVzZXJTdGF0ZSkge1xuICAgICAgb2JzID0gb2JzLnBpcGUoc3dpdGNoTWFwKChhdXRoUm9sZVNldDogQXV0aFJvbGVTZXQpID0+IGRieEZpcmViYXNlQXV0aFNlcnZpY2UuYXV0aFVzZXJTdGF0ZSQucGlwZShtYXAoKHVzZXJTdGF0ZSkgPT4gYWRkVG9TZXRDb3B5KGF1dGhSb2xlU2V0LCBbdXNlclN0YXRlXSkpKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBvYnM7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIERlZmF1bHREYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGVXaXRoQ2xhaW1zU2VydmljZUNvbmZpZzxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdD4gPSBBdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZUNvbmZpZzxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHREYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGVXaXRoQ2xhaW1zU2VydmljZTxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdD4oY29uZmlnOiBEZWZhdWx0RGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlV2l0aENsYWltc1NlcnZpY2VDb25maWc8VD4pOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUge1xuICBpZiAoZmlsdGVyTWF5YmVBcnJheVZhbHVlcyhbY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyLCBjb25maWcuc3RhdGVGb3JMb2dnZWRJblVzZXJUb2tlbiwgY29uZmlnLmF1dGhVc2VyU3RhdGVPYnNdKS5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSBhIGNvbWJpbmF0aW9uIG9mIFwic3RhdGVGb3JMb2dnZWRJblVzZXJUb2tlblwiLCBcInN0YXRlRm9yTG9nZ2VkSW5Vc2VyXCIgYW5kIFwiYXV0aFVzZXJTdGF0ZU9ic1wiLiBNdXN0IHNwZWNpZnkgb25lIGF0IG1heC4nKTtcbiAgfVxuXG4gIGNvbnN0IGF1dGhVc2VyU3RhdGVPYnMgPSBjb25maWcuYXV0aFVzZXJTdGF0ZU9icyA/PyBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2VGdW5jdGlvbihjb25maWcuc3RhdGVGb3JMb2dnZWRJblVzZXJUb2tlbiA/IHN0YXRlRnJvbVRva2VuRm9yTG9nZ2VkSW5Vc2VyRnVuY3Rpb24oY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW4pIDogY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyKTtcblxuICByZXR1cm4ge1xuICAgIGF1dGhVc2VyU3RhdGVPYnMsXG4gICAgaXNBZG1pbkluQXV0aFJvbGVTZXQ6IGNvbmZpZy5pc0FkbWluSW5BdXRoUm9sZVNldCA/PyBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEUuaXNBZG1pbkluQXV0aFJvbGVTZXQsXG4gICAgYXV0aFJvbGVzT2JzOiBhdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZShjb25maWcpLFxuICAgIGlzT25ib2FyZGVkOiBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEUuaXNPbmJvYXJkZWQsXG4gICAgYXV0aFJvbGVDbGFpbXNTZXJ2aWNlOiBjb25maWcuY2xhaW1zU2VydmljZSBhcyB1bmtub3duIGFzIEF1dGhSb2xlQ2xhaW1zU2VydmljZTxBdXRoQ2xhaW1zT2JqZWN0PlxuICB9O1xufVxuIl19
@@ -156,10 +156,10 @@ export class DbxFirebaseAuthService {
156
156
  }
157
157
  })));
158
158
  }
159
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
160
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseAuthService });
159
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
160
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseAuthService });
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseAuthService, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseAuthService, decorators: [{
163
163
  type: Injectable
164
164
  }] });
165
165
  /**
@@ -190,4 +190,4 @@ export function dbxFirebaseAuthContextInfo(service, user, jwtToken) {
190
190
  };
191
191
  return result;
192
192
  }
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN2TCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFFLGVBQWUsRUFBdUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQWtCLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDalcsT0FBTyxFQUFFLEVBQUUsRUFBYyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1SCxPQUFPLEVBQW9FLGVBQWUsRUFBRSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUFnQix3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBUXBGLGlCQUFpQjtBQUNqQixNQUFNLE9BQWdCLDhCQUE4QjtJQUN6Qyww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LENBQUMsQ0FBYyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ3ZEO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQzthQUNyRDtRQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBMU1VLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOztBQXVOWDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE9BQStCLEVBQUUsSUFBVSxFQUFFLFFBQXVCO0lBQzdHLFNBQVMsU0FBUztRQUNoQixPQUFPLFFBQVEsQ0FBQyxNQUF1QixDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLE1BQU0sS0FBSyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVqRixNQUFNLE1BQU0sR0FBK0I7UUFDekMsT0FBTztRQUNQLElBQUk7UUFDSixRQUFRO1FBRVIsR0FBRztRQUVILE9BQU87UUFDUCxTQUFTO1FBQ1QsWUFBWTtRQUVaLEtBQUs7S0FDTixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlck1heWJlLCBpc05vdCwgdGltZW91dFN0YXJ0V2l0aCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoVXNlclN0YXRlLCBEYnhBdXRoU2VydmljZSwgbG9nZ2VkT3V0T2JzRnJvbUlzTG9nZ2VkSW4sIGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4sIEF1dGhVc2VySWRlbnRpZmllciwgYXV0aFVzZXJJZGVudGlmaWVyLCBOb0F1dGhVc2VySWRlbnRpZmllciB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IHJlYXV0aGVudGljYXRlV2l0aFBvcHVwLCBBdXRoLCBhdXRoU3RhdGUsIGlkVG9rZW4sIFVzZXIsIElkVG9rZW5SZXN1bHQsIFBhcnNlZFRva2VuLCBHb29nbGVBdXRoUHJvdmlkZXIsIHNpZ25JbldpdGhQb3B1cCwgQXV0aFByb3ZpZGVyLCBQb3B1cFJlZGlyZWN0UmVzb2x2ZXIsIHNpZ25JbkFub255bW91c2x5LCBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCwgVXNlckNyZWRlbnRpYWwsIEZhY2Vib29rQXV0aFByb3ZpZGVyLCBHaXRodWJBdXRoUHJvdmlkZXIsIFR3aXR0ZXJBdXRoUHJvdmlkZXIsIGNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBvZiwgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5LCBtYXAsIHN3aXRjaE1hcCwgZmlyc3RWYWx1ZUZyb20sIGNhdGNoRXJyb3IsIEVNUFRZIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoQ2xhaW1zLCBBdXRoQ2xhaW1zT2JqZWN0LCBBdXRoUm9sZUNsYWltc1NlcnZpY2UsIEF1dGhSb2xlU2V0LCBBVVRIX0FETUlOX1JPTEUsIGNhY2hlZEdldHRlciwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQXV0aFVzZXJJbmZvLCBhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIsIGZpcmViYXNlQXV0aFRva2VuRnJvbVVzZXIgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7IHNlbmRQYXNzd29yZFJlc2V0RW1haWwgfSBmcm9tICdmaXJlYmFzZS9hdXRoJztcbmltcG9ydCB7IGF1dGhVc2VyU3RhdGVGcm9tRmlyZWJhc2VBdXRoU2VydmljZUZ1bmN0aW9uIH0gZnJvbSAnLi9maXJlYmFzZS5hdXRoLnJ4anMnO1xuaW1wb3J0IHsgRmlyZWJhc2VBdXRoQ29udGV4dEluZm8gfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgcmV0dXJucyB0aGUgc3RhdGUgb2YgdGhlXG4gKi9cbmV4cG9ydCB0eXBlIEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbiA9IChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKSA9PiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuXG4vLyBNQVJLOiBEZWxlZ2F0ZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSB7XG4gIHJlYWRvbmx5IGZ1bGxDb250cm9sT2ZBdXRoVXNlclN0YXRlPzogYm9vbGVhbiA9IGZhbHNlO1xuICBhYnN0cmFjdCBhdXRoVXNlclN0YXRlT2JzOiBBdXRoVXNlclN0YXRlT2JzRnVuY3Rpb247XG4gIGFic3RyYWN0IGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD47XG4gIGFic3RyYWN0IGlzT25ib2FyZGVkKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGlucHV0IHJvbGVzIGltcGx5IHRoZSBhZG1pbiBwcml2aWxlZGdlcy5cbiAgICovXG4gIGFic3RyYWN0IGlzQWRtaW5JbkF1dGhSb2xlU2V0KGF1dGhSb2xlU2V0OiBBdXRoUm9sZVNldCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGF1dGhSb2xlQ2xhaW1zU2VydmljZT86IE1heWJlPEF1dGhSb2xlQ2xhaW1zU2VydmljZTxBdXRoQ2xhaW1zT2JqZWN0Pj47XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEU6IERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSA9IHtcbiAgYXV0aFVzZXJTdGF0ZU9iczogYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24oKSxcbiAgYXV0aFJvbGVzT2JzKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiB7XG4gICAgcmV0dXJuIGRieEZpcmViYXNlQXV0aFNlcnZpY2UuYXV0aFVzZXJTdGF0ZSQucGlwZShtYXAoKHgpID0+ICh4ID09PSAndXNlcicgPyBuZXcgU2V0KFsndXNlciddKSA6IG5ldyBTZXQoKSkpKTtcbiAgfSxcbiAgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4ID09PSAndXNlcicpKTtcbiAgfSxcbiAgaXNBZG1pbkluQXV0aFJvbGVTZXQoYXV0aFJvbGVTZXQ6IEF1dGhSb2xlU2V0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGF1dGhSb2xlU2V0LmhhcyhBVVRIX0FETUlOX1JPTEUpO1xuICB9XG59O1xuXG4vLyBNQVJLOiBTZXJ2aWNlXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VBdXRoU2VydmljZSBpbXBsZW1lbnRzIERieEF1dGhTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZmlyZWJhc2VBdXRoID0gaW5qZWN0KEF1dGgpO1xuICByZWFkb25seSBkZWxlZ2F0ZSA9IGluamVjdChEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFO1xuXG4gIHJlYWRvbmx5IF9hdXRoU3RhdGUkOiBPYnNlcnZhYmxlPE1heWJlPFVzZXI+PiA9IGF1dGhTdGF0ZSh0aGlzLmZpcmViYXNlQXV0aCk7XG5cbiAgcmVhZG9ubHkgY3VycmVudEF1dGhVc2VyJDogT2JzZXJ2YWJsZTxNYXliZTxVc2VyPj4gPSB0aGlzLl9hdXRoU3RhdGUkLnBpcGUodGltZW91dFN0YXJ0V2l0aChudWxsIGFzIE1heWJlPFVzZXI+LCAxMDAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBjdXJyZW50QXV0aFVzZXJJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxBdXRoVXNlckluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCgoeCkgPT4gKHggPyBhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIoeCkgOiB1bmRlZmluZWQpKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXIkOiBPYnNlcnZhYmxlPFVzZXI+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IGF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8QXV0aFVzZXJJbmZvPiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUobWFwKGF1dGhVc2VySW5mb0Zyb21BdXRoVXNlcikpO1xuXG4gIHJlYWRvbmx5IGhhc0F1dGhVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGlzQW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5pc0Fub255bW91cyksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpc05vdEFub255bW91c1VzZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0Fub255bW91c1VzZXIkLnBpcGUoaXNOb3QoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGlzTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5oYXNBdXRoVXNlciQ7XG4gIHJlYWRvbmx5IGlzTm90TG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0xvZ2dlZEluJC5waXBlKGlzTm90KCkpO1xuICByZWFkb25seSBvbkxvZ0luJDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4odGhpcy5pc0xvZ2dlZEluJCk7XG4gIHJlYWRvbmx5IG9uTG9nT3V0JDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRVaWQkOiBPYnNlcnZhYmxlPE1heWJlPEF1dGhVc2VySWRlbnRpZmllcj4+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py51aWQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSB1aWQkOiBPYnNlcnZhYmxlPEF1dGhVc2VySWRlbnRpZmllciB8IE5vQXV0aFVzZXJJZGVudGlmaWVyPiA9IHRoaXMuY3VycmVudFVpZCQucGlwZShtYXAoYXV0aFVzZXJJZGVudGlmaWVyKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICAvKipcbiAgICogQWxpYXMgZm9yIHVpZCRcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJJZGVudGlmaWVyJDogT2JzZXJ2YWJsZTxBdXRoVXNlcklkZW50aWZpZXIgfCBOb0F1dGhVc2VySWRlbnRpZmllcj4gPSB0aGlzLnVpZCQ7XG5cbiAgcmVhZG9ubHkgY3VycmVudElkVG9rZW5TdHJpbmckOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gaWRUb2tlbih0aGlzLmZpcmViYXNlQXV0aCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGlkVG9rZW5TdHJpbmckOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmN1cnJlbnRVaWQkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiAoeCA/IHRoaXMuY3VycmVudElkVG9rZW5TdHJpbmckLnBpcGUoZmlsdGVyTWF5YmUoKSkgOiBFTVBUWSkpKTtcblxuICByZWFkb25seSBjdXJyZW50SWRUb2tlblJlc3VsdCQ6IE9ic2VydmFibGU8TWF5YmU8SWRUb2tlblJlc3VsdD4+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiAoeCA/IHRoaXMuY3VycmVudElkVG9rZW5TdHJpbmckLnBpcGUoc3dpdGNoTWFwKCh5KSA9PiAoeSA/IHguZ2V0SWRUb2tlblJlc3VsdCgpIDogb2YobnVsbCkpKSkgOiBvZihudWxsKSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgaWRUb2tlblJlc3VsdCQ6IE9ic2VydmFibGU8SWRUb2tlblJlc3VsdD4gPSB0aGlzLmN1cnJlbnRJZFRva2VuUmVzdWx0JC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRDbGFpbXMkOiBPYnNlcnZhYmxlPE1heWJlPFBhcnNlZFRva2VuPj4gPSB0aGlzLmN1cnJlbnRJZFRva2VuUmVzdWx0JC5waXBlKFxuICAgIG1hcCgoeCkgPT4gKHggPyB4LmNsYWltcyA6IG51bGwpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGNsYWltcyQ6IE9ic2VydmFibGU8UGFyc2VkVG9rZW4+ID0gdGhpcy5jdXJyZW50Q2xhaW1zJC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoQ29udGV4dEluZm8kOiBPYnNlcnZhYmxlPE1heWJlPERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHRoaXMubG9hZEF1dGhDb250ZXh0SW5mb0ZvclVzZXIoeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGF1dGhDb250ZXh0SW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhDb250ZXh0SW5mbyQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBhdXRoVXNlclN0YXRlJDogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPiA9ICgoKSA9PiB7XG4gICAgY29uc3QgZGVsZWdhdGVBdXRoVXNlclN0YXRlT2JzOiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+ID0gdGhpcy5kZWxlZ2F0ZS5hdXRoVXNlclN0YXRlT2JzKHRoaXMpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKCdlcnJvcicgYXMgQXV0aFVzZXJTdGF0ZSkpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIGxldCBvYnM6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT47XG5cbiAgICBpZiAodGhpcy5kZWxlZ2F0ZS5mdWxsQ29udHJvbE9mQXV0aFVzZXJTdGF0ZSkge1xuICAgICAgb2JzID0gZGVsZWdhdGVBdXRoVXNlclN0YXRlT2JzO1xuICAgIH0gZWxzZSB7XG4gICAgICBvYnMgPSB0aGlzLl9hdXRoU3RhdGUkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgICAgIGlmICh4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWxlZ2F0ZUF1dGhVc2VyU3RhdGVPYnM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZignbm9uZScgYXMgQXV0aFVzZXJTdGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JzO1xuICB9KSgpO1xuXG4gIHJlYWRvbmx5IGF1dGhSb2xlcyQ6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+ID0gdGhpcy5kZWxlZ2F0ZS5hdXRoUm9sZXNPYnModGhpcyk7XG4gIHJlYWRvbmx5IGlzT25ib2FyZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZGVsZWdhdGUuaXNPbmJvYXJkZWQodGhpcyk7XG5cbiAgcHJpdmF0ZSBfYXV0aFJvbGVDbGFpbXNTZXJ2aWNlPzogTWF5YmU8QXV0aFJvbGVDbGFpbXNTZXJ2aWNlPEF1dGhDbGFpbXNPYmplY3Q+PiA9IHRoaXMuZGVsZWdhdGUuYXV0aFJvbGVDbGFpbXNTZXJ2aWNlO1xuICByZWFkb25seSBpc0FkbWluSW5BdXRoUm9sZVNldDogKGF1dGhSb2xlU2V0OiBBdXRoUm9sZVNldCkgPT4gYm9vbGVhbiA9IHRoaXMuZGVsZWdhdGUuaXNBZG1pbkluQXV0aFJvbGVTZXQ7XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8SWRUb2tlblJlc3VsdD4ge1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmZpcmViYXNlQXV0aC5jdXJyZW50VXNlcjtcblxuICAgIGlmICghdXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdubyB1c2VyIHRvIHJlZnJlc2ggdGhlIHRva2VuIGZvci4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlci5nZXRJZFRva2VuUmVzdWx0KHRydWUpO1xuICB9XG5cbiAgcm9sZXNGb3JDbGFpbXM8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3QgPSBBdXRoQ2xhaW1zT2JqZWN0PihjbGFpbXM6IEF1dGhDbGFpbXM8VD4pOiBBdXRoUm9sZVNldCB7XG4gICAgbGV0IHJlc3VsdDogQXV0aFJvbGVTZXQ7XG5cbiAgICBpZiAodGhpcy5fYXV0aFJvbGVDbGFpbXNTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFJvbGVDbGFpbXNTZXJ2aWNlLnRvUm9sZXMoY2xhaW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiByb2xlc0ZvckNsYWltcyBjYWxsZWQgd2l0aCBubyBhdXRoUm9sZUNsYWltc1NlcnZpY2UgcHJvdmlkZWQuIEFuIGVtcHR5IHNldCBpcyByZXR1cm5lZC4nKTtcbiAgICAgIHJlc3VsdCA9IG5ldyBTZXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0QXV0aENvbnRleHRJbmZvKCk6IFByb21pc2U8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuYXV0aFVzZXIkKS50aGVuKCh1c2VyKSA9PiB0aGlzLmxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHVzZXIpKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHVzZXI6IE1heWJlPFVzZXI+KTogUHJvbWlzZTxNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz4+IHtcbiAgICBsZXQgcmVzdWx0OiBNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz47XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgY29uc3Qgand0VG9rZW46IElkVG9rZW5SZXN1bHQgPSBhd2FpdCB1c2VyLmdldElkVG9rZW5SZXN1bHQoKTtcbiAgICAgIHJlc3VsdCA9IGRieEZpcmViYXNlQXV0aENvbnRleHRJbmZvKHRoaXMsIHVzZXIsIGp3dFRva2VuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgbG9nSW5XaXRoR29vZ2xlKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgR29vZ2xlQXV0aFByb3ZpZGVyKCkpO1xuICB9XG5cbiAgbG9nSW5XaXRoRmFjZWJvb2soKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBGYWNlYm9va0F1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aFR3aXR0ZXIoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBUd2l0dGVyQXV0aFByb3ZpZGVyKCkpO1xuICB9XG5cbiAgbG9nSW5XaXRoR2l0aHViKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgR2l0aHViQXV0aFByb3ZpZGVyKCkpO1xuICB9XG5cbiAgbG9nSW5XaXRoQXBwbGUoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndG9kbycpO1xuICB9XG5cbiAgbG9nSW5XaXRoTWljcm9zb2Z0KCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICAvLyByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgTWljcm9zb2Z0QXV0aFByb3ZpZGVyKCkpO1xuICAgIHRocm93IG5ldyBFcnJvcigndG9kbycpO1xuICB9XG5cbiAgbG9nSW5XaXRoUGhvbmUoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndG9kbycpO1xuICAgIC8vIHJldHVybiBzaWduSW5XaXRoUGhvbmVOdW1iZXIodGhpcy5maXJlYmFzZUF1dGgsIClcbiAgfVxuXG4gIGxvZ0luV2l0aFBvcHVwKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIsIHJlc29sdmVyPzogUG9wdXBSZWRpcmVjdFJlc29sdmVyKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5XaXRoUG9wdXAodGhpcy5maXJlYmFzZUF1dGgsIHByb3ZpZGVyLCByZXNvbHZlcik7XG4gIH1cblxuICByZWdpc3RlcldpdGhFbWFpbEFuZFBhc3N3b3JkKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIGNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIHNlbmRQYXNzd29yZFJlc2V0RW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBzZW5kUGFzc3dvcmRSZXNldEVtYWlsKHRoaXMuZmlyZWJhc2VBdXRoLCBlbWFpbCk7XG4gIH1cblxuICBsb2dJbldpdGhFbWFpbEFuZFBhc3N3b3JkKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkKHRoaXMuZmlyZWJhc2VBdXRoLCBlbWFpbCwgcGFzc3dvcmQpO1xuICB9XG5cbiAgbG9nSW5Bc0Fub255bW91cygpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHNpZ25JbkFub255bW91c2x5KHRoaXMuZmlyZWJhc2VBdXRoKTtcbiAgfVxuXG4gIGxvZ091dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5maXJlYmFzZUF1dGguc2lnbk91dCgpO1xuICB9XG5cbiAgcmVhdXRoZW50aWNhdGVXaXRoUG9wdXAocHJvdmlkZXI6IEF1dGhQcm92aWRlciwgcmVzb2x2ZXI/OiBQb3B1cFJlZGlyZWN0UmVzb2x2ZXIpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoeDogTWF5YmU8VXNlcj4pID0+IHtcbiAgICAgICAgICBpZiAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlYXV0aGVudGljYXRlV2l0aFBvcHVwKHgsIHByb3ZpZGVyLCByZXNvbHZlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVXNlciBpcyBub3QgbG9nZ2VkIGluIGN1cnJlbnRseS4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpcmViYXNlQXV0aENvbnRleHRJbmZvIGltcGxlbWVudGF0aW9uIGZyb20gRGJ4RmlyZWJhc2VBdXRoU2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyBleHRlbmRzIEZpcmViYXNlQXV0aENvbnRleHRJbmZvIHtcbiAgcmVhZG9ubHkgc2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZTtcbiAgcmVhZG9ubHkgdXNlcjogVXNlcjtcbiAgcmVhZG9ubHkgand0VG9rZW46IElkVG9rZW5SZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gc2VydmljZVxuICogQHBhcmFtIHVzZXJcbiAqIEBwYXJhbSBqd3RUb2tlblxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRieEZpcmViYXNlQXV0aENvbnRleHRJbmZvKHNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UsIHVzZXI6IFVzZXIsIGp3dFRva2VuOiBJZFRva2VuUmVzdWx0KTogRGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8ge1xuICBmdW5jdGlvbiBnZXRDbGFpbXM8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3QgPSBBdXRoQ2xhaW1zT2JqZWN0PigpOiBBdXRoQ2xhaW1zPFQ+IHtcbiAgICByZXR1cm4gand0VG9rZW4uY2xhaW1zIGFzIEF1dGhDbGFpbXM8VD47XG4gIH1cblxuICBjb25zdCB7IHVpZCB9ID0gdXNlcjtcbiAgY29uc3QgdG9rZW4gPSBmaXJlYmFzZUF1dGhUb2tlbkZyb21Vc2VyKHVzZXIpO1xuICBjb25zdCBnZXRBdXRoUm9sZXMgPSBjYWNoZWRHZXR0ZXIoKCkgPT4gc2VydmljZS5yb2xlc0ZvckNsYWltcyhnZXRDbGFpbXMoKSkpO1xuICBjb25zdCBpc0FkbWluID0gY2FjaGVkR2V0dGVyKCgpID0+IHNlcnZpY2UuaXNBZG1pbkluQXV0aFJvbGVTZXQoZ2V0QXV0aFJvbGVzKCkpKTtcblxuICBjb25zdCByZXN1bHQ6IERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvID0ge1xuICAgIHNlcnZpY2UsXG4gICAgdXNlcixcbiAgICBqd3RUb2tlbixcblxuICAgIHVpZCxcblxuICAgIGlzQWRtaW4sXG4gICAgZ2V0Q2xhaW1zLFxuICAgIGdldEF1dGhSb2xlcyxcblxuICAgIHRva2VuXG4gIH07XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN2TCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFFLGVBQWUsRUFBdUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQWtCLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDalcsT0FBTyxFQUFFLEVBQUUsRUFBYyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1SCxPQUFPLEVBQW9FLGVBQWUsRUFBRSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUFnQix3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBUXBGLGlCQUFpQjtBQUNqQixNQUFNLE9BQWdCLDhCQUE4QjtJQUN6Qyww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QUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSwgaXNOb3QsIHRpbWVvdXRTdGFydFdpdGggfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFVzZXJTdGF0ZSwgRGJ4QXV0aFNlcnZpY2UsIGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluLCBsb2dnZWRJbk9ic0Zyb21Jc0xvZ2dlZEluLCBBdXRoVXNlcklkZW50aWZpZXIsIGF1dGhVc2VySWRlbnRpZmllciwgTm9BdXRoVXNlcklkZW50aWZpZXIgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCwgQXV0aCwgYXV0aFN0YXRlLCBpZFRva2VuLCBVc2VyLCBJZFRva2VuUmVzdWx0LCBQYXJzZWRUb2tlbiwgR29vZ2xlQXV0aFByb3ZpZGVyLCBzaWduSW5XaXRoUG9wdXAsIEF1dGhQcm92aWRlciwgUG9wdXBSZWRpcmVjdFJlc29sdmVyLCBzaWduSW5Bbm9ueW1vdXNseSwgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQsIFVzZXJDcmVkZW50aWFsLCBGYWNlYm9va0F1dGhQcm92aWRlciwgR2l0aHViQXV0aFByb3ZpZGVyLCBUd2l0dGVyQXV0aFByb3ZpZGVyLCBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQgfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgbWFwLCBzd2l0Y2hNYXAsIGZpcnN0VmFsdWVGcm9tLCBjYXRjaEVycm9yLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aENsYWltcywgQXV0aENsYWltc09iamVjdCwgQXV0aFJvbGVDbGFpbXNTZXJ2aWNlLCBBdXRoUm9sZVNldCwgQVVUSF9BRE1JTl9ST0xFLCBjYWNoZWRHZXR0ZXIsIHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEF1dGhVc2VySW5mbywgYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyLCBmaXJlYmFzZUF1dGhUb2tlbkZyb21Vc2VyIH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBzZW5kUGFzc3dvcmRSZXNldEVtYWlsIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2VGdW5jdGlvbiB9IGZyb20gJy4vZmlyZWJhc2UuYXV0aC5yeGpzJztcbmltcG9ydCB7IEZpcmViYXNlQXV0aENvbnRleHRJbmZvIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgdGhlIHN0YXRlIG9mIHRoZVxuICovXG5leHBvcnQgdHlwZSBBdXRoVXNlclN0YXRlT2JzRnVuY3Rpb24gPSAoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSkgPT4gT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPjtcblxuLy8gTUFSSzogRGVsZWdhdGVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUge1xuICByZWFkb25seSBmdWxsQ29udHJvbE9mQXV0aFVzZXJTdGF0ZT86IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWJzdHJhY3QgYXV0aFVzZXJTdGF0ZU9iczogQXV0aFVzZXJTdGF0ZU9ic0Z1bmN0aW9uO1xuICBhYnN0cmFjdCBhdXRoUm9sZXNPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+O1xuICBhYnN0cmFjdCBpc09uYm9hcmRlZChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnB1dCByb2xlcyBpbXBseSB0aGUgYWRtaW4gcHJpdmlsZWRnZXMuXG4gICAqL1xuICBhYnN0cmFjdCBpc0FkbWluSW5BdXRoUm9sZVNldChhdXRoUm9sZVNldDogQXV0aFJvbGVTZXQpOiBib29sZWFuO1xuICBhYnN0cmFjdCBhdXRoUm9sZUNsYWltc1NlcnZpY2U/OiBNYXliZTxBdXRoUm9sZUNsYWltc1NlcnZpY2U8QXV0aENsYWltc09iamVjdD4+O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUgPSB7XG4gIGF1dGhVc2VyU3RhdGVPYnM6IGF1dGhVc2VyU3RhdGVGcm9tRmlyZWJhc2VBdXRoU2VydmljZUZ1bmN0aW9uKCksXG4gIGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh4KSA9PiAoeCA9PT0gJ3VzZXInID8gbmV3IFNldChbJ3VzZXInXSkgOiBuZXcgU2V0KCkpKSk7XG4gIH0sXG4gIGlzT25ib2FyZGVkKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gZGJ4RmlyZWJhc2VBdXRoU2VydmljZS5hdXRoVXNlclN0YXRlJC5waXBlKG1hcCgoeCkgPT4geCA9PT0gJ3VzZXInKSk7XG4gIH0sXG4gIGlzQWRtaW5JbkF1dGhSb2xlU2V0KGF1dGhSb2xlU2V0OiBBdXRoUm9sZVNldCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhdXRoUm9sZVNldC5oYXMoQVVUSF9BRE1JTl9ST0xFKTtcbiAgfVxufTtcblxuLy8gTUFSSzogU2VydmljZVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBEYnhBdXRoU2VydmljZSB7XG4gIHJlYWRvbmx5IGZpcmViYXNlQXV0aCA9IGluamVjdChBdXRoKTtcbiAgcmVhZG9ubHkgZGVsZWdhdGUgPSBpbmplY3QoRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IERFRkFVTFRfREJYX0ZJUkVCQVNFX0FVVEhfU0VSVklDRV9ERUxFR0FURTtcblxuICByZWFkb25seSBfYXV0aFN0YXRlJDogT2JzZXJ2YWJsZTxNYXliZTxVc2VyPj4gPSBhdXRoU3RhdGUodGhpcy5maXJlYmFzZUF1dGgpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoVXNlciQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKHRpbWVvdXRTdGFydFdpdGgobnVsbCBhcyBNYXliZTxVc2VyPiwgMTAwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgY3VycmVudEF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8QXV0aFVzZXJJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShtYXAoKHgpID0+ICh4ID8gYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyKHgpIDogdW5kZWZpbmVkKSkpO1xuXG4gIHJlYWRvbmx5IGF1dGhVc2VyJDogT2JzZXJ2YWJsZTxVc2VyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKGZpbHRlck1heWJlKCkpO1xuICByZWFkb25seSBhdXRoVXNlckluZm8kOiBPYnNlcnZhYmxlPEF1dGhVc2VySW5mbz4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKG1hcChhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIpKTtcblxuICByZWFkb25seSBoYXNBdXRoVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc0Fub255bW91c1VzZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaXNBbm9ueW1vdXMpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgaXNOb3RBbm9ueW1vdXNVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNBbm9ueW1vdXNVc2VyJC5waXBlKGlzTm90KCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzQXV0aFVzZXIkO1xuICByZWFkb25seSBpc05vdExvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNMb2dnZWRJbiQucGlwZShpc05vdCgpKTtcbiAgcmVhZG9ubHkgb25Mb2dJbiQ6IE9ic2VydmFibGU8dm9pZD4gPSBsb2dnZWRJbk9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuICByZWFkb25seSBvbkxvZ091dCQ6IE9ic2VydmFibGU8dm9pZD4gPSBsb2dnZWRPdXRPYnNGcm9tSXNMb2dnZWRJbih0aGlzLmlzTG9nZ2VkSW4kKTtcblxuICByZWFkb25seSBjdXJyZW50VWlkJDogT2JzZXJ2YWJsZTxNYXliZTxBdXRoVXNlcklkZW50aWZpZXI+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geD8udWlkKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgdWlkJDogT2JzZXJ2YWJsZTxBdXRoVXNlcklkZW50aWZpZXIgfCBOb0F1dGhVc2VySWRlbnRpZmllcj4gPSB0aGlzLmN1cnJlbnRVaWQkLnBpcGUobWFwKGF1dGhVc2VySWRlbnRpZmllciksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgLyoqXG4gICAqIEFsaWFzIGZvciB1aWQkXG4gICAqL1xuICByZWFkb25seSB1c2VySWRlbnRpZmllciQ6IE9ic2VydmFibGU8QXV0aFVzZXJJZGVudGlmaWVyIHwgTm9BdXRoVXNlcklkZW50aWZpZXI+ID0gdGhpcy51aWQkO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRJZFRva2VuU3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IGlkVG9rZW4odGhpcy5maXJlYmFzZUF1dGgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBpZFRva2VuU3RyaW5nJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5jdXJyZW50VWlkJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4gKHggPyB0aGlzLmN1cnJlbnRJZFRva2VuU3RyaW5nJC5waXBlKGZpbHRlck1heWJlKCkpIDogRU1QVFkpKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudElkVG9rZW5SZXN1bHQkOiBPYnNlcnZhYmxlPE1heWJlPElkVG9rZW5SZXN1bHQ+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4gKHggPyB0aGlzLmN1cnJlbnRJZFRva2VuU3RyaW5nJC5waXBlKHN3aXRjaE1hcCgoeSkgPT4gKHkgPyB4LmdldElkVG9rZW5SZXN1bHQoKSA6IG9mKG51bGwpKSkpIDogb2YobnVsbCkpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGlkVG9rZW5SZXN1bHQkOiBPYnNlcnZhYmxlPElkVG9rZW5SZXN1bHQ+ID0gdGhpcy5jdXJyZW50SWRUb2tlblJlc3VsdCQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50Q2xhaW1zJDogT2JzZXJ2YWJsZTxNYXliZTxQYXJzZWRUb2tlbj4+ID0gdGhpcy5jdXJyZW50SWRUb2tlblJlc3VsdCQucGlwZShcbiAgICBtYXAoKHgpID0+ICh4ID8geC5jbGFpbXMgOiBudWxsKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBjbGFpbXMkOiBPYnNlcnZhYmxlPFBhcnNlZFRva2VuPiA9IHRoaXMuY3VycmVudENsYWltcyQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aENvbnRleHRJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz4+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBhdXRoQ29udGV4dEluZm8kOiBPYnNlcnZhYmxlPE1heWJlPERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoQ29udGV4dEluZm8kLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXJTdGF0ZSQ6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT4gPSAoKCkgPT4ge1xuICAgIGNvbnN0IGRlbGVnYXRlQXV0aFVzZXJTdGF0ZU9iczogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPiA9IHRoaXMuZGVsZWdhdGUuYXV0aFVzZXJTdGF0ZU9icyh0aGlzKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZignZXJyb3InIGFzIEF1dGhVc2VyU3RhdGUpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuXG4gICAgaWYgKHRoaXMuZGVsZWdhdGUuZnVsbENvbnRyb2xPZkF1dGhVc2VyU3RhdGUpIHtcbiAgICAgIG9icyA9IGRlbGVnYXRlQXV0aFVzZXJTdGF0ZU9icztcbiAgICB9IGVsc2Uge1xuICAgICAgb2JzID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKHgpID0+IHtcbiAgICAgICAgICBpZiAoeCAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVsZWdhdGVBdXRoVXNlclN0YXRlT2JzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoJ25vbmUnIGFzIEF1dGhVc2VyU3RhdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9icztcbiAgfSkoKTtcblxuICByZWFkb25seSBhdXRoUm9sZXMkOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiA9IHRoaXMuZGVsZWdhdGUuYXV0aFJvbGVzT2JzKHRoaXMpO1xuICByZWFkb25seSBpc09uYm9hcmRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRlbGVnYXRlLmlzT25ib2FyZGVkKHRoaXMpO1xuXG4gIHByaXZhdGUgX2F1dGhSb2xlQ2xhaW1zU2VydmljZT86IE1heWJlPEF1dGhSb2xlQ2xhaW1zU2VydmljZTxBdXRoQ2xhaW1zT2JqZWN0Pj4gPSB0aGlzLmRlbGVnYXRlLmF1dGhSb2xlQ2xhaW1zU2VydmljZTtcbiAgcmVhZG9ubHkgaXNBZG1pbkluQXV0aFJvbGVTZXQ6IChhdXRoUm9sZVNldDogQXV0aFJvbGVTZXQpID0+IGJvb2xlYW4gPSB0aGlzLmRlbGVnYXRlLmlzQWRtaW5JbkF1dGhSb2xlU2V0O1xuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPElkVG9rZW5SZXN1bHQ+IHtcbiAgICBjb25zdCB1c2VyID0gdGhpcy5maXJlYmFzZUF1dGguY3VycmVudFVzZXI7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gdXNlciB0byByZWZyZXNoIHRoZSB0b2tlbiBmb3IuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXIuZ2V0SWRUb2tlblJlc3VsdCh0cnVlKTtcbiAgfVxuXG4gIHJvbGVzRm9yQ2xhaW1zPFQgZXh0ZW5kcyBBdXRoQ2xhaW1zT2JqZWN0ID0gQXV0aENsYWltc09iamVjdD4oY2xhaW1zOiBBdXRoQ2xhaW1zPFQ+KTogQXV0aFJvbGVTZXQge1xuICAgIGxldCByZXN1bHQ6IEF1dGhSb2xlU2V0O1xuXG4gICAgaWYgKHRoaXMuX2F1dGhSb2xlQ2xhaW1zU2VydmljZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2F1dGhSb2xlQ2xhaW1zU2VydmljZS50b1JvbGVzKGNsYWltcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignRGJ4RmlyZWJhc2VBdXRoU2VydmljZTogcm9sZXNGb3JDbGFpbXMgY2FsbGVkIHdpdGggbm8gYXV0aFJvbGVDbGFpbXNTZXJ2aWNlIHByb3ZpZGVkLiBBbiBlbXB0eSBzZXQgaXMgcmV0dXJuZWQuJyk7XG4gICAgICByZXN1bHQgPSBuZXcgU2V0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldEF1dGhDb250ZXh0SW5mbygpOiBQcm9taXNlPE1heWJlPERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvPj4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmF1dGhVc2VyJCkudGhlbigodXNlcikgPT4gdGhpcy5sb2FkQXV0aENvbnRleHRJbmZvRm9yVXNlcih1c2VyKSk7XG4gIH1cblxuICBhc3luYyBsb2FkQXV0aENvbnRleHRJbmZvRm9yVXNlcih1c2VyOiBNYXliZTxVc2VyPik6IFByb21pc2U8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiB7XG4gICAgbGV0IHJlc3VsdDogTWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+O1xuXG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIGNvbnN0IGp3dFRva2VuOiBJZFRva2VuUmVzdWx0ID0gYXdhaXQgdXNlci5nZXRJZFRva2VuUmVzdWx0KCk7XG4gICAgICByZXN1bHQgPSBkYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyh0aGlzLCB1c2VyLCBqd3RUb2tlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGxvZ0luV2l0aEdvb2dsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdvb2dsZUF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEZhY2Vib29rKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgRmFjZWJvb2tBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhUd2l0dGVyKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgVHdpdHRlckF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEdpdGh1YigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdpdGh1YkF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEFwcGxlKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aE1pY3Jvc29mdCgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgLy8gcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IE1pY3Jvc29mdEF1dGhQcm92aWRlcigpKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aFBob25lKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgICAvLyByZXR1cm4gc2lnbkluV2l0aFBob25lTnVtYmVyKHRoaXMuZmlyZWJhc2VBdXRoLCApXG4gIH1cblxuICBsb2dJbldpdGhQb3B1cChwcm92aWRlcjogQXV0aFByb3ZpZGVyLCByZXNvbHZlcj86IFBvcHVwUmVkaXJlY3RSZXNvbHZlcik6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aFBvcHVwKHRoaXMuZmlyZWJhc2VBdXRoLCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICB9XG5cbiAgcmVnaXN0ZXJXaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBzZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwpO1xuICB9XG5cbiAgbG9nSW5XaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIGxvZ0luQXNBbm9ueW1vdXMoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5Bbm9ueW1vdXNseSh0aGlzLmZpcmViYXNlQXV0aCk7XG4gIH1cblxuICBsb2dPdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25PdXQoKTtcbiAgfVxuXG4gIHJlYXV0aGVudGljYXRlV2l0aFBvcHVwKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIsIHJlc29sdmVyPzogUG9wdXBSZWRpcmVjdFJlc29sdmVyKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHg6IE1heWJlPFVzZXI+KSA9PiB7XG4gICAgICAgICAgaWYgKHgpIHtcbiAgICAgICAgICAgIHJldHVybiByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCh4LCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZXIgaXMgbm90IGxvZ2dlZCBpbiBjdXJyZW50bHkuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyBpbXBsZW1lbnRhdGlvbiBmcm9tIERieEZpcmViYXNlQXV0aFNlcnZpY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8gZXh0ZW5kcyBGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyB7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2U7XG4gIHJlYWRvbmx5IHVzZXI6IFVzZXI7XG4gIHJlYWRvbmx5IGp3dFRva2VuOiBJZFRva2VuUmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgRGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8gaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIHNlcnZpY2VcbiAqIEBwYXJhbSB1c2VyXG4gKiBAcGFyYW0gand0VG9rZW5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyhzZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLCB1c2VyOiBVc2VyLCBqd3RUb2tlbjogSWRUb2tlblJlc3VsdCk6IERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvIHtcbiAgZnVuY3Rpb24gZ2V0Q2xhaW1zPFQgZXh0ZW5kcyBBdXRoQ2xhaW1zT2JqZWN0ID0gQXV0aENsYWltc09iamVjdD4oKTogQXV0aENsYWltczxUPiB7XG4gICAgcmV0dXJuIGp3dFRva2VuLmNsYWltcyBhcyBBdXRoQ2xhaW1zPFQ+O1xuICB9XG5cbiAgY29uc3QgeyB1aWQgfSA9IHVzZXI7XG4gIGNvbnN0IHRva2VuID0gZmlyZWJhc2VBdXRoVG9rZW5Gcm9tVXNlcih1c2VyKTtcbiAgY29uc3QgZ2V0QXV0aFJvbGVzID0gY2FjaGVkR2V0dGVyKCgpID0+IHNlcnZpY2Uucm9sZXNGb3JDbGFpbXMoZ2V0Q2xhaW1zKCkpKTtcbiAgY29uc3QgaXNBZG1pbiA9IGNhY2hlZEdldHRlcigoKSA9PiBzZXJ2aWNlLmlzQWRtaW5JbkF1dGhSb2xlU2V0KGdldEF1dGhSb2xlcygpKSk7XG5cbiAgY29uc3QgcmVzdWx0OiBEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyA9IHtcbiAgICBzZXJ2aWNlLFxuICAgIHVzZXIsXG4gICAgand0VG9rZW4sXG5cbiAgICB1aWQsXG5cbiAgICBpc0FkbWluLFxuICAgIGdldENsYWltcyxcbiAgICBnZXRBdXRoUm9sZXMsXG5cbiAgICB0b2tlblxuICB9O1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { HostListener, Directive, inject } from '@angular/core';
2
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
+ import { DbxPopupService } from '@dereekb/dbx-web';
4
+ import { DbxFirebaseDevelopmentPopupComponent } from './development.popup.component';
5
+ import { DbxFirebaseDevelopmentService } from './development.service';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Directive for showing the development tools snackbar when the app opens up and listening for keybindings for opening the popup.
9
+ */
10
+ export class DbxFirebaseDevelopmentDirective {
11
+ popupService = inject(DbxPopupService);
12
+ matSnackBar = inject(MatSnackBar);
13
+ dbxFirebaseDevelopmentService = inject(DbxFirebaseDevelopmentService);
14
+ ref;
15
+ get enabled() {
16
+ return this.dbxFirebaseDevelopmentService.enabled;
17
+ }
18
+ handleKeyboardEvent(event) {
19
+ if (this.enabled && event.shiftKey && event.altKey && event.code === 'KeyD') {
20
+ this.togglePopup();
21
+ event.preventDefault();
22
+ }
23
+ }
24
+ togglePopup() {
25
+ if (this.ref) {
26
+ this.closePopup();
27
+ }
28
+ else {
29
+ this.openPopup();
30
+ }
31
+ }
32
+ openPopup() {
33
+ if (!this.ref) {
34
+ const ref = DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService);
35
+ ref.afterClosed$.subscribe(() => {
36
+ if (this.ref === ref) {
37
+ this.ref = undefined;
38
+ }
39
+ });
40
+ this.ref = ref;
41
+ }
42
+ }
43
+ closePopup() {
44
+ if (this.ref != null) {
45
+ this.ref.close();
46
+ }
47
+ }
48
+ ngAfterViewInit() {
49
+ if (this.enabled) {
50
+ this.matSnackBar
51
+ .open('Dev Tools: alt/option + shift + D', 'Open', {
52
+ horizontalPosition: 'center',
53
+ verticalPosition: 'bottom',
54
+ duration: 8 * 1000
55
+ })
56
+ .onAction()
57
+ .subscribe(() => {
58
+ this.openPopup();
59
+ });
60
+ }
61
+ }
62
+ ngOnDestroy() {
63
+ this.closePopup();
64
+ }
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDevelopmentDirective, isStandalone: true, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
69
+ type: Directive,
70
+ args: [{
71
+ selector: '[dbxFirebaseDevelopment]',
72
+ standalone: true
73
+ }]
74
+ }], propDecorators: { handleKeyboardEvent: [{
75
+ type: HostListener,
76
+ args: ['window:keydown', ['$event']]
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxZQUFZLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sK0JBQStCO0lBQ2pDLFlBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyw2QkFBNkIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUUvRSxHQUFHLENBQTBCO0lBRTdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQztJQUNwRCxDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sR0FBRyxHQUFHLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO2dCQUN2QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVztpQkFDYixJQUFJLENBQUMsbUNBQW1DLEVBQUUsTUFBTSxFQUFFO2dCQUNqRCxrQkFBa0IsRUFBRSxRQUFRO2dCQUM1QixnQkFBZ0IsRUFBRSxRQUFRO2dCQUMxQixRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUk7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7aUJBQ1YsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzt3R0EvRFUsK0JBQStCOzRGQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWFDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgRGJ4UG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RldmVsb3BtZW50LnBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZSB9IGZyb20gJy4vZGV2ZWxvcG1lbnQuc2VydmljZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciBzaG93aW5nIHRoZSBkZXZlbG9wbWVudCB0b29scyBzbmFja2JhciB3aGVuIHRoZSBhcHAgb3BlbnMgdXAgYW5kIGxpc3RlbmluZyBmb3Iga2V5YmluZGluZ3MgZm9yIG9wZW5pbmcgdGhlIHBvcHVwLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VEZXZlbG9wbWVudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGV2ZWxvcG1lbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICByZWFkb25seSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoRGJ4UG9wdXBTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgbWF0U25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICByZWFkb25seSBkYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZSA9IGluamVjdChEYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZSk7XG5cbiAgcmVmPzogTmdQb3BvdmVyUmVmPGFueSwgYW55PjtcblxuICBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZS5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlZCAmJiBldmVudC5zaGlmdEtleSAmJiBldmVudC5hbHRLZXkgJiYgZXZlbnQuY29kZSA9PT0gJ0tleUQnKSB7XG4gICAgICB0aGlzLnRvZ2dsZVBvcHVwKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBvcHVwKCkge1xuICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlblBvcHVwKCk7XG4gICAgfVxuICB9XG5cbiAgb3BlblBvcHVwKCkge1xuICAgIGlmICghdGhpcy5yZWYpIHtcbiAgICAgIGNvbnN0IHJlZiA9IERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbXBvbmVudC5vcGVuUG9wdXAodGhpcy5wb3B1cFNlcnZpY2UpO1xuICAgICAgcmVmLmFmdGVyQ2xvc2VkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5yZWYgPT09IHJlZikge1xuICAgICAgICAgIHRoaXMucmVmID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWYgPSByZWY7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VQb3B1cCgpIHtcbiAgICBpZiAodGhpcy5yZWYgIT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5tYXRTbmFja0JhclxuICAgICAgICAub3BlbignRGV2IFRvb2xzOiBhbHQvb3B0aW9uICsgc2hpZnQgKyBEJywgJ09wZW4nLCB7XG4gICAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICBkdXJhdGlvbjogOCAqIDEwMDBcbiAgICAgICAgfSlcbiAgICAgICAgLm9uQWN0aW9uKClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,55 +1,28 @@
1
- import { MatButtonModule } from '@angular/material/button';
2
- import { MatIconModule } from '@angular/material/icon';
3
- import { CommonModule } from '@angular/common';
4
- import { NgModule, inject } from '@angular/core';
5
- import { DbxInjectionComponentModule } from '@dereekb/dbx-core';
6
- import { DbxActionModule, DbxRouterAnchorModule, DbxButtonModule, DbxReadableErrorModule, DbxPopupInteractionModule, DbxTwoColumnLayoutModule, DbxBlockLayoutModule, DbxWidgetModule, DbxListLayoutModule, DbxTextModule } from '@dereekb/dbx-web';
7
- import { DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN } from './development.widget.service';
8
- import { DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxFormIoModule, DbxFormlyModule, DbxFormModule } from '@dereekb/dbx-form';
1
+ import { NgModule } from '@angular/core';
9
2
  import { DbxFirebaseDevelopmentPopupComponent } from './development.popup.component';
10
3
  import { DbxFirebaseDevelopmentPopupContentComponent } from './development.popup.content.component';
11
- import { DbxFirebaseDevelopmentDirective } from './development.popup.directive';
12
- import { DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN } from './development.service';
4
+ import { DbxFirebaseDevelopmentDirective } from './development.directive';
13
5
  import { DbxFirebaseDevelopmentPopupContentFormComponent } from './development.popup.content.form.component';
14
- import { DbxFirebaseDevelopmentSchedulerService } from './development.scheduler.service';
15
6
  import { DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent } from './development.scheduler.list.component';
16
- import { DbxFirebaseDevelopmentSchedulerWidgetComponent, developmentFirebaseServerSchedulerWidgetEntry } from './development.scheduler.widget.component';
7
+ import { DbxFirebaseDevelopmentSchedulerWidgetComponent } from './development.scheduler.widget.component';
17
8
  import * as i0 from "@angular/core";
18
- export class DbxFirebaseDevelopmentModuleRootConfig {
19
- }
9
+ const importsAndExports = [
10
+ //
11
+ DbxFirebaseDevelopmentPopupContentFormComponent,
12
+ DbxFirebaseDevelopmentDirective,
13
+ DbxFirebaseDevelopmentPopupComponent,
14
+ DbxFirebaseDevelopmentPopupContentComponent,
15
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
16
+ DbxFirebaseDevelopmentSchedulerListComponent,
17
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
18
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
19
+ ];
20
20
  /**
21
21
  * Contains components related to logging in.
22
22
  */
23
23
  export class DbxFirebaseDevelopmentModule {
24
- dbxFirebaseDevelopmentSchedulerService = inject(DbxFirebaseDevelopmentSchedulerService);
25
- constructor() {
26
- this.dbxFirebaseDevelopmentSchedulerService.init();
27
- }
28
- static forRoot(config) {
29
- let entries = config.entries;
30
- if (config.addDevelopmentSchedulerWidget !== false) {
31
- entries = [developmentFirebaseServerSchedulerWidgetEntry(), ...config.entries];
32
- }
33
- return {
34
- ngModule: DbxFirebaseDevelopmentModule,
35
- providers: [
36
- {
37
- provide: DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN,
38
- useValue: entries
39
- },
40
- {
41
- provide: DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN,
42
- useValue: config.enabled
43
- },
44
- {
45
- provide: DbxFirebaseDevelopmentModuleRootConfig,
46
- useValue: config
47
- }
48
- ]
49
- };
50
- }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
52
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDevelopmentModule, declarations: [
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [
53
26
  //
54
27
  DbxFirebaseDevelopmentPopupContentFormComponent,
55
28
  DbxFirebaseDevelopmentDirective,
@@ -58,8 +31,9 @@ export class DbxFirebaseDevelopmentModule {
58
31
  DbxFirebaseDevelopmentSchedulerWidgetComponent,
59
32
  DbxFirebaseDevelopmentSchedulerListComponent,
60
33
  DbxFirebaseDevelopmentSchedulerListViewComponent,
61
- DbxFirebaseDevelopmentSchedulerListViewItemComponent], imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule], exports: [
34
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent], exports: [
62
35
  //
36
+ DbxFirebaseDevelopmentPopupContentFormComponent,
63
37
  DbxFirebaseDevelopmentDirective,
64
38
  DbxFirebaseDevelopmentPopupComponent,
65
39
  DbxFirebaseDevelopmentPopupContentComponent,
@@ -67,33 +41,21 @@ export class DbxFirebaseDevelopmentModule {
67
41
  DbxFirebaseDevelopmentSchedulerListComponent,
68
42
  DbxFirebaseDevelopmentSchedulerListViewComponent,
69
43
  DbxFirebaseDevelopmentSchedulerListViewItemComponent] });
70
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule] });
44
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [
45
+ //
46
+ DbxFirebaseDevelopmentPopupContentFormComponent,
47
+ DbxFirebaseDevelopmentPopupComponent,
48
+ DbxFirebaseDevelopmentPopupContentComponent,
49
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
50
+ DbxFirebaseDevelopmentSchedulerListComponent,
51
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
52
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent] });
71
53
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
73
55
  type: NgModule,
74
56
  args: [{
75
- imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule],
76
- declarations: [
77
- //
78
- DbxFirebaseDevelopmentPopupContentFormComponent,
79
- DbxFirebaseDevelopmentDirective,
80
- DbxFirebaseDevelopmentPopupComponent,
81
- DbxFirebaseDevelopmentPopupContentComponent,
82
- DbxFirebaseDevelopmentSchedulerWidgetComponent,
83
- DbxFirebaseDevelopmentSchedulerListComponent,
84
- DbxFirebaseDevelopmentSchedulerListViewComponent,
85
- DbxFirebaseDevelopmentSchedulerListViewItemComponent
86
- ],
87
- exports: [
88
- //
89
- DbxFirebaseDevelopmentDirective,
90
- DbxFirebaseDevelopmentPopupComponent,
91
- DbxFirebaseDevelopmentPopupContentComponent,
92
- DbxFirebaseDevelopmentSchedulerWidgetComponent,
93
- DbxFirebaseDevelopmentSchedulerListComponent,
94
- DbxFirebaseDevelopmentSchedulerListViewComponent,
95
- DbxFirebaseDevelopmentSchedulerListViewItemComponent
96
- ]
57
+ imports: importsAndExports,
58
+ exports: importsAndExports
97
59
  }]
98
- }], ctorParameters: function () { return []; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDblAsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDRCQUE0QixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckYsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sNENBQTRD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Qzt3QkFDcEMsMkNBQTJDO3dCQUMzQyw4Q0FBOEM7d0JBQzlDLDRDQUE0Qzt3QkFDNUMsZ0RBQWdEO3dCQUNoRCxvREFBb0Q7cUJBQ3JEO29CQUNELE9BQU8sRUFBRTt3QkFDUCxFQUFFO3dCQUNGLCtCQUErQjt3QkFDL0Isb0NBQW9DO3dCQUNwQywyQ0FBMkM7d0JBQzNDLDhDQUE4Qzt3QkFDOUMsNENBQTRDO3dCQUM1QyxnREFBZ0Q7d0JBQ2hELG9EQUFvRDtxQkFDckQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEFjdGlvbk1vZHVsZSwgRGJ4Um91dGVyQW5jaG9yTW9kdWxlLCBEYnhCdXR0b25Nb2R1bGUsIERieFJlYWRhYmxlRXJyb3JNb2R1bGUsIERieFBvcHVwSW50ZXJhY3Rpb25Nb2R1bGUsIERieFR3b0NvbHVtbkxheW91dE1vZHVsZSwgRGJ4QmxvY2tMYXlvdXRNb2R1bGUsIERieFdpZGdldE1vZHVsZSwgRGJ4TGlzdExheW91dE1vZHVsZSwgRGJ4VGV4dE1vZHVsZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgREVGQVVMVF9GSVJFQkFTRV9ERVZFTE9QTUVOVF9XSURHRVRfUFJPVklERVJTX1RPS0VOIH0gZnJvbSAnLi9kZXZlbG9wbWVudC53aWRnZXQuc2VydmljZSc7XG5pbXBvcnQgeyBEYnhGb3JtQWN0aW9uTW9kdWxlLCBEYnhGb3JtRm9ybWx5VGV4dEZpZWxkTW9kdWxlLCBEYnhGb3JtSW9Nb2R1bGUsIERieEZvcm1seU1vZHVsZSwgRGJ4Rm9ybU1vZHVsZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1mb3JtJztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vZGV2ZWxvcG1lbnQucG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2RldmVsb3BtZW50LnBvcHVwLmNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RldmVsb3BtZW50LnBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBERUZBVUxUX0ZJUkVCQVNFX0RFVkVMT1BNRU5UX0VOQUJMRURfVE9LRU4gfSBmcm9tICcuL2RldmVsb3BtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29udGVudEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2RldmVsb3BtZW50LnBvcHVwLmNvbnRlbnQuZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2UgfSBmcm9tICcuL2RldmVsb3BtZW50LnNjaGVkdWxlci5zZXJ2aWNlJztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRXaWRnZXRFbnRyeSB9IGZyb20gJy4vZGV2ZWxvcG1lbnQud2lkZ2V0JztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Q29tcG9uZW50LCBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdDb21wb25lbnQsIERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Vmlld0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RldmVsb3BtZW50LnNjaGVkdWxlci5saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyV2lkZ2V0Q29tcG9uZW50LCBkZXZlbG9wbWVudEZpcmViYXNlU2VydmVyU2NoZWR1bGVyV2lkZ2V0RW50cnkgfSBmcm9tICcuL2RldmVsb3BtZW50LnNjaGVkdWxlci53aWRnZXQuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlRGV2ZWxvcG1lbnRNb2R1bGVSb290Q29uZmlnIHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgZW5hYmxlZDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgZW50cmllczogRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFdpZGdldEVudHJ5W107XG4gIGFic3RyYWN0IHJlYWRvbmx5IGFkZERldmVsb3BtZW50U2NoZWR1bGVyV2lkZ2V0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb250YWlucyBjb21wb25lbnRzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgRGJ4V2lkZ2V0TW9kdWxlLCBEYnhUZXh0TW9kdWxlLCBEYnhCbG9ja0xheW91dE1vZHVsZSwgRGJ4VHdvQ29sdW1uTGF5b3V0TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIERieFJvdXRlckFuY2hvck1vZHVsZSwgRGJ4UG9wdXBJbnRlcmFjdGlvbk1vZHVsZSwgRGJ4Rm9ybUlvTW9kdWxlLCBEYnhGb3JtTW9kdWxlLCBEYnhGb3JtbHlNb2R1bGUsIERieEZvcm1BY3Rpb25Nb2R1bGUsIERieEZvcm1Gb3JtbHlUZXh0RmllbGRNb2R1bGUsIERieFJlYWRhYmxlRXJyb3JNb2R1bGUsIERieEFjdGlvbk1vZHVsZSwgRGJ4QnV0dG9uTW9kdWxlLCBEYnhJbmplY3Rpb25Db21wb25lbnRNb2R1bGUsIERieExpc3RMYXlvdXRNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAvL1xuICAgIERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbnRlbnRGb3JtQ29tcG9uZW50LFxuICAgIERieEZpcmViYXNlRGV2ZWxvcG1lbnREaXJlY3RpdmUsXG4gICAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29tcG9uZW50LFxuICAgIERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbnRlbnRDb21wb25lbnQsXG4gICAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlcldpZGdldENvbXBvbmVudCxcbiAgICBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdENvbXBvbmVudCxcbiAgICBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdDb21wb25lbnQsXG4gICAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlckxpc3RWaWV3SXRlbUNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLy9cbiAgICBEYnhGaXJlYmFzZURldmVsb3BtZW50RGlyZWN0aXZlLFxuICAgIERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbXBvbmVudCxcbiAgICBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Q29tcG9uZW50LFxuICAgIERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJXaWRnZXRDb21wb25lbnQsXG4gICAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlckxpc3RDb21wb25lbnQsXG4gICAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlckxpc3RWaWV3Q29tcG9uZW50LFxuICAgIERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Vmlld0l0ZW1Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50TW9kdWxlIHtcbiAgcmVhZG9ubHkgZGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2UgPSBpbmplY3QoRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2UuaW5pdCgpO1xuICB9XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBEYnhGaXJlYmFzZURldmVsb3BtZW50TW9kdWxlUm9vdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VEZXZlbG9wbWVudE1vZHVsZT4ge1xuICAgIGxldCBlbnRyaWVzID0gY29uZmlnLmVudHJpZXM7XG5cbiAgICBpZiAoY29uZmlnLmFkZERldmVsb3BtZW50U2NoZWR1bGVyV2lkZ2V0ICE9PSBmYWxzZSkge1xuICAgICAgZW50cmllcyA9IFtkZXZlbG9wbWVudEZpcmViYXNlU2VydmVyU2NoZWR1bGVyV2lkZ2V0RW50cnkoKSwgLi4uY29uZmlnLmVudHJpZXNdO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZXZlbG9wbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogREVGQVVMVF9GSVJFQkFTRV9ERVZFTE9QTUVOVF9XSURHRVRfUFJPVklERVJTX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBlbnRyaWVzXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBERUZBVUxUX0ZJUkVCQVNFX0RFVkVMT1BNRU5UX0VOQUJMRURfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZy5lbmFibGVkXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEYnhGaXJlYmFzZURldmVsb3BtZW50TW9kdWxlUm9vdENvbmZpZyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
60
+ }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckYsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDN0csT0FBTyxFQUFFLDRDQUE0QyxFQUFFLGdEQUFnRCxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOU0sT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRTFHLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsRUFBRTtJQUNGLCtDQUErQztJQUMvQywrQkFBK0I7SUFDL0Isb0NBQW9DO0lBQ3BDLDJDQUEyQztJQUMzQyw4Q0FBOEM7SUFDOUMsNENBQTRDO0lBQzVDLGdEQUFnRDtJQUNoRCxvREFBb0Q7Q0FDckQsQ0FBQztBQUNGOztHQUVHO0FBS0gsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCO3lHQUE1Qiw0QkFBNEI7WUFqQnZDLEVBQUU7WUFDRiwrQ0FBK0M7WUFDL0MsK0JBQStCO1lBQy9CLG9DQUFvQztZQUNwQywyQ0FBMkM7WUFDM0MsOENBQThDO1lBQzlDLDRDQUE0QztZQUM1QyxnREFBZ0Q7WUFDaEQsb0RBQW9EO1lBUnBELEVBQUU7WUFDRiwrQ0FBK0M7WUFDL0MsK0JBQStCO1lBQy9CLG9DQUFvQztZQUNwQywyQ0FBMkM7WUFDM0MsOENBQThDO1lBQzlDLDRDQUE0QztZQUM1QyxnREFBZ0Q7WUFDaEQsb0RBQW9EO3lHQVN6Qyw0QkFBNEI7WUFqQnZDLEVBQUU7WUFDRiwrQ0FBK0M7WUFFL0Msb0NBQW9DO1lBQ3BDLDJDQUEyQztZQUMzQyw4Q0FBOEM7WUFDOUMsNENBQTRDO1lBQzVDLGdEQUFnRDtZQUNoRCxvREFBb0Q7OzRGQVN6Qyw0QkFBNEI7a0JBSnhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsT0FBTyxFQUFFLGlCQUFpQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9kZXZlbG9wbWVudC5wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZGV2ZWxvcG1lbnQucG9wdXAuY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGV2ZWxvcG1lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbnRlbnRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kZXZlbG9wbWVudC5wb3B1cC5jb250ZW50LmZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Q29tcG9uZW50LCBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdDb21wb25lbnQsIERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Vmlld0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RldmVsb3BtZW50LnNjaGVkdWxlci5saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9kZXZlbG9wbWVudC5zY2hlZHVsZXIud2lkZ2V0LmNvbXBvbmVudCc7XG5cbmNvbnN0IGltcG9ydHNBbmRFeHBvcnRzID0gW1xuICAvL1xuICBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Rm9ybUNvbXBvbmVudCxcbiAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudERpcmVjdGl2ZSxcbiAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29tcG9uZW50LFxuICBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Q29tcG9uZW50LFxuICBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyV2lkZ2V0Q29tcG9uZW50LFxuICBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdENvbXBvbmVudCxcbiAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlckxpc3RWaWV3Q29tcG9uZW50LFxuICBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdJdGVtQ29tcG9uZW50XG5dO1xuLyoqXG4gKiBDb250YWlucyBjb21wb25lbnRzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogaW1wb3J0c0FuZEV4cG9ydHMsXG4gIGV4cG9ydHM6IGltcG9ydHNBbmRFeHBvcnRzXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGV2ZWxvcG1lbnRNb2R1bGUge31cbiJdfQ==
@@ -1,13 +1,11 @@
1
- import { Component, ViewChild, inject } from '@angular/core';
2
- import { AbstractPopupDirective, DbxPopupService } from '@dereekb/dbx-web';
1
+ import { ChangeDetectionStrategy, Component, inject, viewChild } from '@angular/core';
2
+ import { AbstractPopupDirective, DbxPopupService, DbxPopupContentComponent, DbxPopupControlsComponent } from '@dereekb/dbx-web';
3
3
  import { DbxFirebaseDevelopmentPopupContentComponent } from './development.popup.content.component';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@dereekb/dbx-web";
6
- import * as i2 from "./development.popup.content.component";
7
5
  export const DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY = 'devpopup';
8
6
  export class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective {
9
7
  popupService = inject(DbxPopupService);
10
- content;
8
+ content = viewChild.required(DbxFirebaseDevelopmentPopupContentComponent);
11
9
  header = 'Development Tools';
12
10
  static openPopup(popupService, popupKey) {
13
11
  return popupService.open({
@@ -21,15 +19,15 @@ export class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective
21
19
  reopen = () => {
22
20
  DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService, this.popup.key);
23
21
  };
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDevelopmentPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "content", first: true, predicate: DbxFirebaseDevelopmentPopupContentComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxFirebaseDevelopmentPopupComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "content", first: true, predicate: DbxFirebaseDevelopmentPopupContentComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
26
24
  <dbx-popup-content>
27
25
  <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
28
26
  <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
29
27
  </dbx-popup-content>
30
- `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxPopupContentComponent, selector: "dbx-popup-content" }, { kind: "component", type: i1.DbxPopupControlsComponent, selector: "dbx-popup-controls", inputs: ["header"] }, { kind: "component", type: i2.DbxFirebaseDevelopmentPopupContentComponent, selector: "dbx-firebase-development-popup-content" }] });
28
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxPopupContentComponent, selector: "dbx-popup-content" }, { kind: "component", type: DbxPopupControlsComponent, selector: "dbx-popup-controls", inputs: ["header"] }, { kind: "component", type: DbxFirebaseDevelopmentPopupContentComponent, selector: "dbx-firebase-development-popup-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
29
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
33
31
  type: Component,
34
32
  args: [{
35
33
  template: `
@@ -37,10 +35,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
37
35
  <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
38
36
  <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
39
37
  </dbx-popup-content>
40
- `
38
+ `,
39
+ imports: [DbxPopupContentComponent, DbxPopupControlsComponent, DbxFirebaseDevelopmentPopupContentComponent],
40
+ standalone: true,
41
+ changeDetection: ChangeDetectionStrategy.OnPush
41
42
  }]
42
- }], propDecorators: { content: [{
43
- type: ViewChild,
44
- args: [DbxFirebaseDevelopmentPopupContentComponent, { static: true }]
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQucG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQucG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEYsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFFcEcsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsVUFBVSxDQUFDO0FBVWpFLE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxzQkFBc0I7SUFDN0QsWUFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUd4RCxPQUFPLENBQStDO0lBRTdDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztJQUV0QyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQTZCLEVBQUUsUUFBc0I7UUFDcEUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEdBQUcsRUFBRSxRQUFRLElBQUksc0NBQXNDO1lBQ3ZELGNBQWMsRUFBRSxvQ0FBb0M7WUFDcEQsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixXQUFXLEVBQUUsSUFBSTtZQUNqQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsRUFBRTtRQUNaLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO3dHQXBCUyxvQ0FBb0M7NEZBQXBDLG9DQUFvQyw2RkFHcEMsMkNBQTJDLHFGQVY1Qzs7Ozs7R0FLVDs7NEZBRVUsb0NBQW9DO2tCQVJoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7R0FLVDtpQkFDRjs4QkFLQyxPQUFPO3NCQUROLFNBQVM7dUJBQUMsMkNBQTJDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4UG9wdXBLZXksIEFic3RyYWN0UG9wdXBEaXJlY3RpdmUsIERieFBvcHVwU2VydmljZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZGV2ZWxvcG1lbnQucG9wdXAuY29udGVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GSVJFQkFTRV9ERVZFTE9QTUVOVF9QT1BVUF9LRVkgPSAnZGV2cG9wdXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LXBvcHVwLWNvbnRlbnQ+XG4gICAgICA8ZGJ4LXBvcHVwLWNvbnRyb2xzIFtoZWFkZXJdPVwiaGVhZGVyXCIgY29udHJvbHM+PC9kYngtcG9wdXAtY29udHJvbHM+XG4gICAgICA8ZGJ4LWZpcmViYXNlLWRldmVsb3BtZW50LXBvcHVwLWNvbnRlbnQgKHNob3VsZENsb3NlKT1cImNsb3NlUG9wdXAoKVwiPjwvZGJ4LWZpcmViYXNlLWRldmVsb3BtZW50LXBvcHVwLWNvbnRlbnQ+XG4gICAgPC9kYngtcG9wdXAtY29udGVudD5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFBvcHVwRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoRGJ4UG9wdXBTZXJ2aWNlKTtcblxuICBAVmlld0NoaWxkKERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbnRlbnRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGNvbnRlbnQhOiBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Q29tcG9uZW50O1xuXG4gIHJlYWRvbmx5IGhlYWRlciA9ICdEZXZlbG9wbWVudCBUb29scyc7XG5cbiAgc3RhdGljIG9wZW5Qb3B1cChwb3B1cFNlcnZpY2U6IERieFBvcHVwU2VydmljZSwgcG9wdXBLZXk/OiBEYnhQb3B1cEtleSk6IE5nUG9wb3ZlclJlZiB7XG4gICAgcmV0dXJuIHBvcHVwU2VydmljZS5vcGVuKHtcbiAgICAgIGtleTogcG9wdXBLZXkgPz8gREVGQVVMVF9GSVJFQkFTRV9ERVZFTE9QTUVOVF9QT1BVUF9LRVksXG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29tcG9uZW50LFxuICAgICAgY2xvc2VPblRyYW5zaXRpb246IGZhbHNlLFxuICAgICAgaXNEcmFnZ2FibGU6IHRydWUsXG4gICAgICBwb3NpdGlvbjogJ2NlbnRlcidcbiAgICB9KTtcbiAgfVxuXG4gIHJlb3BlbiA9ICgpID0+IHtcbiAgICBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb21wb25lbnQub3BlblBvcHVwKHRoaXMucG9wdXBTZXJ2aWNlLCB0aGlzLnBvcHVwLmtleSk7XG4gIH07XG59XG4iXX0=
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQucG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQucG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQWUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0ksT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRXBHLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLFVBQVUsQ0FBQztBQWFqRSxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsc0JBQXNCO0lBQzdELFlBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFL0MsT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUUxRSxNQUFNLEdBQUcsbUJBQW1CLENBQUM7SUFFdEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUE2QixFQUFFLFFBQXNCO1FBQ3BFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUN2QixHQUFHLEVBQUUsUUFBUSxJQUFJLHNDQUFzQztZQUN2RCxjQUFjLEVBQUUsb0NBQW9DO1lBQ3BELGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsV0FBVyxFQUFFLElBQUk7WUFDakIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDWixvQ0FBb0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FBQzt3R0FuQlMsb0NBQW9DOzRGQUFwQyxvQ0FBb0MsaUhBR1QsMkNBQTJDLHVGQWJ2RTs7Ozs7R0FLVCw0REFDUyx3QkFBd0IsOERBQUUseUJBQXlCLG1GQUFFLDJDQUEyQzs7NEZBSS9GLG9DQUFvQztrQkFYaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7O0dBS1Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsMkNBQTJDLENBQUM7b0JBQzNHLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4UG9wdXBLZXksIEFic3RyYWN0UG9wdXBEaXJlY3RpdmUsIERieFBvcHVwU2VydmljZSwgRGJ4UG9wdXBDb250ZW50Q29tcG9uZW50LCBEYnhQb3B1cENvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kZXZlbG9wbWVudC5wb3B1cC5jb250ZW50LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJUkVCQVNFX0RFVkVMT1BNRU5UX1BPUFVQX0tFWSA9ICdkZXZwb3B1cCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtcG9wdXAtY29udGVudD5cbiAgICAgIDxkYngtcG9wdXAtY29udHJvbHMgW2hlYWRlcl09XCJoZWFkZXJcIiBjb250cm9scz48L2RieC1wb3B1cC1jb250cm9scz5cbiAgICAgIDxkYngtZmlyZWJhc2UtZGV2ZWxvcG1lbnQtcG9wdXAtY29udGVudCAoc2hvdWxkQ2xvc2UpPVwiY2xvc2VQb3B1cCgpXCI+PC9kYngtZmlyZWJhc2UtZGV2ZWxvcG1lbnQtcG9wdXAtY29udGVudD5cbiAgICA8L2RieC1wb3B1cC1jb250ZW50PlxuICBgLFxuICBpbXBvcnRzOiBbRGJ4UG9wdXBDb250ZW50Q29tcG9uZW50LCBEYnhQb3B1cENvbnRyb2xzQ29tcG9uZW50LCBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Q29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQb3B1cERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KERieFBvcHVwU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgY29udGVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZChEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb250ZW50Q29tcG9uZW50KTtcblxuICByZWFkb25seSBoZWFkZXIgPSAnRGV2ZWxvcG1lbnQgVG9vbHMnO1xuXG4gIHN0YXRpYyBvcGVuUG9wdXAocG9wdXBTZXJ2aWNlOiBEYnhQb3B1cFNlcnZpY2UsIHBvcHVwS2V5PzogRGJ4UG9wdXBLZXkpOiBOZ1BvcG92ZXJSZWYge1xuICAgIHJldHVybiBwb3B1cFNlcnZpY2Uub3Blbih7XG4gICAgICBrZXk6IHBvcHVwS2V5ID8/IERFRkFVTFRfRklSRUJBU0VfREVWRUxPUE1FTlRfUE9QVVBfS0VZLFxuICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbXBvbmVudCxcbiAgICAgIGNsb3NlT25UcmFuc2l0aW9uOiBmYWxzZSxcbiAgICAgIGlzRHJhZ2dhYmxlOiB0cnVlLFxuICAgICAgcG9zaXRpb246ICdjZW50ZXInXG4gICAgfSk7XG4gIH1cblxuICByZW9wZW4gPSAoKSA9PiB7XG4gICAgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFBvcHVwQ29tcG9uZW50Lm9wZW5Qb3B1cCh0aGlzLnBvcHVwU2VydmljZSwgdGhpcy5wb3B1cC5rZXkpO1xuICB9O1xufVxuIl19