shared-lib-angular 1.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 (665) hide show
  1. package/.jest-cache/haste-map-9a3a3745ceefdbbde8dc96f3a11cb645-3313177a4f89a162d7e60aa270d6b5d6-d877677507d3d7567ce00a92135137ab +0 -0
  2. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/appconfig_00660af3355c71a72b8aafc720c254bb +2876 -0
  3. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/appconfig_00660af3355c71a72b8aafc720c254bb.map +1 -0
  4. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/every_00ea673d9604654690cab843fc8d8314 +22 -0
  5. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/every_00ea673d9604654690cab843fc8d8314.map +1 -0
  6. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/01/signal_019d00f4a5bdafd54307cfe5834fe796 +473 -0
  7. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/01/signal_019d00f4a5bdafd54307cfe5834fe796.map +7 -0
  8. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/02/exhaustAll_026083d1cce38f6911e761c16eef3d8a +11 -0
  9. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/02/exhaustAll_026083d1cce38f6911e761c16eef3d8a.map +1 -0
  10. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/intervalProvider_039ba6649af0878c191dfc0232ba33bb +52 -0
  11. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/intervalProvider_039ba6649af0878c191dfc0232ba33bb.map +1 -0
  12. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/loginconfiginterface_032bcdb7ef7be7283c308534eb016055 +106 -0
  13. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/loginconfiginterface_032bcdb7ef7be7283c308534eb016055.map +1 -0
  14. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/router_module_0320e629edfbb4fca0e75956de46b6d1 +1097 -0
  15. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/router_module_0320e629edfbb4fca0e75956de46b6d1.map +7 -0
  16. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/windowCount_03de01b105e8b75219fbc733a8fedb95 +79 -0
  17. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/windowCount_03de01b105e8b75219fbc733a8fedb95.map +1 -0
  18. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/browser_055ace85954b6943b58763b1108ccf12 +447 -0
  19. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/browser_055ace85954b6943b58763b1108ccf12.map +7 -0
  20. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/skip_057d7b1b3d1f246b35050c7ccf270a63 +10 -0
  21. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/skip_057d7b1b3d1f246b35050c7ccf270a63.map +1 -0
  22. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/06/schedulePromise_064651f3ace52a5a5d96f68314477e73 +12 -0
  23. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/06/schedulePromise_064651f3ace52a5a5d96f68314477e73.map +1 -0
  24. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/NotificationFactories_074c93396e1b1d62e7726ae8e260c235 +22 -0
  25. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/NotificationFactories_074c93396e1b1d62e7726ae8e260c235.map +1 -0
  26. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/testing_079979d81f362174b548c428f972337a +2952 -0
  27. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/testing_079979d81f362174b548c428f972337a.map +7 -0
  28. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/08/expand_0834ec9bae8fdda9fdcf6f218c0aa977 +17 -0
  29. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/08/expand_0834ec9bae8fdda9fdcf6f218c0aa977.map +1 -0
  30. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/authorizationservice_0a4bddc2811eebff94ab3084863255e6 +2329 -0
  31. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/authorizationservice_0a4bddc2811eebff94ab3084863255e6.map +1 -0
  32. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/last_0a681bf522e482a763682ee8f10bf6c9 +18 -0
  33. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/last_0a681bf522e482a763682ee8f10bf6c9.map +1 -0
  34. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0b/pairs_0bdbd8525961358b23ffad7d9789a968 +10 -0
  35. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0b/pairs_0bdbd8525961358b23ffad7d9789a968.map +1 -0
  36. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/immediateProvider_0d7f5944f088c0dabae14a12eca2b9d8 +51 -0
  37. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/immediateProvider_0d7f5944f088c0dabae14a12eca2b9d8.map +1 -0
  38. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/scan_0daefd10f43473197937af7f8452ec9d +11 -0
  39. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/scan_0daefd10f43473197937af7f8452ec9d.map +1 -0
  40. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0e/retry_0e69e48fa2132882bdcdd05127f2ea7d +76 -0
  41. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0e/retry_0e69e48fa2132882bdcdd05127f2ea7d.map +1 -0
  42. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/10/connect_105a8433fbea3cf741b136868b5951ba +24 -0
  43. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/10/connect_105a8433fbea3cf741b136868b5951ba.map +1 -0
  44. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/11/configservice_116e7dcf57d3d950117a5aa042cc0276 +902 -0
  45. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/11/configservice_116e7dcf57d3d950117a5aa042cc0276.map +1 -0
  46. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/AsyncSubject_120a173bd57e247e7f3ae18d0fd9b0fa +59 -0
  47. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/AsyncSubject_120a173bd57e247e7f3ae18d0fd9b0fa.map +1 -0
  48. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/repeatWhen_12cbec784a31a01dab7e78fe5e785053 +51 -0
  49. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/repeatWhen_12cbec784a31a01dab7e78fe5e785053.map +1 -0
  50. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/timeout_12ee70a93a9cd2707866c8eb02e10ad5 +66 -0
  51. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/timeout_12ee70a93a9cd2707866c8eb02e10ad5.map +1 -0
  52. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/14/count_149d69890a146cbacf66e6c02e77bd70 +10 -0
  53. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/14/count_149d69890a146cbacf66e6c02e77bd70.map +1 -0
  54. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/concat_174ab4f709f4956224457d08efab3503 +49 -0
  55. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/concat_174ab4f709f4956224457d08efab3503.map +1 -0
  56. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/throttle_17dfd679b2c59a6682f69508ee864ece +50 -0
  57. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/throttle_17dfd679b2c59a6682f69508ee864ece.map +1 -0
  58. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/QueueAction_18ebd8a34d165e459d10416b5abb2871 +59 -0
  59. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/QueueAction_18ebd8a34d165e459d10416b5abb2871.map +1 -0
  60. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/sequenceEqual_18018ebae3a1cc1813ae68980e76eff3 +47 -0
  61. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/sequenceEqual_18018ebae3a1cc1813ae68980e76eff3.map +1 -0
  62. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/delay_19f4d0866dea676d2bf43640461b8bfd +16 -0
  63. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/delay_19f4d0866dea676d2bf43640461b8bfd.map +1 -0
  64. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/throwUnobservableError_19baf3c85f87dad02f0536ca4e5cd60b +9 -0
  65. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/throwUnobservableError_19baf3c85f87dad02f0536ca4e5cd60b.map +1 -0
  66. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1a/windowWhen_1ac92e99f6e696e8f4204c5e4ebccf14 +43 -0
  67. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1a/windowWhen_1ac92e99f6e696e8f4204c5e4ebccf14.map +1 -0
  68. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1b/publishBehavior_1bf352339730e38d34a5d5e153bf7ebb +14 -0
  69. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1b/publishBehavior_1bf352339730e38d34a5d5e153bf7ebb.map +1 -0
  70. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1c/router_1c347a355ab0892e02fa5e69908d9080 +128 -0
  71. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1c/router_1c347a355ab0892e02fa5e69908d9080.map +7 -0
  72. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1d/logincomponent_1d4d7655bd3ebd5415f5b3e5b7f940be +2 -0
  73. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/isInteropObservable_1efea59365a17c9061ea4e21e7f2c6ae +11 -0
  74. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/isInteropObservable_1efea59365a17c9061ea4e21e7f2c6ae.map +1 -0
  75. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/sampleTime_1ed0a693b811e901145a88e55e6945d0 +15 -0
  76. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/sampleTime_1ed0a693b811e901145a88e55e6945d0.map +1 -0
  77. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/asap_1f8dd8afdbfd6d830ea655a48958de6e +9 -0
  78. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/asap_1f8dd8afdbfd6d830ea655a48958de6e.map +1 -0
  79. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/authenticationservice_1f271b3e269ad8b2e94278f0b9e63c1e +4527 -0
  80. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/authenticationservice_1f271b3e269ad8b2e94278f0b9e63c1e.map +1 -0
  81. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/21/fromSubscribable_218d9c2a708868b4ddcc33c959eb246d +10 -0
  82. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/21/fromSubscribable_218d9c2a708868b4ddcc33c959eb246d.map +1 -0
  83. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/mergeAll_22eabe4111038330cd0354da75bfb831 +14 -0
  84. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/mergeAll_22eabe4111038330cd0354da75bfb831.map +1 -0
  85. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/windowToggle_22ecc9529597f42519239efca8f4219f +90 -0
  86. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/windowToggle_22ecc9529597f42519239efca8f4219f.map +1 -0
  87. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/24/distinct_246654442158ec1661624139f1fcb40e +23 -0
  88. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/24/distinct_246654442158ec1661624139f1fcb40e.map +1 -0
  89. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/25/share_258b700a5bd9b287b2e67f4bf4bfa461 +120 -0
  90. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/25/share_258b700a5bd9b287b2e67f4bf4bfa461.map +1 -0
  91. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/26/scheduled_2667ac0ca964dea582df7f61bfaa619c +42 -0
  92. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/26/scheduled_2667ac0ca964dea582df7f61bfaa619c.map +1 -0
  93. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/Subject_288efa25f7749b82e5c2f60ffe1a32cc +202 -0
  94. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/Subject_288efa25f7749b82e5c2f60ffe1a32cc.map +1 -0
  95. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/testing_28adef3af187b963516380fd8076524a +60 -0
  96. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/testing_28adef3af187b963516380fd8076524a.map +7 -0
  97. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/exhaust_2c83cc366daf6fab56f7b1ef66317120 +7 -0
  98. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/exhaust_2c83cc366daf6fab56f7b1ef66317120.map +1 -0
  99. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/innerFrom_2c13de9f6df211e5ae68d63f44bc7b62 +272 -0
  100. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/innerFrom_2c13de9f6df211e5ae68d63f44bc7b62.map +1 -0
  101. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/mergeScan_2ca2d53a5d5527ac81b46bc4d0779542 +19 -0
  102. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/mergeScan_2ca2d53a5d5527ac81b46bc4d0779542.map +1 -0
  103. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/EmptyError_2d0d787ec6b758e32091ea628b5fd1a9 +13 -0
  104. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/EmptyError_2d0d787ec6b758e32091ea628b5fd1a9.map +1 -0
  105. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/concat_2d1fb893164794d1099ee55398b2485c +16 -0
  106. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/concat_2d1fb893164794d1099ee55398b2485c.map +1 -0
  107. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/publish_2fdddf4dfd0b97382056cce93cc68bce +12 -0
  108. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/publish_2fdddf4dfd0b97382056cce93cc68bce.map +1 -0
  109. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/testing_2f48dda6406d9713aab2c6abc3f524d1 +589 -0
  110. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/testing_2f48dda6406d9713aab2c6abc3f524d1.map +7 -0
  111. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/combineLatestAll_32d3966d0993446ff932e08bac6446d1 +11 -0
  112. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/combineLatestAll_32d3966d0993446ff932e08bac6446d1.map +1 -0
  113. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/dateTimestampProvider_322db52a6c79e9f9701dfb8c5d689ce5 +11 -0
  114. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/dateTimestampProvider_322db52a6c79e9f9701dfb8c5d689ce5.map +1 -0
  115. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/skipLast_32ebd97dc9255e3b917578177464899e +33 -0
  116. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/skipLast_32ebd97dc9255e3b917578177464899e.map +1 -0
  117. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/33/ReplaySubject_3311b511a16d8b0c3e23304eebb40d3e +84 -0
  118. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/33/ReplaySubject_3311b511a16d8b0c3e23304eebb40d3e.map +1 -0
  119. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/34/find_34c22ca010467918d87f33193ce95ff7 +28 -0
  120. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/34/find_34c22ca010467918d87f33193ce95ff7.map +1 -0
  121. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/35/Subscriber_3541130fb10b4a537607b957f4251df0 +204 -0
  122. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/35/Subscriber_3541130fb10b4a537607b957f4251df0.map +1 -0
  123. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/36/OperatorSubscriber_362c0ba359aef05d6de98c8815507491 +82 -0
  124. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/36/OperatorSubscriber_362c0ba359aef05d6de98c8815507491.map +1 -0
  125. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/common_38e0955cd641d1e06029b8851ecf3c8b +1500 -0
  126. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/common_38e0955cd641d1e06029b8851ecf3c8b.map +7 -0
  127. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/isAsyncIterable_38a51f2abc798a774e04d8b7cac3fb18 +10 -0
  128. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/isAsyncIterable_38a51f2abc798a774e04d8b7cac3fb18.map +1 -0
  129. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/NotFoundError_39e0e5a4d3fc380d4ca53dbc3f1d4f43 +13 -0
  130. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/NotFoundError_39e0e5a4d3fc380d4ca53dbc3f1d4f43.map +1 -0
  131. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/appconfiginterface_39cbb9d9c321a775c3d6816280463653 +60 -0
  132. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/appconfiginterface_39cbb9d9c321a775c3d6816280463653.map +1 -0
  133. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/firstValueFrom_391d26a44a60b3dc0c683f75416342ba +29 -0
  134. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/firstValueFrom_391d26a44a60b3dc0c683f75416342ba.map +1 -0
  135. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/using_397c2ad02f41ed947243f0477e969be4 +22 -0
  136. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/using_397c2ad02f41ed947243f0477e969be4.map +1 -0
  137. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3a/takeWhile_3a9829a881228fdf558f9d71757646d0 +21 -0
  138. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3a/takeWhile_3a9829a881228fdf558f9d71757646d0.map +1 -0
  139. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3b/scheduleArray_3bdab1a240bd3c32636272eedf77cfad +23 -0
  140. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3b/scheduleArray_3bdab1a240bd3c32636272eedf77cfad.map +1 -0
  141. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/max_3c0e0f730a77269602626ae8ef245a1e +11 -0
  142. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/max_3c0e0f730a77269602626ae8ef245a1e.map +1 -0
  143. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/take_3c026b1f7917b04e5f2bbc4223289d9f +25 -0
  144. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/take_3c026b1f7917b04e5f2bbc4223289d9f.map +1 -0
  145. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3d/location_3def1246f95990cfebbab11e528ab266 +497 -0
  146. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3d/location_3def1246f95990cfebbab11e528ab266.map +7 -0
  147. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3e/interval_3ea3b4a266fa372c186672ee3a7b5580 +20 -0
  148. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3e/interval_3ea3b4a266fa372c186672ee3a7b5580.map +1 -0
  149. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/attribute_3f638223526a5452b11ee75dc0250648 +43 -0
  150. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/attribute_3f638223526a5452b11ee75dc0250648.map +7 -0
  151. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/combineLatest_3f0bf7600a0d2d0cf1141ac5af85a508 +53 -0
  152. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/combineLatest_3f0bf7600a0d2d0cf1141ac5af85a508.map +1 -0
  153. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/onErrorResumeNextWith_41672d4eb0d804acca50ecf1e4676c5b +46 -0
  154. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/onErrorResumeNextWith_41672d4eb0d804acca50ecf1e4676c5b.map +1 -0
  155. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/resource_41fe82c252d8f7625f81e4ed65f47b01 +577 -0
  156. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/resource_41fe82c252d8f7625f81e4ed65f47b01.map +7 -0
  157. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/42/not_42d94d1e1986bd9f02192b58a49a4a10 +9 -0
  158. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/42/not_42d94d1e1986bd9f02192b58a49a4a10.map +1 -0
  159. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/43/combineAll_43bc2b5905cd2c6f74dc8b64523a6c0d +7 -0
  160. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/43/combineAll_43bc2b5905cd2c6f74dc8b64523a6c0d.map +1 -0
  161. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/effect_45da71956a042b04e0c80617e1abea70 +154 -0
  162. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/effect_45da71956a042b04e0c80617e1abea70.map +7 -0
  163. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/pluck_45d34d7b28cb92d486c5c549c829d4c7 +30 -0
  164. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/pluck_45d34d7b28cb92d486c5c549c829d4c7.map +1 -0
  165. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/timeInterval_45fd794b2ec592d3ec1ec38cf56a5aba +31 -0
  166. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/timeInterval_45fd794b2ec592d3ec1ec38cf56a5aba.map +1 -0
  167. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/animationFrames_46ea857479451d7367337bd511b12139 +39 -0
  168. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/animationFrames_46ea857479451d7367337bd511b12139.map +1 -0
  169. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/scheduleIterable_46f97122ff229faf892b20877c5aa86c +37 -0
  170. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/scheduleIterable_46f97122ff229faf892b20877c5aa86c.map +1 -0
  171. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/platform_navigation_47d697bbddec9cce6b73383168a56d08 +51 -0
  172. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/platform_navigation_47d697bbddec9cce6b73383168a56d08.map +7 -0
  173. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/queue_4709f99b0fc7a82058f6b3206d3b8e4e +9 -0
  174. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/queue_4709f99b0fc7a82058f6b3206d3b8e4e.map +1 -0
  175. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/configservicespec_4885306385dc65c123e0824a1f58cb07 +87 -0
  176. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/configservicespec_4885306385dc65c123e0824a1f58cb07.map +1 -0
  177. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/debounceTime_4809c90833e6a766aa133edf2ae49b83 +51 -0
  178. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/debounceTime_4809c90833e6a766aa133edf2ae49b83.map +1 -0
  179. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/signals_49daedeaa3f1608b221e0e2b467fef8f +256 -0
  180. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/signals_49daedeaa3f1608b221e0e2b467fef8f.map +7 -0
  181. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/startWith_490e5e430d82b7b008b7a1b600a9ab3c +19 -0
  182. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/startWith_490e5e430d82b7b008b7a1b600a9ab3c.map +1 -0
  183. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4a/debug_node_4aa7d0bfa7f2471539bc6e17f2118a47 +20713 -0
  184. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4a/debug_node_4aa7d0bfa7f2471539bc6e17f2118a47.map +7 -0
  185. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/bindCallback_4b7735ffb109657480a3193b071be4af +10 -0
  186. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/bindCallback_4b7735ffb109657480a3193b071be4af.map +1 -0
  187. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/iterator_4b6f81592b9a6a91a1e032179adca692 +13 -0
  188. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/iterator_4b6f81592b9a6a91a1e032179adca692.map +1 -0
  189. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4e/zip_4e4b1d528e64e46b2cf212e69c345b68 +46 -0
  190. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4e/zip_4e4b1d528e64e46b2cf212e69c345b68.map +1 -0
  191. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/flatMap_50ee03966593fc03915ea67e31223a61 +7 -0
  192. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/flatMap_50ee03966593fc03915ea67e31223a61.map +1 -0
  193. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/reduce_50207e757e7dd0895fbaacf449d409d1 +11 -0
  194. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/reduce_50207e757e7dd0895fbaacf449d409d1.map +1 -0
  195. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/51/weak_ref_511653ddf85d364ebc878405e6282fc5 +30 -0
  196. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/51/weak_ref_511653ddf85d364ebc878405e6282fc5.map +7 -0
  197. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/52/observeOn_52b18ee03b1120882b3e60875c787ab3 +17 -0
  198. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/52/observeOn_52b18ee03b1120882b3e60875c787ab3.map +1 -0
  199. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/dashboardcomponent_53c32631c99debadbc5a44e7b150fd72 +2 -0
  200. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/fromEventPattern_539dbdf41c03ede2cfa34f62fbbc7d75 +25 -0
  201. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/fromEventPattern_539dbdf41c03ede2cfa34f62fbbc7d75.map +1 -0
  202. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/groupBy_53bdc3415d8cb7d339b4770b31db1c9b +68 -0
  203. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/groupBy_53bdc3415d8cb7d339b4770b31db1c9b.map +1 -0
  204. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/AnimationFrameAction_5423f59105ed7d626abac6a69f07bfe4 +60 -0
  205. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/AnimationFrameAction_5423f59105ed7d626abac6a69f07bfe4.map +1 -0
  206. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/scheduleReadableStreamLike_5475b804715c5be031baaec692002aab +11 -0
  207. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/scheduleReadableStreamLike_5475b804715c5be031baaec692002aab.map +1 -0
  208. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/animationFrame_55e052bcb509243da3536ac36e4aa83f +9 -0
  209. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/animationFrame_55e052bcb509243da3536ac36e4aa83f.map +1 -0
  210. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/scheduleObservable_5569cfab2019142d0fcae5fc384a795c +12 -0
  211. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/scheduleObservable_5569cfab2019142d0fcae5fc384a795c.map +1 -0
  212. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/angularoauth2oidc_5796eb8bb1f1dd6932dae6bb664d1cbb +2766 -0
  213. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/angularoauth2oidc_5796eb8bb1f1dd6932dae6bb664d1cbb.map +7 -0
  214. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/endWith_57bd076f03a5529b5669a4bd386a0648 +44 -0
  215. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/endWith_57bd076f03a5529b5669a4bd386a0648.map +1 -0
  216. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/isArrayLike_57dfd0465318da2cbc8fa3043aca76bc +6 -0
  217. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/isArrayLike_57dfd0465318da2cbc8fa3043aca76bc.map +1 -0
  218. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/publishLast_574acb89597ecb7584a4d54a21ce7fd0 +14 -0
  219. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/publishLast_574acb89597ecb7584a4d54a21ce7fd0.map +1 -0
  220. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/switchScan_57759ec2c9148ae2f94dd997f963cc3f +17 -0
  221. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/switchScan_57759ec2c9148ae2f94dd997f963cc3f.map +1 -0
  222. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/windowTime_57deb9c95403419ebdedc01ee2643ce1 +75 -0
  223. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/windowTime_57deb9c95403419ebdedc01ee2643ce1.map +1 -0
  224. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/59/BehaviorSubject_59c295137756816d9da8164415d41c40 +56 -0
  225. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/59/BehaviorSubject_59c295137756816d9da8164415d41c40.map +1 -0
  226. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5a/switchMapTo_5a6dd9823852ccc95a49d9b77bd2561d +11 -0
  227. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5a/switchMapTo_5a6dd9823852ccc95a49d9b77bd2561d.map +1 -0
  228. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5b/bufferTime_5bba3a4e339ab63d5ec157f2a2199900 +101 -0
  229. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5b/bufferTime_5bba3a4e339ab63d5ec157f2a2199900.map +1 -0
  230. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5c/shareReplay_5c312953fc0f0439193e056e78510373 +25 -0
  231. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5c/shareReplay_5c312953fc0f0439193e056e78510373.map +1 -0
  232. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/Action_5e72b25c73096e88490c6e9015ddb56c +37 -0
  233. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/Action_5e72b25c73096e88490c6e9015ddb56c.map +1 -0
  234. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/isIterable_5e80f397f8ed04a532027aa00c4eb453 +11 -0
  235. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/isIterable_5e80f397f8ed04a532027aa00c4eb453.map +1 -0
  236. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5f/race_5f51258fb60a582ab1e6aca07b21655d +38 -0
  237. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5f/race_5f51258fb60a582ab1e6aca07b21655d.map +1 -0
  238. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/60/race_60e460c803705be956c9ad1519f27ae9 +44 -0
  239. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/60/race_60e460c803705be956c9ad1519f27ae9.map +1 -0
  240. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/authorizationinterface_61b3843bb141bda9133f897e585e0748 +60 -0
  241. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/authorizationinterface_61b3843bb141bda9133f897e585e0748.map +1 -0
  242. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/testing_6176dd0db4a8ad21b8d3bc1d388053dc +107 -0
  243. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/testing_6176dd0db4a8ad21b8d3bc1d388053dc.map +7 -0
  244. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/62/ArgumentOutOfRangeError_627b1a510e0d08fab12d924263c0d47f +13 -0
  245. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/62/ArgumentOutOfRangeError_627b1a510e0d08fab12d924263c0d47f.map +1 -0
  246. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/63/dom_renderer_63272c78e0eb510569eae3d5b5f9aeee +726 -0
  247. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/63/dom_renderer_63272c78e0eb510569eae3d5b5f9aeee.map +7 -0
  248. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/64/joinAllInternals_640e9d56539a3eec67d788a341b918ed +14 -0
  249. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/64/joinAllInternals_640e9d56539a3eec67d788a341b918ed.map +1 -0
  250. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/65/AsapScheduler_652b27b66e714bc12262aa7e97b1ef86 +51 -0
  251. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/65/AsapScheduler_652b27b66e714bc12262aa7e97b1ef86.map +1 -0
  252. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/mapOneOrManyArgs_689e7d9385a707593cf83ee4082dc61e +43 -0
  253. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/mapOneOrManyArgs_689e7d9385a707593cf83ee4082dc61e.map +1 -0
  254. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/partition_681d13cdb0b0bb3b0fe590ef7c5aa93c +13 -0
  255. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/partition_681d13cdb0b0bb3b0fe590ef7c5aa93c.map +1 -0
  256. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/69/Scheduler_69ac465fc3a0f88a5564df13752f196f +24 -0
  257. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/69/Scheduler_69ac465fc3a0f88a5564df13752f196f.map +1 -0
  258. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/authenticationservicespec_6a31910a11f7a7d88de4428592b81b41 +171 -0
  259. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/authenticationservicespec_6a31910a11f7a7d88de4428592b81b41.map +1 -0
  260. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/merge_6aeabbb04f67d52e04d5fb6bfe53c7ce +50 -0
  261. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/merge_6aeabbb04f67d52e04d5fb6bfe53c7ce.map +1 -0
  262. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/skipUntil_6a1db23a8161437968c7fac8561325fd +21 -0
  263. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/skipUntil_6a1db23a8161437968c7fac8561325fd.map +1 -0
  264. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/zipWith_6a11cd689b9f399f14e13a9589c1d30c +43 -0
  265. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/zipWith_6a11cd689b9f399f14e13a9589c1d30c.map +1 -0
  266. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6e/partition_6ebe586335dfe0eb9f4b65dd7f912e38 +12 -0
  267. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6e/partition_6ebe586335dfe0eb9f4b65dd7f912e38.map +1 -0
  268. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/generate_6fa8af747ce58c570eb002b1c00430b3 +123 -0
  269. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/generate_6fa8af747ce58c570eb002b1c00430b3.map +1 -0
  270. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/of_6f039032237bc3616cd9f88de5b34572 +16 -0
  271. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/of_6f039032237bc3616cd9f88de5b34572.map +1 -0
  272. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/70/takeLast_70f2caa4d21d5bde0732d9c218ff412d +58 -0
  273. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/70/takeLast_70f2caa4d21d5bde0732d9c218ff412d.map +1 -0
  274. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/72/module_726ab71b1f0164c527681100a65aad4a +2332 -0
  275. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/72/module_726ab71b1f0164c527681100a65aad4a.map +7 -0
  276. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/73/lastValueFrom_737afa6f071e7d30fa42bdb86f84d107 +32 -0
  277. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/73/lastValueFrom_737afa6f071e7d30fa42bdb86f84d107.map +1 -0
  278. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/createErrorClass_75905daf41c07df2a4ea17ba294cad8a +16 -0
  279. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/createErrorClass_75905daf41c07df2a4ea17ba294cad8a.map +1 -0
  280. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/defer_75b01f8804d24bc81107cdfa51c9fd66 +13 -0
  281. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/defer_75b01f8804d24bc81107cdfa51c9fd66.map +1 -0
  282. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/filter_76c22b02ab9a8b16a2ac23ad85243e5b +14 -0
  283. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/filter_76c22b02ab9a8b16a2ac23ad85243e5b.map +1 -0
  284. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/version_76b048d35316951f4c8a9efb64028794 +119 -0
  285. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/version_76b048d35316951f4c8a9efb64028794.map +1 -0
  286. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/79/iif_798ee878d80215441fd62f4c46aaac1e +10 -0
  287. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/79/iif_798ee878d80215441fd62f4c46aaac1e.map +1 -0
  288. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7b/identity_7bdd4c23fb4e8612fe66d9d232584cb0 +9 -0
  289. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7b/identity_7bdd4c23fb4e8612fe66d9d232584cb0.map +1 -0
  290. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/AsyncAction_7cf5bb2a2d938bec1cf31419bc641e68 +116 -0
  291. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/AsyncAction_7cf5bb2a2d938bec1cf31419bc641e68.map +1 -0
  292. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/Subscription_7c102157fbcfac1c16274e713ebfafcb +202 -0
  293. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/Subscription_7c102157fbcfac1c16274e713ebfafcb.map +1 -0
  294. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/lift_7c74badd969dadc4de0ea5ff85e8bcfc +26 -0
  295. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/lift_7c74badd969dadc4de0ea5ff85e8bcfc.map +1 -0
  296. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/pipe_7c13629329765dd61c3ac7addd741d3c +26 -0
  297. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/pipe_7c13629329765dd61c3ac7addd741d3c.map +1 -0
  298. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/throttleTime_7c8f3b9a09e3b2380c6f5a53e9e19d73 +16 -0
  299. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/throttleTime_7c8f3b9a09e3b2380c6f5a53e9e19d73.map +1 -0
  300. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7d/UnsubscriptionError_7d69546cdd3ee56a0c8196e6b7a3b93b +16 -0
  301. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7d/UnsubscriptionError_7d69546cdd3ee56a0c8196e6b7a3b93b.map +1 -0
  302. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/defaultIfEmpty_810b4e0604dba71c6021470672d75fe6 +22 -0
  303. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/defaultIfEmpty_810b4e0604dba71c6021470672d75fe6.map +1 -0
  304. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/pairwise_81b247ee51f59dd96b3009979157e4b9 +20 -0
  305. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/pairwise_81b247ee51f59dd96b3009979157e4b9.map +1 -0
  306. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/repeat_810a7e7909eff9a4745b563969d1ee11 +65 -0
  307. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/repeat_810a7e7909eff9a4745b563969d1ee11.map +1 -0
  308. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/82/authorizationguard_82de14e9b4958e2e99b8643cd395d629 +530 -0
  309. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/82/authorizationguard_82de14e9b4958e2e99b8643cd395d629.map +1 -0
  310. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/83/dashboardcomponent_833bf6a5c3619c9adaced99312164a7a +4149 -0
  311. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/83/dashboardcomponent_833bf6a5c3619c9adaced99312164a7a.map +1 -0
  312. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/dashboardcomponentspec_8874d89d947ada3b2913b3d96a957478 +219 -0
  313. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/dashboardcomponentspec_8874d89d947ada3b2913b3d96a957478.map +1 -0
  314. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/isFunction_880148731b92c4fdf7652bae9f17672c +9 -0
  315. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/isFunction_880148731b92c4fdf7652bae9f17672c.map +1 -0
  316. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/window_889e36acc1694a6c6859a5c14694efc6 +33 -0
  317. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/window_889e36acc1694a6c6859a5c14694efc6.map +1 -0
  318. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/89/core_899034079b505a592bba9a502120cfd8 +3480 -0
  319. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/89/core_899034079b505a592bba9a502120cfd8.map +7 -0
  320. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/isScheduler_8a1f0e526117aed8f474344e8a337001 +10 -0
  321. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/isScheduler_8a1f0e526117aed8f474344e8a337001.map +1 -0
  322. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/range_8aa1319af11190cf05b194c0eace5a96 +40 -0
  323. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/range_8aa1319af11190cf05b194c0eace5a96.map +1 -0
  324. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8b/connectable_8bdc7b54bdc252caf076d2e924c9ccdc +34 -0
  325. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8b/connectable_8bdc7b54bdc252caf076d2e924c9ccdc.map +1 -0
  326. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8c/debounce_8c4b06b5e96c9ce06d159c7167ad4df3 +39 -0
  327. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8c/debounce_8c4b06b5e96c9ce06d159c7167ad4df3.map +1 -0
  328. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8d/buffer_8da491f572a7ebd7fcc78973472dd554 +27 -0
  329. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8d/buffer_8da491f572a7ebd7fcc78973472dd554.map +1 -0
  330. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8e/distinctUntilChanged_8ec9a7e6a213b0da14fef2a6287426ee +30 -0
  331. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8e/distinctUntilChanged_8ec9a7e6a213b0da14fef2a6287426ee.map +1 -0
  332. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/animationFrameProvider_8f6b1fdd1805c32bd8a71158fe2d4f6e +68 -0
  333. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/animationFrameProvider_8f6b1fdd1805c32bd8a71158fe2d4f6e.map +1 -0
  334. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/skipWhile_8fbb2b1e98a876abf6cd45db4580345a +15 -0
  335. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/skipWhile_8fbb2b1e98a876abf6cd45db4580345a.map +1 -0
  336. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/timeoutProvider_8f5b211154fd0dfc69bcc93ffe1281d9 +52 -0
  337. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/timeoutProvider_8f5b211154fd0dfc69bcc93ffe1281d9.map +1 -0
  338. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/arrRemove_9007c7c90914e2c67a3c7c7f7f6ed63d +12 -0
  339. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/arrRemove_9007c7c90914e2c67a3c7c7f7f6ed63d.map +1 -0
  340. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/takeUntil_90cbbe5d41852345c1c2d15693a91a4e +16 -0
  341. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/takeUntil_90cbbe5d41852345c1c2d15693a91a4e.map +1 -0
  342. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/types_902cdea8f0917627cc8393a9aa52c916 +4 -0
  343. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/types_902cdea8f0917627cc8393a9aa52c916.map +1 -0
  344. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/91/isPromise_91e79cccaa029e755a189ab94ff11d2a +10 -0
  345. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/91/isPromise_91e79cccaa029e755a189ab94ff11d2a.map +1 -0
  346. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/92/timestamp_929befc00c12052926227dd07e014839 +14 -0
  347. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/92/timestamp_929befc00c12052926227dd07e014839.map +1 -0
  348. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/93/mergeMap_9318b621967b6738c51ffd144f90fbe3 +23 -0
  349. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/93/mergeMap_9318b621967b6738c51ffd144f90fbe3.map +1 -0
  350. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/94/min_9467e39c730974505b268969ae4a9eef +11 -0
  351. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/94/min_9467e39c730974505b268969ae4a9eef.map +1 -0
  352. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/97/isEmpty_97e18cd152ec8cbf2572309d51321174 +19 -0
  353. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/97/isEmpty_97e18cd152ec8cbf2572309d51321174.map +1 -0
  354. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/98/toArray_986fbe7e6566dab35c8bcf0e57c131d8 +14 -0
  355. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/98/toArray_986fbe7e6566dab35c8bcf0e57c131d8.map +1 -0
  356. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/99/authorizationservicespec_99005e51e3fe0531de30cc3ebe182159 +206 -0
  357. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/99/authorizationservicespec_99005e51e3fe0531de30cc3ebe182159.map +1 -0
  358. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9a/logincomponentspec_9a5d9162e7420f6e7bfd0ec192a0e7b3 +126 -0
  359. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9a/logincomponentspec_9a5d9162e7420f6e7bfd0ec192a0e7b3.map +1 -0
  360. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/di_9bb73d3d1d37e03ae545cb821a24d6e4 +48 -0
  361. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/di_9bb73d3d1d37e03ae545cb821a24d6e4.map +7 -0
  362. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/single_9b7260fd4298ea61a3af48a06e07f955 +35 -0
  363. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/single_9b7260fd4298ea61a3af48a06e07f955.map +1 -0
  364. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/distinctUntilKeyChanged_9c0e259a4e26342aa529522ab260b6e2 +10 -0
  365. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/distinctUntilKeyChanged_9c0e259a4e26342aa529522ab260b6e2.map +1 -0
  366. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/reportUnhandledError_9c687bd943c7e3cb0cbe5ba362e47a57 +19 -0
  367. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/reportUnhandledError_9c687bd943c7e3cb0cbe5ba362e47a57.map +1 -0
  368. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9e/audit_9ef009f5c290fa05db1f116ccc1dea15 +42 -0
  369. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9e/audit_9ef009f5c290fa05db1f116ccc1dea15.map +1 -0
  370. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/Observable_9fa7fb170ab97af3339678f170c00580 +106 -0
  371. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/Observable_9fa7fb170ab97af3339678f170c00580.map +1 -0
  372. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/timer_9f8a9fa0c2907acec47fd64413f88e1f +45 -0
  373. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/timer_9f8a9fa0c2907acec47fd64413f88e1f.map +1 -0
  374. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a1/exhaustMap_a17113d2ae51f6049da7b9126fc2f3d0 +34 -0
  375. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a1/exhaustMap_a17113d2ae51f6049da7b9126fc2f3d0.map +1 -0
  376. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/catchError_a2a6d4194ebf9a7b737c5162e13f9e8f +32 -0
  377. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/catchError_a2a6d4194ebf9a7b737c5162e13f9e8f.map +1 -0
  378. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/concatMapTo_a28deb2bec5c1f5c41e1087788eccbba +11 -0
  379. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/concatMapTo_a28deb2bec5c1f5c41e1087788eccbba.map +1 -0
  380. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/mergeMapTo_a263600e2e57ffe7c35a1d079bbf423f +20 -0
  381. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/mergeMapTo_a263600e2e57ffe7c35a1d079bbf423f.map +1 -0
  382. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a3/not_found_a3e96f6eb61e4ec43431a235d6638f02 +64 -0
  383. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a3/not_found_a3e96f6eb61e4ec43431a235d6638f02.map +7 -0
  384. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/concatMap_aa22e6b3212edabed548ee6fd704ac9b +11 -0
  385. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/concatMap_aa22e6b3212edabed548ee6fd704ac9b.map +1 -0
  386. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/noop_aa193fc1a61ccf323a19e2acef78f9b8 +7 -0
  387. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/noop_aa193fc1a61ccf323a19e2acef78f9b8.map +1 -0
  388. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/argsOrArgArray_abd5775c2214bbc9529e7f5536b4b9b5 +10 -0
  389. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/argsOrArgArray_abd5775c2214bbc9529e7f5536b4b9b5.map +1 -0
  390. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/forkJoin_ab79df1ea741b3921af56378f47ac083 +52 -0
  391. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/forkJoin_ab79df1ea741b3921af56378f47ac083.map +1 -0
  392. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ae/scanInternals_ae3735574319bd024617b242f6f9f93b +27 -0
  393. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ae/scanInternals_ae3735574319bd024617b242f6f9f93b.map +1 -0
  394. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/af/withLatestFrom_af570814ca7c4209b836b726cd4d742c +72 -0
  395. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/af/withLatestFrom_af570814ca7c4209b836b726cd4d742c.map +1 -0
  396. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/args_b0aa0cda6f64d81b5a3ce9a1f1b5a1af +22 -0
  397. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/args_b0aa0cda6f64d81b5a3ce9a1f1b5a1af.map +1 -0
  398. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/concatWith_b0ad49aa785dead5921f467fc5deff89 +43 -0
  399. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/concatWith_b0ad49aa785dead5921f467fc5deff89.map +1 -0
  400. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/fromEvent_b0a59cb0e063c290accf4e07083172f5 +87 -0
  401. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/fromEvent_b0a59cb0e063c290accf4e07083172f5.map +1 -0
  402. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/bufferToggle_b398140d6a113f822cd7e55a219389eb +69 -0
  403. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/bufferToggle_b398140d6a113f822cd7e55a219389eb.map +1 -0
  404. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/mapTo_b35eaa231d63d7632d124fd0c9491899 +10 -0
  405. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/mapTo_b35eaa231d63d7632d124fd0c9491899.map +1 -0
  406. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/AsyncScheduler_b48e6adc2337360d93bc438e30261c9b +58 -0
  407. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/AsyncScheduler_b48e6adc2337360d93bc438e30261c9b.map +1 -0
  408. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/Notification_b4734e58b4d2c8624cb7168a139a0f5e +77 -0
  409. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/Notification_b4734e58b4d2c8624cb7168a139a0f5e.map +1 -0
  410. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/dematerialize_b49e3c0f02f78e9b7754a2f14dd20dc4 +14 -0
  411. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/dematerialize_b49e3c0f02f78e9b7754a2f14dd20dc4.map +1 -0
  412. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/errorContext_b5e662cfa00b7cb11e0375297f3e4bd0 +34 -0
  413. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/errorContext_b5e662cfa00b7cb11e0375297f3e4bd0.map +1 -0
  414. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/isObservable_b567e287f5b7463f88bd1726e06f5a53 +11 -0
  415. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/isObservable_b567e287f5b7463f88bd1726e06f5a53.map +1 -0
  416. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/bufferWhen_b600af3c63e2658f3ee46c1e2a5620db +28 -0
  417. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/bufferWhen_b600af3c63e2658f3ee46c1e2a5620db.map +1 -0
  418. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/concatAll_b6bada65d21367fa443476add9a9bb8f +10 -0
  419. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/concatAll_b6bada65d21367fa443476add9a9bb8f.map +1 -0
  420. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/eventdispatch_b7a6d5d3415dcade3b9c2dcbc1ec88cd +1262 -0
  421. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/eventdispatch_b7a6d5d3415dcade3b9c2dcbc1ec88cd.map +7 -0
  422. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/map_b732b01a086bf2d802b5e5372ddb5374 +16 -0
  423. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/map_b732b01a086bf2d802b5e5372ddb5374.map +1 -0
  424. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b9/testing_b9c34b8f3a2cff6e967d44b496301057 +330 -0
  425. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b9/testing_b9c34b8f3a2cff6e967d44b496301057.map +7 -0
  426. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ba/delayWhen_ba0e6b593adde7fb970f5426d08ba7bd +20 -0
  427. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ba/delayWhen_ba0e6b593adde7fb970f5426d08ba7bd.map +1 -0
  428. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/bb/from_bb50ad60e07cb6d360b7f208249429b2 +11 -0
  429. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/bb/from_bb50ad60e07cb6d360b7f208249429b2.map +1 -0
  430. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/be/zip_be7b4ff5badc5c041b9ee29ad7fedde5 +79 -0
  431. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/be/zip_be7b4ff5badc5c041b9ee29ad7fedde5.map +1 -0
  432. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c0/platformbrowser_c024fceb1a0fe262d4fa22aeba203bf8 +759 -0
  433. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c0/platformbrowser_c024fceb1a0fe262d4fa22aeba203bf8.map +7 -0
  434. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c2/platformbrowserdynamic_c293e204f07ffe93a61d7d2a97d63964 +145 -0
  435. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c2/platformbrowserdynamic_c293e204f07ffe93a61d7d2a97d63964.map +7 -0
  436. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/Immediate_c3da4258074ed597ed071241b4c35bef +34 -0
  437. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/Immediate_c3da4258074ed597ed071241b4c35bef.map +1 -0
  438. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/ignoreElements_c355b3624a679685bd1c25d33e6bde66 +14 -0
  439. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/ignoreElements_c355b3624a679685bd1c25d33e6bde66.map +1 -0
  440. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/findIndex_c534ebcb116500af4352aa6530e9041e +11 -0
  441. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/findIndex_c534ebcb116500af4352aa6530e9041e.map +1 -0
  442. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/observable_c5f77f53d42172356a26ee7b5f9eb0fe +6 -0
  443. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/observable_c5f77f53d42172356a26ee7b5f9eb0fe.map +1 -0
  444. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c7/async_c75f179ff8345a7facdf5722a76ce5eb +9 -0
  445. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c7/async_c75f179ff8345a7facdf5722a76ce5eb.map +1 -0
  446. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c8/publishReplay_c8c843986a226c800553c50bf0d4986a +16 -0
  447. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c8/publishReplay_c8c843986a226c800553c50bf0d4986a.map +1 -0
  448. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/switchMap_c9a61e10418ff0d233e9f37ce2564722 +29 -0
  449. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/switchMap_c9a61e10418ff0d233e9f37ce2564722.map +1 -0
  450. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/tap_c9701a92d0cb05c37b5e407d2612f461 +45 -0
  451. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/tap_c9701a92d0cb05c37b5e407d2612f461.map +1 -0
  452. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/throwIfEmpty_c95930779baae066280851a904dbeb3b +24 -0
  453. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/throwIfEmpty_c95930779baae066280851a904dbeb3b.map +1 -0
  454. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ca/performanceTimestampProvider_ca75d4b8a7737a06fe0103f57ecab207 +11 -0
  455. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ca/performanceTimestampProvider_ca75d4b8a7737a06fe0103f57ecab207.map +1 -0
  456. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cd/root_effect_scheduler_cd51ef0a8f200e1abf01dc277a3a5df9 +2781 -0
  457. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cd/root_effect_scheduler_cd51ef0a8f200e1abf01dc277a3a5df9.map +7 -0
  458. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ce/never_cee185710a6214c29143737c23fd4677 +12 -0
  459. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ce/never_cee185710a6214c29143737c23fd4677.map +1 -0
  460. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cf/router2_cf9d43bf1bbddffad92ce6f986903a05 +4525 -0
  461. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cf/router2_cf9d43bf1bbddffad92ce6f986903a05.map +7 -0
  462. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d0/raceWith_d051c9b953c1fd2639013e156ba6ae19 +49 -0
  463. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d0/raceWith_d051c9b953c1fd2639013e156ba6ae19.map +1 -0
  464. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d1/config_d1c9202c35f14e62ae850fe7743cae36 +12 -0
  465. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d1/config_d1c9202c35f14e62ae850fe7743cae36.map +1 -0
  466. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/AsapAction_d39639bf5f6b225cc38dc8c74d1af9a6 +62 -0
  467. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/AsapAction_d39639bf5f6b225cc38dc8c74d1af9a6.map +1 -0
  468. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/multicast_d36b647dfd33a398736534a046a02bf5 +18 -0
  469. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/multicast_d36b647dfd33a398736534a046a02bf5.map +1 -0
  470. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/index_d4a6e0403fbfbe6498f4f78f3d629738 +233 -0
  471. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/index_d4a6e0403fbfbe6498f4f78f3d629738.map +1 -0
  472. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/materialize_d43175ee753b655d51140c88bce1a6be +22 -0
  473. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/materialize_d43175ee753b655d51140c88bce1a6be.map +1 -0
  474. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d6/scheduleAsyncIterable_d6e81c64015c43541cba915cc3e31132 +28 -0
  475. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d6/scheduleAsyncIterable_d6e81c64015c43541cba915cc3e31132.map +1 -0
  476. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d7/combineLatestWith_d70435aa71a1b44c2f0fd0e5ace5c855 +43 -0
  477. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d7/combineLatestWith_d70435aa71a1b44c2f0fd0e5ace5c855.map +1 -0
  478. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/ObjectUnsubscribedError_d863d8d7ba62753dd49ed11452bb49ad +13 -0
  479. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/ObjectUnsubscribedError_d863d8d7ba62753dd49ed11452bb49ad.map +1 -0
  480. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/isReadableStreamLike_d8ac776d715d309f9290381eb737db32 +135 -0
  481. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/isReadableStreamLike_d8ac776d715d309f9290381eb737db32.map +1 -0
  482. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/mergeWith_d8c7619538423a1bf26f2b9af57b6d25 +43 -0
  483. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/mergeWith_d8c7619538423a1bf26f2b9af57b6d25.map +1 -0
  484. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/xhr_d8832649622efe3fcd143809f0f87fd4 +42 -0
  485. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/xhr_d8832649622efe3fcd143809f0f87fd4.map +7 -0
  486. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/zipAll_d804e1eccf146187e7358ac19aa173b3 +11 -0
  487. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/zipAll_d804e1eccf146187e7358ac19aa173b3.map +1 -0
  488. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/compiler_d92e4c0e6e7f4c5772f2508286502b68 +30180 -0
  489. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/compiler_d92e4c0e6e7f4c5772f2508286502b68.map +7 -0
  490. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/elementAt_d986766ccbe2107bdc7f5e669337600e +20 -0
  491. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/elementAt_d986766ccbe2107bdc7f5e669337600e.map +1 -0
  492. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/db/executeSchedule_dbf7f93b0f5675ff5dd1cf6436806ec5 +27 -0
  493. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/db/executeSchedule_dbf7f93b0f5675ff5dd1cf6436806ec5.map +1 -0
  494. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dc/bufferCount_dc0ef20dd5330da45bc2ce43a89e3e50 +109 -0
  495. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dc/bufferCount_dc0ef20dd5330da45bc2ce43a89e3e50.map +1 -0
  496. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dd/combineLatest_ddac0381b2fcc357b2049905db6355f8 +78 -0
  497. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dd/combineLatest_ddac0381b2fcc357b2049905db6355f8.map +1 -0
  498. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/df/timeoutWith_df6ef9efc665a029df8ca430438b5e2f +36 -0
  499. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/df/timeoutWith_df6ef9efc665a029df8ca430438b5e2f.map +1 -0
  500. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e1/mergeInternals_e19ab8fb8b32e55949601e89605352ec +66 -0
  501. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e1/mergeInternals_e19ab8fb8b32e55949601e89605352ec.map +1 -0
  502. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/empty_e2792d620e14eba9bb559f5122b2c3cb +14 -0
  503. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/empty_e2792d620e14eba9bb559f5122b2c3cb.map +1 -0
  504. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/retryWhen_e2032835cf0c34e73ce7119acf419768 +37 -0
  505. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/retryWhen_e2032835cf0c34e73ce7119acf419768.map +1 -0
  506. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e3/SequenceError_e36656846dc4f82f2b68577130e16686 +13 -0
  507. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e3/SequenceError_e36656846dc4f82f2b68577130e16686.map +1 -0
  508. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/bindNodeCallback_e52282e47a455913b29058a2a317f57d +10 -0
  509. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/bindNodeCallback_e52282e47a455913b29058a2a317f57d.map +1 -0
  510. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/merge_e588ad7be7a101e8cd64100ee5ccd900 +28 -0
  511. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/merge_e588ad7be7a101e8cd64100ee5ccd900.map +1 -0
  512. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/refCount_e59caf6d2da72ecc70af816bec0f59cf +31 -0
  513. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/refCount_e59caf6d2da72ecc70af816bec0f59cf.map +1 -0
  514. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e6/authenticationconfig_e61ac491e3ffa80028d768cb76d35be4 +241 -0
  515. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e6/authenticationconfig_e61ac491e3ffa80028d768cb76d35be4.map +1 -0
  516. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e7/finalize_e722a897efe5058701cb7bd1994377c5 +17 -0
  517. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e7/finalize_e722a897efe5058701cb7bd1994377c5.map +1 -0
  518. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e9/common_module_e95b66602cfdfe1dc86f7d88b9daba39 +2817 -0
  519. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e9/common_module_e95b66602cfdfe1dc86f7d88b9daba39.map +7 -0
  520. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/index_eb85d2667ebd581897f23dd840905668 +363 -0
  521. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/index_eb85d2667ebd581897f23dd840905668.map +1 -0
  522. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/setupjest_eb921e8057ec61c0cb0a6b18b615e94d +65 -0
  523. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/setupjest_eb921e8057ec61c0cb0a6b18b615e94d.map +1 -0
  524. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ec/http_ec606ed9a5da539b70c571c1db03c6c3 +411 -0
  525. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ec/http_ec606ed9a5da539b70c571c1db03c6c3.map +7 -0
  526. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ed/first_ed8d191ff8c8fcd5257867021e5d7644 +18 -0
  527. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ed/first_ed8d191ff8c8fcd5257867021e5d7644.map +1 -0
  528. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ee/argsArgArrayOrObject_eee0e6f9213cd3248bb235a57c58fe9d +27 -0
  529. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ee/argsArgArrayOrObject_eee0e6f9213cd3248bb235a57c58fe9d.map +1 -0
  530. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/ConnectableObservable_f019284d46b19e0ac701f4e5f966877b +83 -0
  531. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/ConnectableObservable_f019284d46b19e0ac701f4e5f966877b.map +1 -0
  532. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/bindCallbackInternals_f09fffe73e1327185aa6b27297978a6b +112 -0
  533. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/bindCallbackInternals_f09fffe73e1327185aa6b27297978a6b.map +1 -0
  534. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/VirtualTimeScheduler_f1e0966a6811c115d2e1b987a5bccbb1 +136 -0
  535. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/VirtualTimeScheduler_f1e0966a6811c115d2e1b987a5bccbb1.map +1 -0
  536. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/auditTime_f1f81974926fcabf16721c844c492587 +15 -0
  537. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/auditTime_f1f81974926fcabf16721c844c492587.map +1 -0
  538. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f3/switchAll_f36891bbdd859d95639bf39ea11871b3 +11 -0
  539. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f3/switchAll_f36891bbdd859d95639bf39ea11871b3.map +1 -0
  540. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f5/isDate_f580e5e8dd37953d4077ccfd3d2f3238 +9 -0
  541. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f5/isDate_f580e5e8dd37953d4077ccfd3d2f3238.map +1 -0
  542. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f6/onErrorResumeNext_f67503f4ac86fb2327db7b977000463a +40 -0
  543. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f6/onErrorResumeNext_f67503f4ac86fb2327db7b977000463a.map +1 -0
  544. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fa/AnimationFrameScheduler_fa55eaf8d3b76acc48dc461757443954 +57 -0
  545. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fa/AnimationFrameScheduler_fa55eaf8d3b76acc48dc461757443954.map +1 -0
  546. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fb/sample_fb860d84458eeb36b477dfa74a843530 +28 -0
  547. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fb/sample_fb860d84458eeb36b477dfa74a843530.map +1 -0
  548. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/QueueScheduler_fc41cc77a1da1827c68511ec446c61cb +31 -0
  549. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/QueueScheduler_fc41cc77a1da1827c68511ec446c61cb.map +1 -0
  550. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/logincomponent_fc5f1b609a4695ceb7718cf57818ef14 +1951 -0
  551. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/logincomponent_fc5f1b609a4695ceb7718cf57818ef14.map +1 -0
  552. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fd/createObject_fd09005888b3a1482b913bc7416cf93d +9 -0
  553. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fd/createObject_fd09005888b3a1482b913bc7416cf93d.map +1 -0
  554. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/subscribeOn_ff90b699bad608d185d3faa4c04f1b20 +15 -0
  555. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/subscribeOn_ff90b699bad608d185d3faa4c04f1b20.map +1 -0
  556. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/throwError_ff75e4c919422c524c63fa2e532e31b5 +13 -0
  557. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/throwError_ff75e4c919422c524c63fa2e532e31b5.map +1 -0
  558. package/.jest-cache/perf-cache-9a3a3745ceefdbbde8dc96f3a11cb645-da39a3ee5e6b4b0d3255bfef95601890 +1 -0
  559. package/.nx/nxw.js +116 -0
  560. package/README.md +276 -0
  561. package/coverage/base.css +224 -0
  562. package/coverage/block-navigation.js +87 -0
  563. package/coverage/favicon.png +0 -0
  564. package/coverage/index.html +206 -0
  565. package/coverage/junit.xml +1540 -0
  566. package/coverage/lcov-report/base.css +224 -0
  567. package/coverage/lcov-report/block-navigation.js +87 -0
  568. package/coverage/lcov-report/favicon.png +0 -0
  569. package/coverage/lcov-report/index.html +206 -0
  570. package/coverage/lcov-report/lib/components/dashboard/dashboard.component.ts.html +943 -0
  571. package/coverage/lcov-report/lib/components/dashboard/index.html +116 -0
  572. package/coverage/lcov-report/lib/components/login/index.html +116 -0
  573. package/coverage/lcov-report/lib/components/login/login.component.ts.html +451 -0
  574. package/coverage/lcov-report/lib/config/app.config.ts.html +889 -0
  575. package/coverage/lcov-report/lib/config/authentication.config.ts.html +262 -0
  576. package/coverage/lcov-report/lib/config/index.html +131 -0
  577. package/coverage/lcov-report/lib/guards/authorization.guard.ts.html +178 -0
  578. package/coverage/lcov-report/lib/guards/index.html +116 -0
  579. package/coverage/lcov-report/lib/index.html +116 -0
  580. package/coverage/lcov-report/lib/models/index.html +116 -0
  581. package/coverage/lcov-report/lib/models/login-config.interface.ts.html +307 -0
  582. package/coverage/lcov-report/lib/services/authentication.service.ts.html +973 -0
  583. package/coverage/lcov-report/lib/services/authorization.service.ts.html +634 -0
  584. package/coverage/lcov-report/lib/services/config.service.ts.html +316 -0
  585. package/coverage/lcov-report/lib/services/index.html +146 -0
  586. package/coverage/lcov-report/lib/version.ts.html +148 -0
  587. package/coverage/lcov-report/prettify.css +1 -0
  588. package/coverage/lcov-report/prettify.js +2 -0
  589. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  590. package/coverage/lcov-report/sorter.js +210 -0
  591. package/coverage/lcov.info +1060 -0
  592. package/coverage/lib/components/dashboard/dashboard.component.ts.html +943 -0
  593. package/coverage/lib/components/dashboard/index.html +116 -0
  594. package/coverage/lib/components/login/index.html +116 -0
  595. package/coverage/lib/components/login/login.component.ts.html +451 -0
  596. package/coverage/lib/config/app.config.ts.html +889 -0
  597. package/coverage/lib/config/authentication.config.ts.html +262 -0
  598. package/coverage/lib/config/index.html +131 -0
  599. package/coverage/lib/guards/authorization.guard.ts.html +178 -0
  600. package/coverage/lib/guards/index.html +116 -0
  601. package/coverage/lib/index.html +116 -0
  602. package/coverage/lib/models/index.html +116 -0
  603. package/coverage/lib/models/login-config.interface.ts.html +307 -0
  604. package/coverage/lib/services/authentication.service.ts.html +973 -0
  605. package/coverage/lib/services/authorization.service.ts.html +634 -0
  606. package/coverage/lib/services/config.service.ts.html +316 -0
  607. package/coverage/lib/services/index.html +146 -0
  608. package/coverage/lib/version.ts.html +148 -0
  609. package/coverage/prettify.css +1 -0
  610. package/coverage/prettify.js +2 -0
  611. package/coverage/sort-arrow-sprite.png +0 -0
  612. package/coverage/sorter.js +210 -0
  613. package/dist/README.md +276 -0
  614. package/dist/fesm2022/shared-lib-angular.mjs +1253 -0
  615. package/dist/fesm2022/shared-lib-angular.mjs.map +1 -0
  616. package/dist/index.d.ts +529 -0
  617. package/dist/src/assets/logo-mh.png +0 -0
  618. package/dist/src/lib/styles/_auth.scss +188 -0
  619. package/dist/src/lib/styles/_dashboard.scss +276 -0
  620. package/dist/src/lib/styles/_index.scss +12 -0
  621. package/dist/src/lib/styles/_tokens.scss +143 -0
  622. package/jest.config.js +99 -0
  623. package/ng-package.json +12 -0
  624. package/nx +5 -0
  625. package/nx.bat +10 -0
  626. package/nx.json +5 -0
  627. package/package.json +62 -0
  628. package/scripts/sync-version.js +54 -0
  629. package/setup-jest.ts +70 -0
  630. package/sonar-project.properties +33 -0
  631. package/src/assets/logo-mh.png +0 -0
  632. package/src/lib/components/dashboard/dashboard.component.html +256 -0
  633. package/src/lib/components/dashboard/dashboard.component.scss +623 -0
  634. package/src/lib/components/dashboard/dashboard.component.spec.ts +255 -0
  635. package/src/lib/components/dashboard/dashboard.component.ts +286 -0
  636. package/src/lib/components/index.ts +2 -0
  637. package/src/lib/components/login/login.component.html +85 -0
  638. package/src/lib/components/login/login.component.scss +286 -0
  639. package/src/lib/components/login/login.component.spec.ts +144 -0
  640. package/src/lib/components/login/login.component.ts +122 -0
  641. package/src/lib/config/app.config.ts +320 -0
  642. package/src/lib/config/authentication.config.ts +59 -0
  643. package/src/lib/config/index.ts +2 -0
  644. package/src/lib/guards/authorization.guard.ts +31 -0
  645. package/src/lib/guards/index.ts +1 -0
  646. package/src/lib/models/app-config.interface.ts +61 -0
  647. package/src/lib/models/authorization.interface.ts +40 -0
  648. package/src/lib/models/index.ts +4 -0
  649. package/src/lib/models/library-config.interface.ts +104 -0
  650. package/src/lib/models/login-config.interface.ts +74 -0
  651. package/src/lib/services/authentication.service.spec.ts +201 -0
  652. package/src/lib/services/authentication.service.ts +296 -0
  653. package/src/lib/services/authorization.service.spec.ts +239 -0
  654. package/src/lib/services/authorization.service.ts +183 -0
  655. package/src/lib/services/config.service.spec.ts +99 -0
  656. package/src/lib/services/config.service.ts +77 -0
  657. package/src/lib/services/index.ts +3 -0
  658. package/src/lib/styles/_auth.scss +188 -0
  659. package/src/lib/styles/_dashboard.scss +276 -0
  660. package/src/lib/styles/_index.scss +12 -0
  661. package/src/lib/styles/_tokens.scss +143 -0
  662. package/src/lib/version.ts +21 -0
  663. package/src/public-api.ts +75 -0
  664. package/tsconfig.json +33 -0
  665. package/tsconfig.spec.json +16 -0
