{"version":3,"file":"static/js/11.85b7d51cd83745c28eec.chunk.js","mappings":";uLAgBA,MAmBMA,EAAqBC,GAEnBC,EAAAA,cAACA,EAAAA,SAAc,KACXA,EAAAA,cAACC,EAAAA,KAAI,iBAAKF,EAAWG,yBAChBH,EAAWI,iBACXJ,EAAWK,oBACXL,EAAWM,kBAQtBC,EAAmB,CAACC,EAA8CC,EAA2BC,EACzEC,EAAuCC,EAAmCC,EAA0BC,EAAyBC,EAC7HC,EAAsCC,EAA0BC,KAEtF,MAAM,cAAEC,GAAkBV,EAE1B,OAAII,EACOZ,EAAAA,cAAAA,EAAAA,SAAAA,KAAGY,GAEVL,EACOA,EAAUY,KAAI,CAACC,EAAUC,IAExBrB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,sBAAsBC,IAAKF,GACtCrB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,4BACVF,EAASI,SACVxB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,0BACXR,IAITd,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,4BACVN,EAAiB,KACdS,EAAkBL,EAAUZ,EAAWC,EAAeM,EAAkBE,GAExED,EACQhB,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,sCACXI,EAAuBN,EAAUZ,EAAWC,EAAeM,EAAkBE,GAC7EG,EAASO,QAGhBP,EAASQ,mBACP5B,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,gCACXF,EAASO,QAGd3B,EAAAA,cAAAA,EAAAA,SAAAA,KACKoB,EAASO,SAK9B3B,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,0BACXR,MAMTD,EAEIb,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wBACXtB,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,iBAAiBJ,GAC7BR,GAELV,EAAAA,cAAAA,EAAAA,SAAAA,KAAGW,IAMjBe,EAAyB,CAACN,EAA+BZ,EAA2BC,EAA4CM,EAAsCE,KAAsD,MAE9N,IAAKG,EAASS,gBAAkBpB,IAA8B,QAAb,EAAAW,EAASU,YAAI,aAAb,EAAeN,SAASO,gBAAiBd,EACtF,OAAO,KAEX,MAAM,uBAAEe,EAAsB,uBAAEC,EAAsB,oBAAEC,GAAwB1B,EAE1E2B,EAAkBf,EAASS,cAAcM,gBAGzCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAQtB,EAAmBuB,EAAAA,kBAAAA,eACtDC,GAAyBC,EAAAA,EAAAA,wBAAuBzB,EAAmBqB,GAEzE,OACIpC,EAAAA,cAACA,EAAAA,SAAc,KACVmC,EAAkBnC,EAAAA,cAACyC,EAAAA,OAAM,CAACnB,UAAU,qCAAqCoB,QAN7DC,GAAkDvB,EAASS,eAAiBT,EAASS,cAAce,UAAUC,aAAY,IAMrCb,GAAmC,KACpIhC,EAAAA,cAACyC,EAAAA,OAAM,eAACnB,UAAU,sCAAyCiB,EAAsB,CAAEG,QARtEC,GAAkDvB,EAASS,eAAiBT,EAASS,cAAce,UAAUC,aAAaV,KAQ7BA,EAAkBF,EAAyBC,KAK3JT,EAAoB,CAACL,EAA+BZ,EAA2BC,EAA4CM,EAAsCE,KAAsD,YAEzN,IAAKG,EAASS,gBAAkBpB,IAA8B,QAAb,EAAAW,EAASU,YAAI,aAAb,EAAeN,SAASO,gBAAiBd,EACtF,OAAO,KAGX,MAAM,uBAAEgB,EAAsB,oBAAEC,EAAmB,uBAAEF,GAA2BxB,EAC1EsC,EAAyB,QAAhB,EAAG1B,EAASU,YAAI,OAAU,QAAV,EAAb,EAAeN,gBAAQ,OAAiB,QAAjB,EAAvB,EAAyBuB,uBAAe,WAA3B,EAAb,EAA0CC,KAEtDb,EAAkBf,EAASS,cAAcM,gBACzCU,EAAeF,GAAkDvB,EAASS,eAAiBT,EAASS,cAAce,UAAUC,aAAaV,GAEzIC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAQtB,EAAmBuB,EAAAA,kBAAAA,eACtDC,GAAyBC,EAAAA,EAAAA,wBAAuBzB,EAAmBqB,GAEzE,OACIpC,EAAAA,cAACC,EAAAA,KAAI,iBAAKmB,EAASS,cAAcoB,eAAc,CAAE3B,UAAW,mCAAkCa,EAAkB,SAAW,cACnHnC,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,6BACZtB,EAAAA,cAACyC,EAAAA,OAAM,eAACS,UAAUf,EAAgCb,UAAW,mCAAkCa,EAAkB,mBAAqB,mBAC1HI,EAAsB,CAAEG,QAASG,KAC7C7C,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,sCACZtB,EAAAA,cAAAA,KAAAA,KAAKiC,GACLjC,EAAAA,cAAAA,IAAAA,KAAAA,oDAGRA,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,2BACZtB,EAAAA,cAACyC,EAAAA,OAAM,eAAES,WAAWf,EAAgCb,UAAW,mCAAkCa,EAAkB,mBAAqB,mBAC5HI,EAAsB,CAAEG,QAASG,KAC7C7C,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,sCACZtB,EAAAA,cAAAA,KAAAA,KAAAA,6BACCmC,EACGnC,EAAAA,cAAAA,EAAAA,SAAAA,KACIA,EAAAA,cAAAA,IAAAA,KAAAA,iEACAA,EAAAA,cAAAA,IAAAA,CAAGsB,UAAW,6BAA8BwB,IAGhD9C,EAAAA,cAAAA,IAAAA,KAAAA,uFAGFmC,EAIEnC,EAAAA,cAACyC,EAAAA,OAAM,CAACnB,UAAU,mCAAmCoB,QAhCxDC,GAAkDvB,EAASS,eAAiBT,EAASS,cAAce,UAAUC,aAAY,IAgC1Cb,GAH5EhC,EAAAA,cAACyC,EAAAA,OAAM,eAACnB,UAAW,6BAA4Ba,EAAkB,mBAAqB,mBAC1EI,EAAsB,CAAEG,QAASG,IAAcX,OAajFiB,EAAwB,CAACC,EAAuB5C,KACW,MAA7D,OAAI4C,EAAMC,gBAAkBD,EAAMC,eAAeC,OAAS,EAElDtD,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wBACO,QADe,EACnC8B,EAAMC,sBAAc,aAApB,EAAsBlC,KAAIoC,IAAY,MAExC,OACIvD,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,+BACVkC,EAA4BD,EAAU,GAAGH,EAAM3C,cAAeD,EAAWiD,EAAYF,GAA6D,QAAnD,EAACH,EAAMM,QAAQC,cAAcC,eAAeC,eAAO,aAAlD,EAAoDC,uBACpJxD,EAAiBiD,EAAWH,EAAM5C,UAAW4C,EAAM3C,cAAe2C,EAAM1C,qBAAsB0C,EAAMzC,iBAAkByC,EAAMxC,kBAAmBwC,EAAMvC,qBAO1JuC,EAAMvC,eAENb,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,uBACXtB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wBACXtB,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,iBAAiB8B,EAAM5C,UAAUU,eAC7CkC,EAAM1C,uBAGfV,EAAAA,cAAAA,EAAAA,SAAAA,KAAGoD,EAAMzC,mBAKnB6C,EAA8B,CAACpC,EAA+BX,EAA4CD,EAA0BuD,EAAc9C,KAAiC,MACrL,MAAMkB,EAAkBf,MAAAA,GAAuB,QAAf,EAARA,EAAUS,qBAAa,WAAf,EAAR,EAAyBM,iBAC3C,WAAE6B,EAAU,aAAEC,EAAY,kBAAEC,GAAsB1D,EACxD,IAAI2D,EAKJ,OAHAA,EAAahC,EAAkB6B,EAAYC,EAC3CE,EAAc/C,EAASU,MAAQV,EAASU,KAAKN,SAASO,eAAiBd,EAAwBiD,EAAmBC,EAG9GnE,EAAAA,cAACA,EAAAA,SAAc,KACXA,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,8CACVtB,EAAAA,cAAAA,IAAAA,CAAGsB,UAAW,8CAA8C6C,EAAWC,uBACvEpE,EAAAA,cAAAA,IAAAA,CAAGsB,UAAW,8CAA8C6C,EAAWC,iBAAkBD,GACzFE,EAA2BjD,EAAUZ,EAAWuD,MAM3DN,EAAerC,IACjB,IAAIkD,EAAY,EAKhB,OAJIA,EAAYlD,EAASmD,QAAO,CAACR,EAAOS,KAAQ,MACpC,OAAOT,IAAkB,QAAT,EAAAS,EAAK1C,YAAI,aAAT,EAAWN,SAASiD,WAAY,KAEjD,GACJH,GAGLD,EAA6B,CAACjD,EAA+BZ,EAA0BuD,KAAiB,UAC1G,MAAM5B,EAAkBf,MAAAA,GAAuB,QAAf,EAARA,EAAUS,qBAAa,WAAf,EAAR,EAAyBM,iBAC3C,UAAEuC,EAAS,WAAEC,GAAenE,EAC5BoE,EAASb,EAAQ,EAAIY,EAAaD,EACxC,OACI1E,EAAAA,cAACA,EAAAA,SAAc,KACXA,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,oDACvBa,EAAkBnC,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,uDAAuDF,MAAAA,GAAuB,QAAf,EAARA,EAAUS,qBAAa,WAAf,EAAR,EAAyBgD,eAAgB,KAAMzD,MAAAA,GAAuB,QAAf,EAARA,EAAUS,qBAAa,WAAf,EAAR,EAAyBiD,aAAkB,KAChL9E,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,uDAAqD,IAAGyC,EAAK,IAAGa,EAAM,QAMxF,EA/O4CxB,GACxCpD,EAAAA,cAAAA,MAAAA,OAAAA,OAAAA,CAAKsB,UAAW8B,EAAM9B,UAAWyD,GAAI3B,EAAM2B,IAAQ3B,EAAM4B,uBAAuB5B,IAC3EA,EAAM6B,MACN7B,EAAM8B,kBAAoBpF,EAAkBsD,EAAM8B,kBAClD9B,EAAM+B,sBAAwBhC,EAAsBC,EAAOA,EAAM5C,WAC9DR,EAAAA,cAACC,EAAAA,KAAI,iBAAKmD,EAAMgC,kBACf9E,EAAiB8C,EAAMG,UAAWH,EAAM5C,UAAW4C,EAAM3C,cAAe2C,EAAM1C,qBAAsB0C,EAAMzC,iBAAkByC,EAAMxC,kBACjHwC,EAAMvC,eAAgBuC,EAAMtC,6BAQjDsC,EAAM3C,2FCnBf,MAAM4E,EAAoC,IAKrC,IALsC,QACvCC,EAAO,MACPC,EAAK,aACLC,EAAY,MACZC,GACH,EAEG,OACIzF,EAAAA,cAACC,EAAAA,KAAI,iBAAKqF,GACLC,EACAC,EACAC,IAKPC,EAA8D,IAM/D,IANgE,MACjEC,EAAK,cACLC,EAAa,QACbC,EAAO,eACPC,EAAc,aACdN,GACH,EACG,OACIxF,EAAAA,cAAAA,EAAAA,SAAAA,KACIA,EAAAA,cAACqF,EAAU,iBAAKM,EAAK,CAAEpE,IAAKoE,EAAMpE,OACjCuE,GAAkBA,EAAe3E,KAAK4E,GAE/B/F,EAAAA,cAAAA,EAAAA,SAAAA,KACK+F,KAIZP,GAAgBA,EAAarE,KAAK4E,GAE3B/F,EAAAA,cAAAA,EAAAA,SAAAA,KACK+F,KAIb/F,EAAAA,cAACC,EAAAA,KAAI,iBAAK2F,GACLC,GAAWA,EAAQ1E,KAAK6E,GAEjBhG,EAAAA,cAAAA,EAAAA,SAAAA,KACKgG,QAoGvBC,EAA0C,IAK3C,IAL4C,MAC7CC,EAAK,UACLC,EAAS,KACTC,EAAI,QACJL,GACH,EACG,OACI/F,EAAAA,cAACC,EAAAA,KAAI,iBAAKiG,GACNlG,EAAAA,cAACC,EAAAA,KAAI,iBAAKkG,GACLC,EACAL,KA8BjB,EAxB+C3C,IAE3C,MAAM,OACFiD,EAAM,UACNC,EAAS,QACTC,EAAO,mBACPC,EAAkB,YAClBC,EAAW,QACXC,EAAO,mBACPC,GACAvD,EAEJ,OACIpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKP,GACPC,EAAUO,eAAiB7G,EAAAA,cAACC,EAAAA,KAAI,iBAAKuG,IACrCF,EAAUO,eAAiB7G,EAAAA,cAACiG,EAAa,iBAAKM,IAC/CvG,EAAAA,cAACC,EAAAA,KAAI,iBAAKwG,GACLC,EA5HmC,EAAC,EAOnDtD,KAAS,IAP0C,aACjD0D,EAAY,MACZC,EAAK,kBACLC,EAAiB,QACjBnB,EAAO,aACPL,EAAY,WACZyB,GACH,EACG,OACIjH,EAAAA,cAACC,EAAAA,KAAI,iBAAK6G,GACLC,GAASA,EAAM5F,KAAKqD,GACA,UAAbA,EAAKjD,KAAmByF,EAAkBE,WAGtClH,EAAAA,cAACC,EAAAA,KAAI,iBAAK+G,EAAkBG,4BACxBnH,EAAAA,cAACqF,EAAU,iBAAKb,EAAI,CAAEjD,IAAKiD,EAAKjD,OAChCvB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,uDACXtB,EAAAA,cAAAA,QAAAA,CAAOsB,UAAW,kBACdtB,EAAAA,cAAAA,QAAAA,CAAOoH,UAAU,EAAMC,KAAK,WAAU,eAAc,QAAQC,gBAAgB,EAAOC,KAAK,oBAAoBC,MAAO,SACnHxH,EAAAA,cAAAA,MAAAA,KACIA,EAAAA,cAACyH,EAAAA,GAA0B,CACvBC,KAAMtE,EAAMuE,OAAOC,iBAKnC5H,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wDACXtB,EAAAA,cAACyH,EAAAA,GAA0B,CACvBC,KAAMtE,EAAMuE,OAAOE,gBAEvB7H,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,eACZtB,EAAAA,cAAAA,QAAAA,CAAOsB,UAAW,eACdtB,EAAAA,cAAAA,QAAAA,CAAOoH,UAAU,EAAMC,KAAK,QAAO,eAAc,QAAQC,gBAAgB,EAAOC,KAAK,sBAAsBC,MAAO,SAClHxH,EAAAA,cAAAA,MAAAA,KAAAA,uBAIJA,EAAAA,cAAAA,QAAAA,CAAOsB,UAAW,eACdtB,EAAAA,cAAAA,QAAAA,CAAOoH,UAAU,EAAMC,KAAK,QAAO,eAAc,QAAQC,gBAAgB,EAAOC,KAAK,sBAAsBC,MAAO,UAClHxH,EAAAA,cAAAA,MAAAA,KAAAA,uBAMZA,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wDACXtB,EAAAA,cAACyH,EAAAA,GAA0B,CACvBC,KAAMtE,EAAMuE,OAAOG,mBAEvB9H,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW,eACZtB,EAAAA,cAAAA,QAAAA,CAAOsB,UAAW,eACdtB,EAAAA,cAAAA,QAAAA,CAAOoH,UAAU,EAAMC,KAAK,QAAO,eAAc,QAAQC,gBAAgB,EAAOC,KAAK,yBAAyBC,MAAO,SACrHxH,EAAAA,cAAAA,MAAAA,KAAAA,uBAIJA,EAAAA,cAAAA,QAAAA,CAAOsB,UAAW,eACdtB,EAAAA,cAAAA,QAAAA,CAAOoH,UAAU,EAAMC,KAAK,QAAO,eAAc,QAAQC,gBAAgB,EAAOC,KAAK,yBAAyBC,MAAO,UACrHxH,EAAAA,cAAAA,MAAAA,KAAAA,uBAMZA,EAAAA,cAAC0F,EAAuB,iBAAKsB,KAKrChH,EAAAA,cAACqF,EAAU,iBAAKb,EAAI,CAAEjD,IAAKiD,EAAKjD,SAGvCiE,GAAgBA,EAAarE,KAAI,CAAC4G,EAAwB1G,IAEnDrB,EAAAA,cAACA,EAAAA,SAAc,CAACuB,IAAKF,GAChB0G,KAIZlC,GAAWA,EAAQ1E,KAAI,CAAC6E,EAAyB3E,IAE1CrB,EAAAA,cAACA,EAAAA,SAAc,CAACuB,IAAKF,GAChB2E,KAIZiB,IAuCIe,CAAarB,EAAmBvD,srBCrKjD,MAAM6E,UAAmBjI,EAAAA,UAAzBkI,cAAAA,SAAAA,WACqB,KAAAC,gBAA0B,iBA4CpC,KAAAC,oBAAuBzF,IACtB0F,KAAKjF,MAAMuE,OAAOjB,UAClB2B,KAAKjF,MAAMuE,OAAOjB,QAAQgB,KAAO/E,EAAM2F,OAAOd,QA5C/Ce,oBAEH,MAAM,KAAEC,EAAI,SAAEC,GAAaC,QAAU,GAEjCF,GAAQC,IACRD,EAAKG,qBAAqBF,EAASG,qBACnCH,EAASI,cAIVC,sBAAsBC,GACzB,OAAIA,EAAUpB,OAAOjB,UAAY2B,KAAKjF,MAAMuE,OAAOjB,QAMhDsC,SACH,MAAM,UAAE1H,EAAS,QAAEoF,GAAY2B,KAAKjF,MAAMuE,OAEpCsB,EAAS,OACRZ,KAAKjF,OAAK,IACb8F,WAAY,CACRC,YAAad,KAAKjF,MAClB9B,UAAW8H,GAAAA,CAAWf,KAAKF,gBAAiB7G,IAEhDmF,YAAa,CACTnF,UAAW,GAAG+G,KAAKF,8BAEvBkB,eAAgBrJ,EAAAA,cAAAA,MAAAA,CAAK+E,GAAG,QACxB2B,QAASA,GACL1G,EAAAA,cAACyH,EAAAA,GAAa,eACVnG,UAAW,GAAG+G,KAAKF,4BACfzB,EAAO,CACX4C,UAAW,CAAEC,OAAQlB,KAAKD,oBAAqBxE,eAAgByE,KAAKjF,MAAMM,QAAQ8F,cAK9F,OAAOnB,KAAKjF,MAAMqG,WAAWR,IAUrC,+ECnEA,QAAgB7F,IACZ,MAAM,WAAE8F,EAAU,YAAEzC,EAAW,eAAE4C,EAAc,QAAE3C,GAAYtD,EAE7D,OACIpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKsC,GACRlJ,EAAAA,cAACC,EAAAA,KAAI,iBAAKwG,GACLC,EACA2C,6HCNV,MAAMK,EAA0E,QAAC,YAAEC,GAAa,SACnG3J,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,wCAAwCqI,ICwBnDC,EAAoB,CAACC,EAAwB9I,KAC/C,IAAK8I,GAAgC,IAApBA,EAASvG,OACtB,OAAO,KAEX,MAAMwG,EAAuC,GACvC1H,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStB,EAAmB,IAgB7D,OAfA8I,EAASE,SAAQ,CAACC,EAAM3I,KACpBe,EAAQ6H,cAAcC,MAAQF,EAAKG,SACnC,MAAMC,GAAa5H,EAAAA,EAAAA,wBAAuBzB,EAAmBqB,GACvDiI,EAAoC,CACtCC,UAAWN,EAAKM,UAChBhJ,UAAW,gCACX6I,SAAUH,EAAKG,SACfI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAM,OACNC,qBAAsBP,GAE1BN,EAAcc,KAAKP,MAGhBP,GAGX,EAtCoE,IAA8D,IAA7D,MAAEe,EAAK,iBAAE9J,EAAgB,eAAE6C,EAAc,aAAEkH,GAAc,EAC1H,GAAqB,IAAjBD,EAAMvH,OACN,OAAO,KAEX,MAAMwG,EAAgBF,EAAkBiB,EAAO9J,GAC/C,OACIf,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,kCACVwI,GAAiBA,EAAcxG,OAAS,EACrCtD,EAAAA,cAACyH,EAAAA,GAAc,CAACoD,MAAOf,EAAeR,UAAW,CAAEwB,aAAAA,EAAclH,eAAAA,KACjE,4kBCHhB,MAAMmH,UAA2B/K,EAAAA,cAG7BkI,YAAY9E,GACR4H,MAAM5H,GA6DH,KAAAgF,oBAAuBzF,GAA0C0F,KAAKjF,MAAMuE,OAAOjB,QAAQgB,KAAO/E,EAAM2F,OAAOd,MAE/G,KAAAyD,qBAAwBC,GAAuBvI,IAC9C0F,KAAKjF,MAAMuE,OAAOkD,OAASxC,KAAKjF,MAAMuE,OAAOkD,MAAMK,KACnD7C,KAAKjF,MAAMuE,OAAOkD,MAAMK,GAAWf,SAAWxH,EAAM2F,OAAOd,QAhE/Da,KAAKtH,kBAAmBoK,EAAAA,EAAAA,oBACpB9C,KAAKjF,MAAMM,QAAQ8F,QAAQ4B,kBAC3B/C,KAAKjF,MAAMiI,aACXhD,KAAKjF,MAAMkI,WAIZtC,SAAM,MACT,MAAM,OACFrB,EAAM,KACN7F,EAAI,UACJtB,EACAkD,SACI6H,kBAAkB,eACdC,EAAc,aAGdC,KAGRpD,KAAKjF,OACH,UAAE9B,EAAS,QAAEoF,EAAO,MAAEmE,GAAUlD,GAChC,8BAAE+D,GAAkClL,EAGpCmL,EAAyCH,IADM,QAA3B,EAAA1J,EAAK8J,gBAAgBC,cAAM,aAA3B,EAA6BC,qBAAsB,GACGC,QAAQ,GAAIN,GAEtF9B,EAAcgC,IAAsBK,EAAAA,EAAAA,QAAON,EAA+BC,GAE1E1C,EAAS,OACRZ,KAAKjF,OAAK,IACb9B,UAAAA,EACAyJ,mBAAoB,CAChB5B,YAAad,KAAKjF,MAClB9B,UAAW8H,GAAAA,CAAW,0BAA2BzB,EAAOrG,YAE5DoF,QAASA,GAAWA,EAAQgB,MACxB1H,EAAAA,cAACyH,EAAAA,GAAa,CACVnG,UAAU,mCACV2K,IAAKvF,EAAQuF,KAAO,KACpBvE,KAAMhB,EAAQgB,KACd4B,UAAW,CAAEC,OAAQlB,KAAKD,oBAAqBxE,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAG1FqB,MAAOA,GAASA,EAAMvH,OAAS,GAC3BtD,EAAAA,cAACkM,EAAc,iBACP,CACArB,MAAAA,EACAC,aAAczC,KAAK4C,qBACnBrH,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCzI,iBAAkBsH,KAAKtH,oBAInC4I,YAAaA,GAAe3J,EAAAA,cAAC0J,EAA6B,CAACC,YAAaA,MAG5E,OAAOtB,KAAKjF,MAAMqG,WAAWR,IAYrC,qFC5FA,QAAgB7F,IACZ,MAAM,mBAAE2H,EAAkB,QAAErE,EAAO,YAAEiD,EAAW,MAAEkB,GAAUzH,EAE5D,OACIpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKmE,GACPrE,EACAiD,EACAkB,uHCNN,MAAMsB,EAA8F,QAAC,YAAExC,GAAa,SACvH3J,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,mDAAmDqI,ICUvDyC,EAAkF,IAK1F,IAL2F,MAC5FvB,EAAK,iBACL9J,EAAgB,aAChB+J,EAAY,eACZlH,GACH,EACG,GAAqB,IAAjBiH,EAAMvH,OACN,OAAO,KAEX,MAAMwG,EAAgBF,EAAkBiB,EAAO9J,GAC/C,OACIf,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,6CACVwI,GAAiBA,EAAcxG,OAAS,EACrCtD,EAAAA,cAACyH,EAAAA,GAAc,CAACoD,MAAOf,EAAeR,UAAW,CAAEwB,aAAAA,EAAclH,eAAAA,KACjE,OAKVgG,EAAoB,CAACC,EAAwB9I,KAC/C,IAAK8I,GAAgC,IAApBA,EAASvG,OACtB,OAAO,KAEX,MAAMwG,EAAuC,GACvC1H,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStB,EAAmB,IAgB7D,OAfA8I,EAASE,SAAQ,CAACC,EAAM3I,KACpBe,EAAQ6H,cAAcC,MAAQF,EAAKG,SACnC,MAAMC,GAAa5H,EAAAA,EAAAA,wBAAuBzB,EAAmBqB,GACvDiI,EAAoC,CACtCC,UAAWN,EAAKM,UAChBhJ,UAAW,2CACX6I,SAAUH,EAAKG,SACfI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAM,OACNC,qBAAsBP,GAE1BN,EAAcc,KAAKP,MAGhBP,wkBCnCX,MAAMuC,UAA8BrM,EAAAA,cAGhCkI,YAAY9E,GACR4H,MAAM5H,GAuDH,KAAAgF,oBAAuBzF,IAC1B0F,KAAKjF,MAAMuE,OAAOjB,QAAQgB,KAAO/E,EAAM2F,OAAOd,OAG3C,KAAAyD,qBAAwBC,GAAuBvI,IAC9C0F,KAAKjF,MAAMuE,OAAOkD,OAASxC,KAAKjF,MAAMuE,OAAOkD,MAAMK,KACnD7C,KAAKjF,MAAMuE,OAAOkD,MAAMK,GAAWf,SAAWxH,EAAM2F,OAAOd,QA5D/Da,KAAKtH,kBAAmBoK,EAAAA,EAAAA,oBACpB9C,KAAKjF,MAAMM,QAAQ8F,QAAQ4B,kBAC3B/C,KAAKjF,MAAMiI,aACXhD,KAAKjF,MAAMkI,WAIZtC,SACH,MAAM,OAAErB,EAAM,UAAEnH,EAAS,KAAEsB,GAASuG,KAAKjF,OACnC,UAAE9B,EAAS,QAAEoF,EAAO,MAAEmE,GAAUlD,GAChC,qDAAE2E,EAAoD,wDAAEC,GAA4D/L,EACpHgM,EAAW1K,EAAK2K,OAAS3K,EAAK2K,MAAMZ,OACpCa,EACW,IAAbF,EAAiBF,EAAuDC,EACtEI,EAAsB7K,EAAK6K,oBAAoBd,OAGrD,GAAKc,MAAAA,IAAAA,EAAqBC,WACtB,OAAO,KAGX,MAAM3D,EAAS,OACRZ,KAAKjF,OAAK,IACb9B,UAAAA,EACA+K,sBAAuB,CACnBlD,YAAad,KAAKjF,MAClB9B,UAAW8H,GAAAA,CAAW,qCAAsCzB,EAAOrG,YAEvEoF,QAASA,GAAWA,EAAQgB,MACxB1H,EAAAA,cAACyH,EAAAA,GAAa,CACVnG,UAAU,8CACV2K,IAAKvF,EAAQuF,IACbvE,KAAMhB,EAAQgB,KACd4B,UAAW,CAAEC,OAAQlB,KAAKD,oBAAqBxE,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAG1FqB,MAAOA,GAASA,EAAMvH,OAAS,GAC3BtD,EAAAA,cAACoM,EAAiC,iBAC1B,CACAvB,MAAAA,EACAC,aAAczC,KAAK4C,qBACnBrH,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCzI,iBAAkBsH,KAAKtH,oBAInC4I,YACI3J,EAAAA,cAACmM,EAAuC,CAACxC,aAAaqC,EAAAA,EAAAA,QAAOU,EAAyCF,GAAY,OAI1H,OAAOnE,KAAKjF,MAAMqG,WAAWR,IAcrC,qFCvFA,MAYA,EAZ6E7F,IACzE,MAAM,sBAAEiJ,EAAqB,QAAE3F,EAAO,YAAEiD,EAAW,MAAEkB,GAAUzH,EAE/D,OACIpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKyF,GACP3F,EACAiD,EACAkB,stBCmBN,MAAMgC,UAAsB7M,IAAAA,cAG/BkI,YAAmB9E,GACf4H,MAAM5H,GA0CH,KAAA0J,iBAAoBnK,IACvB0F,KAAKjF,MAAMuE,OAAOjB,QAASgB,KAAO/E,EAAM2F,OAAOd,OAO5C,KAAAuF,sBAAyBpK,IAC5B0F,KAAKjF,MAAMuE,OAAOqF,UAAYrK,EAAM2F,OAAOd,OAhDxCwB,SAAM,QACT,MAAM,QAAEtC,EAAO,UAAEsG,GAAc3E,KAAKjF,MAAMuE,OAEpCsF,EAAuBvG,GACzB1G,IAAAA,cAACkN,EAAAA,GAAI,CACD5L,UAAW,GAAGuL,EAAcM,kCAC5BlB,IAAgB,QAAb,EAAEvF,EAAQuF,WAAG,QAAI,KACpBvE,KAAMhB,EAAQgB,KACd4B,UAAW,CAAEC,OAAQlB,KAAKyE,iBAAkBlJ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAIjF4D,EAA+BC,EAAAA,gBAAAA,YAAoD,QAAzB,EAAChF,KAAKjF,MAAMtB,KAAKwL,gBAAQ,aAAxB,EAA0BzB,QACrF0B,EAAyBP,GAC3BhN,IAAAA,cAACwN,EAAAA,GAAiB,CACdlM,UAAW,GAAGuL,EAAcM,qCAC5BzF,KAAM0F,EAAsBJ,EAAY3E,KAAKjF,MAAM5C,UAAUiN,sBAC7DnE,UAAW,CAAEC,OAAQlB,KAAK0E,sBAAuBnJ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAGtFP,EAAS,OACRZ,KAAKjF,OAAK,IACbsK,WAAYrF,KAAKyE,iBACjBa,cAAe,CACXxE,YAAad,KAAKjF,MAClB9B,UAAWuL,EAAcM,kBAE7BzG,QAASuG,EACTD,UAAWO,EACXD,SAAUF,EAAsB/E,KAAKuF,uBAAyB,KAGlE,OAAOvF,KAAKjF,MAAMqG,WAAWR,GAmBzB4E,2BAA2BrJ,GAC/B,MAAMsJ,EAAYtJ,EAAKuJ,SAEvB,IADyBC,EAAAA,EAAAA,IAAa3F,KAAKjF,MAAMM,QAAQ8F,WAChCsE,EACrB,OAAO9N,IAAAA,cAAAA,MAAAA,CAAKsB,UAAW,GAAGuL,EAAcM,qCAAsC9E,KAAKjF,MAAM5C,UAAUyN,oBAEvG,IAAIC,EAAgB,GACpB,GAAIzG,EAAAA,GAAAA,UAAoB,CAAC,IAAD,EACpB,MAAM0G,EAAiE,QAAvD,GAAGC,EAAAA,EAAAA,IAAW,OAAQ/F,KAAKjF,MAAMM,QAAQC,sBAAc,QAAI,GACrE0K,EAAU,IAAIC,IAAIH,EAAYzF,OAAO6F,SAASC,MACpDH,EAAQI,aAAaC,IAAI,YAAa,GAAGZ,KACzCI,EAAgBG,EAAQG,KAE5B,OACIxO,IAAAA,cAACyC,EAAAA,OAAM,CACHnB,UAAW,GAAGuL,EAAcM,2BAA0B,aAC1C9E,KAAKjF,MAAM5C,UAAUmO,wBACjCH,KAAMN,GAEL7F,KAAKjF,MAAM5C,UAAUmO,yBAK1Bf,uBAAoB,MACxB,MAAMN,EAAmC,QAA3B,EAAGjF,KAAKjF,MAAMtB,KAAKwL,gBAAQ,aAAxB,EAA0BzB,OAErC+C,EAAYnH,EAAAA,GAAAA,UAElB,OACIzH,IAAAA,cAAAA,MAAAA,CAAKsB,UAAW,GAAGuL,EAAcM,kCAAmCzC,KAAK,QACpE4C,MAAAA,OAAQ,EAARA,EAAUnM,KAAIqD,IACX,MAAMqK,EAAW,GAAGC,KAAKC,UAAUvK,MAASwK,OAAOJ,KAC7CK,EAAmC5B,EAAAA,gBAAAA,eAA+B7I,EAAK0K,QAC7E,OACIlP,IAAAA,cAAAA,MAAAA,CACIuB,IAAKsN,EACLvN,UAAW,GAAGuL,EAAcM,wCAC5BgC,SAAU,EAAC,aACC3K,EAAKxB,KACjB0H,KAAK,YAEL1K,IAAAA,cAAAA,KAAAA,CAAIsB,UAAW,GAAGuL,EAAcM,sCAAuC3I,EAAKxB,MAC5EhD,IAAAA,cAAAA,MAAAA,CAAKsB,UAAW,GAAGuL,EAAcM,yCAC7BnN,IAAAA,cAACoP,EAAAA,GAAK,CACFxL,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnClI,UAAW,GAAGuL,EAAcM,oCAC5B5L,IAAKsN,EACLQ,KAAKC,EAAAA,EAAAA,IAAiBjH,KAAKjF,MAAMM,QAAQ8F,QAAQ+F,YAAaN,MAAAA,OAAK,EAALA,EAAOO,KACrEC,aAAcpH,KAAKjF,MAAMM,QAAQ8F,QAAQiG,aACzCC,cAAerH,KAAKjF,MAAMuE,OAAOgI,qBACjCC,QAASX,MAAAA,OAAK,EAALA,EAAOY,QAChBC,oBAAoB,SAExB9P,IAAAA,cAAAA,MAAAA,CAAKsB,UAAW,GAAGuL,EAAcM,qCAC5B9E,KAAKwF,2BAA2BrJ,WAhHzCqI,EAAAA,iBAAmB,oBA2H/C,wHCjJO,MAAMkD,EAAwE3M,IACjF,MAAM,cAAEuK,GAAkBvK,EAC1B,OACIpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAK+G,GACPvK,EAAMsD,QACNtD,EAAM4J,UACN5J,EAAMkK,WAKnB,mtBCkBO,MAAM0C,UAAyBhQ,EAAAA,cAIlCkI,YAAmB9E,GACf4H,MAAM5H,GAJO,KAAA+E,gBAA0B,wBAC1B,KAAA8H,cAAgB,qBAuC1B,KAAAC,gBAAkB,KACrBC,QAAQC,IAAI,6CAEZ,MAAMC,EAAgC,CAClCC,aAAcjI,KAAKkI,iBACnBC,YAAanI,KAAKoI,iBAClBC,SAAUrI,KAAKsI,cACfC,sBAAuBvI,KAAKwI,oBAC5BC,uBAAwBzI,KAAK0I,sBAIjCrI,OAAOsI,sBAAsBX,IAGzB,KAAAY,wBAA2BC,IAC1BA,EAAuBC,mBACxB9I,KAAKjF,MAAMkI,UAAUvD,MAAM,2DAG/B,MAAMqJ,EAAuBF,EAAuBC,mBAAqB,GACnEE,EAAMC,SAASC,cAAc,UACnCF,EAAItM,GAAKsD,KAAK4H,cACdoB,EAAIhK,KAAO,kBACXgK,EAAIG,YAAYF,SAASG,eAAeL,IACxCE,SAASI,KAAKF,YAAYH,IAGtB,KAAAd,iBAAmB,CAACoB,EAAmCC,EAAoBC,KAA2C,QAC1H,MACI/P,MAAM,SAAEgQ,EAAQ,uBAAEZ,GAAwB,UAC1C5F,GACAjD,KAAKjF,MAET+M,QAAQC,IAAI,sCAAsCtB,KAAKC,UAAU8C,MACjE,MAAME,GAAgBF,MAAAA,OAAe,EAAfA,EAAiBE,gBAAiB,GACnDA,IACDzG,EAAUvD,MAAM,yCAChB6J,KAGJ,MAAMI,GAASF,MAAAA,GAAgB,QAAR,EAARA,EAAUjG,cAAM,WAAR,EAAR,EAAkBoG,aAAaC,KAAKC,KAAM,GACpDH,IACD1G,EAAUvD,MAAM,4CAChB6J,KAGJ,MAAMQ,GAAqBlB,MAAAA,GAA8B,QAAR,EAAtBA,EAAwBrF,cAAM,WAAR,EAAtB,EAAgCwG,qBAAsB,GAC5ED,IACD9G,EAAUvD,MAAM,iDAChB6J,KAGJ,MAAMU,EAAW,CACbD,mBAAoBD,GAGxBjC,QAAQC,IAAI,yCAAyCtB,KAAKC,UAAU8C,MACpE,MAAMU,EAAmB,CACrBC,WAAY9J,OAAO6F,SAASkE,SAC5BV,cAAeA,GAEbW,EAAiB5D,KAAKC,UAAUwD,GACtCpC,QAAQC,IAAI,qCAAqCsC,MAEjDC,EAAAA,EAAAA,sCACI,CAAEC,cAAevK,KAAKjF,MAAMM,QAAQC,eACpCkP,OAAOC,KAAKJ,GAAgBK,SAAS,UACrC,GACAf,EACAM,GAECU,MAAKC,MAAAA,IACF,MAAMC,EAA2BpE,KAAKC,UAAUoE,GAChDhD,QAAQC,IAAI,kDAAkD8C,KAC9DvB,EAAQuB,MAEXE,OAAMrL,IACHuD,EAAUvD,MAAM,uDAAuDA,KACvE6J,QAIJ,KAAAnB,iBAAmB,KACvBN,QAAQC,IAAI,qBAGR,KAAAO,cAAgB,KACpBR,QAAQC,IAAI,kBAGR,KAAAW,qBAAuB,KAC3BZ,QAAQC,IAAI,yBAIR,KAAAS,oBAAsB,KAC1BV,QAAQC,IAAI,wBAlIT7H,oBAAiB,MAEkB,QAAtC,EAAAF,KAAKjF,MAAMtB,KAAKoP,8BAAsB,OAAtC,EAAwC8B,MAAKK,GAAOhL,KAAK4I,wBAAwBoC,KAGjF,MAAMC,EAAShC,SAASC,cAAc,UACtC+B,EAAOjE,IAAM,2DACbiE,EAAOL,OAAQ,EACfK,EAAOC,QAAU,IAAMpD,QAAQC,IAAI,+BACnCkB,SAASI,KAAKF,YAAY8B,GAGvBtK,SACH,MACIrB,QAAQ,UAAErG,IAEV+G,KAAKjF,MAEHoQ,EAAiBxT,EAAAA,cAACyC,EAAAA,OAAM,CAACC,QAAS2F,KAAK6H,iBAAe,kBACtDjH,EAAS,SACRZ,KAAKjF,OACLiF,KAAKoL,OAAK,IACbnS,UAAAA,EACAoS,iBAAkB,CACdvK,YAAad,KAAKjF,MAClB9B,UAAWqS,GAAAA,CAAWtL,KAAKF,gBAAiB7G,IAEhDkS,eAAAA,IAGJ,OAAOnL,KAAKjF,MAAMqG,WAAWR,IAwGrC,+ECjLA,MAIA,EAJmE,QAAC,iBAAEyK,EAAgB,eAAEF,GAAgB,SACpGxT,EAAAA,cAAC4G,EAAAA,OAAM,iBAAK8M,GAAmBF,gJCyCnC,MA4FMI,EAAe,CACjBpP,EACApB,EACAyQ,KAC6C,MAO7C,MAAO,CACHnN,QAPgBlC,EAAKkC,SAjGP,EAACoN,EAAkC1Q,EAA4CyQ,KACjG,MAAMjQ,EAAiBR,EAAMQ,eAC7B,OACI5D,EAAAA,cAACyH,EAAAA,GAAa,CACVC,KAAMoM,EACN7H,IAAI,IACJ3K,UAAU,sDACVgI,UAAW,CAKPC,OAAQ5G,IACJS,EAAM2Q,2BAA2BF,EAAWlR,IAEhDiB,eAAAA,MAkFwBoQ,CAAcxP,EAAKkC,QAAStD,EAAOyQ,GAQnEnM,KAPkBlD,EAAKyP,SAtEP,EAACC,EAAwC9Q,EAA4CyQ,KACzG,MAAMjQ,EAAiBR,EAAMQ,eAC7B,OACI5D,EAAAA,cAACyH,EAAAA,GAAa,CACVC,KAAMwM,EACNjI,IAAI,IACJ3K,UAAU,2DACVgI,UAAW,CAKPC,OAAQ5G,IACJS,EAAM2Q,2BAA2BF,EAAWlR,IAEhDiB,eAAAA,MAuD0BuQ,CAAgB3P,EAAKyP,QAAS7Q,EAAOyQ,GAQvEhJ,MAPwB,QAAb,EAAGrG,EAAKqG,aAAK,aAAV,EAAY1J,KAAI,CAACiT,EAAqB/S,IA1CxC,EAAC+S,EAAqBhR,EAA4CyQ,EAAmB3I,KACrG,MAAMb,EAAoC,CACtCC,UAAW8J,EAAQ9J,UACnBhJ,UAAW,0DACX6I,SAAUiK,EAAQjK,SAClBI,QAAS6J,EAAQ7J,QAAQC,eACzBC,aAAc2J,EAAQ3J,aACtBC,KAAM,QAEJ9G,EAAiBR,EAAMQ,eAC7B,OACI5D,EAAAA,cAACyH,EAAAA,GAAa,CACVlG,IAAK2J,EACLlB,KAAMK,EACNf,UAAW,CAKPwB,aAAcnI,IACVS,EAAMiR,+BAA+BnJ,EAAW2I,EAAWlR,IAE/DiB,eAAAA,MAqBD0Q,CAAYF,EAAShR,EAAOyQ,EAAWxS,KAO9CkT,+BAAgC,CAAEjT,UAAW,4DAC7CkT,2BAA4B,CAAElT,UAAW,uDASpCmT,EACTrR,IAEA,MAAM,kBAAEsR,GAAsBtR,EAC9B,IAAKsR,EACD,OAGJ,MAAMC,EAA4D,GAKlE,OAJAD,EAAkBvT,KAAI,CAACqD,EAAMnD,IAClBsT,EAAW/J,KAAKgJ,EAAapP,EAAMpB,EAAO/B,MAG9C,CACHuT,sBAAuB,CAAEtT,UAAW,iDACpCuT,uBAAwBF,IC/JzB,MAAMG,UAAyB9U,EAAAA,cAAtCkI,cAAAA,SAAAA,WAeqB,KAAA0B,kBAAqBC,IAClC,IAAKA,GAAgC,IAApBA,EAASvG,OACtB,OAAO,KAEX,MAAMwG,EAAuC,GAqB7C,OApBAD,EAASE,SAAQ,CAACC,EAAM3I,KAEpB,MAAMe,GAAUC,EAAAA,EAAAA,kBAAiB,QAASgG,KAAKjF,MAAMrC,iBAAkB,GAAI,IACrEoJ,EAAWH,EAAKG,SAAWH,EAAKG,SAAW,GACjD/H,EAAQ6H,cAAcC,MAAQC,EAC9B,MAAMC,GAAa5H,EAAAA,EAAAA,wBAAuB6F,KAAKjF,MAAMrC,iBAAkBqB,GACjE2S,EAAqB,IAAV1T,EAAc,mBAAqB,qBAC9CgJ,EAAoC,CACtCC,UAAWN,EAAKM,UAChBhJ,UAAWyT,EACX5K,SAAUH,EAAKG,SACfI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAMrC,KAAKjF,MAAMsH,KACjBC,qBAAsBP,EACtB1H,SAASsS,EAAAA,EAAAA,kBAAiB3M,KAAKjF,MAAMrC,iBAAkBqB,EAAS+H,IAEpEL,EAAcc,KAAKP,MAGhBP,GAvCJd,SACH,MAAMc,EAAgBzB,KAAKuB,kBAAkBvB,KAAKjF,MAAMyH,OACxD,OACI7K,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,yBACVwI,GAAiBA,EAAcxG,OAAS,EACrCtD,EAAAA,cAACyH,EAAAA,GAAc,CACXoD,MAAOf,EACPR,UAAW,CAAEwB,aAAczC,KAAKjF,MAAM0H,aAAclH,eAAgByE,KAAKjF,MAAMQ,kBAEnF,OAiCpB,+kBCtBO,MAAMqR,UAAqBjV,EAAAA,cAAlCkI,cAAAA,SAAAA,WACqB,KAAAnH,kBAAsCoK,EAAAA,EAAAA,oBACnD9C,KAAKjF,MAAMM,QAAQ8F,QAAQ4B,kBAC3B/C,KAAKjF,MAAMiI,aACXhD,KAAKjF,MAAMkI,WAmGR,KAAAwB,iBAAoBnK,GAA0C0F,KAAKjF,MAAMuE,OAAOjB,QAASgB,KAAO/E,EAAM2F,OAAOd,MAS7G,KAAAuF,sBAAyBpK,GAA0C0F,KAAKjF,MAAMuE,OAAOqF,UAAYrK,EAAM2F,OAAOd,MAO9G,KAAAyD,qBAAwBC,GAAuBvI,IAC9C0F,KAAKjF,MAAMuE,OAAOkD,OAASxC,KAAKjF,MAAMuE,OAAOkD,MAAMqK,OAAOhK,MAC1D7C,KAAKjF,MAAMuE,OAAOkD,MAAMqK,OAAOhK,IAAYf,SAAWxH,EAAM2F,OAAOd,QAlHpEwB,SAAM,UACT,MAAM,QAAEtC,EAAO,UAAEsG,EAAS,MAAEiC,EAAK,MAAEpE,EAAK,UAAEvJ,EAAS,eAAE6T,GAAmB9M,KAAKjF,MAAMuE,OAC7EyN,EAAoB1O,GACtB1G,EAAAA,cAACyH,EAAAA,GAAa,CACVnG,UAAU,0BACV2K,IAAgB,QAAb,EAAEvF,EAAQuF,WAAG,QAAI,KACpBvE,KAAMhB,EAAQgB,KACd4B,UAAW,CAAEC,OAAQlB,KAAKyE,iBAAkBlJ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAGjF6L,EAAa,CACf5F,aAAqD,QAAzC,EAAEpH,KAAKjF,MAAMM,QAAQ8F,QAAQiG,oBAAY,QAAI,GACzDC,cAAeT,MAAAA,OAAK,EAALA,EAAOS,eAEpB4F,EAAoBzK,GAASwC,EAAAA,gBAAAA,YAA4BxC,IAC3D7K,EAAAA,cAACkM,EAAc,iBACP,CACArB,MAAAA,EACAC,aAAczC,KAAK4C,qBACnBrH,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCzI,iBAAkBsH,KAAKtH,iBACvB2J,KAAgF,SAAzErC,KAAKjF,MAAMuE,OAAmC4N,uBAAoC,OAAS,YAIxGC,EAAmBxI,GACrBhN,EAAAA,cAACyH,EAAAA,GAA0B,CACvBC,KAAMsF,EACN1L,UAAU,yBACVgI,UAAW,CAAEC,OAAQlB,KAAK0E,sBAAuBnJ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAGtFiM,EACFzV,EAAAA,cAACyH,EAAAA,GAAc,iBACPwH,EACAoG,EAAU,CACdzR,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCkM,oBAAoB,EACpBpM,UAAW,CACP/H,IAA4B,QAAzB,EAAE8G,KAAKjF,MAAMuE,OAAOsH,aAAK,QAAI,GAChCrL,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCmM,WAAYtN,KAAKjF,MAAMwS,SACvBC,kBAAmB,QACnBC,SAAUzN,KAAKjF,MAAM2B,GACrBgR,OAAS1N,KAAKjF,MAAMuE,OAAmC4N,wBAE3DS,uBAAqB,KAI7B,IAAKZ,IAAsBI,IAAqBF,EAE5C,OADAjN,KAAKjF,MAAMM,QAAQ4H,UAAUvD,MAAM,uDAC5B,KAEX,MAAMkO,EAAqB,OACpB5N,KAAKjF,OAAK,IACb6B,MAAOmQ,EACP1N,KAAM8N,EACNvG,MAAOwG,EACP5K,MAAOyK,EACPY,YAAa7N,KAAKjF,MAAMuE,OAAOrG,UAC/B6U,sBAAuB,CACnBhN,YAAad,KAAKjF,MAClB9B,UAAW8H,GAAAA,CAAW,mBAAoB9H,IAE9C8U,eAAgB,CAAE9U,UAAW,2BAC7B+U,iBAAkB,CAAE/U,UAAW,6BAC/BgV,sBAAuB,CACnBrK,IAAK,IACL3K,UAAW,yBACXoJ,KAAM,QAEV6L,UAAWlO,KAAKmO,gBAChBrB,eAAAA,EACAT,kBAAmBD,EAA8B,CAC7C7Q,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCkL,kBAAmBrM,KAAKjF,MAAMuE,OAAO+M,kBACrCX,2BAA4B1L,KAAK0L,2BACjC0C,gCAAiCpO,KAAKoO,gCACtCpC,+BAAgChM,KAAKgM,iCAEzCqC,qBAAsBrO,KAAK0L,2BAC3B4C,0BAA2BtO,KAAKoO,gCAChCpC,+BAAgChM,KAAKgM,iCAGzC,OAAOhM,KAAKjF,MAAMqG,WAAWwM,GAgC1BlC,2BAA2B1S,EAAesB,GACzC0F,KAAKjF,MAAMuE,OAAO+M,oBAClBrM,KAAKjF,MAAMuE,OAAO+M,kBAAkBQ,OAAO7T,IAAQqF,QAAU/D,EAAM2F,OAAOd,OAI3E6M,+BAA+BnJ,EAAmB7J,EAAesB,GACpE,MAAMiU,EACDvO,KAAKjF,MAAMuE,OAAO+M,mBACfrH,EAAAA,gBAAAA,YAA4BhF,KAAKjF,MAAMuE,OAAO+M,oBAC9CrM,KAAKjF,MAAMuE,OAAO+M,kBAAkBQ,OAAO7T,KAC/C,GACAuV,EAAwB/L,QACxB+L,EAAwB/L,MAAMqK,OAAOhK,IAAYf,SAAWxH,EAAM2F,OAAOd,OAI1EiP,gCAAgCpV,EAAesB,GAC9C0F,KAAKjF,MAAMuE,OAAO+M,oBAClBrM,KAAKjF,MAAMuE,OAAO+M,kBAAkBQ,OAAO7T,IAAQ4S,QAAUtR,EAAM2F,OAAOd,OAI1EgP,gBACJ,MAAM,UAAED,EAAS,MAAE1L,EAAK,iBAAEgM,GAAqBxO,KAAKjF,MAAMuE,OAC1D,MAAoB,kBAAhBkP,EACIN,MAAAA,GAAAA,EAAW/L,eACJ+L,EAAU/L,eACVK,GAASwC,EAAAA,gBAAAA,YAA4BxC,IAAUA,EAAM,GAAGN,QACxDM,EAAM,GAAGN,QAAQC,eAErB,KAEJ,MAIf,+EC/LA,MAAMsM,EAA2BpC,IAA8D,MAC3F,OACI1U,EAAAA,cAACC,EAAAA,KAAI,iBAAKyU,EAAkBE,uBACiB,QADI,EAC5CF,EAAkBG,8BAAsB,aAAxC,EAA0C1T,KAAKqD,GAExCxE,EAAAA,cAAAA,EAAAA,SAAAA,KACKwE,EAAKkC,QACN1G,EAAAA,cAACC,EAAAA,KAAI,iBAAKuE,EAAK+P,gCACV/P,EAAKkD,KACN1H,EAAAA,cAACC,EAAAA,KAAI,iBAAKuE,EAAKgQ,4BAA6BhQ,EAAKqG,aAyD7E,EAhD2DzH,IACvD,MAAM,sBACF+S,EAAqB,eACrBC,EAAc,iBACdC,EAAgB,MAChBpR,EAAK,KACLyC,EAAI,MACJmD,EAAK,MACLoE,EAAK,sBACLqH,EAAqB,UACrBC,EAAS,eACTpB,EAAc,kBACdT,GACAtR,EAEJ,OAAImT,EAEIvW,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKuP,GACRnW,EAAAA,cAACC,EAAAA,KAAI,iBACGqW,EAAqB,CACzB9H,KAAM+H,EACNjV,UAAWgV,EAAwBA,EAAsBhV,UAAY,GAAE,aAC3D6T,IAEZnV,EAAAA,cAACC,EAAAA,KAAI,iBAAKmW,GAAiBnH,IAE/BjP,EAAAA,cAACC,EAAAA,KAAI,iBAAKoW,GACLpR,EACAyC,EACAmD,EACA6J,GAAqBoC,EAAwBpC,KAM1D1U,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKuP,GACRnW,EAAAA,cAACC,EAAAA,KAAI,iBAAKmW,GAAiBnH,GAC3BjP,EAAAA,cAACC,EAAAA,KAAI,iBAAKoW,GACLpR,EACAyC,EACAmD,EACA6J,GAAqBoC,EAAwBpC,8FCtD9D,MA0CM5U,EAAqBC,GAEnBC,EAAAA,cAAAA,EAAAA,SAAAA,KACIA,EAAAA,cAACC,EAAAA,KAAI,iBAAKF,EAAWG,yBAChBH,EAAWI,iBACXJ,EAAWK,oBACXL,EAAWM,kBAMtBC,EAAmB,CACrBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,KAEA,MAAM,cAAEC,GAAkBV,EAE1B,OAAII,EACOZ,EAAAA,cAAAA,EAAAA,SAAAA,KAAGY,GAEVL,EACOA,EAAUY,KAAI,CAACC,EAAUC,IAExBrB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,sBAAsBC,IAAK,GAAGF,KAAS0V,EAAAA,GAAAA,UAAAA,cACjD3V,EAASI,SACTR,EAAiB,KAAOS,EAAkBL,EAAUZ,EAAWC,EAAeM,EAAkBE,GAChGD,EACGhB,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,sCACXI,EAAuBN,EAAUZ,EAAWC,EAAeM,EAAkBE,GAC7EG,EAASQ,mBACTR,EAAS4V,cACT5V,EAASO,QAEdP,EAASQ,mBACT5B,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,gCACXF,EAASQ,mBACTR,EAAS4V,cACT5V,EAASO,QAGd3B,EAAAA,cAAAA,EAAAA,SAAAA,KACKoB,EAAS4V,cACT5V,EAASO,WAO3Bd,EACHb,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wBACXtB,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,iBAAiBJ,GAC7BR,GAGLV,EAAAA,cAAAA,EAAAA,SAAAA,KAAGW,IAULsW,EAAuB,CAAC7V,EAA+Be,IAA6B,KACtFf,EAASS,eAAiBT,EAASS,cAAce,UAAUC,aAAaV,IAQtE+U,EAAwB9V,GAAkC,KAC5DA,EAASS,eAAiBT,EAASS,cAAce,UAAUC,aAAY,IAGrEpB,EAAoB,CACtBL,EACAZ,EACAC,EACAM,EACAE,KACoB,MAEpB,IAAKG,EAASS,gBAAkBpB,IAA8B,QAAb,EAAAW,EAASU,YAAI,aAAb,EAAeN,SAASO,gBAAiBd,EACtF,OAAO,KAGX,MAAM,uBACFgB,EAAsB,yBACtBkV,EAAwB,oBACxBjV,EAAmB,8BACnBkV,EAA6B,uBAC7BpV,GACAxB,EAEE2B,EAAkBf,EAASS,cAAcM,gBAEzCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStB,EAAmBuB,EAAAA,kBAAAA,eACvDC,GAAyBC,EAAAA,EAAAA,wBAAuBzB,EAAmBqB,GAEzE,OACIpC,EAAAA,cAACC,EAAAA,KAAI,iBAAKmB,EAASS,cAAcoB,gBAC7BjD,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,+BACVa,EACGnC,EAAAA,cAAAA,OAAAA,CAAMsB,UAAU,WAAW8V,GAE3BpX,EAAAA,cAAAA,OAAAA,CAAMsB,UAAU,QAAQ6V,IAG/BhV,GACGnC,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,oCACXtB,EAAAA,cAAAA,OAAAA,CAAMsB,UAAU,0CAA0CF,EAASS,cAAciD,aACjF9E,EAAAA,cAACyC,EAAAA,OAAM,CAACiI,KAAK,OAAOpJ,UAAU,mCAAmCoB,QAASwU,EAAqB9V,IAC1FY,IAIbhC,EAAAA,cAACyC,EAAAA,OAAM,eACHnB,UAAU,4BACNiB,EAAsB,CAC1BG,QAASuU,EAAqB7V,EAAUe,KAEvCA,EAAkBF,EAAyBC,KAMtDmV,EAAqBC,GAClBA,GAAyC,IAA5BA,EAAUC,OAAOjU,OAI/BtD,EAAAA,cAACC,EAAAA,KAAI,iBAAKqX,EAAUE,SACfF,EAAUG,OACVH,EAAUC,QALR,KAUTG,EAA2B,CAC7BC,EACAC,EACAxU,IAEKuU,EAID3X,EAAAA,cAACC,EAAAA,KAAI,iBAAK2X,GACLxU,EAAMyU,UACNF,EAAkBG,SAClBH,EAAkBI,SAClBJ,EAAkBK,YAClBL,EAAkBM,IAClBN,EAAkBO,eAAiBP,EAAkBO,eAAiB,KACtEP,EAAkBQ,YAVhB,KAeTC,EAA6B,CAC/BC,EACAT,EACAxU,IAEKiV,EAKDrY,EAAAA,cAACC,EAAAA,KAAI,iBAAK2X,GACLS,EAAoBC,SACpBD,EAAoBE,SACpBF,EAAoBG,QACpBH,EAAoBF,aARzB/U,EAAMM,QAAQ4H,UAAUvD,MAAM,uDACvB,MAYT5E,EAAwB,CAACC,EAAuB5C,IAC9C4C,EAAMC,gBAAkBD,EAAMC,eAAeC,OAAS,EAElDtD,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wBACV8B,EAAMC,eAAelC,KAAIoC,IAAY,QAClC,OACIvD,EAAAA,cAAAA,MAAAA,CAAKuB,IAAKgC,EAAU,GAAGkV,WAAYnX,UAAU,+BACxCkC,EACGD,EAAU,GACVH,EAAM3C,cACND,EACAiD,EAAYF,GACsC,QAD5B,EACtBH,EAAMM,QAAQC,cAAcC,eAAeC,eAAO,aAAlD,EAAoDC,uBAEvDxD,EACGiD,EACAH,EAAM5C,UACN4C,EAAM3C,cACN2C,EAAM1C,qBACN0C,EAAMzC,iBACNyC,EAAMxC,kBACNwC,EAAMvC,eACNuC,EAAMrC,iBACNqC,EAAM+B,sBAC4C,QADvB,EAC3B/B,EAAMM,QAAQC,cAAcC,eAAeC,eAAO,aAAlD,EAAoDC,4BAQzEV,EAAMvC,eACTb,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,uBACXtB,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wBACXtB,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,iBAAiB8B,EAAM5C,UAAUU,eAC7CkC,EAAM1C,uBAIfV,EAAAA,cAAAA,EAAAA,SAAAA,KAAGoD,EAAMzC,kBAGX6C,EAA8B,CAChCpC,EACAX,EACAD,EACAuD,EACA9C,KACA,MACA,MAAMkB,EAAwC,QAAzB,EAAGf,EAASS,qBAAa,aAAtB,EAAwBM,iBAC1C,WAAE6B,EAAU,aAAEC,EAAY,kBAAEC,GAAsB1D,EACxD,IAAI2D,EAKJ,OAHAA,EAAahC,EAAkB6B,EAAaC,EAC5CE,EAAa/C,EAASU,MAAQV,EAASU,KAAKN,SAASO,eAAiBd,EAAwBiD,EAAoBC,EAG9GnE,EAAAA,cAAAA,EAAAA,SAAAA,KACIA,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,8CACXtB,EAAAA,cAAAA,IAAAA,CAAGsB,UAAW,8CAA8C6C,EAAWC,uBACvEpE,EAAAA,cAAAA,IAAAA,CAAGsB,UAAW,8CAA8C6C,EAAWC,iBAAkBD,GACxFE,EAA2BjD,EAAUZ,EAAWuD,MAM3DrC,EAAyB,CAC3BN,EACAZ,EACAC,EACAM,EACAE,KACoB,MAEpB,IAAKG,EAASS,gBAAkBpB,IAA8B,QAAb,EAAAW,EAASU,YAAI,aAAb,EAAeN,SAASO,gBAAiBd,EACtF,OAAO,KAGX,MAAM,uBAAEe,EAAsB,uBAAEC,EAAsB,oBAAEC,GAAwB1B,EAE1E2B,EAAkBf,EAASS,cAAcM,gBAEzCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStB,EAAmBuB,EAAAA,kBAAAA,eACvDC,GAAyBC,EAAAA,EAAAA,wBAAuBzB,EAAmBqB,GAEzE,OACIpC,EAAAA,cAAAA,EAAAA,SAAAA,KACKmC,EACGnC,EAAAA,cAACyC,EAAAA,OAAM,CAACnB,UAAU,qCAAqCoB,QAASwU,EAAqB9V,GAAS,YAAY,UACrGY,GAEL,KACJhC,EAAAA,cAACyC,EAAAA,OAAM,eACHnB,UAAU,sCACNiB,EAAsB,CAC1BG,QAASuU,EAAqB7V,EAAUe,KAEvCA,EAAkBF,EAAyBC,KAMtDuB,EAAerC,IACjB,IAAIkD,EAAY,EAIhB,OAHAA,EAAYlD,EAASmD,QAAO,CAACR,EAAOS,KAAQ,MACxC,OAAOT,IAAkB,QAAT,EAAAS,EAAK1C,YAAI,aAAT,EAAWN,SAASiD,WAAY,KACjD,GACIH,GAGLD,EAA6B,CAACjD,EAA+BZ,EAA2BuD,KAAiB,UAC3G,MAAM5B,EAAwC,QAAzB,EAAGf,EAASS,qBAAa,aAAtB,EAAwBM,iBAC1C,UAAEuC,EAAS,WAAEC,GAAenE,EAC5BoE,EAASb,EAAQ,EAAIY,EAAaD,EACxC,OACI1E,EAAAA,cAAAA,EAAAA,SAAAA,KACIA,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,oDACXa,EACGnC,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,uDACc,QADuC,EAC7DF,EAASS,qBAAa,aAAtB,EAAwBgD,eACxB,KACsB,QADlB,EACJzD,EAASS,qBAAa,aAAtB,EAAwBiD,aAE7B,KACJ9E,EAAAA,cAAAA,IAAAA,CAAGsB,UAAU,uDAAqD,IAC5DyC,EACD,IACAa,EAAM,QAO3B,EAnX4CxB,IAAqB,eAC7DpD,EAAAA,cAAAA,MAAAA,OAAAA,OAAAA,CAAKsB,UAAW8B,EAAM9B,UAAWyD,GAAI3B,EAAM2B,IAAQ3B,EAAM4B,uBAAuB5B,IAC3EA,EAAM6B,MACN7B,EAAM8B,kBAAoBpF,EAAkBsD,EAAM8B,kBAClD9B,EAAM+B,sBACHhC,EAAsBC,EAAOA,EAAM5C,WAEnCR,EAAAA,cAACC,EAAAA,KAAI,iBAAKmD,EAAMgC,kBACX9E,EACG8C,EAAMG,UACNH,EAAM5C,UACN4C,EAAM3C,cACN2C,EAAM1C,qBACN0C,EAAMzC,iBACNyC,EAAMxC,kBACNwC,EAAMvC,eACNuC,EAAMrC,iBACNqC,EAAM+B,sBAC4C,QADvB,EAC3B/B,EAAMM,QAAQC,cAAcC,eAAeC,eAAO,aAAlD,EAAoDC,wBAI/DV,EAAMsV,qBACH1Y,EAAAA,cAACC,EAAAA,KAAI,iBAAKmD,EAAMuV,qBACXvV,EAAMsV,oBACI,QAAV,EAAAtV,EAAM8O,YAAI,OAAV,EAAY0G,eACPR,EAA2BhV,EAAMyV,wBAAyBzV,EAAMwU,kBAAmBxU,GACnFsU,EAAyBtU,EAAM0V,sBAAuB1V,EAAMwU,kBAAmBxU,GACpFiU,EAAkBjU,EAAM2V,oBACxB3V,EAAMtC,2BACNsC,EAAM4V,sBACN5V,EAAM6V,uBAAyB5L,EAAAA,gBAAAA,YAA4BjK,EAAM6V,uBAC9DjZ,EAAAA,cAACC,EAAAA,KAAI,iBAAKmD,EAAM8V,+BAAgC9V,EAAM6V,uBACtD,KACH7V,EAAM1C,qBACN0C,EAAM+V,8BAGd/V,EAAM3C,oRC1CR,MAAM2Y,EAA2D,QAAC,sBACrEC,EAAqB,QACrBC,EAAO,UACPC,EAAS,YACTC,EAAW,YACXC,EAAW,MACX1V,EAAK,OACL2V,EAAM,mBACNC,GACH,SACG3Z,EAAAA,cAACC,EAAAA,KAAI,iBAAKoZ,GACLG,EACAF,EACAC,EACAE,EACA1V,EACA2V,EACAC,IAIIC,EAAsD,QAAC,cAChEC,EAAa,QACbnT,EAAO,MACP3C,EAAK,WACL+V,EAAU,QACVC,EAAO,aACPC,GACH,SACGha,EAAAA,cAACC,EAAAA,KAAI,iBAAK4Z,GACLnT,EACA3C,EACA+V,EACAC,EACAC,IAIIC,EAAsC,QAAC,WAAEC,EAAU,SAAEC,EAAQ,gBAAEC,EAAe,WAAEC,GAAY,SACrGra,EAAAA,cAACC,EAAAA,KAAI,iBAAKia,GACLG,GACGra,EAAAA,cAACC,EAAAA,KAAI,iBAAKma,GACLC,EAAWlZ,KAAImZ,GACZta,EAAAA,cAACA,EAAAA,SAAc,CAACuB,IAAK+Y,EAAUxY,KAAKwY,UAAUC,QAASD,EAAUA,gBAOxEE,EAAwC,QAAC,YAAEC,EAAW,OAAEC,GAAQ,SACzE1a,EAAAA,cAACC,EAAAA,KAAI,iBAAKwa,GACLC,EAAOvZ,KAAI,CAACwZ,EAAOtZ,IAChBrB,EAAAA,cAACia,EAAiB,eAAC1Y,IAAKF,GAAWsZ,QAKlCC,EAAwC,QAAC,YAAEC,EAAW,QAAEnU,EAAO,gBAAEoU,EAAe,aAAEC,GAAc,SACzG/a,EAAAA,cAACC,EAAAA,KAAI,iBAAK4a,GACLnU,EACAoU,EACAC,IAIIC,EAA+C,QAAC,gBACzDC,EAAe,gBACfC,EAAe,OACfR,EAAM,iBACNS,EAAgB,qBAChBC,GACH,SACGpb,EAAAA,cAACC,EAAAA,KAAI,iBAAKgb,GACLC,GAAmBlb,EAAAA,cAACoZ,EAA2B,iBAAK8B,IACpDR,GAAU1a,EAAAA,cAACwa,EAAkB,iBAAKE,IAClCU,EACAD,IAIIE,EAAoC,QAAC,UAAEC,EAAS,YAAEC,GAAa,SACxEvb,EAAAA,cAACC,EAAAA,KAAI,iBAAKqb,GACLC,GAAeA,EAAYpa,KAAI,CAACqa,EAAYna,IAAUrB,EAAAA,cAACgb,EAAqB,eAACzZ,IAAKF,GAAWma,QAoCtG,EAhC2D,QAAC,kBACxDC,EAAiB,OACjBhE,EAAM,MACNiE,EAAK,QACLnV,EAAO,aACPoV,EAAY,mBACZC,EAAkB,KAClBC,EAAI,MACJC,EAAK,WACLC,GACH,SACG/b,EAAAA,cAAC4G,EAAAA,OAAM,iBAAK6U,GACPhE,GAAUzX,EAAAA,cAAC4a,EAAkB,iBAAKnD,IAClClR,EACAmV,GACG1b,EAAAA,cAAAA,EAAAA,SAAAA,KACK0b,EACAE,GAGRD,GACG3b,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAU,6CACXqa,EACAC,GAGRC,GAAQ7b,EAAAA,cAACqb,EAAgB,iBAAKQ,IAC9BC,EACAC,GAAcA,usBC9FhB,MAAMC,UAAmBhc,EAAAA,cAO5BkI,YAAY9E,GACR4H,MAAM5H,GA0DH,KAAAgF,oBAAuBzF,GAA0C0F,KAAKjF,MAAMuE,OAAOjB,QAASgB,KAAO/E,EAAM2F,OAAOd,MAEhH,KAAAsF,iBAAoBnK,GAA0C0F,KAAKjF,MAAMuE,OAAOD,KAAO/E,EAAM2F,OAAOd,MAEpG,KAAAyD,qBAAwBtI,GAA0C0F,KAAKjF,MAAMuE,OAAOqC,KAAMG,SAAWxH,EAAM2F,OAAOd,MA7DrHa,KAAKtH,kBAAmBoK,EAAAA,EAAAA,oBACpB9C,KAAKjF,MAAMM,QAAQ8F,QAAQ4B,kBAC3B/C,KAAKjF,MAAMiI,aACXhD,KAAKjF,MAAMkI,WAIfjD,KAAKjG,SAAUC,EAAAA,EAAAA,kBAAiB,QAASgG,KAAKtH,iBAAkB,GAAI,IAGjEiI,SACH,MAAM,QAAEtC,EAAO,MAAEuI,EAAK,KAAEjF,EAAI,KAAEtC,GAASW,KAAKjF,MAAMuE,OAC5CsU,EAAsB7S,GAAAA,CAAW,kBAAmBf,KAAKjF,MAAMuE,OAAOrG,WACtE6I,EAAWH,GAAQA,EAAKG,SAAWH,EAAKG,SAAW,GACzD9B,KAAKjG,QAAQ6H,cAAcC,MAAQC,EACnC9B,KAAK+B,YAAa5H,EAAAA,EAAAA,wBAAuB6F,KAAKtH,iBAAkBsH,KAAKjG,SACrE,MAAM6G,EAAS,OACRZ,KAAKjF,OAAK,IACbsD,QAAS2B,KAAK6T,eAAexV,GAC7BuI,MAAO5G,KAAK8T,mBAAmBlN,GAC/BvH,KAAMW,KAAK+T,YAAY1U,GACvByC,SAAU9B,KAAKgU,gBAAgBrS,GAC/BsS,aAAcjU,KAAKkU,YAAYvS,GAE/BgS,WAAY,CACR7S,YAAad,KAAKjF,MAClB9B,UAAW2a,GAGfO,iBAAkB,CACdlb,UAAW,sBAGfmb,cAAe,CACXnb,UAAW,8BAIfob,KAAM1S,GACFA,EAAKO,SACLP,EAAKO,QAAQC,gBAAc,GACvByB,IAAK,IACLvB,KAAM,OACNpJ,UAAW,kBACXkN,KAAMxE,EAAKO,QAAQC,eACnBvF,MAAOkF,EACP,aAAcH,EAAKM,UACnBhC,OAAQ0B,EAAKS,aAAe,cAAWkS,EACvCja,SAASsS,EAAAA,EAAAA,kBAAiB3M,KAAKtH,iBAAkBsH,KAAKjG,QAAS+H,IAC5D9B,KAAK+B,YAEhB9I,UAAW2a,IAGf,OAAO5T,KAAKjF,MAAMqG,WAAWR,GASzBsT,YAAYvS,GAChB,GAAIA,EAAM,CACN,MAAMG,EAAWH,EAAKG,SAAWH,EAAKG,SAAW,GAG3CE,EAAoC,CACtCC,UAAWN,EAAKM,UAChBhJ,UAAW,kBACX6I,SAAAA,EACAI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAM,OACNC,qBAAsBtC,KAAK+B,WAC3B1H,SAASsS,EAAAA,EAAAA,kBAAiB3M,KAAKtH,iBAAkBsH,KAAKjG,QAAS+H,IAEnE,OACInK,EAAAA,cAACyH,EAAAA,GAAa,CACVuC,KAAMK,EACNf,UAAW,CAAEwB,aAAczC,KAAK4C,qBAAsBrH,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAIrG,OAAO,KAGH6S,gBAAgBrS,GACpB,OAAKA,GAASA,EAAKG,SAIZnK,EAAAA,cAAAA,OAAAA,CAAMsB,UAAU,yBAAyB0I,EAAKG,UAH1C,KAMP+R,eAAexV,GACnB,OAAKA,GAAYA,EAAQgB,MAAgC,IAAxBhB,EAAQgB,KAAKpE,OAK1CtD,EAAAA,cAACyH,EAAAA,GAAa,CACVwE,IAAKvF,EAAQuF,KAAO,KACpBvE,KAAMhB,EAAQgB,KACdpG,UAAU,4BACVgI,UAAW,CAAEC,OAAQlB,KAAKD,oBAAqBxE,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAR/E,KAaP4S,YAAY1U,GAChB,OAAKA,EAID1H,EAAAA,cAACyH,EAAAA,GAAa,CACVwE,IAAI,MACJvE,KAAMA,EACNpG,UAAU,uBACVgI,UAAW,CAAEC,OAAQlB,KAAKyE,iBAAkBlJ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAP5E,KAYP2S,mBAAmB3X,EAA2BoY,GAClD,IAAKpY,IAASA,EAAK6K,KAA2B,IAApB7K,EAAK6K,IAAI/L,OAC/B,OAAO,KAUX,OACItD,EAAAA,cAACyH,EAAAA,GAAc,iBACPjD,EAAI,CACRZ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnCiG,aAAcpH,KAAKjF,MAAMM,QAAQ8F,QAAQiG,aACzCC,cAAelL,EAAKkL,eAZ0B,CAClDmN,UAAW,CACPC,GAAI,CAAEC,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCC,GAAI,CAAEH,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,IAEvCE,UAAU,GAQNrN,oBAAoB,UAAS,cAChB8M,EACbtT,UAAW,CAAE/H,IAAK8G,KAAKjF,MAAMuE,OAAOsH,OAAS,GAAIrL,eAAgByE,KAAKjF,MAAMM,QAAQ8F,SACpFwM,uBAAqB,MAMrC,oGCzLO,MAAMoH,UAAuBpd,EAAAA,cACzBgJ,SACH,MAAM,WAAEgT,GAAe3T,KAAKjF,MAC5B,OAAOpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKoV,GAAa3T,KAAKgV,eAAehV,KAAKjF,QAGrDia,eAAeja,GACnB,MAAM,QAAEsD,EAAO,iBAAE8V,EAAgB,KAAEE,EAAI,SAAEvS,EAAQ,MAAE8E,EAAK,KAAEvH,EAAI,aAAE4U,GAAiBlZ,EACjF,OAAIsD,EACO1G,EAAAA,cAACC,EAAAA,KAAI,iBAAKuc,GAAgB,IAAI9V,EAAO,KACrCgW,GAAQzN,EAEXjP,EAAAA,cAACC,EAAAA,KAAI,iBAAKyc,GACLvS,EACA8E,GAGFyN,EACAJ,EAGPtc,EAAAA,cAAAA,EAAAA,SAAAA,KACK0H,EACAuH,IAMjB,gLC3BO,MAAMqO,EAAa,CAAChc,EAAmBkG,IACnCxH,EAAAA,cAAAA,MAAAA,CAAKsB,UAAWA,GAAYkG,GAS1B+V,EAAmB,CAACC,EAA8BC,IACpDD,GAAwBxd,EAAAA,cAAAA,MAAAA,CAAKsB,UAAWmc,GAAwBD,GAW9DE,EAA8B,CACvCld,EACAmd,EACAC,EACAC,KAEA,MAAM,8BAAEC,EAA6B,2BAAEC,EAA0B,0BAAEC,GAA8Bxd,EAC3FuF,EAAkB+X,EAClBG,EAAsBF,EACtBG,EAAqBF,EAC3B,OACIhe,EAAAA,cAAAA,MAAAA,CAAKsB,UAAWuc,GACX9X,EACD/F,EAAAA,cAAAA,IAAAA,CAAGsB,UAAWsc,EAAqBpP,KAAMmP,GACpCO,GAEJD,IAoFAE,EAAqBC,GACvBpe,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,+CAA+C8c,GCrGzE,IAAqBC,EAArB,cAAmEre,EAAAA,UAC/DkI,YAAmB9E,GACf4H,MAAM5H,GAGH0F,sBAAsBC,GACzB,OAAIV,KAAKjF,QAAU2F,EAMhBC,SACH,OACIhJ,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,qDACV+G,KAAKiW,kCAAkCC,qBACvClW,KAAKiW,kCAAkCE,qBACvCnW,KAAKiW,kCAAkCG,sBAS5CH,kCACJ,MAAO,CACHC,qBAAsBjB,EAAWjV,KAAKjF,MAAMsb,8BAA+BrW,KAAKjF,MAAMmb,sBACtFE,qBACIze,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,mEACXtB,EAAAA,cAAAA,QAAAA,CACIqH,KAAMgB,KAAKjF,MAAMub,UACjBC,SAAUvW,KAAKjF,MAAMwb,SAAQ,aACjBvW,KAAKjF,MAAMkH,UACvB9C,MAAOa,KAAKjF,MAAMoE,MAClBD,KAAMc,KAAKjF,MAAMmE,QAI7BiX,qBACIxe,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,kEACT+G,KAAKjF,MAAMyb,2BAA2E,GAA9CxW,KAAKjF,MAAM0b,qCA1CpDT,GAAqC,SADzDU,EAAAA,IACoBV,GA+CpB,UC5CD,IAAqBW,EAArB,cAAyDhf,EAAAA,UACrDkI,YAAmB9E,GACf4H,MAAM5H,GAGH0F,sBAAsBC,GACzB,OAAIV,KAAKjF,QAAU2F,EAMhBC,SACH,OACIhJ,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW+G,KAAKjF,MAAM9B,WACtB+G,KAAK4W,wBAAwB1Z,MAC7B8C,KAAK4W,wBAAwBlX,MAC7BM,KAAK4W,wBAAwBxZ,OASlCwZ,wBACJ,MAAO,CACH1Z,MAAO+X,EAAWjV,KAAKjF,MAAM8b,0BAA2B7W,KAAKjF,MAAM+b,kBACnE1Z,MACIzF,EAAAA,cAAAA,MAAAA,CAAKsB,UAAU,wDACXtB,EAAAA,cAAAA,QAAAA,CACIof,IAAK/W,KAAKjF,MAAMic,eAChBhY,KAAMgB,KAAKjF,MAAMub,UACjBC,SAAUvW,KAAKjF,MAAMwb,SAAQ,aACjBvW,KAAKjF,MAAMkH,UACvB9C,MAAOa,KAAKjF,MAAMoE,MAClBD,KAAMc,KAAKjF,MAAMmE,QAI7BQ,MACI/H,EAAAA,cAAAA,MAAAA,CAAKsB,UAAW+G,KAAKjF,MAAMkc,qBACtBjX,KAAKjF,MAAMmc,iBAAmBlX,KAAKjF,MAAMoc,YAAYnX,KAAKjF,MAAMmE,MAAQ,GACxEc,KAAKjF,MAAMqc,kBAAoBpX,KAAKjF,MAAMoc,YAAYnX,KAAKjF,MAAMmE,MAAQ,OA5CzEyX,GAA2B,SAD/CD,EAAAA,IACoBC,GAiDpB,+kBCrCD,IAAKU,GAAL,SAAKA,GACDA,EAAAA,MAAAA,QACAA,EAAAA,YAAAA,cAFJ,CAAKA,IAAAA,EAAuB,KAsC5B,MAAMC,UAAoB3f,EAAAA,cAetBkI,YAAmB9E,GACf4H,MAAM5H,GAXH,KAAAwc,cAAwB,EAMvB,KAAAC,oBAA8B,EAE9B,KAAAC,0BAAqD,GAoLtD,KAAAhT,iBAAoBnK,IACvB0F,KAAKjF,MAAMuE,OAAOjB,QAASgB,KAAO/E,EAAM2F,OAAOd,OAO5C,KAAAuF,sBAAyBpK,IAC5B,MAAM,OAAEgF,GAAWU,KAAKjF,MACxBuE,EAAOqF,UAAYrK,EAAM2F,OAAOd,OAepB,KAAAuY,aAAe,KAC3B,MAAM,OAAEpY,EAAM,QAAEjE,GAAY2E,KAAKjF,OAC3B,cAAEO,GAAkBD,GACpB,qBAAEiH,EAAoB,YAAEqV,EAAW,MAAEra,GAAU0C,KAAKoL,MACpDwM,EAAmBta,GACnB,gCAAEua,GAAoCvY,EACtCwY,OAAsDxD,IAApCuD,EAAgDA,EAAkC,GAE1G,GADyB7X,KAAK+X,2BACjB,CAAC,IAAD,EACT,MAAMC,EAAqC1c,EACrC2c,EAA0E,QAA1D,EAAG7Y,EAAAA,GAAoB,eAAgB4Y,UAAmB,QAAI,GACpF,GAAIC,EAAkB,CAClB,MAAMC,EAAU,IAAIjS,IAAI5F,OAAO6F,SAASiS,QAClCC,EAAc,IAAInS,IAAIgS,EAAkBC,GACxCG,EAAmBD,EAAYhS,aAErCiS,EAAiBhS,IAAI,iBAAkBsR,GACvCU,EAAiBhS,IAAI,eAAgByR,GACrCO,EAAiBhS,IAAI,gBAAiBuR,GAElC5S,EAAAA,gBAAAA,YAA4B1C,IAC5BA,EAAqBxJ,KAAI,CAACqD,EAAMnD,KAC5B,MAAMsf,EAAaC,EAAAA,iBAAAA,mBAAoCpc,EAAK8F,WAEtD,GADA9F,EAAK8F,UAAUuW,QAAQ,IAAK,IAAIC,oBAEhCC,EAAcH,EAAAA,iBAAAA,mBAAoCpc,EAAKuc,YAAgC,GAAlBvc,EAAKuc,WAGhF,OAFAL,EAAiBhS,IAAI,QAAQrN,EAAQ,QAASsf,GAC9CD,EAAiBhS,IAAI,QAAQrN,EAAQ,SAAU0f,GACxCvc,KAIfkE,OAAO6F,SAASyS,OAAOP,EAAY1N,eAS/B,KAAA6L,SAAYjc,IAAoD,QAC5E,MAAM,qBAAEgI,GAAyBtC,KAAKoL,OAChC,OAAE9L,GAAWU,KAAKjF,OAClB,gCAAE8c,GAAoCvY,EACtCJ,EAAO5E,EAAM2F,OAAOf,MAAQ,GAC5BC,EAAQ7E,EAAM2F,OAAOd,OAAS,GACpCa,KAAKwX,oBAAsBe,EAAAA,iBAAAA,mBAAoE,QAAjC,EAACvY,KAAK4Y,oBAAoBC,eAAO,aAAhC,EAAkC1Z,OACjGa,KAAKuX,cAAgBgB,EAAAA,iBAAAA,mBAA8D,QAA3B,EAACvY,KAAK8Y,cAAcD,eAAO,aAA1B,EAA4B1Z,OAExB,UAAzD0Y,MAAAA,OAA+B,EAA/BA,EAAiCY,uBACjCzY,KAAKuX,cAAe,GAGxBvX,KAAK+Y,SAAS,CAAE5D,qBAAsB,KACtC,MAAM6D,EAA2D,GACjE,IAAIC,GAAkC,EAClCC,GAA4C,EAEhD,IAAK,MAAM/c,KAAQmG,EAAsB,CACrC,MAAMgW,EAAoBnc,EAAK8F,UAAUuW,QAAQ,IAAK,IAClDF,EAAUG,sBAAwBvZ,EAAKuZ,oBACvCO,EAAyBzW,KAAK,CAC1B4W,UAAWhd,EAAKgd,UAChBC,kBAAkB,EAClBV,WAAYvZ,EACZ8C,UAAW9F,EAAK8F,UAChBoX,4BAA6Bld,EAAKkd,8BAGtCL,EAAyBzW,KAAK,CAC1B4W,UAAWhd,EAAKgd,UAChBC,iBAAkBjd,EAAKid,iBACvBV,WAAYvc,EAAKuc,WACjBzW,UAAW9F,EAAK8F,UAChBoX,4BAA6Bld,EAAKkd,8BAGtCf,EAAUG,uBAAwBZ,MAAAA,OAA+B,EAA/BA,EAAiCY,uBACnES,GAAmC,GAI3C,IAAK,MAAMxa,KAASsa,EACZT,EAAAA,iBAAAA,mBAAoC7Z,EAAMga,cAC1CO,GAAyB,GAMjC,GAFAjZ,KAAK+Y,SAAS,CAAEzW,qBAAsB0W,KAEjCE,EACD,OAAQha,EAAKuZ,qBACT,KAAKpB,EAAwBiC,YACzBtZ,KAAK+Y,SAAS,CACVpB,YAAaxY,EACboa,kBAAkB,EAClBC,YAAY,IAEhB,MAEJ,KAAKnC,EAAwB/Z,MACzB0C,KAAK+Y,SAAS,CACVzb,MAAO6B,EACPsa,cAAc,EACdC,mBAAmB,EACnBF,YAAY,IAEhB,MAEJ,QACIxZ,KAAK+Y,SAAS,CAAES,YAAY,IAMpCxZ,KAAKwX,oBACLxX,KAAKuX,cACL0B,GACAjZ,KAAKoL,MAAMuO,qBACV3Z,KAAKoL,MAAMwO,6BAEZ5Z,KAAK+Y,SAAS,CAAEc,YAAY,IAE5B7Z,KAAK+Y,SAAS,CAAEc,YAAY,KAwBnB,KAAAC,aAAgB7gB,IAC7B,MACId,WAAW,uCAAE4hB,EAAsC,oCAAEC,IACrDha,KAAKjF,OAEH,aAAE0e,EAAY,MAAEnc,EAAK,kBAAEoc,EAAiB,WAAEF,GAAexZ,KAAKoL,MAChEqO,IACAzZ,KAAKia,qBAAuBD,IAG3BzB,EAAAA,iBAAAA,cAA+Bjb,IAAUoc,IAC1C1Z,KAAKka,4BAA8BH,GAGvC,MAAMI,EAAiBX,EACjBY,EAAoBV,EACpBW,EAAoBphB,EAAUwf,sBAAwBpB,EAAwB/Z,MACpF,OACI3F,EAAAA,cAAAA,EAAAA,SAAAA,KACKwiB,GACGxiB,EAAAA,cAAAA,OAAAA,CAAMsB,UAAW,GAAGA,WAAoBoJ,KAAK,SACxCrC,KAAKia,sBAGbG,GAAqBC,GAClB1iB,EAAAA,cAAAA,OAAAA,CAAMsB,UAAW,GAAGA,WAAoBoJ,KAAK,SACxCrC,KAAKka,+BAYT,KAAAI,wBAA2BrhB,IACxC,MACId,WAAW,6CAAEoiB,EAA4C,oCAAEP,IAC3Dha,KAAKjF,OAEH,iBAAEwe,EAAgB,WAAEC,GAAexZ,KAAKoL,MAC9C,OACIzT,EAAAA,cAAAA,EAAAA,SAAAA,KACK6hB,GACG7hB,EAAAA,cAAAA,OAAAA,CAAMsB,UAAW,GAAGA,WAAoBoJ,KAAK,SACxC2X,GAGRT,GACG5hB,EAAAA,cAAAA,OAAAA,CAAMsB,UAAW,GAAGA,WAAoBoJ,KAAK,SACxCkY,KAkCJ,KAAAC,wBAA0B,KACvC,MAAM,MAAEld,EAAK,aAAEmc,EAAY,kBAAEC,GAAsB1Z,KAAKoL,OAEpD9L,QAAQ,gCAAEuY,GACV1f,WAAW,sBAAEsiB,EAAqB,0BAAEC,IACpC1a,KAAKjF,MAET,OAAQ8c,GACJ,IAAI,OACA,OACJ,IAAI,QACJ,QACI,OACIlgB,EAAAA,cAACgf,EAA2B,CACxBK,eAAgBhX,KAAK8Y,cACrB7W,UAAWyY,EACXzhB,UAAU,yCACVqd,UAAU,OACVnX,MAAO7B,EACP4B,KAAMmY,EAAwB/Z,MAC9BwZ,iBAAkB2D,EAClB5D,0BAA0B,sDAC1BI,oBAAoB,4DACpBC,iBAAkBuC,EAClBrC,kBAAmBsC,EACnBvC,YAAanX,KAAK8Z,aAClBvD,SAAUvW,KAAKuW,aAUlB,KAAAoE,2BAA6B,KAC1C,MAAM3B,EAA2D,GACjE,IAAK,MAAM7c,KAAQ6D,KAAKoL,MAAM9I,qBAAsB,CAChD,MAAMsY,GAAyBrC,EAAAA,iBAAAA,mBAAoCpc,EAAKuc,cH/f7CxZ,EG+fmF/C,EAAKuc,WH9f7G,IAAImC,OAAO,2BAA4B,KACxCC,KAAK5b,IG8fV8Z,EAAyBzW,KAAK,CAC1B4W,UAAWhd,EAAKgd,UAChBC,iBAAkBwB,EAClBlC,WAAYvc,EAAKuc,WACjBzW,UAAW9F,EAAK8F,UAChBoX,4BAA6Bld,EAAKkd,8BHrgBXna,IAAAA,EGwgB/B,OAAO8Z,GAOM,KAAAjB,yBAA2B,KACxC,MAAM,OAAEzY,GAAWU,KAAKjF,OAClB,YAAE4c,EAAW,MAAEra,GAAU0C,KAAKoL,OAC9B,gCAAEyM,GAAoCvY,EAC5C,IAAI0Z,EAA2D,GAC3D+B,GAAU,EACVC,GAAY,EAEhB,GAAIhW,EAAAA,gBAAAA,YAA4BhF,KAAKoL,MAAM9I,sBAAuB,CAC9D0W,EAA2BhZ,KAAK2a,6BAChC,IAAK,MAAMxe,KAAQ6c,EACV7c,EAAKid,mBACN4B,GAAY,GAIhBA,GACAhb,KAAK+Y,SAAS,CACVzW,qBAAsB0W,EACtBa,YAAY,IAyCxB,OApCItB,EAAAA,iBAAAA,mBAAoCZ,GACpC3X,KAAK+Y,SAAS,CACVQ,kBAAkB,EAClBC,YAAY,EACZK,YAAY,IAETlC,EAAYsD,SAAWtD,EAC9B3X,KAAK+Y,SAAS,CACVQ,kBAAkB,EAClBC,YAAY,EACZK,YAAY,IAGe,UAA/BhC,GACAU,EAAAA,iBAAAA,mBAAoCjb,GAEpC0C,KAAK+Y,SAAS,CACVU,cAAc,EACdD,YAAY,EACZK,YAAY,IAEsB,UAA/BhC,GHrkBUva,CAAAA,GAClB4d,EAAAA,WAAAA,aAAAA,KAA6B5d,GGokB0D6d,CAAa7d,GAK5F0d,IAAchb,KAAKoL,MAAMuO,oBAAsB3Z,KAAKoL,MAAMwO,6BACjE5Z,KAAK+Y,SAAS,CACVc,YAAY,KAGhB7Z,KAAK+Y,SAAS,CACVc,YAAY,IAEhBkB,GAAU,GAZV/a,KAAK+Y,SAAS,CACVW,mBAAmB,EACnBG,YAAY,IAYbkB,GAxiBP/a,KAAK4Y,oBAAsBjhB,EAAAA,YAC3BqI,KAAK8Y,cAAgBnhB,EAAAA,YACrB,MAAM,OAAE2H,GAAWU,KAAKjF,OAClB,kCAAEqgB,GAAsC9b,EACxC0Z,EAA2D,GAEjE,GAAIoC,EACA,IAAK,MAAMjf,KAAQif,EAAmC,CAAC,IAAD,MAClDpC,EAAyBzW,KAAK,CAC1B4W,UAAyB,QAAhB,EAAEhd,EAAKgd,iBAAS,QAAI,GAC7BC,kBAAkB,EAClBV,WAAY,GACZzW,UAAyB,QAAhB,EAAE9F,EAAK8F,iBAAS,QAAI,GAC7BoX,4BAAmD,QAAxB,EAAEld,EAAKkf,yBAAiB,QAAI,KAKnErb,KAAKoL,MAAQ,CACTuM,YAAa,GACbra,MAAO,GACPic,kBAAkB,EAClBE,cAAc,EACdC,mBAAmB,EACnBF,YAAY,EACZK,YAAY,EACZF,oBAAoB,EACpBC,8BAA8B,EAC9BzE,qBAAsB,GACtB7S,qBAAsB0W,GAIvBrY,SAAM,QACT,MACIrB,QAAQ,UAAEqF,EAAS,QAAEtG,GAAS,UAC9BlG,EAAS,QACTkD,GACA2E,KAAKjF,OAEH,8BACFugB,EAA6B,uBAC7BC,EAAsB,yBACtBC,EAAwB,4BACxBC,EAA2B,gCAC3BC,EAA+B,2BAC/BC,EAA0B,uCAC1B5F,GACA5d,GAEE,qBAAEgd,EAAoB,WAAE0E,EAAU,YAAElC,EAAW,iBAAE4B,GAAqBvZ,KAAKoL,MAE3EwQ,EAAcrD,EAAAA,iBAAAA,cAA+Bla,MAAAA,OAAO,EAAPA,EAASgB,MAAQic,EAAgCjd,MAAAA,OAAO,EAAPA,EAASgB,KACvGwc,EAAyB,QAAf,EAAGxd,MAAAA,OAAO,EAAPA,EAASuF,WAAG,QAAI,KAE7B9D,EAAkB,kBAClBgc,EAAgC,2BAEhCC,EAA2B,iCAC3BC,EAA+C,GAAGD,iCAClDE,EAAiC,GAAGF,YACpCG,EAA4B,GAAGD,wBAC/BE,EAAiC,GAAGF,8BACpCG,EAAwB,GAAGL,YAE3BvG,EAA0B,mCAC1B6G,EAAsB,GAAG7G,0BAEzB8G,EACF3kB,EAAAA,cAACyH,EAAAA,GAAa,CACVnG,UAb4B,oCAc5B2K,IAAKiY,EACLxc,KAAMuc,EACN3a,UAAW,CAAEC,OAAQlB,KAAKyE,iBAAkBlJ,eAAgByE,KAAKjF,MAAMM,QAAQ8F,WAIjFP,EAAS,OACRZ,KAAKjF,OAAK,IACbwhB,YAAa,CACTzb,YAAad,KAAKjF,MAClB9B,UAAW6G,GAGf0c,qBAAsB,CAClBvjB,UAAW6iB,GAEfW,oCAAqC,CACjCxjB,UAAW+iB,GAEfrX,UAAWA,GAAa3E,KAAK0c,iBAAiB/X,GAC9CtG,QAASie,EAETK,4BAA6B3c,KAAKwa,0BAClCoC,gBAAiB,CACb3jB,UAAW8iB,EACXnY,IAAK,OACL,aAAc4X,EACdtc,KAAM,kBACNmD,KAAM,OACNwa,aAAc,MACdC,SAAU9c,KAAK0X,cAEnBqF,iBACIplB,EAAAA,cAACgf,EAA2B,CACxBK,eAAgBhX,KAAK4Y,oBACrB3W,UAAWyZ,EACXziB,UAAWgjB,EACX3F,UAAU,OACVnX,MAAOwY,EACPzY,KAAMmY,EAAwBiC,YAC9BxC,iBAAkB2E,EAClB5E,0BAA2BqF,EAC3BjF,oBAAqBkF,EACrBjF,kBAAkB,EAClBE,kBAAmBmC,EACnBpC,YAAanX,KAAKsa,wBAClB/D,SAAUvW,KAAKuW,WAIvByG,aAAc,CACV/jB,UAAWmjB,EACXxY,IAAKxJ,EAAAA,OACL,aAAcuhB,EACd3c,KAAM,SACNqD,KAAM,SACNzF,MAAO2e,EACPlhB,QAAS2F,KAAK0X,aACd7c,SAAUgf,GAGdoD,sBAAuB1B,EACvBpe,aAAc+X,EAAiBC,EArEA,kCAsE/B+H,oBACMld,KAAKoL,MAAMuO,oBAAsB3Z,KAAKoL,MAAMwO,+BAC9C9D,EAAkBC,GACtBoH,sBAAuB9H,EACnBld,EAC8B,QADrB,EACTkD,EAAQ8F,QAAQic,KAAK9H,iBAAS,QAAI,GAClC+G,EACA7G,GAEJe,SAAUvW,KAAKuW,SACf8G,OAAQrd,KAAK0X,aACbpV,qBAAsBtC,KAAKsd,4BAE/B,OAAOtd,KAAKjF,MAAMqG,WAAWR,GAG1B,0BAAuB,QAC1B,MAAM,OAAEtB,EAAM,QAAEjE,GAAY2E,KAAKjF,OAC3B,cAAEO,GAAkBD,GACpB,gCAAEwc,EAA+B,kCAAEuD,GAAsC9b,EAC/E,IAAIie,GAA6C,EAC7CC,GAAmC,EAEvC,MAAMC,QAAkCC,EAAAA,2BAAAA,+BAA0D,CAAEnT,cAAejP,IACnH0E,KAAKyX,0BACoH,QAD3F,EACmE,QADnE,EAC1BgG,EAA0BE,MAAKxhB,GAA0B,sCAAlBA,EAAKyhB,kBAAiD,aAA7F,EAA+FC,8BAAsB,QAAI,GAE7H,MACMC,EAA2E1C,MAAAA,EAAAA,EAAqC,GAEtHoC,EH5LgC,EACpCO,EACAtG,KAEA,IAAIuG,GAAwB,EAC5B,IAAK,MAAM7hB,KAAQsb,EACf,GAAItb,EAAKxB,KAAK8d,sBAAwBsF,EAA2BtF,oBAE7D,OADAuF,GAAe,EACRA,EAGf,OAAOA,GGiLuBC,CAHWpG,MAAAA,EAAAA,EAAmC,GAGC7X,KAAKyX,2BAC9E8F,EH/J0C,EAC9CW,EACAzG,KAEA,IAAI0G,GAAkC,EAYtC,OAXInZ,EAAAA,gBAAAA,YAA4BkZ,GAC5BA,EAAsCplB,KAAIqD,IAAO,MAC7C,MAAMiiB,EAAgC,QAAxB,EAAWjiB,EAAKiiB,gBAAQ,QAAI,GAI1C,OAHKD,IACDA,EAnBgC,EAAChf,EAAesY,KACpDA,EAA0B4G,MAAKliB,GAAQA,EAAKxB,KAAK8d,sBAAwBtZ,EAAMsZ,sBAkBlD6F,CAAiCF,EAAU3G,IAEjE0G,KAGXA,GAAyB,EAEtBA,GG+IiCI,CAChCT,EACA9d,KAAKyX,2BAETzX,KAAKwe,oBAAoBhB,EAAyBD,GAyB/CiB,oBAAoBR,EAAuBG,GAC9Cne,KAAK+Y,SAAS,CAAEY,mBAAoBqE,EAAcpE,6BAA8BuE,IAuI5EzB,iBAAiBrd,GACrB,MAAM,QAAEhE,GAAY2E,KAAKjF,OACnB,QAAEoG,GAAY9F,EACpB,OAAKgE,EAID1H,EAAAA,cAACyH,EAAAA,GAA0B,CACvBC,KAAMA,EACNpG,UAAU,iCACVgI,UAAW,CAAEC,OAAQlB,KAAK0E,sBAAuBnJ,eAAgB4F,KAN9D,KA4EPmc,0BACJ,MAAM,qBAAEhb,GAAyBtC,KAAKoL,MAChCqT,EAAuC,GAC7C,IAAK,MAAMtiB,KAAQmG,EAAsB,CACrC,MAAMpD,EAAe/C,EAAK8F,UAAUuW,QAAQ,IAAK,IACjDiG,EAAsBlc,KAClB5K,EAAAA,cAACqe,EAAqC,CAClC/c,UAAWiG,EAAKuZ,oBAChBxW,UAAW9F,EAAK8F,UAChBqU,UAAU,OACVnX,MAAOhD,EAAKuc,WACZxZ,KAAMA,EAAKuZ,oBACXvC,qBAAsB/Z,EAAKgd,UAC3B9C,8BAA8B,2DAC9BG,2BAA4Bra,EAAKid,iBACjC3C,iCAAkCta,EAAKkd,4BACvC9C,SAAUvW,KAAKuW,YAI3B,OAAOkI,GA8Hf,qHCzoBO,MAAMC,EAA4D3jB,IAAQ,QAC7E,MAAM,YACFwhB,EAAW,qBACXC,EAAoB,oCACpBC,EAAmC,QACnCpe,EAAO,UACPsG,EAAS,gBACTiY,EAAe,4BACfD,EAA2B,iBAC3BI,EAAgB,aAChB5f,EAAY,aACZ6f,EAAY,qBACZ1a,EAAoB,sBACpB6a,EAAqB,kBACrBD,GACAniB,EACJ,OACIpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKge,GACR5kB,EAAAA,cAACC,EAAAA,KAAI,iBAAK4kB,GACLne,EACAsG,EACDhN,EAAAA,cAACC,EAAAA,KAAI,CAACqB,UAAqC,QAA5B,EAAE2jB,MAAAA,OAAe,EAAfA,EAAiB3jB,iBAAS,QAAI,IAC1C8jB,EACAJ,EACA3X,EAAAA,gBAAAA,YAA4B1C,IACzB3K,EAAAA,cAACC,EAAAA,KAAI,iBAAK6kB,GACLna,EAAqBxJ,KAAKqD,GACvBxE,EAAAA,cAACA,EAAAA,SAAc,CAACuB,IAAI,IAAIiD,MAInC+gB,EACDvlB,EAAAA,cAACC,EAAAA,KAAI,iBAAKolB,EAAY,CAAE/jB,UAAkC,QAAzB,EAAE+jB,MAAAA,OAAY,EAAZA,EAAc/jB,iBAAS,QAAI,KACzD8B,EAAMkiB,uBAEV9f,GAEJggB,KAMjB,0sBCpBA,MAAMwB,UAAmBhnB,IAAAA,cAcrBkI,YAAmB9E,GACf4H,MAAM5H,GAdO,KAAA6jB,YAAsB,oBAEtB,KAAAC,2BAAqC,OAgHrC,KAAAC,aAAgBxkB,IAC7B,MAAMpB,EAAMoB,EAAMykB,QAClB,GAAI/e,KAAKoL,MAAM4T,kBACX,OAAQ9lB,GACJ,KAAK+lB,EAAAA,SAAAA,OACDC,YAAW,KAAK,YACZ,MAAMC,EAAYlW,UAAYA,SAASmW,cAIpC,IAAD,KAF4B,QAA1B,EAAApf,KAAKqf,6BAAqB,OAAS,QAAT,EAA1B,EAA4BxG,eAAO,OAAnC,EAAqCyG,SAASH,IACtB,QADgC,EACxDnf,KAAKuf,2BAAmB,OAAS,QAAT,EAAxB,EAA0B1G,eAAO,OAAjC,EAAmCyG,SAASH,MAE5Cnf,KAAKwf,yBACqB,QAA1B,EAAAxf,KAAKqf,6BAAqB,OAAS,QAAT,EAA1B,EAA4BxG,eAAO,OAAnC,EAAqC4G,WAE1C,IACH,MAEJ,KAAKR,EAAAA,SAAAA,IACDC,YAAW,KAAK,YACZ,MAAMC,EAAYlW,UAAYA,SAASmW,cAER,QAA3B,EAACpf,KAAKqf,6BAAqB,OAAS,QAAT,EAA1B,EAA4BxG,eAAO,OAAnC,EAAqCyG,SAASH,IACtB,QAAzB,EAACnf,KAAKuf,2BAAmB,OAAS,QAAT,EAAxB,EAA0B1G,eAAO,OAAjC,EAAmCyG,SAASH,IAE7Cnf,KAAKwf,2BAEV,IACH,MAEJ,QACI,SAMC,KAAAE,oBAAuBplB,IAAc,QAEX,QAAlC,EAAA0F,KAAKqf,sBAAsBxG,eAAO,OAAlC,EAAoCyG,SAAShlB,EAAM2F,SAAWD,KAAKoL,MAAM4T,mBACzC,QAAhC,EAAAhf,KAAKuf,oBAAoB1G,eAAO,OAAhC,EAAkCyG,SAAShlB,EAAM2F,SAAWD,KAAKoL,MAAM4T,mBAI5Ehf,KAAKwf,0BA9ILxf,KAAK2f,cAAgB3f,KAAK2f,cAAcC,KAAK5f,MAC7CA,KAAKuf,oBAAsB5nB,IAAAA,YAC3BqI,KAAKqf,sBAAwB1nB,IAAAA,YAC7BqI,KAAK6f,mBAAqB7f,KAAK6f,mBAAmBD,KAAK5f,MACvDA,KAAKwf,uBAAyBxf,KAAKwf,uBAAuBI,KAAK5f,MAC/DA,KAAK8e,aAAe9e,KAAK8e,aAAac,KAAK5f,MAC3CA,KAAK0f,oBAAsB1f,KAAK0f,oBAAoBE,KAAK5f,MACzDA,KAAK8f,gBAAkB9f,KAAK8f,gBAAgBF,KAAK5f,MACjDA,KAAK+f,SACDhlB,EAAMM,QAAQ8F,SAAWpG,EAAMM,QAAQ8F,QAAQ6e,QAAgD,WAAtCjlB,EAAMM,QAAQ8F,QAAQ6e,OAAOC,KAAoB,KAAO,KACrHjgB,KAAKoL,MAAQ,CACT4T,mBAAmB,EACnBkB,SAAUlgB,KAAKkgB,UAIb,eACN,MAAyB,OAAlBlgB,KAAK+f,UAAuC,OAAlB/f,KAAK+f,SAGnC7f,oBACsB,IAAD,MAApBwO,EAAAA,GAAAA,YACQ,QAAR,EAAAzF,gBAAQ,OAAR,EAAUkX,iBAAiB,UAAYngB,KAAK8e,cAA2C,GAC/E,QAAR,EAAA7V,gBAAQ,OAAM,QAAN,EAAR,EAAUI,YAAI,OAAd,EAAgB8W,iBAAiB,YAAangB,KAAK0f,qBACnD1f,KAAKogB,4BAA8B/f,SAAUggB,EAAAA,EAAAA,mBAAkBhgB,OAAQ,SAAUL,KAAK8f,iBACtF9f,KAAK8f,mBAINQ,uBACsB,IAAD,MAApB5R,EAAAA,GAAAA,YACQ,QAAR,EAAAzF,gBAAQ,OAAR,EAAUsX,oBAAoB,UAAYvgB,KAAK8e,cAA2C,GAClF,QAAR,EAAA7V,gBAAQ,OAAM,QAAN,EAAR,EAAUI,YAAI,OAAd,EAAgBkX,oBAAoB,YAAavgB,KAAK0f,qBAAqB,GAC3Erf,QAAUA,OAAOkgB,oBAAoB,SAAUvgB,KAAKogB,6BAA8B,IAInFzf,SAAM,QACT,MAAMC,EAAS,OACPZ,KAAKjF,OAA6C,IACtD4jB,WAAY,CACR7d,YAAad,KAAKjF,MAClB9B,UAAW8H,GAAAA,CAAW,iBAAkBf,KAAKjF,MAAMuE,OAAOrG,UAAW+G,KAAKoL,MAAM8U,SAAW,cAAgB,gBAC3Gtc,IAAK,OAET4c,eAAgB,CACZ5c,IAAK,SACL3K,UAAW,yBACX,aAAuC,QAA3B,EAAE+G,KAAKjF,MAAMuE,OAAOjB,eAAO,aAAzB,EAA2BgB,KACzC,gBAAiBW,KAAKoL,MAAM4T,kBAC5B3kB,QAAS2F,KAAKjF,MACdgc,IAAK/W,KAAKqf,uBAEdoB,mBAAoB,CAChBxnB,UAAW,uBACX2K,IAAK,QAET8c,mBAAoB,CAChBznB,UAAW,uBACXoJ,KAAM,OACNuB,IAAK,KACLmT,IAAK/W,KAAKuf,qBAEdoB,uBAAwB,CACpB1nB,UAAW,6BACXoJ,KAAM,eACNuB,IAAK,MAETgd,0BAA2B,CACvBhd,IAAKid,EAAAA,OACL5nB,UAAW,yBACX6nB,iBAA2C,QAA3B,EAAE9gB,KAAKjF,MAAMuE,OAAOjB,eAAO,aAAzB,EAA2BgB,KAC7C0hB,UAAW,8BACXC,WAAY,+BACZC,eAAgB,OAEpBC,aAAclhB,KAAKoL,MAAM8U,SACzBiB,4BAA6BnhB,KAAKohB,yBAClCC,kBAAmBrhB,KAAK6f,mBACxByB,sBAAuBthB,KAAKwf,uBAC5B+B,iBAAkBvhB,KAAKoL,MAAM4T,oBAEjC,OAAOhf,KAAKjF,MAAMqG,WAAWR,GAGzBif,qBACJ,MAAM2B,EAAyBxhB,KAAKoL,MAAM4T,kBAC1Chf,KAAK+Y,SAAS,CACViG,mBAAoBwC,IAIpBhC,yBACJxf,KAAK+Y,SAAS,CACViG,mBAAmB,IAmDnBW,cAAc8B,GAElB,GADAA,EAAEC,iBACED,EAAEE,cAAcxb,MAAQsb,EAAEE,cAAcxb,KAAKlL,OAAS,GAAKoF,OAAQ,CACnE,GAAIL,KAAKjF,MAAMM,QAAQ8F,QAAQygB,QAAQC,iBAAkB,CACrD,MAAMC,EAAe,CAAEC,OAAQ/hB,KAAK6e,4BACpC7e,KAAKjF,MAAMM,QAAQ8F,QAAQygB,QAAQvb,IAAIrG,KAAK4e,YAAa6C,EAAEE,cAAcxb,KAAM2b,GAEnFzhB,OAAO6F,SAASyS,OAAO8I,EAAEE,cAAcxb,OAIvCib,yBACJ,MAAMY,EAAuC,CACzCxN,UAAW,CACPC,GAAI,CAAEC,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCqN,GAAI,CAAEvN,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCsN,GAAI,CAAExN,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCC,GAAI,CAAEH,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCuN,GAAI,CAAEzN,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,IAEvCE,UAAU,GAERsN,EAAcpiB,KAAKjF,MAAMuE,OAAO8iB,aAAepiB,KAAKjF,MAAMuE,OAAO8iB,YACvE,OACIA,GACAA,EAAYtpB,KAAI,CAACqD,EAAMnD,KAAS,QAC5B,MAAM4N,EAAQzK,MAAAA,OAAI,EAAJA,EAAMkmB,UACdrV,EAAa,CACf5F,aAAcpH,KAAKjF,MAAMM,QAAQ8F,QAAQiG,aACzCC,cAAeT,MAAAA,GAAoB,QAAf,EAALA,EAAOS,qBAAa,OAApB,EAAsBmN,UAAY5N,EAAMS,cAAgB2a,GAE3E,OACIrqB,IAAAA,cAAAA,IAAAA,CACIuB,IAAKF,EACLC,UAAU,mCACV6N,SAAU,EACVX,KAAMhK,MAAAA,GAAqB,QAAjB,EAAJA,EAAMmmB,uBAAe,WAAjB,EAAJ,EAAuBngB,eAAc,aAC/BhG,MAAAA,OAAI,EAAJA,EAAMomB,SAClBloB,QAAS2F,KAAK2f,cACdtd,KAAK,YAEL1K,IAAAA,cAAAA,OAAAA,CAAMsB,UAAU,oCAAoCkD,MAAAA,OAAI,EAAJA,EAAMomB,UAC1D5qB,IAAAA,cAACoP,EAAAA,GAAK,CACFxL,eAAgByE,KAAKjF,MAAMM,QAAQ8F,QACnClI,UAAU,kCACVC,IAAKF,EACLgO,KAAKJ,MAAAA,OAAK,EAALA,EAAOI,MAAO,GACnBI,aAAc4F,EAAW5F,aACzBC,cAAe2F,EAAW3F,cAC1BE,QAASX,MAAAA,OAAK,EAALA,EAAOW,QAChBE,oBAAoB,OACpBkG,uBAAqB,QAQrCmS,kBACJ9f,KAAK+f,SAAW/f,KAAKwiB,eACrBxiB,KAAK+Y,SAAS,CAAEmH,SAAUlgB,KAAKkgB,WAG3BsC,eACJ,MAAM,QAAEnnB,GAAY2E,KAAKjF,MACzB,GAAIM,EAAQ8F,SAAW9F,EAAQ8F,QAAQ6e,QAA0C,WAAhC3kB,EAAQ8F,QAAQ6e,OAAOC,KACpE,MAAO,KAGX,QAAsB3L,WAAXjU,QAAwBA,OAAOoiB,WAAY,CAClD,MAAMrb,EAAe/L,EAAQ8F,QAAQiG,aACrC,GAAIA,EACA,OAAIA,EAAaqN,IAAMpU,OAAOoiB,YAAcrb,EAAaqN,GAAGE,EACjD,KACAvN,EAAa6a,IAAM5hB,OAAOoiB,YAAcrb,EAAa6a,GAAGtN,EACxD,KACAvN,EAAa8a,IAAM7hB,OAAOoiB,YAAcrb,EAAa8a,GAAGvN,EACxD,KACAvN,EAAayN,IAAMxU,OAAOoiB,YAAcrb,EAAayN,GAAGF,EACxD,KAEJ,KAGf,MAAO,OA1OX+N,EAAAA,EAAAA,IAAAA,CADCC,EAAAA,IAAU,gCAqBDD,EAAAA,EAAAA,IAAAA,CAATE,EAAAA,IAAQ,6BA0Nb,+ECvRA,QAAgB7nB,GACLpD,EAAAA,cAAAA,EAAAA,SAAAA,KAAGkrB,EAAkB9nB,IAgB1B+nB,EAA0B/nB,IAC5B,MAAM,mBAAE2lB,EAAkB,uBAAEC,EAAsB,4BAAEQ,GAAgCpmB,EAC9EgoB,EAAU5B,EAA6BroB,KAAI,CAACqD,EAAMnD,IAEhDrB,EAAAA,cAACC,EAAAA,KAAI,iBAAK+oB,EAAsB,CAAEznB,IAAKF,IAClCmD,KAIb,OACIxE,EAAAA,cAACC,EAAAA,KAAI,iBAAK8oB,EAAkB,CAAEsC,aAAcjoB,EAAMumB,wBAC7CyB,IAkBPF,EAAqB9nB,IACvB,MAAM,aAAEmmB,EAAY,WAAEvC,GAAe5jB,EACrC,OAAOpD,EAAAA,cAAC4G,EAAAA,OAAM,iBAAKogB,GAAauC,EAfTnmB,CAAAA,IAAgD,MACvE,MAAM,0BAAE6lB,GAA8B7lB,EACtC,OACIpD,EAAAA,cAACC,EAAAA,KAAI,iBAAKgpB,EAAyB,CAAEvmB,QAASU,EAAMsmB,oBAChD1pB,EAAAA,cAAAA,MAAAA,KACsC,QADtCA,EACKoD,EAAMomB,mCAA2B,aAAjC,EAAmCroB,KAAI,CAACqD,EAAMnD,IACpCrB,EAAAA,cAAAA,MAAAA,CAAKuB,IAAKF,GAAQmD,QASM8mB,CAAkBloB,GA5CzCA,CAAAA,IAA+B,MACvD,MAAM,eAAEylB,EAAc,mBAAEC,GAAuB1lB,EAC/C,OACIpD,EAAAA,cAAAA,EAAAA,SAAAA,KACIA,EAAAA,cAACC,EAAAA,KAAI,iBAAK4oB,EAAc,CAAEnmB,QAASU,EAAMsmB,oBAChB,QADiC,EACrDtmB,EAAMuE,OAAOjB,eAAO,aAApB,EAAsBgB,KACvB1H,EAAAA,cAACC,EAAAA,KAAI,iBAAK6oB,KAEb1lB,EAAMwmB,iBAAmBuB,EAAuB/nB,GAAS,OAoCQmoB,CAAmBnoB,kqBCjCjG,MAAMooB,UAAoBxrB,EAAAA,cACtBkI,YAAY9E,GACR4H,MAAM5H,GAGH4F,SACH,MAAM,MAAEyiB,GAAUpjB,KAAKjF,MAEvB,GAAIqoB,GAA2C,IAAlCA,EAAMC,iBAAiBpoB,OAEhC,OADA+E,KAAKjF,MAAMM,QAAQ4H,UAAUvD,MAAM,6DAC5B,KASX,KALIM,KAAKjF,MAAMM,QAAQ8F,SACnBnB,KAAKjF,MAAMM,QAAQ8F,QAAQygB,SAC3B5hB,KAAKjF,MAAMM,QAAQ8F,QAAQygB,QAAQC,gBACnC7hB,KAAKjF,MAAMM,QAAQ8F,QAAQygB,QAAQC,kBAGnC,OAAO,KAGX,MAAMyB,EAAS,OACRtjB,KAAKjF,OAAK,IACbooB,YAAa,CACTriB,YAAad,KAAKjF,MAClB9B,UAAW8H,GAAAA,CAAW,kBAAmBf,KAAKjF,MAAMuE,OAAOrG,YAE/DsqB,gBAAiB,CACb,aAAcvjB,KAAKjF,MAAMuE,OAAOkkB,QAChCvqB,UAAW,sBAAsB+G,KAAKjF,MAAMuE,OAAOkkB,SAAW,aAC7B,aAA7BxjB,KAAKjF,MAAMuE,OAAOmkB,YAAuC,WAAa,KAE1E7f,IAAK,KACLvB,KAAM,SAEVqhB,gBAAiB,CACbzqB,UAAW,qBACX2K,IAAK,KACLkD,SAAU,IACVzE,KAAM,QAEVshB,wBAAyBP,GAASA,EAAMC,iBAAiBpoB,OAAS,GAAKmoB,EAAMC,mBAGjF,OAAOrjB,KAAKjF,MAAMqG,WAAWkiB,IAIrC,8GCjEO,MAAMM,EAAmD7oB,IAC5D,MAAM,gBAAEwoB,EAAe,wBAAEI,EAAuB,gBAAED,EAAe,YAAEP,GAAgBpoB,EACnF,OAAuC,IAAnC4oB,EAAwB1oB,QACxBF,EAAMM,QAAQ4H,UAAUvD,MAAM,kDACvB,MAGP/H,IAAAA,cAAC4G,EAAAA,OAAM,iBAAK4kB,GACRxrB,IAAAA,cAACC,EAAAA,KAAI,iBAAK2rB,GACLI,EAAwB7qB,KAAI,CAAC+qB,EAA+B7qB,IAErDrB,IAAAA,cAACC,EAAAA,KAAI,iBAAK8rB,EAAe,CAAExqB,IAAKF,IAC3B6qB,QAS7B","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/koelliker/views/cart.view.tsx?c7ef","webpack://Msdyn365.Commerce.Online/./src/themes/koelliker/views/sign-up.view.tsx?5f9c","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-description.tsx?7378","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?81f3","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.tsx?c17e","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-apple-pay/checkout-apple-pay.tsx?f243","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-apple-pay/checkout-apple-pay.view.tsx?222d","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/links.tsx?abbf","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.tsx?3084","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.view.tsx?1773","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.tsx?074a","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/* tslint:disable: no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ICartlinesViewProps,\r\n ICartResources,\r\n ICartViewProps\r\n} from '@msdyn365-commerce-modules/cart';\r\n\r\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\r\nimport {Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent, Node, TelemetryConstant} from '@msdyn365-commerce-modules/utilities';\r\n\r\nconst CartView: React.FC = (props: ICartViewProps) => (\r\n
\r\n {props.title}\r\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\r\n {props.multiplePickUpEnabled ? _renderCartLinesGroup(props, props.resources) :\r\n \r\n {_renderCartlines(props.cartlines, props.resources, props.storeSelector, props.backToShoppingButton, props.waitingComponent, props.cartLoadingStatus,\r\n props.cartDataResult, props.checkoutAsSignInUserButton)}\r\n { /* props.orderSummaryHeading &&\r\n \r\n {props.checkoutAsSignInUserButton}\r\n \r\n */}\r\n \r\n }\r\n {props.storeSelector}\r\n
\r\n);\r\n\r\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\r\n return (\r\n \r\n \r\n {promotions.promotionMessage}\r\n {promotions.promotionSeeAllLink}\r\n {promotions.promotionDialog}\r\n \r\n\r\n \r\n );\r\n\r\n};\r\n\r\nconst _renderCartlines = (cartLines: ICartlinesViewProps[] | undefined, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n backToShoppingButton: React.ReactNode, waitingComponent: React.ReactNode, cartLoadingStatus: string,cartDataResult: boolean, checkoutAsSignInUserButton?: React.ReactNode,\r\n telemetryContent?: ITelemetryContent, mulitplePickUp?: boolean, emailDeliveryModeCode?: string): JSX.Element[] | JSX.Element => {\r\n\r\n const { emptyCartText } = resources;\r\n\r\n if (cartLoadingStatus) {\r\n return <>{cartLoadingStatus};\r\n }\r\n if (cartLines) {\r\n return cartLines.map((cartLine, index) => {\r\n return (\r\n
\r\n
\r\n {cartLine.cartline}\r\n
\r\n {checkoutAsSignInUserButton}\r\n
\r\n\r\n
\r\n
\r\n {mulitplePickUp ? null :\r\n _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\r\n {\r\n mulitplePickUp ? (\r\n \r\n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\r\n {cartLine.remove}\r\n \r\n )\r\n : cartLine.addToOrderTemplate ? (\r\n \r\n {cartLine.remove}\r\n \r\n ) : (\r\n <>\r\n {cartLine.remove}\r\n \r\n )\r\n }\r\n
\r\n
\r\n {checkoutAsSignInUserButton}\r\n
\r\n
\r\n );\r\n });\r\n } else {\r\n return (cartDataResult ?\r\n (\r\n
\r\n

{emptyCartText}

\r\n {backToShoppingButton}\r\n
\r\n ) : <>{waitingComponent}\r\n );\r\n }\r\n};\r\n\r\n\r\nconst _renderGroupBOPISBlock = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined, telemetryContent?: ITelemetryContent, emailDeliveryModeCode?: string): JSX.Element | null => {\r\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\r\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\r\n return null;\r\n }\r\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\r\n\r\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\r\n const toggleBopis = (event: React.MouseEvent) => { return cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected); };\r\n const changeStore = (event: React.MouseEvent) => { return cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true); };\r\n const payLoad = getPayloadObject('click',telemetryContent!, TelemetryConstant.PickupInStore);\r\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n \r\n {isBopisSelected ? : null }\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderBOPISBlock = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined, telemetryContent?: ITelemetryContent, emailDeliveryModeCode?: string): JSX.Element | null => {\r\n // If it is electronic item cart line, then return null for BOPISBlock.\r\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\r\n return null;\r\n }\r\n\r\n const { shipInsteadDisplayText, pickItUpDisplayText, changeStoreDisplayText } = resources;\r\n const bopisName = cartLine.data?.cartline?.ShippingAddress?.Name;\r\n // const bopisAddress = cartLine.data?.cartline?.ShippingAddress?.FullAddress;\r\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\r\n const toggleBopis = (event: React.MouseEvent) => { return cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected); };\r\n const changeStore = (event: React.MouseEvent) => { return cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true); };\r\n const payLoad = getPayloadObject('click',telemetryContent!, TelemetryConstant.PickupInStore);\r\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n ) }\r\n\r\n
\r\n \r\n\r\n
\r\n );\r\n};\r\n\r\n\r\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources,): JSX.Element | undefined => {\r\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\r\n return (\r\n
\r\n { props.cartLinesGroup?.map(cartlines => {\r\n // tslint:disable-next-line:jsx-key\r\n return (\r\n
\r\n {_renderCartLinesGroupHeader(cartlines[0],props.storeSelector, resources, _countItems(cartlines),props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode)}\r\n {_renderCartlines(cartlines, props.resources, props.storeSelector, props.backToShoppingButton, props.waitingComponent, props.cartLoadingStatus, props.cartDataResult)}\r\n
);\r\n })\r\n }\r\n
\r\n );\r\n } else {\r\n return (props.cartDataResult ?\r\n (\r\n
\r\n
\r\n

{props.resources.emptyCartText}

\r\n {props.backToShoppingButton}\r\n
\r\n
\r\n ) : <>{props.waitingComponent}\r\n );\r\n }\r\n};\r\n\r\nconst _renderCartLinesGroupHeader = (cartLine: ICartlinesViewProps, storeSelector: React.ReactNode | undefined, resources: ICartResources,count: number,emailDeliveryModeCode?:string) => {\r\n const isBopisSelected = cartLine?.pickUpInStore?.isBopisSelected;\r\n const { pickUpText, shippingText, emailshippingText } = resources;\r\n let groupTitle:string;\r\n\r\n groupTitle = isBopisSelected ? pickUpText: shippingText;\r\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText: groupTitle;\r\n\r\n return (\r\n \r\n
\r\n {

}\r\n {

{groupTitle}

}\r\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\r\n let countItem = 0;\r\n countItem = cartLine.reduce((count, item) => {\r\n return count + (item.data?.cartline.Quantity || 0);\r\n // tslint:disable-next-line:align\r\n }, 0);\r\n return countItem;\r\n};\r\n\r\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources,count: number) => {\r\n const isBopisSelected = cartLine?.pickUpInStore?.isBopisSelected;\r\n const { itemLabel, itemsLabel } = resources;\r\n const suffix = count > 1 ? itemsLabel : itemLabel;\r\n return (\r\n \r\n \r\n {isBopisSelected ?

{cartLine?.pickUpInStore?.deliveryOption}{', '}{cartLine?.pickUpInStore?.orgUnitName}

: null}\r\n {

({count} {suffix})

}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CartView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification, ISignUpItem, ISignUpLoading, ISignUpLocalAccount, ISignUpViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-up/./sign-up';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nconst SignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n}) => {\r\n\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({\r\n email,\r\n buttonWrapper,\r\n buttons,\r\n successMessage,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {successMessage && successMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n {buttons && buttons.map((button: React.ReactNode) => {\r\n return (\r\n <>\r\n {button}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n emailVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer,\r\n},props) => {\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n {buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n
\r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC = props => {\r\n\r\n const {\r\n signUp,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n signUpLocalAccount\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpLocalAccount,props)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountInvoiceTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-invoice-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountInvoiceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: description && \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountInvoiceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n
\n );\n }\n}\n\nexport default CatalogPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport { retrieveCardPaymentAcceptResultAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CartsDataActions.g';\nimport classNames from 'classnames';\nimport * as React from 'react';\n\nimport { CardPaymentAcceptPoint } from '@msdyn365-commerce/retail-proxy';\nimport { ICheckoutApplePayData } from './checkout-apple-pay.data';\nimport { ICheckoutApplePayProps } from './checkout-apple-pay.props.autogenerated';\n\ninterface ICheckoutApplePayState {\n paymentConnectorId?: string;\n}\n\ninterface IValidationEvent {\n validationUrl: string;\n}\n\ninterface IAppleSessionHandler {\n onValidation(resolve: (result: string) => void, reject: () => void, validationEvent: IValidationEvent): void;\n onAuthorize(): void;\n onCancel(): void;\n onPaymentMethodUpdate?(): void;\n onShippingMethodUpdate?(): void;\n}\n\nexport interface ICheckoutApplePayViewProps extends ICheckoutApplePayProps<{}>, ICheckoutApplePayState {\n className?: string;\n checkoutApplyPay: IModuleProps;\n applePayButton?: React.ReactNode;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare const window: any;\n\n/**\n *\n * CheckoutApplePay component\n * @extends {React.PureComponent>}\n */\nexport class CheckoutApplePay extends React.PureComponent, ICheckoutApplePayData> {\n private readonly moduleClassName: string = 'ms-checkout-apple-pay';\n private readonly applePaySdkId = 'd365-apple-pay-sdk';\n\n public constructor(props: ICheckoutApplePayProps) {\n super(props);\n }\n\n public componentDidMount() {\n // load JS portion of payment connector for ApplePay\n this.props.data.cardPaymentAcceptPoint?.then(res => this.loadPaymentConnectorSdk(res));\n\n // load official ApplePay JS SDK.\n const script = document.createElement('script');\n script.src = 'https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js';\n script.async = false;\n script.onerror = () => console.log('unable to load apple script');\n document.body.appendChild(script);\n }\n\n public render(): JSX.Element | null {\n const {\n config: { className }\n // telemetry\n } = this.props;\n\n const applePayButton = ;\n const viewProps: ICheckoutApplePayViewProps = {\n ...this.props,\n ...this.state,\n className,\n checkoutApplyPay: {\n moduleProps: this.props,\n className: classNames(this.moduleClassName, className)\n },\n applePayButton\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handlePayButton = () => {\n console.log('[handlePayButton] pay with apple clicked.');\n\n const handler: IAppleSessionHandler = {\n onValidation: this.validateMerchant,\n onAuthorize: this.authorizePayment,\n onCancel: this.cancelPayment,\n onPaymentMethodUpdate: this.updatePaymentMethod,\n onShippingMethodUpdate: this.updateShippingMethod\n };\n\n // calling connector JS to create payment session.\n window.CreateApplePaySession(handler);\n };\n\n private loadPaymentConnectorSdk = (cardPaymentAcceptPoint: CardPaymentAcceptPoint) => {\n if (!cardPaymentAcceptPoint.AcceptPageContent) {\n this.props.telemetry.error(`Card payment accept page content can't be null or empty`);\n }\n\n const connectorSdk: string = cardPaymentAcceptPoint.AcceptPageContent || '';\n const sdk = document.createElement('script');\n sdk.id = this.applePaySdkId;\n sdk.type = 'text/javascript';\n sdk.appendChild(document.createTextNode(connectorSdk));\n document.body.appendChild(sdk);\n };\n\n private validateMerchant = (resolve: (result: string) => void, reject: () => void, validationEvent: IValidationEvent): void => {\n const {\n data: { checkout, cardPaymentAcceptPoint },\n telemetry\n } = this.props;\n\n console.log(`[validateMerchant] received event: ${JSON.stringify(validationEvent)}`);\n const validationUrl = validationEvent?.validationUrl || '';\n if (!validationUrl) {\n telemetry.error(`Validation Url can't be null or empty`);\n reject();\n }\n\n const cartId = checkout?.result?.checkoutCart.cart.Id || '';\n if (!cartId) {\n telemetry.error('Card identifier can not be null or empty');\n reject();\n }\n\n const paymentConnectorId = cardPaymentAcceptPoint?.result?.PaymentConnectorId || '';\n if (!paymentConnectorId) {\n telemetry.error('Connector identifier can not be null or empty');\n reject();\n }\n\n const settings = {\n PaymentConnectorId: paymentConnectorId\n };\n\n console.log(`[validationCallback] validationEvent: ${JSON.stringify(validationEvent)}`);\n const validationObject = {\n domainName: window.location.hostname,\n validationUrl: validationUrl\n };\n const validationBody = JSON.stringify(validationObject);\n console.log(`[handlePayButton] validationBody: ${validationBody}`);\n\n retrieveCardPaymentAcceptResultAsync(\n { callerContext: this.props.context.actionContext },\n Buffer.from(validationBody).toString('base64'),\n [],\n cartId,\n settings\n )\n .then(async cardPaymentAcceptResult => {\n const validationResult: string = JSON.stringify(cardPaymentAcceptResult);\n console.log(`[retrieveCardPaymentAcceptResultAsync] result: ${validationResult}`);\n resolve(validationResult);\n })\n .catch(error => {\n telemetry.error(`retrieveCardPaymentAcceptResultAsync failed, error: ${error}`);\n reject();\n });\n };\n\n private authorizePayment = (): void => {\n console.log('authorizePayment');\n };\n\n private cancelPayment = (): void => {\n console.log('cancelPayment');\n };\n\n private updateShippingMethod = (): void => {\n console.log('updateShippingMethod');\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private updatePaymentMethod = (): void => {\n console.log('updatePaymentMethod');\n };\n}\n\nexport default CheckoutApplePay;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\nimport { ICheckoutApplePayViewProps } from './checkout-apple-pay';\n\nconst CheckoutApplyPayView: React.FC = ({ checkoutApplyPay, applePayButton }) => (\n {applePayButton}\n);\n\nexport default CheckoutApplyPayView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className)\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (slots && slots.socialShareItems.length === 0) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n"],"names":["_renderPromotions","promotions","React","Node","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","resources","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","checkoutAsSignInUserButton","telemetryContent","mulitplePickUp","emailDeliveryModeCode","emptyCartText","map","cartLine","index","className","key","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","remove","addToOrderTemplate","pickUpInStore","data","DeliveryMode","changeStoreDisplayText","shipInsteadDisplayText","pickItUpDisplayText","isBopisSelected","payLoad","getPayloadObject","TelemetryConstant","puckUpinStoreAttribute","getTelemetryAttributes","Button","onClick","event","callbacks","toggleBopis","bopisName","ShippingAddress","Name","ContainerProps","disabled","_renderCartLinesGroup","props","cartLinesGroup","length","cartlines","_renderCartLinesGroupHeader","_countItems","context","actionContext","requestContext","channel","EmailDeliveryModeCode","count","pickUpText","shippingText","emailshippingText","groupTitle","toLowerCase","_renderCartLinesGroupTitle","countItem","reduce","item","Quantity","itemLabel","itemsLabel","suffix","deliveryOption","orgUnitName","id","renderModuleAttributes","title","promotionOptions","multiplePickUpEnabled","CartlinesWrapper","SignUpItem","wrapper","label","errorMessage","input","SignUpEmailVerification","email","buttonWrapper","buttons","successMessage","message","button","SignUpLoading","modal","modalBody","icon","signUp","viewState","loading","defaultAADConainer","aadConainer","heading","signUpLocalAccount","Module","isShowLoading","localAccount","items","emailVerification","disclaimer","isRequired","verificationControlWrapper","required","type","defaultChecked","name","value","Msdyn365","text","config","textPrivacy","textMarketing","textProfilazione","error","LocalAccount","AadGeneric","constructor","moduleClassName","handleHeadingChange","this","target","componentDidMount","$i2e","$element","window","insertServiceContent","getElementContent","initialize","shouldComponentUpdate","nextProps","render","viewProps","aadGeneric","moduleProps","classnames","aadAPIConainer","editProps","onEdit","request","renderView","AccountInvoiceTileDescription","description","_mapEditableLinks","linkdata","editableLinks","forEach","link","contentAction","etext","linkText","attributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","links","onTextChange","AccountInvoiceTile","super","handleLinkTextChange","linkIndex","getTelemetryObject","telemetryPageName","friendlyName","telemetry","cultureFormatter","formatCurrency","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","result","OpenInvoiceBalance","toFixed","format","tag","LinksComponent","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","CatalogPicker","handleTextChange","handleParagraphChange","paragraph","catalogPickerHeading","Text","_moduleClassName","isCatalogsAvailable","ArrayExtensions","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","catalogUrl","getUrlSync","fullUrl","URL","location","href","searchParams","set","changeCatalogButtonText","isBrowser","reactKey","JSON","stringify","String","image","Images","tabIndex","Image","src","generateImageUrl","apiSettings","Uri","gridSettings","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","CheckoutApplePay","applePaySdkId","handlePayButton","console","log","handler","onValidation","validateMerchant","onAuthorize","authorizePayment","onCancel","cancelPayment","onPaymentMethodUpdate","updatePaymentMethod","onShippingMethodUpdate","updateShippingMethod","CreateApplePaySession","loadPaymentConnectorSdk","cardPaymentAcceptPoint","AcceptPageContent","connectorSdk","sdk","document","createElement","appendChild","createTextNode","body","resolve","reject","validationEvent","checkout","validationUrl","cartId","checkoutCart","cart","Id","paymentConnectorId","PaymentConnectorId","settings","validationObject","domainName","hostname","validationBody","retrieveCardPaymentAcceptResultAsync","callerContext","Buffer","from","toString","then","async","validationResult","cardPaymentAcceptResult","catch","res","script","onerror","applePayButton","state","checkoutApplyPay","classNames","assembleNode","itemIndex","additionalContentHeading","handleAdditionalTextChange","renderHeading","subtext","additionalContentParagraphText","renderParagraph","ctaLink","handleAdditionalLinkTextChange","renderLinks","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","btnClass","onTelemetryClick","ContentBlock","Number","imageAriaLabel","contentBlockTitle","imageProps","contentBlockLinks","msdyn365__moduleLayout","contentBlockText","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","MsDyn365","addToWishlist","onToggleBopisHandler","onChangeStoreHandler","shipToAddressDisplayText","pickUpAtStoreWithLocationText","_renderErrorBlock","errorData","errors","Wrapper","header","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","cartlineId","orderSummaryHeading","OrderSummaryWrapper","hasInvoiceLine","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","amount","channelReferenceId","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","groupsProps","groups","group","OrderHistoryHeader","headerProps","orderCountLabel","extraActions","OrderHistorySalesOder","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","listProps","salesOrders","salesOrder","orderHistoryProps","alert","emptyMessage","backToShoppingLink","list","table","moreButton","FooterItem","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","undefined","ariaHiddenAttr","viewports","xs","q","w","h","lg","lazyload","FooterItemView","_renderElement","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","onChange","isValidAdditionalFieldName","additionalFieldValidationMessage","observer","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","actionContextValue","orderDetailsPath","baseUrl","origin","redirectUrl","searchParameters","fieldName","StringExtensions","replace","toLocaleLowerCase","fieldValue","assign","orderNumberInputRef","current","emailInputRef","setState","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","isEmailValid","orderLookupSearchAdditionalFields","validationMessage","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","onSubmit","orderNumberInput","submitButton","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","orderStatusLookUpParameter","isValidField","validateOrderLookupField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","fieldKey","some","validateAdditionalFieldWithProxy","validateOrderLookupAdditionalField","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","setTimeout","nextFocus","activeElement","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","focus","_handleOutsideClick","_handleChange","bind","_renderSiteOptions","_updateViewport","viewport","device","Type","isMobile","addEventListener","resizeThrottledEventHandler","addThrottledEvent","componentWillUnmount","removeEventListener","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","Drawer","toggleButtonText","openGlyph","closeGlyph","glyphPlacement","isMobileView","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","e","preventDefault","currentTarget","cookies","isConsentGiven","cookieConfig","maxAge","defaultImageSettings","sm","md","xl","siteOptions","siteImage","siteRedirectUrl","siteName","_getViewport","innerWidth","__decorate","observable","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_renderMobileView","_renderDesktopView","SocialShare","slots","socialShareItems","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement"],"sourceRoot":""}