@openmrs/esm-app-shell 8.0.1-pre.3605 → 8.0.1-pre.3614

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 (248) hide show
  1. package/.turbo/turbo-build.log +14 -14
  2. package/dist/1bf7ecd11f989685.js +1 -0
  3. package/dist/1bf7ecd11f989685.js.map +1 -0
  4. package/dist/268eb4f8552b8b0f.js +1 -0
  5. package/dist/268eb4f8552b8b0f.js.map +1 -0
  6. package/dist/288579f7ee0dcf56.js +1 -0
  7. package/dist/3612d19bd9587bec.js +1 -0
  8. package/dist/41bdf55745c102a0.js +1 -0
  9. package/dist/{5a7167bc7732c259.js.map → 41bdf55745c102a0.js.map} +1 -1
  10. package/dist/index.html +1 -1
  11. package/dist/{openmrs.21090abfe6dd969b.js → openmrs.755f89d23f7206ba.js} +1 -1
  12. package/dist/{openmrs.21090abfe6dd969b.js.map → openmrs.755f89d23f7206ba.js.map} +1 -1
  13. package/dist/service-worker.js +1 -1
  14. package/lib/{643ea4c629f04c91.js → 0905c5f8cdb9169a.js} +1 -1
  15. package/lib/2a436175965ebe79.js +284 -0
  16. package/lib/{6aa10f69dab6b7fb.js → 861b081f67d29c0d.js} +2 -2
  17. package/lib/{feb3e479e9074b99.js → 89bb685b7bb1ad6f.js} +11 -1
  18. package/lib/{55d3e721cff18f2c.js → a44490eb38862819.js} +2 -2
  19. package/lib/esm-devtools-app/{716.js → 460.js} +1 -1
  20. package/lib/esm-devtools-app/460.js.map +1 -0
  21. package/lib/esm-devtools-app/main.js +1 -1
  22. package/lib/esm-devtools-app/main.js.map +1 -1
  23. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
  24. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +30 -30
  25. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.map +1 -1
  26. package/lib/esm-devtools-app/routes.json +1 -1
  27. package/lib/esm-help-menu-app/{716.js → 460.js} +1 -1
  28. package/lib/esm-help-menu-app/460.js.map +1 -0
  29. package/lib/esm-help-menu-app/main.js +1 -1
  30. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js +1 -1
  31. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.buildmanifest.json +30 -30
  32. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.map +1 -1
  33. package/lib/esm-help-menu-app/routes.json +1 -1
  34. package/lib/esm-implementer-tools-app/1119.js +1 -0
  35. package/lib/esm-implementer-tools-app/1197.js +1 -0
  36. package/lib/esm-implementer-tools-app/1405.js +1 -0
  37. package/lib/esm-implementer-tools-app/1405.js.map +1 -0
  38. package/lib/esm-implementer-tools-app/1915.js +1 -0
  39. package/lib/esm-implementer-tools-app/1915.js.map +1 -0
  40. package/lib/esm-implementer-tools-app/2146.js +1 -0
  41. package/lib/esm-implementer-tools-app/2369.js +2 -0
  42. package/lib/esm-implementer-tools-app/2369.js.LICENSE.txt +19 -0
  43. package/lib/esm-implementer-tools-app/2369.js.map +1 -0
  44. package/lib/esm-implementer-tools-app/2690.js +1 -0
  45. package/lib/esm-implementer-tools-app/3099.js +1 -0
  46. package/lib/esm-implementer-tools-app/3185.js +2 -0
  47. package/lib/esm-implementer-tools-app/3185.js.map +1 -0
  48. package/lib/esm-implementer-tools-app/3584.js +1 -0
  49. package/lib/esm-implementer-tools-app/3709.js +1 -0
  50. package/lib/esm-implementer-tools-app/3709.js.map +1 -0
  51. package/lib/esm-implementer-tools-app/4055.js +1 -0
  52. package/lib/esm-implementer-tools-app/4132.js +1 -0
  53. package/lib/esm-implementer-tools-app/4300.js +1 -0
  54. package/lib/esm-implementer-tools-app/4335.js +1 -0
  55. package/lib/esm-implementer-tools-app/439.js +1 -0
  56. package/lib/esm-implementer-tools-app/4618.js +1 -0
  57. package/lib/esm-implementer-tools-app/4652.js +1 -0
  58. package/lib/esm-implementer-tools-app/4944.js +1 -0
  59. package/lib/esm-implementer-tools-app/5173.js +1 -0
  60. package/lib/esm-implementer-tools-app/523.js +2 -0
  61. package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/523.js.map +1 -1
  62. package/lib/esm-implementer-tools-app/5241.js +1 -0
  63. package/lib/esm-implementer-tools-app/5442.js +1 -0
  64. package/lib/esm-implementer-tools-app/5444.js +1 -0
  65. package/lib/esm-implementer-tools-app/5444.js.map +1 -0
  66. package/lib/esm-implementer-tools-app/5460.js +1 -0
  67. package/lib/esm-implementer-tools-app/5460.js.map +1 -0
  68. package/lib/esm-implementer-tools-app/5554.js +2 -0
  69. package/lib/{esm-primary-navigation-app/7798.js.LICENSE.txt → esm-implementer-tools-app/5554.js.LICENSE.txt} +5 -4
  70. package/lib/esm-implementer-tools-app/5554.js.map +1 -0
  71. package/lib/esm-implementer-tools-app/5563.js +1 -0
  72. package/lib/esm-implementer-tools-app/5563.js.map +1 -0
  73. package/lib/esm-implementer-tools-app/5623.js +2 -0
  74. package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/5623.js.map +1 -1
  75. package/lib/esm-implementer-tools-app/5661.js +1 -0
  76. package/lib/esm-implementer-tools-app/5770.js +2 -0
  77. package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/5770.js.map +1 -1
  78. package/lib/esm-implementer-tools-app/5839.js +2 -0
  79. package/lib/esm-implementer-tools-app/5839.js.LICENSE.txt +13 -0
  80. package/lib/esm-implementer-tools-app/5839.js.map +1 -0
  81. package/lib/esm-implementer-tools-app/6022.js +1 -0
  82. package/lib/esm-implementer-tools-app/6090.js +2 -0
  83. package/lib/esm-implementer-tools-app/6090.js.LICENSE.txt +9 -0
  84. package/lib/esm-implementer-tools-app/6090.js.map +1 -0
  85. package/lib/esm-implementer-tools-app/6132.js +1 -0
  86. package/lib/esm-implementer-tools-app/6132.js.map +1 -0
  87. package/lib/esm-implementer-tools-app/6269.js +2 -0
  88. package/lib/esm-implementer-tools-app/6269.js.LICENSE.txt +9 -0
  89. package/lib/esm-implementer-tools-app/6269.js.map +1 -0
  90. package/lib/esm-implementer-tools-app/6326.js +2 -0
  91. package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/6326.js.map +1 -1
  92. package/lib/esm-implementer-tools-app/6468.js +1 -0
  93. package/lib/esm-implementer-tools-app/6589.js +1 -0
  94. package/lib/esm-implementer-tools-app/6679.js +1 -0
  95. package/lib/esm-implementer-tools-app/6840.js +1 -0
  96. package/lib/esm-implementer-tools-app/6859.js +1 -0
  97. package/lib/esm-implementer-tools-app/7097.js +1 -0
  98. package/lib/esm-implementer-tools-app/7159.js +1 -0
  99. package/lib/esm-implementer-tools-app/723.js +1 -0
  100. package/lib/esm-implementer-tools-app/7617.js +1 -0
  101. package/lib/esm-implementer-tools-app/795.js +1 -0
  102. package/lib/esm-implementer-tools-app/8163.js +1 -0
  103. package/lib/esm-implementer-tools-app/8349.js +1 -0
  104. package/lib/esm-implementer-tools-app/8371.js +1 -0
  105. package/lib/esm-implementer-tools-app/8611.js +1 -0
  106. package/lib/esm-implementer-tools-app/8611.js.map +1 -0
  107. package/lib/esm-implementer-tools-app/8618.js +1 -0
  108. package/lib/esm-implementer-tools-app/8650.js +1 -0
  109. package/lib/esm-implementer-tools-app/8650.js.map +1 -0
  110. package/lib/esm-implementer-tools-app/890.js +1 -0
  111. package/lib/esm-implementer-tools-app/8995.js +2 -0
  112. package/lib/esm-implementer-tools-app/8995.js.map +1 -0
  113. package/lib/esm-implementer-tools-app/8e7b152564424838.js +1 -0
  114. package/lib/esm-implementer-tools-app/9214.js +1 -0
  115. package/lib/esm-implementer-tools-app/9361.js +2 -0
  116. package/lib/esm-implementer-tools-app/9361.js.LICENSE.txt +9 -0
  117. package/lib/esm-implementer-tools-app/9361.js.map +1 -0
  118. package/lib/esm-implementer-tools-app/939.js +1 -0
  119. package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/939.js.map +1 -1
  120. package/lib/esm-implementer-tools-app/9538.js +1 -0
  121. package/lib/esm-implementer-tools-app/9569.js +1 -0
  122. package/lib/esm-implementer-tools-app/986.js +1 -0
  123. package/lib/esm-implementer-tools-app/9879.js +1 -0
  124. package/lib/esm-implementer-tools-app/9895.js +1 -0
  125. package/lib/esm-implementer-tools-app/9900.js +1 -0
  126. package/lib/esm-implementer-tools-app/9913.js +1 -0
  127. package/lib/esm-implementer-tools-app/main.js +1 -0
  128. package/lib/esm-implementer-tools-app/main.js.map +1 -0
  129. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -0
  130. package/lib/{esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json → esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json} +542 -320
  131. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.map +1 -0
  132. package/lib/esm-implementer-tools-app/routes.json +1 -0
  133. package/lib/esm-login-app/14.js +32 -0
  134. package/lib/esm-login-app/14.js.map +1 -0
  135. package/lib/esm-login-app/main.js +2 -2
  136. package/lib/esm-login-app/main.js.map +1 -1
  137. package/lib/esm-login-app/openmrs-esm-login-app.js +3 -3
  138. package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +9 -9
  139. package/lib/esm-login-app/openmrs-esm-login-app.js.map +1 -1
  140. package/lib/esm-login-app/routes.json +1 -1
  141. package/lib/esm-offline-tools-app/{4716.js → 5460.js} +1 -1
  142. package/lib/esm-offline-tools-app/5460.js.map +1 -0
  143. package/lib/esm-offline-tools-app/main.js +1 -1
  144. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
  145. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +24 -24
  146. package/lib/esm-offline-tools-app/routes.json +1 -1
  147. package/lib/index.html +2 -2
  148. package/lib/openmrs.js +4 -4
  149. package/lib/service-worker.js +1 -1
  150. package/package.json +3 -3
  151. package/src/events.ts +16 -0
  152. package/src/optionaldeps.ts +1 -13
  153. package/src/routing-events.ts +59 -0
  154. package/src/run.ts +10 -5
  155. package/dist/29415c22b6e39e0d.js +0 -1
  156. package/dist/2ea36e9d545ec832.js +0 -1
  157. package/dist/2ea36e9d545ec832.js.map +0 -1
  158. package/dist/421055ba27b9ef2b.js +0 -1
  159. package/dist/5a7167bc7732c259.js +0 -1
  160. package/dist/8fcbe344298c2a15.js +0 -1
  161. package/dist/8fcbe344298c2a15.js.map +0 -1
  162. package/lib/c32d51c438a3bfbb.js +0 -262
  163. package/lib/esm-devtools-app/716.js.map +0 -1
  164. package/lib/esm-help-menu-app/716.js.map +0 -1
  165. package/lib/esm-login-app/1386.js +0 -32
  166. package/lib/esm-login-app/1386.js.map +0 -1
  167. package/lib/esm-offline-tools-app/4716.js.map +0 -1
  168. package/lib/esm-primary-navigation-app/1119.js +0 -1
  169. package/lib/esm-primary-navigation-app/1197.js +0 -1
  170. package/lib/esm-primary-navigation-app/1296.js +0 -1
  171. package/lib/esm-primary-navigation-app/1296.js.map +0 -1
  172. package/lib/esm-primary-navigation-app/2106.js +0 -1
  173. package/lib/esm-primary-navigation-app/2106.js.map +0 -1
  174. package/lib/esm-primary-navigation-app/2146.js +0 -1
  175. package/lib/esm-primary-navigation-app/2267.js +0 -1
  176. package/lib/esm-primary-navigation-app/2267.js.map +0 -1
  177. package/lib/esm-primary-navigation-app/2690.js +0 -1
  178. package/lib/esm-primary-navigation-app/2727.js +0 -2
  179. package/lib/esm-primary-navigation-app/2727.js.map +0 -1
  180. package/lib/esm-primary-navigation-app/3099.js +0 -1
  181. package/lib/esm-primary-navigation-app/3584.js +0 -1
  182. package/lib/esm-primary-navigation-app/4055.js +0 -1
  183. package/lib/esm-primary-navigation-app/4132.js +0 -1
  184. package/lib/esm-primary-navigation-app/4300.js +0 -1
  185. package/lib/esm-primary-navigation-app/4335.js +0 -1
  186. package/lib/esm-primary-navigation-app/439.js +0 -1
  187. package/lib/esm-primary-navigation-app/4618.js +0 -1
  188. package/lib/esm-primary-navigation-app/4652.js +0 -1
  189. package/lib/esm-primary-navigation-app/4716.js +0 -1
  190. package/lib/esm-primary-navigation-app/4716.js.map +0 -1
  191. package/lib/esm-primary-navigation-app/4740.js +0 -2
  192. package/lib/esm-primary-navigation-app/4740.js.map +0 -1
  193. package/lib/esm-primary-navigation-app/4944.js +0 -1
  194. package/lib/esm-primary-navigation-app/5173.js +0 -1
  195. package/lib/esm-primary-navigation-app/523.js +0 -2
  196. package/lib/esm-primary-navigation-app/5241.js +0 -1
  197. package/lib/esm-primary-navigation-app/5442.js +0 -1
  198. package/lib/esm-primary-navigation-app/5623.js +0 -2
  199. package/lib/esm-primary-navigation-app/5661.js +0 -1
  200. package/lib/esm-primary-navigation-app/5770.js +0 -2
  201. package/lib/esm-primary-navigation-app/6022.js +0 -1
  202. package/lib/esm-primary-navigation-app/6326.js +0 -2
  203. package/lib/esm-primary-navigation-app/6408.js +0 -2
  204. package/lib/esm-primary-navigation-app/6408.js.LICENSE.txt +0 -32
  205. package/lib/esm-primary-navigation-app/6408.js.map +0 -1
  206. package/lib/esm-primary-navigation-app/6468.js +0 -1
  207. package/lib/esm-primary-navigation-app/6537.js +0 -2
  208. package/lib/esm-primary-navigation-app/6537.js.LICENSE.txt +0 -5
  209. package/lib/esm-primary-navigation-app/6537.js.map +0 -1
  210. package/lib/esm-primary-navigation-app/6589.js +0 -1
  211. package/lib/esm-primary-navigation-app/6679.js +0 -1
  212. package/lib/esm-primary-navigation-app/6840.js +0 -1
  213. package/lib/esm-primary-navigation-app/6859.js +0 -1
  214. package/lib/esm-primary-navigation-app/7097.js +0 -1
  215. package/lib/esm-primary-navigation-app/7159.js +0 -1
  216. package/lib/esm-primary-navigation-app/723.js +0 -1
  217. package/lib/esm-primary-navigation-app/7617.js +0 -1
  218. package/lib/esm-primary-navigation-app/7798.js +0 -2
  219. package/lib/esm-primary-navigation-app/7798.js.map +0 -1
  220. package/lib/esm-primary-navigation-app/795.js +0 -1
  221. package/lib/esm-primary-navigation-app/8163.js +0 -1
  222. package/lib/esm-primary-navigation-app/8349.js +0 -1
  223. package/lib/esm-primary-navigation-app/8371.js +0 -1
  224. package/lib/esm-primary-navigation-app/8412.js +0 -1
  225. package/lib/esm-primary-navigation-app/8412.js.map +0 -1
  226. package/lib/esm-primary-navigation-app/8618.js +0 -1
  227. package/lib/esm-primary-navigation-app/890.js +0 -1
  228. package/lib/esm-primary-navigation-app/9214.js +0 -1
  229. package/lib/esm-primary-navigation-app/939.js +0 -1
  230. package/lib/esm-primary-navigation-app/9538.js +0 -1
  231. package/lib/esm-primary-navigation-app/9569.js +0 -1
  232. package/lib/esm-primary-navigation-app/986.js +0 -1
  233. package/lib/esm-primary-navigation-app/9879.js +0 -1
  234. package/lib/esm-primary-navigation-app/9895.js +0 -1
  235. package/lib/esm-primary-navigation-app/9900.js +0 -1
  236. package/lib/esm-primary-navigation-app/9913.js +0 -1
  237. package/lib/esm-primary-navigation-app/main.js +0 -2
  238. package/lib/esm-primary-navigation-app/main.js.LICENSE.txt +0 -5
  239. package/lib/esm-primary-navigation-app/main.js.map +0 -1
  240. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +0 -1
  241. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.map +0 -1
  242. package/lib/esm-primary-navigation-app/routes.json +0 -1
  243. /package/lib/{esm-primary-navigation-app/2727.js.LICENSE.txt → esm-implementer-tools-app/3185.js.LICENSE.txt} +0 -0
  244. /package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/523.js.LICENSE.txt +0 -0
  245. /package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/5623.js.LICENSE.txt +0 -0
  246. /package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/5770.js.LICENSE.txt +0 -0
  247. /package/lib/{esm-primary-navigation-app → esm-implementer-tools-app}/6326.js.LICENSE.txt +0 -0
  248. /package/lib/{esm-primary-navigation-app/4740.js.LICENSE.txt → esm-implementer-tools-app/8995.js.LICENSE.txt} +0 -0
