@openmrs/esm-app-shell 5.4.1-pre.1539 → 5.4.1-pre.1550

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 (81) hide show
  1. package/.turbo/turbo-build.log +13 -14
  2. package/dist/index.html +1 -1
  3. package/dist/{openmrs.f876a47f7d590901.js → openmrs.a70521ec615d5b0c.js} +2 -2
  4. package/dist/{openmrs.f876a47f7d590901.js.map → openmrs.a70521ec615d5b0c.js.map} +1 -1
  5. package/dist/service-worker.js +1 -1
  6. package/lib/esm-devtools-app/889.js +1 -1
  7. package/lib/esm-devtools-app/889.js.map +1 -1
  8. package/lib/esm-devtools-app/main.js +1 -1
  9. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
  10. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +3 -3
  11. package/lib/esm-devtools-app/routes.json +1 -1
  12. package/lib/esm-implementer-tools-app/271.js +1 -0
  13. package/lib/esm-implementer-tools-app/319.js +1 -0
  14. package/lib/esm-implementer-tools-app/426.js +1 -0
  15. package/lib/esm-implementer-tools-app/426.js.map +1 -0
  16. package/lib/esm-implementer-tools-app/460.js +1 -0
  17. package/lib/esm-implementer-tools-app/56.js +1 -0
  18. package/lib/esm-implementer-tools-app/56.js.map +1 -0
  19. package/lib/esm-implementer-tools-app/560.js +1 -0
  20. package/lib/esm-implementer-tools-app/560.js.map +1 -0
  21. package/lib/esm-implementer-tools-app/574.js +1 -0
  22. package/lib/esm-implementer-tools-app/587.js +1 -0
  23. package/lib/esm-implementer-tools-app/587.js.map +1 -0
  24. package/lib/esm-implementer-tools-app/620.js +2 -0
  25. package/lib/esm-implementer-tools-app/620.js.LICENSE.txt +38 -0
  26. package/lib/esm-implementer-tools-app/620.js.map +1 -0
  27. package/lib/esm-implementer-tools-app/625.js +1 -0
  28. package/lib/esm-implementer-tools-app/651.js +1 -0
  29. package/lib/esm-implementer-tools-app/651.js.map +1 -0
  30. package/lib/esm-implementer-tools-app/727.js +1 -0
  31. package/lib/esm-implementer-tools-app/727.js.map +1 -0
  32. package/lib/esm-implementer-tools-app/735.js +2 -0
  33. package/lib/esm-implementer-tools-app/735.js.LICENSE.txt +9 -0
  34. package/lib/esm-implementer-tools-app/735.js.map +1 -0
  35. package/lib/esm-implementer-tools-app/738.js +1 -0
  36. package/lib/esm-implementer-tools-app/738.js.map +1 -0
  37. package/lib/esm-implementer-tools-app/757.js +1 -0
  38. package/lib/esm-implementer-tools-app/767.js +2 -0
  39. package/lib/esm-implementer-tools-app/767.js.LICENSE.txt +19 -0
  40. package/lib/esm-implementer-tools-app/767.js.map +1 -0
  41. package/lib/esm-implementer-tools-app/788.js +2 -0
  42. package/lib/esm-implementer-tools-app/788.js.LICENSE.txt +19 -0
  43. package/lib/esm-implementer-tools-app/788.js.map +1 -0
  44. package/lib/esm-implementer-tools-app/807.js +1 -0
  45. package/lib/esm-implementer-tools-app/833.js +1 -0
  46. package/lib/esm-implementer-tools-app/889.js +2 -0
  47. package/lib/esm-implementer-tools-app/889.js.LICENSE.txt +3 -0
  48. package/lib/esm-implementer-tools-app/889.js.map +1 -0
  49. package/lib/esm-implementer-tools-app/913.js +2 -0
  50. package/lib/esm-implementer-tools-app/913.js.LICENSE.txt +5 -0
  51. package/lib/esm-implementer-tools-app/913.js.map +1 -0
  52. package/lib/esm-implementer-tools-app/main.js +2 -0
  53. package/lib/esm-implementer-tools-app/main.js.LICENSE.txt +5 -0
  54. package/lib/esm-implementer-tools-app/main.js.map +1 -0
  55. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -0
  56. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json +605 -0
  57. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.map +1 -0
  58. package/lib/esm-implementer-tools-app/routes.json +1 -0
  59. package/lib/esm-login-app/889.js +1 -1
  60. package/lib/esm-login-app/889.js.map +1 -1
  61. package/lib/esm-login-app/main.js +1 -1
  62. package/lib/esm-login-app/openmrs-esm-login-app.js +1 -1
  63. package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +3 -3
  64. package/lib/esm-login-app/routes.json +1 -1
  65. package/lib/esm-offline-tools-app/889.js +1 -1
  66. package/lib/esm-offline-tools-app/889.js.map +1 -1
  67. package/lib/esm-offline-tools-app/main.js +1 -1
  68. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
  69. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +3 -3
  70. package/lib/esm-offline-tools-app/routes.json +1 -1
  71. package/lib/esm-primary-navigation-app/889.js +1 -1
  72. package/lib/esm-primary-navigation-app/889.js.map +1 -1
  73. package/lib/esm-primary-navigation-app/main.js +1 -1
  74. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +1 -1
  75. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +3 -3
  76. package/lib/esm-primary-navigation-app/routes.json +1 -1
  77. package/lib/index.html +2 -2
  78. package/lib/openmrs.js +4 -4
  79. package/lib/service-worker.js +2 -2
  80. package/package.json +3 -3
  81. /package/dist/{openmrs.f876a47f7d590901.js.LICENSE.txt → openmrs.a70521ec615d5b0c.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- var _openmrs_esm_primary_navigation_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,d,c,h,m,v,g,y={7130:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(780),t.e(776),t.e(958)]).then((()=>()=>t(958)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},b={};function w(e){var r=b[e];if(void 0!==r)return r.exports;var t=b[e]={id:e,loaded:!1,exports:{}};return y[e](t,t.exports,w),t.loaded=!0,t.exports}w.m=y,w.c=b,w.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return w.d(r,{a:r}),r},w.d=(e,r)=>{for(var t in r)w.o(r,t)&&!w.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},w.f={},w.e=e=>Promise.all(Object.keys(w.f).reduce(((r,t)=>(w.f[t](e,r),r)),[])),w.u=e=>e+".js",w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-primary-navigation-app:",w.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+o){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,w.nc&&i.setAttribute("nonce",w.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},w.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{w.S={};var e={},r={};w.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];w.o(w.S,t)||(w.S[t]={});var a=w.S[t],i="@openmrs/esm-primary-navigation-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework/src/internal","5.4.1-pre.1539",(()=>Promise.all([w.e(776),w.e(889)]).then((()=>()=>w(4889))))),l("react-dom","18.2.0",(()=>Promise.all([w.e(788),w.e(776)]).then((()=>()=>w(2788))))),l("react-i18next","11.18.6",(()=>Promise.all([w.e(729),w.e(776)]).then((()=>()=>w(9729))))),l("react-router-dom","6.4.2",(()=>Promise.all([w.e(63),w.e(776)]).then((()=>()=>w(7063))))),l("react","18.2.0",(()=>w.e(735).then((()=>()=>w(2735)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;w.g.importScripts&&(e=w.g.location+"");var r=w.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():o(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>n&&!o:""==f!=o);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=n){if(u!=e[l])return!1}else{if(o?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||l<=n)return!1;s=!1,l--}else{if(l<=n||p<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],c=d.pop.bind(d);for(i=1;i<e.length;i++){var h=e[i];d.push(1==h?c()|c():2==h?c()&c():h?a(h,r):!c())}return!!c()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},l=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",s=(e,r,t,n)=>{var o=i(e,t);return f(e[t][o])},u=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||p(l(e,t,o,n)),f(e[t][o])},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},f=e=>(e.loaded=1,e.get()),c=(d=e=>function(r,t,n,o){var a=w.I(r);return a&&a.then?a.then(e.bind(e,r,w.S[r],t,n,o)):e(r,w.S[r],t,n,o)})(((e,r,t,n)=>r&&w.o(r,t)?s(r,0,t):n())),h=d(((e,r,t,n,o)=>r&&w.o(r,t)?u(r,0,t,n):o())),m={},v={5776:()=>h("default","react",[1,18],(()=>w.e(735).then((()=>()=>w(2735))))),1763:()=>h("default","react-router-dom",[1,6],(()=>w.e(63).then((()=>()=>w(7063))))),2680:()=>h("default","react-i18next",[1,11],(()=>w.e(729).then((()=>()=>w(9729))))),4610:()=>h("default","@openmrs/esm-framework",[0],(()=>w.e(889).then((()=>()=>w(4889))))),8478:()=>c("default","@openmrs/esm-framework/src/internal",(()=>w.e(889).then((()=>()=>w(4889)))))},g={776:[5776],958:[1763,2680,4610,8478]},w.f.consumes=(e,r)=>{w.o(g,e)&&g[e].forEach((e=>{if(w.o(m,e))return r.push(m[e]);var t=r=>{m[e]=0,w.m[e]=t=>{delete w.c[e],t.exports=r()}},n=r=>{delete m[e],w.m[e]=t=>{throw delete w.c[e],r}};try{var o=v[e]();o.then?r.push(m[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={115:0};w.f.j=(r,t)=>{var n=w.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(776!=r){var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=w.p+w.u(r),i=new Error;w.l(a,(t=>{if(w.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)w.o(i,n)&&(w.m[n]=i[n]);l&&l(w)}for(r&&r(t);s<a.length;s++)o=a[s],w.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_primary_navigation_app=globalThis.webpackChunk_openmrs_esm_primary_navigation_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),w.nc=void 0;var _=w(7130);_openmrs_esm_primary_navigation_app=_})();
1
+ var _openmrs_esm_primary_navigation_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,d,c,h,m,v,g,y={7130:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(780),t.e(776),t.e(958)]).then((()=>()=>t(958)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},b={};function w(e){var r=b[e];if(void 0!==r)return r.exports;var t=b[e]={id:e,loaded:!1,exports:{}};return y[e](t,t.exports,w),t.loaded=!0,t.exports}w.m=y,w.c=b,w.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return w.d(r,{a:r}),r},w.d=(e,r)=>{for(var t in r)w.o(r,t)&&!w.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},w.f={},w.e=e=>Promise.all(Object.keys(w.f).reduce(((r,t)=>(w.f[t](e,r),r)),[])),w.u=e=>e+".js",w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-primary-navigation-app:",w.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+o){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,w.nc&&i.setAttribute("nonce",w.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},w.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{w.S={};var e={},r={};w.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];w.o(w.S,t)||(w.S[t]={});var a=w.S[t],i="@openmrs/esm-primary-navigation-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework/src/internal","5.4.1-pre.1550",(()=>Promise.all([w.e(776),w.e(889)]).then((()=>()=>w(4889))))),l("react-dom","18.2.0",(()=>Promise.all([w.e(788),w.e(776)]).then((()=>()=>w(2788))))),l("react-i18next","11.18.6",(()=>Promise.all([w.e(729),w.e(776)]).then((()=>()=>w(9729))))),l("react-router-dom","6.4.2",(()=>Promise.all([w.e(63),w.e(776)]).then((()=>()=>w(7063))))),l("react","18.2.0",(()=>w.e(735).then((()=>()=>w(2735)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;w.g.importScripts&&(e=w.g.location+"");var r=w.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():o(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>n&&!o:""==f!=o);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=n){if(u!=e[l])return!1}else{if(o?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||l<=n)return!1;s=!1,l--}else{if(l<=n||p<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],c=d.pop.bind(d);for(i=1;i<e.length;i++){var h=e[i];d.push(1==h?c()|c():2==h?c()&c():h?a(h,r):!c())}return!!c()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},l=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",s=(e,r,t,n)=>{var o=i(e,t);return f(e[t][o])},u=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||p(l(e,t,o,n)),f(e[t][o])},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},f=e=>(e.loaded=1,e.get()),c=(d=e=>function(r,t,n,o){var a=w.I(r);return a&&a.then?a.then(e.bind(e,r,w.S[r],t,n,o)):e(r,w.S[r],t,n,o)})(((e,r,t,n)=>r&&w.o(r,t)?s(r,0,t):n())),h=d(((e,r,t,n,o)=>r&&w.o(r,t)?u(r,0,t,n):o())),m={},v={5776:()=>h("default","react",[1,18],(()=>w.e(735).then((()=>()=>w(2735))))),1763:()=>h("default","react-router-dom",[1,6],(()=>w.e(63).then((()=>()=>w(7063))))),2680:()=>h("default","react-i18next",[1,11],(()=>w.e(729).then((()=>()=>w(9729))))),4610:()=>h("default","@openmrs/esm-framework",[0],(()=>w.e(889).then((()=>()=>w(4889))))),8478:()=>c("default","@openmrs/esm-framework/src/internal",(()=>w.e(889).then((()=>()=>w(4889)))))},g={776:[5776],958:[1763,2680,4610,8478]},w.f.consumes=(e,r)=>{w.o(g,e)&&g[e].forEach((e=>{if(w.o(m,e))return r.push(m[e]);var t=r=>{m[e]=0,w.m[e]=t=>{delete w.c[e],t.exports=r()}},n=r=>{delete m[e],w.m[e]=t=>{throw delete w.c[e],r}};try{var o=v[e]();o.then?r.push(m[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={115:0};w.f.j=(r,t)=>{var n=w.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(776!=r){var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=w.p+w.u(r),i=new Error;w.l(a,(t=>{if(w.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)w.o(i,n)&&(w.m[n]=i[n]);l&&l(w)}for(r&&r(t);s<a.length;s++)o=a[s],w.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_primary_navigation_app=globalThis.webpackChunk_openmrs_esm_primary_navigation_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),w.nc=void 0;var _=w(7130);_openmrs_esm_primary_navigation_app=_})();
@@ -51,7 +51,7 @@
51
51
  "auxiliaryFiles": [
52
52
  "openmrs-esm-primary-navigation-app.js.map"
53
53
  ],
54
- "hash": "e69c82ade8839a6a",
54
+ "hash": "56eaa99db937ea5c",
55
55
  "childrenByOrder": {}
56
56
  },
57
57
  {
@@ -79,7 +79,7 @@
79
79
  "auxiliaryFiles": [
80
80
  "main.js.map"
81
81
  ],
82
- "hash": "3e0bdf09c5fde253",
82
+ "hash": "6b7a12e10db2ce31",
83
83
  "childrenByOrder": {}
84
84
  },
85
85
  {
@@ -429,7 +429,7 @@
429
429
  "auxiliaryFiles": [
430
430
  "889.js.map"
431
431
  ],
432
- "hash": "6e2496f467d1b819",
432
+ "hash": "3afee5d8b08eccb3",
433
433
  "childrenByOrder": {}
434
434
  },
435
435
  {
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","routeRegex":"^(?!login/?)","online":true,"offline":true,"order":0},{"component":"redirect","routeRegex":"^$","online":true,"offline":true,"order":0}],"extensions":[{"name":"default-user-panel","slot":"user-panel-slot","component":"userPanel","online":true,"offline":true,"order":0},{"name":"change-language","slot":"user-panel-slot","component":"changeLanguageLink","online":true,"offline":true,"order":1},{"name":"change-language-modal","component":"changeLanguageModal","online":true,"offline":true},{"name":"offline-banner","slot":"user-panel-slot","component":"offlineBanner","online":false,"offline":true,"order":1},{"name":"link","component":"linkComponent","online":true,"offline":true}],"version":"5.4.1-pre.1539"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","routeRegex":"^(?!login/?)","online":true,"offline":true,"order":0},{"component":"redirect","routeRegex":"^$","online":true,"offline":true,"order":0}],"extensions":[{"name":"default-user-panel","slot":"user-panel-slot","component":"userPanel","online":true,"offline":true,"order":0},{"name":"change-language","slot":"user-panel-slot","component":"changeLanguageLink","online":true,"offline":true,"order":1},{"name":"change-language-modal","component":"changeLanguageModal","online":true,"offline":true},{"name":"offline-banner","slot":"user-panel-slot","component":"offlineBanner","online":false,"offline":true,"order":1},{"name":"link","component":"linkComponent","online":true,"offline":true}],"version":"5.4.1-pre.1550"}
package/lib/index.html CHANGED
@@ -22,7 +22,7 @@
22
22
  <script type="systemjs-importmap" src="/openmrs/spa/importmap.json"></script>
23
23
 
24
24
 
25
- <script type="systemjs-importmap">{"imports":{"@openmrs/esm-devtools-app":"./esm-devtools-app/openmrs-esm-devtools-app.js","@openmrs/esm-login-app":"./esm-login-app/openmrs-esm-login-app.js","@openmrs/esm-offline-tools-app":"./esm-offline-tools-app/openmrs-esm-offline-tools-app.js","@openmrs/esm-primary-navigation-app":"./esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js"}}</script>
25
+ <script type="systemjs-importmap">{"imports":{"@openmrs/esm-devtools-app":"./esm-devtools-app/openmrs-esm-devtools-app.js","@openmrs/esm-implementer-tools-app":"./esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js","@openmrs/esm-login-app":"./esm-login-app/openmrs-esm-login-app.js","@openmrs/esm-offline-tools-app":"./esm-offline-tools-app/openmrs-esm-offline-tools-app.js","@openmrs/esm-primary-navigation-app":"./esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js"}}</script>
26
26
 
27
27
 
28
28
  <link
@@ -34,7 +34,7 @@
34
34
  <script type="openmrs-routes" src="/openmrs/spa/routes.registry.json"></script>
35
35
 
36
36
 
37
- <script type="openmrs-routes">{"@openmrs/esm-devtools-app":{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"component":"devtools","route":true,"online":true,"offline":true}],"extensions":[{"name":"importmap-override-modal","component":"importmapOverrideModal"}],"version":"5.4.1-pre.1539"},"@openmrs/esm-login-app":{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.24.0"},"pages":[{"component":"root","route":"login","online":true,"offline":true},{"component":"root","route":"logout","online":true,"offline":true}],"extensions":[{"name":"location-picker","slot":"location-picker","component":"locationPicker","online":true,"offline":true},{"name":"logout-button","slot":"user-panel-bottom-slot","component":"logoutButton","online":true,"offline":true},{"name":"location-changer","slot":"user-panel-slot","component":"changeLocationLink","online":true,"offline":true,"order":1}],"version":"5.4.1-pre.1539"},"@openmrs/esm-offline-tools-app":{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.24.0"},"pages":[{"component":"offlineTools","route":"offline-tools","online":true,"offline":true}],"extensions":[{"name":"offline-tools-link","slot":"app-menu-slot","component":"offlineToolsLink","online":true,"offline":true},{"name":"offline-tools-nav-items","component":"offlineToolsNavItems","online":true,"offline":true},{"name":"offline-tools-confirmation-modal","component":"offlineToolsConfirmationModal","online":true,"offline":true},{"name":"offline-tools-dashboard-patients-card","slot":"offline-tools-dashboard-cards","component":"offlineToolsPatientsCard","online":true,"offline":true,"order":0},{"name":"offline-tools-dashboard-actions-card","slot":"offline-tools-dashboard-cards","component":"offlineToolsActionsCard","online":true,"offline":true,"order":2},{"name":"offline-tools-page-offline-patients-link","slot":"offline-tools-page-slot","component":"offlineToolsPatientsLink","meta":{"name":"patients","slot":"offline-tools-page-offline-patients-slot"},"online":true,"offline":true},{"name":"offline-tools-page-offline-actions-link","slot":"offline-tools-page-slot","component":"offlineToolsActionsLink","meta":{"name":"actions","slot":"offline-tools-page-offline-actions-slot"},"online":true,"offline":true},{"name":"offline-tools-page-offline-actions","slot":"offline-tools-page-offline-actions-slot","component":"offlineToolsPageActions","online":true,"offline":true},{"name":"offline-tools-page-offline-patients","slot":"offline-tools-page-offline-patients-slot","component":"offlineToolsPatients","online":true,"offline":true},{"name":"offline-tools-page-actions-link","slot":"offline-tools-page-actions-slot","component":"offlineToolsPatientsLink","meta":{"name":"actions","slot":"offline-tools-page-actions-slot"},"online":true,"offline":true},{"name":"offline-tools-page-actions","slot":"offline-tools-page-actions-slot","component":"offlineToolsPageActions","online":true,"offline":true},{"name":"offline-tools-patient-chart-actions-widget","slot":"patient-chart-summary-dashboard-slot","component":"offlineToolsPatientChartActions","meta":{"columnSpan":4},"online":false,"offline":true,"order":0},{"name":"offline-tools-patient-chart-actions-dashboard","slot":"patient-chart-offline-actions-dashboard-slot","component":"offlineToolsPatientChartActions","online":true,"offline":true,"order":0},{"name":"offline-tools-patient-chart-actions-dashboard-link","slot":"patient-chart-dashboard-slot","component":"offlineToolsPatientChartActionsDashboardLink","meta":{"columns":1,"title":"Offline Actions"},"order":12,"online":true,"offline":true},{"name":"offline-tools-opt-in-offline-mode-button","slot":"user-panel-slot","component":"offlineToolsOptInButton","online":true,"offline":true,"order":1}],"version":"5.4.1-pre.1539"},"@openmrs/esm-primary-navigation-app":{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","routeRegex":"^(?!login/?)","online":true,"offline":true,"order":0},{"component":"redirect","routeRegex":"^$","online":true,"offline":true,"order":0}],"extensions":[{"name":"default-user-panel","slot":"user-panel-slot","component":"userPanel","online":true,"offline":true,"order":0},{"name":"change-language","slot":"user-panel-slot","component":"changeLanguageLink","online":true,"offline":true,"order":1},{"name":"change-language-modal","component":"changeLanguageModal","online":true,"offline":true},{"name":"offline-banner","slot":"user-panel-slot","component":"offlineBanner","online":false,"offline":true,"order":1},{"name":"link","component":"linkComponent","online":true,"offline":true}],"version":"5.4.1-pre.1539"}}</script>
37
+ <script type="openmrs-routes">{"@openmrs/esm-devtools-app":{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"component":"devtools","route":true,"online":true,"offline":true}],"extensions":[{"name":"importmap-override-modal","component":"importmapOverrideModal"}],"version":"5.4.1-pre.1550"},"@openmrs/esm-implementer-tools-app":{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"component":"implementerTools","route":true},{"component":"globalImplementerTools","route":true}],"extensions":[{"name":"implementer-tools-button","slot":"top-nav-actions-slot","component":"implementerToolsButton"}],"version":"5.4.1-pre.1550"},"@openmrs/esm-login-app":{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.24.0"},"pages":[{"component":"root","route":"login","online":true,"offline":true},{"component":"root","route":"logout","online":true,"offline":true}],"extensions":[{"name":"location-picker","slot":"location-picker","component":"locationPicker","online":true,"offline":true},{"name":"logout-button","slot":"user-panel-bottom-slot","component":"logoutButton","online":true,"offline":true},{"name":"location-changer","slot":"user-panel-slot","component":"changeLocationLink","online":true,"offline":true,"order":1}],"version":"5.4.1-pre.1550"},"@openmrs/esm-offline-tools-app":{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.24.0"},"pages":[{"component":"offlineTools","route":"offline-tools","online":true,"offline":true}],"extensions":[{"name":"offline-tools-link","slot":"app-menu-slot","component":"offlineToolsLink","online":true,"offline":true},{"name":"offline-tools-nav-items","component":"offlineToolsNavItems","online":true,"offline":true},{"name":"offline-tools-confirmation-modal","component":"offlineToolsConfirmationModal","online":true,"offline":true},{"name":"offline-tools-dashboard-patients-card","slot":"offline-tools-dashboard-cards","component":"offlineToolsPatientsCard","online":true,"offline":true,"order":0},{"name":"offline-tools-dashboard-actions-card","slot":"offline-tools-dashboard-cards","component":"offlineToolsActionsCard","online":true,"offline":true,"order":2},{"name":"offline-tools-page-offline-patients-link","slot":"offline-tools-page-slot","component":"offlineToolsPatientsLink","meta":{"name":"patients","slot":"offline-tools-page-offline-patients-slot"},"online":true,"offline":true},{"name":"offline-tools-page-offline-actions-link","slot":"offline-tools-page-slot","component":"offlineToolsActionsLink","meta":{"name":"actions","slot":"offline-tools-page-offline-actions-slot"},"online":true,"offline":true},{"name":"offline-tools-page-offline-actions","slot":"offline-tools-page-offline-actions-slot","component":"offlineToolsPageActions","online":true,"offline":true},{"name":"offline-tools-page-offline-patients","slot":"offline-tools-page-offline-patients-slot","component":"offlineToolsPatients","online":true,"offline":true},{"name":"offline-tools-page-actions-link","slot":"offline-tools-page-actions-slot","component":"offlineToolsPatientsLink","meta":{"name":"actions","slot":"offline-tools-page-actions-slot"},"online":true,"offline":true},{"name":"offline-tools-page-actions","slot":"offline-tools-page-actions-slot","component":"offlineToolsPageActions","online":true,"offline":true},{"name":"offline-tools-patient-chart-actions-widget","slot":"patient-chart-summary-dashboard-slot","component":"offlineToolsPatientChartActions","meta":{"columnSpan":4},"online":false,"offline":true,"order":0},{"name":"offline-tools-patient-chart-actions-dashboard","slot":"patient-chart-offline-actions-dashboard-slot","component":"offlineToolsPatientChartActions","online":true,"offline":true,"order":0},{"name":"offline-tools-patient-chart-actions-dashboard-link","slot":"patient-chart-dashboard-slot","component":"offlineToolsPatientChartActionsDashboardLink","meta":{"columns":1,"title":"Offline Actions"},"order":12,"online":true,"offline":true},{"name":"offline-tools-opt-in-offline-mode-button","slot":"user-panel-slot","component":"offlineToolsOptInButton","online":true,"offline":true,"order":1}],"version":"5.4.1-pre.1550"},"@openmrs/esm-primary-navigation-app":{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","routeRegex":"^(?!login/?)","online":true,"offline":true,"order":0},{"component":"redirect","routeRegex":"^$","online":true,"offline":true,"order":0}],"extensions":[{"name":"default-user-panel","slot":"user-panel-slot","component":"userPanel","online":true,"offline":true,"order":0},{"name":"change-language","slot":"user-panel-slot","component":"changeLanguageLink","online":true,"offline":true,"order":1},{"name":"change-language-modal","component":"changeLanguageModal","online":true,"offline":true},{"name":"offline-banner","slot":"user-panel-slot","component":"offlineBanner","online":false,"offline":true,"order":1},{"name":"link","component":"linkComponent","online":true,"offline":true}],"version":"5.4.1-pre.1550"}}</script>
38
38
 
39
39
  <meta name="theme-color" content="#000000" /><link rel="manifest" href="/openmrs/spa/manifest.266df36f2271d27ae9bcaa196a2976ae.json" /></head>
40
40
  <body>
package/lib/openmrs.js CHANGED
@@ -6336,7 +6336,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
6336
6336
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6337
6337
 
6338
6338
  "use strict";
6339
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenmrsFetchError: () => (/* binding */ OpenmrsFetchError),\n/* harmony export */ fhirBaseUrl: () => (/* binding */ fhirBaseUrl),\n/* harmony export */ makeUrl: () => (/* binding */ makeUrl),\n/* harmony export */ openmrsFetch: () => (/* binding */ openmrsFetch),\n/* harmony export */ openmrsObservableFetch: () => (/* binding */ openmrsObservableFetch),\n/* harmony export */ restBaseUrl: () => (/* binding */ restBaseUrl),\n/* harmony export */ sessionEndpoint: () => (/* binding */ sessionEndpoint)\n/* harmony export */ });\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es/isPlainObject */ \"../../../node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var _openmrs_esm_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-navigation/src/index */ \"../../framework/esm-navigation/src/index.ts\");\n/** @module @category API */ function _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function construct(Parent, args, Class) {\n var a = [\n null\n ];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _set_prototype_of(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\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 _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrap_native_super = function wrapNativeSuper(Class) {\n if (Class === null || !_is_native_function(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _set_prototype_of(Wrapper, Class);\n };\n return _wrap_native_super(Class);\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n };\n return(g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, 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(_)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\nvar restBaseUrl = \"/ws/rest/v1/\";\nvar fhirBaseUrl = \"/ws/fhir2/R4\";\nvar sessionEndpoint = \"\".concat(restBaseUrl, \"session\");\n/**\n * Append `path` to the OpenMRS SPA base.\n *\n * #### Example\n *\n * ```ts\n * makeUrl('/foo/bar');\n * // => '/openmrs/foo/bar'\n * ```\n */ function makeUrl(path) {\n if (path && path.startsWith(\"http\")) {\n return path;\n } else if (path[0] !== \"/\") {\n // ensure path starts with /\n path = \"/\" + path;\n }\n return window.openmrsBase + path;\n}\n/**\n * The openmrsFetch function is a wrapper around the\n * [browser's built-in fetch function](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch),\n * with extra handling for OpenMRS-specific API behaviors, such as\n * request headers, authentication, authorization, and the API urls.\n *\n * @param path A string url to make the request to. Note that the\n * openmrs base url (by default `/openmrs`) will be automatically\n * prepended to the URL, so there is no need to include it.\n * @param fetchInit A [fetch init object](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).\n * Note that the `body` property does not need to be `JSON.stringify()`ed\n * because openmrsFetch will do that for you.\n * @returns A [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n * that resolves with a [Response object](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n * Note that the openmrs version of the Response object has already\n * downloaded the HTTP response body as json, and has an additional\n * `data` property with the HTTP response json as a javascript object.\n *\n * #### Example\n * ```js\n * import { openmrsFetch } from '@openmrs/esm-api'\n * const abortController = new AbortController();\n * openmrsFetch('/ws/rest/v1/session', {signal: abortController.signal})\n * .then(response => {\n * console.log(response.data.authenticated)\n * })\n * .catch(err => {\n * console.error(err.status);\n * })\n * abortController.abort();\n * openmrsFetch('/ws/rest/v1/session', {\n * method: 'POST',\n * body: {\n * username: 'hi',\n * password: 'there',\n * }\n * })\n * ```\n *\n * #### Cancellation\n *\n * To cancel a network request, use an\n * [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort).\n * It is best practice to cancel your network requests when the user\n * navigates away from a page while the request is pending request, to\n * free up memory and network resources and to prevent race conditions.\n *\n * @category API\n */ function openmrsFetch(path) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof path !== \"string\") {\n throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");\n }\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");\n }\n // @ts-ignore\n if (!window.openmrsBase) {\n throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");\n }\n // Prefix the url with the openmrs spa base\n var url = makeUrl(path);\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */ if ((0,lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\n /* Add a request header to tell the server to respond with json,\n * since frontend code almost always wants json and the OpenMRS\n * server won't give you json unless you explicitly ask for it.\n * If a different Accept header is preferred, pass it into the fetchInit.\n * If no Accept header is desired, pass it in explicitly as null.\n */ if (typeof fetchInit.headers.Accept === \"undefined\") {\n fetchInit.headers.Accept = \"application/json\";\n }\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\n /* This tells the OpenMRS REST API not to return a WWW-Authenticate\n * header. Returning that header is useful when using the API, but\n * not from a UI.\n */ if (path.startsWith(restBaseUrl) && typeof fetchInit.headers[\"Disable-WWW-Authenticate\"] === \"undefined\") {\n fetchInit.headers[\"Disable-WWW-Authenticate\"] = \"true\";\n }\n if (path.startsWith(fhirBaseUrl)) {\n var urlUrl = new URL(url, window.location.toString());\n if (!urlUrl.searchParams.has(\"_summary\")) {\n urlUrl.searchParams.set(\"_summary\", \"data\");\n url = urlUrl.toString();\n }\n }\n /* We capture the stacktrace before making the request, so that if an error occurs we can\n * log a full stacktrace that includes the code that made the request and handled the response\n * Otherwise, we could run into situations where the stacktrace doesn't even show which code\n * called @openmrs/api.\n */ var requestStacktrace = Error();\n return window.fetch(url, fetchInit).then(function() {\n var _ref = _async_to_generator(function(r) {\n var response, redirectAuthFailure;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n response = r;\n if (!response.ok) return [\n 3,\n 1\n ];\n if (response.status === 204) {\n /* HTTP 204 - No Content\n * We should not try to download the empty response as json. Instead,\n * we return null since there is no response body.\n */ response.data = null;\n return [\n 2,\n response\n ];\n } else {\n // HTTP 200s - The request succeeded\n return [\n 2,\n response.clone().text().then(function(responseText) {\n try {\n if (responseText) {\n response.data = JSON.parse(responseText);\n }\n } catch (err) {\n // Server didn't respond with json\n }\n return response;\n })\n ];\n }\n return [\n 3,\n 3\n ];\n case 1:\n return [\n 4,\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)(\"@openmrs/esm-api\")\n ];\n case 2:\n redirectAuthFailure = _state.sent().redirectAuthFailure;\n if (url === makeUrl(sessionEndpoint) && response.status === 403 || redirectAuthFailure.enabled && redirectAuthFailure.errors.includes(response.status)) {\n (0,_openmrs_esm_navigation__WEBPACK_IMPORTED_MODULE_2__.clearHistory)();\n (0,_openmrs_esm_navigation__WEBPACK_IMPORTED_MODULE_2__.navigate)({\n to: redirectAuthFailure.url\n });\n /* We sometimes don't really want this promise to resolve since there's no response data,\n * nor do we want it to reject because that would trigger error handling. We instead\n * want it to remain in pending status while the navigation occurs.\n */ return [\n 2,\n redirectAuthFailure.resolvePromise ? Promise.resolve() : new Promise(function() {})\n ];\n } else {\n // Attempt to download a response body, if it has one\n return [\n 2,\n response.clone().text().then(function(responseText) {\n var responseBody = responseText;\n try {\n responseBody = JSON.parse(responseText);\n } catch (err) {\n // Server didn't respond with json, so just go with the response text string\n }\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, responseBody, requestStacktrace);\n }, function(err) {\n /* We weren't able to download a response body for this error.\n * Time to just give the best possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n })\n ];\n }\n _state.label = 3;\n case 3:\n return [\n 2\n ];\n }\n });\n });\n return function(r) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n/**\n * The openmrsObservableFetch function is a wrapper around openmrsFetch\n * that returns an [Observable](https://rxjs-dev.firebaseapp.com/guide/observable)\n * instead of a promise. It exists in case using an Observable is\n * preferred or more convenient than a promise.\n *\n * @param url See [[openmrsFetch]]\n * @param fetchInit See [[openmrsFetch]]\n * @returns An Observable that produces exactly one Response object.\n * The response object is exactly the same as for [[openmrsFetch]].\n *\n * #### Example\n *\n * ```js\n * import { openmrsObservableFetch } from '@openmrs/esm-api'\n * const subscription = openmrsObservableFetch('/ws/rest/v1/session').subscribe(\n * response => console.log(response.data),\n * err => {throw err},\n * () => console.log('finished')\n * )\n * subscription.unsubscribe()\n * ```\n *\n * #### Cancellation\n *\n * To cancel the network request, simply call `subscription.unsubscribe();`\n *\n * @category API\n */ function openmrsObservableFetch(url) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to openmrsObservableFetch must be either omitted or an object\");\n }\n var abortController = new AbortController();\n fetchInit.signal = abortController.signal;\n return new rxjs__WEBPACK_IMPORTED_MODULE_0__.Observable(function(observer) {\n var hasResponse = false;\n openmrsFetch(url, fetchInit).then(function(response) {\n hasResponse = true;\n observer.next(response);\n observer.complete();\n }, function(err) {\n hasResponse = true;\n observer.error(err);\n });\n return function() {\n if (!hasResponse) {\n abortController.abort();\n }\n };\n });\n}\nvar OpenmrsFetchError = /*#__PURE__*/ function(Error1) {\n \"use strict\";\n _inherits(OpenmrsFetchError, Error1);\n var _super = _create_super(OpenmrsFetchError);\n function OpenmrsFetchError(url, response, responseBody, requestStacktrace) {\n _class_call_check(this, OpenmrsFetchError);\n var _this;\n _this = _super.call(this);\n _define_property(_assert_this_initialized(_this), \"response\", void 0);\n _define_property(_assert_this_initialized(_this), \"responseBody\", void 0);\n _this.message = \"Server responded with \".concat(response.status, \" (\").concat(response.statusText, \") for url \").concat(url, \". Check err.responseBody or network tab in dev tools for more info\");\n requestStacktrace.message = _this.message;\n _this.responseBody = responseBody;\n _this.response = response;\n _this.stack = \"Stacktrace for outgoing request:\\n\".concat(requestStacktrace.stack, \"\\nStacktrace for incoming response:\\n\").concat(_this.stack);\n return _this;\n }\n return OpenmrsFetchError;\n}(_wrap_native_super(Error));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL29wZW5tcnMtZmV0Y2gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNRO0FBQ2tCO0FBQ0o7QUFDRztBQUVjO0FBRTFELElBQU1LLGNBQWMsZUFBZTtBQUVuQyxJQUFNQyxjQUFjLGVBQWU7QUFFbkMsSUFBTUMsa0JBQWtCLEdBQWUsT0FBWkYsYUFBWSxXQUFTO0FBRXZEOzs7Ozs7Ozs7Q0FTQyxHQUNNLFNBQVNHLFFBQVFDLElBQVksRUFBRTtJQUNwQyxJQUFJQSxRQUFRQSxLQUFLQyxVQUFVLENBQUMsU0FBUztRQUNuQyxPQUFPRDtJQUNULE9BQU8sSUFBSUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLO1FBQzFCLDRCQUE0QjtRQUM1QkEsT0FBTyxNQUFNQTtJQUNmLENBQUM7SUFFRCxPQUFPRSxPQUFPQyxXQUFXLEdBQUdIO0FBQzlCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0RDLEdBQ00sU0FBU0ksYUFBc0JKLElBQVksRUFBMEQ7UUFBeERLLFlBQUFBLGlFQUF5QixDQUFDLENBQUM7SUFDN0UsSUFBSSxPQUFPTCxTQUFTLFVBQVU7UUFDNUIsTUFBTU0sTUFBTSxtRkFBbUY7SUFDakcsQ0FBQztJQUVELElBQUksT0FBT0QsY0FBYyxVQUFVO1FBQ2pDLE1B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QWFKOztjQWJVVjsrQkFBQUE7YUFBQUEsa0JBQ0NuQyxHQUFXLEVBQUVpQixRQUFrQixFQUFFaUIsWUFBaUMsRUFBRXJCLGlCQUF3QjtnQ0FEN0ZzQjs7O1FBU1hsQixrREFBQUEsWUFBQUEsS0FBQUE7UUFDQWlCLGtEQUFBQSxnQkFBQUEsS0FBQUE7UUFQRSxNQUFLWSxPQUFPLEdBQUcseUJBQTZDN0IsT0FBcEJBLFNBQVNHLE1BQU0sRUFBQyxNQUFvQ3BCLE9BQWhDaUIsU0FBUzhCLFVBQVUsRUFBQyxjQUFnQixPQUFKL0MsS0FBSTtRQUNoR2Esa0JBQWtCaUMsT0FBTyxHQUFHLE1BQUtBLE9BQU87UUFDeEMsTUFBS1osWUFBWSxHQUFHQTtRQUNwQixNQUFLakIsUUFBUSxHQUFHQTtRQUNoQixNQUFLK0IsS0FBSyxHQUFHLHFDQUFvRyxPQUEvRG5DLGtCQUFrQm1DLEtBQUssRUFBQyx5Q0FBa0QsT0FBWCxNQUFLQSxLQUFLOzs7V0FQbEhiO3FCQUEwQnBDLFFBV3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWFwaS9zcmMvb3Blbm1ycy1mZXRjaC50cz9kZWEwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCBpc1BsYWluT2JqZWN0IGZyb20gJ2xvZGFzaC1lcy9pc1BsYWluT2JqZWN0JztcbmltcG9ydCB7IGdldENvbmZpZyB9IGZyb20gJ0BvcGVubXJzL2VzbS1jb25maWcnO1xuaW1wb3J0IHsgbmF2aWdhdGUgfSBmcm9tICdAb3Blbm1ycy9lc20tbmF2aWdhdGlvbic7XG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNsZWFySGlzdG9yeSB9IGZyb20gJ0BvcGVubXJzL2VzbS1uYXZpZ2F0aW9uL3NyYy9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCByZXN0QmFzZVVybCA9ICcvd3MvcmVzdC92MS8nO1xuXG5leHBvcnQgY29uc3QgZmhpckJhc2VVcmwgPSAnL3dzL2ZoaXIyL1I0JztcblxuZXhwb3J0IGNvbnN0IHNlc3Npb25FbmRwb2ludCA9IGAke3Jlc3RCYXNlVXJsfXNlc3Npb25gO1xuXG4vKipcbiAqIEFwcGVuZCBgcGF0aGAgdG8gdGhlIE9wZW5NUlMgU1BBIGJhc2UuXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIG1ha2VVcmwoJy9mb28vYmFyJyk7XG4gKiAvLyA9PiAnL29wZW5tcnMvZm9vL2JhcidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZVVybChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHBhdGggJiYgcGF0aC5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfSBlbHNlIGlmIChwYXRoWzBdICE9PSAnLycpIHtcbiAgICAvLyBlbnN1cmUgcGF0aCBzdGFydHMgd2l0aCAvXG4gICAgcGF0aCA9ICcvJyArIHBhdGg7XG4gIH1cblxuICByZXR1cm4gd2luZG93Lm9wZW5tcnNCYXNlICsgcGF0aDtcbn1cblxuLyoqXG4gKiBUaGUgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBbYnJvd3NlcidzIGJ1aWx0LWluIGZldGNoIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRmV0Y2hfQVBJL1VzaW5nX0ZldGNoKSxcbiAqIHdpdGggZXh0cmEgaGFuZGxpbmcgZm9yIE9wZW5NUlMtc3BlY2lmaWMgQVBJIGJlaGF2aW9ycywgc3VjaCBhc1xuICogcmVxdWVzdCBoZWFkZXJzLCBhdXRoZW50aWNhdGlvbiwgYXV0aG9yaXphdGlvbiwgYW5kIHRoZSBBUEkgdXJscy5cbiAqXG4gKiBAcGFyYW0gcGF0aCBBIHN0cmluZyB1cmwgdG8gbWFrZSB0aGUgcmVxdWVzdCB0by4gTm90ZSB0aGF0IHRoZVxuICogICBvcGVubXJzIGJhc2UgdXJsIChieSBkZWZhdWx0IGAvb3Blbm1yc2ApIHdpbGwgYmUgYXV0b21hdGljYWxseVxuICogICBwcmVwZW5kZWQgdG8gdGhlIFVSTCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIGl0LlxuICogQHBhcmFtIGZldGNoSW5pdCBBIFtmZXRjaCBpbml0IG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUvZmV0Y2gjU3ludGF4KS5cbiAqICAgTm90ZSB0aGF0IHRoZSBgYm9keWAgcHJvcGVydHkgZG9lcyBub3QgbmVlZCB0byBiZSBgSlNPTi5zdHJpbmdpZnkoKWBlZFxuICogICBiZWNhdXNlIG9wZW5tcnNGZXRjaCB3aWxsIGRvIHRoYXQgZm9yIHlvdS5cbiAqIEByZXR1cm5zIEEgW1Byb21pc2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1Byb21pc2UpXG4gKiAgIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIFtSZXNwb25zZSBvYmplY3RdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNwb25zZSkuXG4gKiAgIE5vdGUgdGhhdCB0aGUgb3Blbm1ycyB2ZXJzaW9uIG9mIHRoZSBSZXNwb25zZSBvYmplY3QgaGFzIGFscmVhZHlcbiAqICAgZG93bmxvYWRlZCB0aGUgSFRUUCByZXNwb25zZSBib2R5IGFzIGpzb24sIGFuZCBoYXMgYW4gYWRkaXRpb25hbFxuICogICBgZGF0YWAgcHJvcGVydHkgd2l0aCB0aGUgSFRUUCByZXNwb25zZSBqc29uIGFzIGEgamF2YXNjcmlwdCBvYmplY3QuXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgb3Blbm1yc0ZldGNoIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSdcbiAqIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAqIG9wZW5tcnNGZXRjaCgnL3dzL3Jlc3QvdjEvc2Vzc2lvbicsIHtzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWx9KVxuICogICAudGhlbihyZXNwb25zZSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YS5hdXRoZW50aWNhdGVkKVxuICogICB9KVxuICogICAuY2F0Y2goZXJyID0+IHtcbiAqICAgICBjb25zb2xlLmVycm9yKGVyci5zdGF0dXMpO1xuICogICB9KVxuICogYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gKiBvcGVubXJzRmV0Y2goJy93cy9yZXN0L3YxL3Nlc3Npb24nLCB7XG4gKiAgIG1ldGhvZDogJ1BPU1QnLFxuICogICBib2R5OiB7XG4gKiAgICAgdXNlcm5hbWU6ICdoaScsXG4gKiAgICAgcGFzc3dvcmQ6ICd0aGVyZScsXG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiAjIyMjIENhbmNlbGxhdGlvblxuICpcbiAqIFRvIGNhbmNlbCBhIG5ldHdvcmsgcmVxdWVzdCwgdXNlIGFuXG4gKiBbQWJvcnRDb250cm9sbGVyXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQWJvcnRDb250cm9sbGVyL2Fib3J0KS5cbiAqIEl0IGlzIGJlc3QgcHJhY3RpY2UgdG8gY2FuY2VsIHlvdXIgbmV0d29yayByZXF1ZXN0cyB3aGVuIHRoZSB1c2VyXG4gKiBuYXZpZ2F0ZXMgYXdheSBmcm9tIGEgcGFnZSB3aGlsZSB0aGUgcmVxdWVzdCBpcyBwZW5kaW5nIHJlcXVlc3QsIHRvXG4gKiBmcmVlIHVwIG1lbW9yeSBhbmQgbmV0d29yayByZXNvdXJjZXMgYW5kIHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zLlxuICpcbiAqIEBjYXRlZ29yeSBBUElcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNGZXRjaDxUID0gYW55PihwYXRoOiBzdHJpbmcsIGZldGNoSW5pdDogRmV0Y2hDb25maWcgPSB7fSk6IFByb21pc2U8RmV0Y2hSZXNwb25zZTxUPj4ge1xuICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJUaGUgZmlyc3QgYXJndW1lbnQgdG8gQG9wZW5tcnMvYXBpJ3Mgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIG11c3QgYmUgYSB1cmwgc3RyaW5nXCIpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIEBvcGVubXJzL2FwaSdzIG9wZW5tcnNGZXRjaCBmdW5jdGlvbiBtdXN0IGJlIGEgcGxhaW4gb2JqZWN0LlwiKTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaWYgKCF3aW5kb3cub3Blbm1yc0Jhc2UpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIFwiQG9wZW5tcnMvYXBpIGlzIHJ1bm5pbmcgaW4gYSBicm93c2VyIHRoYXQgZG9lc24ndCBoYXZlIHdpbmRvdy5vcGVubXJzQmFzZSwgd2hpY2ggaXMgcHJvdmlkZWQgYnkgb3Blbm1ycy1tb2R1bGUtc3BhJ3MgSFRNTCBmaWxlLlwiLFxuICAgICk7XG4gIH1cblxuICAvLyBQcmVmaXggdGhlIHVybCB3aXRoIHRoZSBvcGVubXJzIHNwYSBiYXNlXG4gIGxldCB1cmw6IHN0cmluZyA9IG1ha2VVcmwocGF0aCk7XG5cbiAgLy8gV2UncmUgZ29pbmcgdG8gbmVlZCBzb21lIGhlYWRlcnNcbiAgaWYgKCFmZXRjaEluaXQuaGVhZGVycykge1xuICAgIGZldGNoSW5pdC5oZWFkZXJzID0ge307XG4gIH1cblxuICAvKiBBdXRvbWF0aWNhbGx5IHN0cmluZ2lmeSBqYXZhc2NyaXB0IG9iamVjdHMgYmVpbmcgc2VudCBpbiB0aGVcbiAgICogcmVxdWVzdCBib2R5LlxuICAgKi9cbiAgaWYgKGlzUGxhaW5PYmplY3QoZmV0Y2hJbml0LmJvZHkpKSB7XG4gICAgZmV0Y2hJbml0LmJvZHkgPSBKU09OLnN0cmluZ2lmeShmZXRjaEluaXQuYm9keSk7XG4gIH1cblxuICAvKiBBZGQgYSByZXF1ZXN0IGhlYWRlciB0byB0ZWxsIHRoZSBzZXJ2ZXIgdG8gcmVzcG9uZCB3aXRoIGpzb24sXG4gICAqIHNpbmNlIGZyb250ZW5kIGNvZGUgYWxtb3N0IGFsd2F5cyB3YW50cyBqc29uIGFuZCB0aGUgT3Blbk1SU1xuICAgKiBzZXJ2ZXIgd29uJ3QgZ2l2ZSB5b3UganNvbiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgYXNrIGZvciBpdC5cbiAgICogSWYgYSBkaWZmZXJlbnQgQWNjZXB0IGhlYWRlciBpcyBwcmVmZXJyZWQsIHBhc3MgaXQgaW50byB0aGUgZmV0Y2hJbml0LlxuICAgKiBJZiBubyBBY2NlcHQgaGVhZGVyIGlzIGRlc2lyZWQsIHBhc3MgaXQgaW4gZXhwbGljaXRseSBhcyBudWxsLlxuICAgKi9cbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgZmV0Y2hJbml0LmhlYWRlcnMuQWNjZXB0ID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICB9XG5cbiAgaWYgKGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQ7XG4gIH1cblxuICAvKiBUaGlzIHRlbGxzIHRoZSBPcGVuTVJTIFJFU1QgQVBJIG5vdCB0byByZXR1cm4gYSBXV1ctQXV0aGVudGljYXRlXG4gICAqIGhlYWRlci4gUmV0dXJuaW5nIHRoYXQgaGVhZGVyIGlzIHVzZWZ1bCB3aGVuIHVzaW5nIHRoZSBBUEksIGJ1dFxuICAgKiBub3QgZnJvbSBhIFVJLlxuICAgKi9cbiAgaWYgKHBhdGguc3RhcnRzV2l0aChyZXN0QmFzZVVybCkgJiYgdHlwZW9mIGZldGNoSW5pdC5oZWFkZXJzWydEaXNhYmxlLVdXVy1BdXRoZW50aWNhdGUnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBmZXRjaEluaXQuaGVhZGVyc1snRGlzYWJsZS1XV1ctQXV0aGVudGljYXRlJ10gPSAndHJ1ZSc7XG4gIH1cblxuICBpZiAocGF0aC5zdGFydHNXaXRoKGZoaXJCYXNlVXJsKSkge1xuICAgIGNvbnN0IHVybFVybCA9IG5ldyBVUkwodXJsLCB3aW5kb3cubG9jYXRpb24udG9TdHJpbmcoKSk7XG4gICAgaWYgKCF1cmxVcmwuc2VhcmNoUGFyYW1zLmhhcygnX3N1bW1hcnknKSkge1xuICAgICAgdXJsVXJsLnNlYXJjaFBhcmFtcy5zZXQoJ19zdW1tYXJ5JywgJ2RhdGEnKTtcbiAgICAgIHVybCA9IHVybFVybC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qIFdlIGNhcHR1cmUgdGhlIHN0YWNrdHJhY2UgYmVmb3JlIG1ha2luZyB0aGUgcmVxdWVzdCwgc28gdGhhdCBpZiBhbiBlcnJvciBvY2N1cnMgd2UgY2FuXG4gICAqIGxvZyBhIGZ1bGwgc3RhY2t0cmFjZSB0aGF0IGluY2x1ZGVzIHRoZSBjb2RlIHRoYXQgbWFkZSB0aGUgcmVxdWVzdCBhbmQgaGFuZGxlZCB0aGUgcmVzcG9uc2VcbiAgICogT3RoZXJ3aXNlLCB3ZSBjb3VsZCBydW4gaW50byBzaXR1YXRpb25zIHdoZXJlIHRoZSBzdGFja3RyYWNlIGRvZXNuJ3QgZXZlbiBzaG93IHdoaWNoIGNvZGVcbiAgICogY2FsbGVkIEBvcGVubXJzL2FwaS5cbiAgICovXG4gIGNvbnN0IHJlcXVlc3RTdGFja3RyYWNlID0gRXJyb3IoKTtcblxuICByZXR1cm4gd2luZG93LmZldGNoKHVybCwgZmV0Y2hJbml0IGFzIFJlcXVlc3RJbml0KS50aGVuKGFzeW5jIChyKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSByIGFzIEZldGNoUmVzcG9uc2U8VD47XG4gICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgLyogSFRUUCAyMDQgLSBObyBDb250ZW50XG4gICAgICAgICAqIFdlIHNob3VsZCBub3QgdHJ5IHRvIGRvd25sb2FkIHRoZSBlbXB0eSByZXNwb25zZSBhcyBqc29uLiBJbnN0ZWFkLFxuICAgICAgICAgKiB3ZSByZXR1cm4gbnVsbCBzaW5jZSB0aGVyZSBpcyBubyByZXNwb25zZSBib2R5LlxuICAgICAgICAgKi9cbiAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG51bGwgYXMgdW5rbm93biBhcyBUO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBIVFRQIDIwMHMgLSBUaGUgcmVxdWVzdCBzdWNjZWVkZWRcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAudGV4dCgpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlVGV4dCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlVGV4dCkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEgPSBKU09OLnBhcnNlKHJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZGlkbid0IHJlc3BvbmQgd2l0aCBqc29uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qIEhUVFAgcmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBpbiAyMDBzLiBVc3VhbGx5IHRoaXMgd2lsbCBtZWFuXG4gICAgICAgKiBlaXRoZXIgSFRUUCA0MDBzIChiYWQgcmVxdWVzdCBmcm9tIGJyb3dzZXIpIG9yIEhUVFAgNTAwcyAoc2VydmVyIGVycm9yKVxuICAgICAgICogT3VyIGdvYWwgaXMgdG8gY29tZSB1cCB3aXRoIGJlc3QgcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZVxuICAgICAgICogdG8gaGVscCBkZXZlbG9wZXJzIHVuZGVyc3RhbmQgdGhlIHByb2JsZW0gYW5kIGRlYnVnXG4gICAgICAgKi9cblxuICAgICAgLypcbiAgICAgICAqUmVkaXJlY3QgdG8gZ2l2ZW4gdXJsIHdoZW4gcmVkaXJlY3Qgb24gYXV0aCBmYWlsdXJlIGlzIGVuYWJsZWRcbiAgICAgICAqL1xuICAgICAgY29uc3QgeyByZWRpcmVjdEF1dGhGYWlsdXJlIH0gPSBhd2FpdCBnZXRDb25maWcoJ0BvcGVubXJzL2VzbS1hcGknKTtcblxuICAgICAgaWYgKFxuICAgICAgICAodXJsID09PSBtYWtlVXJsKHNlc3Npb25FbmRwb2ludCkgJiYgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDMpIHx8XG4gICAgICAgIChyZWRpcmVjdEF1dGhGYWlsdXJlLmVuYWJsZWQgJiYgcmVkaXJlY3RBdXRoRmFpbHVyZS5lcnJvcnMuaW5jbHVkZXMocmVzcG9uc2Uuc3RhdHVzKSlcbiAgICAgICkge1xuICAgICAgICBjbGVhckhpc3RvcnkoKTtcbiAgICAgICAgbmF2aWdhdGUoeyB0bzogcmVkaXJlY3RBdXRoRmFpbHVyZS51cmwgfSk7XG5cbiAgICAgICAgLyogV2Ugc29tZXRpbWVzIGRvbid0IHJlYWxseSB3YW50IHRoaXMgcHJvbWlzZSB0byByZXNvbHZlIHNpbmNlIHRoZXJlJ3Mgbm8gcmVzcG9uc2UgZGF0YSxcbiAgICAgICAgICogbm9yIGRvIHdlIHdhbnQgaXQgdG8gcmVqZWN0IGJlY2F1c2UgdGhhdCB3b3VsZCB0cmlnZ2VyIGVycm9yIGhhbmRsaW5nLiBXZSBpbnN0ZWFkXG4gICAgICAgICAqIHdhbnQgaXQgdG8gcmVtYWluIGluIHBlbmRpbmcgc3RhdHVzIHdoaWxlIHRoZSBuYXZpZ2F0aW9uIG9jY3Vycy5cbiAgICAgICAgICovXG4gICAgICAgIHJldHVybiByZWRpcmVjdEF1dGhGYWlsdXJlLnJlc29sdmVQcm9taXNlXG4gICAgICAgICAgPyAoUHJvbWlzZS5yZXNvbHZlKCkgYXMgdW5rbm93biBhcyBQcm9taXNlPEZldGNoUmVzcG9uc2U+KVxuICAgICAgICAgIDogbmV3IFByb21pc2U8RmV0Y2hSZXNwb25zZT4oKCkgPT4ge30pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBkb3dubG9hZCBhIHJlc3BvbnNlIGJvZHksIGlmIGl0IGhhcyBvbmVcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAudGV4dCgpXG4gICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAocmVzcG9uc2VUZXh0KSA9PiB7XG4gICAgICAgICAgICAgIGxldCByZXNwb25zZUJvZHkgPSByZXNwb25zZVRleHQ7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5ID0gSlNPTi5wYXJzZShyZXNwb25zZVRleHQpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZGlkbid0IHJlc3BvbmQgd2l0aCBqc29uLCBzbyBqdXN0IGdvIHdpdGggdGhlIHJlc3BvbnNlIHRleHQgc3RyaW5nXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvKiBNYWtlIHRoZSBmZXRjaCBwcm9taXNlIGdvIGludG8gXCJyZWplY3RlZFwiIHN0YXR1cywgd2l0aCB0aGUgYmVzdFxuICAgICAgICAgICAgICAgKiBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgdGhyb3cgbmV3IE9wZW5tcnNGZXRjaEVycm9yKHVybCwgcmVzcG9uc2UsIHJlc3BvbnNlQm9keSwgcmVxdWVzdFN0YWNrdHJhY2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgLyogV2Ugd2VyZW4ndCBhYmxlIHRvIGRvd25sb2FkIGEgcmVzcG9uc2UgYm9keSBmb3IgdGhpcyBlcnJvci5cbiAgICAgICAgICAgICAgICogVGltZSB0byBqdXN0IGdpdmUgdGhlIGJlc3QgcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIHRocm93IG5ldyBPcGVubXJzRmV0Y2hFcnJvcih1cmwsIHJlc3BvbnNlLCBudWxsLCByZXF1ZXN0U3RhY2t0cmFjZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBUaGUgb3Blbm1yc09ic2VydmFibGVGZXRjaCBmdW5jdGlvbiBpcyBhIHdyYXBwZXIgYXJvdW5kIG9wZW5tcnNGZXRjaFxuICogdGhhdCByZXR1cm5zIGFuIFtPYnNlcnZhYmxlXShodHRwczovL3J4anMtZGV2LmZpcmViYXNlYXBwLmNvbS9ndWlkZS9vYnNlcnZhYmxlKVxuICogaW5zdGVhZCBvZiBhIHByb21pc2UuIEl0IGV4aXN0cyBpbiBjYXNlIHVzaW5nIGFuIE9ic2VydmFibGUgaXNcbiAqIHByZWZlcnJlZCBvciBtb3JlIGNvbnZlbmllbnQgdGhhbiBhIHByb21pc2UuXG4gKlxuICogQHBhcmFtIHVybCBTZWUgW1tvcGVubXJzRmV0Y2hdXVxuICogQHBhcmFtIGZldGNoSW5pdCBTZWUgW1tvcGVubXJzRmV0Y2hdXVxuICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IHByb2R1Y2VzIGV4YWN0bHkgb25lIFJlc3BvbnNlIG9iamVjdC5cbiAqIFRoZSByZXNwb25zZSBvYmplY3QgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyBmb3IgW1tvcGVubXJzRmV0Y2hdXS5cbiAqXG4gKiAjIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgb3Blbm1yc09ic2VydmFibGVGZXRjaCB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknXG4gKiBjb25zdCBzdWJzY3JpcHRpb24gPSBvcGVubXJzT2JzZXJ2YWJsZUZldGNoKCcvd3MvcmVzdC92MS9zZXNzaW9uJykuc3Vic2NyaWJlKFxuICogICByZXNwb25zZSA9PiBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhKSxcbiAqICAgZXJyID0+IHt0aHJvdyBlcnJ9LFxuICogICAoKSA9PiBjb25zb2xlLmxvZygnZmluaXNoZWQnKVxuICogKVxuICogc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAqIGBgYFxuICpcbiAqICMjIyMgQ2FuY2VsbGF0aW9uXG4gKlxuICogVG8gY2FuY2VsIHRoZSBuZXR3b3JrIHJlcXVlc3QsIHNpbXBseSBjYWxsIGBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtgXG4gKlxuICogQGNhdGVnb3J5IEFQSVxuICovXG5leHBvcnQgZnVuY3Rpb24gb3Blbm1yc09ic2VydmFibGVGZXRjaDxUPih1cmw6IHN0cmluZywgZmV0Y2hJbml0OiBGZXRjaENvbmZpZyA9IHt9KSB7XG4gIGlmICh0eXBlb2YgZmV0Y2hJbml0ICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IEVycm9yKCdUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2ggbXVzdCBiZSBlaXRoZXIgb21pdHRlZCBvciBhbiBvYmplY3QnKTtcbiAgfVxuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBmZXRjaEluaXQuc2lnbmFsID0gYWJvcnRDb250cm9sbGVyLnNpZ25hbDtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGU8RmV0Y2hSZXNwb25zZTxUPj4oKG9ic2VydmVyKSA9PiB7XG4gICAgbGV0IGhhc1Jlc3BvbnNlID0gZmFsc2U7XG5cbiAgICBvcGVubXJzRmV0Y2godXJsLCBmZXRjaEluaXQpLnRoZW4oXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaGFzUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3BvbnNlKTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0sXG4gICAgICAoZXJyKSA9PiB7XG4gICAgICAgIGhhc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIWhhc1Jlc3BvbnNlKSB7XG4gICAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgT3Blbm1yc0ZldGNoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCByZXNwb25zZTogUmVzcG9uc2UsIHJlc3BvbnNlQm9keTogUmVzcG9uc2VCb2R5IHwgbnVsbCwgcmVxdWVzdFN0YWNrdHJhY2U6IEVycm9yKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBgU2VydmVyIHJlc3BvbmRlZCB3aXRoICR7cmVzcG9uc2Uuc3RhdHVzfSAoJHtyZXNwb25zZS5zdGF0dXNUZXh0fSkgZm9yIHVybCAke3VybH0uIENoZWNrIGVyci5yZXNwb25zZUJvZHkgb3IgbmV0d29yayB0YWIgaW4gZGV2IHRvb2xzIGZvciBtb3JlIGluZm9gO1xuICAgIHJlcXVlc3RTdGFja3RyYWNlLm1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2U7XG4gICAgdGhpcy5yZXNwb25zZUJvZHkgPSByZXNwb25zZUJvZHk7XG4gICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgIHRoaXMuc3RhY2sgPSBgU3RhY2t0cmFjZSBmb3Igb3V0Z29pbmcgcmVxdWVzdDpcXG4ke3JlcXVlc3RTdGFja3RyYWNlLnN0YWNrfVxcblN0YWNrdHJhY2UgZm9yIGluY29taW5nIHJlc3BvbnNlOlxcbiR7dGhpcy5zdGFja31gO1xuICB9XG4gIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgcmVzcG9uc2VCb2R5OiBzdHJpbmcgfCBGZXRjaFJlc3BvbnNlSnNvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hDb25maWcgZXh0ZW5kcyBPbWl0PFJlcXVlc3RJbml0LCAnYm9keScgfCAnaGVhZGVycyc+IHtcbiAgaGVhZGVycz86IEZldGNoSGVhZGVycztcbiAgYm9keT86IEZldGNoQm9keSB8IHN0cmluZztcbn1cblxudHlwZSBSZXNwb25zZUJvZHkgPSBzdHJpbmcgfCBGZXRjaFJlc3BvbnNlSnNvbjtcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaEhlYWRlcnMge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudWxsO1xufVxuXG5pbnRlcmZhY2UgRmV0Y2hCb2R5IHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoUmVzcG9uc2VKc29uIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuIl0sIm5hbWVzIjpbIk9ic2VydmFibGUiLCJpc1BsYWluT2JqZWN0IiwiZ2V0Q29uZmlnIiwibmF2aWdhdGUiLCJjbGVhckhpc3RvcnkiLCJyZXN0QmFzZVVybCIsImZoaXJCYXNlVXJsIiwic2Vzc2lvbkVuZHBvaW50IiwibWFrZVVybCIsInBhdGgiLCJzdGFydHNXaXRoIiwid2luZG93Iiwib3Blbm1yc0Jhc2UiLCJvcGVubXJzRmV0Y2giLCJmZXRjaEluaXQiLCJFcnJvciIsInVybCIsImhlYWRlcnMiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsIkFjY2VwdCIsInVybFVybCIsIlVSTCIsImxvY2F0aW9uIiwidG9TdHJpbmciLCJzZWFyY2hQYXJhbXMiLCJoYXMiLCJzZXQiLCJyZXF1ZXN0U3RhY2t0cmFjZSIsImZldGNoIiwidGhlbiIsInIiLCJyZXNwb25zZSIsInJlZGlyZWN0QXV0aEZhaWx1cmUiLCJvayIsInN0YXR1cyIsImRhdGEiLCJjbG9uZSIsInRleHQiLCJyZXNwb25zZVRleHQiLCJwYXJzZSIsImVyciIsImVuYWJsZWQiLCJlcnJvcnMiLCJpbmNsdWRlcyIsInRvIiwicmVzb2x2ZVByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc3BvbnNlQm9keSIsIk9wZW5tcnNGZXRjaEVycm9yIiwib3Blbm1yc09ic2VydmFibGVGZXRjaCIsImFib3J0Q29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsInNpZ25hbCIsIm9ic2VydmVyIiwiaGFzUmVzcG9uc2UiLCJuZXh0IiwiY29tcGxldGUiLCJlcnJvciIsImFib3J0IiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJzdGFjayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/openmrs-fetch.ts\n");
6339
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenmrsFetchError: () => (/* binding */ OpenmrsFetchError),\n/* harmony export */ fhirBaseUrl: () => (/* binding */ fhirBaseUrl),\n/* harmony export */ makeUrl: () => (/* binding */ makeUrl),\n/* harmony export */ openmrsFetch: () => (/* binding */ openmrsFetch),\n/* harmony export */ openmrsObservableFetch: () => (/* binding */ openmrsObservableFetch),\n/* harmony export */ restBaseUrl: () => (/* binding */ restBaseUrl),\n/* harmony export */ sessionEndpoint: () => (/* binding */ sessionEndpoint)\n/* harmony export */ });\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es/isPlainObject */ \"../../../node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var _openmrs_esm_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-navigation/src/index */ \"../../framework/esm-navigation/src/index.ts\");\n/** @module @category API */ function _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function construct(Parent, args, Class) {\n var a = [\n null\n ];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _set_prototype_of(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\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 _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrap_native_super = function wrapNativeSuper(Class) {\n if (Class === null || !_is_native_function(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _set_prototype_of(Wrapper, Class);\n };\n return _wrap_native_super(Class);\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n };\n return(g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, 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(_)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\nvar restBaseUrl = \"/ws/rest/v1\";\nvar fhirBaseUrl = \"/ws/fhir2/R4\";\nvar sessionEndpoint = \"\".concat(restBaseUrl, \"/session\");\n/**\n * Append `path` to the OpenMRS SPA base.\n *\n * #### Example\n *\n * ```ts\n * makeUrl('/foo/bar');\n * // => '/openmrs/foo/bar'\n * ```\n */ function makeUrl(path) {\n if (path && path.startsWith(\"http\")) {\n return path;\n } else if (path[0] !== \"/\") {\n // ensure path starts with /\n path = \"/\" + path;\n }\n return window.openmrsBase + path;\n}\n/**\n * The openmrsFetch function is a wrapper around the\n * [browser's built-in fetch function](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch),\n * with extra handling for OpenMRS-specific API behaviors, such as\n * request headers, authentication, authorization, and the API urls.\n *\n * @param path A string url to make the request to. Note that the\n * openmrs base url (by default `/openmrs`) will be automatically\n * prepended to the URL, so there is no need to include it.\n * @param fetchInit A [fetch init object](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).\n * Note that the `body` property does not need to be `JSON.stringify()`ed\n * because openmrsFetch will do that for you.\n * @returns A [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n * that resolves with a [Response object](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n * Note that the openmrs version of the Response object has already\n * downloaded the HTTP response body as json, and has an additional\n * `data` property with the HTTP response json as a javascript object.\n *\n * #### Example\n * ```js\n * import { openmrsFetch } from '@openmrs/esm-api'\n * const abortController = new AbortController();\n * openmrsFetch('/ws/rest/v1/session', {signal: abortController.signal})\n * .then(response => {\n * console.log(response.data.authenticated)\n * })\n * .catch(err => {\n * console.error(err.status);\n * })\n * abortController.abort();\n * openmrsFetch('/ws/rest/v1/session', {\n * method: 'POST',\n * body: {\n * username: 'hi',\n * password: 'there',\n * }\n * })\n * ```\n *\n * #### Cancellation\n *\n * To cancel a network request, use an\n * [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort).\n * It is best practice to cancel your network requests when the user\n * navigates away from a page while the request is pending request, to\n * free up memory and network resources and to prevent race conditions.\n *\n * @category API\n */ function openmrsFetch(path) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof path !== \"string\") {\n throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");\n }\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");\n }\n // @ts-ignore\n if (!window.openmrsBase) {\n throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");\n }\n // Prefix the url with the openmrs spa base\n var url = makeUrl(path);\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */ if ((0,lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\n /* Add a request header to tell the server to respond with json,\n * since frontend code almost always wants json and the OpenMRS\n * server won't give you json unless you explicitly ask for it.\n * If a different Accept header is preferred, pass it into the fetchInit.\n * If no Accept header is desired, pass it in explicitly as null.\n */ if (typeof fetchInit.headers.Accept === \"undefined\") {\n fetchInit.headers.Accept = \"application/json\";\n }\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\n /* This tells the OpenMRS REST API not to return a WWW-Authenticate\n * header. Returning that header is useful when using the API, but\n * not from a UI.\n */ if (path.startsWith(restBaseUrl) && typeof fetchInit.headers[\"Disable-WWW-Authenticate\"] === \"undefined\") {\n fetchInit.headers[\"Disable-WWW-Authenticate\"] = \"true\";\n }\n if (path.startsWith(fhirBaseUrl)) {\n var urlUrl = new URL(url, window.location.toString());\n if (!urlUrl.searchParams.has(\"_summary\")) {\n urlUrl.searchParams.set(\"_summary\", \"data\");\n url = urlUrl.toString();\n }\n }\n /* We capture the stacktrace before making the request, so that if an error occurs we can\n * log a full stacktrace that includes the code that made the request and handled the response\n * Otherwise, we could run into situations where the stacktrace doesn't even show which code\n * called @openmrs/api.\n */ var requestStacktrace = Error();\n return window.fetch(url, fetchInit).then(function() {\n var _ref = _async_to_generator(function(r) {\n var response, redirectAuthFailure;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n response = r;\n if (!response.ok) return [\n 3,\n 1\n ];\n if (response.status === 204) {\n /* HTTP 204 - No Content\n * We should not try to download the empty response as json. Instead,\n * we return null since there is no response body.\n */ response.data = null;\n return [\n 2,\n response\n ];\n } else {\n // HTTP 200s - The request succeeded\n return [\n 2,\n response.clone().text().then(function(responseText) {\n try {\n if (responseText) {\n response.data = JSON.parse(responseText);\n }\n } catch (err) {\n // Server didn't respond with json\n }\n return response;\n })\n ];\n }\n return [\n 3,\n 3\n ];\n case 1:\n return [\n 4,\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)(\"@openmrs/esm-api\")\n ];\n case 2:\n redirectAuthFailure = _state.sent().redirectAuthFailure;\n if (url === makeUrl(sessionEndpoint) && response.status === 403 || redirectAuthFailure.enabled && redirectAuthFailure.errors.includes(response.status)) {\n (0,_openmrs_esm_navigation__WEBPACK_IMPORTED_MODULE_2__.clearHistory)();\n (0,_openmrs_esm_navigation__WEBPACK_IMPORTED_MODULE_2__.navigate)({\n to: redirectAuthFailure.url\n });\n /* We sometimes don't really want this promise to resolve since there's no response data,\n * nor do we want it to reject because that would trigger error handling. We instead\n * want it to remain in pending status while the navigation occurs.\n */ return [\n 2,\n redirectAuthFailure.resolvePromise ? Promise.resolve() : new Promise(function() {})\n ];\n } else {\n // Attempt to download a response body, if it has one\n return [\n 2,\n response.clone().text().then(function(responseText) {\n var responseBody = responseText;\n try {\n responseBody = JSON.parse(responseText);\n } catch (err) {\n // Server didn't respond with json, so just go with the response text string\n }\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, responseBody, requestStacktrace);\n }, function(err) {\n /* We weren't able to download a response body for this error.\n * Time to just give the best possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n })\n ];\n }\n _state.label = 3;\n case 3:\n return [\n 2\n ];\n }\n });\n });\n return function(r) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n/**\n * The openmrsObservableFetch function is a wrapper around openmrsFetch\n * that returns an [Observable](https://rxjs-dev.firebaseapp.com/guide/observable)\n * instead of a promise. It exists in case using an Observable is\n * preferred or more convenient than a promise.\n *\n * @param url See [[openmrsFetch]]\n * @param fetchInit See [[openmrsFetch]]\n * @returns An Observable that produces exactly one Response object.\n * The response object is exactly the same as for [[openmrsFetch]].\n *\n * #### Example\n *\n * ```js\n * import { openmrsObservableFetch } from '@openmrs/esm-api'\n * const subscription = openmrsObservableFetch('/ws/rest/v1/session').subscribe(\n * response => console.log(response.data),\n * err => {throw err},\n * () => console.log('finished')\n * )\n * subscription.unsubscribe()\n * ```\n *\n * #### Cancellation\n *\n * To cancel the network request, simply call `subscription.unsubscribe();`\n *\n * @category API\n */ function openmrsObservableFetch(url) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to openmrsObservableFetch must be either omitted or an object\");\n }\n var abortController = new AbortController();\n fetchInit.signal = abortController.signal;\n return new rxjs__WEBPACK_IMPORTED_MODULE_0__.Observable(function(observer) {\n var hasResponse = false;\n openmrsFetch(url, fetchInit).then(function(response) {\n hasResponse = true;\n observer.next(response);\n observer.complete();\n }, function(err) {\n hasResponse = true;\n observer.error(err);\n });\n return function() {\n if (!hasResponse) {\n abortController.abort();\n }\n };\n });\n}\nvar OpenmrsFetchError = /*#__PURE__*/ function(Error1) {\n \"use strict\";\n _inherits(OpenmrsFetchError, Error1);\n var _super = _create_super(OpenmrsFetchError);\n function OpenmrsFetchError(url, response, responseBody, requestStacktrace) {\n _class_call_check(this, OpenmrsFetchError);\n var _this;\n _this = _super.call(this);\n _define_property(_assert_this_initialized(_this), \"response\", void 0);\n _define_property(_assert_this_initialized(_this), \"responseBody\", void 0);\n _this.message = \"Server responded with \".concat(response.status, \" (\").concat(response.statusText, \") for url \").concat(url, \". Check err.responseBody or network tab in dev tools for more info\");\n requestStacktrace.message = _this.message;\n _this.responseBody = responseBody;\n _this.response = response;\n _this.stack = \"Stacktrace for outgoing request:\\n\".concat(requestStacktrace.stack, \"\\nStacktrace for incoming response:\\n\").concat(_this.stack);\n return _this;\n }\n return OpenmrsFetchError;\n}(_wrap_native_super(Error));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL29wZW5tcnMtZmV0Y2gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNRO0FBQ2tCO0FBQ0o7QUFDRztBQUNjO0FBRzFELElBQU1LLGNBQWMsY0FBYztBQUVsQyxJQUFNQyxjQUFjLGVBQWU7QUFFbkMsSUFBTUMsa0JBQWtCLEdBQWUsT0FBWkYsYUFBWSxZQUFVO0FBRXhEOzs7Ozs7Ozs7Q0FTQyxHQUNNLFNBQVNHLFFBQVFDLElBQVksRUFBRTtJQUNwQyxJQUFJQSxRQUFRQSxLQUFLQyxVQUFVLENBQUMsU0FBUztRQUNuQyxPQUFPRDtJQUNULE9BQU8sSUFBSUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLO1FBQzFCLDRCQUE0QjtRQUM1QkEsT0FBTyxNQUFNQTtJQUNmLENBQUM7SUFFRCxPQUFPRSxPQUFPQyxXQUFXLEdBQUdIO0FBQzlCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0RDLEdBQ00sU0FBU0ksYUFBc0JKLElBQVksRUFBMEQ7UUFBeERLLFlBQUFBLGlFQUF5QixDQUFDLENBQUM7SUFDN0UsSUFBSSxPQUFPTCxTQUFTLFVBQVU7UUFDNUIsTUFBTU0sTUFBTSxtRkFBbUY7SUFDakcsQ0FBQztJQUVELElBQUksT0FBT0QsY0FBYyxVQUFVO1FBQ2pDLE1BQU1DLE1BQU0sdUZBQXVGO0lBQ3JHLENBQUM7SUFFRCxhQUFhO0lBQ2IsSUFBSSxDQUFDSixPQUFPQyxXQUFXLEVBQUU7UUFDdkIsTUFBTUcsTUFDSixtSUFDQTtJQUNKLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsSUFBSUMsTUFBY1IsUUFBUUM7SUFFMUIsbUNBQW1DO0lBQ25DLElBQUksQ0FBQ0ssVUFBVUcsT0FBTyxFQUFFO1FBQ3RCSCxVQUFVRyxPQUFPLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O0dBRUMsR0FDRCxJQUFJaEIsbUVBQWFBLENBQUNhLFVBQVVJLElBQUksR0FBRztRQUNqQ0osVUFBVUksSUFBSSxHQUFHQyxLQUFLQyxTQUFTLENBQUNOLFVBQVVJLElBQUk7SUFDaEQsQ0FBQztJQUVEOzs7OztHQUtDLEdBQ0QsSUFBSSxPQUFPSixVQUFVRyxPQUFPLENBQUNJLE1BQU0sS0FBSyxhQUFhO1FBQ25EUCxVQUFVRyxPQUFPLENBQUNJLE1BQU0sR0FBRztJQUM3QixDQUFDO0lBRUQsSUFBSVAsVUFBVUcsT0FBTyxDQUFDSSxNQUFNLEtBQUssSUFBSSxFQUFFO1FBQ3JDLE9BQU9QLFVBQVVHLE9BQU8sQ0FBQ0ksTUFBTTtJQUNqQyxDQUFDO0lBRUQ7OztHQUdDLEdBQ0QsSUFBSVosS0FBS0MsVUFBVSxDQUFDTCxnQkFBZ0IsT0FBT1MsVUFBVUcsT0FBTyxDQUFDLDJCQUEyQixLQUFLLGFBQWE7UUFDeEdILFVBQVVHLE9BQU8sQ0FBQywyQkFBMkIsR0FBRztJQUNsRCxDQUFDO0lBRUQsSUFBSVIsS0FBS0MsVUFBVSxDQUFDSixjQUFjO1FBQ2hDLElBQU1nQixTQUFTLElBQUlDLElBQUlQLEtBQUtMLE9BQU9hLFFBQVEsQ0FBQ0MsUUFBUTtRQUNwRCxJQUFJLENBQUNILE9BQU9JLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLGFBQWE7WUFDeENMLE9BQU9JLFlBQVksQ0FBQ0UsR0FBRyxDQUFDLFlBQVk7WUFDcENaLE1BQU1NLE9BQU9HLFFBQVE7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztHQUlDLEdBQ0QsSUFBTUksb0JBQW9CZDtJQUUxQixPQUFPSixPQUFPbUIsS0FBSyxDQUFDZCxLQUFLRixXQUEwQmlCLElBQUk7bUJBQUMsNkJBQU9DLEdBQU07Z0JBQzdEQyxVQW1DSUM7Ozs7d0JBbkNKRCxXQUFXRDs2QkFDYkMsU0FBU0UsRUFBRSxFQUFYRjs7Ozt3QkFDRixJQUFJQSxTQUFTRyxNQUFNLEtBQUssS0FBSzs0QkFDM0I7OztTQUdDLEdBQ0RILFNBQVNJLElBQUksR0FBRyxJQUFJOzRCQUNwQjs7Z0NBQU9KOzt3QkFDVCxPQUFPOzRCQUNMLG9DQUFvQzs0QkFDcEM7O2dDQUFPQSxTQUNKSyxLQUFLLEdBQ0xDLElBQUksR0FDSlIsSUFBSSxDQUFDLFNBQUNTLGNBQWlCO29DQUN0QixJQUFJO3dDQUNGLElBQUlBLGNBQWM7NENBQ2hCUCxTQUFTSSxJQUFJLEdBQUdsQixLQUFLc0IsS0FBSyxDQUFDRDt3Q0FDN0IsQ0FBQztvQ0FDSCxFQUFFLE9BQU9FLEtBQUs7b0NBQ1osa0NBQWtDO29DQUNwQztvQ0FDQSxPQUFPVDtnQ0FDVDs7d0JBQ0osQ0FBQzs7Ozs7O3dCQVcrQjs7NEJBQU0vQiw4REFBU0EsQ0FBQzs7O3dCQUF4Q2dDLHNCQUF3QixjQUF4QkE7d0JBRVIsSUFDRSxRQUFTMUIsUUFBUUQsb0JBQW9CMEIsU0FBU0csTUFBTSxLQUFLLE9BQ3hERixvQkFBb0JTLE9BQU8sSUFBSVQsb0JBQW9CVSxNQUFNLENBQUNDLFFBQVEsQ0FBQ1osU0FBU0csTUFBTSxHQUNuRjs0QkFDQWhDLHFFQUFZQTs0QkFDWkQsaUVBQVFBLENBQUM7Z0NBQUUyQyxJQUFJWixvQkFBb0JsQixHQUFHOzRCQUFDOzRCQUV2Qzs7O1NBR0MsR0FDRDs7Z0NBQU9rQixvQkFBb0JhLGNBQWMsR0FDcENDLFFBQVFDLE9BQU8sS0FDaEIsSUFBSUQsUUFBdUIsV0FBTSxDQUFDLEVBQUU7O3dCQUMxQyxPQUFPOzRCQUNMLHFEQUFxRDs0QkFDckQ7O2dDQUFPZixTQUNKSyxLQUFLLEdBQ0xDLElBQUksR0FDSlIsSUFBSSxDQUNILFNBQUNTLGNBQWlCO29DQUNoQixJQUFJVSxlQUFlVjtvQ0FDbkIsSUFBSTt3Q0FDRlUsZUFBZS9CLEtBQUtzQixLQUFLLENBQUNEO29DQUM1QixFQUFFLE9BQU9FLEtBQUs7b0NBQ1osNEVBQTRFO29DQUM5RTtvQ0FFQTs7ZUFFQyxHQUNELE1BQU0sSUFBSVMsa0JBQWtCbkMsS0FBS2lCLFVBQVVpQixjQUFjckIsbUJBQW1CO2dDQUM5RSxHQUNBLFNBQUNhLEtBQVE7b0NBQ1A7O2VBRUMsR0FDRCxNQUFNLElBQUlTLGtCQUFrQm5DLEtBQUtpQixVQUFVLElBQUksRUFBRUosbUJBQW1CO2dDQUN0RTs7d0JBRU4sQ0FBQzs7Ozs7Ozs7UUFFTDt3QkFoRitERzs7OztBQWlGakUsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEJDLEdBQ00sU0FBU29CLHVCQUEwQnBDLEdBQVcsRUFBK0I7UUFBN0JGLFlBQUFBLGlFQUF5QixDQUFDLENBQUM7SUFDaEYsSUFBSSxPQUFPQSxjQUFjLFVBQVU7UUFDakMsTUFBTUMsTUFBTSxxRkFBcUY7SUFDbkcsQ0FBQztJQUVELElBQU1zQyxrQkFBa0IsSUFBSUM7SUFFNUJ4QyxVQUFVeUMsTUFBTSxHQUFHRixnQkFBZ0JFLE1BQU07SUFFekMsT0FBTyxJQUFJdkQsNENBQVVBLENBQW1CLFNBQUN3RCxVQUFhO1FBQ3BELElBQUlDLGNBQWMsS0FBSztRQUV2QjVDLGFBQWFHLEtBQUtGLFdBQVdpQixJQUFJLENBQy9CLFNBQUNFLFVBQWE7WUFDWndCLGNBQWMsSUFBSTtZQUNsQkQsU0FBU0UsSUFBSSxDQUFDekI7WUFDZHVCLFNBQVNHLFFBQVE7UUFDbkIsR0FDQSxTQUFDakIsS0FBUTtZQUNQZSxjQUFjLElBQUk7WUFDbEJELFNBQVNJLEtBQUssQ0FBQ2xCO1FBQ2pCO1FBR0YsT0FBTyxXQUFNO1lBQ1gsSUFBSSxDQUFDZSxhQUFhO2dCQUNoQkosZ0JBQWdCUSxLQUFLO1lBQ3ZCLENBQUM7UUFDSDtJQUNGO0FBQ0YsQ0FBQztBQUVNLHNDQWFKOztjQWJVVjsrQkFBQUE7YUFBQUEsa0JBQ0NuQyxHQUFXLEVBQUVpQixRQUFrQixFQUFFaUIsWUFBaUMsRUFBRXJCLGlCQUF3QjtnQ0FEN0ZzQjs7O1FBU1hsQixrREFBQUEsWUFBQUEsS0FBQUE7UUFDQWlCLGtEQUFBQSxnQkFBQUEsS0FBQUE7UUFQRSxNQUFLWSxPQUFPLEdBQUcseUJBQTZDN0IsT0FBcEJBLFNBQVNHLE1BQU0sRUFBQyxNQUFvQ3BCLE9BQWhDaUIsU0FBUzhCLFVBQVUsRUFBQyxjQUFnQixPQUFKL0MsS0FBSTtRQUNoR2Esa0JBQWtCaUMsT0FBTyxHQUFHLE1BQUtBLE9BQU87UUFDeEMsTUFBS1osWUFBWSxHQUFHQTtRQUNwQixNQUFLakIsUUFBUSxHQUFHQTtRQUNoQixNQUFLK0IsS0FBSyxHQUFHLHFDQUFvRyxPQUEvRG5DLGtCQUFrQm1DLEtBQUssRUFBQyx5Q0FBa0QsT0FBWCxNQUFLQSxLQUFLOzs7V0FQbEhiO3FCQUEwQnBDLFFBV3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWFwaS9zcmMvb3Blbm1ycy1mZXRjaC50cz9kZWEwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCBpc1BsYWluT2JqZWN0IGZyb20gJ2xvZGFzaC1lcy9pc1BsYWluT2JqZWN0JztcbmltcG9ydCB7IGdldENvbmZpZyB9IGZyb20gJ0BvcGVubXJzL2VzbS1jb25maWcnO1xuaW1wb3J0IHsgbmF2aWdhdGUgfSBmcm9tICdAb3Blbm1ycy9lc20tbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBjbGVhckhpc3RvcnkgfSBmcm9tICdAb3Blbm1ycy9lc20tbmF2aWdhdGlvbi9zcmMvaW5kZXgnO1xuaW1wb3J0IHR5cGUgeyBGZXRjaFJlc3BvbnNlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCByZXN0QmFzZVVybCA9ICcvd3MvcmVzdC92MSc7XG5cbmV4cG9ydCBjb25zdCBmaGlyQmFzZVVybCA9ICcvd3MvZmhpcjIvUjQnO1xuXG5leHBvcnQgY29uc3Qgc2Vzc2lvbkVuZHBvaW50ID0gYCR7cmVzdEJhc2VVcmx9L3Nlc3Npb25gO1xuXG4vKipcbiAqIEFwcGVuZCBgcGF0aGAgdG8gdGhlIE9wZW5NUlMgU1BBIGJhc2UuXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIG1ha2VVcmwoJy9mb28vYmFyJyk7XG4gKiAvLyA9PiAnL29wZW5tcnMvZm9vL2JhcidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZVVybChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHBhdGggJiYgcGF0aC5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfSBlbHNlIGlmIChwYXRoWzBdICE9PSAnLycpIHtcbiAgICAvLyBlbnN1cmUgcGF0aCBzdGFydHMgd2l0aCAvXG4gICAgcGF0aCA9ICcvJyArIHBhdGg7XG4gIH1cblxuICByZXR1cm4gd2luZG93Lm9wZW5tcnNCYXNlICsgcGF0aDtcbn1cblxuLyoqXG4gKiBUaGUgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBbYnJvd3NlcidzIGJ1aWx0LWluIGZldGNoIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRmV0Y2hfQVBJL1VzaW5nX0ZldGNoKSxcbiAqIHdpdGggZXh0cmEgaGFuZGxpbmcgZm9yIE9wZW5NUlMtc3BlY2lmaWMgQVBJIGJlaGF2aW9ycywgc3VjaCBhc1xuICogcmVxdWVzdCBoZWFkZXJzLCBhdXRoZW50aWNhdGlvbiwgYXV0aG9yaXphdGlvbiwgYW5kIHRoZSBBUEkgdXJscy5cbiAqXG4gKiBAcGFyYW0gcGF0aCBBIHN0cmluZyB1cmwgdG8gbWFrZSB0aGUgcmVxdWVzdCB0by4gTm90ZSB0aGF0IHRoZVxuICogICBvcGVubXJzIGJhc2UgdXJsIChieSBkZWZhdWx0IGAvb3Blbm1yc2ApIHdpbGwgYmUgYXV0b21hdGljYWxseVxuICogICBwcmVwZW5kZWQgdG8gdGhlIFVSTCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIGl0LlxuICogQHBhcmFtIGZldGNoSW5pdCBBIFtmZXRjaCBpbml0IG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUvZmV0Y2gjU3ludGF4KS5cbiAqICAgTm90ZSB0aGF0IHRoZSBgYm9keWAgcHJvcGVydHkgZG9lcyBub3QgbmVlZCB0byBiZSBgSlNPTi5zdHJpbmdpZnkoKWBlZFxuICogICBiZWNhdXNlIG9wZW5tcnNGZXRjaCB3aWxsIGRvIHRoYXQgZm9yIHlvdS5cbiAqIEByZXR1cm5zIEEgW1Byb21pc2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1Byb21pc2UpXG4gKiAgIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIFtSZXNwb25zZSBvYmplY3RdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNwb25zZSkuXG4gKiAgIE5vdGUgdGhhdCB0aGUgb3Blbm1ycyB2ZXJzaW9uIG9mIHRoZSBSZXNwb25zZSBvYmplY3QgaGFzIGFscmVhZHlcbiAqICAgZG93bmxvYWRlZCB0aGUgSFRUUCByZXNwb25zZSBib2R5IGFzIGpzb24sIGFuZCBoYXMgYW4gYWRkaXRpb25hbFxuICogICBgZGF0YWAgcHJvcGVydHkgd2l0aCB0aGUgSFRUUCByZXNwb25zZSBqc29uIGFzIGEgamF2YXNjcmlwdCBvYmplY3QuXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgb3Blbm1yc0ZldGNoIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSdcbiAqIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAqIG9wZW5tcnNGZXRjaCgnL3dzL3Jlc3QvdjEvc2Vzc2lvbicsIHtzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWx9KVxuICogICAudGhlbihyZXNwb25zZSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YS5hdXRoZW50aWNhdGVkKVxuICogICB9KVxuICogICAuY2F0Y2goZXJyID0+IHtcbiAqICAgICBjb25zb2xlLmVycm9yKGVyci5zdGF0dXMpO1xuICogICB9KVxuICogYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gKiBvcGVubXJzRmV0Y2goJy93cy9yZXN0L3YxL3Nlc3Npb24nLCB7XG4gKiAgIG1ldGhvZDogJ1BPU1QnLFxuICogICBib2R5OiB7XG4gKiAgICAgdXNlcm5hbWU6ICdoaScsXG4gKiAgICAgcGFzc3dvcmQ6ICd0aGVyZScsXG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiAjIyMjIENhbmNlbGxhdGlvblxuICpcbiAqIFRvIGNhbmNlbCBhIG5ldHdvcmsgcmVxdWVzdCwgdXNlIGFuXG4gKiBbQWJvcnRDb250cm9sbGVyXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQWJvcnRDb250cm9sbGVyL2Fib3J0KS5cbiAqIEl0IGlzIGJlc3QgcHJhY3RpY2UgdG8gY2FuY2VsIHlvdXIgbmV0d29yayByZXF1ZXN0cyB3aGVuIHRoZSB1c2VyXG4gKiBuYXZpZ2F0ZXMgYXdheSBmcm9tIGEgcGFnZSB3aGlsZSB0aGUgcmVxdWVzdCBpcyBwZW5kaW5nIHJlcXVlc3QsIHRvXG4gKiBmcmVlIHVwIG1lbW9yeSBhbmQgbmV0d29yayByZXNvdXJjZXMgYW5kIHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zLlxuICpcbiAqIEBjYXRlZ29yeSBBUElcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNGZXRjaDxUID0gYW55PihwYXRoOiBzdHJpbmcsIGZldGNoSW5pdDogRmV0Y2hDb25maWcgPSB7fSk6IFByb21pc2U8RmV0Y2hSZXNwb25zZTxUPj4ge1xuICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJUaGUgZmlyc3QgYXJndW1lbnQgdG8gQG9wZW5tcnMvYXBpJ3Mgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIG11c3QgYmUgYSB1cmwgc3RyaW5nXCIpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIEBvcGVubXJzL2FwaSdzIG9wZW5tcnNGZXRjaCBmdW5jdGlvbiBtdXN0IGJlIGEgcGxhaW4gb2JqZWN0LlwiKTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaWYgKCF3aW5kb3cub3Blbm1yc0Jhc2UpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIFwiQG9wZW5tcnMvYXBpIGlzIHJ1bm5pbmcgaW4gYSBicm93c2VyIHRoYXQgZG9lc24ndCBoYXZlIHdpbmRvdy5vcGVubXJzQmFzZSwgd2hpY2ggaXMgcHJvdmlkZWQgYnkgb3Blbm1ycy1tb2R1bGUtc3BhJ3MgSFRNTCBmaWxlLlwiLFxuICAgICk7XG4gIH1cblxuICAvLyBQcmVmaXggdGhlIHVybCB3aXRoIHRoZSBvcGVubXJzIHNwYSBiYXNlXG4gIGxldCB1cmw6IHN0cmluZyA9IG1ha2VVcmwocGF0aCk7XG5cbiAgLy8gV2UncmUgZ29pbmcgdG8gbmVlZCBzb21lIGhlYWRlcnNcbiAgaWYgKCFmZXRjaEluaXQuaGVhZGVycykge1xuICAgIGZldGNoSW5pdC5oZWFkZXJzID0ge307XG4gIH1cblxuICAvKiBBdXRvbWF0aWNhbGx5IHN0cmluZ2lmeSBqYXZhc2NyaXB0IG9iamVjdHMgYmVpbmcgc2VudCBpbiB0aGVcbiAgICogcmVxdWVzdCBib2R5LlxuICAgKi9cbiAgaWYgKGlzUGxhaW5PYmplY3QoZmV0Y2hJbml0LmJvZHkpKSB7XG4gICAgZmV0Y2hJbml0LmJvZHkgPSBKU09OLnN0cmluZ2lmeShmZXRjaEluaXQuYm9keSk7XG4gIH1cblxuICAvKiBBZGQgYSByZXF1ZXN0IGhlYWRlciB0byB0ZWxsIHRoZSBzZXJ2ZXIgdG8gcmVzcG9uZCB3aXRoIGpzb24sXG4gICAqIHNpbmNlIGZyb250ZW5kIGNvZGUgYWxtb3N0IGFsd2F5cyB3YW50cyBqc29uIGFuZCB0aGUgT3Blbk1SU1xuICAgKiBzZXJ2ZXIgd29uJ3QgZ2l2ZSB5b3UganNvbiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgYXNrIGZvciBpdC5cbiAgICogSWYgYSBkaWZmZXJlbnQgQWNjZXB0IGhlYWRlciBpcyBwcmVmZXJyZWQsIHBhc3MgaXQgaW50byB0aGUgZmV0Y2hJbml0LlxuICAgKiBJZiBubyBBY2NlcHQgaGVhZGVyIGlzIGRlc2lyZWQsIHBhc3MgaXQgaW4gZXhwbGljaXRseSBhcyBudWxsLlxuICAgKi9cbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgZmV0Y2hJbml0LmhlYWRlcnMuQWNjZXB0ID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICB9XG5cbiAgaWYgKGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQ7XG4gIH1cblxuICAvKiBUaGlzIHRlbGxzIHRoZSBPcGVuTVJTIFJFU1QgQVBJIG5vdCB0byByZXR1cm4gYSBXV1ctQXV0aGVudGljYXRlXG4gICAqIGhlYWRlci4gUmV0dXJuaW5nIHRoYXQgaGVhZGVyIGlzIHVzZWZ1bCB3aGVuIHVzaW5nIHRoZSBBUEksIGJ1dFxuICAgKiBub3QgZnJvbSBhIFVJLlxuICAgKi9cbiAgaWYgKHBhdGguc3RhcnRzV2l0aChyZXN0QmFzZVVybCkgJiYgdHlwZW9mIGZldGNoSW5pdC5oZWFkZXJzWydEaXNhYmxlLVdXVy1BdXRoZW50aWNhdGUnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBmZXRjaEluaXQuaGVhZGVyc1snRGlzYWJsZS1XV1ctQXV0aGVudGljYXRlJ10gPSAndHJ1ZSc7XG4gIH1cblxuICBpZiAocGF0aC5zdGFydHNXaXRoKGZoaXJCYXNlVXJsKSkge1xuICAgIGNvbnN0IHVybFVybCA9IG5ldyBVUkwodXJsLCB3aW5kb3cubG9jYXRpb24udG9TdHJpbmcoKSk7XG4gICAgaWYgKCF1cmxVcmwuc2VhcmNoUGFyYW1zLmhhcygnX3N1bW1hcnknKSkge1xuICAgICAgdXJsVXJsLnNlYXJjaFBhcmFtcy5zZXQoJ19zdW1tYXJ5JywgJ2RhdGEnKTtcbiAgICAgIHVybCA9IHVybFVybC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qIFdlIGNhcHR1cmUgdGhlIHN0YWNrdHJhY2UgYmVmb3JlIG1ha2luZyB0aGUgcmVxdWVzdCwgc28gdGhhdCBpZiBhbiBlcnJvciBvY2N1cnMgd2UgY2FuXG4gICAqIGxvZyBhIGZ1bGwgc3RhY2t0cmFjZSB0aGF0IGluY2x1ZGVzIHRoZSBjb2RlIHRoYXQgbWFkZSB0aGUgcmVxdWVzdCBhbmQgaGFuZGxlZCB0aGUgcmVzcG9uc2VcbiAgICogT3RoZXJ3aXNlLCB3ZSBjb3VsZCBydW4gaW50byBzaXR1YXRpb25zIHdoZXJlIHRoZSBzdGFja3RyYWNlIGRvZXNuJ3QgZXZlbiBzaG93IHdoaWNoIGNvZGVcbiAgICogY2FsbGVkIEBvcGVubXJzL2FwaS5cbiAgICovXG4gIGNvbnN0IHJlcXVlc3RTdGFja3RyYWNlID0gRXJyb3IoKTtcblxuICByZXR1cm4gd2luZG93LmZldGNoKHVybCwgZmV0Y2hJbml0IGFzIFJlcXVlc3RJbml0KS50aGVuKGFzeW5jIChyKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSByIGFzIEZldGNoUmVzcG9uc2U8VD47XG4gICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgLyogSFRUUCAyMDQgLSBObyBDb250ZW50XG4gICAgICAgICAqIFdlIHNob3VsZCBub3QgdHJ5IHRvIGRvd25sb2FkIHRoZSBlbXB0eSByZXNwb25zZSBhcyBqc29uLiBJbnN0ZWFkLFxuICAgICAgICAgKiB3ZSByZXR1cm4gbnVsbCBzaW5jZSB0aGVyZSBpcyBubyByZXNwb25zZSBib2R5LlxuICAgICAgICAgKi9cbiAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG51bGwgYXMgdW5rbm93biBhcyBUO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBIVFRQIDIwMHMgLSBUaGUgcmVxdWVzdCBzdWNjZWVkZWRcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAudGV4dCgpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlVGV4dCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlVGV4dCkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEgPSBKU09OLnBhcnNlKHJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZGlkbid0IHJlc3BvbmQgd2l0aCBqc29uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qIEhUVFAgcmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBpbiAyMDBzLiBVc3VhbGx5IHRoaXMgd2lsbCBtZWFuXG4gICAgICAgKiBlaXRoZXIgSFRUUCA0MDBzIChiYWQgcmVxdWVzdCBmcm9tIGJyb3dzZXIpIG9yIEhUVFAgNTAwcyAoc2VydmVyIGVycm9yKVxuICAgICAgICogT3VyIGdvYWwgaXMgdG8gY29tZSB1cCB3aXRoIGJlc3QgcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZVxuICAgICAgICogdG8gaGVscCBkZXZlbG9wZXJzIHVuZGVyc3RhbmQgdGhlIHByb2JsZW0gYW5kIGRlYnVnXG4gICAgICAgKi9cblxuICAgICAgLypcbiAgICAgICAqUmVkaXJlY3QgdG8gZ2l2ZW4gdXJsIHdoZW4gcmVkaXJlY3Qgb24gYXV0aCBmYWlsdXJlIGlzIGVuYWJsZWRcbiAgICAgICAqL1xuICAgICAgY29uc3QgeyByZWRpcmVjdEF1dGhGYWlsdXJlIH0gPSBhd2FpdCBnZXRDb25maWcoJ0BvcGVubXJzL2VzbS1hcGknKTtcblxuICAgICAgaWYgKFxuICAgICAgICAodXJsID09PSBtYWtlVXJsKHNlc3Npb25FbmRwb2ludCkgJiYgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDMpIHx8XG4gICAgICAgIChyZWRpcmVjdEF1dGhGYWlsdXJlLmVuYWJsZWQgJiYgcmVkaXJlY3RBdXRoRmFpbHVyZS5lcnJvcnMuaW5jbHVkZXMocmVzcG9uc2Uuc3RhdHVzKSlcbiAgICAgICkge1xuICAgICAgICBjbGVhckhpc3RvcnkoKTtcbiAgICAgICAgbmF2aWdhdGUoeyB0bzogcmVkaXJlY3RBdXRoRmFpbHVyZS51cmwgfSk7XG5cbiAgICAgICAgLyogV2Ugc29tZXRpbWVzIGRvbid0IHJlYWxseSB3YW50IHRoaXMgcHJvbWlzZSB0byByZXNvbHZlIHNpbmNlIHRoZXJlJ3Mgbm8gcmVzcG9uc2UgZGF0YSxcbiAgICAgICAgICogbm9yIGRvIHdlIHdhbnQgaXQgdG8gcmVqZWN0IGJlY2F1c2UgdGhhdCB3b3VsZCB0cmlnZ2VyIGVycm9yIGhhbmRsaW5nLiBXZSBpbnN0ZWFkXG4gICAgICAgICAqIHdhbnQgaXQgdG8gcmVtYWluIGluIHBlbmRpbmcgc3RhdHVzIHdoaWxlIHRoZSBuYXZpZ2F0aW9uIG9jY3Vycy5cbiAgICAgICAgICovXG4gICAgICAgIHJldHVybiByZWRpcmVjdEF1dGhGYWlsdXJlLnJlc29sdmVQcm9taXNlXG4gICAgICAgICAgPyAoUHJvbWlzZS5yZXNvbHZlKCkgYXMgdW5rbm93biBhcyBQcm9taXNlPEZldGNoUmVzcG9uc2U+KVxuICAgICAgICAgIDogbmV3IFByb21pc2U8RmV0Y2hSZXNwb25zZT4oKCkgPT4ge30pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBkb3dubG9hZCBhIHJlc3BvbnNlIGJvZHksIGlmIGl0IGhhcyBvbmVcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAudGV4dCgpXG4gICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAocmVzcG9uc2VUZXh0KSA9PiB7XG4gICAgICAgICAgICAgIGxldCByZXNwb25zZUJvZHkgPSByZXNwb25zZVRleHQ7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5ID0gSlNPTi5wYXJzZShyZXNwb25zZVRleHQpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZGlkbid0IHJlc3BvbmQgd2l0aCBqc29uLCBzbyBqdXN0IGdvIHdpdGggdGhlIHJlc3BvbnNlIHRleHQgc3RyaW5nXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvKiBNYWtlIHRoZSBmZXRjaCBwcm9taXNlIGdvIGludG8gXCJyZWplY3RlZFwiIHN0YXR1cywgd2l0aCB0aGUgYmVzdFxuICAgICAgICAgICAgICAgKiBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgdGhyb3cgbmV3IE9wZW5tcnNGZXRjaEVycm9yKHVybCwgcmVzcG9uc2UsIHJlc3BvbnNlQm9keSwgcmVxdWVzdFN0YWNrdHJhY2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgLyogV2Ugd2VyZW4ndCBhYmxlIHRvIGRvd25sb2FkIGEgcmVzcG9uc2UgYm9keSBmb3IgdGhpcyBlcnJvci5cbiAgICAgICAgICAgICAgICogVGltZSB0byBqdXN0IGdpdmUgdGhlIGJlc3QgcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIHRocm93IG5ldyBPcGVubXJzRmV0Y2hFcnJvcih1cmwsIHJlc3BvbnNlLCBudWxsLCByZXF1ZXN0U3RhY2t0cmFjZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBUaGUgb3Blbm1yc09ic2VydmFibGVGZXRjaCBmdW5jdGlvbiBpcyBhIHdyYXBwZXIgYXJvdW5kIG9wZW5tcnNGZXRjaFxuICogdGhhdCByZXR1cm5zIGFuIFtPYnNlcnZhYmxlXShodHRwczovL3J4anMtZGV2LmZpcmViYXNlYXBwLmNvbS9ndWlkZS9vYnNlcnZhYmxlKVxuICogaW5zdGVhZCBvZiBhIHByb21pc2UuIEl0IGV4aXN0cyBpbiBjYXNlIHVzaW5nIGFuIE9ic2VydmFibGUgaXNcbiAqIHByZWZlcnJlZCBvciBtb3JlIGNvbnZlbmllbnQgdGhhbiBhIHByb21pc2UuXG4gKlxuICogQHBhcmFtIHVybCBTZWUgW1tvcGVubXJzRmV0Y2hdXVxuICogQHBhcmFtIGZldGNoSW5pdCBTZWUgW1tvcGVubXJzRmV0Y2hdXVxuICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IHByb2R1Y2VzIGV4YWN0bHkgb25lIFJlc3BvbnNlIG9iamVjdC5cbiAqIFRoZSByZXNwb25zZSBvYmplY3QgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyBmb3IgW1tvcGVubXJzRmV0Y2hdXS5cbiAqXG4gKiAjIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgb3Blbm1yc09ic2VydmFibGVGZXRjaCB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknXG4gKiBjb25zdCBzdWJzY3JpcHRpb24gPSBvcGVubXJzT2JzZXJ2YWJsZUZldGNoKCcvd3MvcmVzdC92MS9zZXNzaW9uJykuc3Vic2NyaWJlKFxuICogICByZXNwb25zZSA9PiBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhKSxcbiAqICAgZXJyID0+IHt0aHJvdyBlcnJ9LFxuICogICAoKSA9PiBjb25zb2xlLmxvZygnZmluaXNoZWQnKVxuICogKVxuICogc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAqIGBgYFxuICpcbiAqICMjIyMgQ2FuY2VsbGF0aW9uXG4gKlxuICogVG8gY2FuY2VsIHRoZSBuZXR3b3JrIHJlcXVlc3QsIHNpbXBseSBjYWxsIGBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtgXG4gKlxuICogQGNhdGVnb3J5IEFQSVxuICovXG5leHBvcnQgZnVuY3Rpb24gb3Blbm1yc09ic2VydmFibGVGZXRjaDxUPih1cmw6IHN0cmluZywgZmV0Y2hJbml0OiBGZXRjaENvbmZpZyA9IHt9KSB7XG4gIGlmICh0eXBlb2YgZmV0Y2hJbml0ICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IEVycm9yKCdUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2ggbXVzdCBiZSBlaXRoZXIgb21pdHRlZCBvciBhbiBvYmplY3QnKTtcbiAgfVxuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBmZXRjaEluaXQuc2lnbmFsID0gYWJvcnRDb250cm9sbGVyLnNpZ25hbDtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGU8RmV0Y2hSZXNwb25zZTxUPj4oKG9ic2VydmVyKSA9PiB7XG4gICAgbGV0IGhhc1Jlc3BvbnNlID0gZmFsc2U7XG5cbiAgICBvcGVubXJzRmV0Y2godXJsLCBmZXRjaEluaXQpLnRoZW4oXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaGFzUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3BvbnNlKTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0sXG4gICAgICAoZXJyKSA9PiB7XG4gICAgICAgIGhhc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIWhhc1Jlc3BvbnNlKSB7XG4gICAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgT3Blbm1yc0ZldGNoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCByZXNwb25zZTogUmVzcG9uc2UsIHJlc3BvbnNlQm9keTogUmVzcG9uc2VCb2R5IHwgbnVsbCwgcmVxdWVzdFN0YWNrdHJhY2U6IEVycm9yKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBgU2VydmVyIHJlc3BvbmRlZCB3aXRoICR7cmVzcG9uc2Uuc3RhdHVzfSAoJHtyZXNwb25zZS5zdGF0dXNUZXh0fSkgZm9yIHVybCAke3VybH0uIENoZWNrIGVyci5yZXNwb25zZUJvZHkgb3IgbmV0d29yayB0YWIgaW4gZGV2IHRvb2xzIGZvciBtb3JlIGluZm9gO1xuICAgIHJlcXVlc3RTdGFja3RyYWNlLm1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2U7XG4gICAgdGhpcy5yZXNwb25zZUJvZHkgPSByZXNwb25zZUJvZHk7XG4gICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgIHRoaXMuc3RhY2sgPSBgU3RhY2t0cmFjZSBmb3Igb3V0Z29pbmcgcmVxdWVzdDpcXG4ke3JlcXVlc3RTdGFja3RyYWNlLnN0YWNrfVxcblN0YWNrdHJhY2UgZm9yIGluY29taW5nIHJlc3BvbnNlOlxcbiR7dGhpcy5zdGFja31gO1xuICB9XG4gIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgcmVzcG9uc2VCb2R5OiBzdHJpbmcgfCBGZXRjaFJlc3BvbnNlSnNvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hDb25maWcgZXh0ZW5kcyBPbWl0PFJlcXVlc3RJbml0LCAnYm9keScgfCAnaGVhZGVycyc+IHtcbiAgaGVhZGVycz86IEZldGNoSGVhZGVycztcbiAgYm9keT86IEZldGNoQm9keSB8IHN0cmluZztcbn1cblxudHlwZSBSZXNwb25zZUJvZHkgPSBzdHJpbmcgfCBGZXRjaFJlc3BvbnNlSnNvbjtcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaEhlYWRlcnMge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudWxsO1xufVxuXG5pbnRlcmZhY2UgRmV0Y2hCb2R5IHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoUmVzcG9uc2VKc29uIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuIl0sIm5hbWVzIjpbIk9ic2VydmFibGUiLCJpc1BsYWluT2JqZWN0IiwiZ2V0Q29uZmlnIiwibmF2aWdhdGUiLCJjbGVhckhpc3RvcnkiLCJyZXN0QmFzZVVybCIsImZoaXJCYXNlVXJsIiwic2Vzc2lvbkVuZHBvaW50IiwibWFrZVVybCIsInBhdGgiLCJzdGFydHNXaXRoIiwid2luZG93Iiwib3Blbm1yc0Jhc2UiLCJvcGVubXJzRmV0Y2giLCJmZXRjaEluaXQiLCJFcnJvciIsInVybCIsImhlYWRlcnMiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsIkFjY2VwdCIsInVybFVybCIsIlVSTCIsImxvY2F0aW9uIiwidG9TdHJpbmciLCJzZWFyY2hQYXJhbXMiLCJoYXMiLCJzZXQiLCJyZXF1ZXN0U3RhY2t0cmFjZSIsImZldGNoIiwidGhlbiIsInIiLCJyZXNwb25zZSIsInJlZGlyZWN0QXV0aEZhaWx1cmUiLCJvayIsInN0YXR1cyIsImRhdGEiLCJjbG9uZSIsInRleHQiLCJyZXNwb25zZVRleHQiLCJwYXJzZSIsImVyciIsImVuYWJsZWQiLCJlcnJvcnMiLCJpbmNsdWRlcyIsInRvIiwicmVzb2x2ZVByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc3BvbnNlQm9keSIsIk9wZW5tcnNGZXRjaEVycm9yIiwib3Blbm1yc09ic2VydmFibGVGZXRjaCIsImFib3J0Q29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsInNpZ25hbCIsIm9ic2VydmVyIiwiaGFzUmVzcG9uc2UiLCJuZXh0IiwiY29tcGxldGUiLCJlcnJvciIsImFib3J0IiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJzdGFjayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/openmrs-fetch.ts\n");
6340
6340
 
