{"version":3,"file":"static/js/16.f8f87762592706acbffb.chunk.js","mappings":";2IAOA,MAiBA,EAjBqFA,IAAA,IAAC,YAClFC,EAAW,kBACXC,EAAiB,cACjBC,EAAa,gBACbC,GACHJ,EAAA,OACGK,EAAAA,cAAA,WACIA,EAAAA,cAAA,OAAKC,UAAU,qBACXD,EAAAA,cAAA,OAAKC,UAAU,iCAAiCH,GAChDE,EAAAA,cAAA,OAAKE,GAAG,gBAAgBD,UAAU,WACjCL,EACAC,GAEJE,EACC,mtBCoDV,MAAMI,UAA6BH,EAAAA,cAiB/BI,YAAYC,GACRC,MAAMD,GATF,KAAAE,gBAA0B,EAC1B,KAAAC,eAAyB,EACzB,KAAAC,mBAA6B,EAC7B,KAAAC,iBAA2B,EAE3B,KAAAC,gBAA0B,oBA4F1B,KAAAC,kBAAqBC,IACrBA,EACAC,KAAKC,SAAS,CAAEC,kBAAkB,EAAMC,UAAU,IAElDH,KAAKC,SAAS,CAAEC,kBAAkB,KA+ElC,KAAAE,eAAkBC,IACtB,MAAMC,EAAyBN,KAAKO,MAAMD,gBAAkB,EACtDE,EAAcH,EAAMG,IAAIC,OAAS,EAAI,GAAKJ,EAAMG,IAChDE,EAAuCV,KAAKW,yBAA2BX,KAAKW,wBAAwBC,SAAWZ,KAAKW,wBAAwBC,QAElJ,IAAIC,EADYb,KAAKW,yBAA2BX,KAAKW,wBAAwBC,SAAWZ,KAAKW,wBAAwBC,QAAQb,OAAS,IAC/FS,EACvC,MAAMM,EAAkBd,KAAKT,MAAMwB,OAAOC,+BAAiC,IAEpD,IAAnBV,GAAwC,IAAhBD,EAAMY,OAC9BZ,EAAMa,iBAENZ,GAAkB,IAClBO,EAAgBA,EAAcM,UAAU,EAAGL,GAC3CJ,EAAUX,MAAQc,GAEH,IAAfL,EAAIC,QAAgC,IAAhBJ,EAAMY,OAA+B,KAAhBZ,EAAMY,OAC/CjB,KAAKC,SAAS,CACVmB,eAAgBP,EAChBP,eAAiBQ,EAAkBD,EAAcJ,QAAW,EAAIK,EAAkBD,EAAcJ,OAAS,KA+K7G,KAAAY,YAAc,KAClBrB,KAAKC,SAAS,CACVqB,gBAAiBtB,KAAKuB,mBAAqB,OAAS,OACpDC,oBAAsBxB,KAAKyB,mBAAmBb,SAA4D,IAAjDZ,KAAKyB,mBAAmBb,QAAQb,MAAMU,OAAgB,OAAS,OACxHiB,mBAAqB1B,KAAK2B,kBAAkBf,SAA2D,IAAhDZ,KAAK2B,kBAAkBf,QAAQb,MAAMU,OAAgB,OAAS,OACrHmB,eAAiB5B,KAAK6B,uBAAuBjB,UAAYZ,KAAK6B,uBAAuBjB,QAAQkB,QAAW,OAAS,QACnH,EAGE,KAAAP,iBAAmB,KACvB,MAAMQ,EAAgB/B,KAAKgC,sBAAsBpB,SAAWZ,KAAKgC,sBAAsBpB,QAAQb,OAAS,GACxG,OAAqB,IAAjBgC,EAAMtB,SAGET,KAAKiC,cAAcF,IAI3B,KAAAG,cAAgB,KACpB,MAAM,UAACC,GAAanC,KAAKT,MACzB,OACIL,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKC,UAAWa,KAAKO,MAAMiB,qBACtBW,EAAUC,gBAEflD,EAAAA,cAAA,OAAKC,UAAWa,KAAKO,MAAMmB,oBACtBS,EAAUE,eAEfnD,EAAAA,cAAA,OAAKC,UAAWa,KAAKO,MAAMe,iBACtBa,EAAUG,YAEfpD,EAAAA,cAAA,OAAKC,UAAWa,KAAKO,MAAMqB,gBACtBO,EAAUI,WAGhB,EAIH,KAAAC,cAAiBC,GAAkBC,IACvC,MAAM3C,EAAQ2C,EAAEC,OAAO5C,MACvB,OAAQ0C,GACJ,IAAK,YACDzC,KAAKC,SAAS,CAAE2C,UAAW7C,EAAO8C,SAAS,EAAOC,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACjG,MAEJ,IAAK,WACDvC,KAAKC,SAAS,CAAE+C,SAAUjD,EAAOkD,SAAS,EAAOH,UAAU,EAAOC,YAAY,EAAOR,WAAW,IAChG,MAEJ,IAAK,eACDvC,KAAKC,SAAS,CAAEiD,aAAcnD,EAAOoD,SAAS,EAAOL,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACpG,MAEJ,IAAK,UACDvC,KAAKC,SAAS,CAAEmD,QAASrD,EAAOoD,SAAS,EAAOL,UAAU,EAAOC,YAAY,EAAOR,WAAW,IAC/F,MAEJ,IAAK,iBACDvC,KAAKC,SAAS,CAAEmB,eAAgBrB,EAAO+C,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACtF,MAEJ,IAAK,qBAAsB,CACvB,MAAMc,KAAYrD,KAAK6B,uBAAuBjB,UAAWZ,KAAK6B,uBAAuBjB,QAAQkB,UAAU9B,KAAK6B,uBAAuBjB,QAAQkB,QACrIwB,EAAmBC,SAASC,cAAc,cAChDF,GAAoBA,EAAiBG,UAAUC,OAAO,gCAAiCL,GACvFrD,KAAKC,SAAS,CAAE0D,0BAA2BN,EAAWP,UAAU,EAAOC,YAAY,EAAOR,WAAW,IACrG,MAEJ,IAAK,gBAAiB,CAClB,MAAMc,KAAYrD,KAAK4D,kBAAkBhD,UAAWZ,KAAK4D,kBAAkBhD,QAAQkB,UAAU9B,KAAK4D,kBAAkBhD,QAAQkB,QAC5H9B,KAAKC,SAAS,CAAE4D,qBAAsBR,EAAWP,UAAU,EAAOC,YAAY,EAAOR,WAAW,IAChG,MAEJ,QACIuB,QAAQC,IAAI,wBACZ/D,KAAKC,SAAS,CAAE6C,UAAU,EAAOC,YAAY,EAAOR,WAAW,MAKnE,KAAAN,cAAiBF,GACP,yJACDiC,KAAKjC,GA9blB/B,KAAKyB,mBAAqBvC,EAAAA,YAC1Bc,KAAK2B,kBAAoBzC,EAAAA,YACzBc,KAAKgC,sBAAwB9C,EAAAA,YAC7Bc,KAAKW,wBAA0BzB,EAAAA,YAC/Bc,KAAK6B,uBAAyB3C,EAAAA,YAC9Bc,KAAK4D,kBAAoB1E,EAAAA,YACzBc,KAAKiE,cAAgB/E,EAAAA,YACrBc,KAAKkE,cAAgBlE,KAAKkE,cAAcC,KAAKnE,MAE7CA,KAAKO,MAAQ,CACTqC,UAAW,GACXI,SAAU,GACVE,aAAc,GACdE,QAAS,KACThC,eAAgB,GAChBuC,2BAA2B,EAC3BE,sBAAsB,EACtBd,YAAY,EACZF,SAAS,EACTI,SAAS,EACTE,SAAS,EACTZ,WAAW,EACXpC,UAAU,EACV2C,UAAU,EACVsB,kBAAkB,EAClBC,eAAe,EACfnE,kBAAkB,EAClBoE,iBAAiB,EACjBC,qBAAqB,EACrBjE,eAAgBkE,OAAOxE,KAAKT,MAAM4C,UAAUsC,yBAA2B,IACvEjD,oBAAqB,OACrBE,mBAAoB,OACpBJ,gBAAiB,OACjBM,eAAgB,OAExB,CAEO8C,SACH,MAAMC,EAASC,EAAAA,EAAA,GACP5E,KAAKT,OAA+D,IACxEsF,iBAAkB,CACdC,YAAa9E,KAAKT,MAClBJ,UAAW4F,IAAW/E,KAAKH,gBAAiBG,KAAKT,MAAMwB,OAAO5B,YAElE6F,kBAAmBhF,KAAKiF,qBACxBC,cAAelF,KAAKmF,cACpBb,gBAAiBtE,KAAKO,MAAM+D,gBAC5BC,oBAAqBvE,KAAKO,MAAMgE,oBAChCa,WAAYpF,KAAKkC,gBACjBmD,oBAAqB,CACjBlG,UAAW,2BAEfmG,gBAAiBtF,KAAKuF,yBACtBC,oBAAqBxF,KAAKO,MAAM+D,gBAChCmB,yBAA0B,CACtBtG,UAAW,8BAInB,OAAOa,KAAKT,MAAMmG,WAAWf,EACjC,CAEQM,qBACJ,OACIjF,KAAKO,MAAM6D,kBAA6C,KAAzBpE,KAAK2F,gBAE5BzG,EAAAA,cAAA,OAAKC,UAAW,qBAAoBa,KAAKO,MAAM8D,cAAgB,iBAAmB,KAC9EnF,EAAAA,cAAA,KAAGC,UAAU,4BAA4Ba,KAAK2F,kBAGpD,IAEd,CAEQJ,yBACJ,OACIvF,KAAKO,MAAM+D,gBAEHpF,EAAAA,cAAA,OAAKC,UAAU,qBACXD,EAAAA,cAAA,UAAKc,KAAKT,MAAMwB,OAAO6E,sBAG7B,IAEd,CAWQT,cACJ,MAAO,CACHU,YAAa,CACT1G,UAAW,oBAEf2G,cAAe,CACX3G,UAAW,wBAEf4G,sBAAuB/F,KAAKgG,+BAC5BC,WAAYjG,KAAKkG,oBACjBC,aAAcnG,KAAKoG,sBACnBC,oBAAqBrG,KAAKsG,6BAC1BC,2BAA4BvG,KAAKwG,oCACjCC,sBAAuBzG,KAAK0G,+BAC5BC,UAAW3G,KAAK4G,mBAChBC,iBAAkB7G,KAAK8G,sBACvBC,gBAAiB/G,KAAKgH,sBAE9B,CAEQhB,+BACJ,OACI9G,EAAAA,cAAA,OAAKC,UAAU,wBACXD,EAAAA,cAAA,OAAKC,UAAU,cACXD,EAAAA,cAAA,SACI+H,IAAKjH,KAAKyB,mBACVyF,KAAK,OACLC,SAAUnH,KAAKwC,cAAc,aAAY,aAC9B,aACXrD,UAAU,wBACViI,YAAapH,KAAKT,MAAMwB,OAAOsG,yBAC/BtH,MAAOC,KAAKO,MAAMqC,UAClB0E,UAAQ,KAGhBpI,EAAAA,cAAA,OAAKC,UAAU,cACXD,EAAAA,cAAA,SACI+H,IAAKjH,KAAK2B,kBACVuF,KAAK,OACLC,SAAUnH,KAAKwC,cAAc,YAAW,aAC7B,aACXrD,UAAU,kBACViI,YAAapH,KAAKT,MAAMwB,OAAOwG,wBAC/BxH,MAAOC,KAAKO,MAAMyC,SAClBsE,UAAQ,KAK5B,CAEQhB,6BACJ,OACIpH,EAAAA,cAAA,OAAKC,UAAU,yBACXD,EAAAA,cAAA,OAAKC,UAAU,oBACXD,EAAAA,cAAA,YAEI+H,IAAKjH,KAAKW,wBAEV6G,QAASxH,KAAKI,eACd+G,SAAUnH,KAAKwC,cAAc,kBAAiB,aACnC,kBACXrD,UAAU,6BACViI,YAAapH,KAAKT,MAAMwB,OAAO0G,8BAC/B1H,MAAOC,KAAKO,MAAMa,eAClBsG,KAAM,KAIdxI,EAAAA,cAAA,OAAKC,UAAU,sBACV,GAAGa,KAAKO,MAAMD,kBAAkBN,KAAKT,MAAM4C,UAAUwF,kCAItE,CAwBQzB,oBACJ,OACIhH,EAAAA,cAAA,OAAKC,UAAU,uBACVa,KAAKO,MAAM4C,SAAWnD,KAAKO,MAAMwC,WAAa/C,KAAK4H,aAAa,uBAAyB,GAC1F1I,EAAAA,cAAA,SACI+H,IAAKjH,KAAKgC,sBACVkF,KAAK,QACLC,SAAUnH,KAAKwC,cAAc,gBAAe,aACjC,gBACXrD,UAAU,2BACVY,MAAOC,KAAKO,MAAM2C,aAClBoE,UAAQ,EACRF,YAAapH,KAAKT,MAAMwB,OAAO8G,wBAI/C,CAEQzB,sBACJ,OACIlH,EAAAA,cAAA,OAAKC,UAAU,yBACXD,EAAAA,cAAA,OAAKC,UAAU,uBACXD,EAAAA,cAAA,aACIA,EAAAA,cAAA,SAEIgI,KAAK,QACLC,SAAUnH,KAAKwC,cAAc,WAAU,aAC5B,KACXV,QAAgC,OAAvB9B,KAAKO,MAAM6C,QACpBrD,MAAO,KACP0C,KAAM,KACNtD,UAAU,kBACZ,OAGVD,EAAAA,cAAA,OAAKC,UAAU,uBACXD,EAAAA,cAAA,aACIA,EAAAA,cAAA,SAEIgI,KAAK,QACLC,SAAUnH,KAAKwC,cAAc,WAAU,aAC5B,KACXV,QAAgC,OAAvB9B,KAAKO,MAAM6C,QACpBrD,MAAO,KACP0C,KAAM,KACNtD,UAAU,kBACZ,OAMtB,CAEQyI,aAAazI,GACjB,OAAOD,EAAAA,cAAAA,EAAAA,SAAA,KACX,CAEQsH,oCACJ,OACItH,EAAAA,cAAA,OAAKC,UAAU,2BACVa,KAAKO,MAAMgC,UAAYvC,KAAK4H,aAAa,2BAA6B,GACvE1I,EAAAA,cAAA,OAAKC,UAAU,mCACXD,EAAAA,cAAA,SACI+H,IAAKjH,KAAK6B,uBACVqF,KAAK,WACL/H,UAAU,sBAAqB,aACpB,8BAA6B,eAC3B,QACbgI,SAAUnH,KAAKwC,cAAc,sBAC7BpD,GAAG,+BAEPF,EAAAA,cAAA,QAAMC,UAAU,gCACZD,EAAAA,cAAA,SAAIc,KAAKT,MAAMwB,OAAO+G,uBAAuB5I,EAAAA,cAAA,KAAG6I,KAAM/H,KAAKT,MAAMwB,OAAOiH,wBAAsB,2BAKlH,CAEQtB,+BACJ,OACIxH,EAAAA,cAAA,OAAKC,UAAU,2BACVa,KAAKO,MAAMgC,UAAYvC,KAAK4H,aAAa,2BAA6B,GACvE1I,EAAAA,cAAA,OAAKC,UAAU,mCACXD,EAAAA,cAAA,SACI+H,IAAKjH,KAAK4D,kBACVsD,KAAK,WACL/H,UAAU,sBAAqB,aACpB,wBAAuB,eACrB,QACbgI,SAAUnH,KAAKwC,cAAc,iBAC7BpD,GAAG,0BAEPF,EAAAA,cAAA,QAAMC,UAAU,gCACZD,EAAAA,cAAA,SAAIc,KAAKT,MAAMwB,OAAOkH,kBAAkB/I,EAAAA,cAAA,KAAG6I,KAAM/H,KAAKT,MAAMwB,OAAOmH,mBAAiB,qBAKxG,CAGQtB,mBACJ,OACI1H,EAAAA,cAAA,WAEQc,KAAKT,MAAMwB,OAAOoH,gBAAkBjJ,EAAAA,cAAA,OAAKC,UAAU,0CAC9Ca,KAAKO,MAAMJ,SAAWH,KAAKoI,sBAAsB,mBAAqB,GACvElJ,EAAAA,cAACmJ,EAAAA,EAAS,CACNpB,IAAKjH,KAAKiE,cACVqE,QAAStI,KAAKT,MAAMwB,OAAOwH,iBAC3BpB,SAAUnH,KAAKF,qBAEd,KAIzB,CAEQsI,sBAAsBjJ,GAEtBa,KAAKT,MAAMwB,OAAOoH,kBACbnI,KAAKO,MAAML,mBACZF,KAAKwI,sBAAwBxI,KAAKT,MAAM4C,UAAUqG,wBAI1D,MAAMrI,EAAWH,KAAKO,MAAMJ,SAC5B,OACIjB,EAAAA,cAAAA,EAAAA,SAAA,KACKiB,GACGjB,EAAAA,cAAA,QAAMC,UAAW,GAAGA,WAAoBsJ,KAAK,QAAO,YAAW,aAEvDzI,KAAKwI,uBACLtJ,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,QAAMC,UAAW,GAAGA,gBAAuB,cAAc,SACxDa,KAAKwI,wBAOlC,CAEQ1B,sBACJ,OACI5H,EAAAA,cAAA,OAAKC,UAAU,8BACXD,EAAAA,cAACwJ,EAAAA,OAAM,CACHvJ,UAAW,gCACXwJ,MAAO3I,KAAKT,MAAMwB,OAAO6H,kBACzBC,MAAM,UACNC,QAAS9I,KAAKkE,eAChBlE,KAAKT,MAAMwB,OAAO6H,mBAIhC,CAEQ5B,sBACJ,OACI9H,EAAAA,cAAA,WACIA,EAAAA,cAAA,OAAKC,UAAW,oBAAkB,WAK9C,CAwFQ4J,oBAAoBrG,GACxB1C,KAAKqB,cAELrB,KAAKP,kBAAkBO,KAAKyB,oBAAsBzB,KAAKyB,mBAAmBb,SAAWZ,KAAKyB,mBAAmBb,QAAQb,OACrHC,KAAKN,iBAAiBM,KAAK2B,mBAAqB3B,KAAK2B,kBAAkBf,SAAWZ,KAAK2B,kBAAkBf,QAAQb,OACjHC,KAAKL,qBAAqBK,KAAKgC,uBAAyBhC,KAAKgC,sBAAsBpB,SAAWZ,KAAKgC,sBAAsBpB,QAAQb,OAEjI,MAAMiJ,EAAMhJ,KAAKyB,oBAAsBzB,KAAKyB,mBAAmBb,SAAWZ,KAAKyB,mBAAmBb,QAAQb,MAASC,KAAKyB,mBAAmBb,QAAQb,MAAQ,GACrJkJ,EAAMjJ,KAAK2B,mBAAqB3B,KAAK2B,kBAAkBf,SAAWZ,KAAK2B,kBAAkBf,QAAQb,MAASC,KAAK2B,kBAAkBf,QAAQb,MAAQ,GACjJmJ,EAAMlJ,KAAKW,yBAA2BX,KAAKW,wBAAwBC,SAAWZ,KAAKW,wBAAwBC,QAAQb,MAASC,KAAKW,wBAAwBC,QAAQb,MAAQ,GACzKoJ,EAAMnJ,KAAKgC,uBAAyBhC,KAAKgC,sBAAsBpB,SAAWZ,KAAKgC,sBAAsBpB,QAAQb,MAASC,KAAKgC,sBAAsBpB,QAAQb,MAAQ,GACjKqJ,EAAKpJ,KAAKO,MAAM6C,QAEhBiG,EAAQrJ,KAAKgC,sBAAsBpB,QAASb,MAC5CuJ,EAAKtJ,KAAK4D,kBAAkBhD,QAASkB,QAE3C,GAAK9B,KAAKP,eAKH,GAAKO,KAAKN,cAKT,GAAKM,KAAKL,kBAKX,GAAKK,KAAKiC,cAAcoH,GAIxB,GAAIrJ,KAAKT,MAAMwB,OAAOoH,kBAAoBnI,KAAKO,MAAML,iBACxDF,KAAKC,SAAS,CACVE,UAAU,SAEX,GAAKH,KAAK6B,uBAAuBjB,QAASkB,SAO7C,GADA9B,KAAKJ,kBAAmBI,KAAKL,kBACzBK,KAAKJ,iBAAmBI,KAAKO,MAAMoD,4BAA8B3D,KAAKO,MAAMwC,WAC5E,IAAI,IAAAwG,QACMvJ,KAAKwJ,WAAWR,EAAIC,EAAIE,EAAID,EAAII,EAAIF,GAAM,MAEhDpJ,KAAKyJ,eACqB,QAA1BF,EAAAvJ,KAAKiE,cAAcrD,eAAO,IAAA2I,GAA1BA,EAA4BG,QAE9B,MAAOhH,GACLoB,QAAQC,IAAIrB,EAAG,kCAdvB1C,KAAKC,SAAS,CACV0D,2BAA2B,EAC3BpB,WAAW,SAVfvC,KAAKC,SAAS,CACV8C,YAAY,SANhB/C,KAAKC,SAAS,CACVkD,SAAS,EACTL,UAAU,SAPd9C,KAAKC,SAAS,CACVgD,SAAS,EACTH,UAAU,SAPd9C,KAAKC,SAAS,CACV4C,SAAS,EACTC,UAAU,GAuCtB,CAEQiG,iBAAiBnG,EAAmBI,EAAkBjB,EAAeX,EAAwBuI,EAAgBvG,GACjH,MACMwG,EADkB,IAAIC,gBAAgBC,OAAOC,SAASC,QAC7BC,IAAI,SAInC,IAAIC,EAAiBlK,KAAKT,MAAMwB,OAAOmJ,eACvCC,EAA4BnK,KAAKT,MAAMwB,OAAOoJ,0BAC9CC,EAA+BpK,KAAKT,MAAMwB,OAAOqJ,6BACjDC,EAA0BrK,KAAKT,MAAMwB,OAAOsJ,wBAE5B,OAAZjH,IACA8G,EAAiBlK,KAAKT,MAAMwB,OAAOuJ,iBACnCH,EAA4BnK,KAAKT,MAAMwB,OAAOwJ,4BAC9CH,EAA+BpK,KAAKT,MAAMwB,OAAOyJ,+BACjDH,EAA0BrK,KAAKT,MAAMwB,OAAO0J,2BAGhD,MAAMC,QAAiBC,EAAAA,GACnB3K,KAAKT,MAAMqL,QAAQC,QACnB,mBACA,OACA,CACIjI,UAAWA,EACXI,SAAUA,EACV5B,eAAgBA,EAChB8B,aAAcnB,EACdqB,QAASA,EACT8G,eAAgBA,EAChBC,0BAA2BA,EAC3BC,6BAA8BA,EAC9BU,UAAWlB,GAAU,GACrBS,wBAAyBA,EACzBV,MAAOA,IAKf3J,KAAK2F,gBAAkB+E,aAAQ,EAARA,EAAUK,KAAKC,QAER,WAA1BN,aAAQ,EAARA,EAAUK,KAAKE,QACfjL,KAAKC,SAAS,CACVmE,kBAAkB,EAClBC,cAAyC,WAA1BqG,aAAQ,EAARA,EAAUK,KAAKE,QAC9B3G,gBAA2C,WAA1BoG,aAAQ,EAARA,EAAUK,KAAKE,QAChC1G,qBAAqB,EACrBrB,aAAc,GACdN,UAAW,GACXI,SAAU,GACV5B,eAAgB,GAChBuC,2BAA2B,EAC3Bb,UAAU,EACVC,YAAY,EACZ5C,UAAU,IAcdH,KAAKC,SAAS,CACVmE,kBAAkB,EAClBC,cAAyC,WAA1BqG,aAAQ,EAARA,EAAUK,KAAKE,QAC9B3G,gBAA2C,WAA1BoG,aAAQ,EAARA,EAAUK,KAAKE,QAChC/H,aAAc,GACdS,2BAA2B,EAC3Bb,UAAU,EACVC,YAAY,EACZ5C,UAAU,GAsBtB,CAEQsJ,eACJ,GAAIzJ,KAAK6B,uBAAuBjB,QAAS,CACrCZ,KAAK6B,uBAAuBjB,QAAQkB,SAAU,EAC9C,MAAMwB,EAAmBC,SAASC,cAAc,cAChDF,GAAoBA,EAAiBG,UAAUC,OAAO,gCAAgC,GAEtF1D,KAAK4D,kBAAkBhD,UACvBZ,KAAK4D,kBAAkBhD,QAAQkB,SAAU,GAEzC9B,KAAKgC,sBAAsBpB,UAC3BZ,KAAKgC,sBAAsBpB,QAASb,MAAQ,IAE5CC,KAAKyB,mBAAmBb,UACxBZ,KAAKyB,mBAAmBb,QAASb,MAAQ,IAEzCC,KAAK2B,kBAAkBf,UACvBZ,KAAK2B,kBAAkBf,QAASb,MAAQ,IAExCC,KAAKW,wBAAwBC,UAC7BZ,KAAKW,wBAAwBC,QAASb,MAAQ,GAEtD,EAIJ,iHCxsBM,MAAOmL,UAAkChM,EAAAA,cAEpCwF,SACH,MAAM,iBAAEG,EAAgB,kBAAEG,EAAiB,cAAEE,EAAa,gBAAEZ,EAAe,oBAAEC,EAAmB,WAAEa,EAAU,oBAAEC,EAAmB,yBAAEI,EAAwB,oBAAED,EAAmB,gBAAEF,GAAoBtF,KAAKT,OACrM,YACFsG,EAAW,cACXC,EAAa,sBACbC,EAAqB,WACrBE,EAAU,aACVE,EAAY,oBACZE,EAAmB,2BACnBE,EAA0B,sBAC1BE,EAAqB,iBACrBI,EAAgB,UAChBF,EAAS,gBACTI,GACA7B,EACJ,OACIhG,EAAAA,cAACiM,EAAAA,OAAMC,OAAAC,OAAA,GAAKxG,GACPG,EACAQ,EACGtG,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK5F,GACLH,GAEHpG,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKxF,GACR3G,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKvF,GACLC,EACAE,EACAI,EACAF,EACAI,EACAE,EACAE,EACArC,GAAmBC,EAAsBwC,EAAkBF,GAEhE3H,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKhG,GACLD,IAMzB,EAEJ,8FCNA,MAyFMmG,EAA4BA,CAC9BC,EACAjM,KAC4C,IAAAkM,EAC5C,MAAMC,EAAcF,EAAKG,SA7FPC,EAACC,EAAkCtM,KACrD,MAAMuM,EAAiBvM,EAAMuM,eAC7B,OACI5M,EAAAA,cAAC6M,EAAAA,GAAa,CACVC,KAAMH,EACNI,IAAI,IACJ9M,UAAU,qDACV+M,UAAW,CAKPC,OAAQ9L,IACJd,EAAM6M,2BAA2B/L,EAAM,EAE3CyL,mBAEN,EA4E8BF,CAAcJ,EAAKG,QAASpM,GAC1D8M,EAAgBb,EAAKc,SAnEPC,EAACC,EAAwCjN,KAC7D,MAAMuM,EAAiBvM,EAAMuM,eAC7B,OACI5M,EAAAA,cAAC6M,EAAAA,GAAa,CACVC,KAAMQ,EACNP,IAAI,IACJ9M,UAAU,0DACV+M,UAAW,CAKPC,OAAQ9L,IACJd,EAAMkN,gCAAgCpM,EAAM,EAEhDyL,mBAEN,EAkDgCS,CAAgBf,EAAKc,QAAS/M,GAC9DmN,EAAsB,QAAbjB,EAAGD,EAAKmB,aAAK,IAAAlB,OAAA,EAAVA,EAAYmB,KAAI,CAACC,EAAqBC,IAxCxCC,EAACF,EAAqBtN,EAA2CyN,KACjF,MAAMC,EAAoC,CACtCC,UAAWL,EAAQK,UACnB/N,UAAW,2DACXgO,SAAUN,EAAQM,SAClBC,QAASP,EAAQO,QAAQC,eACzBC,aAAcT,EAAQS,aACtB7E,KAAM,QAEJqD,EAAiBvM,EAAMuM,eAC7B,OACI5M,EAAAA,cAAC6M,EAAAA,GAAa,CACVvL,IAAKwM,EACLO,KAAMN,EACNf,UAAW,CAKPsB,aAAcnN,IACVd,EAAMkO,+BAA+BT,EAAW3M,EAAM,EAE1DyL,mBAEN,EAiBKiB,CAAYF,EAAStN,EAAOuN,KAGvC,MAAO,CACHnB,QAASD,EACTM,KAAMK,EACNM,MAAOD,EACPgB,+BAAgC,CAAEvO,UAAW,2DAC7CwO,2BAA4B,CAAExO,UAAW,qDAC5C,EAQQyO,EACTrO,IAEA,MAAM,kBAAEsO,GAAsBtO,EAC9B,IAAKsO,EACD,OAIJ,MAAO,CACHC,sBAAuB,CAAE3O,UAAW,gDACpC4O,uBAH2DxC,EAA0BsC,EAAmBtO,GAI3G,ukBCtIL,MAAMyO,UAAoB9O,EAAAA,cAKtBI,YAAmBC,GACfC,MAAMD,GAkEH,KAAA0O,iBAAoB5N,IACvBL,KAAKT,MAAMwB,OAAO4K,QAASK,KAAO3L,EAAMsC,OAAO5C,KAAK,EAOjD,KAAAmO,sBAAyB7N,IAC5BL,KAAKT,MAAMwB,OAAOoN,UAAY9N,EAAMsC,OAAO5C,KAAK,EAzEhDC,KAAKoO,kBAAmBC,EAAAA,EAAAA,oBACpBrO,KAAKT,MAAMqL,QAAQC,QAAQyD,kBAC3BtO,KAAKT,MAAMgP,aACXvO,KAAKT,MAAMiP,UAEnB,CAEO9J,SAAM,IAAA+J,EACT,MAAMC,EAA6B1O,KAAKT,MAAMwB,OAAO2N,MACrD,IAAIC,EAAYD,EAAME,QAAUF,EAAME,OAAOC,kBAAoBH,EAAME,OAAOC,iBAAiB,GAAGC,WAC9FC,EAA2B,QAAlBN,EAAGC,EAAMK,iBAAS,IAAAN,OAAA,EAAfA,EAAiBO,IAEjC,MAAMrK,EAASC,EAAAA,EAAA,GAGR5E,KAAKT,OAAK,IACb0P,OACI/P,EAAAA,cAAA,SACQgQ,MAAM,OACNF,IAAKL,EACLQ,UAAQ,EACRC,OAAQL,GAAS,uDAM7BpG,MAAO3I,KAAKqP,0BACZrD,KAAMhM,KAAKsP,4BACX3C,MAAO3M,KAAKuP,wBACZC,iBAAkB,CAAErQ,UAAW,4BAC/BsQ,oBAAqB,CAAEtQ,UAAW,iCAClC0O,kBAAmBD,EAA6B,CAC5C9B,eAAgB9L,KAAKT,MAAMqL,QAAQC,QACnCgD,kBAAmB7N,KAAKT,MAAMwB,OAAO8M,kBACrCzB,2BAA4BpM,KAAKoM,2BACjCK,gCAAiCzM,KAAKyM,gCACtCgB,+BAAgCzN,KAAKyN,iCAEzCiC,WAAY1P,KAAKiO,iBACjB0B,gBAAiB3P,KAAKkO,sBACtB0B,qBAAsB5P,KAAKoM,2BAC3ByD,0BAA2B7P,KAAKyM,gCAChCqD,WAAY9P,KAAK+P,qBACjBC,qBAAsBhQ,KAAKoM,6BAE/B,OAAOpM,KAAKT,MAAMmG,WAAWf,EACjC,CAOOoL,qBAAqB/C,EAAmB3M,GACvCL,KAAKT,MAAMwB,OAAO4L,OAAS3M,KAAKT,MAAMwB,OAAO4L,MAAMnI,OAAOwI,MAC1DhN,KAAKT,MAAMwB,OAAO4L,MAAMnI,OAAOwI,IAAYG,SAAW9M,EAAMsC,OAAO5C,MAE3E,CAsBOqM,2BAA2B/L,GAC1BL,KAAKT,MAAMwB,OAAO8M,oBAClB7N,KAAKT,MAAMwB,OAAO8M,kBAAkBlC,QAAUtL,EAAMsC,OAAO5C,MAEnE,CAOO0N,+BAA+BT,EAAmB3M,GAAoC,IAAA4P,EACzF,MAAMpC,EAAuD,QAAtCoC,EAAGjQ,KAAKT,MAAMwB,OAAO8M,yBAAiB,IAAAoC,EAAAA,EAAI,CAAC,EAC9DpC,EAAkBlB,QAClBkB,EAAkBlB,MAAMnI,OAAOwI,IAAYG,SAAW9M,EAAMsC,OAAO5C,MAE3E,CAMO0M,gCAAgCpM,GAC/BL,KAAKT,MAAMwB,OAAO8M,oBAClB7N,KAAKT,MAAMwB,OAAO8M,kBAAkBvB,QAAUjM,EAAMsC,OAAO5C,MAEnE,CAMQwP,wBACJ,MAAM,MAAE5C,GAAU3M,KAAKT,MAAMwB,OACvBmP,GAAUC,EAAAA,EAAAA,kBAAiB,QAASnQ,KAAKoO,iBAAkB,IAEjE,OAAOzB,aAAK,EAALA,EAAOC,KAAI,CAACwD,EAAsBtD,KACrCoD,EAAQG,cAAcC,MAAQF,EAASjD,SACvC,MAAMoD,GAAaC,EAAAA,EAAAA,wBAAuBxQ,KAAKoO,iBAAkB8B,GAC3DO,EAAS3D,EACTG,EAAoC,CACtCC,UAAWkD,EAASlD,UACpB/N,UAAW,sCACXgO,SAAUiD,EAASjD,SACnBC,QAASgD,EAAShD,QAAQC,eAC1BC,aAAc8C,EAAS9C,aACvB7E,KAAM,SACNiI,qBAAsBH,GAG1B,OACIrR,EAAAA,cAACyL,EAAAA,GAAa,CACVnK,IAAKiQ,EACLlD,KAAMN,EACNf,UAAW,CAKPsB,aAAcnN,IACVL,KAAK+P,qBAAqBjD,EAAOzM,EAAM,EAE3CyL,eAAgB9L,KAAKT,MAAMqL,QAAQC,UAEzC,GAGd,CAEQwE,0BAAuB,IAAAsB,EAC3B,MAAM,QAAEhF,GAAY3L,KAAKT,MAAMwB,OAE/B,OACI4K,GACIzM,EAAAA,cAACyL,EAAAA,GAAa,CACVxL,UAAU,kCACV8M,IAAgB,QAAb0E,EAAEhF,EAAQM,WAAG,IAAA0E,EAAAA,EAAI,KACpB3E,KAAML,EAAQK,KACdE,UAAW,CAAEC,OAAQnM,KAAKiO,iBAAkBnC,eAAgB9L,KAAKT,MAAMqL,QAAQC,UAI/F,CAEQyE,4BACJ,MAAM,UAAEnB,GAAcnO,KAAKT,MAAMwB,OAEjC,OACIoN,GACIjP,EAAAA,cAACyL,EAAAA,GAA0B,CACvBqB,KAAMmC,EACNhP,UAAU,iCACV+M,UAAW,CAAEC,OAAQnM,KAAKkO,sBAAuBpC,eAAgB9L,KAAKT,MAAMqL,QAAQC,UAIpG,EAGJ,iFCpNA,MAoCA,EAhByDtL,IACrD,OACIL,EAAAA,cAAA,MAAAkM,OAAAC,OAAA,CAAKjM,GAAIG,EAAMH,GAAID,UAAU,mBAAsBI,EAAMqR,uBAAuBrR,IAC3EA,EAAM0P,OACP/P,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMiQ,iBAAgB,CAAErQ,UAAWI,EAAMiQ,iBAAmBjQ,EAAMiQ,iBAAiBrQ,UAAY,KACpGI,EAAMoJ,MACNpJ,EAAMyM,KACNzM,EAAMsO,qBA3BUA,EA2BmCtO,EAAMsO,mBA1BhDE,uBAEd7O,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKwC,EAAkBC,uBACxB5O,EAAAA,cAAAA,EAAAA,SAAA,KACK2O,EAAkBE,uBAAuBpC,QAC1CzM,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKwC,EAAkBE,uBAAuBL,gCAC9CG,EAAkBE,uBAAuB/B,KAC1C9M,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKwC,EAAkBE,uBAAuBJ,4BAC9CE,EAAkBE,uBAAuBpB,UAQ3D,MAWKzN,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMsR,oBAAmB,CAAE1R,UAAWI,EAAMsR,oBAAsBtR,EAAMsR,oBAAoB1R,UAAY,KAC7GI,EAAMoN,SA7BMkB,KAgCnB,yECxCd,MAcMiD,EAAiBvR,GAEfL,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMwR,aACXxR,EAAMyR,UACNzR,EAAM0R,IACN1R,EAAM2R,YAKnB,EAxBmE3R,IAC/D,MAAM,QAAEoM,EAAO,eAAEwF,EAAc,eAAEC,EAAc,YAAEtM,GAAgBvF,EACjE,OACIL,EAAAA,cAACiM,EAAAA,OAAMC,OAAAC,OAAA,GAAKvG,GACP6G,EACDzM,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK+F,GACLD,EAAevE,KAAIpB,GACTsF,EAActF,MAGxB,yECbjB,MA6CM6F,EAAmB9R,GAEjBL,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAM+R,WACZpS,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMgS,aACXhS,EAAMiS,OACNjS,EAAMkD,KACNlD,EAAMkS,MAEXvS,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMmS,eACZxS,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMoS,aACXpS,EAAMqS,YACNrS,EAAMsS,YAEX3S,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMuS,eACXvS,EAAMwS,aACNxS,EAAMyS,aACNzS,EAAM0S,cAEX/S,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAM2S,eACX3S,EAAM4S,mBACN5S,EAAM6S,KACN7S,EAAM8S,QACN9S,EAAM+S,KACN/S,EAAMgT,UAOrBC,EAAqBjT,GAEnBL,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMkT,OACXlT,EAAMmT,YACPxT,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMoT,WACZzT,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMqT,MACZ1T,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMsT,UACXtT,EAAMiS,OACNjS,EAAMuT,aAEX5T,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMsT,UACXtT,EAAMwT,WACNxT,EAAMyT,YAEX9T,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMsT,UACXtT,EAAM0T,UACN1T,EAAM2T,WAEV3T,EAAM4T,iBACN5T,EAAM6T,QAGflU,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAM8T,aACX9T,EAAM+T,aACN/T,EAAMgU,eAMjBC,EAAoBA,CAACjU,EAAoCgB,IAEvDrB,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMkT,OACZvT,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMmT,aACXnS,EAAMkT,SAAWlU,EAAMmU,gBAAkBnU,EAAMoU,QAEpDzU,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAMoT,WACXpS,EAAMkT,SAAWlU,EAAMqU,uBAAyB,CAACrU,EAAMsU,cAAetU,EAAMuU,aAAcvU,EAAM6T,QAErGlU,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK9L,EAAM8T,aACX9S,EAAMkT,SAAWlU,EAAMwU,gBAAkB,CAACxU,EAAM+T,aAAc/T,EAAMgU,gBAMrF,EAzHyDhU,IACrD,MAAM,cACFyU,EAAa,iBACbC,EAAgB,YAChBnP,EAAW,iBACXoP,EAAgB,2BAChBC,EAA0B,aAC1BC,EAAY,mBACZC,EAAkB,kBAClBC,EAAiB,iBACjBC,EAAgB,YAChBC,EAAW,YACXC,EAAW,YACXC,EAAW,eACXC,EAAc,MACdpU,EAAK,WACLqU,GACArV,EAEJ,OAAKqV,GAAqC,IAAvBJ,EAAY/T,QAAiBF,EAAMsU,gBAKlD3V,EAAAA,cAACiM,EAAAA,OAAMC,OAAAC,OAAA,GAAKvG,GACPkP,EACAS,EACDvV,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKgJ,GACLM,EACAV,GAEL/U,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKkJ,GACLK,GAAcvD,EAAgBuD,GAC9BJ,EAAY5H,KAAIkI,GACNzD,EAAgByD,MAGN,IAAvBN,EAAY/T,QAAgBF,EAAMsU,iBAAmBV,EACtDC,EACA5B,EAAkBkC,GAClBlB,EAAkBc,EAAmB/T,IApBlCrB,EAAAA,cAACiM,EAAAA,OAAMC,OAAAC,OAAA,GAAKvG,GAAcoP,EAqBzB,yECUjB,MAAMa,EAAoClW,IAKrC,IALsC,QACvCmW,EAAO,MACPC,EAAK,aACLC,EAAY,MACZC,GACHtW,EAEG,OACIK,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK2J,GACLC,EACAC,EACAC,EACE,EAITC,EAA8DC,IAM/D,IANgE,MACjEtT,EAAK,cACLuT,EAAa,QACbC,EAAO,eACPC,EAAc,aACdN,GACHG,EACG,OACInW,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAC6V,EAAU3J,OAAAC,OAAA,GAAKtJ,IACfyT,GAAkBA,EAAe5I,KAAK6I,GAE/BvW,EAAAA,cAAAA,EAAAA,SAAA,KACKuW,KAIZP,GAAgBA,EAAatI,KAAK6I,GAE3BvW,EAAAA,cAAAA,EAAAA,SAAA,KACKuW,KAIbvW,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKiK,GACLC,GAAWA,EAAQ3I,KAAK8I,GAEjBxW,EAAAA,cAAAA,EAAAA,SAAA,KACKwW,MAKlB,EAsDLC,EAA0CC,IAK3C,IAL4C,MAC7CnD,EAAK,UACLE,EAAS,KACTkD,EAAI,QACJJ,GACHG,EACG,OACI1W,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKoH,GACNvT,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKsH,GACLkD,EACAJ,GAEF,EAgCf,EA5BkElW,IAE9D,MAAM,OACFuW,EAAM,UACNC,EAAS,QACTC,EAAO,mBACPC,EAAkB,YAClBC,EAAW,QACXvK,EAAO,mBACPwK,GACA5W,EACE6W,EAAgC,CAClCD,sBAIJ,OACIjX,EAAAA,cAACiM,EAAAA,OAAMC,OAAAC,OAAA,GAAKyK,GACPC,EAAUM,eAAiBnX,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK4K,IACrCF,EAAUM,eAAiBnX,EAAAA,cAACyW,EAAavK,OAAAC,OAAA,GAAK2K,IAC/C9W,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAK6K,GACLvK,EAvFiC2K,KAE7C,IAF8C,mBAC/CH,GACHG,EACG,MAAK,aACDC,EAAY,MACZC,EAAK,kBACLC,EAAiB,QACjBlB,EAAO,aACPL,EAAY,WACZwB,GACAP,EAIJ,OACIjX,EAAAA,cAACoM,EAAAA,KAAIF,OAAAC,OAAA,GAAKkL,GACLC,GAASA,EAAM5J,KAAKpB,GACA,UAAbA,EAAKhL,KAAmBiW,EAAkBE,WAEtCzX,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAC6V,EAAU3J,OAAAC,OAAA,GAAMG,IACjBtM,EAAAA,cAACkW,EAAuBhK,OAAAC,OAAA,GAAKoL,KAKrCvX,EAAAA,cAAAA,EAAAA,SAAA,KACAA,EAAAA,cAAC6V,EAAU3J,OAAAC,OAAA,GAAMG,OAIxB0J,GAAgBA,EAAatI,KAAI,CAACwG,EAAwBtG,IAEnD5N,EAAAA,cAACA,EAAAA,SAAc,CAACsB,IAAKsM,GAChBsG,KAIZmC,GAAWA,EAAQ3I,KAAI,CAAC8I,EAAyB5I,IAE1C5N,EAAAA,cAACA,EAAAA,SAAc,CAACsB,IAAKsM,GAChB4I,KAIZgB,EACE,EA0CEE,CAAaR,IAEb,2ECzLjB,MAAMS,UAA6B3X,EAAAA,cAC/BI,YAAYC,GACRC,MAAMD,EACV,CAEOmF,SACH,MAAM,MAAEoS,EAAK,UAAEtI,EAAS,GAAEpP,EAAE,SAAE2X,GAAa/W,KAAKT,MAEhD,IAAIyX,EAAiBhX,KAAKT,MAAMwB,QAAUf,KAAKT,MAAMwB,OAAOiW,eAC5DxI,EAAUzK,IAAIkT,EAAAA,GAASC,MAAO,uDAAwD,CAAEC,OAAQ,CAAC/X,EAAI2X,KAEhGC,IACDA,EACIhX,KAAKT,MAAMqL,QAAQwM,KAAOpX,KAAKT,MAAMqL,QAAQwM,IAAIC,SAAWrX,KAAKT,MAAMqL,QAAQwM,IAAIC,SAASL,eAAiB,IAGrH,MAAMM,GAAqBC,EAAAA,EAAAA,IAAgBvX,KAAKT,MAAMqL,QAAQ4M,cAAc1L,iBAAmB,EAAI,EAEnG,OACI5M,EAAAA,cAACA,EAAAA,SAAc,KACXA,EAAAA,cAAA,KAAGC,UAAU,eAAe4I,KAAK,QAAQ0P,SAAUH,GAC9CN,GAEL9X,EAAAA,cAAA,cACK4X,GACGA,EAAMnD,QACNmD,EAAMnD,OAAO/G,KAAK8K,GACPA,KAGlBZ,GAASA,EAAMa,WACZzY,EAAAA,cAAA,OAAKE,GAAG,aACH0X,EAAMa,UAAU/K,KAAK8K,GACXA,KAInBxY,EAAAA,cAAA,QAAME,GAAG,QACJ0X,GACGA,EAAMc,SACNd,EAAMc,QAAQhL,KAAK8K,GACRA,KAGlBZ,GAASA,EAAMe,WACZ3Y,EAAAA,cAAA,OAAKE,GAAG,aACH0X,EAAMe,UAAUjL,KAAK8K,GACXA,KAInBxY,EAAAA,cAAA,cACK4X,GACGA,EAAMgB,QACNhB,EAAMgB,OAAOlL,KAAK8K,GACPA,KAK/B,EAGJ,4sBCtDA,MAAMK,UAAe7Y,EAAAA,cAGjBI,YAAYC,GACRC,MAAMD,GACNS,KAAKgY,UAAY9Y,EAAAA,WACrB,CAEOwF,SACH,MAAM,OAAE3D,EAAM,UAAEoB,GAAcnC,KAAKT,MAC7B0Y,EACFjY,KAAKT,MAAMqL,QAAQC,SACnB7K,KAAKT,MAAMqL,QAAQC,QAAQqN,SAC3BlY,KAAKT,MAAMqL,QAAQC,QAAQqN,QAAQD,gBACnCjY,KAAKT,MAAMqL,QAAQC,QAAQqN,QAAQD,iBAEvC,KAAMlX,GAAUA,EAAO4B,QAAU5B,EAAO4B,OAAO0K,gBAC3C,OAAO,KAGX,IAAI8K,EACJ,IACIA,EAAS,IAAIC,IAAIrX,EAAO4B,OAAO0K,eAGnB,CAFd,MAAO+F,GAEL,OADApT,KAAKT,MAAMiP,UAAU6J,UAAUjF,GACxB,IAAK,CAGhB,GAAI+E,GAAUA,EAAOG,UAAoD,WAAxCH,EAAOG,SAASC,oBAC7C,OAAO,KAEX,MAAMC,EAAkBzT,IAAW,YAAahE,EAAO5B,WAEvD,IAAIwF,EAASC,EAAAA,EAAA,GACL5E,KAAKT,OAAqC,IAC9CkZ,QAASzY,KAAK0Y,eAAe3X,EAAO4K,SACpCgN,gBAAiB,CACb7T,YAAa9E,KAAKT,MAClBJ,UAAWqZ,GAEfI,OAAQ5Y,KAAK6Y,kBAcjB,OALIlU,EAASC,EAAAA,EAAA,GACFD,GAAS,GAPfsT,EAOe,CACZa,uBAAuB,GANX,CACZC,MAAO/Y,KAAK4H,aAAazF,EAAU6W,gCAQpChZ,KAAKT,MAAMmG,WAAWf,EACjC,CAEQ+T,eAAe/M,GACnB,OAAKA,GAAYA,EAAQK,MAAgC,IAAxBL,EAAQK,KAAKvL,OAIvCvB,EAAAA,cAACuZ,EAAAA,QAAOrN,OAAAC,OAAA,GAAKM,EAAO,CAAExM,UAAU,wBAH5B,IAIf,CAEQyI,aAAa6N,GACjB,OACIvW,EAAAA,cAAA,KAAGC,UAAU,2BAA2BsJ,KAAK,QAAO,YAAW,aAC1DgN,EAGb,CAEQoD,gBACJ,MAAM,OAAE9X,GAAWf,KAAKT,MAClB0Z,EAAYlY,EAAO4B,OAAO0K,eAEhC,OACInO,EAAAA,cAAA,UACIC,UAAW4F,IAAW,sBACtBiK,IAAKiK,EACLC,OAAQnY,EAAOmY,OAAM,aACTnY,EAAOoY,gBACnBlS,IAAKjH,KAAKgY,WAGtB,EAGJ,kGClGO,MAAMoB,UAAmBla,EAAAA,cACrBwF,SACH,MAAM,QAAE+T,EAAO,gBAAEE,EAAe,OAAEC,EAAM,MAAEG,EAAK,sBAAED,GAA0B9Y,KAAKT,MAEhF,OACIL,EAAAA,cAACiM,EAAAA,OAAMC,OAAAC,OAAA,GAAKsN,GACPI,EACAD,GAAyBA,EACtB5Z,EAAAA,cAAAA,EAAAA,SAAA,KACKuZ,EACAG,GAEL,KAGhB,EAEJ","sources":["webpack://Citta2.0/./src/modules/citta-checkout-payment-instrument/citta-checkout-payment-instrument.view.tsx?91b1","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/ratings-histogram.view.tsx?9899","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/default-page/default-page.tsx?b382","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\nimport * as React from 'react';\r\nimport { ICheckoutPaymentInstrumentViewProps } from './citta-checkout-payment-instrument';\r\n\r\nconst CheckoutPaymentInstrumentView: React.FC = ({\r\n paymentTabs,\r\n paymentTabContent,\r\n paymentMethod,\r\n processingModal\r\n}) => (\r\n
\r\n
\r\n
{paymentMethod}
\r\n
\r\n {paymentTabs}\r\n {paymentTabContent}\r\n
\r\n {processingModal}\r\n
\r\n);\r\n\r\nexport default CheckoutPaymentInstrumentView;\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\n/*---------------------------------------------------------------------------------------------\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 { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst RatingsHistogramView: React.FC = props => {\r\n const { heading, histogramItems, histogramProps, moduleProps } = props;\r\n return (\r\n \r\n {heading}\r\n \r\n {histogramItems.map(item => {\r\n return histogramItem(item);\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n return (\r\n \r\n {props.starLabel}\r\n {props.bar}\r\n {props.percentage}\r\n \r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;","// @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 { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { isEditorialMode } from '@msdyn365-commerce/core-internal';\nimport { IDefaultPageProps } from './default-page.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent}\n */\nclass DefaultPageContainer extends React.PureComponent> {\n constructor(props: IDefaultPageProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, id, typeName } = this.props;\n\n let skipToMainText = this.props.config && this.props.config.skipToMainText;\n telemetry.log(LogLevel.Debug, \"DefaultPageContainer rendering for '{id}/{typeName}'\", { values: [id, typeName] });\n\n if (!skipToMainText) {\n skipToMainText =\n this.props.context.app && this.props.context.app.platform ? this.props.context.app.platform.skipToMainText : '';\n }\n\n const tabIndexSkipToMain = isEditorialMode(this.props.context.actionContext.requestContext) ? -1 : 0;\n\n return (\n \n \n {skipToMainText}\n \n
\n {slots &&\n slots.header &&\n slots.header.map((children: React.ReactNode) => {\n return children;\n })}\n
\n {slots && slots.subheader && (\n
\n {slots.subheader.map((children: React.ReactNode) => {\n return children;\n })}\n
\n )}\n
\n {slots &&\n slots.primary &&\n slots.primary.map((children: React.ReactNode) => {\n return children;\n })}\n
\n {slots && slots.subfooter && (\n
\n {slots.subfooter.map((children: React.ReactNode) => {\n return children;\n })}\n
\n )}\n
\n {slots &&\n slots.footer &&\n slots.footer.map((children: React.ReactNode) => {\n return children;\n })}\n
\n
\n );\n }\n}\n\nexport default DefaultPageContainer;\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":["_ref","paymentTabs","paymentTabContent","paymentMethod","processingModal","React","className","id","CittaCompetitionForm","constructor","props","super","firstNameValue","lastNameValue","emailAddressValue","formInputValues","moduleClassName","onRecaptchaChange","value","this","setState","reCaptchaChecked","rCCError","_onEditMessage","event","charactersLeft","state","key","length","textArea","_AdditionalTextInputRef","current","messageEnterd","charactersLimit","config","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","render","viewProps","_objectSpread","SubscribeWrapper","moduleProps","classnames","subscribeResponse","_getSubmitResponse","subscribeForm","_renderForm","formErrors","formErrorsNodeProps","successResponse","_renderSuccessResponse","showSuccessResponse","successResponseNodeProps","renderView","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","termsAndConditionsText","href","termsAndConditionsLink","privacyPolicyText","privacyPolicyLink","reCaptchaOption","_renderRecaptchaAlert","ReCAPTCHA","sitekey","reCaptchaSiteKey","recaptchaErrorMessage","role","Button","title","submitButtonLabel","color","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","Module","Object","assign","Node","getAdditionalContentItems","item","_item$links","headingNode","heading","renderHeading","additionalContentHeading","requestContext","Msdyn365","text","tag","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","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","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","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","DefaultPageContainer","slots","typeName","skipToMainText","LogLevel","Debug","values","app","platform","tabIndexSkipToMain","isEditorialMode","actionContext","tabIndex","children","subheader","primary","subfooter","footer","Iframe","iframeRef","isConsentGiven","cookies","srcURL","URL","exception","protocol","toLocaleLowerCase","iframeClassName","Heading","_createHeading","IframeContainer","IFrame","_createIframe","cookieConsentAccepted","alert","cookieConsentRequiredMessage","targetURL","height","iframeAriaLabel","IFrameView"],"sourceRoot":""}