@@ -0,0 +1,2766 @@
1
+ e71f1c592f81af9c049d8c28484f6dd5
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from2, except, desc) => {
13
+ if (from2 && typeof from2 === "object" || typeof from2 === "function") {
14
+ for (let key of __getOwnPropNames(from2))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var __async = (__this, __arguments, generator) => {
30
+ return new Promise((resolve, reject) => {
31
+ var fulfilled = (value) => {
32
+ try {
33
+ step(generator.next(value));
34
+ } catch (e) {
35
+ reject(e);
36
+ }
37
+ };
38
+ var rejected = (value) => {
39
+ try {
40
+ step(generator.throw(value));
41
+ } catch (e) {
42
+ reject(e);
43
+ }
44
+ };
45
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
46
+ step((generator = generator.apply(__this, __arguments)).next());
47
+ });
48
+ };
49
+ var angular_oauth2_oidc_exports = {};
50
+ __export(angular_oauth2_oidc_exports, {
51
+ AUTH_CONFIG: () => AUTH_CONFIG,
52
+ AbstractValidationHandler: () => AbstractValidationHandler,
53
+ AuthConfig: () => AuthConfig,
54
+ DateTimeProvider: () => DateTimeProvider,
55
+ DefaultHashHandler: () => DefaultHashHandler,
56
+ DefaultOAuthInterceptor: () => DefaultOAuthInterceptor,
57
+ HashHandler: () => HashHandler,
58
+ JwksValidationHandler: () => JwksValidationHandler,
59
+ LoginOptions: () => LoginOptions,
60
+ MemoryStorage: () => MemoryStorage,
61
+ NullValidationHandler: () => NullValidationHandler,
62
+ OAuthErrorEvent: () => OAuthErrorEvent,
63
+ OAuthEvent: () => OAuthEvent,
64
+ OAuthInfoEvent: () => OAuthInfoEvent,
65
+ OAuthLogger: () => OAuthLogger,
66
+ OAuthModule: () => OAuthModule,
67
+ OAuthModuleConfig: () => OAuthModuleConfig,
68
+ OAuthNoopResourceServerErrorHandler: () => OAuthNoopResourceServerErrorHandler,
69
+ OAuthResourceServerConfig: () => OAuthResourceServerConfig,
70
+ OAuthResourceServerErrorHandler: () => OAuthResourceServerErrorHandler,
71
+ OAuthService: () => OAuthService,
72
+ OAuthStorage: () => OAuthStorage,
73
+ OAuthSuccessEvent: () => OAuthSuccessEvent,
74
+ ReceivedTokens: () => ReceivedTokens,
75
+ SystemDateTimeProvider: () => SystemDateTimeProvider,
76
+ UrlHelperService: () => UrlHelperService,
77
+ ValidationHandler: () => ValidationHandler,
78
+ provideOAuthClient: () => provideOAuthClient
79
+ });
80
+ module.exports = __toCommonJS(angular_oauth2_oidc_exports);
81
+ var i0 = __toESM(require("@angular/core"), 1);
82
+ var import_core = require("@angular/core");
83
+ var import_common = require("@angular/common");
84
+ var i1 = __toESM(require("@angular/common/http"), 1);
85
+ var import_http = require("@angular/common/http");
86
+ var import_rxjs = require("rxjs");
87
+ var import_operators = require("rxjs/operators");
88
+ class NullValidationHandler {
89
+ validateSignature(validationParams) {
90
+ return Promise.resolve(null);
91
+ }
92
+ validateAtHash(validationParams) {
93
+ return Promise.resolve(true);
94
+ }
95
+ }
96
+ class OAuthModuleConfig {
97
+ }
98
+ class OAuthResourceServerConfig {
99
+ }
100
+ class DateTimeProvider {
101
+ }
102
+ const _SystemDateTimeProvider = class _SystemDateTimeProvider extends DateTimeProvider {
103
+ now() {
104
+ return Date.now();
105
+ }
106
+ new() {
107
+ return /* @__PURE__ */ new Date();
108
+ }
109
+ };
110
+ _SystemDateTimeProvider.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _SystemDateTimeProvider, deps: null, target: i0.\u0275\u0275FactoryTarget.Injectable });
111
+ _SystemDateTimeProvider.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _SystemDateTimeProvider });
112
+ let SystemDateTimeProvider = _SystemDateTimeProvider;
113
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SystemDateTimeProvider, decorators: [{
114
+ type: import_core.Injectable
115
+ }] });
116
+ class LoginOptions {
117
+ constructor() {
118
+ this.disableNonceCheck = false;
119
+ this.preventClearHashAfterLogin = false;
120
+ }
121
+ }
122
+ class OAuthLogger {
123
+ }
124
+ class OAuthStorage {
125
+ }
126
+ const _MemoryStorage = class _MemoryStorage {
127
+ constructor() {
128
+ this.data = /* @__PURE__ */ new Map();
129
+ }
130
+ getItem(key) {
131
+ return this.data.get(key);
132
+ }
133
+ removeItem(key) {
134
+ this.data.delete(key);
135
+ }
136
+ setItem(key, data) {
137
+ this.data.set(key, data);
138
+ }
139
+ };
140
+ _MemoryStorage.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _MemoryStorage, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable });
141
+ _MemoryStorage.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _MemoryStorage });
142
+ let MemoryStorage = _MemoryStorage;
143
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: MemoryStorage, decorators: [{
144
+ type: import_core.Injectable
145
+ }] });
146
+ class ReceivedTokens {
147
+ }
148
+ class OAuthEvent {
149
+ constructor(type) {
150
+ this.type = type;
151
+ }
152
+ }
153
+ class OAuthSuccessEvent extends OAuthEvent {
154
+ constructor(type, info = null) {
155
+ super(type);
156
+ this.info = info;
157
+ }
158
+ }
159
+ class OAuthInfoEvent extends OAuthEvent {
160
+ constructor(type, info = null) {
161
+ super(type);
162
+ this.info = info;
163
+ }
164
+ }
165
+ class OAuthErrorEvent extends OAuthEvent {
166
+ constructor(type, reason, params = null) {
167
+ super(type);
168
+ this.reason = reason;
169
+ this.params = params;
170
+ }
171
+ }
172
+ function b64DecodeUnicode(str) {
173
+ const base64 = str.replace(/-/g, "+").replace(/_/g, "/");
174
+ return decodeURIComponent(atob(base64).split("").map(function(c) {
175
+ return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2);
176
+ }).join(""));
177
+ }
178
+ function base64UrlEncode(str) {
179
+ const base64 = btoa(str);
180
+ return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
181
+ }
182
+ class AuthConfig {
183
+ constructor(json) {
184
+ this.clientId = "";
185
+ this.redirectUri = "";
186
+ this.postLogoutRedirectUri = "";
187
+ this.redirectUriAsPostLogoutRedirectUriFallback = true;
188
+ this.loginUrl = "";
189
+ this.scope = "openid profile";
190
+ this.resource = "";
191
+ this.rngUrl = "";
192
+ this.oidc = true;
193
+ this.requestAccessToken = true;
194
+ this.options = null;
195
+ this.issuer = "";
196
+ this.logoutUrl = "";
197
+ this.clearHashAfterLogin = true;
198
+ this.tokenEndpoint = null;
199
+ this.revocationEndpoint = null;
200
+ this.customTokenParameters = [];
201
+ this.userinfoEndpoint = null;
202
+ this.responseType = "";
203
+ this.showDebugInformation = false;
204
+ this.silentRefreshRedirectUri = "";
205
+ this.silentRefreshMessagePrefix = "";
206
+ this.silentRefreshShowIFrame = false;
207
+ this.siletRefreshTimeout = 1e3 * 20;
208
+ this.silentRefreshTimeout = 1e3 * 20;
209
+ this.dummyClientSecret = "";
210
+ this.requireHttps = "remoteOnly";
211
+ this.strictDiscoveryDocumentValidation = true;
212
+ this.jwks = null;
213
+ this.customQueryParams = null;
214
+ this.silentRefreshIFrameName = "angular-oauth-oidc-silent-refresh-iframe";
215
+ this.timeoutFactor = 0.75;
216
+ this.sessionChecksEnabled = false;
217
+ this.sessionCheckIntervall = 3 * 1e3;
218
+ this.sessionCheckIFrameUrl = null;
219
+ this.sessionCheckIFrameName = "angular-oauth-oidc-check-session-iframe";
220
+ this.disableAtHashCheck = false;
221
+ this.skipSubjectCheck = false;
222
+ this.useIdTokenHintForSilentRefresh = false;
223
+ this.skipIssuerCheck = false;
224
+ this.nonceStateSeparator = ";";
225
+ this.useHttpBasicAuth = false;
226
+ this.decreaseExpirationBySec = 0;
227
+ this.waitForTokenInMsec = 0;
228
+ this.disablePKCE = false;
229
+ this.preserveRequestedRoute = false;
230
+ this.disableIdTokenTimer = false;
231
+ this.checkOrigin = false;
232
+ this.openUri = (uri) => {
233
+ location.href = uri;
234
+ };
235
+ if (json) {
236
+ Object.assign(this, json);
237
+ }
238
+ }
239
+ }
240
+ class WebHttpUrlEncodingCodec {
241
+ encodeKey(k) {
242
+ return encodeURIComponent(k);
243
+ }
244
+ encodeValue(v) {
245
+ return encodeURIComponent(v);
246
+ }
247
+ decodeKey(k) {
248
+ return decodeURIComponent(k);
249
+ }
250
+ decodeValue(v) {
251
+ return decodeURIComponent(v);
252
+ }
253
+ }
254
+ class ValidationHandler {
255
+ }
256
+ class AbstractValidationHandler {
257
+ /**
258
+ * Validates the at_hash in an id_token against the received access_token.
259
+ */
260
+ validateAtHash(params) {
261
+ return __async(this, null, function* () {
262
+ const hashAlg = this.inferHashAlgorithm(params.idTokenHeader);
263
+ const tokenHash = yield this.calcHash(params.accessToken, hashAlg);
264
+ const leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);
265
+ const atHash = base64UrlEncode(leftMostHalf);
266
+ const claimsAtHash = params.idTokenClaims["at_hash"].replace(/=/g, "");
267
+ if (atHash !== claimsAtHash) {
268
+ console.error("exptected at_hash: " + atHash);
269
+ console.error("actual at_hash: " + claimsAtHash);
270
+ }
271
+ return atHash === claimsAtHash;
272
+ });
273
+ }
274
+ /**
275
+ * Infers the name of the hash algorithm to use
276
+ * from the alg field of an id_token.
277
+ *
278
+ * @param jwtHeader the id_token's parsed header
279
+ */
280
+ inferHashAlgorithm(jwtHeader) {
281
+ const alg = jwtHeader["alg"];
282
+ if (!alg.match(/^.S[0-9]{3}$/)) {
283
+ throw new Error("Algorithm not supported: " + alg);
284
+ }
285
+ return "sha-" + alg.substr(2);
286
+ }
287
+ }
288
+ const _UrlHelperService = class _UrlHelperService {
289
+ getHashFragmentParams(customHashFragment) {
290
+ let hash2 = customHashFragment || window.location.hash;
291
+ hash2 = decodeURIComponent(hash2);
292
+ if (hash2.indexOf("#") !== 0) {
293
+ return {};
294
+ }
295
+ const questionMarkPosition = hash2.indexOf("?");
296
+ if (questionMarkPosition > -1) {
297
+ hash2 = hash2.substr(questionMarkPosition + 1);
298
+ } else {
299
+ hash2 = hash2.substr(1);
300
+ }
301
+ return this.parseQueryString(hash2);
302
+ }
303
+ parseQueryString(queryString) {
304
+ const data = {};
305
+ let pair, separatorIndex, escapedKey, escapedValue, key, value;
306
+ if (queryString === null) {
307
+ return data;
308
+ }
309
+ const pairs = queryString.split("&");
310
+ for (let i = 0; i < pairs.length; i++) {
311
+ pair = pairs[i];
312
+ separatorIndex = pair.indexOf("=");
313
+ if (separatorIndex === -1) {
314
+ escapedKey = pair;
315
+ escapedValue = null;
316
+ } else {
317
+ escapedKey = pair.substr(0, separatorIndex);
318
+ escapedValue = pair.substr(separatorIndex + 1);
319
+ }
320
+ key = decodeURIComponent(escapedKey);
321
+ value = decodeURIComponent(escapedValue);
322
+ if (key.substr(0, 1) === "/") {
323
+ key = key.substr(1);
324
+ }
325
+ data[key] = value;
326
+ }
327
+ return data;
328
+ }
329
+ };
330
+ _UrlHelperService.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _UrlHelperService, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable });
331
+ _UrlHelperService.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _UrlHelperService });
332
+ let UrlHelperService = _UrlHelperService;
333
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: UrlHelperService, decorators: [{
334
+ type: import_core.Injectable
335
+ }] });
336
+ const digestLength = 32;
337
+ const blockSize = 64;
338
+ const K = new Uint32Array([
339
+ 1116352408,
340
+ 1899447441,
341
+ 3049323471,
342
+ 3921009573,
343
+ 961987163,
344
+ 1508970993,
345
+ 2453635748,
346
+ 2870763221,
347
+ 3624381080,
348
+ 310598401,
349
+ 607225278,
350
+ 1426881987,
351
+ 1925078388,
352
+ 2162078206,
353
+ 2614888103,
354
+ 3248222580,
355
+ 3835390401,
356
+ 4022224774,
357
+ 264347078,
358
+ 604807628,
359
+ 770255983,
360
+ 1249150122,
361
+ 1555081692,
362
+ 1996064986,
363
+ 2554220882,
364
+ 2821834349,
365
+ 2952996808,
366
+ 3210313671,
367
+ 3336571891,
368
+ 3584528711,
369
+ 113926993,
370
+ 338241895,
371
+ 666307205,
372
+ 773529912,
373
+ 1294757372,
374
+ 1396182291,
375
+ 1695183700,
376
+ 1986661051,
377
+ 2177026350,
378
+ 2456956037,
379
+ 2730485921,
380
+ 2820302411,
381
+ 3259730800,
382
+ 3345764771,
383
+ 3516065817,
384
+ 3600352804,
385
+ 4094571909,
386
+ 275423344,
387
+ 430227734,
388
+ 506948616,
389
+ 659060556,
390
+ 883997877,
391
+ 958139571,
392
+ 1322822218,
393
+ 1537002063,
394
+ 1747873779,
395
+ 1955562222,
396
+ 2024104815,
397
+ 2227730452,
398
+ 2361852424,
399
+ 2428436474,
400
+ 2756734187,
401
+ 3204031479,
402
+ 3329325298
403
+ ]);
404
+ function hashBlocks(w, v, p, pos, len) {
405
+ let a, b, c, d, e, f, g, h, u, i, j, t1, t2;
406
+ while (len >= 64) {
407
+ a = v[0];
408
+ b = v[1];
409
+ c = v[2];
410
+ d = v[3];
411
+ e = v[4];
412
+ f = v[5];
413
+ g = v[6];
414
+ h = v[7];
415
+ for (i = 0; i < 16; i++) {
416
+ j = pos + i * 4;
417
+ w[i] = (p[j] & 255) << 24 | (p[j + 1] & 255) << 16 | (p[j + 2] & 255) << 8 | p[j + 3] & 255;
418
+ }
419
+ for (i = 16; i < 64; i++) {
420
+ u = w[i - 2];
421
+ t1 = (u >>> 17 | u << 32 - 17) ^ (u >>> 19 | u << 32 - 19) ^ u >>> 10;
422
+ u = w[i - 15];
423
+ t2 = (u >>> 7 | u << 32 - 7) ^ (u >>> 18 | u << 32 - 18) ^ u >>> 3;
424
+ w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);
425
+ }
426
+ for (i = 0; i < 64; i++) {
427
+ t1 = (((e >>> 6 | e << 32 - 6) ^ (e >>> 11 | e << 32 - 11) ^ (e >>> 25 | e << 32 - 25)) + (e & f ^ ~e & g) | 0) + (h + (K[i] + w[i] | 0) | 0) | 0;
428
+ t2 = ((a >>> 2 | a << 32 - 2) ^ (a >>> 13 | a << 32 - 13) ^ (a >>> 22 | a << 32 - 22)) + (a & b ^ a & c ^ b & c) | 0;
429
+ h = g;
430
+ g = f;
431
+ f = e;
432
+ e = d + t1 | 0;
433
+ d = c;
434
+ c = b;
435
+ b = a;
436
+ a = t1 + t2 | 0;
437
+ }
438
+ v[0] += a;
439
+ v[1] += b;
440
+ v[2] += c;
441
+ v[3] += d;
442
+ v[4] += e;
443
+ v[5] += f;
444
+ v[6] += g;
445
+ v[7] += h;
446
+ pos += 64;
447
+ len -= 64;
448
+ }
449
+ return pos;
450
+ }
451
+ class Hash {
452
+ constructor() {
453
+ this.digestLength = digestLength;
454
+ this.blockSize = blockSize;
455
+ this.state = new Int32Array(8);
456
+ this.temp = new Int32Array(64);
457
+ this.buffer = new Uint8Array(128);
458
+ this.bufferLength = 0;
459
+ this.bytesHashed = 0;
460
+ this.finished = false;
461
+ this.reset();
462
+ }
463
+ // Resets hash state making it possible
464
+ // to re-use this instance to hash other data.
465
+ reset() {
466
+ this.state[0] = 1779033703;
467
+ this.state[1] = 3144134277;
468
+ this.state[2] = 1013904242;
469
+ this.state[3] = 2773480762;
470
+ this.state[4] = 1359893119;
471
+ this.state[5] = 2600822924;
472
+ this.state[6] = 528734635;
473
+ this.state[7] = 1541459225;
474
+ this.bufferLength = 0;
475
+ this.bytesHashed = 0;
476
+ this.finished = false;
477
+ return this;
478
+ }
479
+ // Cleans internal buffers and re-initializes hash state.
480
+ clean() {
481
+ for (let i = 0; i < this.buffer.length; i++) {
482
+ this.buffer[i] = 0;
483
+ }
484
+ for (let i = 0; i < this.temp.length; i++) {
485
+ this.temp[i] = 0;
486
+ }
487
+ this.reset();
488
+ }
489
+ // Updates hash state with the given data.
490
+ //
491
+ // Optionally, length of the data can be specified to hash
492
+ // fewer bytes than data.length.
493
+ //
494
+ // Throws error when trying to update already finalized hash:
495
+ // instance must be reset to use it again.
496
+ update(data, dataLength = data.length) {
497
+ if (this.finished) {
498
+ throw new Error("SHA256: can't update because hash was finished.");
499
+ }
500
+ let dataPos = 0;
501
+ this.bytesHashed += dataLength;
502
+ if (this.bufferLength > 0) {
503
+ while (this.bufferLength < 64 && dataLength > 0) {
504
+ this.buffer[this.bufferLength++] = data[dataPos++];
505
+ dataLength--;
506
+ }
507
+ if (this.bufferLength === 64) {
508
+ hashBlocks(this.temp, this.state, this.buffer, 0, 64);
509
+ this.bufferLength = 0;
510
+ }
511
+ }
512
+ if (dataLength >= 64) {
513
+ dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);
514
+ dataLength %= 64;
515
+ }
516
+ while (dataLength > 0) {
517
+ this.buffer[this.bufferLength++] = data[dataPos++];
518
+ dataLength--;
519
+ }
520
+ return this;
521
+ }
522
+ // Finalizes hash state and puts hash into out.
523
+ //
524
+ // If hash was already finalized, puts the same value.
525
+ finish(out) {
526
+ if (!this.finished) {
527
+ const bytesHashed = this.bytesHashed;
528
+ const left = this.bufferLength;
529
+ const bitLenHi = bytesHashed / 536870912 | 0;
530
+ const bitLenLo = bytesHashed << 3;
531
+ const padLength = bytesHashed % 64 < 56 ? 64 : 128;
532
+ this.buffer[left] = 128;
533
+ for (let i = left + 1; i < padLength - 8; i++) {
534
+ this.buffer[i] = 0;
535
+ }
536
+ this.buffer[padLength - 8] = bitLenHi >>> 24 & 255;
537
+ this.buffer[padLength - 7] = bitLenHi >>> 16 & 255;
538
+ this.buffer[padLength - 6] = bitLenHi >>> 8 & 255;
539
+ this.buffer[padLength - 5] = bitLenHi >>> 0 & 255;
540
+ this.buffer[padLength - 4] = bitLenLo >>> 24 & 255;
541
+ this.buffer[padLength - 3] = bitLenLo >>> 16 & 255;
542
+ this.buffer[padLength - 2] = bitLenLo >>> 8 & 255;
543
+ this.buffer[padLength - 1] = bitLenLo >>> 0 & 255;
544
+ hashBlocks(this.temp, this.state, this.buffer, 0, padLength);
545
+ this.finished = true;
546
+ }
547
+ for (let i = 0; i < 8; i++) {
548
+ out[i * 4 + 0] = this.state[i] >>> 24 & 255;
549
+ out[i * 4 + 1] = this.state[i] >>> 16 & 255;
550
+ out[i * 4 + 2] = this.state[i] >>> 8 & 255;
551
+ out[i * 4 + 3] = this.state[i] >>> 0 & 255;
552
+ }
553
+ return this;
554
+ }
555
+ // Returns the final hash digest.
556
+ digest() {
557
+ const out = new Uint8Array(this.digestLength);
558
+ this.finish(out);
559
+ return out;
560
+ }
561
+ // Internal function for use in HMAC for optimization.
562
+ _saveState(out) {
563
+ for (let i = 0; i < this.state.length; i++) {
564
+ out[i] = this.state[i];
565
+ }
566
+ }
567
+ // Internal function for use in HMAC for optimization.
568
+ _restoreState(from2, bytesHashed) {
569
+ for (let i = 0; i < this.state.length; i++) {
570
+ this.state[i] = from2[i];
571
+ }
572
+ this.bytesHashed = bytesHashed;
573
+ this.finished = false;
574
+ this.bufferLength = 0;
575
+ }
576
+ }
577
+ class HMAC {
578
+ constructor(key) {
579
+ this.inner = new Hash();
580
+ this.outer = new Hash();
581
+ this.blockSize = this.inner.blockSize;
582
+ this.digestLength = this.inner.digestLength;
583
+ const pad = new Uint8Array(this.blockSize);
584
+ if (key.length > this.blockSize) {
585
+ new Hash().update(key).finish(pad).clean();
586
+ } else {
587
+ for (let i = 0; i < key.length; i++) {
588
+ pad[i] = key[i];
589
+ }
590
+ }
591
+ for (let i = 0; i < pad.length; i++) {
592
+ pad[i] ^= 54;
593
+ }
594
+ this.inner.update(pad);
595
+ for (let i = 0; i < pad.length; i++) {
596
+ pad[i] ^= 54 ^ 92;
597
+ }
598
+ this.outer.update(pad);
599
+ this.istate = new Uint32Array(8);
600
+ this.ostate = new Uint32Array(8);
601
+ this.inner._saveState(this.istate);
602
+ this.outer._saveState(this.ostate);
603
+ for (let i = 0; i < pad.length; i++) {
604
+ pad[i] = 0;
605
+ }
606
+ }
607
+ // Returns HMAC state to the state initialized with key
608
+ // to make it possible to run HMAC over the other data with the same
609
+ // key without creating a new instance.
610
+ reset() {
611
+ this.inner._restoreState(this.istate, this.inner.blockSize);
612
+ this.outer._restoreState(this.ostate, this.outer.blockSize);
613
+ return this;
614
+ }
615
+ // Cleans HMAC state.
616
+ clean() {
617
+ for (let i = 0; i < this.istate.length; i++) {
618
+ this.ostate[i] = this.istate[i] = 0;
619
+ }
620
+ this.inner.clean();
621
+ this.outer.clean();
622
+ }
623
+ // Updates state with provided data.
624
+ update(data) {
625
+ this.inner.update(data);
626
+ return this;
627
+ }
628
+ // Finalizes HMAC and puts the result in out.
629
+ finish(out) {
630
+ if (this.outer.finished) {
631
+ this.outer.finish(out);
632
+ } else {
633
+ this.inner.finish(out);
634
+ this.outer.update(out, this.digestLength).finish(out);
635
+ }
636
+ return this;
637
+ }
638
+ // Returns message authentication code.
639
+ digest() {
640
+ const out = new Uint8Array(this.digestLength);
641
+ this.finish(out);
642
+ return out;
643
+ }
644
+ }
645
+ function hash(data) {
646
+ const h = new Hash().update(data);
647
+ const digest = h.digest();
648
+ h.clean();
649
+ return digest;
650
+ }
651
+ function hmac(key, data) {
652
+ const h = new HMAC(key).update(data);
653
+ const digest = h.digest();
654
+ h.clean();
655
+ return digest;
656
+ }
657
+ function fillBuffer(buffer, hmac2, info, counter) {
658
+ const num = counter[0];
659
+ if (num === 0) {
660
+ throw new Error("hkdf: cannot expand more");
661
+ }
662
+ hmac2.reset();
663
+ if (num > 1) {
664
+ hmac2.update(buffer);
665
+ }
666
+ if (info) {
667
+ hmac2.update(info);
668
+ }
669
+ hmac2.update(counter);
670
+ hmac2.finish(buffer);
671
+ counter[0]++;
672
+ }
673
+ const hkdfSalt = new Uint8Array(digestLength);
674
+ function hkdf(key, salt = hkdfSalt, info, length = 32) {
675
+ const counter = new Uint8Array([1]);
676
+ const okm = hmac(salt, key);
677
+ const hmac_ = new HMAC(okm);
678
+ const buffer = new Uint8Array(hmac_.digestLength);
679
+ let bufpos = buffer.length;
680
+ const out = new Uint8Array(length);
681
+ for (let i = 0; i < length; i++) {
682
+ if (bufpos === buffer.length) {
683
+ fillBuffer(buffer, hmac_, info, counter);
684
+ bufpos = 0;
685
+ }
686
+ out[i] = buffer[bufpos++];
687
+ }
688
+ hmac_.clean();
689
+ buffer.fill(0);
690
+ counter.fill(0);
691
+ return out;
692
+ }
693
+ function pbkdf2(password, salt, iterations, dkLen) {
694
+ const prf = new HMAC(password);
695
+ const len = prf.digestLength;
696
+ const ctr = new Uint8Array(4);
697
+ const t = new Uint8Array(len);
698
+ const u = new Uint8Array(len);
699
+ const dk = new Uint8Array(dkLen);
700
+ for (let i = 0; i * len < dkLen; i++) {
701
+ const c = i + 1;
702
+ ctr[0] = c >>> 24 & 255;
703
+ ctr[1] = c >>> 16 & 255;
704
+ ctr[2] = c >>> 8 & 255;
705
+ ctr[3] = c >>> 0 & 255;
706
+ prf.reset();
707
+ prf.update(salt);
708
+ prf.update(ctr);
709
+ prf.finish(u);
710
+ for (let j = 0; j < len; j++) {
711
+ t[j] = u[j];
712
+ }
713
+ for (let j = 2; j <= iterations; j++) {
714
+ prf.reset();
715
+ prf.update(u).finish(u);
716
+ for (let k = 0; k < len; k++) {
717
+ t[k] ^= u[k];
718
+ }
719
+ }
720
+ for (let j = 0; j < len && i * len + j < dkLen; j++) {
721
+ dk[i * len + j] = t[j];
722
+ }
723
+ }
724
+ for (let i = 0; i < len; i++) {
725
+ t[i] = u[i] = 0;
726
+ }
727
+ for (let i = 0; i < 4; i++) {
728
+ ctr[i] = 0;
729
+ }
730
+ prf.clean();
731
+ return dk;
732
+ }
733
+ class HashHandler {
734
+ }
735
+ function decodeUTF8(s) {
736
+ if (typeof s !== "string")
737
+ throw new TypeError("expected string");
738
+ const d = s, b = new Uint8Array(d.length);
739
+ for (let i = 0; i < d.length; i++)
740
+ b[i] = d.charCodeAt(i);
741
+ return b;
742
+ }
743
+ function encodeUTF8(arr) {
744
+ const s = [];
745
+ for (let i = 0; i < arr.length; i++)
746
+ s.push(String.fromCharCode(arr[i]));
747
+ return s.join("");
748
+ }
749
+ const _DefaultHashHandler = class _DefaultHashHandler {
750
+ calcHash(valueToHash, algorithm) {
751
+ return __async(this, null, function* () {
752
+ const candHash = encodeUTF8(hash(decodeUTF8(valueToHash)));
753
+ return candHash;
754
+ });
755
+ }
756
+ toHashString2(byteArray) {
757
+ let result = "";
758
+ for (const e of byteArray) {
759
+ result += String.fromCharCode(e);
760
+ }
761
+ return result;
762
+ }
763
+ toHashString(buffer) {
764
+ const byteArray = new Uint8Array(buffer);
765
+ let result = "";
766
+ for (const e of byteArray) {
767
+ result += String.fromCharCode(e);
768
+ }
769
+ return result;
770
+ }
771
+ };
772
+ _DefaultHashHandler.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultHashHandler, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable });
773
+ _DefaultHashHandler.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultHashHandler });
774
+ let DefaultHashHandler = _DefaultHashHandler;
775
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DefaultHashHandler, decorators: [{
776
+ type: import_core.Injectable
777
+ }] });
778
+ const _OAuthService = class _OAuthService extends AuthConfig {
779
+ constructor(ngZone, http, storage, tokenValidationHandler, config, urlHelper, logger, crypto, document, dateTimeService) {
780
+ var _a;
781
+ super();
782
+ this.ngZone = ngZone;
783
+ this.http = http;
784
+ this.config = config;
785
+ this.urlHelper = urlHelper;
786
+ this.logger = logger;
787
+ this.crypto = crypto;
788
+ this.dateTimeService = dateTimeService;
789
+ this.discoveryDocumentLoaded = false;
790
+ this.state = "";
791
+ this.eventsSubject = new import_rxjs.Subject();
792
+ this.discoveryDocumentLoadedSubject = new import_rxjs.Subject();
793
+ this.grantTypesSupported = [];
794
+ this.inImplicitFlow = false;
795
+ this.saveNoncesInLocalStorage = false;
796
+ this.debug("angular-oauth2-oidc v10");
797
+ this.document = document;
798
+ if (!config) {
799
+ config = {};
800
+ }
801
+ this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();
802
+ this.events = this.eventsSubject.asObservable();
803
+ if (tokenValidationHandler) {
804
+ this.tokenValidationHandler = tokenValidationHandler;
805
+ }
806
+ if (config) {
807
+ this.configure(config);
808
+ }
809
+ try {
810
+ if (storage) {
811
+ this.setStorage(storage);
812
+ } else if (typeof sessionStorage !== "undefined") {
813
+ this.setStorage(sessionStorage);
814
+ }
815
+ } catch (e) {
816
+ console.error("No OAuthStorage provided and cannot access default (sessionStorage).Consider providing a custom OAuthStorage implementation in your module.", e);
817
+ }
818
+ if (this.checkLocalStorageAccessable()) {
819
+ const ua = (_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent;
820
+ const msie = (ua == null ? void 0 : ua.includes("MSIE ")) || (ua == null ? void 0 : ua.includes("Trident"));
821
+ if (msie) {
822
+ this.saveNoncesInLocalStorage = true;
823
+ }
824
+ }
825
+ this.setupRefreshTimer();
826
+ }
827
+ checkLocalStorageAccessable() {
828
+ if (typeof window === "undefined")
829
+ return false;
830
+ const test = "test";
831
+ try {
832
+ if (typeof window["localStorage"] === "undefined")
833
+ return false;
834
+ localStorage.setItem(test, test);
835
+ localStorage.removeItem(test);
836
+ return true;
837
+ } catch (e) {
838
+ return false;
839
+ }
840
+ }
841
+ /**
842
+ * Use this method to configure the service
843
+ * @param config the configuration
844
+ */
845
+ configure(config) {
846
+ Object.assign(this, new AuthConfig(), config);
847
+ this.config = Object.assign({}, new AuthConfig(), config);
848
+ if (this.sessionChecksEnabled) {
849
+ this.setupSessionCheck();
850
+ }
851
+ this.configChanged();
852
+ }
853
+ configChanged() {
854
+ this.setupRefreshTimer();
855
+ }
856
+ restartSessionChecksIfStillLoggedIn() {
857
+ if (this.hasValidIdToken()) {
858
+ this.initSessionCheck();
859
+ }
860
+ }
861
+ restartRefreshTimerIfStillLoggedIn() {
862
+ this.setupExpirationTimers();
863
+ }
864
+ setupSessionCheck() {
865
+ this.events.pipe((0, import_operators.filter)((e) => e.type === "token_received")).subscribe(() => {
866
+ this.initSessionCheck();
867
+ });
868
+ }
869
+ /**
870
+ * Will setup up silent refreshing for when the token is
871
+ * about to expire. When the user is logged out via this.logOut method, the
872
+ * silent refreshing will pause and not refresh the tokens until the user is
873
+ * logged back in via receiving a new token.
874
+ * @param params Additional parameter to pass
875
+ * @param listenTo Setup automatic refresh of a specific token type
876
+ */
877
+ setupAutomaticSilentRefresh(params = {}, listenTo, noPrompt = true) {
878
+ let shouldRunSilentRefresh = true;
879
+ this.clearAutomaticRefreshTimer();
880
+ this.automaticRefreshSubscription = this.events.pipe((0, import_operators.tap)((e) => {
881
+ if (e.type === "token_received") {
882
+ shouldRunSilentRefresh = true;
883
+ } else if (e.type === "logout") {
884
+ shouldRunSilentRefresh = false;
885
+ }
886
+ }), (0, import_operators.filter)((e) => e.type === "token_expires" && (listenTo == null || listenTo === "any" || e.info === listenTo)), (0, import_operators.debounceTime)(1e3)).subscribe(() => {
887
+ if (shouldRunSilentRefresh) {
888
+ this.refreshInternal(params, noPrompt).catch(() => {
889
+ this.debug("Automatic silent refresh did not work");
890
+ });
891
+ }
892
+ });
893
+ this.restartRefreshTimerIfStillLoggedIn();
894
+ }
895
+ refreshInternal(params, noPrompt) {
896
+ if (!this.useSilentRefresh && this.responseType === "code") {
897
+ return this.refreshToken();
898
+ } else {
899
+ return this.silentRefresh(params, noPrompt);
900
+ }
901
+ }
902
+ /**
903
+ * Convenience method that first calls `loadDiscoveryDocument(...)` and
904
+ * directly chains using the `then(...)` part of the promise to call
905
+ * the `tryLogin(...)` method.
906
+ *
907
+ * @param options LoginOptions to pass through to `tryLogin(...)`
908
+ */
909
+ loadDiscoveryDocumentAndTryLogin(options = null) {
910
+ return this.loadDiscoveryDocument().then(() => {
911
+ return this.tryLogin(options);
912
+ });
913
+ }
914
+ /**
915
+ * Convenience method that first calls `loadDiscoveryDocumentAndTryLogin(...)`
916
+ * and if then chains to `initLoginFlow()`, but only if there is no valid
917
+ * IdToken or no valid AccessToken.
918
+ *
919
+ * @param options LoginOptions to pass through to `tryLogin(...)`
920
+ */
921
+ loadDiscoveryDocumentAndLogin(options = null) {
922
+ options = options || {};
923
+ return this.loadDiscoveryDocumentAndTryLogin(options).then(() => {
924
+ if (!this.hasValidIdToken() || !this.hasValidAccessToken()) {
925
+ const state = typeof options.state === "string" ? options.state : "";
926
+ this.initLoginFlow(state);
927
+ return false;
928
+ } else {
929
+ return true;
930
+ }
931
+ });
932
+ }
933
+ debug(...args) {
934
+ if (this.showDebugInformation) {
935
+ this.logger.debug(...args);
936
+ }
937
+ }
938
+ validateUrlFromDiscoveryDocument(url) {
939
+ const errors = [];
940
+ const httpsCheck = this.validateUrlForHttps(url);
941
+ const issuerCheck = this.validateUrlAgainstIssuer(url);
942
+ if (!httpsCheck) {
943
+ errors.push("https for all urls required. Also for urls received by discovery.");
944
+ }
945
+ if (!issuerCheck) {
946
+ errors.push("Every url in discovery document has to start with the issuer url.Also see property strictDiscoveryDocumentValidation.");
947
+ }
948
+ return errors;
949
+ }
950
+ validateUrlForHttps(url) {
951
+ if (!url) {
952
+ return true;
953
+ }
954
+ const lcUrl = url.toLowerCase();
955
+ if (this.requireHttps === false) {
956
+ return true;
957
+ }
958
+ if ((lcUrl.match(/^http:\/\/localhost($|[:/])/) || lcUrl.match(/^http:\/\/localhost($|[:/])/)) && this.requireHttps === "remoteOnly") {
959
+ return true;
960
+ }
961
+ return lcUrl.startsWith("https://");
962
+ }
963
+ assertUrlNotNullAndCorrectProtocol(url, description) {
964
+ if (!url) {
965
+ throw new Error(`'${description}' should not be null`);
966
+ }
967
+ if (!this.validateUrlForHttps(url)) {
968
+ throw new Error(`'${description}' must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).`);
969
+ }
970
+ }
971
+ validateUrlAgainstIssuer(url) {
972
+ if (!this.strictDiscoveryDocumentValidation) {
973
+ return true;
974
+ }
975
+ if (!url) {
976
+ return true;
977
+ }
978
+ return url.toLowerCase().startsWith(this.issuer.toLowerCase());
979
+ }
980
+ setupRefreshTimer() {
981
+ if (typeof window === "undefined") {
982
+ this.debug("timer not supported on this plattform");
983
+ return;
984
+ }
985
+ if (this.hasValidIdToken() || this.hasValidAccessToken()) {
986
+ this.clearAccessTokenTimer();
987
+ this.clearIdTokenTimer();
988
+ this.setupExpirationTimers();
989
+ }
990
+ if (this.tokenReceivedSubscription)
991
+ this.tokenReceivedSubscription.unsubscribe();
992
+ this.tokenReceivedSubscription = this.events.pipe((0, import_operators.filter)((e) => e.type === "token_received")).subscribe(() => {
993
+ this.clearAccessTokenTimer();
994
+ this.clearIdTokenTimer();
995
+ this.setupExpirationTimers();
996
+ });
997
+ }
998
+ setupExpirationTimers() {
999
+ if (this.hasValidAccessToken()) {
1000
+ this.setupAccessTokenTimer();
1001
+ }
1002
+ if (!this.disableIdTokenTimer && this.hasValidIdToken()) {
1003
+ this.setupIdTokenTimer();
1004
+ }
1005
+ }
1006
+ setupAccessTokenTimer() {
1007
+ const expiration = this.getAccessTokenExpiration();
1008
+ const storedAt = this.getAccessTokenStoredAt();
1009
+ const timeout2 = this.calcTimeout(storedAt, expiration);
1010
+ this.ngZone.runOutsideAngular(() => {
1011
+ this.accessTokenTimeoutSubscription = (0, import_rxjs.of)(new OAuthInfoEvent("token_expires", "access_token")).pipe((0, import_operators.delay)(timeout2)).subscribe((e) => {
1012
+ this.ngZone.run(() => {
1013
+ this.eventsSubject.next(e);
1014
+ });
1015
+ });
1016
+ });
1017
+ }
1018
+ setupIdTokenTimer() {
1019
+ const expiration = this.getIdTokenExpiration();
1020
+ const storedAt = this.getIdTokenStoredAt();
1021
+ const timeout2 = this.calcTimeout(storedAt, expiration);
1022
+ this.ngZone.runOutsideAngular(() => {
1023
+ this.idTokenTimeoutSubscription = (0, import_rxjs.of)(new OAuthInfoEvent("token_expires", "id_token")).pipe((0, import_operators.delay)(timeout2)).subscribe((e) => {
1024
+ this.ngZone.run(() => {
1025
+ this.eventsSubject.next(e);
1026
+ });
1027
+ });
1028
+ });
1029
+ }
1030
+ /**
1031
+ * Stops timers for automatic refresh.
1032
+ * To restart it, call setupAutomaticSilentRefresh again.
1033
+ */
1034
+ stopAutomaticRefresh() {
1035
+ this.clearAccessTokenTimer();
1036
+ this.clearIdTokenTimer();
1037
+ this.clearAutomaticRefreshTimer();
1038
+ }
1039
+ clearAccessTokenTimer() {
1040
+ if (this.accessTokenTimeoutSubscription) {
1041
+ this.accessTokenTimeoutSubscription.unsubscribe();
1042
+ }
1043
+ }
1044
+ clearIdTokenTimer() {
1045
+ if (this.idTokenTimeoutSubscription) {
1046
+ this.idTokenTimeoutSubscription.unsubscribe();
1047
+ }
1048
+ }
1049
+ clearAutomaticRefreshTimer() {
1050
+ if (this.automaticRefreshSubscription) {
1051
+ this.automaticRefreshSubscription.unsubscribe();
1052
+ }
1053
+ }
1054
+ calcTimeout(storedAt, expiration) {
1055
+ const now = this.dateTimeService.now();
1056
+ const delta = (expiration - storedAt) * this.timeoutFactor - (now - storedAt);
1057
+ const duration = Math.max(0, delta);
1058
+ const maxTimeoutValue = 2147483647;
1059
+ return duration > maxTimeoutValue ? maxTimeoutValue : duration;
1060
+ }
1061
+ /**
1062
+ * DEPRECATED. Use a provider for OAuthStorage instead:
1063
+ *
1064
+ * { provide: OAuthStorage, useFactory: oAuthStorageFactory }
1065
+ * export function oAuthStorageFactory(): OAuthStorage { return localStorage; }
1066
+ * Sets a custom storage used to store the received
1067
+ * tokens on client side. By default, the browser's
1068
+ * sessionStorage is used.
1069
+ * @ignore
1070
+ *
1071
+ * @param storage
1072
+ */
1073
+ setStorage(storage) {
1074
+ this._storage = storage;
1075
+ this.configChanged();
1076
+ }
1077
+ /**
1078
+ * Loads the discovery document to configure most
1079
+ * properties of this service. The url of the discovery
1080
+ * document is infered from the issuer's url according
1081
+ * to the OpenId Connect spec. To use another url you
1082
+ * can pass it to to optional parameter fullUrl.
1083
+ *
1084
+ * @param fullUrl
1085
+ */
1086
+ loadDiscoveryDocument(fullUrl = null) {
1087
+ return new Promise((resolve, reject) => {
1088
+ if (!fullUrl) {
1089
+ fullUrl = this.issuer || "";
1090
+ if (!fullUrl.endsWith("/")) {
1091
+ fullUrl += "/";
1092
+ }
1093
+ fullUrl += ".well-known/openid-configuration";
1094
+ }
1095
+ if (!this.validateUrlForHttps(fullUrl)) {
1096
+ reject("issuer must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1097
+ return;
1098
+ }
1099
+ this.http.get(fullUrl).subscribe((doc) => {
1100
+ if (!this.validateDiscoveryDocument(doc)) {
1101
+ this.eventsSubject.next(new OAuthErrorEvent("discovery_document_validation_error", null));
1102
+ reject("discovery_document_validation_error");
1103
+ return;
1104
+ }
1105
+ this.loginUrl = doc.authorization_endpoint;
1106
+ this.logoutUrl = doc.end_session_endpoint || this.logoutUrl;
1107
+ this.grantTypesSupported = doc.grant_types_supported;
1108
+ this.issuer = doc.issuer;
1109
+ this.tokenEndpoint = doc.token_endpoint;
1110
+ this.userinfoEndpoint = doc.userinfo_endpoint || this.userinfoEndpoint;
1111
+ this.jwksUri = doc.jwks_uri;
1112
+ this.sessionCheckIFrameUrl = doc.check_session_iframe || this.sessionCheckIFrameUrl;
1113
+ this.discoveryDocumentLoaded = true;
1114
+ this.discoveryDocumentLoadedSubject.next(doc);
1115
+ this.revocationEndpoint = doc.revocation_endpoint || this.revocationEndpoint;
1116
+ if (this.sessionChecksEnabled) {
1117
+ this.restartSessionChecksIfStillLoggedIn();
1118
+ }
1119
+ this.loadJwks().then((jwks) => {
1120
+ const result = {
1121
+ discoveryDocument: doc,
1122
+ jwks
1123
+ };
1124
+ const event = new OAuthSuccessEvent("discovery_document_loaded", result);
1125
+ this.eventsSubject.next(event);
1126
+ resolve(event);
1127
+ return;
1128
+ }).catch((err2) => {
1129
+ this.eventsSubject.next(new OAuthErrorEvent("discovery_document_load_error", err2));
1130
+ reject(err2);
1131
+ return;
1132
+ });
1133
+ }, (err2) => {
1134
+ this.logger.error("error loading discovery document", err2);
1135
+ this.eventsSubject.next(new OAuthErrorEvent("discovery_document_load_error", err2));
1136
+ reject(err2);
1137
+ });
1138
+ });
1139
+ }
1140
+ loadJwks() {
1141
+ return new Promise((resolve, reject) => {
1142
+ if (this.jwksUri) {
1143
+ this.http.get(this.jwksUri).subscribe((jwks) => {
1144
+ this.jwks = jwks;
1145
+ resolve(jwks);
1146
+ }, (err2) => {
1147
+ this.logger.error("error loading jwks", err2);
1148
+ this.eventsSubject.next(new OAuthErrorEvent("jwks_load_error", err2));
1149
+ reject(err2);
1150
+ });
1151
+ } else {
1152
+ resolve(null);
1153
+ }
1154
+ });
1155
+ }
1156
+ validateDiscoveryDocument(doc) {
1157
+ let errors;
1158
+ if (!this.skipIssuerCheck && doc.issuer !== this.issuer) {
1159
+ this.logger.error("invalid issuer in discovery document", "expected: " + this.issuer, "current: " + doc.issuer);
1160
+ return false;
1161
+ }
1162
+ errors = this.validateUrlFromDiscoveryDocument(doc.authorization_endpoint);
1163
+ if (errors.length > 0) {
1164
+ this.logger.error("error validating authorization_endpoint in discovery document", errors);
1165
+ return false;
1166
+ }
1167
+ errors = this.validateUrlFromDiscoveryDocument(doc.end_session_endpoint);
1168
+ if (errors.length > 0) {
1169
+ this.logger.error("error validating end_session_endpoint in discovery document", errors);
1170
+ return false;
1171
+ }
1172
+ errors = this.validateUrlFromDiscoveryDocument(doc.token_endpoint);
1173
+ if (errors.length > 0) {
1174
+ this.logger.error("error validating token_endpoint in discovery document", errors);
1175
+ }
1176
+ errors = this.validateUrlFromDiscoveryDocument(doc.revocation_endpoint);
1177
+ if (errors.length > 0) {
1178
+ this.logger.error("error validating revocation_endpoint in discovery document", errors);
1179
+ }
1180
+ errors = this.validateUrlFromDiscoveryDocument(doc.userinfo_endpoint);
1181
+ if (errors.length > 0) {
1182
+ this.logger.error("error validating userinfo_endpoint in discovery document", errors);
1183
+ return false;
1184
+ }
1185
+ errors = this.validateUrlFromDiscoveryDocument(doc.jwks_uri);
1186
+ if (errors.length > 0) {
1187
+ this.logger.error("error validating jwks_uri in discovery document", errors);
1188
+ return false;
1189
+ }
1190
+ if (this.sessionChecksEnabled && !doc.check_session_iframe) {
1191
+ this.logger.warn("sessionChecksEnabled is activated but discovery document does not contain a check_session_iframe field");
1192
+ }
1193
+ return true;
1194
+ }
1195
+ /**
1196
+ * Uses password flow to exchange userName and password for an
1197
+ * access_token. After receiving the access_token, this method
1198
+ * uses it to query the userinfo endpoint in order to get information
1199
+ * about the user in question.
1200
+ *
1201
+ * When using this, make sure that the property oidc is set to false.
1202
+ * Otherwise stricter validations take place that make this operation
1203
+ * fail.
1204
+ *
1205
+ * @param userName
1206
+ * @param password
1207
+ * @param headers Optional additional http-headers.
1208
+ */
1209
+ fetchTokenUsingPasswordFlowAndLoadUserProfile(userName, password, headers = new import_http.HttpHeaders()) {
1210
+ return this.fetchTokenUsingPasswordFlow(userName, password, headers).then(() => this.loadUserProfile());
1211
+ }
1212
+ /**
1213
+ * Loads the user profile by accessing the user info endpoint defined by OpenId Connect.
1214
+ *
1215
+ * When using this with OAuth2 password flow, make sure that the property oidc is set to false.
1216
+ * Otherwise stricter validations take place that make this operation fail.
1217
+ */
1218
+ loadUserProfile() {
1219
+ if (!this.hasValidAccessToken()) {
1220
+ throw new Error("Can not load User Profile without access_token");
1221
+ }
1222
+ if (!this.validateUrlForHttps(this.userinfoEndpoint)) {
1223
+ throw new Error("userinfoEndpoint must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1224
+ }
1225
+ return new Promise((resolve, reject) => {
1226
+ const headers = new import_http.HttpHeaders().set("Authorization", "Bearer " + this.getAccessToken());
1227
+ this.http.get(this.userinfoEndpoint, {
1228
+ headers,
1229
+ observe: "response",
1230
+ responseType: "text"
1231
+ }).subscribe((response) => {
1232
+ this.debug("userinfo received", JSON.stringify(response));
1233
+ if (response.headers.get("content-type").startsWith("application/json")) {
1234
+ let info = JSON.parse(response.body);
1235
+ const existingClaims = this.getIdentityClaims() || {};
1236
+ if (!this.skipSubjectCheck) {
1237
+ if (this.oidc && (!existingClaims["sub"] || info.sub !== existingClaims["sub"])) {
1238
+ const err2 = "if property oidc is true, the received user-id (sub) has to be the user-id of the user that has logged in with oidc.\nif you are not using oidc but just oauth2 password flow set oidc to false";
1239
+ reject(err2);
1240
+ return;
1241
+ }
1242
+ }
1243
+ info = Object.assign({}, existingClaims, info);
1244
+ this._storage.setItem("id_token_claims_obj", JSON.stringify(info));
1245
+ this.eventsSubject.next(new OAuthSuccessEvent("user_profile_loaded"));
1246
+ resolve({ info });
1247
+ } else {
1248
+ this.debug("userinfo is not JSON, treating it as JWE/JWS");
1249
+ this.eventsSubject.next(new OAuthSuccessEvent("user_profile_loaded"));
1250
+ resolve(JSON.parse(response.body));
1251
+ }
1252
+ }, (err2) => {
1253
+ this.logger.error("error loading user info", err2);
1254
+ this.eventsSubject.next(new OAuthErrorEvent("user_profile_load_error", err2));
1255
+ reject(err2);
1256
+ });
1257
+ });
1258
+ }
1259
+ /**
1260
+ * Uses password flow to exchange userName and password for an access_token.
1261
+ * @param userName
1262
+ * @param password
1263
+ * @param headers Optional additional http-headers.
1264
+ */
1265
+ fetchTokenUsingPasswordFlow(userName, password, headers = new import_http.HttpHeaders()) {
1266
+ const parameters = {
1267
+ username: userName,
1268
+ password
1269
+ };
1270
+ return this.fetchTokenUsingGrant("password", parameters, headers);
1271
+ }
1272
+ /**
1273
+ * Uses a custom grant type to retrieve tokens.
1274
+ * @param grantType Grant type.
1275
+ * @param parameters Parameters to pass.
1276
+ * @param headers Optional additional HTTP headers.
1277
+ */
1278
+ fetchTokenUsingGrant(grantType, parameters, headers = new import_http.HttpHeaders()) {
1279
+ this.assertUrlNotNullAndCorrectProtocol(this.tokenEndpoint, "tokenEndpoint");
1280
+ let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() }).set("grant_type", grantType).set("scope", this.scope);
1281
+ if (this.useHttpBasicAuth) {
1282
+ const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
1283
+ headers = headers.set("Authorization", "Basic " + header);
1284
+ }
1285
+ if (!this.useHttpBasicAuth) {
1286
+ params = params.set("client_id", this.clientId);
1287
+ }
1288
+ if (!this.useHttpBasicAuth && this.dummyClientSecret) {
1289
+ params = params.set("client_secret", this.dummyClientSecret);
1290
+ }
1291
+ if (this.customQueryParams) {
1292
+ for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1293
+ params = params.set(key, this.customQueryParams[key]);
1294
+ }
1295
+ }
1296
+ for (const key of Object.keys(parameters)) {
1297
+ params = params.set(key, parameters[key]);
1298
+ }
1299
+ headers = headers.set("Content-Type", "application/x-www-form-urlencoded");
1300
+ return new Promise((resolve, reject) => {
1301
+ this.http.post(this.tokenEndpoint, params, { headers }).subscribe((tokenResponse) => {
1302
+ this.debug("tokenResponse", tokenResponse);
1303
+ this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in || this.fallbackAccessTokenExpirationTimeInSec, tokenResponse.scope, this.extractRecognizedCustomParameters(tokenResponse));
1304
+ if (this.oidc && tokenResponse.id_token) {
1305
+ this.processIdToken(tokenResponse.id_token, tokenResponse.access_token).then((result) => {
1306
+ this.storeIdToken(result);
1307
+ resolve(tokenResponse);
1308
+ });
1309
+ }
1310
+ this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1311
+ resolve(tokenResponse);
1312
+ }, (err2) => {
1313
+ this.logger.error("Error performing ${grantType} flow", err2);
1314
+ this.eventsSubject.next(new OAuthErrorEvent("token_error", err2));
1315
+ reject(err2);
1316
+ });
1317
+ });
1318
+ }
1319
+ /**
1320
+ * Refreshes the token using a refresh_token.
1321
+ * This does not work for implicit flow, b/c
1322
+ * there is no refresh_token in this flow.
1323
+ * A solution for this is provided by the
1324
+ * method silentRefresh.
1325
+ */
1326
+ refreshToken() {
1327
+ this.assertUrlNotNullAndCorrectProtocol(this.tokenEndpoint, "tokenEndpoint");
1328
+ return new Promise((resolve, reject) => {
1329
+ let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() }).set("grant_type", "refresh_token").set("scope", this.scope).set("refresh_token", this._storage.getItem("refresh_token"));
1330
+ let headers = new import_http.HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
1331
+ if (this.useHttpBasicAuth) {
1332
+ const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
1333
+ headers = headers.set("Authorization", "Basic " + header);
1334
+ }
1335
+ if (!this.useHttpBasicAuth) {
1336
+ params = params.set("client_id", this.clientId);
1337
+ }
1338
+ if (!this.useHttpBasicAuth && this.dummyClientSecret) {
1339
+ params = params.set("client_secret", this.dummyClientSecret);
1340
+ }
1341
+ if (this.customQueryParams) {
1342
+ for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1343
+ params = params.set(key, this.customQueryParams[key]);
1344
+ }
1345
+ }
1346
+ this.http.post(this.tokenEndpoint, params, { headers }).pipe((0, import_operators.switchMap)((tokenResponse) => {
1347
+ if (this.oidc && tokenResponse.id_token) {
1348
+ return (0, import_rxjs.from)(this.processIdToken(tokenResponse.id_token, tokenResponse.access_token, true)).pipe((0, import_operators.tap)((result) => this.storeIdToken(result)), (0, import_operators.map)(() => tokenResponse));
1349
+ } else {
1350
+ return (0, import_rxjs.of)(tokenResponse);
1351
+ }
1352
+ })).subscribe((tokenResponse) => {
1353
+ this.debug("refresh tokenResponse", tokenResponse);
1354
+ this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in || this.fallbackAccessTokenExpirationTimeInSec, tokenResponse.scope, this.extractRecognizedCustomParameters(tokenResponse));
1355
+ this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1356
+ this.eventsSubject.next(new OAuthSuccessEvent("token_refreshed"));
1357
+ resolve(tokenResponse);
1358
+ }, (err2) => {
1359
+ this.logger.error("Error refreshing token", err2);
1360
+ this.eventsSubject.next(new OAuthErrorEvent("token_refresh_error", err2));
1361
+ reject(err2);
1362
+ });
1363
+ });
1364
+ }
1365
+ removeSilentRefreshEventListener() {
1366
+ if (this.silentRefreshPostMessageEventListener) {
1367
+ window.removeEventListener("message", this.silentRefreshPostMessageEventListener);
1368
+ this.silentRefreshPostMessageEventListener = null;
1369
+ }
1370
+ }
1371
+ setupSilentRefreshEventListener() {
1372
+ this.removeSilentRefreshEventListener();
1373
+ this.silentRefreshPostMessageEventListener = (e) => {
1374
+ const message = this.processMessageEventMessage(e);
1375
+ if (this.checkOrigin && e.origin !== location.origin) {
1376
+ console.error("wrong origin requested silent refresh!");
1377
+ }
1378
+ this.tryLogin({
1379
+ customHashFragment: message,
1380
+ preventClearHashAfterLogin: true,
1381
+ customRedirectUri: this.silentRefreshRedirectUri || this.redirectUri
1382
+ }).catch((err2) => this.debug("tryLogin during silent refresh failed", err2));
1383
+ };
1384
+ window.addEventListener("message", this.silentRefreshPostMessageEventListener);
1385
+ }
1386
+ /**
1387
+ * Performs a silent refresh for implicit flow.
1388
+ * Use this method to get new tokens when/before
1389
+ * the existing tokens expire.
1390
+ */
1391
+ silentRefresh(params = {}, noPrompt = true) {
1392
+ const claims = this.getIdentityClaims() || {};
1393
+ if (this.useIdTokenHintForSilentRefresh && this.hasValidIdToken()) {
1394
+ params["id_token_hint"] = this.getIdToken();
1395
+ }
1396
+ if (!this.validateUrlForHttps(this.loginUrl)) {
1397
+ throw new Error("loginUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1398
+ }
1399
+ if (typeof this.document === "undefined") {
1400
+ throw new Error("silent refresh is not supported on this platform");
1401
+ }
1402
+ const existingIframe = this.document.getElementById(this.silentRefreshIFrameName);
1403
+ if (existingIframe) {
1404
+ this.document.body.removeChild(existingIframe);
1405
+ }
1406
+ this.silentRefreshSubject = claims["sub"];
1407
+ const iframe = this.document.createElement("iframe");
1408
+ iframe.id = this.silentRefreshIFrameName;
1409
+ this.setupSilentRefreshEventListener();
1410
+ const redirectUri = this.silentRefreshRedirectUri || this.redirectUri;
1411
+ this.createLoginUrl(null, null, redirectUri, noPrompt, params).then((url) => {
1412
+ iframe.setAttribute("src", url);
1413
+ if (!this.silentRefreshShowIFrame) {
1414
+ iframe.style["display"] = "none";
1415
+ }
1416
+ this.document.body.appendChild(iframe);
1417
+ });
1418
+ const errors = this.events.pipe((0, import_operators.filter)((e) => e instanceof OAuthErrorEvent), (0, import_operators.first)());
1419
+ const success = this.events.pipe((0, import_operators.filter)((e) => e.type === "token_received"), (0, import_operators.first)());
1420
+ const timeout2 = (0, import_rxjs.of)(new OAuthErrorEvent("silent_refresh_timeout", null)).pipe((0, import_operators.delay)(this.silentRefreshTimeout));
1421
+ return (0, import_rxjs.race)([errors, success, timeout2]).pipe((0, import_operators.map)((e) => {
1422
+ if (e instanceof OAuthErrorEvent) {
1423
+ if (e.type === "silent_refresh_timeout") {
1424
+ this.eventsSubject.next(e);
1425
+ } else {
1426
+ e = new OAuthErrorEvent("silent_refresh_error", e);
1427
+ this.eventsSubject.next(e);
1428
+ }
1429
+ throw e;
1430
+ } else if (e.type === "token_received") {
1431
+ e = new OAuthSuccessEvent("silently_refreshed");
1432
+ this.eventsSubject.next(e);
1433
+ }
1434
+ return e;
1435
+ })).toPromise();
1436
+ }
1437
+ /**
1438
+ * This method exists for backwards compatibility.
1439
+ * {@link OAuthService#initLoginFlowInPopup} handles both code
1440
+ * and implicit flows.
1441
+ */
1442
+ initImplicitFlowInPopup(options) {
1443
+ return this.initLoginFlowInPopup(options);
1444
+ }
1445
+ initLoginFlowInPopup(options) {
1446
+ options = options || {};
1447
+ return this.createLoginUrl(null, null, this.silentRefreshRedirectUri, false, {
1448
+ display: "popup"
1449
+ }).then((url) => {
1450
+ return new Promise((resolve, reject) => {
1451
+ const checkForPopupClosedInterval = 500;
1452
+ let windowRef = null;
1453
+ if (!options.windowRef) {
1454
+ windowRef = window.open(url, "ngx-oauth2-oidc-login", this.calculatePopupFeatures(options));
1455
+ } else if (options.windowRef && !options.windowRef.closed) {
1456
+ windowRef = options.windowRef;
1457
+ windowRef.location.href = url;
1458
+ }
1459
+ let checkForPopupClosedTimer;
1460
+ const tryLogin = (hash2) => {
1461
+ this.tryLogin({
1462
+ customHashFragment: hash2,
1463
+ preventClearHashAfterLogin: true,
1464
+ customRedirectUri: this.silentRefreshRedirectUri
1465
+ }).then(() => {
1466
+ cleanup();
1467
+ resolve(true);
1468
+ }, (err2) => {
1469
+ cleanup();
1470
+ reject(err2);
1471
+ });
1472
+ };
1473
+ const checkForPopupClosed = () => {
1474
+ if (!windowRef || windowRef.closed) {
1475
+ cleanup();
1476
+ reject(new OAuthErrorEvent("popup_closed", {}));
1477
+ }
1478
+ };
1479
+ if (!windowRef) {
1480
+ reject(new OAuthErrorEvent("popup_blocked", {}));
1481
+ } else {
1482
+ checkForPopupClosedTimer = window.setInterval(checkForPopupClosed, checkForPopupClosedInterval);
1483
+ }
1484
+ const cleanup = () => {
1485
+ window.clearInterval(checkForPopupClosedTimer);
1486
+ window.removeEventListener("storage", storageListener);
1487
+ window.removeEventListener("message", listener);
1488
+ if (windowRef !== null) {
1489
+ windowRef.close();
1490
+ }
1491
+ windowRef = null;
1492
+ };
1493
+ const listener = (e) => {
1494
+ const message = this.processMessageEventMessage(e);
1495
+ if (message && message !== null) {
1496
+ window.removeEventListener("storage", storageListener);
1497
+ tryLogin(message);
1498
+ } else {
1499
+ console.log("false event firing");
1500
+ }
1501
+ };
1502
+ const storageListener = (event) => {
1503
+ if (event.key === "auth_hash") {
1504
+ window.removeEventListener("message", listener);
1505
+ tryLogin(event.newValue);
1506
+ }
1507
+ };
1508
+ window.addEventListener("message", listener);
1509
+ window.addEventListener("storage", storageListener);
1510
+ });
1511
+ });
1512
+ }
1513
+ calculatePopupFeatures(options) {
1514
+ const height = options.height || 470;
1515
+ const width = options.width || 500;
1516
+ const left = window.screenLeft + (window.outerWidth - width) / 2;
1517
+ const top = window.screenTop + (window.outerHeight - height) / 2;
1518
+ return `location=no,toolbar=no,width=${width},height=${height},top=${top},left=${left}`;
1519
+ }
1520
+ processMessageEventMessage(e) {
1521
+ let expectedPrefix = "#";
1522
+ if (this.silentRefreshMessagePrefix) {
1523
+ expectedPrefix += this.silentRefreshMessagePrefix;
1524
+ }
1525
+ if (!e || !e.data || typeof e.data !== "string") {
1526
+ return;
1527
+ }
1528
+ const prefixedMessage = e.data;
1529
+ if (!prefixedMessage.startsWith(expectedPrefix)) {
1530
+ return;
1531
+ }
1532
+ return "#" + prefixedMessage.substr(expectedPrefix.length);
1533
+ }
1534
+ canPerformSessionCheck() {
1535
+ if (!this.sessionChecksEnabled) {
1536
+ return false;
1537
+ }
1538
+ if (!this.sessionCheckIFrameUrl) {
1539
+ console.warn("sessionChecksEnabled is activated but there is no sessionCheckIFrameUrl");
1540
+ return false;
1541
+ }
1542
+ const sessionState = this.getSessionState();
1543
+ if (!sessionState) {
1544
+ console.warn("sessionChecksEnabled is activated but there is no session_state");
1545
+ return false;
1546
+ }
1547
+ if (typeof this.document === "undefined") {
1548
+ return false;
1549
+ }
1550
+ return true;
1551
+ }
1552
+ setupSessionCheckEventListener() {
1553
+ this.removeSessionCheckEventListener();
1554
+ this.sessionCheckEventListener = (e) => {
1555
+ const origin = e.origin.toLowerCase();
1556
+ const issuer = this.issuer.toLowerCase();
1557
+ this.debug("sessionCheckEventListener");
1558
+ if (!issuer.startsWith(origin)) {
1559
+ this.debug("sessionCheckEventListener", "wrong origin", origin, "expected", issuer, "event", e);
1560
+ return;
1561
+ }
1562
+ switch (e.data) {
1563
+ case "unchanged":
1564
+ this.ngZone.run(() => {
1565
+ this.handleSessionUnchanged();
1566
+ });
1567
+ break;
1568
+ case "changed":
1569
+ this.ngZone.run(() => {
1570
+ this.handleSessionChange();
1571
+ });
1572
+ break;
1573
+ case "error":
1574
+ this.ngZone.run(() => {
1575
+ this.handleSessionError();
1576
+ });
1577
+ break;
1578
+ }
1579
+ this.debug("got info from session check inframe", e);
1580
+ };
1581
+ this.ngZone.runOutsideAngular(() => {
1582
+ window.addEventListener("message", this.sessionCheckEventListener);
1583
+ });
1584
+ }
1585
+ handleSessionUnchanged() {
1586
+ this.debug("session check", "session unchanged");
1587
+ this.eventsSubject.next(new OAuthInfoEvent("session_unchanged"));
1588
+ }
1589
+ handleSessionChange() {
1590
+ this.eventsSubject.next(new OAuthInfoEvent("session_changed"));
1591
+ this.stopSessionCheckTimer();
1592
+ if (!this.useSilentRefresh && this.responseType === "code") {
1593
+ this.refreshToken().then(() => {
1594
+ this.debug("token refresh after session change worked");
1595
+ }).catch(() => {
1596
+ this.debug("token refresh did not work after session changed");
1597
+ this.eventsSubject.next(new OAuthInfoEvent("session_terminated"));
1598
+ this.logOut(true);
1599
+ });
1600
+ } else if (this.silentRefreshRedirectUri) {
1601
+ this.silentRefresh().catch(() => this.debug("silent refresh failed after session changed"));
1602
+ this.waitForSilentRefreshAfterSessionChange();
1603
+ } else {
1604
+ this.eventsSubject.next(new OAuthInfoEvent("session_terminated"));
1605
+ this.logOut(true);
1606
+ }
1607
+ }
1608
+ waitForSilentRefreshAfterSessionChange() {
1609
+ this.events.pipe((0, import_operators.filter)((e) => e.type === "silently_refreshed" || e.type === "silent_refresh_timeout" || e.type === "silent_refresh_error"), (0, import_operators.first)()).subscribe((e) => {
1610
+ if (e.type !== "silently_refreshed") {
1611
+ this.debug("silent refresh did not work after session changed");
1612
+ this.eventsSubject.next(new OAuthInfoEvent("session_terminated"));
1613
+ this.logOut(true);
1614
+ }
1615
+ });
1616
+ }
1617
+ handleSessionError() {
1618
+ this.stopSessionCheckTimer();
1619
+ this.eventsSubject.next(new OAuthInfoEvent("session_error"));
1620
+ }
1621
+ removeSessionCheckEventListener() {
1622
+ if (this.sessionCheckEventListener) {
1623
+ window.removeEventListener("message", this.sessionCheckEventListener);
1624
+ this.sessionCheckEventListener = null;
1625
+ }
1626
+ }
1627
+ initSessionCheck() {
1628
+ if (!this.canPerformSessionCheck()) {
1629
+ return;
1630
+ }
1631
+ const existingIframe = this.document.getElementById(this.sessionCheckIFrameName);
1632
+ if (existingIframe) {
1633
+ this.document.body.removeChild(existingIframe);
1634
+ }
1635
+ const iframe = this.document.createElement("iframe");
1636
+ iframe.id = this.sessionCheckIFrameName;
1637
+ this.setupSessionCheckEventListener();
1638
+ const url = this.sessionCheckIFrameUrl;
1639
+ iframe.setAttribute("src", url);
1640
+ iframe.style.display = "none";
1641
+ this.document.body.appendChild(iframe);
1642
+ this.startSessionCheckTimer();
1643
+ }
1644
+ startSessionCheckTimer() {
1645
+ this.stopSessionCheckTimer();
1646
+ this.ngZone.runOutsideAngular(() => {
1647
+ this.sessionCheckTimer = setInterval(this.checkSession.bind(this), this.sessionCheckIntervall);
1648
+ });
1649
+ }
1650
+ stopSessionCheckTimer() {
1651
+ if (this.sessionCheckTimer) {
1652
+ clearInterval(this.sessionCheckTimer);
1653
+ this.sessionCheckTimer = null;
1654
+ }
1655
+ }
1656
+ checkSession() {
1657
+ const iframe = this.document.getElementById(this.sessionCheckIFrameName);
1658
+ if (!iframe) {
1659
+ this.logger.warn("checkSession did not find iframe", this.sessionCheckIFrameName);
1660
+ }
1661
+ const sessionState = this.getSessionState();
1662
+ if (!sessionState) {
1663
+ this.stopSessionCheckTimer();
1664
+ }
1665
+ const message = this.clientId + " " + sessionState;
1666
+ iframe.contentWindow.postMessage(message, this.issuer);
1667
+ }
1668
+ createLoginUrl() {
1669
+ return __async(this, arguments, function* (state = "", loginHint = "", customRedirectUri = "", noPrompt = false, params = {}) {
1670
+ const that = this;
1671
+ let redirectUri;
1672
+ if (customRedirectUri) {
1673
+ redirectUri = customRedirectUri;
1674
+ } else {
1675
+ redirectUri = this.redirectUri;
1676
+ }
1677
+ const nonce = yield this.createAndSaveNonce();
1678
+ if (state) {
1679
+ state = nonce + this.config.nonceStateSeparator + encodeURIComponent(state);
1680
+ } else {
1681
+ state = nonce;
1682
+ }
1683
+ if (!this.requestAccessToken && !this.oidc) {
1684
+ throw new Error("Either requestAccessToken or oidc or both must be true");
1685
+ }
1686
+ if (this.config.responseType) {
1687
+ this.responseType = this.config.responseType;
1688
+ } else {
1689
+ if (this.oidc && this.requestAccessToken) {
1690
+ this.responseType = "id_token token";
1691
+ } else if (this.oidc && !this.requestAccessToken) {
1692
+ this.responseType = "id_token";
1693
+ } else {
1694
+ this.responseType = "token";
1695
+ }
1696
+ }
1697
+ const seperationChar = that.loginUrl.indexOf("?") > -1 ? "&" : "?";
1698
+ let scope = that.scope;
1699
+ if (this.oidc && !scope.match(/(^|\s)openid($|\s)/)) {
1700
+ scope = "openid " + scope;
1701
+ }
1702
+ let url = that.loginUrl + seperationChar + "response_type=" + encodeURIComponent(that.responseType) + "&client_id=" + encodeURIComponent(that.clientId) + "&state=" + encodeURIComponent(state) + "&redirect_uri=" + encodeURIComponent(redirectUri) + "&scope=" + encodeURIComponent(scope);
1703
+ if (this.responseType.includes("code") && !this.disablePKCE) {
1704
+ const [challenge, verifier] = yield this.createChallangeVerifierPairForPKCE();
1705
+ if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
1706
+ localStorage.setItem("PKCE_verifier", verifier);
1707
+ } else {
1708
+ this._storage.setItem("PKCE_verifier", verifier);
1709
+ }
1710
+ url += "&code_challenge=" + challenge;
1711
+ url += "&code_challenge_method=S256";
1712
+ }
1713
+ if (loginHint) {
1714
+ url += "&login_hint=" + encodeURIComponent(loginHint);
1715
+ }
1716
+ if (that.resource) {
1717
+ url += "&resource=" + encodeURIComponent(that.resource);
1718
+ }
1719
+ if (that.oidc) {
1720
+ url += "&nonce=" + encodeURIComponent(nonce);
1721
+ }
1722
+ if (noPrompt) {
1723
+ url += "&prompt=none";
1724
+ }
1725
+ for (const key of Object.keys(params)) {
1726
+ url += "&" + encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
1727
+ }
1728
+ if (this.customQueryParams) {
1729
+ for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1730
+ url += "&" + key + "=" + encodeURIComponent(this.customQueryParams[key]);
1731
+ }
1732
+ }
1733
+ return url;
1734
+ });
1735
+ }
1736
+ initImplicitFlowInternal(additionalState = "", params = "") {
1737
+ if (this.inImplicitFlow) {
1738
+ return;
1739
+ }
1740
+ this.inImplicitFlow = true;
1741
+ if (!this.validateUrlForHttps(this.loginUrl)) {
1742
+ throw new Error("loginUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1743
+ }
1744
+ let addParams = {};
1745
+ let loginHint = null;
1746
+ if (typeof params === "string") {
1747
+ loginHint = params;
1748
+ } else if (typeof params === "object") {
1749
+ addParams = params;
1750
+ }
1751
+ this.createLoginUrl(additionalState, loginHint, null, false, addParams).then(this.config.openUri).catch((error) => {
1752
+ console.error("Error in initImplicitFlow", error);
1753
+ this.inImplicitFlow = false;
1754
+ });
1755
+ }
1756
+ /**
1757
+ * Starts the implicit flow and redirects to user to
1758
+ * the auth servers' login url.
1759
+ *
1760
+ * @param additionalState Optional state that is passed around.
1761
+ * You'll find this state in the property `state` after `tryLogin` logged in the user.
1762
+ * @param params Hash with additional parameter. If it is a string, it is used for the
1763
+ * parameter loginHint (for the sake of compatibility with former versions)
1764
+ */
1765
+ initImplicitFlow(additionalState = "", params = "") {
1766
+ if (this.loginUrl !== "") {
1767
+ this.initImplicitFlowInternal(additionalState, params);
1768
+ } else {
1769
+ this.events.pipe((0, import_operators.filter)((e) => e.type === "discovery_document_loaded")).subscribe(() => this.initImplicitFlowInternal(additionalState, params));
1770
+ }
1771
+ }
1772
+ /**
1773
+ * Reset current implicit flow
1774
+ *
1775
+ * @description This method allows resetting the current implict flow in order to be initialized again.
1776
+ */
1777
+ resetImplicitFlow() {
1778
+ this.inImplicitFlow = false;
1779
+ }
1780
+ callOnTokenReceivedIfExists(options) {
1781
+ const that = this;
1782
+ if (options.onTokenReceived) {
1783
+ const tokenParams = {
1784
+ idClaims: that.getIdentityClaims(),
1785
+ idToken: that.getIdToken(),
1786
+ accessToken: that.getAccessToken(),
1787
+ state: that.state
1788
+ };
1789
+ options.onTokenReceived(tokenParams);
1790
+ }
1791
+ }
1792
+ storeAccessTokenResponse(accessToken, refreshToken, expiresIn, grantedScopes, customParameters) {
1793
+ this._storage.setItem("access_token", accessToken);
1794
+ if (grantedScopes && !Array.isArray(grantedScopes)) {
1795
+ this._storage.setItem("granted_scopes", JSON.stringify(grantedScopes.split(" ")));
1796
+ } else if (grantedScopes && Array.isArray(grantedScopes)) {
1797
+ this._storage.setItem("granted_scopes", JSON.stringify(grantedScopes));
1798
+ }
1799
+ this._storage.setItem("access_token_stored_at", "" + this.dateTimeService.now());
1800
+ if (expiresIn) {
1801
+ const expiresInMilliSeconds = expiresIn * 1e3;
1802
+ const now = this.dateTimeService.new();
1803
+ const expiresAt = now.getTime() + expiresInMilliSeconds;
1804
+ this._storage.setItem("expires_at", "" + expiresAt);
1805
+ }
1806
+ if (refreshToken) {
1807
+ this._storage.setItem("refresh_token", refreshToken);
1808
+ }
1809
+ if (customParameters) {
1810
+ customParameters.forEach((value, key) => {
1811
+ this._storage.setItem(key, value);
1812
+ });
1813
+ }
1814
+ }
1815
+ /**
1816
+ * Delegates to tryLoginImplicitFlow for the sake of competability
1817
+ * @param options Optional options.
1818
+ */
1819
+ tryLogin(options = null) {
1820
+ if (this.config.responseType === "code") {
1821
+ return this.tryLoginCodeFlow(options).then(() => true);
1822
+ } else {
1823
+ return this.tryLoginImplicitFlow(options);
1824
+ }
1825
+ }
1826
+ parseQueryString(queryString) {
1827
+ if (!queryString || queryString.length === 0) {
1828
+ return {};
1829
+ }
1830
+ if (queryString.charAt(0) === "?") {
1831
+ queryString = queryString.substr(1);
1832
+ }
1833
+ return this.urlHelper.parseQueryString(queryString);
1834
+ }
1835
+ tryLoginCodeFlow(options = null) {
1836
+ return __async(this, null, function* () {
1837
+ options = options || {};
1838
+ const querySource = options.customHashFragment ? options.customHashFragment.substring(1) : window.location.search;
1839
+ const parts = this.getCodePartsFromUrl(querySource);
1840
+ const code = parts["code"];
1841
+ const state = parts["state"];
1842
+ const sessionState = parts["session_state"];
1843
+ if (!options.preventClearHashAfterLogin) {
1844
+ const href = location.origin + location.pathname + location.search.replace(/code=[^&$]*/, "").replace(/scope=[^&$]*/, "").replace(/state=[^&$]*/, "").replace(/session_state=[^&$]*/, "").replace(/^\?&/, "?").replace(/&$/, "").replace(/^\?$/, "").replace(/&+/g, "&").replace(/\?&/, "?").replace(/\?$/, "") + location.hash;
1845
+ history.replaceState(null, window.name, href);
1846
+ }
1847
+ const [nonceInState, userState] = this.parseState(state);
1848
+ this.state = userState;
1849
+ if (parts["error"]) {
1850
+ this.debug("error trying to login");
1851
+ this.handleLoginError(options, parts);
1852
+ const err2 = new OAuthErrorEvent("code_error", {}, parts);
1853
+ this.eventsSubject.next(err2);
1854
+ return Promise.reject(err2);
1855
+ }
1856
+ if (!options.disableNonceCheck) {
1857
+ if (!nonceInState) {
1858
+ this.saveRequestedRoute();
1859
+ return Promise.resolve();
1860
+ }
1861
+ if (!options.disableOAuth2StateCheck) {
1862
+ const success = this.validateNonce(nonceInState);
1863
+ if (!success) {
1864
+ const event = new OAuthErrorEvent("invalid_nonce_in_state", null);
1865
+ this.eventsSubject.next(event);
1866
+ return Promise.reject(event);
1867
+ }
1868
+ }
1869
+ }
1870
+ this.storeSessionState(sessionState);
1871
+ if (code) {
1872
+ yield this.getTokenFromCode(code, options);
1873
+ this.restoreRequestedRoute();
1874
+ return Promise.resolve();
1875
+ } else {
1876
+ return Promise.resolve();
1877
+ }
1878
+ });
1879
+ }
1880
+ saveRequestedRoute() {
1881
+ if (this.config.preserveRequestedRoute) {
1882
+ this._storage.setItem("requested_route", window.location.pathname + window.location.search);
1883
+ }
1884
+ }
1885
+ restoreRequestedRoute() {
1886
+ const requestedRoute = this._storage.getItem("requested_route");
1887
+ if (requestedRoute) {
1888
+ history.replaceState(null, "", window.location.origin + requestedRoute);
1889
+ }
1890
+ }
1891
+ /**
1892
+ * Retrieve the returned auth code from the redirect uri that has been called.
1893
+ * If required also check hash, as we could use hash location strategy.
1894
+ */
1895
+ getCodePartsFromUrl(queryString) {
1896
+ if (!queryString || queryString.length === 0) {
1897
+ return this.urlHelper.getHashFragmentParams();
1898
+ }
1899
+ if (queryString.charAt(0) === "?") {
1900
+ queryString = queryString.substr(1);
1901
+ }
1902
+ return this.urlHelper.parseQueryString(queryString);
1903
+ }
1904
+ /**
1905
+ * Get token using an intermediate code. Works for the Authorization Code flow.
1906
+ */
1907
+ getTokenFromCode(code, options) {
1908
+ let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() }).set("grant_type", "authorization_code").set("code", code).set("redirect_uri", options.customRedirectUri || this.redirectUri);
1909
+ if (!this.disablePKCE) {
1910
+ let PKCEVerifier;
1911
+ if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
1912
+ PKCEVerifier = localStorage.getItem("PKCE_verifier");
1913
+ } else {
1914
+ PKCEVerifier = this._storage.getItem("PKCE_verifier");
1915
+ }
1916
+ if (!PKCEVerifier) {
1917
+ console.warn("No PKCE verifier found in oauth storage!");
1918
+ } else {
1919
+ params = params.set("code_verifier", PKCEVerifier);
1920
+ }
1921
+ }
1922
+ return this.fetchAndProcessToken(params, options);
1923
+ }
1924
+ fetchAndProcessToken(params, options) {
1925
+ options = options || {};
1926
+ this.assertUrlNotNullAndCorrectProtocol(this.tokenEndpoint, "tokenEndpoint");
1927
+ let headers = new import_http.HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
1928
+ if (this.useHttpBasicAuth) {
1929
+ const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
1930
+ headers = headers.set("Authorization", "Basic " + header);
1931
+ }
1932
+ if (!this.useHttpBasicAuth) {
1933
+ params = params.set("client_id", this.clientId);
1934
+ }
1935
+ if (!this.useHttpBasicAuth && this.dummyClientSecret) {
1936
+ params = params.set("client_secret", this.dummyClientSecret);
1937
+ }
1938
+ return new Promise((resolve, reject) => {
1939
+ if (this.customQueryParams) {
1940
+ for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1941
+ params = params.set(key, this.customQueryParams[key]);
1942
+ }
1943
+ }
1944
+ this.http.post(this.tokenEndpoint, params, { headers }).subscribe((tokenResponse) => {
1945
+ this.debug("refresh tokenResponse", tokenResponse);
1946
+ this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in || this.fallbackAccessTokenExpirationTimeInSec, tokenResponse.scope, this.extractRecognizedCustomParameters(tokenResponse));
1947
+ if (this.oidc && tokenResponse.id_token) {
1948
+ this.processIdToken(tokenResponse.id_token, tokenResponse.access_token, options.disableNonceCheck).then((result) => {
1949
+ this.storeIdToken(result);
1950
+ this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1951
+ this.eventsSubject.next(new OAuthSuccessEvent("token_refreshed"));
1952
+ resolve(tokenResponse);
1953
+ }).catch((reason) => {
1954
+ this.eventsSubject.next(new OAuthErrorEvent("token_validation_error", reason));
1955
+ console.error("Error validating tokens");
1956
+ console.error(reason);
1957
+ reject(reason);
1958
+ });
1959
+ } else {
1960
+ this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1961
+ this.eventsSubject.next(new OAuthSuccessEvent("token_refreshed"));
1962
+ resolve(tokenResponse);
1963
+ }
1964
+ }, (err2) => {
1965
+ console.error("Error getting token", err2);
1966
+ this.eventsSubject.next(new OAuthErrorEvent("token_refresh_error", err2));
1967
+ reject(err2);
1968
+ });
1969
+ });
1970
+ }
1971
+ /**
1972
+ * Checks whether there are tokens in the hash fragment
1973
+ * as a result of the implicit flow. These tokens are
1974
+ * parsed, validated and used to sign the user in to the
1975
+ * current client.
1976
+ *
1977
+ * @param options Optional options.
1978
+ */
1979
+ tryLoginImplicitFlow(options = null) {
1980
+ options = options || {};
1981
+ let parts;
1982
+ if (options.customHashFragment) {
1983
+ parts = this.urlHelper.getHashFragmentParams(options.customHashFragment);
1984
+ } else {
1985
+ parts = this.urlHelper.getHashFragmentParams();
1986
+ }
1987
+ this.debug("parsed url", parts);
1988
+ const state = parts["state"];
1989
+ const [nonceInState, userState] = this.parseState(state);
1990
+ this.state = userState;
1991
+ if (parts["error"]) {
1992
+ this.debug("error trying to login");
1993
+ this.handleLoginError(options, parts);
1994
+ const err2 = new OAuthErrorEvent("token_error", {}, parts);
1995
+ this.eventsSubject.next(err2);
1996
+ return Promise.reject(err2);
1997
+ }
1998
+ const accessToken = parts["access_token"];
1999
+ const idToken = parts["id_token"];
2000
+ const sessionState = parts["session_state"];
2001
+ const grantedScopes = parts["scope"];
2002
+ if (!this.requestAccessToken && !this.oidc) {
2003
+ return Promise.reject("Either requestAccessToken or oidc (or both) must be true.");
2004
+ }
2005
+ if (this.requestAccessToken && !accessToken) {
2006
+ return Promise.resolve(false);
2007
+ }
2008
+ if (this.requestAccessToken && !options.disableOAuth2StateCheck && !state) {
2009
+ return Promise.resolve(false);
2010
+ }
2011
+ if (this.oidc && !idToken) {
2012
+ return Promise.resolve(false);
2013
+ }
2014
+ if (this.sessionChecksEnabled && !sessionState) {
2015
+ this.logger.warn("session checks (Session Status Change Notification) were activated in the configuration but the id_token does not contain a session_state claim");
2016
+ }
2017
+ if (this.requestAccessToken && !options.disableNonceCheck) {
2018
+ const success = this.validateNonce(nonceInState);
2019
+ if (!success) {
2020
+ const event = new OAuthErrorEvent("invalid_nonce_in_state", null);
2021
+ this.eventsSubject.next(event);
2022
+ return Promise.reject(event);
2023
+ }
2024
+ }
2025
+ if (this.requestAccessToken) {
2026
+ this.storeAccessTokenResponse(accessToken, null, parts["expires_in"] || this.fallbackAccessTokenExpirationTimeInSec, grantedScopes);
2027
+ }
2028
+ if (!this.oidc) {
2029
+ this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
2030
+ if (this.clearHashAfterLogin && !options.preventClearHashAfterLogin) {
2031
+ this.clearLocationHash();
2032
+ }
2033
+ this.callOnTokenReceivedIfExists(options);
2034
+ return Promise.resolve(true);
2035
+ }
2036
+ return this.processIdToken(idToken, accessToken, options.disableNonceCheck).then((result) => {
2037
+ if (options.validationHandler) {
2038
+ return options.validationHandler({
2039
+ accessToken,
2040
+ idClaims: result.idTokenClaims,
2041
+ idToken: result.idToken,
2042
+ state
2043
+ }).then(() => result);
2044
+ }
2045
+ return result;
2046
+ }).then((result) => {
2047
+ this.storeIdToken(result);
2048
+ this.storeSessionState(sessionState);
2049
+ if (this.clearHashAfterLogin && !options.preventClearHashAfterLogin) {
2050
+ this.clearLocationHash();
2051
+ }
2052
+ this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
2053
+ this.callOnTokenReceivedIfExists(options);
2054
+ this.inImplicitFlow = false;
2055
+ return true;
2056
+ }).catch((reason) => {
2057
+ this.eventsSubject.next(new OAuthErrorEvent("token_validation_error", reason));
2058
+ this.logger.error("Error validating tokens");
2059
+ this.logger.error(reason);
2060
+ return Promise.reject(reason);
2061
+ });
2062
+ }
2063
+ parseState(state) {
2064
+ let nonce = state;
2065
+ let userState = "";
2066
+ if (state) {
2067
+ const idx = state.indexOf(this.config.nonceStateSeparator);
2068
+ if (idx > -1) {
2069
+ nonce = state.substr(0, idx);
2070
+ userState = state.substr(idx + this.config.nonceStateSeparator.length);
2071
+ }
2072
+ }
2073
+ return [nonce, userState];
2074
+ }
2075
+ validateNonce(nonceInState) {
2076
+ let savedNonce;
2077
+ if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
2078
+ savedNonce = localStorage.getItem("nonce");
2079
+ } else {
2080
+ savedNonce = this._storage.getItem("nonce");
2081
+ }
2082
+ if (savedNonce !== nonceInState) {
2083
+ const err2 = "Validating access_token failed, wrong state/nonce.";
2084
+ console.error(err2, savedNonce, nonceInState);
2085
+ return false;
2086
+ }
2087
+ return true;
2088
+ }
2089
+ storeIdToken(idToken) {
2090
+ this._storage.setItem("id_token", idToken.idToken);
2091
+ this._storage.setItem("id_token_claims_obj", idToken.idTokenClaimsJson);
2092
+ this._storage.setItem("id_token_expires_at", "" + idToken.idTokenExpiresAt);
2093
+ this._storage.setItem("id_token_stored_at", "" + this.dateTimeService.now());
2094
+ }
2095
+ storeSessionState(sessionState) {
2096
+ this._storage.setItem("session_state", sessionState);
2097
+ }
2098
+ getSessionState() {
2099
+ return this._storage.getItem("session_state");
2100
+ }
2101
+ handleLoginError(options, parts) {
2102
+ if (options.onLoginError) {
2103
+ options.onLoginError(parts);
2104
+ }
2105
+ if (this.clearHashAfterLogin && !options.preventClearHashAfterLogin) {
2106
+ this.clearLocationHash();
2107
+ }
2108
+ }
2109
+ getClockSkewInMsec(defaultSkewMsc = 6e5) {
2110
+ if (!this.clockSkewInSec && this.clockSkewInSec !== 0) {
2111
+ return defaultSkewMsc;
2112
+ }
2113
+ return this.clockSkewInSec * 1e3;
2114
+ }
2115
+ /**
2116
+ * @ignore
2117
+ */
2118
+ processIdToken(idToken, accessToken, skipNonceCheck = false) {
2119
+ const tokenParts = idToken.split(".");
2120
+ const headerBase64 = this.padBase64(tokenParts[0]);
2121
+ const headerJson = b64DecodeUnicode(headerBase64);
2122
+ const header = JSON.parse(headerJson);
2123
+ const claimsBase64 = this.padBase64(tokenParts[1]);
2124
+ const claimsJson = b64DecodeUnicode(claimsBase64);
2125
+ const claims = JSON.parse(claimsJson);
2126
+ let savedNonce;
2127
+ if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
2128
+ savedNonce = localStorage.getItem("nonce");
2129
+ } else {
2130
+ savedNonce = this._storage.getItem("nonce");
2131
+ }
2132
+ if (Array.isArray(claims.aud)) {
2133
+ if (claims.aud.every((v) => v !== this.clientId)) {
2134
+ const err2 = "Wrong audience: " + claims.aud.join(",");
2135
+ this.logger.warn(err2);
2136
+ return Promise.reject(err2);
2137
+ }
2138
+ } else {
2139
+ if (claims.aud !== this.clientId) {
2140
+ const err2 = "Wrong audience: " + claims.aud;
2141
+ this.logger.warn(err2);
2142
+ return Promise.reject(err2);
2143
+ }
2144
+ }
2145
+ if (!claims.sub) {
2146
+ const err2 = "No sub claim in id_token";
2147
+ this.logger.warn(err2);
2148
+ return Promise.reject(err2);
2149
+ }
2150
+ if (this.sessionChecksEnabled && this.silentRefreshSubject && this.silentRefreshSubject !== claims["sub"]) {
2151
+ const err2 = `After refreshing, we got an id_token for another user (sub). Expected sub: ${this.silentRefreshSubject}, received sub: ${claims["sub"]}`;
2152
+ this.logger.warn(err2);
2153
+ return Promise.reject(err2);
2154
+ }
2155
+ if (!claims.iat) {
2156
+ const err2 = "No iat claim in id_token";
2157
+ this.logger.warn(err2);
2158
+ return Promise.reject(err2);
2159
+ }
2160
+ if (!this.skipIssuerCheck && claims.iss !== this.issuer) {
2161
+ const err2 = "Wrong issuer: " + claims.iss;
2162
+ this.logger.warn(err2);
2163
+ return Promise.reject(err2);
2164
+ }
2165
+ if (!skipNonceCheck && claims.nonce !== savedNonce) {
2166
+ const err2 = "Wrong nonce: " + claims.nonce;
2167
+ this.logger.warn(err2);
2168
+ return Promise.reject(err2);
2169
+ }
2170
+ if (Object.prototype.hasOwnProperty.call(this, "responseType") && (this.responseType === "code" || this.responseType === "id_token")) {
2171
+ this.disableAtHashCheck = true;
2172
+ }
2173
+ if (!this.disableAtHashCheck && this.requestAccessToken && !claims["at_hash"]) {
2174
+ const err2 = "An at_hash is needed!";
2175
+ this.logger.warn(err2);
2176
+ return Promise.reject(err2);
2177
+ }
2178
+ const now = this.dateTimeService.now();
2179
+ const issuedAtMSec = claims.iat * 1e3;
2180
+ const expiresAtMSec = claims.exp * 1e3;
2181
+ const clockSkewInMSec = this.getClockSkewInMsec();
2182
+ if (issuedAtMSec - clockSkewInMSec >= now || expiresAtMSec + clockSkewInMSec - this.decreaseExpirationBySec <= now) {
2183
+ const err2 = "Token has expired";
2184
+ console.error(err2);
2185
+ console.error({
2186
+ now,
2187
+ issuedAtMSec,
2188
+ expiresAtMSec
2189
+ });
2190
+ return Promise.reject(err2);
2191
+ }
2192
+ const validationParams = {
2193
+ accessToken,
2194
+ idToken,
2195
+ jwks: this.jwks,
2196
+ idTokenClaims: claims,
2197
+ idTokenHeader: header,
2198
+ loadKeys: () => this.loadJwks()
2199
+ };
2200
+ if (this.disableAtHashCheck) {
2201
+ return this.checkSignature(validationParams).then(() => {
2202
+ const result = {
2203
+ idToken,
2204
+ idTokenClaims: claims,
2205
+ idTokenClaimsJson: claimsJson,
2206
+ idTokenHeader: header,
2207
+ idTokenHeaderJson: headerJson,
2208
+ idTokenExpiresAt: expiresAtMSec
2209
+ };
2210
+ return result;
2211
+ });
2212
+ }
2213
+ return this.checkAtHash(validationParams).then((atHashValid) => {
2214
+ if (!this.disableAtHashCheck && this.requestAccessToken && !atHashValid) {
2215
+ const err2 = "Wrong at_hash";
2216
+ this.logger.warn(err2);
2217
+ return Promise.reject(err2);
2218
+ }
2219
+ return this.checkSignature(validationParams).then(() => {
2220
+ const atHashCheckEnabled = !this.disableAtHashCheck;
2221
+ const result = {
2222
+ idToken,
2223
+ idTokenClaims: claims,
2224
+ idTokenClaimsJson: claimsJson,
2225
+ idTokenHeader: header,
2226
+ idTokenHeaderJson: headerJson,
2227
+ idTokenExpiresAt: expiresAtMSec
2228
+ };
2229
+ if (atHashCheckEnabled) {
2230
+ return this.checkAtHash(validationParams).then((atHashValid2) => {
2231
+ if (this.requestAccessToken && !atHashValid2) {
2232
+ const err2 = "Wrong at_hash";
2233
+ this.logger.warn(err2);
2234
+ return Promise.reject(err2);
2235
+ } else {
2236
+ return result;
2237
+ }
2238
+ });
2239
+ } else {
2240
+ return result;
2241
+ }
2242
+ });
2243
+ });
2244
+ }
2245
+ /**
2246
+ * Returns the received claims about the user.
2247
+ */
2248
+ getIdentityClaims() {
2249
+ const claims = this._storage.getItem("id_token_claims_obj");
2250
+ if (!claims) {
2251
+ return null;
2252
+ }
2253
+ return JSON.parse(claims);
2254
+ }
2255
+ /**
2256
+ * Returns the granted scopes from the server.
2257
+ */
2258
+ getGrantedScopes() {
2259
+ const scopes = this._storage.getItem("granted_scopes");
2260
+ if (!scopes) {
2261
+ return null;
2262
+ }
2263
+ return JSON.parse(scopes);
2264
+ }
2265
+ /**
2266
+ * Returns the current id_token.
2267
+ */
2268
+ getIdToken() {
2269
+ return this._storage ? this._storage.getItem("id_token") : null;
2270
+ }
2271
+ padBase64(base64data) {
2272
+ while (base64data.length % 4 !== 0) {
2273
+ base64data += "=";
2274
+ }
2275
+ return base64data;
2276
+ }
2277
+ /**
2278
+ * Returns the current access_token.
2279
+ */
2280
+ getAccessToken() {
2281
+ return this._storage ? this._storage.getItem("access_token") : null;
2282
+ }
2283
+ getRefreshToken() {
2284
+ return this._storage ? this._storage.getItem("refresh_token") : null;
2285
+ }
2286
+ /**
2287
+ * Returns the expiration date of the access_token
2288
+ * as milliseconds since 1970.
2289
+ */
2290
+ getAccessTokenExpiration() {
2291
+ if (!this._storage.getItem("expires_at")) {
2292
+ return null;
2293
+ }
2294
+ return parseInt(this._storage.getItem("expires_at"), 10);
2295
+ }
2296
+ getAccessTokenStoredAt() {
2297
+ return parseInt(this._storage.getItem("access_token_stored_at"), 10);
2298
+ }
2299
+ getIdTokenStoredAt() {
2300
+ return parseInt(this._storage.getItem("id_token_stored_at"), 10);
2301
+ }
2302
+ /**
2303
+ * Returns the expiration date of the id_token
2304
+ * as milliseconds since 1970.
2305
+ */
2306
+ getIdTokenExpiration() {
2307
+ if (!this._storage.getItem("id_token_expires_at")) {
2308
+ return null;
2309
+ }
2310
+ return parseInt(this._storage.getItem("id_token_expires_at"), 10);
2311
+ }
2312
+ /**
2313
+ * Checkes, whether there is a valid access_token.
2314
+ */
2315
+ hasValidAccessToken() {
2316
+ if (this.getAccessToken()) {
2317
+ const expiresAt = this._storage.getItem("expires_at");
2318
+ const now = this.dateTimeService.new();
2319
+ if (expiresAt && parseInt(expiresAt, 10) - this.decreaseExpirationBySec < now.getTime() - this.getClockSkewInMsec()) {
2320
+ return false;
2321
+ }
2322
+ return true;
2323
+ }
2324
+ return false;
2325
+ }
2326
+ /**
2327
+ * Checks whether there is a valid id_token.
2328
+ */
2329
+ hasValidIdToken() {
2330
+ if (this.getIdToken()) {
2331
+ const expiresAt = this._storage.getItem("id_token_expires_at");
2332
+ const now = this.dateTimeService.new();
2333
+ if (expiresAt && parseInt(expiresAt, 10) - this.decreaseExpirationBySec < now.getTime() - this.getClockSkewInMsec()) {
2334
+ return false;
2335
+ }
2336
+ return true;
2337
+ }
2338
+ return false;
2339
+ }
2340
+ /**
2341
+ * Retrieve a saved custom property of the TokenReponse object. Only if predefined in authconfig.
2342
+ */
2343
+ getCustomTokenResponseProperty(requestedProperty) {
2344
+ return this._storage && this.config.customTokenParameters && this.config.customTokenParameters.indexOf(requestedProperty) >= 0 && this._storage.getItem(requestedProperty) !== null ? JSON.parse(this._storage.getItem(requestedProperty)) : null;
2345
+ }
2346
+ /**
2347
+ * Returns the auth-header that can be used
2348
+ * to transmit the access_token to a service
2349
+ */
2350
+ authorizationHeader() {
2351
+ return "Bearer " + this.getAccessToken();
2352
+ }
2353
+ logOut(customParameters = {}, state = "") {
2354
+ let noRedirectToLogoutUrl = false;
2355
+ if (typeof customParameters === "boolean") {
2356
+ noRedirectToLogoutUrl = customParameters;
2357
+ customParameters = {};
2358
+ }
2359
+ const id_token = this.getIdToken();
2360
+ this._storage.removeItem("access_token");
2361
+ this._storage.removeItem("id_token");
2362
+ this._storage.removeItem("refresh_token");
2363
+ if (this.saveNoncesInLocalStorage) {
2364
+ localStorage.removeItem("nonce");
2365
+ localStorage.removeItem("PKCE_verifier");
2366
+ } else {
2367
+ this._storage.removeItem("nonce");
2368
+ this._storage.removeItem("PKCE_verifier");
2369
+ }
2370
+ this._storage.removeItem("expires_at");
2371
+ this._storage.removeItem("id_token_claims_obj");
2372
+ this._storage.removeItem("id_token_expires_at");
2373
+ this._storage.removeItem("id_token_stored_at");
2374
+ this._storage.removeItem("access_token_stored_at");
2375
+ this._storage.removeItem("granted_scopes");
2376
+ this._storage.removeItem("session_state");
2377
+ if (this.config.customTokenParameters) {
2378
+ this.config.customTokenParameters.forEach((customParam) => this._storage.removeItem(customParam));
2379
+ }
2380
+ this.silentRefreshSubject = null;
2381
+ this.eventsSubject.next(new OAuthInfoEvent("logout"));
2382
+ if (!this.logoutUrl) {
2383
+ return;
2384
+ }
2385
+ if (noRedirectToLogoutUrl) {
2386
+ return;
2387
+ }
2388
+ let logoutUrl;
2389
+ if (!this.validateUrlForHttps(this.logoutUrl)) {
2390
+ throw new Error("logoutUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
2391
+ }
2392
+ if (this.logoutUrl.indexOf("{{") > -1) {
2393
+ logoutUrl = this.logoutUrl.replace(/\{\{id_token\}\}/, encodeURIComponent(id_token)).replace(/\{\{client_id\}\}/, encodeURIComponent(this.clientId));
2394
+ } else {
2395
+ let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() });
2396
+ if (id_token) {
2397
+ params = params.set("id_token_hint", id_token);
2398
+ }
2399
+ const postLogoutUrl = this.postLogoutRedirectUri || this.redirectUriAsPostLogoutRedirectUriFallback && this.redirectUri || "";
2400
+ if (postLogoutUrl) {
2401
+ params = params.set("post_logout_redirect_uri", postLogoutUrl);
2402
+ if (state) {
2403
+ params = params.set("state", state);
2404
+ }
2405
+ }
2406
+ for (const key in customParameters) {
2407
+ params = params.set(key, customParameters[key]);
2408
+ }
2409
+ logoutUrl = this.logoutUrl + (this.logoutUrl.indexOf("?") > -1 ? "&" : "?") + params.toString();
2410
+ }
2411
+ this.config.openUri(logoutUrl);
2412
+ }
2413
+ /**
2414
+ * @ignore
2415
+ */
2416
+ createAndSaveNonce() {
2417
+ const that = this;
2418
+ return this.createNonce().then(function(nonce) {
2419
+ if (that.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
2420
+ localStorage.setItem("nonce", nonce);
2421
+ } else {
2422
+ that._storage.setItem("nonce", nonce);
2423
+ }
2424
+ return nonce;
2425
+ });
2426
+ }
2427
+ /**
2428
+ * @ignore
2429
+ */
2430
+ ngOnDestroy() {
2431
+ this.clearAccessTokenTimer();
2432
+ this.clearIdTokenTimer();
2433
+ this.removeSilentRefreshEventListener();
2434
+ const silentRefreshFrame = this.document.getElementById(this.silentRefreshIFrameName);
2435
+ if (silentRefreshFrame) {
2436
+ silentRefreshFrame.remove();
2437
+ }
2438
+ this.stopSessionCheckTimer();
2439
+ this.removeSessionCheckEventListener();
2440
+ const sessionCheckFrame = this.document.getElementById(this.sessionCheckIFrameName);
2441
+ if (sessionCheckFrame) {
2442
+ sessionCheckFrame.remove();
2443
+ }
2444
+ }
2445
+ createNonce() {
2446
+ return new Promise((resolve) => {
2447
+ if (this.rngUrl) {
2448
+ throw new Error("createNonce with rng-web-api has not been implemented so far");
2449
+ }
2450
+ const unreserved = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
2451
+ let size = 45;
2452
+ let id = "";
2453
+ const crypto = typeof self === "undefined" ? null : self.crypto || self["msCrypto"];
2454
+ if (crypto) {
2455
+ let bytes = new Uint8Array(size);
2456
+ crypto.getRandomValues(bytes);
2457
+ if (!bytes.map) {
2458
+ bytes.map = Array.prototype.map;
2459
+ }
2460
+ bytes = bytes.map((x) => unreserved.charCodeAt(x % unreserved.length));
2461
+ id = String.fromCharCode.apply(null, bytes);
2462
+ } else {
2463
+ while (0 < size--) {
2464
+ id += unreserved[Math.random() * unreserved.length | 0];
2465
+ }
2466
+ }
2467
+ resolve(base64UrlEncode(id));
2468
+ });
2469
+ }
2470
+ checkAtHash(params) {
2471
+ return __async(this, null, function* () {
2472
+ if (!this.tokenValidationHandler) {
2473
+ this.logger.warn("No tokenValidationHandler configured. Cannot check at_hash.");
2474
+ return true;
2475
+ }
2476
+ return this.tokenValidationHandler.validateAtHash(params);
2477
+ });
2478
+ }
2479
+ checkSignature(params) {
2480
+ if (!this.tokenValidationHandler) {
2481
+ this.logger.warn("No tokenValidationHandler configured. Cannot check signature.");
2482
+ return Promise.resolve(null);
2483
+ }
2484
+ return this.tokenValidationHandler.validateSignature(params);
2485
+ }
2486
+ /**
2487
+ * Start the implicit flow or the code flow,
2488
+ * depending on your configuration.
2489
+ */
2490
+ initLoginFlow(additionalState = "", params = {}) {
2491
+ if (this.responseType === "code") {
2492
+ return this.initCodeFlow(additionalState, params);
2493
+ } else {
2494
+ return this.initImplicitFlow(additionalState, params);
2495
+ }
2496
+ }
2497
+ /**
2498
+ * Starts the authorization code flow and redirects to user to
2499
+ * the auth servers login url.
2500
+ */
2501
+ initCodeFlow(additionalState = "", params = {}) {
2502
+ if (this.loginUrl !== "") {
2503
+ this.initCodeFlowInternal(additionalState, params);
2504
+ } else {
2505
+ this.events.pipe((0, import_operators.filter)((e) => e.type === "discovery_document_loaded")).subscribe(() => this.initCodeFlowInternal(additionalState, params));
2506
+ }
2507
+ }
2508
+ initCodeFlowInternal(additionalState = "", params = {}) {
2509
+ if (!this.validateUrlForHttps(this.loginUrl)) {
2510
+ throw new Error("loginUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
2511
+ }
2512
+ let addParams = {};
2513
+ let loginHint = null;
2514
+ if (typeof params === "string") {
2515
+ loginHint = params;
2516
+ } else if (typeof params === "object") {
2517
+ addParams = params;
2518
+ }
2519
+ this.createLoginUrl(additionalState, loginHint, null, false, addParams).then(this.config.openUri).catch((error) => {
2520
+ console.error("Error in initAuthorizationCodeFlow");
2521
+ console.error(error);
2522
+ });
2523
+ }
2524
+ createChallangeVerifierPairForPKCE() {
2525
+ return __async(this, null, function* () {
2526
+ if (!this.crypto) {
2527
+ throw new Error("PKCE support for code flow needs a CryptoHander. Did you import the OAuthModule using forRoot() ?");
2528
+ }
2529
+ const verifier = yield this.createNonce();
2530
+ const challengeRaw = yield this.crypto.calcHash(verifier, "sha-256");
2531
+ const challenge = base64UrlEncode(challengeRaw);
2532
+ return [challenge, verifier];
2533
+ });
2534
+ }
2535
+ extractRecognizedCustomParameters(tokenResponse) {
2536
+ const foundParameters = /* @__PURE__ */ new Map();
2537
+ if (!this.config.customTokenParameters) {
2538
+ return foundParameters;
2539
+ }
2540
+ this.config.customTokenParameters.forEach((recognizedParameter) => {
2541
+ if (tokenResponse[recognizedParameter]) {
2542
+ foundParameters.set(recognizedParameter, JSON.stringify(tokenResponse[recognizedParameter]));
2543
+ }
2544
+ });
2545
+ return foundParameters;
2546
+ }
2547
+ /**
2548
+ * Revokes the auth token to secure the vulnarability
2549
+ * of the token issued allowing the authorization server to clean
2550
+ * up any security credentials associated with the authorization
2551
+ */
2552
+ revokeTokenAndLogout(customParameters = {}, ignoreCorsIssues = false) {
2553
+ const revokeEndpoint = this.revocationEndpoint;
2554
+ const accessToken = this.getAccessToken();
2555
+ const refreshToken = this.getRefreshToken();
2556
+ if (!accessToken) {
2557
+ return Promise.resolve();
2558
+ }
2559
+ let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() });
2560
+ let headers = new import_http.HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
2561
+ if (this.useHttpBasicAuth) {
2562
+ const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
2563
+ headers = headers.set("Authorization", "Basic " + header);
2564
+ }
2565
+ if (!this.useHttpBasicAuth) {
2566
+ params = params.set("client_id", this.clientId);
2567
+ }
2568
+ if (!this.useHttpBasicAuth && this.dummyClientSecret) {
2569
+ params = params.set("client_secret", this.dummyClientSecret);
2570
+ }
2571
+ if (this.customQueryParams) {
2572
+ for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
2573
+ params = params.set(key, this.customQueryParams[key]);
2574
+ }
2575
+ }
2576
+ return new Promise((resolve, reject) => {
2577
+ let revokeAccessToken;
2578
+ let revokeRefreshToken;
2579
+ if (accessToken) {
2580
+ const revokationParams = params.set("token", accessToken).set("token_type_hint", "access_token");
2581
+ revokeAccessToken = this.http.post(revokeEndpoint, revokationParams, { headers });
2582
+ } else {
2583
+ revokeAccessToken = (0, import_rxjs.of)(null);
2584
+ }
2585
+ if (refreshToken) {
2586
+ const revokationParams = params.set("token", refreshToken).set("token_type_hint", "refresh_token");
2587
+ revokeRefreshToken = this.http.post(revokeEndpoint, revokationParams, { headers });
2588
+ } else {
2589
+ revokeRefreshToken = (0, import_rxjs.of)(null);
2590
+ }
2591
+ if (ignoreCorsIssues) {
2592
+ revokeAccessToken = revokeAccessToken.pipe((0, import_operators.catchError)((err2) => {
2593
+ if (err2.status === 0) {
2594
+ return (0, import_rxjs.of)(null);
2595
+ }
2596
+ return (0, import_rxjs.throwError)(err2);
2597
+ }));
2598
+ revokeRefreshToken = revokeRefreshToken.pipe((0, import_operators.catchError)((err2) => {
2599
+ if (err2.status === 0) {
2600
+ return (0, import_rxjs.of)(null);
2601
+ }
2602
+ return (0, import_rxjs.throwError)(err2);
2603
+ }));
2604
+ }
2605
+ (0, import_rxjs.combineLatest)([revokeAccessToken, revokeRefreshToken]).subscribe((res) => {
2606
+ this.logOut(customParameters);
2607
+ resolve(res);
2608
+ this.logger.info("Token successfully revoked");
2609
+ }, (err2) => {
2610
+ this.logger.error("Error revoking token", err2);
2611
+ this.eventsSubject.next(new OAuthErrorEvent("token_revoke_error", err2));
2612
+ reject(err2);
2613
+ });
2614
+ });
2615
+ }
2616
+ /**
2617
+ * Clear location.hash if it's present
2618
+ */
2619
+ clearLocationHash() {
2620
+ if (location.hash != "") {
2621
+ location.hash = "";
2622
+ }
2623
+ }
2624
+ };
2625
+ _OAuthService.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthService, deps: [{ token: i0.NgZone }, { token: i1.HttpClient }, { token: OAuthStorage, optional: true }, { token: ValidationHandler, optional: true }, { token: AuthConfig, optional: true }, { token: UrlHelperService }, { token: OAuthLogger }, { token: HashHandler, optional: true }, { token: import_common.DOCUMENT }, { token: DateTimeProvider }], target: i0.\u0275\u0275FactoryTarget.Injectable });
2626
+ _OAuthService.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthService });
2627
+ let OAuthService = _OAuthService;
2628
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: OAuthService, decorators: [{
2629
+ type: import_core.Injectable
2630
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.HttpClient }, { type: OAuthStorage, decorators: [{
2631
+ type: import_core.Optional
2632
+ }] }, { type: ValidationHandler, decorators: [{
2633
+ type: import_core.Optional
2634
+ }] }, { type: AuthConfig, decorators: [{
2635
+ type: import_core.Optional
2636
+ }] }, { type: UrlHelperService }, { type: OAuthLogger }, { type: HashHandler, decorators: [{
2637
+ type: import_core.Optional
2638
+ }] }, { type: Document, decorators: [{
2639
+ type: import_core.Inject,
2640
+ args: [import_common.DOCUMENT]
2641
+ }] }, { type: DateTimeProvider }] });
2642
+ class OAuthResourceServerErrorHandler {
2643
+ }
2644
+ class OAuthNoopResourceServerErrorHandler {
2645
+ handleError(err2) {
2646
+ return (0, import_rxjs.throwError)(err2);
2647
+ }
2648
+ }
2649
+ const _DefaultOAuthInterceptor = class _DefaultOAuthInterceptor {
2650
+ constructor(oAuthService, errorHandler, moduleConfig) {
2651
+ this.oAuthService = oAuthService;
2652
+ this.errorHandler = errorHandler;
2653
+ this.moduleConfig = moduleConfig;
2654
+ }
2655
+ checkUrl(url) {
2656
+ if (this.moduleConfig.resourceServer.customUrlValidation) {
2657
+ return this.moduleConfig.resourceServer.customUrlValidation(url);
2658
+ }
2659
+ if (this.moduleConfig.resourceServer.allowedUrls) {
2660
+ return !!this.moduleConfig.resourceServer.allowedUrls.find((u) => url.toLowerCase().startsWith(u.toLowerCase()));
2661
+ }
2662
+ return true;
2663
+ }
2664
+ intercept(req, next) {
2665
+ const url = req.url.toLowerCase();
2666
+ if (!this.moduleConfig || !this.moduleConfig.resourceServer || !this.checkUrl(url)) {
2667
+ return next.handle(req);
2668
+ }
2669
+ const sendAccessToken = this.moduleConfig.resourceServer.sendAccessToken;
2670
+ if (!sendAccessToken) {
2671
+ return next.handle(req).pipe((0, import_operators.catchError)((err2) => this.errorHandler.handleError(err2)));
2672
+ }
2673
+ return (0, import_rxjs.merge)((0, import_rxjs.of)(this.oAuthService.getAccessToken()).pipe((0, import_operators.filter)((token) => !!token)), this.oAuthService.events.pipe(
2674
+ (0, import_operators.filter)((e) => e.type === "token_received"),
2675
+ (0, import_operators.timeout)(this.oAuthService.waitForTokenInMsec || 0),
2676
+ (0, import_operators.catchError)(() => (0, import_rxjs.of)(null)),
2677
+ // timeout is not an error
2678
+ (0, import_operators.map)(() => this.oAuthService.getAccessToken())
2679
+ )).pipe((0, import_operators.take)(1), (0, import_operators.mergeMap)((token) => {
2680
+ if (token) {
2681
+ const header = "Bearer " + token;
2682
+ const headers = req.headers.set("Authorization", header);
2683
+ req = req.clone({ headers });
2684
+ }
2685
+ return next.handle(req).pipe((0, import_operators.catchError)((err2) => this.errorHandler.handleError(err2)));
2686
+ }));
2687
+ }
2688
+ };
2689
+ _DefaultOAuthInterceptor.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultOAuthInterceptor, deps: [{ token: OAuthService }, { token: OAuthResourceServerErrorHandler }, { token: OAuthModuleConfig, optional: true }], target: i0.\u0275\u0275FactoryTarget.Injectable });
2690
+ _DefaultOAuthInterceptor.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultOAuthInterceptor });
2691
+ let DefaultOAuthInterceptor = _DefaultOAuthInterceptor;
2692
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DefaultOAuthInterceptor, decorators: [{
2693
+ type: import_core.Injectable
2694
+ }], ctorParameters: () => [{ type: OAuthService }, { type: OAuthResourceServerErrorHandler }, { type: OAuthModuleConfig, decorators: [{
2695
+ type: import_core.Optional
2696
+ }] }] });
2697
+ function createDefaultLogger() {
2698
+ return console;
2699
+ }
2700
+ function createDefaultStorage() {
2701
+ return typeof sessionStorage !== "undefined" ? sessionStorage : new MemoryStorage();
2702
+ }
2703
+ function provideOAuthClient(config = null, validationHandlerClass = NullValidationHandler) {
2704
+ return (0, import_core.makeEnvironmentProviders)([
2705
+ OAuthService,
2706
+ UrlHelperService,
2707
+ { provide: OAuthLogger, useFactory: createDefaultLogger },
2708
+ { provide: OAuthStorage, useFactory: createDefaultStorage },
2709
+ { provide: ValidationHandler, useClass: validationHandlerClass },
2710
+ { provide: HashHandler, useClass: DefaultHashHandler },
2711
+ {
2712
+ provide: OAuthResourceServerErrorHandler,
2713
+ useClass: OAuthNoopResourceServerErrorHandler
2714
+ },
2715
+ { provide: OAuthModuleConfig, useValue: config },
2716
+ {
2717
+ provide: import_http.HTTP_INTERCEPTORS,
2718
+ useClass: DefaultOAuthInterceptor,
2719
+ multi: true
2720
+ },
2721
+ { provide: DateTimeProvider, useClass: SystemDateTimeProvider }
2722
+ ]);
2723
+ }
2724
+ const _OAuthModule = class _OAuthModule {
2725
+ static forRoot(config = null, validationHandlerClass = NullValidationHandler) {
2726
+ return {
2727
+ ngModule: _OAuthModule,
2728
+ providers: [provideOAuthClient(config, validationHandlerClass)]
2729
+ };
2730
+ }
2731
+ };
2732
+ _OAuthModule.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthModule, deps: [], target: i0.\u0275\u0275FactoryTarget.NgModule });
2733
+ _OAuthModule.\u0275mod = i0.\u0275\u0275ngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: _OAuthModule, imports: [import_common.CommonModule] });
2734
+ _OAuthModule.\u0275inj = i0.\u0275\u0275ngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthModule, imports: [import_common.CommonModule] });
2735
+ let OAuthModule = _OAuthModule;
2736
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: OAuthModule, decorators: [{
2737
+ type: import_core.NgModule,
2738
+ args: [{
2739
+ imports: [import_common.CommonModule],
2740
+ declarations: [],
2741
+ exports: []
2742
+ }]
2743
+ }] });
2744
+ const err = `PLEASE READ THIS CAREFULLY:
2745
+
2746
+ Beginning with angular-oauth2-oidc version 9, the JwksValidationHandler
2747
+ has been moved to an library of its own. If you need it for implementing
2748
+ OAuth2/OIDC **implicit flow**, please install it using npm:
2749
+
2750
+ npm i angular-oauth2-oidc-jwks --save
2751
+
2752
+ After that, you can import it into your application:
2753
+
2754
+ import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
2755
+
2756
+ Please note, that this dependency is not needed for the **code flow**,
2757
+ which is nowadays the **recommented** one for single page applications.
2758
+ This also results in smaller bundle sizes.
2759
+ `;
2760
+ class JwksValidationHandler extends NullValidationHandler {
2761
+ constructor() {
2762
+ super();
2763
+ console.error(err);
2764
+ }
2765
+ }
2766
+ const AUTH_CONFIG = new import_core.InjectionToken("AUTH_CONFIG");