6341
6341
  /***/ }),
6342
6342
 
@@ -8306,7 +8306,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8306
8306
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8307
8307
 
8308
8308
  "use strict";
8309
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupPaths: () => (/* binding */ setupPaths),\n/* harmony export */ setupUtils: () => (/* binding */ setupUtils)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_styleguide_dist_openmrs_esm_styleguide_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-styleguide/dist/openmrs-esm-styleguide.css */ \"../../framework/esm-styleguide/dist/openmrs-esm-styleguide.css\");\n/* harmony import */ var import_map_overrides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! import-map-overrides */ \"../../../node_modules/import-map-overrides/dist/import-map-overrides.js\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__ = __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_2___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__);\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 _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n };\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, 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(_)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\nfunction setupPaths(config) {\n var error = false;\n if (!config.apiUrl) {\n console.error(\"initializeSpa() was called without supplying an apiUrl. This means that the application cannot communicate with the backend.\");\n error = true;\n }\n if (!config.spaPath) {\n console.error(\"initializeSpa() was called without supplying a spaPath. This means that the application cannot properly generate urls.\");\n error = true;\n }\n if (error) {\n throw new Error(\"One or more required properties in the basic configuration of the application was missing and the application cannot be rendered. Please see the browser console for details.\");\n }\n window.openmrsBase = config.apiUrl;\n window.spaBase = config.spaPath;\n window.spaEnv = config.env || \"production\";\n window.spaVersion = \"5.4.1-pre.1539-20240216\";\n var spaBaseWithSlash = window.spaBase.endsWith(\"/\") ? window.spaBase : window.spaBase + \"/\";\n window.getOpenmrsSpaBase = function() {\n return spaBaseWithSlash;\n };\n}\nfunction setupUtils() {\n window.copyText = function(source) {\n var sel = window.getSelection();\n if (sel) {\n var r = document.createRange();\n r.selectNode(source);\n sel.removeAllRanges();\n sel.addRange(r);\n document.execCommand(\"copy\");\n sel.removeAllRanges();\n }\n };\n}\nfunction wireSpaPaths() {\n var baseElement = document.createElement(\"base\");\n var baseHref = window.getOpenmrsSpaBase();\n baseElement.href = baseHref;\n document.head.appendChild(baseElement);\n __webpack_require__.p = baseHref;\n}\n/**\n * Initializes the OpenMRS Frontend App Shell.\n * @param config The global configuration to apply.\n */ function initializeSpa(config) {\n setupUtils();\n setupPaths(config);\n wireSpaPaths();\n return Promise.resolve(__webpack_require__.I(\"default\")).then(/*#__PURE__*/ _async_to_generator(function() {\n var _config_configUrls, configUrls, _config_offline, offline, run;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _config_configUrls = config.configUrls, configUrls = _config_configUrls === void 0 ? [] : _config_configUrls, _config_offline = config.offline, offline = _config_offline === void 0 ? true : _config_offline;\n return [\n 4,\n Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguageDetector-bec0ef\"), __webpack_require__.e(\"src_run_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./run */ \"./src/run.ts\"))\n ];\n case 1:\n run = _state.sent().run;\n return [\n 2,\n run(configUrls, offline)\n ];\n }\n });\n }));\n}\nwindow.initializeSpa = initializeSpa;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFpRTtBQUNuQztBQUNFO0FBR3pCLFNBQVNBLFdBQVdDLE1BQWlCLEVBQUU7SUFDNUMsSUFBSUMsUUFBUSxLQUFLO0lBQ2pCLElBQUksQ0FBQ0QsT0FBT0UsTUFBTSxFQUFFO1FBQ2xCQyxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQ0QsT0FBT0ksT0FBTyxFQUFFO1FBQ25CRCxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUlBLE9BQU87UUFDVCxNQUFNLElBQUlJLE1BQ1IsaUxBQ0E7SUFDSixDQUFDO0lBRURDLE9BQU9DLFdBQVcsR0FBR1AsT0FBT0UsTUFBTTtJQUNsQ0ksT0FBT0UsT0FBTyxHQUFHUixPQUFPSSxPQUFPO0lBQy9CRSxPQUFPRyxNQUFNLEdBQUdULE9BQU9VLEdBQUcsSUFBSTtJQUM5QkosT0FBT0ssVUFBVSxHQUFHQyx5QkFBeUI7SUFDN0MsSUFBTUUsbUJBQW1CUixPQUFPRSxPQUFPLENBQUNPLFFBQVEsQ0FBQyxPQUFPVCxPQUFPRSxPQUFPLEdBQUdGLE9BQU9FLE9BQU8sR0FBRyxHQUFHO0lBQzdGRixPQUFPVSxpQkFBaUIsR0FBRztlQUFNRjs7QUFDbkMsQ0FBQztBQUVNLFNBQVNHLGFBQWE7SUFDM0JYLE9BQU9ZLFFBQVEsR0FBRyxTQUFDQyxRQUF3QjtRQUN6QyxJQUFNQyxNQUFNZCxPQUFPZSxZQUFZO1FBRS9CLElBQUlELEtBQUs7WUFDUCxJQUFNRSxJQUFJQyxTQUFTQyxXQUFXO1lBQzlCRixFQUFFRyxVQUFVLENBQUNOO1lBQ2JDLElBQUlNLGVBQWU7WUFDbkJOLElBQUlPLFFBQVEsQ0FBQ0w7WUFDYkMsU0FBU0ssV0FBVyxDQUFDO1lBQ3JCUixJQUFJTSxlQUFlO1FBQ3JCLENBQUM7SUFDSDtBQUNGLENBQUM7QUFFRCxTQUFTRyxlQUFlO0lBQ3RCLElBQU1DLGNBQWNQLFNBQVNRLGFBQWEsQ0FBQztJQUMzQyxJQUFNQyxXQUFXMUIsT0FBT1UsaUJBQWlCO0lBQ3pDYyxZQUFZRyxJQUFJLEdBQUdEO0lBQ25CVCxTQUFTVyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0w7SUFDMUJNLHFCQUF1QkEsR0FBR0o7QUFDNUI7QUFFQTs7O0NBR0MsR0FDRCxTQUFTSyxjQUFjckMsTUFBaUIsRUFBRTtJQUN4Q2lCO0lBQ0FsQixXQUFXQztJQUNYNkI7SUFDQSxPQUFPUyxRQUFRQyxPQUFPLENBQUNDLHFCQUF3QkEsQ0FBQyxZQUFZQyxJQUFJLGVBQUMsK0JBQVk7Z0NBQ25FQyw2QkFBaUJDLFNBQ2pCQzs7Ozt5Q0FEb0M1QyxPQUFwQzBDLFlBQUFBLHdGQUFvQzFDLE9BQW5CMkMsU0FBQUEsdUNBQVUsSUFBSTtvQkFDdkI7O3dCQUFNLGlSQUFPOzs7b0JBQXJCQyxNQUFRLGNBQVJBO29CQUNSOzt3QkFBT0EsSUFBSUYsWUFBWUM7Ozs7SUFDekI7QUFDRjtBQUVBckMsT0FBTytCLGFBQWEsR0FBR0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2luZGV4LnRzP2FkYTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9kaXN0L29wZW5tcnMtZXNtLXN0eWxlZ3VpZGUuY3NzJztcbmltcG9ydCAnaW1wb3J0LW1hcC1vdmVycmlkZXMnO1xuaW1wb3J0ICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcbmltcG9ydCB0eXBlIHsgU3BhQ29uZmlnIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBQYXRocyhjb25maWc6IFNwYUNvbmZpZykge1xuICBsZXQgZXJyb3IgPSBmYWxzZTtcbiAgaWYgKCFjb25maWcuYXBpVXJsKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdpbml0aWFsaXplU3BhKCkgd2FzIGNhbGxlZCB3aXRob3V0IHN1cHBseWluZyBhbiBhcGlVcmwuIFRoaXMgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGNvbW11bmljYXRlIHdpdGggdGhlIGJhY2tlbmQuJyxcbiAgICApO1xuICAgIGVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICghY29uZmlnLnNwYVBhdGgpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ2luaXRpYWxpemVTcGEoKSB3YXMgY2FsbGVkIHdpdGhvdXQgc3VwcGx5aW5nIGEgc3BhUGF0aC4gVGhpcyBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgcHJvcGVybHkgZ2VuZXJhdGUgdXJscy4nLFxuICAgICk7XG4gICAgZXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ09uZSBvciBtb3JlIHJlcXVpcmVkIHByb3BlcnRpZXMgaW4gdGhlIGJhc2ljIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uIHdhcyBtaXNzaW5nIGFuZCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGJlIHJlbmRlcmVkLiBQbGVhc2Ugc2VlIHRoZSBicm93c2VyIGNvbnNvbGUgZm9yIGRldGFpbHMuJyxcbiAgICApO1xuICB9XG5cbiAgd2luZG93Lm9wZW5tcnNCYXNlID0gY29uZmlnLmFwaVVybDtcbiAgd2luZG93LnNwYUJhc2UgPSBjb25maWcuc3BhUGF0aDtcbiAgd2luZG93LnNwYUVudiA9IGNvbmZpZy5lbnYgfHwgJ3Byb2R1Y3Rpb24nO1xuICB3aW5kb3cuc3BhVmVyc2lvbiA9IHByb2Nlc3MuZW52LkJVSUxEX1ZFUlNJT047XG4gIGNvbnN0IHNwYUJhc2VXaXRoU2xhc2ggPSB3aW5kb3cuc3BhQmFzZS5lbmRzV2l0aCgnLycpID8gd2luZG93LnNwYUJhc2UgOiB3aW5kb3cuc3BhQmFzZSArICcvJztcbiAgd2luZG93LmdldE9wZW5tcnNTcGFCYXNlID0gKCkgPT4gc3BhQmFzZVdpdGhTbGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwVXRpbHMoKSB7XG4gIHdpbmRvdy5jb3B5VGV4dCA9IChzb3VyY2U6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHNlbCkge1xuICAgICAgY29uc3QgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByLnNlbGVjdE5vZGUoc291cmNlKTtcbiAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbC5hZGRSYW5nZShyKTtcbiAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiB3aXJlU3BhUGF0aHMoKSB7XG4gIGNvbnN0IGJhc2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpO1xuICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpO1xuICBiYXNlRWxlbWVudC5ocmVmID0gYmFzZUhyZWY7XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYmFzZUVsZW1lbnQpO1xuICBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyA9IGJhc2VIcmVmO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBPcGVuTVJTIEZyb250ZW5kIEFwcCBTaGVsbC5cbiAqIEBwYXJhbSBjb25maWcgVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIHRvIGFwcGx5LlxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplU3BhKGNvbmZpZzogU3BhQ29uZmlnKSB7XG4gIHNldHVwVXRpbHMoKTtcbiAgc2V0dXBQYXRocyhjb25maWcpO1xuICB3aXJlU3BhUGF0aHMoKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX18oJ2RlZmF1bHQnKSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb25maWdVcmxzID0gW10sIG9mZmxpbmUgPSB0cnVlIH0gPSBjb25maWc7XG4gICAgY29uc3QgeyBydW4gfSA9IGF3YWl0IGltcG9ydCgnLi9ydW4nKTtcbiAgICByZXR1cm4gcnVuKGNvbmZpZ1VybHMsIG9mZmxpbmUpO1xuICB9KTtcbn1cblxud2luZG93LmluaXRpYWxpemVTcGEgPSBpbml0aWFsaXplU3BhO1xuIl0sIm5hbWVzIjpbInNldHVwUGF0aHMiLCJjb25maWciLCJlcnJvciIsImFwaVVybCIsImNvbnNvbGUiLCJzcGFQYXRoIiwiRXJyb3IiLCJ3aW5kb3ciLCJvcGVubXJzQmFzZSIsInNwYUJhc2UiLCJzcGFFbnYiLCJlbnYiLCJzcGFWZXJzaW9uIiwicHJvY2VzcyIsIkJVSUxEX1ZFUlNJT04iLCJzcGFCYXNlV2l0aFNsYXNoIiwiZW5kc1dpdGgiLCJnZXRPcGVubXJzU3BhQmFzZSIsInNldHVwVXRpbHMiLCJjb3B5VGV4dCIsInNvdXJjZSIsInNlbCIsImdldFNlbGVjdGlvbiIsInIiLCJkb2N1bWVudCIsImNyZWF0ZVJhbmdlIiwic2VsZWN0Tm9kZSIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwiZXhlY0NvbW1hbmQiLCJ3aXJlU3BhUGF0aHMiLCJiYXNlRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJiYXNlSHJlZiIsImhyZWYiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJfX3dlYnBhY2tfcHVibGljX3BhdGhfXyIsImluaXRpYWxpemVTcGEiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9fd2VicGFja19pbml0X3NoYXJpbmdfXyIsInRoZW4iLCJjb25maWdVcmxzIiwib2ZmbGluZSIsInJ1biJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.ts\n");
8309
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupPaths: () => (/* binding */ setupPaths),\n/* harmony export */ setupUtils: () => (/* binding */ setupUtils)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_styleguide_dist_openmrs_esm_styleguide_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-styleguide/dist/openmrs-esm-styleguide.css */ \"../../framework/esm-styleguide/dist/openmrs-esm-styleguide.css\");\n/* harmony import */ var import_map_overrides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! import-map-overrides */ \"../../../node_modules/import-map-overrides/dist/import-map-overrides.js\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__ = __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_2___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__);\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 _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n };\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, 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(_)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\nfunction setupPaths(config) {\n var error = false;\n if (!config.apiUrl) {\n console.error(\"initializeSpa() was called without supplying an apiUrl. This means that the application cannot communicate with the backend.\");\n error = true;\n }\n if (!config.spaPath) {\n console.error(\"initializeSpa() was called without supplying a spaPath. This means that the application cannot properly generate urls.\");\n error = true;\n }\n if (error) {\n throw new Error(\"One or more required properties in the basic configuration of the application was missing and the application cannot be rendered. Please see the browser console for details.\");\n }\n window.openmrsBase = config.apiUrl;\n window.spaBase = config.spaPath;\n window.spaEnv = config.env || \"production\";\n window.spaVersion = \"5.4.1-pre.1550-20240220\";\n var spaBaseWithSlash = window.spaBase.endsWith(\"/\") ? window.spaBase : window.spaBase + \"/\";\n window.getOpenmrsSpaBase = function() {\n return spaBaseWithSlash;\n };\n}\nfunction setupUtils() {\n window.copyText = function(source) {\n var sel = window.getSelection();\n if (sel) {\n var r = document.createRange();\n r.selectNode(source);\n sel.removeAllRanges();\n sel.addRange(r);\n document.execCommand(\"copy\");\n sel.removeAllRanges();\n }\n };\n}\nfunction wireSpaPaths() {\n var baseElement = document.createElement(\"base\");\n var baseHref = window.getOpenmrsSpaBase();\n baseElement.href = baseHref;\n document.head.appendChild(baseElement);\n __webpack_require__.p = baseHref;\n}\n/**\n * Initializes the OpenMRS Frontend App Shell.\n * @param config The global configuration to apply.\n */ function initializeSpa(config) {\n setupUtils();\n setupPaths(config);\n wireSpaPaths();\n return Promise.resolve(__webpack_require__.I(\"default\")).then(/*#__PURE__*/ _async_to_generator(function() {\n var _config_configUrls, configUrls, _config_offline, offline, run;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _config_configUrls = config.configUrls, configUrls = _config_configUrls === void 0 ? [] : _config_configUrls, _config_offline = config.offline, offline = _config_offline === void 0 ? true : _config_offline;\n return [\n 4,\n Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguageDetector-bec0ef\"), __webpack_require__.e(\"src_run_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./run */ \"./src/run.ts\"))\n ];\n case 1:\n run = _state.sent().run;\n return [\n 2,\n run(configUrls, offline)\n ];\n }\n });\n }));\n}\nwindow.initializeSpa = initializeSpa;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFpRTtBQUNuQztBQUNFO0FBR3pCLFNBQVNBLFdBQVdDLE1BQWlCLEVBQUU7SUFDNUMsSUFBSUMsUUFBUSxLQUFLO0lBQ2pCLElBQUksQ0FBQ0QsT0FBT0UsTUFBTSxFQUFFO1FBQ2xCQyxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQ0QsT0FBT0ksT0FBTyxFQUFFO1FBQ25CRCxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUlBLE9BQU87UUFDVCxNQUFNLElBQUlJLE1BQ1IsaUxBQ0E7SUFDSixDQUFDO0lBRURDLE9BQU9DLFdBQVcsR0FBR1AsT0FBT0UsTUFBTTtJQUNsQ0ksT0FBT0UsT0FBTyxHQUFHUixPQUFPSSxPQUFPO0lBQy9CRSxPQUFPRyxNQUFNLEdBQUdULE9BQU9VLEdBQUcsSUFBSTtJQUM5QkosT0FBT0ssVUFBVSxHQUFHQyx5QkFBeUI7SUFDN0MsSUFBTUUsbUJBQW1CUixPQUFPRSxPQUFPLENBQUNPLFFBQVEsQ0FBQyxPQUFPVCxPQUFPRSxPQUFPLEdBQUdGLE9BQU9FLE9BQU8sR0FBRyxHQUFHO0lBQzdGRixPQUFPVSxpQkFBaUIsR0FBRztlQUFNRjs7QUFDbkMsQ0FBQztBQUVNLFNBQVNHLGFBQWE7SUFDM0JYLE9BQU9ZLFFBQVEsR0FBRyxTQUFDQyxRQUF3QjtRQUN6QyxJQUFNQyxNQUFNZCxPQUFPZSxZQUFZO1FBRS9CLElBQUlELEtBQUs7WUFDUCxJQUFNRSxJQUFJQyxTQUFTQyxXQUFXO1lBQzlCRixFQUFFRyxVQUFVLENBQUNOO1lBQ2JDLElBQUlNLGVBQWU7WUFDbkJOLElBQUlPLFFBQVEsQ0FBQ0w7WUFDYkMsU0FBU0ssV0FBVyxDQUFDO1lBQ3JCUixJQUFJTSxlQUFlO1FBQ3JCLENBQUM7SUFDSDtBQUNGLENBQUM7QUFFRCxTQUFTRyxlQUFlO0lBQ3RCLElBQU1DLGNBQWNQLFNBQVNRLGFBQWEsQ0FBQztJQUMzQyxJQUFNQyxXQUFXMUIsT0FBT1UsaUJBQWlCO0lBQ3pDYyxZQUFZRyxJQUFJLEdBQUdEO0lBQ25CVCxTQUFTVyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0w7SUFDMUJNLHFCQUF1QkEsR0FBR0o7QUFDNUI7QUFFQTs7O0NBR0MsR0FDRCxTQUFTSyxjQUFjckMsTUFBaUIsRUFBRTtJQUN4Q2lCO0lBQ0FsQixXQUFXQztJQUNYNkI7SUFDQSxPQUFPUyxRQUFRQyxPQUFPLENBQUNDLHFCQUF3QkEsQ0FBQyxZQUFZQyxJQUFJLGVBQUMsK0JBQVk7Z0NBQ25FQyw2QkFBaUJDLFNBQ2pCQzs7Ozt5Q0FEb0M1QyxPQUFwQzBDLFlBQUFBLHdGQUFvQzFDLE9BQW5CMkMsU0FBQUEsdUNBQVUsSUFBSTtvQkFDdkI7O3dCQUFNLGlSQUFPOzs7b0JBQXJCQyxNQUFRLGNBQVJBO29CQUNSOzt3QkFBT0EsSUFBSUYsWUFBWUM7Ozs7SUFDekI7QUFDRjtBQUVBckMsT0FBTytCLGFBQWEsR0FBR0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2luZGV4LnRzP2FkYTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9kaXN0L29wZW5tcnMtZXNtLXN0eWxlZ3VpZGUuY3NzJztcbmltcG9ydCAnaW1wb3J0LW1hcC1vdmVycmlkZXMnO1xuaW1wb3J0ICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcbmltcG9ydCB0eXBlIHsgU3BhQ29uZmlnIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBQYXRocyhjb25maWc6IFNwYUNvbmZpZykge1xuICBsZXQgZXJyb3IgPSBmYWxzZTtcbiAgaWYgKCFjb25maWcuYXBpVXJsKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdpbml0aWFsaXplU3BhKCkgd2FzIGNhbGxlZCB3aXRob3V0IHN1cHBseWluZyBhbiBhcGlVcmwuIFRoaXMgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGNvbW11bmljYXRlIHdpdGggdGhlIGJhY2tlbmQuJyxcbiAgICApO1xuICAgIGVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICghY29uZmlnLnNwYVBhdGgpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ2luaXRpYWxpemVTcGEoKSB3YXMgY2FsbGVkIHdpdGhvdXQgc3VwcGx5aW5nIGEgc3BhUGF0aC4gVGhpcyBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgcHJvcGVybHkgZ2VuZXJhdGUgdXJscy4nLFxuICAgICk7XG4gICAgZXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ09uZSBvciBtb3JlIHJlcXVpcmVkIHByb3BlcnRpZXMgaW4gdGhlIGJhc2ljIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uIHdhcyBtaXNzaW5nIGFuZCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGJlIHJlbmRlcmVkLiBQbGVhc2Ugc2VlIHRoZSBicm93c2VyIGNvbnNvbGUgZm9yIGRldGFpbHMuJyxcbiAgICApO1xuICB9XG5cbiAgd2luZG93Lm9wZW5tcnNCYXNlID0gY29uZmlnLmFwaVVybDtcbiAgd2luZG93LnNwYUJhc2UgPSBjb25maWcuc3BhUGF0aDtcbiAgd2luZG93LnNwYUVudiA9IGNvbmZpZy5lbnYgfHwgJ3Byb2R1Y3Rpb24nO1xuICB3aW5kb3cuc3BhVmVyc2lvbiA9IHByb2Nlc3MuZW52LkJVSUxEX1ZFUlNJT047XG4gIGNvbnN0IHNwYUJhc2VXaXRoU2xhc2ggPSB3aW5kb3cuc3BhQmFzZS5lbmRzV2l0aCgnLycpID8gd2luZG93LnNwYUJhc2UgOiB3aW5kb3cuc3BhQmFzZSArICcvJztcbiAgd2luZG93LmdldE9wZW5tcnNTcGFCYXNlID0gKCkgPT4gc3BhQmFzZVdpdGhTbGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwVXRpbHMoKSB7XG4gIHdpbmRvdy5jb3B5VGV4dCA9IChzb3VyY2U6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHNlbCkge1xuICAgICAgY29uc3QgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByLnNlbGVjdE5vZGUoc291cmNlKTtcbiAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbC5hZGRSYW5nZShyKTtcbiAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiB3aXJlU3BhUGF0aHMoKSB7XG4gIGNvbnN0IGJhc2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpO1xuICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpO1xuICBiYXNlRWxlbWVudC5ocmVmID0gYmFzZUhyZWY7XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYmFzZUVsZW1lbnQpO1xuICBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyA9IGJhc2VIcmVmO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBPcGVuTVJTIEZyb250ZW5kIEFwcCBTaGVsbC5cbiAqIEBwYXJhbSBjb25maWcgVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIHRvIGFwcGx5LlxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplU3BhKGNvbmZpZzogU3BhQ29uZmlnKSB7XG4gIHNldHVwVXRpbHMoKTtcbiAgc2V0dXBQYXRocyhjb25maWcpO1xuICB3aXJlU3BhUGF0aHMoKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX18oJ2RlZmF1bHQnKSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb25maWdVcmxzID0gW10sIG9mZmxpbmUgPSB0cnVlIH0gPSBjb25maWc7XG4gICAgY29uc3QgeyBydW4gfSA9IGF3YWl0IGltcG9ydCgnLi9ydW4nKTtcbiAgICByZXR1cm4gcnVuKGNvbmZpZ1VybHMsIG9mZmxpbmUpO1xuICB9KTtcbn1cblxud2luZG93LmluaXRpYWxpemVTcGEgPSBpbml0aWFsaXplU3BhO1xuIl0sIm5hbWVzIjpbInNldHVwUGF0aHMiLCJjb25maWciLCJlcnJvciIsImFwaVVybCIsImNvbnNvbGUiLCJzcGFQYXRoIiwiRXJyb3IiLCJ3aW5kb3ciLCJvcGVubXJzQmFzZSIsInNwYUJhc2UiLCJzcGFFbnYiLCJlbnYiLCJzcGFWZXJzaW9uIiwicHJvY2VzcyIsIkJVSUxEX1ZFUlNJT04iLCJzcGFCYXNlV2l0aFNsYXNoIiwiZW5kc1dpdGgiLCJnZXRPcGVubXJzU3BhQmFzZSIsInNldHVwVXRpbHMiLCJjb3B5VGV4dCIsInNvdXJjZSIsInNlbCIsImdldFNlbGVjdGlvbiIsInIiLCJkb2N1bWVudCIsImNyZWF0ZVJhbmdlIiwic2VsZWN0Tm9kZSIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwiZXhlY0NvbW1hbmQiLCJ3aXJlU3BhUGF0aHMiLCJiYXNlRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJiYXNlSHJlZiIsImhyZWYiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJfX3dlYnBhY2tfcHVibGljX3BhdGhfXyIsImluaXRpYWxpemVTcGEiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9fd2VicGFja19pbml0X3NoYXJpbmdfXyIsInRoZW4iLCJjb25maWdVcmxzIiwib2ZmbGluZSIsInJ1biJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.ts\n");
8310
8310
 
