quankee-framework-common-ts 1.4.4 → 1.5.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 (309) hide show
  1. package/.editorconfig +17 -17
  2. package/.gitlab-ci.yml +3 -3
  3. package/LICENSE +15 -15
  4. package/README.md +54 -51
  5. package/angular.json +208 -175
  6. package/package.json +59 -59
  7. package/projects/quankee-framework-interceptor/LICENSE +15 -15
  8. package/projects/quankee-framework-interceptor/ng-package.json +6 -6
  9. package/projects/quankee-framework-interceptor/package-lock.json +45 -45
  10. package/projects/quankee-framework-interceptor/package.json +1 -1
  11. package/projects/quankee-framework-keycloak/LICENSE +15 -15
  12. package/projects/quankee-framework-keycloak/ng-package.json +6 -6
  13. package/projects/quankee-framework-keycloak/package-lock.json +37 -37
  14. package/projects/quankee-framework-keycloak/package.json +1 -1
  15. package/projects/quankee-framework-language/ng-package.json +6 -6
  16. package/projects/quankee-framework-language/package.json +1 -1
  17. package/projects/quankee-framework-report/LICENSE +15 -0
  18. package/projects/quankee-framework-report/ng-package.json +7 -0
  19. package/projects/quankee-framework-report/package.json +33 -0
  20. package/projects/quankee-framework-response/ng-package.json +6 -6
  21. package/projects/quankee-framework-response/package.json +1 -1
  22. package/projects/quankee-framework-user/LICENSE +15 -15
  23. package/projects/quankee-framework-user/ng-package.json +6 -6
  24. package/projects/quankee-framework-user/package.json +1 -1
  25. package/publish-all.js +14 -13
  26. package/sync-versions.js +26 -26
  27. package/.angular/cache/19.2.15/angular-webpack/10726ec54b663dc47d957771509d3c16530a5c04/0.pack +0 -0
  28. package/.angular/cache/19.2.15/angular-webpack/10726ec54b663dc47d957771509d3c16530a5c04/index.pack +0 -0
  29. package/.angular/cache/19.2.15/angular-webpack/7b97243608b34288b41cb683c4c12cbbac35b78f/0.pack +0 -0
  30. package/.angular/cache/19.2.15/angular-webpack/7b97243608b34288b41cb683c4c12cbbac35b78f/index.pack +0 -0
  31. package/.angular/cache/19.2.15/angular-webpack/94bcc6caa26565395ed680916a15c56a4f369405/0.pack +0 -0
  32. package/.angular/cache/19.2.15/angular-webpack/94bcc6caa26565395ed680916a15c56a4f369405/index.pack +0 -0
  33. package/.angular/cache/19.2.15/angular-webpack/c4d51a1ac3f0cda85f75704b92026f074e3a2239/0.pack +0 -0
  34. package/.angular/cache/19.2.15/angular-webpack/c4d51a1ac3f0cda85f75704b92026f074e3a2239/index.pack +0 -0
  35. package/.angular/cache/19.2.15/angular-webpack/f5b46dc16d29a8b6ba1acc97b51757d36ed2c947/0.pack +0 -0
  36. package/.angular/cache/19.2.15/angular-webpack/f5b46dc16d29a8b6ba1acc97b51757d36ed2c947/index.pack +0 -0
  37. package/.angular/cache/19.2.15/babel-webpack/002001bb82c23a9b0ed2143562a25a92c03c1adff4ea42012bf8b9a21ce82bc7.json +0 -1
  38. package/.angular/cache/19.2.15/babel-webpack/005368dc6f7cda6a18a41f2f18809ce4f2e66f2eb3ca57851a624b40eda8f157.json +0 -1
  39. package/.angular/cache/19.2.15/babel-webpack/005c64f4f96b0c35c949fb27e52cfd7ecf41b1ccc8a6e82aa5668efb2355b990.json +0 -1
  40. package/.angular/cache/19.2.15/babel-webpack/0087688b44367f5b79095b11ae4990cde040ca22e4f5e0360eac16321d1db7d4.json +0 -1
  41. package/.angular/cache/19.2.15/babel-webpack/01eb526696aa8607888da4ec5103aaa3052e5437e2d764b0e0bb2766917a4bf6.json +0 -1
  42. package/.angular/cache/19.2.15/babel-webpack/038d09ea2073205be5da1801da0b56f30c6227a38a410eaad57fcaa40ab14b5e.json +0 -1
  43. package/.angular/cache/19.2.15/babel-webpack/04642651aa51aee5cf33986f07292c2b6d53818af58562509dcb2dcdca9adb00.json +0 -1
  44. package/.angular/cache/19.2.15/babel-webpack/07335a72c77bdb7f32c0b1634a9935673ae18e16b307e5b43cbad16f06d59676.json +0 -1
  45. package/.angular/cache/19.2.15/babel-webpack/0b4072ca2d69fcded6d835e6571b028469d5a0c16b957de0950f748b66ca04b5.json +0 -1
  46. package/.angular/cache/19.2.15/babel-webpack/0cc181a493cecd44474f7f62121f0ffc0dabd295a0734585bdeb92feefab7c09.json +0 -1
  47. package/.angular/cache/19.2.15/babel-webpack/0d23ca1cf4023ebf51d81c67052b8203496edfbc7bb60db597d47238d8465203.json +0 -1
  48. package/.angular/cache/19.2.15/babel-webpack/0d2c56a117b8320b31040054c75108550d24b6543f3ed4966aa722f26638e5a9.json +0 -1
  49. package/.angular/cache/19.2.15/babel-webpack/0d84bfd5b072f31e342550e4efae5d2313175cdde4b091605ed2e261ef0896ba.json +0 -1
  50. package/.angular/cache/19.2.15/babel-webpack/1086f877e03aff62fb645e967d6254bd512c1ebcfb42509471eed8ac84748d9c.json +0 -1
  51. package/.angular/cache/19.2.15/babel-webpack/110b37eba57ad9ad0de36ed161a29f16d219559142202bb5ac9aa09135e985fa.json +0 -1
  52. package/.angular/cache/19.2.15/babel-webpack/1170c291e7e02dfcb3b273aee3071f6a57d318a77bf0616344d4b7cc6df6694a.json +0 -1
  53. package/.angular/cache/19.2.15/babel-webpack/11aa156d8368de3d9cff5e63e37ae0c539f306342940826b3c4374feb55a0d47.json +0 -1
  54. package/.angular/cache/19.2.15/babel-webpack/13486a523f3fc3b18e9a134f7ba38c88c6c83e6d88f94237b504f9ca3f84275e.json +0 -1
  55. package/.angular/cache/19.2.15/babel-webpack/13d99f131a69fc9516e58b8d3b32acfcdc7cffa9b8b0c73abe2118d4dec7e20e.json +0 -1
  56. package/.angular/cache/19.2.15/babel-webpack/14a6809879e29d29b511b7370b452e36d90d1614c6d0069f1cf5e1529fe715c4.json +0 -1
  57. package/.angular/cache/19.2.15/babel-webpack/165172f2af9bb13902ccbbbdd7d22b32473753740db73fcde525dacbda7f4bd7.json +0 -1
  58. package/.angular/cache/19.2.15/babel-webpack/195fee6dea4bfc85f4d84f2cfbfcf2ec7069fe65e34c79dd776ef7132548ad45.json +0 -1
  59. package/.angular/cache/19.2.15/babel-webpack/199836396696e1fa0a3da701c8ed98add52f889392c4911567f3a2a327ca2f36.json +0 -1
  60. package/.angular/cache/19.2.15/babel-webpack/1a66bef03c9f83f3aca9572fa2afae54e498ff8301ffbef4b93247cc975a3308.json +0 -1
  61. package/.angular/cache/19.2.15/babel-webpack/1a71fe0b6c04ea3719ea3b34d558a2de61e1f3b3619851ad7d773873f230060f.json +0 -1
  62. package/.angular/cache/19.2.15/babel-webpack/1b49eb1aa6c923d57ca08625a2f3393420e36df232848fae8a63a27aa97f8a8f.json +0 -1
  63. package/.angular/cache/19.2.15/babel-webpack/1e3d7e035f81146e920012394df9439299dee6ef215f912fdb15ce63fa0112ac.json +0 -1
  64. package/.angular/cache/19.2.15/babel-webpack/1ea0d8ae83dcfe42c3e4e372adeaa820b51221a259f141dd856f782822202ece.json +0 -1
  65. package/.angular/cache/19.2.15/babel-webpack/200d782f0cb78d4e244379412d4041f1be719dc6dab92281171a737a3ad7388b.json +0 -1
  66. package/.angular/cache/19.2.15/babel-webpack/2092f05fbfb7ad790baabb1c3ac9041051faa9574bf42da395d324181656f133.json +0 -1
  67. package/.angular/cache/19.2.15/babel-webpack/22a03711b691be0b7fa5d36a66cf5420943667d4ff49a5c30d8a4ac9b6b2f714.json +0 -1
  68. package/.angular/cache/19.2.15/babel-webpack/235e01ff3a6b09e38b9a4ad53fba0d2555c2bdfebaf39116ffb562fc73eb1987.json +0 -1
  69. package/.angular/cache/19.2.15/babel-webpack/23a6b1e0215a93fa0f2d9a1f69b84e5e56b34acb9743ba824889d1873d3234c4.json +0 -1
  70. package/.angular/cache/19.2.15/babel-webpack/252cc406eadc631bb5b445401c106f62b5434b859a3d6bb87b38b89165ff1780.json +0 -1
  71. package/.angular/cache/19.2.15/babel-webpack/25df14b3094b40f6ca6e2acffdbe34299cdb8e31f082d3a18602543fe08187f7.json +0 -1
  72. package/.angular/cache/19.2.15/babel-webpack/269add79a6e931b78ce521dd5747fd9a2ab55c7390f81078831dec0312e5e1ea.json +0 -1
  73. package/.angular/cache/19.2.15/babel-webpack/2b9435477fbcdf37aa00672219a0d8a958eee8e99cd78f82c88241f15af7f3d9.json +0 -1
  74. package/.angular/cache/19.2.15/babel-webpack/2e0551f6cc59e1e261498ab6bb5a94a67ae051645a96872ed30859d7eae94f9c.json +0 -1
  75. package/.angular/cache/19.2.15/babel-webpack/2ede6c1531e47bace72b7a40bdda34b73760e0fd0f82016bcf34c580b4e2ea97.json +0 -1
  76. package/.angular/cache/19.2.15/babel-webpack/305d6d8a19f01a5a7f0bdbb1cdeea37e7275b1487a06b85af5bcc601484a3dd9.json +0 -1
  77. package/.angular/cache/19.2.15/babel-webpack/3133bfa3b685426a9de17dcb1ac8ebe04b0dfec9133cde375b3812d9307ce1a6.json +0 -1
  78. package/.angular/cache/19.2.15/babel-webpack/31a5ca02ef99a9721a85e837c1e2306e6d479a7b46cfd12257468f31cb47f00b.json +0 -1
  79. package/.angular/cache/19.2.15/babel-webpack/31d26815a634bbca974f6bd038ad5148c92170a3c5a57446bf082feb8753a5d6.json +0 -1
  80. package/.angular/cache/19.2.15/babel-webpack/329455418433148999a0bc94a34250533156280f077f3ed9167279bd8f26cbde.json +0 -1
  81. package/.angular/cache/19.2.15/babel-webpack/34e12fd4a21b0dd1ec74e7c362b0b0b546fd12932252e401ca2b998b9ec5e641.json +0 -1
  82. package/.angular/cache/19.2.15/babel-webpack/357a6beabcbf640a1ce166aa13134d6f909e4a5c2ef5534953db4aabefef3ecc.json +0 -1
  83. package/.angular/cache/19.2.15/babel-webpack/369ec80723843895ecc220142bc22220213901ca2de27afd790187647f7aa17d.json +0 -1
  84. package/.angular/cache/19.2.15/babel-webpack/36c90dc29906355a68052b5eb05d2f048ef806ced10d922d6e3f793b1b139ea7.json +0 -1
  85. package/.angular/cache/19.2.15/babel-webpack/37308bc4034c73371e5ec487556ab448e0c3efd0682852a2de2357ace28bee41.json +0 -1
  86. package/.angular/cache/19.2.15/babel-webpack/37ac24b4af550ae7abbe018c09e5d6aaecd183942b429abe969b08909523e2da.json +0 -1
  87. package/.angular/cache/19.2.15/babel-webpack/3819b97d9eaad8d453d4a36e9faf1d962870811151d83be3d09c42d6069f3817.json +0 -1
  88. package/.angular/cache/19.2.15/babel-webpack/39d701872161ed4e1d97d69d8437da12bf2608d19347b645ad9b6416d719ee1e.json +0 -1
  89. package/.angular/cache/19.2.15/babel-webpack/3a1d64699f39ebee319e7d11e2a69f45b669ac0091882b1c792b99fcbd60e450.json +0 -1
  90. package/.angular/cache/19.2.15/babel-webpack/3bdaadefa095ae8c2b9b45467188afcb4d10ab7291c5762604e20649a88755ce.json +0 -1
  91. package/.angular/cache/19.2.15/babel-webpack/3c6caf3ca7b97c10114de3d834e88ca8853ab7703d2ea60e44a3d844313184f3.json +0 -1
  92. package/.angular/cache/19.2.15/babel-webpack/3cb2bbbf3d5296dd2ecc283c82d04b6014aee1f2cb5d6b2f1e7605b59efd6771.json +0 -1
  93. package/.angular/cache/19.2.15/babel-webpack/3ce73b02e026303a0ff96c83510a770307dba247b9c89b72321d6897b73f9540.json +0 -1
  94. package/.angular/cache/19.2.15/babel-webpack/3d1cf88833de49f9e09de0c0df81dc61014e2b11711a8c973a2d4b63fed58a38.json +0 -1
  95. package/.angular/cache/19.2.15/babel-webpack/3ebe2a5ca83f8699fd7a5e340a9ce6631887a3df3d377ff634b1ed09d8168945.json +0 -1
  96. package/.angular/cache/19.2.15/babel-webpack/3ef45afc5c118db21428fbe74ebfb74c11c00fdff273b1a4dbab1443bd7ab487.json +0 -1
  97. package/.angular/cache/19.2.15/babel-webpack/40818a774c33fe858836ad6726433bc8a1e72da28c025410cb90c619bc7bcc2d.json +0 -1
  98. package/.angular/cache/19.2.15/babel-webpack/41758885e5dc1d3b6d9dba895640a1ec956205a5f13417a9dd7837f31439a6bb.json +0 -1
  99. package/.angular/cache/19.2.15/babel-webpack/426f0425420073b2bb9884dd8c169792bbc354567616d474dac6e17563c9f86f.json +0 -1
  100. package/.angular/cache/19.2.15/babel-webpack/429450ed0c16f5ff3dd5eceaba57a380d40efedf5712f983e59aa8c7252bd5d6.json +0 -1
  101. package/.angular/cache/19.2.15/babel-webpack/439a74e180c35a87580e7ac593831ad7b037e95c6c585df02a103430c3a4cd86.json +0 -1
  102. package/.angular/cache/19.2.15/babel-webpack/43e160e2ccfd770c62da9265ee3e0f1888f9906b9593480a9f7eb5eb12a359ba.json +0 -1
  103. package/.angular/cache/19.2.15/babel-webpack/43f66b0122a79286c5490fb84b6f0e8e3cd6e6beb62ec865c279da485f5cbc7c.json +0 -1
  104. package/.angular/cache/19.2.15/babel-webpack/45d5234e426232bb732f5a87f49bbd4f8b9c71ebe377a4b4efd9b76492ee1292.json +0 -1
  105. package/.angular/cache/19.2.15/babel-webpack/47c2e80be6b88947af49b0eedfcfc098b2e85bb74c6cd62068bb07b7bd8237eb.json +0 -1
  106. package/.angular/cache/19.2.15/babel-webpack/49408bab6e0bd662aaa0c4cbb12fa81b3f0afcea36aa7c6a57a2767744bec207.json +0 -1
  107. package/.angular/cache/19.2.15/babel-webpack/4a081544b597742067479615ba1331bcf5c09317ee8735b4cfbc0d6c48ac7778.json +0 -1
  108. package/.angular/cache/19.2.15/babel-webpack/4b716c7ae7d9696b62b93aeb3f03ab44b15584b70ab557847d3c52581f81d6b1.json +0 -1
  109. package/.angular/cache/19.2.15/babel-webpack/4bddd4b147d9118e5902432fb10bbb2f8d013527de0bf99c437f146772a4ad72.json +0 -1
  110. package/.angular/cache/19.2.15/babel-webpack/4c6bdd8c03f408bcc69e48df04630c0096cac6176026bd6788f0f0af2eed77f7.json +0 -1
  111. package/.angular/cache/19.2.15/babel-webpack/4c850782188d8f6c06ab570bc1a8efea70b14f934bec1215ef0c767829fc4dd1.json +0 -1
  112. package/.angular/cache/19.2.15/babel-webpack/4e149cf5ef7671d08881edc295bf7090261d90e46c1a92e2dc88856593a27ad0.json +0 -1
  113. package/.angular/cache/19.2.15/babel-webpack/4e34c4ef3d7b3c7f0c6db17cd7739173696c8d9524a5ed93cda96d416faeb908.json +0 -1
  114. package/.angular/cache/19.2.15/babel-webpack/4eee3937693aa8ad7b5385e07e4f843436a1a8a82053b6e49c7ef2ed10a8e94b.json +0 -1
  115. package/.angular/cache/19.2.15/babel-webpack/540756a71e80e9e7f0d6e8274ee2cdfeb423a234a6023cde0d531687407309b7.json +0 -1
  116. package/.angular/cache/19.2.15/babel-webpack/549bb2ff9955529b80cf5b57c4311af95be007d15cc7989c5adf9baa81acd29c.json +0 -1
  117. package/.angular/cache/19.2.15/babel-webpack/571926fae0528c62a7b5898e6d8b86b74ca307a778565c6b723f316bd1bfb066.json +0 -1
  118. package/.angular/cache/19.2.15/babel-webpack/57928816e14bdf5105a1eada735c2695482f9bfc2b882637957f690ee40229aa.json +0 -1
  119. package/.angular/cache/19.2.15/babel-webpack/58aee0cd7464eda6d38b3cb90a74e7c7114a4c381a9c99c772e72bafbd1ecacf.json +0 -1
  120. package/.angular/cache/19.2.15/babel-webpack/59323bb443c9968b9fa96340b262571b416605fe986037e953846e1a092f2a32.json +0 -1
  121. package/.angular/cache/19.2.15/babel-webpack/59aa652c7c3a0bff2753c393ccc642f95a08072310fe66a99553c22dc26aecb7.json +0 -1
  122. package/.angular/cache/19.2.15/babel-webpack/5aa4a2f184e99fc58618e9cd12b258ce91be91b1e92363c21ab08e3833fc9774.json +0 -1
  123. package/.angular/cache/19.2.15/babel-webpack/5aabe7273b6ee89c797a37b8cd1d6ea3882202fe307bf9db86a62f988cdcbcde.json +0 -1
  124. package/.angular/cache/19.2.15/babel-webpack/5c9af05cc654d2aa20cad6b879c5acea719869d568f270f6addf1efb32f92593.json +0 -1
  125. package/.angular/cache/19.2.15/babel-webpack/5ccf641aa7241b79f6906306796e194bc906f30f1243c6d82edcd6d7c2be7e6a.json +0 -1
  126. package/.angular/cache/19.2.15/babel-webpack/5cd4b272e06f92778a043660843f6ecbcf452dc800fdda3d054b04abc4cf5c94.json +0 -1
  127. package/.angular/cache/19.2.15/babel-webpack/5deeebc28b44f36db01b80f490d69c654946b2d9d6ef6f4019b3caf365b86c95.json +0 -1
  128. package/.angular/cache/19.2.15/babel-webpack/5ebf0a4c2a250204c46f1de7434da2e040978984a42de13f53a755259e534989.json +0 -1
  129. package/.angular/cache/19.2.15/babel-webpack/5f47f65d79aa36676f8ebf5f3c63175a9bf0dc666eeb731489e56aad1de89222.json +0 -1
  130. package/.angular/cache/19.2.15/babel-webpack/5fcdaecb8841cc568203353da1b7cca487816bd89b6a7ab010d0f5445432c7f0.json +0 -1
  131. package/.angular/cache/19.2.15/babel-webpack/5ff93fecff5e0ee59dd96ae5466e117f040b4fcd693911ce7539add81dc39a97.json +0 -1
  132. package/.angular/cache/19.2.15/babel-webpack/602a31c18bc18432c05451de7c0b67430060524679c70399468ca8f47603b3f1.json +0 -1
  133. package/.angular/cache/19.2.15/babel-webpack/61eee8863a96edc1bd51104ed1097f507edd3b9e3327baaf3b8f97f9b6731b99.json +0 -1
  134. package/.angular/cache/19.2.15/babel-webpack/63928ea8bc977b7941128df8aa9f0ef57e9a8295699f3f16d30349c9f154c75a.json +0 -1
  135. package/.angular/cache/19.2.15/babel-webpack/64001c9c3383b980405e5a0bf0521d0a4763882455baabb1c7530fc8ed5cfd55.json +0 -1
  136. package/.angular/cache/19.2.15/babel-webpack/641e0f9050dd605bfa9c630ecc3449e79f230e5010d5714aa95a8a23fc2c1147.json +0 -1
  137. package/.angular/cache/19.2.15/babel-webpack/64b5b46276f20158aa4435a721c24f2f2555fa2da7c2cc58f923502594406136.json +0 -1
  138. package/.angular/cache/19.2.15/babel-webpack/64c42985e6b60cbe361e28d9c8baf22950ffb923cf694da37ef9d4ccbb9bf71f.json +0 -1
  139. package/.angular/cache/19.2.15/babel-webpack/64de56955bbb4c062931006afe3389ea2d72d3886b26a700d5cf715fff078f26.json +0 -1
  140. package/.angular/cache/19.2.15/babel-webpack/65c74d720759f038998756b2133f7b21b1b83b51545d53871f959c6c1cf3683b.json +0 -1
  141. package/.angular/cache/19.2.15/babel-webpack/65d8a26f81389f562c19d73ddf3207560a366e31d061290dd9bc11cc7e154a32.json +0 -1
  142. package/.angular/cache/19.2.15/babel-webpack/6671e2b65578994dc79a2fe074ab6fe43c859c75aa3e61679c5a043a426233c5.json +0 -1
  143. package/.angular/cache/19.2.15/babel-webpack/66b243e5cdd1f8055d4408c29ea10d841d24b69502e770855a640ffd70713acd.json +0 -1
  144. package/.angular/cache/19.2.15/babel-webpack/67256b4fa21eeb22d74fe5bc851520973c4111e56ec4af54ef8dcc7fef66d7d5.json +0 -1
  145. package/.angular/cache/19.2.15/babel-webpack/67dcd370eb1f42e86ef98a0a4bee6b051b9836fe0c018765e5ca67b93256391d.json +0 -1
  146. package/.angular/cache/19.2.15/babel-webpack/67e2602a4a39b98145c79ea9bfdb3404c12b38d1d223d6d603e02631652ab249.json +0 -1
  147. package/.angular/cache/19.2.15/babel-webpack/684c2a7ec246d44a15b4ed266263c6d9c974dc7d1d8f6467704292d279cd5c74.json +0 -1
  148. package/.angular/cache/19.2.15/babel-webpack/6851da6a369a728a899c200f19cc8446a96e26af1d052c2f2f0ce24c6185d547.json +0 -1
  149. package/.angular/cache/19.2.15/babel-webpack/68cc9c5a3cbeab766d54df95ecd1e547c45b25887ca6fb672580352d29ae1eb7.json +0 -1
  150. package/.angular/cache/19.2.15/babel-webpack/68ccdc1bd74a10de87ee99c8005672255c117b33cdfb08b15c166664eff0a997.json +0 -1
  151. package/.angular/cache/19.2.15/babel-webpack/696f54f9441b350ea577240f284feb553f041b3e3242b0d65d865fce73d82d11.json +0 -1
  152. package/.angular/cache/19.2.15/babel-webpack/6aeb13f8fc9de17d6e10fc0cf4b4970c1bdfa2995d59a0a7571cd7afe6522538.json +0 -1
  153. package/.angular/cache/19.2.15/babel-webpack/6bdc923f47011fefe9ae7a9ae962d8e9dab1b540505b89e1024c1f4baccdabe2.json +0 -1
  154. package/.angular/cache/19.2.15/babel-webpack/6bf98b382d6fda3f0b74f8892bc1f5bd09caeabf1208fec15ab9f5b7b0243910.json +0 -1
  155. package/.angular/cache/19.2.15/babel-webpack/6e134e4f12a4676fb7a75cd22d979f93fb3ce86a57c1e00455cfcdd95c3611ea.json +0 -1
  156. package/.angular/cache/19.2.15/babel-webpack/6f4028ecdaaed3f34af8a43e1ba3e51025526429c1e1fe281c1886ebbf887453.json +0 -1
  157. package/.angular/cache/19.2.15/babel-webpack/6f5a50d2f55c49ae49ada97596ac02623fc13daf96141ffa0655dc6d78d1aab5.json +0 -1
  158. package/.angular/cache/19.2.15/babel-webpack/6fd7204985be33d1e2c2399e647565c6cfb55c0f8ac4b4f3529e2a15374444e8.json +0 -1
  159. package/.angular/cache/19.2.15/babel-webpack/719a57d887a1ed16ddd2721f64eeb1740083d70c5eb7bcb1304c7412ab142e2c.json +0 -1
  160. package/.angular/cache/19.2.15/babel-webpack/71afc13ab38a115c16a96a587f1178bd42188a35e935185ed261c27d81d9b082.json +0 -1
  161. package/.angular/cache/19.2.15/babel-webpack/728ef5f24e04bda01050ee5e6e2dc88cb88214641824fcca17835e52651ce5cf.json +0 -1
  162. package/.angular/cache/19.2.15/babel-webpack/72ef6f03c26b0faf8c3549a38e7eb0d38f2326ca299dbfbc260c35bba680a1a5.json +0 -1
  163. package/.angular/cache/19.2.15/babel-webpack/73919d260a5357a19fbe8d8559d180457a86b6e89adb20afc23b726a4f1fb769.json +0 -1
  164. package/.angular/cache/19.2.15/babel-webpack/7616f6cbf12a30a53cfc5a70922f994d788e146094ed7ec7a31da315c33beff7.json +0 -1
  165. package/.angular/cache/19.2.15/babel-webpack/7626594f378fab12164ec0a0242131e14143cf98eb5ca39719a08ffbf5279bad.json +0 -1
  166. package/.angular/cache/19.2.15/babel-webpack/76cb2228f31811cada09b1ac524d4ca6c86c4155de934bd2bae8c1ede5312fd1.json +0 -1
  167. package/.angular/cache/19.2.15/babel-webpack/7832d0e2821b7bc2caba3d9ae432f16aef912bc218a80a7ebac87931a03d1d6c.json +0 -1
  168. package/.angular/cache/19.2.15/babel-webpack/7862a83aae033f3212df52cb1326cf739dc1ef4366c5b49f4c4fa63e861da58d.json +0 -1
  169. package/.angular/cache/19.2.15/babel-webpack/786daaf3c4c2cb57b3d15e03d010468397662926afb150d1715dcc6a8e723f9c.json +0 -1
  170. package/.angular/cache/19.2.15/babel-webpack/78c91a6d590f69040d410a6ce991425e38a631c502bda192d6c340bbac76bc4c.json +0 -1
  171. package/.angular/cache/19.2.15/babel-webpack/790757a8edf5dd8a320f36474e7aa7e6b728c0afcf86fc6aa4ca71e289eee2e5.json +0 -1
  172. package/.angular/cache/19.2.15/babel-webpack/7d0354b23659e6972543614716e0a77524b24f7ef7ab7650edaaad3a5c9b0222.json +0 -1
  173. package/.angular/cache/19.2.15/babel-webpack/7d808c47bc69aa0e6db8019738a3687807c26fbdc9c6fb3b5cf31a15c5d5125b.json +0 -1
  174. package/.angular/cache/19.2.15/babel-webpack/7db8144d8d34e58ed5357648fe21ede6b89c0c85053691da68bb2fc12a19472e.json +0 -1
  175. package/.angular/cache/19.2.15/babel-webpack/7f2c81069006b56e4faad42d003ae9c3fb28084d347aec6bdfd0f821cfe95cf7.json +0 -1
  176. package/.angular/cache/19.2.15/babel-webpack/7f5a3b63f5910c44e74d73dd342fc4b91dfe2b4d8746f2a526e0456855ff3a11.json +0 -1
  177. package/.angular/cache/19.2.15/babel-webpack/837fc9d534c106653d98e74a9c7c247a5db30fe441ba8ecdf2fd9f5d008601af.json +0 -1
  178. package/.angular/cache/19.2.15/babel-webpack/83be5725956b6b36f2fe0557751a649c0ee00e77b2a2a3d15c3250883be5bb67.json +0 -1
  179. package/.angular/cache/19.2.15/babel-webpack/84867da7a6d0e52b8d13f55896dc00a652e4aa4391d5711e8f78f57da7883fd0.json +0 -1
  180. package/.angular/cache/19.2.15/babel-webpack/85ada10e62f299b33050452880034cabb9f3d1fb3be26c01d10d4ef42fe926fc.json +0 -1
  181. package/.angular/cache/19.2.15/babel-webpack/87c110589ac76aac5ea468194117de13e79800e1979f7066de08f7b0d7e9e4fb.json +0 -1
  182. package/.angular/cache/19.2.15/babel-webpack/88af454f6321f08c388871934f48573a48522482156fdcf06d488b260b5f86ea.json +0 -1
  183. package/.angular/cache/19.2.15/babel-webpack/8bc0e36747b6877c3f8141fa738a22a4396f0f6d96b063a7e61d84677fb18883.json +0 -1
  184. package/.angular/cache/19.2.15/babel-webpack/8cc714f7d9cb0acac1979696178b83949bbe3a75975304307ba0b90e1554d183.json +0 -1
  185. package/.angular/cache/19.2.15/babel-webpack/8e70246ecd62de98200c9992ddff7f4a6b697031d1394e7cb742eeff6a75f1ac.json +0 -1
  186. package/.angular/cache/19.2.15/babel-webpack/8ed4775eda937129eee703f25eadb006dded189832a67d9c610bb8d7d6bfbec6.json +0 -1
  187. package/.angular/cache/19.2.15/babel-webpack/8efaba9a15cf935c0ec604e939102e8f744fbb7291a49623c40b63e3e19f31ff.json +0 -1
  188. package/.angular/cache/19.2.15/babel-webpack/9049d135e23938c1b5e909b966c5924c42444df7d81603b16433eafb31a001c1.json +0 -1
  189. package/.angular/cache/19.2.15/babel-webpack/90f1849a82440304f6acc591458f4040764da8cd03b9c5608228ae4465abb0ec.json +0 -1
  190. package/.angular/cache/19.2.15/babel-webpack/916f593bc7b673945c697f0a1954d80683964ff4c1785ccf2c386dd61c9ec576.json +0 -1
  191. package/.angular/cache/19.2.15/babel-webpack/91a78040be0e13141c7ed721014205696ec8782d59b560152ba1f8a362632610.json +0 -1
  192. package/.angular/cache/19.2.15/babel-webpack/91c1d206584c95f127235017675ccbda33197b3cc395144a3bb8405f30d23fa7.json +0 -1
  193. package/.angular/cache/19.2.15/babel-webpack/92b5170fb31dfbfc8b0a582c344683c47b7974469937a2df51f44a7668ee32c5.json +0 -1
  194. package/.angular/cache/19.2.15/babel-webpack/9344adb736f6c8062b564d5bf8a554ba2dd71314bdfa98a41c6e3d842b655c24.json +0 -1
  195. package/.angular/cache/19.2.15/babel-webpack/9463424cb58b91dd4932c9ce01f4eec1dcccde596413ce168661dcc9392da5fc.json +0 -1
  196. package/.angular/cache/19.2.15/babel-webpack/96e24cf6cc982e2a3b0a0b35fba952dc1362b48549c4a366a748f04c78d58611.json +0 -1
  197. package/.angular/cache/19.2.15/babel-webpack/99655bb5d6f5a6797c80ea604f091587564d5dc3a294ea74e327d6acc4eedd2b.json +0 -1
  198. package/.angular/cache/19.2.15/babel-webpack/9a6b993060de60a58f2905ac835ee795c5c509308dfd8d4249d90c16df19c1a1.json +0 -1
  199. package/.angular/cache/19.2.15/babel-webpack/9b709d4d922738efe3a66288d91d172e64eced5559b1c8148af24a28083b75ed.json +0 -1
  200. package/.angular/cache/19.2.15/babel-webpack/9c0288fbf0881e77a483b58501209f1328e45c4e966ecda779f21888aba40a89.json +0 -1
  201. package/.angular/cache/19.2.15/babel-webpack/9dd3b4bb0ccb7aed85bcdb7b335630c4249a208614587da0a0c4f57dcf6a7d69.json +0 -1
  202. package/.angular/cache/19.2.15/babel-webpack/a053de867be313f4170915c0b90836b81c0fe6aa305c46f08fba483b253106d2.json +0 -1
  203. package/.angular/cache/19.2.15/babel-webpack/a12d78b36f170fda769b9cf2c79c1602051fad914edc4511f621fc6e477b0f21.json +0 -1
  204. package/.angular/cache/19.2.15/babel-webpack/a20962b3067006b51d83609c93a372b1707f5a199e92f223965b4937a39f76b4.json +0 -1
  205. package/.angular/cache/19.2.15/babel-webpack/a2d5bfd6cf6e02d01dde7a81762657dda4e982369c4e960146e87aef6ae80cc8.json +0 -1
  206. package/.angular/cache/19.2.15/babel-webpack/a3103ff114575d72337ef5f3a1e8fbd12705b56eeeda084770a1192e171b92ee.json +0 -1
  207. package/.angular/cache/19.2.15/babel-webpack/a5d280b1915af705b59a801245daf54831e2a0c7407fbcbc1384c77572dc83fc.json +0 -1
  208. package/.angular/cache/19.2.15/babel-webpack/a5e71ad7770f22fe68908dec29c789cc533308f67e5790449ce461a28dcdb6c0.json +0 -1
  209. package/.angular/cache/19.2.15/babel-webpack/a804fc206852788049392d8646e2f83f6708db4028c3781892e0ccc96fe66844.json +0 -1
  210. package/.angular/cache/19.2.15/babel-webpack/a8fd31126c28413203dc4654779fd91cded8b6286c88e4ff0cd49f110ee6833c.json +0 -1
  211. package/.angular/cache/19.2.15/babel-webpack/aa58d38fdae77071b0689c4e486600c71783a2566daedd224fb8ee525927a6da.json +0 -1
  212. package/.angular/cache/19.2.15/babel-webpack/aab065ccc8cb80aaa06dcd834613939907f0a45bcf261243215c46c77672f944.json +0 -1
  213. package/.angular/cache/19.2.15/babel-webpack/aad167162be99eb37ffb7805e667838fc5f761247fa26b560a7c9b377b8f07dd.json +0 -1
  214. package/.angular/cache/19.2.15/babel-webpack/ac0672080d67beea57efce5fd0600cc566e3c95f492acaa4cb58f79bdf9828ce.json +0 -1
  215. package/.angular/cache/19.2.15/babel-webpack/acdfe0c2d940ee35a348ab25973debc82a677bc6885e45d6cfe4551d7627f973.json +0 -1
  216. package/.angular/cache/19.2.15/babel-webpack/ad3189f34e9515506f8e53eef460a1203433504f7cab64f4a63087abd2e3932a.json +0 -1
  217. package/.angular/cache/19.2.15/babel-webpack/ade43c6f864da316513432192ad32d23026895e6b9bfe1548c0625253b90df79.json +0 -1
  218. package/.angular/cache/19.2.15/babel-webpack/ae344e6d8f02ddac285ed1f09fc7ab6cce09c0e1bd7d8c79eae7c919af69946b.json +0 -1
  219. package/.angular/cache/19.2.15/babel-webpack/af851c21fb63865b5d2ce5252f688b2797c74f3ac58f28bbe0e56f8d73e7b396.json +0 -1
  220. package/.angular/cache/19.2.15/babel-webpack/afa4df5956cb2c4ea9266bc9be0c5d75d3220052f4969b5e1d6077abb367e0e1.json +0 -1
  221. package/.angular/cache/19.2.15/babel-webpack/b0fb3c660f093313e1e530cb720634df501b33f2156b02a3efb373627c89fe0e.json +0 -1
  222. package/.angular/cache/19.2.15/babel-webpack/b1a8b18dfdf83f07acec5f91177542bed2e5b968f7f0143ec31883a6e48d19fe.json +0 -1
  223. package/.angular/cache/19.2.15/babel-webpack/b2fdc054c50e9af4b6614afe479b2d1c725b1bf2fad061104fae0e73cf55af45.json +0 -1
  224. package/.angular/cache/19.2.15/babel-webpack/b3154d45466a1630f021744b98673ac85781578dc205b147d27fdd9fde263b1e.json +0 -1
  225. package/.angular/cache/19.2.15/babel-webpack/b42b3769fc6d46c92287a2a01d1e2a7cbef648c4892832a225113b49381427d6.json +0 -1
  226. package/.angular/cache/19.2.15/babel-webpack/b464a8ca4359beb21d51c1e1bcb7a00626e28b395270ae05be27ccd14361b1e9.json +0 -1
  227. package/.angular/cache/19.2.15/babel-webpack/b5a4cee4d5a393e007f0b5d2e45a7dad028ef44ddd1f1e7cf8c50cfcf24ae68a.json +0 -1
  228. package/.angular/cache/19.2.15/babel-webpack/b685aad157945f8d205b93ea0a33f921964cc83c3272e1e37c6a0eb370b76d66.json +0 -1
  229. package/.angular/cache/19.2.15/babel-webpack/b821f28f19e73d233b18ef90916575e61db2e56bd501a32b13de8e26f91c8323.json +0 -1
  230. package/.angular/cache/19.2.15/babel-webpack/b8eae74c763bd6c3918e3b27f26e48a5cea526882642ed9a5ce1bc72b2d310e0.json +0 -1
  231. package/.angular/cache/19.2.15/babel-webpack/b96837b2fd499543ee8b2f17aaea23f98e96f50018df20963008cab739af9cb2.json +0 -1
  232. package/.angular/cache/19.2.15/babel-webpack/bc236ebac861854a2dc6d4fb0843cad6b2cc75317c12201d2d33df04fedcb13a.json +0 -1
  233. package/.angular/cache/19.2.15/babel-webpack/bd1f496dc7663720bf931776ef526fdc2af33912e87fd194dc4ee3929cbe4b92.json +0 -1
  234. package/.angular/cache/19.2.15/babel-webpack/bf26e716ab8620dcc3d6bb551f732cab40eacb8898cb128363abff90a8c51d0e.json +0 -1
  235. package/.angular/cache/19.2.15/babel-webpack/c02e583440c240c17c10310a9a3efb33df50f54b040b79861b91a3122cace587.json +0 -1
  236. package/.angular/cache/19.2.15/babel-webpack/c07ff0fa7b48e2e11c44f229e5d6a636ae0d4e003185e87102c678f02e1a1e8c.json +0 -1
  237. package/.angular/cache/19.2.15/babel-webpack/c344af3b3096de63f302663443c8f34a2ce3b18f9e2a07c14f622799b699f634.json +0 -1
  238. package/.angular/cache/19.2.15/babel-webpack/c35eae88745cb1903fa6868497d6bf3927da4d490f3780a06c88e7d91e267ba0.json +0 -1
  239. package/.angular/cache/19.2.15/babel-webpack/c41fa533c6ab9c10d9ba780bf3c0bbd2fc289928c81b2c0b84aa40479edfb6f0.json +0 -1
  240. package/.angular/cache/19.2.15/babel-webpack/c53b3231bfa9b0bb7c4d718c553a3da3ca2069532f1f02433af04765d94b6bfa.json +0 -1
  241. package/.angular/cache/19.2.15/babel-webpack/c5905a7adf3deba0fce0e77a257076d7fc81a2d88a0151b35a403c0f0ab15559.json +0 -1
  242. package/.angular/cache/19.2.15/babel-webpack/c6360adae1cbe321e9c611921576674f67a9917d85d2ba96a5670cfd9f9bae93.json +0 -1
  243. package/.angular/cache/19.2.15/babel-webpack/c7e0c0cad1b20199d7b4ba01005c3d9899a72968fcf7c81a2ab8cb04b9c829af.json +0 -1
  244. package/.angular/cache/19.2.15/babel-webpack/c97084ec497d6c0bdde0b4c650a7a8b5c37768c9ba556338e720a07e89278e5c.json +0 -1
  245. package/.angular/cache/19.2.15/babel-webpack/ca87439e65a06f2f592712bf74ed7c361df90b300828c816a918fa2e5b1f8d69.json +0 -1
  246. package/.angular/cache/19.2.15/babel-webpack/cbe0cfcb9a076061ea4939e174c271c0177d9f32559f26aa922e1dff725ddf8f.json +0 -1
  247. package/.angular/cache/19.2.15/babel-webpack/cbf9ed7ee63bfa7c57e80999c894bc6d12ec23010b4352aee9d26883d8083f4b.json +0 -1
  248. package/.angular/cache/19.2.15/babel-webpack/cbfe73278b59403434827a252fa476bbab33d825ed1bb44eb2fb2829bc4900fb.json +0 -1
  249. package/.angular/cache/19.2.15/babel-webpack/ce4148cbb7433945c159ac4a701c8717982164c5d1984445c1e3a947084ea237.json +0 -1
  250. package/.angular/cache/19.2.15/babel-webpack/ce4c0df219205e1e0286cb404215b060069056ef5af7e8f1604483cb12815c00.json +0 -1
  251. package/.angular/cache/19.2.15/babel-webpack/cf869dc70666b3066e961243c925e65751a9af690a89276c9776da864de48673.json +0 -1
  252. package/.angular/cache/19.2.15/babel-webpack/d06afc622b34402af161bb8ec2435b0c3ad1fde40052b7cacb5122b3aa120b11.json +0 -1
  253. package/.angular/cache/19.2.15/babel-webpack/d3454f70d728c7997c21ad33b71f3c1e7ea324ff7f0603d73fbfecfd42a65c92.json +0 -1
  254. package/.angular/cache/19.2.15/babel-webpack/d3df772bb9ee5915ccf94fffc0bb1c7a2e61199afc0193cee379fc24dbad5a93.json +0 -1
  255. package/.angular/cache/19.2.15/babel-webpack/d4e7871be27335444944f5fb56cb8e4c177387ac13266141060b1e52ef2cfdbc.json +0 -1
  256. package/.angular/cache/19.2.15/babel-webpack/d5d2d700e7bd21710cd7731eb723a6d402769e97f13b5d9fc8865f18e60bdb06.json +0 -1
  257. package/.angular/cache/19.2.15/babel-webpack/d5fa8ddd8e260d5cef95573068127a66cee7d12966cf48cc77fbc0004aed1e9b.json +0 -1
  258. package/.angular/cache/19.2.15/babel-webpack/d6f5414805f9dd9381e163a9d26b3be5b7fbe5cf1c424f16b115a26755af21a0.json +0 -1
  259. package/.angular/cache/19.2.15/babel-webpack/d789de59515c2d7edbe504cca23990f6c026f3a27a50653e21ccfb988ca5558a.json +0 -1
  260. package/.angular/cache/19.2.15/babel-webpack/d7c7b043c8b4c30c9f0369251d0d908dd52799df6fb96e47b166064f266bdb72.json +0 -1
  261. package/.angular/cache/19.2.15/babel-webpack/d8299612d4ee893d68b35cd46d27dc729b175eb18894b8834bc61deaa00385ec.json +0 -1
  262. package/.angular/cache/19.2.15/babel-webpack/d84c0648517c2fedae9aafad575cb525f011be0da6620ae653446319f8dde17b.json +0 -1
  263. package/.angular/cache/19.2.15/babel-webpack/d872c76129e22f3df258ad33375ffede8cc3654f133b072ff577af2c3d5d37ff.json +0 -1
  264. package/.angular/cache/19.2.15/babel-webpack/da77318a4f15641e3cc2b8d80546fd389248a601b75feaa5db215a0962f391b6.json +0 -1
  265. package/.angular/cache/19.2.15/babel-webpack/dbc3a210ccae5103c04f71c3bdfb4435ccaddd66242174dce91d663140b21dc5.json +0 -1
  266. package/.angular/cache/19.2.15/babel-webpack/dc992071d5950a2223f1a421d1543e7b4dadf094122fd23a0429c724264f011e.json +0 -1
  267. package/.angular/cache/19.2.15/babel-webpack/dd1c501575b09f57f98b2a8d81b09e546d848a595a5ace7a89d25dbd430be493.json +0 -1
  268. package/.angular/cache/19.2.15/babel-webpack/dd6364865afedbe7c1e18ab9c3788102668313dfaf133a71212c536c01543c56.json +0 -1
  269. package/.angular/cache/19.2.15/babel-webpack/dff219ba3776abe22372f83bd16939393ae98887db82b3749a85c3e22168bc61.json +0 -1
  270. package/.angular/cache/19.2.15/babel-webpack/e0fdf919390ece3350e848e78b3913b0d89893790098935b7c8b33130e5efb8e.json +0 -1
  271. package/.angular/cache/19.2.15/babel-webpack/e77d5f1cb72805c0b888edf5b715b36c78e98723bb438a0a0fdd2882e9829970.json +0 -1
  272. package/.angular/cache/19.2.15/babel-webpack/e7a20108cffbfd2f0dfb812fb537668716baea08625837d1b952d9e4fd0d5bd6.json +0 -1
  273. package/.angular/cache/19.2.15/babel-webpack/e7b79fda0e9d3d6ca48335789edcf122031c45c7e2ca5427389f67ce20a34281.json +0 -1
  274. package/.angular/cache/19.2.15/babel-webpack/ec20396c5d705868c1de7429b3d90f02d4be65d15ea399076ca235fbdd641431.json +0 -1
  275. package/.angular/cache/19.2.15/babel-webpack/ec20a51774553bca90274c246cda80099b04833cc5f12c249640baaf83ebc506.json +0 -1
  276. package/.angular/cache/19.2.15/babel-webpack/ec88853cd9a00f1f8d09e4b67e133b813cce1b521f52b530c8df79f2f7da808b.json +0 -1
  277. package/.angular/cache/19.2.15/babel-webpack/ec940d603510ff67991dfb1f87109bd2494de6b66715dab6bd3ece66fbcf7143.json +0 -1
  278. package/.angular/cache/19.2.15/babel-webpack/ed9bcec5dcee5e3771050a2ba3005be14e0f7c1bd2ebb88b8224715f2afaadb6.json +0 -1
  279. package/.angular/cache/19.2.15/babel-webpack/ee6ff36829b6ee201c9017ff7453149d5a23ec35a5fa605be40db554600d347d.json +0 -1
  280. package/.angular/cache/19.2.15/babel-webpack/f1837d3cd06500bc8b6f8ad7335d320c5bc77b36d9345ac228b84a77edf47ae3.json +0 -1
  281. package/.angular/cache/19.2.15/babel-webpack/f24e1dc40f6df3f034fc61681d484fabf64815194dea077034fbb9252ffe9be2.json +0 -1
  282. package/.angular/cache/19.2.15/babel-webpack/f3f8d3d48c80e266959232980037f561ac3a2029ad5c219b25bd5a427b659c58.json +0 -1
  283. package/.angular/cache/19.2.15/babel-webpack/f40fcb185f52e56bc86fbb442094b2c826d013690af15902508f29f567922be7.json +0 -1
  284. package/.angular/cache/19.2.15/babel-webpack/f44209cd79deb6e7a87e6f9e97ddceb7c223538480e2780ded5f3d668cdd6818.json +0 -1
  285. package/.angular/cache/19.2.15/babel-webpack/f6b163c0527cf26d32b3a064f3d14ba57ab8161faad489d34f570513e4ee9e87.json +0 -1
  286. package/.angular/cache/19.2.15/babel-webpack/f96582be3a4bc506a2e1e6a5e76426055383b4d3fdd9d9c1afb14d32e8d910ad.json +0 -1
  287. package/.angular/cache/19.2.15/babel-webpack/f976bca369664bdf32c1be154e0c5728be960ab5bad4ef84d90fad99ac974abd.json +0 -1
  288. package/.angular/cache/19.2.15/babel-webpack/f9c3de2d4a716d1120233f5051109a122fd7e1ad63076e55fc247e9714ab4960.json +0 -1
  289. package/.angular/cache/19.2.15/babel-webpack/fa5df4343b61a4e5b00d552f176b707397c93da67ae9156e8b55ca58d98f04b2.json +0 -1
  290. package/.angular/cache/19.2.15/babel-webpack/fa6720a313572b9513915e669909508282d392d2b1ce79f482077e67d5b84aaf.json +0 -1
  291. package/.angular/cache/19.2.15/babel-webpack/fa91a0753c69dfd60f22f578cf80740bf043209f410854a5be585c971db48b72.json +0 -1
  292. package/.angular/cache/19.2.15/babel-webpack/fb52edac5fd48f4e6ead8848a83b29a81ed0934eade2a287be577ee72be849ef.json +0 -1
  293. package/.angular/cache/19.2.15/babel-webpack/fb59420fe97419dfa9ff21de01aabeb4157edce2165ef55e64e3682194c0ef2a.json +0 -1
  294. package/.angular/cache/19.2.15/babel-webpack/fbd47c634711337c64927e11e3444f94b1360bc6cbbbaa614cd9cde6da016fff.json +0 -1
  295. package/.angular/cache/19.2.15/babel-webpack/fbde92386c5c40b437ecab1148204dde924c63872d4377c2ea4753365b162b8a.json +0 -1
  296. package/.angular/cache/19.2.15/babel-webpack/fc9175f665c1f5d614ca16ce3d6cd79121fb1b17d3c1efdb54a5376bb4d813f6.json +0 -1
  297. package/.angular/cache/19.2.15/babel-webpack/fe2b3ad820146c2309c6a2b25a44f274277b707599ca772d9a001ce9eec669de.json +0 -1
  298. package/.angular/cache/19.2.15/babel-webpack/fefd393311d9b775f9f647af74656f3f5897d21239e25814b6b0708e657db138.json +0 -1
  299. package/.angular/cache/19.2.15/babel-webpack/ff96f8833e514be320d63eaa33bcf498d78e53f957b9a9449f4687933f2844d8.json +0 -1
  300. package/.angular/cache/19.2.15/ng-packagr/2376c16cef25e849019f7c07c1f2a3b4ab89b9e69826c7d01f10f92dbbc862e7 +0 -1
  301. package/.angular/cache/19.2.15/ng-packagr/4d54d937dc0fb0c6f29a333038ccf08c7481d9a9c9842c3c69d60b448a8fcd48 +0 -1
  302. package/.angular/cache/19.2.15/ng-packagr/4ec9d7c95b688865fdda7559138c701cd4f3b51c24f3fc2679687ee4e8d6f807 +0 -1
  303. package/.angular/cache/19.2.15/ng-packagr/75c856ab93c5d356e910e21d64fe992f383ab17b19fd310228ac71f161bf90f4 +0 -1
  304. package/.angular/cache/19.2.15/ng-packagr/8dc2d5a35f40f993f8e8f007e3ec70ea61d38a9543aaf987838096a6461cfa75 +0 -1
  305. package/.angular/cache/19.2.15/ng-packagr/91f1f2d122acf302d104afbce6fe35663cb63aaaef20721b2ae86ea0bab5c54a +0 -1
  306. package/.angular/cache/19.2.15/ng-packagr/b1851331ce1d33cd48496fe17422276a2b380a319e716db97547784e4d9cc1a1 +0 -1
  307. package/.angular/cache/19.2.15/ng-packagr/bafae0f01f0cf8807646a7eb9e3b6bd5a1edd0fd3752c9f8c93ba0b66b824928 +0 -1
  308. package/.angular/cache/19.2.15/ng-packagr/df9030ba5c4a68a5dd0cb41b53506348a54f8da563888061b23946418e6eb5c4 +0 -1
  309. package/.angular/cache/19.2.15/ng-packagr/e7a7d1fd8010b7d738d17804a871e051239ab07f96a28e9282a235d0bf535001 +0 -1
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import _asyncToGenerator from \"C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n/*\n * Copyright 2016 Red Hat, Inc. and/or its affiliates\n * and other contributors as indicated by the @author tags.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction Keycloak(config) {\n if (!(this instanceof Keycloak)) {\n throw new Error(\"The 'Keycloak' constructor must be invoked with 'new'.\");\n }\n if (typeof config !== 'string' && !isObject(config)) {\n throw new Error(\"The 'Keycloak' constructor must be provided with a configuration object, or a URL to a JSON configuration file.\");\n }\n if (isObject(config)) {\n const requiredProperties = 'oidcProvider' in config ? ['clientId'] : ['url', 'realm', 'clientId'];\n for (const property of requiredProperties) {\n if (!config[property]) {\n throw new Error(`The configuration object is missing the required '${property}' property.`);\n }\n }\n }\n var kc = this;\n var adapter;\n var refreshQueue = [];\n var callbackStorage;\n var loginIframe = {\n enable: true,\n callbackList: [],\n interval: 5\n };\n kc.didInitialize = false;\n var useNonce = true;\n var logInfo = createLogger(console.info);\n var logWarn = createLogger(console.warn);\n if (!globalThis.isSecureContext) {\n logWarn(\"[KEYCLOAK] Keycloak JS must be used in a 'secure context' to function properly as it relies on browser APIs that are otherwise not available.\\n\" + \"Continuing to run your application insecurely will lead to unexpected behavior and breakage.\\n\\n\" + \"For more information see: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\");\n }\n kc.init = function (initOptions = {}) {\n if (kc.didInitialize) {\n throw new Error(\"A 'Keycloak' instance can only be initialized once.\");\n }\n kc.didInitialize = true;\n kc.authenticated = false;\n callbackStorage = createCallbackStorage();\n var adapters = ['default', 'cordova', 'cordova-native'];\n if (adapters.indexOf(initOptions.adapter) > -1) {\n adapter = loadAdapter(initOptions.adapter);\n } else if (typeof initOptions.adapter === \"object\") {\n adapter = initOptions.adapter;\n } else {\n if (window.Cordova || window.cordova) {\n adapter = loadAdapter('cordova');\n } else {\n adapter = loadAdapter();\n }\n }\n if (typeof initOptions.useNonce !== 'undefined') {\n useNonce = initOptions.useNonce;\n }\n if (typeof initOptions.checkLoginIframe !== 'undefined') {\n loginIframe.enable = initOptions.checkLoginIframe;\n }\n if (initOptions.checkLoginIframeInterval) {\n loginIframe.interval = initOptions.checkLoginIframeInterval;\n }\n if (initOptions.onLoad === 'login-required') {\n kc.loginRequired = true;\n }\n if (initOptions.responseMode) {\n if (initOptions.responseMode === 'query' || initOptions.responseMode === 'fragment') {\n kc.responseMode = initOptions.responseMode;\n } else {\n throw 'Invalid value for responseMode';\n }\n }\n if (initOptions.flow) {\n switch (initOptions.flow) {\n case 'standard':\n kc.responseType = 'code';\n break;\n case 'implicit':\n kc.responseType = 'id_token token';\n break;\n case 'hybrid':\n kc.responseType = 'code id_token token';\n break;\n default:\n throw 'Invalid value for flow';\n }\n kc.flow = initOptions.flow;\n }\n if (initOptions.timeSkew != null) {\n kc.timeSkew = initOptions.timeSkew;\n }\n if (initOptions.redirectUri) {\n kc.redirectUri = initOptions.redirectUri;\n }\n if (initOptions.silentCheckSsoRedirectUri) {\n kc.silentCheckSsoRedirectUri = initOptions.silentCheckSsoRedirectUri;\n }\n if (typeof initOptions.silentCheckSsoFallback === 'boolean') {\n kc.silentCheckSsoFallback = initOptions.silentCheckSsoFallback;\n } else {\n kc.silentCheckSsoFallback = true;\n }\n if (typeof initOptions.pkceMethod !== \"undefined\") {\n if (initOptions.pkceMethod !== \"S256\" && initOptions.pkceMethod !== false) {\n throw new TypeError(`Invalid value for pkceMethod', expected 'S256' or false but got ${initOptions.pkceMethod}.`);\n }\n kc.pkceMethod = initOptions.pkceMethod;\n } else {\n kc.pkceMethod = \"S256\";\n }\n if (typeof initOptions.enableLogging === 'boolean') {\n kc.enableLogging = initOptions.enableLogging;\n } else {\n kc.enableLogging = false;\n }\n if (initOptions.logoutMethod === 'POST') {\n kc.logoutMethod = 'POST';\n } else {\n kc.logoutMethod = 'GET';\n }\n if (typeof initOptions.scope === 'string') {\n kc.scope = initOptions.scope;\n }\n if (typeof initOptions.acrValues === 'string') {\n kc.acrValues = initOptions.acrValues;\n }\n if (typeof initOptions.messageReceiveTimeout === 'number' && initOptions.messageReceiveTimeout > 0) {\n kc.messageReceiveTimeout = initOptions.messageReceiveTimeout;\n } else {\n kc.messageReceiveTimeout = 10000;\n }\n if (!kc.responseMode) {\n kc.responseMode = 'fragment';\n }\n if (!kc.responseType) {\n kc.responseType = 'code';\n kc.flow = 'standard';\n }\n var promise = createPromise();\n var initPromise = createPromise();\n initPromise.promise.then(function () {\n kc.onReady && kc.onReady(kc.authenticated);\n promise.setSuccess(kc.authenticated);\n }).catch(function (error) {\n promise.setError(error);\n });\n var configPromise = loadConfig();\n function onLoad() {\n var doLogin = function (prompt) {\n if (!prompt) {\n options.prompt = 'none';\n }\n if (initOptions.locale) {\n options.locale = initOptions.locale;\n }\n kc.login(options).then(function () {\n initPromise.setSuccess();\n }).catch(function (error) {\n initPromise.setError(error);\n });\n };\n var checkSsoSilently = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* () {\n var ifrm = document.createElement(\"iframe\");\n var src = yield kc.createLoginUrl({\n prompt: 'none',\n redirectUri: kc.silentCheckSsoRedirectUri\n });\n ifrm.setAttribute(\"src\", src);\n ifrm.setAttribute(\"sandbox\", \"allow-storage-access-by-user-activation allow-scripts allow-same-origin\");\n ifrm.setAttribute(\"title\", \"keycloak-silent-check-sso\");\n ifrm.style.display = \"none\";\n document.body.appendChild(ifrm);\n var messageCallback = function (event) {\n if (event.origin !== window.location.origin || ifrm.contentWindow !== event.source) {\n return;\n }\n var oauth = parseCallback(event.data);\n processCallback(oauth, initPromise);\n document.body.removeChild(ifrm);\n window.removeEventListener(\"message\", messageCallback);\n };\n window.addEventListener(\"message\", messageCallback);\n });\n return function checkSsoSilently() {\n return _ref.apply(this, arguments);\n };\n }();\n var options = {};\n switch (initOptions.onLoad) {\n case 'check-sso':\n if (loginIframe.enable) {\n setupCheckLoginIframe().then(function () {\n checkLoginIframe().then(function (unchanged) {\n if (!unchanged) {\n kc.silentCheckSsoRedirectUri ? checkSsoSilently() : doLogin(false);\n } else {\n initPromise.setSuccess();\n }\n }).catch(function (error) {\n initPromise.setError(error);\n });\n });\n } else {\n kc.silentCheckSsoRedirectUri ? checkSsoSilently() : doLogin(false);\n }\n break;\n case 'login-required':\n doLogin(true);\n break;\n default:\n throw 'Invalid value for onLoad';\n }\n }\n function processInit() {\n var callback = parseCallback(window.location.href);\n if (callback) {\n window.history.replaceState(window.history.state, null, callback.newUrl);\n }\n if (callback && callback.valid) {\n return setupCheckLoginIframe().then(function () {\n processCallback(callback, initPromise);\n }).catch(function (error) {\n initPromise.setError(error);\n });\n }\n if (initOptions.token && initOptions.refreshToken) {\n setToken(initOptions.token, initOptions.refreshToken, initOptions.idToken);\n if (loginIframe.enable) {\n setupCheckLoginIframe().then(function () {\n checkLoginIframe().then(function (unchanged) {\n if (unchanged) {\n kc.onAuthSuccess && kc.onAuthSuccess();\n initPromise.setSuccess();\n scheduleCheckIframe();\n } else {\n initPromise.setSuccess();\n }\n }).catch(function (error) {\n initPromise.setError(error);\n });\n });\n } else {\n kc.updateToken(-1).then(function () {\n kc.onAuthSuccess && kc.onAuthSuccess();\n initPromise.setSuccess();\n }).catch(function (error) {\n kc.onAuthError && kc.onAuthError();\n if (initOptions.onLoad) {\n onLoad();\n } else {\n initPromise.setError(error);\n }\n });\n }\n } else if (initOptions.onLoad) {\n onLoad();\n } else {\n initPromise.setSuccess();\n }\n }\n configPromise.then(function () {\n check3pCookiesSupported().then(processInit).catch(function (error) {\n promise.setError(error);\n });\n });\n configPromise.catch(function (error) {\n promise.setError(error);\n });\n return promise.promise;\n };\n kc.login = function (options) {\n return adapter.login(options);\n };\n function generateRandomData(len) {\n if (typeof crypto === \"undefined\" || typeof crypto.getRandomValues === \"undefined\") {\n throw new Error(\"Web Crypto API is not available.\");\n }\n return crypto.getRandomValues(new Uint8Array(len));\n }\n function generateCodeVerifier(len) {\n return generateRandomString(len, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789');\n }\n function generateRandomString(len, alphabet) {\n var randomData = generateRandomData(len);\n var chars = new Array(len);\n for (var i = 0; i < len; i++) {\n chars[i] = alphabet.charCodeAt(randomData[i] % alphabet.length);\n }\n return String.fromCharCode.apply(null, chars);\n }\n function generatePkceChallenge(_x, _x2) {\n return _generatePkceChallenge.apply(this, arguments);\n }\n function _generatePkceChallenge() {\n _generatePkceChallenge = _asyncToGenerator(function* (pkceMethod, codeVerifier) {\n if (pkceMethod !== \"S256\") {\n throw new TypeError(`Invalid value for 'pkceMethod', expected 'S256' but got '${pkceMethod}'.`);\n }\n\n // hash codeVerifier, then encode as url-safe base64 without padding\n const hashBytes = new Uint8Array(yield sha256Digest(codeVerifier));\n const encodedHash = bytesToBase64(hashBytes).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/\\=/g, '');\n return encodedHash;\n });\n return _generatePkceChallenge.apply(this, arguments);\n }\n function buildClaimsParameter(requestedAcr) {\n var claims = {\n id_token: {\n acr: requestedAcr\n }\n };\n return JSON.stringify(claims);\n }\n kc.createLoginUrl = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (options) {\n var state = createUUID();\n var nonce = createUUID();\n var redirectUri = adapter.redirectUri(options);\n var callbackState = {\n state: state,\n nonce: nonce,\n redirectUri: encodeURIComponent(redirectUri),\n loginOptions: options\n };\n if (options && options.prompt) {\n callbackState.prompt = options.prompt;\n }\n var baseUrl;\n if (options && options.action == 'register') {\n baseUrl = kc.endpoints.register();\n } else {\n baseUrl = kc.endpoints.authorize();\n }\n var scope = options && options.scope || kc.scope;\n if (!scope) {\n // if scope is not set, default to \"openid\"\n scope = \"openid\";\n } else if (scope.indexOf(\"openid\") === -1) {\n // if openid scope is missing, prefix the given scopes with it\n scope = \"openid \" + scope;\n }\n var url = baseUrl + '?client_id=' + encodeURIComponent(kc.clientId) + '&redirect_uri=' + encodeURIComponent(redirectUri) + '&state=' + encodeURIComponent(state) + '&response_mode=' + encodeURIComponent(kc.responseMode) + '&response_type=' + encodeURIComponent(kc.responseType) + '&scope=' + encodeURIComponent(scope);\n if (useNonce) {\n url = url + '&nonce=' + encodeURIComponent(nonce);\n }\n if (options && options.prompt) {\n url += '&prompt=' + encodeURIComponent(options.prompt);\n }\n if (options && typeof options.maxAge === 'number') {\n url += '&max_age=' + encodeURIComponent(options.maxAge);\n }\n if (options && options.loginHint) {\n url += '&login_hint=' + encodeURIComponent(options.loginHint);\n }\n if (options && options.idpHint) {\n url += '&kc_idp_hint=' + encodeURIComponent(options.idpHint);\n }\n if (options && options.action && options.action != 'register') {\n url += '&kc_action=' + encodeURIComponent(options.action);\n }\n if (options && options.locale) {\n url += '&ui_locales=' + encodeURIComponent(options.locale);\n }\n if (options && options.acr) {\n var claimsParameter = buildClaimsParameter(options.acr);\n url += '&claims=' + encodeURIComponent(claimsParameter);\n }\n if (options && options.acrValues || kc.acrValues) {\n url += '&acr_values=' + encodeURIComponent(options.acrValues || kc.acrValues);\n }\n if (kc.pkceMethod) {\n try {\n const codeVerifier = generateCodeVerifier(96);\n const pkceChallenge = yield generatePkceChallenge(kc.pkceMethod, codeVerifier);\n callbackState.pkceCodeVerifier = codeVerifier;\n url += '&code_challenge=' + pkceChallenge;\n url += '&code_challenge_method=' + kc.pkceMethod;\n } catch (error) {\n throw new Error(\"Failed to generate PKCE challenge.\", {\n cause: error\n });\n }\n }\n callbackStorage.add(callbackState);\n return url;\n });\n return function (_x3) {\n return _ref2.apply(this, arguments);\n };\n }();\n kc.logout = function (options) {\n return adapter.logout(options);\n };\n kc.createLogoutUrl = function (options) {\n const logoutMethod = options?.logoutMethod ?? kc.logoutMethod;\n if (logoutMethod === 'POST') {\n return kc.endpoints.logout();\n }\n var url = kc.endpoints.logout() + '?client_id=' + encodeURIComponent(kc.clientId) + '&post_logout_redirect_uri=' + encodeURIComponent(adapter.redirectUri(options, false));\n if (kc.idToken) {\n url += '&id_token_hint=' + encodeURIComponent(kc.idToken);\n }\n return url;\n };\n kc.register = function (options) {\n return adapter.register(options);\n };\n kc.createRegisterUrl = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(function* (options) {\n if (!options) {\n options = {};\n }\n options.action = 'register';\n return yield kc.createLoginUrl(options);\n });\n return function (_x4) {\n return _ref3.apply(this, arguments);\n };\n }();\n kc.createAccountUrl = function (options) {\n var realm = getRealmUrl();\n var url = undefined;\n if (typeof realm !== 'undefined') {\n url = realm + '/account' + '?referrer=' + encodeURIComponent(kc.clientId) + '&referrer_uri=' + encodeURIComponent(adapter.redirectUri(options));\n }\n return url;\n };\n kc.accountManagement = function () {\n return adapter.accountManagement();\n };\n kc.hasRealmRole = function (role) {\n var access = kc.realmAccess;\n return !!access && access.roles.indexOf(role) >= 0;\n };\n kc.hasResourceRole = function (role, resource) {\n if (!kc.resourceAccess) {\n return false;\n }\n var access = kc.resourceAccess[resource || kc.clientId];\n return !!access && access.roles.indexOf(role) >= 0;\n };\n kc.loadUserProfile = function () {\n var url = getRealmUrl() + '/account';\n var req = new XMLHttpRequest();\n req.open('GET', url, true);\n req.setRequestHeader('Accept', 'application/json');\n req.setRequestHeader('Authorization', 'bearer ' + kc.token);\n var promise = createPromise();\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n kc.profile = JSON.parse(req.responseText);\n promise.setSuccess(kc.profile);\n } else {\n promise.setError();\n }\n }\n };\n req.send();\n return promise.promise;\n };\n kc.loadUserInfo = function () {\n var url = kc.endpoints.userinfo();\n var req = new XMLHttpRequest();\n req.open('GET', url, true);\n req.setRequestHeader('Accept', 'application/json');\n req.setRequestHeader('Authorization', 'bearer ' + kc.token);\n var promise = createPromise();\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n kc.userInfo = JSON.parse(req.responseText);\n promise.setSuccess(kc.userInfo);\n } else {\n promise.setError();\n }\n }\n };\n req.send();\n return promise.promise;\n };\n kc.isTokenExpired = function (minValidity) {\n if (!kc.tokenParsed || !kc.refreshToken && kc.flow != 'implicit') {\n throw 'Not authenticated';\n }\n if (kc.timeSkew == null) {\n logInfo('[KEYCLOAK] Unable to determine if token is expired as timeskew is not set');\n return true;\n }\n var expiresIn = kc.tokenParsed['exp'] - Math.ceil(new Date().getTime() / 1000) + kc.timeSkew;\n if (minValidity) {\n if (isNaN(minValidity)) {\n throw 'Invalid minValidity';\n }\n expiresIn -= minValidity;\n }\n return expiresIn < 0;\n };\n kc.updateToken = function (minValidity) {\n var promise = createPromise();\n if (!kc.refreshToken) {\n promise.setError();\n return promise.promise;\n }\n minValidity = minValidity || 5;\n var exec = function () {\n var refreshToken = false;\n if (minValidity == -1) {\n refreshToken = true;\n logInfo('[KEYCLOAK] Refreshing token: forced refresh');\n } else if (!kc.tokenParsed || kc.isTokenExpired(minValidity)) {\n refreshToken = true;\n logInfo('[KEYCLOAK] Refreshing token: token expired');\n }\n if (!refreshToken) {\n promise.setSuccess(false);\n } else {\n var params = 'grant_type=refresh_token&' + 'refresh_token=' + kc.refreshToken;\n var url = kc.endpoints.token();\n refreshQueue.push(promise);\n if (refreshQueue.length == 1) {\n var req = new XMLHttpRequest();\n req.open('POST', url, true);\n req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n req.withCredentials = true;\n params += '&client_id=' + encodeURIComponent(kc.clientId);\n var timeLocal = new Date().getTime();\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n logInfo('[KEYCLOAK] Token refreshed');\n timeLocal = (timeLocal + new Date().getTime()) / 2;\n var tokenResponse = JSON.parse(req.responseText);\n setToken(tokenResponse['access_token'], tokenResponse['refresh_token'], tokenResponse['id_token'], timeLocal);\n kc.onAuthRefreshSuccess && kc.onAuthRefreshSuccess();\n for (var p = refreshQueue.pop(); p != null; p = refreshQueue.pop()) {\n p.setSuccess(true);\n }\n } else {\n logWarn('[KEYCLOAK] Failed to refresh token');\n if (req.status == 400) {\n kc.clearToken();\n }\n kc.onAuthRefreshError && kc.onAuthRefreshError();\n for (var p = refreshQueue.pop(); p != null; p = refreshQueue.pop()) {\n p.setError(\"Failed to refresh token: An unexpected HTTP error occurred while attempting to refresh the token.\");\n }\n }\n }\n };\n req.send(params);\n }\n }\n };\n if (loginIframe.enable) {\n var iframePromise = checkLoginIframe();\n iframePromise.then(function () {\n exec();\n }).catch(function (error) {\n promise.setError(error);\n });\n } else {\n exec();\n }\n return promise.promise;\n };\n kc.clearToken = function () {\n if (kc.token) {\n setToken(null, null, null);\n kc.onAuthLogout && kc.onAuthLogout();\n if (kc.loginRequired) {\n kc.login();\n }\n }\n };\n function getRealmUrl() {\n if (typeof kc.authServerUrl !== 'undefined') {\n if (kc.authServerUrl.charAt(kc.authServerUrl.length - 1) == '/') {\n return kc.authServerUrl + 'realms/' + encodeURIComponent(kc.realm);\n } else {\n return kc.authServerUrl + '/realms/' + encodeURIComponent(kc.realm);\n }\n } else {\n return undefined;\n }\n }\n function getOrigin() {\n if (!window.location.origin) {\n return window.location.protocol + \"//\" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\n } else {\n return window.location.origin;\n }\n }\n function processCallback(oauth, promise) {\n var code = oauth.code;\n var error = oauth.error;\n var prompt = oauth.prompt;\n var timeLocal = new Date().getTime();\n if (oauth['kc_action_status']) {\n kc.onActionUpdate && kc.onActionUpdate(oauth['kc_action_status'], oauth['kc_action']);\n }\n if (error) {\n if (prompt != 'none') {\n if (oauth.error_description && oauth.error_description === \"authentication_expired\") {\n kc.login(oauth.loginOptions);\n } else {\n var errorData = {\n error: error,\n error_description: oauth.error_description\n };\n kc.onAuthError && kc.onAuthError(errorData);\n promise && promise.setError(errorData);\n }\n } else {\n promise && promise.setSuccess();\n }\n return;\n } else if (kc.flow != 'standard' && (oauth.access_token || oauth.id_token)) {\n authSuccess(oauth.access_token, null, oauth.id_token, true);\n }\n if (kc.flow != 'implicit' && code) {\n var params = 'code=' + code + '&grant_type=authorization_code';\n var url = kc.endpoints.token();\n var req = new XMLHttpRequest();\n req.open('POST', url, true);\n req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n params += '&client_id=' + encodeURIComponent(kc.clientId);\n params += '&redirect_uri=' + oauth.redirectUri;\n if (oauth.pkceCodeVerifier) {\n params += '&code_verifier=' + oauth.pkceCodeVerifier;\n }\n req.withCredentials = true;\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n var tokenResponse = JSON.parse(req.responseText);\n authSuccess(tokenResponse['access_token'], tokenResponse['refresh_token'], tokenResponse['id_token'], kc.flow === 'standard');\n scheduleCheckIframe();\n } else {\n kc.onAuthError && kc.onAuthError();\n promise && promise.setError();\n }\n }\n };\n req.send(params);\n }\n function authSuccess(accessToken, refreshToken, idToken, fulfillPromise) {\n timeLocal = (timeLocal + new Date().getTime()) / 2;\n setToken(accessToken, refreshToken, idToken, timeLocal);\n if (useNonce && kc.idTokenParsed && kc.idTokenParsed.nonce != oauth.storedNonce) {\n logInfo('[KEYCLOAK] Invalid nonce, clearing token');\n kc.clearToken();\n promise && promise.setError();\n } else {\n if (fulfillPromise) {\n kc.onAuthSuccess && kc.onAuthSuccess();\n promise && promise.setSuccess();\n }\n }\n }\n }\n function loadConfig() {\n var promise = createPromise();\n var configUrl;\n if (typeof config === 'string') {\n configUrl = config;\n }\n function setupOidcEndoints(oidcConfiguration) {\n if (!oidcConfiguration) {\n kc.endpoints = {\n authorize: function () {\n return getRealmUrl() + '/protocol/openid-connect/auth';\n },\n token: function () {\n return getRealmUrl() + '/protocol/openid-connect/token';\n },\n logout: function () {\n return getRealmUrl() + '/protocol/openid-connect/logout';\n },\n checkSessionIframe: function () {\n return getRealmUrl() + '/protocol/openid-connect/login-status-iframe.html';\n },\n thirdPartyCookiesIframe: function () {\n return getRealmUrl() + '/protocol/openid-connect/3p-cookies/step1.html';\n },\n register: function () {\n return getRealmUrl() + '/protocol/openid-connect/registrations';\n },\n userinfo: function () {\n return getRealmUrl() + '/protocol/openid-connect/userinfo';\n }\n };\n } else {\n kc.endpoints = {\n authorize: function () {\n return oidcConfiguration.authorization_endpoint;\n },\n token: function () {\n return oidcConfiguration.token_endpoint;\n },\n logout: function () {\n if (!oidcConfiguration.end_session_endpoint) {\n throw \"Not supported by the OIDC server\";\n }\n return oidcConfiguration.end_session_endpoint;\n },\n checkSessionIframe: function () {\n if (!oidcConfiguration.check_session_iframe) {\n throw \"Not supported by the OIDC server\";\n }\n return oidcConfiguration.check_session_iframe;\n },\n register: function () {\n throw 'Redirection to \"Register user\" page not supported in standard OIDC mode';\n },\n userinfo: function () {\n if (!oidcConfiguration.userinfo_endpoint) {\n throw \"Not supported by the OIDC server\";\n }\n return oidcConfiguration.userinfo_endpoint;\n }\n };\n }\n }\n if (configUrl) {\n var req = new XMLHttpRequest();\n req.open('GET', configUrl, true);\n req.setRequestHeader('Accept', 'application/json');\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200 || fileLoaded(req)) {\n var config = JSON.parse(req.responseText);\n kc.authServerUrl = config['auth-server-url'];\n kc.realm = config['realm'];\n kc.clientId = config['resource'];\n setupOidcEndoints(null);\n promise.setSuccess();\n } else {\n promise.setError();\n }\n }\n };\n req.send();\n } else {\n kc.clientId = config.clientId;\n var oidcProvider = config['oidcProvider'];\n if (!oidcProvider) {\n kc.authServerUrl = config.url;\n kc.realm = config.realm;\n setupOidcEndoints(null);\n promise.setSuccess();\n } else {\n if (typeof oidcProvider === 'string') {\n var oidcProviderConfigUrl;\n if (oidcProvider.charAt(oidcProvider.length - 1) == '/') {\n oidcProviderConfigUrl = oidcProvider + '.well-known/openid-configuration';\n } else {\n oidcProviderConfigUrl = oidcProvider + '/.well-known/openid-configuration';\n }\n var req = new XMLHttpRequest();\n req.open('GET', oidcProviderConfigUrl, true);\n req.setRequestHeader('Accept', 'application/json');\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200 || fileLoaded(req)) {\n var oidcProviderConfig = JSON.parse(req.responseText);\n setupOidcEndoints(oidcProviderConfig);\n promise.setSuccess();\n } else {\n promise.setError();\n }\n }\n };\n req.send();\n } else {\n setupOidcEndoints(oidcProvider);\n promise.setSuccess();\n }\n }\n }\n return promise.promise;\n }\n function fileLoaded(xhr) {\n return xhr.status == 0 && xhr.responseText && xhr.responseURL.startsWith('file:');\n }\n function setToken(token, refreshToken, idToken, timeLocal) {\n if (kc.tokenTimeoutHandle) {\n clearTimeout(kc.tokenTimeoutHandle);\n kc.tokenTimeoutHandle = null;\n }\n if (refreshToken) {\n kc.refreshToken = refreshToken;\n kc.refreshTokenParsed = decodeToken(refreshToken);\n } else {\n delete kc.refreshToken;\n delete kc.refreshTokenParsed;\n }\n if (idToken) {\n kc.idToken = idToken;\n kc.idTokenParsed = decodeToken(idToken);\n } else {\n delete kc.idToken;\n delete kc.idTokenParsed;\n }\n if (token) {\n kc.token = token;\n kc.tokenParsed = decodeToken(token);\n kc.sessionId = kc.tokenParsed.sid;\n kc.authenticated = true;\n kc.subject = kc.tokenParsed.sub;\n kc.realmAccess = kc.tokenParsed.realm_access;\n kc.resourceAccess = kc.tokenParsed.resource_access;\n if (timeLocal) {\n kc.timeSkew = Math.floor(timeLocal / 1000) - kc.tokenParsed.iat;\n }\n if (kc.timeSkew != null) {\n logInfo('[KEYCLOAK] Estimated time difference between browser and server is ' + kc.timeSkew + ' seconds');\n if (kc.onTokenExpired) {\n var expiresIn = (kc.tokenParsed['exp'] - new Date().getTime() / 1000 + kc.timeSkew) * 1000;\n logInfo('[KEYCLOAK] Token expires in ' + Math.round(expiresIn / 1000) + ' s');\n if (expiresIn <= 0) {\n kc.onTokenExpired();\n } else {\n kc.tokenTimeoutHandle = setTimeout(kc.onTokenExpired, expiresIn);\n }\n }\n }\n } else {\n delete kc.token;\n delete kc.tokenParsed;\n delete kc.subject;\n delete kc.realmAccess;\n delete kc.resourceAccess;\n kc.authenticated = false;\n }\n }\n function createUUID() {\n if (typeof crypto === \"undefined\" || typeof crypto.randomUUID === \"undefined\") {\n throw new Error(\"Web Crypto API is not available.\");\n }\n return crypto.randomUUID();\n }\n function parseCallback(url) {\n var oauth = parseCallbackUrl(url);\n if (!oauth) {\n return;\n }\n var oauthState = callbackStorage.get(oauth.state);\n if (oauthState) {\n oauth.valid = true;\n oauth.redirectUri = oauthState.redirectUri;\n oauth.storedNonce = oauthState.nonce;\n oauth.prompt = oauthState.prompt;\n oauth.pkceCodeVerifier = oauthState.pkceCodeVerifier;\n oauth.loginOptions = oauthState.loginOptions;\n }\n return oauth;\n }\n function parseCallbackUrl(url) {\n var supportedParams;\n switch (kc.flow) {\n case 'standard':\n supportedParams = ['code', 'state', 'session_state', 'kc_action_status', 'kc_action', 'iss'];\n break;\n case 'implicit':\n supportedParams = ['access_token', 'token_type', 'id_token', 'state', 'session_state', 'expires_in', 'kc_action_status', 'kc_action', 'iss'];\n break;\n case 'hybrid':\n supportedParams = ['access_token', 'token_type', 'id_token', 'code', 'state', 'session_state', 'expires_in', 'kc_action_status', 'kc_action', 'iss'];\n break;\n }\n supportedParams.push('error');\n supportedParams.push('error_description');\n supportedParams.push('error_uri');\n var queryIndex = url.indexOf('?');\n var fragmentIndex = url.indexOf('#');\n var newUrl;\n var parsed;\n if (kc.responseMode === 'query' && queryIndex !== -1) {\n newUrl = url.substring(0, queryIndex);\n parsed = parseCallbackParams(url.substring(queryIndex + 1, fragmentIndex !== -1 ? fragmentIndex : url.length), supportedParams);\n if (parsed.paramsString !== '') {\n newUrl += '?' + parsed.paramsString;\n }\n if (fragmentIndex !== -1) {\n newUrl += url.substring(fragmentIndex);\n }\n } else if (kc.responseMode === 'fragment' && fragmentIndex !== -1) {\n newUrl = url.substring(0, fragmentIndex);\n parsed = parseCallbackParams(url.substring(fragmentIndex + 1), supportedParams);\n if (parsed.paramsString !== '') {\n newUrl += '#' + parsed.paramsString;\n }\n }\n if (parsed && parsed.oauthParams) {\n if (kc.flow === 'standard' || kc.flow === 'hybrid') {\n if ((parsed.oauthParams.code || parsed.oauthParams.error) && parsed.oauthParams.state) {\n parsed.oauthParams.newUrl = newUrl;\n return parsed.oauthParams;\n }\n } else if (kc.flow === 'implicit') {\n if ((parsed.oauthParams.access_token || parsed.oauthParams.error) && parsed.oauthParams.state) {\n parsed.oauthParams.newUrl = newUrl;\n return parsed.oauthParams;\n }\n }\n }\n }\n function parseCallbackParams(paramsString, supportedParams) {\n var p = paramsString.split('&');\n var result = {\n paramsString: '',\n oauthParams: {}\n };\n for (var i = 0; i < p.length; i++) {\n var split = p[i].indexOf(\"=\");\n var key = p[i].slice(0, split);\n if (supportedParams.indexOf(key) !== -1) {\n result.oauthParams[key] = p[i].slice(split + 1);\n } else {\n if (result.paramsString !== '') {\n result.paramsString += '&';\n }\n result.paramsString += p[i];\n }\n }\n return result;\n }\n function createPromise() {\n // Need to create a native Promise which also preserves the\n // interface of the custom promise type previously used by the API\n var p = {\n setSuccess: function (result) {\n p.resolve(result);\n },\n setError: function (result) {\n p.reject(result);\n }\n };\n p.promise = new Promise(function (resolve, reject) {\n p.resolve = resolve;\n p.reject = reject;\n });\n return p;\n }\n\n // Function to extend existing native Promise with timeout\n function applyTimeoutToPromise(promise, timeout, errorMessage) {\n var timeoutHandle = null;\n var timeoutPromise = new Promise(function (resolve, reject) {\n timeoutHandle = setTimeout(function () {\n reject({\n \"error\": errorMessage || \"Promise is not settled within timeout of \" + timeout + \"ms\"\n });\n }, timeout);\n });\n return Promise.race([promise, timeoutPromise]).finally(function () {\n clearTimeout(timeoutHandle);\n });\n }\n function setupCheckLoginIframe() {\n var promise = createPromise();\n if (!loginIframe.enable) {\n promise.setSuccess();\n return promise.promise;\n }\n if (loginIframe.iframe) {\n promise.setSuccess();\n return promise.promise;\n }\n var iframe = document.createElement('iframe');\n loginIframe.iframe = iframe;\n iframe.onload = function () {\n var authUrl = kc.endpoints.authorize();\n if (authUrl.charAt(0) === '/') {\n loginIframe.iframeOrigin = getOrigin();\n } else {\n loginIframe.iframeOrigin = authUrl.substring(0, authUrl.indexOf('/', 8));\n }\n promise.setSuccess();\n };\n var src = kc.endpoints.checkSessionIframe();\n iframe.setAttribute('src', src);\n iframe.setAttribute('sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin');\n iframe.setAttribute('title', 'keycloak-session-iframe');\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n var messageCallback = function (event) {\n if (event.origin !== loginIframe.iframeOrigin || loginIframe.iframe.contentWindow !== event.source) {\n return;\n }\n if (!(event.data == 'unchanged' || event.data == 'changed' || event.data == 'error')) {\n return;\n }\n if (event.data != 'unchanged') {\n kc.clearToken();\n }\n var callbacks = loginIframe.callbackList.splice(0, loginIframe.callbackList.length);\n for (var i = callbacks.length - 1; i >= 0; --i) {\n var promise = callbacks[i];\n if (event.data == 'error') {\n promise.setError();\n } else {\n promise.setSuccess(event.data == 'unchanged');\n }\n }\n };\n window.addEventListener('message', messageCallback, false);\n return promise.promise;\n }\n function scheduleCheckIframe() {\n if (loginIframe.enable) {\n if (kc.token) {\n setTimeout(function () {\n checkLoginIframe().then(function (unchanged) {\n if (unchanged) {\n scheduleCheckIframe();\n }\n });\n }, loginIframe.interval * 1000);\n }\n }\n }\n function checkLoginIframe() {\n var promise = createPromise();\n if (loginIframe.iframe && loginIframe.iframeOrigin) {\n var msg = kc.clientId + ' ' + (kc.sessionId ? kc.sessionId : '');\n loginIframe.callbackList.push(promise);\n var origin = loginIframe.iframeOrigin;\n if (loginIframe.callbackList.length == 1) {\n loginIframe.iframe.contentWindow.postMessage(msg, origin);\n }\n } else {\n promise.setSuccess();\n }\n return promise.promise;\n }\n function check3pCookiesSupported() {\n var promise = createPromise();\n if ((loginIframe.enable || kc.silentCheckSsoRedirectUri) && typeof kc.endpoints.thirdPartyCookiesIframe === 'function') {\n var iframe = document.createElement('iframe');\n iframe.setAttribute('src', kc.endpoints.thirdPartyCookiesIframe());\n iframe.setAttribute('sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin');\n iframe.setAttribute('title', 'keycloak-3p-check-iframe');\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n var messageCallback = function (event) {\n if (iframe.contentWindow !== event.source) {\n return;\n }\n if (event.data !== \"supported\" && event.data !== \"unsupported\") {\n return;\n } else if (event.data === \"unsupported\") {\n logWarn(\"[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means:\\n\\n\" + \" - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication).\\n\" + \" - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab).\\n\\n\" + \"For more information see: https://www.keycloak.org/securing-apps/javascript-adapter#_modern_browsers\");\n loginIframe.enable = false;\n if (kc.silentCheckSsoFallback) {\n kc.silentCheckSsoRedirectUri = false;\n }\n }\n document.body.removeChild(iframe);\n window.removeEventListener(\"message\", messageCallback);\n promise.setSuccess();\n };\n window.addEventListener('message', messageCallback, false);\n } else {\n promise.setSuccess();\n }\n return applyTimeoutToPromise(promise.promise, kc.messageReceiveTimeout, \"Timeout when waiting for 3rd party check iframe message.\");\n }\n function loadAdapter(type) {\n if (!type || type == 'default') {\n return {\n login: function () {\n var _ref4 = _asyncToGenerator(function* (options) {\n window.location.assign(yield kc.createLoginUrl(options));\n return createPromise().promise;\n });\n return function login(_x5) {\n return _ref4.apply(this, arguments);\n };\n }(),\n logout: function () {\n var _ref5 = _asyncToGenerator(function* (options) {\n const logoutMethod = options?.logoutMethod ?? kc.logoutMethod;\n if (logoutMethod === \"GET\") {\n window.location.replace(kc.createLogoutUrl(options));\n return;\n }\n\n // Create form to send POST request.\n const form = document.createElement(\"form\");\n form.setAttribute(\"method\", \"POST\");\n form.setAttribute(\"action\", kc.createLogoutUrl(options));\n form.style.display = \"none\";\n\n // Add data to form as hidden input fields.\n const data = {\n id_token_hint: kc.idToken,\n client_id: kc.clientId,\n post_logout_redirect_uri: adapter.redirectUri(options, false)\n };\n for (const [name, value] of Object.entries(data)) {\n const input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"hidden\");\n input.setAttribute(\"name\", name);\n input.setAttribute(\"value\", value);\n form.appendChild(input);\n }\n\n // Append form to page and submit it to perform logout and redirect.\n document.body.appendChild(form);\n form.submit();\n });\n return function logout(_x6) {\n return _ref5.apply(this, arguments);\n };\n }(),\n register: function () {\n var _ref6 = _asyncToGenerator(function* (options) {\n window.location.assign(yield kc.createRegisterUrl(options));\n return createPromise().promise;\n });\n return function register(_x7) {\n return _ref6.apply(this, arguments);\n };\n }(),\n accountManagement: function () {\n var accountUrl = kc.createAccountUrl();\n if (typeof accountUrl !== 'undefined') {\n window.location.href = accountUrl;\n } else {\n throw \"Not supported by the OIDC server\";\n }\n return createPromise().promise;\n },\n redirectUri: function (options, encodeHash) {\n if (arguments.length == 1) {\n encodeHash = true;\n }\n if (options && options.redirectUri) {\n return options.redirectUri;\n } else if (kc.redirectUri) {\n return kc.redirectUri;\n } else {\n return location.href;\n }\n }\n };\n }\n if (type == 'cordova') {\n loginIframe.enable = false;\n var cordovaOpenWindowWrapper = function (loginUrl, target, options) {\n if (window.cordova && window.cordova.InAppBrowser) {\n // Use inappbrowser for IOS and Android if available\n return window.cordova.InAppBrowser.open(loginUrl, target, options);\n } else {\n return window.open(loginUrl, target, options);\n }\n };\n var shallowCloneCordovaOptions = function (userOptions) {\n if (userOptions && userOptions.cordovaOptions) {\n return Object.keys(userOptions.cordovaOptions).reduce(function (options, optionName) {\n options[optionName] = userOptions.cordovaOptions[optionName];\n return options;\n }, {});\n } else {\n return {};\n }\n };\n var formatCordovaOptions = function (cordovaOptions) {\n return Object.keys(cordovaOptions).reduce(function (options, optionName) {\n options.push(optionName + \"=\" + cordovaOptions[optionName]);\n return options;\n }, []).join(\",\");\n };\n var createCordovaOptions = function (userOptions) {\n var cordovaOptions = shallowCloneCordovaOptions(userOptions);\n cordovaOptions.location = 'no';\n if (userOptions && userOptions.prompt == 'none') {\n cordovaOptions.hidden = 'yes';\n }\n return formatCordovaOptions(cordovaOptions);\n };\n var getCordovaRedirectUri = function () {\n return kc.redirectUri || 'http://localhost';\n };\n return {\n login: function () {\n var _ref7 = _asyncToGenerator(function* (options) {\n var promise = createPromise();\n var cordovaOptions = createCordovaOptions(options);\n var loginUrl = yield kc.createLoginUrl(options);\n var ref = cordovaOpenWindowWrapper(loginUrl, '_blank', cordovaOptions);\n var completed = false;\n var closed = false;\n var closeBrowser = function () {\n closed = true;\n ref.close();\n };\n ref.addEventListener('loadstart', function (event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n var callback = parseCallback(event.url);\n processCallback(callback, promise);\n closeBrowser();\n completed = true;\n }\n });\n ref.addEventListener('loaderror', function (event) {\n if (!completed) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n var callback = parseCallback(event.url);\n processCallback(callback, promise);\n closeBrowser();\n completed = true;\n } else {\n promise.setError();\n closeBrowser();\n }\n }\n });\n ref.addEventListener('exit', function (event) {\n if (!closed) {\n promise.setError({\n reason: \"closed_by_user\"\n });\n }\n });\n return promise.promise;\n });\n return function login(_x8) {\n return _ref7.apply(this, arguments);\n };\n }(),\n logout: function (options) {\n var promise = createPromise();\n var logoutUrl = kc.createLogoutUrl(options);\n var ref = cordovaOpenWindowWrapper(logoutUrl, '_blank', 'location=no,hidden=yes,clearcache=yes');\n var error;\n ref.addEventListener('loadstart', function (event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n }\n });\n ref.addEventListener('loaderror', function (event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n } else {\n error = true;\n ref.close();\n }\n });\n ref.addEventListener('exit', function (event) {\n if (error) {\n promise.setError();\n } else {\n kc.clearToken();\n promise.setSuccess();\n }\n });\n return promise.promise;\n },\n register: function () {\n var _ref8 = _asyncToGenerator(function* (options) {\n var promise = createPromise();\n var registerUrl = yield kc.createRegisterUrl();\n var cordovaOptions = createCordovaOptions(options);\n var ref = cordovaOpenWindowWrapper(registerUrl, '_blank', cordovaOptions);\n ref.addEventListener('loadstart', function (event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n var oauth = parseCallback(event.url);\n processCallback(oauth, promise);\n }\n });\n return promise.promise;\n });\n return function register(_x9) {\n return _ref8.apply(this, arguments);\n };\n }(),\n accountManagement: function () {\n var accountUrl = kc.createAccountUrl();\n if (typeof accountUrl !== 'undefined') {\n var ref = cordovaOpenWindowWrapper(accountUrl, '_blank', 'location=no');\n ref.addEventListener('loadstart', function (event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n }\n });\n } else {\n throw \"Not supported by the OIDC server\";\n }\n },\n redirectUri: function (options) {\n return getCordovaRedirectUri();\n }\n };\n }\n if (type == 'cordova-native') {\n loginIframe.enable = false;\n return {\n login: function () {\n var _ref9 = _asyncToGenerator(function* (options) {\n var promise = createPromise();\n var loginUrl = yield kc.createLoginUrl(options);\n universalLinks.subscribe('keycloak', function (event) {\n universalLinks.unsubscribe('keycloak');\n window.cordova.plugins.browsertab.close();\n var oauth = parseCallback(event.url);\n processCallback(oauth, promise);\n });\n window.cordova.plugins.browsertab.openUrl(loginUrl);\n return promise.promise;\n });\n return function login(_x0) {\n return _ref9.apply(this, arguments);\n };\n }(),\n logout: function (options) {\n var promise = createPromise();\n var logoutUrl = kc.createLogoutUrl(options);\n universalLinks.subscribe('keycloak', function (event) {\n universalLinks.unsubscribe('keycloak');\n window.cordova.plugins.browsertab.close();\n kc.clearToken();\n promise.setSuccess();\n });\n window.cordova.plugins.browsertab.openUrl(logoutUrl);\n return promise.promise;\n },\n register: function () {\n var _ref0 = _asyncToGenerator(function* (options) {\n var promise = createPromise();\n var registerUrl = yield kc.createRegisterUrl(options);\n universalLinks.subscribe('keycloak', function (event) {\n universalLinks.unsubscribe('keycloak');\n window.cordova.plugins.browsertab.close();\n var oauth = parseCallback(event.url);\n processCallback(oauth, promise);\n });\n window.cordova.plugins.browsertab.openUrl(registerUrl);\n return promise.promise;\n });\n return function register(_x1) {\n return _ref0.apply(this, arguments);\n };\n }(),\n accountManagement: function () {\n var accountUrl = kc.createAccountUrl();\n if (typeof accountUrl !== 'undefined') {\n window.cordova.plugins.browsertab.openUrl(accountUrl);\n } else {\n throw \"Not supported by the OIDC server\";\n }\n },\n redirectUri: function (options) {\n if (options && options.redirectUri) {\n return options.redirectUri;\n } else if (kc.redirectUri) {\n return kc.redirectUri;\n } else {\n return \"http://localhost\";\n }\n }\n };\n }\n throw 'invalid adapter type: ' + type;\n }\n const STORAGE_KEY_PREFIX = 'kc-callback-';\n var LocalStorage = function () {\n if (!(this instanceof LocalStorage)) {\n return new LocalStorage();\n }\n localStorage.setItem('kc-test', 'test');\n localStorage.removeItem('kc-test');\n var cs = this;\n\n /**\n * Clears all values from local storage that are no longer valid.\n */\n function clearInvalidValues() {\n const currentTime = Date.now();\n for (const [key, value] of getStoredEntries()) {\n // Attempt to parse the expiry time from the value.\n const expiry = parseExpiry(value);\n\n // Discard the value if it is malformed or expired.\n if (expiry === null || expiry < currentTime) {\n localStorage.removeItem(key);\n }\n }\n }\n\n /**\n * Clears all known values from local storage.\n */\n function clearAllValues() {\n for (const [key] of getStoredEntries()) {\n localStorage.removeItem(key);\n }\n }\n\n /**\n * Gets all entries stored in local storage that are known to be managed by this class.\n * @returns {Array<[string, unknown]>} An array of key-value pairs.\n */\n function getStoredEntries() {\n return Object.entries(localStorage).filter(([key]) => key.startsWith(STORAGE_KEY_PREFIX));\n }\n\n /**\n * Parses the expiry time from a value stored in local storage.\n * @param {unknown} value\n * @returns {number | null} The expiry time in milliseconds, or `null` if the value is malformed.\n */\n function parseExpiry(value) {\n let parsedValue;\n\n // Attempt to parse the value as JSON.\n try {\n parsedValue = JSON.parse(value);\n } catch (error) {\n return null;\n }\n\n // Attempt to extract the 'expires' property.\n if (isObject(parsedValue) && 'expires' in parsedValue && typeof parsedValue.expires === 'number') {\n return parsedValue.expires;\n }\n return null;\n }\n cs.get = function (state) {\n if (!state) {\n return;\n }\n var key = STORAGE_KEY_PREFIX + state;\n var value = localStorage.getItem(key);\n if (value) {\n localStorage.removeItem(key);\n value = JSON.parse(value);\n }\n clearInvalidValues();\n return value;\n };\n cs.add = function (state) {\n clearInvalidValues();\n const key = STORAGE_KEY_PREFIX + state.state;\n const value = JSON.stringify({\n ...state,\n // Set the expiry time to 1 hour from now.\n expires: Date.now() + 60 * 60 * 1000\n });\n try {\n localStorage.setItem(key, value);\n } catch (error) {\n // If the storage is full, clear all known values and try again.\n clearAllValues();\n localStorage.setItem(key, value);\n }\n };\n };\n var CookieStorage = function () {\n if (!(this instanceof CookieStorage)) {\n return new CookieStorage();\n }\n var cs = this;\n cs.get = function (state) {\n if (!state) {\n return;\n }\n var value = getCookie(STORAGE_KEY_PREFIX + state);\n setCookie(STORAGE_KEY_PREFIX + state, '', cookieExpiration(-100));\n if (value) {\n return JSON.parse(value);\n }\n };\n cs.add = function (state) {\n setCookie(STORAGE_KEY_PREFIX + state.state, JSON.stringify(state), cookieExpiration(60));\n };\n cs.removeItem = function (key) {\n setCookie(key, '', cookieExpiration(-100));\n };\n var cookieExpiration = function (minutes) {\n var exp = new Date();\n exp.setTime(exp.getTime() + minutes * 60 * 1000);\n return exp;\n };\n var getCookie = function (key) {\n var name = key + '=';\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return '';\n };\n var setCookie = function (key, value, expirationDate) {\n var cookie = key + '=' + value + '; ' + 'expires=' + expirationDate.toUTCString() + '; ';\n document.cookie = cookie;\n };\n };\n function createCallbackStorage() {\n try {\n return new LocalStorage();\n } catch (err) {}\n return new CookieStorage();\n }\n function createLogger(fn) {\n return function () {\n if (kc.enableLogging) {\n fn.apply(console, Array.prototype.slice.call(arguments));\n }\n };\n }\n}\nexport default Keycloak;\n\n/**\n * @param {ArrayBuffer} bytes\n * @see https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n */\nfunction bytesToBase64(bytes) {\n const binString = String.fromCodePoint(...bytes);\n return btoa(binString);\n}\n\n/**\n * @param {string} message\n * @see https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#basic_example\n */\nfunction sha256Digest(_x10) {\n return _sha256Digest.apply(this, arguments);\n}\n/**\n * @param {string} token\n */\nfunction _sha256Digest() {\n _sha256Digest = _asyncToGenerator(function* (message) {\n const encoder = new TextEncoder();\n const data = encoder.encode(message);\n if (typeof crypto === \"undefined\" || typeof crypto.subtle === \"undefined\") {\n throw new Error(\"Web Crypto API is not available.\");\n }\n return yield crypto.subtle.digest(\"SHA-256\", data);\n });\n return _sha256Digest.apply(this, arguments);\n}\nfunction decodeToken(token) {\n const [header, payload] = token.split(\".\");\n if (typeof payload !== \"string\") {\n throw new Error(\"Unable to decode token, payload not found.\");\n }\n let decoded;\n try {\n decoded = base64UrlDecode(payload);\n } catch (error) {\n throw new Error(\"Unable to decode token, payload is not a valid Base64URL value.\", {\n cause: error\n });\n }\n try {\n return JSON.parse(decoded);\n } catch (error) {\n throw new Error(\"Unable to decode token, payload is not a valid JSON value.\", {\n cause: error\n });\n }\n}\n\n/**\n * @param {string} input\n */\nfunction base64UrlDecode(input) {\n let output = input.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"Input is not of the correct length.\");\n }\n try {\n return b64DecodeUnicode(output);\n } catch (error) {\n return atob(output);\n }\n}\n\n/**\n * @param {string} input\n */\nfunction b64DecodeUnicode(input) {\n return decodeURIComponent(atob(input).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\n\n/**\n * Check if the input is an object that can be operated on.\n * @param {unknown} input\n */\nfunction isObject(input) {\n return typeof input === 'object' && input !== null;\n}","map":{"version":3,"names":["Keycloak","config","Error","isObject","requiredProperties","property","kc","adapter","refreshQueue","callbackStorage","loginIframe","enable","callbackList","interval","didInitialize","useNonce","logInfo","createLogger","console","info","logWarn","warn","globalThis","isSecureContext","init","initOptions","authenticated","createCallbackStorage","adapters","indexOf","loadAdapter","window","Cordova","cordova","checkLoginIframe","checkLoginIframeInterval","onLoad","loginRequired","responseMode","flow","responseType","timeSkew","redirectUri","silentCheckSsoRedirectUri","silentCheckSsoFallback","pkceMethod","TypeError","enableLogging","logoutMethod","scope","acrValues","messageReceiveTimeout","promise","createPromise","initPromise","then","onReady","setSuccess","catch","error","setError","configPromise","loadConfig","doLogin","prompt","options","locale","login","checkSsoSilently","_ref","_asyncToGenerator","ifrm","document","createElement","src","createLoginUrl","setAttribute","style","display","body","appendChild","messageCallback","event","origin","location","contentWindow","source","oauth","parseCallback","data","processCallback","removeChild","removeEventListener","addEventListener","apply","arguments","setupCheckLoginIframe","unchanged","processInit","callback","href","history","replaceState","state","newUrl","valid","token","refreshToken","setToken","idToken","onAuthSuccess","scheduleCheckIframe","updateToken","onAuthError","check3pCookiesSupported","generateRandomData","len","crypto","getRandomValues","Uint8Array","generateCodeVerifier","generateRandomString","alphabet","randomData","chars","Array","i","charCodeAt","length","String","fromCharCode","generatePkceChallenge","_x","_x2","_generatePkceChallenge","codeVerifier","hashBytes","sha256Digest","encodedHash","bytesToBase64","replace","buildClaimsParameter","requestedAcr","claims","id_token","acr","JSON","stringify","_ref2","createUUID","nonce","callbackState","encodeURIComponent","loginOptions","baseUrl","action","endpoints","register","authorize","url","clientId","maxAge","loginHint","idpHint","claimsParameter","pkceChallenge","pkceCodeVerifier","cause","add","_x3","logout","createLogoutUrl","createRegisterUrl","_ref3","_x4","createAccountUrl","realm","getRealmUrl","undefined","accountManagement","hasRealmRole","role","access","realmAccess","roles","hasResourceRole","resource","resourceAccess","loadUserProfile","req","XMLHttpRequest","open","setRequestHeader","onreadystatechange","readyState","status","profile","parse","responseText","send","loadUserInfo","userinfo","userInfo","isTokenExpired","minValidity","tokenParsed","expiresIn","Math","ceil","Date","getTime","isNaN","exec","params","push","withCredentials","timeLocal","tokenResponse","onAuthRefreshSuccess","p","pop","clearToken","onAuthRefreshError","iframePromise","onAuthLogout","authServerUrl","charAt","getOrigin","protocol","hostname","port","code","onActionUpdate","error_description","errorData","access_token","authSuccess","accessToken","fulfillPromise","idTokenParsed","storedNonce","configUrl","setupOidcEndoints","oidcConfiguration","checkSessionIframe","thirdPartyCookiesIframe","authorization_endpoint","token_endpoint","end_session_endpoint","check_session_iframe","userinfo_endpoint","fileLoaded","oidcProvider","oidcProviderConfigUrl","oidcProviderConfig","xhr","responseURL","startsWith","tokenTimeoutHandle","clearTimeout","refreshTokenParsed","decodeToken","sessionId","sid","subject","sub","realm_access","resource_access","floor","iat","onTokenExpired","round","setTimeout","randomUUID","parseCallbackUrl","oauthState","get","supportedParams","queryIndex","fragmentIndex","parsed","substring","parseCallbackParams","paramsString","oauthParams","split","result","key","slice","resolve","reject","Promise","applyTimeoutToPromise","timeout","errorMessage","timeoutHandle","timeoutPromise","race","finally","iframe","onload","authUrl","iframeOrigin","callbacks","splice","msg","postMessage","type","_ref4","assign","_x5","_ref5","form","id_token_hint","client_id","post_logout_redirect_uri","name","value","Object","entries","input","submit","_x6","_ref6","_x7","accountUrl","encodeHash","cordovaOpenWindowWrapper","loginUrl","target","InAppBrowser","shallowCloneCordovaOptions","userOptions","cordovaOptions","keys","reduce","optionName","formatCordovaOptions","join","createCordovaOptions","hidden","getCordovaRedirectUri","_ref7","ref","completed","closed","closeBrowser","close","reason","_x8","logoutUrl","_ref8","registerUrl","_x9","_ref9","universalLinks","subscribe","unsubscribe","plugins","browsertab","openUrl","_x0","_ref0","_x1","STORAGE_KEY_PREFIX","LocalStorage","localStorage","setItem","removeItem","cs","clearInvalidValues","currentTime","now","getStoredEntries","expiry","parseExpiry","clearAllValues","filter","parsedValue","expires","getItem","CookieStorage","getCookie","setCookie","cookieExpiration","minutes","exp","setTime","ca","cookie","c","expirationDate","toUTCString","err","fn","prototype","call","bytes","binString","fromCodePoint","btoa","_x10","_sha256Digest","message","encoder","TextEncoder","encode","subtle","digest","header","payload","decoded","base64UrlDecode","output","replaceAll","b64DecodeUnicode","atob","decodeURIComponent","m","toString","toUpperCase"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/keycloak-js/lib/keycloak.js"],"sourcesContent":["/*\n * Copyright 2016 Red Hat, Inc. and/or its affiliates\n * and other contributors as indicated by the @author tags.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction Keycloak (config) {\n if (!(this instanceof Keycloak)) {\n throw new Error(\"The 'Keycloak' constructor must be invoked with 'new'.\")\n }\n\n if (typeof config !== 'string' && !isObject(config)) {\n throw new Error(\"The 'Keycloak' constructor must be provided with a configuration object, or a URL to a JSON configuration file.\");\n }\n\n if (isObject(config)) {\n const requiredProperties = 'oidcProvider' in config\n ? ['clientId']\n : ['url', 'realm', 'clientId'];\n\n for (const property of requiredProperties) {\n if (!config[property]) {\n throw new Error(`The configuration object is missing the required '${property}' property.`);\n }\n }\n }\n\n var kc = this;\n var adapter;\n var refreshQueue = [];\n var callbackStorage;\n\n var loginIframe = {\n enable: true,\n callbackList: [],\n interval: 5\n };\n\n kc.didInitialize = false;\n\n var useNonce = true;\n var logInfo = createLogger(console.info);\n var logWarn = createLogger(console.warn);\n\n if (!globalThis.isSecureContext) {\n logWarn(\n \"[KEYCLOAK] Keycloak JS must be used in a 'secure context' to function properly as it relies on browser APIs that are otherwise not available.\\n\" +\n \"Continuing to run your application insecurely will lead to unexpected behavior and breakage.\\n\\n\" +\n \"For more information see: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\n );\n }\n\n kc.init = function (initOptions = {}) {\n if (kc.didInitialize) {\n throw new Error(\"A 'Keycloak' instance can only be initialized once.\");\n }\n\n kc.didInitialize = true;\n\n kc.authenticated = false;\n\n callbackStorage = createCallbackStorage();\n var adapters = ['default', 'cordova', 'cordova-native'];\n\n if (adapters.indexOf(initOptions.adapter) > -1) {\n adapter = loadAdapter(initOptions.adapter);\n } else if (typeof initOptions.adapter === \"object\") {\n adapter = initOptions.adapter;\n } else {\n if (window.Cordova || window.cordova) {\n adapter = loadAdapter('cordova');\n } else {\n adapter = loadAdapter();\n }\n }\n\n if (typeof initOptions.useNonce !== 'undefined') {\n useNonce = initOptions.useNonce;\n }\n\n if (typeof initOptions.checkLoginIframe !== 'undefined') {\n loginIframe.enable = initOptions.checkLoginIframe;\n }\n\n if (initOptions.checkLoginIframeInterval) {\n loginIframe.interval = initOptions.checkLoginIframeInterval;\n }\n\n if (initOptions.onLoad === 'login-required') {\n kc.loginRequired = true;\n }\n\n if (initOptions.responseMode) {\n if (initOptions.responseMode === 'query' || initOptions.responseMode === 'fragment') {\n kc.responseMode = initOptions.responseMode;\n } else {\n throw 'Invalid value for responseMode';\n }\n }\n\n if (initOptions.flow) {\n switch (initOptions.flow) {\n case 'standard':\n kc.responseType = 'code';\n break;\n case 'implicit':\n kc.responseType = 'id_token token';\n break;\n case 'hybrid':\n kc.responseType = 'code id_token token';\n break;\n default:\n throw 'Invalid value for flow';\n }\n kc.flow = initOptions.flow;\n }\n\n if (initOptions.timeSkew != null) {\n kc.timeSkew = initOptions.timeSkew;\n }\n\n if(initOptions.redirectUri) {\n kc.redirectUri = initOptions.redirectUri;\n }\n\n if (initOptions.silentCheckSsoRedirectUri) {\n kc.silentCheckSsoRedirectUri = initOptions.silentCheckSsoRedirectUri;\n }\n\n if (typeof initOptions.silentCheckSsoFallback === 'boolean') {\n kc.silentCheckSsoFallback = initOptions.silentCheckSsoFallback;\n } else {\n kc.silentCheckSsoFallback = true;\n }\n\n if (typeof initOptions.pkceMethod !== \"undefined\") {\n if (initOptions.pkceMethod !== \"S256\" && initOptions.pkceMethod !== false) {\n throw new TypeError(`Invalid value for pkceMethod', expected 'S256' or false but got ${initOptions.pkceMethod}.`);\n }\n\n kc.pkceMethod = initOptions.pkceMethod;\n } else {\n kc.pkceMethod = \"S256\";\n }\n\n if (typeof initOptions.enableLogging === 'boolean') {\n kc.enableLogging = initOptions.enableLogging;\n } else {\n kc.enableLogging = false;\n }\n\n if (initOptions.logoutMethod === 'POST') {\n kc.logoutMethod = 'POST';\n } else {\n kc.logoutMethod = 'GET';\n }\n\n if (typeof initOptions.scope === 'string') {\n kc.scope = initOptions.scope;\n }\n\n if (typeof initOptions.acrValues === 'string') {\n kc.acrValues = initOptions.acrValues;\n }\n\n if (typeof initOptions.messageReceiveTimeout === 'number' && initOptions.messageReceiveTimeout > 0) {\n kc.messageReceiveTimeout = initOptions.messageReceiveTimeout;\n } else {\n kc.messageReceiveTimeout = 10000;\n }\n\n if (!kc.responseMode) {\n kc.responseMode = 'fragment';\n }\n if (!kc.responseType) {\n kc.responseType = 'code';\n kc.flow = 'standard';\n }\n\n var promise = createPromise();\n\n var initPromise = createPromise();\n initPromise.promise.then(function() {\n kc.onReady && kc.onReady(kc.authenticated);\n promise.setSuccess(kc.authenticated);\n }).catch(function(error) {\n promise.setError(error);\n });\n\n var configPromise = loadConfig();\n\n function onLoad() {\n var doLogin = function(prompt) {\n if (!prompt) {\n options.prompt = 'none';\n }\n\n if (initOptions.locale) {\n options.locale = initOptions.locale;\n }\n kc.login(options).then(function () {\n initPromise.setSuccess();\n }).catch(function (error) {\n initPromise.setError(error);\n });\n }\n\n var checkSsoSilently = async function() {\n var ifrm = document.createElement(\"iframe\");\n var src = await kc.createLoginUrl({prompt: 'none', redirectUri: kc.silentCheckSsoRedirectUri});\n ifrm.setAttribute(\"src\", src);\n ifrm.setAttribute(\"sandbox\", \"allow-storage-access-by-user-activation allow-scripts allow-same-origin\");\n ifrm.setAttribute(\"title\", \"keycloak-silent-check-sso\");\n ifrm.style.display = \"none\";\n document.body.appendChild(ifrm);\n\n var messageCallback = function(event) {\n if (event.origin !== window.location.origin || ifrm.contentWindow !== event.source) {\n return;\n }\n\n var oauth = parseCallback(event.data);\n processCallback(oauth, initPromise);\n\n document.body.removeChild(ifrm);\n window.removeEventListener(\"message\", messageCallback);\n };\n\n window.addEventListener(\"message\", messageCallback);\n };\n\n var options = {};\n switch (initOptions.onLoad) {\n case 'check-sso':\n if (loginIframe.enable) {\n setupCheckLoginIframe().then(function() {\n checkLoginIframe().then(function (unchanged) {\n if (!unchanged) {\n kc.silentCheckSsoRedirectUri ? checkSsoSilently() : doLogin(false);\n } else {\n initPromise.setSuccess();\n }\n }).catch(function (error) {\n initPromise.setError(error);\n });\n });\n } else {\n kc.silentCheckSsoRedirectUri ? checkSsoSilently() : doLogin(false);\n }\n break;\n case 'login-required':\n doLogin(true);\n break;\n default:\n throw 'Invalid value for onLoad';\n }\n }\n\n function processInit() {\n var callback = parseCallback(window.location.href);\n\n if (callback) {\n window.history.replaceState(window.history.state, null, callback.newUrl);\n }\n\n if (callback && callback.valid) {\n return setupCheckLoginIframe().then(function() {\n processCallback(callback, initPromise);\n }).catch(function (error) {\n initPromise.setError(error);\n });\n }\n\n if (initOptions.token && initOptions.refreshToken) {\n setToken(initOptions.token, initOptions.refreshToken, initOptions.idToken);\n\n if (loginIframe.enable) {\n setupCheckLoginIframe().then(function() {\n checkLoginIframe().then(function (unchanged) {\n if (unchanged) {\n kc.onAuthSuccess && kc.onAuthSuccess();\n initPromise.setSuccess();\n scheduleCheckIframe();\n } else {\n initPromise.setSuccess();\n }\n }).catch(function (error) {\n initPromise.setError(error);\n });\n });\n } else {\n kc.updateToken(-1).then(function() {\n kc.onAuthSuccess && kc.onAuthSuccess();\n initPromise.setSuccess();\n }).catch(function(error) {\n kc.onAuthError && kc.onAuthError();\n if (initOptions.onLoad) {\n onLoad();\n } else {\n initPromise.setError(error);\n }\n });\n }\n } else if (initOptions.onLoad) {\n onLoad();\n } else {\n initPromise.setSuccess();\n }\n }\n\n configPromise.then(function () {\n check3pCookiesSupported()\n .then(processInit)\n .catch(function (error) {\n promise.setError(error);\n });\n });\n configPromise.catch(function (error) {\n promise.setError(error);\n });\n\n return promise.promise;\n }\n\n kc.login = function (options) {\n return adapter.login(options);\n }\n\n function generateRandomData(len) {\n if (typeof crypto === \"undefined\" || typeof crypto.getRandomValues === \"undefined\") {\n throw new Error(\"Web Crypto API is not available.\");\n }\n\n return crypto.getRandomValues(new Uint8Array(len));\n }\n\n function generateCodeVerifier(len) {\n return generateRandomString(len, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789');\n }\n\n function generateRandomString(len, alphabet){\n var randomData = generateRandomData(len);\n var chars = new Array(len);\n for (var i = 0; i < len; i++) {\n chars[i] = alphabet.charCodeAt(randomData[i] % alphabet.length);\n }\n return String.fromCharCode.apply(null, chars);\n }\n\n async function generatePkceChallenge(pkceMethod, codeVerifier) {\n if (pkceMethod !== \"S256\") {\n throw new TypeError(`Invalid value for 'pkceMethod', expected 'S256' but got '${pkceMethod}'.`);\n }\n\n // hash codeVerifier, then encode as url-safe base64 without padding\n const hashBytes = new Uint8Array(await sha256Digest(codeVerifier));\n const encodedHash = bytesToBase64(hashBytes)\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/\\=/g, '');\n\n return encodedHash;\n }\n\n function buildClaimsParameter(requestedAcr){\n var claims = {\n id_token: {\n acr: requestedAcr\n }\n }\n return JSON.stringify(claims);\n }\n\n kc.createLoginUrl = async function(options) {\n var state = createUUID();\n var nonce = createUUID();\n\n var redirectUri = adapter.redirectUri(options);\n\n var callbackState = {\n state: state,\n nonce: nonce,\n redirectUri: encodeURIComponent(redirectUri),\n loginOptions: options\n };\n\n if (options && options.prompt) {\n callbackState.prompt = options.prompt;\n }\n\n var baseUrl;\n if (options && options.action == 'register') {\n baseUrl = kc.endpoints.register();\n } else {\n baseUrl = kc.endpoints.authorize();\n }\n\n var scope = options && options.scope || kc.scope;\n if (!scope) {\n // if scope is not set, default to \"openid\"\n scope = \"openid\";\n } else if (scope.indexOf(\"openid\") === -1) {\n // if openid scope is missing, prefix the given scopes with it\n scope = \"openid \" + scope;\n }\n\n var url = baseUrl\n + '?client_id=' + encodeURIComponent(kc.clientId)\n + '&redirect_uri=' + encodeURIComponent(redirectUri)\n + '&state=' + encodeURIComponent(state)\n + '&response_mode=' + encodeURIComponent(kc.responseMode)\n + '&response_type=' + encodeURIComponent(kc.responseType)\n + '&scope=' + encodeURIComponent(scope);\n if (useNonce) {\n url = url + '&nonce=' + encodeURIComponent(nonce);\n }\n\n if (options && options.prompt) {\n url += '&prompt=' + encodeURIComponent(options.prompt);\n }\n\n if (options && typeof options.maxAge === 'number') {\n url += '&max_age=' + encodeURIComponent(options.maxAge);\n }\n\n if (options && options.loginHint) {\n url += '&login_hint=' + encodeURIComponent(options.loginHint);\n }\n\n if (options && options.idpHint) {\n url += '&kc_idp_hint=' + encodeURIComponent(options.idpHint);\n }\n\n if (options && options.action && options.action != 'register') {\n url += '&kc_action=' + encodeURIComponent(options.action);\n }\n\n if (options && options.locale) {\n url += '&ui_locales=' + encodeURIComponent(options.locale);\n }\n\n if (options && options.acr) {\n var claimsParameter = buildClaimsParameter(options.acr);\n url += '&claims=' + encodeURIComponent(claimsParameter);\n }\n\n if ((options && options.acrValues) || kc.acrValues) {\n url += '&acr_values=' + encodeURIComponent(options.acrValues || kc.acrValues);\n }\n\n if (kc.pkceMethod) {\n try {\n const codeVerifier = generateCodeVerifier(96);\n const pkceChallenge = await generatePkceChallenge(kc.pkceMethod, codeVerifier);\n\n callbackState.pkceCodeVerifier = codeVerifier;\n\n url += '&code_challenge=' + pkceChallenge;\n url += '&code_challenge_method=' + kc.pkceMethod;\n } catch (error) {\n throw new Error(\"Failed to generate PKCE challenge.\", { cause: error });\n }\n }\n\n callbackStorage.add(callbackState);\n\n return url;\n }\n\n kc.logout = function(options) {\n return adapter.logout(options);\n }\n\n kc.createLogoutUrl = function(options) {\n\n const logoutMethod = options?.logoutMethod ?? kc.logoutMethod;\n if (logoutMethod === 'POST') {\n return kc.endpoints.logout();\n }\n\n var url = kc.endpoints.logout()\n + '?client_id=' + encodeURIComponent(kc.clientId)\n + '&post_logout_redirect_uri=' + encodeURIComponent(adapter.redirectUri(options, false));\n\n if (kc.idToken) {\n url += '&id_token_hint=' + encodeURIComponent(kc.idToken);\n }\n\n return url;\n }\n\n kc.register = function (options) {\n return adapter.register(options);\n }\n\n kc.createRegisterUrl = async function(options) {\n if (!options) {\n options = {};\n }\n options.action = 'register';\n return await kc.createLoginUrl(options);\n }\n\n kc.createAccountUrl = function(options) {\n var realm = getRealmUrl();\n var url = undefined;\n if (typeof realm !== 'undefined') {\n url = realm\n + '/account'\n + '?referrer=' + encodeURIComponent(kc.clientId)\n + '&referrer_uri=' + encodeURIComponent(adapter.redirectUri(options));\n }\n return url;\n }\n\n kc.accountManagement = function() {\n return adapter.accountManagement();\n }\n\n kc.hasRealmRole = function (role) {\n var access = kc.realmAccess;\n return !!access && access.roles.indexOf(role) >= 0;\n }\n\n kc.hasResourceRole = function(role, resource) {\n if (!kc.resourceAccess) {\n return false;\n }\n\n var access = kc.resourceAccess[resource || kc.clientId];\n return !!access && access.roles.indexOf(role) >= 0;\n }\n\n kc.loadUserProfile = function() {\n var url = getRealmUrl() + '/account';\n var req = new XMLHttpRequest();\n req.open('GET', url, true);\n req.setRequestHeader('Accept', 'application/json');\n req.setRequestHeader('Authorization', 'bearer ' + kc.token);\n\n var promise = createPromise();\n\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n kc.profile = JSON.parse(req.responseText);\n promise.setSuccess(kc.profile);\n } else {\n promise.setError();\n }\n }\n }\n\n req.send();\n\n return promise.promise;\n }\n\n kc.loadUserInfo = function() {\n var url = kc.endpoints.userinfo();\n var req = new XMLHttpRequest();\n req.open('GET', url, true);\n req.setRequestHeader('Accept', 'application/json');\n req.setRequestHeader('Authorization', 'bearer ' + kc.token);\n\n var promise = createPromise();\n\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n kc.userInfo = JSON.parse(req.responseText);\n promise.setSuccess(kc.userInfo);\n } else {\n promise.setError();\n }\n }\n }\n\n req.send();\n\n return promise.promise;\n }\n\n kc.isTokenExpired = function(minValidity) {\n if (!kc.tokenParsed || (!kc.refreshToken && kc.flow != 'implicit' )) {\n throw 'Not authenticated';\n }\n\n if (kc.timeSkew == null) {\n logInfo('[KEYCLOAK] Unable to determine if token is expired as timeskew is not set');\n return true;\n }\n\n var expiresIn = kc.tokenParsed['exp'] - Math.ceil(new Date().getTime() / 1000) + kc.timeSkew;\n if (minValidity) {\n if (isNaN(minValidity)) {\n throw 'Invalid minValidity';\n }\n expiresIn -= minValidity;\n }\n return expiresIn < 0;\n }\n\n kc.updateToken = function(minValidity) {\n var promise = createPromise();\n\n if (!kc.refreshToken) {\n promise.setError();\n return promise.promise;\n }\n\n minValidity = minValidity || 5;\n\n var exec = function() {\n var refreshToken = false;\n if (minValidity == -1) {\n refreshToken = true;\n logInfo('[KEYCLOAK] Refreshing token: forced refresh');\n } else if (!kc.tokenParsed || kc.isTokenExpired(minValidity)) {\n refreshToken = true;\n logInfo('[KEYCLOAK] Refreshing token: token expired');\n }\n\n if (!refreshToken) {\n promise.setSuccess(false);\n } else {\n var params = 'grant_type=refresh_token&' + 'refresh_token=' + kc.refreshToken;\n var url = kc.endpoints.token();\n\n refreshQueue.push(promise);\n\n if (refreshQueue.length == 1) {\n var req = new XMLHttpRequest();\n req.open('POST', url, true);\n req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n req.withCredentials = true;\n\n params += '&client_id=' + encodeURIComponent(kc.clientId);\n\n var timeLocal = new Date().getTime();\n\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200) {\n logInfo('[KEYCLOAK] Token refreshed');\n\n timeLocal = (timeLocal + new Date().getTime()) / 2;\n\n var tokenResponse = JSON.parse(req.responseText);\n\n setToken(tokenResponse['access_token'], tokenResponse['refresh_token'], tokenResponse['id_token'], timeLocal);\n\n kc.onAuthRefreshSuccess && kc.onAuthRefreshSuccess();\n for (var p = refreshQueue.pop(); p != null; p = refreshQueue.pop()) {\n p.setSuccess(true);\n }\n } else {\n logWarn('[KEYCLOAK] Failed to refresh token');\n\n if (req.status == 400) {\n kc.clearToken();\n }\n\n kc.onAuthRefreshError && kc.onAuthRefreshError();\n for (var p = refreshQueue.pop(); p != null; p = refreshQueue.pop()) {\n p.setError(\"Failed to refresh token: An unexpected HTTP error occurred while attempting to refresh the token.\");\n }\n }\n }\n };\n\n req.send(params);\n }\n }\n }\n\n if (loginIframe.enable) {\n var iframePromise = checkLoginIframe();\n iframePromise.then(function() {\n exec();\n }).catch(function(error) {\n promise.setError(error);\n });\n } else {\n exec();\n }\n\n return promise.promise;\n }\n\n kc.clearToken = function() {\n if (kc.token) {\n setToken(null, null, null);\n kc.onAuthLogout && kc.onAuthLogout();\n if (kc.loginRequired) {\n kc.login();\n }\n }\n }\n\n function getRealmUrl() {\n if (typeof kc.authServerUrl !== 'undefined') {\n if (kc.authServerUrl.charAt(kc.authServerUrl.length - 1) == '/') {\n return kc.authServerUrl + 'realms/' + encodeURIComponent(kc.realm);\n } else {\n return kc.authServerUrl + '/realms/' + encodeURIComponent(kc.realm);\n }\n } else {\n return undefined;\n }\n }\n\n function getOrigin() {\n if (!window.location.origin) {\n return window.location.protocol + \"//\" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');\n } else {\n return window.location.origin;\n }\n }\n\n function processCallback(oauth, promise) {\n var code = oauth.code;\n var error = oauth.error;\n var prompt = oauth.prompt;\n\n var timeLocal = new Date().getTime();\n\n if (oauth['kc_action_status']) {\n kc.onActionUpdate && kc.onActionUpdate(oauth['kc_action_status'], oauth['kc_action']);\n }\n\n if (error) {\n if (prompt != 'none') {\n if (oauth.error_description && oauth.error_description === \"authentication_expired\") {\n kc.login(oauth.loginOptions);\n } else {\n var errorData = { error: error, error_description: oauth.error_description };\n kc.onAuthError && kc.onAuthError(errorData);\n promise && promise.setError(errorData);\n }\n } else {\n promise && promise.setSuccess();\n }\n return;\n } else if ((kc.flow != 'standard') && (oauth.access_token || oauth.id_token)) {\n authSuccess(oauth.access_token, null, oauth.id_token, true);\n }\n\n if ((kc.flow != 'implicit') && code) {\n var params = 'code=' + code + '&grant_type=authorization_code';\n var url = kc.endpoints.token();\n\n var req = new XMLHttpRequest();\n req.open('POST', url, true);\n req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n\n params += '&client_id=' + encodeURIComponent(kc.clientId);\n params += '&redirect_uri=' + oauth.redirectUri;\n\n if (oauth.pkceCodeVerifier) {\n params += '&code_verifier=' + oauth.pkceCodeVerifier;\n }\n\n req.withCredentials = true;\n\n req.onreadystatechange = function() {\n if (req.readyState == 4) {\n if (req.status == 200) {\n\n var tokenResponse = JSON.parse(req.responseText);\n authSuccess(tokenResponse['access_token'], tokenResponse['refresh_token'], tokenResponse['id_token'], kc.flow === 'standard');\n scheduleCheckIframe();\n } else {\n kc.onAuthError && kc.onAuthError();\n promise && promise.setError();\n }\n }\n };\n\n req.send(params);\n }\n\n function authSuccess(accessToken, refreshToken, idToken, fulfillPromise) {\n timeLocal = (timeLocal + new Date().getTime()) / 2;\n\n setToken(accessToken, refreshToken, idToken, timeLocal);\n\n if (useNonce && (kc.idTokenParsed && kc.idTokenParsed.nonce != oauth.storedNonce)) {\n logInfo('[KEYCLOAK] Invalid nonce, clearing token');\n kc.clearToken();\n promise && promise.setError();\n } else {\n if (fulfillPromise) {\n kc.onAuthSuccess && kc.onAuthSuccess();\n promise && promise.setSuccess();\n }\n }\n }\n\n }\n\n function loadConfig() {\n var promise = createPromise();\n var configUrl;\n\n if (typeof config === 'string') {\n configUrl = config;\n }\n\n function setupOidcEndoints(oidcConfiguration) {\n if (! oidcConfiguration) {\n kc.endpoints = {\n authorize: function() {\n return getRealmUrl() + '/protocol/openid-connect/auth';\n },\n token: function() {\n return getRealmUrl() + '/protocol/openid-connect/token';\n },\n logout: function() {\n return getRealmUrl() + '/protocol/openid-connect/logout';\n },\n checkSessionIframe: function() {\n return getRealmUrl() + '/protocol/openid-connect/login-status-iframe.html';\n },\n thirdPartyCookiesIframe: function() {\n return getRealmUrl() + '/protocol/openid-connect/3p-cookies/step1.html';\n },\n register: function() {\n return getRealmUrl() + '/protocol/openid-connect/registrations';\n },\n userinfo: function() {\n return getRealmUrl() + '/protocol/openid-connect/userinfo';\n }\n };\n } else {\n kc.endpoints = {\n authorize: function() {\n return oidcConfiguration.authorization_endpoint;\n },\n token: function() {\n return oidcConfiguration.token_endpoint;\n },\n logout: function() {\n if (!oidcConfiguration.end_session_endpoint) {\n throw \"Not supported by the OIDC server\";\n }\n return oidcConfiguration.end_session_endpoint;\n },\n checkSessionIframe: function() {\n if (!oidcConfiguration.check_session_iframe) {\n throw \"Not supported by the OIDC server\";\n }\n return oidcConfiguration.check_session_iframe;\n },\n register: function() {\n throw 'Redirection to \"Register user\" page not supported in standard OIDC mode';\n },\n userinfo: function() {\n if (!oidcConfiguration.userinfo_endpoint) {\n throw \"Not supported by the OIDC server\";\n }\n return oidcConfiguration.userinfo_endpoint;\n }\n }\n }\n }\n\n if (configUrl) {\n var req = new XMLHttpRequest();\n req.open('GET', configUrl, true);\n req.setRequestHeader('Accept', 'application/json');\n\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200 || fileLoaded(req)) {\n var config = JSON.parse(req.responseText);\n\n kc.authServerUrl = config['auth-server-url'];\n kc.realm = config['realm'];\n kc.clientId = config['resource'];\n setupOidcEndoints(null);\n promise.setSuccess();\n } else {\n promise.setError();\n }\n }\n };\n\n req.send();\n } else {\n kc.clientId = config.clientId;\n\n var oidcProvider = config['oidcProvider'];\n if (!oidcProvider) {\n kc.authServerUrl = config.url;\n kc.realm = config.realm;\n setupOidcEndoints(null);\n promise.setSuccess();\n } else {\n if (typeof oidcProvider === 'string') {\n var oidcProviderConfigUrl;\n if (oidcProvider.charAt(oidcProvider.length - 1) == '/') {\n oidcProviderConfigUrl = oidcProvider + '.well-known/openid-configuration';\n } else {\n oidcProviderConfigUrl = oidcProvider + '/.well-known/openid-configuration';\n }\n var req = new XMLHttpRequest();\n req.open('GET', oidcProviderConfigUrl, true);\n req.setRequestHeader('Accept', 'application/json');\n\n req.onreadystatechange = function () {\n if (req.readyState == 4) {\n if (req.status == 200 || fileLoaded(req)) {\n var oidcProviderConfig = JSON.parse(req.responseText);\n setupOidcEndoints(oidcProviderConfig);\n promise.setSuccess();\n } else {\n promise.setError();\n }\n }\n };\n\n req.send();\n } else {\n setupOidcEndoints(oidcProvider);\n promise.setSuccess();\n }\n }\n }\n\n return promise.promise;\n }\n\n function fileLoaded(xhr) {\n return xhr.status == 0 && xhr.responseText && xhr.responseURL.startsWith('file:');\n }\n\n function setToken(token, refreshToken, idToken, timeLocal) {\n if (kc.tokenTimeoutHandle) {\n clearTimeout(kc.tokenTimeoutHandle);\n kc.tokenTimeoutHandle = null;\n }\n\n if (refreshToken) {\n kc.refreshToken = refreshToken;\n kc.refreshTokenParsed = decodeToken(refreshToken);\n } else {\n delete kc.refreshToken;\n delete kc.refreshTokenParsed;\n }\n\n if (idToken) {\n kc.idToken = idToken;\n kc.idTokenParsed = decodeToken(idToken);\n } else {\n delete kc.idToken;\n delete kc.idTokenParsed;\n }\n\n if (token) {\n kc.token = token;\n kc.tokenParsed = decodeToken(token);\n kc.sessionId = kc.tokenParsed.sid;\n kc.authenticated = true;\n kc.subject = kc.tokenParsed.sub;\n kc.realmAccess = kc.tokenParsed.realm_access;\n kc.resourceAccess = kc.tokenParsed.resource_access;\n\n if (timeLocal) {\n kc.timeSkew = Math.floor(timeLocal / 1000) - kc.tokenParsed.iat;\n }\n\n if (kc.timeSkew != null) {\n logInfo('[KEYCLOAK] Estimated time difference between browser and server is ' + kc.timeSkew + ' seconds');\n\n if (kc.onTokenExpired) {\n var expiresIn = (kc.tokenParsed['exp'] - (new Date().getTime() / 1000) + kc.timeSkew) * 1000;\n logInfo('[KEYCLOAK] Token expires in ' + Math.round(expiresIn / 1000) + ' s');\n if (expiresIn <= 0) {\n kc.onTokenExpired();\n } else {\n kc.tokenTimeoutHandle = setTimeout(kc.onTokenExpired, expiresIn);\n }\n }\n }\n } else {\n delete kc.token;\n delete kc.tokenParsed;\n delete kc.subject;\n delete kc.realmAccess;\n delete kc.resourceAccess;\n\n kc.authenticated = false;\n }\n }\n\n function createUUID() {\n if (typeof crypto === \"undefined\" || typeof crypto.randomUUID === \"undefined\") {\n throw new Error(\"Web Crypto API is not available.\");\n }\n\n return crypto.randomUUID();\n }\n\n function parseCallback(url) {\n var oauth = parseCallbackUrl(url);\n if (!oauth) {\n return;\n }\n\n var oauthState = callbackStorage.get(oauth.state);\n\n if (oauthState) {\n oauth.valid = true;\n oauth.redirectUri = oauthState.redirectUri;\n oauth.storedNonce = oauthState.nonce;\n oauth.prompt = oauthState.prompt;\n oauth.pkceCodeVerifier = oauthState.pkceCodeVerifier;\n oauth.loginOptions = oauthState.loginOptions;\n }\n\n return oauth;\n }\n\n function parseCallbackUrl(url) {\n var supportedParams;\n switch (kc.flow) {\n case 'standard':\n supportedParams = ['code', 'state', 'session_state', 'kc_action_status', 'kc_action', 'iss'];\n break;\n case 'implicit':\n supportedParams = ['access_token', 'token_type', 'id_token', 'state', 'session_state', 'expires_in', 'kc_action_status', 'kc_action', 'iss'];\n break;\n case 'hybrid':\n supportedParams = ['access_token', 'token_type', 'id_token', 'code', 'state', 'session_state', 'expires_in', 'kc_action_status', 'kc_action', 'iss'];\n break;\n }\n\n supportedParams.push('error');\n supportedParams.push('error_description');\n supportedParams.push('error_uri');\n\n var queryIndex = url.indexOf('?');\n var fragmentIndex = url.indexOf('#');\n\n var newUrl;\n var parsed;\n\n if (kc.responseMode === 'query' && queryIndex !== -1) {\n newUrl = url.substring(0, queryIndex);\n parsed = parseCallbackParams(url.substring(queryIndex + 1, fragmentIndex !== -1 ? fragmentIndex : url.length), supportedParams);\n if (parsed.paramsString !== '') {\n newUrl += '?' + parsed.paramsString;\n }\n if (fragmentIndex !== -1) {\n newUrl += url.substring(fragmentIndex);\n }\n } else if (kc.responseMode === 'fragment' && fragmentIndex !== -1) {\n newUrl = url.substring(0, fragmentIndex);\n parsed = parseCallbackParams(url.substring(fragmentIndex + 1), supportedParams);\n if (parsed.paramsString !== '') {\n newUrl += '#' + parsed.paramsString;\n }\n }\n\n if (parsed && parsed.oauthParams) {\n if (kc.flow === 'standard' || kc.flow === 'hybrid') {\n if ((parsed.oauthParams.code || parsed.oauthParams.error) && parsed.oauthParams.state) {\n parsed.oauthParams.newUrl = newUrl;\n return parsed.oauthParams;\n }\n } else if (kc.flow === 'implicit') {\n if ((parsed.oauthParams.access_token || parsed.oauthParams.error) && parsed.oauthParams.state) {\n parsed.oauthParams.newUrl = newUrl;\n return parsed.oauthParams;\n }\n }\n }\n }\n\n function parseCallbackParams(paramsString, supportedParams) {\n var p = paramsString.split('&');\n var result = {\n paramsString: '',\n oauthParams: {}\n }\n for (var i = 0; i < p.length; i++) {\n var split = p[i].indexOf(\"=\");\n var key = p[i].slice(0, split);\n if (supportedParams.indexOf(key) !== -1) {\n result.oauthParams[key] = p[i].slice(split + 1);\n } else {\n if (result.paramsString !== '') {\n result.paramsString += '&';\n }\n result.paramsString += p[i];\n }\n }\n return result;\n }\n\n function createPromise() {\n // Need to create a native Promise which also preserves the\n // interface of the custom promise type previously used by the API\n var p = {\n setSuccess: function(result) {\n p.resolve(result);\n },\n\n setError: function(result) {\n p.reject(result);\n }\n };\n p.promise = new Promise(function(resolve, reject) {\n p.resolve = resolve;\n p.reject = reject;\n });\n\n return p;\n }\n\n // Function to extend existing native Promise with timeout\n function applyTimeoutToPromise(promise, timeout, errorMessage) {\n var timeoutHandle = null;\n var timeoutPromise = new Promise(function (resolve, reject) {\n timeoutHandle = setTimeout(function () {\n reject({ \"error\": errorMessage || \"Promise is not settled within timeout of \" + timeout + \"ms\" });\n }, timeout);\n });\n\n return Promise.race([promise, timeoutPromise]).finally(function () {\n clearTimeout(timeoutHandle);\n });\n }\n\n function setupCheckLoginIframe() {\n var promise = createPromise();\n\n if (!loginIframe.enable) {\n promise.setSuccess();\n return promise.promise;\n }\n\n if (loginIframe.iframe) {\n promise.setSuccess();\n return promise.promise;\n }\n\n var iframe = document.createElement('iframe');\n loginIframe.iframe = iframe;\n\n iframe.onload = function() {\n var authUrl = kc.endpoints.authorize();\n if (authUrl.charAt(0) === '/') {\n loginIframe.iframeOrigin = getOrigin();\n } else {\n loginIframe.iframeOrigin = authUrl.substring(0, authUrl.indexOf('/', 8));\n }\n promise.setSuccess();\n }\n\n var src = kc.endpoints.checkSessionIframe();\n iframe.setAttribute('src', src );\n iframe.setAttribute('sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin');\n iframe.setAttribute('title', 'keycloak-session-iframe' );\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n\n var messageCallback = function(event) {\n if ((event.origin !== loginIframe.iframeOrigin) || (loginIframe.iframe.contentWindow !== event.source)) {\n return;\n }\n\n if (!(event.data == 'unchanged' || event.data == 'changed' || event.data == 'error')) {\n return;\n }\n\n\n if (event.data != 'unchanged') {\n kc.clearToken();\n }\n\n var callbacks = loginIframe.callbackList.splice(0, loginIframe.callbackList.length);\n\n for (var i = callbacks.length - 1; i >= 0; --i) {\n var promise = callbacks[i];\n if (event.data == 'error') {\n promise.setError();\n } else {\n promise.setSuccess(event.data == 'unchanged');\n }\n }\n };\n\n window.addEventListener('message', messageCallback, false);\n\n return promise.promise;\n }\n\n function scheduleCheckIframe() {\n if (loginIframe.enable) {\n if (kc.token) {\n setTimeout(function() {\n checkLoginIframe().then(function(unchanged) {\n if (unchanged) {\n scheduleCheckIframe();\n }\n });\n }, loginIframe.interval * 1000);\n }\n }\n }\n\n function checkLoginIframe() {\n var promise = createPromise();\n\n if (loginIframe.iframe && loginIframe.iframeOrigin ) {\n var msg = kc.clientId + ' ' + (kc.sessionId ? kc.sessionId : '');\n loginIframe.callbackList.push(promise);\n var origin = loginIframe.iframeOrigin;\n if (loginIframe.callbackList.length == 1) {\n loginIframe.iframe.contentWindow.postMessage(msg, origin);\n }\n } else {\n promise.setSuccess();\n }\n\n return promise.promise;\n }\n\n function check3pCookiesSupported() {\n var promise = createPromise();\n\n if ((loginIframe.enable || kc.silentCheckSsoRedirectUri) && typeof kc.endpoints.thirdPartyCookiesIframe === 'function') {\n var iframe = document.createElement('iframe');\n iframe.setAttribute('src', kc.endpoints.thirdPartyCookiesIframe());\n iframe.setAttribute('sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin');\n iframe.setAttribute('title', 'keycloak-3p-check-iframe' );\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n\n var messageCallback = function(event) {\n if (iframe.contentWindow !== event.source) {\n return;\n }\n\n if (event.data !== \"supported\" && event.data !== \"unsupported\") {\n return;\n } else if (event.data === \"unsupported\") {\n logWarn(\n \"[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means:\\n\\n\" +\n \" - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication).\\n\" +\n \" - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab).\\n\\n\" +\n \"For more information see: https://www.keycloak.org/securing-apps/javascript-adapter#_modern_browsers\"\n );\n\n loginIframe.enable = false;\n if (kc.silentCheckSsoFallback) {\n kc.silentCheckSsoRedirectUri = false;\n }\n }\n\n document.body.removeChild(iframe);\n window.removeEventListener(\"message\", messageCallback);\n promise.setSuccess();\n };\n\n window.addEventListener('message', messageCallback, false);\n } else {\n promise.setSuccess();\n }\n\n return applyTimeoutToPromise(promise.promise, kc.messageReceiveTimeout, \"Timeout when waiting for 3rd party check iframe message.\");\n }\n\n function loadAdapter(type) {\n if (!type || type == 'default') {\n return {\n login: async function(options) {\n window.location.assign(await kc.createLoginUrl(options));\n return createPromise().promise;\n },\n\n logout: async function(options) {\n\n const logoutMethod = options?.logoutMethod ?? kc.logoutMethod;\n if (logoutMethod === \"GET\") {\n window.location.replace(kc.createLogoutUrl(options));\n return;\n }\n\n // Create form to send POST request.\n const form = document.createElement(\"form\");\n\n form.setAttribute(\"method\", \"POST\");\n form.setAttribute(\"action\", kc.createLogoutUrl(options));\n form.style.display = \"none\";\n\n // Add data to form as hidden input fields.\n const data = {\n id_token_hint: kc.idToken,\n client_id: kc.clientId,\n post_logout_redirect_uri: adapter.redirectUri(options, false)\n };\n\n for (const [name, value] of Object.entries(data)) {\n const input = document.createElement(\"input\");\n\n input.setAttribute(\"type\", \"hidden\");\n input.setAttribute(\"name\", name);\n input.setAttribute(\"value\", value);\n\n form.appendChild(input);\n }\n\n // Append form to page and submit it to perform logout and redirect.\n document.body.appendChild(form);\n form.submit();\n },\n\n register: async function(options) {\n window.location.assign(await kc.createRegisterUrl(options));\n return createPromise().promise;\n },\n\n accountManagement : function() {\n var accountUrl = kc.createAccountUrl();\n if (typeof accountUrl !== 'undefined') {\n window.location.href = accountUrl;\n } else {\n throw \"Not supported by the OIDC server\";\n }\n return createPromise().promise;\n },\n\n redirectUri: function(options, encodeHash) {\n if (arguments.length == 1) {\n encodeHash = true;\n }\n\n if (options && options.redirectUri) {\n return options.redirectUri;\n } else if (kc.redirectUri) {\n return kc.redirectUri;\n } else {\n return location.href;\n }\n }\n };\n }\n\n if (type == 'cordova') {\n loginIframe.enable = false;\n var cordovaOpenWindowWrapper = function(loginUrl, target, options) {\n if (window.cordova && window.cordova.InAppBrowser) {\n // Use inappbrowser for IOS and Android if available\n return window.cordova.InAppBrowser.open(loginUrl, target, options);\n } else {\n return window.open(loginUrl, target, options);\n }\n };\n\n var shallowCloneCordovaOptions = function (userOptions) {\n if (userOptions && userOptions.cordovaOptions) {\n return Object.keys(userOptions.cordovaOptions).reduce(function (options, optionName) {\n options[optionName] = userOptions.cordovaOptions[optionName];\n return options;\n }, {});\n } else {\n return {};\n }\n };\n\n var formatCordovaOptions = function (cordovaOptions) {\n return Object.keys(cordovaOptions).reduce(function (options, optionName) {\n options.push(optionName+\"=\"+cordovaOptions[optionName]);\n return options;\n }, []).join(\",\");\n };\n\n var createCordovaOptions = function (userOptions) {\n var cordovaOptions = shallowCloneCordovaOptions(userOptions);\n cordovaOptions.location = 'no';\n if (userOptions && userOptions.prompt == 'none') {\n cordovaOptions.hidden = 'yes';\n }\n return formatCordovaOptions(cordovaOptions);\n };\n\n var getCordovaRedirectUri = function() {\n return kc.redirectUri || 'http://localhost';\n }\n\n return {\n login: async function(options) {\n var promise = createPromise();\n\n var cordovaOptions = createCordovaOptions(options);\n var loginUrl = await kc.createLoginUrl(options);\n var ref = cordovaOpenWindowWrapper(loginUrl, '_blank', cordovaOptions);\n var completed = false;\n\n var closed = false;\n var closeBrowser = function() {\n closed = true;\n ref.close();\n };\n\n ref.addEventListener('loadstart', function(event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n var callback = parseCallback(event.url);\n processCallback(callback, promise);\n closeBrowser();\n completed = true;\n }\n });\n\n ref.addEventListener('loaderror', function(event) {\n if (!completed) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n var callback = parseCallback(event.url);\n processCallback(callback, promise);\n closeBrowser();\n completed = true;\n } else {\n promise.setError();\n closeBrowser();\n }\n }\n });\n\n ref.addEventListener('exit', function(event) {\n if (!closed) {\n promise.setError({\n reason: \"closed_by_user\"\n });\n }\n });\n\n return promise.promise;\n },\n\n logout: function(options) {\n var promise = createPromise();\n\n var logoutUrl = kc.createLogoutUrl(options);\n var ref = cordovaOpenWindowWrapper(logoutUrl, '_blank', 'location=no,hidden=yes,clearcache=yes');\n\n var error;\n\n ref.addEventListener('loadstart', function(event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n }\n });\n\n ref.addEventListener('loaderror', function(event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n } else {\n error = true;\n ref.close();\n }\n });\n\n ref.addEventListener('exit', function(event) {\n if (error) {\n promise.setError();\n } else {\n kc.clearToken();\n promise.setSuccess();\n }\n });\n\n return promise.promise;\n },\n\n register : async function(options) {\n var promise = createPromise();\n var registerUrl = await kc.createRegisterUrl();\n var cordovaOptions = createCordovaOptions(options);\n var ref = cordovaOpenWindowWrapper(registerUrl, '_blank', cordovaOptions);\n ref.addEventListener('loadstart', function(event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n var oauth = parseCallback(event.url);\n processCallback(oauth, promise);\n }\n });\n return promise.promise;\n },\n\n accountManagement : function() {\n var accountUrl = kc.createAccountUrl();\n if (typeof accountUrl !== 'undefined') {\n var ref = cordovaOpenWindowWrapper(accountUrl, '_blank', 'location=no');\n ref.addEventListener('loadstart', function(event) {\n if (event.url.indexOf(getCordovaRedirectUri()) == 0) {\n ref.close();\n }\n });\n } else {\n throw \"Not supported by the OIDC server\";\n }\n },\n\n redirectUri: function(options) {\n return getCordovaRedirectUri();\n }\n }\n }\n\n if (type == 'cordova-native') {\n loginIframe.enable = false;\n\n return {\n login: async function(options) {\n var promise = createPromise();\n var loginUrl = await kc.createLoginUrl(options);\n\n universalLinks.subscribe('keycloak', function(event) {\n universalLinks.unsubscribe('keycloak');\n window.cordova.plugins.browsertab.close();\n var oauth = parseCallback(event.url);\n processCallback(oauth, promise);\n });\n\n window.cordova.plugins.browsertab.openUrl(loginUrl);\n return promise.promise;\n },\n\n logout: function(options) {\n var promise = createPromise();\n var logoutUrl = kc.createLogoutUrl(options);\n\n universalLinks.subscribe('keycloak', function(event) {\n universalLinks.unsubscribe('keycloak');\n window.cordova.plugins.browsertab.close();\n kc.clearToken();\n promise.setSuccess();\n });\n\n window.cordova.plugins.browsertab.openUrl(logoutUrl);\n return promise.promise;\n },\n\n register : async function(options) {\n var promise = createPromise();\n var registerUrl = await kc.createRegisterUrl(options);\n universalLinks.subscribe('keycloak' , function(event) {\n universalLinks.unsubscribe('keycloak');\n window.cordova.plugins.browsertab.close();\n var oauth = parseCallback(event.url);\n processCallback(oauth, promise);\n });\n window.cordova.plugins.browsertab.openUrl(registerUrl);\n return promise.promise;\n\n },\n\n accountManagement : function() {\n var accountUrl = kc.createAccountUrl();\n if (typeof accountUrl !== 'undefined') {\n window.cordova.plugins.browsertab.openUrl(accountUrl);\n } else {\n throw \"Not supported by the OIDC server\";\n }\n },\n\n redirectUri: function(options) {\n if (options && options.redirectUri) {\n return options.redirectUri;\n } else if (kc.redirectUri) {\n return kc.redirectUri;\n } else {\n return \"http://localhost\";\n }\n }\n }\n }\n\n throw 'invalid adapter type: ' + type;\n }\n\n const STORAGE_KEY_PREFIX = 'kc-callback-';\n\n var LocalStorage = function() {\n if (!(this instanceof LocalStorage)) {\n return new LocalStorage();\n }\n\n localStorage.setItem('kc-test', 'test');\n localStorage.removeItem('kc-test');\n\n var cs = this;\n\n /**\n * Clears all values from local storage that are no longer valid.\n */\n function clearInvalidValues() {\n const currentTime = Date.now();\n\n for (const [key, value] of getStoredEntries()) {\n // Attempt to parse the expiry time from the value.\n const expiry = parseExpiry(value);\n\n // Discard the value if it is malformed or expired.\n if (expiry === null || expiry < currentTime) {\n localStorage.removeItem(key);\n }\n }\n }\n\n /**\n * Clears all known values from local storage.\n */\n function clearAllValues() {\n for (const [key] of getStoredEntries()) {\n localStorage.removeItem(key);\n }\n }\n\n /**\n * Gets all entries stored in local storage that are known to be managed by this class.\n * @returns {Array<[string, unknown]>} An array of key-value pairs.\n */\n function getStoredEntries() {\n return Object.entries(localStorage).filter(([key]) => key.startsWith(STORAGE_KEY_PREFIX));\n }\n\n /**\n * Parses the expiry time from a value stored in local storage.\n * @param {unknown} value\n * @returns {number | null} The expiry time in milliseconds, or `null` if the value is malformed.\n */\n function parseExpiry(value) {\n let parsedValue;\n\n // Attempt to parse the value as JSON.\n try {\n parsedValue = JSON.parse(value);\n } catch (error) {\n return null;\n }\n\n // Attempt to extract the 'expires' property.\n if (isObject(parsedValue) && 'expires' in parsedValue && typeof parsedValue.expires === 'number') {\n return parsedValue.expires;\n }\n\n return null;\n }\n\n cs.get = function(state) {\n if (!state) {\n return;\n }\n\n var key = STORAGE_KEY_PREFIX + state;\n var value = localStorage.getItem(key);\n if (value) {\n localStorage.removeItem(key);\n value = JSON.parse(value);\n }\n\n clearInvalidValues();\n return value;\n };\n\n cs.add = function(state) {\n clearInvalidValues();\n\n const key = STORAGE_KEY_PREFIX + state.state;\n const value = JSON.stringify({\n ...state,\n // Set the expiry time to 1 hour from now.\n expires: Date.now() + (60 * 60 * 1000)\n });\n\n try {\n localStorage.setItem(key, value);\n } catch (error) {\n // If the storage is full, clear all known values and try again.\n clearAllValues();\n localStorage.setItem(key, value);\n }\n };\n };\n\n var CookieStorage = function() {\n if (!(this instanceof CookieStorage)) {\n return new CookieStorage();\n }\n\n var cs = this;\n\n cs.get = function(state) {\n if (!state) {\n return;\n }\n\n var value = getCookie(STORAGE_KEY_PREFIX + state);\n setCookie(STORAGE_KEY_PREFIX + state, '', cookieExpiration(-100));\n if (value) {\n return JSON.parse(value);\n }\n };\n\n cs.add = function(state) {\n setCookie(STORAGE_KEY_PREFIX + state.state, JSON.stringify(state), cookieExpiration(60));\n };\n\n cs.removeItem = function(key) {\n setCookie(key, '', cookieExpiration(-100));\n };\n\n var cookieExpiration = function (minutes) {\n var exp = new Date();\n exp.setTime(exp.getTime() + (minutes*60*1000));\n return exp;\n };\n\n var getCookie = function (key) {\n var name = key + '=';\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return '';\n };\n\n var setCookie = function (key, value, expirationDate) {\n var cookie = key + '=' + value + '; '\n + 'expires=' + expirationDate.toUTCString() + '; ';\n document.cookie = cookie;\n }\n };\n\n function createCallbackStorage() {\n try {\n return new LocalStorage();\n } catch (err) {\n }\n\n return new CookieStorage();\n }\n\n function createLogger(fn) {\n return function() {\n if (kc.enableLogging) {\n fn.apply(console, Array.prototype.slice.call(arguments));\n }\n };\n }\n}\n\nexport default Keycloak;\n\n/**\n * @param {ArrayBuffer} bytes\n * @see https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n */\nfunction bytesToBase64(bytes) {\n const binString = String.fromCodePoint(...bytes);\n return btoa(binString);\n}\n\n/**\n * @param {string} message\n * @see https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#basic_example\n */\nasync function sha256Digest(message) {\n const encoder = new TextEncoder();\n const data = encoder.encode(message);\n\n if (typeof crypto === \"undefined\" || typeof crypto.subtle === \"undefined\") {\n throw new Error(\"Web Crypto API is not available.\");\n }\n\n return await crypto.subtle.digest(\"SHA-256\", data);\n}\n\n/**\n * @param {string} token\n */\nfunction decodeToken(token) {\n const [header, payload] = token.split(\".\");\n\n if (typeof payload !== \"string\") {\n throw new Error(\"Unable to decode token, payload not found.\");\n }\n\n let decoded;\n\n try {\n decoded = base64UrlDecode(payload);\n } catch (error) {\n throw new Error(\"Unable to decode token, payload is not a valid Base64URL value.\", { cause: error });\n }\n\n try {\n return JSON.parse(decoded);\n } catch (error) {\n throw new Error(\"Unable to decode token, payload is not a valid JSON value.\", { cause: error });\n }\n}\n\n/**\n * @param {string} input\n */\nfunction base64UrlDecode(input) {\n let output = input\n .replaceAll(\"-\", \"+\")\n .replaceAll(\"_\", \"/\");\n\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"Input is not of the correct length.\");\n }\n\n try {\n return b64DecodeUnicode(output);\n } catch (error) {\n return atob(output);\n }\n}\n\n/**\n * @param {string} input\n */\nfunction b64DecodeUnicode(input) {\n return decodeURIComponent(atob(input).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n\n if (code.length < 2) {\n code = \"0\" + code;\n }\n\n return \"%\" + code;\n }));\n}\n\n/**\n * Check if the input is an object that can be operated on.\n * @param {unknown} input\n */\nfunction isObject(input) {\n return typeof input === 'object' && input !== null;\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { EMPTY } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nimport { isFunction } from './util/isFunction';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n return observeNotification(this, observer);\n }\n do(nextHandler, errorHandler, completeHandler) {\n const {\n kind,\n value,\n error\n } = this;\n return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();\n }\n accept(nextOrObserver, error, complete) {\n var _a;\n return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next) ? this.observe(nextOrObserver) : this.do(nextOrObserver, error, complete);\n }\n toObservable() {\n const {\n kind,\n value,\n error\n } = this;\n const result = kind === 'N' ? of(value) : kind === 'E' ? throwError(() => error) : kind === 'C' ? EMPTY : 0;\n if (!result) {\n throw new TypeError(`Unexpected notification kind ${kind}`);\n }\n return result;\n }\n static createNext(value) {\n return new Notification('N', value);\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nexport function observeNotification(notification, observer) {\n var _a, _b, _c;\n const {\n kind,\n value,\n error\n } = notification;\n if (typeof kind !== 'string') {\n throw new TypeError('Invalid notification, missing \"kind\"');\n }\n kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n}","map":{"version":3,"names":["EMPTY","of","throwError","isFunction","NotificationKind","Notification","constructor","kind","value","error","hasValue","observe","observer","observeNotification","do","nextHandler","errorHandler","completeHandler","accept","nextOrObserver","complete","_a","next","toObservable","result","TypeError","createNext","createError","err","undefined","createComplete","completeNotification","notification","_b","_c","call"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/Notification.js"],"sourcesContent":["import { EMPTY } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nimport { isFunction } from './util/isFunction';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n return observeNotification(this, observer);\n }\n do(nextHandler, errorHandler, completeHandler) {\n const { kind, value, error } = this;\n return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();\n }\n accept(nextOrObserver, error, complete) {\n var _a;\n return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)\n ? this.observe(nextOrObserver)\n : this.do(nextOrObserver, error, complete);\n }\n toObservable() {\n const { kind, value, error } = this;\n const result = kind === 'N'\n ?\n of(value)\n :\n kind === 'E'\n ?\n throwError(() => error)\n :\n kind === 'C'\n ?\n EMPTY\n :\n 0;\n if (!result) {\n throw new TypeError(`Unexpected notification kind ${kind}`);\n }\n return result;\n }\n static createNext(value) {\n return new Notification('N', value);\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nexport function observeNotification(notification, observer) {\n var _a, _b, _c;\n const { kind, value, error } = notification;\n if (typeof kind !== 'string') {\n throw new TypeError('Invalid notification, missing \"kind\"');\n }\n kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"let nextHandle = 1;\nlet resolved;\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n }\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};","map":{"version":3,"names":["nextHandle","resolved","activeHandles","findAndClearHandle","handle","Immediate","setImmediate","cb","Promise","resolve","then","clearImmediate","TestTools","pending","Object","keys","length"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/util/Immediate.js"],"sourcesContent":["let nextHandle = 1;\nlet resolved;\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n"],"mappings":"AAAA,IAAIA,UAAU,GAAG,CAAC;AAClB,IAAIC,QAAQ;AACZ,MAAMC,aAAa,GAAG,CAAC,CAAC;AACxB,SAASC,kBAAkBA,CAACC,MAAM,EAAE;EAChC,IAAIA,MAAM,IAAIF,aAAa,EAAE;IACzB,OAAOA,aAAa,CAACE,MAAM,CAAC;IAC5B,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AAChB;AACA,OAAO,MAAMC,SAAS,GAAG;EACrBC,YAAYA,CAACC,EAAE,EAAE;IACb,MAAMH,MAAM,GAAGJ,UAAU,EAAE;IAC3BE,aAAa,CAACE,MAAM,CAAC,GAAG,IAAI;IAC5B,IAAI,CAACH,QAAQ,EAAE;MACXA,QAAQ,GAAGO,OAAO,CAACC,OAAO,CAAC,CAAC;IAChC;IACAR,QAAQ,CAACS,IAAI,CAAC,MAAMP,kBAAkB,CAACC,MAAM,CAAC,IAAIG,EAAE,CAAC,CAAC,CAAC;IACvD,OAAOH,MAAM;EACjB,CAAC;EACDO,cAAcA,CAACP,MAAM,EAAE;IACnBD,kBAAkB,CAACC,MAAM,CAAC;EAC9B;AACJ,CAAC;AACD,OAAO,MAAMQ,SAAS,GAAG;EACrBC,OAAOA,CAAA,EAAG;IACN,OAAOC,MAAM,CAACC,IAAI,CAACb,aAAa,CAAC,CAACc,MAAM;EAC5C;AACJ,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { __decorate } from \"tslib\";\nimport { Injectable } from '@angular/core';\nimport { KeycloakService } from 'quankee-framework-keycloak';\nimport { injectAuthHeader } from './token.helper';\nlet AuthorizationInterceptor = class AuthorizationInterceptor {\n keycloakService;\n constructor(keycloakService) {\n this.keycloakService = keycloakService;\n }\n intercept(req, next) {\n console.log('[Interceptor] Executing...');\n const token = this.keycloakService.getToken(); // returns string\n const modifiedReq = injectAuthHeader(req, token);\n console.warn('[Interceptor] No token found. Request sent without Authorization header.');\n return next.handle(modifiedReq);\n }\n static ctorParameters = () => [{\n type: KeycloakService\n }];\n};\nAuthorizationInterceptor = __decorate([Injectable()], AuthorizationInterceptor);\nexport { AuthorizationInterceptor };","map":{"version":3,"names":["Injectable","KeycloakService","injectAuthHeader","AuthorizationInterceptor","keycloakService","constructor","intercept","req","next","console","log","token","getToken","modifiedReq","warn","handle","__decorate"],"sources":["C:\\usr\\local\\workspaces\\workspace-quankee\\quankee-framework\\quankee-framework-common-ts\\projects\\quankee-framework-interceptor\\src\\lib\\core\\authorization.interceptor.ts"],"sourcesContent":["import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {KeycloakService} from 'quankee-framework-keycloak';\r\nimport {Observable} from 'rxjs';\r\nimport {injectAuthHeader} from './token.helper';\r\n\r\n@Injectable()\r\nexport class AuthorizationInterceptor implements HttpInterceptor {\r\n\r\n constructor(private readonly keycloakService: KeycloakService) {}\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n console.log('[Interceptor] Executing...');\r\n\r\n const token = this.keycloakService.getToken(); // returns string\r\n\r\n const modifiedReq = injectAuthHeader(req, token);\r\n\r\n console.warn('[Interceptor] No token found. Request sent without Authorization header.');\r\n return next.handle(modifiedReq);\r\n }\r\n\r\n}\r\n"],"mappings":";AACA,SAAQA,UAAU,QAAO,eAAe;AACxC,SAAQC,eAAe,QAAO,4BAA4B;AAE1D,SAAQC,gBAAgB,QAAO,gBAAgB;AAGxC,IAAMC,wBAAwB,GAA9B,MAAMA,wBAAwB;EAENC,eAAA;EAA7BC,YAA6BD,eAAgC;IAAhC,KAAAA,eAAe,GAAfA,eAAe;EAAoB;EAEhEE,SAASA,CAACC,GAAqB,EAAEC,IAAiB;IAChDC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IAEzC,MAAMC,KAAK,GAAG,IAAI,CAACP,eAAe,CAACQ,QAAQ,EAAE,CAAC,CAAC;IAE/C,MAAMC,WAAW,GAAGX,gBAAgB,CAACK,GAAG,EAAEI,KAAK,CAAC;IAEhDF,OAAO,CAACK,IAAI,CAAC,0EAA0E,CAAC;IACxF,OAAON,IAAI,CAACO,MAAM,CAACF,WAAW,CAAC;EACjC;;;;;AAbWV,wBAAwB,GAAAa,UAAA,EADpChB,UAAU,EAAE,C,EACAG,wBAAwB,CAepC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, value => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}","map":{"version":3,"names":["operate","createOperatorSubscriber","filter","predicate","thisArg","source","subscriber","index","subscribe","value","call","next"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/filter.js"],"sourcesContent":["import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,wBAAwB,QAAQ,sBAAsB;AAC/D,OAAO,SAASC,MAAMA,CAACC,SAAS,EAAEC,OAAO,EAAE;EACvC,OAAOJ,OAAO,CAAC,CAACK,MAAM,EAAEC,UAAU,KAAK;IACnC,IAAIC,KAAK,GAAG,CAAC;IACbF,MAAM,CAACG,SAAS,CAACP,wBAAwB,CAACK,UAAU,EAAGG,KAAK,IAAKN,SAAS,CAACO,IAAI,CAACN,OAAO,EAAEK,KAAK,EAAEF,KAAK,EAAE,CAAC,IAAID,UAAU,CAACK,IAAI,CAACF,KAAK,CAAC,CAAC,CAAC;EACxI,CAAC,CAAC;AACN","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nimport { innerFrom } from '../observable/innerFrom';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return source => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => innerFrom(delayDurationSelector(value, index)).pipe(take(1), mapTo(value)));\n}","map":{"version":3,"names":["concat","take","ignoreElements","mapTo","mergeMap","innerFrom","delayWhen","delayDurationSelector","subscriptionDelay","source","pipe","value","index"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/delayWhen.js"],"sourcesContent":["import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nimport { innerFrom } from '../observable/innerFrom';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => innerFrom(delayDurationSelector(value, index)).pipe(take(1), mapTo(value)));\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,SAAS,QAAQ,yBAAyB;AACnD,OAAO,SAASC,SAASA,CAACC,qBAAqB,EAAEC,iBAAiB,EAAE;EAChE,IAAIA,iBAAiB,EAAE;IACnB,OAAQC,MAAM,IAAKT,MAAM,CAACQ,iBAAiB,CAACE,IAAI,CAACT,IAAI,CAAC,CAAC,CAAC,EAAEC,cAAc,CAAC,CAAC,CAAC,EAAEO,MAAM,CAACC,IAAI,CAACJ,SAAS,CAACC,qBAAqB,CAAC,CAAC,CAAC;EAC/H;EACA,OAAOH,QAAQ,CAAC,CAACO,KAAK,EAAEC,KAAK,KAAKP,SAAS,CAACE,qBAAqB,CAACI,KAAK,EAAEC,KAAK,CAAC,CAAC,CAACF,IAAI,CAACT,IAAI,CAAC,CAAC,CAAC,EAAEE,KAAK,CAACQ,KAAK,CAAC,CAAC,CAAC;AACjH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nimport { innerFrom } from '../observable/innerFrom';\nexport function distinct(keySelector, flushes) {\n return operate((source, subscriber) => {\n const distinctKeys = new Set();\n source.subscribe(createOperatorSubscriber(subscriber, value => {\n const key = keySelector ? keySelector(value) : value;\n if (!distinctKeys.has(key)) {\n distinctKeys.add(key);\n subscriber.next(value);\n }\n }));\n flushes && innerFrom(flushes).subscribe(createOperatorSubscriber(subscriber, () => distinctKeys.clear(), noop));\n });\n}","map":{"version":3,"names":["operate","createOperatorSubscriber","noop","innerFrom","distinct","keySelector","flushes","source","subscriber","distinctKeys","Set","subscribe","value","key","has","add","next","clear"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/distinct.js"],"sourcesContent":["import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nimport { innerFrom } from '../observable/innerFrom';\nexport function distinct(keySelector, flushes) {\n return operate((source, subscriber) => {\n const distinctKeys = new Set();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const key = keySelector ? keySelector(value) : value;\n if (!distinctKeys.has(key)) {\n distinctKeys.add(key);\n subscriber.next(value);\n }\n }));\n flushes && innerFrom(flushes).subscribe(createOperatorSubscriber(subscriber, () => distinctKeys.clear(), noop));\n });\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,wBAAwB,QAAQ,sBAAsB;AAC/D,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,SAAS,QAAQ,yBAAyB;AACnD,OAAO,SAASC,QAAQA,CAACC,WAAW,EAAEC,OAAO,EAAE;EAC3C,OAAON,OAAO,CAAC,CAACO,MAAM,EAAEC,UAAU,KAAK;IACnC,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC9BH,MAAM,CAACI,SAAS,CAACV,wBAAwB,CAACO,UAAU,EAAGI,KAAK,IAAK;MAC7D,MAAMC,GAAG,GAAGR,WAAW,GAAGA,WAAW,CAACO,KAAK,CAAC,GAAGA,KAAK;MACpD,IAAI,CAACH,YAAY,CAACK,GAAG,CAACD,GAAG,CAAC,EAAE;QACxBJ,YAAY,CAACM,GAAG,CAACF,GAAG,CAAC;QACrBL,UAAU,CAACQ,IAAI,CAACJ,KAAK,CAAC;MAC1B;IACJ,CAAC,CAAC,CAAC;IACHN,OAAO,IAAIH,SAAS,CAACG,OAAO,CAAC,CAACK,SAAS,CAACV,wBAAwB,CAACO,UAAU,EAAE,MAAMC,YAAY,CAACQ,KAAK,CAAC,CAAC,EAAEf,IAAI,CAAC,CAAC;EACnH,CAAC,CAAC;AACN","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}","map":{"version":3,"names":["asyncScheduler","delayWhen","timer","delay","due","scheduler","duration"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/delay.js"],"sourcesContent":["import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,oBAAoB;AACnD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,OAAO,SAASC,KAAKA,CAACC,GAAG,EAAEC,SAAS,GAAGL,cAAc,EAAE;EACnD,MAAMM,QAAQ,GAAGJ,KAAK,CAACE,GAAG,EAAEC,SAAS,CAAC;EACtC,OAAOJ,SAAS,CAAC,MAAMK,QAAQ,CAAC;AACpC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"export function injectAuthHeader(req, token) {\n if (token) {\n return req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n return req;\n}","map":{"version":3,"names":["injectAuthHeader","req","token","clone","setHeaders","Authorization"],"sources":["C:\\usr\\local\\workspaces\\workspace-quankee\\quankee-framework\\quankee-framework-common-ts\\projects\\quankee-framework-interceptor\\src\\lib\\core\\token.helper.ts"],"sourcesContent":["export function injectAuthHeader(req: any, token: any): any {\r\n if (token) {\r\n return req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n }\r\n return req;\r\n}\r\n"],"mappings":"AAAA,OAAM,SAAUA,gBAAgBA,CAACC,GAAQ,EAAEC,KAAU;EACnD,IAAIA,KAAK,EAAE;IACT,OAAOD,GAAG,CAACE,KAAK,CAAC;MACfC,UAAU,EAAE;QACVC,aAAa,EAAE,UAAUH,KAAK;;KAEjC,CAAC;EACJ;EACA,OAAOD,GAAG;AACZ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n ({\n bufferSize = Infinity,\n windowTime = Infinity,\n refCount = false,\n scheduler\n } = configOrBufferSize);\n } else {\n bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount\n });\n}","map":{"version":3,"names":["ReplaySubject","share","shareReplay","configOrBufferSize","windowTime","scheduler","bufferSize","refCount","Infinity","connector","resetOnError","resetOnComplete","resetOnRefCountZero"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/shareReplay.js"],"sourcesContent":["import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n ({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,kBAAkB;AAChD,SAASC,KAAK,QAAQ,SAAS;AAC/B,OAAO,SAASC,WAAWA,CAACC,kBAAkB,EAAEC,UAAU,EAAEC,SAAS,EAAE;EACnE,IAAIC,UAAU;EACd,IAAIC,QAAQ,GAAG,KAAK;EACpB,IAAIJ,kBAAkB,IAAI,OAAOA,kBAAkB,KAAK,QAAQ,EAAE;IAC9D,CAAC;MAAEG,UAAU,GAAGE,QAAQ;MAAEJ,UAAU,GAAGI,QAAQ;MAAED,QAAQ,GAAG,KAAK;MAAEF;IAAU,CAAC,GAAGF,kBAAkB;EACvG,CAAC,MACI;IACDG,UAAU,GAAIH,kBAAkB,KAAK,IAAI,IAAIA,kBAAkB,KAAK,KAAK,CAAC,GAAGA,kBAAkB,GAAGK,QAAS;EAC/G;EACA,OAAOP,KAAK,CAAC;IACTQ,SAAS,EAAEA,CAAA,KAAM,IAAIT,aAAa,CAACM,UAAU,EAAEF,UAAU,EAAEC,SAAS,CAAC;IACrEK,YAAY,EAAE,IAAI;IAClBC,eAAe,EAAE,KAAK;IACtBC,mBAAmB,EAAEL;EACzB,CAAC,CAAC;AACN","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged((x, y) => compare ? compare(x[key], y[key]) : x[key] === y[key]);\n}","map":{"version":3,"names":["distinctUntilChanged","distinctUntilKeyChanged","key","compare","x","y"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/distinctUntilKeyChanged.js"],"sourcesContent":["import { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged((x, y) => (compare ? compare(x[key], y[key]) : x[key] === y[key]));\n}\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,wBAAwB;AAC7D,OAAO,SAASC,uBAAuBA,CAACC,GAAG,EAAEC,OAAO,EAAE;EAClD,OAAOH,oBAAoB,CAAC,CAACI,CAAC,EAAEC,CAAC,KAAMF,OAAO,GAAGA,OAAO,CAACC,CAAC,CAACF,GAAG,CAAC,EAAEG,CAAC,CAACH,GAAG,CAAC,CAAC,GAAGE,CAAC,CAACF,GAAG,CAAC,KAAKG,CAAC,CAACH,GAAG,CAAE,CAAC;AAClG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { EmptyError } from '../util/EmptyError';\nimport { SequenceError } from '../util/SequenceError';\nimport { NotFoundError } from '../util/NotFoundError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function single(predicate) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let singleValue;\n let seenValue = false;\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, value => {\n seenValue = true;\n if (!predicate || predicate(value, index++, source)) {\n hasValue && subscriber.error(new SequenceError('Too many matching values'));\n hasValue = true;\n singleValue = value;\n }\n }, () => {\n if (hasValue) {\n subscriber.next(singleValue);\n subscriber.complete();\n } else {\n subscriber.error(seenValue ? new NotFoundError('No matching values') : new EmptyError());\n }\n }));\n });\n}","map":{"version":3,"names":["EmptyError","SequenceError","NotFoundError","operate","createOperatorSubscriber","single","predicate","source","subscriber","hasValue","singleValue","seenValue","index","subscribe","value","error","next","complete"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/single.js"],"sourcesContent":["import { EmptyError } from '../util/EmptyError';\nimport { SequenceError } from '../util/SequenceError';\nimport { NotFoundError } from '../util/NotFoundError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function single(predicate) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let singleValue;\n let seenValue = false;\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n seenValue = true;\n if (!predicate || predicate(value, index++, source)) {\n hasValue && subscriber.error(new SequenceError('Too many matching values'));\n hasValue = true;\n singleValue = value;\n }\n }, () => {\n if (hasValue) {\n subscriber.next(singleValue);\n subscriber.complete();\n }\n else {\n subscriber.error(seenValue ? new NotFoundError('No matching values') : new EmptyError());\n }\n }));\n });\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,wBAAwB,QAAQ,sBAAsB;AAC/D,OAAO,SAASC,MAAMA,CAACC,SAAS,EAAE;EAC9B,OAAOH,OAAO,CAAC,CAACI,MAAM,EAAEC,UAAU,KAAK;IACnC,IAAIC,QAAQ,GAAG,KAAK;IACpB,IAAIC,WAAW;IACf,IAAIC,SAAS,GAAG,KAAK;IACrB,IAAIC,KAAK,GAAG,CAAC;IACbL,MAAM,CAACM,SAAS,CAACT,wBAAwB,CAACI,UAAU,EAAGM,KAAK,IAAK;MAC7DH,SAAS,GAAG,IAAI;MAChB,IAAI,CAACL,SAAS,IAAIA,SAAS,CAACQ,KAAK,EAAEF,KAAK,EAAE,EAAEL,MAAM,CAAC,EAAE;QACjDE,QAAQ,IAAID,UAAU,CAACO,KAAK,CAAC,IAAId,aAAa,CAAC,0BAA0B,CAAC,CAAC;QAC3EQ,QAAQ,GAAG,IAAI;QACfC,WAAW,GAAGI,KAAK;MACvB;IACJ,CAAC,EAAE,MAAM;MACL,IAAIL,QAAQ,EAAE;QACVD,UAAU,CAACQ,IAAI,CAACN,WAAW,CAAC;QAC5BF,UAAU,CAACS,QAAQ,CAAC,CAAC;MACzB,CAAC,MACI;QACDT,UAAU,CAACO,KAAK,CAACJ,SAAS,GAAG,IAAIT,aAAa,CAAC,oBAAoB,CAAC,GAAG,IAAIF,UAAU,CAAC,CAAC,CAAC;MAC5F;IACJ,CAAC,CAAC,CAAC;EACP,CAAC,CAAC;AACN","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}","map":{"version":3,"names":["mergeMap","isFunction","concatMap","project","resultSelector"],"sources":["C:/usr/local/workspaces/workspace-quankee/quankee-framework/quankee-framework-common-ts/node_modules/rxjs/dist/esm/internal/operators/concatMap.js"],"sourcesContent":["import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,OAAO,SAASC,SAASA,CAACC,OAAO,EAAEC,cAAc,EAAE;EAC/C,OAAOH,UAAU,CAACG,cAAc,CAAC,GAAGJ,QAAQ,CAACG,OAAO,EAAEC,cAAc,EAAE,CAAC,CAAC,GAAGJ,QAAQ,CAACG,OAAO,EAAE,CAAC,CAAC;AACnG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}