{"version":3,"file":"static/js/22.d739f2ed78078fabba50.chunk.js","mappings":";qvBAqBA,MAAMA,UAAwCC,EAAAA,cAC1CC,YAAmBC,GACfC,MAAMD,EACV,CACOE,SACH,MAGMC,EAAe,qCAHAC,KAAKJ,MAAMK,OAAOC,iBAAmB,eAAiB,MACvDF,KAAKJ,MAAMK,OAAOE,gBAAkB,cAAgB,MACjDH,KAAKJ,MAAMK,OAAOG,mBAAqB,kBAAoB,KAE5EC,EAASC,EAAAA,EAAA,CACXC,mCAAoC,CAChCC,YAAaR,KAAKJ,MAClBa,UAAWC,IAAWX,KAEvBC,KAAKJ,OAAK,IACbe,gCAAiCX,KAAMY,qCAG3C,OAAOZ,KAAKJ,MAAMiB,WAAWR,EACjC,CACQO,mCACJ,MAAM,MAAEE,GAAUd,KAAKJ,MACjBmB,EAAkBD,GAASA,EAAMC,iBAAmBD,EAAMC,gBAAgBC,OAASF,EAAMC,qBAAkBE,EACjH,OACIvB,EAAAA,cAAA,WACCqB,GACGrB,EAAAA,cAACwB,EAAAA,OAAM,CACHC,cACI,CACIC,QAAS,KAGjBC,iBAAiB,mBACjBC,UAAU,kBACVC,WAAW,oBACXC,eAAe,MACfC,kBACI,CACIC,MAAO,QACPC,IAAK,SACL,aAAc,qBAItBjC,EAAAA,cAAA,OAAKe,UAAU,6CACVM,IAMrB,EAGJ,iFCnEA,QAAgBnB,IACZ,MAAM,gCAAEe,EAA+B,mCAAEJ,GAAuCX,EAChF,OACIF,EAAAA,cAACkC,EAAAA,OAAMC,OAAAC,OAAA,GAAIvB,GACNI,EAGZ,mtBC0DD,MAAMoB,UAA6BrC,EAAAA,cAiB/BC,YAAYC,GACRC,MAAMD,GATF,KAAAoC,gBAA0B,EAC1B,KAAAC,eAAyB,EACzB,KAAAC,mBAA6B,EAC7B,KAAAC,iBAA2B,EAE3B,KAAAC,gBAA0B,oBA4F1B,KAAAC,kBAAqBC,IACrBA,EACAtC,KAAKuC,SAAS,CAAEC,kBAAkB,EAAMC,UAAU,IAElDzC,KAAKuC,SAAS,CAAEC,kBAAkB,KA+ElC,KAAAE,eAAkBC,IACtB,MAAMC,EAAyB5C,KAAK6C,MAAMD,gBAAkB,EACtDE,EAAcH,EAAMG,IAAI9B,OAAS,EAAI,GAAK2B,EAAMG,IAChDC,EAAuC/C,KAAKgD,yBAA2BhD,KAAKgD,wBAAwBC,SAAWjD,KAAKgD,wBAAwBC,QAElJ,IAAIC,EADYlD,KAAKgD,yBAA2BhD,KAAKgD,wBAAwBC,SAAWjD,KAAKgD,wBAAwBC,QAAQX,OAAS,IAC/FQ,EACvC,MAAMK,EAAkBnD,KAAKJ,MAAMK,OAAOmD,+BAAiC,IAEpD,IAAnBR,GAAwC,IAAhBD,EAAMU,OAC9BV,EAAMW,iBAENV,GAAkB,IAClBM,EAAgBA,EAAcK,UAAU,EAAGJ,GAC3CJ,EAAUT,MAAQY,GAEH,IAAfJ,EAAI9B,QAAgC,IAAhB2B,EAAMU,OAA+B,KAAhBV,EAAMU,OAC/CrD,KAAKuC,SAAS,CACViB,eAAgBN,EAChBN,eAAiBO,EAAkBD,EAAclC,QAAW,EAAImC,EAAkBD,EAAclC,OAAS,KA+K7G,KAAAyC,YAAc,KAClBzD,KAAKuC,SAAS,CACVmB,gBAAiB1D,KAAK2D,mBAAqB,OAAS,OACpDC,oBAAsB5D,KAAK6D,mBAAmBZ,SAA4D,IAAjDjD,KAAK6D,mBAAmBZ,QAAQX,MAAMtB,OAAgB,OAAS,OACxH8C,mBAAqB9D,KAAK+D,kBAAkBd,SAA2D,IAAhDjD,KAAK+D,kBAAkBd,QAAQX,MAAMtB,OAAgB,OAAS,OACrHgD,eAAiBhE,KAAKiE,uBAAuBhB,UAAYjD,KAAKiE,uBAAuBhB,QAAQiB,QAAW,OAAS,QACnH,EAGE,KAAAP,iBAAmB,KACvB,MAAMQ,EAAgBnE,KAAKoE,sBAAsBnB,SAAWjD,KAAKoE,sBAAsBnB,QAAQX,OAAS,GACxG,OAAqB,IAAjB6B,EAAMnD,SAGEhB,KAAKqE,cAAcF,IAI3B,KAAAG,cAAgB,KACpB,MAAM,UAACC,GAAavE,KAAKJ,MACzB,OACIF,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKe,UAAWT,KAAK6C,MAAMe,qBACtBW,EAAUC,gBAEf9E,EAAAA,cAAA,OAAKe,UAAWT,KAAK6C,MAAMiB,oBACtBS,EAAUE,eAEf/E,EAAAA,cAAA,OAAKe,UAAWT,KAAK6C,MAAMa,iBACtBa,EAAUG,YAEfhF,EAAAA,cAAA,OAAKe,UAAWT,KAAK6C,MAAMmB,gBACtBO,EAAUI,WAGhB,EAIH,KAAAC,cAAiBC,GAAkBC,IACvC,MAAMxC,EAAQwC,EAAEC,OAAOzC,MACvB,OAAQuC,GACJ,IAAK,YACD7E,KAAKuC,SAAS,CAAEyC,UAAW1C,EAAO2C,SAAS,EAAOC,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACjG,MAEJ,IAAK,WACD3E,KAAKuC,SAAS,CAAE6C,SAAU9C,EAAO+C,SAAS,EAAOH,UAAU,EAAOC,YAAY,EAAOR,WAAW,IAChG,MAEJ,IAAK,eACD3E,KAAKuC,SAAS,CAAE+C,aAAchD,EAAOiD,SAAS,EAAOL,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACpG,MAEJ,IAAK,UACD3E,KAAKuC,SAAS,CAAEiD,QAASlD,EAAOiD,SAAS,EAAOL,UAAU,EAAOC,YAAY,EAAOR,WAAW,IAC/F,MAEJ,IAAK,iBACD3E,KAAKuC,SAAS,CAAEiB,eAAgBlB,EAAO4C,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACtF,MAEJ,IAAK,qBAAsB,CACvB,MAAMc,KAAYzF,KAAKiE,uBAAuBhB,UAAWjD,KAAKiE,uBAAuBhB,QAAQiB,UAAUlE,KAAKiE,uBAAuBhB,QAAQiB,QACrIwB,EAAmBC,SAASC,cAAc,cAChDF,GAAoBA,EAAiBG,UAAUC,OAAO,gCAAiCL,GACvFzF,KAAKuC,SAAS,CAAEwD,0BAA2BN,EAAWP,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACrG,MAEJ,IAAK,gBAAiB,CAClB,MAAMc,KAAYzF,KAAKgG,kBAAkB/C,UAAWjD,KAAKgG,kBAAkB/C,QAAQiB,UAAUlE,KAAKgG,kBAAkB/C,QAAQiB,QAC5HlE,KAAKuC,SAAS,CAAE0D,qBAAsBR,EAAWP,UAAU,EAAOC,YAAY,EAAOR,WAAW,IAChG,MAEJ,QACIuB,QAAQC,IAAI,wBACZnG,KAAKuC,SAAS,CAAE2C,UAAU,EAAOC,YAAY,EAAOR,WAAW,MAKnE,KAAAN,cAAiBF,GACP,yJACDiC,KAAKjC,GA9blBnE,KAAK6D,mBAAqBnE,EAAAA,YAC1BM,KAAK+D,kBAAoBrE,EAAAA,YACzBM,KAAKoE,sBAAwB1E,EAAAA,YAC7BM,KAAKgD,wBAA0BtD,EAAAA,YAC/BM,KAAKiE,uBAAyBvE,EAAAA,YAC9BM,KAAKgG,kBAAoBtG,EAAAA,YACzBM,KAAKqG,cAAgB3G,EAAAA,YACrBM,KAAKsG,cAAgBtG,KAAKsG,cAAcC,KAAKvG,MAE7CA,KAAK6C,MAAQ,CACTmC,UAAW,GACXI,SAAU,GACVE,aAAc,GACdE,QAAS,KACThC,eAAgB,GAChBuC,2BAA2B,EAC3BE,sBAAsB,EACtBd,YAAY,EACZF,SAAS,EACTI,SAAS,EACTE,SAAS,EACTZ,WAAW,EACXlC,UAAU,EACVyC,UAAU,EACVsB,kBAAkB,EAClBC,eAAe,EACfjE,kBAAkB,EAClBkE,iBAAiB,EACjBC,qBAAqB,EACrB/D,eAAgBgE,OAAO5G,KAAKJ,MAAM2E,UAAUsC,yBAA2B,IACvEjD,oBAAqB,OACrBE,mBAAoB,OACpBJ,gBAAiB,OACjBM,eAAgB,OAExB,CAEOlE,SACH,MAAMO,EAASC,EAAAA,EAAA,GACPN,KAAKJ,OAA+D,IACxEkH,iBAAkB,CACdtG,YAAaR,KAAKJ,MAClBa,UAAWC,IAAWV,KAAKoC,gBAAiBpC,KAAKJ,MAAMK,OAAOQ,YAElEsG,kBAAmB/G,KAAKgH,qBACxBC,cAAejH,KAAKkH,cACpBR,gBAAiB1G,KAAK6C,MAAM6D,gBAC5BC,oBAAqB3G,KAAK6C,MAAM8D,oBAChCQ,WAAYnH,KAAKsE,gBACjB8C,oBAAqB,CACjB3G,UAAW,2BAEf4G,gBAAiBrH,KAAKsH,yBACtBC,oBAAqBvH,KAAK6C,MAAM6D,gBAChCc,yBAA0B,CACtB/G,UAAW,8BAInB,OAAOT,KAAKJ,MAAMiB,WAAWR,EACjC,CAEQ2G,qBACJ,OACIhH,KAAK6C,MAAM2D,kBAA6C,KAAzBxG,KAAKyH,gBAE5B/H,EAAAA,cAAA,OAAKe,UAAW,qBAAoBT,KAAK6C,MAAM4D,cAAgB,iBAAmB,KAC9E/G,EAAAA,cAAA,KAAGe,UAAU,4BAA4BT,KAAKyH,kBAGpD,IAEd,CAEQH,yBACJ,OACItH,KAAK6C,MAAM6D,gBAEHhH,EAAAA,cAAA,OAAKe,UAAU,qBACXf,EAAAA,cAAA,UAAKM,KAAKJ,MAAMK,OAAOyH,sBAG7B,IAEd,CAWQR,cACJ,MAAO,CACHS,YAAa,CACTlH,UAAW,oBAEfmH,cAAe,CACXnH,UAAW,wBAEfoH,sBAAuB7H,KAAK8H,+BAC5BC,WAAY/H,KAAKgI,oBACjBC,aAAcjI,KAAKkI,sBACnBC,oBAAqBnI,KAAKoI,6BAC1BC,2BAA4BrI,KAAKsI,oCACjCC,sBAAuBvI,KAAKwI,+BAC5BC,UAAWzI,KAAK0I,mBAChBC,iBAAkB3I,KAAK4I,sBACvBC,gBAAiB7I,KAAK8I,sBAE9B,CAEQhB,+BACJ,OACIpI,EAAAA,cAAA,OAAKe,UAAU,wBACXf,EAAAA,cAAA,OAAKe,UAAU,cACXf,EAAAA,cAAA,SACIqJ,IAAK/I,KAAK6D,mBACVmF,KAAK,OACLC,SAAUjJ,KAAK4E,cAAc,aAAY,aAC9B,aACXnE,UAAU,wBACVyI,YAAalJ,KAAKJ,MAAMK,OAAOkJ,yBAC/B7G,MAAOtC,KAAK6C,MAAMmC,UAClBoE,UAAQ,KAGhB1J,EAAAA,cAAA,OAAKe,UAAU,cACXf,EAAAA,cAAA,SACIqJ,IAAK/I,KAAK+D,kBACViF,KAAK,OACLC,SAAUjJ,KAAK4E,cAAc,YAAW,aAC7B,aACXnE,UAAU,kBACVyI,YAAalJ,KAAKJ,MAAMK,OAAOoJ,wBAC/B/G,MAAOtC,KAAK6C,MAAMuC,SAClBgE,UAAQ,KAK5B,CAEQhB,6BACJ,OACI1I,EAAAA,cAAA,OAAKe,UAAU,yBACXf,EAAAA,cAAA,OAAKe,UAAU,oBACXf,EAAAA,cAAA,YAEIqJ,IAAK/I,KAAKgD,wBAEVsG,QAAStJ,KAAK0C,eACduG,SAAUjJ,KAAK4E,cAAc,kBAAiB,aACnC,kBACXnE,UAAU,6BACVyI,YAAalJ,KAAKJ,MAAMK,OAAOsJ,8BAC/BjH,MAAOtC,KAAK6C,MAAMW,eAClBgG,KAAM,KAId9J,EAAAA,cAAA,OAAKe,UAAU,sBACV,GAAGT,KAAK6C,MAAMD,kBAAkB5C,KAAKJ,MAAM2E,UAAUkF,kCAItE,CAwBQzB,oBACJ,OACItI,EAAAA,cAAA,OAAKe,UAAU,uBACVT,KAAK6C,MAAM0C,SAAWvF,KAAK6C,MAAMsC,WAAanF,KAAK0J,aAAa,uBAAyB,GAC1FhK,EAAAA,cAAA,SACIqJ,IAAK/I,KAAKoE,sBACV4E,KAAK,QACLC,SAAUjJ,KAAK4E,cAAc,gBAAe,aACjC,gBACXnE,UAAU,2BACV6B,MAAOtC,KAAK6C,MAAMyC,aAClB8D,UAAQ,EACRF,YAAalJ,KAAKJ,MAAMK,OAAO0J,wBAI/C,CAEQzB,sBACJ,OACIxI,EAAAA,cAAA,OAAKe,UAAU,yBACXf,EAAAA,cAAA,OAAKe,UAAU,uBACXf,EAAAA,cAAA,aACIA,EAAAA,cAAA,SAEIsJ,KAAK,QACLC,SAAUjJ,KAAK4E,cAAc,WAAU,aAC5B,KACXV,QAAgC,OAAvBlE,KAAK6C,MAAM2C,QACpBlD,MAAO,KACPuC,KAAM,KACNpE,UAAU,kBACZ,OAGVf,EAAAA,cAAA,OAAKe,UAAU,uBACXf,EAAAA,cAAA,aACIA,EAAAA,cAAA,SAEIsJ,KAAK,QACLC,SAAUjJ,KAAK4E,cAAc,WAAU,aAC5B,KACXV,QAAgC,OAAvBlE,KAAK6C,MAAM2C,QACpBlD,MAAO,KACPuC,KAAM,KACNpE,UAAU,kBACZ,OAMtB,CAEQiJ,aAAajJ,GACjB,OAAOf,EAAAA,cAAAA,EAAAA,SAAA,KACX,CAEQ4I,oCACJ,OACI5I,EAAAA,cAAA,OAAKe,UAAU,2BACVT,KAAK6C,MAAM8B,UAAY3E,KAAK0J,aAAa,2BAA6B,GACvEhK,EAAAA,cAAA,OAAKe,UAAU,mCACXf,EAAAA,cAAA,SACIqJ,IAAK/I,KAAKiE,uBACV+E,KAAK,WACLvI,UAAU,sBAAqB,aACpB,8BAA6B,eAC3B,QACbwI,SAAUjJ,KAAK4E,cAAc,sBAC7BgF,GAAG,+BAEPlK,EAAAA,cAAA,QAAMe,UAAU,gCACZf,EAAAA,cAAA,SAAIM,KAAKJ,MAAMK,OAAO4J,uBAAuBnK,EAAAA,cAAA,KAAGoK,KAAM9J,KAAKJ,MAAMK,OAAO8J,wBAAsB,2BAKlH,CAEQvB,+BACJ,OACI9I,EAAAA,cAAA,OAAKe,UAAU,2BACVT,KAAK6C,MAAM8B,UAAY3E,KAAK0J,aAAa,2BAA6B,GACvEhK,EAAAA,cAAA,OAAKe,UAAU,mCACXf,EAAAA,cAAA,SACIqJ,IAAK/I,KAAKgG,kBACVgD,KAAK,WACLvI,UAAU,sBAAqB,aACpB,wBAAuB,eACrB,QACbwI,SAAUjJ,KAAK4E,cAAc,iBAC7BgF,GAAG,0BAEPlK,EAAAA,cAAA,QAAMe,UAAU,gCACZf,EAAAA,cAAA,SAAIM,KAAKJ,MAAMK,OAAO+J,kBAAkBtK,EAAAA,cAAA,KAAGoK,KAAM9J,KAAKJ,MAAMK,OAAOgK,mBAAiB,qBAKxG,CAGQvB,mBACJ,OACIhJ,EAAAA,cAAA,WAEQM,KAAKJ,MAAMK,OAAOiK,gBAAkBxK,EAAAA,cAAA,OAAKe,UAAU,0CAC9CT,KAAK6C,MAAMJ,SAAWzC,KAAKmK,sBAAsB,mBAAqB,GACvEzK,EAAAA,cAAC0K,EAAAA,EAAS,CACNrB,IAAK/I,KAAKqG,cACVgE,QAASrK,KAAKJ,MAAMK,OAAOqK,iBAC3BrB,SAAUjJ,KAAKqC,qBAEd,KAIzB,CAEQ8H,sBAAsB1J,GAEtBT,KAAKJ,MAAMK,OAAOiK,kBACblK,KAAK6C,MAAML,mBACZxC,KAAKuK,sBAAwBvK,KAAKJ,MAAM2E,UAAUgG,wBAI1D,MAAM9H,EAAWzC,KAAK6C,MAAMJ,SAC5B,OACI/C,EAAAA,cAAAA,EAAAA,SAAA,KACK+C,GACG/C,EAAAA,cAAA,QAAMe,UAAW,GAAGA,WAAoB+J,KAAK,QAAO,YAAW,aAEvDxK,KAAKuK,uBACL7K,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,QAAMe,UAAW,GAAGA,gBAAuB,cAAc,SACxDT,KAAKuK,wBAOlC,CAEQ3B,sBACJ,OACIlJ,EAAAA,cAAA,OAAKe,UAAU,8BACXf,EAAAA,cAAC+K,EAAAA,OAAM,CACHhK,UAAW,gCACXiK,MAAO1K,KAAKJ,MAAMK,OAAO0K,kBACzBjJ,MAAM,UACNkJ,QAAS5K,KAAKsG,eAChBtG,KAAKJ,MAAMK,OAAO0K,mBAIhC,CAEQ7B,sBACJ,OACIpJ,EAAAA,cAAA,WACIA,EAAAA,cAAA,OAAKe,UAAW,oBAAkB,WAK9C,CAwFQoK,oBAAoB/F,GACxB9E,KAAKyD,cAELzD,KAAKgC,kBAAkBhC,KAAK6D,oBAAsB7D,KAAK6D,mBAAmBZ,SAAWjD,KAAK6D,mBAAmBZ,QAAQX,OACrHtC,KAAKiC,iBAAiBjC,KAAK+D,mBAAqB/D,KAAK+D,kBAAkBd,SAAWjD,KAAK+D,kBAAkBd,QAAQX,OACjHtC,KAAKkC,qBAAqBlC,KAAKoE,uBAAyBpE,KAAKoE,sBAAsBnB,SAAWjD,KAAKoE,sBAAsBnB,QAAQX,OAEjI,MAAMwI,EAAM9K,KAAK6D,oBAAsB7D,KAAK6D,mBAAmBZ,SAAWjD,KAAK6D,mBAAmBZ,QAAQX,MAAStC,KAAK6D,mBAAmBZ,QAAQX,MAAQ,GACrJyI,EAAM/K,KAAK+D,mBAAqB/D,KAAK+D,kBAAkBd,SAAWjD,KAAK+D,kBAAkBd,QAAQX,MAAStC,KAAK+D,kBAAkBd,QAAQX,MAAQ,GACjJ0I,EAAMhL,KAAKgD,yBAA2BhD,KAAKgD,wBAAwBC,SAAWjD,KAAKgD,wBAAwBC,QAAQX,MAAStC,KAAKgD,wBAAwBC,QAAQX,MAAQ,GACzK2I,EAAMjL,KAAKoE,uBAAyBpE,KAAKoE,sBAAsBnB,SAAWjD,KAAKoE,sBAAsBnB,QAAQX,MAAStC,KAAKoE,sBAAsBnB,QAAQX,MAAQ,GACjK4I,EAAKlL,KAAK6C,MAAM2C,QAEhB2F,EAAQnL,KAAKoE,sBAAsBnB,QAASX,MAC5C8I,EAAKpL,KAAKgG,kBAAkB/C,QAASiB,QAE3C,GAAKlE,KAAKgC,eAKH,GAAKhC,KAAKiC,cAKT,GAAKjC,KAAKkC,kBAKX,GAAKlC,KAAKqE,cAAc8G,GAIxB,GAAInL,KAAKJ,MAAMK,OAAOiK,kBAAoBlK,KAAK6C,MAAML,iBACxDxC,KAAKuC,SAAS,CACVE,UAAU,SAEX,GAAKzC,KAAKiE,uBAAuBhB,QAASiB,SAO7C,GADAlE,KAAKmC,kBAAmBnC,KAAKkC,kBACzBlC,KAAKmC,iBAAmBnC,KAAK6C,MAAMkD,4BAA8B/F,KAAK6C,MAAMsC,WAC5E,IAAI,IAAAkG,QACMrL,KAAKsL,WAAWR,EAAIC,EAAIE,EAAID,EAAII,EAAIF,GAAM,MAEhDlL,KAAKuL,eACqB,QAA1BF,EAAArL,KAAKqG,cAAcpD,eAAO,IAAAoI,GAA1BA,EAA4BG,QAE9B,MAAO1G,GACLoB,QAAQC,IAAIrB,EAAG,kCAdvB9E,KAAKuC,SAAS,CACVwD,2BAA2B,EAC3BpB,WAAW,SAVf3E,KAAKuC,SAAS,CACV4C,YAAY,SANhBnF,KAAKuC,SAAS,CACVgD,SAAS,EACTL,UAAU,SAPdlF,KAAKuC,SAAS,CACV8C,SAAS,EACTH,UAAU,SAPdlF,KAAKuC,SAAS,CACV0C,SAAS,EACTC,UAAU,GAuCtB,CAEQ2F,iBAAiB7F,EAAmBI,EAAkBjB,EAAeX,EAAwBiI,EAAgBjG,GACjH,MACMkG,EADkB,IAAIC,gBAAgBC,OAAOC,SAASC,QAC7BC,IAAI,SAInC,IAAIC,EAAiBhM,KAAKJ,MAAMK,OAAO+L,eACvCC,EAA4BjM,KAAKJ,MAAMK,OAAOgM,0BAC9CC,EAA+BlM,KAAKJ,MAAMK,OAAOiM,6BACjDC,EAA0BnM,KAAKJ,MAAMK,OAAOkM,wBAE5B,OAAZ3G,IACAwG,EAAiBhM,KAAKJ,MAAMK,OAAOmM,iBACnCH,EAA4BjM,KAAKJ,MAAMK,OAAOoM,4BAC9CH,EAA+BlM,KAAKJ,MAAMK,OAAOqM,+BACjDH,EAA0BnM,KAAKJ,MAAMK,OAAOsM,2BAGhD,MAAMC,QAAiBC,EAAAA,GACnBzM,KAAKJ,MAAM8M,QAAQC,QACnB,mBACA,OACA,CACI3H,UAAWA,EACXI,SAAUA,EACV5B,eAAgBA,EAChB8B,aAAcnB,EACdqB,QAASA,EACTwG,eAAgBA,EAChBC,0BAA2BA,EAC3BC,6BAA8BA,EAC9BU,UAAWlB,GAAU,GACrBS,wBAAyBA,EACzBV,MAAOA,IAKfzL,KAAKyH,gBAAkB+E,aAAQ,EAARA,EAAUK,KAAKC,QAER,WAA1BN,aAAQ,EAARA,EAAUK,KAAKE,QACf/M,KAAKuC,SAAS,CACViE,kBAAkB,EAClBC,cAAyC,WAA1B+F,aAAQ,EAARA,EAAUK,KAAKE,QAC9BrG,gBAA2C,WAA1B8F,aAAQ,EAARA,EAAUK,KAAKE,QAChCpG,qBAAqB,EACrBrB,aAAc,GACdN,UAAW,GACXI,SAAU,GACV5B,eAAgB,GAChBuC,2BAA2B,EAC3Bb,UAAU,EACVC,YAAY,EACZ1C,UAAU,IAcdzC,KAAKuC,SAAS,CACViE,kBAAkB,EAClBC,cAAyC,WAA1B+F,aAAQ,EAARA,EAAUK,KAAKE,QAC9BrG,gBAA2C,WAA1B8F,aAAQ,EAARA,EAAUK,KAAKE,QAChCzH,aAAc,GACdS,2BAA2B,EAC3Bb,UAAU,EACVC,YAAY,EACZ1C,UAAU,GAsBtB,CAEQ8I,eACJ,GAAIvL,KAAKiE,uBAAuBhB,QAAS,CACrCjD,KAAKiE,uBAAuBhB,QAAQiB,SAAU,EAC9C,MAAMwB,EAAmBC,SAASC,cAAc,cAChDF,GAAoBA,EAAiBG,UAAUC,OAAO,gCAAgC,GAEtF9F,KAAKgG,kBAAkB/C,UACvBjD,KAAKgG,kBAAkB/C,QAAQiB,SAAU,GAEzClE,KAAKoE,sBAAsBnB,UAC3BjD,KAAKoE,sBAAsBnB,QAASX,MAAQ,IAE5CtC,KAAK6D,mBAAmBZ,UACxBjD,KAAK6D,mBAAmBZ,QAASX,MAAQ,IAEzCtC,KAAK+D,kBAAkBd,UACvBjD,KAAK+D,kBAAkBd,QAASX,MAAQ,IAExCtC,KAAKgD,wBAAwBC,UAC7BjD,KAAKgD,wBAAwBC,QAASX,MAAQ,GAEtD,EAIJ,iHCxsBM,MAAO0K,UAAkCtN,EAAAA,cAEpCI,SACH,MAAM,iBAAEgH,EAAgB,kBAAEC,EAAiB,cAAEE,EAAa,gBAAEP,EAAe,oBAAEC,EAAmB,WAAEQ,EAAU,oBAAEC,EAAmB,yBAAEI,EAAwB,oBAAED,EAAmB,gBAAEF,GAAoBrH,KAAKJ,OACrM,YACF+H,EAAW,cACXC,EAAa,sBACbC,EAAqB,WACrBE,EAAU,aACVE,EAAY,oBACZE,EAAmB,2BACnBE,EAA0B,sBAC1BE,EAAqB,iBACrBI,EAAgB,UAChBF,EAAS,gBACTI,GACA5B,EACJ,OACIvH,EAAAA,cAACkC,EAAAA,OAAMC,OAAAC,OAAA,GAAKgF,GACPC,EACAQ,EACG7H,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK0F,GACLH,GAEH3H,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK6F,GACRjI,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK8F,GACLC,EACAE,EACAI,EACAF,EACAI,EACAE,EACAE,EACA/B,GAAmBC,EAAsBkC,EAAkBF,GAEhEjJ,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKsF,GACLD,IAMzB,EAEJ,8FCNA,MAyFM+F,EAA4BA,CAC9BC,EACAvN,KAC4C,IAAAwN,EAC5C,MAAMC,EAAcF,EAAKG,SA7FPC,EAACC,EAAkC5N,KACrD,MAAM6N,EAAiB7N,EAAM6N,eAC7B,OACI/N,EAAAA,cAACgO,EAAAA,GAAa,CACVC,KAAMH,EACN7L,IAAI,IACJlB,UAAU,qDACVmN,UAAW,CAKPC,OAAQlL,IACJ/C,EAAMkO,2BAA2BnL,EAAM,EAE3C8K,mBAEN,EA4E8BF,CAAcJ,EAAKG,QAAS1N,GAC1DmO,EAAgBZ,EAAKa,SAnEPC,EAACC,EAAwCtO,KAC7D,MAAM6N,EAAiB7N,EAAM6N,eAC7B,OACI/N,EAAAA,cAACgO,EAAAA,GAAa,CACVC,KAAMO,EACNvM,IAAI,IACJlB,UAAU,0DACVmN,UAAW,CAKPC,OAAQlL,IACJ/C,EAAMuO,gCAAgCxL,EAAM,EAEhD8K,mBAEN,EAkDgCQ,CAAgBd,EAAKa,QAASpO,GAC9DwO,EAAsB,QAAbhB,EAAGD,EAAKkB,aAAK,IAAAjB,OAAA,EAAVA,EAAYkB,KAAI,CAACC,EAAqBC,IAxCxCC,EAACF,EAAqB3O,EAA2C8O,KACjF,MAAMC,EAAoC,CACtCC,UAAWL,EAAQK,UACnBnO,UAAW,2DACXoO,SAAUN,EAAQM,SAClBC,QAASP,EAAQO,QAAQC,eACzBC,aAAcT,EAAQS,aACtBxE,KAAM,QAEJiD,EAAiB7N,EAAM6N,eAC7B,OACI/N,EAAAA,cAACgO,EAAAA,GAAa,CACV5K,IAAK4L,EACLO,KAAMN,EACNf,UAAW,CAKPsB,aAAcvM,IACV/C,EAAMuP,+BAA+BT,EAAW/L,EAAM,EAE1D8K,mBAEN,EAiBKgB,CAAYF,EAAS3O,EAAO4O,KAGvC,MAAO,CACHlB,QAASD,EACTM,KAAMI,EACNM,MAAOD,EACPgB,+BAAgC,CAAE3O,UAAW,2DAC7C4O,2BAA4B,CAAE5O,UAAW,qDAC5C,EAQQ6O,EACT1P,IAEA,MAAM,kBAAE2P,GAAsB3P,EAC9B,IAAK2P,EACD,OAIJ,MAAO,CACHC,sBAAuB,CAAE/O,UAAW,gDACpCgP,uBAH2DvC,EAA0BqC,EAAmB3P,GAI3G,ukBCtIL,MAAM8P,UAAoBhQ,EAAAA,cAKtBC,YAAmBC,GACfC,MAAMD,GAkEH,KAAA+P,iBAAoBhN,IACvB3C,KAAKJ,MAAMK,OAAOqN,QAASK,KAAOhL,EAAMoC,OAAOzC,KAAK,EAOjD,KAAAsN,sBAAyBjN,IAC5B3C,KAAKJ,MAAMK,OAAO4P,UAAYlN,EAAMoC,OAAOzC,KAAK,EAzEhDtC,KAAK8P,kBAAmBC,EAAAA,EAAAA,oBACpB/P,KAAKJ,MAAM8M,QAAQC,QAAQqD,kBAC3BhQ,KAAKJ,MAAMqQ,aACXjQ,KAAKJ,MAAMsQ,UAEnB,CAEOpQ,SAAM,IAAAqQ,EACT,MAAMC,EAA6BpQ,KAAKJ,MAAMK,OAAOmQ,MACrD,IAAIC,EAAYD,EAAME,QAAUF,EAAME,OAAOC,kBAAoBH,EAAME,OAAOC,iBAAiB,GAAGC,WAC9FC,EAA2B,QAAlBN,EAAGC,EAAMK,iBAAS,IAAAN,OAAA,EAAfA,EAAiBO,IAEjC,MAAMrQ,EAASC,EAAAA,EAAA,GAGRN,KAAKJ,OAAK,IACb+Q,OACIjR,EAAAA,cAAA,SACQkR,MAAM,OACNF,IAAKL,EACLQ,UAAQ,EACRC,OAAQL,GAAS,uDAM7B/F,MAAO1K,KAAK+Q,0BACZpD,KAAM3N,KAAKgR,4BACX3C,MAAOrO,KAAKiR,wBACZC,iBAAkB,CAAEzQ,UAAW,4BAC/B0Q,oBAAqB,CAAE1Q,UAAW,iCAClC8O,kBAAmBD,EAA6B,CAC5C7B,eAAgBzN,KAAKJ,MAAM8M,QAAQC,QACnC4C,kBAAmBvP,KAAKJ,MAAMK,OAAOsP,kBACrCzB,2BAA4B9N,KAAK8N,2BACjCK,gCAAiCnO,KAAKmO,gCACtCgB,+BAAgCnP,KAAKmP,iCAEzCiC,WAAYpR,KAAK2P,iBACjB0B,gBAAiBrR,KAAK4P,sBACtB0B,qBAAsBtR,KAAK8N,2BAC3ByD,0BAA2BvR,KAAKmO,gCAChCqD,WAAYxR,KAAKyR,qBACjBC,qBAAsB1R,KAAK8N,6BAE/B,OAAO9N,KAAKJ,MAAMiB,WAAWR,EACjC,CAOOoR,qBAAqB/C,EAAmB/L,GACvC3C,KAAKJ,MAAMK,OAAOoO,OAASrO,KAAKJ,MAAMK,OAAOoO,MAAMzH,OAAO8H,MAC1D1O,KAAKJ,MAAMK,OAAOoO,MAAMzH,OAAO8H,IAAYG,SAAWlM,EAAMoC,OAAOzC,MAE3E,CAsBOwL,2BAA2BnL,GAC1B3C,KAAKJ,MAAMK,OAAOsP,oBAClBvP,KAAKJ,MAAMK,OAAOsP,kBAAkBjC,QAAU3K,EAAMoC,OAAOzC,MAEnE,CAOO6M,+BAA+BT,EAAmB/L,GAAoC,IAAAgP,EACzF,MAAMpC,EAAuD,QAAtCoC,EAAG3R,KAAKJ,MAAMK,OAAOsP,yBAAiB,IAAAoC,EAAAA,EAAI,CAAC,EAC9DpC,EAAkBlB,QAClBkB,EAAkBlB,MAAMzH,OAAO8H,IAAYG,SAAWlM,EAAMoC,OAAOzC,MAE3E,CAMO6L,gCAAgCxL,GAC/B3C,KAAKJ,MAAMK,OAAOsP,oBAClBvP,KAAKJ,MAAMK,OAAOsP,kBAAkBvB,QAAUrL,EAAMoC,OAAOzC,MAEnE,CAMQ2O,wBACJ,MAAM,MAAE5C,GAAUrO,KAAKJ,MAAMK,OACvB2R,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS7R,KAAK8P,iBAAkB,IAEjE,OAAOzB,aAAK,EAALA,EAAOC,KAAI,CAACwD,EAAsBtD,KACrCoD,EAAQG,cAAcC,MAAQF,EAASjD,SACvC,MAAMoD,GAAaC,EAAAA,EAAAA,wBAAuBlS,KAAK8P,iBAAkB8B,GAC3DO,EAAS3D,EACTG,EAAoC,CACtCC,UAAWkD,EAASlD,UACpBnO,UAAW,sCACXoO,SAAUiD,EAASjD,SACnBC,QAASgD,EAAShD,QAAQC,eAC1BC,aAAc8C,EAAS9C,aACvBxE,KAAM,SACN4H,qBAAsBH,GAG1B,OACIvS,EAAAA,cAAC+M,EAAAA,GAAa,CACV3J,IAAKqP,EACLlD,KAAMN,EACNf,UAAW,CAKPsB,aAAcvM,IACV3C,KAAKyR,qBAAqBjD,EAAO7L,EAAM,EAE3C8K,eAAgBzN,KAAKJ,MAAM8M,QAAQC,UAEzC,GAGd,CAEQoE,0BAAuB,IAAAsB,EAC3B,MAAM,QAAE/E,GAAYtN,KAAKJ,MAAMK,OAE/B,OACIqN,GACI5N,EAAAA,cAAC+M,EAAAA,GAAa,CACVhM,UAAU,kCACVkB,IAAgB,QAAb0Q,EAAE/E,EAAQ3L,WAAG,IAAA0Q,EAAAA,EAAI,KACpB1E,KAAML,EAAQK,KACdC,UAAW,CAAEC,OAAQ7N,KAAK2P,iBAAkBlC,eAAgBzN,KAAKJ,MAAM8M,QAAQC,UAI/F,CAEQqE,4BACJ,MAAM,UAAEnB,GAAc7P,KAAKJ,MAAMK,OAEjC,OACI4P,GACInQ,EAAAA,cAAC+M,EAAAA,GAA0B,CACvBkB,KAAMkC,EACNpP,UAAU,iCACVmN,UAAW,CAAEC,OAAQ7N,KAAK4P,sBAAuBnC,eAAgBzN,KAAKJ,MAAM8M,QAAQC,UAIpG,EAGJ,iFCpNA,MAoCA,EAhByD/M,IACrD,OACIF,EAAAA,cAAA,MAAAmC,OAAAC,OAAA,CAAK8H,GAAIhK,EAAMgK,GAAInJ,UAAU,mBAAsBb,EAAM0S,uBAAuB1S,IAC3EA,EAAM+Q,OACPjR,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMsR,iBAAgB,CAAEzQ,UAAWb,EAAMsR,iBAAmBtR,EAAMsR,iBAAiBzQ,UAAY,KACpGb,EAAM8K,MACN9K,EAAM+N,KACN/N,EAAM2P,qBA3BUA,EA2BmC3P,EAAM2P,mBA1BhDE,uBAEd/P,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKyN,EAAkBC,uBACxB9P,EAAAA,cAAAA,EAAAA,SAAA,KACK6P,EAAkBE,uBAAuBnC,QAC1C5N,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKyN,EAAkBE,uBAAuBL,gCAC9CG,EAAkBE,uBAAuB9B,KAC1CjO,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKyN,EAAkBE,uBAAuBJ,4BAC9CE,EAAkBE,uBAAuBpB,UAQ3D,MAWK3O,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAM2S,oBAAmB,CAAE9R,UAAWb,EAAM2S,oBAAsB3S,EAAM2S,oBAAoB9R,UAAY,KAC7Gb,EAAMyO,SA7BMkB,KAgCnB,yEC3Cd,MA6CMiD,EAAmB5S,GAEjBF,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAM6S,WACZ/S,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAM8S,aACX9S,EAAM+S,OACN/S,EAAMiF,KACNjF,EAAMgT,MAEXlT,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMiT,eACZnT,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMkT,aACXlT,EAAMmT,YACNnT,EAAMoT,YAEXtT,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMqT,eACXrT,EAAMsT,aACNtT,EAAMuT,aACNvT,EAAMwT,cAEX1T,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMyT,eACXzT,EAAM0T,mBACN1T,EAAM2T,KACN3T,EAAM4T,QACN5T,EAAM6T,KACN7T,EAAM8T,UAOrBC,EAAqB/T,GAEnBF,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMgU,OACXhU,EAAMiU,YACPnU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMkU,WACZpU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMmU,MACZrU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMoU,UACXpU,EAAM+S,OACN/S,EAAMqU,aAEXvU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMoU,UACXpU,EAAMsU,WACNtU,EAAMuU,YAEXzU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMoU,UACXpU,EAAMwU,UACNxU,EAAMyU,WAEVzU,EAAM0U,iBACN1U,EAAM2U,QAGf7U,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAM4U,aACX5U,EAAM6U,aACN7U,EAAM8U,eAMjBC,EAAoBA,CAAC/U,EAAoCiD,IAEvDnD,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMgU,OACZlU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMiU,aACXhR,EAAM+R,SAAWhV,EAAMiV,gBAAkBjV,EAAMkV,QAEpDpV,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAMkU,WACXjR,EAAM+R,SAAWhV,EAAMmV,uBAAyB,CAACnV,EAAMoV,cAAepV,EAAMqV,aAAcrV,EAAM2U,QAErG7U,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKlC,EAAM4U,aACX3R,EAAM+R,SAAWhV,EAAMsV,gBAAkB,CAACtV,EAAM6U,aAAc7U,EAAM8U,gBAMrF,EAzHyD9U,IACrD,MAAM,cACFuV,EAAa,iBACbC,EAAgB,YAChB5U,EAAW,iBACX6U,EAAgB,2BAChBC,EAA0B,aAC1BC,EAAY,mBACZC,EAAkB,kBAClBC,EAAiB,iBACjBC,EAAgB,YAChBC,EAAW,YACXC,EAAW,YACXC,EAAW,eACXC,EAAc,MACdjT,EAAK,WACLkT,GACAnW,EAEJ,OAAKmW,GAAqC,IAAvBJ,EAAY3U,QAAiB6B,EAAMmT,gBAKlDtW,EAAAA,cAACkC,EAAAA,OAAMC,OAAAC,OAAA,GAAKtB,GACP2U,EACAS,EACDlW,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK0T,GACLM,EACAV,GAEL1V,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK4T,GACLK,GAAcvD,EAAgBuD,GAC9BJ,EAAYrH,KAAI2H,GACNzD,EAAgByD,MAGN,IAAvBN,EAAY3U,QAAgB6B,EAAMmT,iBAAmBV,EACtDC,EACA5B,EAAkBkC,GAClBlB,EAAkBc,EAAmB5S,IApBlCnD,EAAAA,cAACkC,EAAAA,OAAMC,OAAAC,OAAA,GAAKtB,GAAc6U,EAqBzB,yECUjB,MAAMa,EAAoCC,IAKrC,IALsC,QACvCC,EAAO,MACPC,EAAK,aACLC,EAAY,MACZC,GACHJ,EAEG,OACIzW,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKsU,GACLC,EACAC,EACAC,EACE,EAITC,EAA8DC,IAM/D,IANgE,MACjEtS,EAAK,cACLuS,EAAa,QACbC,EAAO,eACPC,EAAc,aACdN,GACHG,EACG,OACI/W,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACwW,EAAUrU,OAAAC,OAAA,GAAKqC,IACfyS,GAAkBA,EAAetI,KAAKuI,GAE/BnX,EAAAA,cAAAA,EAAAA,SAAA,KACKmX,KAIZP,GAAgBA,EAAahI,KAAKuI,GAE3BnX,EAAAA,cAAAA,EAAAA,SAAA,KACKmX,KAIbnX,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK4U,GACLC,GAAWA,EAAQrI,KAAKwI,GAEjBpX,EAAAA,cAAAA,EAAAA,SAAA,KACKoX,MAKlB,EAsDLC,EAA0CC,IAK3C,IAL4C,MAC7CpD,EAAK,UACLE,EAAS,KACTmD,EAAI,QACJJ,GACHG,EACG,OACItX,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK8R,GACNlU,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKgS,GACLmD,EACAJ,GAEF,EAgCf,EA5BkEjX,IAE9D,MAAM,OACFsX,EAAM,UACNC,EAAS,QACTC,EAAO,mBACPC,EAAkB,YAClBC,EAAW,QACXhK,EAAO,mBACPiK,GACA3X,EACE4X,EAAgC,CAClCD,sBAIJ,OACI7X,EAAAA,cAACkC,EAAAA,OAAMC,OAAAC,OAAA,GAAKoV,GACPC,EAAUM,eAAiB/X,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKuV,IACrCF,EAAUM,eAAiB/X,EAAAA,cAACqX,EAAalV,OAAAC,OAAA,GAAKsV,IAC/C1X,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAKwV,GACLhK,EAvFiCoK,KAE7C,IAF8C,mBAC/CH,GACHG,EACG,MAAK,aACDC,EAAY,MACZC,EAAK,kBACLC,EAAiB,QACjBlB,EAAO,aACPL,EAAY,WACZwB,GACAP,EAIJ,OACI7X,EAAAA,cAACuN,EAAAA,KAAIpL,OAAAC,OAAA,GAAK6V,GACLC,GAASA,EAAMtJ,KAAKnB,GACA,UAAbA,EAAKrK,KAAmB+U,EAAkBE,WAEtCrY,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACwW,EAAUrU,OAAAC,OAAA,GAAMqL,IACjBzN,EAAAA,cAAC8W,EAAuB3U,OAAAC,OAAA,GAAK+V,KAKrCnY,EAAAA,cAAAA,EAAAA,SAAA,KACAA,EAAAA,cAACwW,EAAUrU,OAAAC,OAAA,GAAMqL,OAIxBmJ,GAAgBA,EAAahI,KAAI,CAACiG,EAAwB/F,IAEnD9O,EAAAA,cAACA,EAAAA,SAAc,CAACoD,IAAK0L,GAChB+F,KAIZoC,GAAWA,EAAQrI,KAAI,CAACwI,EAAyBtI,IAE1C9O,EAAAA,cAACA,EAAAA,SAAc,CAACoD,IAAK0L,GAChBsI,KAIZgB,EACE,EA0CEE,CAAaR,IAEb,osBChLjB,MAAMS,UAAevY,EAAAA,cAGjBC,YAAYC,GACRC,MAAMD,GACNI,KAAKkY,UAAYxY,EAAAA,WACrB,CAEOI,SACH,MAAM,OAAEG,EAAM,UAAEsE,GAAcvE,KAAKJ,MAC7BuY,EACFnY,KAAKJ,MAAM8M,QAAQC,SACnB3M,KAAKJ,MAAM8M,QAAQC,QAAQyL,SAC3BpY,KAAKJ,MAAM8M,QAAQC,QAAQyL,QAAQD,gBACnCnY,KAAKJ,MAAM8M,QAAQC,QAAQyL,QAAQD,iBAEvC,KAAMlY,GAAUA,EAAO8E,QAAU9E,EAAO8E,OAAOgK,gBAC3C,OAAO,KAGX,IAAIsJ,EACJ,IACIA,EAAS,IAAIC,IAAIrY,EAAO8E,OAAOgK,eAGnB,CAFd,MAAOwF,GAEL,OADAvU,KAAKJ,MAAMsQ,UAAUqI,UAAUhE,GACxB,IAAK,CAGhB,GAAI8D,GAAUA,EAAOG,UAAoD,WAAxCH,EAAOG,SAASC,oBAC7C,OAAO,KAEX,MAAMC,EAAkBhY,IAAW,YAAaT,EAAOQ,WAEvD,IAAIJ,EAASC,EAAAA,EAAA,GACLN,KAAKJ,OAAqC,IAC9C+Y,QAAS3Y,KAAK4Y,eAAe3Y,EAAOqN,SACpCuL,gBAAiB,CACbrY,YAAaR,KAAKJ,MAClBa,UAAWiY,GAEfI,OAAQ9Y,KAAK+Y,kBAcjB,OALI1Y,EAASC,EAAAA,EAAA,GACFD,GAAS,GAPf8X,EAOe,CACZa,uBAAuB,GANX,CACZC,MAAOjZ,KAAK0J,aAAanF,EAAU2U,gCAQpClZ,KAAKJ,MAAMiB,WAAWR,EACjC,CAEQuY,eAAetL,GACnB,OAAKA,GAAYA,EAAQK,MAAgC,IAAxBL,EAAQK,KAAK3M,OAIvCtB,EAAAA,cAACiZ,EAAAA,QAAO9W,OAAAC,OAAA,GAAKwL,EAAO,CAAE7M,UAAU,wBAH5B,IAIf,CAEQiJ,aAAamN,GACjB,OACInX,EAAAA,cAAA,KAAGe,UAAU,2BAA2B+J,KAAK,QAAO,YAAW,aAC1DqM,EAGb,CAEQkC,gBACJ,MAAM,OAAE9Y,GAAWD,KAAKJ,MAClBuZ,EAAYlZ,EAAO8E,OAAOgK,eAEhC,OACIrP,EAAAA,cAAA,UACIe,UAAWC,IAAW,sBACtBgQ,IAAKyI,EACLC,OAAQnZ,EAAOmZ,OAAM,aACTnZ,EAAOoZ,gBACnBtQ,IAAK/I,KAAKkY,WAGtB,EAGJ,kGClGO,MAAMoB,UAAmB5Z,EAAAA,cACrBI,SACH,MAAM,QAAE6Y,EAAO,gBAAEE,EAAe,OAAEC,EAAM,MAAEG,EAAK,sBAAED,GAA0BhZ,KAAKJ,MAEhF,OACIF,EAAAA,cAACkC,EAAAA,OAAMC,OAAAC,OAAA,GAAK+W,GACPI,EACAD,GAAyBA,EACtBtZ,EAAAA,cAAAA,EAAAA,SAAA,KACKiZ,EACAG,GAEL,KAGhB,EAEJ","sources":["webpack://Citta2.0/./src/modules/citta-collapsible-recommendations/citta-collapsible-recommendations.tsx?71c0","webpack://Citta2.0/./src/modules/citta-collapsible-recommendations/citta-collapsible-recommendations.view.tsx?da8e","webpack://Citta2.0/./src/modules/citta-competition-form/citta-competition-form.tsx?b536","webpack://Citta2.0/./src/modules/citta-competition-form/citta-competition-form.view.tsx?95bb","webpack://Citta2.0/./src/modules/video-player-mobility/components/additional-content.tsx?db49","webpack://Citta2.0/./src/modules/video-player-mobility/video-player-mobility.tsx?a855","webpack://Citta2.0/./src/modules/video-player-mobility/video-player-mobility.view.tsx?e267","webpack://Citta2.0/./src/themes/citta/views/reviews-list.view.tsx?dfc8","webpack://Citta2.0/./src/themes/citta/views/sign-up.view.tsx?be7a","webpack://Citta2.0/./src/modules/iframe/iframe.tsx?65fe","webpack://Citta2.0/./src/modules/iframe/iframe.view.tsx?a7d6"],"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\r\nimport { Drawer,IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICittaCollapsibleRecommendationsData } from './citta-collapsible-recommendations.data';\r\nimport { ICittaCollapsibleRecommendationsProps } from './citta-collapsible-recommendations.props.autogenerated';\r\n\r\nexport interface ICittaCollapsibleRecommendationsViewProps extends ICittaCollapsibleRecommendationsProps {\r\n cittaCollapsibleRecommendations:React.ReactNode;\r\n collapsibleRecommendationContainer:IModuleProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaCollapsibleRecommendations component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaCollapsibleRecommendations extends React.PureComponent> {\r\n public constructor(props: ICittaCollapsibleRecommendationsProps) {\r\n super(props);\r\n }\r\n public render(): JSX.Element | null {\r\n const desktopClass = this.props.config.darkArrowDesktop ? 'dark-desktop' : '';\r\n const mobileClass = this.props.config.darkArrowMobile ? 'dark-mobile' : '';\r\n const displayPreview = this.props.config.displayPreviewText ? 'display-preview' : '';\r\n const wrapperClass = `citta-collapsible-recommendations ${desktopClass} ${mobileClass} ${displayPreview}`;\r\n const viewProps = {\r\n collapsibleRecommendationContainer: {\r\n moduleProps: this.props,\r\n className: classnames(wrapperClass)\r\n },\r\n ...this.props,\r\n cittaCollapsibleRecommendations: this. _cittaCollapsibleRecommendations()\r\n\r\n };\r\n return this.props.renderView(viewProps);\r\n }\r\n private _cittaCollapsibleRecommendations(): React.ReactNode {\r\n const { slots } = this.props;\r\n const recommendations = slots && slots.recommendations && slots.recommendations.length ? slots.recommendations : undefined;\r\n return(\r\n
\r\n {recommendations &&\r\n \r\n
\r\n {recommendations}\r\n
\r\n \r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CittaCollapsibleRecommendations;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaCollapsibleRecommendationsViewProps } from './citta-collapsible-recommendations';\r\n\r\nexport default (props: ICittaCollapsibleRecommendationsViewProps) => {\r\n const { cittaCollapsibleRecommendations, collapsibleRecommendationContainer } = props;\r\n return (\r\n \r\n {cittaCollapsibleRecommendations}\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport { ICittaCompetitionFormData } from './citta-competition-form.data';\r\nimport { ICittaCompetitionFormProps } from './citta-competition-form.props.autogenerated';\r\n\r\ninterface ICittaCompetitionFormFormState {\r\n firstName: string;\r\n lastName: string;\r\n emailAddress: string;\r\n country: string;\r\n additionalText: string;\r\n termsAndContitionsChecked: boolean;\r\n privacyPolicyChecked: boolean;\r\n eAValError: boolean;\r\n eAError: boolean;\r\n fNError: boolean;\r\n lNError: boolean;\r\n tsCsError: boolean;\r\n rCCError: boolean;\r\n reqError: boolean;\r\n responseReceived: boolean;\r\n responseError: boolean;\r\n responseSuccess: boolean;\r\n showResponseSuccess: boolean;\r\n reCaptchaChecked: boolean;\r\n charactersLeft?: number;\r\n firstNameErrorClass: string;\r\n lastNameErrorClass: string;\r\n emailErrorClass: string;\r\n tsCsErrorClass: string;\r\n}\r\n\r\nexport interface ICittaCompetitionFormForm {\r\n FormWrapper: INodeProps;\r\n FormContainer: INodeProps;\r\n firstAndLastNameInput: React.ReactNode;\r\n emailInput: React.ReactNode;\r\n countryInput: React.ReactNode;\r\n additionalTextInput: React.ReactNode;\r\n checkboxTermsAndConditions: React.ReactNode;\r\n checkboxPrivacyPolicy: React.ReactNode;\r\n reCaptcha: React.ReactNode;\r\n subscribeButtton: React.ReactNode;\r\n subscribeThanks: React.ReactNode;\r\n}\r\n\r\n\r\nexport interface ICittaCompetitionFormViewProps extends ICittaCompetitionFormProps {\r\n SubscribeWrapper: IModuleProps;\r\n subscribeResponse: React.ReactNode;\r\n subscribeForm: ICittaCompetitionFormForm;\r\n responseSuccess: boolean;\r\n showResponseSuccess: boolean;\r\n formErrors: React.ReactNode;\r\n formErrorsNodeProps: INodeProps;\r\n successResponse: React.ReactNode;\r\n showSuccessResponse: boolean;\r\n successResponseNodeProps: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaCompetitionForm component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaCompetitionForm extends React.PureComponent, ICittaCompetitionFormFormState> {\r\n private _FirstNameInputRef: React.RefObject;\r\n private _LastNameInputRef: React.RefObject;\r\n private _EmailAddressInputRef: React.RefObject;\r\n private _AdditionalTextInputRef: React.RefObject;\r\n private _TermsAndContitionsRef: React.RefObject;\r\n private _PrivacyPolicyRef: React.RefObject;\r\n private _recaptchaRef: React.RefObject;\r\n\r\n private firstNameValue: boolean = false;\r\n private lastNameValue: boolean = false;\r\n private emailAddressValue: boolean = false;\r\n private formInputValues: boolean = false;\r\n private responseMessage: string | undefined;\r\n private moduleClassName: string = 'newsletterSubWrap';\r\n private recaptchaErrorMessage: string | undefined;\r\n\r\n constructor(props: ICittaCompetitionFormProps) {\r\n super(props);\r\n this._FirstNameInputRef = React.createRef();\r\n this._LastNameInputRef = React.createRef();\r\n this._EmailAddressInputRef = React.createRef();\r\n this._AdditionalTextInputRef = React.createRef();\r\n this._TermsAndContitionsRef = React.createRef();\r\n this._PrivacyPolicyRef = React.createRef();\r\n this._recaptchaRef = React.createRef();\r\n this._handleSubmit = this._handleSubmit.bind(this);\r\n\r\n this.state = {\r\n firstName: '',\r\n lastName: '',\r\n emailAddress: '',\r\n country: 'NZ',\r\n additionalText: '',\r\n termsAndContitionsChecked: false,\r\n privacyPolicyChecked: false,\r\n eAValError: false,\r\n fNError: false,\r\n lNError: false,\r\n eAError: false,\r\n tsCsError: false,\r\n rCCError: false,\r\n reqError: false,\r\n responseReceived: false,\r\n responseError: false,\r\n reCaptchaChecked: false,\r\n responseSuccess: false,\r\n showResponseSuccess: false,\r\n charactersLeft: Number(this.props.resources.messageCharactersLimit) || 140,\r\n firstNameErrorClass: 'hide',\r\n lastNameErrorClass: 'hide',\r\n emailErrorClass: 'hide',\r\n tsCsErrorClass: 'hide'\r\n };\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ICittaCompetitionFormViewProps = {\r\n ...(this.props as ICittaCompetitionFormProps),\r\n SubscribeWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, this.props.config.className)\r\n },\r\n subscribeResponse: this._getSubmitResponse(),\r\n subscribeForm: this._renderForm(),\r\n responseSuccess: this.state.responseSuccess,\r\n showResponseSuccess: this.state.showResponseSuccess,\r\n formErrors: this._renderErrors(),\r\n formErrorsNodeProps: {\r\n className: 'competition-form-errors'\r\n },\r\n successResponse: this._renderSuccessResponse(),\r\n showSuccessResponse: this.state.responseSuccess,\r\n successResponseNodeProps: {\r\n className: 'competition-form-success'\r\n }\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _getSubmitResponse(): React.ReactNode {\r\n return (\r\n this.state.responseReceived && this.responseMessage !== '' || undefined\r\n ? (\r\n
\r\n

{this.responseMessage}

\r\n
\r\n )\r\n : null\r\n );\r\n }\r\n \r\n private _renderSuccessResponse(): React.ReactNode {\r\n return (\r\n this.state.responseSuccess\r\n ? (\r\n
\r\n

{this.props.config.successTextResponse}

\r\n
\r\n )\r\n : null\r\n );\r\n }\r\n \r\n \r\n private onRecaptchaChange = (value: string | null) => {\r\n if (value) {\r\n this.setState({ reCaptchaChecked: true, rCCError: false });\r\n } else {\r\n this.setState({ reCaptchaChecked: false });\r\n }\r\n }\r\n\r\n private _renderForm(): ICittaCompetitionFormForm {\r\n return {\r\n FormWrapper: {\r\n className: 'competition-form',\r\n },\r\n FormContainer: {\r\n className: 'competition-form-div',\r\n },\r\n firstAndLastNameInput: this._renderFirstAndLastNameInput(),\r\n emailInput: this._renderEmailInput(),\r\n countryInput: this._renderCountryInput(),\r\n additionalTextInput: this._renderAdditionalTextInput(),\r\n checkboxTermsAndConditions: this._renderCheckboxTermsAndConditions(),\r\n checkboxPrivacyPolicy: this._renderCheckboxPrivacyPolicy(),\r\n reCaptcha: this._renderReCaptcha(),\r\n subscribeButtton: this._renderSubmitButton(),\r\n subscribeThanks: this._renderSubmitThanks()\r\n };\r\n }\r\n\r\n private _renderFirstAndLastNameInput(): React.ReactNode {\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 private _renderAdditionalTextInput(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {`${this.state.charactersLeft} ${this.props.resources.messageCharactersLimitLeftText}`}\r\n
\r\n
\r\n );\r\n }\r\n private _onEditMessage = (event: React.KeyboardEvent): void => {\r\n const charactersLeft: number = this.state.charactersLeft || 0;\r\n const key: string = event.key.length > 1 ? '' : event.key;\r\n const textArea: HTMLTextAreaElement | null = this._AdditionalTextInputRef && this._AdditionalTextInputRef.current && this._AdditionalTextInputRef.current;\r\n const message = this._AdditionalTextInputRef && this._AdditionalTextInputRef.current && this._AdditionalTextInputRef.current.value || '';\r\n let messageEnterd: string = message || key;\r\n const charactersLimit = this.props.config.additionalTextCharactersLimit || 140;\r\n\r\n if (charactersLeft === 0 && event.which !== 8) {\r\n event.preventDefault();\r\n }\r\n if (charactersLeft <= 0) {\r\n messageEnterd = messageEnterd.substring(0, charactersLimit);\r\n textArea!.value = messageEnterd;\r\n }\r\n if (key.length === 1 || event.which === 8 || event.which === 46) {\r\n this.setState({\r\n additionalText: messageEnterd,\r\n charactersLeft: (charactersLimit - messageEnterd.length) >= 0 ? charactersLimit - messageEnterd.length : 0\r\n });\r\n }\r\n }\r\n \r\n private _renderEmailInput(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.eAError || this.state.eAValError ? this._renderAlert('email-address-input') : ''}\r\n \r\n
\r\n );\r\n }\r\n\r\n private _renderCountryInput() : React.ReactNode {\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 private _renderAlert(className: string): JSX.Element {\r\n return <>;\r\n }\r\n\r\n private _renderCheckboxTermsAndConditions(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.tsCsError ? this._renderAlert('checkbox-privacy-policy') : ''}\r\n
\r\n \r\n \r\n

{this.props.config.termsAndConditionsText}Terms and Conditions

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderCheckboxPrivacyPolicy(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.tsCsError ? this._renderAlert('checkbox-privacy-policy') : ''}\r\n
\r\n \r\n \r\n

{this.props.config.privacyPolicyText}Privacy Policy

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n\r\n private _renderReCaptcha(): React.ReactNode {\r\n return (\r\n
\r\n {\r\n this.props.config.reCaptchaOption ?
\r\n {this.state.rCCError ? this._renderRecaptchaAlert('recaptcha-error') : ''}\r\n \r\n
: null\r\n }\r\n
\r\n );\r\n }\r\n \r\n private _renderRecaptchaAlert(className: string): JSX.Element {\r\n\r\n if (this.props.config.reCaptchaOption) {\r\n if (!this.state.reCaptchaChecked) {\r\n this.recaptchaErrorMessage = this.props.resources.recaptchaErrorMessage;\r\n }\r\n }\r\n\r\n const rCCError = this.state.rCCError;\r\n return (\r\n <>\r\n {rCCError && (\r\n \r\n {\r\n this.recaptchaErrorMessage &&\r\n <>\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private _renderSubmitButton(): React.ReactNode {\r\n return (\r\n
\r\n {this.props.config.submitButtonLabel}\r\n \r\n
\r\n );\r\n }\r\n\r\n private _renderSubmitThanks(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n Thanks!\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _showErrors = (): void => {\r\n this.setState({\r\n emailErrorClass: this._checkEmailError() ? 'show' : 'hide',\r\n firstNameErrorClass: (this._FirstNameInputRef.current && this._FirstNameInputRef.current.value.length === 0) ? 'show' : 'hide',\r\n lastNameErrorClass: (this._LastNameInputRef.current && this._LastNameInputRef.current.value.length === 0) ? 'show' : 'hide',\r\n tsCsErrorClass: (this._TermsAndContitionsRef.current && !this._TermsAndContitionsRef.current.checked) ? 'show' : 'hide'\r\n });\r\n }\r\n\r\n private _checkEmailError = (): boolean => {\r\n const email: string = this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value || '';\r\n if (email.length === 0) {\r\n return true;\r\n } else {\r\n return !this._isEmailValid(email);\r\n }\r\n }\r\n\r\n private _renderErrors = (): JSX.Element => {\r\n const {resources} = this.props;\r\n return (\r\n <>\r\n
\r\n {resources.firstNameError}\r\n
\r\n
\r\n {resources.lastNameError}\r\n
\r\n
\r\n {resources.emailError}\r\n
\r\n
\r\n {resources.tsCsError}\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n private _handleChange = (name: string) => (e: React.ChangeEvent | React.ChangeEvent) => {\r\n const value = e.target.value;\r\n switch (name) {\r\n case 'firstName': {\r\n this.setState({ firstName: value, fNError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'lastName': {\r\n this.setState({ lastName: value, lNError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'emailAddress': {\r\n this.setState({ emailAddress: value, eAError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'country': {\r\n this.setState({ country: value, eAError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'additionalText': {\r\n this.setState({ additionalText: value, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'termsAndConditions': {\r\n const isChecked = this._TermsAndContitionsRef.current && this._TermsAndContitionsRef.current.checked ? this._TermsAndContitionsRef.current.checked : false;\r\n const recaptchaWrapper = document.querySelector('.recaptcha');\r\n recaptchaWrapper && recaptchaWrapper.classList.toggle('newsletter-recapture-visable', !isChecked);\r\n this.setState({ termsAndContitionsChecked: isChecked, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'privacyPolicy': {\r\n const isChecked = this._PrivacyPolicyRef.current && this._PrivacyPolicyRef.current.checked ? this._PrivacyPolicyRef.current.checked : false;\r\n this.setState({ privacyPolicyChecked: isChecked, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n default: {\r\n console.log('No input box changes');\r\n this.setState({ reqError: false, eAValError: false, tsCsError: false });\r\n }\r\n }\r\n }\r\n\r\n private _isEmailValid = (email: string): boolean => {\r\n const regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return regex.test(email);\r\n };\r\n\r\n private async _handleSubmit(e: React.MouseEvent | React.KeyboardEvent | React.FormEvent): Promise {\r\n this._showErrors();\r\n \r\n this.firstNameValue = (this._FirstNameInputRef && this._FirstNameInputRef.current && this._FirstNameInputRef.current.value) ? true : false;\r\n this.lastNameValue = (this._LastNameInputRef && this._LastNameInputRef.current && this._LastNameInputRef.current.value) ? true : false;\r\n this.emailAddressValue = (this._EmailAddressInputRef && this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value) ? true : false; \r\n\r\n const fN = (this._FirstNameInputRef && this._FirstNameInputRef.current && this._FirstNameInputRef.current.value) ? this._FirstNameInputRef.current.value : '';\r\n const lN = (this._LastNameInputRef && this._LastNameInputRef.current && this._LastNameInputRef.current.value) ? this._LastNameInputRef.current.value : '';\r\n const aT = (this._AdditionalTextInputRef && this._AdditionalTextInputRef.current && this._AdditionalTextInputRef.current.value) ? this._AdditionalTextInputRef.current.value : '';\r\n const eA = (this._EmailAddressInputRef && this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value) ? this._EmailAddressInputRef.current.value : '';\r\n const cT = this.state.country;\r\n\r\n const eAVal = this._EmailAddressInputRef.current!.value;\r\n const oI = this._PrivacyPolicyRef.current!.checked;\r\n\r\n if (!this.firstNameValue) {\r\n this.setState({\r\n fNError: true,\r\n reqError: true\r\n });\r\n } else if (!this.lastNameValue) {\r\n this.setState({\r\n lNError: true,\r\n reqError: true\r\n });\r\n } else if (!this.emailAddressValue) {\r\n this.setState({\r\n eAError: true,\r\n reqError: true\r\n });\r\n } else if (!this._isEmailValid(eAVal)) {\r\n this.setState({\r\n eAValError: true\r\n });\r\n } else if (this.props.config.reCaptchaOption && !this.state.reCaptchaChecked) {\r\n this.setState({\r\n rCCError: true\r\n });\r\n } else if (!this._TermsAndContitionsRef.current!.checked) {\r\n this.setState({\r\n termsAndContitionsChecked: false,\r\n tsCsError: true\r\n });\r\n } else {\r\n this.formInputValues = (this.emailAddressValue) ? true : false;\r\n if (this.formInputValues && this.state.termsAndContitionsChecked && !this.state.eAValError) {\r\n try {\r\n await this._postEntry(fN, lN, eA, aT, oI, cT || 'NZ');\r\n\r\n this._clearValues();\r\n this._recaptchaRef.current?.reset();\r\n \r\n } catch (e) {\r\n console.log(e, 'Please fill in the form!');\r\n }\r\n }\r\n }\r\n }\r\n\r\n private async _postEntry(firstName: string, lastName: string, email: string, additionalText: string, optIn: boolean, country: string): Promise {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = urlSearchParams.get('store');\r\n // NB in test the post body will need to look like this: { content: { emailAddress: email } }\r\n /* tslint:disable */\r\n\r\n let emarsysGroupId = this.props.config.emarsysGroupId, \r\n emarsysCompetitionGroupId = this.props.config.emarsysCompetitionGroupId,\r\n emarsysGroupIdAdditionalText = this.props.config.emarsysGroupIdAdditionalText,\r\n emarsysStoreNameGroupId = this.props.config.emarsysStoreNameGroupId;\r\n\r\n if (country === 'AU') {\r\n emarsysGroupId = this.props.config.emarsysGroupIdAU; \r\n emarsysCompetitionGroupId = this.props.config.emarsysCompetitionGroupIdAU;\r\n emarsysGroupIdAdditionalText = this.props.config.emarsysGroupIdAdditionalTextAU;\r\n emarsysStoreNameGroupId = this.props.config.emarsysStoreNameGroupIdAU;\r\n }\r\n\r\n const response = await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'PostContactEvent',\r\n 'post',\r\n {\r\n firstName: firstName,\r\n lastName: lastName,\r\n additionalText: additionalText,\r\n emailAddress: email,\r\n country: country,\r\n emarsysGroupId: emarsysGroupId,\r\n emarsysCompetitionGroupId: emarsysCompetitionGroupId,\r\n emarsysGroupIdAdditionalText: emarsysGroupIdAdditionalText,\r\n storeName: params || '',\r\n emarsysStoreNameGroupId: emarsysStoreNameGroupId,\r\n optIn: optIn\r\n }\r\n \r\n ) as any;\r\n \r\n this.responseMessage = response?.data.Message;\r\n\r\n if (response?.data.Result !== 'Error') {\r\n this.setState({\r\n responseReceived: true,\r\n responseError: response?.data.Result === 'Error',\r\n responseSuccess: response?.data.Result !== 'Error',\r\n showResponseSuccess: true,\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n additionalText: '',\r\n termsAndContitionsChecked: false,\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n\r\n // if (params) {\r\n // setTimeout(() => { \r\n // window.location.reload();\r\n // }, 6000);\r\n // } else {\r\n // const baseUrl = window.location.origin;\r\n // if (baseUrl.length) {\r\n // window.location.assign(`${baseUrl}${this.props.config.successUrl}`);\r\n // }\r\n // }\r\n } else {\r\n this.setState({\r\n responseReceived: true,\r\n responseError: response?.data.Result === 'Error',\r\n responseSuccess: response?.data.Result !== 'Error',\r\n emailAddress: '',\r\n termsAndContitionsChecked: false,\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n }\r\n\r\n // if (response?.data.Result !== 'Error') {\r\n // // const baseUrl = window.location.origin;\r\n // // if (baseUrl.length) {\r\n // // // window.location.assign(`${baseUrl}${this.props.config.successUrl}`);\r\n // // }\r\n // } else {\r\n // this.setState({\r\n // responseReceived: true,\r\n // responseError: response?.data.Result === 'Error',\r\n // responseSuccess: response?.data.Result !== 'Error',\r\n // emailAddress: '',\r\n // termsAndContitionsChecked: false,\r\n // reqError: false,\r\n // eAValError: false,\r\n // rCCError: false\r\n // });\r\n // }\r\n /* tslint:enable */\r\n }\r\n\r\n private _clearValues(): void {\r\n if (this._TermsAndContitionsRef.current) {\r\n this._TermsAndContitionsRef.current.checked = false;\r\n const recaptchaWrapper = document.querySelector('.recaptcha');\r\n recaptchaWrapper && recaptchaWrapper.classList.toggle('newsletter-recapture-visable', true);\r\n }\r\n if (this._PrivacyPolicyRef.current) {\r\n this._PrivacyPolicyRef.current.checked = false;\r\n }\r\n if (this._EmailAddressInputRef.current) {\r\n this._EmailAddressInputRef.current!.value = '';\r\n }\r\n if (this._FirstNameInputRef.current) {\r\n this._FirstNameInputRef.current!.value = '';\r\n }\r\n if (this._LastNameInputRef.current) {\r\n this._LastNameInputRef.current!.value = '';\r\n }\r\n if (this._AdditionalTextInputRef.current) {\r\n this._AdditionalTextInputRef.current!.value = '';\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default CittaCompetitionForm;\r\n\r\n\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaCompetitionFormViewProps } from './citta-competition-form';\r\n\r\n/**\r\n *\r\n * ICittaProductSkuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ICittaCompetitionFormView extends React.PureComponent {\r\n\r\n public render(): JSX.Element | null {\r\n const { SubscribeWrapper, subscribeResponse, subscribeForm, responseSuccess, showResponseSuccess, formErrors, formErrorsNodeProps, successResponseNodeProps, showSuccessResponse, successResponse } = this.props;\r\n const { \r\n FormWrapper,\r\n FormContainer,\r\n firstAndLastNameInput,\r\n emailInput,\r\n countryInput,\r\n additionalTextInput,\r\n checkboxTermsAndConditions,\r\n checkboxPrivacyPolicy,\r\n subscribeButtton,\r\n reCaptcha,\r\n subscribeThanks\r\n } = subscribeForm;\r\n return (\r\n \r\n {subscribeResponse}\r\n {showSuccessResponse ?\r\n \r\n {successResponse}\r\n \r\n : \r\n \r\n {firstAndLastNameInput}\r\n {emailInput}\r\n {additionalTextInput}\r\n {countryInput}\r\n {checkboxTermsAndConditions}\r\n {checkboxPrivacyPolicy}\r\n {reCaptcha}\r\n {responseSuccess && showResponseSuccess ? subscribeThanks : subscribeButtton}\r\n \r\n \r\n {formErrors}\r\n \r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\nexport default ICittaCompetitionFormView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAdditionalContentData, ILinksData } from '../video-player-mobility.props.autogenerated';\r\n\r\n/**\r\n * IVideoPlayerAdditionalContentProps: Interface for\r\n * Video Player Additional Content Component props.\r\n */\r\nexport interface IVideoPlayerAdditionalContentProps {\r\n requestContext: Msdyn365.IRequestContext;\r\n additionalContent: IAdditionalContentData | undefined;\r\n handleAdditionalTextChange(event: Msdyn365.ContentEditableEvent): void;\r\n handleAdditionalParagraphChange(event: Msdyn365.ContentEditableEvent): void;\r\n handleAdditionalLinkTextChange(linkIndex: number, event: Msdyn365.ContentEditableEvent): void;\r\n}\r\n\r\n/**\r\n * IVideoPlayerAdditionalContentProps: Interface for\r\n * Video Player Additional Content view props.\r\n */\r\nexport interface IVideoPlayerAdditionalContentViewProps {\r\n additionalContentNode: INodeProps;\r\n additionalContentItems?: IVideoPlayerAdditionalContentItemViewProps;\r\n}\r\n\r\n/**\r\n * IVideoPlayerAdditionalContentProps: Interface for\r\n * Video Player Additional Content Item view props.\r\n */\r\nexport interface IVideoPlayerAdditionalContentItemViewProps {\r\n heading: React.ReactNode;\r\n text: React.ReactNode;\r\n links: React.ReactNode;\r\n additionalContentItemContainer: INodeProps;\r\n additionalContentItemLinks: INodeProps;\r\n}\r\n\r\n/**\r\n * Renders additional content heading.\r\n * @param additionalContentHeading - Additional content heading.\r\n * @param props - Video Player Additional content component props.\r\n * @returns Heading Node.\r\n */\r\nconst renderHeading = (additionalContentHeading: string, props: IVideoPlayerAdditionalContentProps) => {\r\n const requestContext = props.requestContext;\r\n return (\r\n {\r\n props.handleAdditionalTextChange(event);\r\n },\r\n requestContext\r\n }}\r\n />\r\n );\r\n};\r\n\r\n/**\r\n * Renders additional content heading.\r\n * @param additionalContentParagraphText - Additional content paragraph text.\r\n * @param props - Video Player Additional content component props.\r\n * @returns Paragraph Node.\r\n */\r\nconst renderParagraph = (additionalContentParagraphText: string, props: IVideoPlayerAdditionalContentProps) => {\r\n const requestContext = props.requestContext;\r\n return (\r\n {\r\n props.handleAdditionalParagraphChange(event);\r\n },\r\n requestContext\r\n }}\r\n />\r\n );\r\n};\r\n\r\n/**\r\n * Renders additional content heading.\r\n * @param ctaLink - Additional content link.\r\n * @param props - Video Player Additional content component props.\r\n * @param linkIndex - Additional content link index.\r\n * @returns Link Node.\r\n */\r\nconst renderLinks = (ctaLink: ILinksData, props: IVideoPlayerAdditionalContentProps, linkIndex: number) => {\r\n const editableLink: Msdyn365.ILinksData = {\r\n ariaLabel: ctaLink.ariaLabel,\r\n className: 'ms-video-player__details__additional-content__cta__links',\r\n linkText: ctaLink.linkText,\r\n linkUrl: ctaLink.linkUrl.destinationUrl,\r\n openInNewTab: ctaLink.openInNewTab,\r\n role: 'link'\r\n };\r\n const requestContext = props.requestContext;\r\n return (\r\n {\r\n props.handleAdditionalLinkTextChange(linkIndex, event);\r\n },\r\n requestContext\r\n }}\r\n />\r\n );\r\n};\r\n\r\n/**\r\n * Create node for each additonal content item.\r\n * @param item - Video Player additonal content item props.\r\n * @param props - Video Player Additional content component props.\r\n * @returns IVideoPlayerAdditionalContentItemViewProps.\r\n */\r\nconst getAdditionalContentItems = (\r\n item: IAdditionalContentData,\r\n props: IVideoPlayerAdditionalContentProps\r\n): IVideoPlayerAdditionalContentItemViewProps => {\r\n const headingNode = item.heading && renderHeading(item.heading, props);\r\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props);\r\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\r\n return renderLinks(ctaLink, props, index);\r\n });\r\n\r\n return {\r\n heading: headingNode,\r\n text: paragraphNode,\r\n links: linksNode,\r\n additionalContentItemContainer: { className: 'ms-video-player__details__additional-content__container' },\r\n additionalContentItemLinks: { className: 'ms-video-player__details__additional-content__cta' }\r\n };\r\n};\r\n\r\n/**\r\n * VideoPlayerAdditionalContent component.\r\n * @param props - Video Player Additional content component props.\r\n * @returns Video Player Additional content view props.\r\n */\r\nexport const videoPlayerAdditionalContent = (\r\n props: IVideoPlayerAdditionalContentProps\r\n): IVideoPlayerAdditionalContentViewProps | undefined => {\r\n const { additionalContent } = props;\r\n if (!additionalContent) {\r\n return undefined;\r\n }\r\n\r\n const reactNodes: IVideoPlayerAdditionalContentItemViewProps = getAdditionalContentItems(additionalContent, props);\r\n return {\r\n additionalContentNode: { className: 'ms-video-player__details__additional-content' },\r\n additionalContentItems: reactNodes\r\n };\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport {\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n INodeProps,\r\n // isMobile,\r\n ITelemetryContent,\r\n // VariantType\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IVideoPlayerAdditionalContentViewProps, videoPlayerAdditionalContent } from './components/additional-content';\r\nimport { ILinksData, IVideoPlayerMobilityConfig, IVideoPlayerMobilityProps } from './video-player-mobility.props.autogenerated';\r\n\r\nexport interface IVideoPlayerViewProps extends IVideoPlayerMobilityProps<{}> {\r\n player: React.ReactNode;\r\n title?: React.ReactNode;\r\n text?: React.ReactNode;\r\n links?: React.ReactNode;\r\n detailsContainer?: INodeProps;\r\n detailsContainerCta?: INodeProps;\r\n additionalContent?: IVideoPlayerAdditionalContentViewProps;\r\n handleText?(): void;\r\n handleParagraph?(): void;\r\n handleAdditionalText?(): void;\r\n handleAdditionalParagraph?(): void;\r\n handleLink?(): void;\r\n handleAdditionalLink?(): void;\r\n}\r\n\r\n/**\r\n *\r\n * VideoPlayer component.\r\n * @extends {React.PureComponent>}\r\n */\r\nclass VideoPlayer extends React.PureComponent> {\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n // private readonly isMobileDevice: boolean;\r\n\r\n public constructor(props: IVideoPlayerMobilityProps) {\r\n super(props);\r\n // this.isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const video: MsDyn365.IVideoData = this.props.config.video;\r\n let videolink = video._links && video._links.binaryReferences && video._links.binaryReferences[0].clientHref;\r\n let thumbnail = video.thumbnail?.src;\r\n \r\n const viewProps = {\r\n // Context for telemetry and raw data for C1 to do customization\r\n // Including computed data, state data and methods\r\n ...this.props,\r\n player: (\r\n \r\n \r\n ),\r\n title: this._getVideoDetailsHeading(),\r\n text: this._getVideoDetailsParagraph(),\r\n links: this._getVideoDetailsLinks(),\r\n detailsContainer: { className: 'ms-video-player__details' },\r\n detailsContainerCTA: { className: 'ms-video-player__details__cta' },\r\n additionalContent: videoPlayerAdditionalContent({\r\n requestContext: this.props.context.request,\r\n additionalContent: this.props.config.additionalContent,\r\n handleAdditionalTextChange: this.handleAdditionalTextChange,\r\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\r\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\r\n }),\r\n handleText: this.handleTextChange,\r\n handleParagraph: this.handleParagraphChange,\r\n handleAdditionalText: this.handleAdditionalTextChange,\r\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\r\n handleLink: this.handleLinkTextChange,\r\n handleAdditionalLink: this.handleAdditionalTextChange\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handle link text change.\r\n * @param linkIndex - The link index.\r\n * @param event - The dialog that is allowed to remain open.\r\n */\r\n public handleLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\r\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\r\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\r\n }\r\n }\r\n\r\n /**\r\n * Handle text change.\r\n * @param event - The dialog that is allowed to remain open.\r\n */\r\n public handleTextChange = (event: MsDyn365.ContentEditableEvent): void => {\r\n this.props.config.heading!.text = event.target.value;\r\n };\r\n\r\n /**\r\n * Handle paragraph change.\r\n * @param event - The dialog that is allowed to remain open.\r\n */\r\n public handleParagraphChange = (event: MsDyn365.ContentEditableEvent): void => {\r\n this.props.config.paragraph = event.target.value;\r\n };\r\n\r\n /**\r\n * Handle additional text change.\r\n * @param event - The dialog that is allowed to remain open.\r\n */\r\n public handleAdditionalTextChange(event: MsDyn365.ContentEditableEvent): void {\r\n if (this.props.config.additionalContent) {\r\n this.props.config.additionalContent.heading = event.target.value;\r\n }\r\n }\r\n\r\n /**\r\n * Handle additional link text change.\r\n * @param linkIndex - The link index.\r\n * @param event - The dialog that is allowed to remain open.\r\n */\r\n public handleAdditionalLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\r\n const additionalContent = this.props.config.additionalContent ?? {};\r\n if (additionalContent.links) {\r\n additionalContent.links[Number(linkIndex)].linkText = event.target.value;\r\n }\r\n }\r\n\r\n /**\r\n * Handle additional paragraph change.\r\n * @param event - The dialog that is allowed to remain open.\r\n */\r\n public handleAdditionalParagraphChange(event: MsDyn365.ContentEditableEvent): void {\r\n if (this.props.config.additionalContent) {\r\n this.props.config.additionalContent.subtext = event.target.value;\r\n }\r\n }\r\n\r\n /**\r\n * Get video details links.\r\n * @returns - React node.\r\n */\r\n private _getVideoDetailsLinks(): React.ReactNode[] | undefined {\r\n const { links } = this.props.config;\r\n const payLoad = getPayloadObject('click', this.telemetryContent, '');\r\n\r\n return links?.map((linkData: ILinksData, index: number) => {\r\n payLoad.contentAction.etext = linkData.linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n const linkId = index;\r\n const editableLink: MsDyn365.ILinksData = {\r\n ariaLabel: linkData.ariaLabel,\r\n className: 'ms-video-player__details__cta__link',\r\n linkText: linkData.linkText,\r\n linkUrl: linkData.linkUrl.destinationUrl,\r\n openInNewTab: linkData.openInNewTab,\r\n role: 'button',\r\n additionalProperties: attributes\r\n };\r\n\r\n return (\r\n {\r\n this.handleLinkTextChange(index, event);\r\n },\r\n requestContext: this.props.context.request\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n\r\n private _getVideoDetailsHeading(): React.ReactNode | undefined {\r\n const { heading } = this.props.config;\r\n\r\n return (\r\n heading && (\r\n \r\n )\r\n );\r\n }\r\n\r\n private _getVideoDetailsParagraph(): React.ReactNode | undefined {\r\n const { paragraph } = this.props.config;\r\n\r\n return (\r\n paragraph && (\r\n \r\n )\r\n );\r\n }\r\n}\r\n\r\nexport default VideoPlayer;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IVideoPlayerAdditionalContentViewProps } from './components/additional-content';\r\nimport { IVideoPlayerViewProps } from './video-player-mobility';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IVideoPlayerAdditionalContentViewProps) => {\r\n if (additionalContent.additionalContentItems) {\r\n return (\r\n \r\n <>\r\n {additionalContent.additionalContentItems.heading}\r\n \r\n {additionalContent.additionalContentItems.text}\r\n \r\n {additionalContent.additionalContentItems.links}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst VideoPlayerView: React.FC = props => {\r\n return (\r\n
\r\n {props.player}\r\n \r\n {props.title}\r\n {props.text}\r\n {props.additionalContent && renderAdditionalContent(props.additionalContent)}\r\n \r\n {props.links}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default VideoPlayerView;\r\n","// @ts-nockeck\r\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { IReportReviewModalViewProps, IReviewCardViewProps, IReviewsListState, IReviewsListViewProps } from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst ReviewsListview: React.FC = props => {\r\n const {\r\n averageRating,\r\n filterByDropdown,\r\n moduleProps,\r\n noReviewsMessage,\r\n noReviewsWithFilterMessage,\r\n pageControls,\r\n refineReviewsProps,\r\n reportReviewModal,\r\n reviewsListProps,\r\n reviewCards,\r\n reviewCount,\r\n reviewModal,\r\n sortByDropdown,\r\n state,\r\n userReview\r\n } = props;\r\n\r\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\r\n return {noReviewsMessage};\r\n }\r\n\r\n return (\r\n \r\n {averageRating}\r\n {reviewCount}\r\n \r\n {sortByDropdown}\r\n {filterByDropdown}\r\n \r\n \r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n \r\n { reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\r\n {pageControls}\r\n {createReviewModal(reviewModal)}\r\n {createReportModal(reportReviewModal, state)}\r\n \r\n );\r\n};\r\n\r\nconst buildReviewCard = (props: IReviewCardViewProps) => {\r\n return (\r\n \r\n \r\n {props.rating}\r\n {props.name}\r\n {props.date}\r\n \r\n \r\n \r\n {props.reviewTitle}\r\n {props.reviewText}\r\n \r\n \r\n {props.responseName}\r\n {props.responseDate}\r\n {props.responseText}\r\n \r\n \r\n {props.ratingHelpfulLabel}\r\n {props.like}\r\n {props.dislike}\r\n {props.edit}\r\n {props.report}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst createReviewModal = (props: IReviewModalViewProps): JSX.Element => {\r\n return (\r\n \r\n {props.modalHeader}\r\n \r\n \r\n \r\n {props.rating}\r\n {props.ratingLabel}\r\n \r\n \r\n {props.titleLabel}\r\n {props.titleInput}\r\n \r\n \r\n {props.textLabel}\r\n {props.textInput}\r\n \r\n {props.privacyPolicyUrl}\r\n {props.error}\r\n \r\n \r\n \r\n {props.submitButton}\r\n {props.cancelButton}\r\n \r\n \r\n );\r\n};\r\n\r\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\r\n return (\r\n \r\n \r\n {state.reported ? props.headerSubmitted : props.header}\r\n \r\n \r\n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\r\n \r\n \r\n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReviewsListview;","/*---------------------------------------------------------------------------------------------\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 {IModuleProps, INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ISignUpProps } from '../definition-extensions/sign-up.ext.props.autogenerated';\r\n\r\nexport interface ISignUpInputProps {\r\n signUpLocalAccount:ISignUpLocalAccount;\r\n}\r\n/*\r\n* Added ISignUpViewState, ISignUpViewProps, ISignUpEmailVerification, ISignUpLocalAccount, ISignUpLoading, ISignUpItem\r\n* keys overwritten error is coming if refer to the modules type because of the known issue in the new version of Typescript\r\n*/\r\nexport interface ISignUpViewState {\r\n isShowLoading: boolean;\r\n}\r\nexport interface ISignUpEmailVerification {\r\n isRequired: boolean;\r\n email: ISignUpItem;\r\n buttonWrapper: INodeProps;\r\n buttons: React.ReactNode[];\r\n successMessage: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n}\r\nexport interface ISignUpViewProps {\r\n className: string;\r\n viewState: ISignUpViewState;\r\n loading: ISignUpLoading;\r\n signUp: IModuleProps;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n heading: React.ReactNode;\r\n signUpLocalAccount: ISignUpLocalAccount;\r\n}\r\nexport interface ISignUpLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignUpItem[];\r\n emailVerification: ISignUpEmailVerification;\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\nexport interface ISignUpLoading {\r\n modal: INodeProps;\r\n modalBody: INodeProps;\r\n icon: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\nexport interface ISignUpItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input: React.ReactNode;\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 signUpLocalAccount\r\n}) => {\r\n const{\r\n localAccount,\r\n items,\r\n emailVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n } = signUpLocalAccount;\r\n\r\n \r\n\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \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 const signUpInput:ISignUpInputProps = {\r\n signUpLocalAccount\r\n };\r\n \r\n \r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpInput)}\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 { Heading, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IHeadingData, IIframeConfig, IIframeProps } from './iframe.props.autogenerated';\n\nexport interface IIframeViewProps extends IIframeProps {\n Heading: React.ReactNode;\n IframeContainer: IModuleProps;\n IFrame: React.ReactNode;\n alert?: React.ReactNode;\n cookieConsentAccepted?: boolean;\n}\n\n/**\n *\n * Iframe component.\n * @extends {React.PureComponent}\n */\nclass Iframe extends React.PureComponent> {\n private readonly iframeRef: React.RefObject;\n\n constructor(props: IIframeProps) {\n super(props);\n this.iframeRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { config, resources } = this.props;\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 (!(config && config.target && config.target.destinationUrl)) {\n return null;\n }\n\n let srcURL;\n try {\n srcURL = new URL(config.target.destinationUrl);\n } catch (error) {\n this.props.telemetry.exception(error);\n return null;\n }\n\n if (srcURL && srcURL.protocol && srcURL.protocol.toLocaleLowerCase() !== 'https:') {\n return null;\n }\n const iframeClassName = classnames('ms-iframe', config.className);\n\n let viewProps: IIframeViewProps = {\n ...(this.props as IIframeProps),\n Heading: this._createHeading(config.heading!),\n IframeContainer: {\n moduleProps: this.props,\n className: iframeClassName\n },\n IFrame: this._createIframe()\n };\n\n if (!isConsentGiven) {\n viewProps = {\n ...viewProps,\n alert: this._renderAlert(resources.cookieConsentRequiredMessage)\n };\n } else {\n viewProps = {\n ...viewProps,\n cookieConsentAccepted: true\n };\n }\n return this.props.renderView(viewProps) as React.ReactElement;\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 private _renderAlert(message: string): React.ReactNode | null {\n return (\n

\n {message}\n

\n );\n }\n\n private _createIframe(): React.ReactNode | null {\n const { config } = this.props;\n const targetURL = config.target.destinationUrl;\n\n return (\n \n );\n }\n}\n\nexport default Iframe;\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 { IIframeViewProps } from './iframe';\n\n/**\n *\n * IFrameView component.\n * @extends {React.PureComponent}\n */\nexport class IFrameView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { Heading, IframeContainer, IFrame, alert, cookieConsentAccepted } = this.props;\n\n return (\n \n {alert}\n {cookieConsentAccepted && cookieConsentAccepted ? (\n <>\n {Heading}\n {IFrame}\n \n ) : null}\n \n );\n }\n}\nexport default IFrameView;\n"],"names":["CittaCollapsibleRecommendations","React","constructor","props","super","render","wrapperClass","this","config","darkArrowDesktop","darkArrowMobile","displayPreviewText","viewProps","_objectSpread","collapsibleRecommendationContainer","moduleProps","className","classnames","cittaCollapsibleRecommendations","_cittaCollapsibleRecommendations","renderView","slots","recommendations","length","undefined","Drawer","collapseProps","timeout","toggleButtonText","openGlyph","closeGlyph","glyphPlacement","toggleButtonProps","color","tag","Module","Object","assign","CittaCompetitionForm","firstNameValue","lastNameValue","emailAddressValue","formInputValues","moduleClassName","onRecaptchaChange","value","setState","reCaptchaChecked","rCCError","_onEditMessage","event","charactersLeft","state","key","textArea","_AdditionalTextInputRef","current","messageEnterd","charactersLimit","additionalTextCharactersLimit","which","preventDefault","substring","additionalText","_showErrors","emailErrorClass","_checkEmailError","firstNameErrorClass","_FirstNameInputRef","lastNameErrorClass","_LastNameInputRef","tsCsErrorClass","_TermsAndContitionsRef","checked","email","_EmailAddressInputRef","_isEmailValid","_renderErrors","resources","firstNameError","lastNameError","emailError","tsCsError","_handleChange","name","e","target","firstName","fNError","reqError","eAValError","lastName","lNError","emailAddress","eAError","country","isChecked","recaptchaWrapper","document","querySelector","classList","toggle","termsAndContitionsChecked","_PrivacyPolicyRef","privacyPolicyChecked","console","log","test","_recaptchaRef","_handleSubmit","bind","responseReceived","responseError","responseSuccess","showResponseSuccess","Number","messageCharactersLimit","SubscribeWrapper","subscribeResponse","_getSubmitResponse","subscribeForm","_renderForm","formErrors","formErrorsNodeProps","successResponse","_renderSuccessResponse","showSuccessResponse","successResponseNodeProps","responseMessage","successTextResponse","FormWrapper","FormContainer","firstAndLastNameInput","_renderFirstAndLastNameInput","emailInput","_renderEmailInput","countryInput","_renderCountryInput","additionalTextInput","_renderAdditionalTextInput","checkboxTermsAndConditions","_renderCheckboxTermsAndConditions","checkboxPrivacyPolicy","_renderCheckboxPrivacyPolicy","reCaptcha","_renderReCaptcha","subscribeButtton","_renderSubmitButton","subscribeThanks","_renderSubmitThanks","ref","type","onChange","placeholder","firstNamePlaceholderText","required","lastNamePlaceholderText","onKeyUp","additionalTextPlaceholderText","rows","messageCharactersLimitLeftText","_renderAlert","emailInputPlaceholder","id","termsAndConditionsText","href","termsAndConditionsLink","privacyPolicyText","privacyPolicyLink","reCaptchaOption","_renderRecaptchaAlert","ReCAPTCHA","sitekey","reCaptchaSiteKey","recaptchaErrorMessage","role","Button","title","submitButtonLabel","onClick","async","fN","lN","aT","eA","cT","eAVal","oI","_this$_recaptchaRef$c","_postEntry","_clearValues","reset","optIn","params","URLSearchParams","window","location","search","get","emarsysGroupId","emarsysCompetitionGroupId","emarsysGroupIdAdditionalText","emarsysStoreNameGroupId","emarsysGroupIdAU","emarsysCompetitionGroupIdAU","emarsysGroupIdAdditionalTextAU","emarsysStoreNameGroupIdAU","response","MsDyn365","context","request","storeName","data","Message","Result","ICittaCompetitionFormView","Node","getAdditionalContentItems","item","_item$links","headingNode","heading","renderHeading","additionalContentHeading","requestContext","Msdyn365","text","editProps","onEdit","handleAdditionalTextChange","paragraphNode","subtext","renderParagraph","additionalContentParagraphText","handleAdditionalParagraphChange","linksNode","links","map","ctaLink","index","renderLinks","linkIndex","editableLink","ariaLabel","linkText","linkUrl","destinationUrl","openInNewTab","link","onTextChange","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","videoPlayerAdditionalContent","additionalContent","additionalContentNode","additionalContentItems","VideoPlayer","handleTextChange","handleParagraphChange","paragraph","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","_video$thumbnail","video","videolink","_links","binaryReferences","clientHref","thumbnail","src","player","width","controls","poster","_getVideoDetailsHeading","_getVideoDetailsParagraph","_getVideoDetailsLinks","detailsContainer","detailsContainerCTA","handleText","handleParagraph","handleAdditionalText","handleAdditionalParagraph","handleLink","handleLinkTextChange","handleAdditionalLink","_this$props$config$ad","payLoad","getPayloadObject","linkData","contentAction","etext","attributes","getTelemetryAttributes","linkId","additionalProperties","_heading$tag","renderModuleAttributes","detailsContainerCta","buildReviewCard","cardProps","headerProps","rating","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","error","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","SignUpItem","_ref","wrapper","label","errorMessage","input","SignUpEmailVerification","_ref2","buttonWrapper","buttons","successMessage","message","button","SignUpLoading","_ref4","icon","signUp","viewState","loading","defaultAADConainer","aadConainer","signUpLocalAccount","signUpInput","isShowLoading","_ref3","localAccount","items","emailVerification","disclaimer","isRequired","LocalAccount","Iframe","iframeRef","isConsentGiven","cookies","srcURL","URL","exception","protocol","toLocaleLowerCase","iframeClassName","Heading","_createHeading","IframeContainer","IFrame","_createIframe","cookieConsentAccepted","alert","cookieConsentRequiredMessage","targetURL","height","iframeAriaLabel","IFrameView"],"sourceRoot":""}