8311
8311
  /***/ }),
8312
8312
 
@@ -12817,8 +12817,8 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
12817
12817
  /******/ var promises = [];
12818
12818
  /******/ switch(name) {
12819
12819
  /******/ case "default": {
12820
- /******/ register("@openmrs/esm-framework/src/internal", "5.4.1-pre.1539", () => (() => (__webpack_require__(/*! ../../framework/esm-framework/src/internal.ts */ "../../framework/esm-framework/src/internal.ts"))), 1);
12821
- /******/ register("@openmrs/esm-framework", "5.4.1-pre.1539", () => (() => (__webpack_require__(/*! ../../framework/esm-framework/src/index.ts */ "../../framework/esm-framework/src/index.ts"))), 1);
12820
+ /******/ register("@openmrs/esm-framework/src/internal", "5.4.1-pre.1550", () => (() => (__webpack_require__(/*! ../../framework/esm-framework/src/internal.ts */ "../../framework/esm-framework/src/internal.ts"))), 1);
12821
+ /******/ register("@openmrs/esm-framework", "5.4.1-pre.1550", () => (() => (__webpack_require__(/*! ../../framework/esm-framework/src/index.ts */ "../../framework/esm-framework/src/index.ts"))), 1);
12822
12822
  /******/ register("dayjs", "1.11.5", () => (() => (__webpack_require__(/*! ../../../node_modules/dayjs/dayjs.min.js */ "../../../node_modules/dayjs/dayjs.min.js"))), 1);
12823
12823
  /******/ register("i18next", "21.10.0", () => (() => (__webpack_require__(/*! ../../../node_modules/i18next/dist/esm/i18next.js */ "../../../node_modules/i18next/dist/esm/i18next.js"))), 1);
12824
12824
  /******/ register("react-dom", "18.2.0", () => (() => (__webpack_require__(/*! ../../../node_modules/react-dom/index.js */ "../../../node_modules/react-dom/index.js"))), 1);