@@ -1,262 +0,0 @@
1
- /*
2
- * ATTENTION: An "eval-source-map" devtool has been used.
3
- * This devtool is neither made for production nor for readable output files.
4
- * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
5
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6
- * or disable the default devtool with "devtool: false".
7
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
8
- */
9
- (self["webpackChunk_openmrs_esm_app_shell"] = self["webpackChunk_openmrs_esm_app_shell"] || []).push([["src_run_ts"],{
10
-
11
- /***/ "../../framework/esm-translations/translations lazy recursive ^\\.\\/.*\\.json$":
12
- /*!*******************************************************************************************!*\
13
- !*** ../../framework/esm-translations/translations/ lazy ^\.\/.*\.json$ namespace object ***!
14
- \*******************************************************************************************/
15
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16
-
17
- var map = {
18
- "./am.json": [
19
- "../../framework/esm-translations/translations/am.json",
20
- "framework_esm-translations_translations_am_json"
21
- ],
22
- "./ar.json": [
23
- "../../framework/esm-translations/translations/ar.json",
24
- "framework_esm-translations_translations_ar_json"
25
- ],
26
- "./ar_SY.json": [
27
- "../../framework/esm-translations/translations/ar_SY.json",
28
- "framework_esm-translations_translations_ar_SY_json"
29
- ],
30
- "./bn.json": [
31
- "../../framework/esm-translations/translations/bn.json",
32
- "framework_esm-translations_translations_bn_json"
33
- ],
34
- "./cs.json": [
35
- "../../framework/esm-translations/translations/cs.json",
36
- "framework_esm-translations_translations_cs_json"
37
- ],
38
- "./de.json": [
39
- "../../framework/esm-translations/translations/de.json",
40
- "framework_esm-translations_translations_de_json"
41
- ],
42
- "./en.json": [
43
- "../../framework/esm-translations/translations/en.json",
44
- "framework_esm-translations_translations_en_json"
45
- ],
46
- "./en_US.json": [
47
- "../../framework/esm-translations/translations/en_US.json",
48
- "framework_esm-translations_translations_en_US_json"
49
- ],
50
- "./es.json": [
51
- "../../framework/esm-translations/translations/es.json",
52
- "framework_esm-translations_translations_es_json"
53
- ],
54
- "./es_MX.json": [
55
- "../../framework/esm-translations/translations/es_MX.json",
56
- "framework_esm-translations_translations_es_MX_json"
57
- ],
58
- "./fr.json": [
59
- "../../framework/esm-translations/translations/fr.json",
60
- "framework_esm-translations_translations_fr_json"
61
- ],
62
- "./he.json": [
63
- "../../framework/esm-translations/translations/he.json",
64
- "framework_esm-translations_translations_he_json"
65
- ],
66
- "./hi.json": [
67
- "../../framework/esm-translations/translations/hi.json",
68
- "framework_esm-translations_translations_hi_json"
69
- ],
70
- "./hi_IN.json": [
71
- "../../framework/esm-translations/translations/hi_IN.json",
72
- "framework_esm-translations_translations_hi_IN_json"
73
- ],
74
- "./id.json": [
75
- "../../framework/esm-translations/translations/id.json",
76
- "framework_esm-translations_translations_id_json"
77
- ],
78
- "./it.json": [
79
- "../../framework/esm-translations/translations/it.json",
80
- "framework_esm-translations_translations_it_json"
81
- ],
82
- "./ka.json": [
83
- "../../framework/esm-translations/translations/ka.json",
84
- "framework_esm-translations_translations_ka_json"
85
- ],
86
- "./km.json": [
87
- "../../framework/esm-translations/translations/km.json",
88
- "framework_esm-translations_translations_km_json"
89
- ],
90
- "./ku.json": [
91
- "../../framework/esm-translations/translations/ku.json",
92
- "framework_esm-translations_translations_ku_json"
93
- ],
94
- "./ky.json": [
95
- "../../framework/esm-translations/translations/ky.json",
96
- "framework_esm-translations_translations_ky_json"
97
- ],
98
- "./lg.json": [
99
- "../../framework/esm-translations/translations/lg.json",
100
- "framework_esm-translations_translations_lg_json"
101
- ],
102
- "./ne.json": [
103
- "../../framework/esm-translations/translations/ne.json",
104
- "framework_esm-translations_translations_ne_json"
105
- ],
106
- "./pl.json": [
107
- "../../framework/esm-translations/translations/pl.json",
108
- "framework_esm-translations_translations_pl_json"
109
- ],
110
- "./pt.json": [
111
- "../../framework/esm-translations/translations/pt.json",
112
- "framework_esm-translations_translations_pt_json"
113
- ],
114
- "./pt_BR.json": [
115
- "../../framework/esm-translations/translations/pt_BR.json",
116
- "framework_esm-translations_translations_pt_BR_json"
117
- ],
118
- "./qu.json": [
119
- "../../framework/esm-translations/translations/qu.json",
120
- "framework_esm-translations_translations_qu_json"
121
- ],
122
- "./ro_RO.json": [
123
- "../../framework/esm-translations/translations/ro_RO.json",
124
- "framework_esm-translations_translations_ro_RO_json"
125
- ],
126
- "./ru_RU.json": [
127
- "../../framework/esm-translations/translations/ru_RU.json",
128
- "framework_esm-translations_translations_ru_RU_json"
129
- ],
130
- "./si.json": [
131
- "../../framework/esm-translations/translations/si.json",
132
- "framework_esm-translations_translations_si_json"
133
- ],
134
- "./sq.json": [
135
- "../../framework/esm-translations/translations/sq.json",
136
- "framework_esm-translations_translations_sq_json"
137
- ],
138
- "./sw.json": [
139
- "../../framework/esm-translations/translations/sw.json",
140
- "framework_esm-translations_translations_sw_json"
141
- ],
142
- "./sw_KE.json": [
143
- "../../framework/esm-translations/translations/sw_KE.json",
144
- "framework_esm-translations_translations_sw_KE_json"
145
- ],
146
- "./tr.json": [
147
- "../../framework/esm-translations/translations/tr.json",
148
- "framework_esm-translations_translations_tr_json"
149
- ],
150
- "./tr_TR.json": [
151
- "../../framework/esm-translations/translations/tr_TR.json",
152
- "framework_esm-translations_translations_tr_TR_json"
153
- ],
154
- "./uk.json": [
155
- "../../framework/esm-translations/translations/uk.json",
156
- "framework_esm-translations_translations_uk_json"
157
- ],
158
- "./uz.json": [
159
- "../../framework/esm-translations/translations/uz.json",
160
- "framework_esm-translations_translations_uz_json"
161
- ],
162
- "./uz@Latn.json": [
163
- "../../framework/esm-translations/translations/uz@Latn.json",
164
- "framework_esm-translations_translations_uz_Latn_json"
165
- ],
166
- "./uz_UZ.json": [
167
- "../../framework/esm-translations/translations/uz_UZ.json",
168
- "framework_esm-translations_translations_uz_UZ_json"
169
- ],
170
- "./vi.json": [
171
- "../../framework/esm-translations/translations/vi.json",
172
- "framework_esm-translations_translations_vi_json"
173
- ],
174
- "./zh.json": [
175
- "../../framework/esm-translations/translations/zh.json",
176
- "framework_esm-translations_translations_zh_json"
177
- ],
178
- "./zh_CN.json": [
179
- "../../framework/esm-translations/translations/zh_CN.json",
180
- "framework_esm-translations_translations_zh_CN_json"
181
- ],
182
- "./zh_TW.json": [
183
- "../../framework/esm-translations/translations/zh_TW.json",
184
- "framework_esm-translations_translations_zh_TW_json"
185
- ]
186
- };
187
- function webpackAsyncContext(req) {
188
- if(!__webpack_require__.o(map, req)) {
189
- return Promise.resolve().then(() => {
190
- var e = new Error("Cannot find module '" + req + "'");
191
- e.code = 'MODULE_NOT_FOUND';
192
- throw e;
193
- });
194
- }
195
-
196
- var ids = map[req], id = ids[0];
197
- return __webpack_require__.e(ids[1]).then(() => {
198
- return __webpack_require__.t(id, 3 | 16);
199
- });
200
- }
201
- webpackAsyncContext.keys = () => (Object.keys(map));
202
- webpackAsyncContext.id = "../../framework/esm-translations/translations lazy recursive ^\\.\\/.*\\.json$";
203
- module.exports = webpackAsyncContext;
204
-
205
- /***/ }),
206
-
207
- /***/ "./src/core-config.ts":
208
- /*!****************************!*\
209
- !*** ./src/core-config.ts ***!
210
- \****************************/
211
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
212
-
213
- "use strict";
214
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupCoreConfig: () => (/* binding */ setupCoreConfig)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui */ \"./src/ui/index.ts\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n/**\n * Sets up the app shell's configuration.\n */ function setupCoreConfig() {\n (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.defineConfigSchema)(_ui__WEBPACK_IMPORTED_MODULE_2__.appName, {\n 'Enabled feature flags': {\n _description: 'The feature flags that will be enabled',\n _type: _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.Type.Array,\n _default: [],\n _elements: {\n _type: _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.Type.String\n }\n }\n });\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerModuleLoad)(_ui__WEBPACK_IMPORTED_MODULE_2__.appName);\n // process feature flags\n (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.getConfigStore)(_ui__WEBPACK_IMPORTED_MODULE_2__.appName).subscribe(function(param) {\n var config = param.config;\n var flagsToEnable = new Set((config === null || config === void 0 ? void 0 : config['Enabled feature flags']) || []);\n if (flagsToEnable.size) {\n var newFlags = _object_spread({}, _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.featureFlagsStore.getState().flags);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = flagsToEnable[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var flag = _step.value;\n // validate the flag exists\n if (!newFlags[flag]) {\n console.error('Feature flag \"'.concat(flag, '\" does not exist. Please define the flag first.'));\n } else {\n newFlags[flag] = _object_spread_props(_object_spread({}, newFlags[flag]), {\n enabled: true\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.featureFlagsStore.setState({\n flags: newFlags\n });\n }\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29yZS1jb25maWcudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFrRjtBQUNVO0FBQzdEO0FBRS9COztDQUVDLEdBQ00sU0FBU007SUFDZE4sMEVBQWtCQSxDQUFDSyx3Q0FBT0EsRUFBRTtRQUMxQix5QkFBeUI7WUFDdkJFLGNBQWM7WUFDZEMsT0FBT1Asd0RBQUlBLENBQUNRLEtBQUs7WUFDakJDLFVBQVUsRUFBRTtZQUNaQyxXQUFXO2dCQUNUSCxPQUFPUCx3REFBSUEsQ0FBQ1csTUFBTTtZQUNwQjtRQUNGO0lBQ0Y7SUFDQVQsdUZBQWtCQSxDQUFDRSx3Q0FBT0E7SUFFMUIsd0JBQXdCO0lBQ3hCSCxzRUFBY0EsQ0FBQ0csd0NBQU9BLEVBQUVRLFNBQVMsQ0FBQztZQUFHQyxlQUFBQTtRQUNuQyxJQUFNQyxnQkFBZ0IsSUFBSUMsSUFBSSxDQUFDRixtQkFBQUEsNkJBQUFBLE1BQVEsQ0FBQyx3QkFBd0IsS0FBc0IsRUFBRTtRQUN4RixJQUFJQyxjQUFjRSxJQUFJLEVBQUU7WUFDdEIsSUFBTUMsV0FBVyxtQkFBS2Qsa0ZBQWlCQSxDQUFDZSxRQUFRLEdBQUdDLEtBQUs7Z0JBQ25EOztnQkFBTCxRQUFLLFlBQWNMLGtDQUFkLHdHQUE2QjtvQkFBN0IsSUFBTU0sT0FBTjtvQkFDSCwyQkFBMkI7b0JBQzNCLElBQUksQ0FBQ0gsUUFBUSxDQUFDRyxLQUFLLEVBQUU7d0JBQ25CQyxRQUFRQyxLQUFLLENBQUMsaUJBQXNCLE9BQUxGLE1BQUs7b0JBQ3RDLE9BQU87d0JBQ0xILFFBQVEsQ0FBQ0csS0FBSyxHQUFHLHdDQUFLSCxRQUFRLENBQUNHLEtBQUs7NEJBQUVHLFNBQVM7O29CQUNqRDtnQkFDRjs7Z0JBUEs7Z0JBQUE7Ozt5QkFBQTt3QkFBQTs7O3dCQUFBOzhCQUFBOzs7O1lBU0xwQixrRkFBaUJBLENBQUNxQixRQUFRLENBQUM7Z0JBQUVMLE9BQU9GO1lBQVM7UUFDL0M7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uL3NyYy9jb3JlLWNvbmZpZy50cz81MmMzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZUNvbmZpZ1NjaGVtYSwgVHlwZSwgZ2V0Q29uZmlnU3RvcmUgfSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcbmltcG9ydCB7IHJlZ2lzdGVyTW9kdWxlTG9hZCwgZmVhdHVyZUZsYWdzU3RvcmUgfSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBhcHBOYW1lIH0gZnJvbSAnLi91aSc7XG5cbi8qKlxuICogU2V0cyB1cCB0aGUgYXBwIHNoZWxsJ3MgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwQ29yZUNvbmZpZygpIHtcbiAgZGVmaW5lQ29uZmlnU2NoZW1hKGFwcE5hbWUsIHtcbiAgICAnRW5hYmxlZCBmZWF0dXJlIGZsYWdzJzoge1xuICAgICAgX2Rlc2NyaXB0aW9uOiAnVGhlIGZlYXR1cmUgZmxhZ3MgdGhhdCB3aWxsIGJlIGVuYWJsZWQnLFxuICAgICAgX3R5cGU6IFR5cGUuQXJyYXksXG4gICAgICBfZGVmYXVsdDogW10sXG4gICAgICBfZWxlbWVudHM6IHtcbiAgICAgICAgX3R5cGU6IFR5cGUuU3RyaW5nLFxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcbiAgcmVnaXN0ZXJNb2R1bGVMb2FkKGFwcE5hbWUpO1xuXG4gIC8vIHByb2Nlc3MgZmVhdHVyZSBmbGFnc1xuICBnZXRDb25maWdTdG9yZShhcHBOYW1lKS5zdWJzY3JpYmUoKHsgY29uZmlnIH0pID0+IHtcbiAgICBjb25zdCBmbGFnc1RvRW5hYmxlID0gbmV3IFNldCgoY29uZmlnPy5bJ0VuYWJsZWQgZmVhdHVyZSBmbGFncyddIGFzIEFycmF5PHN0cmluZz4pIHx8IFtdKTtcbiAgICBpZiAoZmxhZ3NUb0VuYWJsZS5zaXplKSB7XG4gICAgICBjb25zdCBuZXdGbGFncyA9IHsgLi4uZmVhdHVyZUZsYWdzU3RvcmUuZ2V0U3RhdGUoKS5mbGFncyB9O1xuICAgICAgZm9yIChjb25zdCBmbGFnIG9mIGZsYWdzVG9FbmFibGUpIHtcbiAgICAgICAgLy8gdmFsaWRhdGUgdGhlIGZsYWcgZXhpc3RzXG4gICAgICAgIGlmICghbmV3RmxhZ3NbZmxhZ10pIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBGZWF0dXJlIGZsYWcgXCIke2ZsYWd9XCIgZG9lcyBub3QgZXhpc3QuIFBsZWFzZSBkZWZpbmUgdGhlIGZsYWcgZmlyc3QuYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3RmxhZ3NbZmxhZ10gPSB7IC4uLm5ld0ZsYWdzW2ZsYWddLCBlbmFibGVkOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZmVhdHVyZUZsYWdzU3RvcmUuc2V0U3RhdGUoeyBmbGFnczogbmV3RmxhZ3MgfSk7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJkZWZpbmVDb25maWdTY2hlbWEiLCJUeXBlIiwiZ2V0Q29uZmlnU3RvcmUiLCJyZWdpc3Rlck1vZHVsZUxvYWQiLCJmZWF0dXJlRmxhZ3NTdG9yZSIsImFwcE5hbWUiLCJzZXR1cENvcmVDb25maWciLCJfZGVzY3JpcHRpb24iLCJfdHlwZSIsIkFycmF5IiwiX2RlZmF1bHQiLCJfZWxlbWVudHMiLCJTdHJpbmciLCJzdWJzY3JpYmUiLCJjb25maWciLCJmbGFnc1RvRW5hYmxlIiwiU2V0Iiwic2l6ZSIsIm5ld0ZsYWdzIiwiZ2V0U3RhdGUiLCJmbGFncyIsImZsYWciLCJjb25zb2xlIiwiZXJyb3IiLCJlbmFibGVkIiwic2V0U3RhdGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/core-config.ts\n");
215
-
216
- /***/ }),
217
-
218
- /***/ "./src/locale.ts":
219
- /*!***********************!*\
220
- !*** ./src/locale.ts ***!
221
- \***********************/
222
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
223
-
224
- "use strict";
225
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupI18n: () => (/* binding */ setupI18n)\n/* harmony export */ });\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! i18next */ \"webpack/sharing/consume/default/i18next/i18next\");\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(i18next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next-browser-languagedetector */ \"../../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es */ \"../../../node_modules/lodash-es/merge.js\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3__);\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n(0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3__.registerTranslationNamespace)('core');\nfunction setupI18n() {\n var i18n = window.i18next = (i18next__WEBPACK_IMPORTED_MODULE_0___default()) || i18next__WEBPACK_IMPORTED_MODULE_0__;\n var languageChangeObserver = new MutationObserver(function() {\n i18n.changeLanguage().catch(function(e) {\n return console.error('i18next failed to re-detect language', e);\n });\n });\n languageChangeObserver.observe(document.documentElement, {\n attributeFilter: [\n 'lang'\n ],\n attributes: true\n });\n i18n.on('languageChanged', function() {\n document.documentElement.setAttribute('dir', i18n.dir());\n });\n return i18n.use(i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).use({\n type: 'backend',\n init: function init() {},\n read: function read(language, namespace, callback) {\n if (namespace === 'translation') {\n callback(Error(\"can't handle translation namespace\"), null);\n } else if (namespace === undefined || language === undefined) {\n callback(Error(), null);\n } else if (namespace === 'core') {\n Promise.all([\n __webpack_require__(\"../../framework/esm-translations/translations lazy recursive ^\\\\.\\\\/.*\\\\.json$\")(\"./\".concat(language, \".json\")),\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3__.getTranslationOverrides)(namespace)\n ]).then(function(param) {\n var _param = _sliced_to_array(param, 2), json = _param[0], _param_ = _sliced_to_array(_param[1], 1), overrides = _param_[0];\n var _json_default;\n var translations = (_json_default = json === null || json === void 0 ? void 0 : json.default) !== null && _json_default !== void 0 ? _json_default : {};\n if (language in overrides) {\n translations = (0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(translations, overrides[language]);\n }\n callback(null, translations);\n }).catch(function(err) {\n callback(err, null);\n });\n } else {\n var _namespace_split = _sliced_to_array(namespace.split('___'), 3), ns = _namespace_split[0], slotName = _namespace_split[1], extensionId = _namespace_split[2];\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3__.importDynamic)(ns).then(function(module) {\n return Promise.all([\n getImportPromise(module, ns, language),\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_3__.getTranslationOverrides)(ns, slotName, extensionId)\n ]);\n }).then(function(param) {\n var _param = _sliced_to_array(param, 2), json = _param[0], overrides = _param[1];\n var translations = json !== null && json !== void 0 ? json : {};\n // if we have a slotName and extensionId, it means that we're only loading the namespace for that extension\n // in that slot, but we _also_ process the base translations for the namespace and any top-level config overrides\n // so here we also provide the translations for just the namespace before merging everything together\n if (slotName && extensionId) {\n if (overrides.length >= 1 && language in overrides[0]) {\n window.i18next.addResourceBundle(language, ns, (0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(translations, overrides[0][language]), true, false);\n } else {\n window.i18next.addResourceBundle(language, ns, translations, true, false);\n }\n }\n translations = lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"].apply(void 0, [\n translations\n ].concat(_to_consumable_array(overrides.filter(function(o) {\n return language in o;\n }).map(function(o) {\n return o[language];\n }))));\n callback(null, translations);\n }).catch(function(err) {\n callback(err, null);\n });\n }\n }\n }).use(react_i18next__WEBPACK_IMPORTED_MODULE_2__.initReactI18next).init({\n detection: {\n order: [\n 'querystring',\n 'htmlTag',\n 'localStorage',\n 'navigator'\n ],\n lookupQuerystring: 'lang'\n },\n fallbackLng: 'en',\n nsSeparator: false\n });\n}\nfunction getImportPromise(module, namespace, language) {\n if (typeof module.importTranslation !== 'function') {\n throw Error(\"Module \".concat(namespace, \" does not export an importTranslation function\"));\n }\n if (!language) {\n return Promise.resolve({});\n } else if (language.includes('-')) {\n language = language.replace('-', '_');\n }\n var importPromise = module.importTranslation(\"./\".concat(language, \".json\"));\n if (!_instanceof(importPromise, Promise)) {\n throw Error(\"Module \".concat(namespace, \" exports an importTranslation function that does not return a promise. Did you forget to set require.context mode to 'lazy'?\"));\n }\n return importPromise;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUtBLE9BQUxBLEtBQUFBLEdBQUFBO3dCQUFNcUM7cUJBQWdGLENBQXRGckMsT0FBb0IscUJBQUdvQyxVQUFVVyxNQUFNLENBQUMsU0FBQ0M7K0JBQU1yQixZQUFZcUI7dUJBQUdDLEdBQUcsQ0FBQyxTQUFDRDsrQkFBTUEsQ0FBQyxDQUFDckIsU0FBUzs7b0JBRW5HRSxTQUFTLE1BQU1RO2dCQUNqQixHQUNDMUIsS0FBSyxDQUFDLFNBQUMyQjtvQkFDTlQsU0FBU1MsS0FBSztnQkFDaEI7WUFDSjtRQUNGO0lBQ0YsR0FDQ2YsR0FBRyxDQUFDeEIsMkRBQWdCQSxFQUNwQjBCLElBQUksQ0FBQztRQUNKeUIsV0FBVztZQUNUQyxPQUFPO2dCQUFDO2dCQUFlO2dCQUFXO2dCQUFnQjthQUFZO1lBQzlEQyxtQkFBbUI7UUFDckI7UUFDQUMsYUFBYTtRQUNiQyxhQUFhO0lBQ2Y7QUFDSjtBQUVBLFNBQVNWLGlCQUNQRCxNQUVDLEVBQ0RmLFNBQWlCLEVBQ2pCRCxRQUFnQjtJQUVoQixJQUFJLE9BQU9nQixPQUFPWSxpQkFBaUIsS0FBSyxZQUFZO1FBQ2xELE1BQU16QixNQUFNLFVBQW9CLE9BQVZGLFdBQVU7SUFDbEM7SUFFQSxJQUFJLENBQUNELFVBQVU7UUFDYixPQUFPSyxRQUFRd0IsT0FBTyxDQUFDLENBQUM7SUFDMUIsT0FBTyxJQUFJN0IsU0FBUzhCLFFBQVEsQ0FBQyxNQUFNO1FBQ2pDOUIsV0FBV0EsU0FBUytCLE9BQU8sQ0FBQyxLQUFLO0lBQ25DO0lBRUEsSUFBTUMsZ0JBQWdCaEIsT0FBT1ksaUJBQWlCLENBQUMsS0FBYyxPQUFUNUIsVUFBUztJQUU3RCxJQUFJLENBQUVnQyxZQUFBQSxlQUF5QjNCLFVBQVU7UUFDdkMsTUFBTUYsTUFDSixVQUFvQixPQUFWRixXQUFVO0lBRXhCO0lBRUEsT0FBTytCO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2xvY2FsZS50cz81YzFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkxOG5leHQgZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgTGFuZ3VhZ2VEZXRlY3RvciBmcm9tICdpMThuZXh0LWJyb3dzZXItbGFuZ3VhZ2VkZXRlY3Rvcic7XG5pbXBvcnQgeyBpbml0UmVhY3RJMThuZXh0IH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBnZXRUcmFuc2xhdGlvbk92ZXJyaWRlcyxcbiAgaW1wb3J0RHluYW1pYyxcbiAgcmVnaXN0ZXJUcmFuc2xhdGlvbk5hbWVzcGFjZSxcbn0gZnJvbSAnQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWwnO1xuXG5yZWdpc3RlclRyYW5zbGF0aW9uTmFtZXNwYWNlKCdjb3JlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cEkxOG4oKSB7XG4gIGNvbnN0IGkxOG4gPSAod2luZG93LmkxOG5leHQgPSBpMThuZXh0LmRlZmF1bHQgfHwgaTE4bmV4dCk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICBpMThuLmNoYW5nZUxhbmd1YWdlKCkuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoJ2kxOG5leHQgZmFpbGVkIHRvIHJlLWRldGVjdCBsYW5ndWFnZScsIGUpKTtcbiAgfSk7XG5cbiAgbGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgIGF0dHJpYnV0ZUZpbHRlcjogWydsYW5nJ10sXG4gICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgfSk7XG5cbiAgaTE4bi5vbignbGFuZ3VhZ2VDaGFuZ2VkJywgKCkgPT4ge1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RpcicsIGkxOG4uZGlyKCkpO1xuICB9KTtcblxuICByZXR1cm4gaTE4blxuICAgIC51c2UoTGFuZ3VhZ2VEZXRlY3RvcilcbiAgICAudXNlPGkxOG5leHQuQmFja2VuZE1vZHVsZT4oe1xuICAgICAgdHlwZTogJ2JhY2tlbmQnLFxuICAgICAgaW5pdCgpIHt9LFxuICAgICAgcmVhZChsYW5ndWFnZSwgbmFtZXNwYWNlLCBjYWxsYmFjaykge1xuICAgICAgICBpZiAobmFtZXNwYWNlID09PSAndHJhbnNsYXRpb24nKSB7XG4gICAgICAgICAgY2FsbGJhY2soRXJyb3IoXCJjYW4ndCBoYW5kbGUgdHJhbnNsYXRpb24gbmFtZXNwYWNlXCIpLCBudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lc3BhY2UgPT09IHVuZGVmaW5lZCB8fCBsYW5ndWFnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2FsbGJhY2soRXJyb3IoKSwgbnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAobmFtZXNwYWNlID09PSAnY29yZScpIHtcbiAgICAgICAgICBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja01vZGU6IFwibGF6eVwiICovIGBAb3Blbm1ycy9lc20tdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy8ke2xhbmd1YWdlfS5qc29uYCksXG4gICAgICAgICAgICBnZXRUcmFuc2xhdGlvbk92ZXJyaWRlcyhuYW1lc3BhY2UpLFxuICAgICAgICAgIF0pXG4gICAgICAgICAgICAudGhlbigoW2pzb24sIFtvdmVycmlkZXNdXSkgPT4ge1xuICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRpb25zID0ganNvbj8uZGVmYXVsdCA/PyB7fTtcblxuICAgICAgICAgICAgICBpZiAobGFuZ3VhZ2UgaW4gb3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zID0gbWVyZ2UodHJhbnNsYXRpb25zLCBvdmVycmlkZXNbbGFuZ3VhZ2VdKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIHRyYW5zbGF0aW9ucyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIGNhbGxiYWNrKGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBbbnMsIHNsb3ROYW1lLCBleHRlbnNpb25JZF0gPSBuYW1lc3BhY2Uuc3BsaXQoJ19fXycpO1xuICAgICAgICAgIGltcG9ydER5bmFtaWMobnMpXG4gICAgICAgICAgICAudGhlbigobW9kdWxlKSA9PlxuICAgICAgICAgICAgICBQcm9taXNlLmFsbChbZ2V0SW1wb3J0UHJvbWlzZShtb2R1bGUsIG5zLCBsYW5ndWFnZSksIGdldFRyYW5zbGF0aW9uT3ZlcnJpZGVzKG5zLCBzbG90TmFtZSwgZXh0ZW5zaW9uSWQpXSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoW2pzb24sIG92ZXJyaWRlc10pID0+IHtcbiAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9ucyA9IGpzb24gPz8ge307XG5cbiAgICAgICAgICAgICAgLy8gaWYgd2UgaGF2ZSBhIHNsb3ROYW1lIGFuZCBleHRlbnNpb25JZCwgaXQgbWVhbnMgdGhhdCB3ZSdyZSBvbmx5IGxvYWRpbmcgdGhlIG5hbWVzcGFjZSBmb3IgdGhhdCBleHRlbnNpb25cbiAgICAgICAgICAgICAgLy8gaW4gdGhhdCBzbG90LCBidXQgd2UgX2Fsc29fIHByb2Nlc3MgdGhlIGJhc2UgdHJhbnNsYXRpb25zIGZvciB0aGUgbmFtZXNwYWNlIGFuZCBhbnkgdG9wLWxldmVsIGNvbmZpZyBvdmVycmlkZXNcbiAgICAgICAgICAgICAgLy8gc28gaGVyZSB3ZSBhbHNvIHByb3ZpZGUgdGhlIHRyYW5zbGF0aW9ucyBmb3IganVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSBtZXJnaW5nIGV2ZXJ5dGhpbmcgdG9nZXRoZXJcbiAgICAgICAgICAgICAgaWYgKHNsb3ROYW1lICYmIGV4dGVuc2lvbklkKSB7XG4gICAgICAgICAgICAgICAgaWYgKG92ZXJyaWRlcy5sZW5ndGggPj0gMSAmJiBsYW5ndWFnZSBpbiBvdmVycmlkZXNbMF0pIHtcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5pMThuZXh0LmFkZFJlc291cmNlQnVuZGxlKFxuICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgbnMsXG4gICAgICAgICAgICAgICAgICAgIG1lcmdlKHRyYW5zbGF0aW9ucywgb3ZlcnJpZGVzWzBdW2xhbmd1YWdlXSksXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgd2luZG93LmkxOG5leHQuYWRkUmVzb3VyY2VCdW5kbGUobGFuZ3VhZ2UsIG5zLCB0cmFuc2xhdGlvbnMsIHRydWUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0cmFuc2xhdGlvbnMgPSBtZXJnZSh0cmFuc2xhdGlvbnMsIC4uLm92ZXJyaWRlcy5maWx0ZXIoKG8pID0+IGxhbmd1YWdlIGluIG8pLm1hcCgobykgPT4gb1tsYW5ndWFnZV0pKTtcblxuICAgICAgICAgICAgICBjYWxsYmFjayhudWxsLCB0cmFuc2xhdGlvbnMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICBjYWxsYmFjayhlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSlcbiAgICAudXNlKGluaXRSZWFjdEkxOG5leHQpXG4gICAgLmluaXQoe1xuICAgICAgZGV0ZWN0aW9uOiB7XG4gICAgICAgIG9yZGVyOiBbJ3F1ZXJ5c3RyaW5nJywgJ2h0bWxUYWcnLCAnbG9jYWxTdG9yYWdlJywgJ25hdmlnYXRvciddLFxuICAgICAgICBsb29rdXBRdWVyeXN0cmluZzogJ2xhbmcnLFxuICAgICAgfSxcbiAgICAgIGZhbGxiYWNrTG5nOiAnZW4nLFxuICAgICAgbnNTZXBhcmF0b3I6IGZhbHNlLFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRJbXBvcnRQcm9taXNlKFxuICBtb2R1bGU6IHtcbiAgICBpbXBvcnRUcmFuc2xhdGlvbjogKGxhbmd1YWdlOiBzdHJpbmcpID0+IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gIH0sXG4gIG5hbWVzcGFjZTogc3RyaW5nLFxuICBsYW5ndWFnZTogc3RyaW5nLFxuKSB7XG4gIGlmICh0eXBlb2YgbW9kdWxlLmltcG9ydFRyYW5zbGF0aW9uICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgRXJyb3IoYE1vZHVsZSAke25hbWVzcGFjZX0gZG9lcyBub3QgZXhwb3J0IGFuIGltcG9ydFRyYW5zbGF0aW9uIGZ1bmN0aW9uYCk7XG4gIH1cblxuICBpZiAoIWxhbmd1YWdlKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7fSk7XG4gIH0gZWxzZSBpZiAobGFuZ3VhZ2UuaW5jbHVkZXMoJy0nKSkge1xuICAgIGxhbmd1YWdlID0gbGFuZ3VhZ2UucmVwbGFjZSgnLScsICdfJyk7XG4gIH1cblxuICBjb25zdCBpbXBvcnRQcm9taXNlID0gbW9kdWxlLmltcG9ydFRyYW5zbGF0aW9uKGAuLyR7bGFuZ3VhZ2V9Lmpzb25gKTtcblxuICBpZiAoIShpbXBvcnRQcm9taXNlIGluc3RhbmNlb2YgUHJvbWlzZSkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBNb2R1bGUgJHtuYW1lc3BhY2V9IGV4cG9ydHMgYW4gaW1wb3J0VHJhbnNsYXRpb24gZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXR1cm4gYSBwcm9taXNlLiBEaWQgeW91IGZvcmdldCB0byBzZXQgcmVxdWlyZS5jb250ZXh0IG1vZGUgdG8gJ2xhenknP2AsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBpbXBvcnRQcm9taXNlO1xufVxuIl0sIm5hbWVzIjpbImkxOG5leHQiLCJMYW5ndWFnZURldGVjdG9yIiwiaW5pdFJlYWN0STE4bmV4dCIsIm1lcmdlIiwiZ2V0VHJhbnNsYXRpb25PdmVycmlkZXMiLCJpbXBvcnREeW5hbWljIiwicmVnaXN0ZXJUcmFuc2xhdGlvbk5hbWVzcGFjZSIsInNldHVwSTE4biIsImkxOG4iLCJ3aW5kb3ciLCJkZWZhdWx0IiwibGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJjaGFuZ2VMYW5ndWFnZSIsImNhdGNoIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsIm9ic2VydmUiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImF0dHJpYnV0ZUZpbHRlciIsImF0dHJpYnV0ZXMiLCJvbiIsInNldEF0dHJpYnV0ZSIsImRpciIsInVzZSIsInR5cGUiLCJpbml0IiwicmVhZCIsImxhbmd1YWdlIiwibmFtZXNwYWNlIiwiY2FsbGJhY2siLCJFcnJvciIsInVuZGVmaW5lZCIsIlByb21pc2UiLCJhbGwiLCJ0aGVuIiwianNvbiIsIm92ZXJyaWRlcyIsInRyYW5zbGF0aW9ucyIsImVyciIsInNwbGl0IiwibnMiLCJzbG90TmFtZSIsImV4dGVuc2lvbklkIiwibW9kdWxlIiwiZ2V0SW1wb3J0UHJvbWlzZSIsImxlbmd0aCIsImFkZFJlc291cmNlQnVuZGxlIiwiZmlsdGVyIiwibyIsIm1hcCIsImRldGVjdGlvbiIsIm9yZGVyIiwibG9va3VwUXVlcnlzdHJpbmciLCJmYWxsYmFja0xuZyIsIm5zU2VwYXJhdG9yIiwiaW1wb3J0VHJhbnNsYXRpb24iLCJyZXNvbHZlIiwiaW5jbHVkZXMiLCJyZXBsYWNlIiwiaW1wb3J0UHJvbWlzZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/locale.ts\n");
226
-
227
- /***/ }),
228
-
229
- /***/ "./src/optionaldeps.ts":
230
- /*!*****************************!*\
231
- !*** ./src/optionaldeps.ts ***!
232
- \*****************************/
233
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
234
-
235
- "use strict";
236
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ registerOptionalDependencyHandler: () => (/* binding */ registerOptionalDependencyHandler)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! semver */ \"../../../node_modules/semver/index.js\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(semver__WEBPACK_IMPORTED_MODULE_1__);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\nfunction registerOptionalDependencyHandler() {\n var subscription = (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__.getCurrentUser)().subscribe(function(session) {\n if (session.authenticated) {\n subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();\n setupOptionalDependencies();\n }\n });\n return Promise.resolve();\n}\nfunction setupOptionalDependencies() {\n var optionalDependencyFlags = window.installedModules.reduce(function(curr, module) {\n var _module_;\n if ((_module_ = module[1]) === null || _module_ === void 0 ? void 0 : _module_.optionalBackendDependencies) {\n Object.entries(module[1].optionalBackendDependencies).forEach(function(optionalDependency) {\n var optionalDependencyDescriptor = optionalDependency[1];\n if (typeof optionalDependencyDescriptor !== 'string') {\n var _optionalDependencyDescriptor_feature_flagName, _optionalDependencyDescriptor_feature_label, _optionalDependencyDescriptor_feature_description;\n if (_type_of(optionalDependencyDescriptor.feature) === 'object' && optionalDependencyDescriptor.feature && ((_optionalDependencyDescriptor_feature_flagName = optionalDependencyDescriptor.feature.flagName) === null || _optionalDependencyDescriptor_feature_flagName === void 0 ? void 0 : _optionalDependencyDescriptor_feature_flagName.length) > 0 && ((_optionalDependencyDescriptor_feature_label = optionalDependencyDescriptor.feature.label) === null || _optionalDependencyDescriptor_feature_label === void 0 ? void 0 : _optionalDependencyDescriptor_feature_label.length) > 0 && ((_optionalDependencyDescriptor_feature_description = optionalDependencyDescriptor.feature.description) === null || _optionalDependencyDescriptor_feature_description === void 0 ? void 0 : _optionalDependencyDescriptor_feature_description.length) > 0) {\n curr.set(optionalDependency[0], {\n version: optionalDependencyDescriptor.version,\n feature: optionalDependencyDescriptor.feature\n });\n } else {\n console.warn(\"Feature flag descriptor for \".concat(module[0], \" does not match expected type. Feature flags must define a 'flagName', 'label', and 'description'\"));\n }\n }\n });\n }\n return curr;\n }, new Map());\n if (optionalDependencyFlags.size > 0) {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__.openmrsFetch)(\"\".concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__.restBaseUrl, \"/module?v=custom:(uuid,version)\")).then(function(response) {\n var _response_data_results;\n ((_response_data_results = response.data.results) !== null && _response_data_results !== void 0 ? _response_data_results : []).forEach(function(backendModule) {\n if (optionalDependencyFlags.has(backendModule.uuid)) {\n var optionalDependency = optionalDependencyFlags.get(backendModule.uuid);\n if (optionalDependency && (0,semver__WEBPACK_IMPORTED_MODULE_1__.satisfies)(backendModule.version, optionalDependency.version, {\n includePrerelease: true\n })) {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__.registerFeatureFlag)(optionalDependency.feature.flagName, optionalDependency.feature.label, optionalDependency.feature.description);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_0__.setFeatureFlag)(optionalDependency.feature.flagName, true);\n }\n }\n });\n }).catch(function() {}); // swallow any issues fetching\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvb3B0aW9uYWxkZXBzLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQU82QztBQUNWO0FBRTVCLFNBQVNNO0lBQ2QsSUFBTUMsZUFBZUosbUZBQWNBLEdBQUdLLFNBQVMsQ0FBQyxTQUFDQztRQUMvQyxJQUFJQSxRQUFRQyxhQUFhLEVBQUU7WUFDekJILHlCQUFBQSxtQ0FBQUEsYUFBY0ksV0FBVztZQUN6QkM7UUFDRjtJQUNGO0lBRUEsT0FBT0MsUUFBUUMsT0FBTztBQUN4QjtBQUVBLFNBQVNGO0lBQ1AsSUFBTUcsMEJBQTBCQyxPQUFPQyxnQkFBZ0IsQ0FBQ0MsTUFBTSxDQUU1RCxTQUFDQyxNQUFNQztZQUNIQTtRQUFKLEtBQUlBLFdBQUFBLE1BQU0sQ0FBQyxFQUFFLGNBQVRBLCtCQUFBQSxTQUFXQywyQkFBMkIsRUFBRTtZQUMxQ0MsT0FBT0MsT0FBTyxDQUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDQywyQkFBMkIsRUFBRUcsT0FBTyxDQUFDLFNBQUNDO2dCQUM3RCxJQUFNQywrQkFBK0JELGtCQUFrQixDQUFDLEVBQUU7Z0JBQzFELElBQUksT0FBT0MsaUNBQWlDLFVBQVU7d0JBSWxEQSxnREFDQUEsNkNBQ0FBO29CQUxGLElBQ0UsU0FBT0EsNkJBQTZCQyxPQUFPLE1BQUssWUFDaERELDZCQUE2QkMsT0FBTyxJQUNwQ0QsRUFBQUEsaURBQUFBLDZCQUE2QkMsT0FBTyxDQUFDQyxRQUFRLGNBQTdDRixxRUFBQUEsK0NBQStDRyxNQUFNLElBQUcsS0FDeERILEVBQUFBLDhDQUFBQSw2QkFBNkJDLE9BQU8sQ0FBQ0csS0FBSyxjQUExQ0osa0VBQUFBLDRDQUE0Q0csTUFBTSxJQUFHLEtBQ3JESCxFQUFBQSxvREFBQUEsNkJBQTZCQyxPQUFPLENBQUNJLFdBQVcsY0FBaERMLHdFQUFBQSxrREFBa0RHLE1BQU0sSUFBRyxHQUMzRDt3QkFDQVYsS0FBS2EsR0FBRyxDQUFDUCxrQkFBa0IsQ0FBQyxFQUFFLEVBQUU7NEJBQzlCUSxTQUFTUCw2QkFBNkJPLE9BQU87NEJBQzdDTixTQUFTRCw2QkFBNkJDLE9BQU87d0JBQy9DO29CQUNGLE9BQU87d0JBQ0xPLFFBQVFDLElBQUksQ0FDViwrQkFBeUMsT0FBVmYsTUFBTSxDQUFDLEVBQUUsRUFBQztvQkFFN0M7Z0JBQ0Y7WUFDRjtRQUNGO1FBRUEsT0FBT0Q7SUFDVCxHQUFHLElBQUlpQjtJQUVQLElBQUlyQix3QkFBd0JzQixJQUFJLEdBQUcsR0FBRztRQUNwQ3JDLGlGQUFZQSxDQUFtRCxHQUFlLE9BQVpJLDRFQUFXQSxFQUFDLG9DQUMzRWtDLElBQUksQ0FBQyxTQUFDQztnQkFDSkE7WUFBQUEsQ0FBQUEsQ0FBQUEseUJBQUFBLFNBQVNDLElBQUksQ0FBQ0MsT0FBTyxjQUFyQkYsb0NBQUFBLHlCQUF5QixFQUFFLEVBQUVmLE9BQU8sQ0FBQyxTQUFDa0I7Z0JBQ3JDLElBQUkzQix3QkFBd0I0QixHQUFHLENBQUNELGNBQWNFLElBQUksR0FBRztvQkFDbkQsSUFBTW5CLHFCQUFxQlYsd0JBQXdCOEIsR0FBRyxDQUFDSCxjQUFjRSxJQUFJO29CQUN6RSxJQUNFbkIsc0JBQ0FwQixpREFBU0EsQ0FBQ3FDLGNBQWNULE9BQU8sRUFBRVIsbUJBQW1CUSxPQUFPLEVBQUU7d0JBQUVhLG1CQUFtQjtvQkFBSyxJQUN2Rjt3QkFDQTdDLHdGQUFtQkEsQ0FDakJ3QixtQkFBbUJFLE9BQU8sQ0FBQ0MsUUFBUSxFQUNuQ0gsbUJBQW1CRSxPQUFPLENBQUNHLEtBQUssRUFDaENMLG1CQUFtQkUsT0FBTyxDQUFDSSxXQUFXO3dCQUd4QzdCLG1GQUFjQSxDQUFDdUIsbUJBQW1CRSxPQUFPLENBQUNDLFFBQVEsRUFBRTtvQkFDdEQ7Z0JBQ0Y7WUFDRjtRQUNGLEdBQ0NtQixLQUFLLENBQUMsWUFBTyxJQUFJLDhCQUE4QjtJQUNwRDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uL3NyYy9vcHRpb25hbGRlcHMudHM/OWI4MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZlYXR1cmVGbGFnRGVmaW5pdGlvbixcbiAgb3Blbm1yc0ZldGNoLFxuICByZWdpc3RlckZlYXR1cmVGbGFnLFxuICBzZXRGZWF0dXJlRmxhZyxcbiAgZ2V0Q3VycmVudFVzZXIsXG4gIHJlc3RCYXNlVXJsLFxufSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBzYXRpc2ZpZXMgfSBmcm9tICdzZW12ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJPcHRpb25hbERlcGVuZGVuY3lIYW5kbGVyKCkge1xuICBjb25zdCBzdWJzY3JpcHRpb24gPSBnZXRDdXJyZW50VXNlcigpLnN1YnNjcmliZSgoc2Vzc2lvbikgPT4ge1xuICAgIGlmIChzZXNzaW9uLmF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgIHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgIHNldHVwT3B0aW9uYWxEZXBlbmRlbmNpZXMoKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbn1cblxuZnVuY3Rpb24gc2V0dXBPcHRpb25hbERlcGVuZGVuY2llcygpIHtcbiAgY29uc3Qgb3B0aW9uYWxEZXBlbmRlbmN5RmxhZ3MgPSB3aW5kb3cuaW5zdGFsbGVkTW9kdWxlcy5yZWR1Y2U8XG4gICAgTWFwPHN0cmluZywgeyB2ZXJzaW9uOiBzdHJpbmc7IGZlYXR1cmU6IEZlYXR1cmVGbGFnRGVmaW5pdGlvbiB9PlxuICA+KChjdXJyLCBtb2R1bGUpID0+IHtcbiAgICBpZiAobW9kdWxlWzFdPy5vcHRpb25hbEJhY2tlbmREZXBlbmRlbmNpZXMpIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKG1vZHVsZVsxXS5vcHRpb25hbEJhY2tlbmREZXBlbmRlbmNpZXMpLmZvckVhY2goKG9wdGlvbmFsRGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25hbERlcGVuZGVuY3lEZXNjcmlwdG9yID0gb3B0aW9uYWxEZXBlbmRlbmN5WzFdO1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbmFsRGVwZW5kZW5jeURlc2NyaXB0b3IgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIG9wdGlvbmFsRGVwZW5kZW5jeURlc2NyaXB0b3IuZmVhdHVyZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgIG9wdGlvbmFsRGVwZW5kZW5jeURlc2NyaXB0b3IuZmVhdHVyZSAmJlxuICAgICAgICAgICAgb3B0aW9uYWxEZXBlbmRlbmN5RGVzY3JpcHRvci5mZWF0dXJlLmZsYWdOYW1lPy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICBvcHRpb25hbERlcGVuZGVuY3lEZXNjcmlwdG9yLmZlYXR1cmUubGFiZWw/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIG9wdGlvbmFsRGVwZW5kZW5jeURlc2NyaXB0b3IuZmVhdHVyZS5kZXNjcmlwdGlvbj8ubGVuZ3RoID4gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY3Vyci5zZXQob3B0aW9uYWxEZXBlbmRlbmN5WzBdLCB7XG4gICAgICAgICAgICAgIHZlcnNpb246IG9wdGlvbmFsRGVwZW5kZW5jeURlc2NyaXB0b3IudmVyc2lvbixcbiAgICAgICAgICAgICAgZmVhdHVyZTogb3B0aW9uYWxEZXBlbmRlbmN5RGVzY3JpcHRvci5mZWF0dXJlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgYEZlYXR1cmUgZmxhZyBkZXNjcmlwdG9yIGZvciAke21vZHVsZVswXX0gZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgdHlwZS4gRmVhdHVyZSBmbGFncyBtdXN0IGRlZmluZSBhICdmbGFnTmFtZScsICdsYWJlbCcsIGFuZCAnZGVzY3JpcHRpb24nYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycjtcbiAgfSwgbmV3IE1hcCgpKTtcblxuICBpZiAob3B0aW9uYWxEZXBlbmRlbmN5RmxhZ3Muc2l6ZSA+IDApIHtcbiAgICBvcGVubXJzRmV0Y2g8eyByZXN1bHRzOiB7IHV1aWQ6IHN0cmluZzsgdmVyc2lvbjogc3RyaW5nIH1bXSB9PihgJHtyZXN0QmFzZVVybH0vbW9kdWxlP3Y9Y3VzdG9tOih1dWlkLHZlcnNpb24pYClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAocmVzcG9uc2UuZGF0YS5yZXN1bHRzID8/IFtdKS5mb3JFYWNoKChiYWNrZW5kTW9kdWxlKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbmFsRGVwZW5kZW5jeUZsYWdzLmhhcyhiYWNrZW5kTW9kdWxlLnV1aWQpKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbERlcGVuZGVuY3kgPSBvcHRpb25hbERlcGVuZGVuY3lGbGFncy5nZXQoYmFja2VuZE1vZHVsZS51dWlkKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgb3B0aW9uYWxEZXBlbmRlbmN5ICYmXG4gICAgICAgICAgICAgIHNhdGlzZmllcyhiYWNrZW5kTW9kdWxlLnZlcnNpb24sIG9wdGlvbmFsRGVwZW5kZW5jeS52ZXJzaW9uLCB7IGluY2x1ZGVQcmVyZWxlYXNlOiB0cnVlIH0pXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmVnaXN0ZXJGZWF0dXJlRmxhZyhcbiAgICAgICAgICAgICAgICBvcHRpb25hbERlcGVuZGVuY3kuZmVhdHVyZS5mbGFnTmFtZSxcbiAgICAgICAgICAgICAgICBvcHRpb25hbERlcGVuZGVuY3kuZmVhdHVyZS5sYWJlbCxcbiAgICAgICAgICAgICAgICBvcHRpb25hbERlcGVuZGVuY3kuZmVhdHVyZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBzZXRGZWF0dXJlRmxhZyhvcHRpb25hbERlcGVuZGVuY3kuZmVhdHVyZS5mbGFnTmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge30pOyAvLyBzd2FsbG93IGFueSBpc3N1ZXMgZmV0Y2hpbmdcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm9wZW5tcnNGZXRjaCIsInJlZ2lzdGVyRmVhdHVyZUZsYWciLCJzZXRGZWF0dXJlRmxhZyIsImdldEN1cnJlbnRVc2VyIiwicmVzdEJhc2VVcmwiLCJzYXRpc2ZpZXMiLCJyZWdpc3Rlck9wdGlvbmFsRGVwZW5kZW5jeUhhbmRsZXIiLCJzdWJzY3JpcHRpb24iLCJzdWJzY3JpYmUiLCJzZXNzaW9uIiwiYXV0aGVudGljYXRlZCIsInVuc3Vic2NyaWJlIiwic2V0dXBPcHRpb25hbERlcGVuZGVuY2llcyIsIlByb21pc2UiLCJyZXNvbHZlIiwib3B0aW9uYWxEZXBlbmRlbmN5RmxhZ3MiLCJ3aW5kb3ciLCJpbnN0YWxsZWRNb2R1bGVzIiwicmVkdWNlIiwiY3VyciIsIm1vZHVsZSIsIm9wdGlvbmFsQmFja2VuZERlcGVuZGVuY2llcyIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwib3B0aW9uYWxEZXBlbmRlbmN5Iiwib3B0aW9uYWxEZXBlbmRlbmN5RGVzY3JpcHRvciIsImZlYXR1cmUiLCJmbGFnTmFtZSIsImxlbmd0aCIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJzZXQiLCJ2ZXJzaW9uIiwiY29uc29sZSIsIndhcm4iLCJNYXAiLCJzaXplIiwidGhlbiIsInJlc3BvbnNlIiwiZGF0YSIsInJlc3VsdHMiLCJiYWNrZW5kTW9kdWxlIiwiaGFzIiwidXVpZCIsImdldCIsImluY2x1ZGVQcmVyZWxlYXNlIiwiY2F0Y2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/optionaldeps.ts\n");
237
-
238
- /***/ }),
239
-
240
- /***/ "./src/run.ts":
241
- /*!********************!*\
242
- !*** ./src/run.ts ***!
243
- \********************/
244
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
245
-
246
- "use strict";
247
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ run: () => (/* binding */ run)\n/* harmony export */ });\n/* harmony import */ var single_spa__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! single-spa */ \"webpack/sharing/consume/default/single-spa/single-spa\");\n/* harmony import */ var single_spa__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(single_spa__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./locale */ \"./src/locale.ts\");\n/* harmony import */ var _optionaldeps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./optionaldeps */ \"./src/optionaldeps.ts\");\n/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui */ \"./src/ui/index.ts\");\n/* harmony import */ var _core_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core-config */ \"./src/core-config.ts\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n\n\n\n\n\n\n// @internal\n// used to track when the window.installedModules global is finalised\n// so we can pre-load all modules\nvar REGISTRATION_PROMISES = Symbol('openmrs_registration_promises');\n/**\n * Sets up the frontend modules (apps). Uses the defined export\n * from the root modules of the apps. This is done by reading the\n * list of apps from the routes.registry.json file, which serves\n * as the registry of all apps in the application.\n */ function setupApps() {\n return _async_to_generator(function() {\n var scriptTags, promises, i, _loop, localStorage1, i1, routes, modules, registrationPromises;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n scriptTags = document.querySelectorAll(\"script[type='openmrs-routes']\");\n promises = [];\n for(i = 0; i < scriptTags.length; i++){\n promises.push(function(scriptTag) {\n return _async_to_generator(function() {\n var routes, e, _scriptTag_src;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n routes = undefined;\n _state.label = 1;\n case 1:\n _state.trys.push([\n 1,\n 5,\n ,\n 6\n ]);\n if (!scriptTag.textContent) return [\n 3,\n 2\n ];\n routes = JSON.parse(scriptTag.textContent);\n return [\n 3,\n 4\n ];\n case 2:\n if (!scriptTag.src) return [\n 3,\n 4\n ];\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(scriptTag.src)\n ];\n case 3:\n routes = _state.sent().data;\n _state.label = 4;\n case 4:\n return [\n 3,\n 6\n ];\n case 5:\n e = _state.sent();\n console.error(\"Caught error while loading routes from \".concat((_scriptTag_src = scriptTag.src) !== null && _scriptTag_src !== void 0 ? _scriptTag_src : 'JSON script tag content'), e);\n return [\n 2,\n {}\n ];\n case 6:\n return [\n 2,\n Promise.resolve(routes !== null && routes !== void 0 ? routes : {})\n ];\n }\n });\n })();\n }(scriptTags.item(i)));\n }\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.canAccessStorage)()) {\n _loop = function(i1) {\n var key = localStorage1.key(i1);\n if (key === null || key === void 0 ? void 0 : key.startsWith(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix)) {\n var localOverride = localStorage1.getItem(key);\n if (localOverride) {\n try {\n var maybeOpenmrsRoutes = JSON.parse(localOverride);\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsAppRoutes)(maybeOpenmrsRoutes)) {\n promises.push(Promise.resolve(_define_property({}, key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), maybeOpenmrsRoutes)));\n } else if (typeof maybeOpenmrsRoutes === 'string' && maybeOpenmrsRoutes.startsWith('http')) {\n promises.push((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(maybeOpenmrsRoutes).then(function(response) {\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsAppRoutes)(response.data)) {\n return Promise.resolve(_define_property({}, key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), response.data));\n }\n return Promise.reject(\"\".concat(maybeOpenmrsRoutes, \" did not resolve to a valid OpenmrsAppRoutes JSON object\"));\n }).catch(function(reason) {\n console.warn(\"Failed to fetch route overrides for \".concat(key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length)), reason);\n // still fail the promise\n throw reason;\n }));\n } else {\n console.warn(\"Route override for \".concat(key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), \" could not be handled as it was neither a JSON object nor a URL string\"), localOverride);\n }\n } catch (e) {\n console.error(\"Error parsing local route override for \".concat(key), e);\n }\n }\n }\n };\n // load routes overrides from localStorage if any\n localStorage1 = window.localStorage;\n for(i1 = 0; i1 < localStorage1.length; i1++)_loop(i1);\n }\n return [\n 4,\n Promise.allSettled(promises)\n ];\n case 1:\n routes = _state.sent().filter(function(p) {\n return p.status === 'fulfilled';\n }).map(function(p) {\n return p.value;\n }).filter(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsRoutes).reduce(function(accumulatedRoutes, routes) {\n return _object_spread({}, accumulatedRoutes, routes);\n }, {});\n modules = [];\n registrationPromises = Object.entries(routes).map(function(param) {\n var _param = _sliced_to_array(param, 2), module = _param[0], routes = _param[1];\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n modules.push([\n module,\n routes\n ]);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerApp)(module, routes);\n return [\n 2\n ];\n });\n })();\n });\n window[REGISTRATION_PROMISES] = Promise.all(registrationPromises);\n window.installedModules = modules;\n return [\n 2\n ];\n }\n });\n })();\n}\n/**\n * Loads the provided configurations and sets them in the system.\n */ function loadConfigs(configs) {\n return _async_to_generator(function() {\n var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, config;\n return _ts_generator(this, function(_state) {\n _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(_iterator = configs[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n config = _step.value;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.provide)(config.value, config.name);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n 2\n ];\n });\n })();\n}\n/**\n * Invoked when the connectivity is changed.\n */ function connectivityChanged() {\n if (!window.offlineEnabled) {\n return;\n }\n var online = navigator.onLine;\n // NB We do not wait for this to be done; it is simply scheduled\n (0,single_spa__WEBPACK_IMPORTED_MODULE_0__.triggerAppChange)();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.dispatchConnectivityChanged)(online);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showToast)({\n critical: true,\n description: \"Connection: \".concat(online ? 'online' : 'offline'),\n title: 'App',\n kind: online ? 'success' : 'warning'\n });\n}\n/**\n * Runs the shell by importing the translations and starting single SPA.\n */ function runShell() {\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n return [\n 2,\n (0,_locale__WEBPACK_IMPORTED_MODULE_2__.setupI18n)().catch(function(err) {\n return console.error(\"Failed to initialize translations\", err);\n }).then(function() {\n return _async_to_generator(function() {\n var preferredCalendar, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, entry;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.getConfig)('@openmrs/esm-styleguide')\n ];\n case 1:\n preferredCalendar = _state.sent().preferredCalendar;\n _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(_iterator = Object.entries(preferredCalendar)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n entry = _step.value;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerDefaultCalendar)(entry[0], entry[1]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n 2\n ];\n }\n });\n })();\n }).then(function() {\n return (0,single_spa__WEBPACK_IMPORTED_MODULE_0__.start)();\n })\n ];\n });\n })();\n}\nfunction handleInitFailure(e) {\n console.error(e);\n renderFatalErrorPage(e);\n}\nfunction renderFatalErrorPage(e) {\n var template = document.querySelector('#app-error');\n if (template) {\n var fragment = template.content.cloneNode(true);\n var messageContainer = fragment.querySelector('[data-var=\"message\"]');\n if (messageContainer) {\n messageContainer.textContent = (e === null || e === void 0 ? void 0 : e.message) || 'No additional information available.';\n }\n if (localStorage.getItem('openmrs:devtools') && Object.keys(localStorage).some(function(k) {\n return k.startsWith('import-map-override:');\n })) {\n var appErrorActionButtons = fragment === null || fragment === void 0 ? void 0 : fragment.querySelector('#buttons');\n if (appErrorActionButtons) {\n var clearDevOverridesButton = document.createElement('button');\n clearDevOverridesButton.className = 'cds--btn';\n clearDevOverridesButton.innerHTML = 'Clear dev overrides';\n clearDevOverridesButton.onclick = clearDevOverrides;\n appErrorActionButtons.appendChild(clearDevOverridesButton);\n }\n }\n document.body.appendChild(fragment);\n }\n}\nfunction clearDevOverrides() {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(localStorage)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n if (key.startsWith('import-map-override:') && ![\n 'import-map-override:react',\n 'import-map-override:react-dom'\n ].includes(key)) {\n localStorage.removeItem(key);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n location.reload();\n}\nfunction createConfigLoader(configUrls) {\n var loadingConfigs = Promise.all(configUrls.map(function(configUrl) {\n var interpolatedUrl = (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.interpolateUrl)(configUrl);\n return fetch(interpolatedUrl).then(function(res) {\n return res.json();\n }).then(function(config) {\n return {\n name: configUrl,\n value: config\n };\n }).catch(function(err) {\n console.error('Loading the config from \"'.concat(configUrl, '\" failed.'), err);\n return {\n name: configUrl,\n value: {}\n };\n });\n }));\n return function() {\n return loadingConfigs.then(loadConfigs);\n };\n}\nfunction showNotifications() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderInlineNotifications)(document.querySelector('.omrs-inline-notifications-container'));\n return;\n}\nfunction showActionableNotifications() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderActionableNotifications)(document.querySelector('.omrs-actionable-notifications-container'));\n}\nfunction showToasts() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderToasts)(document.querySelector('.omrs-toasts-container'));\n}\nfunction showWorkspacesAndActionMenu() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderWorkspaceWindowsAndMenu)(document.querySelector('#omrs-workspaces-container'));\n}\nfunction showSnackbars() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderSnackbars)(document.querySelector('.omrs-snackbars-container'));\n}\nfunction showModals() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupModals)(document.querySelector('.omrs-modals-container'));\n}\nfunction showLoadingSpinner() {\n return (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderLoadingSpinner)(document.body);\n}\n/**\n * Registers the extensions coming from the app shell itself.\n */ function registerCoreExtensions() {\n var extensions = (0,_ui__WEBPACK_IMPORTED_MODULE_4__.getCoreExtensions)();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = extensions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var extension = _step.value;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.tryRegisterExtension)(_ui__WEBPACK_IMPORTED_MODULE_4__.appName, extension);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction setupOffline() {\n return _async_to_generator(function() {\n var error;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 3,\n ,\n 4\n ]);\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerOmrsServiceWorker)(\"\".concat(window.getOpenmrsSpaBase(), \"service-worker.js\"))\n ];\n case 1:\n _state.sent();\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.activateOfflineCapability)()\n ];\n case 2:\n _state.sent();\n setupOfflineStaticDependencyPrecaching();\n return [\n 3,\n 4\n ];\n case 3:\n error = _state.sent();\n console.error('Error while setting up offline mode.', error);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showNotification)({\n kind: 'error',\n title: 'Offline Setup Error',\n description: error.message\n });\n return [\n 3,\n 4\n ];\n case 4:\n return [\n 2\n ];\n }\n });\n })();\n}\nfunction setupOfflineStaticDependencyPrecaching() {\n var precacheDelay = 1000 * 60 * 5;\n var lastPrecache = null;\n subscribeOnlineAndLoginChange(function(online, hasLoggedInUser) {\n var hasExceededPrecacheDelay = !lastPrecache || new Date().getTime() - lastPrecache.getTime() > precacheDelay;\n if (hasLoggedInUser && online && hasExceededPrecacheDelay) {\n lastPrecache = new Date();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.dispatchPrecacheStaticDependencies)();\n }\n });\n}\nfunction subscribeOnlineAndLoginChange(cb) {\n var isOnline = false;\n var hasLoggedInUser = false;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.getCurrentUser)({\n includeAuthStatus: false\n }).subscribe(function(user) {\n hasLoggedInUser = !!user;\n cb(isOnline, hasLoggedInUser);\n });\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeConnectivity)(function(param) {\n var online = param.online;\n isOnline = online;\n cb(online, hasLoggedInUser);\n });\n}\nfunction precacheGlobalStaticDependencies() {\n return _async_to_generator(function() {\n var sessionPathUrl;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n precacheImportMap()\n ];\n case 1:\n _state.sent();\n // By default, cache the session endpoint.\n // This ensures that a lot of user/session related functions also work offline.\n sessionPathUrl = new URL(\"\".concat(window.openmrsBase).concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.restBaseUrl, \"/session\"), window.location.origin).href;\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.messageOmrsServiceWorker)({\n type: 'registerDynamicRoute',\n url: sessionPathUrl,\n strategy: 'network-first'\n })\n ];\n case 2:\n _state.sent();\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(\"\".concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.restBaseUrl, \"/session\")).catch(function(e) {\n return console.warn('Failed to precache the user session data from the app shell. MFs depending on this data may run into problems while offline.', e);\n })\n ];\n case 3:\n _state.sent();\n return [\n 2\n ];\n }\n });\n })();\n}\nfunction precacheImportMap() {\n return _async_to_generator(function() {\n var importMap;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n window.importMapOverrides.getCurrentPageMap()\n ];\n case 1:\n importMap = _state.sent();\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.messageOmrsServiceWorker)({\n type: 'onImportMapChanged',\n importMap: importMap\n })\n ];\n case 2:\n _state.sent();\n return [\n 2\n ];\n }\n });\n })();\n}\nfunction registerOfflineHandlers() {\n window.addEventListener('offline', connectivityChanged);\n window.addEventListener('online', connectivityChanged);\n}\nfunction setupOfflineCssClasses() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeConnectivity)(function(param) {\n var online = param.online;\n var body = document.querySelector('body');\n if (online) {\n body.classList.remove('omrs-offline');\n } else {\n body.classList.add('omrs-offline');\n }\n });\n}\nfunction run(configUrls) {\n var offlineEnabled = window.offlineEnabled;\n var closeLoading = showLoadingSpinner();\n var provideConfigs = createConfigLoader(configUrls);\n return Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_dayjs_plugin_isToday_js-node_modules_path-to-regexp_dist_es2015_index_js-c97e30\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"webpack_sharing_consume_default_carbon_react_carbon_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_swr__internal_swr__internal-framework_esm-react-utils_dist_Ex-f1e01a\"), __webpack_require__.e(\"framework_esm-styleguide_src_index_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! @openmrs/esm-styleguide/src/index */ \"../../framework/esm-styleguide/src/index.ts\")).then(function() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.integrateBreakpoints)();\n showToasts();\n showModals();\n showNotifications();\n showActionableNotifications();\n showSnackbars();\n showWorkspacesAndActionMenu();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeNotificationShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showNotification);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeActionableNotificationShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showActionableNotification);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeToastShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showToast);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeSnackbarShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showSnackbar);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribePrecacheStaticDependencies)(precacheGlobalStaticDependencies);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupApiModule)();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupHistory)();\n registerCoreExtensions();\n (0,_core_config__WEBPACK_IMPORTED_MODULE_5__.setupCoreConfig)();\n return setupApps().then(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.finishRegisteringAllApps).then(offlineEnabled ? setupOfflineCssClasses : undefined).then(offlineEnabled ? registerOfflineHandlers : undefined).then(provideConfigs).then(runShell).catch(handleInitFailure).then(closeLoading).then(offlineEnabled ? setupOffline : undefined).then(_optionaldeps__WEBPACK_IMPORTED_MODULE_3__.registerOptionalDependencyHandler).then(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.cleanupObsoleteFeatureFlags);\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QkFBbUJDO0lBRTFDLE9BQU8sOHNCQUEyQyxDQUFDL0QsSUFBSSxDQUFDO1FBQ3REdEUseUZBQW9CQTtRQUNwQjhJO1FBQ0FHO1FBQ0FMO1FBQ0FDO1FBQ0FHO1FBQ0FEO1FBQ0FwSCwrRkFBMEJBLENBQUNMLGlGQUFnQkE7UUFDM0NHLHlHQUFvQ0EsQ0FBQ0osMkZBQTBCQTtRQUMvRFMsd0ZBQW1CQSxDQUFDTiwwRUFBU0E7UUFDN0JLLDJGQUFzQkEsQ0FBQ04sNkVBQVlBO1FBQ25DSyx3R0FBbUNBLENBQUN5STtRQUNwQ25KLG1GQUFjQTtRQUNkQyxpRkFBWUE7UUFDWmdJO1FBQ0EvRyw2REFBZUE7UUFFZixPQUFPRyxZQUNKK0IsSUFBSSxDQUFDekUseUZBQXdCQSxFQUM3QnlFLElBQUksQ0FBQ3lCLGlCQUFpQnFGLHlCQUF5Qi9ILFdBQy9DaUIsSUFBSSxDQUFDeUIsaUJBQWlCbUYsMEJBQTBCN0gsV0FDaERpQixJQUFJLENBQUNvSCxnQkFDTHBILElBQUksQ0FBQ2lDLFVBQ0w5QixLQUFLLENBQUNrQyxtQkFDTnJDLElBQUksQ0FBQ21ILGNBQ0xuSCxJQUFJLENBQUN5QixpQkFBaUJ1RCxlQUFlakcsV0FDckNpQixJQUFJLENBQUNyQyw0RUFBaUNBLEVBQ3RDcUMsSUFBSSxDQUFDNUUsNEZBQTJCQTtJQUNyQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uL3NyYy9ydW4udHM/YmMyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGFydCwgdHJpZ2dlckFwcENoYW5nZSB9IGZyb20gJ3NpbmdsZS1zcGEnO1xuaW1wb3J0IHsgdHlwZSBDYWxlbmRhcklkZW50aWZpZXIgfSBmcm9tICdAaW50ZXJuYXRpb25hbGl6ZWQvZGF0ZSc7XG5pbXBvcnQge1xuICBhY3RpdmF0ZU9mZmxpbmVDYXBhYmlsaXR5LFxuICBjYW5BY2Nlc3NTdG9yYWdlLFxuICBjbGVhbnVwT2Jzb2xldGVGZWF0dXJlRmxhZ3MsXG4gIGRpc3BhdGNoQ29ubmVjdGl2aXR5Q2hhbmdlZCxcbiAgZGlzcGF0Y2hQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzLFxuICBnZXRDb25maWcsXG4gIGdldEN1cnJlbnRVc2VyLFxuICBpbnRlZ3JhdGVCcmVha3BvaW50cyxcbiAgaW50ZXJwb2xhdGVVcmwsXG4gIGlzT3Blbm1yc0FwcFJvdXRlcyxcbiAgaXNPcGVubXJzUm91dGVzLFxuICBsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgsXG4gIG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcixcbiAgb3Blbm1yc0ZldGNoLFxuICBwcm92aWRlLFxuICByZWdpc3RlckFwcCxcbiAgcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIsXG4gIHJlZ2lzdGVyT21yc1NlcnZpY2VXb3JrZXIsXG4gIHJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zLFxuICByZW5kZXJJbmxpbmVOb3RpZmljYXRpb25zLFxuICByZW5kZXJMb2FkaW5nU3Bpbm5lcixcbiAgcmVuZGVyU25hY2tiYXJzLFxuICByZW5kZXJUb2FzdHMsXG4gIHJlbmRlcldvcmtzcGFjZVdpbmRvd3NBbmRNZW51LFxuICByZXN0QmFzZVVybCxcbiAgc2V0dXBBcGlNb2R1bGUsXG4gIHNldHVwSGlzdG9yeSxcbiAgc2V0dXBNb2RhbHMsXG4gIHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uLFxuICBzaG93Tm90aWZpY2F0aW9uLFxuICBzaG93U25hY2tiYXIsXG4gIHNob3dUb2FzdCxcbiAgc3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVDb25uZWN0aXZpdHksXG4gIHN1YnNjcmliZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgc3Vic2NyaWJlU25hY2tiYXJTaG93bixcbiAgc3Vic2NyaWJlVG9hc3RTaG93bixcbiAgdHJ5UmVnaXN0ZXJFeHRlbnNpb24sXG4gIHR5cGUgQ29uZmlnLFxuICB0eXBlIE9wZW5tcnNBcHBSb3V0ZXMsXG4gIHR5cGUgT3Blbm1yc1JvdXRlcyxcbiAgdHlwZSBTdHlsZWd1aWRlQ29uZmlnT2JqZWN0LFxufSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBzZXR1cEkxOG4gfSBmcm9tICcuL2xvY2FsZSc7XG5pbXBvcnQgeyByZWdpc3Rlck9wdGlvbmFsRGVwZW5kZW5jeUhhbmRsZXIgfSBmcm9tICcuL29wdGlvbmFsZGVwcyc7XG5pbXBvcnQgeyBhcHBOYW1lLCBnZXRDb3JlRXh0ZW5zaW9ucyB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgc2V0dXBDb3JlQ29uZmlnIH0gZnJvbSAnLi9jb3JlLWNvbmZpZyc7XG5cbi8vIEBpbnRlcm5hbFxuLy8gdXNlZCB0byB0cmFjayB3aGVuIHRoZSB3aW5kb3cuaW5zdGFsbGVkTW9kdWxlcyBnbG9iYWwgaXMgZmluYWxpc2VkXG4vLyBzbyB3ZSBjYW4gcHJlLWxvYWQgYWxsIG1vZHVsZXNcbmNvbnN0IFJFR0lTVFJBVElPTl9QUk9NSVNFUyA9IFN5bWJvbCgnb3Blbm1yc19yZWdpc3RyYXRpb25fcHJvbWlzZXMnKTtcblxuLyoqXG4gKiBTZXRzIHVwIHRoZSBmcm9udGVuZCBtb2R1bGVzIChhcHBzKS4gVXNlcyB0aGUgZGVmaW5lZCBleHBvcnRcbiAqIGZyb20gdGhlIHJvb3QgbW9kdWxlcyBvZiB0aGUgYXBwcy4gVGhpcyBpcyBkb25lIGJ5IHJlYWRpbmcgdGhlXG4gKiBsaXN0IG9mIGFwcHMgZnJvbSB0aGUgcm91dGVzLnJlZ2lzdHJ5Lmpzb24gZmlsZSwgd2hpY2ggc2VydmVzXG4gKiBhcyB0aGUgcmVnaXN0cnkgb2YgYWxsIGFwcHMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBzZXR1cEFwcHMoKSB7XG4gIGNvbnN0IHNjcmlwdFRhZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxTY3JpcHRFbGVtZW50PihcInNjcmlwdFt0eXBlPSdvcGVubXJzLXJvdXRlcyddXCIpO1xuXG4gIGNvbnN0IHByb21pc2VzOiBBcnJheTxQcm9taXNlPE9wZW5tcnNSb3V0ZXM+PiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjcmlwdFRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgKGFzeW5jIChzY3JpcHRUYWcpID0+IHtcbiAgICAgICAgbGV0IHJvdXRlczogT3Blbm1yc1JvdXRlcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2NyaXB0VGFnLnRleHRDb250ZW50KSB7XG4gICAgICAgICAgICByb3V0ZXMgPSBKU09OLnBhcnNlKHNjcmlwdFRhZy50ZXh0Q29udGVudCkgYXMgT3Blbm1yc1JvdXRlcztcbiAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdFRhZy5zcmMpIHtcbiAgICAgICAgICAgIHJvdXRlcyA9IChhd2FpdCBvcGVubXJzRmV0Y2g8T3Blbm1yc1JvdXRlcz4oc2NyaXB0VGFnLnNyYykpLmRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgQ2F1Z2h0IGVycm9yIHdoaWxlIGxvYWRpbmcgcm91dGVzIGZyb20gJHtzY3JpcHRUYWcuc3JjID8/ICdKU09OIHNjcmlwdCB0YWcgY29udGVudCd9YCwgZSk7XG5cbiAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJvdXRlcyA/PyB7fSk7XG4gICAgICB9KShzY3JpcHRUYWdzLml0ZW0oaSkpLFxuICAgICk7XG4gIH1cblxuICBpZiAoY2FuQWNjZXNzU3RvcmFnZSgpKSB7XG4gICAgLy8gbG9hZCByb3V0ZXMgb3ZlcnJpZGVzIGZyb20gbG9jYWxTdG9yYWdlIGlmIGFueVxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2NhbFN0b3JhZ2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG4gICAgICBpZiAoa2V5Py5zdGFydHNXaXRoKGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCkpIHtcbiAgICAgICAgY29uc3QgbG9jYWxPdmVycmlkZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgIGlmIChsb2NhbE92ZXJyaWRlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1heWJlT3Blbm1yc1JvdXRlcyA9IEpTT04ucGFyc2UobG9jYWxPdmVycmlkZSk7XG4gICAgICAgICAgICBpZiAoaXNPcGVubXJzQXBwUm91dGVzKG1heWJlT3Blbm1yc1JvdXRlcykpIHtcbiAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmU8T3Blbm1yc1JvdXRlcz4oe1xuICAgICAgICAgICAgICAgICAgW2tleS5zbGljZShsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgubGVuZ3RoKV06IG1heWJlT3Blbm1yc1JvdXRlcyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG1heWJlT3Blbm1yc1JvdXRlcyA9PT0gJ3N0cmluZycgJiYgbWF5YmVPcGVubXJzUm91dGVzLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgIG9wZW5tcnNGZXRjaDxPcGVubXJzQXBwUm91dGVzPihtYXliZU9wZW5tcnNSb3V0ZXMpXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbm1yc0FwcFJvdXRlcyhyZXNwb25zZS5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgW2tleS5zbGljZShsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgubGVuZ3RoKV06IHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgYCR7bWF5YmVPcGVubXJzUm91dGVzfSBkaWQgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBPcGVubXJzQXBwUm91dGVzIEpTT04gb2JqZWN0YCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgYEZhaWxlZCB0byBmZXRjaCByb3V0ZSBvdmVycmlkZXMgZm9yICR7a2V5LnNsaWNlKGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeC5sZW5ndGgpfWAsXG4gICAgICAgICAgICAgICAgICAgICAgcmVhc29uLFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0aWxsIGZhaWwgdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVhc29uO1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFJvdXRlIG92ZXJyaWRlIGZvciAke2tleS5zbGljZShcbiAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgKX0gY291bGQgbm90IGJlIGhhbmRsZWQgYXMgaXQgd2FzIG5laXRoZXIgYSBKU09OIG9iamVjdCBub3IgYSBVUkwgc3RyaW5nYCxcbiAgICAgICAgICAgICAgICBsb2NhbE92ZXJyaWRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHBhcnNpbmcgbG9jYWwgcm91dGUgb3ZlcnJpZGUgZm9yICR7a2V5fWAsIGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJvdXRlczogT3Blbm1yc1JvdXRlcyA9IChhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMpKVxuICAgIC5maWx0ZXIoKHApID0+IHAuc3RhdHVzID09PSAnZnVsZmlsbGVkJylcbiAgICAubWFwKChwKSA9PiAocCBhcyBQcm9taXNlRnVsZmlsbGVkUmVzdWx0PE9wZW5tcnNSb3V0ZXM+KS52YWx1ZSlcbiAgICAuZmlsdGVyKGlzT3Blbm1yc1JvdXRlcylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjY3VtdWxhdGVkUm91dGVzLCByb3V0ZXMpID0+ICh7XG4gICAgICAgIC4uLmFjY3VtdWxhdGVkUm91dGVzLFxuICAgICAgICAuLi5yb3V0ZXMsXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgY29uc3QgbW9kdWxlczogdHlwZW9mIHdpbmRvdy5pbnN0YWxsZWRNb2R1bGVzID0gW107XG4gIGNvbnN0IHJlZ2lzdHJhdGlvblByb21pc2VzID0gT2JqZWN0LmVudHJpZXMocm91dGVzKS5tYXAoYXN5bmMgKFttb2R1bGUsIHJvdXRlc10pID0+IHtcbiAgICBtb2R1bGVzLnB1c2goW21vZHVsZSwgcm91dGVzXSk7XG4gICAgcmVnaXN0ZXJBcHAobW9kdWxlLCByb3V0ZXMpO1xuICB9KTtcblxuICB3aW5kb3dbUkVHSVNUUkFUSU9OX1BST01JU0VTXSA9IFByb21pc2UuYWxsKHJlZ2lzdHJhdGlvblByb21pc2VzKTtcbiAgd2luZG93Lmluc3RhbGxlZE1vZHVsZXMgPSBtb2R1bGVzO1xufVxuXG4vKipcbiAqIExvYWRzIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9ucyBhbmQgc2V0cyB0aGVtIGluIHRoZSBzeXN0ZW0uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRDb25maWdzKGNvbmZpZ3M6IEFycmF5PHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogQ29uZmlnIH0+KSB7XG4gIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcbiAgICBwcm92aWRlKGNvbmZpZy52YWx1ZSwgY29uZmlnLm5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW52b2tlZCB3aGVuIHRoZSBjb25uZWN0aXZpdHkgaXMgY2hhbmdlZC5cbiAqL1xuZnVuY3Rpb24gY29ubmVjdGl2aXR5Q2hhbmdlZCgpIHtcbiAgaWYgKCF3aW5kb3cub2ZmbGluZUVuYWJsZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbmxpbmUgPSBuYXZpZ2F0b3Iub25MaW5lO1xuICAvLyBOQiBXZSBkbyBub3Qgd2FpdCBmb3IgdGhpcyB0byBiZSBkb25lOyBpdCBpcyBzaW1wbHkgc2NoZWR1bGVkXG4gIHRyaWdnZXJBcHBDaGFuZ2UoKTtcblxuICBkaXNwYXRjaENvbm5lY3Rpdml0eUNoYW5nZWQob25saW5lKTtcbiAgc2hvd1RvYXN0KHtcbiAgICBjcml0aWNhbDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogYENvbm5lY3Rpb246ICR7b25saW5lID8gJ29ubGluZScgOiAnb2ZmbGluZSd9YCxcbiAgICB0aXRsZTogJ0FwcCcsXG4gICAga2luZDogb25saW5lID8gJ3N1Y2Nlc3MnIDogJ3dhcm5pbmcnLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBzaGVsbCBieSBpbXBvcnRpbmcgdGhlIHRyYW5zbGF0aW9ucyBhbmQgc3RhcnRpbmcgc2luZ2xlIFNQQS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcnVuU2hlbGwoKSB7XG4gIHJldHVybiBzZXR1cEkxOG4oKVxuICAgIC5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0cmFuc2xhdGlvbnNgLCBlcnIpKVxuICAgIC50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlZmVycmVkQ2FsZW5kYXIgfSA9IGF3YWl0IGdldENvbmZpZzxTdHlsZWd1aWRlQ29uZmlnT2JqZWN0PignQG9wZW5tcnMvZXNtLXN0eWxlZ3VpZGUnKTtcblxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBPYmplY3QuZW50cmllcyhwcmVmZXJyZWRDYWxlbmRhcikpIHtcbiAgICAgICAgcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIoZW50cnlbMF0sIGVudHJ5WzFdIGFzIENhbGVuZGFySWRlbnRpZmllcik7XG4gICAgICB9XG4gICAgfSlcbiAgICAudGhlbigoKSA9PiBzdGFydCgpKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlSW5pdEZhaWx1cmUoZTogRXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcmVuZGVyRmF0YWxFcnJvclBhZ2UoZSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckZhdGFsRXJyb3JQYWdlKGU/OiBFcnJvcikge1xuICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTFRlbXBsYXRlRWxlbWVudD4oJyNhcHAtZXJyb3InKTtcblxuICBpZiAodGVtcGxhdGUpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IHRlbXBsYXRlLmNvbnRlbnQuY2xvbmVOb2RlKHRydWUpIGFzIERvY3VtZW50RnJhZ21lbnQ7XG4gICAgY29uc3QgbWVzc2FnZUNvbnRhaW5lciA9IGZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXZhcj1cIm1lc3NhZ2VcIl0nKTtcblxuICAgIGlmIChtZXNzYWdlQ29udGFpbmVyKSB7XG4gICAgICBtZXNzYWdlQ29udGFpbmVyLnRleHRDb250ZW50ID0gZT8ubWVzc2FnZSB8fCAnTm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhdmFpbGFibGUuJztcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnb3Blbm1yczpkZXZ0b29scycpICYmXG4gICAgICBPYmplY3Qua2V5cyhsb2NhbFN0b3JhZ2UpLnNvbWUoKGspID0+IGsuc3RhcnRzV2l0aCgnaW1wb3J0LW1hcC1vdmVycmlkZTonKSlcbiAgICApIHtcbiAgICAgIGNvbnN0IGFwcEVycm9yQWN0aW9uQnV0dG9ucyA9IGZyYWdtZW50Py5xdWVyeVNlbGVjdG9yKCcjYnV0dG9ucycpO1xuICAgICAgaWYgKGFwcEVycm9yQWN0aW9uQnV0dG9ucykge1xuICAgICAgICBjb25zdCBjbGVhckRldk92ZXJyaWRlc0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5jbGFzc05hbWUgPSAnY2RzLS1idG4nO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5pbm5lckhUTUwgPSAnQ2xlYXIgZGV2IG92ZXJyaWRlcyc7XG4gICAgICAgIGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uLm9uY2xpY2sgPSBjbGVhckRldk92ZXJyaWRlcztcbiAgICAgICAgYXBwRXJyb3JBY3Rpb25CdXR0b25zLmFwcGVuZENoaWxkKGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhckRldk92ZXJyaWRlcygpIHtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobG9jYWxTdG9yYWdlKSkge1xuICAgIGlmIChcbiAgICAgIGtleS5zdGFydHNXaXRoKCdpbXBvcnQtbWFwLW92ZXJyaWRlOicpICYmXG4gICAgICAhWydpbXBvcnQtbWFwLW92ZXJyaWRlOnJlYWN0JywgJ2ltcG9ydC1tYXAtb3ZlcnJpZGU6cmVhY3QtZG9tJ10uaW5jbHVkZXMoa2V5KVxuICAgICkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH1cbiAgbG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzOiBBcnJheTxzdHJpbmc+KSB7XG4gIGNvbnN0IGxvYWRpbmdDb25maWdzID0gUHJvbWlzZS5hbGwoXG4gICAgY29uZmlnVXJscy5tYXAoKGNvbmZpZ1VybCkgPT4ge1xuICAgICAgY29uc3QgaW50ZXJwb2xhdGVkVXJsID0gaW50ZXJwb2xhdGVVcmwoY29uZmlnVXJsKTtcbiAgICAgIHJldHVybiBmZXRjaChpbnRlcnBvbGF0ZWRVcmwpXG4gICAgICAgIC50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG4gICAgICAgIC50aGVuKChjb25maWcpID0+ICh7XG4gICAgICAgICAgbmFtZTogY29uZmlnVXJsLFxuICAgICAgICAgIHZhbHVlOiBjb25maWcsXG4gICAgICAgIH0pKVxuICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYExvYWRpbmcgdGhlIGNvbmZpZyBmcm9tIFwiJHtjb25maWdVcmx9XCIgZmFpbGVkLmAsIGVycik7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbmZpZ1VybCxcbiAgICAgICAgICAgIHZhbHVlOiB7fSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9KSxcbiAgKTtcbiAgcmV0dXJuICgpID0+IGxvYWRpbmdDb25maWdzLnRoZW4obG9hZENvbmZpZ3MpO1xufVxuXG5mdW5jdGlvbiBzaG93Tm90aWZpY2F0aW9ucygpIHtcbiAgcmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub21ycy1pbmxpbmUtbm90aWZpY2F0aW9ucy1jb250YWluZXInKSk7XG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb25zKCkge1xuICByZW5kZXJBY3Rpb25hYmxlTm90aWZpY2F0aW9ucyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub21ycy1hY3Rpb25hYmxlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyJykpO1xufVxuXG5mdW5jdGlvbiBzaG93VG9hc3RzKCkge1xuICByZW5kZXJUb2FzdHMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9tcnMtdG9hc3RzLWNvbnRhaW5lcicpKTtcbn1cblxuZnVuY3Rpb24gc2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51KCkge1xuICByZW5kZXJXb3Jrc3BhY2VXaW5kb3dzQW5kTWVudShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb21ycy13b3Jrc3BhY2VzLWNvbnRhaW5lcicpKTtcbn1cblxuZnVuY3Rpb24gc2hvd1NuYWNrYmFycygpIHtcbiAgcmVuZGVyU25hY2tiYXJzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vbXJzLXNuYWNrYmFycy1jb250YWluZXInKSk7XG59XG5cbmZ1bmN0aW9uIHNob3dNb2RhbHMoKSB7XG4gIHNldHVwTW9kYWxzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vbXJzLW1vZGFscy1jb250YWluZXInKSk7XG59XG5cbmZ1bmN0aW9uIHNob3dMb2FkaW5nU3Bpbm5lcigpIHtcbiAgcmV0dXJuIHJlbmRlckxvYWRpbmdTcGlubmVyKGRvY3VtZW50LmJvZHkpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgZXh0ZW5zaW9ucyBjb21pbmcgZnJvbSB0aGUgYXBwIHNoZWxsIGl0c2VsZi5cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJDb3JlRXh0ZW5zaW9ucygpIHtcbiAgY29uc3QgZXh0ZW5zaW9ucyA9IGdldENvcmVFeHRlbnNpb25zKCk7XG4gIGZvciAoY29uc3QgZXh0ZW5zaW9uIG9mIGV4dGVuc2lvbnMpIHtcbiAgICB0cnlSZWdpc3RlckV4dGVuc2lvbihhcHBOYW1lLCBleHRlbnNpb24pO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldHVwT2ZmbGluZSgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCByZWdpc3Rlck9tcnNTZXJ2aWNlV29ya2VyKGAke3dpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpfXNlcnZpY2Utd29ya2VyLmpzYCk7XG4gICAgYXdhaXQgYWN0aXZhdGVPZmZsaW5lQ2FwYWJpbGl0eSgpO1xuICAgIHNldHVwT2ZmbGluZVN0YXRpY0RlcGVuZGVuY3lQcmVjYWNoaW5nKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3Igd2hpbGUgc2V0dGluZyB1cCBvZmZsaW5lIG1vZGUuJywgZXJyb3IpO1xuICAgIHNob3dOb3RpZmljYXRpb24oe1xuICAgICAga2luZDogJ2Vycm9yJyxcbiAgICAgIHRpdGxlOiAnT2ZmbGluZSBTZXR1cCBFcnJvcicsXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXR1cE9mZmxpbmVTdGF0aWNEZXBlbmRlbmN5UHJlY2FjaGluZygpIHtcbiAgY29uc3QgcHJlY2FjaGVEZWxheSA9IDEwMDAgKiA2MCAqIDU7XG4gIGxldCBsYXN0UHJlY2FjaGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBzdWJzY3JpYmVPbmxpbmVBbmRMb2dpbkNoYW5nZSgob25saW5lLCBoYXNMb2dnZWRJblVzZXIpID0+IHtcbiAgICBjb25zdCBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkgPSAhbGFzdFByZWNhY2hlIHx8IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbGFzdFByZWNhY2hlLmdldFRpbWUoKSA+IHByZWNhY2hlRGVsYXk7XG5cbiAgICBpZiAoaGFzTG9nZ2VkSW5Vc2VyICYmIG9ubGluZSAmJiBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkpIHtcbiAgICAgIGxhc3RQcmVjYWNoZSA9IG5ldyBEYXRlKCk7XG4gICAgICBkaXNwYXRjaFByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gc3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UoY2I6IChvbmxpbmU6IGJvb2xlYW4sIGhhc0xvZ2dlZEluVXNlcjogYm9vbGVhbikgPT4gdm9pZCkge1xuICBsZXQgaXNPbmxpbmUgPSBmYWxzZTtcbiAgbGV0IGhhc0xvZ2dlZEluVXNlciA9IGZhbHNlO1xuXG4gIGdldEN1cnJlbnRVc2VyKHsgaW5jbHVkZUF1dGhTdGF0dXM6IGZhbHNlIH0pLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgIGhhc0xvZ2dlZEluVXNlciA9ICEhdXNlcjtcbiAgICBjYihpc09ubGluZSwgaGFzTG9nZ2VkSW5Vc2VyKTtcbiAgfSk7XG5cbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5KCh7IG9ubGluZSB9KSA9PiB7XG4gICAgaXNPbmxpbmUgPSBvbmxpbmU7XG4gICAgY2Iob25saW5lLCBoYXNMb2dnZWRJblVzZXIpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJlY2FjaGVHbG9iYWxTdGF0aWNEZXBlbmRlbmNpZXMoKSB7XG4gIGF3YWl0IHByZWNhY2hlSW1wb3J0TWFwKCk7XG5cbiAgLy8gQnkgZGVmYXVsdCwgY2FjaGUgdGhlIHNlc3Npb24gZW5kcG9pbnQuXG4gIC8vIFRoaXMgZW5zdXJlcyB0aGF0IGEgbG90IG9mIHVzZXIvc2Vzc2lvbiByZWxhdGVkIGZ1bmN0aW9ucyBhbHNvIHdvcmsgb2ZmbGluZS5cbiAgY29uc3Qgc2Vzc2lvblBhdGhVcmwgPSBuZXcgVVJMKGAke3dpbmRvdy5vcGVubXJzQmFzZX0ke3Jlc3RCYXNlVXJsfS9zZXNzaW9uYCwgd2luZG93LmxvY2F0aW9uLm9yaWdpbikuaHJlZjtcblxuICBhd2FpdCBtZXNzYWdlT21yc1NlcnZpY2VXb3JrZXIoe1xuICAgIHR5cGU6ICdyZWdpc3RlckR5bmFtaWNSb3V0ZScsXG4gICAgdXJsOiBzZXNzaW9uUGF0aFVybCxcbiAgICBzdHJhdGVneTogJ25ldHdvcmstZmlyc3QnLFxuICB9KTtcblxuICBhd2FpdCBvcGVubXJzRmV0Y2goYCR7cmVzdEJhc2VVcmx9L3Nlc3Npb25gKS5jYXRjaCgoZSkgPT5cbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnRmFpbGVkIHRvIHByZWNhY2hlIHRoZSB1c2VyIHNlc3Npb24gZGF0YSBmcm9tIHRoZSBhcHAgc2hlbGwuIE1GcyBkZXBlbmRpbmcgb24gdGhpcyBkYXRhIG1heSBydW4gaW50byBwcm9ibGVtcyB3aGlsZSBvZmZsaW5lLicsXG4gICAgICBlLFxuICAgICksXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHByZWNhY2hlSW1wb3J0TWFwKCkge1xuICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCB3aW5kb3cuaW1wb3J0TWFwT3ZlcnJpZGVzLmdldEN1cnJlbnRQYWdlTWFwKCk7XG4gIGF3YWl0IG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcih7XG4gICAgdHlwZTogJ29uSW1wb3J0TWFwQ2hhbmdlZCcsXG4gICAgaW1wb3J0TWFwLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJPZmZsaW5lSGFuZGxlcnMoKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgY29ubmVjdGl2aXR5Q2hhbmdlZCk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCBjb25uZWN0aXZpdHlDaGFuZ2VkKTtcbn1cblxuZnVuY3Rpb24gc2V0dXBPZmZsaW5lQ3NzQ2xhc3NlcygpIHtcbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5KCh7IG9ubGluZSB9KSA9PiB7XG4gICAgY29uc3QgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKSE7XG4gICAgaWYgKG9ubGluZSkge1xuICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvbXJzLW9mZmxpbmUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKCdvbXJzLW9mZmxpbmUnKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuKGNvbmZpZ1VybHM6IEFycmF5PHN0cmluZz4pIHtcbiAgY29uc3Qgb2ZmbGluZUVuYWJsZWQgPSB3aW5kb3cub2ZmbGluZUVuYWJsZWQ7XG4gIGNvbnN0IGNsb3NlTG9hZGluZyA9IHNob3dMb2FkaW5nU3Bpbm5lcigpO1xuICBjb25zdCBwcm92aWRlQ29uZmlncyA9IGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzKTtcblxuICByZXR1cm4gaW1wb3J0KCdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9zcmMvaW5kZXgnKS50aGVuKCgpID0+IHtcbiAgICBpbnRlZ3JhdGVCcmVha3BvaW50cygpO1xuICAgIHNob3dUb2FzdHMoKTtcbiAgICBzaG93TW9kYWxzKCk7XG4gICAgc2hvd05vdGlmaWNhdGlvbnMoKTtcbiAgICBzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMoKTtcbiAgICBzaG93U25hY2tiYXJzKCk7XG4gICAgc2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51KCk7XG4gICAgc3Vic2NyaWJlTm90aWZpY2F0aW9uU2hvd24oc2hvd05vdGlmaWNhdGlvbik7XG4gICAgc3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duKHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uKTtcbiAgICBzdWJzY3JpYmVUb2FzdFNob3duKHNob3dUb2FzdCk7XG4gICAgc3Vic2NyaWJlU25hY2tiYXJTaG93bihzaG93U25hY2tiYXIpO1xuICAgIHN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKHByZWNhY2hlR2xvYmFsU3RhdGljRGVwZW5kZW5jaWVzKTtcbiAgICBzZXR1cEFwaU1vZHVsZSgpO1xuICAgIHNldHVwSGlzdG9yeSgpO1xuICAgIHJlZ2lzdGVyQ29yZUV4dGVuc2lvbnMoKTtcbiAgICBzZXR1cENvcmVDb25maWcoKTtcblxuICAgIHJldHVybiBzZXR1cEFwcHMoKVxuICAgICAgLnRoZW4oZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzKVxuICAgICAgLnRoZW4ob2ZmbGluZUVuYWJsZWQgPyBzZXR1cE9mZmxpbmVDc3NDbGFzc2VzIDogdW5kZWZpbmVkKVxuICAgICAgLnRoZW4ob2ZmbGluZUVuYWJsZWQgPyByZWdpc3Rlck9mZmxpbmVIYW5kbGVycyA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKHByb3ZpZGVDb25maWdzKVxuICAgICAgLnRoZW4ocnVuU2hlbGwpXG4gICAgICAuY2F0Y2goaGFuZGxlSW5pdEZhaWx1cmUpXG4gICAgICAudGhlbihjbG9zZUxvYWRpbmcpXG4gICAgICAudGhlbihvZmZsaW5lRW5hYmxlZCA/IHNldHVwT2ZmbGluZSA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKHJlZ2lzdGVyT3B0aW9uYWxEZXBlbmRlbmN5SGFuZGxlcilcbiAgICAgIC50aGVuKGNsZWFudXBPYnNvbGV0ZUZlYXR1cmVGbGFncyk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInN0YXJ0IiwidHJpZ2dlckFwcENoYW5nZSIsImFjdGl2YXRlT2ZmbGluZUNhcGFiaWxpdHkiLCJjYW5BY2Nlc3NTdG9yYWdlIiwiY2xlYW51cE9ic29sZXRlRmVhdHVyZUZsYWdzIiwiZGlzcGF0Y2hDb25uZWN0aXZpdHlDaGFuZ2VkIiwiZGlzcGF0Y2hQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyIsImZpbmlzaFJlZ2lzdGVyaW5nQWxsQXBwcyIsImdldENvbmZpZyIsImdldEN1cnJlbnRVc2VyIiwiaW50ZWdyYXRlQnJlYWtwb2ludHMiLCJpbnRlcnBvbGF0ZVVybCIsImlzT3Blbm1yc0FwcFJvdXRlcyIsImlzT3Blbm1yc1JvdXRlcyIsImxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCIsIm1lc3NhZ2VPbXJzU2VydmljZVdvcmtlciIsIm9wZW5tcnNGZXRjaCIsInByb3ZpZGUiLCJyZWdpc3RlckFwcCIsInJlZ2lzdGVyRGVmYXVsdENhbGVuZGFyIiwicmVnaXN0ZXJPbXJzU2VydmljZVdvcmtlciIsInJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zIiwicmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyIsInJlbmRlckxvYWRpbmdTcGlubmVyIiwicmVuZGVyU25hY2tiYXJzIiwicmVuZGVyVG9hc3RzIiwicmVuZGVyV29ya3NwYWNlV2luZG93c0FuZE1lbnUiLCJyZXN0QmFzZVVybCIsInNldHVwQXBpTW9kdWxlIiwic2V0dXBIaXN0b3J5Iiwic2V0dXBNb2RhbHMiLCJzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbiIsInNob3dOb3RpZmljYXRpb24iLCJzaG93U25hY2tiYXIiLCJzaG93VG9hc3QiLCJzdWJzY3JpYmVBY3Rpb25hYmxlTm90aWZpY2F0aW9uU2hvd24iLCJzdWJzY3JpYmVDb25uZWN0aXZpdHkiLCJzdWJzY3JpYmVOb3RpZmljYXRpb25TaG93biIsInN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzIiwic3Vic2NyaWJlU25hY2tiYXJTaG93biIsInN1YnNjcmliZVRvYXN0U2hvd24iLCJ0cnlSZWdpc3RlckV4dGVuc2lvbiIsInNldHVwSTE4biIsInJlZ2lzdGVyT3B0aW9uYWxEZXBlbmRlbmN5SGFuZGxlciIsImFwcE5hbWUiLCJnZXRDb3JlRXh0ZW5zaW9ucyIsInNldHVwQ29yZUNvbmZpZyIsIlJFR0lTVFJBVElPTl9QUk9NSVNFUyIsIlN5bWJvbCIsInNldHVwQXBwcyIsInNjcmlwdFRhZ3MiLCJwcm9taXNlcyIsImkiLCJsb2NhbFN0b3JhZ2UiLCJyb3V0ZXMiLCJtb2R1bGVzIiwicmVnaXN0cmF0aW9uUHJvbWlzZXMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJwdXNoIiwic2NyaXB0VGFnIiwiZSIsInVuZGVmaW5lZCIsInRleHRDb250ZW50IiwiSlNPTiIsInBhcnNlIiwic3JjIiwiZGF0YSIsImNvbnNvbGUiLCJlcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwiaXRlbSIsImtleSIsInN0YXJ0c1dpdGgiLCJsb2NhbE92ZXJyaWRlIiwiZ2V0SXRlbSIsIm1heWJlT3Blbm1yc1JvdXRlcyIsInNsaWNlIiwidGhlbiIsInJlc3BvbnNlIiwicmVqZWN0IiwiY2F0Y2giLCJyZWFzb24iLCJ3YXJuIiwid2luZG93IiwiYWxsU2V0dGxlZCIsImZpbHRlciIsInAiLCJzdGF0dXMiLCJtYXAiLCJ2YWx1ZSIsInJlZHVjZSIsImFjY3VtdWxhdGVkUm91dGVzIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vZHVsZSIsImFsbCIsImluc3RhbGxlZE1vZHVsZXMiLCJsb2FkQ29uZmlncyIsImNvbmZpZ3MiLCJjb25maWciLCJuYW1lIiwiY29ubmVjdGl2aXR5Q2hhbmdlZCIsIm9mZmxpbmVFbmFibGVkIiwib25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwiY3JpdGljYWwiLCJkZXNjcmlwdGlvbiIsInRpdGxlIiwia2luZCIsInJ1blNoZWxsIiwiZXJyIiwicHJlZmVycmVkQ2FsZW5kYXIiLCJlbnRyeSIsImhhbmRsZUluaXRGYWlsdXJlIiwicmVuZGVyRmF0YWxFcnJvclBhZ2UiLCJ0ZW1wbGF0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJmcmFnbWVudCIsImNvbnRlbnQiLCJjbG9uZU5vZGUiLCJtZXNzYWdlQ29udGFpbmVyIiwibWVzc2FnZSIsImtleXMiLCJzb21lIiwiayIsImFwcEVycm9yQWN0aW9uQnV0dG9ucyIsImNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsIm9uY2xpY2siLCJjbGVhckRldk92ZXJyaWRlcyIsImFwcGVuZENoaWxkIiwiYm9keSIsImluY2x1ZGVzIiwicmVtb3ZlSXRlbSIsImxvY2F0aW9uIiwicmVsb2FkIiwiY3JlYXRlQ29uZmlnTG9hZGVyIiwiY29uZmlnVXJscyIsImxvYWRpbmdDb25maWdzIiwiY29uZmlnVXJsIiwiaW50ZXJwb2xhdGVkVXJsIiwiZmV0Y2giLCJyZXMiLCJqc29uIiwic2hvd05vdGlmaWNhdGlvbnMiLCJzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMiLCJzaG93VG9hc3RzIiwic2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51Iiwic2hvd1NuYWNrYmFycyIsInNob3dNb2RhbHMiLCJzaG93TG9hZGluZ1NwaW5uZXIiLCJyZWdpc3RlckNvcmVFeHRlbnNpb25zIiwiZXh0ZW5zaW9ucyIsImV4dGVuc2lvbiIsInNldHVwT2ZmbGluZSIsImdldE9wZW5tcnNTcGFCYXNlIiwic2V0dXBPZmZsaW5lU3RhdGljRGVwZW5kZW5jeVByZWNhY2hpbmciLCJwcmVjYWNoZURlbGF5IiwibGFzdFByZWNhY2hlIiwic3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UiLCJoYXNMb2dnZWRJblVzZXIiLCJoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkiLCJEYXRlIiwiZ2V0VGltZSIsImNiIiwiaXNPbmxpbmUiLCJpbmNsdWRlQXV0aFN0YXR1cyIsInN1YnNjcmliZSIsInVzZXIiLCJwcmVjYWNoZUdsb2JhbFN0YXRpY0RlcGVuZGVuY2llcyIsInNlc3Npb25QYXRoVXJsIiwicHJlY2FjaGVJbXBvcnRNYXAiLCJVUkwiLCJvcGVubXJzQmFzZSIsIm9yaWdpbiIsImhyZWYiLCJ0eXBlIiwidXJsIiwic3RyYXRlZ3kiLCJpbXBvcnRNYXAiLCJpbXBvcnRNYXBPdmVycmlkZXMiLCJnZXRDdXJyZW50UGFnZU1hcCIsInJlZ2lzdGVyT2ZmbGluZUhhbmRsZXJzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInNldHVwT2ZmbGluZUNzc0NsYXNzZXMiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJhZGQiLCJydW4iLCJjbG9zZUxvYWRpbmciLCJwcm92aWRlQ29uZmlncyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/run.ts\n");
248
-
249
- /***/ }),
250
-
251
- /***/ "./src/ui/index.ts":
252
- /*!*************************!*\
253
- !*** ./src/ui/index.ts ***!
254
- \*************************/
255
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
256
-
257
- "use strict";
258
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ appName: () => (/* binding */ appName),\n/* harmony export */ getCoreExtensions: () => (/* binding */ getCoreExtensions)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__);\n\nvar appName = '@openmrs/esm-app-shell';\nfunction getCoreExtensions() {\n var options = {\n featureName: 'app-shell',\n moduleName: appName\n };\n return [\n {\n name: 'breadcrumbs-widget',\n slot: 'breadcrumbs-slot',\n load: (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.getAsyncLifecycle)(function() {\n return Promise.all(/*! import() */[__webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_carbon_react_carbon_react\"), __webpack_require__.e(\"src_ui_breadcrumbs_tsx\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./breadcrumbs */ \"./src/ui/breadcrumbs.tsx\"));\n }, options),\n online: true,\n offline: true\n }\n ];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdWkvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEyRDtBQUVwRCxJQUFNQyxVQUFVLHlCQUF5QjtBQUV6QyxTQUFTQztJQUNkLElBQU1DLFVBQVU7UUFDZEMsYUFBYTtRQUNiQyxZQUFZSjtJQUNkO0lBRUEsT0FBTztRQUNMO1lBQ0VLLE1BQU07WUFDTkMsTUFBTTtZQUNOQyxNQUFNUix5RUFBaUJBLENBQUM7dUJBQU0sNFVBQXVCO2VBQUVHO1lBQ3ZETSxRQUFRO1lBQ1JDLFNBQVM7UUFDWDtLQUNEO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL3VpL2luZGV4LnRzPzliYmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QXN5bmNMaWZlY3ljbGUgfSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcblxuZXhwb3J0IGNvbnN0IGFwcE5hbWUgPSAnQG9wZW5tcnMvZXNtLWFwcC1zaGVsbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb3JlRXh0ZW5zaW9ucygpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICBmZWF0dXJlTmFtZTogJ2FwcC1zaGVsbCcsXG4gICAgbW9kdWxlTmFtZTogYXBwTmFtZSxcbiAgfTtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdicmVhZGNydW1icy13aWRnZXQnLFxuICAgICAgc2xvdDogJ2JyZWFkY3J1bWJzLXNsb3QnLFxuICAgICAgbG9hZDogZ2V0QXN5bmNMaWZlY3ljbGUoKCkgPT4gaW1wb3J0KCcuL2JyZWFkY3J1bWJzJyksIG9wdGlvbnMpLFxuICAgICAgb25saW5lOiB0cnVlLFxuICAgICAgb2ZmbGluZTogdHJ1ZSxcbiAgICB9LFxuICBdO1xufVxuIl0sIm5hbWVzIjpbImdldEFzeW5jTGlmZWN5Y2xlIiwiYXBwTmFtZSIsImdldENvcmVFeHRlbnNpb25zIiwib3B0aW9ucyIsImZlYXR1cmVOYW1lIiwibW9kdWxlTmFtZSIsIm5hbWUiLCJzbG90IiwibG9hZCIsIm9ubGluZSIsIm9mZmxpbmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/index.ts\n");
259
-
260
- /***/ })
261
-
262
- }]);