{"version":3,"file":"static/js/849.78205fd3.chunk.js","mappings":"oPAOSA,EAAAA,EAAUC,QAMZ,IAAKC,EAAgB,SAAhBA,GAAgB,OAAhBA,EAAAA,EAAgB,2BAAhBA,EAAAA,EAAgB,yBAAhBA,EAAAA,EAAgB,uCAAhBA,EAAAA,EAAgB,2CAAhBA,EAAAA,EAAgB,2BAAhBA,EAAAA,EAAgB,2BAAhBA,EAAAA,EAAgB,yCAAhBA,EAAAA,EAAgB,iBAAhBA,CAAgB,MAWhBC,EAAW,SAAXA,GAAW,OAAXA,EAAAA,EAAW,iBAAXA,EAAAA,EAAW,mBAAXA,EAAAA,EAAW,qBAAXA,EAAAA,EAAW,+BAAXA,EAAAA,EAAW,6BAAXA,EAAAA,EAAW,6BAAXA,EAAAA,EAAW,eAAXA,EAAAA,EAAW,qCAAXA,EAAAA,EAAW,mCAAXA,EAAAA,EAAW,mCAAXA,EAAAA,EAAW,kCAAXA,EAAAA,EAAW,wBAAXA,EAAAA,EAAW,kCAAXA,EAAAA,EAAW,gCAAXA,EAAAA,EAAW,oDAAXA,EAAAA,EAAW,wDAAXA,EAAAA,EAAW,wBAAXA,EAAAA,EAAW,wDAAXA,CAAW,MAqBXC,EAAY,SAAZA,GAAY,OAAZA,EAAAA,EAAY,6BAAZA,EAAAA,EAAY,iBAAZA,EAAAA,EAAY,aAAZA,EAAAA,EAAY,6BAAZA,EAAAA,EAAY,uBAAZA,CAAY,MAQZC,EAAc,SAAdA,GAAc,OAAdA,EAAAA,EAAc,iBAAdA,EAAAA,EAAc,yBAAdA,EAAAA,EAAc,uBAAdA,EAAAA,EAAc,+BAAdA,EAAAA,EAAc,yCAAdA,EAAAA,EAAc,uBAAdA,EAAAA,EAAc,yBAAdA,EAAAA,EAAc,yBAAdA,EAAAA,EAAc,2BAAdA,EAAAA,EAAc,qBAAdA,EAAAA,EAAc,0BAAdA,EAAAA,EAAc,4BAAdA,EAAAA,EAAc,wBAAdA,EAAAA,EAAc,wBAAdA,EAAAA,EAAc,sBAAdA,EAAAA,EAAc,0BAAdA,EAAAA,EAAc,8CAAdA,EAAAA,EAAc,sCAAdA,EAAAA,EAAc,kCAAdA,EAAAA,EAAc,oBAAdA,EAAAA,EAAc,sBAAdA,EAAAA,EAAc,sBAAdA,EAAAA,EAAc,0CAAdA,EAAAA,EAAc,4DAAdA,CAAc,MA2BdC,EAAa,SAAbA,GAAa,OAAbA,EAAAA,EAAa,6BAAbA,EAAAA,EAAa,6BAAbA,EAAAA,EAAa,yCAAbA,EAAAA,EAAa,2BAAbA,EAAAA,EAAa,+BAAbA,EAAAA,EAAa,2BAAbA,EAAAA,EAAa,mBAAbA,EAAAA,EAAa,qCAAbA,EAAAA,EAAa,iBAAbA,EAAAA,EAAa,uBAAbA,EAAAA,EAAa,wBAAbA,EAAAA,EAAa,4CAAbA,EAAAA,EAAa,0BAAbA,EAAAA,EAAa,oDAAbA,EAAAA,EAAa,kBAAbA,EAAAA,EAAa,0CAAbA,EAAAA,EAAa,0CAAbA,CAAa,MA2BbC,EAAU,SAAVA,GAAU,OAAVA,EAAAA,EAAU,WAAVA,EAAAA,EAAU,aAAVA,EAAAA,EAAU,uBAAVA,CAAU,MAYVC,EAAa,SAAbA,GAAa,OAAbA,EAAa,kBAAbA,EAAa,gBAAbA,EAAa,kBAAbA,EAAa,oBAAbA,EAAa,cAAbA,EAAa,sBAAbA,CAAa,MASbC,EAAiB,SAAjBA,GAAiB,OAAjBA,EAAiB,cAAjBA,EAAiB,gBAAjBA,EAAiB,cAAjBA,EAAiB,sBAAjBA,EAAiB,0BAAjBA,EAAiB,gBAAjBA,EAAiB,8CAAjBA,CAAiB,MAUjBC,EAAS,SAATA,GAAS,OAATA,EAAS,0BAATA,EAAS,cAATA,EAAS,wBAATA,EAAS,wBAATA,EAAS,cAATA,EAAS,oCAATA,CAAS,MASTC,EAAgB,SAAhBA,GAAgB,OAAhBA,EAAAA,EAAgB,iBAAhBA,EAAAA,EAAgB,mCAAhBA,EAAAA,EAAgB,6BAAhBA,EAAAA,EAAgB,aAAhBA,EAAAA,EAAgB,uBAAhBA,EAAAA,EAAgB,uBAAhBA,EAAAA,EAAgB,qBAAhBA,EAAAA,EAAgB,mDAAhBA,EAAAA,EAAgB,uCAAhBA,EAAAA,EAAgB,qBAAhBA,EAAAA,EAAgB,sBAAhBA,EAAAA,EAAgB,oCAAhBA,EAAAA,EAAgB,gCAAhBA,EAAAA,EAAgB,oBAAhBA,EAAAA,EAAgB,wBAAhBA,EAAAA,EAAgB,wBAAhBA,EAAAA,EAAgB,4BAAhBA,EAAAA,EAAgB,4BAAhBA,EAAAA,EAAgB,0BAAhBA,EAAAA,EAAgB,8BAAhBA,EAAAA,EAAgB,sCAAhBA,CAAgB,MAwBhBC,EAAM,SAANA,GAAM,OAANA,EAAM,kBAANA,EAAM,YAANA,EAAM,gBAANA,CAAM,MAMNC,EAAW,SAAXA,GAAW,OAAXA,EAAAA,EAAW,yBAAXA,EAAAA,EAAW,2BAAXA,EAAAA,EAAW,2BAAXA,EAAAA,EAAW,uCAAXA,EAAAA,EAAW,2CAAXA,CAAW,MAQXC,EAAY,SAAZA,GAAY,OAAZA,EAAY,wBAAZA,EAAY,oCAAZA,EAAY,0BAAZA,EAAY,wBAAZA,EAAY,oCAAZA,EAAY,gDAAZA,EAAY,yCAAZA,EAAY,qDAAZA,EAAY,gBAAZA,EAAY,4BAAZA,EAAY,8BAAZA,EAAY,8BAAZA,EAAY,sCAAZA,EAAY,sBAAZA,EAAY,oCAAZA,EAAY,sBAAZA,CAAY,MC5KjB,MAAMC,EAAkD,CAC9D,CACCC,SAAU,MACVf,QAAS,KACTgB,OAAQ,CAAC,IAAQ,KAAQ,IAAQ,IAAS,SAC1CC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAO,IAAO,IAAQ,KAAQ,QACvDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAO,IAAO,IAAQ,KAAQ,QAC1DC,cAAe,CACdhB,EAAciB,YACdjB,EAAckB,kBACdlB,EAAcmB,WACdnB,EAAcoB,aACdpB,EAAcqB,WACdrB,EAAcsB,OACdtB,EAAcuB,gBACdvB,EAAcwB,SACdxB,EAAcyB,mBACdzB,EAAc0B,QAGhB,CACChB,SAAU,SACVf,QAAS,KACTgB,OAAQ,CAAC,IAAO,KAAO,IAAO,IAAQ,QACtCC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAM,IAAM,IAAO,KAAO,OACnDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAM,IAAM,IAAO,KAAO,OACtDY,WAAY,CACX5B,EAAe6B,UACf7B,EAAe8B,SACf9B,EAAe+B,aACf/B,EAAegC,UACfhC,EAAeiC,WACfjC,EAAekC,QACflC,EAAemC,oBACfnC,EAAe2B,OAEhBS,YAAa,CACZtC,EAAYuC,OACZvC,EAAYwC,QACZxC,EAAYyC,YACZzC,EAAY0C,YACZ1C,EAAY2C,KACZ3C,EAAY4C,gBACZ5C,EAAY6C,eACZ7C,EAAY8C,eACZ9C,EAAY+C,cACZ/C,EAAYgD,SACZhD,EAAYiD,cACZjD,EAAYkD,aACZlD,EAAYmD,uBACZnD,EAAYoD,yBACZpD,EAAY6B,OAEbwB,iBAAkB,CACjBtD,EAAiBuB,WACjBvB,EAAiBuD,UACjBvD,EAAiBwD,kBACjBxD,EAAiByD,iBACjBzD,EAAiB0D,mBACjB1D,EAAiB2D,WACjB3D,EAAiB4D,WACjB5D,EAAiB8B,OAElBV,cAAe,CACdhB,EAAciB,YACdjB,EAAckB,kBACdlB,EAAcmB,WACdnB,EAAcoB,aACdpB,EAAcqB,WACdrB,EAAcsB,OACdtB,EAAcuB,gBACdvB,EAAc6C,SACd7C,EAAcwB,SACdxB,EAAcyB,mBACdzB,EAAcyD,kBACdzD,EAAc0B,QAGhB,CACChB,SAAU,MACVf,QAAS,KACTgB,OAAQ,CAAC,IAAQ,KAAQ,IAAQ,IAAS,SAC1CC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAO,IAAO,IAAQ,KAAQ,QACvDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAO,IAAO,IAAQ,KAAQ,QAC1DY,WAAY,CACX5B,EAAe8B,SACf9B,EAAe+B,aACf/B,EAAeiC,WACfjC,EAAegC,UACfhC,EAAe2D,UACf3D,EAAekC,QACflC,EAAe4D,gBACf5D,EAAe6B,UACf7B,EAAe2B,OAEhBwB,iBAAkB,CACjBtD,EAAiBuB,WACjBvB,EAAiBuD,UACjBvD,EAAiBwD,kBACjBxD,EAAiByD,iBACjBzD,EAAiB0D,mBACjB1D,EAAiB2D,WACjB3D,EAAiB4D,WACjB5D,EAAiB8B,OAElBS,YAAa,CACZtC,EAAYiD,cACZjD,EAAY+D,aACZ/D,EAAY0C,YACZ1C,EAAYmD,uBACZnD,EAAY4C,gBACZ5C,EAAY6C,eACZ7C,EAAY+C,cACZ/C,EAAY2C,KACZ3C,EAAYkD,aACZlD,EAAYuC,OACZvC,EAAYyC,YACZzC,EAAYgD,SACZhD,EAAY6B,QAGd,CACChB,SAAU,MACVf,QAAS,KACTgB,OAAQ,CAAC,IAAQ,KAAQ,IAAQ,IAAS,SAC1CC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CACvB,CACCgD,MAAO,eACPC,SAAU,8BACVC,YAAa,CACZC,IAAKC,GAAuB,OAC5BC,IAAKD,GAAuB,OAG9B,CACCJ,MAAO,SACPC,SAAU,2BACVC,YAAa,CACZF,MAAOI,GAAuB,OAGhC,CACCJ,MAAO,UACPC,SAAU,2BACVC,YAAa,CACZF,MAAOI,GAAuB,OAGhC,CACCJ,MAAO,UACPC,SAAU,2BACVC,YAAa,CACZF,MAAOI,GAAuB,QAIjCnD,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAC1B,CACC8C,MAAO,SACPC,SAAU,iCACVC,YAAa,CACZF,MAAOI,GAAuB,OAGhC,CACCJ,MAAO,cACPC,SAAU,iCACVC,YAAa,CACZC,IAAKC,GAAuB,OAC5BC,IAAKD,GAAuB,OAG9B,CACCJ,MAAO,eACPC,SAAU,iCACVC,YAAa,CACZC,IAAKC,GAAuB,OAC5BC,IAAKD,GAAuB,OAG9B,CACCJ,MAAO,gBACPC,SAAU,iCACVC,YAAa,CACZC,IAAKC,GAAuB,QAC5BC,IAAKD,GAAuB,QAG9B,CACCJ,MAAO,UACPC,SAAU,gCACVC,YAAa,CACZF,MAAOI,GAAuB,SAIjCE,aAAc,CACbrE,EAAasE,IACbtE,EAAauE,YACbvE,EAAawE,SACbxE,EAAa4B,OAEdC,WAAY,CACX5B,EAAe6B,UACf7B,EAAe+B,aACf/B,EAAegC,UACfhC,EAAewE,QACfxE,EAAe2D,UACf3D,EAAekC,QACflC,EAAeyE,2BACfzE,EAAe0E,OACf1E,EAAe2E,WACf3E,EAAe4E,SACf5E,EAAe6E,UAEhBzC,YAAa,CACZtC,EAAYwC,QACZxC,EAAY0C,YACZ1C,EAAY+D,aACZ/D,EAAY8C,eACZ9C,EAAYgF,yBACZhF,EAAY2C,KACZ3C,EAAYkD,aACZlD,EAAY+C,cACZ/C,EAAY6C,eACZ7C,EAAY6B,MACZ7B,EAAYoD,yBACZpD,EAAYgD,SACZhD,EAAYmD,uBACZnD,EAAYuC,OACZvC,EAAYyC,YACZzC,EAAY4C,iBAEbS,iBAAkB,CACjBtD,EAAiB2D,WACjB3D,EAAiBuD,UACjBvD,EAAiByD,iBACjBzD,EAAiB0D,mBACjB1D,EAAiBuB,WACjBvB,EAAiB4D,WACjB5D,EAAiBwD,kBACjBxD,EAAiB8B,QAGnB,CACChB,SAAU,SACVf,QAAS,KACTgB,OAAQ,CAAC,IAAO,KAAO,IAAO,IAAQ,QACtCC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAM,IAAM,IAAO,KAAO,OACnDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAM,IAAM,IAAO,KAAO,OACtDY,WAAY,CACX5B,EAAe6B,UACf7B,EAAe0E,OACf1E,EAAe+E,UACf/E,EAAe+B,aACf/B,EAAe2D,UACf3D,EAAeiC,WACfjC,EAAekC,QACflC,EAAegF,cACfhF,EAAewE,QACfxE,EAAegC,UACfhC,EAAeiF,UACfjF,EAAe8B,SACf9B,EAAe2B,OAEhBuD,UAAW,CACV7E,EAAU8E,iBACV9E,EAAU+E,MACV/E,EAAUgF,WACVhF,EAAUiF,WACVjF,EAAUsB,OAEX4D,iBAAkB,CACjBjF,EAAiBkF,eACjBlF,EAAiBmF,YACjBnF,EAAiBoF,IACjBpF,EAAiBqF,QACjBrF,EAAiBsF,uBACjBtF,EAAiBuF,QACjBvF,EAAiBwF,iBACjBxF,EAAiByF,aACjBzF,EAAiB0F,eACjB1F,EAAiBwC,SACjBxC,EAAiB2F,gBACjB3F,EAAiB4F,SACjB5F,EAAiB6F,WACjB7F,EAAiB8F,OACjB9F,EAAiB+F,SACjB/F,EAAiBgG,SACjBhG,EAAiBiG,WACjBjG,EAAiBkG,UACjBlG,EAAiBmG,QACjBnG,EAAiBoG,YACjBpG,EAAiBqB,OAElBgF,cAAe,CACdxG,EAAcyG,QACdzG,EAAc0G,SACd1G,EAAc2G,UACd3G,EAAc4G,OACd5G,EAAc6G,OAEfC,kBAAmB,CAClB7G,EAAkB8G,OAClB9G,EAAkB+G,OAClB/G,EAAkBgH,YAClBhH,EAAkBiH,MAClBjH,EAAkBuB,QAGpB,CAEChB,SAAU,MACVf,QAAS,KACTgB,OAAQ,CAAC,IAAK,KAAM,KAAM,KAC1BC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAM,IAAM,IAAO,KAAO,OACnDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAM,IAAM,IAAO,KAAO,OACtDY,WAAY,CACX5B,EAAe6B,UACf7B,EAAegC,UACfhC,EAAeiC,WACfjC,EAAeiF,UACfjF,EAAe+B,aACf/B,EAAe2B,QAGjB,CACChB,SAAU,SACVf,QAAS,KACTgB,OAAQ,CAAC,IAAO,KAAO,IAAO,IAAQ,QACtCC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAM,IAAO,IAAO,OAC7CC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAM,IAAO,IAAO,OAChDY,WAAY,CACX5B,EAAesH,SACftH,EAAeuH,kBACfvH,EAAegC,UACfhC,EAAe+B,aACf/B,EAAekC,QACflC,EAAe4E,UAEhBxC,YAAa,CACZtC,EAAYuC,OACZvC,EAAY+D,aACZ/D,EAAY0C,YACZ1C,EAAY2C,KACZ3C,EAAY4C,gBACZ5C,EAAY+C,cACZ/C,EAAYgD,SACZhD,EAAYiD,cACZjD,EAAYkD,cAEbG,iBAAkB,CACjBtD,EAAiB2D,WACjB3D,EAAiBuD,UACjBvD,EAAiByD,iBACjBzD,EAAiB0D,mBACjB1D,EAAiBuB,WACjBvB,EAAiB4D,WACjB5D,EAAiBwD,kBACjBxD,EAAiB8B,QAGnB,CAEChB,SAAU,MACVf,QAAS,KACTgB,OAAQ,CAAC,IAAK,KAAM,KAAM,KAAM,MAChCC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAM,IAAM,IAAO,KAAO,OACnDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAM,IAAM,IAAO,KAAO,OACtDY,WAAY,CACX5B,EAAe6B,UACf7B,EAAegC,UACfhC,EAAeiC,WACfjC,EAAeiF,UACfjF,EAAe+B,aACf/B,EAAe2B,QAGjB,CAEChB,SAAU,MACVf,QAAS,KACTgB,OAAQ,CAAC,IAAK,KAAM,KAAM,KAAM,MAChCC,iBAAkB,CAAC,EAAG,GAAI,GAAI,IAC9BC,uBAAwB,CAAC,IAAM,IAAM,IAAO,KAAO,OACnDC,oBAAqB,CAAC,EAAG,GAAI,GAAI,IACjCC,0BAA2B,CAAC,IAAM,IAAM,IAAO,KAAO,OACtDY,WAAY,CACX5B,EAAe6B,UACf7B,EAAegC,UACfhC,EAAeiC,WACfjC,EAAeiF,UACfjF,EAAe+B,aACf/B,EAAe2B,SCtaX,IAAK6F,EAAW,SAAXA,GAAW,OAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,EAAW,SAAXA,CAAW,MAeXC,EAAM,SAANA,GAAM,OAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,EAAM,WAANA,CAAM,MAaNC,EAAe,SAAfA,GAAe,OAAfA,EAAe,kBAAfA,EAAe,gBAAfA,EAAe,QAAfA,EAAe,cAAfA,CAAe,MAOfC,EAAS,SAATA,GAAS,OAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,EAAS,SAATA,CAAS,MAeTC,EAAY,SAAZA,GAAY,OAAZA,EAAY,aAAZA,EAAY,wBAAZA,EAAY,iBAAZA,EAAY,uBAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,yBAAZA,EAAY,YAAZA,EAAY,gBAAZA,EAAY,eAAZA,EAAY,mBAAZA,EAAY,aAAZA,EAAY,eAAZA,EAAY,WAAZA,EAAY,gBAAZA,EAAY,0BAAZA,EAAY,cAAZA,EAAY,gBAAZA,EAAY,aAAZA,EAAY,iBAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,WAAZA,EAAY,aAAZA,EAAY,sBAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,kBAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,YAAZA,EAAY,yBAAZA,EAAY,4BAAZA,EAAY,WAAZA,EAAY,iBAAZA,EAAY,gBAAZA,EAAY,iBAAZA,EAAY,WAAZA,EAAY,cAAZA,EAAY,WAAZA,EAAY,cAAZA,EAAY,eAAZA,EAAY,UAAZA,EAAY,eAAZA,EAAY,qBAAZA,EAAY,YAAZA,EAAY,mBAAZA,EAAY,aAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,cAAZA,EAAY,uBAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,WAAZA,EAAY,mBAAZA,EAAY,aAAZA,EAAY,WAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,UAAZA,EAAY,qBAAZA,EAAY,gBAAZA,EAAY,kBAAZA,EAAY,YAAZA,EAAY,WAAZA,EAAY,mBAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,kBAAZA,EAAY,WAAZA,EAAY,eAAZA,EAAY,eAAZA,EAAY,YAAZA,EAAY,YAAZA,EAAY,gBAAZA,EAAY,sBAAZA,EAAY,YAAZA,EAAY,gCAAZA,EAAY,eAAZA,EAAY,UAAZA,EAAY,kBAAZA,EAAY,YAAZA,EAAY,cAAZA,EAAY,gCAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,WAAZA,EAAY,aAAZA,EAAY,eAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,WAAZA,EAAY,iCAAZA,EAAY,UAAZA,EAAY,UAAZA,EAAY,aAAZA,EAAY,WAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,WAAZA,EAAY,WAAZA,EAAY,gBAAZA,EAAY,cAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,wBAAZA,EAAY,YAAZA,EAAY,mBAAZA,EAAY,gBAAZA,EAAY,kCAAZA,EAAY,aAAZA,EAAY,gBAAZA,EAAY,mBAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,eAAZA,EAAY,gBAAZA,EAAY,YAAZA,EAAY,0BAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,aAAZA,EAAY,gBAAZA,EAAY,gBAAZA,EAAY,qBAAZA,EAAY,eAAZA,EAAY,UAAZA,EAAY,aAAZA,EAAY,cAAZA,EAAY,WAAZA,EAAY,4BAAZA,EAAY,gBAAZA,EAAY,gBAAZA,EAAY,gBAAZA,EAAY,WAAZA,EAAY,eAAZA,EAAY,cAAZA,EAAY,YAAZA,EAAY,YAAZA,EAAY,cAAZA,EAAY,gBAAZA,EAAY,aAAZA,EAAY,kBAAZA,EAAY,WAAZA,EAAY,mBAAZA,EAAY,aAAZA,EAAY,eAAZA,EAAY,iBAAZA,EAAY,YAAZA,EAAY,WAAZA,EAAY,WAAZA,EAAY,UAAZA,EAAY,gBAAZA,EAAY,UAAZA,EAAY,YAAZA,EAAY,UAAZA,EAAY,qBAAZA,EAAY,oBAAZA,EAAY,iBAAZA,EAAY,cAAZA,EAAY,YAAZA,EAAY,4BAAZA,EAAY,cAAZA,EAAY,gBAAZA,EAAY,0BAAZA,EAAY,cAAZA,EAAY,WAAZA,EAAY,cAAZA,EAAY,WAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,uBAAZA,EAAY,YAAZA,EAAY,iBAAZA,EAAY,oBAAZA,EAAY,gBAAZA,EAAY,WAAZA,EAAY,YAAZA,EAAY,eAAZA,EAAY,iBAAZA,EAAY,cAAZA,EAAY,yBAAZA,EAAY,cAAZA,EAAY,iBAAZA,EAAY,eAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,cAAZA,EAAY,wBAAZA,EAAY,gBAAZA,EAAY,wBAAZA,EAAY,eAAZA,EAAY,2BAAZA,EAAY,UAAZA,EAAY,+BAAZA,EAAY,UAAZA,EAAY,cAAZA,EAAY,gBAAZA,EAAY,aAAZA,EAAY,kBAAZA,EAAY,aAAZA,EAAY,WAAZA,EAAY,YAAZA,EAAY,uBAAZA,EAAY,YAAZA,EAAY,YAAZA,EAAY,cAAZA,EAAY,aAAZA,EAAY,YAAZA,EAAY,iCAAZA,EAAY,kBAAZA,EAAY,aAAZA,EAAY,gBAAZA,EAAY,6BAAZA,EAAY,+BAAZA,EAAY,eAAZA,EAAY,0BAAZA,EAAY,qBAAZA,EAAY,aAAZA,EAAY,aAAZA,EAAY,qBAAZA,EAAY,WAAZA,EAAY,WAAZA,EAAY,aAAZA,EAAY,iBAAZA,EAAY,YAAZA,EAAY,cAAZA,CAAY,M,+CC3CxB,MAAMC,EAyDN,WACC,MAAMC,EAAOC,OAAOC,KAAKrI,EAAAA,EAAUsI,WAUnC,OAToBH,EAAKI,QAAQC,GAAMA,EAAEC,SAAS,OAEtCC,SAASF,IACpB,MAAMG,EAAUC,EAAWJ,GAEtBL,EAAKM,SAASE,IAAUR,EAAKU,KAAKF,EAAQ,IAGhDR,EAAKU,KAAK,UACHV,CACR,CArEsBW,GAEtBC,EAAAA,EAGEC,IAAIC,EAAAA,GAGJD,IAAIE,KAEJF,IAAIG,EAAAA,IAGJC,KAAK,CACLlB,cAAeA,EACfmB,aAAa,EACbC,IAA2D,QAAxDC,EAAoC,QAApCC,EAAEC,aAAaC,QAAQ,qBAAa,IAAAF,EAAAA,EAAItB,EAAc,UAAE,IAAAqB,EAAAA,EAAI,KAC/DI,OAAOC,EACPC,cAAe,CACdC,aAAa,GAEdC,UAAW,CACVC,MAAO,CACN,eACA,UACA,YACA,OACA,YACA,cACA,WAGFC,QAAS,CACRC,eAAgB,CACfC,MAAO,eAKXpB,EAAAA,EAAKqB,GAAG,mBAAoBd,IAC3B,MAAMX,EAAUC,EAAWU,GAC3Be,SAASC,gBAAgBC,KAAO3B,EAC/Bd,EAAOa,GACP,IAGF,QAAeI,EAAI,EAKZ,SAASH,EAAWU,GAC1B,YAAYkB,IAARlB,EAA0BA,EAEvBA,EAAImB,MAAM,KAAK,EACvB,CAgBO,IAAKC,EAAe,SAAfA,GAAe,OAAfA,EAAe,oBAAfA,EAAe,gBAAfA,EAAe,cAAfA,EAAe,0BAAfA,EAAe,sBAAfA,EAAe,sBAAfA,EAAe,2CAAfA,CAAe,M,cC9EpB,IAAKC,EAAU,SAAVA,GAAU,OAAVA,EAAU,4BAAVA,EAAU,4BAAVA,EAAU,0BAAVA,EAAU,yBAAVA,EAAU,oBAAVA,EAAU,kCAAVA,EAAU,UAAVA,EAAU,oCAAVA,EAAU,4BAAVA,EAAU,0CAAVA,CAAU,MCgBf,SAASC,IACf,OAAQ5K,EAAAA,EAAUC,SACjB,IAAK,KACJ,MAAO,UACR,IAAK,KACJ,MAAO,SACR,IAAK,KACJ,MAAO,UACR,IAAK,KACJ,MAAO,SACR,IAAK,KACJ,MAAO,UACR,IAAK,KACJ,MAAO,UACR,IAAK,KACJ,MAAO,UACR,IAAK,KACJ,MAAO,YACR,IAAK,KACJ,MAAO,SACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QAEV,CAEO,SAAS4K,IACf,OAAQ7K,EAAAA,EAAUC,SACjB,IAAK,KACJ,OAAO+H,EAAU8C,GAClB,IAAK,KACJ,OAAO9C,EAAU+C,GAClB,IAAK,KACJ,OAAO/C,EAAUgD,GAClB,IAAK,KACJ,OAAOhD,EAAUiD,GAClB,IAAK,KACJ,OAAOjD,EAAUkD,GAClB,IAAK,KACJ,OAAOlD,EAAUmD,GAClB,IAAK,KACJ,OAAOnD,EAAUoD,GAClB,IAAK,KACJ,OAAOpD,EAAUqD,GAClB,IAAK,KACJ,OAAOrD,EAAUsD,GAClB,IAAK,KACJ,OAAOtD,EAAUuD,GAClB,IAAK,KACJ,OAAOvD,EAAUwD,GAEpB,CAMO,SAASC,IACf,OAAQzL,EAAAA,EAAUC,SACjB,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,IAAK,KACJ,MAAO,QACR,QACC,MAAO,SAEV,CASO,SAASyL,EAAaC,EAAcC,GAC1C,OAAQ5L,EAAAA,EAAUC,SACjB,IAAK,KACJ,OAAU,OAAH0L,QAAG,IAAHA,OAAG,EAAHA,EAAKE,eAAeJ,IAAqB,IAC5CG,EACHE,sBAAuB,EACvBC,sBAAuB,IAEzB,IAAK,KACJ,OAAU,OAAHJ,QAAG,IAAHA,OAAG,EAAHA,EAAKE,eAAeJ,IAAqB,IAC5CG,EACHE,sBAAuB,EACvBC,sBAAuB,IAEzB,QACC,OAAU,OAAHJ,QAAG,IAAHA,OAAG,EAAHA,EAAKE,eAAeJ,IAAqB,CAC/CM,sBAAuB,KACpBH,IAGP,CAEO,SAASI,EAAqBC,GACpC,OAAIA,EACI,MAEA,IAET,CAYO,SAASC,IAEf,MACC,qUAAqUC,KACpUC,UAAUC,YAGX,0kDAA0kDF,KACzkDC,UAAUC,UAAUC,OAAO,EAAG,KAE/BC,OAAOC,YAAc,GAEvB,CAEO,SAASC,IACf,OACCP,KAAmBK,OAAOC,YAAc,KAAOD,OAAOC,YAAc,IAEtE,CAEO,SAASE,IACf,OAAQ1M,EAAAA,EAAUC,SACjB,IAAK,KACJ,MAAO,MACR,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACJ,MAAO,MACR,IAAK,KACJ,MAAO,MACR,IAAK,KACJ,MAAO,MAEV,CAEO,MAAM0M,EAAQA,IAEnB,CACC,iBACA,mBACA,iBACA,OACA,SACA,QACClE,SAAS2D,UAAUQ,WAEpBR,UAAUC,UAAU5D,SAAS,QAAU,eAAgB4B,SAI7CwC,EAAkBA,KAC9B,MAAMC,EAAWV,UAAUC,UAAUU,QAAQ,WAAa,EAG1D,OAFiBX,UAAUC,UAAUU,QAAQ,WAAa,IAEtCD,CAAQ,EAGtBE,eAAeC,IACrB,OAAIC,EAAAA,EAAQC,SAAiBC,QAAQC,QAAQH,EAAAA,EAAQC,iBAE/C,IAAIC,SAASC,GAAYC,WAAWD,EAAS,OAC5CJ,IACR,CAEO,SAASM,GAAwBC,GAGvC,OAFAC,QAAQC,KAAKF,GAEQ,kBAAVA,EACHA,EAGJ,iBAAkBA,GAASA,EAAMG,UAAYH,EAAMG,SAASC,KACxD,IAAIC,MACVL,EAAMG,SAASG,OAAS,IAAMN,EAAMG,SAASC,KAAO,iBAI/C,IAAIC,MAAML,EAAMO,QACxB,CAEO,MAAMC,GAAmCA,KAC/C,MAAM,EAAEC,IAAMC,EAAAA,EAAAA,GAAexD,EAAgByD,UAC7C,IAAIC,EAAcrN,EAAuBsN,MACvCC,GAAMA,EAAErO,UAAYD,EAAAA,EAAUC,UAGhC,OAAOmO,EAAYjN,uBAAuBoN,KAAKC,GACxB,kBAAXA,EACH,CACNrK,MAAOqK,EACPC,MAAOR,EAAE,2BAA4B,CACpC9J,MAAOqK,EACPxN,SAAUoN,EAAYpN,YAIlB,CACNmD,MAAOqK,EAAOrK,MACdsK,MAAOR,EAAEO,EAAOpK,SAAU,IACtBoK,EAAOnK,YACVrD,SAAUoN,EAAYpN,aAGvB,EAGU0N,GAAsCA,KAClD,MAAM,EAAET,IAAMC,EAAAA,EAAAA,GAAexD,EAAgByD,UACvCC,EAAcrN,EAAuBsN,MACzCC,GAAMA,EAAErO,UAAYD,EAAAA,EAAUC,UAGhC,OAAOmO,EAAY/M,0BAA0BkN,KAAKC,GAC3B,kBAAXA,EACH,CACNrK,MAAOqK,EACPC,MAAOR,EAAE,8BAA+B,CACvC9J,MAAOqK,EACPxN,SAAUoN,EAAYpN,YAIlB,CACNmD,MAAOqK,EAAOrK,MACdsK,MAAOR,EAAEO,EAAOpK,SAAU,IACtBoK,EAAOnK,YACVrD,SAAUoN,EAAYpN,aAGvB,EAYI,SAASuD,GACfoH,EACAC,GAQA,OANkB,IAAI+C,KAAKC,aAAa5O,EAAAA,EAAUC,QAAS,CAC1D8L,sBAAuB,EACvBD,sBAAuB,KACpBF,IAGaiD,OAAOlD,EACzB,CAEO,MAAMmD,GAAuBA,CACnCC,EACAC,EACAC,KAEA,MAAM,EAAEhB,IAAMC,EAAAA,EAAAA,GAAexD,EAAgByD,UAE7C,OAAW,GAAPY,EACId,EAAEgB,EAAe,QAAS,CAChC9K,MAAO6K,EAAeC,GAAcF,GAAKlD,eACxC7L,EAAAA,EAAUC,SAEXe,SAAUgO,EAAehO,WAGvB+N,GAAOC,EAAeC,GAAcC,OAAS,EACzCjB,EAAEgB,EAAe,OAAQ,CAC/B9K,OAAQ6K,EAAeC,GAAcF,GAAO,GAAGlD,eAC9C7L,EAAAA,EAAUC,SAEXe,SAAUgO,EAAehO,WAEpBiN,EAAEgB,EAAc,CACtB9K,MAAO,IACN6K,EAAeC,GAAcF,EAAII,UAAY,GAAK,GACjDtD,eAAe7L,EAAAA,EAAUC,cAAc+O,EAAeC,GACvDF,GACClD,eAAe7L,EAAAA,EAAUC,WAC3Be,SAAUgO,EAAehO,UACxB,EAOUoO,GAA6CC,IACzD,IAAIzD,EAAU0D,GAA+BD,GAM7C,MAJe,OAAXA,GACHzD,EAAQ2D,KAAKC,IAGP5D,CAAO,EAkBT4D,GAAeA,CAACC,EAAQC,IAfHC,EAC1BF,EACAC,EACAE,KAEA,IAAIC,EAASD,EAA2B7C,QAAQ0C,EAAEtL,OAC9C2L,EAASF,EAA2B7C,QAAQ2C,EAAEvL,OAElD,OAAI0L,IAAWC,EAAe,EAE1BD,EAASC,EAAeD,GAAU,GAAK,EAAI,EAExCC,GAAU,EAAI,GAAK,CAAC,EAOpBH,CAAmBF,EAAGC,EAFM,CAAC,KAAM,KAAM,KAAM,OAY1CJ,GAAkCD,IAC9C,MAAM,EAAEpB,IAAMC,EAAAA,EAAAA,GAAe,CAACxD,EAAgBqF,YAC9C,IAAInE,EAAe,GACfoE,EAAyB,GACzBC,EAAuB,GACvBC,EAAyB,GAyC7B,OAvCA9H,OAAOC,KAAKJ,GAAcsG,KAAKQ,GAC9BiB,EAAkBnH,KAAK,CACtB1E,MAAO4K,EACPN,MAAOR,EAAE,GAAGhG,EAAa8G,UAG3BnD,EAAQ/C,KACPmH,EAAkB3B,MAChB8B,GACAA,EAAKhM,QAAUkL,EAAOe,iBAGzBF,EAAoBF,EAAkBzH,QACpC4H,GACAA,EAAKhM,QAAUkL,EAAOe,gBAExBH,EAAkBC,EAAkBX,MACnC,CACCE,EACAC,KAEA,MAAMW,EAAWZ,EAAEhB,MACb6B,EAAWZ,EAAEjB,MACnB,OACC4B,EAASE,cAAcD,EAAUjB,GACjCiB,EAASC,cAAcF,EAAUhB,IAEzB,EAGRgB,EAASE,cAAcD,EAAUjB,GACjCiB,EAASC,cAAcF,EAAUhB,GAE1B,EAED,CAAC,IAGVzD,EAAQ/C,QAAQoH,GACTrE,CAAO,EAWF4E,GAAwB,WAG/B,IAFLC,EAAiBC,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,GACpBzB,EAAoByB,UAAAxB,OAAA,EAAAwB,UAAA,QAAAlG,EAGpB,MAAM,EAAEyD,IAAMC,EAAAA,EAAAA,GAAeuC,GAC7B,IAAIrC,EAAcrN,EAAuBsN,MACvCC,GAAMA,EAAErO,UAAYD,EAAAA,EAAUC,UAG5B0Q,EAAY,GACZC,EAAmBxI,OAAOyI,QAAQzC,GACtC,IAAK,MAAOW,EAAK5K,KAAUyM,EACtB7B,IAAQE,GAEX9K,EAAMoK,KAAI,CAAC4B,EAAWpB,KACrB4B,EAAK9H,KAAK,CACT1E,MAAOA,EAAM4K,GACbN,MAAOK,GAAqBC,EAAKX,EAAaa,IAC7C,IAGL,OAAO0B,CACR,EAWaG,GAAmBA,CAC/BC,EACA9B,EACAwB,KAEA,MAAM,EAAExC,IAAMC,EAAAA,EAAAA,GAAeuC,GAC7B,IAAIpI,EAAOD,OAAOC,KAAK0I,GACvB,MAAM,WAAEC,EAAU,IAAEC,GAAQC,GAAyBjC,GACrD,IAAI0B,EAAc,GASlB,OARIK,EACHC,EAAI1C,KAAKQ,GACR4B,EAAK9H,KAAK,CAAE1E,MAAO4M,EAAShC,GAAMN,MAAOR,EAAE8C,EAAShC,QAGrD1G,EAAKE,OAAO4I,IAAmB5C,KAAKQ,GACnC4B,EAAK9H,KAAK,CAAE1E,MAAO4K,EAAKN,MAAOR,EAAEc,EAAIqC,gBAEhCT,CAAI,EAGL,SAASQ,GAAkBhN,GACjC,OAAgC,IAAzBkN,MAAMC,OAAOnN,GACrB,CAEA,MAAM+M,GAA4BjC,IACjC,IAAIb,EAAcrN,EAAuBsN,MACvCC,GAAMA,EAAErO,UAAYD,EAAAA,EAAUC,UAE5BsR,EAAanJ,OAAOyI,QAAQzC,GAChC,IAAK,MAAOW,EAAKkC,KAAQM,EACxB,GAAIxC,IAAQE,EACX,MAAO,CAAE+B,YAAY,EAAMC,OAG7B,MAAO,CAAED,YAAY,EAAOxG,iBAAW,EAGjC,SAASgH,KAKf,MAAM,UAAEC,GAAcC,EAAAA,MAAkBnF,OAAOoF,SAASC,QAIxD,GAAIH,EAAW,CACd,MAAMI,EAAM,IAAIC,IAAIC,mBAAmBN,IAGvC,MAAO,IAFaC,EAAAA,MAAkBG,EAAID,QAEtBH,YACrB,CAEA,MAAO,CAAEA,YACV,CAaO,SAASO,GAAaC,EAAYC,GACxC,MAAMtE,EAAOrB,OAAOuF,IAAIK,gBAAgBF,GAClCG,EAAO/H,SAASgI,cAAc,KACpCD,EAAKE,MAAMC,QAAU,OACrBH,EAAKI,KAAO5E,EACZwE,EAAKK,SAAWP,EAChB7H,SAASqI,KAAKC,YAAYP,GAC1BA,EAAKQ,OACN,CAEO,SAASC,GACfZ,EACAa,GAEE,IADFC,EAAgBrC,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,WAEnB,IAAIoB,EAAMvF,OAAOuF,KAAOvF,OAAOyG,UAC/B,MAAMpF,EAAOkE,EAAIK,gBAAgBF,GAE7Ba,EACHA,EAAUnB,SAASa,KAAO5E,EAE1BoE,GAAaC,EAAMc,GAGpBzF,YAAW,WAEVwE,EAAImB,gBAAgBrF,EACrB,GAAG,IACJ,CAEO,SAASsF,GAAgBC,GAC/B,QAAK,IAAIC,OAAO,YAAYjH,KAAKgH,EAGlC,CA4CO,SAASE,GAAUtE,EAAcuE,GACvC,OAAOvE,CACR,CAOO,SAASwE,GAAYpP,GAC3B,IAAKA,EAAO,OAAOA,EAEnB,IAAIqP,EAAYrP,EAChB,MAAMsP,EAAW,CAChBC,GAAI,KACJC,SAAG,IACHC,GAAI,IACJC,GAAI,KACJC,GAAI,KAUL,OAPA1L,OAAOC,KAAKoL,GAAU/K,SAASF,IAC9B,IAAKgL,EAAUO,SAASvL,GAAI,OAE5B,MAAMwL,EAAMP,EAASjL,GACrBgL,EAAYA,EAAUS,UAAU,EAAGT,EAAUU,YAAY1L,IAAMwL,CAAG,IAG5DR,CACR,CAOA,MAAMW,GAA8C,CACnDC,IAAK,CAAElC,KAAM,gBAAiBmC,OAAQ,MACtCC,IAAK,CAAEpC,KAAM,eAAgBmC,OAAQ,MACrCE,IAAK,CAAErC,KAAM,OAAQmC,OAAQ,UAC7BG,IAAK,CAAEtC,KAAM,kBAAmBmC,OAAQ,MAY5BI,GAAaA,CAAChF,EAAWC,EAAWH,IACnC,QAATA,EACCE,EAAIC,GAAW,EACfD,EAAIC,EAAU,EACX,EAEHD,EAAIC,GAAW,EACfD,EAAIC,EAAU,EACX,EAIIgF,GAA4BA,KAExC,IAAIC,EAAahK,EAAWiK,aAQ5B,OALEC,eAAenL,QAAQiB,EAAWmK,eACnCD,eAAenL,QAAQiB,EAAWoK,mBAElCJ,EAAahK,EAAWqK,qBAElBL,CAAU,E,kGC/qBX,SAASM,KAEQ,IADvBC,EAAiCxE,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,QAAGlG,EAEpC,MAAO,CACN2K,UAAWnV,EAAAA,EAAUoV,iBACrBC,UAAW,aACXC,aAAc,IAAG/I,OAAOoF,SAAS4D,OAAS,aAC1CC,cAAe,OACfC,cAAc,EACdC,yBAA0B,IACzBnJ,OAAOoF,SAAS4D,OAAS,mBAE1BI,MACsB,sBAArB3V,EAAAA,EAAU4V,QAA4D,eAA1B5V,EAAAA,EAAU6V,YACnD,2DACA,mCACJC,sBAAsB,EACtBZ,gBACAa,UAAW,IACXC,UACuB,OAAtBhW,EAAAA,EAAUC,QACP,IAAIgW,GAAAA,qBAAqB,CAAEC,MAAO3J,OAAO9C,oBACzCe,EAEN,CAMO,MAAM2L,GAHL,IAAIC,GAAAA,YAAYnB,M,eCxBxB,MAAMoB,IAAqCC,EAAAA,EAAAA,eAA4B,CACtEC,iBAAiB,EACjBC,aAAa,EACbC,eAAgBA,SAGV,SAASC,GAAenN,GAAwC,IAAvC,SAAEoN,GAAkCpN,EAEnE,MAAOiN,EAAaC,IAAkBG,EAAAA,EAAAA,WAAkB,GAElDC,EAAiBC,EAAAA,aAAkB9J,UACxC,MAAM+J,QAAaZ,GAAYa,UAC/B,OAAKC,QAAQF,IAAa,OAAJA,QAAI,IAAJA,GAAAA,EAAMG,QACpBC,GAAmB,GAEpBA,GAAmB,EAAK,GAC7B,KAEIZ,EAAiBY,IAAsBP,EAAAA,EAAAA,UAAkBC,GAEhE,OACCO,EAAAA,GAAAA,KAACf,GAAYgB,SAAQ,CACpBlT,MAAO,CAAEoS,kBAAiBC,cAAaC,kBAAiBE,SACvDA,GAGJ,CAEA,YCPA,SAvBA,WACC,MAAMW,EAAWpL,KACX,gBAAEqK,IAAoBgB,EAAAA,EAAAA,YAAWlB,IACvC,OACCmB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACEJ,IACAa,EAAAA,GAAAA,KAAA,OAAK9E,MAAO,CAAEoF,OAAQJ,EAAW,OAAS,WAE3CF,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CACTrF,MAAO,CACNsF,SAAU,WACVC,cAAetB,EAAkB,QAAU,IAC1CI,UACFS,EAAAA,GAAAA,KAAA,OACC9E,MAAO,CAAEC,QAAS,SAClBuF,IAAKC,GACLC,UAAU,yBACVC,IAAI,sBAIT,EClBaC,GAAU3O,IAAA,IAAC,IAAE4O,EAAG,QAAEpK,GAAmBxE,EAAA,OACjD6N,EAAAA,GAAAA,KAAA,OAAKY,UAAW,YAAYG,IAAMxB,SAAE5I,GAAc,EAGtCqK,GAAoBC,IAAA,IAAC,IAAEF,EAAG,QAAEpK,EAAO,OAAEuK,GAAkBD,EAAA,OACnEb,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,OAAKY,UAAW,qBAAqBG,IAAMxB,SAAE5I,KAC7CqJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,SAAE2B,MAC9B,EAeMC,GAAqBC,IAAA,IAAC,IAAEL,EAAG,QAAEpK,GAA8ByK,EAAA,OACvEpB,EAAAA,GAAAA,KAAA,OAAKY,UAAW,wBAAwBG,SAAWxB,SAAE5I,GAAc,EAQvD0K,GAAeC,IAAA,IAAC,IAAEP,EAAG,QAAEpK,GAAwB2K,EAAA,OAE3DtB,EAAAA,GAAAA,KAAA,OAAKY,UAAW,iBAAoB,OAAHG,QAAG,IAAHA,EAAAA,EAAO,KAAKxB,SAAE5I,GAAc,EAQjD4K,GAAkBC,IAAA,IAAC,IAAET,EAAG,QAAEpK,GAA2B6K,EAAA,OACjExB,EAAAA,GAAAA,KAAA,OAAKY,UAAW,oBAAoBG,IAAMxB,SAAE5I,GAAc,EAQ9C8K,GAA0BC,IAAA,IAAC,QACvC/K,EAAO,IACPoK,GAC0BW,EAAA,OAC1BtB,EAAAA,GAAAA,MAAA,OAAKQ,UAAW,YAAYG,IAAMxB,SAAA,EACjCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,UACtCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAEfjK,IACI,ECpCP,SAzBA,SAA+BxE,GAA+C,IAA9C,mBAAEwP,GAAyCxP,EAC1E,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAER8K,EAAcA,KAElB5B,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAASH,EAAmBpC,SAC3B1I,EAAE,cAKN,OACCmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2BAA0BrB,UACxCS,EAAAA,GAAAA,KAACgB,GAAiB,CACjBD,IAAI,OACJG,QAAQlB,EAAAA,GAAAA,KAAC4B,EAAW,IACpBjL,QAASE,EAAE,oBAIf,ECjCO,IAAKkL,GAAe,SAAfA,GAAe,OAAfA,EAAe,cAAfA,EAAe,gCAAfA,EAAe,4CAAfA,EAAe,kCAAfA,EAAe,8BAAfA,EAAe,oBAAfA,EAAe,sBAAfA,EAAe,oBAAfA,EAAe,oBAAfA,EAAe,gBAAfA,EAAe,wBAAfA,EAAe,0CAAfA,EAAe,8CAAfA,EAAe,0DAAfA,EAAe,0CAAfA,EAAe,gDAAfA,EAAe,sDAAfA,EAAe,0CAAfA,EAAe,kBAAfA,EAAe,oDAAfA,EAAe,oCAAfA,EAAe,0DAAfA,EAAe,0CAAfA,EAAe,kDAAfA,EAAe,0DAAfA,EAAe,sBAAfA,EAAe,oEAAfA,EAAe,gEAAfA,EAAe,wDAAfA,EAAe,kEAAfA,EAAe,oDAAfA,EAAe,0BAAfA,EAAe,8CAAfA,EAAe,sDAAfA,CAAe,MA6CfC,GAAM,SAANA,GAAM,OAANA,EAAM,wBAANA,EAAM,kBAANA,EAAM,gBAANA,EAAM,oBAANA,EAAM,wBAANA,EAAM,oBAANA,CAAM,MASNC,GAAQ,SAARA,GAAQ,OAARA,EAAQ,oBAARA,EAAQ,8BAARA,EAAQ,oBAARA,EAAQ,kBAARA,EAAQ,cAARA,CAAQ,M,0BCnDb,SAASC,GAASL,EAAcrL,GAGtC,IAAI2L,EAAc,GAKlB,OAJA3L,EAAKlF,SAASyH,IACboJ,EAAK1Q,KAAKsH,EAAKqJ,SAAS,IAEdD,EAAKxM,QAAQkM,GACV,IAAM,EAPL,UACA,SAOhB,CAWO,SAASQ,KACf,MAAMC,EAAQhI,EAAAA,MAAkBnF,OAAOoF,SAASC,QAKhD,OADAnE,QAAQkM,KAAK,mBAAoBD,GAASA,EAAME,cACzCF,EAAQA,EAAME,aAAe,EACrC,C,0BCvBA,MAAMC,GAAmB,I,QAAIC,GACvBC,GAAc,IAAIC,GAAAA,EAAoB,CAC3CC,OAAQ,CACPC,mBACCla,EAAAA,EAAUka,oBACV,uCACDC,yBAAyB,EACzBC,WAAY,CAACP,OAGfE,GAAYM,kBACZN,GAAYO,gBAEZ,MAAMC,GAAWA,CAACrI,EAAcX,KAC/BwI,GAAYS,WAAW,CACtBtI,KAAMA,EACNX,WAAY,CAAEA,eACb,EAEGkJ,GAAWA,CAACjN,EAAc+D,KAC/BwI,GAAYW,eACX,CACCC,UAAWnN,EACXoN,cAAeC,GAAAA,EAAchN,OAE9B,CAAE0D,cACF,ECzBF,IAAIuJ,GAA2B,CAAC,EAEzB9N,eAAe+N,KACrB,MAAM,aAAEnB,EAAY,WAAEoB,EAAU,QAAEC,SAC1B9E,GAAYa,WAAc,CAAE4C,aAAcH,MAQlD,OAPIG,GAAgBkB,GAAUlB,eAAiBA,IAC9CkB,GAAY,CAAEE,aAAYC,UAASrB,gBACnCG,GAAYS,WAAW,CACtBtI,KAAM,mBACNX,WAAY,CAAEyJ,aAAYC,cAGrB,CACNC,QAAS,CACRC,cAAevB,GAAgB,UAAUA,IACzC,cAAsB,OAAPqB,QAAO,IAAPA,OAAO,EAAPA,EAASG,IACxB,iBAAkBC,KAClBhM,OAAQxE,KAGX,CAEA,MAAMwQ,GAA8BA,IAG5B,GAFmC,aAArBrb,EAAAA,EAAU4V,OAAwB,UAAY,SAE/C5V,EAAAA,EAAUC,YAAYD,EAAAA,EAAU6V,eA2C9C,MAAMyF,GAxBb,WACC,IAAIC,EAAeC,KAAAA,YAAkBC,SAoBrC,MAAO,CAAEC,SAVQA,IACTH,EAAaI,MASFC,iBAhBMA,KACxBL,EAAeC,KAAAA,YAAkBC,QAAQ,EAeLI,OAJrB9N,IACfwN,EAAaM,OAAO9N,EAAQ,EAI9B,CAEgD+N,GCvEnCC,GAAY,CACxBC,UAAW,kBACXC,WAAaC,GACZ,GAAGlc,EAAAA,EAAUoV,mCAAmC8G,GAAM,KACvDC,qBAAsB,GAAGnc,EAAAA,EAAUoV,6CACnCgH,qBAAsB,GAAGpc,EAAAA,EAAUoV,6CACnCiH,oBAAqB,GAAGrc,EAAAA,EAAUoV,4CAClCkH,oBAAqB,GAAGtc,EAAAA,EAAUoV,4CAClCmH,iBAAkB,GAAGvc,EAAAA,EAAUoV,yCAC/BoH,mBAAoB,GAAGxc,EAAAA,EAAUoV,2CACjCqH,kBAAmB,GAAGzc,EAAAA,EAAUoV,0CAChCsH,wBAAyB,GAAG1c,EAAAA,EAAUoV,gDACtCuH,0BAA2B,GAAG3c,EAAAA,EAAUoV,kDACxCwH,qCAAsC,GAAG5c,EAAAA,EAAUoV,8DACnDyH,qBAAsB,GAAG7c,EAAAA,EAAUoV,8CACnC0H,oBAAqB,GAAG9c,EAAAA,EAAUoV,6CAClC2H,mBAAoB,GAAG/c,EAAAA,EAAUoV,4CACjC4H,uBAAwB,GAAGhd,EAAAA,EAAUoV,qDAErC6H,oBAAqB,GAAGjd,EAAAA,EAAUoV,gDAClC8H,gBAAiB,GAAGld,EAAAA,EAAUoV,0DAC9B+H,mBAAoB,GAAGnd,EAAAA,EAAUoV,6DAEjCgI,kBAAmB,GAAGpd,EAAAA,EAAUoV,8CAChCiI,cAAe,GAAGrd,EAAAA,EAAUoV,6CAC5BkI,iBAAkB,GAAGtd,EAAAA,EAAUoV,wDAC/BmI,oBAAqB,GAAGvd,EAAAA,EAAUoV,2DAElCoI,gBAAiB,GAAGxd,EAAAA,EAAUoV,0DAC9BqI,mBAAoB,GAAGzd,EAAAA,EAAUoV,6DAEjCsI,kBAAmB,GAAG1d,EAAAA,EAAUoV,8CAChCuI,cAAe,GAAG3d,EAAAA,EAAUoV,6CAC5BwI,iBAAkB,GAAG5d,EAAAA,EAAUoV,wDAC/ByI,iBAAkB,GAAG7d,EAAAA,EAAUoV,oCAC/B0I,oBAAqB,GAAG9d,EAAAA,EAAUoV,2DAElC2I,aAAc,GAAG/d,EAAAA,EAAUoV,sCAC3B4I,kBAAmBA,CAACC,EAAuBC,IAC1C,GAAGle,EAAAA,EAAUoV,wEAAwE6I,aAAyBC,IAC/GC,gCAAiC,GAAGne,EAAAA,EAAUoe,oEAC9CC,WAAY,GAAGre,EAAAA,EAAUoV,sCACzBkJ,kBAAmBA,CAACC,EAAmBC,IACtC,GAAGxe,EAAAA,EAAUoV,+DAA+DmJ,YAAoBC,IACjGC,cAAeA,CAACF,EAAmBC,IAClC,GAAGxe,EAAAA,EAAUoV,0DAA0DmJ,YAAoBC,IAC5FE,cAAeA,CAACH,EAAmBC,IAClC,GAAGxe,EAAAA,EAAUoV,wDAAwDmJ,YAAoBC,IAC1FG,aAAe1e,GACd,GAAGD,EAAAA,EAAUoe,kDAAkDne,IAChE2e,iBAAmB1C,GAClB,GAAGlc,EAAAA,EAAUoe,8DAA8DlC,IAC5E2C,mBAAoB,GAAG7e,EAAAA,EAAUoe,uCACjCU,UAAW,GAAG9e,EAAAA,EAAUoe,wCACxBW,0BAA4Bd,GAC3B,GAAGje,EAAAA,EAAUoe,gFAAgFH,IAC9Fe,cAAeA,CAACf,EAAuBgB,IACtC,GAAGjf,EAAAA,EAAUoe,qEAAqEH,oBAAgCgB,IACnHC,eAAiBjB,GAChB,GAAGje,EAAAA,EAAUoe,iFAAiFH,IAC/FkB,YAAaA,CAAClB,EAAuBmB,IACpC,GAAGpf,EAAAA,EAAUoe,mFAAmFH,kBAA8BmB,IAC/HC,WAAY,GAAGrf,EAAAA,EAAUoe,mCACzBkB,sBAAuB,GAAGtf,EAAAA,EAAUoe,mCACpCmB,8BAAgCC,GAC/B,GAAGxf,EAAAA,EAAUoe,4DAA4DoB,IAC1EC,gBAAiB,GAAGzf,EAAAA,EAAUoe,2CAC9BsB,kBAAmB,GAAG1f,EAAAA,EAAUoe,8CAChCuB,mBAAoB,GAAG3f,EAAAA,EAAUoe,2CACjCwB,qBAAsB,GAAG5f,EAAAA,EAAUoe,8CACnCyB,mBAAoB,GAAG7f,EAAAA,EAAUoe,2CACjC0B,qBAAsB,GAAG9f,EAAAA,EAAUoe,8CACnC2B,UAAW,GAAG/f,EAAAA,EAAUoe,oDACxB4B,UAAW,GAAGhgB,EAAAA,EAAUoe,oDACxB6B,iBAAkB,GAAGjgB,EAAAA,EAAUoe,oDAC/B8B,cAAe,GAAGlgB,EAAAA,EAAUoe,wDAC5B+B,OAAQA,CAAClgB,EAAiBmgB,EAA0B9W,IACnD,GAAGtJ,EAAAA,EAAUoe,uDAAuDne,iBAAuBmgB,oBAA8B9W,IAC1H+W,6BAA8B,GAAGrgB,EAAAA,EAAUoe,oEAC3CkC,eAAgB,GAAGtgB,EAAAA,EAAUoe,yDAC7BmC,qBAAuBtC,GACtB,GAAGje,EAAAA,EAAUoe,oFAAoFH,IAClGuC,wBAA0BC,GACzB,GAAGzgB,EAAAA,EAAUoe,oFAAoFqC,IAClGC,uBAAwB,GAAG1gB,EAAAA,EAAUoe,iEACrCuC,QAAS,GAAG3gB,EAAAA,EAAUoe,kDACtBwC,eAAgB,GAAG5gB,EAAAA,EAAUoe,yDAC7ByC,sBAAuB,GAAG7gB,EAAAA,EAAUoe,0DACpC0C,sBAAuB,GAAG9gB,EAAAA,EAAUoe,0DACpC2C,aAAc,GAAG/gB,EAAAA,EAAUoe,qDAC3B4C,gBAAkB/gB,GACjB,GAAGD,EAAAA,EAAUoe,+CAA+Cne,IAC7DghB,YAAcC,GACb,GAAGlhB,EAAAA,EAAUoe,iDAAiD8C,IAC/DC,iBAAmBD,GAClB,GAAGlhB,EAAAA,EAAUoe,oDAAoD8C,IAClEE,cAAgBF,GACf,GAAGlhB,EAAAA,EAAUoe,mDAAmD8C,IACjEG,sBAAwBC,GACvB,GAAGthB,EAAAA,EAAUoe,uEAAuEkD,IACrFC,kBAAmB,GAAGvhB,EAAAA,EAAUoe,0DAChCoD,0BAA2B,GAAGxhB,EAAAA,EAAUyhB,sDACxCC,oBAAqB,GAAG1hB,EAAAA,EAAUyhB,gDAClCE,6BAA8B,GAAG3hB,EAAAA,EAAUoe,iEAC3CwD,gCAAiC,GAAG5hB,EAAAA,EAAUoe,2EAC3CyD,iCAAkC,GAAG7hB,EAAAA,EAAUoe,4EAC/C0D,kBAAmB,GAAG9hB,EAAAA,EAAUoe,4DAChC2D,2BAA4B,GAAG/hB,EAAAA,EAAUoe,sEACzC4D,4BAA6B,GAAGhiB,EAAAA,EAAUoe,uEAC7C6D,mBAAoB,GAAGjiB,EAAAA,EAAUoe,6DACjC8D,4BAA6B,GAAGliB,EAAAA,EAAUoe,sEAC1C+D,WAAY,GAAGniB,EAAAA,EAAUyhB,kDACzBW,eAAgB,GAAGpiB,EAAAA,EAAUyhB,kDAC7BY,gBAAiB,GAAGriB,EAAAA,EAAUyhB,mDAC9Ba,kBAAmB,GAAGtiB,EAAAA,EAAUoe,4DAChCmE,iBAAmBtiB,GAClB,GAAGD,EAAAA,EAAUoe,0DAA0Dne,IACxEuiB,qBAAuBC,GACtB,GAAGziB,EAAAA,EAAUoe,8DAA8DqE,IAC5EC,2BAA4B,GAAG1iB,EAAAA,EAAUoe,gEACzCuE,uBAAyBC,GACxB,GAAG5iB,EAAAA,EAAUoe,gEAAgEwE,IAC9EC,kBAAmB,GAAG7iB,EAAAA,EAAUoV,0CAChC0N,oBAAqB,GAAG9iB,EAAAA,EAAUoV,6CCzF7B2N,GAA2BC,KAAAA,OAAa,CAAC,GACzCC,GAAoB,CAAC,KAAM,MAAMxa,SAASzI,EAAAA,EAAUC,SAE1D8iB,GAAyBG,aAAaC,QAAQna,KAAIgE,UACjDiN,EAAOiB,QAAQ,yBAA2BjO,IACnCgN,KAQR,MAAMmJ,GAAyB,CAU9B,iBAAMC,CAAYC,EAAqBrV,GACtC,IAmCC,OAlCA4G,eAAe0O,WAAW5Y,EAAWmK,cACrCD,eAAe0O,WAAW5Y,EAAWiK,oBAChBmO,GACnBS,IACAzH,GAAU4C,aAAa2E,SACjBvI,MAEN0I,MAAMC,IACN,GAAIA,EAAO9V,KAAK+V,SAYf,OAXA9O,eAAe+O,QACdjZ,EAAWiK,aACXiP,KAAKC,UAAUJ,EAAO9V,KAAK+V,WAE5B9O,eAAe+O,QACdjZ,EAAWoZ,aACXF,KAAKC,UACJJ,EAAO9V,KAAK+V,SAASK,aAAaC,YAGpCpP,eAAe+O,QAAQjZ,EAAWmK,aAAc,QACzC4O,EAAO9V,KAAKsW,KACpB,IAEAC,OAAOC,IAEP,GADA3J,GAAS2J,GACLA,EAAIzW,SAAU,CACjB,GAA4B,MAAxByW,EAAIzW,SAASG,OAChB,MAAO,GACR,MAAM,IAAID,MAAMI,EAAE,iBACnB,CAEC,MADAR,QAAQ4W,IAAID,GACN,IAAIvW,MAAMI,EAAE,iBACnB,GAGH,CAAE,MAAOmW,GAER,MADA3J,GAAS2J,GACHA,CACP,CACD,EASA,qBAAM3E,CAAgBxR,GACrB,IACC4G,eAAe0O,WAAW5Y,EAAWoK,iBACrCF,eAAe0O,WAAW5Y,EAAWqK,qBAkCrC,aAjCmB+N,GACjBS,IACAP,GACGlH,GAAU2D,kBACV3D,GAAU0D,sBACP1E,MAEN0I,MAAM9V,IACFA,EAASC,KAAK+V,WACjB9O,eAAe+O,QACdjZ,EAAWqK,oBACX6O,KAAKC,UAAUnW,EAASC,KAAK+V,WAE9B9O,eAAe+O,QACdjZ,EAAWoZ,aACXF,KAAKC,UACJnW,EAASC,KAAK+V,SAASK,aAAaC,aAIvCpP,eAAe+O,QAAQjZ,EAAWoK,gBAAiB,QAC5CpH,EAASC,KAAK0W,mBAErBH,OAAOC,IAEP,GADA3J,GAAS2J,GACLA,EAAIzW,SAAU,CACjB,GAA4B,MAAxByW,EAAIzW,SAASG,OAAgB,MAAO,GACxC,MAAM,IAAID,MAAMI,EAAE,oBACnB,CAEC,MADAR,QAAQ4W,IAAID,GACN,IAAIvW,MAAMI,EAAE,oBACnB,GAGH,CAAE,MAAOmW,GAGR,MAFA3J,GAAS2J,GACT3W,QAAQ4W,IAAID,GACNA,CACP,CACD,EAQA,wBAAMzE,GACL,IACC,MAAM/R,QAAamV,GAAyBS,IAC3CP,GACGlH,GAAU6D,qBACV7D,GAAU4D,yBACP5E,MAEHnN,GACHiH,eAAe+O,QACdlP,KACAmP,KAAKC,UAAUlW,GAGlB,CAAE,MAAOwW,GAGR,MAFA3J,GAAS2J,GACT3W,QAAQ4W,IAAID,GACNA,CACP,CACD,EAWA,2BAAMG,CAAsBC,EAAiCvW,GAC5D,IACC,IAAIL,EACJ,GAAIiH,eAAenL,QAAQiB,EAAWoK,iBAAkB,CACvD,IAAI0P,QAAoB1B,GAAyB2B,KAChDzB,GACGlH,GAAU+D,qBACV/D,GAAU8D,mBACb2E,QACMzJ,MAGoB,MAAvB0J,EAAY3W,SACf+G,eAAe+O,QACdlP,KACAmP,KAAKC,UAAUU,IAEhB5W,EAAO6W,EAET,CAEA,GAAI5P,eAAenL,QAAQiB,EAAWmK,cAAe,CACpD,IAAI6P,QAAiB5B,GAAyB2B,KAC7C3I,GAAU8C,mBACV2F,QACMzJ,MAGiB,MAApB4J,EAAS7W,SACZ+G,eAAe+O,QACdlP,KACAmP,KAAKC,UAAUU,IAGhB5W,EAAO+W,EAET,CAEA,GAAG/W,EACF,OAAOA,EAER,MAAM,IAAIC,MAAMI,EAAE,6BACnB,CAAE,MAAOK,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMI,EAAE,6BACnB,CACD,EAWA,uBAAM2W,CAAkBC,EAAyB5W,GAChDR,QAAQ4W,IAAI,MAAQQ,GACpB,MAAMhT,EAAMkK,GAAU6C,iBAAiBiG,GACvC,IAqCC,aApCmB9B,GACjBS,IAAS3R,EAAK,UACJkJ,KACV+J,aAAc,SAEdrB,MAAM9V,IAENF,QAAQ4W,IAAI1W,GACLA,EAASC,QAEhBuW,OAAO3W,IAuBP,MArBIA,EAAMG,UAKTF,QAAQ4W,IAAI7W,EAAMG,SAASC,MAC3BH,QAAQ4W,IAAI7W,EAAMG,SAASG,QAC3BL,QAAQ4W,IAAI7W,EAAMG,SAASuN,UACjB1N,EAAM2V,QAMhB1V,QAAQ4W,IAAI7W,EAAM2V,SAGlB1V,QAAQ4W,IAAI,QAAS7W,EAAMO,SAE5BN,QAAQ4W,IAAI7W,EAAMyM,QAEZ,IAAIpM,MAAMI,EAAE,wBAAwB,GAI7C,CAAE,MAAOK,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMI,EAAE,wBACnB,CACD,EAaA,iBAAMkR,CAAYjD,EAAYkD,EAA6BnR,GAC1D,IAcC,aAbuB8U,GACrBS,IAASzH,GAAUoD,YAAYjD,EAAIkD,GAAe,UACxCrE,KACV+J,aAAc,SAEdrB,MAAM9V,IAAQ,CACdsE,KAAMtE,EAASC,KACfmX,SAAUpX,EAASuN,QAAQ,qBAE3BiJ,OAAO3W,IAEP,MADAC,QAAQ4W,IAAI7W,EAAMyM,QACZ,IAAIpM,MAAMI,EAAE,wBAAwB,GAG7C,CAAE,MAAOK,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMI,EAAE,wBACnB,CACD,EAWA,+BAAM+W,CAA0B/G,EAAuBhQ,GACtD,IACC,MAAMN,QACCoV,GAAyBS,IAC9BzH,GAAUgD,0BAA0Bd,SAC9BlD,MAER,GAAwB,MAApBpN,EAASG,QACRH,EAASC,KAQZ,OAAOD,EAASC,KAGlB,MAAM,IAAIC,MAAMI,EAAE,+BACnB,CAAE,MAAOT,GAGR,GAFAiN,GAASjN,GACTC,QAAQ4W,IAAI7W,GACkB,MAA1BA,EAAMG,SAASG,OAClB,MAAM,IAAID,MAAMI,EAAE,kCACnB,MAAM,IAAIJ,MAAMI,EAAE,+BACnB,CACD,EAYA,oBAAMgX,CACLhH,EACAgB,EACAhR,GAEA,IACC,MAAMN,QACCoV,GAAyBS,IAC9BzH,GAAUiD,cAAcf,EAAegB,SACjClE,MAGR,GAAwB,MAApBpN,EAASG,OAAgB,CAC5B,GAAIH,EAASC,KAAM,OAAOD,EAASC,KAC9B,MAAM,IAAIC,MAAMI,EAAE,sBACxB,CAEA,MAAM,IAAIJ,MAAMI,EAAE,oBACnB,CAAE,MAAOT,GAGR,MAFAiN,GAASjN,GACTC,QAAQ4W,IAAI7W,GACNA,CACP,CACD,EAWA,oBAAM0X,CACLC,EACAlH,EACAhQ,GAEAR,QAAQ4W,IAAIc,GACZ,IAEIjK,EAAU,CACbA,QAAS,CACRC,qBAJeJ,MAIKG,QAAQC,cAC5B,eAAgB,qBAQlB,GAAwB,aALD4H,GAAyB2B,KAC/C3I,GAAUmD,eAAejB,GACzBkH,EACAjK,IAEYpN,OACZ,MAAM,IAAID,MAAMI,EAAE,uBAEpB,EAWA,0BAAMsS,CAAqBtC,EAAuBhQ,GACjD,IAuBC,aAtBqB8U,GACnBS,IACAzH,GAAUwE,qBAAqBtC,SACzBlD,MAEN0I,MAAM9V,GACCA,EAASC,KAAKwX,YAErBjB,OAAO3W,IAYP,MAXIA,EAAMG,UACTF,QAAQ4W,IAAI7W,EAAMG,SAASC,MAC3BH,QAAQ4W,IAAI7W,EAAMG,SAASG,QAC3BL,QAAQ4W,IAAI7W,EAAMG,SAASuN,UACjB1N,EAAM2V,QAChB1V,QAAQ4W,IAAI7W,EAAM2V,SAElB1V,QAAQ4W,IAAI,QAAS7W,EAAMO,SAE5BN,QAAQ4W,IAAI7W,EAAMyM,QAEZ,IAAIpM,MAAMI,EAAE,wBAAwB,GAG7C,CAAE,MAAOK,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMI,EAAE,wBACnB,CACD,EAUA,6BAAMuS,CAAwBC,GAC7B,IAaC,aAZuBsC,GACrBS,IAASzH,GAAUyE,wBAAwBC,GAAa,UAC9C1F,KACV+J,aAAc,SAEdrB,MAAM9V,IAAQ,CACdsE,KAAMtE,EAASC,SAEfuW,OAAO3W,IAEP,MADAC,QAAQ4W,IAAI7W,EAAMyM,QACZ,IAAIpM,MAAML,EAAM,GAGzB,CAAE,MAAOc,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMS,EACjB,CACD,EAWA,gBAAM+Q,CAAWpR,GAChB,IAgCC,aA/BmB+U,KAAAA,IAClBjH,GAAUsD,iBACJtE,MAEL0I,MAAM9V,IACkB,MAApBA,EAASG,QAGX,MADA+G,eAAenL,QAAQiB,EAAW0a,aAGlCxQ,eAAe+O,QACdjZ,EAAW0a,WACXxB,KAAKC,UAAUnW,EAASC,KAAK0X,cAIzB3X,EAASC,QAEhBuW,OAAO3W,IACP,IAAIA,EAAMG,SAST,MAFA8M,GAASjN,GACTC,QAAQ4W,IAAI7W,GACN,IAAIK,MAAMI,EAAE,aARlB4G,eAAe+O,QACdjZ,EAAW0a,WACXxB,KAAKC,WAAU,GAOjB,GAGH,CAAE,MAAOM,GAER,MADA3J,GAAS2J,GACHA,CACP,CACD,EAWA,8BAAMmB,CAAyBtX,EAAcuX,GAC5C,IAgCC,aA/BmBxC,KAAAA,IAClB,GAAGjH,GAAUsD,cAAcmG,UACrBzK,MAEL0I,MAAM9V,IACkB,MAApBA,EAASG,QAGX,MADA+G,eAAenL,QAAQiB,EAAW0a,aAGlCxQ,eAAe+O,QACdjZ,EAAW0a,WACXxB,KAAKC,UAAUnW,EAASC,KAAK0X,cAIzB3X,EAASC,QAEhBuW,OAAO3W,IACP,IAAIA,EAAMG,SAST,MAFA8M,GAASjN,GACTC,QAAQ4W,IAAI7W,GACN,IAAIK,MAAMI,EAAE,aARlB4G,eAAe+O,QACdjZ,EAAW0a,WACXxB,KAAKC,WAAU,GAOjB,GAGH,CAAE,MAAOM,GAER,MADA3J,GAAS2J,GACHA,CACP,CACD,EAWA,2BAAM9E,CAAsBmG,GAC3B,IAMC,GAAoB,aALDzC,KAAAA,KAClBjH,GAAUuD,sBACVmG,QACM1K,OAEEjN,OAER,YADA+G,eAAe+O,QAAQjZ,EAAW0a,WAAY,SAG/C,MAAM,IAAIxX,MACT,8EAEF,CAAE,MAAOL,GAER,MADAiN,GAASjN,GACHA,CACP,CACD,EAYA,eAAMuS,CAAU2F,EAAmBzX,GAElC,GAAKyX,EAAQC,KAA6B,OAAtB3lB,EAAAA,EAAUC,QAC9B,IACC,MAAM2N,QAAamV,GAAyB2B,KAC3C3I,GAAUgE,UACV2F,QACM3K,MAEP,GAAoB,MAAhBnN,EAAKE,OAAgB,OAAOF,EAAKE,OACrC,MAAM,IAAID,MAAMI,EAAE,YACnB,CAAE,MAAOT,GAER,MADAC,QAAQ4W,IAAI7W,GACN,IAAIK,MAAMI,EAAE,YACnB,CACD,EAYA,eAAM+R,CAAU4F,EAAmB3X,GAClC,IAMC,GAAoB,aALD8U,GAAyB2B,KAC3C3I,GAAUiE,UACV4F,QACM7K,OAEEjN,OAAgB,OACzB,MAAM,IAAID,MAAMI,EAAE,YACnB,CAAE,MAAOT,GAER,MADAC,QAAQ4W,IAAI7W,GACN,IAAIK,MAAMI,EAAE,YACnB,CACD,EAYA,sBAAMgS,CACL4F,EACA5X,GAEA,GAAK4X,EACL,IAMC,GAAoB,aALD9C,GAAyB2B,KAC3C3I,GAAUkE,iBACV4F,QACM9K,OAEEjN,OAAgB,OACzB,MAAM,IAAID,MAAMI,EAAE,2BACnB,CAAE,MAAOT,GACR,MAAM,IAAIK,MAAMI,EAAE,2BACnB,CACD,EAYA,mBAAMiS,CAAc4F,EAAmC7X,GACtD,GAAK6X,EACL,IAMC,GAAoB,aALD/C,GAAyB2B,KAC3C3I,GAAUmE,cACV4F,QACM/K,OAEEjN,OAAgB,OACzB,MAAM,IAAID,MAAMI,EAAE,2BACnB,CAAE,MAAOT,GACR,MAAM,IAAIK,MAAMI,EAAE,2BACnB,CACD,EAcA,YAAMkS,CACLlgB,EACAmgB,EACA9W,EACA2E,GAEA,IACC,MAAML,QAAaoV,KAAAA,IAClBjH,GAAUoE,OAAOlgB,EAASmgB,EAAa9W,SACjCyR,MAEP,GAAoB,MAAhBnN,EAAKE,OAAgB,CACxB,GAAyB,IAArBF,EAAKA,KAAKsB,OAAc,OAAOtB,EAAKA,KACnC,MAAM,IAAIC,MAAMI,EAAE,YACxB,CACD,CAAE,MAAOT,GACR,MAAM,IAAIK,MAAML,EAAMO,QACvB,CACD,EAYA,oBAAMuS,CAAeyF,EAA2B9X,GAC/C,IACC,IAAIL,QAAamV,GAAyB2B,KACzC3I,GAAUuE,eACVyF,QACMhL,MAGP,GAAoB,MAAhBnN,EAAKE,OACR,OAAOF,EAAKE,OAEb,MAAM,IAAID,MAAMI,EAAE,YACnB,CAAE,MAAOK,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMS,EAAEP,QACnB,CACD,EAYA,2BAAMiY,CACLC,EACAhY,GAEA,IACC,IAAIL,QAAamV,GAAyB2B,KACzC3I,GAAU2E,uBACVuF,QACMlL,MAGP,GAAoB,MAAhBnN,EAAKE,OACR,OAAOF,EAAKE,OAEb,MAAM,IAAID,MAAMI,EAAE,YACnB,CAAE,MAAOK,GAGR,MAFAmM,GAASnM,GACTb,QAAQ4W,IAAI/V,GACN,IAAIT,MAAMS,EAAEP,QACnB,CACD,EAWG,mCAAMwR,CAA8BC,GACrC,IACC,MAAM5R,QAAamV,GAAyB2B,KAC3C3I,GAAUwD,8BAA8BC,SAClCzE,MAEP,GAAoB,MAAhBnN,EAAKE,OAEP,OAAOF,EAAKA,IAGf,CAAE,MAAOJ,GACRC,QAAQ4W,IAAI7W,EACb,CACF,EAYA,aAAMmT,CAAQ1C,EAAuBhQ,GACpC,IACC,MAAML,QAAamV,GAAyB2B,KAC3C3I,GAAU4E,QACV,CAAE1C,cAAeA,SACXlD,MAGP,GAAoB,MAAhBnN,EAAKE,OAAgB,OAAOF,EAAKE,OACrC,MAAM,IAAID,MAAMI,EAAE,YACnB,CAAE,MAAOT,GAER,MADAC,QAAQ4W,IAAI7W,GACN,IAAIK,MAAMI,EAAE,YACnB,CACD,EASA,kCAAMoS,GACL,MAAMnF,QAAgBH,KAChB1L,EACLxH,EAAY7H,EAAAA,EAAUC,SAEvB,UACO8iB,GAAyB2B,KAC9B3I,GAAUsE,6BACV,CAAE6F,IAAKhL,EAAQA,QAAQ,eAAgB7L,UACvC6L,EAEF,CAAE,MAAO1N,GACR,MAAM,IAAIK,MAAML,EACjB,CACD,GAGD,M,eC32Be,ICyBA,ICzDR,IAAK2Y,GAAU,SAAVA,GAAU,OAAVA,EAAAA,EAAU,aAAVA,EAAAA,EAAU,eAAVA,EAAAA,EAAU,eAAVA,CAAU,MAYP,SAASC,GAAa7c,GAIzB,IAJ0B,QACrC8c,EAAO,SACPC,EAAQ,eACRC,EAAiBJ,GAAWK,MACpBjd,EACR,MAAOkd,EAAaC,IAAkB9P,EAAAA,EAAAA,UAAqB2P,GAgB3D,OAJAI,EAAAA,EAAAA,YAAU,KACTD,EAAeH,EAAe,GAC5B,CAACA,KAGH/O,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iDAAgDrB,SAAA,EAC9DS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf1N,QAASA,KAhBXwN,EAAeP,GAAWU,UAC1BR,KAgBES,KAAK,UACL9O,UACC,aACCyO,IAAgBN,GAAWU,IAAM,SAAW,OAG/CzP,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf1N,QAASA,KAnBXwN,EAAeP,GAAWY,WAC1BT,KAmBEQ,KAAK,YACL9O,UACC,eACCyO,IAAgBN,GAAWY,KAAO,SAAW,QAKnD,CCpDA,MAaA,GAboCC,IACnC,MAAO7iB,EAAO8iB,IAAYrQ,EAAAA,EAAAA,UACzB/B,eAAenL,QAAQsd,IAAsB,IAQ9C,OALAL,EAAAA,EAAAA,YAAU,KACT9R,eAAe+O,QAAQoD,EAAmB7iB,EAAM,GAE9C,CAACA,IAEG,CAACA,EAAO8iB,EAAS,ECVzB,MAEMC,GAAS,I,QAAIC,GAFMvd,oJAInBwd,GAAqD,CAC1Dtc,GAAI,GACJE,GAAI,GACJD,GAAI,GACJE,GAAI,CAAC,oBAAqB,eAAgB,kBAC1CC,GAAI,CAAC,oBAAqB,eAAgB,kBAC1CI,GAAI,CAAC,eAAgB,kBACrBC,GAAI,CAAC,eAAgB,kBACrBC,GAAI,CAAC,eAAgB,mBAGtB,SAAS6b,GAAwBpnB,GAChC,OAAGmnB,GAAqBnnB,GAChBmnB,GAAqBnnB,GAErB,EACT,CAQA,MAsGA,GAtGwB,CAQvB,6BAAMqnB,CAAwBvY,EAAa5K,EAAesK,SACnDyY,GACJI,wBAAwB,CACxBvY,IAAKA,EACL5K,MAAOA,EACPsK,MAAY,OAALA,QAAK,IAALA,EAAAA,EAASzO,EAAAA,EAAUC,UAE1BkkB,OAAO3W,IACPC,QAAQ4W,IAAI,qBAAsB7W,EAAM,GAE3C,EASA,gCAAM+Z,CACLxY,EACA5K,EACAsK,SAEMyY,GACJM,wBAAwB,CACxBzY,IAAKA,EACL5K,MAAOA,EACPsK,MAAY,OAALA,QAAK,IAALA,EAAAA,EAASzO,EAAAA,EAAUC,UAE1BkkB,OAAO3W,IACPC,QAAQ4W,IAAI,uBAAwB7W,EAAM,GAE7C,EAQA,6BAAMia,CAAwB1Y,EAAaN,GAA6D,IAA7CiZ,EAAkBhX,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,EAC/E,IACC,IAAIiX,EAAWT,GAAOU,0BAA0B,CAC/CC,UAAW9Y,EACX+Y,YAAkB,OAALrZ,QAAK,IAALA,EAAAA,EAASzO,EAAAA,EAAUC,QAChC8nB,OAAQ,CAAC,MAAO,WAGbC,EAAoB,GACxB,UAAW,MAAMC,KAAWN,EAC3Bla,QAAQ4W,IAAI,UAAW4D,GACD,SAAlBA,EAAQ9jB,OAAkB6jB,EAAQnf,KAAKof,EAAQlZ,KAEpD,OAAOiZ,CACR,CAAE,MAAO5D,GACR,OAAIA,EAAIzW,UAAoC,MAAxByW,EAAIzW,SAASG,QAChCL,QAAQ4W,IACP,8EAEMgD,GAAwBrnB,EAAAA,EAAUC,WAE1CwN,QAAQ4W,IAAI,mCAAoCqD,GAChDja,QAAQ4W,IAAI,uCAAwCD,GACpD3J,GAAS2J,GACLsD,EAAa,QACHQ,KAAKT,wBACjB1Y,EACAN,EACAiZ,EAAa,GAGRL,GAAwBrnB,EAAAA,EAAUC,SAC1C,CACD,EAQA,iCAAMkoB,CAA4BpZ,EAAaN,SACxCyY,GACJkB,2BAA2B,CAC3BrZ,IAAKA,EACLN,MAAY,OAALA,QAAK,IAALA,EAAAA,EAASzO,EAAAA,EAAUC,UAE1BkkB,OAAO3W,IACPC,QAAQ4W,IAAI,yBAA0B7W,EAAM,GAE/C,GClHK6a,IACL/R,EAAAA,EAAAA,eAAiC,CAChCgS,OAAQ,GACRC,OAAO,IAGF,SAASC,GAAyBjf,GAEb,IAFc,SACzCoN,GACwBpN,EACxB,MAAM,gBAAEgN,IAAoBgB,EAAAA,EAAAA,YAAWlB,KAChCiS,EAAQG,IAAa7R,EAAAA,EAAAA,UAAmB,KACxC2R,EAAOG,IAAiB9R,EAAAA,EAAAA,WAAS,GAElC+R,GAAYC,EAAAA,EAAAA,cAAY5b,gBACvB6b,GACJpB,wBAAwB,aACxBhE,MAAM7V,IACN6a,EAAU7a,GACV8a,GAAc,EAAK,GAClB,GACD,IAUH,OARA/B,EAAAA,EAAAA,YAAU,MAEe,IAApBpQ,GACHoS,IAEM,SACL,CAACA,EAAWpS,KAGda,EAAAA,GAAAA,KAACiR,GAAiBhR,SAAQ,CAAClT,MAAO,CAAEmkB,SAAQC,SAAQ5R,SAClDA,GAGJ,CAEA,YChDO,SAASmS,GAAavf,GAAiC,IAAhC,UAAEyO,GAA2BzO,EAC1D,OACC6N,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,iBAAiBlE,UAAWA,GAAwB,IAE9D,CAGO,SAAS+Q,KACf,OAAO3R,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,mBAChB,CC2BA,SApCA,SAAgB3S,GAAoB,IAAnB,KAAE4G,GAAc5G,EAChC,MAAOyf,EAAaC,IAAkBrS,EAAAA,EAAAA,WAAS,GAEzCsS,GAAOC,EAAAA,EAAAA,UAEPC,EAAe9a,IAAY,IAAD+a,EACf,QAAhBA,EAAIH,EAAKI,eAAO,IAAAD,GAAZA,EAAcE,SAASjb,EAAEkb,SAG7BP,GAAe,EAAM,EAStB,OANAtC,EAAAA,EAAAA,YAAU,KACTtc,SAASof,iBAAiB,YAAaL,GAChC,KACN/e,SAASqf,oBAAoB,YAAaN,EAAY,MAIvDhS,EAAAA,GAAAA,KAAA,OACCuS,IAAKT,EACLhQ,QAASA,IAAM+P,GAAgBD,GAC/BhR,UAAU,oCAAmCrB,SAC5CqS,IACA5R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCa,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,iBAAgBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eACV,OAAJ7H,QAAI,IAAJA,OAAI,EAAJA,EAAMyZ,KACF,OAAJzZ,QAAI,IAAJA,OAAI,EAAJA,EAAMhM,YAMb,E,2CCpBa0lB,GAAmBtgB,IAKX,IALY,UAChCugB,EAAS,YACTC,EAAW,aACXC,EAAY,cACZC,GACc1gB,EACd,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACPgc,EAAMC,GAAWrT,EAAAA,SAAsB,CAC7CsT,QAASH,EACTI,QAAS,IAyBV,SAASC,IACRH,GAASI,IAAI,IACTA,EACHH,QAASH,MAEV5f,SAASmgB,MAAQvc,EAAE,SACnB8b,GACD,CAEA,OA/BApD,EAAAA,EAAAA,YAAU,KACT,MAAM8D,EAAWC,aAAY,KACxBZ,IACCI,EAAKE,QAAU,EAClB/f,SAASmgB,MAAQvc,EAAE,eAEnB5D,SAASmgB,MAAQvc,EAAE,SAGhBic,EAAKE,QAAU,EAClBD,GAASI,IAAI,IACTA,EACHH,QAASF,EAAKE,QAAU,MAGzBJ,IAEF,GACE,KACH,MAAO,IAAMW,cAAcF,EAAS,KAapCjT,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CACLC,KAAMf,EACNgB,OAAQR,EACRS,WAAW,EACXC,UAAQ,EACRhT,UAAW,GAAGhY,EAAAA,EAAUC,4BACxBgrB,SAAS,SAAQtU,SAAA,EACjBS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMM,OAAM,CAACC,aAAW,EAAAxU,UACxBS,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,I,6uLACAE,UAAU,sBACVC,IAAI,cAIPb,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,UACVa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,wFAAuFrB,SAAA,EACrGS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,gBAAiB,CAAEic,YAC3B9S,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAAmCrB,UACjDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAIlBR,EAAAA,GAAAA,MAACoT,GAAAA,EAAMU,OAAM,CAACtT,UAAU,iCAAgCrB,SAAA,EACvDS,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CAACC,QAAQ,YAAYtS,QAAS8Q,EAAarT,SAChD1I,EAAE,aAEJmJ,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CAACC,QAAQ,UAAUtS,QAASoR,EAA2B3T,SAC5D1I,EAAE,qBAGE,EChGH,IAAKwd,GAAY,SAAZA,GAAY,OAAZA,EAAY,0BAAZA,EAAY,oBAAZA,EAAY,oBAAZA,EAAY,gDAAZA,EAAY,0BAAZA,EAAY,sCAAZA,EAAY,wDAAZA,EAAY,gCAAZA,EAAY,kCAAZA,CAAY,MCAZC,GAAa,SAAbA,GAAa,OAAbA,EAAa,cAAbA,EAAa,4CAAbA,EAAa,gBAAbA,EAAa,sBAAbA,EAAa,8BAAbA,EAAa,8CAAbA,EAAa,gCAAbA,EAAa,8BAAbA,EAAa,kBAAbA,EAAa,oBAAbA,EAAa,0BAAbA,EAAa,oCAAbA,EAAa,8BAAbA,EAAa,gDAAbA,EAAa,0CAAbA,EAAa,4BAAbA,EAAa,0CAAbA,EAAa,0BAAbA,EAAa,sCAAbA,EAAa,gCAAbA,EAAa,oBAAbA,EAAa,kBAAbA,EAAa,4BAAbA,EAAa,kCAAbA,EAAa,kDAAbA,EAAa,kBAAbA,CAAa,MCAbC,GAAQ,SAARA,GAAQ,OAARA,EAAQ,0BAARA,EAAQ,wBAARA,EAAQ,cAARA,EAAQ,YAARA,EAAQ,sBAARA,EAAQ,kBAARA,EAAQ,kCAARA,EAAQ,4BAARA,EAAQ,gCAARA,CAAQ,MAYRC,GAAY,SAAZA,GAAY,OAAZA,EAAY,kCAAZA,EAAY,gCAAZA,EAAY,0CAAZA,EAAY,gDAAZA,CAAY,MAOZC,GAAW,SAAXA,GAAW,OAAXA,EAAW,sBAAXA,EAAW,0BAAXA,EAAW,sBAAXA,EAAW,0BAAXA,EAAW,0BAAXA,EAAW,sBAAXA,EAAW,0BAAXA,EAAW,gCAAXA,EAAW,8BAAXA,EAAW,4CAAXA,EAAW,gCAAXA,EAAW,0BAAXA,EAAW,wBAAXA,EAAW,wBAAXA,EAAW,0BAAXA,EAAW,0BAAXA,EAAW,0BAAXA,EAAW,gCAAXA,EAAW,wBAAXA,EAAW,8BAAXA,EAAW,8BAAXA,EAAW,oBAAXA,EAAW,oBAAXA,EAAW,oBAAXA,EAAW,oBAAXA,EAAW,0BAAXA,EAAW,gCAAXA,EAAW,8BAAXA,EAAW,8BAAXA,EAAW,kCAAXA,EAAW,kCAAXA,EAAW,kCAAXA,EAAW,0BAAXA,EAAW,0BAAXA,EAAW,8BAAXA,EAAW,oBAAXA,EAAW,0BAAXA,EAAW,8BAAXA,EAAW,4BAAXA,EAAW,0BAAXA,EAAW,oCAAXA,EAAW,gCAAXA,EAAW,kCAAXA,CAAW,MA8CXC,GAAkB,SAAlBA,GAAkB,OAAlBA,EAAkB,sEAAlBA,EAAkB,kEAAlBA,EAAkB,4CAAlBA,EAAkB,gCAAlBA,EAAkB,4BAAlBA,EAAkB,kEAAlBA,EAAkB,8DAAlBA,EAAkB,kBAAlBA,EAAkB,4EAAlBA,EAAkB,wDAAlBA,EAAkB,kCAAlBA,EAAkB,qFAAlBA,EAAkB,8EAAlBA,CAAkB,M,QCwEnBzS,GAAS0S,SAOF5S,GAAgB6S,qBASxBprB,EAAOqrB,OACAzrB,EAAcyG,QACZc,EAAgBmkB,GACpBjkB,EAAakkB,GACVlkB,EAAakkB,GAKrBN,GAAYO,YAIXhT,GAAOiT,WAKPjT,GAAOkT,QAKPlT,GAAOiT,WAKPjT,GAAOkT,QA2BIrkB,EAAakkB,GAQ3B1rB,EAAkBiH,MAKV7G,EAAY0rB,iBAUVlsB,EAAe+B,aAGbzB,EAAiBkF,eACxBnF,EAAU8E,iBAtGhB,MC3GMgnB,GAMDC,IACVA,GAAUlC,IAAS,IACfA,EACHmC,YAAY,KACV,EAVQF,GAkBDC,IACVhf,QAAQ4W,IAAI,kBACZoI,GAAUlC,IAAS,IACfA,EACHmC,YAAY,KACV,EAvBQF,GAgCJG,CAACF,EAAeG,KAClBA,EAAMF,WAQVD,GAAUlC,IAAS,IACfA,EACHT,WAAW,MATZ2C,GAAUlC,IAAS,IACfA,EACHT,WAAW,EACX4C,YAAY,KAQd,EA7CWF,GAsDCzC,CAAC8C,EAAgBJ,KAC7BA,GAAUlC,IAAS,IACfA,EACHT,WAAW,EACX4C,YAAY,MAEbjf,QAAQ4W,IAAI,uBACZwI,EAAUvD,QAAQwD,OAAO,EA7DdN,GAsEExC,CAAC+C,EAAeN,KAC7BA,GAAUlC,IAAS,IACfA,EACHT,WAAW,MAEZiD,EAAU,WACVtf,QAAQ4W,IAAI,uBAAuB,ECpG9B,MAAM2I,GAWE,gBAIFjR,IAgBO/b,EAAAA,EAAUoe,oBAWbpe,EAAAA,EAAUoe,oBAQTpe,EAAAA,EAAUoe,oBAWNpe,EAAAA,EAAUoe,oBACdpe,EAAAA,EAAUoe,oBAGN/O,GACpB,GAAGrP,EAAAA,EAAUoe,mEAAmE/O,KCKlF,GAnE0B4d,KAAO,IAADC,EAAAC,EAC/B,MAAM,gBAAEC,EAAe,mBAAEC,IACxB9V,EAAAA,EAAAA,YAAW+V,IACNhK,EAActjB,EAAAA,EAAUC,QAAQmQ,cAAa,IAE9Cmd,EAAQ,SAARA,GAAQ,OAARA,EAAQ,kCAARA,EAAQ,wBAARA,CAAQ,MAKb,MAAMC,EAAoE,QAAlDN,EAAGO,EAAsBF,EAASG,wBAAgB,IAAAR,OAAA,EAA/CA,EACxB/oB,MAEGwpB,EAA0D,QAA7CR,EAAGM,EAAsBF,EAASK,mBAAW,IAAAT,OAAA,EAA1CA,EAA4ChpB,MAElE,SAASspB,EAAsBxe,GAC9B,OAAO7G,OAAOylB,yBACbT,EACA,GAAGne,IAAeqU,IAEpB,CAEA,SAASwK,IACR,IAAIC,EAAY,IAAIC,KAAoB,OAAfZ,QAAe,IAAfA,OAAe,EAAfA,EAAiBa,uBACtCC,EAAU,IAAIF,KAAoB,OAAfZ,QAAe,IAAfA,OAAe,EAAfA,EAAiBe,qBACpCC,EAAe,IAAIJ,KAAKD,GACxBM,EAAU,IAAIL,KAAKA,KAAKM,OACxBC,EAAyC,OAAfnB,QAAe,IAAfA,OAAe,EAAfA,EAAiBoB,yBAI/C,OAHAJ,EAAaK,WACZV,EAAUW,aAAeH,GAEnB,CACNI,aAAcN,EAAUN,GAAaM,EAAUD,EAC/CQ,cAAeP,EAAUD,GAAgBC,EAAUH,EAErD,CAEA,OACC9W,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACE6W,GACuB,KAAvBA,GACAM,IAAsBc,gBACrBpX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,wDAAuDrB,SAAA,EACrES,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBACfZ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,SAAQrB,UACtBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAAA,OAAAT,SACEmX,IAAsBa,aACpBhB,EACAH,SAINpW,EAAAA,GAAAA,KAAA,OAAKY,UAAU,SAAQrB,UACtBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf1N,QAASA,IAAMmU,IACfvG,KAAK,QACL+H,MAAM,OACN,cAAY,gBAKf,EC5DC9L,GAA2BC,KAAAA,OAAa,CAAC,GAC/CD,GAAyBG,aAAaC,QAAQna,KAAIgE,UACjDiN,EAAOiB,QAAQ,yBAA2BjO,IACnCgN,KAQR,MAAMqT,IACLhX,EAAAA,EAAAA,eAAmC,CAClC8W,qBAAiB5iB,EACjB6iB,mBAAoBA,SAGf,SAASyB,KACf,MAAO1B,EAAiBC,IAAsBzW,EAAAA,EAAAA,YAExCmY,EAAkB,CACvB/hB,mBAAwBgiB,eACAjM,GACrBS,IAAkBzH,GAA6BnR,MAC/C6Y,MAAMC,IACN,GAAsB,MAAlBA,EAAO5V,OACX,OAAO4V,EAAO9V,IAAI,IAElBuW,OAAOC,IAAS,IAAD6K,EAEf,MADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACX,IAAID,MACT,iDAGKuW,CACP,KAuBJ,OATAuC,EAAAA,EAAAA,YAAU,MACT3Z,uBACW+hB,GAXe/hB,WAC1B,IACC,IAAIY,QAAamhB,EAAgBC,0BACpBxkB,IAAToD,GAAoByf,EAAmBzf,EAC5C,CAAE,MAAOJ,GACRC,QAAQ4W,IAAI7W,EACb,GAMEwhB,EAEF,CACAE,EAAsB,GACpB,KAGF9X,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEyW,GACAA,EAAgB+B,gBAAgB1mB,SAASzI,EAAAA,EAAUC,WAClDmX,EAAAA,GAAAA,KAACkW,GAAmBjW,SAAQ,CAC3BlT,MAAO,CAAEipB,kBAAiBC,sBAAqB1W,UAC/CS,EAAAA,GAAAA,KAAC6V,GAAiB,OAKxB,CAEA,YCxEO,IAAKmC,GAAwB,SAAxBA,GAAwB,OAAxBA,EAAwB,YAAxBA,EAAwB,kBAAxBA,EAAwB,8BAAxBA,EAAwB,YAAxBA,EAAwB,UAAxBA,CAAwB,MCD7B,MAAMC,GAAkC,CAC9C,CACCpvB,QAAS,KACTqvB,WAAY,UACZC,UAAW,sBACXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,gCACfsd,OAAQ,CACPtd,KAAM,uDAITud,QAAS,CACRC,YAAa,aACbC,aAAc,UACdC,eAAgB,oBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPC,YAAa,kBAKjB,CACClwB,QAAS,KACTqvB,WAAY,UACZC,UAAW,sCACXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,mCACfsd,OAAQ,CACPtd,KAAM,4EAITud,QAAS,CACRS,cAAe,gBACfR,YAAa,mCACbC,aAAc,2BACdC,eAAgB,iBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPC,YAAa,eAKjB,CACClwB,QAAS,KACTqvB,WAAY,UACZC,UAAW,wBACXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,mCACfsd,OAAQ,CACPtd,KAAM,yDAITud,QAAS,CACRC,YAAa,aACbC,aAAc,UACdC,eAAgB,oBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPC,YAAa,mBAKjB,CACClwB,QAAS,KACTqvB,WAAY,2CACZC,UAAW,qBACXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,6CACfsd,OAAQ,CAAEtd,KAAM,8BAChBie,aAAc,CACbje,KAAM,6CAITud,QAAS,CACRC,YAAa,+BACbC,aAAc,qBACdS,aAAc,UACdR,eAAgB,mBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPC,YAAa,aACbI,aAAc,iBAKlB,CACCtwB,QAAS,KACTqvB,WAAY,UACZC,UAAW,qBACXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,qCACfoe,MAAO,CAAEpe,KAAM,oCACfqe,sBAAuB,CACtBre,KAAM,yDAEPse,aAAc,CAAEte,KAAM,uCACtBsd,OAAQ,CAAEtd,KAAM,gCAGlBud,QAAS,CACRC,YAAa,4BACbC,aAAc,cACdC,eAAgB,qBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPC,YAAa,WAKjB,CACClwB,QAAS,KACTqvB,WAAY,UACZC,UAAW,qBACXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,iCACfsd,OAAQ,CAAEtd,KAAM,wCAChBue,SAAU,CACTve,KACCrJ,EAAKoE,WAAakG,GAAO,QAASrT,EAAAA,EAAUsI,WACzC,wCACA,oCAELsoB,QAAS,CACRxe,KACCrJ,EAAKoE,WAAakG,GAAO,QAASrT,EAAAA,EAAUsI,WACzC,kCACA,kCAELuoB,eAAgB,CACfze,KACCrJ,EAAKoE,WAAakG,GAAO,QAASrT,EAAAA,EAAUsI,WACzC,wCACA,sCAELwoB,UAAW,CACV1e,KACCrJ,EAAKoE,WAAakG,GAAO,QAASrT,EAAAA,EAAUsI,WACzC,uCACA,sCAIPqnB,QAAS,CACRC,YAAa,mCACbC,aAAc,SACdC,eAAgB,sBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPa,OAAQ,qBACRZ,YAAa,aACbI,aAAc,iBAKlB,CACCtwB,QAAS,KACTqvB,WAAY,UACZC,UAAW,sBAEXC,MAAOA,KACC,CACNC,MAAO,CAAErd,KAAM,qCACfsd,OAAQ,CACPtd,KAAM,uDAITud,QAAS,CACRC,YAAa,aACbC,aAAc,UACdC,eAAgB,oBAEjBC,gBAAiB,CAChB,CACC3P,YAAagP,GAAyBY,IACtCC,mBAAoB,CACnBC,MAAO,iBACPC,YAAa,qBC5MZa,IACL1a,EAAAA,EAAAA,eAAoC,CACnC2a,yBAAqBzmB,EACrB4V,iBAAa5V,IAGR,SAAS0mB,GAAsB3nB,GAEU,IAFT,SACtCoN,GAC8BpN,EAC9B,MAAO0nB,EAAqBE,IAA0Bva,EAAAA,EAAAA,eAEpDpM,IAEK4V,EAAagR,IAAkBxa,EAAAA,EAAAA,UAEpCwY,GAAyBY,MAE3BrJ,EAAAA,EAAAA,YAAU,KACT0K,GAAwB,GACtB,CAACjR,IAEJ,MAAMiR,EAAyBA,KAC9B,IAAIltB,EAAQkrB,GAAchhB,MAAM8B,GAC3BA,EAAKlQ,UAAYD,EAAAA,EAAUC,QACvBkQ,OAEP,IAGFghB,EAAuBhtB,EAAM,EAG9B,OACCiT,EAAAA,GAAAA,KAAC4Z,GAAe3Z,SAAQ,CACvBlT,MAAO,CACN8sB,sBACA7Q,eACCzJ,SACDA,GAGJ,CAEA,Y,eCtBA,SA7BA,SAAqBpN,GAA6C,IAA1C+nB,UAAWC,EAAS,SAAEC,GAAiBjoB,EAC9D,MAAM,gBAAEgN,IAAoBgB,EAAAA,EAAAA,YAAWlB,KAEhClS,EAAO8iB,GAAYwK,GAA2B9mB,EAAW+mB,aAC1D7f,EAAMtF,OAAOoF,SAASggB,SACtBC,EAAOrlB,OAAOoF,SAASC,OAAOigB,cAOpC,OALAlL,EAAAA,EAAAA,YAAU,KAETM,EAASpV,EAAM+f,EAAK,KAIpBxa,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACbJ,GACAa,EAAAA,GAAAA,KAACoR,GAAyB,CAAA7R,UACzBS,EAAAA,GAAAA,KAACma,EAAS,OAGXna,EAAAA,GAAAA,KAAC0a,GAAAA,GAAQ,CACRC,GAAI,CACHJ,SAAUH,MAMhB,E,qCCRA,SArBA,SAA8BjoB,GAKF,IALG,KAC9ByoB,EAAI,MACJC,EAAK,GACLC,EAAE,QACFC,GACwB5oB,EACxB,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,OACCsJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0EAAyErB,SAAA,EACvFa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CACE1I,EAAE+jB,GAAO,IACTG,GAAgC,wBAApBA,EAAShuB,QACrBiT,EAAAA,GAAAA,KAACgb,GAAO,CAACjiB,KAAMgiB,QAGjB/a,EAAAA,GAAAA,KAAA,OAAAT,SAAMsb,MAGT,E,cCbO,SAASI,GAAmB9oB,GAUxB,IAVyB,GACnC2S,EAAE,SACFvF,EAAQ,QACRuC,EAAO,MACP2V,EAAK,QACLyD,EAAO,gBACPC,EAAe,SACfC,GAAW,EAAK,QAChBC,GAAU,EAAI,UACdza,EAAY,IACLzO,EACP,MAAOmpB,EAAQC,IAAa/b,EAAAA,EAAAA,UAAS4b,GAKrC,OAJA7L,EAAAA,EAAAA,YAAU,KACTgM,EAAUH,GAAkC,OAAtBxyB,EAAAA,EAAUC,QAAiB,GAC/C,CAACuyB,KAGHhb,EAAAA,GAAAA,MAAA,OAAcQ,UAAWA,EAAUrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OACC9E,MAAO,CACNigB,gBAAiBA,EACjBK,OAAQ,qBACRC,WAAY,aAAahE,KAE1B7W,UAAU,qCACVkB,QAASA,IAAMA,EAAQyZ,GAAWD,IAAS/b,UAC3Ca,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0DAAyDrB,SAAA,CACtE2b,EACAG,GAAiC,OAAtBzyB,EAAAA,EAAUC,UACrBmX,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAO4L,EAA0B,aAAjB,eAChB1a,UAAU,sBAKdZ,EAAAA,GAAAA,KAAC0b,GAAAA,EAAc,CACdN,SAAUE,EACV/b,SAAUA,EACVoc,uBAAuB,MAtBf7W,EA0BZ,C,cCyEA,SAjHA,SAAmC3S,GAML,IANM,MACnC+I,EAAK,WACL0gB,EAAU,KACVlM,EAAI,gBACJjC,EAAe,aACfoO,GAC0B1pB,EAC1B,MAAO2pB,EAAOC,IAAYvc,EAAAA,EAAAA,WAAS,IAC5Bwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCpJ,EAAO8lB,GAAYxc,EAAAA,YACpB,EAAE7I,IAAMC,EAAAA,EAAAA,KAERtC,EAAU,CACf2nB,GAAI,CACHC,WAAYA,IAAMvlB,EAAE,yBACpBwE,SAAUA,IAiBZzF,iBACC,IAEC,GADAqmB,GAAW,IACNxO,GAAuC,KAApBA,EACvB,OAGD,MAAM5S,QAAamR,GAAuBwB,kBACzCC,EACA5W,GAEK8E,EAAW,iBAAmB8R,EAAkB,OAEtDwO,GAAW,GACXrhB,GAAaC,EAAMc,EACpB,CAAE,MAAOvF,GACR6lB,GAAW,GACXI,EAAajmB,EACd,CACD,CApCkBkmB,IAEjBC,GAAI,CACHH,WAAYA,IAAMvlB,EAAE,gCACpBwE,SAAUA,IAmCZzF,iBACC,IAEC,GADAqmB,GAAW,IACNJ,EACJ,OAED,MAAMhhB,QAAamR,GAAuB5C,wBACzCyS,EAAcxS,WAAWrP,YAG1B,IAAI2B,EAAuB,OAAZkgB,QAAY,IAAZA,OAAY,EAAZA,EAAclgB,SAExBA,IACJA,EACCkgB,EAAaha,OAASyS,GAAckI,qBACjC,aAA0B,OAAZX,QAAY,IAAZA,OAAY,EAAZA,EAAcxS,YAAa,SACzC,OAAoB,OAAZwS,QAAY,IAAZA,OAAY,EAAZA,EAAcxS,YAAa,QAGxC4S,GAAW,GACXrhB,GAAaC,EAAKA,KAAMc,EACzB,CAAE,MAAOvF,GACR6lB,GAAW,GACXI,EAAa,IAAI5lB,MAAMI,EAAE,kBAC1B,CACD,CA5DkB4lB,MAGXC,IAAOld,EAAAA,EAAAA,UAAShL,EAAQiZ,EAAkB,KAAO,OAExD,SAASkP,IACRZ,GAAUD,EACX,CAEA,SAASO,EAAanlB,GACrBglB,EAAS/lB,GAAwBe,GAClC,CAmDA,OACC8I,EAAAA,GAAAA,KAAA,OAAKY,UAAU,8BAA6BrB,SAC1CnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAMZ,OAAS9oB,GAAWmM,SAClCnJ,EAAMO,WAGRyJ,EAAAA,GAAAA,MAAA,UACC2c,aAAcJ,EACdK,aAAcL,EACd7a,QAAUmb,IACTP,EAAIrhB,UAAU,EAEfH,MAAO4gB,EAAQF,EAAa1gB,EAAMqE,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf5O,UAAYob,EAAmB,SAAT,OACtBtM,KAAMA,IAENsM,GACAhc,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAEhBZ,EAAAA,GAAAA,KAAA,QAAAT,SAAOmd,EAAIN,mBAMjB,EChIO,IAAKc,GAAW,SAAXA,GAAW,OAAXA,EAAW,wBAAXA,EAAW,kBAAXA,EAAW,kBAAXA,EAAW,kBAAXA,EAAW,0BAAXA,CAAW,MAQXC,GAAkB,SAAlBA,GAAkB,OAAlBA,EAAkB,gBAAlBA,EAAkB,gCAAlBA,EAAkB,eAAlBA,EAAkB,oBAAlBA,EAAkB,oBAAlBA,CAAkB,MAQlBC,GAAe,SAAfA,GAAe,OAAfA,EAAe,oCAAfA,EAAe,8BAAfA,EAAe,oBAAfA,EAAe,gCAAfA,EAAe,UAAfA,EAAe,4BAAfA,EAAe,oDAAfA,EAAe,4BAAfA,EAAe,sCAAfA,EAAe,0BAAfA,EAAe,oCAAfA,EAAe,wCAAfA,CAAe,MAmB3B,MAAMtZ,GAMF,CAAC,EAGLA,GAAY,GAAI,CACfoZ,YAAa,CACZA,GAAYG,WACZH,GAAYI,QACZJ,GAAYK,QACZL,GAAYM,SAEbL,mBAAoB,CACnBA,GAAmBM,OACnBN,GAAmBO,eACnBP,GAAmBQ,IACnBR,GAAmBS,UAEpBR,gBAAiB,CAChBA,GAAgBS,aAChBT,GAAgBU,cAChBV,GAAgBW,SAChBX,GAAgBY,eAChBZ,GAAgBa,IAChBb,GAAgBc,yBAChBd,GAAgBe,iBAChBf,GAAgBgB,qBAKlBta,GAAY,GAAI,CACfoZ,YAAa,CACZA,GAAYG,WACZH,GAAYI,QACZJ,GAAYK,QACZL,GAAYM,QACZN,GAAYmB,aAEblB,mBAAoB,CACnBA,GAAmBM,OACnBN,GAAmBO,eACnBP,GAAmBQ,IACnBR,GAAmBS,SACnBT,GAAmBmB,UAEpBlB,gBAAiB,CAChBA,GAAgBmB,kBAChBnB,GAAgBoB,iBAChBpB,GAAgBU,cAChBV,GAAgBqB,YAChBrB,GAAgBW,SAChBX,GAAgBY,iBAKlBla,GAAY,GAAIA,GAAY,GAG5BA,GAAY,GAAI,CACfoZ,YAAa,CACZA,GAAYG,WACZH,GAAYI,QACZJ,GAAYK,QACZL,GAAYM,QACZN,GAAYmB,aAEblB,mBAAoB,CACnBA,GAAmBM,OACnBN,GAAmBO,eACnBP,GAAmBQ,IACnBR,GAAmBS,SACnBT,GAAmBmB,UAEpBlB,gBAAiB,CAChBA,GAAgBmB,kBAChBnB,GAAgBU,cAChBV,GAAgBqB,cAKlB3a,GAAY,GAAI,CACfoZ,YAAa,CAACA,GAAYG,WAAYH,GAAYI,SAClDH,mBAAoB,CACnBA,GAAmBM,OACnBN,GAAmBO,eACnBP,GAAmBQ,IACnBR,GAAmBS,UAEpBR,gBAAiB,CAChBA,GAAgBS,aAChBT,GAAgBU,cAChBV,GAAgBW,SAChBX,GAAgBa,IAChBb,GAAgBc,2BAKlBpa,GAAY,GAAI,CACZoZ,YAAa,CACTA,GAAYG,WACZH,GAAYI,QACZJ,GAAYK,SAEhBJ,mBAAoB,CAChBA,GAAmBM,OACnBN,GAAmBO,eACnBP,GAAmBQ,IACnBR,GAAmBS,SACzBT,GAAmBmB,UAEjBlB,gBAAiB,CACbA,GAAgBS,aAChBT,GAAgBU,cAChBV,GAAgBW,SAChBX,GAAgBY,eAChBZ,GAAgBa,IAChBb,GAAgBe,mBAKxBra,GAAY,GAAI,CACZoZ,YAAa,CACTA,GAAYG,WACZH,GAAYI,QACZJ,GAAYK,QACZL,GAAYM,SAEhBL,mBAAoB,CAChBA,GAAmBM,OACnBN,GAAmBO,eACnBP,GAAmBQ,IACnBR,GAAmBS,SACzBT,GAAmBmB,UAEjBlB,gBAAiB,CACbA,GAAgBS,aAChBT,GAAgBU,cAChBV,GAAgBW,SAChBX,GAAgBY,eAChBZ,GAAgBa,IAChBb,GAAgBe,mBChKxB,MAAMra,IDO4Bjb,GCPAD,EAAAA,EAAUC,QDQpCib,GAAQjb,KADT,IAA2BA,GCL3B,SAAS61B,GAAoBC,GAAc,IAADC,EAChD,MACuB,OAAtBh2B,EAAAA,EAAUC,UACN,OAAJ81B,QAAI,IAAJA,GAAoB,QAAhBC,EAAJD,EAAME,sBAAc,IAAAD,OAAhB,EAAJA,EAAsBE,MACpB1tB,GAAMA,EAAEyQ,OAAS6S,GAAmBqK,kBAGxC,CAEO,SAASC,GAAuBL,GACtC,MASMM,EATwB,CAC7BxK,GAAYyK,YACZzK,GAAY0K,cACZ1K,GAAY2K,aACZ3K,GAAY4K,iBACZ5K,GAAY6K,eACZ7K,GAAY8K,iBAG8BluB,SAASstB,EAAK7X,SAEzD,MAA6B,OAAtBle,EAAAA,EAAUC,SAAoBo2B,CACtC,CAEO,SAASO,GAAcpd,EAAoBvL,EAAc8nB,GAoD/D,MAnDW,CACV,CACCnM,KAAM0K,GAAYG,WAClB5J,KAAM3P,GAAqB,YAAEzS,SAAS6rB,GAAYG,YAClDtwB,MAAW,OAAJ4xB,QAAI,IAAJA,GAAAA,EAAMc,gBACN,OAAJd,QAAI,IAAJA,OAAI,EAAJA,EAAMc,gBACN5oB,EAAE0d,GAASnS,IACdsd,QAASlL,GAAaiL,gBACtBvf,UAAU,GAEX,CACCsS,KAAM0K,GAAYI,QAClB7J,KAAM3P,GAAqB,YAAEzS,SAAS6rB,GAAYI,SAClDvwB,MAAO2xB,GAAoBC,GACxB,GACArqB,EAAiB,OAAJqqB,QAAI,IAAJA,OAAI,EAAJA,EAAMgB,eAAgB,CACnC/1B,SAAU0L,IACV4F,MAAO,aAEVwkB,QAASlL,GAAamL,eACtBzf,UAAU,GAEX,CACCsS,KACCpQ,IAAamS,GAASqL,KACnB1C,GAAYK,QACZL,GAAYM,QAChB/J,KACCrR,IAAamS,GAASqL,KACnB9b,GAAqB,YAAEzS,SAAS6rB,GAAYK,SAC5CzZ,GAAqB,YAAEzS,SAAS6rB,GAAYM,SAChDzwB,MAECqV,IAAamS,GAASqL,KACnBnL,GAAgB,OAAJkK,QAAI,IAAJA,OAAI,EAAJA,EAAM7X,SACd,OAAJ6X,QAAI,IAAJA,OAAI,EAAJA,EAAMkB,oBACVH,QAASlL,GAAaqL,oBACtB3f,UAAU,GAEX,CACCsS,KAAM0K,GAAYmB,YAClB5K,KAAM3P,GAAqB,YAAEzS,SAAS6rB,GAAYmB,aAClDtxB,MAAW,OAAJ4xB,QAAI,IAAJA,GAAAA,EAAMmB,uBACV,IAAIlJ,KAAS,OAAJ+H,QAAI,IAAJA,OAAI,EAAJA,EAAMmB,wBACdC,mBAAmB1rB,KACnB2rB,WAAW,IAAK,KACjB,GACHN,QAAS,GACTxf,UAAU,GAIb,CAEO,SAAS+f,GAAmBtB,EAAa9nB,GAkD/C,MAjDW,CACV,CACC2b,KAAM2K,GAAmBM,OACzBhK,KACC3P,GAA4B,mBAAEzS,SAC7B8rB,GAAmBM,UACdiB,GAAoBC,GAC3B5xB,MAAOuH,EAAaqqB,EAAKgB,eAAgB,CACxC/1B,SAAU0L,IACV4F,MAAO,cAGT,CACCsX,KAAM2K,GAAmBO,eACzBjK,KACC3P,GAA4B,mBAAEzS,SAC7B8rB,GAAmBO,iBACQ,OAAvBiB,EAAKuB,cACXnzB,MAAO,IAAI6pB,KAAK+H,EAAKuB,eAAeH,mBACnC1rB,MAGF,CACCme,KAAM2K,GAAmBQ,IACzBlK,KAAM3P,GAA4B,mBAAEzS,SACnC8rB,GAAmBQ,KAEpB5wB,MAAO4xB,EAAKwB,IACZpF,QAAS,CAAC,MAAM1pB,SAASzI,EAAAA,EAAUC,SAChC,CACAkE,MAAO8J,EAAE,yBAETzD,GAEJ,CACCof,KAAM2K,GAAmBS,SACzBnK,KAAM3P,GAA4B,mBAAEzS,SACnC8rB,GAAmBS,UAEpB7wB,MAAO4xB,EAAKyB,MAEb,CACC5N,KAAM2K,GAAmBmB,SACzB7K,KAAM3P,GAA4B,mBAAEzS,SACnC8rB,GAAmBmB,UAEpBvxB,MAAO8J,EAAE,kBAIZ,CAEO,SAASwpB,GAAY1B,EAAavc,EAAoBvL,GAmI5D,MAlIW,CACV,CACC2b,KAAM4K,GAAgBmB,kBACtB9K,KACC3P,GAAyB,gBAAEzS,SAC1B+rB,GAAgBmB,oBAEjBI,EAAK2B,mBACLle,IAAamS,GAASgM,WACvBxzB,MAAOuH,EAAaqqB,EAAK2B,kBAAmB,CAC3C12B,SAAU0L,IACV4F,MAAO,aAER6f,QAASppB,EAAK6uB,OAAO,4BAClB,CACAzzB,MAAO8J,EAAE,kCAETzD,GAEJ,CACCof,KAAM4K,GAAgBoB,iBACtB/K,KACC3P,GAAyB,gBAAEzS,SAC1B+rB,GAAgBoB,oBACXE,GAAoBC,GAC3B5xB,MAAOuH,EAAaqqB,EAAK8B,iBAAkB,CAC1C72B,SAAU0L,IACV4F,MAAO,aAER6f,QAAS,CACRhuB,MAAO8J,EAAE,6BAGX,CACC2b,KAAM4K,GAAgBS,aACtBpK,KAAM3P,GAAyB,gBAAEzS,SAChC+rB,GAAgBS,cAEjB9wB,MAAOuH,EAAaqqB,EAAK+B,aAAc,CACtC92B,SAAU0L,IACV4F,MAAO,aAER6f,QAAS,CACRhuB,MACuB,OAAtBnE,EAAAA,EAAUC,QACPgO,EAAE,uBACF,wBAGN,CACC2b,KAAM4K,GAAgBU,cACtBrK,KACC3P,GAAyB,gBAAEzS,SAC1B+rB,GAAgBU,iBACXY,GAAoBC,GAC3B5xB,MAAOuH,EAINqqB,EAAKgC,wBACL,CACC/2B,SAAU0L,IACV4F,MAAO,cAIV,CACCsX,KAAM4K,GAAgBqB,YACtBhL,KACC3P,GAAyB,gBAAEzS,SAC1B+rB,GAAgBqB,eACXC,GAAoBC,GAC3B5xB,MAAOuH,EAAaqqB,EAAKiC,YAAa,CACrCh3B,SAAU0L,IACV4F,MAAO,cAGT,CACCsX,KAAM4K,GAAgBe,iBACtB1K,KACC3P,GAAyB,gBAAEzS,SAC1B+rB,GAAgBe,oBAEhBO,GAAoBC,IACrBK,GAAuBL,GACxB5xB,MAAOuH,EAAaqqB,EAAKkC,iBAAkB,CAC1C3lB,MAAO,aAGT,CACCsX,KAAM4K,GAAgBW,SACtBtK,KACC3P,GAAyB,gBAAEzS,SAAS+rB,GAAgBW,YACnDW,GAAoBC,GACtB5xB,MAAOuH,EAAaqqB,EAAKmC,aAAc,CACtC5lB,MAAO,aAGT,CACCsX,KAAM4K,GAAgBY,eACtBvK,KAAM3P,GAAyB,gBAAEzS,SAChC+rB,GAAgBY,gBAEjBjxB,MAAOuH,EAAaqqB,EAAKoC,eAAgB,CACxCn3B,SAAU0L,IACV4F,MAAO,cAGT,CACCsX,KAAM4K,GAAgBa,IACtBxK,KAAM3P,GAAyB,gBAAEzS,SAAS+rB,GAAgBa,KAC1DlxB,MAAO8J,EAAEjC,EAAqB+pB,EAAKpQ,OAEpC,CACCiE,KAAM4K,GAAgB4D,aACtBvN,KACCkL,EAAKpQ,KACLzK,GAAyB,gBAAEzS,SAAS+rB,GAAgBa,KACrDlxB,MAAO,IAAI6pB,KAAK+H,EAAKsC,cAAclB,mBAClC1rB,MAGF,CACCme,KAAM4K,GAAgBc,yBACtBzK,KAAM3P,GAAyB,gBAAEzS,SAChC+rB,GAAgBc,0BAEjBnxB,MAAO8J,EAAEjC,EAAqB+pB,EAAKuC,4BAItC,CAEO,SAASC,GAAsBxC,GACrC,MACuB,OAAtB/1B,EAAAA,EAAUC,UACT61B,GAAoBC,IACI,yCAAzBA,EAAKyC,eAEP,CAEO,SAASC,GAA6B1C,GAAc,IAAD2C,EACzD,MACC,CAAC,KAAM,MAAMjwB,SAASzI,EAAAA,EAAUC,WAC/B61B,GAAoBC,KACH,QADQ2C,EAC1B3C,EAAK4C,qBAAa,IAAAD,OAAA,EAAlBA,EAAoBxC,MAClB1tB,GAAMA,EAAEyQ,OAASyS,GAAckI,uBAGnC,CAEO,SAASgF,GAAuB7C,GAAc,IAAD8C,EACnD,MACC,CAAC,MAAMpwB,SAASzI,EAAAA,EAAUC,WACR,QADgB44B,EAClC9C,EAAK4C,qBAAa,IAAAE,OAAA,EAAlBA,EAAoB3C,MAAM1tB,GAAMA,EAAEyQ,OAASyS,GAAcoN,iBAE3D,CAEO,SAASC,GAAeC,EAAmB/qB,GACjD,IAAIL,EAAO,CACV,CACCgc,KAAM,WACNzlB,OACCiT,EAAAA,GAAAA,KAAA,KAAAT,SACEjL,EAAastB,EAAQC,QAAS,CAC9Bj4B,SAAU0L,IACV4F,MAAO,gBAKX,CACCsX,KAAM,OACNzlB,OACCiT,EAAAA,GAAAA,KAAA,KAAAT,SACE,IAAIqX,KAAKgL,EAAQE,MAAM/B,mBACvB1rB,QAKJ,CACCme,KAAM,4BACNzlB,OACCiT,EAAAA,GAAAA,KAAA,KAAAT,SACEqiB,EAAQG,8BACR,IACAH,EAAQI,0BAGXjH,QAAS,CACRhuB,MAAO8J,EAAE,oCAGX,CACC2b,KAAM,iBACNzlB,MAAO60B,EAAQ/f,KAAK4Y,cAAcwH,WAAW,OAC5CjiB,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BAENmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,+BAEPkkB,QAAS,CACRhuB,MAAO60B,EAAQ/f,KAAK4Y,cAAcwH,WAAW,MAC1CprB,EAAE,oBACFA,EAAE,wBAGP,CACC2b,KAAM,sBACNzlB,OACCiT,EAAAA,GAAAA,KAAA,KAAAT,SACEjL,EAAastB,EAAQd,aAAc,CACnC5lB,MAAO,gBAuBZ,MAhByB,OAAtBtS,EAAAA,EAAUC,SAEZ2N,EAAK/E,KACJ,CACC+gB,KAAM,yBACNzlB,OACCiT,EAAAA,GAAAA,KAAA,KAAAT,SACEjL,EAAastB,EAAQM,gBAAiB,CACtCt4B,SAAU0L,IACV4F,MAAO,iBAON1E,CACR,CAEO,SAAS2rB,GAAeP,EAAmB/qB,GA6CjD,MA3C0B,OAAtBjO,EAAAA,EAAUC,QACL,CACP,CACC2pB,KAAM,WACNzlB,MAAO60B,EAAQQ,gBACfrH,aAAS3nB,GAEV,CACCof,KAAM,WACNzlB,MAAO60B,EAAQS,gBACftH,aAAS3nB,GAEV,CACCof,KAAM,cACNzlB,MAAO60B,EAAQzB,IACfpF,aAAS3nB,IAIH,CACP,CACCof,KAAM,MACNzlB,MAAO60B,EAAQU,WACfvH,aAAS3nB,GAEV,CACCof,KAAM,OACNzlB,MAAO60B,EAAQW,YACfxH,aAAS3nB,GAEV,CACCof,KAAM,cACNzlB,MAAO60B,EAAQzB,IACfpF,QACuB,OAAtBnyB,EAAAA,EAAUC,QACP,CACAkE,MAAO8J,EAAE,sBAETzD,GAMR,CC7bO,IAAKovB,GAAM,SAANA,GAAM,OAANA,EAAM,mBAANA,EAAM,6BAANA,EAAM,uBAANA,CAAM,MCiBlB,MAAMC,IACLvjB,EAAAA,EAAAA,eAAgD,CAC/CqN,cAAUnZ,EACVsvB,4BAAwBtvB,IAGnB,SAASuvB,GAAkCxwB,GAEF,IAFG,SAClDoN,GAC8BpN,EAE9B,MAAOoa,EAAUqW,IAAepjB,EAAAA,EAAAA,eAE9BpM,GAEF,SAASsvB,IACR,MAAMrU,EAAe5Q,eAAenL,QAAQgL,MAC5C,GAAG+Q,EAAa,CACf,MAAMwU,EAAsBpW,KAAKqW,MAAMzU,EAAarU,YACpD4oB,EAAYC,EACb,MAECD,OAAYxvB,EAEd,CAMA,OAJAmc,EAAAA,EAAAA,YAAU,KACTmT,GAAwB,GACtB,KAGF1iB,EAAAA,GAAAA,KAACyiB,GAA2BxiB,SAAQ,CACnClT,MAAO,CACNwf,WACAmW,0BACCnjB,SACDA,GAGJ,CAEA,YCwZA,SA7aA,SAAcpN,GAA8B,IAA7B,eAAE4wB,GAAwB5wB,EACxC,MAAM+N,EAAWpL,KACX,EAAE+B,IAAMC,EAAAA,EAAAA,MACPN,EAAMwsB,IAAWxjB,EAAAA,EAAAA,UAA2B,KAC5CiU,EAAMwP,IAAWzjB,EAAAA,EAAAA,WAAS,IAC1BpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACpB,OAAE0R,IAAW/Q,EAAAA,EAAAA,YAAW8Q,KACxB,uBAAEyR,IAA2BviB,EAAAA,EAAAA,YAAWsiB,IAExCS,EAAYA,CAAC5gB,EAAYF,KAE7BpC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEigB,GAAcpd,EAAUvL,EAAGyL,GAAOnL,KAClC,CAAC4B,EAAWpB,IAEVoB,EAAK0a,OACJvT,EACAnH,EAAKmH,WACJF,EAAAA,GAAAA,KAAA,OAECY,UAAW,uBAA2C,OAArBhY,EAAAA,EAAUC,QAAkB,mBAAqB,iBAAkB0W,SACnGxG,EAAKhM,OAFD4K,IAMPqI,EAAAA,GAAAA,KAAA,OAECY,UAAW,uBAA2C,OAArBhY,EAAAA,EAAUC,QAAkB,mBAAqB,iBAAkB0W,SACnGxG,EAAKhM,OAFD4K,QAYPwrB,EAAUA,IAAMC,MAAMC,QAAQ7sB,IAASA,EAAKsB,OAAS,EAErDwrB,EAAYA,KAAOH,KAAa1P,EAEtC,SAAStb,EAAK0J,EAAgB0hB,EAAsB3wB,GACnD,IAAI4wB,EAAQhtB,EAAKitB,WAAWC,GAAMA,EAAEthB,WAAaP,IAC7C8hB,EAAQ,IAAIntB,GAAMgtB,GAAO1W,MACzB8W,EAAkB,GACtB,GAAc,QAAVhxB,EACH,OAAQ2wB,GACP,IAAK,kBACL,IAAK,iBACJK,EAASD,EAAMxrB,MAAK,CAACE,EAAGC,IAAMD,EAAEkrB,GAAUjrB,EAAEirB,KAC5C,MACD,IAAK,sBACJK,EAASD,EAAMxrB,MAAK,CAACE,EAAGC,IACvBD,EAAEkrB,GACAvpB,WACAygB,cACAthB,cAAcb,EAAEirB,GAAQvpB,WAAWygB,iBAEtC,MACD,QACCmJ,EAASD,EAAMxrB,MAAK,CAACE,EAAGC,KAErB,IAAIse,KAAKve,EAAEynB,yBACX,IAAIlJ,KAAKte,EAAEwnB,+BAIV,GAAc,SAAVltB,EACV,OAAQ2wB,GACP,IAAK,kBACL,IAAK,iBACJK,EAASD,EAAMxrB,MAAK,CAACE,EAAGC,IAAMA,EAAEirB,GAAUlrB,EAAEkrB,KAC5C,MACD,IAAK,sBACJK,EAASD,EAAMxrB,MAAK,CAACE,EAAGC,IACvBA,EAAEirB,GACA9I,cACAthB,cAAcd,EAAEkrB,GAAQ9I,iBAE3B,MACD,QACCmJ,EAASD,EAAMxrB,MAAK,CAACE,EAAGC,KAErB,IAAIse,KAAKte,EAAEwnB,yBACX,IAAIlJ,KAAKve,EAAEynB,0BAKjB,IAAI+D,EAAQ,IAAIrtB,GACZuC,EAAO,IACP8qB,EAAML,GACT1W,MAAO8W,GAERC,EAAML,GAASzqB,EACfiqB,EAAQa,EACT,CAEA,SAASC,EAAanF,EAAavc,EAAoBqV,GACtD,MAAMsM,EAAc,CACnBC,SAAU,SACV7I,gBAAiB,UACjB1D,MAAO,UACPwM,aAAc,SACdC,WAAY,MACZ1I,OAAQ,OACR2I,QAAS,OACTC,QAAS,cACTC,MAAO,QAGFzI,EAAa,CAClBoI,SAAU,SACV7I,gBAAiB,UACjB1D,MAAO,UACPwM,aAAc,SACdC,WAAY,MACZ1I,OAAQ,OACR2I,QAAS,OACTC,QAAS,cACTC,MAAO,QAGR,OACCjkB,EAAAA,GAAAA,MAAA,OACCQ,UACCV,EACG,+BACA,+CAEJhF,MAAO,CACNsgB,OAAQ,oBACRC,WAAY,aAAahE,KACxBlY,SAAA,EACFa,EAAAA,GAAAA,MAAA,OACC0E,GAAG,UACH5J,MAAO,CACNmpB,MAAOnkB,EAAW,OAAS,OAE5BU,UAAW,iBAAiBrB,SAAA,EAC5BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,0BAGNopB,GAAmBtB,EAAM9nB,GAAGM,KAAI,CAAC4B,EAAWpB,IAE3CoB,EAAK0a,OACJzT,EAAAA,GAAAA,KAACskB,GAAqB,CACrBxJ,GAAI,CAAC,EAAG,GACRF,KAAM7hB,EAAKyZ,KACXqI,MAAO9hB,EAAKhM,MACZguB,QAAShiB,EAAKgiB,SACTpjB,KAKPgnB,GACAA,EAAK4F,oBACJvkB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAAA,KACCY,UAAU,+BACVxF,KACCujB,EAAK4F,kBAENnS,OAAO,SACPoS,IAAI,aAAYjlB,SACf1I,EAAE,oBAKR8nB,EAAK8F,IAAM,IACXzkB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,0BAAyBrB,SACtC1I,EAAE,cAAe,CAAE4tB,IAAK9F,EAAK8F,YAKjCrkB,EAAAA,GAAAA,MAAA,OACC0E,GAAG,aACH5J,MAAO,CACNmpB,MAAOnkB,EAAW,OAAS,OAE5BU,UAAW,iBAAiBrB,SAAA,EAC5BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,uBAGNwpB,GAAY1B,EAAMvc,EAAUvL,GAAGM,KAC/B,CAAC4B,EAAWpB,IAEVoB,EAAK0a,OACJzT,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAACskB,GAAqB,CACrBxJ,GAAI,CAAC,EAAG,GACRF,KAAM7hB,EAAKyZ,KACXqI,MAAO9hB,EAAKhM,MACZguB,QAAShiB,EAAKgiB,WALNpjB,MAYZwpB,GAAsBxC,IACvB0C,GAA6B1C,IAC7B6C,GAAuB7C,MACvBve,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,YAAWrB,SAAA,CACxB4hB,GAAsBxC,KACtB3e,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAAC0kB,GAA0B,CAC1BjX,gBAAiBkR,EAAKyC,gBACtBlmB,MAAO6oB,EACPnI,WAAYA,EACZlM,KAAM,eAIR2R,GAA6B1C,KAC7B3e,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAAC0kB,GAA0B,CAC1BxpB,MAAO6oB,EACPnI,WAAYA,EACZlM,KAAM,WACNmM,aAAc8C,EAAK4C,cAActqB,MAC/B7F,GACAA,EAAEyQ,OACFyS,GAAckI,2BAKlBgF,GAAuB7C,KACvB3e,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAAC0kB,GAA0B,CAC1BxpB,MAAO6oB,EACPnI,WAAYA,EACZlM,KAAM,WACNmM,aAAc8C,EAAK4C,cAActqB,MAC/B7F,GACAA,EAAEyQ,OACFyS,GAAcoN,6BAUzB,CAEA,SAASiD,EACR7X,EACA2K,EACArV,GAEA,OACChC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iCAAgCrB,SAAA,EAC9CS,EAAAA,GAAAA,KAAA,OACC9E,MAAO,CACNigB,gBAAiB,UACjBK,OAAQ,qBACRC,WAAY,aAAahE,KAE1B7W,UAAU,6BAA4BrB,UACtCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0DAAyDrB,SAAA,CACtEigB,GAAcpd,EAAUvL,GAAGM,KAC3B,CAAC4B,EAAWpB,IAEVoB,EAAK0a,OACJvT,EACAnH,EAAKmH,WACJF,EAAAA,GAAAA,KAAA,OAECY,UAAW,uBAA4C,OAAtBhY,EAAAA,EAAUC,QAAkB,mBAAoB,iBAAkB0W,UACnGS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAEkC,EAAKyZ,SAFN7a,IAMPyI,EAAAA,GAAAA,MAAA,OAECQ,UAAW,0CAA+D,OAAtBhY,EAAAA,EAAUC,QAAkB,oBAAqB,iBAAkB0W,SAAA,EACvHS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAEkC,EAAKyZ,QACVpQ,IAAamS,GAASqL,OACtB5f,EAAAA,GAAAA,KAACgP,GAAa,CACbC,QAASA,IACR9W,EACCiK,EACArJ,EAAK2mB,QACL,OAGFxQ,SAAUA,IACT/W,EACCiK,EACArJ,EAAK2mB,QACL,YAhBC/nB,OA0BVqI,EAAAA,GAAAA,KAAA,OAAK9E,MAAO,CAAEmpB,MAAO,QAAUzjB,UAAU,gBAG1CkM,EAAM3V,KAAI,CAACwnB,EAAMhnB,KACjBqI,EAAAA,GAAAA,KAACib,GAAmB,CACnBra,UAAU,QAEVkE,GAAInN,EACJ4H,SAAUukB,EAAanF,EAAMvc,EAAUqV,GACvC3V,QAASA,OACToZ,QAASgI,EAAUvE,EAAMvc,GACzB+Y,gBAAiB,UACjB1D,MAAOA,GANF9f,OAWV,CA0CA,OAZA4X,EAAAA,EAAAA,YAAU,KACT2B,EAAO7f,SAASmxB,GAAO1V,OA7BxBlX,iBACC,IAAI/M,EAAUD,EAAAA,EAAUC,QACpB2N,EAAOiH,eAAenL,QAAQiB,EAAWqxB,UAC7C,GAAIpuB,EACHwsB,EAAQvW,KAAKqW,MAAMtsB,IACnBksB,IACa,OAATlsB,GAAeysB,GAAQ,QAE3B,IACC,IAAIzsB,QAAawV,GAAuBC,YACvCxb,EAAY5H,GACZgO,GAEDmsB,EAAQxsB,GACRiH,eAAe+O,QACdjZ,EAAWqxB,SACXnY,KAAKC,UAAUlW,IAEK,KAAb,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMsB,SAAcmrB,GAAQ,GAChCP,GACD,CAAE,MAAOtsB,GACRiN,GAASjN,GACT8lB,EAAS/lB,GAAwBC,IACjC6sB,GAAQ,EACT,CAEF,CAGiC4B,GAAa5B,GAAQ,EAAM,GAEzD,KAEH1T,EAAAA,EAAAA,YAAU,QAAU,CAAC/Y,KAErB+Y,EAAAA,EAAAA,YAAU,KACTwT,EAAetP,EAAMrd,EAAM,GAEzB,CAACqd,EAAMrd,KAGT4J,EAAAA,GAAAA,KAAA,OAAKY,UAAW,OAAOrB,SACrB4jB,KAAaG,KACbtjB,EAAAA,GAAAA,KAACib,GAAmB,CAEnBnW,GAAI,EACJvF,SAAU/I,EAAKW,KACd,CAAA8J,EAAsCtJ,KAAG,IAAxC,SAAEyK,EAAQ,MAAE0K,GAAuB7L,EAAA,OACnCjB,EAAAA,GAAAA,KAACib,GAAmB,CACnBra,UAAU,OAEVkE,GAAInN,EACJ4H,SAAUolB,EACT7X,EACA5K,GAASE,EAAU5L,GACnB4L,GAEDN,QAASA,OACTqZ,gBAAiB,UACjB1D,MAAOvV,GAASE,EAAU5L,GAC1B0kB,QAASgI,EACR3O,GAASnS,GACTA,IAZIzK,EAcJ,IAGJmK,QAASA,OACTqZ,gBAAiB,UACjB1D,MAAO,UACPyD,SACC9a,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAc1F,MAAO,CAAEmpB,MAAO,QAAS9kB,SAAA,EACrDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,SAAQrB,SAAA,EACtBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACftU,MAAO,CAAEuc,MAAO,WAChB/H,KAAM,eACN9O,UAAU,oBAEXZ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,cAEzBysB,MACAtjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,wCAIlBwa,SAAU+H,IACV9H,SAAUiI,KA1CL,SA6CNltB,IACC4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CAACxI,QAAQ,SAASxT,UAAU,YAAWrB,SACtC,OAALnJ,QAAK,IAALA,OAAK,EAALA,EAAOO,WAMd,ECtcO,SAASmuB,GAAW3yB,GAAuB,IAAtB,GAAE2S,EAAE,KAAE/L,GAAa5G,EAC9C,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACd,OACCsJ,EAAAA,GAAAA,MAAA,MAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,MAAIzB,MAAM,MAAKgB,SACb,IAAIqX,KAAK7d,EAAKgsB,WAAWhF,mBACzB1rB,QAGF2L,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAEkC,EAAKisB,oBACZhlB,EAAAA,GAAAA,KAAA,MACC9E,MAAO,CACNuc,MAAO1e,EAAKksB,OAAOjrB,WAAWioB,WAAW,KACtC,GACA,WACF1iB,SACDjL,EAAayE,EAAKksB,YAbZngB,EAiBX,C,0BCZO,MAAMogB,GAAsBA,CAACC,EAAcC,KACjD,IAAIC,EAAKC,GAAAA,GAASC,WAAWJ,EAAMC,EAAgB,CAClDI,OAAQnxB,MAET,OAAOgxB,EAAGI,QAAUJ,EAAGK,YAAc,EAAE,EAQ3BC,GAAwBR,IACpC,IAAIE,EAAKC,GAAAA,GAASM,QAAQT,GAAMU,UAAUxxB,KAC1C,OAAOgxB,EAAGI,QACPJ,EAAG5wB,eAAe,CAClBqxB,IAAK,UACLC,MAAO,UACPC,KAAM,YAEN,EAAE,EAeOC,GAAqD9zB,IAI3D,IACF+zB,GAL8D,WAClE5Q,EAAU,OACV7d,EAAM,KACNqb,EAAO,CAAEG,QAAS,KAClB9gB,EAGA,GAAI2gB,EAAKqT,WAAY,CACpB,MAAMC,EAAM,IAAIxP,KAAK9D,EAAKqT,YAAYE,WAAY,IAAIzP,MAAOyP,UAC7DH,EAAWI,GAAAA,GAASC,WAAWH,EAChC,MACCF,EAAWI,GAAAA,GAASE,WAAW1T,GAGhC,MAAO2T,EAAYC,IAAiBlnB,EAAAA,EAAAA,UACnC8lB,GAAAA,GAASpO,MAAMyP,KAAKT,GAAUU,KAAKtB,GAAAA,GAASpO,QAGvC2P,EAAWJ,EAAWra,IAAI,YAAc8Z,EAAS5pB,GAAG,WAc1D,OAZAiT,EAAAA,EAAAA,YAAU,KACT,IAAIzK,EAAKwO,aACR,IAAMoT,GAAeI,GAAUA,EAAMC,MAAM,CAAEC,OAAQ,OACrD,KAED,MAAO,IAAMzT,cAAczO,EAAG,GAC5B,KAEHyK,EAAAA,EAAAA,YAAU,KACLsX,GAAUvR,GAAW,EAAK,KAGxBtV,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAGknB,EAAWQ,SAASxvB,IAAW,EClFpC2M,GAAQwH,KAAAA,OAAa,CAAC,GAE5BxH,GAAM0H,aAAaC,QAAQna,KAAIgE,UAC9BiN,EAAOiB,QAAQ,yBAA2BjO,IACnCgN,KAGRuB,GAAM8iB,SAASpjB,QAAQwJ,KAAK,gBAAkB,mBAC9ClJ,GAAM8iB,SAASpjB,QAAQwJ,KAAK,+BAAiC,IAC7DlJ,GAAM8iB,SAASpjB,QAAQwJ,KAAK,gCAC3B,iDAED,YCUA,SAnBA1X,eAA6CuxB,EAA4BC,GAiBrE,aAhBuBxb,GAClBQ,IACG,GAAGxjB,EAAAA,EAAUoe,mEAAmEmgB,4BAA6CC,+BAAoDx+B,EAAAA,EAAUC,gBACrL8a,MAET0I,MAAMC,GACIA,EAAO9V,OAEjBuW,OAAOC,IAAS,IAAD6K,EAEZ,GADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACd,MAAO,GAEP,MAAMsW,CACV,GAGZ,ECEA,SApBApX,eAAsCuxB,EAA4BC,GAiB9D,aAhBuBxb,GAClBQ,IACG,GAAGxjB,EAAAA,EAAUoe,sEAAsEmgB,4BAA6CC,+BAAoDx+B,EAAAA,EAAUC,kDACxL8a,MAET0I,MAAMC,GACIA,EAAO9V,OAEjBuW,OAAOC,IAAS,IAAD6K,EAEZ,GADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACd,MAAO,GAEP,MAAMsW,CACV,GAGZ,ECHMqa,GAAmD,CACxDC,kBAAcl0B,EACdm0B,qBAAqB,EACrBC,mBAAmB,GAEdC,IAAsBvoB,EAAAA,EAAAA,eAC3BmoB,IAGM,SAASK,GAA2Bv1B,GAEK,IAFJ,SAC3CoN,GAC8BpN,EAC9B,MAAM,aAAEw1B,EAAY,QAAE3L,EAAO,OAAE4L,IAAWznB,EAAAA,EAAAA,YAAW0nB,KAC9Cf,EAAOgB,IAAYtoB,EAAAA,EAAAA,UACzB6nB,IAEK9U,GAAMR,EAAAA,EAAAA,UAoDZ,OAlDAxC,EAAAA,EAAAA,YAAU,KACiB3Z,WACzB,IAAIomB,GAAY2L,GAAiBC,EASjC,IACC,GAAIrV,EAAIL,UAAYyV,EAAaI,cAChC,GCyEE,SACNJ,GAEA,MAAO,gBAAiBA,CACzB,CD7ESK,CAAaL,GAAe,CAC/B,MAAML,QAAqBW,GAC1BN,EAAaR,mBACbQ,EAAaO,iBAEdJ,EAAS,CACRR,eACAC,qBAAqB,EACrBC,mBAAmB,GAErB,KAAO,CACN,MAAMF,QACCa,GACLR,EAAaR,mBACbQ,EAAaS,0BAEfN,EAAS,CACRR,eACAC,qBAAqB,EACrBC,mBAAmB,GAErB,CAEF,CAAE,MAAOpxB,GACRC,QAAQC,KAAKF,GACb0xB,EAAS,CACRR,kBAAcl0B,EACdm0B,qBAAqB,EACrBC,mBAAmB,GAErB,MAxCCM,EAAS,CACRR,kBAAcl0B,EACdm0B,qBAAqB,EACrBC,mBAAmB,GAqCrB,EAGDa,GACA9V,EAAIL,QAAsB,OAAZyV,QAAY,IAAZA,OAAY,EAAZA,EAAcI,aAAa,GACvC,CAACJ,EAAc3L,EAAS4L,KAG1B5nB,EAAAA,GAAAA,KAACynB,GAAoBxnB,SAAQ,CAAClT,MAAO+5B,EAAMvnB,SACzCA,GAGJ,CAEA,YE5FO,IAAKwP,GAAU,SAAVA,GAAU,OAAVA,EAAAA,EAAU,aAAVA,EAAAA,EAAU,eAAVA,EAAAA,EAAU,eAAVA,CAAU,MAMf,MAAMuZ,GAAkBA,KAC9B,MAAM,aAAEhB,IAAiBnnB,EAAAA,EAAAA,YAAWsnB,KAE7Bc,EAAcC,IAAmBhpB,EAAAA,EAAAA,WAAS,IAC1CipB,EAAWC,IAAgBlpB,EAAAA,EAAAA,UAAgB,KAC3CmpB,EAAkBC,IAAuBppB,EAAAA,EAAAA,eAE9CpM,IACKic,EAAaC,IAAkB9P,EAAAA,EAAAA,UAAqBuP,GAAWK,OAC/DhZ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBqpB,EAAoBC,IAAyBtpB,EAAAA,EAAAA,UAAgB,IAE9DupB,GAAWvX,EAAAA,EAAAA,cAChB,CACChb,EACA+sB,EACA3wB,IAEO,IAAI4D,GAAM2B,MAAK,CAACE,EAAGC,KACzB,MAAM0wB,EAAS3wB,EAAEkrB,GACX0F,EAAS3wB,EAAEirB,GAEjB,MAAsB,kBAAXyF,GAAyC,kBAAXC,EACvB,QAAVr2B,EACJo2B,EAAO7vB,cAAc8vB,GACrBA,EAAO9vB,cAAc6vB,GAGH,kBAAXA,GAAyC,kBAAXC,EACvB,QAAVr2B,EAAkBo2B,EAASC,EAASA,EAASD,EAE9C,CAAC,KAGV,IAGKE,GAAmB1X,EAAAA,EAAAA,cACxB,CAAC+R,EAA4B3wB,KAC5B,MAAMu2B,EAAaJ,EAASN,EAAWlF,EAAQ3wB,GAC/C81B,EAAaS,GACbP,EAAoBrF,GACpBjU,EAAyB,QAAV1c,EAAkBmc,GAAWU,IAAMV,GAAWY,KAAK,GAEnE,CAAC8Y,EAAWM,IAGPK,GAA+B5X,EAAAA,EAAAA,cACpC,CAAC2T,EAAckE,KACd,IAAItD,EAAQ,IAAInP,KAAKuO,GAAMmE,WACvBtD,EAAO,IAAIpP,KAAKuO,GAAMoE,cAE1B,MAAMC,EAAqB,OAAZlC,QAAY,IAAZA,OAAY,EAAZA,EAAcn2B,QAAQuyB,IACpC,MAAMwE,EAAkB,IAAItR,KAAK8M,EAAEwE,iBACnC,OACCA,EAAgBoB,aAAevD,GAC/BmC,EAAgBqB,gBAAkBvD,CAAI,IAIxC,GAAIwD,EAAQ,CACX,MAAML,EAAaJ,EAASS,EAAQ,kBAAmB,QACvDd,EAAaS,EAAWM,MAAM,EAAGJ,IACjCP,EAAsBK,EACvB,IAED,CAAC7B,EAAcyB,IAgBhB,OAbAxZ,EAAAA,EAAAA,YAAU,KACL+X,GAAgBA,EAAaxvB,OAAS,EACzCsxB,EAA6B9B,EAAa,GAAGY,gBAAiB,IAC3B,KAAb,OAAZZ,QAAY,IAAZA,OAAY,EAAZA,EAAcxvB,SACxBokB,EAAS,IAAIzlB,MAAM,kBACpB,GAEE,CAAC6wB,KAEJ/X,EAAAA,EAAAA,YAAU,KACTiZ,EAAgBK,EAAmB/wB,OAAS2wB,EAAU3wB,OAAO,GAC3D,CAAC+wB,EAAoBJ,IAEjB,CACNS,mBACAE,+BACAX,YACAF,eACAnyB,QACAsyB,eACAC,mBACAtZ,cACAC,iBACA,EC3FWoa,GAASv3B,IAAsD,IAArD,WAAEw3B,EAAU,SAAEC,EAAQ,aAAErB,GAAuBp2B,EACrE,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,gBAAE+yB,IAAoB1pB,EAAAA,EAAAA,YAAW0nB,IACvC,OAAI8B,GAEFvpB,EAAAA,GAAAA,MAAA,OACCQ,UAAU,2BACVkB,QAASA,IAAM+nB,EAAgBC,GAAU,GAAGjG,MAAM,IAAItkB,SAAA,CACrD1I,EAAE,WACHmJ,EAAAA,GAAAA,KAAA,QAAMY,UAAU,2BAKjBZ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEgpB,IACAvoB,EAAAA,GAAAA,KAAA,OACCY,UAAU,2BACVkB,QAASA,IAAM8nB,IAAWrqB,SACzB1I,EAAE,eAKR,EAED,MC3BakzB,GAAS53B,IAAgD,IAA/C,6BAAEi3B,GAAuCj3B,EAC/D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEwwB,IAAiBnnB,EAAAA,EAAAA,YAAWsnB,KAC7BuC,EAAQC,IAAazqB,EAAAA,EAAAA,UAAmB,KACxC0qB,EAAgBC,IAAqB3qB,EAAAA,EAAAA,UAAiB,KAE7D+P,EAAAA,EAAAA,YAAU,KACT,MAAMiW,EAASnxB,IACT+1B,EAAe9E,GAAAA,GAASpO,MAC5B2O,UAAUL,GACVyB,SAAS,WAEaoD,MAaxB,IAAIC,GAboBD,EASW,EAR3BjH,MAAMmH,KAAK,CAAEzyB,OAAQuyB,IAAK,CAACG,EAAGhH,IAC7B8B,GAAAA,GAASpO,MACd6P,MAAM,CAAEiD,OAAQxG,IAChBqC,UAAUL,GACVyB,SAAS,cAQ2B9vB,KACtCguB,GACAG,GAAAA,GAASC,WAAWJ,EAAM,WAAW8B,SAAS,WAC9C,QAEFgD,EAAUK,GACVH,EAAkBC,EAAa,GAC7B,CAAC9C,IAOJ,OACClnB,EAAAA,GAAAA,MAAA,UACCQ,UAAU,cACV,aAAW,yBACX7T,MAAOm9B,EACPO,SAAWvzB,GAVWA,KACvBizB,EAAkBjzB,EAAEkb,OAAOrlB,OAC3Bq8B,EAA6BlyB,EAAEkb,OAAOrlB,MAAO,GAAG,EAQ9B29B,CAAexzB,GAAGqI,SAAA,EACnCS,EAAAA,GAAAA,KAAA,UAAQ2qB,QAAM,EAAAprB,SAAE1I,EAAE,iBACjBmzB,EAAO7yB,KAAI,CAAC4B,EAAMpB,KAEjBqI,EAAAA,GAAAA,KAAA,UAAkBjT,MAAOgM,EAAKwG,SAC5B+lB,GAAAA,GAASC,WAAWxsB,EAAM,cACzB8sB,UAAUxxB,KACV4yB,SAAS,cAHCtvB,OAOP,EAGX,MCnDaizB,GAAWz4B,IAON,IAPO,MACxBihB,EAAK,QACL8H,EAAO,KACPxL,EAAI,MACJ3iB,EAAK,gBACL89B,EAAe,eACfC,GACW34B,EACX,MAAO44B,EAAaC,IAAkBxrB,EAAAA,EAAAA,WAAS,IACzC,EAAE3I,IAAMC,EAAAA,EAAAA,KAMd,OACCsJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,6BAA4BrB,SAAA,CACzC6T,IACAhT,EAAAA,GAAAA,MAAA,OACCQ,UAAU,+BACVkB,QATmBmpB,KACtBD,GAAgBD,EAAY,EAQDxrB,SAAA,EACxBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gBAAerB,SAAA,EAC7BS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAMA,EACNwb,KAAK,KACLhwB,MAAO2vB,KAER7qB,EAAAA,GAAAA,KAAA,QAAMY,UAAU,iBAAgBrB,SAAE6T,QAEnCpT,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf5O,UAAU,aACV8O,KAAMqb,EAAcI,GAAAA,IAAgBC,GAAAA,UAIrCL,IAED/qB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAAmCrB,SAChD2b,GACD9a,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACAS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kDAAiDrB,SAEvD,OAAP2b,QAAO,IAAPA,OAAO,EAAPA,EAAS/jB,KAAI,CAAC+jB,EAASsI,KACvBxjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACnB1I,EAAEqkB,IADuBsI,QAO7BxjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kDAAiDrB,SAEzD,OAALxS,QAAK,IAALA,OAAK,EAALA,EAAOoK,KAAI,CAACQ,EAAK6rB,KACjBxjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACnB5H,GADyB6rB,WAQ3BxjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,SACnCurB,QAMD,ECqFR,SAlJA,SAAc34B,GAA4C,IAAxC,QAAEk5B,EAAO,KAAE70B,EAAI,QAAE80B,GAAoBn5B,EACtD,MAAMo5B,EAAeF,EAAQl6B,QAC3BC,QAAiBgC,IAAXhC,EAAEqiB,OAAiC,IAAXriB,EAAEqiB,QAG3B+X,EAAcC,IAAmBjsB,EAAAA,EAAAA,UAAmB,KACpDksB,EAAYC,IAAiBnsB,EAAAA,EAAAA,aAC7BosB,EAAiBC,IAAsBrsB,EAAAA,EAAAA,UAC7CuP,GAAWK,MAGN0c,EAAiBhnB,GAAe0mB,EAAan6B,SAASyT,GACtDinB,EAAoBC,IACzB,OAAQA,GACP,IAAK,SACJ,MAAO,eACR,IAAK,QACJ,MAAO,cAER,QACC,MAAO,aACT,EAwCD,OACC5rB,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,QAAOrB,SAAA,EACvBS,EAAAA,GAAAA,KAAA,SAAAT,UACCS,EAAAA,GAAAA,KAAA,MAAAT,SACEgsB,EAAap0B,KAAI,CAAC80B,EAAQt0B,KAC1B,OACCqI,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,UACdS,EAAAA,GAAAA,KAAA,MAAAT,UACCS,EAAAA,GAAAA,KAAA,OACCY,UAAW,gBAAgBmrB,EAC1BE,EAAOD,SACJzsB,SACH0sB,EAAOC,MAjDOC,EAkDGF,GAhDzB7rB,EAAAA,GAAAA,MAAA,UACC0B,QAASA,KACR,IAAIsqB,EAEHA,EADGD,EAAOF,SAAWP,GAEpBE,IAAoB7c,GAAWU,IAC5BV,GAAWY,KAGAZ,GAAWU,IAG3Boc,EAAmBO,GACnBT,EAAcQ,EAAOF,QAEjBE,EAAOD,MACVC,EAAOD,KACNE,IAAiBrd,GAAWU,IAAM,MAAQ,OAE5C,EACClQ,SAAA,EACFS,EAAAA,GAAAA,KAAA,OAAAT,SAAM4sB,EAAOF,UACbjsB,EAAAA,GAAAA,KAACgP,GAAa,CACbC,QAASA,OACTC,SAAUA,OACVC,eACCuc,IAAeS,EAAOF,OACnBL,EACA7c,GAAWK,WAqBP6c,EAAOA,YARQt0B,GA3CHw0B,KAsDD,SAKrBnsB,EAAAA,GAAAA,KAAA,SAAAT,SACM,OAAJ/I,QAAI,IAAJA,OAAI,EAAJA,EAAMW,KAAI,CAACk1B,EAAG10B,KAEbyI,EAAAA,GAAAA,MAACV,EAAAA,SAAc,CAAAH,SAAA,EACdS,EAAAA,GAAAA,KAAA,MACCssB,KAAK,SACL1rB,UAAW,aACV0qB,EAAU,aAAe,IAE1BxpB,QAASA,KACR,MAAMgD,EAAKnN,EAAIqC,WACf,GAAI8xB,EAAchnB,GAAK,CACtB,MAAMvL,EAAOiyB,EAAar6B,QACxBC,GAAMA,IAAM0T,IAEd2mB,EAAgBlyB,EACjB,MACCkyB,EAAgB,IAAID,EAAc1mB,GACnC,EACCvF,SACDgsB,EAAap0B,KAAI,CAAC80B,EAAQM,KAC1B,MAAMC,EAAaP,EAAOQ,KACvBR,EAAOQ,KACP,CACCC,SAAUL,EACVM,WAAYb,EACXn0B,EAAIqC,aAGNrC,GAEA00B,EAAEJ,EAAOW,UACZ,OACC5sB,EAAAA,GAAAA,KAAA,MAECY,UAAW,GAAGmrB,EACbE,EAAOD,SACJzsB,SACHitB,GAJI,GAAGP,EAAOW,SAAS5yB,cAAcrC,KAAO40B,IAKzC,MAIPjB,IACAtrB,EAAAA,GAAAA,KAAA,MAAIY,UAAU,UAASrB,UACtBS,EAAAA,GAAAA,KAAA,MAAI6sB,QAAStB,EAAazzB,OAAOyH,UAChCS,EAAAA,GAAAA,KAAC0b,GAAAA,EAAc,CACdN,SAAU0Q,EACTn0B,EAAIqC,YAELuF,SAAU+rB,EAAQe,WA/CF10B,SA0D3B,E,eCnKA,MAsCA,GA/BYxF,IAA8B,IAA7B,IAAE26B,EAAG,KAAEC,GAAgB56B,EACnC,MAAM66B,EAAWC,WAAWH,GACtBI,EAAYD,WAAWF,IAEvB,SAAEI,IAAaC,EAAAA,GAAAA,IAAc,CAClCC,iBAZ2B,4CActBC,EAAS,CAAER,IAAKE,EAAU96B,IAAKg7B,GAOrC,OAAKC,GAIJntB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAE3BS,EAAAA,GAAAA,KAACutB,GAAAA,GAAS,CACTC,kBAZc,CACjBltB,OAAQ,QACRmtB,SAAU,UAWPH,OAAQA,EACRI,KAAM,GAAGnuB,UACTS,EAAAA,GAAAA,KAAC2tB,GAAAA,GAAM,CAACntB,SAAU8sB,SATdttB,EAAAA,GAAAA,KAAC2R,GAAc,GAYhB,ECgaR,GArayBxf,IAAwC,IAAvC,WAAEw3B,GAA+Bx3B,EAC1D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KAEX,6BAAEs0B,EAA4B,UAAEX,EAAS,aAAEF,GAChDD,KAEKsF,EAAgB70B,IAAwB,IAAD80B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC5C,MAAMC,EAAkBj2B,EAAKi2B,gBAEvBC,EAAmB,CACxBnC,IAAoB,OAAfkC,QAAe,IAAfA,GAA+B,QAAhBnB,EAAfmB,EAAiBE,sBAAc,IAAArB,GAAkB,QAAlBC,EAA/BD,EAAiCsB,wBAAgB,IAAArB,OAAlC,EAAfA,EAAmDd,SACxDD,KAAqB,OAAfiC,QAAe,IAAfA,GAA+B,QAAhBjB,EAAfiB,EAAiBE,sBAAc,IAAAnB,GAAkB,QAAlBC,EAA/BD,EAAiCoB,wBAAgB,IAAAnB,OAAlC,EAAfA,EAAmDd,UACzDkC,OAAuB,OAAfJ,QAAe,IAAfA,GAA+B,QAAhBf,EAAfe,EAAiBE,sBAAc,IAAAjB,GAAO,QAAPC,EAA/BD,EAAiCoB,aAAK,IAAAnB,GAAK,QAALC,EAAtCD,EAAyC,UAAE,IAAAC,OAA5B,EAAfA,EAA6C1zB,IACrD60B,WAA2B,OAAfN,QAAe,IAAfA,GAA+B,QAAhBZ,EAAfY,EAAiBE,sBAAc,IAAAd,GAAO,QAAPC,EAA/BD,EAAiCiB,aAAK,IAAAhB,GAAK,QAALC,EAAtCD,EAAyC,UAAE,IAAAC,OAA5B,EAAfA,EAA6CiB,WACzDC,aAA6B,OAAfR,QAAe,IAAfA,GAA+B,QAAhBT,EAAfS,EAAiBE,sBAAc,IAAAX,OAAhB,EAAfA,EAAiCiB,aAC/CC,YAA4B,OAAfT,QAAe,IAAfA,GAA+B,QAAhBR,EAAfQ,EAAiBE,sBAAc,IAAAV,OAAhB,EAAfA,EAAiCiB,YAC9CC,YACgB,OAAfV,QAAe,IAAfA,GAAgC,QAAjBP,EAAfO,EAAiBW,uBAAe,IAAAlB,OAAjB,EAAfA,EAAkCmB,sBACnCC,aACgB,OAAfb,QAAe,IAAfA,GAAgC,QAAjBN,EAAfM,EAAiBW,uBAAe,IAAAjB,OAAjB,EAAfA,EAAkCoB,uBACnCC,QAAwB,OAAff,QAAe,IAAfA,GAA+B,QAAhBL,EAAfK,EAAiBE,sBAAc,IAAAP,OAAhB,EAAfA,EAAiCqB,WAC1CC,MAAsB,OAAfjB,QAAe,IAAfA,GAA+B,QAAhBJ,EAAfI,EAAiBE,sBAAc,IAAAN,OAAhB,EAAfA,EAAiCqB,MACxCnX,MAAsB,OAAfkW,QAAe,IAAfA,GAA+B,QAAhBH,EAAfG,EAAiBE,sBAAc,IAAAL,OAAhB,EAAfA,EAAiC/V,OAGzC,MAAO,CACNoX,aAAcjB,EAAiBG,QAC9BpvB,EAAAA,GAAAA,KAAA,OACCU,IAAKuuB,EAAiBG,OACtBvuB,IAAKouB,EAAiBK,WACtB1uB,UAAU,yBAGXZ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAEhB4uB,aAC8C,QADlCV,EACI,OAAfE,QAAe,IAAfA,GAA+B,QAAhBD,EAAfC,EAAiBE,sBAAc,IAAAH,OAAhB,EAAfA,EAAiCS,oBAAY,IAAAV,EAAAA,EAAI/1B,EAAKo3B,OACvDC,YAAar3B,EAAKs3B,uBACf,GACA,IAAIzZ,KAAK7d,EAAKq3B,aAAarQ,mBAC3B1rB,KAEH6zB,gBAAiB,IAAItR,KAAK7d,EAAKmvB,iBAAiBnI,mBAC/C1rB,KAEDo7B,YACC12B,EAAKs3B,wBAA+C,SAArBt3B,EAAK02B,YACjC54B,EAAE,4BACFkC,EAAK02B,YACT,EA0KIa,EAA6C,CAClD,CAEC1D,SAAU,kBACVX,OAAQ,GACRxY,KAAMvT,EACNusB,KAAMxrB,IAAmB,IAAlB,SAAEyrB,GAAUzrB,EAClB,MAAMzK,EAAOo3B,EAAalB,GACpB8C,EAAetvB,EAClB1J,EAAKg5B,aAAa3yB,UAAU,EAAG,IAC/BrG,EAAKg5B,aACR,OACCpvB,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0BAAyBrB,SAAA,EACvCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gBAAerB,SAC5B/I,EAAK05B,gBAEPlwB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gBAAerB,SAAEiwB,QAEjCpvB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,6BAA4BrB,SAAA,EAC1CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,SAC/B/I,EAAK0xB,mBAEPloB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6BAA4BrB,UAC1CS,EAAAA,GAAAA,KAAA,OAAAT,SAAM,GAAGjL,EACRo4B,EAAS6D,kBACL7D,EAAS8D,2BAGX,GAIT,CACC5D,SAAU,kBACVX,OAAQp1B,EAAE,YACV4c,MAAOvT,EACPusB,KAAMgE,IAAmB,IAAlB,SAAE/D,GAAU+D,EAClB,MAAMj6B,EAAOo3B,EAAalB,GACpB8C,EAAeh5B,EAAKg5B,aAC1B,OACCpvB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0BAAyBrB,SAAA,EACvCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gBAAerB,SAAE/I,EAAK05B,gBACrClwB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gBAAerB,SAAEiwB,MAC3B,EAGRtD,KAAO/zB,IACO,QAATA,EACHswB,EAAUtwB,MAAK,CAACE,EAAGC,IAClB+E,GACCuwB,EAAav1B,GAAGm3B,aAChB5B,EAAat1B,GAAGk3B,aAChB,SAIF/G,EAAUtwB,MAAK,CAACE,EAAGC,IAClB+E,GACCuwB,EAAav1B,GAAGm3B,aAChB5B,EAAat1B,GAAGk3B,aAChB,SAGH,GAGF,CACC5C,SAAU,kBACVX,OAAQp1B,EAAE,mBACV4c,MAAOvT,EACPusB,KAAMrrB,IAAmB,IAAlB,SAAEsrB,GAAUtrB,EAClB,MAAM5K,EAAOo3B,EAAalB,GAC1B,OAAO1sB,EAAAA,GAAAA,KAAA,OAAAT,SAAM/I,EAAK0xB,iBAAsB,EAEzCgE,KAAO/zB,IACO,QAATA,EACHswB,EAAUtwB,MAAK,CAACE,EAAGC,IAClB+E,GAAWhF,EAAE6vB,gBAAiB5vB,EAAE4vB,gBAAiB,SAGlDO,EAAUtwB,MAAK,CAACE,EAAGC,IAClB+E,GACChF,EAAE6vB,gBACF5vB,EAAE4vB,gBACF,SAGH,GAGF,CACC0E,SAAU,cACVX,OAAQp1B,EAAE,eACV4c,MAAOvT,EACPusB,KAAMnrB,IAAmB,IAAlB,SAAEorB,GAAUprB,EAElB,OADassB,EAAalB,GACd+C,WAAW,GAGzB,CACC7C,SAAU,gBACVX,OAAQp1B,EAAE,iBACV4c,MAAOvT,EACP8rB,MAAO,QACPS,KAAMjrB,IAAmB,IAAlB,SAAEkrB,GAAUlrB,EAClB,MAAO,GAAGlN,EAAao4B,EAASzH,WAAWyH,EAAS9iC,UAAU,EAE/DsiC,KAAO/zB,IACO,QAATA,EACHswB,EAAUtwB,MAAK,CAACE,EAAGC,IAAMD,EAAEk4B,cAAgBj4B,EAAEi4B,gBAE7C9H,EAAUtwB,MAAK,CAACE,EAAGC,IAAMA,EAAEi4B,cAAgBl4B,EAAEk4B,eAC9C,GAGF,CACC3D,SAAU,gBACVX,OAAQp1B,EAAE,iBACV4c,MAAOvT,EACP8rB,MAAO,QACPS,KAAM/qB,IAAmB,IAAlB,SAAEgrB,GAAUhrB,EAClB,OACC1B,EAAAA,GAAAA,KAAA,OAAAT,SAAM,GAAGjL,EAAao4B,EAASgE,kBAC9BhE,EAAS8D,mBACD,EAGXtE,KAAO/zB,IACO,QAATA,EACHswB,EAAUtwB,MAAK,CAACE,EAAGC,IAAMD,EAAEq4B,cAAgBp4B,EAAEo4B,gBAE7CjI,EAAUtwB,MAAK,CAACE,EAAGC,IAAMA,EAAEo4B,cAAgBr4B,EAAEq4B,eAC9C,GAGF,CACC9D,SAAU,aACVX,OAAQ,GACRQ,KAAOkE,IAEL3wB,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAMihB,EAAIhE,WAAa,aAAe,eACtCL,KAAK,aAMV,OACClsB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oBAAmBrB,SAAA,CAChC1I,EAAE,iBAED8yB,IACD3pB,EAAAA,GAAAA,KAACgb,GAAO,CACPjiB,KAAM,CACLhM,MAAO8J,EAAE,mBAKbuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uCAAsCrB,SAAA,EAClDoqB,IACD3pB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,+BAA8BrB,UAC5CS,EAAAA,GAAAA,KAAC+pB,GAAM,CACNX,6BACCA,MAMHX,EAAU3wB,QAAU,GACpBsI,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAC4wB,GAAK,CACLvF,QAASiF,EACT95B,KAAMiyB,EACN6C,QAzVgBuF,IAA2B,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC/C,MAAMhE,EAAkB6B,EAAQ7B,gBAC1BiE,GACU,OAAfjE,QAAe,IAAfA,GAA+B,QAAhB8B,EAAf9B,EAAiBE,sBAAc,IAAA4B,OAAhB,EAAfA,EAAiChY,SAClB,OAAfkW,QAAe,IAAfA,GAA+B,QAAhB+B,EAAf/B,EAAiBE,sBAAc,IAAA6B,OAAhB,EAAfA,EAAiCf,cAClB,OAAfhB,QAAe,IAAfA,GAA+B,QAAhBgC,EAAfhC,EAAiBE,sBAAc,IAAA8B,OAAhB,EAAfA,EAAiCf,OAC5BA,EAAuB,OAAfjB,QAAe,IAAfA,GAA+B,QAAhBiC,EAAfjC,EAAiBE,sBAAc,IAAA+B,OAAhB,EAAfA,EAAiChB,MACzCnX,EAAuB,OAAfkW,QAAe,IAAfA,GAA+B,QAAhBkC,EAAflC,EAAiBE,sBAAc,IAAAgC,OAAhB,EAAfA,EAAiCpY,MACzCkX,EAA4B,OAAfhB,QAAe,IAAfA,GAA+B,QAAhBmC,EAAfnC,EAAiBE,sBAAc,IAAAiC,OAAhB,EAAfA,EAAiCnB,WAC9CkD,EtDujBwBC,KAC/B,MAAMD,EAAen2B,GAAao2B,GAClC,OAAID,EACI,GAAGA,EAAap4B,SAASo4B,EAAaj2B,UAEtC,EACR,EsD7jBsBm2B,CAAuB,OAAPvC,QAAO,IAAPA,OAAO,EAAPA,EAASjnC,UAExC6lC,EADOoB,EAAQpB,YACI5yB,UAAU,EAAG,IAEtC,OAAKg0B,GAEJ7wB,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,eAAcrB,SAAA,EAC5BS,EAAAA,GAAAA,KAAC4qB,GAAQ,CACR1P,QAAS,CACR,SACA,gBACA,WACA,mBAEDnuB,MAAO,CACNuH,EAAau8B,EAAQ5L,OAAQ,CAC5Br7B,SAAUinC,EAAQjnC,SAAUoQ,WAC5BkB,MAAO,aAER5G,EAAau8B,EAAQN,cAAe,CACnC3mC,SACCinC,EAAQL,gBAAiBx2B,WAC1BkB,MAAO,aAERg4B,EACArC,EAAQwC,oBAGVrzB,EAAAA,GAAAA,KAAC4qB,GAAQ,CACRxX,MAAOvc,EAAE,uBACT6Y,KAAM4jB,GAAAA,IACNpY,QAAS,CAAC,eAAgB,mBAC1BnuB,MAAO,CACN8jC,EAAQ0C,aAAcv5B,WACtB62B,EAAQjnC,SAAUoQ,kBAIrBoG,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gBAAerB,SAAA,EAC7BS,EAAAA,GAAAA,KAAC4qB,GAAQ,CACR1P,QAAS,CAAC,cAAe,mBACzBnuB,MAAO,CACN44B,GAAqBkL,EAAQT,aAC7BzK,GAAqBkL,EAAQ3I,qBAG/BloB,EAAAA,GAAAA,KAAC4qB,GAAQ,CACR1P,QAAS,CACR,cACuB,QAAvBkW,EAAAP,EAAQ7B,uBAAe,IAAAoC,GAAgB,QAAhBC,EAAvBD,EAAyBlC,sBAAc,IAAAmC,GACpB,QADoBC,EAAvCD,EACGmC,wBAAgB,IAAAlC,GADnBA,EACqB7B,YAClB,WACA,IAEJ1iC,MAAO,CACK,OAAX0iC,QAAW,IAAXA,OAAW,EAAXA,EAAahV,eACU,QAAvB8W,EAAAV,EAAQ7B,uBAAe,IAAAuC,GAAgB,QAAhBC,EAAvBD,EAAyBrC,sBAAc,IAAAsC,GAAkB,QAAlBC,EAAvCD,EAAyCgC,wBAAgB,IAAA/B,GAAa,QAAbC,EAAzDD,EAA2DhC,mBAAW,IAAAiC,OAA/C,EAAvBA,EAAwEjX,gBACvE,OAGqB,QAAvBkX,EAAAd,EAAQ7B,uBAAe,IAAA2C,GAAiB,QAAjBC,EAAvBD,EAAyBhC,uBAAe,IAAAiC,OAAjB,EAAvBA,EACEhC,yBACqB,QADAiC,EACvBhB,EAAQ7B,uBAAe,IAAA6C,GAAiB,QAAjBC,EAAvBD,EAAyBlC,uBAAe,IAAAmC,OAAjB,EAAvBA,EACGhC,0BACF9vB,EAAAA,GAAAA,KAAC4qB,GAAQ,CACRxX,MAAOvc,EAAE,mBACT6Y,KAAM+jB,GAAAA,IACNvY,QAAS,CACR,wBACA,2BAEDnuB,MAAO,CACqE,QADrEglC,EACiB,QADjBC,EACNnB,EAAQ7B,uBAAe,IAAAgD,GAAiB,QAAjBC,EAAvBD,EAAyBrC,uBAAe,IAAAsC,GAAuB,QAAvBC,EAAxCD,EAA0CrC,6BAAqB,IAAAsC,OAAxC,EAAvBA,EAAiEl4B,kBAAU,IAAA+3B,EAAAA,EAC1E,GAC2E,QADzEI,EACoB,QADpBC,EACHvB,EAAQ7B,uBAAe,IAAAoD,GAAiB,QAAjBC,EAAvBD,EAAyBzC,uBAAe,IAAA0C,GAAwB,QAAxBC,EAAxCD,EAA0CvC,8BAAsB,IAAAwC,OAAzC,EAAvBA,EAAkEt4B,kBAAU,IAAAm4B,EAAAA,EAC3E,IAEFtH,gBAAiB,CAChB6I,UACC,6CAKNtzB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,eAAcrB,SAAA,EACJ,QAAvBgzB,EAAA1B,EAAQ7B,uBAAe,IAAAuD,GAAgB,QAAhBC,EAAvBD,EAAyBrD,sBAAc,IAAAsD,GACrB,QADqBC,EAAvCD,EACErD,wBAAgB,IAAAsD,OADK,EAAvBA,EACoBvF,aACG,QADMwF,EAC7B7B,EAAQ7B,uBAAe,IAAA0D,GAAgB,QAAhBC,EAAvBD,EAAyBxD,sBAAc,IAAAyD,GACpB,QADoBC,EAAvCD,EACGxD,wBAAgB,IAAAyD,OADI,EAAvBA,EACqB5F,YACpBhtB,EAAAA,GAAAA,KAAC4qB,GAAQ,CACRxX,MAAOvc,EAAE,YACTi0B,eAAgB,EACf9qB,EAAAA,GAAAA,KAAC2zB,GAAG,CACH7G,IACwB,QADrB+F,EACFhC,EAAQ7B,uBAAe,IAAA6D,GACN,QADMC,EAAvBD,EACG3D,sBAAc,IAAA4D,OADM,EAAvBA,EAEG3D,iBAAiBnC,SAErBD,KACwB,QADpBgG,EACHlC,EAAQ7B,uBAAe,IAAA+D,GACN,QADMC,EAAvBD,EACG7D,sBAAc,IAAA8D,OADM,EAAvBA,EAEG7D,iBAAiBjC,eAMzB+F,IACAjzB,EAAAA,GAAAA,KAAC4qB,GAAQ,CACRxX,MAAOvc,EAAE,WACTi0B,eAAgB,CACfhS,GACC1Y,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,OAAMrB,UACrBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAMkkB,GAAAA,QAGP9a,MAGF9Y,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,IAED4vB,GACC7vB,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,OAAMrB,UACrBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAMmkB,GAAAA,QAGP5D,MAGFjwB,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,IAED2vB,GACC5vB,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,OAAMrB,UACrBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAMokB,GAAAA,QAGP9D,MAGFhwB,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,gBA/IaL,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,GAsJjB,KAwLAL,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,UAC7CS,EAAAA,GAAAA,KAAC0pB,GAAM,CACNC,WAAYA,EACZC,SAAUA,IACTR,EACCX,EAAU,GAAGP,gBACbO,EAAU3wB,OAAS,IAGrBywB,aAAcA,UAKjBvoB,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BAGH,EC5YR,MACA,GAAe,IAA0B,wECvClC,IAAK4d,GAAW,SAAXA,GAAW,OAAXA,EAAW,YAAXA,EAAW,kBAAXA,EAAW,8BAAXA,CAAW,MCdhB,MAAMsf,GAAgBA,KACrB5zB,EAAAA,EAAAA,YAAW0nB,ICmCZ,IAAKmM,GAAkB,SAAlBA,GAAkB,OAAlBA,EAAkB,oBAAlBA,EAAkB,gBAAlBA,EAAkB,sBAAlBA,EAAkB,gBAAlBA,EAAkB,kBAAlBA,EAAkB,wBAAlBA,CAAkB,MA2JvB,IAAKC,GAAY,SAAZA,GAAY,OAAZA,EAAY,gBAAZA,EAAY,kBAAZA,EAAY,sBAAZA,EAAY,8BAAZA,EAAY,4BAAZA,CAAY,MAwEZC,GAAoB,SAApBA,GAAoB,OAApBA,EAAoB,gBAApBA,EAAoB,oBAApBA,CAAoB,MAKpBC,GAAU,SAAVA,GAAU,OAAVA,EAAU,gBAAVA,EAAU,kBAAVA,CAAU,MCzOVC,GAAc,SAAdA,GAAc,OAAdA,EAAc,oBAAdA,EAAc,gBAAdA,EAAc,sBAAdA,EAAc,gBAAdA,EAAc,oBAAdA,CAAc,M,eCJ1B,MACA,GAAe,IAA0B,6ECnBnCC,GAAa,CAclBz+B,oBAAyB0+B,MAACxqB,SACN1F,GACjBgI,IACAzH,GAAUoF,iBAAiBD,SACrBnG,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,mBAAwB2+B,MAACzqB,SACL1F,GACjBgI,IACAzH,GAAUqF,cAAcF,SAClBnG,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,sBAA2BqU,MAC1BC,EACAxO,UAEiB0I,GACfgI,IAAIzH,GAAUsF,sBAAsBC,GAAoB,UAC9CvG,KACV+J,aAAc,SAEdrB,MAAM9V,IAINkF,GAHW,IAAI+4B,KAAK,CAACj+B,EAASC,MAAO,CACpCqL,KAAM,oBAEQnG,EAAWwO,EAAoB,OAAO,IAErD6C,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,sBAA2B6T,MAACgrB,SACVrwB,GACfkJ,KACA3I,GAAU8E,sBACVgrB,QACM9wB,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,sBAA2B8T,MAAC+qB,SACVrwB,GACfkJ,KACA3I,GAAU+E,sBACV+qB,QACM9wB,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,aAAkB+T,MAAC8qB,SACDrwB,GACfkJ,KACA3I,GAAUgF,aACV8qB,QACM9wB,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,gBAAqBgU,MAAC/gB,SACFub,GACjBgI,IACAzH,GAAUiF,gBAAgB/gB,SACpB8a,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,YAAiBiU,MAACC,SACE1F,GACjBgI,IAAIzH,GAAUkF,YAAYC,SAAgBnG,MAC1C0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,IAKvCR,eAAoB8+B,MAAC5qB,SACH1F,GACfkJ,KACA3I,GAAUwF,kBACVL,QACMnG,MAEN0I,MAAM9V,GACCA,IAEPwW,OAAO3W,IAEP,MADAiN,GAASjN,GACHD,GAAwBC,EAAM,KAMxC,MCrKau+B,GAAkBxiC,IAAoC,IAAnC,KAAEshB,EAAI,YAAEd,GAAqBxgB,EAC5D,MAAM,aAAEkc,EAAY,kBAAEumB,IAAsBz0B,EAAAA,EAAAA,YAAW0nB,KACjD,EAAEhxB,IAAMC,EAAAA,EAAAA,MACP+9B,EAASC,IAAct1B,EAAAA,EAAAA,WAAkB,IACzCpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,WAAkB,IACrCwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzCsK,EAASirB,IAAcv1B,EAAAA,EAAAA,YA4B9B,OA1BA+P,EAAAA,EAAAA,YAAU,KACTwlB,EAAuB,OAAZ1mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAAW,GAClC,CAAC3mB,KAyBHrO,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCa,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CACL5S,UAAW,GAAGhY,EAAAA,EAAUC,oCACxB4qB,KAAMA,EACNC,OAAQA,KACHtd,GACH8lB,GAAS,GAEVvJ,IACAiiB,GAAkB,EAAK,EAExB/gB,SAAS,SACTohB,UAAU,EAAM11B,SAAA,EAChBS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMM,OAAM,CAACC,aAAW,EAAAxU,UACxBS,EAAAA,GAAAA,KAACwT,GAAAA,EAAM0hB,MAAK,CAAA31B,SAAE1I,EAAE,kBAEhBmlB,GACAhc,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,UACVS,EAAAA,GAAAA,KAAC0R,GAAa,OAGf1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEs1B,GACAz0B,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,UACVS,EAAAA,GAAAA,KAACc,GAAO,CACPC,IAAK,UACLpK,QAASE,EAAE,0BAIbmJ,EAAAA,GAAAA,KAACwT,GAAAA,EAAMU,OAAM,CAAA3U,UACZS,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CACNC,QAAQ,UACRtS,QAASA,KACR6Q,IACAiiB,GAAkB,EAAK,EACtBr1B,SACD1I,EAAE,iBAKNuJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCa,EAAAA,GAAAA,MAACoT,GAAAA,EAAMS,KAAI,CAAA1U,SAAA,EACVa,EAAAA,GAAAA,MAAC+0B,GAAAA,EAAK,CAACt+B,EAAGA,EAAGu+B,QAAQ,iBAAgB71B,SAAA,CAAC,yCAErCS,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,2CAENA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,4BAGN5J,GACA4J,EAAAA,GAAAA,KAACc,GAAO,CACPC,IAAK,OACLpK,QAASE,EAAE,eAGZmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,QAIFD,EAAAA,GAAAA,MAACoT,GAAAA,EAAMU,OAAM,CAAA3U,SAAA,EACZS,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CACNC,QAAQ,SACRxT,UAAU,cACVkB,QAASA,IA3FlBlM,iBAEC,GADAqmB,GAAW,QACK7oB,IAAZ0W,EACH,UACOuqB,GACJK,eAAe,CAAE5qB,YACjBuC,MAAM9V,IACkB,MAApBA,EAASG,OACZo+B,GAAW,GAEX5Y,GAAS,EACV,IAEAmZ,SAAQ,IAAMpZ,GAAW,IAC5B,CAAE,MAAO7lB,GACR8lB,GAAS,GACT7lB,QAAQC,KAAKF,GACb6lB,GAAW,EACZ,CAEF,CAuEwBqZ,GAAoB/1B,SAClC1I,EAAE,iBAEJmJ,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CACNC,QAAQ,UACRtS,QAASA,KACJ1L,GACH8lB,GAAS,GAEVvJ,GAAa,EACZpT,SACD1I,EAAE,wBAQR,ECrHQ0+B,GAAcA,KAC1B,MAAM,EAAE1+B,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,EAAY,cAAEmnB,IAAkBr1B,EAAAA,EAAAA,YAAW0nB,KAC5CzxB,EAAO8lB,IAAY1c,EAAAA,EAAAA,WAAkB,IAErCi2B,EAAYC,IAAiBl2B,EAAAA,EAAAA,aAE7Bm2B,EAAcC,IAAmBp2B,EAAAA,EAAAA,WAAkB,IACnDq2B,EAAkBC,IAAuBt2B,EAAAA,EAAAA,WAAkB,IAC3Dwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,GAwB1CyK,GAAwBuH,EAAAA,EAAAA,cAC7B5b,MAAOsU,EAA2BxO,KACjC,UACO24B,GAAWpqB,sBAChBC,EACAxO,EAEF,CAAE,MAAOtF,GACR8lB,GAAS,GACT7lB,QAAQC,KAAKF,EACd,IAED,IASD,OANAmZ,EAAAA,EAAAA,YAAU,KACT0M,GAAW,GACM,OAAbuZ,QAAa,IAAbA,GAAAA,EAAeO,eAvCEngC,WACrB,UACOy+B,GACJE,mBAAmBzqB,GACnBuC,MAAM9V,IACN,GAAwB,MAApBA,EAASG,OAAgB,CAC5B,IAAIs/B,EAA2Bz/B,EAASC,KACxCk/B,EAAcM,EACf,KAEAjpB,OAAO3W,IACPC,QAAQC,KAAKF,GACb8lB,GAAS,EAAK,IAEdmZ,SAAQ,IAAMpZ,GAAW,IAC5B,CAAE,MAAO7lB,GACRC,QAAQC,KAAKF,GACb8lB,GAAS,GACTD,GAAW,EACZ,GAqBCjS,CAA0B,OAAZqE,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAAY,GACvC,CAAC3mB,EAAcmnB,KAGjBx1B,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEyc,GACAhc,EAAAA,GAAAA,KAAC0R,GAAa,KAEd1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,cACiBnM,IAAfqiC,IACAr1B,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,UAASrB,UACvBS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,QAAOrB,SAAE1I,EAAE,YAE1BuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,eAAcrB,SAAA,EAC5BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,wBAAuBrB,UACrCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,YAAWrB,SAAA,EACzBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,WAAUrB,UACxBa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAAM1I,EAAE,aAAa,QACrBmJ,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,UAAAT,SACE,IAAIqX,KACJ6e,EAAWQ,eACVlW,mBACD1rB,eAgCL2L,EAAAA,GAAAA,KAAA,UACAI,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,WAAUrB,SAAA,EACxBa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAAM1I,EAAE,iBAAiB,QACzBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAE1Bk2B,EAAWvrB,wBAId9J,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAAM1I,EAAE,QAAQ,QAChBmJ,EAAAA,GAAAA,KAAA,OAAAT,SACEk2B,EAAWS,wBAMhBP,GACA31B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAACgB,GAAiB,CACjBD,IAAK,OACLpK,QAASE,EAAE,gBACXqK,QACClB,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,oCAAmCrB,SAC5C1I,EAAE,mBAMPmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAEDD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uBAAsBrB,SAAA,EACpCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAM,kBACNqc,YAAY,2BAEbrvB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,OAAAT,UACCa,EAAAA,GAAAA,MAAA,UACCyB,KAAK,SACLjB,UAAU,uCACVkB,QAASA,KACR,IAAIpG,EACHjG,IACGN,OAAOihC,OACP,KACJnsB,EACCwrB,EAAWvrB,kBACXxO,EACA,EACA6D,SAAA,EACFS,EAAAA,GAAAA,KAAA,QAAAT,SACE1I,EAAE,yBAEJmJ,EAAAA,GAAAA,KAAA,OACCU,IACC21B,GAEDz1B,UAAU,sBACVC,IAAI,uBAINzK,IACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxB1I,EAAE,8BAINuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0BAAyBrB,SAAA,EACvCS,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,uBAEPmJ,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,2CACVkB,QAASA,IACRg0B,GAAoB,GACpBv2B,SACA1I,EAAE,0BAKPmJ,EAAAA,GAAAA,KAAC20B,GAAe,CACflhB,KAAMoiB,EACNljB,YAAaA,IAAMmjB,GAAoB,WAM1C,E,eCjML,MAAMQ,GAAgC,CACrCC,MAAO,GACP/S,MAAO,EACPgT,eAAgB,OAChBC,iBAAiB,GAGLC,GACD,YADCA,GAED,YAFCA,GAGS,sBAHTA,GAIS,sBAJTA,GAMc,2BAG3B,SAASC,GAAQC,EAAUC,GAC1B,OAAQA,EAAOh1B,MACd,KAAK60B,GACJ,MAAO,IACHE,EACHL,MAAOM,EAAOC,QAAQP,OAExB,KAAKG,GACJ,MAAO,IACHE,EACHpT,MAAOqT,EAAOC,QAAQtT,OAExB,KAAKkT,GACJ,MAAO,IACHE,EACHL,MAAOM,EAAOC,QAAQP,MACtB/S,MAAOqT,EAAOC,QAAQtT,OAExB,KAAKkT,GACJ,MAAO,IACHE,EACHJ,eAAgBK,EAAOC,QAAQN,gBAEjC,KAAKE,GACJ,MAAO,IACHE,EACHH,gBAAiBI,EAAOC,QAAQL,iBAElC,QACC,OAAOG,EAEV,CAEO,MAAMG,IAAqB73B,EAAAA,EAAAA,eAG/B,CAAE03B,IAAKN,GAAcU,YAAaL,KAkNrC,SAhNA,SAAkBxkC,GAIN,IAJO,WAClB8kC,EAAU,mBACVC,GAAqB,EAAI,kBACzBC,GACQhlC,EACR,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,GAAe,CAACxD,EAAgB8jC,eAEvCR,EAAKI,IAAeK,EAAAA,EAAAA,YAAWV,GAASL,KAExCgB,EAAaC,IAAkB/3B,EAAAA,EAAAA,WAAkB,IACjDg4B,EAAYC,IAAiBj4B,EAAAA,EAAAA,WAAkB,IAC/Ck4B,EAAaC,IAAkBn4B,EAAAA,EAAAA,aAC/BkW,EAAOkiB,IAAYp4B,EAAAA,EAAAA,UAAkB23B,IACrCV,IAAmBj3B,EAAAA,EAAAA,UAAkB03B,GAG5C,IAAIW,EAA4B,OAAXH,QAAW,IAAXA,OAAW,EAAXA,EAAaG,eAElC,MAAMC,GAAgBtmB,EAAAA,EAAAA,cAAY,KACjC,MAAMumB,EAAat6B,eAAenL,QAJZ,OAKhB0lC,EAAcf,EAClB9lC,QAAQC,IAAiB,IAAXA,EAAEqiB,WAA4BrgB,IAAXhC,EAAEqiB,OACnCtc,KAAK/F,GAAMA,EAAE0T,KAEf,QAAmB1R,IAAf2kC,GAA2C,OAAfA,EAC/Bf,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,CACRP,MAAOyB,EACPxU,MAAO,SAGH,CACN,IAAIzqB,EAAO0T,KAAKqW,MAAMiV,GAClBriB,GACHshB,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,CACRP,MAAOyB,EACPxU,MAAO,KAGToU,GAAS,IAETZ,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,CACRP,MAAOx9B,EAAKw9B,MACZ/S,MAAOzqB,EAAKyqB,QAIhB,IACE,CAACyT,EAAYvhB,KAEhBnG,EAAAA,EAAAA,YAAU,KACTuoB,GAAe,GACb,KAEHvoB,EAAAA,EAAAA,YAAU,KACLqnB,IACHe,EACCV,EAAWhgC,MAAM7F,GAAMA,EAAE0T,KAAO8xB,EAAIL,MAAMK,EAAIpT,UAE/C+T,EAA6B,IAAdX,EAAIpT,OACnBiU,EAAcb,EAAIpT,SAAa,OAAHoT,QAAG,IAAHA,OAAG,EAAHA,EAAKL,MAAMz+B,QAAS,GAChD2F,eAAe+O,QAnDM,MAmDkBC,KAAKC,UAAUkqB,IACvD,GACE,CAACA,EAAKK,KAET1nB,EAAAA,EAAAA,YAAU,KACT,MAAM0oB,EAAchlC,SAASilC,eAAe,aACtCC,EAA6B,OAAXF,QAAW,IAAXA,OAAW,EAAXA,EAAaG,wBACjCxB,EAAIpT,MAAQ,QAAyBpwB,IAApB+kC,EACpBhjC,OAAOkjC,SAAS,CACfzd,KAAMud,EAAgBvd,KAAOzlB,OAAOmjC,QACpCC,IAAKJ,EAAgBI,IAAMpjC,OAAOqjC,QAAU,IAC5CC,SAAU,WAGXC,GACD,GACE,CAAC9B,EAAIpT,QAER,MAAMmV,EAAWA,KACXnB,GACJZ,GACCI,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,CACRtT,MAAOoT,EAAIpT,MAAQ,IAGvB,EAeKkV,EAAcA,KACnBvjC,OAAOkjC,SAAS,CACfE,IAAK,EACL3d,KAAM,EACN6d,SAAU,UACT,EAuBGG,EAAgBA,KASpBx4B,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qDAAoDrB,SAAA,EAChE+3B,IAAgBb,IAAoBe,IACrCx3B,EAAAA,GAAAA,KAAA,UACCY,UAAU,0CACVkB,QAASA,KApDRw1B,GACJV,GACCI,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,CACRtT,MAAOoT,EAAIpT,MAAQ,IAgDJ,EACbjkB,SACD1I,EAAE,eAGH2gC,IAAyB,OAAXE,QAAW,IAAXA,OAAW,EAAXA,EAAamB,iBAC5B74B,EAAAA,GAAAA,KAAA,UACCY,UAAU,uBACVkB,QAASA,SApBW1O,IAAnBykC,GACIA,IAAkBc,KAElBA,IAiB4Bp5B,SAChC1I,EAAE,GAAG+/B,EAAIJ,uBAuCf,OACCx2B,EAAAA,GAAAA,KAAC+2B,GAAmB92B,SAAQ,CAAClT,MAAO,CAAE6pC,MAAKI,eAAcz3B,UACxDa,EAAAA,GAAAA,MAAA,OAAK0E,GAAG,YAAWvF,SAAA,EAlFnBS,EAAAA,GAAAA,KAAA,OAAKY,UAAW,kCAAkCrB,SAChDq3B,GACAA,EAAIL,MAAMp/B,KAAI,CAAC2hC,EAActV,KAC5B,MAAMuV,EAASvV,GAASoT,EAAIpT,MAC5B,OACCxjB,EAAAA,GAAAA,KAACg5B,GAAAA,EAAW,CAEX5kB,QAAQ,OACRlnB,IAAK,EACLE,IAAK,EACL8pB,IAAK6hB,EAAS,EAAI,GAJbvV,EAKJ,OAuCNxjB,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACwB,OAAtB3W,EAAAA,EAAUC,SAA0C,OAAtBD,EAAAA,EAAUC,SACxCuX,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6CAA4CrB,UAC1DS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,SACrB,OAAXm4B,QAAW,IAAXA,OAAW,EAAXA,EAAap8B,SAGfs9B,QAGFx4B,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,yCAAwCrB,SAAA,EACtDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,mBAAkBrB,SAC9B1I,EAAE,GAAc,OAAX6gC,QAAW,IAAXA,OAAW,EAAXA,EAAazL,eAGrBjsB,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,SACrB,OAAXm4B,QAAW,IAAXA,OAAW,EAAXA,EAAap8B,UAGfs9B,aAeP,E,eCpSO,MAAMK,GAAcA,CAACC,EAAeC,KAClC,CACPD,SAAUA,EACVC,SAAUA,ICcCC,GAA0B5iC,IACtC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,MAChB/lC,EAAgByD,WAEjB,MAAO,CACNuiC,aAAcziC,EAAE,2BAChB0iC,SAAU,QACV9J,YAAa54B,EAAE,gCACf4c,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACT,CACC1kC,QAASkF,GACR5Q,EACAY,EAAaZ,iBACbwK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,oBACb73B,KAAM,WACNxK,MAAOR,EAAE,2BACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGC,kBACxBL,SAAS,GAEV,CACCC,UAAU,EACVC,YAAa,yBACb73B,KAAM,OACNxK,MAAOR,EAAE,gCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGE,uBACxBN,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,oBACPC,KAAM,QACNntC,MAAO,aAMZ,CACCyH,QAASkF,GACR3Q,EACAW,EAAaX,YACbuK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,cACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGvuC,YACxBmuC,SAAS,EACTW,UAAU,GAEX,CACCV,UAAU,EACVC,YAAa,mBACb73B,KAAM,OACNxK,MAAOR,EAAE,yBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGQ,iBACxBZ,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,cACPC,KAAM,QACNntC,MAAO,aAMZ,CAGCyH,QAAS,CACR,CACCzH,MAAO,MACPsK,MAAOR,EAAE,6BAEV,CACC9J,MAAO,cACPsK,MAAOR,EAAE,yBAEV,CACC9J,MAAO,WACPsK,MAAOR,EAAE,sBAEV,CACC9J,MAAO,QACPsK,MAAOR,EAAE,gCAGX4iC,UAAU,EACVC,YAAa,eACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGvsC,aACxBmsC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa2wC,kBAEdZ,UAAU,EACVC,YAAa,mBACb73B,KAAM,WACNxK,MAAOR,EAAE,0BACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG9vC,iBACxB0vC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4wC,wBAEdb,UAAU,EACVC,YAAa,yBACb73B,KAAM,WACNxK,MAAOR,EAAE,gCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG7vC,uBACxByvC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa6wC,oBAEdd,UAAU,EACVC,YAAa,sBACb73B,KAAM,WACNxK,MAAOR,EAAE,4BACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG5vC,oBACxBwvC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa8wC,0BAEdf,UAAU,EACVC,YAAa,4BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG3vC,0BACxBuvC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4B,QAEdmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,GAEV,CACChlC,QAASkF,GACRvQ,EACAO,EAAaP,WACbmK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,aACb73B,KAAM,WACNxK,MACsB,OAArBvB,EAAAA,EAAQC,SACLc,EAAE,6BAA8B,CAChChO,QAAS2K,MAETqD,EAAE,8BACN8iC,IAAK,GACL5sC,MAAOyJ,EAAKokC,WACZpB,SAAS,GAEV,CACChlC,QAAS0D,GAA+BtP,EAAAA,EAAUC,SAClD4wC,UAAU,EACVC,YAAa,kBACb73B,KAAM,WACNxK,MAAOR,EAAE,mCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKqkC,gBACZrB,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACC0sC,UAAU,EACVC,YAAa,MACb73B,KAAM,OACNxK,MAAOR,EAAE,aACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKskC,IACZtB,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACCyH,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX4iC,UAAU,EACVC,YAAa,QACb73B,KAAM,WACNxK,MAAOR,EAAE,eACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKukC,MACZvB,SAAS,EACTze,QAASlkB,EAAE,4BAGb,EC5SWmkC,GAA2BxkC,IACvC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,UAE7C,MAAO,CACNwiC,aAAcziC,EAAE,uBAChB0iC,SAAU/iC,EAAKykC,aACfxL,YAAa54B,EAAE,4BACf4c,MAAM,EACN+lB,SAAS,EACTG,IAAK,GACLT,SAAU,CACT,CACC1kC,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX6iC,YAAa,2BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT9J,MAAOyJ,EAAK0kC,yBACZvB,IAAK,GACLH,SAAS,GAEV,CACChlC,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX6iC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,wBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAK2kC,eACZ3B,SAAS,IAGX,EChDW4B,GAAsB5kC,IAClC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,UAE7C,MAAO,CACNwiC,aAAcziC,EAAE,uBAChB0iC,SAAU/iC,EAAKykC,aACfxL,YAAa54B,EAAE,4BACf4c,MAAM,EACN+lB,SAAS,EACTG,IAAK,GACLT,SAAU,CACT,CACC1kC,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX6iC,YAAa,2BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT9J,MAAOyJ,EAAK0kC,yBACZvB,IAAK,GACLH,SAAS,GAEV,CACChlC,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX6iC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,wBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAK2kC,eACZ3B,SAAS,IAGX,EChDW6B,GAA4B7kC,IACxC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,UAE7C,MAAO,CACNwiC,aAAcziC,EAAE,uBAChB0iC,SAAU/iC,EAAKykC,aACfxL,YAAa54B,EAAE,4BACf4c,MAAM,EACN+lB,SAAS,EACTG,IAAK,GACLT,SAAU,CACT,CACC1kC,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX6iC,YAAa,2BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT9J,MAAOyJ,EAAK0kC,yBACZvB,IAAK,GACLH,SAAS,EACT8B,SAAS,IAGX,EC5BWC,GAAuB/kC,IACnC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,QAEjB,MAAO,CACNC,aAAcziC,EAAE,wBAChB0iC,SAAU,oBACV9J,YAAa54B,EAAE,6BACf4c,MAAM,EACN+lB,SAAS,EACTN,SAAU,CA+BT,CACC1kC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GAAsB,GAAI1P,EAAa4B,QAChDmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,IAYX,EC/EWgC,GAA0BhlC,IACtC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,KACd,MAAO,CACNwiC,aAAc,GACdC,SAAU,qBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQ,KACRkiC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCQ,YAAa,UACb73B,KAAM,MACNxK,MAAOR,EAAE,eACT9J,MAAOyJ,EAAKklC,kBACZlC,SAAS,EACTW,UAAU,EACVR,IAAK,GACLnlC,QAAS,CACR,CACCzH,MAAOnE,EAAAA,EAAUC,QAAQmQ,cACzB3B,MAAOzO,EAAAA,EAAUC,QAAQmQ,gBAG3B2iC,aAAc,yBAA2B/yC,EAAAA,EAAUC,QACnD+yC,UAAU,GAEX,CACCnC,UAAU,EACVC,YAAa,WACbjK,YAAa54B,EAAE,uBACfgL,KAAM,WACNxK,MAAOR,EAAE,YACT2iC,SAAS,EACTG,IAAK,IAEN,CACCF,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,kBACT2iC,SAAS,EACTG,IAAK,KAGP,EC/CWkC,GAAcA,KAC1B,MAAM,EAAEhlC,IAAMC,EAAAA,EAAAA,KACd,MAAO,CACNwiC,aAAc,GACdC,SAAU,cACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCO,UAAU,EACVC,YAAa,UACb73B,KAAM,OACNxK,MAAOR,EAAE,WACT2iC,SAAS,EACTG,IAAK,IAEN,CACCF,UAAU,EACVC,YAAa,OACb73B,KAAM,WACNxK,MAAOR,EAAE,WACT2iC,SAAS,EACTG,IAAK,KAGP,EC1BWmC,GAAyBtlC,IACrC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,QAEjB,MAAO,CACNC,aAAcziC,EAAE,wBAChB0iC,SAAU,oBACV9J,YAAa54B,EAAE,6BACf4c,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACT,CACC1kC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GAAsB,GAAI1P,EAAa4B,QAChDmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,IAGX,ECpCWuC,GAAyBvlC,IACrC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,QAEjB,MAAO,CACNC,aAAcziC,EAAE,wBAChB0iC,SAAU,oBACV9J,YAAa54B,EAAE,UACf4c,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACA,CACIQ,YAAa,QACb73B,KAAM,OACNxK,MAAOR,EAAE,eACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKsiB,MACZ0gB,SAAS,EACrBwC,UAAU,IACVvC,UAAU,EACVwC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,2EACP4J,QAASE,EAAE,2BAIL,CACI6iC,YAAa,cACb73B,KAAM,OACNxK,MAAOR,EAAE,qBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKuiB,YACZygB,SAAS,EACrBC,UAAU,EACVwC,YAAa,CACG,CACIC,KAAM,gBACNnvC,MAAO,WACP4J,QAASE,EAAE,iBAEf,CACIqlC,KAAM,mBACNnvC,MAAO,qCACP4J,QAASE,EAAE,mBAIvB,CACRrC,QAASwD,GAA0CpP,EAAAA,EAAUC,SAC7D4wC,UAAU,EACVC,YAAa,UACb73B,KAAM,WACNxK,MAAOR,EAAE,4BACT9J,MAAOyJ,EAAK+hB,QAAQ1vB,QACpBszC,UAAU,EACV3C,SAAS,GAED,CACIE,YAAa,SACb73B,KAAM,OACNxK,MAAOR,EAAE,gBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAK+hB,QAAQ6jB,OACpB5C,SAAS,EACrBC,UAAU,GAEF,CACIC,YAAa,aACb73B,KAAM,OACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAK+hB,QAAQ8jB,WACpB7C,SAAS,EACrBC,UAAU,GAEF,CACIC,YAAa,OACb73B,KAAM,OACNxK,MAAOR,EAAE,cACT8iC,IAAK,GACL5sC,MAAOyJ,EAAK+hB,QAAQ+jB,KACpB9C,SAAS,EACrBC,UAAU,GAEX,CACCjlC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GAAsB,GAAI1P,EAAa4B,QAChDmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,IAGX,ECjHW+C,GAAyB/lC,IACrC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,QAEjB,MAAO,CACNC,aAAcziC,EAAE,wBAChB0iC,SAAU,oBACV9J,YAAa54B,EAAE,UACf4c,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACT,CACCO,UAAU,EACVC,YAAa,QACb73B,KAAM,OACNxK,MAAOR,EAAE,eACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKsiB,MACZ0gB,SAAS,EACTwC,UAAW,GACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,2EACP4J,QAASE,EAAE,2BAId,CACC4iC,UAAU,EACVC,YAAa,cACb73B,KAAM,OACNxK,MAAOR,EAAE,qBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKuiB,YACZygB,SAAS,EACTwC,UAAW,GACXC,YAAa,CACZ,CACCC,KAAM,gBACNnvC,MAAO,WACP4J,QAASE,EAAE,iBAEZ,CACCqlC,KAAM,mBACNnvC,MAAO,kBACP4J,QAASE,EAAE,mBAId,CACCrC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GAAsB,GAAI1P,EAAa4B,QAChDmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,IAGX,EC5EWgD,GAAyBhmC,IACrC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,QAEjB,MAAO,CACNC,aAAcziC,EAAE,wBAChB0iC,SAAU,oBACV9J,YAAa54B,EAAE,UACf4c,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACT,CACCQ,YAAa,QACb73B,KAAM,OACNxK,MAAOR,EAAE,eACT8iC,IAAK,GACL5sC,MAAW,OAAJyJ,QAAI,IAAJA,OAAI,EAAJA,EAAMsiB,MACb0gB,SAAS,EACTC,UAAU,EACVwC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,2EACP4J,QAASE,EAAE,2BAId,CACC6iC,YAAa,cACb73B,KAAM,OACNxK,MAAOR,EAAE,qBACT8iC,IAAK,GACL5sC,MAAW,OAAJyJ,QAAI,IAAJA,OAAI,EAAJA,EAAMuiB,YACbygB,SAAS,EACTC,UAAU,EACVwC,YAAa,CACZ,CACCC,KAAM,gBACNnvC,MAAO,WACP4J,QAASE,EAAE,iBAEZ,CACCqlC,KAAM,mBACNnvC,MAAO,kBACP4J,QAASE,EAAE,mBAId,CACCrC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GAAsB,GAAI1P,EAAa4B,QAChDmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,IAGX,EC7DWiD,GAA4BjmC,IACxC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,MAChB/lC,EAAgByD,WAEjB,MAAO,CACNuiC,aAAcziC,EAAE,2BAChB0iC,SAAU/iC,EAAKykC,aACfxL,YAAa54B,EAAE,gCACf4c,MAAM,EACN+lB,SAAS,EACTG,IAAK,GACLT,SAAU,CACT,CACC1kC,QAASkF,GACR5Q,EACAY,EAAaZ,iBACbwK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,oBACb73B,KAAM,WACNxK,MAAOR,EAAE,2BACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGC,kBACxBL,SAAS,GAEV,CACCC,UAAU,EACVC,YAAa,yBACb73B,KAAM,OACNxK,MAAOR,EAAE,gCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGE,uBACxBN,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,oBACPC,KAAM,QACNntC,MAAO,aAMZ,CACCyH,QAASkF,GACR3Q,EACAW,EAAaX,YACbuK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,cACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGvuC,YACxBmuC,SAAS,EACTW,UAAU,GAEX,CACCV,UAAU,EACVC,YAAa,mBACb73B,KAAM,OACNxK,MAAOR,EAAE,yBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGQ,iBACxBZ,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,cACPC,KAAM,QACNntC,MAAO,aAMZ,CAGCyH,QAAS,CACR,CACCzH,MAAO,MACPsK,MAAOR,EAAE,6BAEV,CACC9J,MAAO,cACPsK,MAAOR,EAAE,yBAEV,CACC9J,MAAO,WACPsK,MAAOR,EAAE,sBAEV,CACC9J,MAAO,QACPsK,MAAOR,EAAE,gCAGX4iC,UAAU,EACVC,YAAa,eACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAGvsC,aACxBmsC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa2wC,kBAEdZ,UAAU,EACVC,YAAa,mBACb73B,KAAM,WACNxK,MAAOR,EAAE,0BACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG9vC,iBACxB0vC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4wC,wBAEdb,UAAU,EACVC,YAAa,yBACb73B,KAAM,WACNxK,MAAOR,EAAE,gCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG7vC,uBACxByvC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa6wC,oBAEdd,UAAU,EACVC,YAAa,sBACb73B,KAAM,WACNxK,MAAOR,EAAE,4BACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG5vC,oBACxBwvC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa8wC,0BAEdf,UAAU,EACVC,YAAa,4BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKojC,SAAS,GAAG3vC,0BACxBuvC,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4B,QAEdmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,GAEV,CACChlC,QAASkF,GACRvQ,EACAO,EAAaP,WACbmK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,aACb73B,KAAM,WACNxK,MACsB,OAArBvB,EAAAA,EAAQC,SACLc,EAAE,6BAA8B,CAChChO,QAAS2K,MAETqD,EAAE,8BACN8iC,IAAK,GACL5sC,MAAOyJ,EAAKokC,WACZpB,SAAS,GAEV,CACChlC,QAAS0D,GAA+BtP,EAAAA,EAAUC,SAClD4wC,UAAU,EACVC,YAAa,kBACb73B,KAAM,WACNxK,MAAOR,EAAE,mCACT9J,MAAOyJ,EAAKqkC,gBACZrB,SAAS,EACTG,IAAK,GAELI,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACC0sC,UAAU,EACVC,YAAa,MACb73B,KAAM,OACNxK,MAAOR,EAAE,aACT9J,MAAOyJ,EAAKskC,IACZnB,IAAK,GACLH,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACCyH,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,OAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,SAGX4iC,UAAU,EACVC,YAAa,QACb73B,KAAM,WACNxK,MAAOR,EAAE,eACT9J,MAAOyJ,EAAKukC,MACZpB,IAAK,GACLH,SAAS,EACTze,QAASlkB,EAAE,4BAGb,EC3RW6lC,GAA4BlmC,IACxC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,MAChB/lC,EAAgByD,WAEjB,MAAO,CACNuiC,aAAcziC,EAAE,2BAChB0iC,SAAU,QACV9lB,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACT,CACC1kC,QAASkF,GACR5Q,EACAY,EAAaZ,iBACbwK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,oBACb73B,KAAM,WACNxK,MAAOR,EAAE,2BACT9J,MAAOyJ,EAAKojC,SAAS,GAAGC,kBACxBF,IAAK,GACLH,SAAS,GAEV,CACChlC,QAASkF,GACR3Q,EACAW,EAAaX,YACbuK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,cACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT9J,MAAOyJ,EAAKojC,SAAS,GAAGvuC,YACxBmuC,SAAS,EACTG,IAAK,GACLQ,UAAU,GAEX,CACC3lC,QAASkF,GACR1Q,EACAU,EAAaV,aACbsK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,eACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT9J,MAAOyJ,EAAKojC,SAAS,GAAGvsC,aACxBssC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa2wC,kBAEdZ,UAAU,EACVC,YAAa,mBACb73B,KAAM,WACNxK,MAAOR,EAAE,0BACT9J,MAAOyJ,EAAKojC,SAAS,GAAG9vC,iBACxB6vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAASoC,KACT6iC,UAAU,EACVC,YAAa,yBACb73B,KAAM,WACNxK,MAAOR,EAAE,gCACT9J,MAAOyJ,EAAKojC,SAAS,GAAG7vC,uBACxB4vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa6wC,oBAEdd,UAAU,EACVC,YAAa,sBACb73B,KAAM,WACNxK,MAAOR,EAAE,4BACT9J,MAAOyJ,EAAKojC,SAAS,GAAG5vC,oBACxB2vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS8C,KACTmiC,UAAU,EACVC,YAAa,4BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT9J,MAAOyJ,EAAKojC,SAAS,GAAG3vC,0BACxB0vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4B,QAEdmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,GAEV,CACChlC,QAASkF,GACRvQ,EACAO,EAAaP,WACbmK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,aACb73B,KAAM,WACNxK,MACsB,OAArBvB,EAAAA,EAAQC,SACLc,EAAE,6BAA8B,CAChChO,QAAS2K,MAETqD,EAAE,8BACN8iC,IAAK,GACL5sC,MAAOyJ,EAAKokC,WACZpB,SAAS,GAEV,CACChlC,QAAS0D,GAA+BtP,EAAAA,EAAUC,SAClD4wC,UAAU,EACVC,YAAa,kBACb73B,KAAM,WACNxK,MAAOR,EAAE,mCACT9J,MAAOyJ,EAAKqkC,gBACZlB,IAAK,GACLH,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACC0sC,UAAU,EACVC,YAAa,MACb73B,KAAM,OACNxK,MAAOR,EAAE,aACT9J,MAAOyJ,EAAKskC,IACZnB,IAAK,GACLH,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACCyH,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,aAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,eAGX4iC,UAAU,EACVC,YAAa,QACb73B,KAAM,WACNxK,MAAOR,EAAE,eACT9J,MAAOyJ,EAAKukC,MACZpB,IAAK,GACLH,SAAS,EACTze,QAASlkB,EAAE,4BAGb,EC1NW8lC,GAAmCnmC,IAC/C,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,WACtCoJ,GAAYR,EAAAA,SAAe5K,KAclC,MAAO,CACNwkC,aAAc,GACdC,SAAU,yBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCQ,YAAa,qBACb73B,KAAM,OACNxK,MAAOR,EAAE,aACT9J,MAAOyJ,EAAKqW,UACZ2sB,SAAS,EACTW,UAAU,EACVR,IAAK,GACLiC,UAAU,GAEX,CACClC,YAAa,oBACb73B,KAAM,OACNxK,MAAOR,EAAE,YACT9J,MAAOyJ,EAAKomC,SACZpD,SAAS,EACTW,UAAU,EACVR,IAAK,GACLiC,UAAU,GAEX,CACClC,YAAa,kBACb73B,KAAM,OACNxK,MAAOR,EAAE,UACT9J,MAAOyJ,EAAK4lC,OACZ5C,SAAS,EACTwC,UAAW,GACXrC,IAAKz5B,EAAW,GAAK,EACrB07B,UAAU,GAEX,CACCnC,UAAU,EACVC,YAAa,uBACb73B,KAAM,OACNxK,MAAOR,EAAE,MACT9J,MAAOyJ,EAAKqmC,YACZrD,SAAS,EACTG,IAAKz5B,EAAW,GAAK,EACrB87B,UAAW,EACXJ,UAAU,GAEX,CACClC,YAAa,sBACb73B,KAAM,SACNxK,MAAOR,EAAE,OACT9J,MAAOyJ,EAAK6lC,WACZ7C,SAAS,EACTG,IAAKz5B,EAAW,GAAK,EACrB87B,UAAW,EACXJ,UAAU,GAEX,CACClC,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAOyJ,EAAK8lC,KACZ9C,SAAS,EACTG,IAAKz5B,EAAW,GAAK,EACrB87B,UAAW,GACXJ,UAAU,GAEX,CACClC,YAAa,uBACb73B,KAAM,OACNxK,MAAO,GACPtK,MAAO,GACP0iC,YAAa54B,EAAE,mBACf2iC,SAAS,EACTG,IAAK,GACLiC,UAAU,GAEX,CACCpnC,QA9FcqvB,KAChB,IAAI1hB,EAAc,GAClB,YAAqB/O,IAAjBywB,EAAM/rB,QAAyC,IAAjB+rB,EAAM/rB,QACvC+rB,EAAM1sB,KAAK4B,GACVoJ,EAAK1Q,KAAK,CAAE1E,MAAOgM,EAAK+jC,WAAYzlC,MAAO0B,EAAK+jC,eAG1C36B,CAEG,EAqFA46B,CAAQvmC,EAAKwmC,cACtBvD,UAAU,EACVC,YAAa,gBACb73B,KAAM,WACNxK,MAAOR,EAAE,QACTomC,YAAapmC,EAAE,QACf9J,MAAO,GACP0iC,YAAa54B,EAAE,eACf2iC,SAAS,EACTG,IAAK,GACLqC,UAAW,GACXJ,UAAU,IAGZ,ECnIWsB,GAAoBA,KAChC,MAAM,EAAErmC,IAAMC,EAAAA,EAAAA,KAEd,MAAO,CACNwiC,aAAc,GACdC,SAAU,oBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCO,UAAU,EACVC,YAAa,SACb73B,KAAM,OACNxK,MAAOR,EAAE,qBACT2iC,SAAS,EACTG,IAAK,GACLsC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,whBACP4J,QAASE,EAAE,2BAId,CACC4iC,UAAU,EACVC,YAAa,SACb73B,KAAM,SACNxK,MAAOR,EAAE,uBACT2iC,SAAS,EACTG,IAAK,GACLsC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,kEACP4J,QAASE,EAAE,6BAId,CACC4iC,UAAU,EACVC,YAAa,qBACb73B,KAAM,WACNxK,MAAO,gGACHR,EAAE,qDAEN2iC,SAAS,EACTG,IAAK,KAGP,ECpDWwD,GAAkB3mC,IAC9B,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAACxD,EAAgB+lC,QASxCxyB,EAPiBu2B,MAAO,IAADC,EAC5B,OAAO/iC,EAAAA,SACwC,QADpB+iC,EAC1B5/B,eAAenL,QAAQiB,EAAW+mB,oBAAY,IAAA+iB,EAAAA,EAC7CloC,OAAOoF,SAASC,OAAOigB,cACxB,CAAE6iB,cAAc,GAChB,EAEoBF,GAAiBG,MAAMC,cAE7C,MAAO,CACNlE,aAAc,GACdC,SAAU,WACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQ,KACRkiC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCO,UAAU,EACVC,YAAa,gBACb73B,KAAM,SACNxK,MAAOR,EAAE,uBACT9J,MAAO8Z,EACP42B,cAA4BrqC,IAAlByT,EACV2yB,SAAS,EACTG,IAAK,GACLqC,UAAW,GACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,WACP4J,QAASE,EAAE,uCAId,CACC4iC,UAAU,EACVC,YAAa,MACb73B,KAAM,OACNxK,MAAOR,EAAE,aACT2iC,SAAS,EACTG,IAAK,GACLsC,YAAa,CACZ,CACCC,KAAM,mBAENnvC,MAAO,iDACP4J,QAASE,EAAE,6BAId,CACC4iC,UAAU,EACVC,YAAa,YACb73B,KAAM,OACNxK,MAAOR,EAAE,mBACT44B,YAAa,aACb1iC,MAAO,GACPysC,SAAS,EACTG,IAAK,GACLsC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,gIACP4J,QAASE,EAAE,oCAKf,EC5EW6mC,GAAmBlnC,IAC/B,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAACxD,EAAgB+lC,QAC9C,MAAO,CACNC,aAAc,GACdC,SAAU,UACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQ,KACRkiC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCO,UAAU,EACVC,YAAa,MACb73B,KAAM,OACNxK,MAAOR,EAAE,iBACT44B,YAAa54B,EAAE,8BACf2iC,SAAS,EACTG,IAAK,GACLsC,YAAa,CACZ,CACCC,KAAM,UACNvlC,QAASE,EAAE,8BAKf,ECZW8mC,GAA4BnnC,IACxC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgB+lC,MAChB/lC,EAAgByD,WAEjB,MAAO,CACNuiC,aAAcziC,EAAE,2BAChB0iC,SAAU,QACV9lB,MAAM,EACN+lB,SAAS,EACTN,SAAU,CACT,CACC1kC,QAASkF,GACR5Q,EACAY,EAAaZ,iBACbwK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,oBACb73B,KAAM,WACNxK,MAAOR,EAAE,2BACT9J,MAAOyJ,EAAKojC,SAAS,GAAGC,kBACxBF,IAAK,GACLH,SAAS,GAEV,CACChlC,QAASkF,GACR3Q,EACAW,EAAaX,YACbuK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,cACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT9J,MAAOyJ,EAAKojC,SAAS,GAAGvuC,YACxBmuC,SAAS,EACTG,IAAK,GACLQ,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa2wC,kBAEdZ,UAAU,EACVC,YAAa,mBACb73B,KAAM,WACNxK,MAAOR,EAAE,0BACT9J,MAAOyJ,EAAKojC,SAAS,GAAG9vC,iBACxB6vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4wC,wBAEdb,UAAU,EACVC,YAAa,yBACb73B,KAAM,WACNxK,MAAOR,EAAE,gCACT9J,MAAOyJ,EAAKojC,SAAS,GAAG7vC,uBACxB4vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa6wC,oBAEdd,UAAU,EACVC,YAAa,sBACb73B,KAAM,WACNxK,MAAOR,EAAE,4BACT9J,MAAOyJ,EAAKojC,SAAS,GAAG5vC,oBACxB2vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa8wC,0BAEdf,UAAU,EACVC,YAAa,4BACb73B,KAAM,WACNxK,MAAOR,EAAE,kCACT9J,MAAOyJ,EAAKojC,SAAS,GAAG3vC,0BACxB0vC,IAAK,GACLH,SAAS,EACTW,UAAU,GAEX,CACC3lC,QAASkF,GACRzQ,EACAS,EAAa+wC,WACbnnC,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,iBACb73B,KAAM,WACNxK,MAAOR,EAAE,oBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAGC,eAC3BnB,SAAS,GAEV,CACChlC,QAAS4E,GACR9F,EAAgByD,SAChBrN,EAAa4B,QAEdmuC,UAAU,EACVC,YAAa,SACb73B,KAAM,WACNxK,MAAOR,EAAE,sBACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKkkC,YAAY,GAAG7wC,OAC3B2vC,SAAS,GAEV,CACChlC,QAASkF,GACRvQ,EACAO,EAAaP,WACbmK,EAAgByD,UAEjB0iC,UAAU,EACVC,YAAa,aACb73B,KAAM,WACNxK,MACsB,OAArBvB,EAAAA,EAAQC,SACLc,EAAE,6BAA8B,CAChChO,QAAS2K,MAETqD,EAAE,8BACN8iC,IAAK,GACL5sC,MAAOyJ,EAAKokC,WACZpB,SAAS,GAEV,CACChlC,QAAS0D,GAA+BtP,EAAAA,EAAUC,SAClD4wC,UAAU,EACVC,YAAa,kBACb73B,KAAM,WACNxK,MAAOR,EAAE,mCACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKqkC,gBACZrB,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACC0sC,UAAU,EACVC,YAAa,MACb73B,KAAM,OACNxK,MAAOR,EAAE,aACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKskC,IACZtB,SAAS,EACTO,UAAW,CACV,CACCC,KAAM,MACNnD,OAAQ,OACRhT,MAAO,CACN,CACCoW,MAAO,aACPC,KAAM,QACNntC,MAAO,WAMZ,CACCyH,QAAS,CACR,CACCzH,MAAO,QACPsK,MAAOR,EAAE,gBAEV,CACC9J,MAAO,OACPsK,MAAOR,EAAE,kBAGX4iC,UAAU,EACVC,YAAa,QACb73B,KAAM,WACNxK,MAAOR,EAAE,eACT8iC,IAAK,GACL5sC,MAAOyJ,EAAKukC,MACZvB,SAAS,EACTze,QAASlkB,EAAE,4BAGb,EC9MK,SAAS+mC,GAAYC,EAAwB1E,EAAe3iC,GAClE,MAAM3N,EAAUD,EAAAA,EAAUC,QAC1B,OAAQg1C,GACP,KAAKxpB,GAAaypB,YACjB,GAAgB,OAAZj1C,EACH,OAAOk1C,GACN,CAAC3E,GAAuB5iC,GAAO4kC,GAAmB5kC,IAClD2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CAACtB,GAAyBjmC,GAAO4kC,GAAmB5kC,IACpD2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CACCrB,GAAyBlmC,GACzBwkC,GAAwBxkC,IAEzB2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CACCJ,GAAyBnnC,GACzBwkC,GAAwBxkC,IAEzB2iC,GAEF,MACD,KAAK9kB,GAAa2pB,SACjB,GAAgB,OAAZn1C,EACH,OAAOk1C,GACN,CAACxC,GAAoB/kC,GAAO4kC,GAAmB5kC,IAC/C2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CAACjC,GAAsBtlC,GAAO4kC,GAAmB5kC,IACjD2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CACChC,GAAsBvlC,GACtB6kC,GAAyB7kC,IAE1B2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CACCxB,GAAsB/lC,GACtB6kC,GAAyB7kC,IAE1B2iC,GAEF,GAAgB,OAAZtwC,EACH,OAAOk1C,GACN,CACCvB,GAAsBhmC,GACtB6kC,GAAyB7kC,IAE1B2iC,GAEF,MACD,KAAK9kB,GAAa4pB,2BACjB,OAAOhF,GACN,CAAC0D,GAAgCnmC,IACjC2iC,GAEF,KAAK9kB,GAAamnB,uBACjB,OAAOvC,GAAY,CAACuC,GAAuBhlC,IAAQ2iC,GACpD,KAAK9kB,GAAawnB,YACjB,OAAO5C,GAAY,CAAC4C,MAAgB1C,GACrC,KAAK9kB,GAAa6oB,kBACjB,OAAOjE,GAAY,CAACiE,MAAsB/D,GAC3C,KAAK9kB,GAAa8oB,eACjB,OAAOlE,GAAY,CAACkE,MAAuBhE,GAC5C,KAAK9kB,GAAaqpB,gBACjB,OAAOzE,GAAY,CAACyE,MAAwBvE,GAC7C,QACC,OAAOnoC,OAAOktC,OAAO,CAAC,GAEzB,CAEA,MAAMH,GAAcA,CAACI,EAAmBhF,IAChCF,GAAYkF,EAAchF,GC7FrBiF,GAA6BA,KACzC,MAAM,IAAExH,EAAG,YAAEI,IAAgB72B,EAAAA,EAAAA,YAAW42B,KACjCsH,EAAKC,IAAen+B,EAAAA,EAAAA,YAAWo+B,KAEhC,EAAE1nC,IAAMC,EAAAA,EAAAA,MACPkW,EAAKwxB,IAAUh/B,EAAAA,EAAAA,WAAkB,IACjCwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzC2lB,EAAMsZ,IAAWj/B,EAAAA,EAAAA,YAElBk/B,EAAad,GAClBvpB,GAAa4pB,2BACb,CACC1E,SAAU,6BACVoF,UAAW,6BACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkB,yBAEnBV,IAGD9uB,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYC,gBAClBnI,QAAS,CACRrH,YAAa,6BAMhB,WACC,IAAItK,GAAO,IAAIvO,MAAOmJ,mBAAmB1rB,KAClCoqC,EAAQtZ,EAChB,CANC+Z,EAAS,GACP,CAACZ,IA2CJ,OACCl+B,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,wBAAuBrB,UACrCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,YAAWrB,SAAA,EACzBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,WAAUrB,SAAA,EACxBa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAAM1I,EAAE,eAAe,QACvBmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM4lB,QAEP/kB,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAAM1I,EAAE,cAAc,QACtBmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAK,6BAGPa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,aAAYrB,SAAA,CAAC,cAE3BS,EAAAA,GAAAA,KAAA,SAAM,WAENA,EAAAA,GAAAA,KAAA,SAAM,oBACOA,EAAAA,GAAAA,KAAA,SAAM,kBAKpBgc,IACD5b,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,UAC7CS,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYA,EACZU,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GApEAA,KAGhB,GAFAvjB,GAAW,GAEkB,OAAzBujB,EAAOjzB,SAAS6T,MAA0C,KAAzBof,EAAOjzB,SAAS6T,KAAa,CACjE,MAAMqf,EAAepB,EAAIrB,aAAa/lC,MACrC9E,IAAA,IAAC,WAAE2qC,GAA4B3qC,EAAA,OAC9B2qC,IAAe0C,EAAOjzB,SAAS6T,IAAI,IAErCoe,GAAO,GACPF,EAAY,CACXz8B,KAAMm9B,GAAYU,cAClB5I,QAAS,IACLuH,EACHnI,WAAYsJ,EAAOjzB,SAAS6T,KAC5Buf,UAAWF,EAAaG,aAG1B5I,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,IACLF,EACHpT,MAAOoT,EAAIpT,MAAQ,KAGrBruB,OAAOkjC,SAAS,CACfE,IAAK,EACL3d,KAAM,EACN6d,SAAU,WAEXxc,GAAW,EACZ,MACCuiB,GAAO,GACPviB,GAAW,EACZ,EAmC2B4jB,CAAQL,OAG/BxyB,IAAOhN,EAAAA,GAAAA,KAACc,GAAO,CAACnK,QAASE,EAAE,YAAakK,IAAK,UAC9Cf,EAAAA,GAAAA,KAAA,OAAKY,UAAU,wCAAuCrB,UACrDS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,qCAIRmlB,IAAWhc,EAAAA,GAAAA,KAAC0R,GAAa,MACrB,EC5HKouB,GAAwBA,KACpC,MAAM,EAAEjpC,IAAMC,EAAAA,EAAAA,MACPunC,EAAKC,IAAen+B,EAAAA,EAAAA,YAAWo+B,KAChC,IAAE3H,EAAG,YAAEI,IAAgB72B,EAAAA,EAAAA,YAAW42B,KAEjCgJ,EAAOC,IAAYxgC,EAAAA,EAAAA,UAAiB,QACpCygC,EAA2BC,IACjC1gC,EAAAA,EAAAA,WAAkB,IACZpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,WAAkB,IACrCwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,GAEhD,IAAI3W,EAAU4K,KAEd8b,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYmB,kBAClBrJ,QAAS,CACRsJ,cAAeH,IAEf,GACA,CAACA,EAA2B3B,IAE/B,MAAM+B,GAAe7uB,EAAAA,EAAAA,cAAY5b,UAChC,IACCy+B,GACEzqB,gBAAgB/gB,GAChBwjB,MAAM9V,IACNypC,EAASzpC,EAASC,KAAK8pC,mBAAmB,IAE1CvzB,OAAO3W,IACPC,QAAQC,KAAKF,GACb8lB,GAAS,EAAK,GAEjB,CAAE,MAAO9lB,GACRC,QAAQC,KAAK,eAAgBF,GAC7B8lB,GAAS,EACV,IACE,IA0BH,OAxBA3M,EAAAA,EAAAA,YAAU,KAcT,GAbA+uB,EAAY,CACXz8B,KAAMm9B,GAAYC,gBAClBnI,QAAS,CACRrH,YAAa,sBAGfuH,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,CACRN,eAAgB,kCAGlBva,GAAW,GACPpzB,EAAS,CACZ,IACCw3C,EAAax3C,EACd,CAAE,MAAOqO,GACRglB,GAAS,EACV,CACAD,GAAW,EACZ,IACE,CAACqiB,EAAatH,EAAanuC,EAASw3C,KAGtCrgC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2BAA0BrB,SACvCyc,GACAhc,EAAAA,GAAAA,KAAC0R,GAAa,KAEd1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEnJ,GACA4J,EAAAA,GAAAA,KAACc,GAAO,CAACC,IAAK,OAAQpK,QAASE,EAAE,eAEjCuJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,UAC/BS,EAAAA,GAAAA,KAAA,OACC8E,GAAG,YACHy7B,wBAAyB,CACxBC,OAAQT,QAGX//B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,UACpCa,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,qBAAoBrB,SAAA,EACpCS,EAAAA,GAAAA,KAAA,SACC6B,KAAK,WACL4+B,QAASR,EACTn+B,QAASA,IACRo+B,GACED,MAIJjgC,EAAAA,GAAAA,KAAA,QAAMY,UAAU,cACf/J,EAAE,8BAOJ,ECjGK6pC,GAAYA,KACxB,MAAM,EAAE7pC,IAAMC,EAAAA,EAAAA,MACR,cAAE6pC,EAAa,OAAEnC,EAAM,WAAEoC,IAAezgC,EAAAA,EAAAA,YAAWlB,KACnD,gBAAE4qB,IAAoB1pB,EAAAA,EAAAA,YAAW0nB,IAYvC,OACCznB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAACc,GAAO,CAACC,IAAK,OAAQpK,QAASE,EAAE,mBACjCmJ,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAZc++B,KAChBD,EAAW,IACXD,GAAc,GACdnC,GAAO,EAAM,EASOj/B,SACjB1I,EAAE,eAEJmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAC5BS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,qCACVkB,QAASA,KAAMg/B,OAvBH/nC,EAuBU+wB,GAAU,GAAGjG,MAAM,QAtB5CgG,EAAgB9wB,GADDA,KAuBiC,EAAAwG,SAC5C1I,EAAE,qBAGA,ECkFR,MACA,GAAe,IAA0B,iECDzC,MACA,GAAe,IAA0B,mECnEzC,MACA,GAAe,IAA0B,+DCDzC,MACA,GAAe,IAA0B,iECfzC,MACA,GAAe,IAA0B,qECDzC,MACA,GAAe,IAA0B,uEC8BlC,IAQKkqC,GAAsB,SAAtBA,GAAsB,OAAtBA,EAAsB,kBAAtBA,EAAsB,cAAtBA,EAAsB,UAAtBA,EAAsB,oCAAtBA,CAAsB,MAOtBC,GAAM,SAANA,GAAM,OAANA,EAAM,gBAANA,EAAM,gBAANA,EAAM,gBAANA,EAAM,kBAANA,EAAM,gBAANA,EAAM,kBAANA,EAAM,gBAANA,EAAM,kBAANA,EAAM,kBAANA,EAAM,sBAANA,EAAM,cAANA,CAAM,MAcNC,GAAiB,SAAjBA,GAAiB,OAAjBA,EAAiB,kBAAjBA,EAAiB,kBAAjBA,EAAiB,cAAjBA,EAAiB,YAAjBA,CAAiB,MCjF7B,MAAMC,GAA2C,CAChD,CACCC,uBAAwBJ,GAAuBK,MAC/CC,WAAYC,GACZC,aAAcC,GACdpuB,MAAO,6BACPxS,UAAW,YACX6S,MAAM,GAEP,CACC0tB,uBAAwBJ,GAAuBU,IAC/CJ,WAAYK,GACZH,aAAcI,GACdvuB,MAAO,2BACPxS,UAAW,UACX6S,MAAM,GAEP,CACC0tB,uBAAwBJ,GAAuBa,iBAC/CP,WAAYQ,GACZN,aAAcO,GACd1uB,MAAO,2BACPxS,UAAW,oBACX6S,MAAM,IAIKsuB,GAAoBA,KAChC,MAAM,EAAElrC,IAAMC,EAAAA,EAAAA,MACPunC,EAAKC,IAAen+B,EAAAA,EAAAA,YAAWo+B,KAChC,mBACLyD,EAAkB,sBAClBC,EAAqB,WACrBhmB,EAAU,OACVuiB,EAAM,WACN0D,EAAU,cACVvB,IACGxgC,EAAAA,EAAAA,YAAWlB,KACRkjC,EAAUC,IAAe5iC,EAAAA,EAAAA,UAC/BuhC,GAAuBsB,SAsDxBzsC,eAAe0sC,IACdrmB,GAAW,GACX,IACCoY,GACE1qB,aAAa,CACb44B,UAAWlE,EAAIkE,UACfvN,WAAYqJ,EAAIrJ,WAChB5hB,MAAOirB,EAAIjrB,MACXvG,UAAWwxB,EAAIxxB,UACf+vB,SAAUyB,EAAIzB,SACd4F,aAAcnE,EAAImE,aAClBzpB,YAAaslB,EAAItlB,YACjB0pB,oBAAqBN,EACrBlqC,OAAQomC,EAAIpmC,SAEZoU,MAAM9V,IACkB,MAApBA,EAASG,SACZurC,EAAsB1rC,EAASC,MAmBnC8nC,EAAY,CACXz8B,KAAMm9B,GAAY0D,aAClB5L,QAAS,CACR6L,4BACmB,OAAlBX,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBW,4BACrBJ,UAA6B,OAAlBP,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBO,UAC/BK,YAA+B,OAAlBZ,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBY,eAvB/BjC,GAAc,GACd1kB,GAAW,GACZ,IAEAlP,OAAO3W,IACPC,QAAQ4W,IAAI7W,GACZooC,GAAO,GACPviB,GAAW,EAAM,GAEpB,CAAE,MAAO7lB,GACRC,QAAQ4W,IAAI,eAAgB7W,GAC5BooC,GAAO,GACPviB,GAAW,EACZ,CACD,CAcA,SAAS4mB,EAAQ/b,GAChB7K,GAAW,GACXqiB,EAAY,CACXz8B,KAAMm9B,GAAY8D,yBAClBhM,QAAS,CACR2L,oBAAqBN,KAGC,KAApBrb,EAAMyb,gBAAwCnvC,IAApB0zB,EAAMyb,UAxFrC3sC,iBACCqmB,GAAW,GACX,IACCoY,GACE5qB,sBAAsB,CACtBurB,WAAYqJ,EAAIrJ,WAChB5hB,MAAOirB,EAAIjrB,MACXvG,UAAWwxB,EAAIxxB,UACf+vB,SAAUyB,EAAIzB,SACd4F,aAAcnE,EAAImE,aAClBzpB,YAAaslB,EAAItlB,YACjB0pB,oBAAqBN,EACrBlqC,OAAQomC,EAAIpmC,SAEZoU,MAAM9V,IACkB,MAApBA,EAASG,SACZurC,EAAsB1rC,EAASC,MAC/BmqC,GAAc,GACd1kB,GAAW,GACZ,IAEAlP,OAAO3W,IACPC,QAAQC,KAAKF,GACb6lB,GAAW,GACXuiB,GAAO,EAAK,GAEf,CAAE,MAAOpoC,GACRC,QAAQC,KAAKF,GACb6lB,GAAW,GACXuiB,GAAO,EACR,CACD,CA0DEuE,GAEAT,GAEF,EA/GA/yB,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYgE,gBAClBlM,QAAS,CACRoL,WAAYA,IAEZ,GACA,CAACA,EAAY5D,KAEhB/uB,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYC,gBAClBnI,QAAS,CACRrH,YAAa,wCAEb,GACA,CAAC6O,IAiGJ,MAAM2E,EAAYC,GAAmCA,IAAWf,EAEhE,OACCniC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,UAC7Ca,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,sCACRmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,SACrC2hC,GAAe/pC,KAAK4B,IACpB,GAAIA,EAAK0a,KACR,OACCrT,EAAAA,GAAAA,MAAA,OACCQ,UAAW,mBACVqiC,EAASlqC,EAAKooC,wBACX,UACA,IAEJr/B,QAASA,IACRsgC,EAAYrpC,EAAKooC,wBACjB5hC,SAAA,EACDS,EAAAA,GAAAA,KAAA,OACCU,IAAK,GACJuiC,EACClqC,EAAKooC,wBAEHpoC,EAAKsoC,WACLtoC,EAAKwoC,eAET3gC,UAAW7H,EAAK6H,UAChBC,IAAK,GAAG9H,EAAK6H,mBACX,KACHR,EAAAA,GAAAA,MAAC+0B,GAAAA,EAAK,CAACt+B,EAAGA,EAAGu+B,QAASr8B,EAAKqa,MAAM7T,SAAA,CAAC,WAC1BS,EAAAA,GAAAA,KAAA,UAAO,aAMZ,OAGRA,EAAAA,GAAAA,KAAA,UACCY,UAAU,qCACVg7B,SAAUuG,IAAapB,GAAuBsB,QAC9CvgC,QAASA,IAAM+gC,EAAQxE,GAAK9+B,SAC3B1I,EAAE,gCAGA,ECpNKssC,GAAerqB,IAC3B,QAAc1lB,IAAV0lB,EACH,OAED,IAAIsqB,EACAC,EACAC,EAAcxqB,EACdyqB,EAAcD,EAAYzmC,UAAU,EAAG,GACvC2mC,EAAWF,EAAY9oC,OAAO,KAC9BipC,EAAUH,EAAY9oC,OAAO,mBAOjC,OALA4oC,EAAmBE,EAAYzmC,UAAU,EAAG2mC,EAAW,GAAGE,QAAQ,KAAM,KACxEL,EAAmBC,EACjBzmC,UAAU2mC,EAAW,EAAGC,GACxBC,QAAQ,KAAM,KAGfH,EACAH,EACAE,EAAYzmC,UAAU2mC,EAAW,EAAGA,EAAW,GAC/CH,EACAC,EAAYzmC,UAAU4mC,EAASH,EAAYxrC,OAAO,EAIvC6rC,GAAiBC,IAC7B,QAAgBxwC,IAAZwwC,EACH,OAED,IAAIC,EACA9qB,EAAc6qB,EACdE,EAAa/qB,EAAYlc,UAAU,EAAG,GACtCknC,EAAYhrB,EAAYlc,UAAUkc,EAAYjhB,OAAS,GAI3D,OAHA+rC,EAAW9qB,EACTlc,UAAU,EAAGkc,EAAYjhB,OAAS,GAClC4rC,QAAQ,MAAO,KACVI,EAAaD,EAAWE,CAAS,EAG5BC,GAAiBA,KAC7B,MAAM,EAAEntC,IAAMC,EAAAA,EAAAA,MACR,IAAE8/B,EAAG,YAAEI,IAAgB72B,EAAAA,EAAAA,YAAW42B,KACjCsH,EAAKC,IAAen+B,EAAAA,EAAAA,YAAWo+B,KAChC,cACLoC,EAAa,QACb5kC,EAAO,WACP6kC,EAAU,WACV3kB,EAAU,OACVuiB,EAAM,mBACNwD,IACG7hC,EAAAA,EAAAA,YAAWlB,KACR6T,EAAMC,IAAWvT,EAAAA,EAAAA,aACjBykC,EAASC,IAAc1kC,EAAAA,EAAAA,WAAkB,GAE1CymB,GAAiBzU,EAAAA,EAAAA,cACrBsB,GACA,WACC,MAAM2T,GAAc,IAAI7P,KAAK9D,IAAS,IAAI8D,KAC1C,IAAIutB,EACJ,GAAI1d,EAAa,EAAG,CACnB,MAAM2d,EAAa,CAClBC,KAAMC,KAAKC,MAAM9d,EAAU,OAC3B+d,MAAOF,KAAKC,MAAO9d,EAAU,KAAuB,IACpDxT,QAASqxB,KAAKC,MAAO9d,EAAa,IAAO,GAAM,IAC/CzT,ShGwBqBze,EgGvBpB+vC,KAAKC,MAAO9d,EAAa,IAAQ,IhGwB7B,OAAHlyB,QAAG,IAAHA,OAAG,EAAHA,EAAKE,eAAeJ,IAAqB,IAC5CG,EACHiwC,qBAAsB,MgGvBnBN,EAAY,GAAGC,EAAMnxB,WAAWmxB,EAAMpxB,WAAWnc,EAChD,YAEF,MACCstC,EAAY,GAAGttC,EAAE,gBACjBqtC,GAAW,GhGeT,IAAoB3vC,EAAcC,EgGbrC,OAAOue,EAAQoxB,EAChB,CACOO,IAER,CAAC7tC,IAGI8tC,GAAanzB,EAAAA,EAAAA,cAAY,KAC9B8sB,EAAY,CACXz8B,KAAMm9B,GAAY0D,aAClB5L,QAAS,CACR6L,4BACmB,OAAlBX,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBW,4BACrBJ,UAA6B,OAAlBP,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBO,UAC/BK,YAA+B,OAAlBZ,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBY,cAEjC,GACA,CAACZ,EAAoB1D,IAqCxB1oC,eAAegvC,EAAY7oC,GAC1B,QAAgB3I,IAAZ2I,EACH,IACCs4B,GACE3qB,sBAAsB,CACtB64B,UAAWlE,EAAIkE,UACfvN,WAAYqJ,EAAIrJ,WAChBj5B,QAASA,EACTm6B,WAAYmI,EAAInI,WAChByJ,UAAWtB,EAAIsB,UACfkF,kBAAmBxG,EAAIwG,kBACvBC,iBAAkBzG,EAAIyG,mBAEtBz4B,MAAM9V,IACkB,MAApBA,EAASG,SACZL,QAAQ4W,IAAI1W,EAASC,MAxB3B,SAAyBD,GACxB+nC,EAAY,CACXz8B,KAAMm9B,GAAY+F,gBAClBjO,QAAS,CACR5sB,kBAAmB3T,EAAS2T,oBAG/B,CAkBM86B,CAAgBzuC,EAASC,MACzBwgC,EAAY,CACXn1B,KAAM60B,GACNI,QAAS,IACLF,EACHpT,MAAOoT,EAAIpT,MAAQ,KAGrBruB,OAAOkjC,SAAS,CACfE,IAAK,EACL3d,KAAM,EACN6d,SAAU,WAEXxc,GAAW,GACZ,IAEAlP,OAAO3W,IACPC,QAAQ4W,IAAI7W,GACZooC,GAAO,GACPviB,GAAW,EAAM,GAEpB,CAAE,MAAO7lB,GACRC,QAAQC,KAAKF,GACb6lB,GAAW,GACXuiB,GAAO,EACR,MAEAA,GAAO,GACPviB,GAAW,EAEb,CAEA,OAnFA1M,EAAAA,EAAAA,YAAU,KAET,GADAo1B,SACwCvxC,KAAlB,OAAlB4uC,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBY,aAA2B,CAClD,MAAMvvB,EAAWle,OAAOme,aAAY,KACnC2S,EAAiC,OAAlB+b,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBY,YAAY,GAC7C,KAEH,MAAO,IAAMztC,OAAOoe,cAAcF,EACnC,CACM,GACJ,CAAC2uB,EAAoB2C,EAAY1e,KAEpC1W,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYC,gBAClBnI,QAAS,CACRrH,YAAa,IACZ4O,EAAIoE,sBACJ1B,GAAuBa,iBACpB,qBACA,wBAGJ,GACA,CAACtD,EAAaD,EAAIoE,uBA4DpBziC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACE8+B,EAAIoE,sBACL1B,GAAuBa,kBACtBxhC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,EAC7CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,0BAAyBrB,UACvCa,EAAAA,GAAAA,MAAC+0B,GAAAA,EAAK,CAACt+B,EAAGA,EAAGu+B,QAAQ,iBAAgB71B,SAAA,CAAC,yBAErCS,EAAAA,GAAAA,KAAA,UAAAT,SACE,CACAunB,MACCuX,EAAIoE,sBACJ1B,GAAuBK,MACpB+B,GAAY9E,EAAImE,cAChBmB,GAActF,EAAItlB,gBAEf,kCAIX/Y,EAAAA,GAAAA,KAAA,OACCY,UAAW,kBACVqjC,EAAU,WAAa,IACrB1kC,SACFuT,KAEF9S,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACE0kC,GACAjkC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAEAD,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6BAA4BrB,UAC1CS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,wBAEPuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,6BAA4BrB,SAAA,EAC1CS,EAAAA,GAAAA,KAAA,SACCY,UAAU,eACViB,KAAK,OACLo7B,YAAY,iBACZlwC,MAAOgP,EACP0uB,SAAWvzB,GACV0pC,EAAW1pC,EAAEkb,OAAOrlB,UAEtBiT,EAAAA,GAAAA,KAAA,UACC47B,SACa,KAAZ7/B,QACY3I,IAAZ2I,EAED8F,KAAK,SACLjB,UAAU,+BACVkB,QAASA,KACRma,GAAW,GACX2oB,EAAY7oC,EAAS,EACpBwD,SACD1I,EAAE,sCAMRmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAC5BS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,uCACVkB,QAASA,IAAM6+B,GAAc,GAAMphC,SACxB1I,EAAVotC,EAAY,QAAa,gBAK7B7jC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,4BAA2BrB,SAAA,EACzCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,uBAEPmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iCAAgCrB,UAC9CS,EAAAA,GAAAA,KAAA,QAAAT,SAAO8+B,EAAIoE,yBAEZriC,EAAAA,GAAAA,MAAC+0B,GAAAA,EAAK,CAACt+B,EAAGA,EAAGu+B,QAAQ,kBAAiB71B,SAAA,EACrCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCS,EAAAA,GAAAA,KAAA,KAAAT,SAAG,sCAEJS,EAAAA,GAAAA,KAAA,OACCY,UAAW,kBACVqjC,EAAU,WAAa,IACrB1kC,SACF,CAAEuT,KAAMA,MAEV9S,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCS,EAAAA,GAAAA,KAAA,KAAAT,SAAG,gJAOLS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAC5BS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,qCACVkB,QAASA,IAAM6+B,GAAc,GAAMphC,SACxB1I,EAAVotC,EAAY,QAAa,gBAK5B,EC3QQhlC,IAAqCC,EAAAA,EAAAA,eAA4B,CAC7E8c,SAAS,EACTC,WAAYA,OACZ+lB,wBAAoB5uC,EACpB6uC,sBAAuBA,OACvBlmC,aAAS3I,EACTwtC,WAAYA,OACZsB,YAAY,EACZvB,cAAeA,OACf3zB,KAAK,EACLwxB,OAAQA,SAGIyG,GAAoBA,KAChC,MAAO5G,EAAKC,IAAen+B,EAAAA,EAAAA,YAAWo+B,KAC/ByD,EAAoBC,IAC1BziC,EAAAA,EAAAA,aAEK,EAAE3I,IAAMC,EAAAA,EAAAA,MACPorC,EAAYvB,IAAiBnhC,EAAAA,EAAAA,WAAkB,IAC/CzD,EAAS6kC,IAAcphC,EAAAA,EAAAA,aACvBwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzCwN,EAAKwxB,IAAUh/B,EAAAA,EAAAA,WAAkB,GAcxC,OAZA+P,EAAAA,EAAAA,YAAU,KACLvC,GACHsxB,EAAY,CACXz8B,KAAMm9B,GAAYC,gBAClBnI,QAAS,CACRrH,YAAa,KAIV,GACJ,CAACziB,EAAKsxB,KAGRt+B,EAAAA,GAAAA,KAACf,GAAYgB,SAAQ,CACpBlT,MAAO,CACNi1C,qBACAC,wBACAlmC,UACA6kC,aACAsB,aACAvB,gBACA3kB,UACAC,aACAjP,MACAwxB,UACCj/B,UACFS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6BAA4BrB,UAC1Ca,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mCAAkCrB,SAAA,CAC/Cyc,IACA5b,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAAC0R,GAAa,IACbwwB,GAAaliC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAAQL,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,iBAG9BmW,IAAQgP,IACThc,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACE2iC,GACAliC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,UAC7CS,EAAAA,GAAAA,KAAC+hC,GAAiB,OAGnB/hC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6BAA4BrB,UAC1CS,EAAAA,GAAAA,KAACgkC,GAAc,QAKlBh3B,IAAQgP,IAAWhc,EAAAA,GAAAA,KAAC0gC,GAAS,UAGV,ECzFZwE,GAAqBA,KACjC,MAAO7G,EAAKC,IAAen+B,EAAAA,EAAAA,YAAWo+B,KAChC,kBAAE3J,IAAsBz0B,EAAAA,EAAAA,YAAW0nB,KAClCzxB,EAAO8lB,IAAY1c,EAAAA,EAAAA,aAEpB,EAAE3I,IAAMC,EAAAA,EAAAA,MAEdyY,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYC,gBAClBnI,QAAS,CACRrH,YAAa,KAEb,GACA,CAAC6O,IAEJ,MAAMr0B,GAAwBuH,EAAAA,EAAAA,cAC7B5b,MAAOsU,EAA2BxO,KACjC,UACO24B,GAAWpqB,sBAChBC,EACAxO,EAEF,CAAE,MAAOtF,GACR8lB,EAAS/lB,GAAwBC,IACjCC,QAAQC,KAAKF,EACd,IAED,IAGD,OACCgK,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uBAAsBrB,SAAA,EACpCS,EAAAA,GAAAA,KAACyB,GAAuB,CACvBV,IAAK,kDACLpK,SACCyJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,SAClC1I,EAAE,4BAEJuJ,EAAAA,GAAAA,MAAA,UACCyB,KAAK,SACLjB,UAAU,uCACVkB,QAASA,KACR,IAAIpG,EAAYjG,IACbN,OAAOihC,OACP,KACHnsB,EACCo0B,EAAIn0B,kBACJxO,EACA,EACA6D,SAAA,EACFS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,yBAETmJ,EAAAA,GAAAA,KAAA,OACCU,IAAK21B,GACLz1B,UAAU,sBACVC,IAAI,0BAMRzK,IACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAE1I,EAAE,6BAE/BmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAC5BS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,qCACVkB,QAASA,IAAM8yB,GAAkB,GAAMr1B,SACtC1I,EAAE,cAGA,ECpCFy/B,GAA0B,CAC/Br+B,OAAQ+oC,GAAOmE,OACfnQ,WAAY,GACZ5hB,MAAO,GACPvG,UAAW,GACX+vB,SAAU,GACVR,OAAQ,GACRS,YAAa,GACbR,WAAY,GACZC,KAAM,GACNkG,aAAc,GACdzpB,YAAa,GACbmd,WAAY,GACZyJ,UAAW,GACXkF,kBAAmB5D,GAAkBmE,QACrCN,iBAAkB,EAClB/oC,QAAS,GACT0mC,oBAAqB1B,GAAuBsB,QAC5CM,4BAA6B,GAC7BJ,UAAW,GACXK,YAAa,GACb14B,uBAAmB9W,EACnBgtC,eAAe,EACf8B,YAAY,EACZzS,YAAa,GACbuN,aAAc,IAGFgC,GAAc,CAC1BC,gBAAiB,kBACjBoG,kBAAmB,oBACnBC,mBAAoB,sBACpBC,2BAA4B,wBAC5B7F,cAAe,gBACfS,kBAAmB,oBACnB2C,yBAA0B,2BAC1B0C,eAAgB,iBAChB9C,aAAc,eACdM,gBAAiB,kBACjB+B,gBAAiB,mBAGlB,SAASpO,GAAQ0H,EAAUxH,GAC1B,OAAQA,EAAOh1B,MACd,KAAKm9B,GAAYC,gBAChB,MAAO,IACHZ,EACH5O,YAAaoH,EAAOC,QAAQrH,aAE9B,KAAKuP,GAAYqG,kBAChB,MAAO,IACHhH,EACHpmC,OAAQ4+B,EAAOC,QAAQ7+B,OACvB+8B,WAAY6B,EAAOC,QAAQ9B,WAC3B5hB,MAAOyjB,EAAOC,QAAQ1jB,MACtBvG,UAAWgqB,EAAOC,QAAQjqB,UAC1B+vB,SAAU/F,EAAOC,QAAQ8F,SACzBR,OAAQvF,EAAOC,QAAQsF,OACvBS,YAAahG,EAAOC,QAAQ+F,YAC5BR,WAAYxF,EAAOC,QAAQuF,WAC3BC,KAAMzF,EAAOC,QAAQwF,KACrBkG,aAAc3L,EAAOC,QAAQ0L,aAC7BzpB,YAAa8d,EAAOC,QAAQ/d,YAC5BikB,aAAcnG,EAAOC,QAAQkG,cAE/B,KAAKgC,GAAYU,cAChB,MAAO,IACHrB,EACHnI,WAAYW,EAAOC,QAAQZ,WAC3ByJ,UAAW9I,EAAOC,QAAQ6I,UAC1BkF,kBAAmBhO,EAAOC,QAAQ+N,kBAClCC,iBAAkBjO,EAAOC,QAAQgO,kBAEnC,KAAK9F,GAAYsG,mBAChB,MAAO,IACHjH,EACHrB,aAAcnG,EAAOC,QAAQkG,cAE/B,KAAKgC,GAAYmB,kBAChB,MAAO,IACH9B,EACH+B,cAAevJ,EAAOC,QAAQsJ,eAEhC,KAAKpB,GAAY8D,yBAChB,MAAO,IACHzE,EACHoE,oBAAqB5L,EAAOC,QAAQ2L,qBAEtC,KAAKzD,GAAYgE,gBAChB,MAAO,IACH3E,EACH6D,WAAYrL,EAAOC,QAAQoL,YAE7B,KAAKlD,GAAY0D,aAChB,MAAO,IACHrE,EACHsE,4BACC9L,EAAOC,QAAQ6L,4BAChBJ,UAAW1L,EAAOC,QAAQyL,UAC1BK,YAAa/L,EAAOC,QAAQ8L,aAE9B,KAAK5D,GAAY+F,gBAChB,MAAO,IACH1G,EACHn0B,kBAAmB2sB,EAAOC,QAAQ5sB,mBAEpC,QACC,OAAOm0B,EAEV,CAEO,MAAME,IAAmCr/B,EAAAA,EAAAA,eAAco3B,IAMjDmP,GAAqBtzC,IAA+B,IAA9B,aAAE6qC,GAAsB7qC,EAC1D,MAAOksC,EAAKC,IAAejH,EAAAA,EAAAA,YAAWV,GAASL,KACzC,aAAEjoB,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAEpCtY,EAAAA,EAAAA,YAAU,KACT+uB,EAAY,CACXz8B,KAAMm9B,GAAYqG,kBAClBvO,QAAS,CACR7+B,OAAQzE,IACRwhC,WAAY3mB,EAAc2mB,WAC1B5hB,MAAmB,OAAZ/E,QAAY,IAAZA,OAAY,EAAZA,EAAc+E,MACrBvG,UAAuB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,UACzB+vB,SAAsB,OAAZvuB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,SACxBR,OAAoB,OAAZ/tB,QAAY,IAAZA,OAAY,EAAZA,EAAc+tB,OACtBS,YAAyB,OAAZxuB,QAAY,IAAZA,OAAY,EAAZA,EAAcwuB,YAC3BR,WAAwB,OAAZhuB,QAAY,IAAZA,OAAY,EAAZA,EAAcguB,WAC1BC,KAAkB,OAAZjuB,QAAY,IAAZA,OAAY,EAAZA,EAAciuB,KACpBkG,aAA0B,OAAZn0B,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,MAC5BC,YAAyB,OAAZ1K,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,kBAC3BsB,aAAcA,IAEd,GACA,CAACA,EAAc3uB,IAElB,MAAMq3B,EAAyC,CAC9C,CACC5gC,GAAI,EACJmnB,OAAQ,6BACR3wB,MAAM0E,EAAAA,GAAAA,KAACo+B,GAA0B,IACjC3qB,MAAM,EACNolB,eAAe,GAEhB,CACC/zB,GAAI,EACJmnB,OAAQ,wBACR3wB,MAAM0E,EAAAA,GAAAA,KAAC8/B,GAAqB,IAC5BrsB,MAAM,EACNolB,cAAewF,EAAI+B,eAEpB,CACCt7B,GAAI,EACJmnB,OAAQ,oBACR3wB,MAAM0E,EAAAA,GAAAA,KAACilC,GAAiB,IACxBxxB,MAAM,EACNolB,cAAewF,EAAIsH,cAEpB,CACC7gC,GAAI,EACJmnB,OAAQ,qBACR3wB,MAAM0E,EAAAA,GAAAA,KAACklC,GAAkB,IACzBzxB,MAAM,EACNolB,eAAe,IAIjB,OACCz4B,EAAAA,GAAAA,MAACm+B,GAAmBt+B,SAAQ,CAAClT,MAAO,CAACsxC,EAAKC,GAAa/+B,SAAA,EACtDS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAM,WAAWqc,YAAa4O,EAAI5O,eAC3CzvB,EAAAA,GAAAA,KAAC4lC,GAAS,CAAC3O,WAAYyO,EAAiBvO,mBAAmB,MAC9B,ECtFhC,GAlIwB0O,KACvB,MAAM,EAAEhvC,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,EAAY,cAAEmnB,EAAa,QAAExZ,IAAY7b,EAAAA,EAAAA,YAAW0nB,KAErDie,EAAMC,IAAWvmC,EAAAA,EAAAA,WAAkB,IACnCwmC,EAAeC,IAAoBzmC,EAAAA,EAAAA,WAAkB,IACrDmP,EAAUu3B,IAAe1mC,EAAAA,EAAAA,YAiBhC5J,eAAeuwC,IACdJ,GAAQ,SAhBTnwC,eAA2BkU,GAC1B,IACCuqB,GAAWxqB,YAAYC,GAASuC,MAAM9V,IACb,MAApBA,EAASG,OACZwvC,EAAY3vC,EAASC,MAErBH,QAAQC,KAAKC,EAASC,KACvB,GAEF,CAAE,MAAOwW,GAER,MADA3W,QAAQC,KAAK0W,GACPA,CACP,CACD,CAIOnD,CAAwB,OAAZwE,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,YAAa3oB,MAAK,KACjD45B,GAAiB,EAAK,IAEvB/vC,YAAW,KACV6vC,GAAQ,EAAM,GACZ,IACJ,CAEA,OACC/lC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sCAAqCrB,UACnDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,SAC/Byc,GACAhc,EAAAA,GAAAA,KAAC0R,GAAa,KAEd1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACgB,OAAbi2B,QAAa,IAAbA,GAAAA,EAAe4Q,UAchBpmC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACe,OAAbi2B,QAAa,IAAbA,GAAAA,EAAeO,eACf/1B,EAAAA,GAAAA,KAACu1B,GAAW,KAEZv1B,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEumC,GACA9lC,EAAAA,GAAAA,KAAC0R,GAAa,KAEd1R,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2BAA0BrB,SACvCymC,GACAhmC,EAAAA,GAAAA,KAACylC,GAAkB,CAClBzI,aAAcruB,KAGfvO,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uBAAsBrB,SAAA,EACpCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,QAAOrB,SACnB1I,EAAE,eAEJmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,UAC3Ba,EAAAA,GAAAA,MAAC+0B,GAAAA,EAAK,CACLt+B,EAAGA,EACHu+B,QAAQ,iBAAgB71B,SAAA,CAAC,6LAmBzBS,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,+DASTA,EAAAA,GAAAA,KAAA,UACCY,UAAU,2CACViB,KAAK,SACLC,QAASA,IACRqkC,IACA5mC,SACA1I,EACA,gCAvETmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2BAA0BrB,UACxCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,UACpCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,QAAOrB,SACnB1I,EAAE,eAEJmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAC1B1I,EAAE,gCA8EN,EChHR,GAnBoB1E,IAAsC,IAArC,QAAEk5B,EAAO,KAAE70B,GAAoBrE,EACnD,OACCiO,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,2BAA0BrB,SAAA,EAC1CS,EAAAA,GAAAA,KAAA,SAAAT,UACCS,EAAAA,GAAAA,KAAA,MAAAT,SACE8rB,EAAQl0B,KAAI,CAAC4B,EAAMpB,KAElBqI,EAAAA,GAAAA,KAAA,MAAczB,MAAM,MAAKgB,SACvBxG,GADOpB,UAObqI,EAAAA,GAAAA,KAAA,SAAAT,SAAQ/I,MACD,ECNV,GAVgBrE,IAAuC,IAAtC,MAAEihB,EAAK,YAAEqc,GAAuBt9B,EAChD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,OACCsJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,QAAOrB,SAAE1I,EAAEuc,MACzBpT,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAAE1I,EAAE44B,OAC3B,E,yBCLR,SAAS4W,GAAoBC,GAC5B,IAAIC,EAASD,EAAKE,OACdjtC,EAAOtG,SAASgI,cAAc,OAClC1B,EAAKktC,UAAYF,EACjB,IAAIG,EAAYntC,EAAKotC,qBAAqB,KAC1C,IAAK,IAAIjjB,EAAI,EAAGA,EAAIgjB,EAAU5uC,OAAQ4rB,IACrCgjB,EAAUhjB,GAAGkjB,aAAa,SAAU,UAErC,MAAO,CAAEpG,OAAQjnC,EAAKktC,UACvB,CAEA,MAAMI,GAAgB10C,IAA+B,IAA9B,SAAE20C,GAAsB30C,EAC9C,MAAM40C,EAAYC,KAAAA,UACX5Q,EAAM6Q,IAAWznC,EAAAA,EAAAA,WAAkB,GACpC0nC,GAAmBJ,EAASvnC,UAAY,IAAIpI,KAChD2vC,IACO9mC,EAAAA,GAAAA,KAAC6mC,GAAa,CAAuBC,SAAUA,GAA3BA,EAASK,UAItC,IAAIC,EAAWhR,EAAO,kBAAoB,aAE1C,OACCh2B,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mDAAkDrB,SAAA,EAChEa,EAAAA,GAAAA,MAAA,OACCQ,UAAU,iCACVkB,QAASA,IAAMmlC,GAAS7Q,GAAM72B,SAAA,EAC9BS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,OAAMrB,SAAEunC,EAASA,YACjC9mC,EAAAA,GAAAA,KAAA,QAAMY,UAAWwmC,EAASptC,iBAE3BgG,EAAAA,GAAAA,KAAC0b,GAAAA,EAAc,CACdN,SAAUgb,EACV72B,UACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,SAC/BunC,EAASP,QACTvmC,EAAAA,GAAAA,KAAA,OACCugC,wBAAyB8F,GACxBU,EAAUD,EAASP,YAIrBvmC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAG2nC,MAINvrB,uBAAuB,MAEnB,EAGR,MCaA,GA1D2BxpB,IAA0C,IAAzC,WAAEw3B,GAAiCx3B,EAC9D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KACX,6BAAEs0B,EAA4B,UAAEX,EAAS,aAAEF,GAChDD,KAED,IAAI+e,EAAe,CAAC,eAAgB,QAGpC,OAFInnC,IAAaypB,GAAY0d,EAAa51C,KAAK,cAG9C2O,EAAAA,GAAAA,MAAA,OAAKQ,UAAWymC,EAAaC,KAAK,KAAK/nC,SAAA,EACtCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sCAAqCrB,SAAA,EACnDS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,sBACP8yB,GACA3pB,EAAAA,GAAAA,KAAC0pB,GAAM,CACNC,WAAYA,EACZC,SAAUA,KAAA,IAAA2d,EAAA,OACTne,EACa,QADeme,EAC3B9e,EAAU,UAAE,IAAA8e,OAAA,EAAZA,EAAcrf,gBACdO,EAAU3wB,OAAS,GACnB,EAEFywB,aAAcA,KAGfvoB,EAAAA,GAAAA,KAAC+pB,GAAM,CACNX,6BACCA,OAKM,OAATX,QAAS,IAATA,OAAS,EAATA,EAAWtxB,KAAI,CAAC4B,EAAWpB,KAE1ByI,EAAAA,GAAAA,MAAA,OAECQ,UAAU,sCAAqCrB,SAAA,EAC/CS,EAAAA,GAAAA,KAAA,OAAAT,SACE,IAAIqX,KAAK7d,EAAKmvB,iBAAiBnI,mBAC/B1rB,QAGF+L,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iCAAgCrB,SAAA,EAC9CS,EAAAA,GAAAA,KAAA,OAAAT,SAAMxG,EAAKyuC,2BACXxnC,EAAAA,GAAAA,KAAA,OAAAT,SACEjL,EAAayE,EAAKksB,OAAQ,CAC1Br7B,SAAU0L,IACV4F,MAAO,oBAZLvD,OAmBH,ECsBR,GAtE4BxF,IAA2C,IAA1C,WAAEw3B,GAAkCx3B,EAChE,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KACX,oBAAEyyB,IAAwBpnB,EAAAA,EAAAA,YAAWsnB,IAC3C,IAAIpD,EAAQsF,EAAa,OAAS,QAElC,MAAM,6BAAEP,EAA4B,UAAEX,EAAS,aAAEF,GAChDD,KAEKmf,EAAO,CAAC5wC,EAAE,mBAAoBA,EAAE,UAAWA,EAAE,SAEnD,IAAI6wC,EAsBJ,OArBIjf,IAAclB,IACjBmgB,EAAgBjf,EAAUtxB,KAAI,CAAC4B,EAAWpB,KAExCyI,EAAAA,GAAAA,MAAA,MAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,MAAAT,SACE,IAAIqX,KAAK7d,EAAKmvB,iBAAiBnI,mBAC/B1rB,QAGF2L,EAAAA,GAAAA,KAAA,MAAAT,SACEjL,EAAayE,EAAKksB,OAAQ,CAC1Br7B,SAAU0L,IACV4F,MAAO,gBAGT8E,EAAAA,GAAAA,KAAA,MAAAT,SAAKxG,EAAKyuC,4BAZF7vC,OAmBXqI,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACbW,GACAF,EAAAA,GAAAA,KAAC2nC,GAAkB,CAAChe,WAAYA,KAEhC3pB,EAAAA,GAAAA,KAAA,OAAKY,UAAW,wBAAwByjB,IAAQ9kB,UAC/Ca,EAAAA,GAAAA,MAAA,OAAKQ,UAAW,2CAA2CrB,SAAA,EAC1Da,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iCAAgCrB,SAAA,EAC9CS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,uBACN8yB,IACD3pB,EAAAA,GAAAA,KAAC+pB,GAAM,CACNX,6BACCA,QAKJppB,EAAAA,GAAAA,KAAC4nC,GAAW,CAACvc,QAASoc,EAAMjxC,KAAMkxC,KAClC1nC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,UAC7CS,EAAAA,GAAAA,KAAC0pB,GAAM,CACNC,WAAYA,EACZC,SAAUA,IACTR,EACCX,EAAU,GAAGP,gBACbO,EAAU3wB,OAAS,IAGrBywB,aAAcA,YAMH,EClFNsf,GAAiBA,KAE5B7nC,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,kBAAiBvF,UACxBS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,oBCObknC,GAAwBA,KAC7B,MAAM,EAAEjxC,IAAMC,EAAAA,EAAAA,MACR,UAAEojB,EAAS,OAAE0N,IAAWznB,EAAAA,EAAAA,YAAW0nB,KACnC,aAAEP,EAAY,kBAAEE,IAAsBrnB,EAAAA,EAAAA,YAAWsnB,IAEjDkC,EAAkC,cAAZ,OAATzP,QAAS,IAATA,OAAS,EAATA,EAAW9G,QAExB,MAAEhd,GAAUkyB,KAeZyf,EAA8B,OAANngB,QAAM,IAANA,GAAAA,EAAQA,QACrC5nB,EAAAA,GAAAA,KAACgoC,GAAgB,CAACre,WAAYA,KAE9B3pB,EAAAA,GAAAA,KAACioC,GAAmB,CAACte,WAAYA,IAGlC,OACC3pB,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACbioB,GACAxnB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2BAA0BrB,SAAE1I,EAAE,eAE7CmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEnJ,GACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,SAAE1I,EAAET,EAAMO,YAEzCqJ,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,cACInM,IAAjBk0B,IACW,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAcxvB,SAAU,GACvBkI,EAAAA,GAAAA,KAAC6nC,GAAc,IAEfE,OAMW,EAWnB,GAPqBG,KAEnBloC,EAAAA,GAAAA,KAAC0nB,GAA2B,CAAAnoB,UAC3BS,EAAAA,GAAAA,KAAC8nC,GAAqB,M,eC/BlB,MAAMK,GAAWh2C,IAA0B,IAAzB,KAAEqE,GAAiBrE,EAC3C,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,WACtCyV,EAAUqW,IAAepjB,EAAAA,EAAAA,UAAmBhJ,IAC5CwlB,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzCpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,WAAkB,IACrC4oC,EAAcC,IAAmB7oC,EAAAA,EAAAA,WAAS,IAC1C8oC,EAAkBC,IAAuB/oC,EAAAA,EAAAA,WAAS,GAEnDk/B,EAAad,GAClBpnC,EAAKykC,aACL,CACC1B,SAAU,oBACVoF,UAAW,UACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,SAErBL,GAEKgyC,GAAiBC,EAAAA,GAAAA,KACtBC,EAAAA,GAAAA,IAAgBhK,EAAWvF,SAASI,SAAU,kBAEzCoP,GAASF,EAAAA,GAAAA,KACdC,EAAAA,GAAAA,IAAgBhK,EAAWvF,SAASI,SAAU,WAEzCqP,GAAoBp3B,EAAAA,EAAAA,cACxBg3B,IAA8C,IAADK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7C5nB,EAAY,IACRrW,EACHqtB,SAC0C,IAAzC5oC,OAAOyI,QAAQjD,EAAKojC,UAAU9hC,OAC3B,CACA,IACIyU,EAASqtB,SAAS,GACrBC,kBACe,OAAd2O,QAAc,IAAdA,OAAc,EAAdA,EAAgB3O,kBAAkB9sC,MACnC+sC,uBACe,OAAd0O,QAAc,IAAdA,GAAsC,QAAxBK,EAAdL,EAAgB1O,8BAAsB,IAAA+O,OAAxB,EAAdA,EACG97C,MACJ1B,YACe,OAAdm9C,QAAc,IAAdA,GAA2B,QAAbM,EAAdN,EAAgBn9C,mBAAW,IAAAy9C,OAAb,EAAdA,EAA6B/7C,MAC9BqtC,iBACe,OAAdoO,QAAc,IAAdA,GAAgC,QAAlBO,EAAdP,EAAgBpO,wBAAgB,IAAA2O,OAAlB,EAAdA,EAAkCh8C,MACnCM,aACe,OAAdm7C,QAAc,IAAdA,GAA4B,QAAdQ,EAAdR,EAAgBn7C,oBAAY,IAAA27C,OAAd,EAAdA,EAA8Bj8C,MAC/BjD,iBACe,OAAd0+C,QAAc,IAAdA,GAAgC,QAAlBS,EAAdT,EAAgB1+C,wBAAgB,IAAAm/C,OAAlB,EAAdA,EAAkCl8C,MACnChD,uBACe,OAAdy+C,QAAc,IAAdA,GAAsC,QAAxBU,EAAdV,EAAgBz+C,8BAAsB,IAAAm/C,OAAxB,EAAdA,EACGn8C,MACJ/C,oBACe,OAAdw+C,QAAc,IAAdA,GAAmC,QAArBW,EAAdX,EAAgBx+C,2BAAmB,IAAAm/C,OAArB,EAAdA,EACGp8C,MACJ9C,0BACe,OAAdu+C,QAAc,IAAdA,GAC4B,QADdY,EAAdZ,EACGv+C,iCAAyB,IAAAm/C,OADd,EAAdA,EAC8Br8C,QAGhC,GACJ+f,MACuC,IAAtC9b,OAAOyI,QAAQjD,EAAKsW,OAAOhV,OACxB,CACA,IACIyU,EAASO,MAAM,GAClB29B,gBACe,OAAdjC,QAAc,IAAdA,GAA+B,QAAjBa,EAAdb,EAAgBiC,uBAAe,IAAApB,OAAjB,EAAdA,EAAiCt8C,MAClC7C,cACe,OAAds+C,QAAc,IAAdA,GAA6B,QAAfc,EAAdd,EAAgBt+C,qBAAa,IAAAo/C,OAAf,EAAdA,EAA+Bv8C,MAChC29C,mBACe,OAAdlC,QAAc,IAAdA,GAAkC,QAApBe,EAAdf,EAAgBkC,0BAAkB,IAAAnB,OAApB,EAAdA,EACGx8C,QAGL,GACJ2tC,YAAa,CACZ,IACInuB,EAASmuB,YAAY,GACxBC,eAA8B,OAAd6N,QAAc,IAAdA,GAA8B,QAAhBgB,EAAdhB,EAAgB7N,sBAAc,IAAA6O,OAAhB,EAAdA,EAAgCz8C,MAChDlD,OAAsB,OAAd2+C,QAAc,IAAdA,OAAc,EAAdA,EAAgB3+C,OAAOkD,QAIjC6tC,WACCpkC,EAAKykC,eAAiB5mB,GAAa2pB,SAChCxnC,EAAKokC,WACS,OAAd4N,QAAc,IAAdA,GAA0B,QAAZiB,EAAdjB,EAAgB5N,kBAAU,IAAA6O,OAAZ,EAAdA,EAA4B18C,MAChC8tC,gBACCrkC,EAAKykC,eAAiB5mB,GAAa2pB,SAChCxnC,EAAKqkC,gBACS,OAAd2N,QAAc,IAAdA,GAA+B,QAAjBkB,EAAdlB,EAAgB3N,uBAAe,IAAA6O,OAAjB,EAAdA,EAAiC38C,MACrC+tC,IAAmB,OAAd0N,QAAc,IAAdA,GAAmB,QAALmB,EAAdnB,EAAgB1N,WAAG,IAAA6O,OAAL,EAAdA,EAAqB58C,MAC1BguC,MAAqB,OAAdyN,QAAc,IAAdA,GAAqB,QAAPoB,EAAdpB,EAAgBzN,aAAK,IAAA6O,OAAP,EAAdA,EAAuB78C,MAE9BwrB,QAAS,IACLhM,EAASgM,QACZ6jB,OAAsB,OAAdoM,QAAc,IAAdA,GAAsB,QAARqB,EAAdrB,EAAgBpM,cAAM,IAAAyN,OAAR,EAAdA,EAAwB98C,MAChC8vC,YAA2B,OAAd2L,QAAc,IAAdA,GAA2B,QAAbsB,EAAdtB,EAAgB3L,mBAAW,IAAAiN,OAAb,EAAdA,EAA6B/8C,MAC1C49C,gBAA+B,OAAdnC,QAAc,IAAdA,GAA+B,QAAjBuB,EAAdvB,EAAgBmC,uBAAe,IAAAZ,OAAjB,EAAdA,EAAiCh9C,MAClDlE,QAAuB,OAAd2/C,QAAc,IAAdA,GAAuB,QAATwB,EAAdxB,EAAgB3/C,eAAO,IAAAmhD,OAAT,EAAdA,EAAyBj9C,MAClCsvC,WAAqC,QAA3B4N,EAAEzB,EAAenM,kBAAU,IAAA4N,OAAA,EAAzBA,EAA2Bl9C,MACvCuvC,KAAoB,OAAdkM,QAAc,IAAdA,GAAoB,QAAN0B,EAAd1B,EAAgBlM,YAAI,IAAA4N,OAAN,EAAdA,EAAsBn9C,MAC5B69C,OAAsB,OAAdpC,QAAc,IAAdA,GAAsB,QAAR2B,EAAd3B,EAAgBoC,cAAM,IAAAT,OAAR,EAAdA,EAAwBp9C,MAChC89C,aAA4B,OAAdrC,QAAc,IAAdA,GAA4B,QAAd4B,EAAd5B,EAAgBqC,oBAAY,IAAAT,OAAd,EAAdA,EAA8Br9C,OAG7CgsB,YAA2B,OAAdyvB,QAAc,IAAdA,GAA2B,QAAb6B,EAAd7B,EAAgBzvB,mBAAW,IAAAsxB,OAAb,EAAdA,EAA6Bt9C,MAC1C+rB,MAAqB,OAAd0vB,QAAc,IAAdA,GAAqB,QAAP8B,EAAd9B,EAAgB1vB,aAAK,IAAAwxB,OAAP,EAAdA,EAAuBv9C,MAE9BmuC,yBACe,OAAdsN,QAAc,IAAdA,GAAwC,QAA1B+B,EAAd/B,EAAgBtN,gCAAwB,IAAAqP,OAA1B,EAAdA,EAA0Cx9C,MAC3CouC,eAA8B,OAAdqN,QAAc,IAAdA,GAA8B,QAAhBgC,EAAdhC,EAAgBrN,sBAAc,IAAAqP,OAAhB,EAAdA,EAAgCz9C,OAC/C,GAEH,CAACwf,EAAU/V,KAGZ+Y,EAAAA,EAAAA,YACC,KACKi5B,GACHI,EAAkBJ,GAEZ,SAER,CAACA,IA0BF,OALAj5B,EAAAA,EAAAA,YAAU,KACTlZ,QAAQ4W,IAAI,SAAUu7B,GACtBnyC,QAAQ4W,IAAI,SAAU07B,EAAO,GAC3B,CAACA,EAAQH,KAGXxoC,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACb6oC,GACAhoC,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CACL1O,GAAG,OACHlE,UAAW,uBAAuBhY,EAAAA,EAAUC,UAC5C4qB,KAAM20B,EACNz0B,WAAW,EACXuX,KAAK,KACLrX,SAAS,SAAQtU,SAAA,EACjBS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMM,OAAM,CAAClT,UAAU,yBACxBZ,EAAAA,GAAAA,KAACwT,GAAAA,EAAM0hB,MAAK,CACXt0B,UAAU,cACV1F,MAAO,CAAE4vC,cAAe,aAAcvrC,SACrC1I,EAAE,sBAEJuJ,EAAAA,GAAAA,MAACoT,GAAAA,EAAMS,KAAI,CAAA1U,SAAA,CACT+oC,GACAtoC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCS,EAAAA,GAAAA,KAACc,GAAO,CACPC,IAAK,UACLpK,QAASE,EAAE,iBAIbmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAC9B1I,EAAE,8BAIJ6nC,IAAe1iB,GACf5b,EAAAA,GAAAA,MAACV,EAAAA,SAAc,CAAAH,SAAA,EACdS,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYA,EACZU,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAUA,IA5DH3pC,WACdqmB,GAAW,GACXC,GAAS,GAET,IACClQ,GACE9D,sBAAsBqE,GACtBF,MAAK,IAAMg8B,GAAgB,IAC9B,CAAE,MAAOjyC,GACRC,QAAQC,KAAKF,GACb8lB,GAAS,EACV,CACK9lB,IACJmyC,GAAoB,GACpBwC,GAA6Bx+B,GAC9B,EA6CuBy+B,KAEhB50C,GACA4J,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,+BACL,SAGLmJ,EAAAA,GAAAA,KAAC0R,GAAa,UAId,MACY,EAINu5B,GAAaA,KACzB,MAAM,EAAEp0C,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,WACtCN,EAAMwsB,IAAWxjB,EAAAA,EAAAA,aACjBiU,EAAMwP,IAAWzjB,EAAAA,EAAAA,WAAS,IAE1BpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACpB,OAAE0R,IAAW/Q,EAAAA,EAAAA,YAAW8Q,KACxB,aAAE5C,EAAY,OAAEuZ,IAAWznB,EAAAA,EAAAA,YAAW0nB,IA6D5C,OAZAtY,EAAAA,EAAAA,YACC,KACW,OAANqY,QAAM,IAANA,GAAAA,EAAQA,OACX3E,GAAQ,GAGR/R,EAAO7f,SAASmxB,GAAO0oB,KArD1Bt1C,iBACW,OAANgyB,QAAM,IAANA,GAAAA,EAAQA,QAI0C,UAAlDnqB,eAAenL,QAAQiB,EAAW0a,cACX,OAAtBrlB,EAAAA,EAAUC,cACPmjB,GACJmC,yBAAyBtX,EAAe,OAAZwX,QAAY,IAAZA,OAAY,EAAZA,EAAcD,YAC1C/B,MAAM9V,IACNysB,EAAQzsB,GAEPA,EAAS0kC,eAAiB5mB,GAAaypB,YAEvC7a,GAAQ,GAERA,EAGO,SAFNxlB,eAAenL,QACdiB,EAAW0a,YAGd,IAEAlB,OAAO7V,GAAMglB,EAAS/lB,GAAwBe,YAE1C8U,GACJ/D,WAAWpR,GACXwV,MAAM9V,IACNysB,EAAQzsB,GAEe,OAAtB3N,EAAAA,EAAUC,SACV0N,EAAS0kC,eAAiB5mB,GAAaypB,YAEvC7a,GAAQ,GAERA,EAGO,SAFNxlB,eAAenL,QACdiB,EAAW0a,YAGd,IAEAlB,OAAO7V,GAAMglB,EAAS/lB,GAAwBe,MAGnD,CAQiC+Q,GAAegb,GAAQ,EACtD,GAED,CAAO,OAAN2E,QAAM,IAANA,OAAM,EAANA,EAAQA,UAIT5nB,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAAmBvF,SACzBkU,IACAzT,EAAAA,GAAAA,KAACmoC,GAAQ,CACRz1B,WAAW,EACXlc,KAAMA,EACNmc,YAAaA,KACZsQ,GAAQ,EAAM,KAIZ,EAGF8nB,GAAgCx+B,IAAwB,IAAD4+B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC5D,IAAIC,EAAkB5uC,eAAenL,QAAQgL,MAC7C,MAAMgvC,EAAuB,CAC5BC,iBAAiB,EACjBC,eAAe,GAEhB,IAAIC,EAAgBH,EAEhBI,EAA6B,CAChC9/B,aAAc,CACb/jB,QAAS,GACTgkB,UAAW,GACX+vB,SAAU,GACV+P,WAAY,GACZ79B,IAAK,IAENyJ,QAAS,CACR+jB,KAAM,GACNF,OAAQ,GACRwQ,QAAS,GACTC,IAAK,GACLC,gBAAiB,IAElBC,eAAgB,CACfzQ,KAAM,GACNF,OAAQ,GACRwQ,QAAS,GACTC,IAAK,GACLC,gBAAiB,IAElBE,SAAU,CACTC,UAAW,GACXn0B,MAAO,GACPo0B,UAAW,IAEZT,cAAe,CACdF,iBAAiB,EACjBC,eAAe,IAIbH,IACHK,EAAkBjgC,KAAKqW,MAAMupB,GAC7BI,EAAgBC,EAAgBD,eAAiBH,GAGlD,MAAMa,EAA8B,CACnCvgC,aAAc,CACb/jB,SAC6B,QAA5BsiD,EAAAuB,EAAgB9/B,oBAAY,IAAAu+B,OAAA,EAA5BA,EAA8BtiD,UAC9BukD,GACwB,QADVhC,EACbsB,EAAgBn0B,eAAO,IAAA6yB,GAAiB,QAAjBC,EAAvBD,EAAyB0B,uBAAe,IAAAzB,OAAjB,EAAvBA,EAA0CrxC,YAE5C6S,WAC6B,QAA5By+B,EAAAoB,EAAgB9/B,oBAAY,IAAA0+B,OAAA,EAA5BA,EAA8Bz+B,YAAaN,EAASM,UACrD+vB,UAC6B,QAA5B2O,EAAAmB,EAAgB9/B,oBAAY,IAAA2+B,OAAA,EAA5BA,EAA8B3O,WAAYrwB,EAASqwB,SACpD+P,YAAwC,QAA5BnB,EAAAkB,EAAgB9/B,oBAAY,IAAA4+B,OAAA,EAA5BA,EAA8BmB,aAAc,GACxD79B,KAAiC,QAA5B28B,EAAAiB,EAAgB9/B,oBAAY,IAAA6+B,OAAA,EAA5BA,EAA8B38B,MAAOvC,EAASuC,KAEpDyJ,QAAS,CACR+jB,MAAsB,QAAhBoP,EAAAn/B,EAASgM,eAAO,IAAAmzB,OAAA,EAAhBA,EAAkBpP,QAA+B,QAA3BqP,EAAIe,EAAgBn0B,eAAO,IAAAozB,OAAA,EAAvBA,EAAyBrP,MACzDF,QAAwB,QAAhBwP,EAAAr/B,EAASgM,eAAO,IAAAqzB,OAAA,EAAhBA,EAAkBxP,UAAiC,QAA3ByP,EAAIa,EAAgBn0B,eAAO,IAAAszB,OAAA,EAAvBA,EAAyBzP,QAC7DwQ,SAAgC,QAAvBd,EAAAY,EAAgBn0B,eAAO,IAAAuzB,OAAA,EAAvBA,EAAyBc,UAAW,GAC7CC,KAAqB,QAAhBd,EAAAx/B,EAASgM,eAAO,IAAAwzB,OAAA,EAAhBA,EAAkB1P,cAAqC,QAA3B2P,EAAIU,EAAgBn0B,eAAO,IAAAyzB,OAAA,EAAvBA,EAAyBa,KAC9DC,iBACiB,QAAhBb,EAAA1/B,EAASgM,eAAO,IAAA0zB,GAAS,QAATC,EAAhBD,EAAkBpjD,eAAO,IAAAqjD,OAAT,EAAhBA,EAA2BlyC,cACJ,QADcmyC,EACrCO,EAAgBn0B,eAAO,IAAA4zB,OAAA,EAAvBA,EAAyBW,kBAE3BE,SAAU,CACTC,UACC1gC,EAASwM,aAAe2zB,EAAgBM,SAASC,UAClDn0B,MAAOvM,EAASuM,OAAS4zB,EAAgBM,SAASl0B,MAClDo0B,WACyB,QAAxBd,EAAAM,EAAgBM,gBAAQ,IAAAZ,OAAA,EAAxBA,EAA0Bc,YAC1BR,EAAgBM,SAASE,WACzB,IAGFH,oBAAgB35C,EAChBq5C,cAAeA,GAGhBhvC,eAAe+O,QACdlP,KACAmP,KAAKC,UAAUygC,GACf,EAGIC,GAAkBvkD,IACvB,OAAQA,GACP,IAAK,KACJ,OAAO+H,EAAUsD,GAClB,IAAK,KACJ,OAAOtD,EAAUuD,GAClB,IAAK,KACJ,OAAOvD,EAAUwD,GAClB,IAAK,KACJ,OAAOxD,EAAUmD,GAClB,IAAK,KACJ,OAAOnD,EAAUkD,GAClB,IAAK,KACJ,OAAOlD,EAAUiD,GAClB,QACC,OACF,E,oLCraYw5C,GAAeA,KAC3B,MAAM,OAAEzlB,EAAM,YAAE0lB,IAAgBntC,EAAAA,EAAAA,YAAW0nB,KACpC0lB,EAAKC,IAAUhuC,EAAAA,EAAAA,UAAS,KAU/B+P,EAAAA,EAAAA,YAAU,KACT,IAAuB,KAAb,OAANqY,QAAM,IAANA,OAAM,EAANA,EAAQA,QACX,OAAQh/B,EAAAA,EAAUC,SACjB,IAAK,KACJ2kD,EAAOC,EAAkB7lB,EAAOnQ,QAChC,MACD,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACJ+1B,EAAOE,EAAkBJ,IACzB,MACD,QACCE,EAAOG,IAGV,IAID,MAAMF,EAAqBh2B,IAC1B,OAAQA,GACP,IAAK,OACJ,OAAOm2B,GACR,IAAK,UACJ,OAAOC,GACR,IAAK,aACJ,OAAOF,GACR,QACC,MAAO,GACT,EAGKD,EAAqBI,IAEhB,OAATA,QAAS,IAATA,OAAS,EAATA,EAAWhnC,WAAY2N,GAAYs5B,WACX36C,KAAf,OAAT06C,QAAS,IAATA,OAAS,EAATA,EAAWE,WA5CKC,MACjB,MAAMC,GAAc,IAAIt3B,MAAOu3B,SAAS1kB,MAAM,EAAG,IAC3Cc,EAAO,IAAI3T,KAAgB,OAAX02B,QAAW,IAAXA,OAAW,EAAXA,EAAac,WAC7BzzB,EAAK,IAAI/D,KAAgB,OAAX02B,QAAW,IAAXA,OAAW,EAAXA,EAAae,SAC3BC,EAAQ,IAAI13B,KAAKs3B,GACvB,OAAOI,EAAQ/jB,GAAQ+jB,EAAQ3zB,CAAE,EAwChCszB,GAEOH,EAAUE,SAEVL,GAIT,OAAOJ,CAAG,ECzDEgB,GAAYp8C,IAAA,IAAC,UAAEq8C,EAAS,SAAEC,GAA2Bt8C,EAAA,OACjE6N,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,UACVS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAAmCrB,SAChDivC,KAEFxuC,EAAAA,GAAAA,KAAA,OACCY,UAAU,aACV2/B,wBAAyB,CAAEC,OAAQiO,WAG1B,ECPDC,GAAcv8C,IAOD,IAPE,QAC3Bw8C,EAAO,cACPC,EAAa,sBACbC,EAAqB,4BACrBC,EAA2B,QAC3BhyB,EAAO,EACPjmB,GACmB1E,EACnB,MAAM48C,GAAiBv9B,EAAAA,EAAAA,cAAY,KAClCsL,GAAS,GACP,CAACA,IA6BJ,OACC1c,EAAAA,GAAAA,MAACoT,GAAAA,EAAMU,OAAM,CAAA3U,SAAA,CA5BUyvC,MACvB,IAAKL,IAAYC,EAAe,OAAO,KAEvC,MAAM1tC,GACLlB,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACV,UAAQ,iBAAgBrB,SACvBqvC,IAIH,OAAOE,GACN9uC,EAAAA,GAAAA,KAACivC,EAAAA,GAAI,CAACt0B,GAAIg0B,EAAS7sC,QAASitC,EAAexvC,SACzC2B,KAGFlB,EAAAA,GAAAA,KAAA,KACC5E,KAAMuzC,EACNv8B,OAAO,SACPoS,IAAI,sBACJ1iB,QAASitC,EAAexvC,SACvB2B,GAEF,EAKC8tC,GACAH,IACA7uC,EAAAA,GAAAA,KAAA,UACC,UAAQ,iBACR6B,KAAK,SACLjB,UAAU,oBACVkB,QAASgb,EAAQvd,SAChB1I,EAAE,aAGS,ECvDJq4C,GAAc/8C,IAAA,IAAC,YAC3Bg9C,EAAW,YACXC,GACmBj9C,EAAA,OACnB6N,EAAAA,GAAAA,KAACwT,GAAAA,EAAMM,OAAM,CAACC,aAAW,EAAAxU,UACxBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,aAAYrB,SAAA,EAC1BS,EAAAA,GAAAA,KAACwT,GAAAA,EAAM0hB,MAAK,CAAA31B,UACXS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,wBAAuBrB,SAAE4vC,OAEzCnvC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAC5BS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CAACtT,IAAK0uC,EAAY1uC,IAAKG,IAAKuuC,EAAYvuC,YAGlC,ECXHwuC,GAAmBl9C,IAIF,IAJG,QAChC+oB,EAAO,QACP4B,EAAO,KACPrJ,GACuBthB,EACvB,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,IAAKokB,EAAS,OAAO,KAErB,MAAM,YACLi0B,EAAW,YACXC,EAAW,UACXZ,EAAS,SACTC,EAAQ,QACRE,EAAO,cACPC,EAAa,sBACbC,EAAqB,IACrB9tC,EAAG,4BACH+tC,GACG5zB,EAEJ,OACC9a,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CACLC,KAAMA,EACNC,OAAQoJ,EACRlc,UAAW,qBAAqBG,IAChC8S,SAAS,SACTF,WAAW,EAAMpU,SAAA,EACjBS,EAAAA,GAAAA,KAACkvC,GAAW,CAACC,YAAaA,EAAaC,YAAaA,KACpDpvC,EAAAA,GAAAA,KAACuuC,GAAS,CAACC,UAAWA,EAAWC,SAAUA,KAC3CzuC,EAAAA,GAAAA,KAAC0uC,GAAW,CACXI,4BAA6BA,EAC7BH,QAASA,EACTC,cAAeA,EACfC,sBAAuBA,EACvB/xB,QAASA,EACTjmB,EAAGA,MAEG,EC5BJy4C,GAAUA,KACf,MAAM/B,EAAMF,MACN,YAAEC,GAAgBvZ,KAExB,OAAe,OAAXuZ,QAAW,IAAXA,GAAAA,EAAaiC,WAEfvvC,EAAAA,GAAAA,KAAA,KAAG5E,KAAMkyC,EAAYiC,UAAUhwC,UAC9BS,EAAAA,GAAAA,KAAA,OAAKU,IAAK6sC,EAAK1sC,IAAI,OAAO,UAAQ,iBAI9Bb,EAAAA,GAAAA,KAAA,OAAKU,IAAK6sC,EAAK1sC,IAAI,OAAO,UAAQ,aAAc,EAGlDktC,GAAOA,KAEX/tC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yEAAwErB,UACtFS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,UAC9BS,EAAAA,GAAAA,KAACsvC,GAAO,QAWNE,GAAUr9C,IAAyD,IAAxD,aAAEw1B,EAAY,SAAE8nB,EAAQ,KAAE30C,EAAI,OAAE40C,GAAkBv9C,EAClE,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,IACX66C,EAAWt6C,IAEjB,OACC+K,EAAAA,GAAAA,MAAA,OACCQ,WACC+uC,EAAW,kBAAoB,IADrB,mCAGX,UAAQ,UAASpwC,SAAA,EACjBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gBAAerB,SAAA,EAC7Ba,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iCAAgCrB,SAAA,EAC9Ca,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAY,UAAQ,cAAarB,SAC9CzE,KAEFkF,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAAE1I,EAAE,iBAChCmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,SAAS,UAAQ,oBAAmBrB,SACjDjL,EAAyB,OAAZqzB,QAAY,IAAZA,OAAY,EAAZA,EAAcioB,sBAAuB,CAClDhmD,SAAU0L,IACV4F,MAAO,mBAIVkF,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,EAC7CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAQ,UAAQ,oBAAmBrB,SAChD1I,EAAE,iBAEJmJ,EAAAA,GAAAA,KAAA,OAAK,UAAQ,cAAaT,SAAEkwC,IACL,OAAtB7mD,EAAAA,EAAUC,UAAqBqX,IAC/BF,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAAEmwC,UAIV,OAAtB9mD,EAAAA,EAAUC,SAAoBqX,IAC9BF,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAAEmwC,QAGhCtvC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,+CAA8CrB,SAAA,EAC5Da,EAAAA,GAAAA,MAAA,OACCQ,UAAU,2BACV,UAAQ,kCAAiCrB,SAAA,EACzCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,sBACzBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,qBACzBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,iBAE1BuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,EAC7CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACnBjL,EAAyB,OAAZqzB,QAAY,IAAZA,OAAY,EAAZA,EAAckoB,YAAa,CACxCjmD,SAAU0L,IACV4F,MAAO,gBAGT8E,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACnBjL,EAAyB,OAAZqzB,QAAY,IAAZA,OAAY,EAAZA,EAAcmoB,eAAgB,CAC3ClmD,SAAU0L,IACV4F,MAAO,gBAGT8E,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACG,OAAtB3W,EAAAA,EAAUC,UACC,OAAZ8+B,QAAY,IAAZA,OAAY,EAAZA,EAAcioB,wBACD,OAAZjoB,QAAY,IAAZA,OAAY,EAAZA,EAAckoB,aACZ,UACAv7C,EAAyB,OAAZqzB,QAAY,IAAZA,OAAY,EAAZA,EAAc9F,QAAS,CACpCj4B,SAAU0L,IACV4F,MAAO,uBAKR,EAyGR,GArGqB60C,KACpB,MAAM7vC,EAAWpL,IACX66C,EAAWt6C,IACXkF,GAAWy1C,EAAAA,GAAAA,OACX,aACLroB,EAAY,aACZtZ,EAAY,MACZjY,EAAK,aACL65C,EAAY,2BACZC,EAA0B,gCAC1BC,EAA+B,qBAC/BC,GACGrc,MACGsc,EAAgBC,IAAqB9wC,EAAAA,EAAAA,UAC3CmoB,IAGDpY,EAAAA,EAAAA,YAAU,KACT+gC,EAAkB3oB,EAA+B,GAC/C,CAACA,IAEJ,IAAIxC,OACoC/xB,KAAzB,OAAdi9C,QAAc,IAAdA,OAAc,EAAdA,EAAgBE,qBAEb,KACC,IAAI35B,KAAmB,OAAdy5B,QAAc,IAAdA,OAAc,EAAdA,EAAgBE,oBAAqBjnB,WAC9C,IACAG,OAAO,GACR,GAEAzD,OACoC5yB,KAAzB,OAAdi9C,QAAc,IAAdA,OAAc,EAAdA,EAAgBE,oBACb,IAAI35B,KAAmB,OAAdy5B,QAAc,IAAdA,OAAc,EAAdA,EAAgBE,oBACxBhnB,cACAvvB,WACA6C,UAAU,GACX,GAEA4yC,OACoCr8C,KAAzB,OAAdi9C,QAAc,IAAdA,OAAc,EAAdA,EAAgBE,oBACb,GAAGprB,KAAQa,IACX,GAEA0pB,OAC8Bt8C,KAAnB,OAAdi9C,QAAc,IAAdA,OAAc,EAAdA,EAAgBG,eACC,OAAdH,QAAc,IAAdA,OAAc,EAAdA,EAAgBG,aAAa/mB,MAAM,EAAG,IACvC,KACc,OAAd4mB,QAAc,IAAdA,OAAc,EAAdA,EAAgBG,aAAa/mB,MAAM,EAAG,IACtC,KACc,OAAd4mB,QAAc,IAAdA,OAAc,EAAdA,EAAgBG,aAAa/mB,MAAM,EAAG,KACtC,KACc,OAAd4mB,QAAc,IAAdA,OAAc,EAAdA,EAAgBG,aAAa/mB,MAAM,GAAI,KACtC,GAWJ,OATAla,EAAAA,EAAAA,YACC,KACKhV,EAASggB,WAAa3E,IACzBq6B,EAAanmB,GAAU,GAAGjG,MAAM,GACjC,GAED,KAIA7jB,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACGnJ,IACD4J,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,CAC5ChF,EAASggB,WAAa3E,GAAyB,MAC/C5V,EAAAA,GAAAA,KAACqvC,GAAgB,CAChBn0B,QACqB,OAApBk1B,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBn5C,MACpB8B,GACAA,EAAK03C,QACL13C,EAAKlQ,UAAYD,EAAAA,EAAUC,UAG9Bi0B,QAASA,IAAMozB,IACfz8B,MAAO08B,KAGTnwC,EAAAA,GAAAA,KAACwvC,GAAO,CACP7nB,aAAcA,EACd8nB,SAAUA,EACV30C,KAAM,GAAe,OAAZuT,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,aAAyB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,WAClD8S,OAAQA,KAEPxvC,GACDyvC,GACAx6C,OAAOC,WAAa,KACpBD,OAAOu7C,YAAc,KACrB1wC,EAAAA,GAAAA,KAAC+tC,GAAI,KAEL/tC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,UAKF,EC3EL,GA3IgBlO,IAAwC,IAAvC,YAAEkb,EAAW,YAAEsjC,GAAkBx+C,EACjD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KACX,OAAE8yB,EAAM,YAAE5e,IAAgB7I,EAAAA,EAAAA,YAAW0nB,IAE3C,IAAI+oB,EAA6B,OAANhpB,QAAM,IAANA,GAAAA,EAAQA,OAChC,CAAC,yBAA0B,eAC3B,CAAC,yBAA0B,YAE1BipB,EAA6B,OAANjpB,QAAM,IAANA,GAAAA,EAAQA,OAChC,gBACA,gBAEH,OACCxnB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uCAAsCrB,SAAA,EACpDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,+CAA8CrB,SAAA,EAC5Da,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,CACjB,kBAAhByJ,GACAhJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,0BAERmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,qBAETmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACG,OAAtB3W,EAAAA,EAAUC,UACVmX,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAc,OAAX8N,QAAW,IAAXA,OAAW,EAAXA,EAAa0a,mBAGlB/nB,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,kBACRmJ,EAAAA,GAAAA,KAAA,OAAAT,SACEjL,EAAwB,OAAX+Y,QAAW,IAAXA,OAAW,EAAXA,EAAawU,QAAS,CACnCj4B,SAAU0L,IACV4F,MAAO,mBAIVkF,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,EAC7CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,GAAErB,SAAE1I,EAAE,kBACrBmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM,GAAc,OAAX8N,QAAW,IAAXA,OAAW,EAAXA,EAAayT,yBAGD,OAAtBl4B,EAAAA,EAAUC,SACVuX,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,kCAEPuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sCAAqCrB,SAAA,EACnDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,WACzBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,aAE1BuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,EAC7CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAEoxC,EAAY,MACnC3wC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAEoxC,EAAY,WAGnCzwC,GAiCDE,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACH,kBAAhByJ,GACAhJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BAENmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,2BAGRuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0BAAyBrB,SAAA,EACvCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,qBAAqB,UAE5BmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACR,OAAX8N,QAAW,IAAXA,OAAW,EAAXA,EAAa0a,iBAGf/nB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE,GAAG1I,EAAE,YAC3B+5C,EAAqB,QAEtB5wC,EAAAA,GAAAA,KAAA,OAAAT,SAAM,GAAG1I,EAAE,WACV+5C,EAAqB,cApDxBxwC,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACH,kBAAhByJ,GACAhJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BAENmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,2BAGRuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kDAAiDrB,SAAA,EAC/Da,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxB1I,EAAE,wBAEJmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,SACxB,OAAX8N,QAAW,IAAXA,OAAW,EAAXA,EAAa0a,oBAGhB3nB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAE1I,EAAE,WAC9BmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,SACnCqxC,EAAqB,SAGxBxwC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAE1I,EAAE,UAC9BmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,SACnCqxC,EAAqB,kBAiC5BxwC,EAAAA,GAAAA,MAAA,OAAKQ,UAAWV,EAAW,MAAQ,OAAOX,SAAA,CACxB,kBAAhByJ,GACAhJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BAENmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,yBAEPuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sCAAqCrB,SAAA,EACnDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,wBACzBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAE,2BAE1BuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gCAA+BrB,SAAA,EAC7CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACR,OAAX8N,QAAW,IAAXA,OAAW,EAAXA,EAAa0a,iBAEf/nB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAEsxC,eAKtB,ECpGR,GAxCwBC,KACvB,MAAM5wC,EAAWpL,KAEX,aAAE6yB,EAAY,MAAEvxB,IAAU+J,EAAAA,EAAAA,YAAW0nB,KACpCxa,EAAa0jC,IAAkBvxC,EAAAA,EAAAA,UAASmoB,IACxCgpB,EAAaK,IAAkBxxC,EAAAA,EAAAA,UAAmB,KAEzD+P,EAAAA,EAAAA,YAAU,KACT,GAAe,OAAXlC,QAAW,IAAXA,GAAAA,EAAa4jC,KAAM,CACtB,IAAIztB,EAAQnW,EAAY4jC,KAAKt7C,QAAQ,OACjCu7C,EAAY7jC,EAAY4jC,KAAK/7C,OAAO,EAAGsuB,GAAO7tB,QAAQ,KACtDw7C,EAAW9jC,EAAY4jC,KAAK/7C,OAAOsuB,EAAQ,GAAG7tB,QAAQ,KAE1Dq7C,EAAe,CACd3jC,EAAY4jC,KAAK/7C,OAAO,EAAGsuB,GAAOtuB,OAAOg8C,EAAY,GACrD7jC,EAAY4jC,KAAK/7C,OAAOsuB,EAAQ,GAAGtuB,OAAOi8C,EAAW,IAEvD,IACE,CAAC9jC,KAEJkC,EAAAA,EAAAA,YAAU,KACTwhC,EAAeppB,EAA6B,GAC1C,CAACA,IAEJ,IAAI0f,EAAe,CAAC,UAAW,YAAa,SAAU,QAGtD,OAFInnC,GAAUmnC,EAAa51C,KAAK,gBAG/BuO,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACGnJ,IACD4J,EAAAA,GAAAA,KAAA,OAAKY,UAAWymC,EAAaC,KAAK,KAAK/nC,UACtCS,EAAAA,GAAAA,KAACwvC,GAAO,CACPniC,YAAaA,EACbsjC,YAAaA,OAId,ECLL,GA3BiBS,KAChB,MAAM,QAAEp1B,EAAO,OAAE4L,IAAWznB,EAAAA,EAAAA,YAAW0nB,KAEhCwpB,EAAUC,IAAe9xC,EAAAA,EAAAA,WAASQ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAUzC,OARAkP,EAAAA,EAAAA,YAAU,KACC,OAANqY,QAAM,IAANA,GAAAA,EAAQA,OACX0pB,GAAYtxC,EAAAA,GAAAA,KAAC+vC,GAAY,KAEzBuB,GAAYtxC,EAAAA,GAAAA,KAAC8wC,GAAe,IAC7B,GACE,CAAClpB,KAGH5nB,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEyc,GACAhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAER1E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACirC,GAAU,KACXjrC,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAG8xC,KACHrxC,EAAAA,GAAAA,KAACkoC,GAAY,QAGb,ECJL,SAzBAtyC,eACC27C,EACA16C,EACA6E,GAEA,IACC,IAAInF,QAAiBqV,GAAMQ,IAC1B,GAAGxjB,EAAAA,EAAUoe,0EAA0EuqC,IACvF,UACW5tC,KACV+J,aAAc,SAQhBjS,GAJW,IAAI+4B,KAAK,CAACj+B,EAASC,MAAO,CACpCqL,KAAM,oBAGQnG,EAAW61C,EAAqB,OAChD,CAAE,MAAOr6C,GAER,MADAmM,GAASnM,GACH,IAAIT,MAAMI,EAAE,0BACnB,CACD,ECGA,SAxBAjB,eAA2CiB,EAAc26C,GAErD,IAAIxc,QAAmBj2B,GAAYa,UAAUyM,MAAM1M,GACpC,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMkE,QAAQG,MAkBzB,aAhBuB4H,GAClBQ,IACG,GAAGxjB,EAAAA,EAAUoe,mEAAmEguB,+CAA8Ewc,UACxJ7tC,MAET0I,MAAMC,GACIA,EAAO9V,OAEjBuW,OAAOC,IAAS,IAAD6K,EAEZ,MADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACR,IAAID,MAAMI,EAAE,wBAEZmW,CACV,GAGZ,ECEA,SAxBApX,eAAkDiB,EAAc26C,GAE5D,IAAIxc,QAAmBj2B,GAAYa,UAAUyM,MAAM1M,GACpC,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMkE,QAAQG,MAkBzB,aAhBuB4H,GAClBQ,IACG,GAAGxjB,EAAAA,EAAUoe,gEAAgEguB,+CAA8Ewc,UACrJ7tC,MAET0I,MAAMC,GACIA,EAAO9V,OAEjBuW,OAAOC,IAAS,IAAD6K,EAEZ,MADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACR,IAAID,MAAMI,EAAE,wBAEZmW,CACV,GAGZ,ECAA,SAxBApX,eACC27C,EACA51C,EACA9E,EACA6E,GAEA,IACC,IAAInF,QAAiBqV,GAAMQ,IAC1B,GAAGxjB,EAAAA,EAAUoe,uEAAuEuqC,IACpF,UACW5tC,KACV+J,aAAc,SAMhBjS,GAHW,IAAI+4B,KAAK,CAACj+B,EAASC,MAAO,CACpCqL,KAAM,oBAEQnG,EAAW61C,EAAqB,OAChD,CAAE,MAAOr6C,GAER,MADAmM,GAASnM,GACH,IAAIT,MAAMI,EAAE,0BACnB,CACD,EC4VA,GA5V2B46C,KAC1B,MAAM,EAAE56C,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KAEX,OAAE8yB,EAAM,aAAED,EAAY,YAAE3e,IAAgB7I,EAAAA,EAAAA,YAAW0nB,KACnD,aAAExZ,GAAiB0lB,KACnB3gB,EACW,SAAhBpK,EACG,wBACgB,kBAAhBA,EACC,0BACA,qBAECrN,EAAiB,OAANisB,QAAM,IAANA,GAAAA,EAAQA,OAAS,UAAY,gBACxC8pB,EAAqB,OAAN9pB,QAAM,IAANA,GAAAA,EAAQA,OAC1B,iBACA,0BACG+pB,EAA2B,OAAN/pB,QAAM,IAANA,GAAAA,EAAQA,OAChC,4BACA,+BAEIgqB,EAAmBC,IACzBryC,EAAAA,EAAAA,YAED,IAAIsyC,EACmB,OAAtBlpD,EAAAA,EAAUC,SACY,OAAtBD,EAAAA,EAAUC,SACY,OAAtBD,EAAAA,EAAUC,SACY,OAAtBD,EAAAA,EAAUC,QACD,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,OACP,cACA,8CACK,OAANA,QAAM,IAANA,GAAAA,EAAQA,OACP,gBACA,iBA2BLrY,EAAAA,EAAAA,YAAU,KAzBmB3Z,WAC5B,IAEC,GADAqmB,GAAW,GACD,OAAN2L,QAAM,IAANA,GAAAA,EAAQA,OAAQ,CACnB,IAAIgqB,QAA0BG,GAC7Bl7C,EACY,OAAZ8wB,QAAY,IAAZA,OAAY,EAAZA,EAAcqqB,qBAEfH,EAAqBD,GACrB31B,GAAW,EACZ,KAAO,CACN,IAAI21B,QACGK,GACLp7C,EACY,OAAZ8wB,QAAY,IAAZA,OAAY,EAAZA,EAAcqqB,qBAEhBH,EAAqBD,GACrB31B,GAAW,EACZ,CACD,CAAE,MAAO7lB,GACR6lB,GAAW,GACXC,EAAS/lB,GAAwBC,GAClC,GAIA87C,EAAsB,GAEpB,IAEH,MAAM7kC,EAAc,CACP,OAAZsa,QAAY,IAAZA,OAAY,EAAZA,EAAcI,cACd+pB,EACsB,OAAtBlpD,EAAAA,EAAUC,SACY,OAAtBD,EAAAA,EAAUC,SACY,OAAtBD,EAAAA,EAAUC,SACY,OAAtBD,EAAAA,EAAUC,QACP,aACA,sCAGJ,IAAIspD,EAAe9kC,EAAYlW,KAAI,CAAC4B,EAAWpB,KAE7CqI,EAAAA,GAAAA,KAAA,MAAc9E,MAAO,CAAEk3C,WAAY,YAAa7yC,SAC9CxG,GADOpB,KAMX,MAAM06C,EAAgB/vC,IACrBlC,EAAAA,GAAAA,MAAA,UACC0B,QAAUmb,IACT3a,EAAMR,SAAS,EAEhBlB,UACCV,EACG,mDACA,cACHX,SAAA,CACA+C,EAAMvJ,KAAK,KAACiH,EAAAA,GAAAA,KAAA,QAAMY,UAAU,0BAU/B,IAAI0xC,EAAc,EACjBlyC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,SAAQrB,SAAA,CACE,OAAtB3W,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QACjB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QAChB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QAChB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,OACpC/wB,EAAE,SACFA,EAAE,4BAELmJ,EAAAA,GAAAA,KAACgb,GAAO,CACPjiB,KAAM,CACLhM,MACwB,OAAtBnE,EAAAA,EAAUC,UAA2B,OAAN++B,QAAM,IAANA,IAAAA,EAAQA,SACjB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QAChB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QAChB,OAAtBh/B,EAAAA,EAAUC,UAA2B,OAAN++B,QAAM,IAANA,IAAAA,EAAQA,QACrC/wB,EAAE,yBACFA,EAAE,yBAITmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACyB,OAAtB3W,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QACjB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QAChB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,QAChB,OAAtBh/B,EAAAA,EAAUC,SAA0B,OAAN++B,QAAM,IAANA,GAAAA,EAAQA,OACpC/wB,EAAE,OACFA,EAAE,wBAENmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAG1I,EAAE,eAGN,MAAO4xB,EAAWC,IAAgBlpB,EAAAA,EAAAA,UAAmC,KAC9DpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,GAEjC+yC,GAAsB/gC,EAAAA,EAAAA,cAC3B5b,MACC27C,EACA51C,EACAD,KAEA,IACW,OAANksB,QAAM,IAANA,GAAAA,EAAQA,aACL4qB,GACLjB,EACA16C,EACA6E,SAGK+2C,GACLlB,EACA51C,EACA9E,EACA6E,EAGH,CAAE,MAAOtF,GACR8lB,EAAS/lB,GAAwBC,GAClC,IAGD,IAqDD,IAAIs8C,GAlDJnjC,EAAAA,EAAAA,YAAU,KACY,OAAjBqiC,QAAiB,IAAjBA,GAAAA,EAAmBA,oBACtBA,EAAkBA,kBACjBA,EAAkBA,kBAAkBz5C,MAAK,CAACE,EAAGC,KAE1C,IAAIse,KAAKte,EAAEq6C,uBACX,IAAI/7B,KAAKve,EAAEs6C,wBAIfjqB,EACCkpB,EAAkBA,kBAAkBz6C,KAAKkB,IACjC,CACNu6C,OAAQ,GAAG,IAAIh8B,KACdve,EAAEw6C,iBACD9yB,mBAAmB1rB,QAAwB,IAAIuiB,KAChDve,EAAEy6C,eACD/yB,mBAAmB1rB,OACrB0+C,eAAgB,GAAG16C,EAAE26C,iBAAiB36C,EAAE46C,kBACxCC,aACClzC,EAAAA,GAAAA,KAACqyC,EAAY,CACZt5C,KAAM,GAAGlC,EAAE8E,MAAa,IAAIib,KAC3Bve,EAAEs6C,sBACDl+C,eAAeJ,IAAqB,CACrC0xB,MAAO,OACPC,KAAM,cAEPlkB,QAASA,KACR,IAAIpG,EAAYjG,IACbN,OAAOihC,OACP,KACHmc,EACCl6C,EAAEk5C,mBACF,GAAG16C,EAAE8E,MAAa,IAAIib,KACrBve,EAAEs6C,sBACD5yB,mBACD1rB,WAEDqH,EACA,SAOR,GAEE,CAACk2C,IAGAnpB,IACHiqB,EAAsBjqB,EAAUtxB,KAAI,CAAC4B,EAAWpB,KAE9CyI,EAAAA,GAAAA,MAAA,MAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,MAAAT,SAAKxG,EAAK65C,UACV5yC,EAAAA,GAAAA,KAAA,MAAAT,UAAW,OAANqoB,QAAM,IAANA,OAAM,EAANA,EAAQA,SAAU7uB,EAAKg6C,kBAC5B/yC,EAAAA,GAAAA,KAAA,MAAAT,SAAKxG,EAAKm6C,gBAHFv7C,MASZ,MAAMw7C,EAAoBA,KACzB/yC,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACc,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAc3X,UAAW09B,GAAegf,SAC3B,OAAZzrB,QAAY,IAAZA,OAAY,EAAZA,EAA+B0rB,mBAC/Brf,GAAmBof,SACnBhzC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAEuc,QAERhT,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BACNuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,SAAQrB,SAAA,CACrB8N,EAAY,IACbrN,EAAAA,GAAAA,KAACgb,GAAO,CACPjiB,KAAM,CAAEhM,MAAO8J,EAAE,4BAIpBuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,wBACNmJ,EAAAA,GAAAA,KAAA,OAAK9E,MAAO,CAAEk3C,WAAY,YAAa7yC,SACrC8N,EAAY,SAGfjN,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,eACNmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM8N,EAAY,eAMvBjN,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE66C,KACgB,OAAtB9oD,EAAAA,EAAUC,UACVmX,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE86C,QAGTv7C,GACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,SAAE1I,EAAET,EAAMO,YAEzCyJ,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sCAAqCrB,SAAA,EACnDS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,aACRmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,oBAER4xB,EAAUtxB,KAAI,CAACusB,EAAG/rB,KAEjBqI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,SAC/BmkB,EAAEwvB,aADmCv7C,cAU9C,OACCqI,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEyc,GACAhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAER9E,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iCAAgCrB,SAC7CW,GACAF,EAAAA,GAAAA,KAACmzC,EAAiB,KAElB/yC,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACc,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAc3X,UAAW09B,GAAegf,SAC3B,OAAZzrB,QAAY,IAAZA,OAAY,EAAZA,EACE0rB,mBACFrf,GAAmBof,SACnBhzC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAEuc,QAERpT,EAAAA,GAAAA,KAAC4nC,GAAW,CACXvc,QAASinB,EACT97C,MAAMwJ,EAAAA,GAAAA,KAAA,MAAAT,SAAK4yC,UAKf/xC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE66C,KACgB,OAAtB9oD,EAAAA,EAAUC,UACVmX,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE86C,QAGTv7C,GACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,SAC7B1I,EAAET,EAAMO,YAGVqJ,EAAAA,GAAAA,KAAC4nC,GAAW,CACXvc,QAAS,CACRx0B,EAAE,WACI,OAAN+wB,QAAM,IAANA,OAAM,EAANA,EAAQA,SACP/wB,EAAE,kBACHA,EAAE,gBAEHL,KAAMk8C,aAQX,ECrQL,MACA,GAAe,IAA0B,oECjDzC,MACA,GAAe,IAA0B,sECSzC,MACA,GAAe,IAA0B,8DC1BzC,MACA,GAAe,IAA0B,qECjC5BY,GAAuB,CACnClgC,MAAO,kBACPyQ,MAAO,CACN,CACC/e,GAAI,IACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,oBACP1D,KAAM8jC,IAEP,CACC1uC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,oBACP1D,KAAM+jC,IAEP,CACC3uC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,mBACP1D,KAAMgkC,IAEP,CACC5uC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,sBACP1D,KAAM8jC,IAEP,CACC1uC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,kBACP1D,KAAMgkC,IAEP,CACC5uC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,oBACP1D,KAAM+jC,IAEP,CACC3uC,GAAI,IACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,oBACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,oBACP1D,KAAM+jC,IAEP,CACC3uC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,mBACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,wBACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,MAKII,GAA0B,CACtCvgC,MAAO,kBACPyQ,MAAO,CACN,CACC/e,GAAI,KACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,0BACP1D,KAAMgkC,IAEP,CACC5uC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,0BACP1D,KAAM8jC,IAEP,CACC1uC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,0BACP1D,KAAMgkC,IAEP,CACC5uC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,4BACP1D,KAAMgkC,MAKIE,GAA+B,CAC3CxgC,MAAO,kBACPyQ,MAAO,CACN,CACC/e,GAAI,KACJjc,QAAS,KACTuqB,MAAO,2BACP1D,KAAM6jC,IAEP,CACCzuC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,0BACP1D,KAAMgkC,IAEP,CACC5uC,GAAI,KACJjc,QAAS,KACTuqB,MAAO,0BACP1D,KAAM8jC,MC/IT,SArBA59C,iBAmBC,aAlBuBwO,GACrBgI,IACA,GAAGxjB,EAAAA,EAAUoe,kEACPrD,MAEN0I,MAAMC,IACN,QAAelZ,IAAXkZ,EACH,OAAOA,EAAO9V,IACf,IAEAuW,OAAOC,IAAS,IAAD6K,EAEf,MADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACX,IAAID,MAAM,kCAEV,IAAIA,MAAMuW,EAAIzW,SAASI,QAC9B,GAGH,ECLak9C,GAAQA,KACpB,MAAM,EAAEh9C,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KACX,OAAE8yB,EAAM,YAAE5e,EAAW,aAAE2e,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,IAEnDkY,GAAQ+T,EAAAA,EAAAA,UAAQ,IACR,OAANlsB,QAAM,IAANA,GAAAA,EAAQA,OACZ0rB,GACgB,kBAAhBtqC,EACE4qC,GACAD,IACH,CAAC/rB,EAAQ5e,KAEL+qC,EAAaC,IAAkBx0C,EAAAA,EAAAA,UAAwB,KACvDy0C,EAAUC,IAAe10C,EAAAA,EAAAA,UAAsB,KAC/Cwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzCpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,WAAkB,GAEtC20C,GAAW3iC,EAAAA,EAAAA,cAAY,KAC5B,IAEC,GAD2B,CAAC,KAAM,KAAM,KAAM,KAAM,MAC7BngB,SAASzI,EAAAA,EAAUC,SAAU,CACnD,MAAMurD,EAAerU,EAAMlc,MAAM1yB,QAC/BuyB,GAAMA,EAAE76B,UAAYD,EAAAA,EAAUC,UAEhCqrD,EAAYE,EACb,MACCF,EAAY,GAEd,CAAE,MAAO99C,GACRC,QAAQD,MAAM,wBAAyBA,GACvC89C,EAAY,GACb,IACE,CAACnU,KAEJxwB,EAAAA,EAAAA,YAAU,KACT4kC,GAAU,GACR,CAACA,IAEJ,MAAME,GAAoB7iC,EAAAA,EAAAA,cAAY5b,UACrC,IACC,MAAM0W,QAAegoC,KACrBN,EAAe1nC,EAChB,CAAE,MAAOU,GACR3W,QAAQC,KACP,yDACA0W,GAEDkP,GAAS,EACV,CAAC,QACAD,GAAW,EACZ,IACE,IAMH,OAJA1M,EAAAA,EAAAA,YAAU,KACT8kC,GAAmB,GACjB,CAACA,KAGHr0C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,0BAAyBrB,UACvCa,EAAAA,GAAAA,MAAA,OACCQ,UACCV,EAAW,qBAAuB,uBAClCX,SAAA,EACDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2CAA0CrB,UACxDS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAEkpC,EAAM3sB,WAEb4I,GACAhc,EAAAA,GAAAA,KAAC0R,GAAa,KAEd1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEnJ,GACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAE1I,EAAE,eAE9BmJ,EAAAA,GAAAA,KAAA,OACCY,UACCV,EACG,0BACA,2BACHX,SACA00C,EAAS98C,KAAI,CAAC4B,EAAMpB,IAGlB,gCADY,OAAZgwB,QAAY,IAAZA,OAAY,EAAZA,EAAc4sB,YAGb,gCADW,OAAZ5sB,QAAY,IAAZA,OAAY,EAAZA,EAAc4sB,YAEA,sBAAfx7C,EAAKqa,OAKLpT,EAAAA,GAAAA,KAAA,OAAAT,SACEw0C,EACC5iD,QACC6J,GACAA,EAAKw5C,eACJz7C,EAAK+L,IACQ,KAAd9J,EAAKA,OAEN7D,KAAI,CAAC6D,EAAMwoB,KACXpjB,EAAAA,GAAAA,MAAA,KACChF,KAAMJ,EAAKA,KACXwpB,IAAI,sBAEJpS,OAAO,SACPxR,UACCV,EACG,iBACA,kBACHX,SAAA,EACDS,EAAAA,GAAAA,KAAA,OACCU,IAAK3H,EAAK2W,KACV7O,IAAK,UAAU9H,EAAKqa,WAErBpT,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAC1B1I,EAAEkC,EAAKqa,WAZJ,cAAcoQ,QAZb7rB,GAHH,eAuCT,EClIR,SAhBA/B,eAAmCkjB,GAClC,MAAM,KAAEtiB,SAAeoV,GAAM0B,KAC5B,GAAG1kB,EAAAA,EAAUoe,4CACb8R,QACMnV,MAEL0I,MAAMooC,GACCA,IAEP1nC,OAAOC,IAEP,MADA3J,GAAS2J,GACH,IAAIvW,MAAMuW,EAAI,IAEtB,OAAOxW,CACR,EC6NA,GApNgBk+C,KACf,MAAM,EAAE79C,IAAMC,EAAAA,EAAAA,MACR,OACL8wB,EAAM,aACNvZ,EAAY,QACZwmB,EAAO,WACPC,EAAU,oBACVjb,EAAmB,YACnB7Q,IACG7I,EAAAA,EAAAA,YAAW0nB,KACRzxB,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,GAEjCk/B,EAAad,GAAYvpB,GAAawnB,YAAa,CACxDtC,SAAU,eACVoF,UAAW,eACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,UA4Bf89C,EAAmCxiD,IAA6B,IAA5B,IAAE0H,GAAoB1H,EAC/D,OACC6N,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAC9B1F,EAAI8e,gBAAgBxhB,KAAI,CAACpK,EAAO4K,KACQ,IAADi9C,EAAAC,EAAvC,OAAI9nD,EAAMic,cAAgBA,GAExB5I,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SAAE,GAAG1I,EAC1B,sBAEA9J,EAAMic,cACNgP,GAAyB+1B,KACtBl3C,EAAE,kBACF9J,EAAMic,cACJgP,GAAyB88B,cACzBj+C,EACD,uCAECA,EAAE,sCAEP9J,EAAM8rB,mBAAmBC,OACzB1Y,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,aACf7T,EAAM8rB,mBAAmBC,SAExB,MACJ1Y,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,QAAOrB,SAAA,EACrBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,QACL9O,UAAU,+BAEV7T,EAAM8rB,mBAAmBk8B,iBAE3B30C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3Ca,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,cACL9O,UAAU,yBAEV/G,EAAIqe,eAENlY,EAAAA,GAAAA,KAAA,OAAAT,SAAM1F,EAAI0e,QAAQE,gBAClBzY,EAAAA,GAAAA,KAAA,OAAAT,SAAM1F,EAAI0e,QAAQG,kBAClB1Y,EAAAA,GAAAA,KAAA,OAAAT,SAAM1F,EAAI0e,QAAQ1vB,aAElBmgB,IACAgP,GAAyBg9B,UACzB50C,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SAAC,qBAGvBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAE,GAAG1I,EAC9B,YAC0B,QAA1B+9C,EAAK7nD,EAAMkoD,uBAAe,IAAAL,OAAA,EAArBA,EACHx0B,UACHpgB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAE,GAAG1I,EAC9B,WAC0B,QAA1Bg+C,EAAK9nD,EAAMkoD,uBAAe,IAAAJ,OAAA,EAArBA,EACHK,aApDI,uBAAyBv9C,GAyDvB,IAAI,KAEd,EAIFw9C,EAA2Bl0C,IAA6B,IAA5B,IAAEpH,GAAoBoH,EACvD,OACCjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAC9B1F,EAAI8e,gBAAgBxhB,KAAI,CAACpK,EAAO4K,IAC5B5K,EAAMic,cAAgBA,GAExB5I,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,aAAYrB,SAAE,GAAG1I,EAC/B,sBAEA9J,EAAMic,cACNgP,GAAyB+1B,KACtBl3C,EAAE,kBACFA,EAAE,uCAENuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,aACf7T,EAAM8rB,mBAAmBC,UAE3B1Y,EAAAA,GAAAA,MAAA,KACCQ,UAAU,QACVxF,KAAM,OAAOrO,EAAM8rB,mBAAmBE,cAAcxZ,SAAA,EACpDS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,UACf7T,EAAM8rB,mBAAmBE,gBAE3B3Y,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,QAAOrB,SAAA,EACrBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,QACL9O,UAAU,+BAEV7T,EAAM8rB,mBAAmBk8B,iBAE3B30C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3Ca,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,cACL9O,UAAU,yBAEV/G,EAAIqe,eAEN9X,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAAM1F,EAAI0e,QAAQE,aAAa,SAC/BzY,EAAAA,GAAAA,KAAA,OAAAT,SAAM1F,EAAI0e,QAAQG,sBAnCV,uBAAyB/gB,GAuCvB,QAEV,EAIR,OACCqI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,4BAA2BrB,UACzCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3CS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAM,iBACUhgB,IAAxBymB,EACiC,QAAd,OAAnBA,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBhxB,UACpBmX,EAAAA,GAAAA,KAACm1C,EAAwB,CACxBt7C,IAAKggB,KAGN7Z,EAAAA,GAAAA,KAAC20C,EAAgC,CAChC96C,IAAKggB,IAGJ,QAEJgb,EAAQugB,cACRp1C,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAM,yBACNqc,YAAY,2BAGbzT,IAAWhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAClB+vB,EAAQugB,cAAgBp5B,IACzB5b,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAM,iBACfpT,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYA,EACZU,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GAjLF5pC,WACdqmB,GAAW,GACX1Z,EAAKyG,YAAoB,OAAN4e,QAAM,IAANA,GAAAA,EAAQA,OACxBnT,GAAYs5B,KACZt5B,GAAYugC,QAEf,UACOK,GAAoB,IACtB9yC,EACH2J,YAAatjB,EAAAA,EAAUC,QACvBysD,UAAuB,OAAZjnC,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,MACzBy8B,QAAS,SAAS3sD,EAAAA,EAAUC,YAAY0Z,EAAKgzC,YAE9CzgB,EAAW,IAAKD,EAASugB,aAAa,IACtCn5B,GAAW,EACZ,CAAE,MAAO/kB,GACR+kB,GAAW,GACXC,EAAS/lB,GAAwBe,GAClC,GA+J2B8zC,CAAOxL,QAI/BppC,IAAU4lB,IAAY6Y,IACtB70B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAEnJ,EAAMO,cAG/B,ECzNR,SAfAf,eAAgC4/C,EAAgB3+C,GAaxC,aAZuB+U,GAAMQ,IACzB,GAAGxjB,EAAAA,EAAUoe,qDAAqDwuC,0BAA+B5sD,EAAAA,EAAUC,gBACrG8a,MACR0I,MAAM7V,IACJ,GAAoB,MAAhBA,EAAKE,OACL,OAAOF,EAEX,MAAM,IAAIC,MAAMI,EAAE,YAAY,IAC/BkW,OAAOC,IAEN,MADA3J,GAAS2J,GACH,IAAIvW,MAAMI,EAAE,YAAY,GAG1C,ECoDA,GA7DgB4+C,KACf,MAAM,EAAE5+C,IAAMC,EAAAA,EAAAA,MAER,aAAE6wB,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,KAC7BwoB,IAAkB7wC,EAAAA,EAAAA,UAASmoB,IAC3BvxB,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChC/E,EAAKi7C,IAAUl2C,EAAAA,EAAAA,UAAS,IAEzBm2C,EAAe,CACpBr1C,OAAQxL,IAAkB,QAAU,SAkBrC,OACCkL,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2DAA0DrB,UACxEa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAM,eACNqc,YAAY,wBAEbrvB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,UACC9E,MAAOy6C,EACP/0C,UAAU,eACVF,IAAKjG,EACL2Y,MAAM,YACNhd,IAAS4J,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAGnJ,EAAMO,cAEpBqJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,0BAAyBrB,UACvCS,EAAAA,GAAAA,KAAA,UACCY,UAAU,kBACViB,KAAK,SACLC,QAASA,IAnCClM,WACfqmB,GAAW,GACX,UACO25B,GAA+B,OAAdvF,QAAc,IAAdA,OAAc,EAAdA,EAAgBwF,OAAQh/C,GAC7CwV,MAAM9V,IACNm/C,EAAOn/C,EAASC,KAAKiE,IAAM,SAAS7R,EAAAA,EAAUC,UAAU,IAExDwsC,SAAQ,IAAMpZ,GAAW,IAC5B,CAAE,MAAO7lB,GACRC,QAAQ4W,IAAI7W,GACZ6lB,GAAW,GACXC,EAAS/lB,GAAwBC,GAClC,GAuBoB0/C,GAAUv2C,SACxByc,GACAhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,mBAERjO,EAAE,sBAMF,EC9BR,SAhCAjB,eACCyY,EACAxX,GA2BA,OAzBIwX,EAAaqtB,oBAChBrtB,EAAaqtB,kBACZrtB,EAAaqtB,kBAAkB1b,WAAW,IAAK,IAEhD3R,EAAaqtB,kBACZrtB,EAAaqtB,kBAAkBzZ,WAAW,QACvC5T,EAAaqtB,kBAAkBgI,QAAQ,WAAY,OACnDr1B,EAAaqtB,yBAEKt3B,GACrBkJ,KACA,GAAG1kB,EAAAA,EAAUoe,wDACbqH,QACM1K,MAEN0I,MAAM7V,IACN,GAAoB,MAAhBA,EAAKE,OAGT,MAAM,IAAID,MAAMI,EAAE,YAAY,IAE9BkW,OAAOC,IAEP,MADA3J,GAAS2J,GACH,IAAIvW,MAAMI,EAAE,YAAY,GAGjC,ECjCak/C,GAA2Bv/C,IACvC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,KACd,MAAO,CACNwiC,aAAcziC,EAAE,4BAChB0iC,SAAU,sBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCO,UAAU,EACVC,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAO,GAAGyJ,EAAKqW,aAAarW,EAAKomC,WACjCpD,SAAS,EACTW,UAAU,EACVR,IAAK,GACLiC,UAAU,GAEX,CACCnC,UAAU,EACVC,YAAa,kBACb73B,KAAM,OACNxK,MAAOR,EAAE,UACT9J,MAAOyJ,EAAK4lC,OACZ5C,SAAS,EACTwC,UAAW,GACXrC,IAAK,EACL8D,UAAU,EACVxB,YAAa,CACZ,CACCC,KAAM,UACNvlC,QAASE,EAAE,0BAId,CACC4iC,UAAU,EACVC,YAAa,uBACb73B,KAAM,OACNxK,MAAOR,EAAE,MACT9J,MAAOyJ,EAAKqmC,YACZrD,SAAS,EACTiE,UAAU,EACV9D,IAAK,EACLqC,UAAW,GAEZ,CACCvC,UAAU,EACVC,YAAa,sBACb73B,KAAM,SACNxK,MAAOR,EAAE,OACT9J,MAAOyJ,EAAK6lC,WACZ7C,SAAS,EACTiE,UAAU,EACV9D,IAAK,EACLqC,UAAW,EACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MACuB,OAAtBnE,EAAAA,EAAUC,QACP,eACA,eACJ8N,QAASE,EAAE,uBAId,CACC4iC,UAAU,EACVC,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAOyJ,EAAK8lC,KACZ9C,SAAS,EACTiE,UAAU,EACV9D,IAAK,EACLqC,UAAW,IAEZ,CACCvC,UAAU,EACVC,YAAa,6BACb73B,KAAM,MACNxK,MAAOR,EAAE,eACT9J,MAAOyJ,EAAKklC,kBACZlC,SAAS,EACTW,UAAU,EACVR,IAAK,GACLqC,UAAW,GACXxnC,QAAS,CACR,CACCzH,MAAOnE,EAAAA,EAAUC,QAAQmQ,cACzB3B,MAAOzO,EAAAA,EAAUC,QAAQmQ,gBAG3BijC,YAAa,CACZ,CACCC,KAAM,UACNvlC,QAASE,EAAE,kBAGbqV,YAAa,KACbyvB,aAAc,yBAA2B/yC,EAAAA,EAAUC,SAEpD,CACC4wC,UAAU,EACVC,YAAa,iBACb73B,KAAM,QACNxK,MAAOR,EAAE,SACT9J,MAAOyJ,EAAKsiB,MACZ0gB,SAAS,EACTW,UAAU,EACVR,IAAK,GACLqC,UAAW,GACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,mBACP4J,QAASE,EAAE,0BAKf,ECbF,GA3FoBm/C,KACnB,MAAM,EAAEn/C,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC7BzxB,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBq1B,EAASC,IAAct1B,EAAAA,EAAAA,WAAS,IAChCwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCy2C,EAAqBC,IAA0B12C,EAAAA,EAAAA,eAEpDpM,GAEIsrC,EAAazF,GAClB,CAAC8c,GAAwB1nC,IACzB,CACCkrB,SAAU,UACVoF,UAAW,UACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,UA6CtB,OArBA0Y,EAAAA,EAAAA,YAAU,KAeL0mC,GAd8BrgD,WAGjC,UACOugD,GAAsBC,EAAcv/C,GAC1Ci+B,GAAW,GACX7Y,GAAW,EACZ,CAAE,MAAO/kB,GACR+kB,GAAW,GACX6Y,GAAW,GACX5Y,EAAS/lB,GAAwBe,GAClC,GAIAm/C,CAA0BJ,GAEpB,SACL,CAACA,EAAqBp/C,KAGxBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qEAAoErB,UAClFa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAM,qBACd4I,IAAWhc,EAAAA,GAAAA,KAAC0R,GAAa,IACzBmjB,IAAY7Y,IACZhc,EAAAA,GAAAA,KAACc,GAAO,CAACC,IAAK,UAAWpK,QAASE,EAAE,uBAEnCmlB,IACDhc,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYA,EACZU,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GAvDAjzB,KAEI,IAAD+pC,EAAAC,EADlBt6B,GAAW,GAEVi6B,EADG7nC,EACoB,IACnB9B,EACHyoB,WAAY3mB,EAAa2mB,WACzBwhB,OAAQnoC,EAAamoC,OACrB9a,kBAC2B,QADV4a,EAChB/pC,EAASmvB,yBAAiB,IAAA4a,EAAAA,EAC1BjoC,EAAaqtB,kBACd5iB,MAAqB,QAAhBy9B,EAAEhqC,EAASuM,aAAK,IAAAy9B,EAAAA,EAAIloC,EAAayK,MACtC+xB,aAAiBt+B,EAAS6vB,OAAS,IAAM7vB,EAASswB,aAG5B,IACnBtwB,GAEL,EAuCKy+B,CAAOxL,EAAOjzB,YAIhBnW,IAAU4lB,IAAY6Y,IACtB70B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAEnJ,EAAMO,cAG/B,E,eCtGD,SAAS8/C,GAAOtkD,GAA4C,IAA3C,WAAEukD,EAAU,WAAEC,GAA0BxkD,EAC/D,OACC6N,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,WAAWr3C,SAC9B6jB,MAAMuzB,GACLE,UAAKzjD,GACL+D,KAAI,CAACqzB,EAAG9G,KACR1jB,EAAAA,GAAAA,KAAA,QAECY,WAAWg2C,EAAAA,GAAAA,GACV,OACAF,EAAa,IAAMhzB,GAAK,iBAHpBA,MASX,CAuBO,SAASozB,GAAarmB,GAAoC,IAAnC,SAAElxB,GAA8BkxB,EAC7D,OAAOzwB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,SAAEA,GACzC,CC7CO,SAASw3C,GAAU5kD,GAAqD,IAApD,YAAE6kD,EAAc,EAAC,WAAEL,GAA8BxkD,EAC3E,MAAOukD,EAAYO,GAAiBv3C,EAAAA,SAAes3C,GAE7CE,EAA6B,IAAfR,EAEdS,EAAaT,IAAeC,EAkBlC,MAAO,CACNA,aACAS,SAlBgBA,KACXD,GACJF,GAAe9jC,GAASA,EAAO,GAChC,EAgBAkkC,SAbgBA,KACXH,GACJD,GAAe9jC,GAASA,EAAO,GAChC,EAWAmkC,WARkBA,KAClBL,EAAcD,EAAY,EAQ1BN,aACAQ,cACAC,aAEF,CCpCO,MAAMI,GAA2B/gD,IACvC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,UACvCoJ,EAAWpL,IAEjB,MAAO,CACNwkC,aAAc,GACdC,SAAU,sBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCQ,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAO,GAAGyJ,EAAKqW,aAAarW,EAAKomC,WACjCpD,SAAS,EACTW,UAAU,EACVR,IAAK,GACLiC,UAAU,GAEX,CACCnC,UAAU,EACVC,YAAa,kBACb73B,KAAM,OACNxK,MAAOR,EAAE,UACT9J,MAAOyJ,EAAK4lC,OACZ5C,SAAS,EACTwC,UAAW,GACXrC,IAAKz5B,EAAW,GAAK,EACrB+7B,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,wDACP4J,QAASE,EAAE,yBAGb+kC,UAAU,GAEX,CACCnC,UAAU,EACVC,YAAa,uBACb73B,KAAM,OACNxK,MAAOR,EAAE,MACT9J,MAAOyJ,EAAKqmC,YACZrD,SAAS,EACTG,IAAKz5B,EAAW,GAAK,EACrB87B,UAAW,EACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MACuB,OAAtBnE,EAAAA,EAAUC,QACP,iBACA,kBACJ8N,QAASE,EAAE,yCAId,CACC4iC,UAAU,EACVC,YAAa,sBACb73B,KAAM,SACNxK,MAAOR,EAAE,OACT9J,MAAOyJ,EAAK6lC,WACZ7C,SAAS,EACTG,IAAKz5B,EAAW,GAAK,EACrB87B,UAAiC,OAAtBpzC,EAAAA,EAAUC,QAAmB,EAAI,EAC5CozC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MACuB,OAAtBnE,EAAAA,EAAUC,QACP,eACA,eACJ8N,QAASE,EAAE,uBAId,CACC4iC,UAAU,EACVC,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAOyJ,EAAK8lC,KACZ9C,SAAS,EACTG,IAAKz5B,EAAW,GAAK,EACrB87B,UAAW,GACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,6DACP4J,QAASE,EAAE,2BAKf,EAGW2gD,GAAyBhhD,IACrC,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,UAC7C,MAAO,CACNwiC,aAAc,GACdC,SAAU,mBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCQ,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAO,GAAGyJ,EAAKqW,aAAarW,EAAKomC,WACjCpD,SAAS,EACTW,UAAU,EACVR,IAAK,GACLiC,UAAU,GAEX,CACClC,YAAa,iBACb73B,KAAM,QACNxK,MAAOR,EAAE,SACT9J,MAAOyJ,EAAKsiB,MACZ0gB,SAAS,EACTW,UAAU,EACVR,IAAK,GACLqC,UAAW,GACXJ,UAAU,GAEX,CACClC,YAAa,4BACb73B,KAAM,QACNxK,MAAOR,EAAE,YACT9J,MAAO,GACPysC,SAAS,EACTW,UAAU,EACVR,IAAK,GACLqC,UAAW,GACXC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,kDACP4J,QAASE,EAAE,wBAGb4iC,UAAU,IAGZ,EAGWge,GAA+BjhD,IAC3C,MAAM,EAAEK,IAAMC,EAAAA,EAAAA,GAAe,CAAC,cAAe,UAC7C,MAAO,CACNwiC,aAAc,GACdC,SAAU,yBACV9J,YAAa,GACbgM,aAAa,EACbjC,SAAS,EACTvhC,OAAQrP,EAAAA,EAAUC,QAClBsxC,UAAU,EACVR,IAAK,GACLT,SAAU,CACT,CACCQ,YAAa,gBACb73B,KAAM,OACNxK,MAAOR,EAAE,QACT9J,MAAO,GAAGyJ,EAAKqW,aAAarW,EAAKomC,WACjCpD,SAAS,EACTW,UAAU,EACVR,IAAK,GACLiC,UAAU,GAEX,CACClC,YAAa,6BACb73B,KAAM,MACNxK,MAAOR,EAAE,eACT9J,MAAOyJ,EAAKklC,kBACZlC,SAAS,EACTW,UAAU,EACVR,IAAK,GACLqC,UAAW,GACX9vB,YAAa,KACbyvB,aAAc,yBAA2B/yC,EAAAA,EAAUC,QACnD+yC,UAAU,GAEX,CACClC,YAAa,4BACb73B,KAAM,MACNxK,MAAOR,EAAE,kBACT9J,MAAO,GACPysC,SAAS,EACTW,UAAU,EACVR,IAAK,GACLqC,UAAW,GACX9vB,YAAa,KACbyvB,aAAc,yBAA2B/yC,EAAAA,EAAUC,QACnDozC,YAAa,CACZ,CACCC,KAAM,mBACNnvC,MAAO,mBACP4J,QAASE,EAAE,uBAEZ,CACCqlC,KAAM,YACNnvC,MAAO,EACP4J,QAASE,EAAE,gCAEZ,CACCqlC,KAAM,YACNnvC,MAAO,GACP4J,QAASE,EAAE,iCAGb4iC,UAAU,IAGZ,ECnNK,SAASie,GAAWvlD,GAAmC,IAAlC,UAAEwlD,GAA6BxlD,EAC1D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,IAC9B+vB,GAXoBze,EAYzB,CACCI,SAAU,UACVoF,UAAW,UACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,wBAnBfoiC,GAAY,CAACse,GAqBnBlpC,IArBmD8qB,IADrD,IAA2BA,EAyB1B,OACC/4B,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,sBACT44B,YAAa54B,EAAE,+BAGhBmJ,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYkZ,EACZxY,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAUt+B,IAAA,IAAC,SAAEsL,GAAUtL,EAAA,OAAK02C,EAAUprC,EAAS,MAInD,CC1CO,IAAKsrC,GAAqB,SAArBA,GAAqB,OAArBA,EAAAA,EAAqB,qBAArBA,EAAAA,EAAqB,6BAArBA,EAAAA,EAAqB,iBAArBA,EAAAA,EAAqB,qBAArBA,CAAqB,MAkC1BjiD,eAAekiD,GAAmBC,GACxC,MAAMxhD,QAAiB6N,GACrBkJ,KACA,GAAG1kB,EAAAA,EAAUoe,+CACb+wC,QACMp0C,MAEN0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,IAEX,OAAOzW,CACR,CAEO,MAAMyhD,GAAmD,CAC/D,oBAAqB,6BACrB,iBACC,kEACD,6BACC,6LACD,yBACC,6HACD,wBACC,yEAGK,SAASC,GAAsB7hD,EAAe8hD,GAGpD,MAFmC,OAAtBtvD,EAAAA,EAAUC,SAEXqvD,GAAuB,+BAAV9hD,EACjB,yEAED4hD,GAAyB5hD,EACjC,CAEOR,eAAeuiD,GAAmBJ,GAYxC,aAXuB3zC,GACrBkJ,KACA,GAAG1kB,EAAAA,EAAUoe,+CACb+wC,QACMp0C,MAEN0I,MAAKpL,IAAA,IAAC,KAAEzK,GAAMyK,EAAA,OAAKzK,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAGZ,C,IC5FI,G,WCGG,SAASorC,GAAahiD,GAC5B,YAAchD,IAAVgD,GAAiC,OAAVA,GACpBgO,KAAAA,aAAmBhO,EAC3B,CA2BO,SAASiiD,GAAgBjiD,GAC/B,OAbD,SAA4BkiD,GAC3B,GARkB,kBAFSliD,EAUJkiD,IAPZ,OAAVliD,GACA,YAAaA,GACyC,kBAA9CA,EAAkCO,QAKP,OAAO2hD,EAV5C,IAA4BliD,EAY3B,IACC,OAAO,IAAIK,MAAMgW,KAAKC,UAAU4rC,GACjC,CAAE,MAGD,OAAO,IAAI7hD,MAAM8hD,OAAOD,GACzB,CACD,CAGQE,CAAmBpiD,GAAOO,OAClC,CAOO,SAAS8hD,KACftjD,OAAOoF,SAASa,KAAO,GACxB,CD3CA,SAAS,KAAa,OAAO,GAAWpK,OAAOktC,OAASltC,OAAOktC,OAAOwa,OAAS,SAAUruB,GAAK,IAAK,IAAInzB,EAAI,EAAGA,EAAIoC,UAAUxB,OAAQZ,IAAK,CAAE,IAAIL,EAAIyC,UAAUpC,GAAI,IAAK,IAAIyhD,KAAK9hD,GAAG,CAAG,GAAE+hD,eAAeC,KAAKhiD,EAAG8hD,KAAOtuB,EAAEsuB,GAAK9hD,EAAE8hD,GAAK,CAAE,OAAOtuB,CAAG,EAAG,GAASyuB,MAAM,KAAMx/C,UAAY,CAEnR,SAASy/C,GAAc5mD,EAAM6mD,GAC3B,IAAI,MACF5lC,EAAK,QACL6lC,KACG32C,GACDnQ,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDkyB,MAAO,GACP/jB,OAAQ,GACR44C,QAAS,YACTrC,KAAM,OACNsC,MAAO,6BACP5mC,IAAKymC,EACL,kBAAmBC,GAClB32C,GAAQ8Q,EAAqB,gBAAoB,QAAS,CAC3DtO,GAAIm0C,GACH7lC,GAAS,KAAM,KAAU,GAAqB,gBAAoB,OAAQ,CAC3EgmC,SAAU,UACVC,SAAU,UACVhtB,EAAG,4dACHwqB,KAAM,aAEV,CACA,MAAM,GAA0B,aAAiBkC,IAClC,IE3Bf,IAAI,GACJ,SAAS,KAAa,OAAO,GAAW/nD,OAAOktC,OAASltC,OAAOktC,OAAOwa,OAAS,SAAUruB,GAAK,IAAK,IAAInzB,EAAI,EAAGA,EAAIoC,UAAUxB,OAAQZ,IAAK,CAAE,IAAIL,EAAIyC,UAAUpC,GAAI,IAAK,IAAIyhD,KAAK9hD,GAAG,CAAG,GAAE+hD,eAAeC,KAAKhiD,EAAG8hD,KAAOtuB,EAAEsuB,GAAK9hD,EAAE8hD,GAAK,CAAE,OAAOtuB,CAAG,EAAG,GAASyuB,MAAM,KAAMx/C,UAAY,CAEnR,SAASggD,GAAQnnD,EAAM6mD,GACrB,IAAI,MACF5lC,EAAK,QACL6lC,KACG32C,GACDnQ,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDkyB,MAAO,GACP/jB,OAAQ,GACR44C,QAAS,YACTrC,KAAM,OACNsC,MAAO,6BACP5mC,IAAKymC,EACL,kBAAmBC,GAClB32C,GAAQ8Q,EAAqB,gBAAoB,QAAS,CAC3DtO,GAAIm0C,GACH7lC,GAAS,KAAM,KAAU,GAAqB,gBAAoB,OAAQ,CAC3EiZ,EAAG,8SACHktB,OAAQ,UACRC,cAAe,QACfC,eAAgB,WAEpB,CACA,MAAM,GAA0B,aAAiBH,IAClC,ICFR,SAASI,GAAmBvnD,GAGL,IAHM,SACnCoa,EAAQ,UACRorC,GAC0BxlD,EAC1B,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC7B8xB,EAAOC,IAAYp6C,EAAAA,EAAAA,YAEpBq6C,GAA6BC,EAAAA,GAAAA,GAAY,CAC9CC,WAAYA,IACXjC,GAAmB,CAClB9iB,WAAwB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC1BnoB,UAAuB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,UACzB+vB,SAAsB,OAAZvuB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,SACxB7jB,YAAyB,OAAZ1K,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,kBAC3B8G,aAA0B,OAAZn0B,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,MAC5B7gB,OAAQzE,IACR+kB,QAAS,CACR6jB,OAAQ7vB,EAAS6vB,OACjBS,YAAatwB,EAASswB,YACtBP,KAAM/vB,EAAS+vB,KACfD,WAAY9vB,EAAS8vB,WACrBsO,gBAAiBp+B,EAASo+B,gBAC1BE,aAAc,IACbt+B,EAAS6vB,OAAS,IAAM7vB,EAASswB,cAGnCmd,WAAYnC,GAAsBoC,QAClCxX,oBACW,QAAVkX,EACG5Y,GAAuBU,IACvBV,GAAuBK,QAE7BuW,UAAW12C,IAAA,IAAC,UAAEshC,GAAWthC,EAAA,OAAK02C,EAAUpV,EAAU,IAGnD,OAAIsX,EAA2Bv2B,WACvBtjB,EAAAA,GAAAA,KAAC0R,GAAa,KAIrBtR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,8BACT44B,YAAa54B,EAAE,uCAGhBuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3Ba,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,QAAOrB,SAAA,EACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,aAAYrB,SAAA,EAC1BS,EAAAA,GAAAA,KAACk6C,GAAI,CAAC71B,MAAO,MACbjkB,EAAAA,GAAAA,MAAA,QAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,mCACTmJ,EAAAA,GAAAA,KAAA,QAAAT,SACE,IAAM4jC,GAAwB,OAAZ90B,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,gBAIpC9Y,EAAAA,GAAAA,KAAA,SACC6B,KAAK,QACL4+B,QAAmB,UAAVkZ,EACTlvB,SAAUA,IAAMmvB,EAAS,eAG3Bx5C,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,QAAOrB,SAAA,EACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,aAAYrB,SAAA,EAC1BS,EAAAA,GAAAA,KAACm6C,GAAU,CAAC91B,MAAO,MACnBjkB,EAAAA,GAAAA,MAAA,QAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,iCACTmJ,EAAAA,GAAAA,KAAA,QAAAT,SACE,IACAokC,GACa,OAAZt1B,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,4BAKnB17B,EAAAA,GAAAA,KAAA,SACC6B,KAAK,QACL4+B,QAAmB,QAAVkZ,EACTlvB,SAAUA,IAAMmvB,EAAS,eAI3BC,EAA2BO,UAC3Bp6C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SACpB84C,GAAgBwB,EAA2BzjD,UAG9C4J,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVg7B,cAAoBxoC,IAAVumD,EACV73C,QAASA,IAAM+3C,EAA2BQ,SAAS96C,SAClD1I,EAAE,6BAKR,C,IC7HI,G,WCYG,SAASyjD,GAAQnoD,GAAsC,IAArC,MAAEpF,EAAK,SAAE09B,GAAyBt4B,EAC1D,OACC6N,EAAAA,GAAAA,KAACu6C,GAAAA,EAAa,CACbxtD,MAAOA,EACP09B,SAAUA,EACV+vB,UAAW,EACXC,YAAcn4C,IAAUtC,EAAAA,GAAAA,KAAA,YAAWsC,IACnCo4C,mBAAiB,EACjBC,eAAe,gBACfC,WAAW,aAGd,CCLO,SAASC,GAAU1oD,GAA6C,IAAD2oD,EAAA,IAA3C,UAAEvY,EAAS,UAAEoV,GAA4BxlD,EACnE,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,EAAY,OAAEuZ,IAAWznB,EAAAA,EAAAA,YAAW0nB,KACrCkzB,EAAKC,IAAUx7C,EAAAA,EAAAA,UAAS,IACzBy7C,GAA6BnB,EAAAA,GAAAA,IAClC,IACC3B,GAAmB,CAClBnjB,WAAwB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC1BuN,YACAxmC,QAASg/C,KAEX,CAAEpD,UAAWA,IAGRO,IAAmB,OAANtwB,QAAM,IAANA,GAAAA,EAAQA,QAE3B,OAAIqzB,EAA2B33B,WACvBtjB,EAAAA,GAAAA,KAAC0R,GAAa,KAIrBtR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,kBACT44B,YAAa54B,EAAE,2BAGhBmJ,EAAAA,GAAAA,KAACs6C,GAAQ,CAACvtD,MAAOguD,EAAKtwB,SAAUuwB,IAE/BC,EAA2Bb,UAC3Bp6C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SACpB64C,GAAa6C,EAA2B7kD,OACtC6hD,GACyC,QADpB6C,EACrBG,EAA2B7kD,MAAMG,gBAAQ,IAAAukD,OAAA,EAAzCA,EAA2CtkD,KACzCG,QACFuhD,GAEAG,GAAgB4C,EAA2B7kD,UAGhD4J,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVg7B,SAAUmf,EAAIjjD,SAAWojD,GACzBp5C,QAASA,IAAMm5C,EAA2BZ,SAAS96C,SAClD1I,EAAE,6BAKR,CFrEA,SAAS,KAAa,OAAO,GAAW7F,OAAOktC,OAASltC,OAAOktC,OAAOwa,OAAS,SAAUruB,GAAK,IAAK,IAAInzB,EAAI,EAAGA,EAAIoC,UAAUxB,OAAQZ,IAAK,CAAE,IAAIL,EAAIyC,UAAUpC,GAAI,IAAK,IAAIyhD,KAAK9hD,GAAG,CAAG,GAAE+hD,eAAeC,KAAKhiD,EAAG8hD,KAAOtuB,EAAEsuB,GAAK9hD,EAAE8hD,GAAK,CAAE,OAAOtuB,CAAG,EAAG,GAASyuB,MAAM,KAAMx/C,UAAY,CAEnR,SAAS6hD,GAAQhpD,EAAM6mD,GACrB,IAAI,MACF5lC,EAAK,QACL6lC,KACG32C,GACDnQ,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDkyB,MAAO,GACP/jB,OAAQ,GACR44C,QAAS,YACTrC,KAAM,OACNsC,MAAO,6BACP5mC,IAAKymC,EACL,kBAAmBC,GAClB32C,GAAQ8Q,EAAqB,gBAAoB,QAAS,CAC3DtO,GAAIm0C,GACH7lC,GAAS,KAAM,KAAU,GAAqB,gBAAoB,OAAQ,CAC3EgmC,SAAU,UACVC,SAAU,UACVhtB,EAAG,8oBACHwqB,KAAM,aAEV,CACA,MAAM,GAA0B,aAAiBsE,IAClC,IG3Bf,IAAI,GACJ,SAAS,KAAa,OAAO,GAAWnqD,OAAOktC,OAASltC,OAAOktC,OAAOwa,OAAS,SAAUruB,GAAK,IAAK,IAAInzB,EAAI,EAAGA,EAAIoC,UAAUxB,OAAQZ,IAAK,CAAE,IAAIL,EAAIyC,UAAUpC,GAAI,IAAK,IAAIyhD,KAAK9hD,GAAG,CAAG,GAAE+hD,eAAeC,KAAKhiD,EAAG8hD,KAAOtuB,EAAEsuB,GAAK9hD,EAAE8hD,GAAK,CAAE,OAAOtuB,CAAG,EAAG,GAASyuB,MAAM,KAAMx/C,UAAY,CAEnR,SAAS8hD,GAASjpD,EAAM6mD,GACtB,IAAI,MACF5lC,EAAK,QACL6lC,KACG32C,GACDnQ,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDkyB,MAAO,GACP/jB,OAAQ,GACR44C,QAAS,YACTrC,KAAM,OACNsC,MAAO,6BACP5mC,IAAKymC,EACL,kBAAmBC,GAClB32C,GAAQ8Q,EAAqB,gBAAoB,QAAS,CAC3DtO,GAAIm0C,GACH7lC,GAAS,KAAM,KAAU,GAAqB,gBAAoB,OAAQ,CAC3EgmC,SAAU,UACVC,SAAU,UACVhtB,EAAG,i4BACHwqB,KAAM,aAEV,CACA,MAAM,GAA0B,aAAiBuE,IAClC,ICjBR,SAASC,GAAMlpD,GAAwC,IAAvC,SAAEoN,EAAQ,UAAEqB,GAAwBzO,EAC1D,OACC6N,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,UAC5BS,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,SAAUh2C,GAAWrB,SAAEA,KAG/C,CCPO,SAASwuC,GAAI57C,GAA4D,IAA3D,sBAAEmpD,EAAqB,UAAE16C,KAAc26C,GAAiBppD,EAC5E,OACC6N,EAAAA,GAAAA,KAAA,OACCY,WAAWg2C,EAAAA,GAAAA,GACV,QACAh2C,EACA06C,GAAyB,yBAEtBC,GAGP,CCRO,SAASC,GAAOrpD,GAAmC,IAAlC,KAAE0P,EAAI,QAAElL,GAAuBxE,EACtD,OACCiO,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,CACb,YAATsC,IAAsB7B,EAAAA,GAAAA,KAACy7C,GAAI,IAClB,SAAT55C,IAAmB7B,EAAAA,GAAAA,KAAC07C,GAAK,KAC1B17C,EAAAA,GAAAA,KAAA,OAAAT,SAAM5I,MAGT,CAMO,SAASglD,GAAW16C,GAAiD,IAAhD,KAAEY,EAAI,QAAElL,EAAO,OAAEilD,GAA4B36C,EACxE,OACCb,EAAAA,GAAAA,MAAC2tC,GAAI,CAACuN,uBAAqB,EAAA/7C,SAAA,EAC1BS,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZS,EAAAA,GAAAA,KAACw7C,GAAO,CAAC35C,KAAMA,EAAMlL,QAASA,OAE/BqJ,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,SAAEq8C,MAGjB,CCzBO,SAASE,GAAO3pD,GAA+C,IAA9C,UAAEwlD,EAAS,eAAEoE,GAA8B5pD,EAClE,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,OACCsJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAOvc,EAAE,4BAElBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAACw7C,GAAO,CAAC35C,KAAK,UAAUlL,QAASolD,OAGlC/7C,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAAS61C,EAAUp4C,SAClB1I,EAAE,cAKR,CCdO,SAASmlD,GAAa7pD,GAAoC,IAAnC,SAAE8pD,GAA8B9pD,EAC7D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,WAAE6/C,EAAU,WAAED,EAAU,SAAEU,EAAQ,SAAEC,EAAQ,YAAEH,GACnDH,GAAW,CACVJ,WAAY,EACZK,YAAa,KAERzqC,EAAUqW,IAAepjB,EAAAA,EAAAA,aACzB+iC,EAAW2Z,IAAgB18C,EAAAA,EAAAA,YAElC,OACCY,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,EAC9BS,EAAAA,GAAAA,KAACy2C,GAAO,CAACE,WAAYA,EAAYD,WAAYA,KAC7Ct2C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAMysC,GAAAA,OACvBn8C,EAAAA,GAAAA,KAAA,UAAQ8B,QAASo1C,EAAc+E,EAAW5E,EAAS93C,SACjD1I,EAAE,aAIW,IAAf6/C,IACA12C,EAAAA,GAAAA,KAAC03C,GAAW,CACXC,UAAYprC,IACXqW,EAAYrW,GACZ6qC,GAAU,IAIG,IAAfV,SACctjD,IAAbmZ,GACAvM,EAAAA,GAAAA,KAAC05C,GAAmB,CACnBntC,SAAUA,EACVorC,UAAYpV,IACX2Z,EAAa3Z,GACb6U,GAAU,IAGT,MACW,IAAfV,IACA12C,EAAAA,GAAAA,KAAC66C,GAAU,CAACtY,UAAWA,EAAWoV,UAAWP,IAE9B,IAAfV,IACA12C,EAAAA,GAAAA,KAAC87C,GAAO,CACPnE,UAAWsE,EACXF,eAAgBllD,EAAE,qCAKvB,CCxCO,SAASulD,GAASjqD,GAAiC,IAAhC,UAAEwlD,GAA2BxlD,EACtD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,IAC9BgyB,GAA6BC,EAAAA,GAAAA,IACjCuC,GACAvE,GAAmB,CAClB9iB,WAAwB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC1BnoB,UAAuB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,UACzB+vB,SAAsB,OAAZvuB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,SACxB3kC,OAAQzE,IACRgvC,aAA0B,OAAZn0B,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,MAC5BwjC,iBAAkBD,EAASC,iBAC3BtC,WAAYnC,GAAsBzW,MAClCqB,oBAAqB1B,GAAuBK,MAC5CroB,YAAyB,OAAZ1K,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,qBAE7B,CACCic,UAAW12C,IAAA,IAAC,UAAEshC,GAAWthC,EAAA,OAAK02C,EAAUpV,EAAU,IAI9Cga,GA7BkBpjB,EA8BvB,CACCI,SAAU,QACVoF,UAAW,QACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,SArCfoiC,GAAY,CAACue,GAuCnBnpC,IAvCiD8qB,IADnD,IAAyBA,EA2CxB,OAAI0gB,EAA2Bv2B,WACvBtjB,EAAAA,GAAAA,KAAC0R,GAAa,KAIrBtR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,oBACT44B,YAAa54B,EAAE,6BAGhBmJ,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAY6d,EACZnd,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GACVqa,EAA2BQ,OAAO7a,EAAOjzB,YAI1CstC,EAA2BO,UAC3Bp6C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxB84C,GAAgBwB,EAA2BzjD,WAKjD,CCvEO,SAASomD,GAAQrqD,GAA2C,IAAD2oD,EAAA,IAAzC,UAAEnD,EAAS,UAAEpV,GAA0BpwC,EAC/D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC7BkzB,EAAKC,IAAUx7C,EAAAA,EAAAA,UAAS,IACzBy7C,GAA6BnB,EAAAA,GAAAA,IAClC,IACC3B,GAAmB,CAClBnjB,WAAwB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC1BuN,YACAxmC,QAASg/C,KAEX,CACCpD,UAAWA,IAIb,OACCv3C,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,kBACT44B,YAAa54B,EAAE,2BAGhBmJ,EAAAA,GAAAA,KAACs6C,GAAQ,CAACvtD,MAAOguD,EAAKtwB,SAAUuwB,IAE/BC,EAA2Bb,UAC3Bp6C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SACpB64C,GAAa6C,EAA2B7kD,OACtC4hD,GACyC,QADjB8C,EACxBG,EAA2B7kD,MAAMG,gBAAQ,IAAAukD,OAAA,EAAzCA,EAA2CtkD,KACzCG,SAEF0hD,GAAgB4C,EAA2B7kD,UAIhD4J,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVg7B,SAAUmf,EAAIjjD,SAAWojD,GACzBp5C,QAASA,IAAMm5C,EAA2BZ,SAAS96C,SAClD1I,EAAE,cAKR,CClDO,SAAS4lD,GAAWtqD,GAAkC,IAAjC,SAAE8pD,GAA4B9pD,EACzD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,WAAE6/C,EAAU,WAAED,EAAU,SAAEU,EAAQ,SAAEC,EAAQ,YAAEH,GACnDH,GAAW,CACVJ,WAAY,EACZK,YAAa,KAERzU,EAAW2Z,IAAgB18C,EAAAA,EAAAA,YAElC,OACCY,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,eAAcrB,SAAA,EAC5BS,EAAAA,GAAAA,KAACy2C,GAAO,CAACE,WAAYA,EAAYD,WAAYA,KAC7Ct2C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAMysC,GAAAA,OACvBn8C,EAAAA,GAAAA,KAAA,UAAQ8B,QAASo1C,EAAc+E,EAAW5E,EAAS93C,SACjD1I,EAAE,aAIW,IAAf6/C,IACA12C,EAAAA,GAAAA,KAACo8C,GAAS,CACTzE,UAAYpV,IACX2Z,EAAa3Z,GACb6U,GAAU,IAIG,IAAfV,IACA12C,EAAAA,GAAAA,KAACw8C,GAAQ,CAACja,UAAWA,EAAWoV,UAAWP,IAE5B,IAAfV,IACA12C,EAAAA,GAAAA,KAAC87C,GAAO,CACPnE,UAAWsE,EACXF,eAAgBllD,EAAE,mCAKvB,CC3BO,SAAS6lD,GAASvqD,GAAiC,IAAhC,UAAEwlD,GAA2BxlD,EACtD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,IAC9BgyB,GAA6BC,EAAAA,GAAAA,IACjCuC,GACAvE,GAAmB,CAClB9iB,WAAwB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC1BnoB,UAAuB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,UACzB+vB,SAAsB,OAAZvuB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,SACxB4F,aAA0B,OAAZn0B,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,MAC5B7gB,OAAQzE,IACRulB,YAAyB,OAAZ1K,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,kBAC3B4gB,iBAAkBD,EAASC,iBAC3BtC,WAAYnC,GAAsB8E,YAClCla,oBAAqB1B,GAAuBU,OAE9C,CACCkW,UAAW12C,IAAA,IAAC,UAAEshC,GAAWthC,EAAA,OAAK02C,EAAUpV,EAAU,IAI9Cqa,GA7BwBzjB,EA8B7B,CACCI,SAAU,cACVoF,UAAW,cACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,SArCfoiC,GAAY,CAACwe,GAuCnBppC,IAvCuD8qB,IADzD,IAA+BA,EA2C9B,OAAI0gB,EAA2Bv2B,WACvBtjB,EAAAA,GAAAA,KAAC0R,GAAa,KAIrBtR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,oBACT44B,YAAa54B,EAAE,6BAGhBmJ,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYke,EACZxd,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GACVqa,EAA2BQ,OAAO7a,EAAOjzB,YAI1CstC,EAA2BO,UAC3Bp6C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxB84C,GAAgBwB,EAA2BzjD,WAKjD,CCtEO,SAASymD,GAAQ1qD,GAA2C,IAAD2oD,EAAA,IAAzC,UAAEvY,EAAS,UAAEoV,GAA0BxlD,EAC/D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC7BkzB,EAAKC,IAAUx7C,EAAAA,EAAAA,UAAS,IACzBy7C,GAA6BnB,EAAAA,GAAAA,IAClC,IACC3B,GAAmB,CAClBnjB,WAAwB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC1BuN,YACAxmC,QAASg/C,KAEX,CAAEpD,UAAWA,IAGd,OAAIsD,EAA2B33B,WACvBtjB,EAAAA,GAAAA,KAAC0R,GAAa,KAIrBtR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,kBACT44B,YAAa54B,EAAE,2BAGhBmJ,EAAAA,GAAAA,KAACs6C,GAAQ,CAACvtD,MAAOguD,EAAKtwB,SAAUuwB,IAE/BC,EAA2Bb,UAC3Bp6C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SACpB64C,GAAa6C,EAA2B7kD,OACtC4hD,GACyC,QADjB8C,EACxBG,EAA2B7kD,MAAMG,gBAAQ,IAAAukD,OAAA,EAAzCA,EAA2CtkD,KACzCG,SAEF0hD,GAAgB4C,EAA2B7kD,UAIhD4J,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVg7B,SAAUmf,EAAIjjD,SAAWojD,GACzBp5C,QAASA,IAAMm5C,EAA2BZ,SAAS96C,SAClD1I,EAAE,cAKR,CCrDO,SAASimD,GAAW3qD,GAAkC,IAAjC,SAAE8pD,GAA4B9pD,EACzD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,WAAE6/C,EAAU,WAAED,EAAU,SAAEU,EAAQ,SAAEC,EAAQ,YAAEH,GACnDH,GAAW,CACVJ,WAAY,EACZK,YAAa,KAERzU,EAAW2Z,IAAgB18C,EAAAA,EAAAA,YAElC,OACCY,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,eAAcrB,SAAA,EAC5BS,EAAAA,GAAAA,KAACy2C,GAAO,CAACE,WAAYA,EAAYD,WAAYA,KAC7Ct2C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,EAC3BS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAMysC,GAAAA,OACvBn8C,EAAAA,GAAAA,KAAA,UAAQ8B,QAASo1C,EAAc+E,EAAW5E,EAAS93C,SACjD1I,EAAE,aAIW,IAAf6/C,IACA12C,EAAAA,GAAAA,KAAC08C,GAAS,CACT/E,UAAYpV,IACX2Z,EAAa3Z,GACb6U,GAAU,IAIG,IAAfV,IACA12C,EAAAA,GAAAA,KAAC68C,GAAQ,CAACta,UAAWA,EAAWoV,UAAWP,IAE5B,IAAfV,IACA12C,EAAAA,GAAAA,KAAC87C,GAAO,CACPnE,UAAWsE,EACXF,eAAgBllD,EAAE,mCAKvB,CC3CO,SAASkmD,GAAQ5qD,GAA+C,IAA9C,MAAEkF,EAAK,MAAEtK,EAAK,SAAEwS,EAAQ,SAAEq8B,GAAiBzpC,EACnE,OACCiO,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,aAAYrB,SAAA,CACzBxS,GACAiT,EAAAA,GAAAA,KAACg9C,GAAa,CAACphB,SAAUA,EAASr8B,SAAExS,IACjC,KACHwS,GACDS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SAAElI,MAG5B,CAEA,SAAS2lD,GAAa/7C,GAAuC,IAAtC,SAAE1B,EAAQ,SAAEq8B,GAAW,GAAY36B,EACzD,OACCjB,EAAAA,GAAAA,KAAA,OAAKY,UAAW,UAASg7B,EAAW,WAAa,IAAKr8B,SAAEA,GAE1D,CVgDAwuC,GAAKj6B,OApDE,SAAmB7S,GAGU,IAHT,UAC1BL,KACG26C,GAC6Bt6C,EAChC,OAAOjB,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,eAAgBh2C,MAAgB26C,GAC7D,EAgDAxN,GAAK8N,QA9CE,SAAoBprB,GAGS,IAHR,UAC3B7vB,KACG26C,GAC6B9qB,EAChC,OAAOzwB,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,gBAAiBh2C,MAAgB26C,GAC9D,EA0CAxN,GAAK75B,OAxCE,SAAmB9S,GAGU,IAHT,UAC1BR,KACG26C,GAC6Bn6C,EAChC,OAAOpB,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,eAAgBh2C,MAAgB26C,GAC7D,EAqCAxN,GAAKkP,cAnCE,SAA0B37C,GAGG,IAHF,UACjCV,KACG26C,GAC6Bj6C,EAChC,OAAOtB,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,uBAAwBh2C,MAAgB26C,GACrE,EA+BAxN,GAAKmP,UA9BE,SAAsB17C,GAGO,IAHN,UAC7BZ,KACG26C,GAC6B/5C,EAChC,OAAOxB,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,mBAAoBh2C,MAAgB26C,GACjE,EA0BAxN,GAAKoP,KAzBE,SAAiBz7C,GAGY,IAHX,UACxBd,KACG26C,GAC6B75C,EAChC,OAAO1B,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,aAAch2C,MAAgB26C,GAC3D,EAqBAxN,GAAKqP,UApBE,SAAsBC,GAGQ,IAHP,UAC7Bz8C,KACG26C,GAC8B8B,EACjC,OAAOr9C,EAAAA,GAAAA,KAAA,QAAMY,WAAWg2C,EAAAA,GAAAA,GAAK,mBAAoBh2C,MAAgB26C,GAClE,EAgBAxN,GAAKuP,UAfE,SAAsBC,GAGQ,IAHP,UAC7B38C,KACG26C,GAC8BgC,EACjC,OAAOv9C,EAAAA,GAAAA,KAAA,QAAMY,WAAWg2C,EAAAA,GAAAA,GAAK,mBAAoBh2C,MAAgB26C,GAClE,EUxCAwB,GAASS,WAJT,SAA2B/sB,GAAqB,IAApB,SAAElxB,GAAekxB,EAC5C,OAAOzwB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAAEA,GACtC,EAGAw9C,GAASU,MAAQT,G,cCfV,SAASG,GAAIhrD,GAA8B,IAADurD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAA5B,YAAEC,GAAwB9rD,EAC9C,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,IAC9Bq2B,GAA2BC,EAAAA,GAAAA,GAAS,CACzCC,QAASA,ICjBJxoD,eAAsCo/B,GAC5C,OAAO5wB,GACLgI,IAIA,GAAGxjB,EAAAA,EAAUoe,gCAAgCguB,gCACvCrxB,MAEN0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CDGiBqxC,CAAmC,OAAZhwC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,cAG/CspB,EAA+C,QAA7BZ,EAAAQ,EAAyB1nD,YAAI,IAAAknD,GAA7BA,EAA+Ba,kBACtDv+C,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,oBACT44B,YAAa54B,EAAE,+BAGhBmJ,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAOvc,EAAE,oBACT44B,YAAa54B,EAAE,0BAIjB,OAAIqnD,EAAyB56B,WAE3BljB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,CAC9B++C,GAEDt+C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,UACtCS,EAAAA,GAAAA,KAAC0R,GAAa,SAMdwsC,EAAyB9D,SAE3Bh6C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,CAC9B++C,GAEDt+C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SACpB84C,GAAgB6F,EAAyB9nD,aAO7CgK,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,CAC9B++C,GAEDl+C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,yBAAwBrB,SAAA,EACtCS,EAAAA,GAAAA,KAAC+8C,GAAQ,CACR1lD,MAAOR,EAAE,QACT9J,MAAO,GAAe,OAAZshB,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,aAAyB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,WACnDhB,UAAQ,KAETx7B,EAAAA,GAAAA,MAAC28C,GAAQ,CAAC1lD,MAAOR,EAAE,WAAW0I,SAAA,EAC7BS,EAAAA,GAAAA,KAAC+8C,GAASU,MAAK,CACd7hB,WAC+B,QAA9B+hB,EAACO,EAAyB1nD,YAAI,IAAAmnD,GAA7BA,EAA+BY,kBAChCh/C,UACDa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAAT,SAAkB,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAciuB,QACpBt8B,EAAAA,GAAAA,KAAA,OAAAT,SAAM,GAAe,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAc+tB,UAAsB,OAAZ/tB,QAAY,IAAZA,OAAY,EAAZA,EAAcwuB,iBAC/C78B,EAAAA,GAAAA,KAAA,OAAAT,SAAkB,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAcguB,kBAGQ,QAA7BuhB,EAAAM,EAAyB1nD,YAAI,IAAAonD,GAA7BA,EAA+BW,kBAC/Bv+C,EAAAA,GAAAA,KAAC+8C,GAASS,WAAU,CAAAj+C,UACnBS,EAAAA,GAAAA,KAAA,UACCY,UAAU,0BACVkB,QAASA,KACRm8C,EAAY,UAAU,EACrB1+C,UACFS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAM8uC,GAAAA,IAAO/mC,MAAM,gBAGnC,SAELzX,EAAAA,GAAAA,KAAC+8C,GAAQ,CACR1lD,MAAOR,EAAE,eACT9J,MAAmB,OAAZshB,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,kBACrBE,WAC+B,QAA9BiiB,EAACK,EAAyB1nD,YAAI,IAAAqnD,GAA7BA,EAA+BY,sBAChCl/C,SAC6B,QAA7Bu+C,EAAAI,EAAyB1nD,YAAI,IAAAsnD,GAA7BA,EAA+BW,sBAC/Bz+C,EAAAA,GAAAA,KAAC+8C,GAASS,WAAU,CAAAj+C,UACnBS,EAAAA,GAAAA,KAAA,UACCY,UAAU,mBACVkB,QAASA,KACRm8C,EAAY,QAAQ,EACnB1+C,UACFS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAM8uC,GAAAA,IAAO/mC,MAAM,gBAGnC,QAELzX,EAAAA,GAAAA,KAAC+8C,GAAQ,CACR1lD,MAAOR,EAAE,SACT9J,MAAmB,OAAZshB,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,MACrB8iB,WAC+B,QAA9BmiB,EAACG,EAAyB1nD,YAAI,IAAAunD,GAA7BA,EAA+BU,sBAChCl/C,SAC6B,QAA7By+C,EAAAE,EAAyB1nD,YAAI,IAAAwnD,GAA7BA,EAA+BS,sBAC/Bz+C,EAAAA,GAAAA,KAAC+8C,GAASS,WAAU,CAAAj+C,UACnBS,EAAAA,GAAAA,KAAA,UACCY,UAAU,mBACVkB,QAASA,KACRm8C,EAAY,QAAQ,EACnB1+C,UACFS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAM8uC,GAAAA,IAAO/mC,MAAM,gBAGnC,YAKT,CEtHO,MAAMyjC,GAAmB,EA+BhC,GA5BkBwD,KACjB,MAAOC,EAAaC,IAAkBp/C,EAAAA,EAAAA,UAAyB,QAE/D,SAASq/C,IACRD,EAAe,OAChB,CAEA,OACC5+C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kEAAiErB,UAC/Ea,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,CACV,SAAhBo/C,IACA3+C,EAAAA,GAAAA,KAACm9C,GAAI,CAACc,YAAaW,IAGH,YAAhBD,IACA3+C,EAAAA,GAAAA,KAACg8C,GAAa,CAACC,SAAU4C,IAET,UAAhBF,IACA3+C,EAAAA,GAAAA,KAAC88C,GAAW,CAACb,SAAU4C,IAEP,UAAhBF,IACA3+C,EAAAA,GAAAA,KAACy8C,GAAW,CAACR,SAAU4C,QAGpB,ECmCR,GA/DYC,KACX,MAAM,EAAEjoD,IAAMC,EAAAA,EAAAA,MACR,YAAEkS,IAAgB7I,EAAAA,EAAAA,YAAW0nB,KAC5BrxB,EAAMwsB,IAAWxjB,EAAAA,EAAAA,UAAkC,KACnDwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,YA6B1B,OA3BA+P,EAAAA,EAAAA,YAAU,MACT3Z,iBACCqmB,GAAW,SACLjQ,GACJjD,OACAngB,EAAAA,EAAUC,QACM,SAAhBmgB,EACGyL,GAAYs5B,KACI,kBAAhB/kC,EACEyL,GAAYqgC,cACZrgC,GAAYugC,QACjBl/C,EAAAA,EAAQC,SACRc,GAEAwV,MAAM7V,GAASwsB,EAAQxsB,KACvB6V,MAAK,IAAM4P,GAAW,KACtBlP,OAAO3W,IACPC,QAAQ4W,IAAI7W,GACZ6lB,GAAW,GACXC,EAAS9lB,EAAM,GAElB,CACA2oD,EAAQ,GAGN,KAGF/+C,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sDAAqDrB,UACnEa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAOvc,EAAE,eAClBuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mDAAkDrB,SAAA,CAC/DnJ,IACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,SAC5CnJ,EAAMO,UAGRqlB,GACAhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAER9E,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACM,OAAJ/I,QAAI,IAAJA,OAAI,EAAJA,EAAMW,KAAK6nD,IAEVh/C,EAAAA,GAAAA,KAAC6mC,GAAa,CAEbC,SAAUkY,GADLA,EAAO7X,mBASd,EClCR,GA/B2Bh1C,IAAoC,IAAnC,KAAEqE,GAA2BrE,EACxD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACd,OACCsJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yDAAwDrB,UACtES,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,qBAERuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kDAAiDrB,SAAA,EAC/DS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,cACNmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM/I,EAAKyoD,0BAEZ7+C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kDAAiDrB,SAAA,EAC/DS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,iBACNmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM/I,EAAK0oD,2BAEZ9+C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kDAAiDrB,SAAA,EAC/DS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,sBACNmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM/I,EAAK2oD,uBAEZ/+C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kDAAiDrB,SAAA,EAC/DS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,mBACNmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM/I,EAAK4oD,mBAEZh/C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kDAAiDrB,SAAA,EAC/DS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,gBACNmJ,EAAAA,GAAAA,KAAA,OAAAT,SAAM/I,EAAK5M,gBAEP,ECVR,SAnBAgM,eAAsCuxB,EAA4BtwB,GAiB9D,aAhBuB+U,GAClBQ,IACG,GAAGxjB,EAAAA,EAAUoe,sEAAsEmgB,UAC7ExjB,MAET0I,MAAMC,GACIA,EAAO9V,OAEjBuW,OAAOC,IAAS,IAAD6K,EAEZ,MADAxU,GAAS2J,GACoB,OAAb,QAAZ6K,EAAA7K,EAAIzW,gBAAQ,IAAAshB,OAAA,EAAZA,EAAcnhB,QACR,IAAID,MAAMI,EAAE,uBAEZmW,CACV,GAGZ,EC+DA,GA/EqBqyC,KACpB,MAAM,EAAExoD,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KAEX,aAAE6yB,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,KAC7B7L,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBhJ,EAAMwsB,IAAWxjB,EAAAA,EAAAA,aAExB+P,EAAAA,EAAAA,YAAU,MACT3Z,iBACCqmB,GAAW,SACLqjC,GAAmC,OAAZ33B,QAAY,IAAZA,OAAY,EAAZA,EAAcR,mBAAqBtwB,GAC9DwV,MAAM7V,IACNwsB,EAAQxsB,EAAK,IAEb6V,MAAK,IAAM4P,GAAW,KACtBlP,OAAO3W,IACPC,QAAQ4W,IAAI7W,GACZ6lB,GAAW,GACXC,EAAS9lB,EAAM,GAElB,CACAmpD,EAAiB,GAEf,IAEH,MAAM9X,EAAO,CACZ5wC,EAAE,WACFA,EAAE,cACFA,EAAE,mBACFA,EAAE,gBACFA,EAAE,cAGH,IAAI6wC,EAaJ,OAZIlxC,IAASwlB,IACZ0rB,GACCtnC,EAAAA,GAAAA,MAAA,MAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,MAAAT,SAAK/I,EAAKyoD,uBACVj/C,EAAAA,GAAAA,KAAA,MAAAT,SAAK/I,EAAK0oD,wBACVl/C,EAAAA,GAAAA,KAAA,MAAAT,SAAK/I,EAAK2oD,oBACVn/C,EAAAA,GAAAA,KAAA,MAAAT,SAAK/I,EAAK4oD,gBACVp/C,EAAAA,GAAAA,KAAA,MAAAT,SAAK/I,EAAK5M,gBAMZoW,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxByc,GACAhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAER9E,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEnJ,GACA4J,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SAAE1I,EAAET,EAAMO,YAE/BqJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEW,GAAY1J,GACZwJ,EAAAA,GAAAA,KAACw/C,GAAkB,CAAChpD,KAAMA,KAE1B4J,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iDAAgDrB,SAAA,EAC9DS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iCAAgCrB,UAC9CS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,qBAETmJ,EAAAA,GAAAA,KAAC4nC,GAAW,CACXvc,QAASoc,EACTjxC,KAAMkxC,KAEP1nC,EAAAA,GAAAA,KAAA,OAAKY,UAAU,0CAOhB,EC7DR,SAjBAhL,eAAmC6pD,EAAmB5oD,GAc9C,aAbuB+U,GAAM0B,KACzB,GAAG1kB,EAAAA,EAAUoe,6CACby4C,QACM97C,MACR0I,MAAM7V,IACJ,GAAoB,MAAhBA,EAAKE,OACL,OAAOF,EAEX,MAAM,IAAIC,MAAMI,EAAE,YAAY,IAC/BkW,OAAOC,IAEN,MADA3J,GAAS2J,GACH,IAAIvW,MAAMI,EAAE,YAAY,GAG1C,ECCA,SAhBAjB,eAAuC8pD,EAAyB7oD,GAcxD,aAbuB+U,GAAM0B,KACzB,GAAG1kB,EAAAA,EAAUoe,sDACb04C,QACM/7C,MACR0I,MAAM7V,IACJ,GAAoB,MAAhBA,EAAKE,OACL,OAAOF,EAEX,MAAM,IAAIC,MAAMI,EAAE,YAAY,IAC/BkW,OAAOC,IAEN,MADA3J,GAAS2J,GACH,IAAIvW,MAAMI,EAAE,YAAY,GAG1C,ECgXA,GAnXyB8oD,KACxB,MAAM,EAAE9oD,IAAMC,EAAAA,EAAAA,KACRoJ,EAAWpL,KACX,aAAE6yB,EAAY,aAAEtZ,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC3CwoB,IAAkB7wC,EAAAA,EAAAA,UAASmoB,IAC3B3L,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCq1B,EAASC,IAAct1B,EAAAA,EAAAA,WAAS,IAChCpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBogD,EAAWC,IAAgBrgD,EAAAA,EAAAA,UAAiB,KAC5CsgD,EAAYC,IAAiBvgD,EAAAA,EAAAA,aAO7BwgD,EAAeC,IAAoBzgD,EAAAA,EAAAA,UAC/B,OAAVsgD,QAAU,IAAVA,OAAU,EAAVA,EAAYppD,QAGPu6C,EAAO,+BA6Pb1hC,EAAAA,EAAAA,YAAU,KA3GL8gC,EAAe6P,aAAaA,eAAiBjsB,GAAaksB,OAE5D9P,EAAe+P,WAAWF,eAAiBjsB,GAAaksB,OAGvD9P,EAAegQ,qBAAqBH,eACpCjsB,GAAaksB,OAEbJ,EAAc,CACbl+C,KAAM,uBACNnL,OAAQ25C,EAAegQ,qBACrBH,aACFI,gBAAiBzpD,EAAE,gBACnB9J,MAAO,CACN,CACC+X,GAAI,UACJs7C,WAAYjsB,GAAWosB,QACvB/K,OAAQnF,EAAewF,OACvB2K,eAAgBvP,GAEjB,CACCnsC,GAAI,gBACJo7C,aAAcjsB,GAAawsB,cAC3BjL,OAAQnF,EAAewF,OACvB6K,iBAAkBzP,GAEnB,CACCnsC,GAAI,eACJ67C,gBAAiBtQ,EAAesQ,gBAChCnL,OAAQnF,EAAewF,SAGzB+K,SAAU,CAAC,UAAW,gBAAiB,kBAGxCvQ,EAAegQ,qBAAqBH,eACpCjsB,GAAa4sB,WAEbd,EAAc,CACbl+C,KAAM,uBACNnL,OAAQ25C,EAAegQ,qBACrBH,aACFI,gBAAiBzpD,EAAE,YACnB9J,MAAO,CACN,CACC+X,GAAI,SACJu7C,qBACCnsB,GAAqBisB,OACtB3K,OAAQnF,EAAewF,OACvBiL,yBAA0B7P,IAG5B2P,SAAU,CAAC,YAIbvQ,EAAe+P,WAAWF,eAAiBjsB,GAAassB,SAExDR,EAAc,CACbl+C,KAAM,aACNnL,OAAQ25C,EAAe+P,WAAWF,aAClCI,gBAAiBzpD,EAAE,iBACnB9J,MAAO,CACN,CACC+X,GAAI,SACJs7C,WAAYjsB,GAAWgsB,OACvB3K,OAAQnF,EAAewF,OACvB2K,eAAgBvP,GAEjB,CACCnsC,GAAI,gBACJo7C,aAAcjsB,GAAawsB,cAC3BjL,OAAQnF,EAAewF,OACvB6K,iBAAkBzP,GAEnB,CACCnsC,GAAI,eACJ67C,gBAAiBtQ,EAAesQ,gBAChC9K,OAAQxF,EAAewF,SAGzB+K,SAAU,CAAC,SAAU,gBAAiB,kBAIxCvQ,EAAe6P,aAAaA,eAC5BjsB,GAAawsB,eAEbV,EAAc,CACbl+C,KAAM,eACNnL,OAAQ25C,EAAe6P,aAAaA,aACpCI,gBAAiBzpD,EAAE,uBACnB9J,MAAO,CACN,CACC+X,GAAI,eACJ67C,gBAAiBtQ,EAAesQ,gBAChC9K,OAAQxF,EAAewF,SAGzB+K,SAAU,CAAC,iBASK,GAEhB,CAACvQ,KAEJ9gC,EAAAA,EAAAA,YAAU,KACTswC,EAAuB,OAAVC,QAAU,IAAVA,OAAU,EAAVA,EAAYc,SAAS,IAClCX,EAA2B,OAAVH,QAAU,IAAVA,OAAU,EAAVA,EAAYQ,gBAAiB,GAC5C,CAACR,IAEJ,IAAIiB,EAAM,CAAC,SAAU,0BAA2B,QAC5C7gD,GAAU6gD,EAAItvD,KAAK,eAEvB,MAAMuvD,EAAU1+C,IAEdlC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0BAAyBrB,SAAA,EACvCS,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAEyL,EAAM8Q,WAEZ9Q,EAAMvJ,QAKV,OACCiH,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oDAAmDrB,SAAA,EACjES,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iCAAgCrB,UAC9CS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,yBAERmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,SAAQrB,UACtBS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,6BAETuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAWmgD,EAAIzZ,KAAK,KAAK/nC,SAAA,EAC7BS,EAAAA,GAAAA,KAACghD,EAAM,CACN5tC,MAAM,aACNra,KAAM,GAAe,OAAZsV,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,aAAyB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,cAEnD58B,EAAAA,GAAAA,KAACghD,EAAM,CACN5tC,MAAM,iBACNra,KAAM,IAAI6d,KACTy5B,EAAeE,oBACdxwB,mBAAmB1rB,IAAqB,CACzC2xB,KAAM,UACND,MAAO,eAGT/lB,EAAAA,GAAAA,KAACghD,EAAM,CAAC5tC,MAAM,SAASra,KAAMinD,KAC7BhgD,EAAAA,GAAAA,KAACghD,EAAM,CACN5tC,MAAM,YACNra,MACCiH,EAAAA,GAAAA,KAAA,UACCY,UAAU,cACV,aAAW,aACX6pB,SAAWvzB,GA1DMA,KACvB2oD,EAAa3oD,EAAEkb,OAAOrlB,MAAM,EAyDL29B,CAAexzB,GAChCnK,MAAO6yD,EAAUrgD,SACN,OAAVugD,QAAU,IAAVA,OAAU,EAAVA,EAAYc,SAASzpD,KACrB,CAAC4B,EAAcpB,KAEbqI,EAAAA,GAAAA,KAAA,UAAkBjT,MAAOgM,EAAKwG,SAC5B1I,EAAEkC,IADSpB,UASnBqI,EAAAA,GAAAA,KAACghD,EAAM,CACNjoD,MACCiH,EAAAA,GAAAA,KAAA,UACCY,UAAU,kBACVkB,QAASA,KAnUSlM,WACxBqmB,GAAW,GACX,IACC,GAAI2jC,IAAc3rB,GAAagtB,aAAc,CAC5C,IAAIxB,EACJA,EAAU,CACTkB,gBAAiBtQ,EAAesQ,gBAChC9K,OAAQxF,EAAewF,cAElBqL,GAAoBzB,EAAS5oD,GAAGwV,MAAK,KAC1C4zC,EAAiBppD,EAAE,uBACnBkpD,EAAc,CACbl+C,KAAM,uBACNnL,OAAQ25C,EAAegQ,qBACrBH,aACFI,gBAAiBzpD,EAAE,sBACnB9J,MAAO,CACN,CACC+X,GAAI,GACJ67C,gBAAiBtQ,EAAesQ,gBAChCnL,OAAQnF,EAAewF,SAGzB+K,SAAU,CAAC,MAEZ9rB,GAAW,GACX7Y,GAAW,EAAM,GAEnB,YACOklC,GACK,OAAVrB,QAAU,IAAVA,OAAU,EAAVA,EAAY/yD,MAAMkK,MAChB7F,GAAMA,EAAE0T,KAAO86C,IAEjB/oD,GACCwV,MAAM9V,IAC0B,WAA7BA,EAASC,KAAK4pD,WACjBL,EAAc,CACbl+C,KAAM,uBACNnL,OAAQ25C,EAAegQ,qBACrBH,aACFI,gBAAiBzpD,EAAE,gBACnB9J,MAAO,CACN,CACC+X,GAAI,UACJs7C,WAAYjsB,GAAWosB,QACvB/K,OAAQnF,EAAewF,OACvB2K,eAAgBvP,GAEjB,CACCnsC,GAAI,gBACJo7C,aAAcjsB,GAAawsB,cAC3BjL,OAAQnF,EAAewF,OACvB6K,iBAAkBzP,GAEnB,CACCnsC,GAAI,eACJ67C,gBACCtQ,EAAesQ,gBAChBnL,OAAQnF,EAAewF,SAGzB+K,SAAU,CACT,UACA,gBACA,kBAGqC,YAA7BrqD,EAASC,KAAK4pD,WACxBL,EAAc,CACbl+C,KAAM,aACNnL,OAAQ25C,EAAe+P,WAAWF,aAClCI,gBAAiBzpD,EAAE,iBACnB9J,MAAO,CACN,CACC+X,GAAI,SACJs7C,WAAYjsB,GAAWgsB,OACvB3K,OAAQnF,EAAewF,OACvB2K,eAAgBvP,GAEjB,CACCnsC,GAAI,gBACJo7C,aAAcjsB,GAAawsB,cAC3BjL,OAAQnF,EAAewF,OACvB6K,iBAAkBzP,GAEnB,CACCnsC,GAAI,eACJ67C,gBACCtQ,EAAesQ,gBAChB9K,OAAQxF,EAAewF,SAGzB+K,SAAU,CACT,SACA,gBACA,kBAIqC,aAAvCrqD,EAASC,KAAK6pD,qBAEdN,EAAc,CACbl+C,KAAM,uBACNnL,OAAQ25C,EAAegQ,qBACrBH,aACFI,gBAAiBzpD,EAAE,YACnB9J,MAAO,CACN,CACC+X,GAAI,SACJu7C,qBACCnsB,GAAqBisB,OACtB3K,OAAQnF,EAAewF,OACvBiL,yBAA0B7P,IAG5B2P,SAAU,CAAC,YAE6B,kBAA/BrqD,EAASC,KAAK0pD,cACxBH,EAAc,CACbl+C,KAAM,eACNnL,OAAQ25C,EAAe6P,aAAaA,aACpCI,gBAAiBzpD,EAAE,uBACnB9J,MAAO,CACN,CACC+X,GAAI,eACJ67C,gBACCtQ,EAAesQ,gBAChB9K,OAAQxF,EAAewF,SAGzB+K,SAAU,CAAC,kBAGbX,EAAiBL,GACjB9qB,GAAW,GACX7Y,GAAW,EAAM,GAGpB,CAAE,MAAO/kB,GACR+kB,GAAW,GACXC,EAAS/lB,GAAwBe,GAClC,GAuLOkqD,EAAkB,EACjB7hD,SACDyc,GACAhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,oBAER9E,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAG1I,EAAE,oBAMTg+B,IACA70B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,+BAA8BrB,SAC3C1I,EAAE,6BAGJT,IAAU4lB,IAAY6Y,IACtB70B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yCAAwCrB,SACrDnJ,EAAMO,cAIL,ECpXD,SAAS0qD,GAAgBC,EAAmBC,GAClD,MAAMC,EAAMD,EAAYD,EAExB,OAAIE,EAAM,IACF,GACGA,EAAM,IACT,GACGA,EAAM,IACT,IAEA,GAET,CAEO,SAASC,GAActvD,GAKJ,IALK,cAC9BuvD,EAAa,UACbJ,EAAS,UACTC,EAAS,KACTzoB,GACsB3mC,EACtB,MAAOwvD,EAAQC,IAAapiD,EAAAA,EAAAA,UAASkiD,GAC/BG,EAAiBF,EAAS7oB,EA+BhC,MAAO,CACN4oB,gBACAJ,YACAC,YACAzoB,OACAgpB,WAlCD,WACC,MAAMC,EAAiBF,EAAiB/oB,EAAO+oB,EAAiB/oB,EAChE8oB,GAAWzuC,GACHA,EAAO4uC,EAAiBR,EAC5BpuC,EAAO4uC,EACPR,GAEL,EA4BCS,WA3BD,WACC,MAAMD,EAAiBF,GAAkB/oB,EACzC8oB,GAAWzuC,GACHA,EAAO4uC,EAAiBT,EAC5BnuC,EAAO4uC,EACPT,GAEL,EAqBCK,SACAM,eAAgBL,EAChBM,WArBD,WAEEN,EADGD,EAASJ,EACFA,EACAI,EAASL,EACTA,EAEAK,EAEZ,EAcCQ,YAZoBR,EAASL,IAAcC,EAAYD,GAAc,IAarEM,YAEF,CAMO,SAASQ,GAAWnhD,GAAkC,IAAjC,SAAE1B,GAA4B0B,EACzD,OAAOjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,SAAEA,GACvC,CCvDO3J,eAAeysD,GAActK,GACnC,OAAO3zC,GACLkJ,KACA,GAAG1kB,EAAAA,EAAUoe,yCACb+wC,QACMp0C,MAEN0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CDwLAo1C,GAAYE,MAjIL,SAAyB7xB,GAQL,IARM,WAChCyxB,EAAU,WACVF,EAAU,WACVF,EAAU,OACVH,EAAM,cACND,EAAa,eACbO,EAAc,SACdrmB,GACuBnL,EACvB,MAAO8xB,EAAiBC,IAAoBhjD,EAAAA,EAAAA,WAAS,IAC9CijD,EAAgBC,IAAmBljD,EAAAA,EAAAA,WAAS,GAEnD,OACCY,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,yBAAwBrB,SAAA,EACtCS,EAAAA,GAAAA,KAAA,UACC8B,QAASA,KACR0gD,GAAiB,GACjBR,GAAY,EAEbphD,WAAWg2C,EAAAA,GAAAA,GAAK,oBAAqB2L,GAAmB,QACxDI,gBAAiBA,IAAMH,GAAiB,GACxC5mB,SAAUA,KAEX57B,EAAAA,GAAAA,KAAA,SACCjT,MAAO40D,EACPl3B,SAAWvzB,GAAM+qD,EAAe/nD,OAAOhD,EAAEkb,OAAOrlB,QAChD61D,OAAQV,EACRrgD,KAAK,SACLjB,UAAU,eACVg7B,SAAUA,EACVinB,QAAU3rD,IACLwqD,IAAkBC,GACrBzqD,EAAEkb,OAAO0wC,QACV,KAGF9iD,EAAAA,GAAAA,KAAA,UACC8B,QAASA,KACR4gD,GAAgB,GAChBZ,GAAY,EAEblhD,WAAWg2C,EAAAA,GAAAA,GAAK,mBAAoB6L,GAAkB,QACtDE,gBAAiBA,IAAMD,GAAgB,GACvC9mB,SAAUA,MAId,EAmFAwmB,GAAYW,WApBZ,SAA8BvhD,GAAyC,IAAxC,SAAEjC,GAAmCiC,EACnE,OAAOxB,EAAAA,GAAAA,KAAA,QAAMY,UAAU,qBAAoBrB,SAAEA,GAC9C,EAmBA6iD,GAAYY,OApEL,SAA0B5hD,GAQX,IARY,KACjC03B,EAAI,UACJyoB,EAAS,UACTD,EAAS,eACTW,EAAc,OACdN,EAAM,WACNQ,EAAU,SACVvmB,GACkBx6B,EAClB,SAAS6hD,EAAal2D,GACrB,MAAMm2D,EAlKR,SAAqBn2D,EAAe+rC,GACnC,OAAOwL,KAAK6e,MAAMp2D,EAAQ+rC,GAAQA,CACnC,CAgKuBsqB,CAAYr2D,EAAO+rC,GAMvCmpB,EALgCX,EAAY4B,EAK7B5B,EAJiBC,EAAY2B,EAAepqB,EAM5CyoB,EAEA2B,EAEjB,CAEA,OACCljD,EAAAA,GAAAA,KAAA,QACCY,WAAWg2C,EAAAA,GAAAA,GACV,eACAhb,GAAY,0BAEb1gC,MAAO,CACNmoD,gBAAiB,gDAAgDlB,0BAAmCA,OACnG5iD,UACFS,EAAAA,GAAAA,KAAA,SACC6B,KAAK,QACL3U,IAAKo0D,EACLl0D,IAAKm0D,EACLzoB,KAAM,EACN/rC,MAAO40D,EACPl3B,SAAUnpB,IAAA,IAAC,OAAE8Q,GAAQ9Q,EAAA,OAAK2hD,EAAa/oD,OAAOkY,EAAOrlB,OAAO,EAC5D6T,UAAU,iBACVg7B,SAAUA,KAId,EAwBAwmB,GAAYkB,YAlBZ,SAA+B5hD,GAM3B,IAN4B,KAC/BkZ,EAAI,MACJC,GAIAnZ,EACA,OACCtB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,2BAA0BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,QAAAT,SAAOqb,KACP5a,EAAAA,GAAAA,KAAA,QAAAT,SAAOsb,MAGV,E,eE3LA,MACA,GAAe,IAA0B,8ECezC,GA5CiB1oB,IAA6D,IAA5D,MAAEkF,EAAK,QAAE7C,EAAO,UAAE+uD,EAAS,SAAE94B,GAAyBt4B,EACvE,MAAM,SACLqxD,EACAC,WAAW,OAAE9a,KACV+a,EAAAA,GAAAA,OACGC,EAASC,IAAcpkD,EAAAA,EAAAA,WAAS,GAEvC,OACCY,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,WAAUrB,SAAA,EACxBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oBAAmBrB,SAAA,EACjCS,EAAAA,GAAAA,KAAA,SAAO6jD,QAAQ,SAAQtkD,SAAElI,IACxBsxC,EAAO4a,KACPnjD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,WAAUrB,SAAA,EACxBS,EAAAA,GAAAA,KAAA,OACCY,UAAW,cAAa+iD,EAAU,UAAY,IAAKpkD,SAAC,oBAGrDS,EAAAA,GAAAA,KAAA,OACC+c,aAAcA,IAAM6mC,GAAW,GAC/B5mC,aAAcA,IAAM4mC,GAAW,GAAOrkD,UACtCS,EAAAA,GAAAA,KAAA,OACCY,UAAU,aACVF,IAAKojD,GACLjjD,IAAI,2BAMTT,EAAAA,GAAAA,MAAA,UACCQ,UAAU,gBACN4iD,EAASD,GACb94B,SAAUA,EAASlrB,SAAA,EACnBS,EAAAA,GAAAA,KAAA,UAAoB+jD,UAAQ,EAACp5B,QAAM,EAACiR,UAAQ,GAAhC,SACXpnC,EAAQ2C,KAAI8J,IAAA,IAAC,MAAElU,EAAK,MAAEsK,GAAO4J,EAAA,OAC7BjB,EAAAA,GAAAA,KAAA,UAAoBjT,MAAOA,EAAMwS,SAC/BlI,GADWtK,EAEJ,SAGN,ECJR,GAxCiBoF,IAA0C,IAAzC,MAAEkF,EAAK,UAAEksD,GAA0BpxD,EACpD,MAAO6xD,EAAaC,IAAkBzkD,EAAAA,EAAAA,UAAS,IACzC,SAAEgkD,EAAQ,SAAE3zC,IAAa6zC,EAAAA,GAAAA,MAc/B,OACCtjD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,SAAAT,SAAQlI,KACR+I,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,WAAUrB,SAAA,EACxBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAmBkB,QAXnBoiD,KACjB,GAAIF,EAAc,EAAG,CACpB,MAAMG,EAAWH,EAAc,EAC/Bn0C,EAAS0zC,EAAWY,GACpBF,EAAeE,EAChB,GAMuD5kD,SAAC,OAGtDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,UAChCS,EAAAA,GAAAA,KAAA,SACCY,UAAU,iBACViB,KAAK,UACD2hD,EAASD,GACba,UAAQ,EACRC,aAAc,OAGhBrkD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAmBkB,QA5BnBwiD,KACjB,MAAMH,EAAWH,EAAc,EAC/Bn0C,EAAS0zC,EAAWY,GACpBF,EAAeE,EAAS,EAyB+B5kD,SAAC,WAIlD,ECkBR,GAlDkBpN,IAKC,IAADoyD,EAAA,IALC,MAClBltD,EAAK,UACLksD,EAAS,SACT3nB,EAAQ,aACR4oB,GACYryD,EACZ,MAAM,SACLqxD,EAAQ,MACRiB,EACAhB,WAAW,OAAE9a,KACV+a,EAAAA,GAAAA,MACEgB,EAAaD,EAAMlB,IAClBI,EAASC,IAAcpkD,EAAAA,EAAAA,WAAS,GAEvC,OACCY,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/Ba,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oBAAmBrB,SAAA,EACjCS,EAAAA,GAAAA,KAAA,SAAO6jD,QAAQ,QAAOtkD,SAAElI,IACvBsxC,EAAO4a,KACPnjD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,WAAUrB,SAAA,EACxBS,EAAAA,GAAAA,KAAA,OACCY,UAAW,cAAa+iD,EAAU,UAAY,IAAKpkD,SACjC,QADiCglD,EAClD5b,EAAO4a,UAAU,IAAAgB,OAAA,EAAjBA,EAAmB5tD,WAErBqJ,EAAAA,GAAAA,KAAA,OACC+c,aAAcA,IAAM6mC,GAAW,GAC/B5mC,aAAcA,IAAM4mC,GAAW,GAAOrkD,UACtCS,EAAAA,GAAAA,KAAA,OACCY,UAAU,aACVF,IAAKojD,GACLjjD,IAAI,2BAMTb,EAAAA,GAAAA,KAAA,SACCY,UAAU,aACViB,KAAK,OACL+5B,SAAUA,EACV7uC,MAAO6uC,EAAW,EAAI8oB,KAClBlB,EAASD,MAEI,IAAjBiB,IACAxkD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAAEjK,QAE9B,EChCR,GAhBiBnD,IAAmD,IAAlD,MAAEkF,EAAK,UAAEksD,EAAS,QAAEoB,GAAwBxyD,EAC7D,MAAM,SAAEqxD,IAAaE,EAAAA,GAAAA,MAErB,OACCtjD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,SACCY,UAAU,WACViB,KAAK,WACLC,QAAS6iD,KACLnB,EAASD,MAEdvjD,EAAAA,GAAAA,KAAA,SAAO6jD,QAAQ,QAAOtkD,SAAElI,MACnB,EChBD,SAASutD,GAAOzyD,GAGc,IAHb,UACvByO,KACG26C,GAC8BppD,EACjC,OAAO6N,EAAAA,GAAAA,KAAA,QAAMY,WAAWg2C,EAAAA,GAAAA,GAAK,cAAgB2E,GAC9C,CAMO,SAASsJ,GAAW5jD,GAAmC,IAAlC,QAAEtK,GAA6BsK,EAC1D,OACCjB,EAAAA,GAAAA,KAAC+tC,GAAI,CAACuN,uBAAqB,EAAA/7C,UAC1Ba,EAAAA,GAAAA,MAAC2tC,GAAK8N,QAAO,CAACj7C,UAAU,oBAAmBrB,SAAA,EAC1CS,EAAAA,GAAAA,KAAC4kD,GAAO,SACKxxD,IAAZuD,EAAwB,KAA0B,kBAAZA,GACtCqJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAAE5I,IAElCA,MAKL,CAEO,SAASmuD,GAAar0B,GAAmC,IAAlC,QAAE95B,GAA6B85B,EAC5D,OACCzwB,EAAAA,GAAAA,KAACq7C,GAAM,CAAA97C,UACNS,EAAAA,GAAAA,KAAC6kD,GAAW,CAACluD,QAASA,KAGzB,CClCA,MAAMouD,GAAW,CAChBC,MAAO,SACPC,MAAO,uBACP9gC,QAAS,yBAET+gC,QAAS,yBACTC,UAAW,4BAOChxC,IAASixC,EAAAA,EAAAA,aAA2C,SAAAjzD,EAEhEogB,GACE,IAFF,UAAE3R,EAAS,QAAEwT,KAAYmnC,GAAMppD,EAG/B,OACC6N,EAAAA,GAAAA,KAAA,UACCY,WAAWg2C,EAAAA,GAAAA,GAAKmO,GAAS3wC,GAAUxT,MAC/B26C,EACJhpC,IAAKA,GAGR,ICtBO,IAAKnpB,GAAa,SAAbA,GAAa,OAAbA,EAAa,gBAAbA,EAAa,kBAAbA,EAAa,oBAAbA,EAAa,cAAbA,EAAa,sBAAbA,CAAa,MAQbC,GAAiB,SAAjBA,GAAiB,OAAjBA,EAAiB,gBAAjBA,EAAiB,cAAjBA,EAAiB,0BAAjBA,CAAiB,MAMjBJ,GAAc,SAAdA,GAAc,OAAdA,EAAc,sBAAdA,EAAc,oBAAdA,EAAc,4BAAdA,EAAc,wBAAdA,EAAc,kBAAdA,EAAc,sBAAdA,EAAc,kBAAdA,EAAc,sBAAdA,EAAc,cAAdA,CAAc,MA+BnB2M,eAAeyvD,GAActN,GACnC,OAAO3zC,GACLkJ,KACA,GAAG1kB,EAAAA,EAAUoe,yCACb+wC,QACMp0C,MAEN0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,C,0BC7DO,MAAMs4C,GAA+BC,GAC3CC,GAAAA,EACEC,SACAC,QACC34D,QACcqG,IAAVrG,MACCA,EAAMy5C,OAAO1uC,OAAS,GAAKytD,IAQjC,CAAE5uD,QAAS,mBAEX+uD,QACC34D,IACA,GAAIA,EAAMy5C,OAAO1uC,OAAS,GAAKytD,EAAM,CACpC,MAAM5D,EAASznD,OAAOnN,GACtB,OAAKkN,MAAM0nD,EAKZ,IAED,CAAEhrD,QAAS,iBAEX+uD,QACC34D,IACA,GAAIA,EAAMy5C,OAAO1uC,QAAU,EAAG,CAE7B,OADeoC,OAAOnN,IACL,CAClB,IAED,CAAE4J,QAAS,0BAEX+8B,WAAW3mC,GACPw4D,EACI,EAEDrrD,OAAOnN,KAGJ44D,GAAiBH,GAAAA,EAC5BC,SACAv4D,IAAI,EAAG,CAAEyJ,QAAS,mBAClB+uD,QACC34D,IACA,GAAIA,EAAMy5C,OAAO1uC,QAAU,EAAG,CAC7B,MAAM6pD,EAASznD,OAAOnN,GACtB,OAAKkN,MAAM0nD,EAKZ,IAED,CAAEhrD,QAAS,iBAEX+uD,QACC34D,IACA,GAAIA,EAAMy5C,OAAO1uC,QAAU,EAAG,CAE7B,OADeoC,OAAOnN,IACL,CAClB,IAED,CAAE4J,QAAS,0BAEX+8B,WAAW3mC,GAAUmN,OAAOnN,KC4M9B,GAjP0BoF,IAAsC,IAArC,aAAEyzD,GAA6BzzD,EACzD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KACR6e,GAAWkwC,EAAAA,GAAAA,OACVC,EAAWC,IAAgBvmD,EAAAA,EAAAA,WAAS,IACpCwmD,EAAoBC,IAAyBzmD,EAAAA,EAAAA,WAAS,IACtD0mD,EAAsBC,IAA2B3mD,EAAAA,EAAAA,WAAS,IAC1D4mD,EAAmBC,IAAwB7mD,EAAAA,EAAAA,WAAS,IACrD,aAAE6O,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAE9B,SAAE27B,IAAa8C,EAAAA,GAAAA,MAEfC,GAAwBzM,EAAAA,GAAAA,GAAYuL,GAAe,CAAC,GAcpDmB,EAAShB,GAAAA,EAAEiB,OAAO,CACvB72D,cAAe41D,GAAAA,EAAEkB,WAAWt9D,IAC5Bu9D,oBAAqBnB,GAAAA,EAAEoB,OAAOjF,SAASkF,QAAQ,GAC/ClsB,eAAgB6qB,GAAAA,EAAEkB,WAAWz9D,IAC7B69D,iBAAkBtB,GAAAA,EAAEkB,WAAWr9D,IAC/B09D,iBAAkBpB,GAClBqB,mBAAoB1B,GAA4BU,GAChDiB,qBAAsB3B,GAA4BU,GAClDkB,YAAa5B,GAA4BY,GACzCiB,WAAY3B,GAAAA,EAAE4B,UACdC,aAAcjB,EACXZ,GAAAA,EAAEoB,OAAOjF,SAASkF,QAAQ,GAC1BvB,GAA4Bc,GAC/BkB,kBAAmBlB,EAChBZ,GAAAA,EAAEoB,OAAOjF,SAASkF,QAAQ,GAC1BvB,GAA4Bc,KAG1BmB,GAAUjB,EAAAA,GAAAA,IAAiC,CAChDkB,UAAUC,EAAAA,GAAAA,GAAYjB,KA0BvB,GAAID,EAAsBjjC,UACzB,OAAOtjB,EAAAA,GAAAA,KAAC8kD,GAAa,CAACnuD,QAASE,EAAE,8BAElC,GACC0vD,EAAsBnM,SACrBmM,EAAsBmB,WACkB,aAAxCnB,EAAsB/vD,KAAKmxD,SAC3B,CACD,MAAMC,EAAerB,EAAsBnM,QACxC/B,GAAgBkO,EAAsBnwD,OACtC,CACAue,SAAU9d,EAAE,IACZgxD,cAAehxD,EAAE,kCACjBixD,SAAUjxD,EAAE,2BACZkxD,QAASlxD,EAAE,4BACXJ,MAAOI,EAAE,KACP0vD,EAAsB/vD,KAAKmxD,UAEhC,OACC3nD,EAAAA,GAAAA,KAACq7C,GAAM,CAAA97C,UACNa,EAAAA,GAAAA,MAAC2tC,GAAI,CAACuN,uBAAqB,EAAA/7C,SAAA,EAC1BS,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZS,EAAAA,GAAAA,KAACw7C,GAAO,CAAC35C,KAAK,OAAOlL,QAASixD,OAE/B5nD,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,UACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,UACRtS,QAASA,KACR6T,EAAS,EAAE,EACVpW,SACD1I,EAAE,qCAMT,CAEA,OAAI0vD,EAAsBmB,WAExB1nD,EAAAA,GAAAA,KAACq7C,GAAM,CAAA97C,UACNa,EAAAA,GAAAA,MAAC2tC,GAAI,CAACuN,uBAAqB,EAAA/7C,SAAA,EAC1BS,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZS,EAAAA,GAAAA,KAACw7C,GAAO,CACP35C,KAAK,UACLlL,QAASE,EAAE,iCAGbmJ,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,UACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,UACRtS,QAASA,KACR6T,EAAS,EAAE,EACVpW,SACD1I,EAAE,uCASRmJ,EAAAA,GAAAA,KAACq7C,GAAM,CAAA97C,UACNa,EAAAA,GAAAA,MAAC2tC,GAAI,CAAAxuC,SAAA,EACJS,EAAAA,GAAAA,KAAC+tC,GAAKj6B,OAAM,CAAAvU,SAAE1I,EAAE,6BAChBmJ,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,aAAYrB,SAAA,EAC1BS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,mBACPuJ,EAAAA,GAAAA,MAAA,MAAAb,SAAA,CACEqmD,EAAa,IAAEtwD,WAGlB0K,EAAAA,GAAAA,KAACgoD,GAAAA,GAAY,IAAKT,EAAOhoD,UACxBa,EAAAA,GAAAA,MAAA,QAAMm/B,SAAUgoB,EAAQU,cAlGbryD,UAChB,MAAMsyD,EAAW,IACb1xD,EACHwwD,mBAAoBhB,EACjB,EACAxvD,EAAKwwD,mBACRC,qBAAsBjB,EACnB,EACAxvD,EAAKywD,qBACRC,YAAahB,EAAuB,EAAI1vD,EAAK0wD,YAC7CG,aAAcjB,EAAoB,EAAI5vD,EAAK6wD,aAC3CC,kBAAmBlB,EAAoB,EAAI5vD,EAAK8wD,mBAGjDf,EAAsBlM,OAAO,IACzB6N,EACHtC,aAAcA,EACd92C,IAAKypC,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAcD,YAC1B0K,MAAOy/B,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,OAC5BqvC,aAAc5P,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,mBACnC5xB,QAASyuC,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,aAC7B,IA6EkDz1B,SAAA,EAC9CS,EAAAA,GAAAA,KAACjJ,GAAQ,CACRM,MAAOR,EAAE,iBACTrC,QAASxD,OAAOwuC,OAAOp2C,IAAe+N,KACpCixD,IAAC,CACD/wD,MAAOR,EAAEuxD,GACTr7D,MAAOq7D,MAGT7E,UAAU,mBAEXvjD,EAAAA,GAAAA,KAACqoD,GAAQ,CACRhxD,MAAOR,EAAE,uBACT0sD,UAAU,yBAEXvjD,EAAAA,GAAAA,KAACjJ,GAAQ,CACRM,MAAOR,EAAE,kBACTrC,QAASxD,OAAOwuC,OAAOv2C,IAAgBkO,KACrCixD,IAAC,CACD/wD,MAAOR,EAAEuxD,GACTr7D,MAAOq7D,MAGT7E,UAAU,oBAEXvjD,EAAAA,GAAAA,KAACsoD,GAAS,CACTjxD,MAAOR,EAAE,oBACT0sD,UAAU,mBACViB,cAAY,KAEbxkD,EAAAA,GAAAA,KAACjJ,GAAQ,CACRM,MAAOR,EAAE,oBACTrC,QAASxD,OAAOwuC,OACfn2C,IACC8N,KAAKixD,IAAC,CACP/wD,MAAOR,EAAEuxD,GACTr7D,MAAOq7D,MAER7E,UAAU,mBACV94B,SA1KPxN,IAEA,MAAMsrC,EAAgBtrC,EAAM7K,OAAOrlB,MACnCo5D,EAAwBoC,IAAkBl/D,GAAkB8G,QAC5D81D,EAAsBsC,IAAkBl/D,GAAkBiH,MAAM,KAwK1D0P,EAAAA,GAAAA,KAACsoD,GAAS,CACTjxD,MAAOR,EAAE,sBACT0sD,UAAU,qBACV3nB,SAAUoqB,EACVxB,cAAY,KAEbxkD,EAAAA,GAAAA,KAACsoD,GAAS,CACTjxD,MAAOR,EAAE,wBACT0sD,UAAU,uBACV3nB,SAAUoqB,EACVxB,cAAY,KAEbxkD,EAAAA,GAAAA,KAACsoD,GAAS,CACTjxD,MAAOR,EAAE,eACT0sD,UAAU,cACV3nB,SAAUsqB,EACV1B,cAAY,KAEbxkD,EAAAA,GAAAA,KAACwoD,GAAQ,CACRnxD,MAAOR,EAAE,WACT0sD,UAAU,aACVoB,QA3LqB8D,KAC5B1C,GAAc2C,IAAeA,IAC7BrC,GAAsBD,EAAkB,IA2LjCN,IACA1lD,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAACsoD,GAAS,CACTjxD,MAAOR,EAAE,gBACT0sD,UAAU,kBACNC,EAAS,gBACb5nB,SAAUwqB,EACV5B,cAAY,KAEbxkD,EAAAA,GAAAA,KAACsoD,GAAS,CACTjxD,MAAOR,EAAE,qBACT0sD,UAAU,uBACNC,EAAS,qBACb5nB,SAAUwqB,EACV5B,cAAY,QAIfxkD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,UAChCS,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAS7U,SACvB1I,EAAE,+CAQF,EC1PI,SAAS8xD,KACvB,MAAMhzC,GAAWkwC,EAAAA,GAAAA,OACV+C,EAAkBC,IAAuBrpD,EAAAA,EAAAA,WAAS,IACnD,aAAEmoB,EAAY,aAAEtZ,EAAY,gBAAEwb,IACnC1pB,EAAAA,EAAAA,YAAW0nB,IACNihC,EAAcrH,GAAe,CAClCH,UAAW,IACXC,UAAW,KACXzoB,KAAM,IACN4oB,cAAgB/5B,EAAgCkoB,eAE3C,EAAEh5C,IAAMC,EAAAA,EAAAA,KACRiyD,GAAwBjP,EAAAA,GAAAA,GAAY,CACzCC,WAAYsI,KAEPxrB,EACLiyB,EAAYnH,OAASmH,EAAYpH,cAAgB,WAAa,WAgB/D,GAAIqH,EAAsBzlC,UACzB,OAAOtjB,EAAAA,GAAAA,KAAC8kD,GAAa,CAACnuD,QAASE,EAAE,8BAGlC,GACCkyD,EAAsB3O,SACrB2O,EAAsBrB,WACkB,aAAxCqB,EAAsBvyD,KAAKmxD,SAC3B,CACD,MAAMC,EAAemB,EAAsB3O,QACxC/B,GAAgB0Q,EAAsB3yD,OACtC,CACAue,SAAU9d,EAAE,IACZgxD,cAAehxD,EAAE,kCACjBixD,SAAUjxD,EAAE,2BACZkxD,QAASlxD,EAAE,4BACXJ,MAAOI,EAAE,KACPkyD,EAAsBvyD,KAAKmxD,UAEhC,OACC3nD,EAAAA,GAAAA,KAACq7C,GAAM,CAAA97C,UACNa,EAAAA,GAAAA,MAAC2tC,GAAI,CAACuN,uBAAqB,EAAA/7C,SAAA,EAC1BS,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZS,EAAAA,GAAAA,KAACw7C,GAAO,CAAC35C,KAAK,OAAOlL,QAASixD,OAE/B5nD,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,UACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,UACRtS,QAASA,KACR6T,EAAS,EAAE,EACVpW,SACD1I,EAAE,qCAMT,CAEA,OAAIkyD,EAAsBrB,WAExB1nD,EAAAA,GAAAA,KAACq7C,GAAM,CAAA97C,UACNa,EAAAA,GAAAA,MAAC2tC,GAAI,CAACuN,uBAAqB,EAAA/7C,SAAA,EAC1BS,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZS,EAAAA,GAAAA,KAACw7C,GAAO,CACP35C,KAAK,UACLlL,QAASE,EAAE,iCAGbmJ,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,UACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,UACRtS,QAASA,KACR+nB,EAAgBC,GAAU,GAAGjG,MAAM,GAAG,EACrCtkB,SACD1I,EAAE,sCAQL+xD,GACI5oD,EAAAA,GAAAA,KAACgpD,GAAiB,CAACpD,aAAckD,EAAYnH,UAGpD3hD,EAAAA,GAAAA,KAACq7C,GAAM,CAACz6C,UAAU,uBAAsBrB,UACvCa,EAAAA,GAAAA,MAAC2tC,GAAI,CAAAxuC,SAAA,EACJS,EAAAA,GAAAA,KAAC+tC,GAAKj6B,OAAM,CAAAvU,SAAE1I,EAAE,6BAChBuJ,EAAAA,GAAAA,MAAC2tC,GAAK8N,QAAO,CAAAt8C,SAAA,EACZS,EAAAA,GAAAA,KAAA,WAAAT,UACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,oCACTmJ,EAAAA,GAAAA,KAAA,QAAAT,SACE,GACCooB,EAAgCkoB,eAC9Bv6C,cAKP8K,EAAAA,GAAAA,MAACgiD,GAAW,CAAA7iD,SAAA,EACXS,EAAAA,GAAAA,KAACoiD,GAAYW,WAAU,CAAAxjD,SACrB1I,EAAE,oCAEJmJ,EAAAA,GAAAA,KAACoiD,GAAYE,MAAK,IAAKwG,KACvB9oD,EAAAA,GAAAA,KAACoiD,GAAYY,OAAM,IAAK8F,KACxB9oD,EAAAA,GAAAA,KAACoiD,GAAYkB,YAAW,CACvB1oC,KAAM,GAAGtlB,OAAiBwzD,EAAYxH,YACtCzmC,MAAO,GAAGvlB,OAAiBwzD,EAAYvH,kBAIzCvhD,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,UACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,YACRwnB,SACCktB,EAAYnH,SAAWmH,EAAYpH,cAEpC5/C,QAlHN,WACgB,aAAX+0B,EACHgyB,GAAoB,GACC,aAAXhyB,GACVkyB,EAAsB1O,OAAO,CAC5BuL,aAAckD,EAAYnH,OAC1B7yC,IAAKypC,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAcD,YAC1B0K,MAAOy/B,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAcyK,OAC5BqvC,aAAc5P,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAcqtB,mBACnC5xB,QAASyuC,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,aAGjC,EAsG4Bz1B,SAEnB1I,EADS,aAAXggC,EACI,2BACA,wCAOZ,CChKA,MAsCA,GAtCqBoyB,KACpB,MAAM,EAAEpyD,IAAMC,EAAAA,EAAAA,MACR,cAAEoyD,EAAa,aAAEvhC,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,IAEnD,OACC7nB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mCAAkCrB,SAAA,EAChDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iCAAgCrB,UAC9CS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,kBAGP,eADAqyD,EAAcvhC,EAAc4sB,WAAWztC,UAEvC1G,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CACE1I,EAAE,iCACHmJ,EAAAA,GAAAA,KAAA,KACC5E,KAAK,yCACLgX,OAAO,SACPoS,IAAI,sBAAqBjlB,SACxB1I,EAAE,uBAKL,mBADAqyD,EAAcvhC,EAAc4sB,WAAWztC,UAEvC1G,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CACE1I,EAAE,iCACHmJ,EAAAA,GAAAA,KAAA,KACC5E,KAAK,yCACLgX,OAAO,SACPoS,IAAI,sBAAqBjlB,SACxB1I,EAAE,2BAKF,ECiER,GApGyB1E,IAAqC,IAApC,YAAEg3D,EAAW,SAAEC,GAAej3D,EACvD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACPuyD,EAAiBC,IAAsB9pD,EAAAA,EAAAA,aACvC+pD,EAAeC,IAAoBhqD,EAAAA,EAAAA,YAyB1C,OAFA+P,EAAAA,EAAAA,YAAU,QAAU,CAAC85C,KAGpBjpD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3CS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BACNuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAmB1F,MAAO,CAAEmpB,MAAO,QAAS9kB,SAAA,EAC1DS,EAAAA,GAAAA,KAAA,SACC6B,KAAM,OACN4nD,QAAUvyD,IACTA,EAAEwyD,gBAAgB,EAEnBC,OAASzyD,IACRA,EAAEwyD,gBAAgB,EAEnBE,YAAc1yD,IACbA,EAAEwyD,gBAAgB,EAEnB9oD,UAAU,0BAEVq8B,YAAwB,OAAXksB,QAAW,IAAXA,OAAW,EAAXA,EAAaU,aAC1BjuB,UAAQ,KAET57B,EAAAA,GAAAA,KAAA,UACCY,UAAU,+BACVkB,QA7CoBgoD,KAEtBX,IACW,OAAXA,QAAW,IAAXA,OAAW,EAAXA,EAAaY,qBAAgC,OAAXZ,QAAW,IAAXA,OAAW,EAAXA,EAAaa,YAE/Ch1D,UAAUi1D,UAAUC,WAAqB,OAAXf,QAAW,IAAXA,OAAW,EAAXA,EAAaU,eAAgB,IAAIx9C,MAC9D,WACCi9C,GAAmB,GACnBpzD,YAAW,KACVozD,GAAmB,EAAM,GACvB,IACJ,IACA,SAAUt8C,GACT3W,QAAQD,MAAM,wBAAyB4W,EACxC,IAGDw8C,GAAiB,EAClB,EA4BG5tB,WAAsB,OAAXutB,QAAW,IAAXA,GAAAA,EAAalmB,UAAS1jC,SAChC1I,EAAE,+BAGJwyD,IACArpD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sCAAqCrB,SAClD1I,EAAE,0BAGJ0yD,IACAvpD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAAmCrB,SAChD1I,EAAE,gBAkCA,EC3ER,GApBuB1E,IAA+C,IAA9C,kBAAEg4D,EAAiB,aAAEC,GAAmBj4D,EAC/D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,OACCkJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2DAA0DrB,UAExES,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,gCACVkB,QAASqoD,EAAkB5qD,SAC1B6qD,GACApqD,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,mBAERjO,EAAE,iCAGC,ECER,SAjBAjB,eAAwCkU,GACvC,MAAM,KAAEtT,SAAeoV,GAAM0B,KAC5B,GAAG1kB,EAAAA,EAAUoe,8CACb,CAAE8C,QAASA,SACLnG,MAEL0I,MAAMooC,GACCA,IAEP1nC,OAAOC,IAGP,MAFA3W,QAAQ4W,IAAID,GACZ3J,GAAS2J,GACH,IAAIvW,MAAMuW,EAAI,IAEtB,OAAOxW,CACR,ECAA,SAhBAZ,eAAqCkU,GACpC,MAAM,KAAEtT,SAAeoV,GAAMQ,IAC5B,GAAGxjB,EAAAA,EAAUoe,6DAA6D8C,UACpEnG,MAEL0I,MAAMooC,GACCA,IAEP1nC,OAAOC,IACP3W,QAAQ4W,IAAID,EAAIzW,UAChB8M,GAAS2J,GACFA,EAAIzW,YAEb,OAAOC,CACR,ECEA,SAhBAZ,eAA4C/M,GAC3C,MAAM,KAAE2N,SAAeoV,GAAMQ,IAC5B,GAAGxjB,EAAAA,EAAUoe,wDAAwDne,UAC/D8a,MAEL0I,MAAMooC,GACCA,IAEP1nC,OAAOC,IACP3W,QAAQ4W,IAAID,EAAIzW,UAChB8M,GAAS2J,GACFA,EAAIzW,YAEb,OAAOC,CACR,ECyJA,GAlJqB6zD,KACpB,MAAM,EAAExzD,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC7BshC,EAAamB,IAAkB9qD,EAAAA,EAAAA,aAC/B+qD,EAAoBC,IAAyBhrD,EAAAA,EAAAA,aAC7C4pD,EAAUqB,IAAejrD,EAAAA,EAAAA,UAAS,IAClCwc,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzC4qD,EAAcM,IAAmBlrD,EAAAA,EAAAA,WAAkB,GACpDjF,GAAWy1C,EAAAA,GAAAA,MACXr6B,GAAWkwC,EAAAA,GAAAA,MAiDX8E,GAAgBn5C,EAAAA,EAAAA,cAAY,KACjC,GAAI23C,EAAa,CAChB,MAAMyB,EAAqB,OAAXzB,QAAW,IAAXA,OAAW,EAAXA,EAAa0B,QACvBC,EAAS,MACTC,EAAiB,IAAIn0C,KACrBo0C,EAAkB,IAAIp0C,KAAKg0C,GAAW,IACtCK,EAAW3mB,KAAK6e,MACrB7e,KAAK4mB,KAAKH,EAAYC,GAAcF,IAErCL,EAAYQ,EACb,IACE,CAAC9B,IAqBJ,OAnBA55C,EAAAA,EAAAA,YACC,KACKlB,IAhDiBzY,WACtBqmB,GAAW,SACLkvC,IAAkC,OAAZ98C,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAAWh7B,aAAc,IACjEqS,MAAM++C,IACmB,OAAb,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAU10D,QACb4zD,EAAec,GAEf/0D,QAAQ4W,IAAY,OAARm+C,QAAQ,IAARA,OAAQ,EAARA,EAAUC,QACvB,IAEAt+C,OAAOC,IACP3W,QAAQ4W,IAAID,EAAI,IAEhBqoB,SAAQ,IAAMpZ,GAAW,IAAO,EAoChCqvC,GAjC2B11D,WAE7BqmB,GAAW,SACLsvC,IACO,OAAZl9C,QAAY,IAAZA,OAAY,EAAZA,EAAcxlB,QAAQmR,aAAc,IAEnCqS,MAAM9V,IACmB,OAAb,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUG,SACb8zD,EAAsBj0D,EACvB,IAEAwW,OAAOC,IACP3W,QAAQ4W,IAAID,EAAI,IAEhBqoB,SAAQ,IAAMpZ,GAAW,IAAO,EAoBhCuvC,GACIjxD,EAASggB,WAAa3E,IACzBD,EAAS,KAEX,GAED,CAACtH,KAGFkB,EAAAA,EAAAA,YAAU,KACL45C,GACHwB,GACD,GACE,CAACxB,EAAawB,KAGhB3qD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sCAAqCrB,UACnDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAOvc,EAAE,mBAClBmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,+BAA8BrB,SAC3Cyc,GACAhc,EAAAA,GAAAA,KAAA,OAAKY,UAAU,4BAA2BrB,UACzCS,EAAAA,GAAAA,KAAC0R,GAAa,OAGftR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,8BAA6BrB,UAC3CS,EAAAA,GAAAA,KAAA,OACCY,UAAU,oCACV2/B,wBAAyB,CACxBC,OAA0B,OAAlB+pB,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBkB,mBAG/BrrD,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,4BAA2BrB,SAAA,CAC7B,OAAX4pD,QAAW,IAAXA,GAAAA,EAAalmB,UACbjjC,EAAAA,GAAAA,KAAC0rD,GAAgB,CAChBvC,YAAaA,EACbC,SAAUA,KAGXppD,EAAAA,GAAAA,KAAC2rD,GAAc,CACdxB,kBAzGiBv0D,UACzB80D,GAAgB,SACVkB,IACO,OAAZv9C,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAAWh7B,aAAc,IAEtCqS,MAAM++C,IACNd,EAAec,EAAS,IAExBr+C,OAAOC,IACP3W,QAAQ4W,IAAID,EAAI,IAEhBqoB,SAAQ,IAAMq1B,GAAgB,IAAO,EA+F/BN,aAAcA,KAGhBpqD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,UAC9BS,EAAAA,GAAAA,KAAA,KACC5E,KAAwB,OAAlBmvD,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBsB,aAC1Bz5C,OAAO,SACPoS,IAAI,sBAAqBjlB,SACxB1I,EAAE,iCAINmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,8BAA6BrB,UAC3CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAAmCrB,UACjDS,EAAAA,GAAAA,KAAA,OACCY,UAAU,4CACV2/B,wBAAyB,CACxBC,OAA0B,OAAlB+pB,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBjqB,mCAQ/B,EChJR,SAjBA1qC,eAAyCk2D,EAAiCj1D,GAcvE,aAbuB+U,GAAM0B,KAC5B,GAAG1kB,EAAAA,EAAUoe,+DACb8kD,QACMnoD,MACL0I,MAAM7V,IACP,GAAoB,MAAhBA,EAAKE,OACR,OAAOF,EAER,MAAM,IAAIC,MAAMI,EAAE,YAAY,IAC5BkW,OAAOC,IAET,MADA3J,GAAS2J,GACH,IAAIvW,MAAMI,EAAE,YAAY,GAGjC,ECgGD,GApG2Bk1D,KAC1B,MAAM,EAAEl1D,IAAMC,EAAAA,EAAAA,MAER,aAAEuX,EAAY,aAAEsZ,EAAY,QAAEkN,EAAO,WAAEC,IAC5C30B,EAAAA,EAAAA,YAAW0nB,KACLzxB,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnBwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,GACjC6wC,EAAiB1oB,EAEjB+W,EAAad,GAClBvpB,GAAamnB,uBACb,CACCjC,SAAU,WACVoF,UAAW,WACX1mC,OAAQzE,IACRgyB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,SAErBwX,GAoBD,MAAM28B,EAASp1C,UACd,IAlBD,SAAuB2M,GAItB,MAFC,iFAEOxN,KAAKwN,EAAKypD,UACbzpD,EAAKypD,WAAazpD,EAAK0pD,gBAC1B/vC,OAAS9oB,IACF,IAEP8oB,EAAS,IAAIzlB,MAAMI,EAAE,qBACd,IAGTqlB,EAAS,IAAIzlB,MAAMI,EAAE,yBACd,EACR,CAGMq1D,CAAc3pD,GAAO,OAE1B,IAAIupD,EACAz9C,IACHy9C,EAAiB,CAChB92B,WAAY3mB,EAAa2mB,WACzB2rB,gBAAiBwL,SAAS9b,EAAesQ,iBACzCyL,aAAc,GACd/0D,MAAO,UACP20D,SAAUzpD,EAAKypD,SACfK,QAASh+C,EAAaqtB,kBAAkB1b,WAAW,IAAK,IACxDtpB,OAAQ,KAIV,IACCulB,GAAW,SACLqwC,GAA0BR,EAAiBj1D,GACjDi+B,EAAW,IAAKD,EAAS03B,aAAa,IACtCtwC,GAAW,EACZ,CAAE,MAAO/kB,GACR+kB,GAAW,GACXC,EAAS/lB,GAAwBe,GAClC,GAGD,OACC8I,EAAAA,GAAAA,KAAA,OAAKY,UAAU,+DAA8DrB,UAC5Ea,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,CAC/Byc,IAAWhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,mBACnB+vB,EAAQ03B,cACRvsD,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAM,qBACNqc,YAAY,mCAGZoF,EAAQ03B,cAAgBvwC,IACzB5b,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACm2B,GAAO,CACP/iB,MAAM,mBACNqc,YAAY,4BAEbzvB,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYA,EACZU,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GAAWwL,EAAOxL,QAI/BppC,IAAU4lB,IAAY6Y,EAAQ03B,cAC9BvsD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SAAEnJ,EAAMO,cAG/B,EClDD,MAAM2rD,GAAQ,CACpB/hD,UAzDM,SAAuBpO,GAGM,IAHL,UAC9ByO,KACG26C,GAC6BppD,EAChC,OAAO6N,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,kBAAmBh2C,MAAgB26C,GAChE,EAqDCiR,MAnDM,SAAmBvrD,GAGiB,IAHhB,UAC1BL,KACG26C,GACoCt6C,EACvC,OAAOjB,EAAAA,GAAAA,KAAA,SAAOY,WAAWg2C,EAAAA,GAAAA,GAAK,kBAAoB2E,GACnD,EA+CCkR,OA7CyBrH,EAAAA,EAAAA,aAGxB,SAAA30B,EAA4Cle,GAAM,IAAxC,SAAEhT,EAAQ,UAAEqB,KAAc26C,GAAM9qB,EAK3C,OACCrwB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,wBAAuBrB,SAAA,EACrCS,EAAAA,GAAAA,KAAA,SACCY,WAAWg2C,EAAAA,GAAAA,GAAK,cAAeh2C,MAC3B26C,EACJhpC,IAAKA,EACLm6C,QAVkBzvC,IACpBA,EAAM0vC,cAAcC,MAAM,IAWxBrtD,IAGJ,IA2BCstD,WAXM,SAAwBrrD,GAGM,IAHL,UAC/BZ,KACG26C,GAC8B/5C,EACjC,OAAOxB,EAAAA,GAAAA,KAAA,QAAMY,WAAWg2C,EAAAA,GAAAA,GAAK,cAAeh2C,MAAgB26C,GAC7D,EAOCuR,YA1BM,SAAyB1rD,GAGK,IAHJ,UAChCR,KACG26C,GAC8Bn6C,EACjC,OAAOpB,EAAAA,GAAAA,KAAA,QAAMY,WAAWg2C,EAAAA,GAAAA,GAAK,oBAAqBh2C,MAAgB26C,GACnE,EAsBC9kD,MApBM,SAAmB6K,GAGW,IAHV,UAC1BV,KACG26C,GAC8Bj6C,EACjC,OAAOtB,EAAAA,GAAAA,KAAA,QAAMY,WAAWg2C,EAAAA,GAAAA,GAAK,cAAeh2C,MAAgB26C,GAC7D,GCrCMwR,GACa,SAGJ,SAASC,KAAgB,IAADC,EAAAC,EACtC,MAAM,EAAEr2D,IAAMC,EAAAA,EAAAA,MACPq2D,EAAcC,IAAmB5tD,EAAAA,EAAAA,WAAS,IAC1CiU,EAAMwP,IAAWzjB,EAAAA,EAAAA,WAAS,IAC3B,aAAE6O,EAAY,aAAEsZ,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,IAC5CihC,EAAcrH,GAAe,CAClCH,UAAW,EACXC,UAAWrnD,OAAmB,OAAZytB,QAAY,IAAZA,OAAY,EAAZA,EAAc9F,SAChCiX,KAAMuoB,GAAgB,EAAGnnD,OAAmB,OAAZytB,QAAY,IAAZA,OAAY,EAAZA,EAAc9F,UAC9C6/B,cAAe,IAEVxhD,EAAWpL,IAEXu4D,GAAclP,EAAAA,GAAAA,GAAS,CAC5BC,QAASA,ICpBJxoD,eAAgCo/B,GACtC,OAAOppB,GAAMQ,IACZ,GAAGxjB,EAAAA,EAAUoe,0CAA0CguB,UACjDrxB,MAEL0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CDUiBsgD,CAAiB/U,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,aACrD8tB,OAASyK,GACRA,EAAOp8D,QACLq8D,GAAUA,EAAMT,YAAcA,OAG5BU,GAA2B3T,EAAAA,GAAAA,GAAY,CAC5CC,WAAYA,IExBPnkD,eACN0F,GAEA,aAAasQ,GAAM0B,KAClB,GAAG1kB,EAAAA,EAAUoe,oDACb1L,QACMqI,MAEL0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CFYG0gD,CAAwB,CACvB5jD,QAAqB,OAAZuE,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WACvBnoB,UAAuB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,UACzB+vB,SAAsB,OAAZvuB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,SACxBxuB,WAAwB,OAAZC,QAAY,IAAZA,OAAY,EAAZA,EAAcD,WAC1B+Y,mBAAgC,OAAZQ,QAAY,IAAZA,OAAY,EAAZA,EAAcR,mBAClClC,OAAQ6jC,EAAYnH,OACpBgM,qBAAkC,OAAZC,QAAY,IAAZA,OAAY,EAAZA,EAAcxtC,KACpCytC,oBAAiC,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAc1Y,IACnC/0B,IAAiB,OAAZwH,QAAY,IAAZA,OAAY,EAAZA,EAAcI,cACnB+lC,uBAAoC,OAAZF,QAAY,IAAZA,OAAY,EAAZA,EAAc9yD,KACtCnE,QAAS,+BAA+B,IAAIigB,QAC5Cu2C,oBAIIryD,EAAMizD,IAAWvuD,EAAAA,EAAAA,YAClBouD,EAA+B,QAAnBX,EAAGI,EAAY72D,YAAI,IAAAy2D,OAAA,EAAhBA,EAAkBh2D,MACrCs2D,GAAWA,EAAOzyD,OAASA,IAe7B,OAZAyU,EAAAA,EAAAA,YAAU,KAAO,IAADy+C,EACfD,EAAwB,QAAjBC,EAACX,EAAY72D,YAAI,IAAAw3D,OAAA,EAAhBA,EAAmB,GAAGlzD,KAAK,GACjC,CAACuyD,EAAY72D,OAUZi3D,EAAyBnqC,WAIzB+pC,EAAY/pC,WAHRtjB,EAAAA,GAAAA,KAAC8kD,GAAa,IAOlB2I,EAAyB/F,WACrB1nD,EAAAA,GAAAA,KAACc,GAAO,CAACC,IAAI,UAAUpK,QAASE,EAAE,uBAGtC42D,EAAyBrT,SAE3Bp6C,EAAAA,GAAAA,KAACc,GAAO,CACPC,IAAI,OACJpK,SACCyJ,EAAAA,GAAAA,MAAA,QAAAb,SAAA,CAAM,sGAEqC,KAC1CS,EAAAA,GAAAA,KAAA,KAAG5E,KAAK,kFAAiFmE,SAAC,wBAErF,IAAI,iMAYba,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gBAAerB,SAAA,EAC7Ba,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uBAAsBrB,SAAA,EACpCS,EAAAA,GAAAA,KAACm2B,GAAO,CAAC/iB,MAAOvc,EAAE,sBAElBuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,QAAOrB,SAAA,EACrBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,EAC9BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxB1I,EAAE,wBAGJuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SACrB1I,EAAE,uBAEJmJ,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,UACtBS,EAAAA,GAAAA,KAAA,UACCY,UAAU,cACV7T,MAAO+N,EACP2vB,SAAUt4B,IAAA,IAAC,OAAEigB,GAAQjgB,EAAA,OACpB47D,EAAQ37C,EAAOrlB,MAAM,EACrBwS,SACgB,QADhB2tD,EACAG,EAAY72D,YAAI,IAAA02D,OAAA,EAAhBA,EAAkB/1D,KAAK4B,IACvBiH,EAAAA,GAAAA,KAAA,UAECjT,MAAOgM,EAAK+B,KAAKyE,SAChBxG,EAAK+B,MAFD/B,EAAK+B,gBAQfsF,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SAAE1I,EAAE,oBAC3BmJ,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SAAc,OAAZquD,QAAY,IAAZA,OAAY,EAAZA,EAAc1Y,UAExC90C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SAAE1I,EAAE,qBAC3BmJ,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SAAc,OAAZquD,QAAY,IAAZA,OAAY,EAAZA,EAAcxtC,WAExChgB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SAEnB1I,EADFqJ,EACI,sBACA,6BAENF,EAAAA,GAAAA,KAAA,QAAMY,UAAU,QAAOrB,SACT,OAAZooB,QAAY,IAAZA,OAAY,EAAZA,EAAcI,uBAKlB3nB,EAAAA,GAAAA,MAACgiD,GAAW,CAAA7iD,SAAA,EACXS,EAAAA,GAAAA,KAACoiD,GAAYW,WAAU,CAAAxjD,SACrB1I,EAAE,2BAEJmJ,EAAAA,GAAAA,KAACsiD,GAAM/hD,UAAS,CAAAhB,UACfS,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX1/D,MAAO+7D,EAAYnH,OACnBl3B,SAAWvzB,GACV4xD,EAAY7G,eACX/nD,OAAOhD,EAAEkb,OAAOrlB,QAGlB8U,KAAK,SACL3G,MAAO,CAAE+yD,UAAW,UACpBryB,SAAUuxB,OAGZntD,EAAAA,GAAAA,KAACoiD,GAAYkB,YAAW,CACvB1oC,KAAM,UAAKkuC,EAAYxH,YACvBzmC,MAAO,UAAiB,OAAZ8M,QAAY,IAAZA,OAAY,EAAZA,EAAc9F,gBAI5B7hB,EAAAA,GAAAA,KAAA,OAAAT,UACCa,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,qBAAoBrB,SAAA,EACpCS,EAAAA,GAAAA,KAAA,SACC6B,KAAK,WACL4+B,QAAS0sB,EACT1iC,SAAUA,MACY,IAAjB0iC,GACHrE,EAAYlH,UACXkH,EAAYvH,WAGd6L,GAAiBc,IAAOA,GAAE,KAG5BluD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,cACf/J,EAAE,iCAILmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gBAAerB,UAC7BS,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CAACrS,QAxIb,WACKqrD,EACHlqC,GAAQ,GAERwqC,EAAyBpT,QAE3B,EAkImC96C,SAC5B1I,EAAE,+BAMPuJ,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CAACC,KAAMA,EAAMC,OAAQA,IAAMuP,GAAQ,GAAQrP,UAAQ,EAAArU,SAAA,EACxDS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,SAAE1I,EAAE,mCACfuJ,EAAAA,GAAAA,MAACoT,GAAAA,EAAMU,OAAM,CAAChZ,MAAO,CAAEizD,eAAgB,iBAAkB5uD,SAAA,EACxDS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAASA,IAAM2rD,EAAyBpT,SAAS96C,SAChD1I,EAAE,yBAEJmJ,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAASA,IAAMmhB,GAAQ,GAAO1jB,SAC7B1I,EAAE,8BAMT,CGtNOjB,eAAew4D,GACrBC,GAEA,OAAOziD,GAAM0B,KACZ,GAAG1kB,EAAAA,EAAUoe,0DACbqnD,QACM1qD,MAEL0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,C,eCpBA,MAAMunC,GACL,CACC5gD,GAAI,mBACJD,GAAI,oBACJE,GAAI,6BAEJhL,EAAAA,EAAUC,SAEL,SAASylE,KACf,MAAM,aAAE3mC,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,KAC9B,OAAE0mC,GAAW5mC,GACZjV,EAAW87C,IAAgBhvD,EAAAA,EAAAA,WAAS,IACpCq1B,EAAS45B,IAAajvD,EAAAA,EAAAA,WAAS,GAEtC,OAAK+uD,GAAU15B,GAEb70B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,SAAQrB,UACtBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,UAC/BS,EAAAA,GAAAA,KAACc,GAAO,CACPC,IAAK,UACLpK,QACC,0DAOF43D,GAAU15B,GAEZ70B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,SAAQrB,UACtBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,UAC/BS,EAAAA,GAAAA,KAACc,GAAO,CACPC,IAAK,UACLpK,QACC,sJASLyJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,SAAQrB,SAAA,EACtBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/Ba,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,MAAAT,SAAI,gCACJa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAG,kJAGuB,KACzBS,EAAAA,GAAAA,KAAA,KAAG5E,KAAK,iEAAgEmE,SAAC,wBAEpE,IAAI,uMAIyB,KAClCS,EAAAA,GAAAA,KAAA,KAAG5E,KAAK,oEAAmEmE,SAAC,uBAExE,woBAgBNa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,CACnBgvD,GACAvuD,EAAAA,GAAAA,KAAA,SAAAT,SAAO,uCAEPS,EAAAA,GAAAA,KAAA,SAAAT,SAAO,mKAORa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCS,EAAAA,GAAAA,KAAA,QAAMY,UAAU,eAAcrB,SAAC,oDAG/BS,EAAAA,GAAAA,KAAC0uD,GAAAA,QAAM,CACNjkC,SAAUA,IAAM+jC,GAAa,GAC7B/tB,QAAS8tB,EACTI,eAAe,EACfC,aAAa,EACbC,QAAQ,UACRxqC,MAAO,GACP/jB,OAAQ,MAETN,EAAAA,GAAAA,KAAA,QAAMY,UAAU,eAAcrB,SAAC,+CAOlCS,EAAAA,GAAAA,KAAC8uD,GAAW,CACXr7C,MAAO86C,GAAU77C,EACjBgB,OAAQA,IAAM86C,GAAa,GAC3B7W,UAAWA,KACV8W,GAAU,GACVD,GAAa,EAAM,KAGrBxuD,EAAAA,GAAAA,KAAC+uD,GAAY,CACZt7C,KAAM86C,GAAU77C,EAChBgB,OAAQA,IAAM86C,GAAa,GAC3B7W,UAAWA,KACV8W,GAAU,GACVD,GAAa,EAAM,MAKxB,CAQA,SAASM,GAAW38D,GAA2C,IAA1C,KAAEshB,EAAI,OAAEC,EAAM,UAAEikC,GAAuBxlD,EAC3D,MAAM,aAAEw1B,EAAY,aAAEtZ,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC5C,mBAAEV,GAAuBQ,EACzBqN,EAAyB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC3Bg6B,GAAoBlV,EAAAA,GAAAA,IACzB,IACCsU,GAAgC,CAC/BtkD,QAASkrB,EACT7N,qBACA8nC,qBAAsB,CACrB1a,aACA2a,eAAgB,CACfC,eAAgB,KAChBC,WAAY,EACZxlE,SAAU,WAId,CAAE+tD,cAGH,OACCv3C,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CAACC,KAAMA,EAAMC,OAAQA,EAAQE,UAAQ,EAAArU,SAAA,EAC1CS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMM,OAAM,CAAAvU,UACZS,EAAAA,GAAAA,KAAA,MAAAT,SAAK,4CAGLyvD,EAAkB1rC,WAClBtjB,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,UACVS,EAAAA,GAAAA,KAAC0R,GAAa,OAGftR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,SAET,gRAGFa,EAAAA,GAAAA,MAACoT,GAAAA,EAAMU,OAAM,CAAChZ,MAAO,CAAEizD,eAAgB,iBAAkB5uD,SAAA,EACxDS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAASA,IAAMktD,EAAkB3U,SAAS96C,SACzC,QAEFS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAAS4R,EAAOnU,SACf,iBAOR,CAEA,SAASwvD,GAAY9tD,GAA2C,IAA1C,KAAEwS,EAAI,OAAEC,EAAM,UAAEikC,GAAuB12C,EAC5D,MAAM,aAAE0mB,EAAY,aAAEtZ,IAAiBlO,EAAAA,EAAAA,YAAW0nB,KAC5C,mBAAEV,GAAuBQ,EACzBqN,EAAyB,OAAZ3mB,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WAC3Bq6B,GAAqBvV,EAAAA,GAAAA,IAC1B,IACCsU,GAAgC,CAC/BtkD,QAASkrB,EACT7N,qBACA8nC,qBAAsB,CACrB1a,aACA2a,eAAgB,CACfC,eAAgB,KAChBC,WAAY,EACZxlE,SAAU,WAId,CAAE+tD,cAGH,OACCv3C,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CAACC,KAAMA,EAAMC,OAAQA,EAAQE,UAAQ,EAAArU,SAAA,EAC1CS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMM,OAAM,CAAAvU,UACZS,EAAAA,GAAAA,KAAA,MAAAT,SAAK,8CAGL8vD,EAAmB/rC,WACnBtjB,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,UACVS,EAAAA,GAAAA,KAAC0R,GAAa,OAGftR,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACwT,GAAAA,EAAMS,KAAI,CAAA1U,SAET,gLAGFa,EAAAA,GAAAA,MAACoT,GAAAA,EAAMU,OAAM,CAAChZ,MAAO,CAAEizD,eAAgB,iBAAkB5uD,SAAA,EACxDS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAASA,IAAMutD,EAAmBhV,SAAS96C,SAC1C,QAEFS,EAAAA,GAAAA,KAAA,UACC6B,KAAK,SACLjB,UAAU,kBACVkB,QAAS4R,EAAOnU,SACf,iBAOR,CC3OO,SAAS+vD,GAAOn9D,GAAoD,IAAnD,QAAEo9D,EAAO,WAAEC,EAAU,UAAEC,GAAyBt9D,EACvE,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,EAAY,aAAEsZ,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,IAC5C6nC,GAA6B5V,EAAAA,GAAAA,GAAY,CAC9CC,WAAYA,ICRPnkD,eAAkCmiD,GACxC,OAAO3zC,GACLkJ,KACA,GAAG1kB,EAAAA,EAAUoe,uDACb+wC,QACMp0C,MAEN0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CDHG2iD,CAAmB,CAClB1qC,OAAQuqC,EAAWvqC,OACnB0oC,qBAAsB6B,EAAW7B,qBACjCG,uBAAwB,GAAe,OAAZz/C,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,aAAyB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,WACpE9yB,QAASyuC,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,YAC9B7N,mBAAoBoxB,OAAmB,OAAZ5wB,QAAY,IAAZA,OAAY,EAAZA,EAAcR,oBACzClvB,OAAQxE,MAEVkkD,UAAW12C,IAAyB,IAAxB,MAAE6lB,EAAK,QAAEnwB,GAASsK,EAE5BwuD,EADa,WAAV3oC,EACO,CAAEA,QAAOnwB,QAASA,GAAW,IAE7B,CAAEmwB,MAAO,WAAYnwB,QAASA,GAAW,KAEpD44D,EAAQnY,UAAU,EAEnBwY,QAASA,KACRH,EAAU,CACT3oC,MAAO,QACPnwB,QAAS,mCAEV44D,EAAQnY,UAAU,IAIpB,OAAIsY,EAA2BpsC,WACvBtjB,EAAAA,GAAAA,KAAC6kD,GAAW,KAInBzkD,EAAAA,GAAAA,MAAC2tC,GAAI,CAAAxuC,SAAA,EACJS,EAAAA,GAAAA,KAAC+tC,GAAKj6B,OAAM,CAAAvU,SAAE1I,EAAE,2BAEhBmJ,EAAAA,GAAAA,KAAC+tC,GAAK8N,QAAO,CAAAt8C,UACZa,EAAAA,GAAAA,MAAC2tC,GAAKkP,cAAa,CAAA19C,SAAA,EAClBS,EAAAA,GAAAA,KAAC+tC,GAAKmP,UAAS,CAAA39C,SACb1I,EAAE,oCAGJuJ,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,iCAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SACb,GAAe,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,aAAyB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,gBAG9C4yB,EAAW3B,qBACXztD,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,uBAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SACbiwD,EAAW3B,yBAGX,MACJztD,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,wBAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SACbiwD,EAAW7B,2BAGd3tD,EAAAA,GAAAA,KAAA,UACAI,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,kCAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SACb,GAAgB,OAAZooB,QAAY,IAAZA,OAAY,EAAZA,EACFioB,yBAAyBt6C,YAG9B8K,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,qCAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SAAE,GAChBiwD,EAAWvqC,UACR3vB,iBAKP8K,EAAAA,GAAAA,MAAC2tC,GAAK75B,OAAM,CAAA3U,SAAA,EACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,UACRtS,QAASA,IAAM4tD,EAA2BrV,SAAS96C,SAClD1I,EAAE,2BAEJmJ,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAUtS,QAASytD,EAAQlY,SAAS93C,SAClD1I,EAAE,8BAKR,CEtHO,MAEMg5D,GAAsBvN,GAAMwK,YAC5BgD,GAAgBxN,GAAM7rD,MAS5B,MAuBMM,GAAW,CACvBwJ,UApCgC+hD,GAAM/hD,UAqCtCisD,MApC4BlK,GAAMkK,MAqClCC,OA1B4BrH,EAAAA,EAAAA,aAG3B,SAAAnkD,EAAkCsR,GAAM,IAA9B,UAAE3R,KAAc26C,GAAMt6C,EACjC,OACCjB,EAAAA,GAAAA,KAAA,UACCY,WAAWg2C,EAAAA,GAAAA,GAAK,cAAe,iBAAkBh2C,MAC7C26C,EACJhpC,IAAKA,GAER,IAiBCu6C,YAAa+C,GACbp5D,MAAOq5D,GACPC,OApCM,SAAuB59D,GAGe,IAHd,UAC9ByO,KACG26C,GACsCppD,EACzC,OAAO6N,EAAAA,GAAAA,KAAA,UAAQY,WAAWg2C,EAAAA,GAAAA,GAAK,GAAIh2C,MAAgB26C,GACpD,GCkBA,MAAMyU,GAAqC,CAC1Cr8D,GAAI,IACJD,GAAI,EACJE,GAAI,GAGE,SAASq8D,GAAO99D,GAAkD,IAAD+9D,EAAAC,EAAAC,EAAA,IAAhD,QAAEb,EAAO,SAAEhwB,EAAQ,UAAE8wB,GAAyBl+D,EACrE,MAAM,aAAEkc,EAAY,aAAEsZ,IAAiBxnB,EAAAA,EAAAA,YAAW0nB,KAC5C,EAAEhxB,IAAMC,EAAAA,EAAAA,KAERwqD,EAAY0O,GAAWpnE,EAAAA,EAAUC,SACjC04D,EAAYrnD,OACJ,OAAZytB,QAAY,IAAZA,OAAY,EAAZA,EAAiCioB,uBAE7BkZ,EAAcrH,GAAe,CAClCH,YACAC,YACAzoB,KAAMuoB,GAAgBC,EAAWC,GACjCG,cAA+B,QAAlBwO,EAAEG,EAAUprC,cAAM,IAAAirC,EAAAA,EAAI5rB,KAAK6e,MAAkB,GAAZ5B,KAGzC+O,EAAiC,CACtCxmD,QAASyuC,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,YAC9B7N,mBAAoBoxB,OAAmB,OAAZ5wB,QAAY,IAAZA,OAAY,EAAZA,EAAcR,oBACzClvB,OAAQxE,KAEH88D,GAAmCpS,EAAAA,GAAAA,GAAS,CACjDqS,SAAU,CACT,gBACA,cACAF,GAEDlS,QAASA,ICpDJxoD,eACNmiD,GAEA,OAAO3zC,GACLkJ,KACA,GAAG1kB,EAAAA,EAAUoe,6DACb+wC,QACMp0C,MAEN0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CDsCiByjD,CAAyBH,KAGnCI,GAAavS,EAAAA,GAAAA,GAAS,CAC3BqS,SAAU,CAAC,QAAS,CAAEx7B,WAAYujB,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,cACvDopB,QAASA,IEhEJxoD,eAAwBo/B,GAC9B,OAAOppB,GAAMQ,IACZ,GAAGxjB,EAAAA,EAAUoe,4CAA4CguB,UACnDrxB,MAEL0I,MAAKla,IAAA,IAAC,KAAEqE,GAAMrE,EAAA,OAAKqE,CAAI,IACvBuW,OAAOC,IAEP,MADA3J,GAAS2J,GACHA,CAAG,GAEZ,CFsDiB2jD,CAASpY,OAAmB,OAAZlqC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,aAC7C47B,QAA+B,OAAtBhoE,EAAAA,EAAUC,SAA0C,OAAtBD,EAAAA,EAAUC,WAG3Cu3B,EAAMywC,IAAWrxD,EAAAA,EAAAA,UACvB6wD,EAAU1C,sBAELmD,EAA4B,QAAlBX,EAAGO,EAAWl6D,YAAI,IAAA25D,GAEjC,QAFiCC,EAAfD,EAAiBl5D,MACnCgK,IAAA,IAAC,WAAE67B,GAAY77B,EAAA,OAAK67B,IAAe1c,CAAI,WACvC,IAAAgwC,OAFiC,EAAfA,EAEhBxwB,UAaH,OAAI2wB,EAAiCjtC,WAC7BtjB,EAAAA,GAAAA,KAAC6kD,GAAW,IAGhB0L,EAAiCnW,SAEnCp6C,EAAAA,GAAAA,KAAC27C,GAAW,CACX95C,KAAK,OACLlL,QAASE,EAAE,6BACX+kD,QACC57C,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAUtS,QAAS22C,GAAkBl5C,SACnD1I,EAAE,oCAQP05D,EAAiC7I,WACe,WAAhD6I,EAAiC/5D,KAAKswB,OAGrC9mB,EAAAA,GAAAA,KAAC27C,GAAW,CACX95C,KAAK,OACLlL,QAASE,EACR,gCAAgC05D,EAAiC/5D,KAAKG,WAEvEilD,QACC57C,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAUtS,QAAS22C,GAAkBl5C,SACnD1I,EAAE,qCAQPuJ,EAAAA,GAAAA,MAAC2tC,GAAI,CAAAxuC,SAAA,EACJS,EAAAA,GAAAA,KAAC+tC,GAAKj6B,OAAM,CAAAvU,SAAE1I,EAAE,2BAEhBuJ,EAAAA,GAAAA,MAAC2tC,GAAK8N,QAAO,CAAAt8C,SAAA,EACZa,EAAAA,GAAAA,MAAC2tC,GAAKkP,cAAa,CAAA19C,SAAA,EAClBS,EAAAA,GAAAA,KAAC+tC,GAAKmP,UAAS,CAAA39C,SACb1I,EAAE,4CAGJuJ,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,iCAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SACb,GAAe,OAAZ8O,QAAY,IAAZA,OAAY,EAAZA,EAAcxB,aAAyB,OAAZwB,QAAY,IAAZA,OAAY,EAAZA,EAAcuuB,iBAG/Cx8B,EAAAA,GAAAA,MAAC2tC,GAAKoP,KAAI,CAAA59C,SAAA,EACTS,EAAAA,GAAAA,KAAC+tC,GAAKqP,UAAS,CAAA79C,SACb1I,EAAE,kCAEJmJ,EAAAA,GAAAA,KAAC+tC,GAAKuP,UAAS,CAAA/9C,SACb,GAAGupD,EAAYvH,aAAajsD,eAKhC8K,EAAAA,GAAAA,MAACgiD,GAAW,CAAA7iD,SAAA,EACXS,EAAAA,GAAAA,KAACoiD,GAAYW,WAAU,CAAAxjD,SACrB1I,EAAE,mCAEJmJ,EAAAA,GAAAA,KAACoiD,GAAYE,MAAK,IAAKwG,KACvB9oD,EAAAA,GAAAA,KAACoiD,GAAYY,OAAM,IAAK8F,KACxB9oD,EAAAA,GAAAA,KAACoiD,GAAYkB,YAAW,CACvB1oC,KAAM,GAAGkuC,EAAYxH,aAAahsD,MAClCulB,MAAO,GAAGiuC,EAAYvH,aAAajsD,WAIpCo7D,EAAWhJ,YACXtnD,EAAAA,GAAAA,MAACrJ,GAASwJ,UAAS,CAAAhB,SAAA,EAClBS,EAAAA,GAAAA,KAACjJ,GAASy1D,MAAK,CAAAjtD,SACb1I,EAAE,iCAEJuJ,EAAAA,GAAAA,MAACrJ,GAAS01D,MAAK,CACd1/D,MAAOqzB,EACPqK,SAAWvzB,IACV25D,EAAQ35D,EAAEkb,OAAOrlB,MAAM,EACtBwS,SAAA,EACFS,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CACfplC,QAAM,EACNiR,UAAQ,EACRmoB,UAAQ,IACR2M,EAAWl6D,KAAKW,KAAKpK,IACrBiT,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CAEfhjE,MAAOA,EAAM+vC,WACbh4B,GAAI/X,EAAM+vC,WAAWv9B,SACpBxS,EAAM+vC,YAHF/vC,EAAM+vC,kBAOd98B,EAAAA,GAAAA,KAACjJ,GAAS+1D,YAAW,CAAAvtD,SACnB1I,EAAE,uCAKiB,OAAtBjO,EAAAA,EAAUC,UACVuX,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCa,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAAAhB,SAAA,EACfS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,iCAEJmJ,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,OACLkvD,UAAU,UACV/0B,UAAW,GACXjvC,MAAOqzB,EACPqK,SAAWvzB,IACV25D,EAAQ35D,EAAEkb,OAAOrlB,MAAM22C,QAAQ,KAAM,IAAI,KAG3C1jC,EAAAA,GAAAA,KAACsiD,GAAMwK,YAAW,CAAClsD,UAAU,mBAAkBrB,SAC7C1I,EAAE,wCAILmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,2CAKTmJ,EAAAA,GAAAA,KAAC+tC,GAAK75B,OAAM,CAAA3U,UACXS,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,YACRtS,QAjJJ,WACKse,IACHmf,EAAS,CACRta,OAAQ6jC,EAAYnH,OACpBgM,qBAAsBvtC,EACtBytC,oBAAqBiD,IAEtBvB,EAAQnY,WAEV,EAyIIxb,UAAW/7B,QAAQugB,GAAM7gB,SACxB1I,EAAE,2BAKR,CG9NO,SAASm6D,GAAS7+D,GAA8B,IAA7B,OAAEuE,GAAwBvE,EACnD,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,MAAqB,WAAjBJ,EAAOowB,OAET9mB,EAAAA,GAAAA,KAAC27C,GAAW,CACX95C,KAAK,OACLlL,QAASE,EAAE,gCAAgCH,EAAOC,WAClDilD,QACC57C,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAUtS,QAAS22C,GAAkBl5C,SACnD1I,EAAE,oCAMa,UAAjBH,EAAOowB,OAET9mB,EAAAA,GAAAA,KAAC27C,GAAW,CACX95C,KAAK,OACLlL,QAASE,EAAE,+BACX+kD,QACC57C,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAUtS,QAAS22C,GAAkBl5C,SACnD1I,EAAE,qCAQPmJ,EAAAA,GAAAA,KAAC27C,GAAW,CACX95C,KAAK,UACLlL,QAASE,EAAE,wDACX+kD,QACC57C,EAAAA,GAAAA,KAACmU,GAAM,CAACC,QAAQ,UAAUtS,QAAS22C,GAAkBl5C,SACnD1I,EAAE,mCAKR,CC5CO,SAASo6D,KACf,MAAM1B,EAAUxY,GAAW,CAAEJ,WAAY,KAClC6Y,EAAY0B,IAAiB1xD,EAAAA,EAAAA,aAK7B2xD,EAAiBC,IAAsB5xD,EAAAA,EAAAA,YAE9C,OACCY,EAAAA,GAAAA,MAACi7C,GAAM,CAACz6C,UAAU,kBAAiBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAC82C,GAAa,CAAAv3C,UACbS,EAAAA,GAAAA,KAACy2C,GAAO,CACPE,WAAY4Y,EAAQ5Y,WACpBD,WAAY6Y,EAAQ7Y,eAIE,IAAvB6Y,EAAQ7Y,aACR12C,EAAAA,GAAAA,KAACiwD,GAAO,CACPV,QAASA,EACThwB,SAAU2xB,EACVb,UAAW,CACVprC,OAAkB,OAAVuqC,QAAU,IAAVA,OAAU,EAAVA,EAAYvqC,OACpB0oC,qBAAgC,OAAV6B,QAAU,IAAVA,OAAU,EAAVA,EAAY7B,wBAIb,IAAvB4B,EAAQ7Y,iBAAmCtjD,IAAfo8D,IAC5BxvD,EAAAA,GAAAA,KAACsvD,GAAO,CACPC,QAASA,EACTC,WAAYA,EACZC,UAAW2B,IAGW,IAAvB7B,EAAQ7Y,iBAAwCtjD,IAApB+9D,IAC5BnxD,EAAAA,GAAAA,KAACgxD,GAAS,CAACt6D,OAAQy6D,MAIvB,C,qCClBO,MAAMzC,GA7BN,SAAwBv8D,GAGK,IAHJ,UAC/ByO,KACG26C,GAC6BppD,EAChC,OAAO6N,EAAAA,GAAAA,KAAA,OAAKY,WAAWg2C,EAAAA,GAAAA,GAAK,mBAAoBh2C,MAAgB26C,GACjE,EAwBamT,GAfN,SACNpsD,GAEA,OACCtC,EAAAA,GAAAA,KAACqxD,GAAAA,QAAO,CACP1C,eAAe,EACfC,aAAa,EACbC,QAAQ,UACRxqC,MAAO,GACP/jB,OAAQ,MACJgC,GAGP,E,eCQA,SAlCA1M,eACCkU,EACAwnD,EACAz6D,GAEA,MAAM06D,EAAc,CACnBznD,UACAwnD,yBAGD,IACC,MAAM/6D,QAAiB6N,GAAMkJ,KAC5B,GAAG1kB,EAAAA,EAAUoe,uDACbuqD,QACM5tD,MAGP,GAAwB,MAApBpN,EAASG,OACZ,MAAO,CAAEA,OAAQH,EAASG,OAAQ86D,WAAYj7D,EAASi7D,YAEvD,MAAM,IAAI/6D,MAAMI,EAAE,YAEpB,CAAE,MAAOT,GAER,MADAiN,GAASjN,GACLA,EAAMG,SACH,IAAIE,MAAMI,EAAE,aACRT,EAAM2V,QACV,IAAItV,MAAMI,EAAE,iBAEZ,IAAIJ,MAAMI,EAAE,mBAEpB,CACD,ECZA,GAtBmCA,IAClC,MAAM46D,GAAcC,EAAAA,GAAAA,MAEpB,OAAO5X,EAAAA,GAAAA,IACN3nD,IAAA,IAAC,QACA2X,EAAO,sBACPwnD,GAIAn/D,EAAA,OAAKw/D,GAA8B7nD,EAASwnD,EAAuBz6D,EAAE,GACtE,CACC8gD,UAAWA,KACV8Z,EAAYG,kBAAkB,CAAC,gBAAgB,EAEhDhC,QAAUx5D,IACTC,QAAQD,MAAMA,EAAM,GAGtB,E,iECyGF,GAjHyBy7D,KAAO,IAADC,EAC9B,MAAM,EAAEj7D,IAAMC,EAAAA,EAAAA,MACR,aAAEuX,GAAiB0lB,MAClBu9B,EAAuBS,IAA4BvyD,EAAAA,EAAAA,UACtB,QAD8BsyD,EACrD,OAAZzjD,QAAY,IAAZA,OAAY,EAAZA,EAAcijD,6BAAqB,IAAAQ,GAAAA,IAE7BE,EAAOC,IAAYzyD,EAAAA,EAAAA,UAIvB,CAAEiU,MAAM,EAAOW,QAAS,UAAWzd,QAAS,KACzCu7D,EAAyBC,GAA0Bt7D,GAgCnD6Y,EAAO4hD,EAAwBc,GAAAA,IAAgBC,GAAAA,IAErD,OACCjyD,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CACT+xD,OAAK,EACL1xD,UAAU,wEAAuErB,SAAA,EACjFS,EAAAA,GAAAA,KAACuyD,GAAAA,EAAG,CAAC3xD,UAAU,sDAAqDrB,UACnES,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAACC,GAAI,EAAElzD,UACVa,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CAACK,UAAU,8BAA6BrB,SAAA,EACjDS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,cAAarB,SACzB1I,EAAE,6BAEJuJ,EAAAA,GAAAA,MAACmyD,GAAAA,EAAG,CAAC3xD,UAAU,OAAMrB,SAAA,EACpBa,EAAAA,GAAAA,MAACoyD,GAAAA,EAAG,CAAC13C,GAAI,GAAI23C,GAAI,EAAElzD,SAAA,EAClBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,mCACNuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,+BAA8BrB,SAAA,EAC5CS,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAMA,EACN9O,UAAU,6BAGZR,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,OAAMrB,SAAA,CACpB1I,EAAE,4BACHmJ,EAAAA,GAAAA,KAAA,UAAQY,UAAU,OAAMrB,SAEpB1I,EADFy6D,EACI,2BAEF,mCAILtxD,EAAAA,GAAAA,KAAC0uD,GAAgB,CAAAnvD,UAChBS,EAAAA,GAAAA,KAAC0uD,GAAY,CACZrqC,MAAO,GACP/jB,OAAQ,GACRoyD,eAAgB,GAChBjyB,QAAS6wB,EACT7mC,SApEiBkoC,KAC1B,MAAMC,GAAoBtB,EAC1BS,EAAyBa,GACzBV,EAAuB7X,OACtB,CACCvwC,QAAqB,OAAZuE,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,WACvBs8B,sBAAuBsB,GAExB,CACCjb,UAAWA,KACVsa,EAAS,CACRx+C,MAAM,EACNW,QAAS,UACTzd,QAASE,EAAE,qCAEZX,YAAW,IAAM+7D,EAAS,IAAKD,EAAOv+C,MAAM,KAAU,IAAK,EAE5Dm8C,QAASA,KACRqC,EAAS,CACRx+C,MAAM,EACNW,QAAS,SACTzd,QAASE,EAAE,mCAEZX,YAAW,IAAM+7D,EAAS,IAAKD,EAAOv+C,MAAM,KAAU,KACtDs+C,GAA0Ba,EAAiB,GAG7C,aA8CI5yD,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CACHC,GAAI,EACJ7xD,UAAU,6DAA4DrB,UACtES,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sCAAqCrB,UACnDS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,IAAKmyD,GACLhyD,IAAI,oCAQVmxD,EAAMv+C,OACNzT,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAS49C,EAAM59C,QACf0I,QAASA,IAAMm1C,EAAS,IAAKD,EAAOv+C,MAAM,IAC1CoJ,aAAW,EACXjc,UAAU,iBAAgBrB,SACzByyD,EAAMr7D,YAGE,ECzGP,MAAMm8D,GACZ99B,IAEOmpB,EAAAA,GAAAA,GACN,CAAC,iBACDvoD,eCZKA,eACNo/B,GAEA,IAMC,aALuB5wB,KAAAA,IACtB,GAAGxb,EAAAA,EAAUoe,sEAAsEguB,UAC7ErxB,OAGSnN,IACjB,CAAE,MAAOJ,GAER,MADAiN,GAASjN,GACH,IAAIK,MAAM,iCACjB,CACD,CDDgBs8D,CAAoB/9B,IAElC,CACC46B,QAAUx5D,IACTC,QAAQD,MAAM,gCAAiCA,EAAM,IAW5C48D,GAA4BA,KACxC,MAAMvB,GAAcC,EAAAA,GAAAA,MAEpB,OAAO5X,EAAAA,GAAAA,IACNlkD,gBCTKA,eACN2a,GAEA,IAMC,aALuBnM,KAAAA,KACtB,GAAGxb,EAAAA,EAAUoe,uDACbuJ,QACM5M,OAESnN,IACjB,CAAE,MAAOJ,GAER,MADAiN,GAASjN,GACH,IAAIK,MAAM,+BACjB,CACD,CDJSw8D,CAAmB1iD,EAAS,GAEnC,CACConC,UAAWA,KACV8Z,EAAYG,kBAAkB,CAAC,gBAAgB,EAEhDhC,QAAUx5D,IACTC,QAAQD,MAAM,gCAAiCA,EAAM,GAGvD,EErDK,IAAK88D,GAAW,SAAXA,GAAW,OAAXA,EAAAA,EAAW,mBAAXA,EAAAA,EAAW,+CAAXA,EAAAA,EAAW,mCAAXA,CAAW,MAMhB,MAAMC,GAA6B3N,GAAAA,EACxCiB,OAAO,CACP2M,gBAAiB5N,GAAAA,EAAE4B,UAAUiM,WAC7BC,iBAAkB9N,GAAAA,EAChB+N,MAAM,CACN/N,GAAAA,EACEC,SACA/xB,WAAW75B,GACK,MAAb,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK2sC,QAAgB,KAAOvZ,WAAWpzB,KAEvC6rD,QAAQ7rD,GAAgB,OAARA,GAAgBA,EAAM,GAAG,CACzClD,QAAS,iDAEX6uD,GAAAA,EACE7D,SACA0R,WACA3N,QAAQ7rD,QAAgBzG,IAARyG,GAAqBA,EAAM,GAAG,CAC9ClD,QAAS,mDAGX08D,WACAG,WACAC,KAAKjO,GAAAA,EAAE+N,MAAM,CAAC/N,GAAAA,EAAE7D,SAAU6D,GAAAA,EAAEkO,UAC9BC,mBAAoBnO,GAAAA,EAClB+N,MAAM,CACN/N,GAAAA,EACEC,SACA/xB,WAAW75B,GACK,MAAb,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK2sC,QAAgB,KAAOvZ,WAAWpzB,KAEvC6rD,QAAQ7rD,GAAgB,OAARA,GAAgBA,EAAM,GAAG,CACzClD,QAAS,iDAEX6uD,GAAAA,EACE7D,SACA0R,WACA3N,QAAQ7rD,QAAgBzG,IAARyG,GAAqBA,EAAM,GAAG,CAC9ClD,QAAS,mDAGX08D,WACAG,WACAC,KAAKjO,GAAAA,EAAE+N,MAAM,CAAC/N,GAAAA,EAAE7D,SAAU6D,GAAAA,EAAEkO,UAC9BE,iBAAkBpO,GAAAA,EAAE4B,UAAUiM,WAC9BQ,kBAAmBrO,GAAAA,EACjB+N,MAAM,CACN/N,GAAAA,EACEC,SACA/xB,WAAW75B,GACK,MAAb,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK2sC,QAAgB,KAAOvZ,WAAWpzB,KAEvC6rD,QAAQ7rD,GAAgB,OAARA,GAAgBA,EAAM,GAAG,CACzClD,QAAS,iDAEX6uD,GAAAA,EACE7D,SACA0R,WACA3N,QAAQ7rD,QAAgBzG,IAARyG,GAAqBA,EAAM,GAAG,CAC9ClD,QAAS,mDAGX08D,WACAG,WACAC,KAAKjO,GAAAA,EAAE+N,MAAM,CAAC/N,GAAAA,EAAE7D,SAAU6D,GAAAA,EAAEkO,UAC9BI,oBAAqBtO,GAAAA,EACnB+N,MAAM,CACN/N,GAAAA,EACEC,SACA/xB,WAAW75B,GACK,MAAb,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK2sC,QAAgB,KAAOvZ,WAAWpzB,KAEvC6rD,QAAQ7rD,GAAgB,OAARA,GAAgBA,EAAM,GAAG,CACzClD,QAAS,iDAEX6uD,GAAAA,EACE7D,SACA0R,WACA3N,QAAQ7rD,QAAgBzG,IAARyG,GAAqBA,EAAM,GAAG,CAC9ClD,QAAS,mDAGX08D,WACAG,WACAC,KAAKjO,GAAAA,EAAE+N,MAAM,CAAC/N,GAAAA,EAAE7D,SAAU6D,GAAAA,EAAEkO,UAC9BK,aAAcvO,GAAAA,EAAE4B,UAAUiM,WAC1BW,cAAexO,GAAAA,EACb+N,MAAM,CACN/N,GAAAA,EACEC,SACA/xB,WAAW75B,GACK,MAAb,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK2sC,QAAgB,KAAOvZ,WAAWpzB,KAEvC6rD,QAAQ7rD,GAAgB,OAARA,GAAgBA,EAAM,GAAG,CACzClD,QAAS,iDAEX6uD,GAAAA,EACE7D,SACA0R,WACA3N,QAAQ7rD,QAAgBzG,IAARyG,GAAqBA,EAAM,GAAG,CAC9ClD,QAAS,mDAGX08D,WACAG,WACAC,KAAKjO,GAAAA,EAAE+N,MAAM,CAAC/N,GAAAA,EAAE7D,SAAU6D,GAAAA,EAAEkO,UAC9BO,gBAAiBzO,GAAAA,EACf+N,MAAM,CACN/N,GAAAA,EACEC,SACA/xB,WAAW75B,GACK,MAAb,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK2sC,QAAgB,KAAOvZ,WAAWpzB,KAEvC6rD,QAAQ7rD,GAAgB,OAARA,GAAgBA,EAAM,GAAG,CACzClD,QAAS,iDAEX6uD,GAAAA,EACE7D,SACA0R,WACA3N,QAAQ7rD,QAAgBzG,IAARyG,GAAqBA,EAAM,GAAG,CAC9ClD,QAAS,mDAGX08D,WACAG,WACAC,KAAKjO,GAAAA,EAAE+N,MAAM,CAAC/N,GAAAA,EAAE7D,SAAU6D,GAAAA,EAAEkO,UAC9BQ,kBAAmB1O,GAAAA,EAAEC,SAAS4N,WAC9Bc,aAAc3O,GAAAA,EAAEC,SAAS4N,WACzBe,eAAgB5O,GAAAA,EAAEC,SAAS4N,WAC3BgB,0BAA2B7O,GAAAA,EAAEkB,WAAWwM,GAAa,CACpDoB,SAAUA,KAAA,CACT39D,QAAS,4CAGX49D,6BAA8B/O,GAAAA,EAC5BkB,WAAWwM,GAAa,CACxBoB,SAAUA,KAAA,CACT39D,QAAS,4CAGV08D,aAEF3N,QACClvD,IACCA,EAAK48D,iBACqB,OAA1B58D,EAAK88D,kBACuB,OAA5B98D,EAAKm9D,oBACP,CACCh9D,QAAS,+CACT69D,KAAM,CAAC,uBAGR9O,QACClvD,IACCA,EAAKu9D,cACkB,OAAvBv9D,EAAKw9D,eAAmD,OAAzBx9D,EAAKy9D,iBACtC,CACCt9D,QAAS,4CACT69D,KAAM,CAAC,kBAGR9O,QACClvD,IACCA,EAAKo9D,kBACsB,OAA3Bp9D,EAAKq9D,mBACwB,OAA7Br9D,EAAKs9D,qBACP,CACCn9D,QAAS,gDACT69D,KAAM,CAAC,oBCoZV,GA1iBqBC,KACpB,MAAM,aAAEpmD,GAAiB0lB,MACnB,KAAEv9B,EAAI,UAAE8sB,EAAS,QAAEoxC,GAAY5B,GACxB,OAAZzkD,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,YAETi+B,EAAqBD,MACrB,EAAEn8D,IAAMC,EAAAA,EAAAA,MAEPk7D,EAAOC,IAAYzyD,EAAAA,EAAAA,UAIvB,CAAEiU,MAAM,EAAOW,QAAS,UAAWzd,QAAS,MAExCg+D,EAAcC,IAAmBp1D,EAAAA,EAAAA,WAAS,IAE1C4zD,EAAiByB,IAAsBr1D,EAAAA,EAAAA,WACzC,OAAJhJ,QAAI,IAAJA,OAAI,EAAJA,EAAM48D,mBAAmB,IAEnBW,EAAce,IAAmBt1D,EAAAA,EAAAA,WACnC,OAAJhJ,QAAI,IAAJA,OAAI,EAAJA,EAAMu9D,gBAAgB,IAEhBH,EAAkBmB,IAAuBv1D,EAAAA,EAAAA,WAC3C,OAAJhJ,QAAI,IAAJA,OAAI,EAAJA,EAAMo9D,oBAAoB,IAGpBoB,EAAcC,IAAmBz1D,EAAAA,EAAAA,WAAS,IAE3C,QACL01D,EAAO,aACPjN,EAAY,SACZp4C,EAAQ,QACRslD,EAAO,MACPz/C,EACA+tC,WAAW,OAAE9a,EAAM,QAAEysB,KAClB9O,EAAAA,GAAAA,IAA+B,CAClCkB,UAAUC,EAAAA,GAAAA,GAAY0L,IACtBkC,KAAM,WACNC,eAAgB,WAChBC,cAAe,CAAC,KAGjBhmD,EAAAA,EAAAA,YAAU,KACmB,IAADimD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAvBr/D,IAASm+D,GACZj/C,EAAM,CACL09C,gBAAiB58D,EAAK48D,kBAAmB,EACzCW,aAAcv9D,EAAKu9D,eAAgB,EACnCH,iBAAkBp9D,EAAKo9D,mBAAoB,EAC3CS,0BAA2ByB,EAC1Bt/D,EAAK69D,2BAENf,iBAAuC,QAAvBkC,EAAEh/D,EAAK88D,wBAAgB,IAAAkC,EAAAA,EAAI,KAC3C7B,mBAA2C,QAAzB8B,EAAEj/D,EAAKm9D,0BAAkB,IAAA8B,EAAAA,EAAI,KAC/CzB,cAAiC,QAApB0B,EAAEl/D,EAAKw9D,qBAAa,IAAA0B,EAAAA,EAAI,KACrCzB,gBAAqC,QAAtB0B,EAAEn/D,EAAKy9D,uBAAe,IAAA0B,EAAAA,EAAI,KACzC9B,kBAAyC,QAAxB+B,EAAEp/D,EAAKq9D,yBAAiB,IAAA+B,EAAAA,EAAI,KAC7C9B,oBAA6C,QAA1B+B,EAAEr/D,EAAKs9D,2BAAmB,IAAA+B,EAAAA,EAAI,KACjDtB,6BAA8BuB,EAC7Bt/D,EAAK+9D,+BAGR,GACE,CAAC/9D,EAAMkf,EAAOi/C,IAEjB,MAAMmB,EAA2BlrB,IAChC,OAAQA,GACP,IAAK,SAML,QACC,OAAOsoB,GAAY/tB,OALpB,IAAK,uBACJ,OAAO+tB,GAAY6C,qBACpB,IAAK,iBACJ,OAAO7C,GAAY8C,eAGrB,GAGDzmD,EAAAA,EAAAA,YAAU,KACTslD,GAAuB,OAAJr+D,QAAI,IAAJA,OAAI,EAAJA,EAAM48D,mBAAmB,GAC5C0B,GAAoB,OAAJt+D,QAAI,IAAJA,OAAI,EAAJA,EAAMu9D,gBAAgB,GACtCgB,GAAwB,OAAJv+D,QAAI,IAAJA,OAAI,EAAJA,EAAMo9D,oBAAoB,EAAM,GAClD,CAAK,OAAJp9D,QAAI,IAAJA,OAAI,EAAJA,EAAM48D,gBAAqB,OAAJ58D,QAAI,IAAJA,OAAI,EAAJA,EAAMu9D,aAAkB,OAAJv9D,QAAI,IAAJA,OAAI,EAAJA,EAAMo9D,oBAErDrkD,EAAAA,EAAAA,YAAU,KACTM,EAAS,mBAAoB+jD,EAAkB,CAAEqC,aAAa,IAC1DrC,IACH/jD,EAAS,oBAAqB,KAAM,CAAEomD,aAAa,IACnDpmD,EAAS,sBAAuB,KAAM,CAAEomD,aAAa,IACtD,GACE,CAACrC,EAAkB/jD,KAEtBN,EAAAA,EAAAA,YAAU,KACTM,EAAS,kBAAmBujD,EAAiB,CAAE6C,aAAa,IACxD7C,IACHvjD,EAAS,mBAAoB,KAAM,CAAEomD,aAAa,IAClDpmD,EAAS,qBAAsB,KAAM,CAAEomD,aAAa,IACrD,GACE,CAAC7C,EAAiBvjD,KAErBN,EAAAA,EAAAA,YAAU,KACTM,EAAS,eAAgBkkD,EAAc,CAAEkC,aAAa,IAClDlC,IACHlkD,EAAS,gBAAiB,KAAM,CAAEomD,aAAa,IAC/CpmD,EAAS,kBAAmB,KAAM,CAAEomD,aAAa,IAClD,GACE,CAAClC,EAAclkD,IA8ClB,OAAIyT,GAAaqxC,GACT30D,EAAAA,GAAAA,KAAA,OAAAT,SAAK,gBAIZS,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,0BAAyBrB,SAAA,CACtCy1D,IACAh1D,EAAAA,GAAAA,KAAA,OAAKY,UAAU,UAASrB,UACvBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAGjBR,EAAAA,GAAAA,MAAA,QACCQ,UAAU,gBACV2+B,SAAU0oB,GA1DI5L,IACjB,MAAM6Z,ECnID,SACN7Z,EACA7G,EACA1rC,GAEA,MAAO,CACN0rC,SACA1rC,UACAm5B,UAAU,EACVmwB,gBAAiB/W,EAAS+W,gBAC1B+C,uBAAsD,OAA9B9Z,EAASiX,iBACjC8C,yBAA0D,OAAhC/Z,EAASsX,mBACnCL,iBAAkBjX,EAASiX,iBAC3BK,mBAAoBtX,EAASsX,mBAC7BC,iBAAkBvX,EAASuX,iBAC3ByC,wBAAwD,OAA/Bha,EAASwX,kBAClCyC,0BAA4D,OAAjCja,EAASyX,oBACpCD,kBAAmBxX,EAASwX,kBAC5BC,oBAAqBzX,EAASyX,oBAC9BC,aAAc1X,EAAS0X,aACvBwC,oBAAgD,OAA3Bla,EAAS2X,cAC9BwC,sBAAoD,OAA7Bna,EAAS4X,gBAChCD,cAAe3X,EAAS2X,cACxBC,gBAAiB5X,EAAS4X,gBAC1BI,0BAA2BhY,EAASgY,0BACpCE,6BAA8BlY,EAASkY,6BACvCkC,oBAAqB,mBAEvB,CDuGsBC,CACnBra,EACI,OAAJ7lD,QAAI,IAAJA,OAAI,EAAJA,EAAMg/C,OACM,OAAZnnC,QAAY,IAAZA,OAAY,EAAZA,EAAc2mB,YAGfigC,GAAgB,GAChB,MAAM0B,EACLxD,GAA2ByD,UAAUV,GAEtC,GAAKS,EAAiB9hC,QAMtBo+B,EAAmB5Y,OAAO6b,EAA6C,CACtEve,UAAW/hD,gBACJ,IAAII,SAASC,GAAYC,WAAWD,EAAS,OACnD2+D,GAAgB,GAChBF,IAAUroD,MAAK,KACduoD,GAAgB,EAAM,IAEvB3C,EAAS,CACRx+C,MAAM,EACNW,QAAS,UACTzd,QAASE,EAAE,iCAEZX,YAAW,IAAM+7D,EAAS,IAAKD,EAAOv+C,MAAM,KAAU,KACtDwhD,GAAgB,EAAM,EAEvBrF,QAASA,KACRqC,EAAS,CACRx+C,MAAM,EACNW,QAAS,SACTzd,QAASE,EAAE,+BAEZX,YAAW,IAAM+7D,EAAS,IAAKD,EAAOv+C,MAAM,KAAU,KACtDwhD,GAAgB,EAAM,QA5BxB,CACC,MAAMtsB,EAASguB,EAAiBvgE,MAAMygE,UACtCxzD,GAAS,IAAI5M,MAAMgW,KAAKC,UAAUi8B,IAEnC,CA0BE,IAiBkCppC,SAAA,EACjCS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,yBACPuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,EAC9BS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,mCACTmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,kBACLo6D,QAASA,EACT6B,OAAQ5kE,IAAA,IAAC,MAAE8nC,GAAO9nC,EAAA,OACjB6N,EAAAA,GAAAA,KAAC0uD,GAAgB,CAAAnvD,UAChBS,EAAAA,GAAAA,KAAC0uD,GAAY,CACZrqC,MAAO,GACP/jB,OAAQ,GACRoyD,eAAgB,GAChBjyB,SAAU2yB,EACV3oC,SAAWgW,IACVo0B,GAAoBp0B,GACpB5wB,EACC,mBACC4wB,EACD,KAGe,OAIrBkI,EAAOyqB,kBACPpzD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7BopC,EAAOyqB,gBAAgBz8D,WAGxBy8D,IACDpzD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,UAASrB,UACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCa,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAAAhB,SAAA,EACfS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,8BAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,mBACLo6D,QAASA,EACT6B,OAAQ91D,IAAA,IAAA+1D,EAAA,IAAC,MAAE/8B,GAAOh5B,EAAA,OACjBjB,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,SACLo7B,YAAY,gBACRhD,EACJltC,MAAkB,QAAbiqE,EAAE/8B,EAAMltC,aAAK,IAAAiqE,EAAAA,EAAI,IACrB,IAGHruB,EAAO2qB,mBACPtzD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAO2qB,iBAAiB38D,iBAK/ByJ,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAACK,UAAU,OAAMrB,SAAA,EAChCS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,gCAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,qBACLo6D,QAASA,EACT6B,OAAQtmC,IAAA,IAAAwmC,EAAA,IAAC,MAAEh9B,GAAOxJ,EAAA,OACjBzwB,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,SACLo7B,YAAY,iBACRhD,EACJltC,MAAkB,QAAbkqE,EAAEh9B,EAAMltC,aAAK,IAAAkqE,EAAAA,EAAI,IACrB,IAGHtuB,EAAOgrB,qBACP3zD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAOgrB,mBAAmBh9D,iBAKjCyJ,EAAAA,GAAAA,MAACrJ,GAASwJ,UAAS,CAACK,UAAU,OAAMrB,SAAA,EACnCS,EAAAA,GAAAA,KAACjJ,GAASy1D,MAAK,CAAAjtD,SACb1I,EACA,yCAGFmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,+BACLo6D,QAASA,EACT6B,OAAQ31D,IAAA,IAAC,MAAE64B,GAAO74B,EAAA,OACjBhB,EAAAA,GAAAA,MAACrJ,GAAS01D,MAAK,CACd1/D,MAAOktC,EAAMltC,MACb09B,SAAWvzB,GACV+iC,EAAMxP,SACLvwB,OACChD,EAAEkb,OAAOrlB,QAGXwS,SAAA,EACDS,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CACfhjE,MACCmmE,GAAY6C,qBACZx2D,SACA1I,EACA,gCAGFmJ,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CACfhjE,MACCmmE,GAAY/tB,OACZ5lC,SACA1I,EACA,0BAGc,OAInB8xC,EAAO4rB,+BACPv0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAO4rB,6BAA6B59D,kBAO5CgyC,EAAOurB,oBACPl0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EAAE,GAAG8xC,EAAOurB,kBAAkBv9D,iBAIlCyJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,EAC9BS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,kCACTmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,eACLo6D,QAASA,EACT6B,OAAQz1D,IAAA,IAAC,MAAE24B,GAAO34B,EAAA,OACjBtB,EAAAA,GAAAA,KAAC0uD,GAAgB,CAAAnvD,UAChBS,EAAAA,GAAAA,KAAC0uD,GAAY,CACZrqC,MAAO,GACP/jB,OAAQ,GACRoyD,eAAgB,GAChBjyB,SAAUszB,EACVtpC,SAAWgW,IACVq0B,GAAiBr0B,GACjB5wB,EACC,gBACC4wB,EACD,KAGe,OAIrBkI,EAAOorB,eACP/zD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EAAE,GAAG8xC,EAAOorB,aAAap9D,cAG1Bo9D,IACD/zD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,UAASrB,UACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCa,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAAAhB,SAAA,EACfS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,8BAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,gBACLo6D,QAASA,EACT6B,OAAQv1D,IAAA,IAAA01D,EAAA,IAAC,MAAEj9B,GAAOz4B,EAAA,OACjBxB,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,SACLo7B,YAAY,gBACRhD,EACJltC,MAAkB,QAAbmqE,EAAEj9B,EAAMltC,aAAK,IAAAmqE,EAAAA,EAAI,IACrB,IAGHvuB,EAAOqrB,gBACPh0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAOqrB,cAAcr9D,iBAK5ByJ,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAACK,UAAU,OAAMrB,SAAA,EAChCS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,gCAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,kBACLo6D,QAASA,EACT6B,OAAQr1D,IAAA,IAAAy1D,EAAA,IAAC,MAAEl9B,GAAOv4B,EAAA,OACjB1B,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,SACLo7B,YAAY,iBACRhD,EACJltC,MAAkB,QAAboqE,EAAEl9B,EAAMltC,aAAK,IAAAoqE,EAAAA,EAAI,IACrB,IAGHxuB,EAAOsrB,kBACPj0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAOsrB,gBAAgBt9D,qBAQhCgyC,EAAOwrB,eACPn0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EAAE,GAAG8xC,EAAOwrB,aAAax9D,iBAI7ByJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,EAC9BS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,oCACTmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,mBACLo6D,QAASA,EACT6B,OAAQ1Z,IAAA,IAAC,MAAEpjB,GAAOojB,EAAA,OACjBr9C,EAAAA,GAAAA,KAAC0uD,GAAgB,CAAAnvD,UAChBS,EAAAA,GAAAA,KAAC0uD,GAAY,CACZrqC,MAAO,GACP/jB,OAAQ,GACRoyD,eAAgB,GAChBjyB,SAAUmzB,EACVnpC,SAAWgW,IACVs0B,GAAqBt0B,GACrB5wB,EACC,oBACC4wB,EACD,KAGe,OAIrBkI,EAAOirB,mBACP5zD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EAAE,GAAG8xC,EAAOirB,iBAAiBj9D,cAG9Bi9D,IACD5zD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,UAASrB,UACvBa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCa,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAAAhB,SAAA,EACfS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,8BAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,oBACLo6D,QAASA,EACT6B,OAAQxZ,IAAA,IAAA6Z,EAAA,IAAC,MAAEn9B,GAAOsjB,EAAA,OACjBv9C,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,SACLo7B,YAAY,gBACRhD,EACJltC,MAAkB,QAAbqqE,EAAEn9B,EAAMltC,aAAK,IAAAqqE,EAAAA,EAAI,IACrB,IAGHzuB,EAAOkrB,oBACP7zD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAOkrB,kBAAkBl9D,iBAKhCyJ,EAAAA,GAAAA,MAACkiD,GAAM/hD,UAAS,CAACK,UAAU,OAAMrB,SAAA,EAChCS,EAAAA,GAAAA,KAACsiD,GAAMkK,MAAK,CAAAjtD,SACV1I,EAAE,gCAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,sBACLo6D,QAASA,EACT6B,OAAQM,IAAA,IAAAC,EAAA,IAAC,MAAEr9B,GAAOo9B,EAAA,OACjBr3D,EAAAA,GAAAA,KAACsiD,GAAMmK,MAAK,CACX5qD,KAAK,SACLo7B,YAAY,iBACRhD,EACJltC,MAAkB,QAAbuqE,EAAEr9B,EAAMltC,aAAK,IAAAuqE,EAAAA,EAAI,IACrB,IAGH3uB,EAAOmrB,sBACP9zD,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAOmrB,oBAAoBn9D,qBAQpCgyC,EAAOyrB,iBACPp0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EAAE,GAAG8xC,EAAOyrB,eAAez9D,iBAI/BqJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,UAASrB,UACvBa,EAAAA,GAAAA,MAACrJ,GAASwJ,UAAS,CAAAhB,SAAA,EAClBS,EAAAA,GAAAA,KAACjJ,GAASy1D,MAAK,CAAAjtD,SACb1I,EAAE,2BAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACVh8D,KAAK,4BACLo6D,QAASA,EACT6B,OAAQQ,IAAA,IAAC,MAAEt9B,GAAOs9B,EAAA,OACjBn3D,EAAAA,GAAAA,MAACrJ,GAAS01D,MAAK,CACd1/D,MAAOktC,EAAMltC,MACb09B,SAAWvzB,IACV+iC,EAAMxP,SACLvwB,OAAOhD,EAAEkb,OAAOrlB,QAEjBooE,EAAQ,4BAA4B,EACnC51D,SAAA,EACFS,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CACfhjE,MAAOmmE,GAAY8C,eAAez2D,SACjC1I,EACA,0BAA0BjO,EAAAA,EAAUC,cAGtCmX,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CACfhjE,MACCmmE,GAAY6C,qBACZx2D,SACA1I,EAAE,gCAEJmJ,EAAAA,GAAAA,KAACjJ,GAASg5D,OAAM,CACfhjE,MAAOmmE,GAAY/tB,OAAO5lC,SACzB1I,EAAE,0BAEY,IAGlB8xC,EAAO0rB,4BACPr0D,EAAAA,GAAAA,KAAA,QAAMY,UAAU,gBAAerB,SAC7B1I,EACA,GAAG8xC,EAAO0rB,0BAA0B19D,cAIvCqJ,EAAAA,GAAAA,KAACjJ,GAAS+1D,YAAW,CAAAvtD,SACnB1I,EAAE,6CAINmJ,EAAAA,GAAAA,KAACmU,GAAM,CACNC,QAAQ,UACRvS,KAAK,SACL+5B,SAAUo5B,IAAiBI,EAAQ71D,SAEhC1I,EADFm+D,EACI,sBACA,gCAGNhD,EAAMv+C,OACNzT,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAS49C,EAAM59C,QACf0I,QAASA,IAAMm1C,EAAS,IAAKD,EAAOv+C,MAAM,IAC1CoJ,aAAW,EACXjc,UAAU,iBAAgBrB,SACzByyD,EAAMr7D,cAIR,EErhBQmzB,GAA0B,CACtC,CACC1W,MAAO,UACPokD,SAAU,CACT/iD,GAAYugC,QACZvgC,GAAYqgC,cACZrgC,GAAYs5B,MAEblqB,MAAO,CACN,CACCzQ,MAAO,WACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACoxC,GAAQ,IACpBqmB,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,qBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACyxC,GAAkB,IAC9BgmB,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,qBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACkoC,GAAY,IACxBuvB,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,kBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC6zC,GAAK,IACjB4jB,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,YACPK,MAAM,EACNyG,UACuB,OAAtBtxB,EAAAA,EAAUC,SACTmX,EAAAA,GAAAA,KAAC0+C,GAAS,KAEV1+C,EAAAA,GAAAA,KAACg2C,GAAW,IAEdyhB,UAAW,CAAC,KAAM,KAAM,MACxBD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,yBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC6xD,GAAgB,IAC5B4F,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,eACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACqqD,GAAY,IACxBoN,UAAW,CAAC,KAAM,MAClBD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,MACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC6lC,GAAe,IAC3B4xB,UAAW,GACXD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,eACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACq/C,GAAY,IACxBoY,UAAW,CAAC,MACZD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,aACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACipD,GAAY,IACxBwO,UAAW,CAAC,MACZD,SAAU,CAAC/iD,GAAYugC,UAExB,CACC5hC,MAAO,aACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACgtD,GAAY,IACxByK,UAAW,CAAC,MACZD,SAAU,CAAC/iD,GAAYugC,YAI1B,CACC5hC,MAAO,eACPokD,SAAU,CAAC/iD,GAAYs5B,MACvBlqB,MAAO,CACN,CACCzQ,MAAO,UACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACy1C,GAAO,IACnBgiB,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,wBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC+rD,GAAkB,IAC9B0L,UAAW,CAAC,KAAM,KAAM,KAAM,MAC9BD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,mBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC2/C,GAAgB,IAC5B8X,UAAW,CAAC,MACZD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,oBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC2oD,GAAiB,IAC7B8O,UAAW,CAAC,MACZD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,MACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACsuD,GAAK,IACjBmJ,UAAW,CAAC,MACZD,SAAU,CAAC/iD,GAAYs5B,OAWxB,CACC36B,MAAO,gBACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACixD,GAAa,IACzBwG,UAAW,CAAC,KAAM,KAAM,MACxBD,SAAU,CAAC/iD,GAAYs5B,OAExB,CACC36B,MAAO,eACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAACy0D,GAAY,IACxBgD,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CAAC/iD,GAAYs5B,SAI1B,CACC36B,MAAO,kBACPokD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,MAEblqB,MAAO,CACN,CACCzQ,MAAO,UACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC8+C,GAAG,IACf2Y,UAAW,CAAC,KAAM,KAAM,MACxBD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,OAGd,CACC36B,MAAO,UACPK,MAAM,EACNyG,WAAWla,EAAAA,GAAAA,KAAC00C,GAAO,IACnB+iB,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,MACpCD,SAAU,CACT/iD,GAAYqgC,cACZrgC,GAAYugC,QACZvgC,GAAYs5B,UCpPV,SAAS2pB,KAAkD,IAArCC,EAAoBr+D,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,YACnD,OAAOnE,OAAOoF,SAAS4D,OAASw5D,CACjC,CAMO,SAASC,KAEb,IADFD,EAAoBr+D,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,oBAEvB,OAAOnE,OAAOoF,SAAS4D,OAASw5D,CACjC,CAMO,SAASE,KAEb,IADFF,EAAoBr+D,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,2BAEvB,OAAOnE,OAAOoF,SAAS4D,OAASw5D,CACjC,CAOO,SAASG,GAAQhpD,GACvB,MAA0B,OAAtBlmB,EAAAA,EAAUC,QAAyBimB,EAAI5Z,OAAO,EAAG4Z,EAAIhX,OAAS,GAC3DgX,CACR,CAgBO,SAASipD,KAEb,IADFJ,EAAoBr+D,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,qBAEvB,OAAOnE,OAAOoF,SAAS4D,OAASw5D,CACjC,CCpBiB3/C,GAAyB+1B,KA6CzB/1B,GAAyB+1B,KAYzB/1B,GAAyBg9B,QAYzBh9B,GAAyB88B,cA6CzB98B,GAAyB+1B,KA6CzB/1B,GAAyB+1B,KA+BzB/1B,GAAyB+1B,KASzB/1B,GAAyBg9B,QASzBh9B,GAAyBggD,KClPnC,M7KuFDC,GAAiC,CACtCrwC,YAAQx0B,EACR8kE,oBAAgB9kE,EAChBu0B,kBAAcv0B,EACd+kE,sBAAkB/kE,EAClBib,kBAAcjb,EACd8mB,eAAW9mB,EACX4oB,SAAS,EACT6Y,QAAS,CACRugB,aAAa,GAEdh/C,MAAO,CAAC,EACRk3C,iBAAal6C,EACbqiC,gBAAYriC,EACZoiC,mBAAepiC,EACfglE,oBAAgBhlE,EAChBymB,yBAAqBzmB,EACrB4V,YAAa,GACbmnC,iCAAiC,EACjCC,qBAAsB,GACtBF,2BAA4BA,OAC5BD,aAAcA,OACdnb,WAAYA,OACZjL,gBAAiBA,OACjBwuC,gBAAiBA,OACjBnP,cAAeA,OACfoP,UAAWA,OACXC,kBAAmBA,OACnBC,eAAgBA,OAChBC,iBAAkBA,OAClB/iC,cAAeA,OACfd,kBAAmBA,QASpB,MAAM/M,IACL3oB,EAAAA,EAAAA,eAA2B+4D,IAiV5B,Y8KtMA,SAtPA,SAAiB9lE,GAA8B,IAA7B,eAAE4wB,GAAwB5wB,EAC3C,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACP4hE,EAAsBC,IAA2Bn5D,EAAAA,EAAAA,UAAS,KAC1DU,IAAYV,EAAAA,EAAAA,UAAS1K,MACrB0B,EAAMwsB,IAAWxjB,EAAAA,EAAAA,UAAqB,KACtCiU,EAAMwP,IAAWzjB,EAAAA,EAAAA,WAAS,IAC1BpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACpB,OAAE0R,IAAW/Q,EAAAA,EAAAA,YAAW8Q,KACxB,YAAEjI,IAAgB7I,EAAAA,EAAAA,YAAW0nB,IAoB7B1E,EAAUA,IAAMC,MAAMC,QAAQ7sB,IAASA,EAAKsB,OAAS,EAErDwrB,EAAYA,KAAOH,KAAa1P,EAIhCvR,EAAYvK,GAAiBA,EAAM,IAAM,EAFhC,UACA,UA+Bf,SAASmsB,EAAalC,EAAmBnK,GACxC,MAAM6P,EAAe1F,EACnB0F,aAAcmC,MAAM,EAAGivC,GACvBvhE,KAAI,CAACyhE,EAA2BjhE,KAChCqI,EAAAA,GAAAA,KAAC8kB,GAAW,CAAWhgB,GAAInN,EAAKoB,KAAM6/D,GAApBjhE,KAGpB,OACCyI,EAAAA,GAAAA,MAAA,OACCQ,UACCV,EACG,+BACA,sCAEJhF,MAAO,CACNsgB,OAAQ,oBACRC,WAAY,aAAahE,KACxBlY,SAAA,EACFa,EAAAA,GAAAA,MAAA,OACClF,MAAO,CACNmpB,MAAOnkB,EAAW,OAAS,OAE5BU,UAAU,yBAAwBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,0BAGN8qB,GAAeC,EAAS/qB,GAAGM,KAAI,CAAC4B,EAAMpB,KAErCyI,EAAAA,GAAAA,MAAA,OAECQ,UAAU,+CAA8CrB,SAAA,EACxDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,CAC1B1I,EAAEkC,EAAKyZ,MACPzZ,EAAKgiB,UACL/a,EAAAA,GAAAA,KAACgb,GAAO,CAACjiB,KAAMA,EAAKgiB,cAGtB/a,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAC9BxG,EAAKhM,UATF4K,MAcRqI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACR,iBAAhByJ,GACAhJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,8BAENmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,0BAIPsrB,GAAeP,EAAS/qB,GAAGM,KAAI,CAAC4B,EAAMpB,KAErCyI,EAAAA,GAAAA,MAAA,OAECQ,UAAU,+CAA8CrB,SAAA,EACxDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAarB,SAAA,CAC1B1I,EAAEkC,EAAKyZ,MACPzZ,EAAKgiB,UACL/a,EAAAA,GAAAA,KAACgb,GAAO,CAACjiB,KAAMA,EAAKgiB,cAGtB/a,EAAAA,GAAAA,KAAA,KAAAT,UACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,SAC9BxG,EAAKhM,YAVH4K,SAiBTyI,EAAAA,GAAAA,MAAA,OACClF,MAAO,CACNmpB,MAAOnkB,EAAW,OAAS,MAC3BI,OAAQJ,EAAW,GAAK,OACxButB,SAAU,OACVhS,WAAY,gCAEb7a,UAAWV,EAAW,OAAS,OAAOX,SAAA,EACtCS,EAAAA,GAAAA,KAAA,OAAKY,UAAWV,EAAW,MAAQ,YAAYX,UAC9CS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,qBAGPuJ,EAAAA,GAAAA,MAAA,SAAOQ,UAAU,mCAAkCrB,SAAA,EAClDS,EAAAA,GAAAA,KAAA,SAAAT,UACCa,EAAAA,GAAAA,MAAA,MAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAA,MAAIzB,MAAM,MAAKgB,SAAE1I,EAAE,WACnBmJ,EAAAA,GAAAA,KAAA,MAAIzB,MAAM,MAAKgB,SAAE1I,EAAE,WACnBmJ,EAAAA,GAAAA,KAAA,MAAIzB,MAAM,MAAKgB,SAAE1I,EAAE,kBAGrBmJ,EAAAA,GAAAA,KAAA,SAAAT,SAAQ+nB,OAGR1F,EAAQ0F,aAAaxvB,OAAS,IAC9B4gE,EAAuB92C,EAAQ0F,aAAaxvB,SAC3CsI,EAAAA,GAAAA,MAAA,OACC0B,QAASA,IACR62D,EACCD,EAAuB,IAGzB93D,UAAU,8CAA6CrB,SAAA,EACvDS,EAAAA,GAAAA,KAAA,YACAA,EAAAA,GAAAA,KAAA,QACC9E,MAAO,CACNigB,gBAAiB1D,GAChBlY,SACD1I,EAAE,eAEJmJ,EAAAA,GAAAA,KAAA,mBAMP,CAwBA,OAVAuP,EAAAA,EAAAA,YAAU,KACTwT,EAAetP,EAAMrd,EAAM,GAEzB,CAACqd,EAAMrd,KAEVmZ,EAAAA,EAAAA,YAAU,KACT2B,EAAO7f,SAASmxB,GAAOoX,UAlBxBhkC,iBACC,IACC,IAAIY,QAAawV,GAAuB3D,gBAAgBxR,GACxDmsB,EAAQxsB,GACY,IAAhBA,EAAKsB,QAAcmrB,GAAQ,EAChC,CAAE,MAAO7sB,GACRiN,GAASjN,GACT8lB,EAAS/lB,GAAwBC,IACjC6sB,GAAQ,EACT,CACD,CAQoC41C,GAAgB51C,GAAQ,EAAM,GAE/D,KAGFjjB,EAAAA,GAAAA,KAAA,OAAKY,UAAW,OAAOrB,SACrB4jB,KAAaG,KACbtjB,EAAAA,GAAAA,KAACib,GAAmB,CAEnBnW,GAAI,EACJvF,UA/K8Bq6B,EA+KKpjC,GA7KrCwJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEq6B,EAASziC,KAAI,CAACyqB,EAASjqB,KACvB,OACCqI,EAAAA,GAAAA,KAAA,OAECY,UAAU,iCAAgCrB,UAC1CS,EAAAA,GAAAA,KAACib,GAAmB,CAEnBnW,GAAInN,EACJ4H,SAAUukB,EAAalC,EAAS1f,EAASvK,IACzCmK,QAASA,OACToZ,SAvCY49C,EAwCXl3C,EAAQ/f,KAxCwBggB,EAyChCD,EAAQC,QAzCyC1B,EA0CjDyB,EAAQzB,KAxCd/f,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,+CAA8CrB,SAC3Du5D,EAAYr+C,cAAcwH,WAAW,MACnC62C,EAAYp1B,QAAQ,MAAO,IAAM,KAAOvjB,EAAM,IAC9C24C,EAAc,KAAO34C,EAAM,OAE/BngB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,2CAA0CrB,SACvDjL,EAAautB,EAAS,CACtBj4B,SAAU0L,IACV4F,MAAO,mBAiCLigB,gBAAiB,UACjB1D,MAAOvV,EAASvK,IAVXA,IAHDA,GAhCOurB,IAAC41C,EAAqBj3C,EAAiB1B,CA+C9C,OA2JPre,QAASA,OACTqZ,gBAAiB,QACjB1D,MAAO,UACPyD,SACC9a,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,cAAc1F,MAAO,CAAEmpB,MAAO,QAAS9kB,SAAA,EACrDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,SAAQrB,SAAA,EACtBS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACftU,MAAO,CAAEuc,MAAO,WAChB/H,KAAM,aACN9O,UAAU,oBAEXZ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,SACnB1I,EAAE,uBAGJysB,MACAtjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,wCAIlBwa,SAAU+H,IACV9H,SAAUiI,KAxBL,YA2BNltB,IACC4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CAACxI,QAAQ,SAASxT,UAAU,YAAWrB,SACtC,OAALnJ,QAAK,IAALA,OAAK,EAALA,EAAOO,YA1Mb,IAAkCijC,CAgNnC,EC5Pam/B,GAAoB5mE,IAMX,IANY,UACjCugB,EAAS,QACT5Q,EAAO,QACPnL,EAAO,KACP+Y,EAAI,MACJ+H,GACetlB,EACf,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,KAEd,OACCsJ,EAAAA,GAAAA,MAACoT,GAAAA,EAAK,CACL5S,UAAW,GAAGhY,EAAAA,EAAUC,UACxBmwE,gBAAgB,sBAChBvlD,KAAMf,EACNiB,WAAW,EACXE,SAAS,SACTD,UAAQ,EAAArU,SAAA,EACRS,EAAAA,GAAAA,KAACwT,GAAAA,EAAM0hB,MAAK,CAACt0B,UAAU,2BAA0BrB,SACnC,kBAAZ5I,EAA8BA,EAAUE,EAAE,mBAE5CuJ,EAAAA,GAAAA,MAACoT,GAAAA,EAAMS,KAAI,CAAA1U,SAAA,EACVS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC5xD,UAAU,cAAarB,SAC1BmQ,IACA1P,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAU,OAAJA,QAAI,IAAJA,EAAAA,EAAQ,uBACdwb,KAAK,KACLzT,MAAOA,OAIVzX,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC5xD,UAAU,mBAAkBrB,SACnB,kBAAZ5I,GACAyJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACE1I,EAAE,gBAAgB,KAACmJ,EAAAA,GAAAA,KAAA,SACnBnJ,EAAE,yBAAyB,KAACmJ,EAAAA,GAAAA,KAAA,SAC5BnJ,EAAE,4BAGJmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACE5I,EAAQtD,MAAM,MAAM8D,KAAI,CAAC8hE,EAAMthE,KAC/BqI,EAAAA,GAAAA,KAAA,OAAAT,SAAgB05D,GAANthE,UAKdqI,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAAAhB,UACTS,EAAAA,GAAAA,KAACuyD,GAAAA,EAAG,CAAC3xD,UAAU,qCAAoCrB,UAClDS,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CAACC,QAAQ,UAAUtS,QAASA,EAAQvC,SACzC1I,EAAE,6BAKA,ECtEG+e,GACD,IADCA,GAEL,SAFKA,GAGJ,UAHIA,GAKF,QALEA,GAQC,WARDA,GASF,QATEA,GAUE,YAVFA,GAWD,aAXCA,GAYI,kBAZJA,GAaM,oBAbNA,GAcS,mBAdTA,GAgBO,qBAhBPA,GAiBQ,mBC0HrB,SA3HA,WACC,MAAOsjD,EAAUC,IAAe35D,EAAAA,EAAAA,YAC1BmW,GAAWkwC,EAAAA,GAAAA,OAEjBt2C,EAAAA,EAAAA,YAAU,KAkBTrZ,YAjBA,SAASkjE,EAAgBC,GAAsB,IAADh8B,EAC7C,GAAI67B,GAA4B,IAAhBG,EAAmB,OAEnC,MAAMC,EAC4B,QADdj8B,EAAG5/B,eACrBnL,QAAQiB,EAAWoZ,qBAAa,IAAA0wB,OAAA,EADXA,EAEpBrjC,WAEH,IAAKs/D,EAAgB,CAGpB,YADApjE,WAAWkjE,EAAiB,IADLC,EAAc,EAGtC,CAEA,IAAIE,EAAe9sD,KAAKqW,MAAMw2C,GAC9BH,EAAYI,EACb,GAE4B,IAAK,GAAG,GAClC,CAACzjE,EAAAA,EAAQC,WAEZ,MAAMmK,EAAWpL,KACX,EAAE+B,IAAMC,EAAAA,EAAAA,MAEPgW,EAAO0sD,IAAYh6D,EAAAA,EAAAA,UAGvB,CACFi6D,UAAU,EACVC,cAAUtmE,KAGJwmC,EAAU+/B,IAAen6D,EAAAA,EAAAA,UAG7B,CACFi6D,UAAU,EACVC,cAAUtmE,KAEL,MAAE+d,IAAUhR,EAAAA,EAAAA,YAAW8Q,IAEvB2oD,EAAiB,CACtBC,UAAW,CACVC,OAAQ,MACRC,YAAa,UACbC,KAAM,UASR,OALAt6D,EAAAA,WAAgB,KACfu6D,KAAAA,UAAqBL,EAAe,GAElC,KAGF55D,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACb4R,GACAnR,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gCAA+BrB,UAC7Ca,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CAACK,UAAU,UAASrB,SAAA,EAC7BS,EAAAA,GAAAA,KAACirC,GAAU,KACX7qC,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CAACK,UAAWV,EAAW,OAAS,GAAGX,SAAA,EAC5CS,EAAAA,GAAAA,KAAC+4D,GAAiB,CACjBrmD,WACE5F,EAAM2sD,WAAa7/B,EAAS6/B,SAE9B33D,QAASA,KACR6T,EAASC,GAAiB,EAE3BlG,KACC5C,EAAM4sD,UAAY9/B,EAAS8/B,cACxBtmE,EACA,gBAEJuD,QACCmW,EAAM4sD,UAAY9/B,EAAS8/B,SACxB,gBACA7iE,EAAE,cAEN4gB,MAAM,aAGPrX,EAAAA,GAAAA,MAAA,MAAIQ,UAAU,iBAAgBrB,SAAA,CAC5B1I,EAAE,SAAU,IACZqiE,GACA94D,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACuB,OAArBzJ,EAAAA,EAAQC,SACNoG,GAAY+8D,GACZA,EAAS,OAGV,SAGLl5D,EAAAA,GAAAA,KAACk6D,GAAK,CACLn3C,eAAgBA,CACf02C,EACAC,KAEAF,EAAS,CAAEC,WAAUC,YAAW,KAGlC15D,EAAAA,GAAAA,KAACm6D,GAAQ,CACRp3C,eAAgBA,CACf02C,EACAC,KAEAC,EAAY,CAAEF,WAAUC,YAAW,aAOxC15D,EAAAA,GAAAA,KAAC0R,GAAa,KAIlB,E,eCvIA,MAiBA,GAjBepP,IAEblC,EAAAA,GAAAA,MAAA,OAAKQ,UAAW0B,EAAM1B,UAAUrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,SAAOY,UAAU,cAAarB,SAAE+C,EAAMjL,QACrCiL,EAAMrF,QACP+C,EAAAA,GAAAA,KAAA,YACKsC,EACJ1B,UACC0B,EAAMlM,MAAQ,yBAA2B,eAG1CkM,EAAMlM,QACN4J,EAAAA,GAAAA,KAAA,SAAOY,UAAU,gBAAerB,SAAE+C,EAAMlM,W,yBCHrC,MAAMgkE,GAAiBjoE,IAMvB,IANwB,gBAC9BkoE,EAAe,KACf16D,GAIAxN,EACA,MAAOiW,EAAckyD,IAAmB96D,EAAAA,EAAAA,UAAS,KAC1C+6D,EAAgBC,IAAqBh7D,EAAAA,EAAAA,UAAS,KAC9Cwc,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCpJ,EAAO8lB,GAAYxc,EAAAA,SAA6B,OACjD,EAAE7I,IAAMC,EAAAA,EAAAA,KACR2jE,GAAkB1oD,EAAAA,EAAAA,QAA8B,MAyDtD,OACC3R,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,SAAO6jD,QAAQ,gBAAgBjjD,UAAU,cAAarB,SACpD1I,EAAE,kBAEJmJ,EAAAA,GAAAA,KAAA,SACCY,UAAU,aACViB,KAAK,OACL9U,MAAOqb,EACPqiB,SAhEwBvzB,IAC1B,MAAMnK,EAAQmK,EAAEkb,OAAOrlB,MACvButE,EAAgBvtE,GAEZ0tE,EAAgBvoD,SACnBwoD,aAAaD,EAAgBvoD,SAG9BuoD,EAAgBvoD,QAAUhc,YAAWN,UACpC,GAAI7I,EAAM+K,QAAU,EAAG,CACtBmkB,GAAW,GAEX,IACC,MAAM1lB,QACCyV,GAAuB7D,8BAC5Bpb,GAGF,IAAKwJ,EACJ,MAAM,IAAIE,MAAMI,EAAE,6BAGnB,GAAwB,IAApBN,EAASuB,OAGZ,OAFA0iE,EAAkB,SAClBt+C,EAAS,IAAIzlB,MAAMI,EAAE,sBAGtBqlB,EAAS,MACTs+C,EAAkBjkE,EACnB,CAAE,MAAOyW,GACRkP,EACC/lB,GACC6W,aAAevW,MACZuW,EACA,IAAIvW,MAAMI,EAAE,kBAGlB,CAAC,QACAolB,GAAW,EACZ,CACD,MACCu+C,EAAkB,IAClBt+C,EAAS,KACV,GACE,IAAI,EAqBL+gB,YACCt9B,EAAK4Y,QAAQ+jB,MAAQ38B,EAAK4Y,QAAQ6jB,QAAUz8B,EAAK4Y,QAAQs0B,IACtD,GAAGltC,EAAK4Y,QAAQ6jB,QAAU,MAC1Bz8B,EAAK4Y,QAAQ+jB,MAAQ,MACjB38B,EAAK4Y,QAAQs0B,KAAO,KAAKrG,OAC7B3vC,EAAE,kBAGNmlB,IAAWhc,EAAAA,GAAAA,KAAC0R,GAAa,IAEzBtb,IAAS4J,EAAAA,GAAAA,KAAA,KAAGY,UAAU,QAAOrB,SAAEnJ,EAAMO,UAErC4jE,EAAeziE,OAAS,IACxBkI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,UACtCS,EAAAA,GAAAA,KAAA,MAAAT,SACEg7D,EAAepjE,KACf,CAACohB,EAA0BiL,KAC1BxjB,EAAAA,GAAAA,KAAA,MAEC8B,QAASA,KACR64D,OArCRN,EAD4BO,EAsCAriD,GApC5B+hD,EACCM,EAAgBriD,QAAU,IAAMqiD,EAAgBv+B,iBAEjDm+B,EAAkB,IALUI,KAuCpB,EAAAr7D,SACA,GAAGgZ,EAAQA,WAAWA,EAAQ8jB,cAJ1B7Y,WAWN,E,OC/FR,MAAMq3C,GAC6C,QAD5Bx9B,GACtB5/B,eAAenL,QAAQiB,EAAWoK,wBAAgB,IAAA0/B,IAAAA,GAC7Cy9B,GAAyC,OAAtBlyE,EAAAA,EAAUC,QAC7BkyE,GAAuB,CAAC,KAAM,KAAM,MAAM1pE,SAASzI,EAAAA,EAAUC,SAuSnE,SArSA,SAAsBsJ,GAA+C,IAAD6oE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAA7C,KAAEC,EAAI,YAAEjpD,EAAW,KAAEhT,GAAsBxN,EACjE,MAAOiE,EAAO8lB,GAAYxc,EAAAA,YACpB,EAAE7I,IAAMC,EAAAA,EAAAA,MACR,aACLmxD,EAAY,MACZvyC,EAAK,SACL7F,EAAQ,QACRqlD,EACAzR,WAAW,OAAE9a,EAAM,aAAEqsB,KAClB1O,EAAAA,GAAAA,IAAyB,CAC5BiP,cAAe,CACdh9C,QAAS,CACR6jB,QAAoB,QAAZ4+B,EAAAr7D,EAAK4Y,eAAO,IAAAyiD,OAAA,EAAZA,EAAc5+B,SAAU,GAChCyQ,KAAiB,QAAZouB,EAAAt7D,EAAK4Y,eAAO,IAAA0iD,OAAA,EAAZA,EAAcpuB,MAAO,GAC1BvQ,MAAkB,QAAZ4+B,EAAAv7D,EAAK4Y,eAAO,IAAA2iD,OAAA,EAAZA,EAAc5+B,OAAQ,GAC5BsQ,SAAqB,QAAZuuB,EAAAx7D,EAAK4Y,eAAO,IAAA4iD,OAAA,EAAZA,EAAcvuB,UAAW,GAClCE,iBAA6B,QAAZsuB,EAAAz7D,EAAK4Y,eAAO,IAAA6iD,OAAA,EAAZA,EAActuB,kBAAmB,IAEnDE,SAAU,CACTl0B,OAAoB,QAAbuiD,EAAA17D,EAAKqtC,gBAAQ,IAAAquB,OAAA,EAAbA,EAAeviD,QAAS,GAC/Bm0B,WAAwB,QAAbquB,EAAA37D,EAAKqtC,gBAAQ,IAAAsuB,OAAA,EAAbA,EAAeruB,YAAa,QAK1C19B,EAAAA,EAAAA,YAAU,KAAO,IAADssD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACfzmD,EAAM,CACL6C,QAAS,CACR6jB,QAAoB,QAAZy/B,EAAAl8D,EAAK4Y,eAAO,IAAAsjD,OAAA,EAAZA,EAAcz/B,SAAU,GAChCyQ,KAAiB,QAAZivB,EAAAn8D,EAAK4Y,eAAO,IAAAujD,OAAA,EAAZA,EAAcjvB,MAAO,GAC1BvQ,MAAkB,QAAZy/B,EAAAp8D,EAAK4Y,eAAO,IAAAwjD,OAAA,EAAZA,EAAcz/B,OAAQ,GAC5BsQ,SAAqB,QAAZovB,EAAAr8D,EAAK4Y,eAAO,IAAAyjD,OAAA,EAAZA,EAAcpvB,UAAW,GAClCE,iBAA6B,QAAZmvB,EAAAt8D,EAAK4Y,eAAO,IAAA0jD,OAAA,EAAZA,EAAcnvB,kBAAmB,IAEnDE,SAAU,CACTl0B,OAAoB,QAAbojD,EAAAv8D,EAAKqtC,gBAAQ,IAAAkvB,OAAA,EAAbA,EAAepjD,QAAS,GAC/Bm0B,WAAwB,QAAbkvB,EAAAx8D,EAAKqtC,gBAAQ,IAAAmvB,OAAA,EAAbA,EAAelvB,YAAa,KAEvC,GACA,CAACttC,EAAM+V,IACV,MA8BMilD,GAAsBnpD,EAAAA,EAAAA,cAC1BopD,IACA/qD,EAAS,iBAAkB+qD,EAAgBx+B,QAAU,IACrDvsB,EAAS,cAAe+qD,EAAgBv+B,YAAc,IACtDxsB,EAAS,eAAgB+qD,EAAgBt+B,MAAQ,GAAG,GAErD,CAACzsB,IAGF,OACC7P,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,2BAA0BvF,UACjCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,UAASrB,SAAA,EACvBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,QAAOrB,SAAE1I,EAAE,mBACzBT,IACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAMZ,OAAS9oB,GAAWmM,SAClCnJ,EAAMO,WAGTyJ,EAAAA,GAAAA,MAACg8D,GAAAA,EAAI,CAAC78B,SAAU0oB,GAnD8BryD,UAChD,MAAMymE,EAA2B,IAC7B18D,EACH4Y,QAAS,IACL5Y,EAAK4Y,WACL/hB,EAAK+hB,SAETy0B,SAAU,IACNrtC,EAAKqtC,YACLx2C,EAAKw2C,WAIJsvB,EAAc7+D,eAAenL,QAAQgL,MAC3C,GAAIg/D,GAAe7vD,KAAKC,UAAU2vD,KAAmBC,EACpD,UACOtwD,GAAuBmB,sBAC5BkvD,EACAxlE,GAED8b,EAAY0pD,EACb,CAAE,MAAOrvD,GACRkP,EAAS/lB,GAAwB6W,IACjC3W,QAAQD,MAAM4W,EACf,MAEA2F,EAAY0pD,EACb,IAwB0CE,YAAU,EAAAh9D,SAAA,CAChDs7D,KACAz6D,EAAAA,GAAAA,MAACmyD,GAAAA,EAAG,CAAAhzD,SAAA,EACHS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXS,EAAAA,GAAAA,KAACsiD,GAAK,CACLjrD,MAAOR,EAAE,YACT+kC,UAAU,EACV9gC,KAAM,wBACN/N,MAAO,IACW,QAAjBwuE,EAAA57D,EAAKiN,oBAAY,IAAA2uD,OAAA,EAAjBA,EAAmB1uD,YAAa,OACZ,QAAjB2uD,EAAA77D,EAAKiN,oBAAY,IAAA4uD,OAAA,EAAjBA,EAAmB5+B,WAAY,KACnC/6B,KAAM,YAGR7B,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXS,EAAAA,GAAAA,KAACsiD,GAAK,CACLjrD,MAAOR,EAAE,aACT+kC,UAAU,EACV9gC,KAAM,yBACN/N,OAAwB,QAAjB0uE,EAAA97D,EAAKiN,oBAAY,IAAA6uD,OAAA,EAAjBA,EAAmB5uD,YAAa,GACvChL,KAAK,YAGP7B,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXS,EAAAA,GAAAA,KAACsiD,GAAK,CACLjrD,MAAOR,EAAE,YACT+kC,UAAU,EACV9gC,KAAM,wBACN/N,OAAwB,QAAjB2uE,EAAA/7D,EAAKiN,oBAAY,IAAA8uD,OAAA,EAAjBA,EAAmB9+B,WAAY,GACtC/6B,KAAK,cAKRi5D,IACA96D,EAAAA,GAAAA,KAACo6D,GAAc,CAACC,gBAAiBM,EAAqBh7D,KAAOA,KAE7DS,EAAAA,GAAAA,MAACmyD,GAAAA,EAAG,CAAAhzD,SAAA,EACHS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXS,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACV5B,QAASA,EACTp6D,KAAK,iBACLi8D,OAAQ91D,IAAA,IAAAu7D,EAAAC,EAAA,IAAC,MAAExiC,GAAOh5B,EAAA,OACjBjB,EAAAA,GAAAA,KAACsiD,GAAK,IACDroB,EACJ5iC,MAAOR,EAAE,eACT+kC,UAAU,EACV/5B,KAAK,OACLzL,MACe,QADVomE,EACJ7zB,EAAOpwB,eAAO,IAAAikD,GAAQ,QAARC,EAAdD,EAAgBpgC,cAAM,IAAAqgC,OAAR,EAAdA,EAAwB9lE,SAExB,OAILqJ,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,EAAEvb,UACVS,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACV5B,QAASA,EACTp6D,KAAK,cACLi8D,OAAQtmC,IAAA,IAAAisC,EAAAC,EAAA,IAAC,MAAE1iC,GAAOxJ,EAAA,OACjBzwB,EAAAA,GAAAA,KAACsiD,GAAK,IACDroB,EACJ5iC,MAAOR,EAAE,OACTgL,KAAK,OACL+5B,UAAU,EACVxlC,MAAqB,QAAhBsmE,EAAE/zB,EAAOpwB,eAAO,IAAAmkD,GAAK,QAALC,EAAdD,EAAgB7vB,WAAG,IAAA8vB,OAAL,EAAdA,EAAqBhmE,SAC3B,OAILqJ,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,EAAEvb,UACVS,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACV5B,QAASA,EACTp6D,KAAK,eACLi8D,OAAQ31D,IAAA,IAAAw7D,EAAAC,EAAA,IAAC,MAAE5iC,GAAO74B,EAAA,OACjBpB,EAAAA,GAAAA,KAACsiD,GAAK,IACDroB,EACJ5iC,MAAOR,EAAE,QACTgL,KAAK,OACL+5B,UAAU,EACVxlC,MACe,QADVwmE,EACJj0B,EAAOpwB,eAAO,IAAAqkD,GAAM,QAANC,EAAdD,EAAgBtgC,YAAI,IAAAugC,OAAN,EAAdA,EAAsBlmE,SAEtB,UAMPyJ,EAAAA,GAAAA,MAACmyD,GAAAA,EAAG,CAAAhzD,SAAA,EACHS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXS,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACV5B,QAASA,EACTp6D,KAAK,iBACLi8D,OAAQz1D,IAAA,IAAAw7D,EAAAC,EAAA,IAAC,MAAE9iC,GAAO34B,EAAA,OACjBtB,EAAAA,GAAAA,KAACsiD,GAAK,IACDroB,EACJ5iC,MAAOR,EAAE,SACTgL,KAAK,QACL+5B,UAAU,EACVxlC,MAAsB,QAAjB0mE,EAAEn0B,EAAOqE,gBAAQ,IAAA8vB,GAAO,QAAPC,EAAfD,EAAiBhkD,aAAK,IAAAikD,OAAP,EAAfA,EAAwBpmE,SAC9B,OAILyJ,EAAAA,GAAAA,MAACoyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,SAAA,EACXa,EAAAA,GAAAA,MAACV,EAAAA,SAAc,CAAAH,SAAA,EACdS,EAAAA,GAAAA,KAAA,SACCY,UAAU,aACVijD,QAAQ,YAAWtkD,SAClB1I,EAAE,YAEJmJ,EAAAA,GAAAA,KAAC82D,GAAAA,GAAU,CACV5B,QAASA,EACTp6D,KAAK,qBACLi8D,OAAQv1D,IAAA,IAAAw7D,EAAAC,EAAAC,EAAA,IAAC,MAAEjjC,GAAOz4B,EAAA,OACjBxB,EAAAA,GAAAA,KAACm9D,KAAe,IACXljC,EACJmjC,WAAY,CACXtiE,KAAM,qBACNgK,GAAI,aAELu4D,eAAgB,oBACA,QAAfL,EAAAr0B,EAAOqE,gBAAQ,IAAAgwB,GAAfA,EAAiB/vB,UACd,aACA,IAEJqwB,cACCvC,GACG,CAAC,KAAM,KAAM,KAAM,MACnB,CAACnyE,EAAAA,EAAUC,SAEfA,QACE,CAAC,KAAM,KAAM,MAAMwI,SACnBzI,EAAAA,EAAUC,cAGRuK,EADAxK,EAAAA,EAAUC,QAGdkE,OACc,QAAbkwE,EAAAt9D,EAAKqtC,gBAAQ,IAAAiwB,OAAA,EAAbA,EAAehwB,YAAa,GAE7BxiB,SAAW19B,IACVktC,EAAMxP,SACL19B,EAAMk1B,WAAW,KACdl1B,EACA,IAAMA,EACT,EAEF04B,UACiB,QAAhBy3C,EAACv0B,EAAOqE,gBAAQ,IAAAkwB,GAAfA,EAAiBjwB,WAEnBswB,gBAAiB,CAChB,KACA,MACClsE,SAASzI,EAAAA,EAAUC,SACrB20E,qBACE,CAAC,KAAM,KAAM,MAAMnsE,SACnBzI,EAAAA,EAAUC,UAGX,KAGY,QAAf8yE,EAAAhzB,EAAOqE,gBAAQ,IAAA2uB,OAAA,EAAfA,EAAiB1uB,aACjBjtC,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CACrB77D,KAAK,UACL3G,MAAO,CAAEC,QAAS,SAAUoE,SAC3B1I,EAAE,sBAINmJ,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CAAC77D,KAAK,UAAStC,SACnC1I,EAAE,yBAINuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,gBAAerB,SAAA,EAC7BS,EAAAA,GAAAA,KAAA,SACCY,UAAU,6DACViB,KAAK,SACL+5B,SAAUo5B,EACVjoE,MAAO8J,EAAE,WAEVmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oCAAmCrB,UACjDa,EAAAA,GAAAA,MAAA,UACCyB,KAAK,SACLjB,UAAU,kCACVkB,QAAS85D,EAAKr8D,SAAA,EACdS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf5O,UAAU,YACV8O,KAAK,eAEL7Y,EAAE,uBAQX,E,eCvTA,MA4BA,GA5BwB1E,IAA0E,IAAzE,aAACya,EAAY,QAAE2L,EAAO,MAAEnF,EAAK,iBAAE0nD,GAAoC3oE,EAC3F,OACOiO,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACIS,EAAAA,GAAAA,KAAA,KAAAT,UACIa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI6T,EAAM,WAEdhT,EAAAA,GAAAA,MAAA,KAAGQ,UAAU,0BAAyBrB,SAAA,CACjCqN,EAAaC,UAAW,IACxBD,EAAagwB,UACd58B,EAAAA,GAAAA,KAAA,SACCuY,EAAQ6jB,QACTp8B,EAAAA,GAAAA,KAAA,SACC86D,GACG16D,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACKgZ,EAAQ+jB,KAAK,IAAE,IACf/jB,EAAQs0B,QAGbzsC,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACKgZ,EAAQs0B,IAAI,IAAE,IACdt0B,EAAQ+jB,KAAK,IAAE,IACf/jB,EAAQu0B,wBAItB,EC8NX,SA7OA,WAAqB,IAAD6wB,EAAAC,EAAAC,EACnB,MAAM,EAAEhnE,IAAMC,EAAAA,EAAAA,GAAe,CAC5BxD,EAAgB8jC,YAChB9jC,EAAgBwqE,aAGVC,EAASC,IAAcx+D,EAAAA,EAAAA,WAAS,IAChCy+D,EAAmBC,IAAwB1+D,EAAAA,EAAAA,WAAS,IACpD2+D,EAAaC,IAAkB5+D,EAAAA,EAAAA,WAAS,IAExCzS,GAASstB,GAA2B/c,OACpCulB,EAAUw7C,IAAe7+D,EAAAA,EAAAA,UAC/BiN,KAAKqW,MAAM/1B,EAAMiN,cAGX5D,EAAO8lB,IAAY1c,EAAAA,EAAAA,YAOpBo6D,EAAiB,CACtBC,UAAW,CACVC,OAAQ,MACRC,YAAa,UACbC,KAAM,UAIRt6D,EAAAA,WAAgB,KACfu6D,KAAAA,UAAqBL,EAAe,GAElC,IAqBH,MAAM15D,EAAWpL,IAEjB,OACCkL,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,YAAWvF,UAClBS,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAU,UAASrB,UAC7BS,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CACTuE,GAAG,sBACHlE,UAAWV,EAAW,GAAK,gBAAgBX,UAC3Ca,EAAAA,GAAAA,MAAA,OACClF,MAAO,CACNmpB,OAAQnkB,GAAY69D,EAAU,OAAS,GACvCO,OAAQ,QACP/+D,SAAA,EACAw+D,IACD39D,EAAAA,GAAAA,MAACm+D,GAAAA,GAASC,IAAG,CAAC15D,GAAG,qBAAoBvF,SAAA,EACpCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CACEnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAMZ,OAAS9oB,GAAWmM,SAClCnJ,EAAMO,UAEL,MACJyJ,EAAAA,GAAAA,MAAA,MAAIQ,UAAU,OAAMrB,SAAA,CACG,QADHo+D,EAClB96C,EAASjW,oBAAY,IAAA+wD,OAAA,EAArBA,EAAuB9wD,UACD,OAAtBjkB,EAAAA,EAAUC,QACR,IAAIg6B,EAASjW,aAAagwB,WAC1B,OAEJ58B,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,kBACNmJ,EAAAA,GAAAA,KAAA,UACAI,EAAAA,GAAAA,MAAA,KAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,SAAS,QACG,QADG+mE,EACpB/6C,EAASmqB,gBAAQ,IAAA4wB,OAAA,EAAjBA,EAAmB9kD,UAErB1Y,EAAAA,GAAAA,MAAA,KAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,SAAS,QACG,QADGgnE,EACpBh7C,EAASmqB,gBAAQ,IAAA6wB,OAAA,EAAjBA,EAAmB5wB,WACpBjtC,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf1N,QAASA,IAAMk8D,GAAYD,GAC3Bn9D,UAAU,+BACV8O,KAAK,aAGP1P,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAACy+D,GAAe,CACf7xD,aAAciW,EAASjW,aACvB2L,QAASsK,EAAStK,QAClBnF,MAAOvc,EAAE,0BACTikE,iBAAwC,OAAtBlyE,EAAAA,EAAUC,WAE7BmX,EAAAA,GAAAA,KAAA,SACC6iB,EAASkqB,iBACT/sC,EAAAA,GAAAA,KAAA,SAEA6iB,EAASkqB,iBACT/sC,EAAAA,GAAAA,KAACy+D,GAAe,CACf7xD,aAAciW,EAASjW,aACvB2L,QAASsK,EAASkqB,eAClB35B,MAAOvc,EAAE,uBACTikE,iBAAwC,OAAtBlyE,EAAAA,EAAUC,cAI7B4U,eAAenL,QAChBiB,EAAWoK,kBAEW,OAAtB/U,EAAAA,EAAUC,UACTuX,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KACC0B,QAASA,IACRo8D,GACED,GAGHr9D,UAAU,eAAcrB,SAAA,CACvB1I,EAAE,oBAAqB,KACxBmJ,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KACCuuD,EACG,aACA,oBAML,OADAp7C,EAAS4pB,gBAETzsC,EAAAA,GAAAA,KAAC0b,GAAAA,EAAc,CACdN,SAAU6iD,EACV1+D,UACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,CAC7BsjB,EACC4pB,cACAF,iBACDvsC,EAAAA,GAAAA,KAAA,KAAGY,UAAU,WAAUrB,SACrB1I,EACA,oBAIFmJ,EAAAA,GAAAA,KAAA,KAAGY,UAAU,WAAUrB,SACrB1I,EACA,sBAIHmJ,EAAAA,GAAAA,KAAA,UAEAA,EAAAA,GAAAA,KAAA,UACCY,UACC,qCAEDkB,QArIflM,iBACC,IAAI8oE,EAAe1tE,OAAOktC,OAAO,IAC7Brb,EACH4pB,cAAe,IACX5pB,EAAS4pB,cACZF,iBAAkB1pB,EAAS4pB,cAAcF,mBAI3C,UACOvgC,GACJmB,sBAAsBuxD,EAAc7nE,GACpCwV,MAAK,IAAMgyD,EAAYK,KACvBryD,MAAK,IAAM+xD,GAAe,IAC7B,CAAE,MAAOhoE,GACR8lB,EAAS/lB,GAAwBC,GAClC,CACD,EAsHgBmJ,SACAsjB,EACC4pB,cACAF,gBACC11C,EACA,gBAEAA,EACA,qBAGJmJ,EAAAA,GAAAA,KAAA,SACCm+D,IACCt7C,EACC4pB,cACAF,iBACDvsC,EAAAA,GAAAA,KAAA,KAAGY,UAAU,yBAAwBrB,SACnC1I,EACA,8BAIFmJ,EAAAA,GAAAA,KAAA,KAAGY,UAAU,yBAAwBrB,SACnC1I,EACA,+BAMN8kB,uBAAuB,QAM5B3b,EAAAA,GAAAA,KAAA,OAAAT,UACCS,EAAAA,GAAAA,KAACivC,EAAAA,GAAI,CAACt0B,GAAI/E,GAAiBrW,UAC1Ba,EAAAA,GAAAA,MAAA,UACCQ,UACC,iCACArB,SAAA,CACA1I,EAAE,YACHmJ,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACf5O,UAAU,OACV8O,KAAK,2BAQVquD,IACA/9D,EAAAA,GAAAA,KAAC2+D,GAAa,CACb/C,KAAMA,IAAMoC,GAAYD,GACxBprD,YAjNctE,IACpB2vD,GAAW,GACXK,EAAYhwD,EAAa,EAgNnB1O,KAAMkjB,YAQd,ECzOA,MAmCA,GAnC+B1wB,IAAwC,IAAvC,UAAEyO,GAA+BzO,EAChE,MAAM,EAAE0E,EAAC,KAAElF,IAASmF,EAAAA,EAAAA,KAiBpB,OACCkJ,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,8BAA8BlE,UAAW,GAAY,OAATA,QAAS,IAATA,EAAAA,EAAa,KAAKrB,UACrES,EAAAA,GAAAA,KAACm1B,GAAAA,EAAK,CACLt+B,EAAGA,EACHu+B,QAAQ,6BACRwpC,WAAY,EACX5+D,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KAAGoS,OAAO,SAAShX,KAtBPgf,MAChB,OAAQxxB,EAAAA,EAAUC,SACjB,IAAK,KACJ,OAAI8I,EAAKoE,WAAakG,GAAO,QAASrT,EAAAA,EAAUsI,WACxC,kCACI,+BACb,IAAK,KACJ,MAAO,qEACR,IAAK,KACJ,MAAO,iDACR,QACC,MAAO,IACT,EAU6BkpB,GAAYoK,IAAI,aAAYjlB,SAAC,+BAMpD,ECIR,SAjDA,WACC,MAAOnJ,EAAO8lB,GAAYxc,EAAAA,YACpB,EAAE7I,IAAMC,EAAAA,EAAAA,KA+Bd,OA7BA4I,EAAAA,WACC,MAOD9J,iBACC,MAAMmJ,EAAc,IAAIC,GAAAA,YAAYnB,GAAkB,UAEtD,IACC,IAAgD,IAA5C1I,OAAOoF,SAASC,OAAO7E,QAAQ,QAElC,YADAoJ,EAAY8/D,iBAEN,GAAI1pE,OAAOoF,SAASC,OAAO7E,QAAQ,SAAW,EAAG,CAAC,IAAD0nC,QACjDt+B,EAAY+/D,uBDtBflpE,iBACN,GAAK,CAAC,KAAM,KAAM,MAAMvE,SAASzI,EAAAA,EAAUC,SAI3C,UACOmjB,GAAuB/C,8BAC9B,CAAE,MAAO7S,GACRiN,GAASjN,EACV,CACD,CCaU2oE,GAEN,IAAIhyE,EAC2C,QADtCswC,EACR5/B,eAAenL,QAAQiB,EAAW+mB,oBAAY,IAAA+iB,EAAAA,EAAI,QACnDloC,OAAOoF,SAASmpC,QAAQ32C,EACzB,CACD,CAAE,MAAOqJ,GACRiN,GAASjN,GACT8lB,EAAS9lB,EACV,CACD,CAzBE4oE,EAAQ,GAGT,KAyBAh/D,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAU,qEAAoErB,SACvFnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAMZ,OAAS9oB,GAAWmM,UACkB,IAAnDnJ,EAAMO,QAAQhB,QAAQ,0BAAmF,IAAjDS,EAAMO,QAAQhB,QAAQ,sBAAgCkB,EAAE,iBAAmBT,EAAMO,WAG5IqJ,EAAAA,GAAAA,KAAC0R,GAAa,KAIlB,ECxCA,GAVuB,CACtB,eAAMhK,CAAUoR,GACf,MAAM,KAAEtiB,SAAeoV,KAAAA,KACtBjH,GAAU+C,UACVoR,QACMnV,MAEP,OAAOnN,CACR,G,+CCPM,MAAMyoE,GAAsBA,CAClClyE,EACAmf,EACAgzD,KACK,IAADC,EAAAC,EAEJ,IAAInvC,EADAivC,IAAgBA,EAAiB,IAAI97C,MAAMlX,IAE/C,IAAIuZ,GAAU,EAEI,IAAD45C,EAAjB,GAAInzD,IACH+jB,GAAQqvC,EAAAA,GAAAA,GAA2BvyE,EAAOmf,GAC1CuZ,IAAUwK,IACPA,EAAMsvC,eAA6B,QAAbF,EAAApvC,EAAMpnC,eAAO,IAAAw2E,OAAA,EAAbA,EAAe5kD,kBAA6B,OAAXvO,QAAW,IAAXA,OAAW,EAAXA,EAAauO,gBAGnEgL,GAAS,OAAOA,EAQrB,OALAwK,GAAQqvC,EAAAA,GAAAA,GAA2BvyE,GACnC04B,IAAUwK,IACPA,EAAMsvC,cAAgBL,EAAe7tE,SAAqC,QAA7B8tE,EAAc,QAAdC,EAACnvC,EAAMpnC,eAAO,IAAAu2E,OAAA,EAAbA,EAAe3kD,qBAAa,IAAA0kD,EAAAA,EAAI,KAG1E15C,CAAO,E,0DCIf,MAAM+5C,GAAkB,CAAC,KAAM,KAAM,MAAMnuE,SAASzI,EAAAA,EAAUC,SAE9D,IACa42E,IADZC,EAAAA,GAAAA,qBAAoB,CAAE5kE,KAAM,cAAelF,OAAO,GAAQ+pE,CAAAC,GAA3D,MAECC,QAAAA,CAAS1X,EAAsB3tC,GAE9B,OADAnkB,QAAQ4W,IAAI,cACLgyD,GACN9W,EACAv/D,EAAAA,EAAUC,QAAQmQ,cAClBwmE,GAAkB,CAAC,KAAM,KAAM,KAAM,MAAQ,IAAIp8C,MAAMx6B,EAAAA,EAAUC,QAAQmQ,eAE3E,CAEA8mE,cAAAA,CAAetlD,GACb,MAAO,cACT,KACEolD,GA+EUG,IA7EqBC,IAEhCC,EAAAA,GAAAA,YAAW,CACXtpE,QAAS,0BACRupE,IACDC,EAAAA,GAAAA,cAAQ/sE,EAAW,CACnBuD,QAAS,yBACRypE,IAKDH,EAAAA,GAAAA,cAAYI,IACZC,EAAAA,GAAAA,UAASb,GAAuB,CAChC9oE,QAAS,iBACR4pE,GAfI,MA4DNC,WAAAA,GAQG,IAPFC,EAA8BnnE,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,CAChCwf,MAAO,GACPm0B,UAAW,KA9DbyzB,EAAAA,GAAAA,GAAA,aAAAC,GAAA,OAUAD,EAAAA,GAAAA,GAAA,iBAAAE,GAAA,MA0DC9vD,KAAKgI,MAAQ2nD,EAAO3nD,MACpBhI,KAAKm8B,UAAYwzB,EAAOxzB,SAIzB,GACA0zB,IAAAE,EAAAA,GAAAA,GAAAN,GAAAO,UAAA,SAAAd,GAAAE,IAAA,CAAAa,cAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,YAAA,OAAAN,IAAAC,EAAAA,GAAAA,GAAAN,GAAAO,UAAA,aAAAV,GAAAC,IAAA,CAAAU,cAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,YAAA,OAE6BC,IAE5BlB,EAAAA,GAAAA,YAAW,CACXtpE,QAAS,qBACRyqE,IACDC,EAAAA,GAAAA,QAAO,EAAG,GAAI,CACd1qE,QAAS,0BACR2qE,IAGDrB,EAAAA,GAAAA,YAAW,CACXtpE,QAAS,qBACR4qE,IACDF,EAAAA,GAAAA,QAAO,EAAG,IAAM,CAChB1qE,QAAS,uBACR6qE,GAfI,MAkBNhB,WAAAA,GAKG,IAJFC,EAA0BnnE,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,CAC5Bi8C,QAAS,GACTj6C,KAAM,KApBRolE,EAAAA,GAAAA,GAAA,eAAAe,GAAA,OAQAf,EAAAA,GAAAA,GAAA,YAAAgB,GAAA,MAeC5wD,KAAKykC,QAAUkrB,EAAOlrB,QACtBzkC,KAAKxV,KAAOmlE,EAAOnlE,IACpB,GACAmmE,IAAAZ,EAAAA,GAAAA,GAAAW,GAAAV,UAAA,WAAAK,GAAAC,IAAA,CAAAL,cAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,YAAA,OAAAQ,IAAAb,EAAAA,GAAAA,GAAAW,GAAAV,UAAA,QAAAQ,GAAAC,IAAA,CAAAR,cAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,YAAA,OAAAM,IAE2BG,IAC1B1B,EAAAA,GAAAA,YAAW,CACXtpE,QAAS,qBACRirE,GAHI,MAMNpB,WAAAA,GAIG,IAHFC,EAAwBnnE,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,CAC1BuoE,YAAa,KACbnB,EAAAA,GAAAA,GAAA,mBAAAoB,GAAA,MAEDhxD,KAAK+wD,YAAcpB,EAAOoB,WAC3B,GACAC,IAAAjB,EAAAA,GAAAA,GAAAe,GAAAd,UAAA,eAAAa,IAAA,CAAAZ,cAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,YAAA,OCtKD,MAmGA,GAnGgB5a,CAACyb,EAAeC,EAAmBC,KAElD,MAAM,EAAEprE,IAAMC,EAAAA,EAAAA,MACP0oC,EAAQ0iC,IAAa1iE,EAAAA,EAAAA,UAAexO,OAAOktC,OAAO,CAAC,EAAG8jC,KACtDr5B,EAAQw5B,IAAa3iE,EAAAA,EAAAA,UAAS4iE,EAAW5iC,KACzCw1B,EAAcC,IAAmBz1D,EAAAA,EAAAA,WAAS,GAuC3C6iE,EAAeC,IACpBjsE,QAAQ4W,IAAIq1D,GACZ,IAAIC,EAAaH,EAAWz5B,GACxB25B,GACHA,EAAiBhxE,SAASkxE,IACzB,GAAIA,EAAIC,YAAa,CACpB,IAAIxxE,EAAOD,OAAOC,KAAKuxE,EAAIC,aAC3BF,EAAWC,EAAIE,UAAY7rE,EAAE2rE,EAAIC,YAAYxxE,EAAK,IACnD,KAGFkxE,EAAUI,EAAW,EAGtB,SAASH,EACRO,GAEE,IADFC,EAAmBtpE,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,IAAAA,UAAA,GAGnB,OAAOtI,OAAOktC,OACb,CAAC,KACG,SAAS2kC,EAASL,GACrB,MAAO,GAAGM,UACN9xE,OAAOC,KAAKuxE,GAAKrrE,KAAKQ,GACJ,kBAAb6qE,EAAI7qE,IAAkC,OAAb6qE,EAAI7qE,GACjCkrE,EAASL,EAAI7qE,IACbirE,EACE,CAAE,CAACjrE,GAAM6qE,EAAI7qE,IACb,CAAE,CAACA,GAAM,MAGjB,CAVI,CAUDgrE,GAEL,CAaA,OAXApzD,EAAAA,EAAAA,YAAU,UAGPnc,IADDpC,OAAOwuC,OAAOmJ,GAAQ1xC,MAAM8rE,GAAwB,KAAZA,KAExC/N,GAEA+M,EAASviC,EACV,GAEE,CAACmJ,IAEG,CACNsa,aApFqB/rD,IACrB,MAAM,KAAE4D,EAAI,MAAE/N,GAAUmK,EAAEkb,OACpB4wD,EAAUloE,EAAKzH,MAAM,KAAK,GAEhC6uE,GAAW/uD,GACAniB,OAAOktC,OAAOsB,EAAQ,CAC/B,CAACwjC,GAAU,IACP7vD,EAAK6vD,GACR,CAACloE,EAAKzH,MAAM,KAAK,IAAKtG,MAIvB,EAyEFk7D,aA/DoBryD,UACpBsB,EAAEwyD,iBAEFuY,EAAYA,EAAUG,EAAW5iC,GAAQ,IAEzC,IACCy1B,GAAgB,SACVgO,EAAAA,GAAAA,kBAAiBhB,SACjBI,GACP,CAAE,MAAOjsE,GACR6+D,GAAgB,SACVoN,EAAYjsE,EACnB,GAoDAopC,SACAmJ,SACAu6B,aAzEqBC,IACrBjB,GAAW/uD,IAAU,IACjBA,KACAgwD,KACD,EAsEH,ECyKF,SA7PA,WACC,MAAM,EAAEtsE,IAAMC,EAAAA,EAAAA,MACR,oBAAE+iB,EAAmB,YAAE7Q,IAAgB7I,EAAAA,EAAAA,YAAWyZ,IAClD1Z,EAAWpL,KACVsuE,EAAiBC,IAAsB7jE,EAAAA,EAAAA,WAAS,IAEhDzS,GAASstB,GAA2B/c,OACpCulB,IAAYrjB,EAAAA,EAAAA,UAAoBiN,KAAKqW,MAAM/1B,EAAMiN,cAEjDwlC,EAAQ0iC,IAAa1iE,EAAAA,EAAAA,UAAmB,CAC9ChJ,KAAM,CACL++C,QAAS,GACTD,UAAWzyB,EAASmqB,SAASl0B,MAC7Bxd,KAAM,GACN4Q,YAAatjB,EAAAA,EAAUC,YAInB,aAAEo6D,EAAY,aAAEgF,EAAY,OAAEtf,GAAgB2d,IA2CpD1wD,eAAsB4pC,GACrB,UACO8jC,GAAe57D,UAAU83B,EAAOhpC,MACtC+sE,EAAmBC,GAAgB,IACnCH,GAAmB,GACnBnB,EAAU,IACN1iC,EACHhpC,KAAM,CACL++C,QAAS,GACTD,UAAWzyB,EAASmqB,SAASl0B,MAC7Bxd,KAAM,GACN4Q,YAAatjB,EAAAA,EAAUC,WAGzB46E,GAAY,EACb,CAAE,MAAOrtE,GACRmtE,EAAmBC,GAAgB,GACpC,CACD,GA3DChkC,GAiBD,SAAsBgjC,GACrB,OAAO,IAAIzC,GAAkByC,EAC9B,IAfM5I,EAAiB,CACtBC,UAAW,CACVC,OAAQ,MACRC,YAAa,UACbC,KAAM,aAIRt6D,EAAAA,WAAgB,KACfu6D,KAAAA,UAAqBL,EAAe,GAElC,IAMH,MAAM4J,EAAmB9b,IAEvB1nD,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,SACjCmoD,GACAtnD,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAACc,GAAO,CAACC,IAAK,UAAWpK,QAASE,EAAE,eACpCmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,sBAGPmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCS,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CAACxI,QAAQ,SAAQ7U,SAAE1I,EAAE,uBAOzB6sE,EAAiBH,IAAsB/jE,EAAAA,EAAAA,WAASQ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,MAChDu7B,EAAU6nC,IAAejkE,EAAAA,EAAAA,WAAS,GAsBzC,OACCQ,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,eAAcvF,UACrBS,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAU,UAASrB,UAC7Ba,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CACTuE,GACC5E,EACG,2BACA,4BACHX,SAAA,EACDa,EAAAA,GAAAA,MAAA,OACCQ,UACCV,EAAW,WAAa,sBACxBX,SAAA,EACDS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,YAAWrB,SAAE1I,EAAE,gBAC7BmJ,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,iBACc,OAAnBgjB,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBlB,gBAAgBxhB,KACrC,CAACpK,EAAO4K,IACH5K,EAAMic,cAAgBA,GAExB5I,EAAAA,GAAAA,MAAA,OAAeQ,UAAkC,OAAtBhY,EAAAA,EAAUC,QAAmB,8BAAgC,GAAG0W,SAAA,CACnE,OAAtB3W,EAAAA,EAAUC,SACVmX,EAAAA,GAAAA,KAAA,KAAAT,UACCS,EAAAA,GAAAA,KAAA,KAAAT,SACE1I,EACA,wBAKHmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAEDD,EAAAA,GAAAA,MAAA,KAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,SAAS,aAGdzD,IAFArG,EAAM8rB,mBACLM,cAEoB,OAAtBvwB,EAAAA,EAAUC,SACTuX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,CAC1CxS,EACC8rB,mBACAE,YACD,IACA,IAAIliB,EACH,6BAED9J,EACC8rB,mBACAM,aACD,IACA,IAAItiB,EACH,sBAIHmJ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAEExS,EACE8rB,mBACAE,kBAKN3Y,EAAAA,GAAAA,MAAA,KAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,SAAS,QACd9J,EAAM8rB,mBAAmBC,cAG1B1lB,IADArG,EAAM8rB,mBAAmBc,QAEJ,OAAtB/wB,EAAAA,EAAUC,SACTuX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3CS,EAAAA,GAAAA,KAAA,KAAAT,UACCS,EAAAA,GAAAA,KAAA,KAAAT,SACE1I,EACA,oCAIHuJ,EAAAA,GAAAA,MAAA,KAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,SAAS,QAEd9J,EACE8rB,mBACAM,iBAGJ/Y,EAAAA,GAAAA,MAAA,KAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CAAI1I,EAAE,SAAS,QAEd9J,EACE8rB,mBACAc,cAKL3Z,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,MA7EQ1I,GAiFE,OAGf+rE,MAEAN,IACDhjE,EAAAA,GAAAA,MAAA,OACCQ,UACCV,EAAW,WAAa,uBACxBX,SAAA,EACDS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,kBACPuJ,EAAAA,GAAAA,MAACg8D,GAAAA,EAAI,CAAC78B,SAAU0oB,EAAcsU,YAAU,EAAAh9D,SAAA,EACvCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iCAAgCrB,SAAA,EAC9CS,EAAAA,GAAAA,KAAA,SAAOY,UAAU,cAAarB,SAC5B1I,EAAE,cAEJmJ,EAAAA,GAAAA,KAAA,SACClF,KAAM,eACN2vB,SAAUw4B,EACVriD,UACC+nC,EAAO4M,QACJ,yBACA,aAEJ1zC,KAAK,OACLwiD,aAAc7kB,EAAOhpC,KAAK++C,QAC1B3Z,SAAUA,IAEV+M,IACA3oC,EAAAA,GAAAA,KAAA,SAAOY,UAAU,gBAAerB,SAC9BopC,EAAO4M,cAIXn1C,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iCAAgCrB,SAAA,EAC9CS,EAAAA,GAAAA,KAAA,SAAOY,UAAU,cAAarB,SAC5B1I,EAAE,cAEJmJ,EAAAA,GAAAA,KAAA,YACClF,KAAM,YACN2vB,SAAUw4B,EACV/nD,MAAO,CACNyoE,UAAW,QACXrjE,OAAQ,SAETM,UACC+nC,EAAOrtC,KACJ,yBACA,aAEJ+oD,aAAc7kB,EAAOhpC,KAAK8E,KAC1BsgC,SAAUA,IACV+M,IACA3oC,EAAAA,GAAAA,KAAA,SAAOY,UAAU,gBAAerB,SAC9BopC,EAAOrtC,WAIX0E,EAAAA,GAAAA,KAAA,UACCY,UAAU,yBACViB,KAAK,SACL+5B,SAAUA,EAASr8B,SAClB1I,EAAE,sBASZ,ECxPA,SAfA,WACC,MAAM,EAAEA,IAAMC,EAAAA,EAAAA,KACR8sE,EAActpE,EAAAA,MAAkBnF,OAAOoF,SAASC,QAEtD,OACCwF,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAAAhB,UACTa,EAAAA,GAAAA,MAACwc,GAAAA,EAAK,CAACxI,QAAQ,SAASxT,UAAU,YAAWrB,SAAA,CAC3C1I,EAAE,yBACHmJ,EAAAA,GAAAA,KAAA,SACC4jE,EAAYhc,iBAIjB,ECkCA,SA9CA,WACC,MAAOxxD,EAAO8lB,GAAYxc,EAAAA,WAa1BA,EAAAA,WACC,MAZD9J,iBACC,MAAM+J,QAAaZ,GAAYa,UAE3BC,QAAQF,KACXZ,GAAY8kE,gBAAgB,CAC3BC,cAAermE,eAAenL,QAAQ,oBAEjCyM,GAAYglE,kBAEpB,CAIEC,EAAQ,GAGT,IAGD,MAAMC,EAAa,CAClB,oBACA,SACA,yBACA,sBAID,OAFAA,EAAWxyE,KAAKqD,IAAkB,GAAK,WAGtCkL,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAWqjE,EAAW38B,KAAK,KAAK/nC,SACzCnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAMZ,OAAS9oB,GAAWmM,SAClCnJ,EAAMO,WAGRqJ,EAAAA,GAAAA,KAAC0R,GAAa,KAIlB,ECjBA,MACA,GAAe,IAA0B,+ECqBzC,MACA,GAAe,IAA0B,yDCrD5BoY,GAA0B,CACtC,CACCo6C,OAAQ,OACRC,MAAOvuD,GACPpD,KAAM,QAEP,CACC0xD,OAAQ,WACRC,MAAOvuD,GACPpD,KAAM,mBAEP,CACC4xD,QAASC,GACTF,MAAOvuD,GACPpD,KAAM,aAEP,CACC0xD,OAAQ,eACRC,MAAOvuD,GACPpD,KAAM,YCTO,SAAS0B,KACvB,MAAM,EAAErd,EAAC,KAAElF,IAASmF,EAAAA,EAAAA,MACbwtE,EAAmBC,IAAwB/kE,EAAAA,EAAAA,WAAkB,IAC9D,gBAAEL,IAAoBgB,EAAAA,EAAAA,YAAWlB,KACjC,oBAAE4a,EAAmB,YAAE7Q,IAAgB7I,EAAAA,EAAAA,YAAWyZ,IAElD4qD,EAAYrvE,OAAOoF,SAASC,OAAOigB,cACnCgqD,EAAUtvE,OAAOoF,SAASggB,SAASE,eAClCrC,EAAOssD,IAAYllE,EAAAA,EAAAA,YAsB1B,OApBA+P,EAAAA,EAAAA,YACC,KAEEi1D,EAAUnzE,SAAS,gBACnBozE,EAAQpzE,SAAS,eAEjBkzE,GAAqB,GAErBA,GAAqB,EACtB,GAED,KAGDh1D,EAAAA,EAAAA,YAAU,KACLsK,GACH6qD,EAAS7qD,EAAoBzB,QAC9B,GACE,CAACyB,EAAqBloB,EAAKoE,YAG7BiK,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,SAAQvF,SACdJ,QAA2C/L,IAAxBymB,IACnB7Z,EAAAA,GAAAA,KAAA,OACCY,UACC0jE,EACG,oCACA,mBACH/kE,UACDa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,6BAA4BrB,SAAA,EAC1CS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCS,EAAAA,GAAAA,KAAA,OAAKU,IAAKikE,GAAqB9jE,IAAI,kBAEpCT,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAgBrB,SAAA,EAC9BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6BAA4BrB,SACzCvO,OAAOyI,QACPogB,EAAoBtB,SACnBphB,KAAIhF,IAAmB,IAAjBwF,EAAK5K,GAAMoF,EAClB,OACC6N,EAAAA,GAAAA,KAAA,QAAMY,UAAWjJ,EAAI4H,SACnB1I,EAAE9J,IADuB4K,EAEpB,MAIR2sE,EAWE,MAVHlkE,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kCAAiCrB,SAAA,EAC/CS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,wBACRizB,GAAU3yB,KAAI,CAAC6D,EAAM0oB,KACrB1jB,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAACivC,EAAAA,GAAI,CAACt0B,GAAI3f,EAAKmpE,MAAM5kE,SACnB1I,EAAEmE,EAAKwX,SAFCkR,SAQdtjB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,uBAAsBrB,SAAA,EACpCS,EAAAA,GAAAA,KAAA,QAAAT,SAAM,iBACYnM,KAAZ,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOC,SACPrY,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAMgd,EAAMC,MAAMrd,KAClBwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,oBAIYzD,KAAZ,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOgB,SACPpZ,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAW,OAALgd,QAAK,IAALA,OAAK,EAALA,EAAOgB,MAAMpe,KACnBwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,kBAI4BzD,KAA5B,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOiB,yBACPrZ,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KACCgd,EAAMiB,sBAAsBre,KAE7BwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,kCAImBzD,KAAnB,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOkB,gBACPtZ,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAMgd,EAAMkB,aAAate,KACzBwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,yBAIezD,KAAf,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOmB,YACPvZ,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAMgd,EAAMmB,SAASve,KACrBwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,iBAIczD,KAAd,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOoB,WACPxZ,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAMgd,EAAMoB,QAAQxe,KACpBwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,oBAIqBzD,KAArB,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOqB,kBACPzZ,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAMgd,EAAMqB,eAAeze,KAC3BwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,2BAIgBzD,KAAhB,OAALglB,QAAK,IAALA,OAAK,EAALA,EAAOsB,aACP1Z,EAAAA,GAAAA,KAAA,QAAAT,UACCS,EAAAA,GAAAA,KAAA,KACCoS,OAAO,SACPhX,KAAMgd,EAAMsB,UAAU1e,KACtBwpB,IAAI,sBAAqBjlB,SACxB1I,EAAE,oBAKNgjB,EAAoBlB,gBAAgBxhB,KACpC,CAACpK,EAAO4K,IACH5K,EAAMic,cAAgBA,GAExB5I,EAAAA,GAAAA,MAAA,OAKCQ,UAAU,+BAA8BrB,SAAA,EACxCS,EAAAA,GAAAA,KAAA,QAAAT,SACE1I,EAAE,qBAGJ,OADCgjB,EAAoBhxB,SAEpBuX,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCa,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,oBAAmBrB,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,YACL9O,UAAU,SAEV7T,EACC8rB,mBACAE,YACD,IACA,IAAIliB,EACH,gCAGHuJ,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,oBAAmBrB,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,YACL9O,UAAU,SAEV7T,EACC8rB,mBACAM,aACD,IACA,IAAItiB,EACH,yBAKJuJ,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,oBAAmBrB,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,YACL9O,UAAU,SAGV7T,EACE8rB,mBACAE,gBAIL3Y,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,oBAAmBrB,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,WACL9O,UAAU,SACR,IAEF7T,EAAM8rB,mBACJC,SAIJ,OADCe,EAAoBhxB,SAEpBuX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mCAAkCrB,SAAA,EAC/CS,EAAAA,GAAAA,KAAA,QAAAT,SACE1I,EACA,kCAGFuJ,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,oBAAmBrB,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,YACL9O,UAAU,SAGV7T,EACE8rB,mBACAM,iBAGJ/Y,EAAAA,GAAAA,MAAA,QAAMQ,UAAU,oBAAmBrB,SAAA,EAClCS,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,WACL9O,UAAU,SACR,IAEF7T,EACE8rB,mBACAc,cAKN3Z,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,MA5FA,0BACA1I,GA+FU,WAIjBqI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCS,EAAAA,GAAAA,KAAA,OAAAT,UACCa,EAAAA,GAAAA,MAAA,KACC0E,GAAG,mBACHlE,UAAU,oCAAmCrB,SAAA,CAAC,SAC3C,IAAIqX,MAAO2S,cAAe,IAC5B1P,EAAoB1B,uBAS9B,CAEO,SAASysD,KACf,MAAM,oBAAE/qD,EAAmB,YAAE7Q,IAAgB7I,EAAAA,EAAAA,YAAWyZ,KAClD,EAAE/iB,IAAMC,EAAAA,EAAAA,KAEd,OACCkJ,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,SAAQvF,UACfS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAACuyD,GAAAA,EAAG,CAAAhzD,UACHa,EAAAA,GAAAA,MAACoyD,GAAAA,EAAG,CAAAjzD,SAAA,EACHa,EAAAA,GAAAA,MAAA,OAAK0E,GAAG,mBAAkBvF,SAAA,EACzBS,EAAAA,GAAAA,KAAA,OACCU,IAAKmkE,GACLhkE,IAAI,eAEJ,SAAK,IAAI+V,MAAO2S,sBACQn2B,IAAxBymB,EACG,aACmB,OAAnBA,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB1B,gBAG1B/X,EAAAA,GAAAA,MAAA,OAAK0E,GAAG,iBAAgBvF,SAAA,CACH,OAAnBsa,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBlB,gBAAgBxhB,KACrC,CAACpK,EAAO4K,IACH5K,EAAMic,cAAgBA,GAExB5I,EAAAA,GAAAA,MAAA,OAAAb,SAAA,CAEC,OADCsa,EAAoBhxB,SAEpBuX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3CS,EAAAA,GAAAA,KAAA,KACC5E,KAAM,OAAOrO,EAAM8rB,mBAAmBE,cAAcxZ,SACnDxS,EACC8rB,mBACAE,YACD,MAAMliB,EACL,gCAGHmJ,EAAAA,GAAAA,KAAA,KACC5E,KAAM,OAAOrO,EAAM8rB,mBAAmBM,eAAe5Z,SACpDxS,EACC8rB,mBACAM,aACD,MAAMtiB,EACL,yBAKJuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3CS,EAAAA,GAAAA,KAAA,KACC5E,KAAM,OAAOrO,EAAM8rB,mBAAmBE,cAAcxZ,SAEnDxS,EACE8rB,mBACAE,cAGH,OAIH,OADCc,EAAoBhxB,SAEpBuX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,8BAA6BrB,SAAA,EAC3CS,EAAAA,GAAAA,KAAA,KACC5E,KAAM,OAAOrO,EAAM8rB,mBAAmBM,eAAe5Z,SAEpDxS,EACE8rB,mBACAM,eAGH,QAGFnZ,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,MAlDQ1I,GAsDE,YAGSvE,IAAxBymB,GACA7oB,OAAOyI,QACa,OAAnBogB,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBtB,SACpBphB,KAAI8J,IAAmB,IAAjBtJ,EAAK5K,GAAMkU,EAClB,OAAQtJ,GACP,IAAK,iBACJ,OAAO5K,EACR,IAAK,gBACJ,MAAO,GACR,QACC,OAAOA,EAAQ,KACjB,eAQT,CClUA,SAtDA,Y5OCO,WACN,IAAI+3E,EAA0B,IAArB3vE,OAAOu7C,YAChBz9C,SAASC,gBAAgBgI,MAAM6pE,YAAY,OAAQ,GAAGD,OACtD3vE,OAAOkd,iBAAiB,UAAU,KACjC,IAAIyyD,EAA0B,IAArB3vE,OAAOu7C,YAChBz9C,SAASC,gBAAgBgI,MAAM6pE,YAAY,OAAQ,GAAGD,MAAO,GAE/D,C4OPCE,GAEA,MAAM,EAAEnuE,IAAMC,EAAAA,EAAAA,KACRmuE,EAAON,GACPhvD,GAAWkwC,EAAAA,GAAAA,MAgBjB,OAdAt2C,EAAAA,EAAAA,YAAU,MAIV,WACC,MAAMxQ,EAAc,IAAIC,GAAAA,YAAYnB,MAEpCkB,EAAYmmE,0BAA0B74D,MAAK,KAC1C5O,eAAe0nE,OAAO,IAGvBpmE,EAAYglE,iBACb,CAXCC,EAAQ,GACN,KAaFhkE,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,aAAYvF,UACnBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,4BAA2BrB,UACzCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kFAAiFrB,SAAA,EAC/FS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,IAAKukE,EACLrkE,UAAU,wCACVC,IAAI,gBAELT,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CAACK,UAAU,aAAYrB,SAAA,EAChCS,EAAAA,GAAAA,KAAA,MAAIY,UAAU,OAAMrB,SAAE1I,EAAE,gBACxBuJ,EAAAA,GAAAA,MAAA,UACCQ,UAAU,6BACVkB,QAASA,IACR6T,EACuB,OAAtB/sB,EAAAA,EAAUC,QACP+sB,GACAA,IAEJrW,SAAA,CACA1I,EAAE,SAAU,KACbmJ,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CACfE,KAAK,cACL9O,UAAU,gBAIbZ,EAAAA,GAAAA,KAAC4kE,GAAe,UAKrB,E,0BC5CA,MAAMQ,GAAY,CACjB1xE,GAAI,sCACJE,GAAI,+CACHhL,EAAAA,EAAUC,SA4SZ,GA1SmBsJ,IAA8C,IAA7C,QAAEy9D,EAAUA,QAA2Bz9D,EAC1D,MAAM,EAAE0E,IAAMC,EAAAA,EAAAA,MACPklB,EAASC,IAAczc,EAAAA,EAAAA,WAAS,IAChCw1B,EAAYqwC,IAAiB7lE,EAAAA,EAAAA,UAAS,KACtC8lE,EAAWC,IAAgB/lE,EAAAA,EAAAA,UAAS,KACpCu7C,EAAKC,IAAUx7C,EAAAA,EAAAA,UAAS,KACxBgmE,EAAQC,IAAajmE,EAAAA,EAAAA,UAAS,KAC9BkmE,EAAMC,IAAWnmE,EAAAA,EAAAA,WAAS,IAE1BpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,UAAiB,CAC1Cw1B,gBAAY5hC,EACZkyE,eAAWlyE,EACXgD,WAAOhD,EACP2nD,SAAK3nD,IAGAwyE,EAAahwE,MAAO0vE,EAAmBtwC,KAC5C,IAAIhoB,EAAc,CACjBgoB,gBAAY5hC,EACZkyE,eAAWlyE,EACXgD,WAAOhD,EACP2nD,SAAK3nD,GAWN,GATA8oB,EAASlP,GAEJ,UAAUjY,KAAKuwE,KACnBt4D,EAAIs4D,UAAY,IAAI7uE,MAAMI,EAAE,mBAGxB,aAAa9B,KAAKigC,KACtBhoB,EAAIgoB,WAAa,IAAIv+B,MAAMI,EAAE,mBAE1BmW,EAAIs4D,WAAat4D,EAAIgoB,WAExB,YADA9Y,EAASlP,GAIV,MAAM64D,G1BxBkCC,E0BwBaR,G1BtBhC77C,MAAM,EAAG,GAC9B,IACAq8C,EAAqBr8C,MAAM,EAAG,GAC9B,IACAq8C,EAAqBr8C,MAAM,EAAG,GANzB,IAAmCq8C,E0B0BxC7pD,GAAW,GAEX,IACC,MAAQupD,OAAQO,SACTC,GAAsBlgE,gBAC3B,CACCw/D,UAAWO,EACX7wC,WAAYA,EACZixC,UAAWvO,MAEZ7gE,GAEF4uE,EAAUM,EACX,CAAE,MAAO7uE,GAAS,IAADgvE,EAAAC,EAChB9iE,GAASnM,GACT,MAAMkvE,EAAKlvE,EAMX,GALIkvE,EAAGzvE,QAAQtF,SAAS,SACvB2b,EAAI5W,MAAQ,IAAIK,MAAMI,EAAE,wBACxBqlB,EAASlP,GACTu4D,EAAa,KAEC,QAAfW,EAAIE,EAAG7vE,gBAAQ,IAAA2vE,GAAM,QAANC,EAAXD,EAAa1vE,YAAI,IAAA2vE,GAAjBA,EAAmBxvE,QAAS,CAC/B,MAAM,QAAEA,GAAiCO,EAAEX,SAASC,KAChDG,EAAQ8jB,cAAcppB,SAAS,cAClC2b,EAAIs4D,UAAY,IAAI7uE,MAAMI,EAAE,qBAC5BqlB,EAASlP,IACCrW,EAAQ8jB,cAAcppB,SAAS,gBACzC2b,EAAIgoB,WAAa,IAAIv+B,MAAME,GAC3BulB,EAASlP,GAEX,MACCA,EAAI5W,MAAQ,IAAIK,MAAMI,EAAE,wBACxBqlB,EAASlP,EAEX,CACAiP,GAAW,EAAM,EAGZoqD,EAAgBzwE,UACrB,IAAIoX,EAAc,CACjBgoB,gBAAY5hC,EACZkyE,eAAWlyE,EACXgD,WAAOhD,EACP2nD,SAAK3nD,GAGN,GADA8oB,EAASlP,IACJ,YAAYjY,KAAKgmD,GAGrB,OAFA/tC,EAAI+tC,IAAM,IAAItkD,MAAMI,EAAE,oBACtBqlB,EAASlP,GAIViP,GAAW,GACX,UACO+pD,GACJjgE,mBAAmBy/D,EAAQzqB,EAAK/lB,EAAYn+B,GAC5CwV,MAAKpL,IAAA,IAAC,YAAEqlE,EAAad,OAAQO,GAAW9kE,EAAA,OACxC+kE,GAAsB/+D,WACrBq/D,GAAe5O,KACfqO,EACA,IAED15D,MAAK,IAAMs5D,GAAQ,IACtB,CAAE,MAAOzuE,GAAS,IAADqvE,EAAAC,EAChBnjE,GAASnM,GACTb,QAAQ4W,IAAI/V,GACZ,MAAMkvE,EAAKlvE,EAKX,GAJIkvE,EAAGzvE,QAAQtF,SAAS,SACvB2b,EAAI5W,MAAQ,IAAIK,MAAMI,EAAE,wBACxBqlB,EAASlP,IAEK,QAAfu5D,EAAIH,EAAG7vE,gBAAQ,IAAAgwE,GAAM,QAANC,EAAXD,EAAa/vE,YAAI,IAAAgwE,GAAjBA,EAAmB7vE,QAAS,CAC/B,MAAM,QAAEA,GAAiCO,EAAEX,SAASC,KAChDG,EAAQ8jB,cAAcppB,SAAS,OAClC6qB,EAAS,IACL9lB,EACH2kD,IAAK,IAAItkD,MAAMI,EAAE,iBAERF,EAAQ8jB,cAAcppB,SAAS,eACzC6qB,EAAS,IACL9lB,EACH4+B,WAAY,IAAIv+B,MAAME,IAGzB,MACCqW,EAAI5W,MAAQ,IAAIK,MAAMI,EAAE,wBACxBqlB,EAASlP,EAEX,CACAiP,GAAW,EAAM,EAKlB,IAFA1M,EAAAA,EAAAA,YAAU,QAAU,CAACnZ,IAEjB4lB,EACH,OAAOhc,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,mBAGhB,MAAM2hE,EAAmBC,GAAgBA,EAAIrzE,MAAM,KAAKszE,UAAUr/B,KAAK,IAEvE,OACClnC,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oFAAmFrB,SAAA,EACjGS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,+BACfZ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,UAC3BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,WAAUrB,UACxBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACjCmmE,IACDtlE,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACEnJ,EAAMA,QACN4J,EAAAA,GAAAA,KAACmB,GAAkB,CAClBJ,IAAI,gBACJpK,QAASP,EAAMA,MAAMO,UAGtB6uE,GACAplE,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAC4mE,GAAAA,EAAW,CACX3pC,YAAapmC,EAAE,OACf+J,UAAU,OACV9F,KAAK,MACLgK,GAAG,MACH+hE,WAAS,EACTp8C,SAAUgG,IAAA,IACTk8B,eAAe,MAAE5/D,IACjB0jC,EAAA,OAAKuqB,EAAOjuD,EAAM,EACnB+5E,YAAa1wE,EAAM2kD,IACnBsJ,aAActJ,EACdl5C,KAAK,MACL,UAAQ,MACRklE,UACC7vE,IAEU,UAAVA,EAAES,KACD0uE,GAAe,IAGjBjwE,EAAM2kD,MACN/6C,EAAAA,GAAAA,KAACuB,GAAe,CACfR,IAAI,gBACJpK,QAASP,EAAM2kD,IAAIpkD,cAKtByJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAC4mE,GAAAA,EAAW,CACX3pC,YAAapmC,EAAE,iBACf+J,UAAU,OACV9F,KAAK,aACLgK,GAAG,aACH,UAAQ,aACR2lB,SAAUrpB,IAAA,IACTurD,eAAe,MAAE5/D,IACjBqU,EAAA,OAAKikE,EAAct4E,EAAM,EAC1Bs3D,aAAcrvB,EACdnzB,KAAK,SAEN7B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,UAC3Ba,EAAAA,GAAAA,MAAC+0B,GAAAA,EAAK,CACLt+B,EAAGA,EACHu+B,QAAQ,wBACRwpC,WAAY,EAEX5+D,EAAAA,GAAAA,KAAA,KACCY,UAAU,YACVxF,KAAMgqE,GACNhzD,OAAO,SACPoS,IAAI,gBAEJjlB,SAAA,CAAC,0CAEQ,KACXS,EAAAA,GAAAA,KAAA,KACCY,UAAU,YACVxF,KAAK,uCACLgX,OAAO,SACPoS,IAAI,aAAYjlB,SAAC,SAEd,SAILnJ,EAAM4+B,aACNh1B,EAAAA,GAAAA,KAACuB,GAAe,CACfR,IAAI,gBACJpK,QACCP,EAAM4+B,WAAWr+B,cAKrByJ,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAACxI,GAAAA,EAAY,CACZwvE,cAAgBj6E,GACfw4E,EACCx4E,EAAMk6E,gBAGRxvE,OAAO,aACPwlC,YAAapmC,EAAE,SAEfqwE,KAAM,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KACnCrlE,KAAK,MACLslE,iBAAiB,EACjB,UAAQ,YACRJ,UACC7vE,IAEU,UAAVA,EAAES,KACDiuE,EACCa,EACCnB,GAEDtwC,EACA,EAEHp0B,UAAU,kBAEXZ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,SAC1B1I,EAAE,0BAEHT,EAAMkvE,YACNtlE,EAAAA,GAAAA,KAACuB,GAAe,CACfR,IAAI,gBACJpK,QACCP,EAAMkvE,UAAU3uE,iBAOtBqJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gDAA+CrB,UAC7DS,EAAAA,GAAAA,KAACmU,GAAAA,EAAM,CACNC,QAAQ,UACR,UAAQ,gBACRtS,QAASA,IACR0jE,EACGa,IACAT,EACAa,EACCnB,GAEDtwC,GAEHz1B,SACA1I,EAAE,0BAQL,ECpQR,SAnDA,SAAoC1E,GAIA,IAJC,QACpCy9D,EAAUA,OAAQ,eAClBwX,EAAc,iBACdC,GACgCl1E,EAChC,MAAO6pB,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,GAC1C8nE,EAAe,kBAAoBD,GAiBnC,EAAExwE,IAAMC,EAAAA,EAAAA,KAIRywE,GACLvnE,EAAAA,GAAAA,KAAA,OAECY,UAAU,uBAAsBrB,UAChCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,YAFDuwE,GAKP,OACCpnE,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACbyc,GACAhc,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gEAA+DrB,UAC7ES,EAAAA,GAAAA,KAAC0R,GAAa,OAGftR,EAAAA,GAAAA,MAAA,OACC0B,QAASA,IAlCblM,iBACCqmB,GAAW,GACX,IACC,MAAMqqD,QACCN,GAAsBwB,+BAC3BJ,GAEFjyE,OAAOoF,SAASa,KAAOkrE,CACxB,CAAE,MAAOlwE,GACRiN,GAASjN,GACTw5D,EAAQx5D,GACR6lB,GAAW,EACZ,CACD,CAqBmBwrD,GACf7mE,UAAU,4FAA2FrB,SAAA,EACrGS,EAAAA,GAAAA,KAAA,OAAKY,UAAW0mE,KAChBtnE,EAAAA,GAAAA,KAAA,OAAAT,SAAMgoE,QAKX,ECuGA,GAzIwBG,KACvB,MAAM,EAAE7wE,IAAMC,EAAAA,EAAAA,MACPklB,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,IACzCgmE,EAAQC,IAAajmE,EAAAA,EAAAA,UAAS,KAC9BkmE,EAAMC,IAAWnmE,EAAAA,EAAAA,WAAkB,IACnCvH,IAAUuH,EAAAA,EAAAA,UAAiB5W,EAAAA,EAAUC,UACrCuN,EAAO8lB,IAAY1c,EAAAA,EAAAA,YAEpBmoE,EAAqB/pC,GAC1BvpB,GAAa8oB,eACb,CACC5D,SAAU,QACVoF,UAAW,QACX1mC,OAAQA,EACRutB,OAAQnxB,IACRuqC,WAAY,GACZE,gBAAiBjoC,EAAE,oBACnBgoC,qBAAqB,EACrBE,iBAAkBloC,EAAE,iBAErBzD,GAGKw0E,EAAwBhqC,GAC7BvpB,GAAaqpB,gBACb,CACCnE,SAAU,WACVoF,UAAW,WACX1mC,OAAQA,EACRutB,OAAQnxB,IACRuqC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiBjoC,EAAE,oBACnBkoC,iBAAkBloC,EAAE,iBAErBzD,GAmED,OACC4M,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,SAClCyc,GACAhc,EAAAA,GAAAA,KAAC0R,GAAa,KAEbg0D,IACAtlE,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,uBAENT,IAAS4J,EAAAA,GAAAA,KAACuB,GAAe,CAAC5K,QAASP,EAAMO,UACzC6uE,GACAxlE,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYkpC,EACZxoC,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWwb,GAhDInlD,WACrBsmB,OAAS9oB,GACT6oB,GAAW,GAEX,IACC,MAAM1lB,QAAiByvE,GAAsB6B,YAC5C,CACCrC,SACAzqB,IAAK+sB,EAAW/sB,IAChBkrB,UAAWvO,MAEZ7gE,GAED8uE,GAAQ,GACRK,GAAsB/+D,WACrB1Q,EAAS+vE,aAAe5O,KACxBnhE,EAASivE,OAEX,CAAE,MAAOtuE,GAAI,IAAD6wE,EACX1xE,QAAQ4W,IAAI/V,GACZ,MACMR,EAAmB,QAAbqxE,EADF7wE,EACOX,gBAAQ,IAAAwxE,OAAA,EAAVA,EAAYrxE,OACPwlB,EAAL,MAAXxlB,EAAyB,IAAID,MAAMI,EAAE,iBACrB,MAAXH,EACC,IAAID,MAAMI,EAAE,uBACR,IAAIJ,MAAMI,EAAE,2BAC3B,CAAC,QACAolB,GAAW,EACZ,GAoByBoqD,CAActrB,MAGlC/6C,EAAAA,GAAAA,KAACm/B,GAAAA,GAAW,CACXT,WAAYipC,EACZvoC,cAAUhsC,EACVisC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAWC,GAzFC5pC,WAClBsmB,OAAS9oB,GACT6oB,GAAW,GAEXxe,eAAe+O,QACdjZ,EAAW+mB,YACX,8BAA8BklB,EAAO34B,iBAEtC,IACC,MAAM,OAAE2+D,SAAiBQ,GAAsBgC,SAC9C,CACC1C,UAAWpgD,I5MkBsBC,E4MjBVqa,EAAO8lC,U5MkBlCngD,EAAKue,QAAQ,oBAAqB,U4MjB7B,cAED50B,IAAK0wB,EAAO1wB,IAAI9V,cAChB6N,cAAe24B,EAAO34B,cACtBo/D,UAAWvO,KACX7uE,QAAS+H,EAAUoD,IAEpB6C,GAED4uE,EAAUD,EACX,CAAE,MAAOtuE,GAAI,IAAD+wE,EACX,MACMvxE,EAAmB,QAAbuxE,EADF/wE,EACOX,gBAAQ,IAAA0xE,OAAA,EAAVA,EAAYvxE,OACPwlB,EAAL,MAAXxlB,EAAyB,IAAID,MAAMI,EAAE,uBAC3B,IAAIJ,MAAMI,EAAE,2BAC3B,CAAC,QACAolB,GAAW,EACZ,C5MDoCkJ,K4MCpC,EA2D4BygD,CAAWpmC,SAMjC,ECvGR,SAhDA,WACC,MAAM,EAAE3oC,IAAMC,EAAAA,EAAAA,MACR,eAAEuI,IAAmBc,EAAAA,EAAAA,YAAWlB,IAuBtC,OACCmB,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oBAAmBrB,SAAA,EACjCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oBAAmBrB,SAAA,EACjCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,kBACNuJ,EAAAA,GAAAA,MAAA,KAAAb,SAAA,CACE1I,EAAE,eAAgB,KACnBuJ,EAAAA,GAAAA,MAAA,KACCgS,OAAO,SACPoS,IAAI,sBACJppB,KAAK,qCAAoCmE,SAAA,CACxC1I,EAAE,eAAe,cAKrBmJ,EAAAA,GAAAA,KAAA,UAAQ8B,QApCVlM,iBACCyJ,GAAe,GACf,IAAI,UAAEhF,EAAS,iBAAE6tE,GAAqB9tE,KAEtC,MAAMy8B,EAASsxC,mBACd,GAAGv/E,EAAAA,EAAUoV,mCACZkqE,GAAoB,MAIhBjC,EAAYkC,mBACjB9tE,GACC,GAAGlF,OAAOoF,SAAS6tE,aAAajzE,OAAOoF,SAAS8tE,qBAGlDlzE,OAAOoF,SAASmpC,QACf,GAAG96C,EAAAA,EAAU0/E,yCAAyCrC,YAAoBpvC,KAE3Ex3B,GAAe,EAChB,EAiBkCuB,UAAU,uBAAsBrB,SAC9D1I,EAAE,cAEJmJ,EAAAA,GAAAA,KAACuoE,GAAsB,CAAC3nE,UAAU,WAGrC,ECjDM4nE,GAAc,SAAUtsC,GAC1B,IAAIlW,EAAOmmC,SAASjwB,EAAKr/B,UAAU,EAAG,IAClCkpB,EAAQomC,SAASjwB,EAAKr/B,UAAU,EAAG,GAAG6mC,QAAQ,KAAM,KAAO,EAC3D5d,EAAM5rB,OAAOgiC,EAAKr/B,UAAU,EAAG,GAAG6mC,QAAQ,KAAM,KAChD+kC,EAAcvsC,EAAKwsC,OAAO,GAY9B,OATI1iD,GADgB,MAAhByiD,GAAuC,MAAhBA,EACf,KACe,MAAhBA,GAAuC,MAAhBA,EACtB,KACe,MAAhBA,GAAuC,MAAhBA,EACtB,IAEA,KAGL,IAAI7xD,KAAKoP,EAAMD,EAAOD,EACjC,EAOM6iD,GAAmB,SAAUzsC,GAM/B,IALA,IAEI0sC,EAFAC,EAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC1CC,EAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE1CC,EAAQ,EAEHrlD,EAAI,EAAGA,EAAI,GAAIA,IACpBqlD,GAAS7uE,OAAOgiC,EAAKwsC,OAAOhlD,IAAMmlD,EAAYnlD,GAKlD,GAHAklD,EAAMG,EAAQ,GAEdA,EAAQ,EACJ,KAAOH,EAAK,CACZ,IAAKllD,EAAI,EAAGA,EAAI,GAAIA,IAChBqlD,GAAS7uE,OAAOgiC,EAAKwsC,OAAOhlD,IAAMolD,EAAYplD,GAG9C,MADJklD,EAAMG,EAAQ,MAEVH,EAAM,EAEd,CACA,OAAOA,CACX,EC7CO,SAASI,GAAYj8E,GAC3B,IAAI04B,GAAU,EACd,OAAQ78B,EAAAA,EAAUC,SACjB,IAAK,KAEJ,OADA48B,EDgDI,SAA8ByW,GACjC,GAAoB,KAAhBA,EAAKpkC,OACL,OAAO,EAGX,GADc6wE,GAAiBzsC,KACfiwB,SAASjwB,EAAKwsC,OAAO,KACjC,OAAO,EAGX,IAAI1iD,EAAO9rB,OAAOgiC,EAAKhnC,OAAO,EAAG,IAC7B6wB,EAAQ7rB,OAAOgiC,EAAKhnC,OAAO,EAAG,IAC9B4wB,EAAM5rB,OAAOgiC,EAAKhnC,OAAO,EAAG,IAC5BowE,EAAYkD,GAAYtsC,GAC5B,OAAOlW,IAASs/C,EAAU/7C,cAAgB,KAAO+7C,EAAUh8C,WAAa,IAAMvD,GAASD,IAAQw/C,EAAUpmC,SAC7G,CC9Da+pC,CAAoBl8E,GACvB04B,EAER,IAAK,KACJ,MAAMghC,ECZF,SAA+ByiB,GAElC,IAAKA,EACD,OAAO,EAIX,GAAwB,MADxBA,EAAWA,EAAS1iC,QACP1uC,OACT,OAAO,EAGX,IAAIqxE,EACAC,EAASF,EAAS,GAEtB,OAAQE,GACJ,IAAK,IACDA,EAAS,OACTD,EAAU,GACV,MACJ,IAAK,IACDC,EAAS,SACTD,EAAU,GACV,MACJ,IAAK,IACDC,EAAS,OACTD,EAAU,GACV,MACJ,IAAK,IACDC,EAAS,SACTD,EAAU,GACV,MACJ,IAAK,IACDC,EAAS,OACTD,EAAU,GACV,MACJ,IAAK,IACDC,EAAS,SACTD,EAAU,GACV,MACJ,QACI,OAAO,EAGf,MAAME,EAAc,IAAIzyD,KAAK1c,OAAOivE,EAAUD,EAASh0E,OAAO,EAAG,IAAKgF,OAAOgvE,EAASh0E,OAAO,EAAG,IAAM,EAAGgF,OAAOgvE,EAASh0E,OAAO,EAAG,KAEnI,IAgBIo0E,EAhBAhxE,EAAI,EACJ41D,EAAI,EACJ7hC,EAAI,EACJn1B,EAAI,EAER,IAAK,IAAIwsB,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACzB,IAAI6lD,EAAQpd,SAAS+c,EAASxlD,IAC9B2I,GAAKk9C,EAAQjxE,EACbpB,GAAKqyE,EAAQrb,EACb51D,IAAe,KAANA,IAAUA,EAAI,GACvB41D,IAAe,KAANA,IAAUA,EAAI,EAC3B,CAEA7hC,GAAQ,GACRn1B,GAAQ,GAKJoyE,EAFAj9C,EAAI,GAEOA,EAEJn1B,EAAI,GAEAA,EAIA,EAGf,MAAMuuB,EAAUyjD,EAAS,MAAQ3wB,OAAO+wB,GAExC,QAAK7jD,GAIE,CACH2jD,SACAC,cACA5jD,UAER,CD1EkB+jD,CAAsBz8E,GAGrC,OAFA04B,EACmB,kBAAXghC,EAAsBA,EAAOhhC,QAAU5lB,QAAQ4mD,GAChDhhC,EAER,IAAK,KAEJ,OADAA,EEnBI,SAA4ByjD,GAC/B,IAAIO,EAAenuC,EAAQ,MAE3B,OAA4B,KAApB4tC,EAASpxE,QAAiB2xE,EAAa5J,SAASqJ,EAC5D,CFeaQ,CAAmB38E,GACtB04B,EAER,IAAK,KACJ,MAAM+8C,EGtBF,SAA2B0G,GAC9B,GAAIA,EAASpxE,OAAS,EAClB,OAAO,EAGX,GAA4B,MAAxBygD,OAAO2wB,EAAS,IAGf,OAAO,EAEZ,GAAwB,MAJpBA,EAAWA,EAASh0E,OAAO,EAAG,GAAKg0E,EAASh0E,OAAO,IAI1C4C,OACT,OAAO,EAGX,MAAM6xE,EAAexd,SAAS+c,EAASh0E,OAAO,EAAG,IAEjD,GAAI+E,MAAM0vE,GACN,OAAO,EAGX,IAAIC,EAAkBV,EAASh0E,OAAO,EAAG,GAEzC,OAAQy0E,GACJ,KAAK,EACDC,GAAmB,KACnB,MACJ,KAAK,EACDA,GAAmB,KACnB,MACJ,KAAK,EACDA,GAAmB,KACnB,MACJ,QACI,OAAO,EAGfA,GAAmBV,EAASh0E,OAAO,EAAG,GAEtC,MAAMm0E,EAAc,IAAIzyD,KACpB1c,OAAO0vE,EAAgB10E,OAAO,IAC9BgF,OAAO0vE,EAAgB10E,OAAO,EAAG,IAAM,EACvCgF,OAAO0vE,EAAgB10E,OAAO,EAAG,KAGrC,GAAI+E,MAAMovE,EAAYtxE,WAClB,OAAO,EAGX,MAAM8xE,EAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAC7C,IAEIN,EAFAD,EAAW,KAGf,IAAK,IAAI5lD,EAAI,EAAGA,EAAImmD,EAAQ/xE,OAAQ4rB,IAAK,CAGrC,GAFA6lD,EAAQpd,SAAS5T,OAAO2wB,EAASxlD,KAE7BzpB,MAAMsvE,GACN,OAAO,EAGXD,GAAYC,EAAQM,EAAQnmD,EAChC,CAEA6lD,EAAQpd,SAAS5T,OAAO2wB,EAAS,MACjC,MAAMzjD,EAAU8jD,IAAUD,EAAW,GAErC,QAAK7jD,GAIE,CACHA,UACA4jD,cACAD,OAAsD,EAA9C9kC,KAAKC,MAAM8kC,EAAY9/C,cAAgB,KAAW,GAElE,CHpDeugD,CAAkB/8E,GAG9B,OAFA04B,EACgB,kBAAR+8C,EAAmBA,EAAI/8C,QAAU5lB,QAAQ2iE,GAC1C/8C,EAER,QACC,OAAOA,EAEV,CAGO,SAASskD,GAAU5lB,EAAkB6lB,GAC3C,GACM,OADEphF,EAAAA,EAAUC,QACjB,CACC,MAAMmzC,EAAY,GAGlB,GAAImoB,EAASrsD,OAASkkC,EACrB,OAAOguC,EAGR,GAAI7lB,EAAS9yD,SAAS,MAAQ8yD,EAASrsD,OAASkkC,EAC/C,OAAOmoB,EAER,IAAItqD,EAAMsqD,EAASzgB,QAAQ,MAAO,IAIlC,OAHA7pC,EAAMA,EAAI6pC,QAAQ,oBAAqB,SACvC7pC,EAAMA,EAAIgD,UAAU,EAAG,IAEhBhD,CAAG,CAGV,OAAOsqD,CAEV,CI2EA,SAtHA,WACC,MAAO7gC,EAAW2mD,GAAgBvqE,EAAAA,UAAe,IAC1CtJ,EAAO8lB,GAAYxc,EAAAA,YACnBwqE,EAAaC,GACnBzqE,EAAAA,YACM0qE,EAAwBC,GAC9B3qE,EAAAA,SAAe,KACT4qE,EAA+BC,GACrC7qE,EAAAA,UAAe,IAEV,EAAE7I,IAAMC,EAAAA,EAAAA,KA8Cd,SAAS0zE,IACR,MAAM/kD,EAAUujD,GAAYoB,GAE5B,OADAG,EAAiC9kD,GAC1BA,CACR,CAEA,OAAInC,GAEFtjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCS,EAAAA,GAAAA,KAAC0R,GAAa,MAKbw4D,GAEFlqE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCa,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,uBACNmJ,EAAAA,GAAAA,KAAA,QAAAT,SAAO2qE,EAAYhuC,QACnBl8B,EAAAA,GAAAA,KAAC0R,GAAa,CAAC9Q,UAAU,aAE1BR,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBACfR,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,GAAErB,SAAA,CAAE1I,EAAE,sBAAsB,gBAQ/CuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,EAClCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,SAChC1I,EAAE,4BAEJuJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,wCAAuCrB,SAAA,EACrDS,EAAAA,GAAAA,KAAC4mE,GAAAA,EAAW,CACX/kE,KAAK,MACL/G,KAAK,iBACLgK,GAAG,iBACHlE,UAAU,OACVq8B,YAAapmC,EAAE,OACf4zB,SApDJ,SAAwCvzB,GACvC,MAAMnK,EAAQg9E,GACb7yE,EAAEy1D,cAAc5/D,MAChBq9E,GAEDC,EAA0Bt9E,GAAS,GACpC,EA+CI61D,OAAQ4nB,EACR1D,WAAYwD,EACZv9E,MAAOq9E,KAERpqE,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CAAC77D,KAAK,UAAStC,SACnC1I,EAAE,mBAGJT,IAAS4J,EAAAA,GAAAA,KAACqB,GAAY,CAAC1K,QAASP,EAAMO,QAASoK,IAAI,UACpDf,EAAAA,GAAAA,KAAA,UAAQ8B,QAlGVlM,iBAGC,GAFgB40E,IAEhB,CAIAP,GAAa,GAEb,IACC,MAAM/9D,EAActjB,EAAAA,EAAUC,QACxB2N,QAAawvE,GAAsByE,gBAAgB,CACxDv+D,cACAk+D,yBACAnE,UAAWvO,OAGZyS,EAAe3zE,GACfyzE,GAAa,GAEb,MAAM,YAAE3D,EAAW,OAAEd,SACdQ,GAAsB9gE,oBAAoB1O,GAEjDwvE,GAAsB/+D,WACrBq/D,GAAe5O,KACf8N,EAEF,CAAE,MAAOpvE,GACR+zE,OAAe/2E,GACfiQ,GAASjN,GACT8lB,EAAS,IAAIzlB,MAAMI,EAAE,wBACtB,CAAC,QACAozE,GAAa,EACd,CA5BA,CA6BD,EAgEkCrpE,UAAU,uBAAsBrB,SAC9D1I,EAAE,cAEJmJ,EAAAA,GAAAA,KAACuoE,GAAsB,CAAC3nE,UAAU,WAGrC,E,QCyDA,SApKA,WACC,MAAM,EAAE/J,IAAMC,EAAAA,EAAAA,MACPqxD,EAAcuiB,GAAmBhrE,EAAAA,SAAe,KAChDirE,EAAqBC,GAA0BlrE,EAAAA,UAAe,IAC9DmrE,EAAgBC,GAAqBprE,EAAAA,SAAe,KACpDqrE,EAAuBC,GAC7BtrE,EAAAA,UAAe,IACTtJ,EAAO8lB,GAAYxc,EAAAA,YACnB4jB,EAAW2mD,GAAgBvqE,EAAAA,UAAe,IAC1CurE,EAAkBC,GACxBxrE,EAAAA,WACKyrE,EAAYzrE,EAAAA,SAAc,KAC/B,IAAI,UAAErF,EAAS,iBAAE6tE,GAAqB9tE,KACtC,MAAO,CAAEC,YAAW6tE,mBAAkB,GACpC,IAiBH,SAASkD,IACR,MAAM3lD,EAAUujD,GAAY6B,GAE5B,OADAG,EAAyBvlD,GAClBA,CACR,CAEA,SAAS4lD,IACR,MAAM5lD,EAAUw5C,GACf9W,EACAv/D,EAAAA,EAAUC,QAAQmQ,mBAClB5F,GAID,OAFAw3E,EAAuBnlD,GAEhBA,CACR,CA0CA,OAAoB,OAAhBwlD,QAAgB,IAAhBA,GAAAA,EAAkB79D,UAEpBhN,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,mBAAkBrB,SAAA,EAChCS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,uBACNmJ,EAAAA,GAAAA,KAAA,QAAAT,SAAO0rE,EAAiBK,eACxBtrE,EAAAA,GAAAA,KAAC0R,GAAa,CAAC9Q,UAAU,aAE1BR,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBACfZ,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,oCAMTysB,GAEFtjB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCS,EAAAA,GAAAA,KAAC0R,GAAa,OAMhBtR,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,EACnCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,UACtCS,EAAAA,GAAAA,KAAA,QAAAT,SAAO1I,EAAE,iCAERs0E,EAAUjD,mBACX9nE,EAAAA,GAAAA,MAAA,OAAAb,SAAA,EACCS,EAAAA,GAAAA,KAAC4mE,GAAAA,EAAW,CACX3pC,YAAapmC,EAAE,OACf+J,UAAU,OACV9F,KAAK,iBACLgK,GAAG,iBACH2lB,SAlGL,SAAgCvzB,GAC/B,MAAMnK,EAAQg9E,GAAU7yE,EAAEy1D,cAAc5/D,MAAiB89E,GACzDC,EAAkB/9E,GAAS,GAC5B,EAgGK61D,OAAQwoB,EACRtE,WAAYiE,EACZh+E,MAAO89E,KAER7qE,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CAAC77D,KAAK,UAAStC,SACnC1I,EAAE,oBAINmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,OAAMrB,UACpBa,EAAAA,GAAAA,MAACg8D,GAAAA,EAAI,CAAA78D,SAAA,EACJS,EAAAA,GAAAA,KAACm9D,KAAe,CACfC,WAAY,CACXtiE,KAAM,eACNgK,GAAI,gBAELu4D,eAAgB,oBACdsN,EAAqC,GAAf,cAExB9hF,QAASD,EAAAA,EAAUC,QACnBy0E,cAAe,CAAC10E,EAAAA,EAAUC,SAC1B4hC,SAlIL,SACC19B,EACAyJ,EACAU,EACA+vE,GAGAyD,EAAgBzD,EACjB,EA2HKl6E,MAAOo7D,EACPvF,OAAQyoB,KAETrrE,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CAAC77D,KAAK,UAAStC,SACnC1I,EAAE,uBAILT,IAAS4J,EAAAA,GAAAA,KAACqB,GAAY,CAAC1K,QAASP,EAAMO,QAASoK,IAAI,UACpDf,EAAAA,GAAAA,KAAA,UAAQ8B,QAtGVlM,iBACC,IACC,IARF,WACC,MAAM21E,EAAaH,IACbI,EAAsBH,IAC5B,OAAOE,GAAcC,CACtB,CAIOC,GACJ,OAGDxB,GAAa,GAEb,MAAMzzE,QAAawvE,GAAsBjhE,qBACxCojD,EACA0iB,EACAnT,MAEDwT,EAAoB10E,GAEpB,MAAM,YAAE8vE,EAAW,OAAEd,SACdQ,GAAsBhhE,qBAC3BxO,GAAQA,EAAK4W,SACbvW,GAGFmvE,GAAsB/+D,WACrBq/D,GAAe5O,KACf8N,EAEF,CAAE,MAAOpvE,GACR80E,OAAoB93E,GACpBiQ,GAASjN,GACT8lB,EAAS,IAAIzlB,MAAMI,EAAE,wBACtB,CAAC,QACAozE,GAAa,EACd,CACD,EAsEqCrpE,UAAU,uBAAsBrB,SACjE1I,EAAE,cAEJmJ,EAAAA,GAAAA,KAACuoE,GAAsB,CAAC3nE,UAAU,WAGrC,ECyBA,GAhM8B8qE,KAC7B,MAAM,EAAE70E,IAAMC,EAAAA,EAAAA,MACPiiC,EAAQ4yC,IAAansE,EAAAA,EAAAA,WAAkB,IACvC8jB,EAAW2mD,IAAgBzqE,EAAAA,EAAAA,WAAkB,IAC7CpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aAEnBosE,EAASjnC,IAAcnlC,EAAAA,EAAAA,aACvBqsE,EAAa3nC,IAAc1kC,EAAAA,EAAAA,WAAkB,IAC7CzD,EAAS6kC,IAAcphC,EAAAA,EAAAA,UAAiB,KACxCssE,EAAgBC,IAAqBvsE,EAAAA,EAAAA,WAAkB,IAEvDsP,EAAKk9D,IAAUxsE,EAAAA,EAAAA,UAAiB,KAChCysE,EAAYC,IAAiB1sE,EAAAA,EAAAA,WAAkB,GAuFtD,OACCQ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,uBAAsBrB,SACnC+jB,GAAayV,GACb/4B,EAAAA,GAAAA,KAAC0R,GAAa,IACXm6D,GACHzrE,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,mBACRmJ,EAAAA,GAAAA,KAAA,UACC8B,QAASA,KA5FbmoE,GAAa,GACb/tD,OAAS9oB,GACTuxC,OAAWvxC,GACXwtC,EAAW,IACXorC,EAAO,IACPE,GAAc,GACdhoC,GAAW,QACXynC,GAAU,IAsFN/qE,UAAU,uBAAsBrB,SAC/B1I,EAAE,iBAILuJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACS,OAAPqsE,QAAO,IAAPA,GAAAA,EAASpG,QACTplE,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,yBAAwBrB,SAAA,EACtCS,EAAAA,GAAAA,KAAA,OAAAT,SAAM1I,EAAE,uBACRmJ,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCS,EAAAA,GAAAA,KAACm1B,GAAAA,EAAK,CACLt+B,EAAGA,EACHu+B,QAAQ,iBACRwpC,WAAY,EACX5+D,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,UACzBS,EAAAA,GAAAA,KAACimB,GAAc,CACd3Q,WACCzgB,IAEAqvC,EAAWrvC,EAAK,EAEjBie,KAAM,CACLqT,WACQ,OAAPylD,QAAO,IAAPA,OAAO,EAAPA,EAAShpC,aAEXnrC,OAAQ,qBAOduI,EAAAA,GAAAA,KAAC4mE,GAAAA,EAAW,CACX3pC,YAAapmC,EAAE,WACf+J,UAAU,OACV9F,KAAK,MACLgK,GAAG,MACH2lB,SAAWvzB,GAAM0pC,EAAW1pC,EAAEkb,OAAOrlB,OACrC61D,OAAQA,KACPmpB,EAAkBjwE,GAAgBC,GAAS,EAE5C+qE,WAAYgF,EACZznB,aAActoD,KAEfiE,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CAAC77D,KAAK,UAAStC,SACnC1I,EAAE,0BAILuJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,EACCS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,SACrC1I,EAAE,wBAEJmJ,EAAAA,GAAAA,KAAC4mE,GAAAA,EAAW,CACX3pC,YAAapmC,EAAE,OACf+J,UAAU,OACV9F,KAAK,MACLgK,GAAG,MACH2lB,SA9IP,SAAqBvzB,GACpB,MAAMnK,EAAQg9E,GAAU7yE,EAAEy1D,cAAc5/D,MAAiB+hB,GACzDk9D,EAAOj/E,GAAS,GACjB,EA4IO61D,OAAQA,IAAMspB,EAAclD,GAAYl6D,IACxCg4D,WAAYmF,EACZl/E,MAAO+hB,KAER9O,EAAAA,GAAAA,KAACo8D,GAAAA,EAAKqB,QAAQC,SAAQ,CAAC77D,KAAK,UAAStC,SACnC1I,EAAE,mBAILT,IACA4J,EAAAA,GAAAA,KAACqB,GAAY,CAAC1K,QAASP,EAAMO,QAASoK,IAAI,UAE3Cf,EAAAA,GAAAA,KAAA,UACC8B,QAAU8pE,EAtHOh2E,UACrBsmB,OAAS9oB,GACT62E,GAAa,GAEb,IACC,IAAKnuE,GAAgBC,GAEpB,YADAgwE,GAAkB,GAInB,MAAMx1E,QAAiByvE,GAAsB6B,YAC5C,CACCrC,OAAe,OAAPoG,QAAO,IAAPA,OAAO,EAAPA,EAASpG,OACjBzqB,IAAKh/C,EACLkqE,UAAWvO,MAEZ7gE,GAGD80E,GAAU,GAEV3F,GAAsB/+D,WACrB1Q,EAAS+vE,aAAe5O,KACxBnhE,EAASivE,OAEX,CAAE,MAAOtuE,GAAI,IAADi1E,EACgC,OAAb,QAA1BA,EAACj1E,EAAiBX,gBAAQ,IAAA41E,OAAA,EAA1BA,EAA4Bz1E,QAC/BwlB,EAAS,IAAIzlB,MAAMI,EAAE,wBAErBqlB,EAAS,IAAIzlB,MAAMI,EAAE,2BAEvB,CAAC,QACAozE,GAAa,EACd,GAlEkBr0E,UAClBsmB,OAAS9oB,GACT62E,GAAa,GAEb,IACC,IAAKjB,GAAYl6D,GAEhB,YADAo9D,GAAc,GAIf,MAAMrjF,E/PaD+H,EAAUhI,EAAAA,EAAUC,S+PZzB,IAAKA,EACJ,MAAM,IAAI4N,MAAM,2CAEjB,MAAMD,QAAawvE,GAAsBoG,aACxC,CACCt9D,IAAKA,EACLjmB,QAASA,GAEVgO,GAED8tC,EAAWnuC,EACZ,CAAE,MAAOU,GAAI,IAADm1E,EACgC,OAAb,QAA1BA,EAACn1E,EAAiBX,gBAAQ,IAAA81E,OAAA,EAA1BA,EAA4B31E,QAC/BwlB,EAAS,IAAIzlB,MAAMI,EAAE,wBAErBqlB,EAAS,IAAIzlB,MAAMI,EAAE,2BAEvB,CAAC,QACAozE,GAAa,EACd,GA0HIrpE,UAAU,uBAAsBrB,SAC/B1I,EAAE,cAEJmJ,EAAAA,GAAAA,KAACuoE,GAAsB,CAAC3nE,UAAU,aAG/B,ECjJR,SArDA,SAA8BzO,GAEA,IAFC,QAC9By9D,EAAUA,QACgBz9D,EAC1B,MAAO6pB,EAASC,IAAczc,EAAAA,EAAAA,WAAkB,GAEhD5J,eAAe02E,IACdrwD,GAAW,GACX,IACC,MAAMqqD,QACCN,GAAsBuG,2BAC7Bp3E,OAAOoF,SAASa,KAAOkrE,CACxB,CAAE,MAAOlwE,GACRw5D,EAAQx5D,GACR6lB,GAAW,EACZ,CACD,CAEAvc,EAAAA,WACC,KACC4sE,GAAe,GAGhB,IAGD,MAAM,EAAEz1E,IAAMC,EAAAA,EAAAA,KAGRywE,GACLvnE,EAAAA,GAAAA,KAAA,OAECY,UAAU,iBAAgBrB,UAC1BS,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,YAFD21E,GAAeC,WAMtB,OACCzsE,EAAAA,GAAAA,KAACN,EAAAA,SAAc,CAAAH,SACbyc,GACAhc,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gEAA+DrB,UAC7ES,EAAAA,GAAAA,KAAC0R,GAAa,OAGftR,EAAAA,GAAAA,MAAA,OACC0B,QAASA,IAAMwqE,IACf1rE,UAAU,4FAA2FrB,SAAA,EACrGS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,8BACfZ,EAAAA,GAAAA,KAAA,OAAAT,SAAMgoE,QAKX,ECyCA,GAzC+BmF,KAC9B,MAAM,EAAE71E,IAAMC,EAAAA,EAAAA,MACR,mBAAE61E,EAAkB,iBAAEC,EAAgB,MAAEx2E,EAAK,UAAEktB,GAxDhCupD,MACrB,MAAM,EAAEh2E,IAAMC,EAAAA,EAAAA,MACPV,EAAO8lB,IAAY1c,EAAAA,EAAAA,UAAuB,OAC1C8jB,EAAW2mD,IAAgBzqE,EAAAA,EAAAA,WAAS,GACrCU,EAAWpL,IAEX63E,GAAqBn7D,EAAAA,EAAAA,cAAY5b,UACtCq0E,GAAa,GACb/tD,EAAS,MACT,IACC,MAAM+pD,EACL/lE,GAAY3K,IACT4yE,mBAAmBzQ,GAAa,qBAChC,OAEEoV,QACC9G,GAAsBvgE,qBAC3B0iE,mBAAmBlC,IAUrB,OANA5zE,aAAama,QAAQ,kBAAmBsgE,EAAaC,UAM9C,CAAEzG,YAHRpmE,GAAY3K,IACTu3E,EAAaE,4BACbF,EAAaG,mBAElB,CAAE,MAAO72E,GAGR,MAFA8lB,EAAS,IAAIzlB,MAAMI,EAAE,2BACrBozE,GAAa,GACP7zE,CACP,IACE,CAACS,EAAGqJ,IAYP,MAAO,CACNysE,qBACAC,kBAZwBp7D,EAAAA,EAAAA,cAAY5b,UACpC,MAAMm3E,EAAW16E,aAAaC,QAAQ,mBACtC,GAAKy6E,EACL,UACO/G,GAAsBrgE,mBAAmBonE,EAAUl2E,EAC1D,CAAE,MAAOmW,GACRkP,EAAS,IAAIzlB,MAAMI,EAAE,wBACtB,IACE,CAACA,IAKHT,QACAktB,YACA2mD,eACA,EAMA4C,GACK3sE,EAAWpL,IAsBjB,OApBAya,EAAAA,EAAAA,YAAU,KACY3Z,WACpB,IACC,MAAM,YAAE0wE,SAAsBqG,IAG9Bx3E,OAAOoF,SAASa,KAAOkrE,EAIlBpmE,GAAa3K,MACjBJ,OAAOoF,SAASa,KAAOs8D,GAAa,oBACtC,CAAE,MAAOthE,SACFw2E,GACP,GAGDM,EAAc,GACZ,CAACP,EAAoBC,EAAkB1sE,KAGzCF,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,wCAAuCrB,SAAA,CACpDW,GACAF,EAAAA,GAAAA,KAAA,KAAAT,SAAI1I,EAAE,6BAENA,EAAE,qBAEFT,IAAS4J,EAAAA,GAAAA,KAACqB,GAAY,CAAC1K,QAASP,EAAMO,QAASoK,IAAI,SACnDuiB,IAAatjB,EAAAA,GAAAA,KAAC0R,GAAa,CAAC9Q,UAAU,aAEnC,E,eC7ER,SAbA,SAAoBzO,GAAoC,IAAnC,WAAEg7E,GAA8Bh7E,EACpD,OACC6N,EAAAA,GAAAA,KAAA,OAAK9E,MAAO,CAAEkyE,WAAY,QAAShpD,QAAS,QAAS7kB,UACpDS,EAAAA,GAAAA,KAACqtE,GAAAA,GAAM,CACNtgF,MAAOogF,EACPjiD,KAAM,IACNhwB,MAAO,CAAEoF,OAAQ,OAAQgtE,SAAU,OAAQjpD,MAAO,QAClD60B,QAAS,iBAIb,ECLMq0B,GAAgBp7E,IAAuD,IAAtD,SAAE46E,EAAQ,eAAES,GAAoCr7E,EACtE,MAAOg7E,EAAYM,IAAiBjuE,EAAAA,EAAAA,UAAS,KACvC,EAAE3I,IAAMC,EAAAA,EAAAA,GAAe,CAACxD,EAAgB8jC,eACvChhC,EAAO8lB,IAAY1c,EAAAA,EAAAA,YAyB1B,OAvBA+P,EAAAA,EAAAA,YAAU,KACT,MAAMm+D,EAAY93E,UACjB,GAAIm3E,GAAYS,EACf,IACC,MAAMj3E,QACCyvE,GAAsBpgE,uBAC3BmnE,EACAl2E,GAEF42E,EAAcl3E,EAASo3E,OACxB,CAAE,MAAOv3E,GACR8lB,EAAS,IAAIzlB,MAAMI,EAAE,yBACtB,CACD,EAGD,GAAI22E,EAAgB,CACnBE,IACA,MAAME,EAAat6D,YAAYo6D,EAAW,KAC1C,MAAO,IAAMn6D,cAAcq6D,EAC5B,IACE,CAACb,EAAUS,EAAgB32E,IAE1B22E,IAAmBL,GACfntE,EAAAA,GAAAA,KAAC0R,GAAa,IAGf87D,GAAiBxtE,EAAAA,GAAAA,KAAC6tE,GAAW,CAACV,WAAYA,KAAiBntE,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,GAAK,EAqGxE,GAhB+BytE,KAC9B,MAAM,SAAEf,EAAQ,eAAES,EAAc,MAAEp3E,GAnFby2E,MACrB,MAAOE,EAAUgB,IAAevuE,EAAAA,EAAAA,UAAS,KAClCguE,EAAgBQ,IAAqBxuE,EAAAA,EAAAA,WAAS,IAC9CpJ,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACpB,EAAE3I,IAAMC,EAAAA,EAAAA,KAERm3E,GAAsBz8D,EAAAA,EAAAA,cAC3B5b,UACC,UACOowE,GAAsBrgE,mBAAmB4M,EAAK1b,EACrD,CAAE,MAAOmW,GACRkP,EAAS,IAAIzlB,MAAMI,EAAE,wBACtB,IAED,CAACA,IAGIq3E,GAAuB18D,EAAAA,EAAAA,cAC5B5b,UACC,IACC,MAAMu4E,QACCnI,GAAsBtgE,oBAC3BqnE,GACA,EACAl2E,GAEFsM,GACC,SAAS20D,GACRqW,EAAar/D,6CAEbq/D,EAAaC,cAEd,CACCt/D,IAAKgpD,GAAQqW,EAAar/D,KAC1BpY,OAAQy3E,EAAaC,YAAc,UAAY,WAG7CD,EAAaC,aAChBpI,GAAsB/+D,WACrBywD,KACAyW,EAAa3I,OAGhB,CAAE,MAAOpvE,GACR43E,GAAkB,GAClB9xD,EAAS,IAAIzlB,MAAMI,EAAE,gCACfo3E,EAAoBlB,EAC3B,IAED,CAACl2E,EAAGo3E,IAGCI,GAAqB78D,EAAAA,EAAAA,cAAY5b,UACtC,IAAI04E,EAAiB,GACrB,IACC,MAAMxB,QACC9G,GAAsBvgE,qBAAqBiyD,MAClDqW,EAAYjB,EAAaC,UACzBuB,EAAiBxB,EAAaC,SAC9BiB,GAAkB,SAEZE,EAAqBpB,EAAaC,SACzC,CAAE,MAAO//D,GACRkP,EAAS,IAAIzlB,MAAMI,EAAE,8BACfo3E,EAAoBK,EAC3B,IACE,CAACz3E,EAAGo3E,EAAqBC,IAM5B,OAJA3+D,EAAAA,EAAAA,YAAU,KACT8+D,GAAoB,GAClB,CAACA,IAEG,CACNtB,WACAS,iBACAp3E,QACAi4E,qBACAJ,sBACAC,uBACA,EAI2CrB,GAE5C,OACC7sE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,sBAAqBrB,UACnCa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,wCAAuCrB,SAAA,CACpDnJ,IAAS4J,EAAAA,GAAAA,KAACqB,GAAY,CAAC1K,QAASP,EAAMO,QAASoK,IAAI,UACpDf,EAAAA,GAAAA,KAACutE,GAAa,CACbR,SAAUA,EACVS,eAAgBA,QAGb,EC5HD,IAAKhB,GAAc,SAAdA,GAAc,OAAdA,EAAAA,EAAc,+BAAdA,EAAAA,EAAc,mBAAdA,EAAAA,EAAc,uBAAdA,EAAAA,EAAc,mBAAdA,EAAAA,EAAc,2BAAdA,EAAAA,EAAc,mBAAdA,EAAAA,EAAc,uBAAdA,EAAAA,EAAc,qCAAdA,EAAAA,EAAc,iDAAdA,EAAAA,EAAc,2BAAdA,EAAAA,EAAc,kBAAdA,EAAAA,EAAc,wBAAdA,EAAAA,EAAc,0BAAdA,EAAAA,EAAc,wDAAdA,EAAAA,EAAc,sCAAdA,EAAAA,EAAc,kCAAdA,EAAAA,EAAc,0BAAdA,CAAc,MAoB1B,YAEa+B,GAAgC,CAC5C,CACC1sE,KAAM2qE,GAAeh3B,OACrB3sD,QAAS,CAAC,MACV2lF,UAAW,UACXC,cAAe,UACfC,cAAe55E,IACfomB,SAASlb,EAAAA,GAAAA,KAAC2uE,GAAkB,KAE7B,CACC9sE,KAAM2qE,GAAeoC,aACrB/lF,QAAS,CAAC,KAAM,KAAM,MACtB2lF,UAAW,WACXC,cAAe,WACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAAC6uE,GAAmB,KAE9B,CACChtE,KAAM2qE,GAAesC,SACrBjmF,QAAS,CAAC,KAAM,MAChB2lF,UAAW,YACXC,cAAe,YACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAAC+uE,GAAoB,KAE/B,CACCltE,KAAM2qE,GAAeC,UACrB5jF,QAAS,CAAC,MACV2lF,UAAW,YACXC,cAAe,YACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAACgvE,GAAqB,IAC/BC,oBAAoB,GAErB,CACCptE,KAAM2qE,GAAe0C,UACrBrmF,QAAS,CAAC,KAAM,KAAM,MACtB2lF,UAAW,kBACXC,cAAe,aACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAAC0rE,GAAqB,IAC/BuD,oBAAoB,GAErB,CACCptE,KAAM2qE,GAAe2C,cACrBtmF,QAAS,CAAC,MACV2lF,UAAW,aACXC,cAAe,UACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAAC8tE,GAAsB,KAEjC,CACCjsE,KAAM2qE,GAAe4C,gBACrBvmF,QAAS,CAAC,MACV2lF,UAAW,gBACXC,cAAe,UACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAAC0sE,GAAsB,KAEjC,CACC7qE,KAAM2qE,GAAe6C,SACrBxmF,QAAS,CAAC,MACV4lF,cAAe,WACfC,cAAc,EACd5sE,QAASA,IAAMwtE,GAAwB9C,GAAe6C,WAGvD,CACCxtE,KAAM2qE,GAAe+C,MACrB1mF,QAAS,CAAC,MACV4lF,cAAe,SACfC,cAAc,EACd5sE,QAASA,IAAMwtE,GAAwB9C,GAAe+C,QAEvD,CACC1tE,KAAM2qE,GAAegD,gBACrB3mF,QAAS,CAAC,MACV2lF,UAAW,8BACXC,cAAe,oBACfC,cAAc,EACd5sE,QAASA,IAAMwtE,GAAwB9C,GAAegD,iBACtDt0D,SACClb,EAAAA,GAAAA,KAACyvE,GAA2B,CAC3BrI,eAAgBoF,GAAegD,gBAC/BnI,iBAAiB,qBAIpB,CACCxlE,KAAM2qE,GAAekD,yBACrB7mF,QAAS,CAAC,MACV2lF,UAAW,kBACXC,cAAe,oBACfC,cAAc,EACd5sE,QAASA,IACRwtE,GAAwB9C,GAAekD,0BACxCx0D,SACClb,EAAAA,GAAAA,KAACyvE,GAA2B,CAC3BrI,eAAgBoF,GAAekD,yBAC/BrI,iBAAiB,8BAapB,CACCxlE,KAAM2qE,GAAemD,WACrB9mF,QAAS,CAAC,KAAM,KAAM,MACtB2lF,UAAW,gBACXC,cAAe,cACfC,cAAc,EACdxzD,SAASlb,EAAAA,GAAAA,KAAC4vE,GAAU,IACpBX,oBAAoB,GAErB,CACCptE,KAAM2qE,GAAeqD,SACrBhnF,QAAS,CAAC,MACV2lF,UAAW,cACXC,cAAe,YACfC,cAAc,EACdxzD,QACsB,aAArBtyB,EAAAA,EAAU4V,QACTwB,EAAAA,GAAAA,KAAC0nE,GAAe,KAEhB1nE,EAAAA,GAAAA,KAAC4vE,GAAU,IAEbE,wBAAyB,QACzBb,oBAAoB,IA8Cfr5E,eAAe05E,GAAwBntC,GAC7C,IACC,IAAImkC,EAsBJ,GApBInkC,IAAaqqC,GAAe6C,WAC/B/I,QAAoBN,GAAsB+J,2BAGvC5tC,IAAaqqC,GAAe+C,QAC/BjJ,QACON,GAAsBgK,gCAI7B7tC,IAAaqqC,GAAegD,iBAC5BrtC,IAAaqqC,GAAekD,0BAC5BvtC,IAAaqqC,GAAeyD,wBAE5B3J,QACON,GAAsBwB,+BAC3BrlC,KAIEmkC,EACJ,MAAM,IAAI7vE,MAAM,sCAAsC0rC,KAGvDhtC,OAAOoF,SAASa,KAAOkrE,CACxB,CAAE,MAAOlwE,GAER,MADAiN,GAASjN,GACHA,CACP,CACD,CAEO,MCrPD85E,GAAYt6E,UAGjBiN,EAAOiB,QAAQ,yBAA2BjO,IAC1Cs6E,GAAW,cAAc1jE,KAAKC,UAAU7J,OACxCM,GAAS,gBAAiB,CAAEN,OAAQ,GAAG4J,KAAKC,UAAU7J,OAC/CA,GAGFutE,GAAkBh6E,IAA4C,IAADi6E,EAAAC,EAClE,IAAI1oB,EAAe,UAAUxxD,EAAMO,UAE/BP,EAAM2V,QACT67C,GAAgB,wDAEhBA,GAAgB,kDAGjB,MAAM2oB,EAAe,CACpB55E,QAASixD,EACTntD,IAAiB,QAAd41E,EAAEj6E,EAAMyM,cAAM,IAAAwtE,OAAA,EAAZA,EAAc51E,IACnByoC,OAAoB,QAAdotC,EAAEl6E,EAAMyM,cAAM,IAAAytE,OAAA,EAAZA,EAAcptC,OACtBstC,WAAW,IAAI55D,MAAO65D,eAKvB,OAHAN,GAAW,mBAAmBvoB,KAC9BvkD,GAAS,IAAI5M,MAAMmxD,GAAe2oB,GAE3Bv6E,QAAQ06E,OAAOt6E,EAAM,EAGvBu6E,GAAcp6E,IACnB45E,GAAW,eAAe1jE,KAAKC,UAAUnW,OACzC4M,GAAS,iBAAkB,CAC1B1I,IAAKlE,EAASsM,OAAOpI,IACrB/D,OAAQH,EAASG,OACjBF,KAAMD,EAASC,OAETD,GAGFq6E,GAAmBx6E,IAA4C,IAADy6E,EACnE,IAAIjpB,EAAe,UAAUxxD,EAAMO,UAKnC,GAJkB,QAAlBk6E,EAAIz6E,EAAMG,gBAAQ,IAAAs6E,GAAdA,EAAgBr6E,KAAKG,UACxBixD,GAAgB,4BAA4BxxD,EAAMG,SAASC,KAAKG,YAG5DP,EAAMG,UAAsC,IAA1BH,EAAMG,SAASG,OAa/B,CACN,MAAMo6E,EAAoB,CACzBn6E,QAASixD,EACTlxD,OAAQN,EAAMG,SAASG,OACvB+D,IAAKrE,EAAMyM,OAAOpI,KAGnB4I,GAAS,IAAI5M,MAAMmxD,GAAekpB,EACnC,KArBoD,CACnDlpB,GACC,yIAED,MAAM2oB,EAAe,CACpB55E,QAASixD,EACTntD,IAAKrE,EAAMyM,OAAOpI,IAClByoC,OAAQ9sC,EAAMyM,OAAOqgC,OACrBp/B,QAAS2I,KAAKC,UAAUtW,EAAMyM,OAAOiB,SACrC0sE,WAAW,IAAI55D,MAAO65D,eAGvBptE,GAAS,IAAI5M,MAAMmxD,GAAe2oB,EACnC,CAWA,OADAJ,GAAW,mBAAmBvoB,KACvB5xD,QAAQ06E,OAAOt6E,EAAM,EAGvB26E,GAAyC,eAA1BnoF,EAAAA,EAAU6V,YACzB0xE,GAAcx5E,IACfo6E,IAAc16E,QAAQ4W,IAAItW,EAAQ,ECvDvC,MAAMgV,KD0D+BzP,GC1DiB0P,KAAAA,OAAa,CAAC,ID2D1DE,aAAaC,QAAQna,IAAIs+E,GAAWE,IAC7Cl0E,GAAS4P,aAAavV,SAAS3E,IAAI++E,GAAYC,IACxC10E,IAHD,IAA8BA,GCxDrC,MA0eA,GA1e8B,CAC7B,qBAAMuuE,CAAgBuG,GAKrB,MAAM,KAAEx6E,SACDmV,GAAyB2B,KAC9B3I,GAAUM,oBACV+rE,GAGF,OAAOx6E,CACR,EAEA,yBAAM0O,CACL8rE,GAEoD,IADpD1gE,EAAkBhX,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,GAAAA,UAAA,GAAG,EAErB,IACC,MAAMuJ,EAAS,CACdouE,YAAa/sE,GAAiCI,YAE/CjO,QAAQ4W,IAAI,WAAYqD,GACxB,MAAM,KAAE9Z,SAAemV,GAAyB2B,KAG7C3I,GAAUO,oBAAqB8rE,EAAanuE,GAE/C,OAAOrM,CACR,CAAE,MAAOU,GAGR,GAAKA,EAAU6U,SACVuE,EAAa,EAChB,aAAaQ,KAAK5L,oBACjB8rE,EACA1gE,EAAa,GAKhB,MAAMpZ,CACP,CACD,EAEA,0BAAM6N,CACLgU,EACA8xD,EACA5E,GAEAltD,EAAcA,EAAY2qB,QAAQ,OAAQ,IAC1C,MAAM,KAAEltC,SACDmV,GAAyB2B,KAC9B3I,GAAUI,qBACV,CACCgU,cACAktD,YACA4E,mBAIH,OAAOr0E,CACR,EAEA,0BAAMwO,CAAqBoI,EAAiCvW,GAC3D,MAAMgM,EAAS,CACdiB,cAAeH,KACfstE,YAAa/sE,GAAiCI,aAEzC,KAAE9N,SAAemV,GAAyB2B,KAG7C3I,GAAUK,qBAAsBoI,EAAUvK,GAE7C,IAAKrM,EACJ,MAAM,IAAIC,MAAMI,EAAE,wBAGnB,OAAOL,CACR,EAEA,wBAAM06E,CACL/pE,EACAgqE,EACAt6E,GAEA,MAAM,KAAEL,SAAemV,GAAyB2B,KAC/C3I,GAAUE,WAAWsC,GACrB,CAAEgqE,uBAGH,OAAO36E,CACR,EAEA,6BAAMu5E,GACL,MAAM5L,EACLx/D,GAAUQ,iBACV,yBACCvc,EAAAA,EAAUC,uBACK+uE,QAEX,KAAEphE,SAAemV,GAAyBS,IAAY+3D,GAC5D,OAAO3tE,CACR,EAEA,kCAAMw5E,GACL,MAAM7L,EACLx/D,GAAUU,kBACV,8BAA8BuyD,QAEzB,KAAEphE,SAAemV,GAAyBS,IAAY+3D,GAC5D,OAAO3tE,CACR,EAEA,uBAAM46E,CAAkBC,EAAqBx6E,GAC5C,MAAML,QACCmV,GAAyBS,IAC9BzH,GAAUS,mBACT,GAAGisE,iBAA2BzZ,QAGjC,GAAoB,MAAhBphE,EAAKE,OACR,OAAOF,EAAKA,KAEb,MAAM,IAAIC,MAAMI,EAAE,uBACnB,EAEA,oCAAM2wE,CAA+B8J,GACpC,IAAIpuC,EACJ,OAAQouC,GACP,KAAK9E,GAAegD,gBACnBtsC,EAAS,YACT,MACD,KAAKspC,GAAekD,yBACnBxsC,EAAS,iBACT,MACD,KAAKspC,GAAeyD,sBACnB/sC,EAAS,aACT,MACD,QACC,MAAM,IAAIzsC,MAAM,iCAGlB,MAAM0tE,EACLx/D,GAAUW,wBACV,yBACC1c,EAAAA,EAAUC,uBACKgvE,eAAwC30B,KACnD,KAAE1sC,SAAemV,GAAyBS,IAAY+3D,GAC5D,OAAO3tE,CACR,EAEA,8BAAM+6E,CAAyBF,EAAqBx6E,GACnD,MAAML,QACCmV,GAAyBS,IAC9BzH,GAAUY,0BACT,GAAG8rE,iBAA2BxZ,QAEjC,GAAoB,MAAhBrhE,EAAKE,OACR,OAAOF,EAAKA,KAEb,MAAM,IAAIC,MAAMI,EAAE,uBACnB,EAEA,yCAAM26E,CACLH,EACAx6E,GAEA,MAAML,QACCmV,GAAyBS,IAC9BzH,GAAUa,qCACT,GAAG6rE,iBAA2BxZ,QAEjC,GAAoB,MAAhBrhE,EAAKE,OACR,OAAOF,EAAKA,KAEb,MAAM,IAAIC,MAAMI,EAAE,uBACnB,EAEAjB,qBAA0B6P,MAAC6gE,UAEnB36D,GAAyBS,IAC9BzH,GAAUc,qBAAuB,cAAc6gE,MAEjC9vE,KAGjB,wBAAMmP,CAAmBonE,EAAkBl2E,GAC1C,MAAM46E,QAAa9lE,GAAyB2B,KAC3C3I,GAAUgB,mBACV,CACConE,aAIF,GAAoB,MAAhB0E,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OAAO46E,EAAK/6E,MACb,EAEA,yBAAMgP,CACLqnE,EACA2E,EACA76E,GAEA,MAAMgM,EAAS,CACdouE,YAAa/sE,GAAiCI,YAEzCmtE,QAAa9lE,GAAyB2B,KAM3C3I,GAAUe,oBACV,CACCqnE,WACA2E,eAED7uE,GAGD,GAAoB,MAAhB4uE,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OAAO46E,EAAKj7E,IACb,EAEA,4BAAMoP,CAAuBmnE,EAAkBl2E,GAC9C,MAAM46E,QAAa9lE,GAAyB2B,KAEzC3I,GAAUiB,uBAAwB,CACpCmnE,aAGD,GAAoB,MAAhB0E,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OAAO46E,EAAKj7E,IACb,EAEA,iBAAMm7E,CAAYxqE,EAAmBC,EAAgBvQ,GACpD,IAAIstE,EACJ,OAAQv7E,EAAAA,EAAUC,SACjB,IAAK,KACJs7E,EAAQx/D,GAAU0C,cAAcF,EAAWC,GAC3C,MACD,IAAK,KAML,QACC+8D,EAAQx/D,GAAU2C,cAAcH,EAAWC,SAJ5C,IAAK,KACJ+8D,EAAQx/D,GAAUuC,kBAAkBC,EAAWC,GAKjD/Q,QAAQ4W,IAAIk3D,GACZ,MAAMyN,QAAiBjmE,GAAyBS,IAAY+3D,GAE5D,GAAwB,MAApByN,EAASl7E,OACZ,OAAOk7E,EAASp7E,KAEjB,MAAM,IAAIC,MAAMI,EAAE,cACnB,EAEA,kBAAMq2E,CACL2E,EACA/iE,EACAw2D,EACAz+D,EACAhQ,GAEA,MAAM46E,QAAa9lE,GAAyB2B,KAGzCukE,EAAU,CACZ/iE,MACAw2D,YACAz+D,gBACAo/D,UAAWvO,OAGZ,GAAoB,MAAhB+Z,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OADAR,QAAQ4W,IAAIwkE,EAAKj7E,MACVi7E,EAAKj7E,IACb,EAEA,qBAAMsP,CAAgBiG,EAAkClV,GACvD,MAAMstE,EAAQ,MACb,OAAQv7E,EAAAA,EAAUC,SACjB,IAAK,KAQL,QACC,OAAO8b,GAAUmB,gBAPlB,IAAK,KACJ,OAAOnB,GAAUyB,gBAClB,IAAK,KACJ,OAAOzB,GAAU6B,iBAClB,IAAK,KACJ,OAAO7B,GAAUuB,iBAInB,EAba,GAeRurE,QAAa9lE,GAAyB2B,KAGzC62D,EAAOp4D,GAEV,GAAoB,MAAhB0lE,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OADAR,QAAQ4W,IAAIwkE,EAAKj7E,MACVi7E,EAAKj7E,IACb,EAEA,wBAAMuP,CACLy/D,EACAzqB,EACA/lB,EACAn+B,GAEA,MAAMstE,EAAQ,MACb,OAAQv7E,EAAAA,EAAUC,SACjB,IAAK,KAQL,QACC,OAAO8b,GAAUoB,mBAPlB,IAAK,KACJ,OAAOpB,GAAU0B,mBAClB,IAAK,KACJ,OAAO1B,GAAU+B,oBAClB,IAAK,KACJ,OAAO/B,GAAUwB,oBAInB,EAba,GAeRsrE,QAAa9lE,GAAyB2B,KAGzC62D,EAAO,CACTqB,SACAxwC,aACA+lB,MACAkrB,UAAWvO,OAGZ,GAAoB,MAAhB+Z,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OADAR,QAAQ4W,IAAIwkE,EAAKj7E,MACVi7E,EAAKj7E,IACb,EAEAZ,SAAcoyE,MAACj8D,EAAsClV,WAejC8U,GAAyB2B,KAd9B62D,MACb,OAAQv7E,EAAAA,EAAUC,SACjB,IAAK,KAOL,QACC,OAAO8b,GAAUmB,gBANlB,IAAK,KACJ,OAAOnB,GAAUyB,gBAClB,IAAK,KACL,IAAK,KACJ,OAAOzB,GAAU4B,cAGnB,EAME49D,GAASp4D,IAEAvV,KAGb,kBAAM41E,CAAargE,EAA+BlV,GACjD,MAAM46E,QAAa9lE,GAAyB2B,KAG1C3I,GAAUgC,aAAcoF,GAE1B,GAAoB,MAAhB0lE,EAAK/6E,OACR,MAAM,IAAID,MAAMI,EAAE,wBAGnB,OAAO46E,EAAKj7E,IACb,EAEA,iBAAMqxE,CAAY97D,EAA8BlV,GAC/C,MAgBMgM,EAAS,CACdouE,YAAa/sE,GAAiCI,YAO/C,aALmBqH,GAAyB2B,KAnB9B62D,MACb,OAAQv7E,EAAAA,EAAUC,SACjB,IAAK,KAUL,QACC,OAAO8b,GAAUoB,mBATlB,IAAK,KACJ,OAAOpB,GAAU0B,mBAClB,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACJ,OAAO1B,GAAU8B,iBAGnB,EAQE09D,GAASp4D,EAASlJ,IAETrM,IACb,EAEA,oCAAMs7E,CACLjrE,EACAC,GAEA,MAAM,KAAEtQ,SAAemV,GAAyBS,IAG7CzH,GAAUiC,kBAAkBC,EAAeC,IAE9C,OADAzQ,QAAQ4W,IAAI,kBAAmBzW,GACxBA,CACR,EAEA,qCAAMuQ,CAAgCgrE,EAAiBjrE,GACtD,MAAM,KAAEtQ,SAAemV,GAAyB2B,KAC/C3I,GAAUoC,gCACV,CAAEgrE,QAASA,EAASjrE,QAASA,SACvBnD,MAEP,OAAOnN,CACR,EAEAyQ,UAAAA,CAAWxM,EAAau3E,GACvB,MAAMC,EAAOh/E,SAASgI,cAAc,QACpCg3E,EAAK/2E,MAAMC,QAAU,OACrB82E,EAAKp7C,OAASlyB,GAAUsC,WACxBgrE,EAAK/uC,OAAS,OAEd,IAAIsiC,EAASvyE,SAASgI,cAAc,SACpCuqE,EAAO1qE,KAAO,SACd0qE,EAAOz4E,MAAQilF,EAEf,IAAI1L,EAAcrzE,SAASgI,cAAc,SACzCqrE,EAAYxrE,KAAO,cACnBwrE,EAAYv5E,MAAQ0N,EAEpBw3E,EAAK12E,YAAYiqE,GACjByM,EAAK12E,YAAY+qE,GAEjBrzE,SAASqI,KAAKC,YAAY02E,GAC1BA,EAAKjnC,QACN,EAEA,8BAAMuhC,GACL,MAAMpI,EACLx/D,GAAU8G,kBACV,yBACC7iB,EAAAA,EAAUC,uBACKkvE,QACX,KAAEvhE,SAAemV,GAAyBS,IAAY+3D,GAC5D,OAAO3tE,CACR,EAEA,wBAAM07E,CAAmBb,EAAqBx6E,GAC7C,MAAML,QACCmV,GAAyBS,IAC9BzH,GAAU+G,oBACT,GAAG2lE,iBAA2BtZ,QAGjC,GAAoB,MAAhBvhE,EAAKE,OACR,OAAOF,EAAKA,KAEb,MAAM,IAAIC,MAAMI,EAAE,uBACnB,GCjcD,SA/DA,WACC,MAAOT,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnB2yE,EAAWC,IAAgB5yE,EAAAA,EAAAA,WAAS,IACrC,EAAE3I,IAAMC,EAAAA,EAAAA,KAwCd,OAtCA4I,EAAAA,WACC,MAOD9J,iBACC,MAAM4E,EAASrF,OAAOoF,SAASC,OACzBu9C,EAAS,IAAIs6B,gBAAgB73E,GACnC43E,GAAa,GAEb,IACC,IAA6D,IAAzDj9E,OAAOoF,SAASC,OAAO7E,QAAQ,qBAA6B,CAC/D,MAAM28E,EAAWv6B,EAAO3rC,IAAI,qBAC5B/I,GACC,IAAI5M,MACH,GAAGgW,KAAKC,UAAU,CACjBk7C,aAAc0qB,EACdv6B,OAAQA,SAIX77B,EAAS,IAAIzlB,MAAM67E,GAAsB,IAC1C,MAAO,GAAIn9E,OAAOoF,SAASC,OAAO7E,QAAQ,SAAW,EAAG,CACvD,MAAM48E,QACCvM,GAAsBoL,kBAAkB52E,EAAQ3D,GACvDmvE,GAAsB/+D,WACrB9R,OAAOoF,SAAS4D,OAASyX,GACzB28D,EAAW/M,OAEb,CACD,CAAE,MAAOpvE,GACR8lB,EAAS/lB,GAAwBC,GAClC,CACD,CAlCE4oE,EAAQ,GAGT,KAkCAh/D,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAU,qEAAoErB,SACvFnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAO3nB,OAAOoF,SAASa,KAAOwa,GAAiBrW,SACvDnJ,EAAMO,UAELw7E,GACHnyE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,UAC3BS,EAAAA,GAAAA,KAAC0R,GAAa,OAGf1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAIJ,ECyJA,SA9MA,WACC,MAAM,EAAExJ,IAAMC,EAAAA,EAAAA,KACR07E,EJkMCjE,GAAYp9E,QAAQ+xC,GAC1BA,EAAOr6C,QAAQwI,SAASzI,EAAAA,EAAUC,YIlM5B4pF,EAAkBC,IAAuBlzE,EAAAA,EAAAA,WAAkB,IAC3D0b,EAASy3D,IAAcnzE,EAAAA,EAAAA,YACxBo6D,EAAiB,CACtBC,UAAW,CACVC,OAAQ,MACRC,YAAa,UACbC,KAAM,UAEP4Y,cAAe,kBAIhBrjE,EAAAA,EAAAA,YAAU,KACsB,IAA3BijE,EAAgB16E,QAAgB06E,EAAgB,GAAGt3D,UACtDw3D,GAAoB,GACpBC,EAAWH,EAAgB,IAC5B,GACE,KAEHjjE,EAAAA,EAAAA,YAAU,KACT0qD,KAAAA,UAAqBL,EAAe,GAClC,IAQH,MAAMiZ,EAAc,SAAChxE,GAAsD,IAAhCixE,EAAkBx5E,UAAAxB,OAAA,QAAA1E,IAAAkG,UAAA,IAAAA,UAAA,GAC5D,MAAMg4E,EAAakB,EAAgBv7E,MAAM7F,GAAMA,EAAEyQ,OAASA,IACpDkxE,EACLD,IAAgD,KAAzB,OAAVxB,QAAU,IAAVA,OAAU,EAAVA,EAAYrC,oBAE1B,OAAKqC,GAKJlxE,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kBAAiBrB,SAAA,EAC/BS,EAAAA,GAAAA,KAAA,QAAMY,UAAW,GAAG0wE,EAAW7C,kBAC9B6C,EAAW9C,YACXxuE,EAAAA,GAAAA,KAAA,QACCY,UAAW,oBACVmyE,EAAwB,SAAW,IACjCxzE,SACF1I,EAAEy6E,EAAW9C,iBAXVxuE,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,GAgBT,EAKM2yE,EAAeA,KACpB,MAAO1vD,EAAW2mD,IAAgBzqE,EAAAA,EAAAA,UACjC4jB,MAAMmH,KAAK,CAAEzyB,OAAQ06E,EAAgB16E,SAAU,KAAM,MAE/C1B,EAAO8lB,IAAY1c,EAAAA,EAAAA,UACzB4jB,MAAMmH,KAAK,CAAEzyB,OAAQ06E,EAAgB16E,SAAU,IAAM,MAGhDm7E,EAAcA,CAACt7E,EAAahB,KACjCP,EAAMuB,GAAOhB,EACbulB,EAAS,IAAI9lB,GAAO,EAGf88E,EAAkBA,CAACv7E,EAAa5K,KACrCu2B,EAAU3rB,GAAO5K,EACjBk9E,EAAa,IAAI3mD,GAAW,EAGvB6vD,EAAyBA,IAAMX,EAAgB16E,OAAS,EAE9D,OACCsI,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,sBAAqBrB,SAAA,CAClC4zE,MACAnzE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,6BAA4BrB,UAC1CS,EAAAA,GAAAA,KAAA,MAAAT,SAAK1I,EAAE,0BAGTmJ,EAAAA,GAAAA,KAAA,OACCY,UAAW,6BACVuyE,KAA4B,qBAC1B5zE,SACFizE,EAAgBr7E,KAAI,CAACusB,EAAG/rB,KAEvByI,EAAAA,GAAAA,MAAA,UAECQ,UAAU,gBACVkB,QAASlM,UACR,GAAI8tB,EAAE5hB,QACL,IACK1L,EAAMuB,IAAMs7E,EAAYt7E,EAAK,IACjCu7E,EAAgBv7E,GAAK,SACf+rB,EAAE5hB,SACT,CAAE,MACDmxE,EACCt7E,EACAd,EAAE,wBAEHq8E,EAAgBv7E,GAAK,EACtB,MACMg7E,EAAWjvD,EAAE,EACnBnkB,SAAA,EACFS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,mBAAkBrB,SAC/BszE,EAAYnvD,EAAE7hB,QAEfsxE,KACA/yE,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACE+jB,EAAU3rB,KACVqI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAAC2R,GAAc,MAGhBvb,EAAMuB,KACNqI,EAAAA,GAAAA,KAAA,OAAKY,UAAU,oBAAmBrB,UACjCS,EAAAA,GAAAA,KAACqB,GAAY,CACZ1K,QAASP,EAAMuB,GACfoJ,IAAI,eAMRX,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,oBAAmBrB,SAAA,CAChC+jB,EAAU3rB,IACVqI,EAAAA,GAAAA,KAAC2R,GAAc,KAEf3R,EAAAA,GAAAA,KAAA,QAAMY,UAAU,yBAAwBrB,SACtC1I,EAAE,WAGJT,EAAMuB,KACNqI,EAAAA,GAAAA,KAACqB,GAAY,CACZ1K,QAASP,EAAMuB,GACfoJ,IAAI,cAhDH2iB,EAAE7hB,YAyDN,EAOFuxE,EAAcA,KAEnBlvE,GAAiCM,oBAGhCpE,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,qBAAoBrB,SAAA,CACjC2b,EAAS40D,0BACT9vE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,yBAAwBrB,SACrC1I,EAAEqkB,EAAS40D,4BAGd1vE,EAAAA,GAAAA,MAAA,OAAKQ,UAAW,mBAAmBhY,EAAAA,EAAUC,UAAU0W,SAAA,EACtDS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,eAAcrB,SAC3BszE,EAAY33D,EAASrZ,MAAM,MAE7B7B,EAAAA,GAAAA,KAAA,OAAKY,UAAU,gBAAerB,SAAE2b,EAASA,cAE1Clb,EAAAA,GAAAA,KAAA,UACCY,UAAW,sCACV6xE,EAAmB,GAAK,UAEzB3wE,QAASuxE,EAAkB9zE,SAC1B1I,EAAE,cAMDw8E,EAAoBA,KACzBnvE,GAAiCO,OAAO5N,EAAE,2BAC1C87E,OAAWv/E,EAAU,EAGtB,OACC4M,EAAAA,GAAAA,KAAA,OAAK8E,GAAG,YAAWvF,UAClBS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,UAC9Ba,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,4EAA2ErB,SAAA,EACzFS,EAAAA,GAAAA,KAAA,OACCU,IAAKikE,GACL/jE,UAAU,wCACVC,IAAI,SAEJqa,GAAUlb,EAAAA,GAAAA,KAACozE,EAAW,KAAMpzE,EAAAA,GAAAA,KAACgzE,EAAY,KAC1ChzE,EAAAA,GAAAA,KAAC4kE,GAAe,UAKrB,ECtJA,SA/DA,WACC,MAAOxuE,EAAO8lB,IAAY1c,EAAAA,EAAAA,aACnB2yE,EAAWC,IAAgB5yE,EAAAA,EAAAA,WAAS,IACrC,EAAE3I,IAAMC,EAAAA,EAAAA,KAwCd,OAtCA4I,EAAAA,WACC,MAOD9J,iBACC,MAAM4E,EAASrF,OAAOoF,SAASC,OACzBu9C,EAAS,IAAIs6B,gBAAgB73E,GACnC43E,GAAa,GAEb,IACC,IAAiD,IAA7Cj9E,OAAOoF,SAASC,OAAO7E,QAAQ,SAAiB,CACnD,MAAM28E,EAAWv6B,EAAO3rC,IAAI,SAC5B/I,GACC,IAAI5M,MACH,GAAGgW,KAAKC,UAAU,CACjBk7C,aAAc0qB,EACdv6B,OAAQA,SAIX77B,EAAS,IAAIzlB,MAAM67E,GAAsB,IAC1C,MAAO,GAAIn9E,OAAOoF,SAASC,OAAO7E,QAAQ,SAAW,EAAG,CACvD,MAAM48E,QACCvM,GAAsBkM,mBAAmB13E,EAAQ3D,GACxDmvE,GAAsB/+D,WACrB9R,OAAOoF,SAAS4D,OAASyX,GACzB28D,EAAW/M,OAEb,CACD,CAAE,MAAOpvE,GACR8lB,EAAS/lB,GAAwBC,GAClC,CACD,CAlCE4oE,EAAQ,GAGT,KAkCAh/D,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAU,qEAAoErB,SACvFnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAO3nB,OAAOoF,SAASa,KAAOwa,GAAiBrW,SACvDnJ,EAAMO,UAELw7E,GACHnyE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,UAC3BS,EAAAA,GAAAA,KAAC0R,GAAa,OAGf1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAIJ,ECuBA,SAnFA,WACC,MAAOjK,EAAO8lB,IAAY1c,EAAAA,EAAAA,UAAuB,OAC1C2yE,EAAWC,IAAgB5yE,EAAAA,EAAAA,WAAS,IACrC,EAAE3I,IAAMC,EAAAA,EAAAA,MAEdyY,EAAAA,EAAAA,YAAU,MAeV3Z,iBACCw8E,GAAa,GAEb,IACC,MAAMrF,EAAW16E,aAAaC,QAAQ,mBACtC,IAAIy6E,EA4BH,MAAM,IAAIt2E,MAAMI,EAAE,yBA5BL,CACb,MAAMs3E,QACCnI,GAAsBtgE,oBAC3BqnE,GACA,EACAl2E,GAcF,GAZAsM,GACC,SAAS20D,GACRqW,EAAar/D,6CACwC,OAAZq/D,QAAY,IAAZA,OAAY,EAAZA,EAAcC,cACxD,CACCt/D,IAAKgpD,GAAQqW,EAAar/D,KAC1BpY,OAAoB,OAAZy3E,QAAY,IAAZA,GAAAA,EAAcC,YACnB,UACA,WAIW,OAAZD,QAAY,IAAZA,IAAAA,EAAcC,YAMjB,MAAM,IAAI33E,MAAMI,EAAE,yBALlBmvE,GAAsB/+D,WACrBywD,KACAyW,EAAa3I,OAKhB,CAGD,CAAE,MAAOpvE,GACR8lB,EAAS/lB,GAAwBC,UAC3Bw2E,GACP,CAAC,QACAwF,GAAa,EACd,CACD,CAvDCpT,EAAQ,GAEN,IAEH,MAAM4N,GAAmBp7D,EAAAA,EAAAA,cAAY5b,UACpC,MAAMm3E,EAAW16E,aAAaC,QAAQ,mBACtC,GAAKy6E,EACL,UACO/G,GAAsBrgE,mBAAmBonE,EAAUl2E,EAC1D,CAAE,MAAOmW,GACRkP,EAAS,IAAIzlB,MAAMI,EAAE,wBACtB,IACE,CAACA,IA6CJ,OACCmJ,EAAAA,GAAAA,KAACO,GAAAA,EAAS,CAACK,UAAU,qEAAoErB,SACvFnJ,GACA4J,EAAAA,GAAAA,KAAC4c,GAAAA,EAAK,CACLxI,QAAQ,SACRyI,aAAW,EACXC,QAASA,IAAO3nB,OAAOoF,SAASa,KAAOwa,GAAiBrW,SACvDnJ,EAAMO,UAELw7E,GACHnyE,EAAAA,GAAAA,KAAA,OAAKY,UAAU,cAAarB,UAC3BS,EAAAA,GAAAA,KAAC0R,GAAa,OAGf1R,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAIJ,ECsEA,SAlIA,SAAkBlO,GAAoB,IAAnB,QAAEmhF,GAAcnhF,EAElC,MAAMwjB,GAAWkwC,EAAAA,GAAAA,OACVrwC,EAAOH,GAAY3V,EAAAA,SAAuB,CAChD6zE,QAAS,IACT7gE,WAAW,EACX8gE,cAAc,EACdl+D,YAAY,EACZm+D,QAAS,KAGJh+D,EAAY/V,EAAAA,OAAwB,IAAIg0E,GAAAA,EAAUl+D,KAElD,gBAAErW,IAAoBgB,EAAAA,EAAAA,YAAWlB,IAEvC,OACCmB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAd,SAAA,CACEJ,GACAa,EAAAA,GAAAA,KAAC0zE,GAAAA,EAAS,CACTnhE,IAAKkD,EACLk+D,SAAUA,IAAMv+D,GAChBw+D,SAAUA,IAAMx+D,GAChBG,OAAQA,IAAMH,GAAwBC,EAAUG,GAChDutD,QAAS9vE,SACT4gF,SAAU,IACVN,QAAS/9D,EAAM+9D,QACfO,YAAY,KAGb9zE,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,KAEDD,EAAAA,GAAAA,MAAC2zE,GAAAA,GAAM,CAAAx0E,SAAA,EACNS,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,QACC5jE,GACCa,EAAAA,GAAAA,KAAC0a,GAAAA,GAAQ,CAACC,GAAI/E,MAEd5V,EAAAA,GAAAA,KAACi0E,GAAS,OAIbj0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CAACxf,KAAM5+C,GAAkBmtD,SAAS/iE,EAAAA,GAAAA,KAACk0E,GAAU,OACnDl0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,QACC5jE,GACCa,EAAAA,GAAAA,KAAC0a,GAAAA,GAAQ,CAACgpB,SAAO,EAAC/oB,GAAI/E,MAEtB5V,EAAAA,GAAAA,KAACi0E,GAAS,OAIbj0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CAACxf,KAAM5+C,GAAqBmtD,SAAS/iE,EAAAA,GAAAA,KAACm0E,GAAS,OACrDn0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SAAS/iE,EAAAA,GAAAA,KAACo0E,GAAY,OAEvBp0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SAAS/iE,EAAAA,GAAAA,KAACq0E,GAAoB,OAE/Br0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SAAS/iE,EAAAA,GAAAA,KAACs0E,GAAkB,OAE7Bt0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SACC/iE,EAAAA,GAAAA,KAACu0E,GAAY,CACZn6D,SAAUxE,GACVsE,UAAWs6D,GACXhgB,KAAM5+C,QAIT5V,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SACC/iE,EAAAA,GAAAA,KAACu0E,GAAY,CACZn6D,SAAUxE,GACV4+C,KAAM5+C,GACNsE,UAAWu6D,QAIdz0E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SACC/iE,EAAAA,GAAAA,KAACu0E,GAAY,CACZn6D,SAAUxE,GACV4+C,KAAM5+C,GACNsE,UAAWw6D,QAId10E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SAAS/iE,EAAAA,GAAAA,KAAC20E,GAAqB,OAEhC30E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CACLxf,KAAM5+C,GACNmtD,SAAS/iE,EAAAA,GAAAA,KAAC40E,GAAkB,OAG7B50E,EAAAA,GAAAA,KAACg0E,GAAAA,GAAK,CAACjR,QAAS8R,SAGjB70E,EAAAA,GAAAA,KAACyS,GAAgB,CAChBC,UAAW8C,EAAM9C,UACjBC,YAAaA,IACZyC,GAA6BK,EAAWJ,GAEzCzC,aAAcA,IACbwC,GAA8BO,EAAUN,GAEzCxC,cAAe2C,EAAMi+D,UAErBt0E,GACAa,EAAAA,GAAAA,KAAA,OAAKY,UAAU,kBAAiBrB,UAC/BS,EAAAA,GAAAA,KAAC0X,GAA0B,OAG5B1X,EAAAA,GAAAA,KAAA,OAAKY,UAAU,qBAAoBrB,UAClCS,EAAAA,GAAAA,KAAC0X,GAA0B,QAKhC,ECrGA,MACA,GAAe,IAA0B,+DCpBzC,GAjCuBo9D,KACtB,MAAM,KAAEnjF,IAASmF,EAAAA,EAAAA,KAMjB,OACCsJ,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,kCAAiCrB,SAAA,EAC/CS,EAAAA,GAAAA,KAAA,KAAGY,UAAU,mBACZ5P,OAAOC,KAAKrI,EAAAA,EAAUsI,WAAWiG,KAAI,CAAC4B,EAAM2qB,KAC5C,MAAMnyB,EAAUwH,EAAK1F,MAAM,KAAK,GAChC,OACC2M,EAAAA,GAAAA,KAAA,OAECY,UAAW,2BACVjP,EAAKoE,WAAagD,EAAO,SAAW,YAClCwG,UACHa,EAAAA,GAAAA,MAAA,MACCQ,UAAU,oBAEVkB,QAASA,KAAMizE,OAlBGh/E,EAkBYgD,OAjBnCpH,EAAKojF,eAAeh/E,GADrB,IAAwBA,CAkBkB,EAAAwJ,SAAA,EACpCS,EAAAA,GAAAA,KAAA,MAAIY,UAAW,SAAWrP,KAC1ByO,EAAAA,GAAAA,KAAA,MAAIY,UAAU,YAAWrB,SACvB3W,EAAAA,EAAUsI,UAAU6H,OAJjB,yBAA2B2qB,IAN5B,0BAA4BA,EAa5B,MAGH,ECqER,SAtFA,SAAavxB,GAAoC,IAAnC,KAAEypE,EAAI,MAAEt5D,EAAK,SAAE42D,GAAiB/mE,EAE7C,MAAM2f,GAAOC,EAAAA,EAAAA,UAEPC,EAAe9a,IAChB4a,EAAKI,QAAQC,SAASjb,EAAEkb,SAG5BwpD,GAAM,GAGPrsD,EAAAA,EAAAA,YAAU,KACTtc,SAASof,iBAAiB,YAAaL,GAChC,KACN/e,SAASqf,oBAAoB,YAAaN,EAAY,KAIxD,MAAM,EAAEnb,IAAMC,EAAAA,EAAAA,KAERmuE,EAAON,GAEb,OACC3kE,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCS,EAAAA,GAAAA,KAACu+D,GAAAA,GAASC,IAAG,CAAC59D,UAAU,kBAAiBrB,UACxCa,EAAAA,GAAAA,MAACm+D,GAAAA,GAASC,IAAG,CACZtjE,MAAOoH,EACPiQ,IAAKT,EACLhN,GAAG,yBACHlE,UAAU,iBAAgBrB,SAAA,EAC1Ba,EAAAA,GAAAA,MAACmyD,GAAAA,EAAG,CAAAhzD,SAAA,EACHS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,EAAEvb,UACVS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,IAAKukE,EACLrkE,UAAU,4CACVC,IAAI,kBAGNb,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,KACT9a,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,EAAGla,UAAU,cAAarB,UAClCS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,IAAKs0E,GACLp0E,UAAU,uBACVC,IAAI,aACJiB,QAAS85D,UAKZ57D,EAAAA,GAAAA,KAAA,UACAI,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,OAAMrB,SAAA,EACpBS,EAAAA,GAAAA,KAACuyD,GAAAA,EAAG,CAAC3xD,UAAU,OAAMrB,UACpBS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXa,EAAAA,GAAAA,MAAA,KAAGQ,UAAU,YAAWrB,SAAA,CACtB1I,EAAE,SAAS,IAAEqiE,EAAS,WAIzBpvC,GAAU3yB,KAAI,CAAC6D,EAAM0oB,KAErB1jB,EAAAA,GAAAA,KAACivC,EAAAA,GAAI,CAAmBt0B,GAAI3f,EAAKmpE,MAAOriE,QAAS85D,EAAKr8D,UACrDa,EAAAA,GAAAA,MAACmyD,GAAAA,EAAG,CAAC3xD,UAAU,sBAAqBrB,SAAA,EACnCS,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,EAAEvb,SACVvE,EAAKkpE,QAASlkE,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAM1U,EAAKkpE,UAC3ClkE,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SAAGvE,EAAKopE,SAAUpkE,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CAACtT,IAAK1F,EAAKopE,QAASxjE,UAAU,eAAgBZ,EAAAA,GAAAA,KAACwP,GAAAA,EAAe,CAACE,KAAM,cAE7F1P,EAAAA,GAAAA,KAACwyD,GAAAA,EAAG,CAAC13C,GAAI,GAAGvb,UACXS,EAAAA,GAAAA,KAAA,OAAKY,UAAU,YAAWrB,SACxB1I,EAAEmE,EAAKwX,cARD,QAAUkR,MAetB1jB,EAAAA,GAAAA,KAAA,OAAKY,UAAU,iBAAgBrB,SAAE1I,EAAE,eAEnCmJ,EAAAA,GAAAA,KAAC80E,GAAc,aAOrB,ECwBA,SAjHA,WAAmB,IAADz3C,EAAA43C,EAAAC,EAAAC,EACjB,MAAM3Q,EAAYrvE,OAAOoF,SAASC,OAAOigB,cACnCgqD,EAAUtvE,OAAOoF,SAASggB,SAASE,cAEnCy+C,EACgB,OAArBpjE,EAAAA,EAAQC,SACLoG,GACAsQ,KAAKqW,MAC8C,QADzCua,EAC6B,QAD7B43C,EACTx3E,eAAenL,QAAQ,uBAAe,IAAA2iF,OAAA,EAAtCA,EAAwCj7E,kBAAU,IAAAqjC,EAAAA,EACjD,SAGF5wB,KAAKqW,MAC6C,QADxCoyD,EAC4B,QAD5BC,EACV13E,eAAenL,QAAQ,uBAAe,IAAA6iF,OAAA,EAAtCA,EAAwCn7E,kBAAU,IAAAk7E,EAAAA,EAAI,SAEpD,EAAEr+E,IAAMC,EAAAA,EAAAA,MACR,gBAAEqI,IAAoBgB,EAAAA,EAAAA,YAAWlB,KAEhC8+D,EAASC,IAAcx+D,EAAAA,EAAAA,WAAS,IAChC41E,EAAeC,IAAoB71E,EAAAA,EAAAA,WAAkB,GAEtD81E,GAAcC,EAAAA,GAAAA,IAAcxX,EAAS,KAAM,CAChDxzC,KAAM,CAAEmJ,UAAW,yBAA0B8hD,QAAS,IACtDC,MAAO,CAAE/hD,UAAW,uBAAwB8hD,QAAS,GACrDE,MAAO,CAAEhiD,UAAW,yBAA0B8hD,QAAS,IACvD3yE,OAAQ,CAAEqjB,SAAU,OAGf++C,EAAON,GAYb,OAVAp1D,EAAAA,EAAAA,YACC,KACCi1D,EAAUnzE,SAAS,gBAAkBozE,EAAQpzE,SAAS,eACnDgkF,GAAiB,GACjBA,GAAiB,EACd,GAEP,KAIAr1E,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,SACEJ,IACAa,EAAAA,GAAAA,KAAAK,GAAAA,SAAA,CAAAd,UACCS,EAAAA,GAAAA,KAAA,OACCY,UAAW,+CACVw0E,EACG,qBACA,kBACD71E,UACHa,EAAAA,GAAAA,MAAA,OAAKQ,UAAU,iBAAiBkE,GAAG,iBAAgBvF,SAAA,EAClDa,EAAAA,GAAAA,MAACG,GAAAA,EAAS,CAACK,UAAU,2DAA0DrB,SAAA,CAC7E61E,GACAp1E,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,IAAKukE,EACLrkE,UAAU,oCACVC,IAAI,gBAGLb,EAAAA,GAAAA,KAACivC,EAAAA,GAAI,CAACt0B,GAAI/E,GAAmBrW,UAC5BS,EAAAA,GAAAA,KAACgU,GAAAA,EAAK,CACLtT,IAAKukE,EACLrkE,UAAU,oCACVC,IAAI,iBAINu0E,EAAgB,MAAOp1E,EAAAA,GAAAA,KAAC80E,GAAc,IAEtCM,GACAp1E,EAAAA,GAAAA,KAAA,OAAKY,UAAU,WAAUrB,UACxBS,EAAAA,GAAAA,KAACivC,EAAAA,GAAI,CACJruC,UAAU,aACV+Z,GAAI/E,GAAiBrW,SACpB1I,EAAE,gBAILuJ,EAAAA,GAAAA,MAAA,OACC0E,GAAG,YACHlE,UAAU,UACVkB,QAASA,IAAMk8D,GAAW,GAC1B9iE,MAAO,CACNy6E,WAAY5X,EACT,SACA,WACFx+D,SAAA,EACFS,EAAAA,GAAAA,KAAA,YACAA,EAAAA,GAAAA,KAAA,YACAA,EAAAA,GAAAA,KAAA,iBAKFs1E,EAAYn+E,KACZhF,IAAA,IAAC,KAAE4G,EAAI,IAAEpB,EAAG,MAAE2K,GAAOnQ,EAAA,OACpB4G,IACCiH,EAAAA,GAAAA,KAAC41E,GAAI,CAEJha,KAAMA,IAAMoC,GAAW,GACvB17D,MAAOA,EACP42D,SAAUA,GAHLvhE,EAKN,YAQV,E,yBCzHA,MAAMk+E,GAAiC,CACtCC,QAAS,CACR,GAAM,CACLr3E,YAAa,CACZ,YAAgB,CACfs3E,iBAAkB,CACjB,GAAO,CACN1xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,6BAEhB,GAAO,CACN5xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,6BAEhB,GAAO,CACN5xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,+BAIlB,QAAY,CACXF,iBAAkB,CACjB,GAAO,CACN1xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,6BAEhB,GAAO,CACN5xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,6BAEhB,GAAO,CACN5xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,+BAGhB,WAAe,CAChBF,iBAAkB,CACjB,GAAO,CACN1xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,2BAEhB,GAAO,CACN5xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,2BAEhB,GAAO,CACN5xE,OAAQ,UACR2xE,QAAS,KACTC,cAAe,+BAMpB,GAAM,CACLx3E,YAAa,CACZ,YAAgB,CACfs3E,iBAAkB,CACjB,QAAY,CACX1xE,OAAQ,UACR2xE,QAAS,KACTE,mBAAoB,kEACpBD,cAAe,+BAIlB,QAAY,CACXF,iBAAkB,CACjB,QAAY,CACX1xE,OAAQ,UACR2xE,QAAS,KACTE,mBAAoB,kEACpBD,cAAe,+BAIlB,WAAe,CACdF,iBAAkB,CACjB,QAAY,CACX1xE,OAAQ,UACR2xE,QAAS,KACTE,mBAAoB,kEACpBD,cAAe,4BAMpB,GAAM,CACLx3E,YAAa,CACZ,YAAgB,CACfs3E,iBAAkB,CACjB,QAAY,CACX1xE,OAAQ,UACR2xE,QAAS,KACTE,mBAAoB,kEACpBD,cAAe,+BAIlB,QAAY,CACXF,iBAAkB,CACjB,QAAY,CACX1xE,OAAQ,UACR2xE,QAAS,KACTE,mBAAoB,kEACpBD,cAAe,+BAIlB,WAAe,CACdF,iBAAkB,CACjB,QAAY,CACX1xE,OAAQ,UACR2xE,QAAS,KACTE,mBAAoB,kEACpBD,cAAe,8BAShBE,GAAiD,CACtDz1E,IAAK,yGACL01E,QAAS,u5CACTC,QAAS,woZAGJC,GAAiD,CACtD51E,IAAK,yGACL01E,QAAS,u5CACTC,QAAS,4nZCzDV,SAjFA,WACI,MAAOE,EAAeC,IAAoBh3E,EAAAA,EAAAA,WAAS,IAC7C,gBAAEL,IAAoBgB,EAAAA,EAAAA,YAAWlB,KAChClJ,EAAU0gF,IAAej3E,EAAAA,EAAAA,UAAS7N,EAAKoE,WACvCiO,EAAK0yE,IAAUl3E,EAAAA,EAAAA,UAAc,OAE9B,SAAE+M,IAAapM,EAAAA,EAAAA,YAAWsiB,IAEhC9wB,EAAKqB,GAAG,mBAAoBd,IACxBukF,EAAYvkF,EAAI,IAGpB,MAAMykF,EDiIH,WACN,OAAO/tF,EAAAA,EAAUC,SAChB,IAAK,KACL,IAAK,KACL,IAAK,KACJ,MAA6B,eAA1BD,EAAAA,EAAU6V,YACL63E,GAGAH,GAET,QACC,OAEH,CC/IgCS,GAmB1BhhF,eAAeihF,IACb,IAAIC,QxQHLlhF,iBACN,MAAM,QAAEiO,SAAmB9E,GAAYa,WAAc,CACpD4C,aAAcH,MAEf,OAAc,OAAPwB,QAAO,IAAPA,OAAO,EAAPA,EAASG,GACjB,CwQF8B+yE,GACtBL,EAAOI,EACT,CAEA,SAASE,EAAWrB,GAAsB,IAADsB,EAC7B,QAAVA,EAAA9hF,OAAO+hF,WAAG,IAAAD,GAAVA,EAAYD,WAAWrB,GAEvB,MAAMwB,EAAUlkF,SAASilC,eAAe,iBACrCi/C,IACCA,EAAQj8E,MAAMC,QAAUw6E,EAAa,QAAU,OACrD,CAoCA,OAhEFpmE,EAAAA,EAAAA,YAAU,KACN,GAAGonE,EAAoB,CACnB,IAAIS,EAAMnkF,SAASgI,cAAc,UACjCm8E,EAAI12E,IAAMi2E,EAAoBj2E,IAC9B02E,EAAItyE,GAAK,QACTsyE,EAAIxwC,aAAa,UAAW+vC,EAAoBN,SAChDe,EAAIxwC,aAAa,UAAW+vC,EAAoBP,SAChDgB,EAAIC,OAAS,IAAMb,GAAiB,GACpCvjF,SAASqkF,KAAK/7E,YAAY67E,EAC9B,CAEA,MAAO,KACAT,GACC1jF,SAASqkF,KAAKC,YAAYH,EAAI,CACrC,GACA,KAeH7nE,EAAAA,EAAAA,YAAU,KACR,GAAGonE,EAEC,GADAE,KACqB,IAAlBN,GAA0BvyE,GAAO7O,OAAO+hF,KAAOnhF,EAAS,CACvD,MACMyhF,ED4Gf,SAA0BrkF,GAAkD,IAADskF,EAAAC,EAAAC,EAAAC,EAAAC,EACjF,OAA2G,QAA3GJ,EAA+C,QAA/CC,EAAO7B,GAAcC,QAAQltF,EAAAA,EAAUC,gBAAQ,IAAA6uF,GAAoC,QAApCC,EAAxCD,EAA0Cj5E,YAAY7V,EAAAA,EAAU6V,oBAAY,IAAAk5E,OAApC,EAAxCA,EAA8E5B,iBAAiB5iF,UAAK,IAAAskF,EAAAA,EAA4C,QAA5CG,EAAI/B,GAAcC,QAAQltF,EAAAA,EAAUC,gBAAQ,IAAA+uF,GAAoC,QAApCC,EAAxCD,EAA0Cn5E,YAAY7V,EAAAA,EAAU6V,oBAAY,IAAAo5E,OAApC,EAAxCA,EAA8E9B,iBAA0B,OACxN,CC9GmC+B,CADHtmF,EAAWuE,IAG3B,GAAGyhF,EAAW,CAWV,GAVGA,EAAWtB,mBACV/gF,OAAO+hF,IAAIT,YAAYe,EAAWxB,QAASwB,EAAWtB,oBAGtD/gF,OAAO+hF,IAAIT,YAAYe,EAAWxB,SAGtC7gF,OAAO+hF,IAAIa,UAAU,CAAC,CAAC,QAAUP,EAAWvB,iBAC5C9gF,OAAO+hF,IAAIc,OAAO,CAAC3zE,OAAOmzE,EAAWnzE,OAAQ4zE,eAAeT,EAAWxB,QAAQh9E,cAAc8V,IAAI9K,IAE9FuI,EAAS,CAAC,IAAD2rE,EAAAC,EAAAC,EACR,MAAMC,GAAuB,OAAR9rE,QAAQ,IAARA,GAAsB,QAAd2rE,EAAR3rE,EAAUK,oBAAY,IAAAsrE,OAAd,EAARA,EAAwBrrE,WAAY,KAAc,OAARN,QAAQ,IAARA,GAAsB,QAAd4rE,EAAR5rE,EAAUK,oBAAY,IAAAurE,OAAd,EAARA,EAAwBv7C,UACjF07C,EAAwB,OAAR/rE,QAAQ,IAARA,GAAkB,QAAV6rE,EAAR7rE,EAAUygC,gBAAQ,IAAAorC,OAAV,EAARA,EAAoBt/D,MACvCu/D,GAAgBC,GACfnjF,OAAO+hF,IAAIqB,QAAQF,EAAaC,EACxC,CAEAtB,GAAW,EACf,CACJ,MAEIA,GAAW,EAEnB,GACC,CAACT,EAAep3E,EAAiBpJ,EAAUwW,IAEvC,IACb,EC/BAisE,GAAAA,GAAQC,IACPC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAxuD,GAAAA,IACAC,GAAAA,IACAwuD,GAAAA,IACAC,GAAAA,IACAjmD,GAAAA,IACAkmD,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,IACAC,GAAAA,KAGD,MAAMC,GAAWnoF,IAAyB,IAAxB,UAAEooF,GAAgBpoF,EACnC,MAAMs9B,EAAcx8B,SAASunF,cAAc,4BACvC/qD,GACHA,EAAYgrD,SAEb,MAqBMC,EAAUA,KACf,OAAQ9xF,EAAAA,EAAUC,SACjB,IAAK,KACJ,MAAO,qBACR,IAAK,KACJ,MAAO,oEACR,IAAK,KACL,IAAK,KAQL,QACC,MAAO,sBAPR,IAAK,KACJ,MAAO,mIACR,IAAK,KACJ,MAAO,wBACR,IAAK,KACJ,MAAO,yBAGT,EAyBD,OAAOmX,EAAAA,GAAAA,KAAC26E,EAAAA,GAAM,CAACvnE,MA/DEwnE,MAChB,OAAQhyF,EAAAA,EAAUC,SACjB,IAAK,KAcL,QACC,MAAO,qBAbR,IAAK,KACJ,MAAO,uBACR,IAAK,KACJ,MAAO,sBACR,IAAK,KACJ,MAAO,yBACR,IAAK,KACJ,MAAO,uBACR,IAAK,KACJ,MAAO,uBACR,IAAK,KACJ,MAAO,0BAGT,EA6CqB+xF,GAAYC,KArB7BN,EACI,CACN,CACCz/E,KAAM,cACNogB,QAAS,GAAGw/D,QAIP,CACN,CACC5/E,KAAM,cACNogB,QAAS,GAAGw/D,OAEb,CACC5/E,KAAM,SACNogB,QAAS,UAMwC,EAGtD,SAAS4/D,GAAa75E,GAAgD,IAA/C,MAAE7K,EAAK,mBAAEuL,GAAmCV,EAClE,OACCjB,EAAAA,GAAAA,KAAC+6E,GAAiB,CACjB3kF,MAAOA,EACPuL,mBAAoBA,GAGvB,CAEA,MAsCA,GAtCsBq5E,KAErB,IAAIC,EAAUC,EAEd,OACCl7E,EAAAA,GAAAA,KAACm7E,EAAAA,GAAc,CAAA57E,UACdS,EAAAA,GAAAA,KAACo7E,EAAAA,GAAa,CAAA77E,UACbS,EAAAA,GAAAA,KAAA,OAAKY,UAAW,OAAOhY,EAAAA,EAAUC,UAAU0W,UAC1CS,EAAAA,GAAAA,KAACq7E,EAAAA,SAAQ,CAACC,UAAUt7E,EAAAA,GAAAA,KAAC0R,GAAa,IAAInS,UACrCS,EAAAA,GAAAA,KAACu7E,EAAAA,cAAa,CACbC,eAAgBV,GAChBlrB,QAAUx5D,GAAiBiN,GAASjN,GAAOmJ,UAC3CS,EAAAA,GAAAA,KAACy7E,EAAAA,EAAW,CACXC,eAAgBT,EAChBU,WAAW,EACXC,eAAe,EACfC,kBAAkB77E,EAAAA,GAAAA,KAAC0R,GAAa,IAAKnS,UAErCa,EAAAA,GAAAA,MAACd,GAAe,CAAAC,SAAA,EACfS,EAAAA,GAAAA,KAACs6E,GAAQ,CAACC,WAlBA/nF,KAmBVwN,EAAAA,GAAAA,KAAC8Z,GAAsB,CAAAva,UACtBa,EAAAA,GAAAA,MAACuiB,GAAkC,CAAApjB,SAAA,EAClCS,EAAAA,GAAAA,KAAC8T,GAAM,KACP9T,EAAAA,GAAAA,KAAC87E,GAAO,KACR97E,EAAAA,GAAAA,KAAC+7E,GAAS,KACV/7E,EAAAA,GAAAA,KAACkU,GAAM,uBASC,C","sources":["shared/constants/kycTypes.tsx","shared/constants/kycValues.tsx","shared/constants/countryTypes.tsx","i18n.ts","shared/constants/cookieTypes.tsx","shared/utils/helpers.tsx","auth/services/auth.service.ts","shared/contexts/auth.tsx","shared/pages/NotFoundPage.tsx","shared/components/BoxInfo.tsx","shared/pages/ErrorFallbackPage.tsx","shared/constants/signingTypes.tsx","original/utils/helpers.ts","shared/AppInsight.tsx","auth/utils/auth-util.ts","shared/constants/routes.tsx","shared/services/customerDataApiService.ts","img/icons/download-interface-bronze.svg","img/icons/upload-document.svg","shared/components/SortingArrows.tsx","shared/hooks/useStateWithSessionStorage.tsx","shared/services/appConfigurationService.tsx","shared/contexts/azureAppConfig.tsx","shared/components/Spinners.tsx","shared/components/Tooltip.tsx","shared/components/modals/IdleTimeOutModal.tsx","shared/constants/formTypes.tsx","shared/constants/documentTypes.tsx","original/constants/enums/LoanType.tsx","shared/DevTests/DeveloperTesting.tsx","shared/services/idleTimerService.tsx","selfServicePortal/constants/routes.ts","shared/components/MaintenanceWindow/MaintenanceWindow.tsx","shared/contexts/MaintenanceContext.tsx","shared/constants/countryValueTypes.ts","original/constants/countryValues/countryValues.tsx","original/contexts/MyPagesContext.tsx","original/constants/routes/PrivateRoute.tsx","original/components/containerHomePageText/ContainerHomePageText.tsx","original/components/expandable/Expandable.tsx","original/components/downloadLoanDocumentButton/DownloadLoanDocumentButton.tsx","original/constants/enums/CountryHeaders.tsx","original/utils/countryDataHelper.tsx","original/constants/enums/ToggleTypes.tsx","original/contexts/MyPagesCustomerInfoContext.tsx","original/pages/loans/Loans.tsx","original/components/transaction/Transaction.tsx","shared/utils/dateAndTimeHelpers.tsx","selfServicePortal/services/axios.ts","selfServicePortal/services/DepositServices/getDepositTransactionsService.ts","selfServicePortal/services/CreditCardServices/getTransactionsService.ts","selfServicePortal/contexts/TransactionsContext.tsx","selfServicePortal/contexts/SspContext.tsx","selfServicePortal/hooks/useTransactions.tsx","selfServicePortal/components/Transactions/SeeAll/SeeAll.tsx","selfServicePortal/components/Transactions/Select/Select.tsx","selfServicePortal/components/Transactions/CardItem/CardItem.tsx","selfServicePortal/components/Table/Table.tsx","selfServicePortal/components/Transactions/Map/Map.tsx","selfServicePortal/components/Transactions/CardTransactions/CardTransactions.tsx","img/tf-logos/tfbank21-logo-white.svg","selfServicePortal/interfaces/i-api-support.ts","selfServicePortal/hooks/useSspContext.ts","selfServicePortal/interfaces/i-api-creaditCard.ts","selfServicePortal/interfaces/i-api-customer.ts","img/document-icons/download-interface-cream.svg","selfServicePortal/services/CreditCardServices/sddService.ts","selfServicePortal/containers/Home/Account/SDD/SDDDisableModal.tsx","selfServicePortal/containers/Home/Account/SDD/SDDOverview.tsx","shared/components/Multistep.tsx","shared/formBuilder/formWrapper.tsx","original/formBuilder/forms/depositInformationForm.tsx","shared/formBuilder/forms/pepInformationFormDE_NO.tsx","original/formBuilder/forms/pepInformationForm.tsx","original/formBuilder/forms/pepInformationBalticForm.tsx","original/formBuilder/forms/loanInformationForm.tsx","shared/formBuilder/forms/setPasswordIdCheckForm.tsx","shared/formBuilder/forms/contactForm.tsx","original/formBuilder/forms/loanInformationFormFi.tsx","original/formBuilder/forms/loanInformationFormEe.tsx","original/formBuilder/forms/loanInformationFormLv.tsx","original/formBuilder/forms/loanInformationFormLt.tsx","original/formBuilder/forms/depositInformationFormFi.tsx","shared/formBuilder/forms/depositInformationFormNo.tsx","shared/formBuilder/forms/customerInformationFormSddDE_AT.tsx","shared/formBuilder/forms/cashToAccountFormDe.tsx","auth/formBuilder/forms/otpStartFormEs.tsx","auth/formBuilder/forms/otpCompleteForm.tsx","shared/formBuilder/forms/depositInformationFormDe.tsx","shared/formBuilder/formFactory.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDCustomerInformationForm.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDTermsAndConditions.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthError.tsx","img/auth-and-sign-icons/email-active.svg","img/auth-and-sign-icons/email-inactive.svg","img/auth-and-sign-icons/sms-active.svg","img/auth-and-sign-icons/sms-inactive.svg","img/auth-and-sign-icons/mobileapp-active.svg","img/auth-and-sign-icons/mobileapp-inactive.svg","selfServicePortal/interfaces/i-api-sdd.ts","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthSelectButtons.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthValidation.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthentication.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDSuccessResponse.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/SDDMultistepValues.tsx","selfServicePortal/containers/Home/Account/SDD/sepaDirectDebit.tsx","selfServicePortal/components/Table/TableLegacy.tsx","selfServicePortal/components/Heading/Heading.tsx","selfServicePortal/components/AccordionItem/AccordionItem.tsx","selfServicePortal/containers/Home/Account/DepositTransactions/MobileTransactions/MobileTransactions.tsx","selfServicePortal/containers/Home/Account/DepositTransactions/DepositTransactions.tsx","selfServicePortal/components/Transactions/SkeletonLoader/SkeletonLoader.tsx","selfServicePortal/components/Transactions/Transactions.tsx","shared/components/modals/KycSharedModal/KycModal.tsx","selfServicePortal/containers/Home/Account/Overview/CardOverview/useCardImage.tsx","shared/components/modals/InformationModal/components/ModalBody.tsx","shared/components/modals/InformationModal/components/ModalFooter.tsx","shared/components/modals/InformationModal/components/ModalHeader.tsx","shared/components/modals/InformationModal/InformationModal.tsx","selfServicePortal/containers/Home/Account/Overview/CardOverview/CardOverview.tsx","selfServicePortal/containers/Home/Account/Overview/DepositOverview/InfoBox/InfoBox.tsx","selfServicePortal/containers/Home/Account/Overview/DepositOverview/DepositOverview.tsx","selfServicePortal/containers/Home/Account/Overview/Overview.tsx","selfServicePortal/services/CreditCardServices/getAccountStatementService.ts","selfServicePortal/services/CreditCardServices/getAccountStatementsService.ts","selfServicePortal/services/DepositServices/getDepositAccountStatementsService.ts","selfServicePortal/services/DepositServices/getDepositAccountStatementService.ts","selfServicePortal/containers/Home/Account/PaymentInformation/PaymentInformation.tsx","img/icons/contract-bronze.svg","img/icons/contract-bronze-2.svg","img/icons/hand-gray.svg","img/icons/standards-bronze.svg","selfServicePortal/containers/Home/Account/Terms/termsConstants.ts","selfServicePortal/services/CustomerServices/SspTermsService.ts","selfServicePortal/containers/Home/Account/Terms/Terms.tsx","selfServicePortal/services/SupportServices/sendEmailSspService.ts","selfServicePortal/containers/Home/CustomerService/Contact/Contact.tsx","selfServicePortal/services/CreditCardServices/getPinUrlService.ts","selfServicePortal/containers/Home/Cardservice/ShowPin/ShowPin.tsx","selfServicePortal/services/CustomerServices/updateCustomerService.ts","shared/formBuilder/forms/customerInformationForm.tsx","selfServicePortal/containers/Home/Account/MyAccountNo/MyAccountNo.tsx","selfServicePortal/components/Stepper/stepper.tsx","selfServicePortal/components/Stepper/use-stepper.ts","shared/formBuilder/forms/customerInformationFormDE_AT.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressForm.tsx","selfServicePortal/services/CustomerServices/updateUserService.ts","img/icons/smartphone.svg","selfServicePortal/utils/index.ts","img/icons/mail.svg","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressSecurityCode.tsx","img/icons/done.svg","selfServicePortal/components/OtpInput/OtpInput.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressOtp.tsx","img/icons/wrong.svg","selfServicePortal/components/ui/Screen/index.tsx","selfServicePortal/components/ui/Card/index.tsx","selfServicePortal/components/Message/Message.tsx","selfServicePortal/containers/Home/Account/MyAccount/Success.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressChange.tsx","selfServicePortal/containers/Home/Account/MyAccount/EmailChange/EmailForm.tsx","selfServicePortal/containers/Home/Account/MyAccount/EmailChange/EmailOtp.tsx","selfServicePortal/containers/Home/Account/MyAccount/EmailChange/EmailChange.tsx","selfServicePortal/containers/Home/Account/MyAccount/PhoneChange/PhoneForm.tsx","selfServicePortal/containers/Home/Account/MyAccount/PhoneChange/PhoneOtp.tsx","selfServicePortal/containers/Home/Account/MyAccount/PhoneChange/PhoneChange.tsx","selfServicePortal/components/FormInfo/FormInfo.tsx","selfServicePortal/containers/Home/Account/MyAccount/Info/Info.tsx","selfServicePortal/services/CustomerServices/getContactChangeStatusService.ts","selfServicePortal/containers/Home/Account/MyAccount/MyAccount.tsx","selfServicePortal/containers/Home/CustomerService/FrequentlyAskedQuestions/Faq.tsx","selfServicePortal/containers/Home/Account/AnnualReport/MobileAnnualReport/MobileAnnualReport.tsx","selfServicePortal/services/CreditCardServices/getAnnualReportService.ts","selfServicePortal/containers/Home/Account/AnnualReport/AnnualReport.tsx","selfServicePortal/services/CreditCardServices/orderNewCardService.ts","selfServicePortal/services/CreditCardServices/updateCardStatusService.ts","selfServicePortal/containers/Home/Cardservice/ActivateLockCard/ActivateLockCard.tsx","selfServicePortal/components/FancyNumber/index.tsx","selfServicePortal/services/LimitService/decreaseLimit.ts","img/error-icons/red-error-exclamationmark.svg","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Dropdown/Dropdown.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Switcher/Switcher.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Forminput/FormInput.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Checkbox/Checkbox.tsx","selfServicePortal/components/ui/Spinner/index.tsx","selfServicePortal/components/ui/Button/index.tsx","selfServicePortal/services/LimitService/increaseLimit.ts","selfServicePortal/utils/zodHelpers.ts","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/IncreaseLimitForm.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/ChangeCreditLimit.tsx","selfServicePortal/containers/Home/Account/Withdrawal/WithdrawalNo.tsx","selfServicePortal/containers/Home/Account/ReferFriends/GeneratedLinkBox/GeneratedLinkBox.tsx","selfServicePortal/containers/Home/Account/ReferFriends/GenerateBtnBox/GenerateBtnBox.tsx","selfServicePortal/services/ReferalLink/CreateReferalLinkService.ts","selfServicePortal/services/ReferalLink/GetReferalLinkService.ts","selfServicePortal/services/ReferalLink/GetReferalLinkFriendsService.ts","selfServicePortal/containers/Home/Account/ReferFriends/ReferFriends.tsx","selfServicePortal/services/CreditCardServices/setPasswordIdCheckService.ts","selfServicePortal/containers/Home/Cardservice/SetPasswordIdCheck.tsx","selfServicePortal/components/ui/Input/index.tsx","selfServicePortal/containers/Home/Account/Withdrawal/WithdrawalDe/WithdrawalDe.tsx","selfServicePortal/services/DepositServices/getAssetsService.ts","selfServicePortal/services/DepositServices/createWithdrawalService.ts","selfServicePortal/services/CreditCardServices/updateAgreementConditionService.ts","selfServicePortal/containers/Home/Cardservice/PpiDe/index.tsx","selfServicePortal/containers/Home/Account/CashToAccount/StepTwo.tsx","selfServicePortal/services/CashToAccount/final.ts","selfServicePortal/components/ui/Dropdown/index.tsx","selfServicePortal/containers/Home/Account/CashToAccount/StepOne.tsx","selfServicePortal/services/CashToAccount/preliminary.ts","selfServicePortal/services/CreditCardServices/getIbans.ts","selfServicePortal/containers/Home/Account/CashToAccount/StepThree.tsx","selfServicePortal/containers/Home/Account/CashToAccount/CashToAccount.tsx","selfServicePortal/components/ui/Switch/index.tsx","selfServicePortal/services/CustomerServices/updateMarketingConsentService.ts","selfServicePortal/hooks/useUpdateMarketingConsent.ts","selfServicePortal/containers/Home/Account/MarketingConsent/MarketingConsent.tsx","selfServicePortal/hooks/useUserCardSettings.ts","selfServicePortal/services/CardSettingsServices/cardSettingsConfigutarionService.ts","selfServicePortal/constants/userCardSettingsSchema.ts","selfServicePortal/containers/Home/Cardservice/CardSettings/CardSettings.tsx","selfServicePortal/containers/Home/Cardservice/CardSettings/utils/transformDataToBackendFormat.ts","selfServicePortal/constants/menuItems.tsx","auth/utils/authHelpers.tsx","selfServicePortal/constants/countryValues.ts","selfServicePortal/hooks/useInformationModalService.ts","original/pages/deposits/Deposits.tsx","shared/components/modals/OutOfServiceModal.tsx","original/constants/routes/Routes.tsx","original/pages/homePage/HomePage.tsx","original/components/input/Input.tsx","original/components/addressService/AddressService.tsx","original/components/changeAddress/ChangeAddress.tsx","original/pages/userAddressInfo/UserAddressInfo.tsx","original/pages/userPage/UserPage.tsx","auth/constants/termsAndConditions/termsAndConditionsBlock.tsx","original/pages/callbackPage/CallbackPage.tsx","original/services/supportService.ts","original/utils/validations/phoneValidator.ts","original/utils/validations/validationDecorators.tsx","original/hooks/useForm.ts","original/pages/supportPage/SupportPage.tsx","original/pages/errorPage/ErrorPage.tsx","original/pages/logoutPage/LogoutPage.tsx","img/tf-logos/tfbank21-logo-symbol-white.svg","img/icons/user.svg","original/constants/menuItems/menuItems.tsx","original/components/Footer/Footer.tsx","original/pages/logoutCallbackPage/LogoutCallbackPage.tsx","auth/components/loginBlocks/GermanyOtp.tsx","auth/components/loginBlocks/NorwegianBankIdContentBlock.tsx","auth/components/loginBlocks/spainOtp/spainOtpContentBlock.tsx","auth/components/loginBlocks/idCard/idCardContentBlock.tsx","original/utils/validations/estonia/estonian-ssn.ts","original/utils/validations/ssnValidator.ts","original/utils/validations/lithuania/lithuanian-ssn.ts","original/utils/validations/sweden/sweden-ssn.ts","original/utils/validations/latvia/latvia-ssn.ts","auth/components/loginBlocks/smartId/smartIdContentBlock.tsx","auth/components/loginBlocks/mobileId/mobileIdAuthBlock.tsx","auth/components/loginBlocks/balticOtp/balticOtpContentBlock.tsx","auth/components/loginBlocks/EParakstsContentBlock.tsx","auth/components/loginBlocks/bankIdSe/bankIdSeAutoStartBlock.tsx","auth/components/loginBlocks/bankIdSe/qrCodeBlock.tsx","auth/components/loginBlocks/bankIdSe/bankIdSeQRContentBlock.tsx","auth/constants/authMethods.tsx","shared/Axios/Interceptors/Interceptors.tsx","auth/services/authenticationService.ts","original/pages/signicatCallbackPage/SignicatCallbackPage.tsx","original/pages/loginPages/LoginPage.tsx","original/pages/eParakstsCallbackPage/EParakstsCallbackPage.tsx","original/pages/bankIdCallbackPage/BankIdCallbackPage.tsx","original/constants/routes/RoutRoute.tsx","img/icons/close_icon.svg","original/components/ChangeLanguage/ChangeLanguage.tsx","original/components/menu/Menu.tsx","original/components/header/Header.tsx","original/utils/webchatHelper.ts","original/components/webChat/WebChat.tsx","original/App.tsx"],"sourcesContent":["import appConfig from '../../app.config'\r\n\r\nexport const KycConstants = {\r\n\tApprovedIgnoredAttempts: getApprovedIgnoreAttemptsForCountry(),\r\n}\r\n\r\nfunction getApprovedIgnoreAttemptsForCountry() {\r\n\tswitch (appConfig.country) {\r\n\t\tdefault:\r\n\t\t\treturn 2\r\n\t}\r\n}\r\n\r\nexport enum PurposeOfDeposit {\r\n\tInvestment,\r\n\tNextInKin,\r\n\tEconomicSecurity,\r\n\tPrivateConsumption,\r\n\tRenovation,\r\n\tRetirement,\r\n\tSavingForProperty,\r\n\tOther,\r\n}\r\n\r\nexport enum MoneySource {\r\n\tOther,\r\n\tIncome,\r\n\tSavings,\r\n\tOtherSavings,\r\n\tInvestments,\r\n\tInheritance,\r\n\tGift,\r\n\tSalesOfProperty,\r\n\tSalesOfVehicle,\r\n\tSalesOfCulture,\r\n\tSaleOfCompany,\r\n\tGambling,\r\n\tOtherBusiness,\r\n\tCapitalGains,\r\n\tInsuranceReimbursement,\r\n\tSocialInsuranceAllowance,\r\n\tDonation,\r\n\tIncomeBussinessAndRental,\r\n}\r\n\r\nexport enum DepositOwner {\r\n\tUnspecified,\r\n\tOther,\r\n\tYes,\r\n\tYesGuardian,\r\n\tChildren,\r\n}\r\n\r\nexport enum OccupationType {\r\n\tOther,\r\n\tPermanent,\r\n\tPartTime,\r\n\tEntrepreneur,\r\n\tWithoutEmployment,\r\n\tEmployee,\r\n\tFixedTerm,\r\n\tPensioner,\r\n\tUnemployed,\r\n\tStudent,\r\n\tSickLeave,\r\n\tSubstitute,\r\n\tStayHome,\r\n\tDisabled,\r\n\tRetired,\r\n\tHousewife,\r\n\tTemporarilyEmployed,\r\n\tEmployedByHours,\r\n\tPublicServant,\r\n\tFarmer,\r\n\tTrainee,\r\n\tManager,\r\n\tWorkingConditions,\r\n\tWorkClarificationAllowance,\r\n}\r\n\r\nexport enum PurposeOfLoan {\r\n\tUnspecified,\r\n\tConsumption,\r\n\tDebtConsolidation,\r\n\tRenovation,\r\n\tHomeExpenses,\r\n\tHealthcare,\r\n\tTravel,\r\n\tPurchaseVehicle,\r\n\tOther,\r\n\tGambling,\r\n\tDonation,\r\n\tRealEstatePurchase,\r\n\tEducation,\r\n\tInvestmentInOwnCompany,\r\n\tBills,\r\n\tPrivateInvestment,\r\n\tHomeHouseExpenses,\r\n}\r\n\r\nexport enum MissingKycValues {\r\n\tPurposeOfLoan = 'PurposeOfLoan',\r\n\tPEP = 'PEP',\r\n\tPurposeOfLoanOther = 'PurposeOfLoanOther',\r\n\tConnectedToPep = 'ConnectedToPep',\r\n}\r\n\r\nexport enum TaxCountry {\r\n\tNo,\r\n\tYes,\r\n\tYesOther,\r\n}\r\n\r\nexport enum BenificialOwner {\r\n\tYes,\r\n\tYesGuardian,\r\n\tNoOther,\r\n}\r\n\r\nexport enum MaritalStatus {\r\n\tUnknown = 'Unknown',\r\n\tSingle = 'Single',\r\n\tMarried = 'Married',\r\n\tDivorced = 'Divorced',\r\n\tWidow = 'Widow',\r\n\tCohabitee = 'Cohabitee',\r\n}\r\n\r\nexport enum AccommodationType {\r\n\tOther = 'Other',\r\n\tRenter = 'Renter',\r\n\tOwner = 'Owner',\r\n\tPartOwner = 'PartOwner',\r\n\tWithParents = 'WithParents',\r\n\tTenant = 'Tenant',\r\n\tPropertyOwnedByFamily = 'PropertyOwnedByFamily',\r\n}\r\n\r\nexport enum Education {\r\n\tUnspecified = 'Unspecified',\r\n\tBasic = 'Basic',\r\n\tHighSchool = 'HighSchool',\r\n\tUniversity = 'University',\r\n\tOther = 'Other',\r\n\tProfessEducation = 'ProfessEducation',\r\n}\r\n\r\nexport enum EmploymentSector {\r\n\tOther,\r\n\tAdministration,\r\n\tAgriculture,\r\n\tArt,\r\n\tGambling,\r\n\tBusiness,\r\n\tCulture,\r\n\tConstructionRealEstate,\r\n\tEducationScience,\r\n\tFinance,\r\n\tTourism,\r\n\tIndustryEnergy,\r\n\tPublicSector,\r\n\tHealth,\r\n\tSecurity,\r\n\tServices,\r\n\tTechnology,\r\n\tTechnician,\r\n\tTransport,\r\n\tStallHolder,\r\n\tLegalOrJudicial,\r\n}\r\n\r\nexport enum Gender {\r\n\tUnknown = 'Unknown',\r\n\tMale = 'Male',\r\n\tFemale = 'Female',\r\n}\r\n\r\nexport enum ChildrenAge {\r\n\tZeroToTwo,\r\n\tThreeToSix,\r\n\tSevenToTen,\r\n\tElevenToFourteen,\r\n\tFifteenToSeventeen,\r\n}\r\n\r\nexport enum PropertyType {\r\n\tOccupation = 'occupation',\r\n\tPurposeOfDeposit = 'purposeOfDeposit',\r\n\tMoneySource = 'moneySource',\r\n\tTaxCountry = 'taxCountry',\r\n\tExpectedDeposits = 'expectedDeposits',\r\n\tExpectedDepositsAmount = 'expectedDepositsAmount',\r\n\tExpectedWithdrawls = 'expectedWithdrawals',\r\n\tExpectedWithdrawlsAmount = 'expectedWithdrawalsAmount',\r\n\tIncome = 'income',\r\n\tDepositOwner = 'depositOwner',\r\n\tPurposeOfLoan = 'purposeOfLoan',\r\n\tMaritalStatus = 'maritalStatus',\r\n\tAccommodationType = 'accommodationType',\r\n\tEducation = 'education',\r\n\tEmploymentSector = 'employmentSector',\r\n\tRealOwner = 'realOwner',\r\n}\r\n","import {\r\n\tDepositOwner,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tPurposeOfDeposit,\r\n\tPurposeOfLoan,\r\n\tAccommodationType,\r\n\tMaritalStatus,\r\n\tEducation,\r\n\tEmploymentSector,\r\n} from './kycTypes'\r\nimport { formatNumberWithSpaces } from 'shared/utils/helpers'\r\n\r\nexport const kycCurrenciesAndValues: IKycCurrencyAndValues[] = [\r\n\t{\r\n\t\tcurrency: 'DKK',\r\n\t\tcountry: 'dk',\r\n\t\tincome: [200000, 450000, 700000, 1000000, 1000001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\tpurposeOfLoan: [\r\n\t\t\tPurposeOfLoan.Consumption,\r\n\t\t\tPurposeOfLoan.DebtConsolidation,\r\n\t\t\tPurposeOfLoan.Renovation,\r\n\t\t\tPurposeOfLoan.HomeExpenses,\r\n\t\t\tPurposeOfLoan.Healthcare,\r\n\t\t\tPurposeOfLoan.Travel,\r\n\t\t\tPurposeOfLoan.PurchaseVehicle,\r\n\t\t\tPurposeOfLoan.Donation,\r\n\t\t\tPurposeOfLoan.RealEstatePurchase,\r\n\t\t\tPurposeOfLoan.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: '€',\r\n\t\tcountry: 'fi',\r\n\t\tincome: [20000, 45000, 70000, 100000, 100001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.PartTime,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.TemporarilyEmployed,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Savings,\r\n\t\t\tMoneySource.Investments,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.SalesOfVehicle,\r\n\t\t\tMoneySource.SalesOfCulture,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t\tMoneySource.InsuranceReimbursement,\r\n\t\t\tMoneySource.SocialInsuranceAllowance,\r\n\t\t\tMoneySource.Other,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.EconomicSecurity,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t\tPurposeOfDeposit.Other,\r\n\t\t],\r\n\t\tpurposeOfLoan: [\r\n\t\t\tPurposeOfLoan.Consumption,\r\n\t\t\tPurposeOfLoan.DebtConsolidation,\r\n\t\t\tPurposeOfLoan.Renovation,\r\n\t\t\tPurposeOfLoan.HomeExpenses,\r\n\t\t\tPurposeOfLoan.Healthcare,\r\n\t\t\tPurposeOfLoan.Travel,\r\n\t\t\tPurposeOfLoan.PurchaseVehicle,\r\n\t\t\tPurposeOfLoan.Gambling,\r\n\t\t\tPurposeOfLoan.Donation,\r\n\t\t\tPurposeOfLoan.RealEstatePurchase,\r\n\t\t\tPurposeOfLoan.PrivateInvestment,\r\n\t\t\tPurposeOfLoan.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: 'SEK',\r\n\t\tcountry: 'se',\r\n\t\tincome: [200000, 450000, 700000, 1000000, 1000001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.PartTime,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.SickLeave,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.EmployedByHours,\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.EconomicSecurity,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t\tPurposeOfDeposit.Other,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.OtherSavings,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.InsuranceReimbursement,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.SalesOfVehicle,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Investments,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: 'NOK',\r\n\t\tcountry: 'no',\r\n\t\tincome: [200000, 450000, 700000, 1000000, 1000001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [\r\n\t\t\t{\r\n\t\t\t\tvalue: '50001-200000',\r\n\t\t\t\tlabelKey: 'expectedDepositsAmountRange',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tmin: formatNumberWithSpaces(50001),\r\n\t\t\t\t\tmax: formatNumberWithSpaces(200000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '500000',\r\n\t\t\t\tlabelKey: 'expectedDepositsAmountUp',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tvalue: formatNumberWithSpaces(500000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '1000000',\r\n\t\t\t\tlabelKey: 'expectedDepositsAmountUp',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tvalue: formatNumberWithSpaces(1000000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '2000000',\r\n\t\t\t\tlabelKey: 'expectedDepositsAmountUp',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tvalue: formatNumberWithSpaces(2000000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [\r\n\t\t\t{\r\n\t\t\t\tvalue: '<10000',\r\n\t\t\t\tlabelKey: 'expectedWithdrawalsAmountFirst',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tvalue: formatNumberWithSpaces(10000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '10001-50000',\r\n\t\t\t\tlabelKey: 'expectedWithdrawalsAmountRange',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tmin: formatNumberWithSpaces(10001),\r\n\t\t\t\t\tmax: formatNumberWithSpaces(50000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '50001-200000',\r\n\t\t\t\tlabelKey: 'expectedWithdrawalsAmountRange',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tmin: formatNumberWithSpaces(50001),\r\n\t\t\t\t\tmax: formatNumberWithSpaces(200000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '200001-450000',\r\n\t\t\t\tlabelKey: 'expectedWithdrawalsAmountRange',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tmin: formatNumberWithSpaces(200001),\r\n\t\t\t\t\tmax: formatNumberWithSpaces(450000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tvalue: '>450000',\r\n\t\t\t\tlabelKey: 'expectedWithdrawalsAmountLast',\r\n\t\t\t\tlabelParams: {\r\n\t\t\t\t\tvalue: formatNumberWithSpaces(450000),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t\tdepositOwner: [\r\n\t\t\tDepositOwner.Yes,\r\n\t\t\tDepositOwner.YesGuardian,\r\n\t\t\tDepositOwner.Children,\r\n\t\t\tDepositOwner.Other,\r\n\t\t],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Retired,\r\n\t\t\tOccupationType.SickLeave,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.WorkClarificationAllowance,\r\n\t\t\tOccupationType.Farmer,\r\n\t\t\tOccupationType.Substitute,\r\n\t\t\tOccupationType.StayHome,\r\n\t\t\tOccupationType.Disabled,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.Savings,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.OtherSavings,\r\n\t\t\tMoneySource.SalesOfCulture,\r\n\t\t\tMoneySource.IncomeBussinessAndRental,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.SalesOfVehicle,\r\n\t\t\tMoneySource.Other,\r\n\t\t\tMoneySource.SocialInsuranceAllowance,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.InsuranceReimbursement,\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Investments,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.EconomicSecurity,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: '€',\r\n\t\tcountry: 'es',\r\n\t\tincome: [20000, 45000, 70000, 100000, 100001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Farmer,\r\n\t\t\tOccupationType.Housewife,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.SickLeave,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.PublicServant,\r\n\t\t\tOccupationType.Retired,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.PartTime,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t\teducation: [\r\n\t\t\tEducation.ProfessEducation,\r\n\t\t\tEducation.Basic,\r\n\t\t\tEducation.HighSchool,\r\n\t\t\tEducation.University,\r\n\t\t\tEducation.Other,\r\n\t\t],\r\n\t\temploymentSector: [\r\n\t\t\tEmploymentSector.Administration,\r\n\t\t\tEmploymentSector.Agriculture,\r\n\t\t\tEmploymentSector.Art,\r\n\t\t\tEmploymentSector.Finance,\r\n\t\t\tEmploymentSector.ConstructionRealEstate,\r\n\t\t\tEmploymentSector.Culture,\r\n\t\t\tEmploymentSector.EducationScience,\r\n\t\t\tEmploymentSector.PublicSector,\r\n\t\t\tEmploymentSector.IndustryEnergy,\r\n\t\t\tEmploymentSector.Gambling,\r\n\t\t\tEmploymentSector.LegalOrJudicial,\r\n\t\t\tEmploymentSector.Business,\r\n\t\t\tEmploymentSector.Technician,\r\n\t\t\tEmploymentSector.Health,\r\n\t\t\tEmploymentSector.Security,\r\n\t\t\tEmploymentSector.Services,\r\n\t\t\tEmploymentSector.Technology,\r\n\t\t\tEmploymentSector.Transport,\r\n\t\t\tEmploymentSector.Tourism,\r\n\t\t\tEmploymentSector.StallHolder,\r\n\t\t\tEmploymentSector.Other,\r\n\t\t],\r\n\t\tmaritalStatus: [\r\n\t\t\tMaritalStatus.Married,\r\n\t\t\tMaritalStatus.Divorced,\r\n\t\t\tMaritalStatus.Cohabitee,\r\n\t\t\tMaritalStatus.Single,\r\n\t\t\tMaritalStatus.Widow,\r\n\t\t],\r\n\t\taccommodationType: [\r\n\t\t\tAccommodationType.Renter,\r\n\t\t\tAccommodationType.Tenant,\r\n\t\t\tAccommodationType.WithParents,\r\n\t\t\tAccommodationType.Owner,\r\n\t\t\tAccommodationType.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\t//should be investigated for values\r\n\t\tcurrency: 'EUR',\r\n\t\tcountry: 'ee',\r\n\t\tincome: [700, 1800, 2999, 3000],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: '€',\r\n\t\tcountry: 'de',\r\n\t\tincome: [20000, 45000, 70000, 100000, 100001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [5000, 20000, 40000, 40001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [5000, 20000, 40000, 40001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Employee,\r\n\t\t\tOccupationType.WithoutEmployment,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.StayHome,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.OtherSavings,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.EconomicSecurity,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\t//should be investigated for values\r\n\t\tcurrency: 'EUR',\r\n\t\tcountry: 'lt',\r\n\t\tincome: [700, 1200, 1800, 2500, 2501],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\t//should be investigated for values\r\n\t\tcurrency: 'EUR',\r\n\t\tcountry: 'lv',\r\n\t\tincome: [700, 1200, 1800, 2500, 2501],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t},\r\n]\r\nexport interface IKycCurrencyAndValues {\r\n\tcurrency: string\r\n\tcountry: string\r\n\tincome: number[]\r\n\texpectedDeposits: number[]\r\n\texpectedDepositsAmount:\r\n\t\t| {\r\n\t\t\t\tvalue: string\r\n\t\t\t\tlabelKey: string\r\n\t\t\t\tlabelParams: { [key: string]: string }\r\n\t\t }[]\r\n\t\t| number[]\r\n\texpectedWithdrawals: number[]\r\n\texpectedWithdrawalsAmount:\r\n\t\t| {\r\n\t\t\t\tvalue: string\r\n\t\t\t\tlabelKey: string\r\n\t\t\t\tlabelParams: { [key: string]: string }\r\n\t\t }[]\r\n\t\t| number[]\r\n\toccupation?: OccupationType[]\r\n\tpurposeOfDeposit?: PurposeOfDeposit[]\r\n\tpurposeOfLoan?: PurposeOfLoan[]\r\n\tmoneySource?: MoneySource[]\r\n\tdepositOwner?: DepositOwner[]\r\n\tmaritalStatus?: MaritalStatus[]\r\n\taccommodationType?: AccommodationType[]\r\n\teducation?: Education[]\r\n\temploymentSector?: EmploymentSector[]\r\n}\r\n","export enum CountryCode {\r\n\tee = 'EST',\r\n\tse = 'SWE',\r\n\tfi = 'FIN',\r\n\tno = 'NOR',\r\n\tpl = 'POL',\r\n\tlt = 'LTU',\r\n\tlv = 'LVA',\r\n\tat = 'AUT',\r\n\tde = 'GER',\r\n\tdk = 'DNK',\r\n\tes = 'ESP',\r\n\tit = 'ITA',\r\n}\r\n\r\nexport enum Locale {\r\n\tee = 'et-EE',\r\n\tse = 'sv-SE',\r\n\ten = 'en-GB',\r\n\tlt = 'lt-LT',\r\n\tlv = 'lv-LV',\r\n\tru = 'ru-RU',\r\n\tfi = 'fi-FI',\r\n\tdk = 'da-DK',\r\n\tes = 'es-ES',\r\n\tit = 'it-IT',\r\n}\r\n\r\nexport enum NationalityType {\r\n\tUnknown = 'Unknown',\r\n\tGerman = 'German',\r\n\tEU = 'EU',\r\n\tNonEU = 'NonEU',\r\n}\r\n\r\nexport enum CountryA3 {\r\n\tde = 'DEU',\r\n\tat = 'AUT',\r\n\tfi = 'FIN',\r\n\tee = 'EST',\r\n\tse = 'SWE',\r\n\tno = 'NOR',\r\n\tpl = 'POL',\r\n\tlt = 'LTU',\r\n\tlv = 'LVA',\r\n\tdk = 'DNK',\r\n\tes = 'ESP',\r\n\tit = 'ITA',\r\n}\r\n\r\nexport enum AllCountries {\r\n\tAD = 'Andorra',\r\n\tAE = 'UnitedArabEmirates',\r\n\tAF = 'Afghanistan',\r\n\tAG = 'AntiguaAndBarbuda',\r\n\tAI = 'Anguilla',\r\n\tAL = 'Albania',\r\n\tAM = 'Armenia',\r\n\tAN = 'NetherlandsAntilles',\r\n\tAO = 'Angola',\r\n\tAQ = 'Antarctica',\r\n\tAR = 'Argentina',\r\n\tAS = 'AmericanSamoa',\r\n\tAT = 'Austria',\r\n\tAU = 'Australia',\r\n\tAW = 'Aruba',\r\n\tAZ = 'Azerbaijan',\r\n\tBA = 'BosniaAndHerzegovina',\r\n\tBB = 'Barbados',\r\n\tBD = 'Bangladesh',\r\n\tBE = 'Belgium',\r\n\tBF = 'BurkinaFaso',\r\n\tBG = 'Bulgaria',\r\n\tBH = 'Bahrain',\r\n\tBI = 'Burundi',\r\n\tBJ = 'Benin',\r\n\tBM = 'Bermuda',\r\n\tBN = 'BruneiDarussalam',\r\n\tBO = 'Bolivia',\r\n\tBR = 'Brazil',\r\n\tBS = 'Bahamas',\r\n\tBT = 'Bhutan',\r\n\tBV = 'BouvetIsland',\r\n\tBW = 'Botswana',\r\n\tBY = 'Belarus',\r\n\tBZ = 'Belize',\r\n\tCA = 'Canada',\r\n\tCC = 'CocosKeelingIslands',\r\n\tCF = 'CentralAfricanRepublic',\r\n\tCG = 'Congo',\r\n\tCH = 'Switzerland',\r\n\tCI = 'IvoryCoast',\r\n\tCK = 'CookIslands',\r\n\tCL = 'Chile',\r\n\tCM = 'Cameroon',\r\n\tCN = 'China',\r\n\tCO = 'Colombia',\r\n\tCR = 'CostaRica',\r\n\tCU = 'Cuba',\r\n\tCV = 'CapeVerde',\r\n\tCX = 'ChristmasIsland',\r\n\tCY = 'Cyprus',\r\n\tCZ = 'CzechRepublic',\r\n\tDE = 'Germany',\r\n\tDJ = 'Djibouti',\r\n\tDK = 'Denmark',\r\n\tDM = 'Dominica',\r\n\tDO = 'DominicanRepublic',\r\n\tDZ = 'Algeria',\r\n\tEC = 'Ecuador',\r\n\tEE = 'Estonia',\r\n\tEG = 'Egypt',\r\n\tEH = 'WesternSahara',\r\n\tER = 'Eritrea',\r\n\tES = 'Spain',\r\n\tET = 'Ethiopia',\r\n\tFI = 'Finland',\r\n\tFJ = 'Fiji',\r\n\tFK = 'FalklandIslands',\r\n\tFM = 'Micronesia',\r\n\tFO = 'FaroeIslands',\r\n\tFR = 'France',\r\n\tGA = 'Gabon',\r\n\tGB = 'UnitedKingdom',\r\n\tGD = 'Grenada',\r\n\tGE = 'Georgia',\r\n\tGF = 'FrenchGuiana',\r\n\tGH = 'Ghana',\r\n\tGI = 'Gibraltar',\r\n\tGL = 'Greenland',\r\n\tGM = 'Gambia',\r\n\tGN = 'Guinea',\r\n\tGP = 'Guadeloupe',\r\n\tGQ = 'EquatorialGuinea',\r\n\tGR = 'Greece',\r\n\tGS = 'SouthGeorgiaAndSandwichIsl',\r\n\tGT = 'Guatemala',\r\n\tGU = 'Guam',\r\n\tGW = 'GuineaBissau',\r\n\tGY = 'Guyana',\r\n\tHK = 'HongKong',\r\n\tHM = 'HeardIslandMcdonaldIslands',\r\n\tHN = 'Honduras',\r\n\tHR = 'Croatia',\r\n\tHT = 'Haiti',\r\n\tHU = 'Hungary',\r\n\tID = 'Indonesia',\r\n\tIE = 'Ireland',\r\n\tIL = 'Israel',\r\n\tIN = 'India',\r\n\tIO = 'BritishIndianOceanTerritory',\r\n\tIQ = 'Iraq',\r\n\tIR = 'Iran',\r\n\tIS = 'Iceland',\r\n\tIT = 'Italy',\r\n\tJM = 'Jamaica',\r\n\tJO = 'Jordan',\r\n\tJP = 'Japan',\r\n\tKE = 'Kenya',\r\n\tKG = 'Kyrgyzstan',\r\n\tKH = 'Cambodia',\r\n\tKI = 'Kiribati',\r\n\tKM = 'Comoros',\r\n\tKN = 'SaintKittsAndNevis',\r\n\tKW = 'Kuwait',\r\n\tKY = 'CaymanIslands',\r\n\tKZ = 'Kazakhstan',\r\n\tLA = 'LaoPeoplesDemocraticRepublic',\r\n\tLB = 'Lebanon',\r\n\tLC = 'SaintLucia',\r\n\tLI = 'Liechtenstein',\r\n\tLK = 'SriLanka',\r\n\tLR = 'Liberia',\r\n\tLS = 'Lesotho',\r\n\tLT = 'Lithuania',\r\n\tLU = 'Luxembourg',\r\n\tLV = 'Latvia',\r\n\tLY = 'LibyanArabJamahiriya',\r\n\tMA = 'Morocco',\r\n\tMC = 'Monaco',\r\n\tMD = 'Moldova',\r\n\tME = 'Montenegro',\r\n\tMG = 'Madagascar',\r\n\tMH = 'MarshallIslands',\r\n\tMK = 'Macedonia',\r\n\tML = 'Mali',\r\n\tMM = 'Myanmar',\r\n\tMN = 'Mongolia',\r\n\tMO = 'Macao',\r\n\tMP = 'NorthernMarianaIslands',\r\n\tMQ = 'Martinique',\r\n\tMR = 'Mauritania',\r\n\tMS = 'Montserrat',\r\n\tMT = 'Malta',\r\n\tMU = 'Mauritius',\r\n\tMV = 'Maldives',\r\n\tMW = 'Malawi',\r\n\tMX = 'Mexico',\r\n\tMY = 'Malaysia',\r\n\tMZ = 'Mozambique',\r\n\tNA = 'Namibia',\r\n\tNC = 'NewCaledonia',\r\n\tNE = 'Niger',\r\n\tNF = 'NorfolkIsland',\r\n\tNG = 'Nigeria',\r\n\tNI = 'Nicaragua',\r\n\tNL = 'Netherlands',\r\n\tNO = 'Norway',\r\n\tNP = 'Nepal',\r\n\tNR = 'Nauru',\r\n\tNU = 'Niue',\r\n\tNZ = 'NewZealand',\r\n\tOM = 'Oman',\r\n\tPA = 'Panama',\r\n\tPE = 'Peru',\r\n\tPF = 'FrenchPolynesia',\r\n\tPG = 'PapuaNewGuinea',\r\n\tPH = 'Philippines',\r\n\tPK = 'Pakistan',\r\n\tPL = 'Poland',\r\n\tPM = 'SaintPierreAndMiquelon',\r\n\tPN = 'Pitcairn',\r\n\tPR = 'PuertoRico',\r\n\tPS = 'PalestinianTerritory',\r\n\tPT = 'Portugal',\r\n\tPW = 'Palau',\r\n\tPY = 'Paraguay',\r\n\tQA = 'Qatar',\r\n\tRE = 'Reunion',\r\n\tRO = 'Romania',\r\n\tRS = 'Serbia',\r\n\tRU = 'RussianFederation',\r\n\tRW = 'Rwanda',\r\n\tSA = 'SaudiArabia',\r\n\tSB = 'SolomonIslands',\r\n\tSC = 'Seychelles',\r\n\tSD = 'Sudan',\r\n\tSE = 'Sweden',\r\n\tSG = 'Singapore',\r\n\tSH = 'SaintHelena',\r\n\tSI = 'Slovenia',\r\n\tSJ = 'SvalbardAndJanMayen',\r\n\tSK = 'Slovakia',\r\n\tSL = 'SierraLeone',\r\n\tSM = 'SanMarino',\r\n\tSN = 'Senegal',\r\n\tSO = 'Somalia',\r\n\tSR = 'Suriname',\r\n\tST = 'SaoTomeAndPrincipe',\r\n\tSV = 'ElSalvador',\r\n\tSY = 'SyrianArabRepublic',\r\n\tSZ = 'Swaziland',\r\n\tTC = 'TurksAndCaicosIslands',\r\n\tTD = 'Chad',\r\n\tTF = 'FrenchSouthernTerritories',\r\n\tTG = 'Togo',\r\n\tTH = 'Thailand',\r\n\tTJ = 'Tajikistan',\r\n\tTK = 'Tokelau',\r\n\tTM = 'Turkmenistan',\r\n\tTN = 'Tunisia',\r\n\tTO = 'Tonga',\r\n\tTR = 'Turkey',\r\n\tTT = 'TrinidadAndTobago',\r\n\tTV = 'Tuvalu',\r\n\tTW = 'Taiwan',\r\n\tTZ = 'Tanzania',\r\n\tUA = 'Ukraine',\r\n\tUG = 'Uganda',\r\n\tUM = 'UnitedStatesOutlyingIslands',\r\n\tUS = 'UnitedStates',\r\n\tUY = 'Uruguay',\r\n\tUZ = 'Uzbekistan',\r\n\tVA = 'HolySeeVaticanCityState',\r\n\tVC = 'SaintVincentAndGrenadines',\r\n\tVE = 'Venezuela',\r\n\tVG = 'VirginIslandsBritish',\r\n\tVI = 'VirginIslandsUS',\r\n\tVN = 'Vietnam',\r\n\tVU = 'Vanuatu',\r\n\tWF = 'WallisAndFutuna',\r\n\tWS = 'Samoa',\r\n\tYE = 'Yemen',\r\n\tYT = 'Mayotte',\r\n\tZA = 'SouthAfrica',\r\n\tZM = 'Zambia',\r\n\tZW = 'Zimbabwe',\r\n}\r\n\r\nexport enum CustomerCountry {\r\n\tPL,\r\n\tEE,\r\n\tAF,\r\n\tAL,\r\n\tDZ,\r\n\tAS,\r\n\tAD,\r\n\tAO,\r\n\tAI,\r\n\tAQ,\r\n\tAG,\r\n\tAR,\r\n\tAM,\r\n\tAW,\r\n\tAU,\r\n\tAT,\r\n\tAZ,\r\n\tBS,\r\n\tBH,\r\n\tBD,\r\n\tBB,\r\n\tBY,\r\n\tBE,\r\n\tBZ,\r\n\tBJ,\r\n\tBM,\r\n\tBT,\r\n\tBO,\r\n\tBA,\r\n\tBW,\r\n\tBV,\r\n\tBR,\r\n\tIO,\r\n\tBN,\r\n\tBG,\r\n\tBF,\r\n\tBI,\r\n\tKH,\r\n\tCM,\r\n\tCA,\r\n\tCV,\r\n\tKY,\r\n\tCF,\r\n\tTD,\r\n\tCL,\r\n\tCN,\r\n\tCX,\r\n\tCC,\r\n\tCO,\r\n\tKM,\r\n\tCG,\r\n\tCK,\r\n\tCR,\r\n\tCI,\r\n\tHR,\r\n\tCU,\r\n\tCY,\r\n\tCZ,\r\n\tDK,\r\n\tDJ,\r\n\tDM,\r\n\tDO,\r\n\tTP,\r\n\tEC,\r\n\tEG,\r\n\tSV,\r\n\tGQ,\r\n\tER,\r\n\tET,\r\n\tFK,\r\n\tFO,\r\n\tFJ,\r\n\tFI,\r\n\tFR,\r\n\tGF,\r\n\tPF,\r\n\tTF,\r\n\tGA,\r\n\tGM,\r\n\tGE,\r\n\tDE,\r\n\tGH,\r\n\tGI,\r\n\tGR,\r\n\tGL,\r\n\tGD,\r\n\tGP,\r\n\tGU,\r\n\tGT,\r\n\tGN,\r\n\tGW,\r\n\tGY,\r\n\tHT,\r\n\tHM,\r\n\tVA,\r\n\tHN,\r\n\tHK,\r\n\tHU,\r\n\tIS,\r\n\tIN,\r\n\tID,\r\n\tIR,\r\n\tIQ,\r\n\tIE,\r\n\tIL,\r\n\tIT,\r\n\tJM,\r\n\tJP,\r\n\tJO,\r\n\tKZ,\r\n\tKE,\r\n\tKI,\r\n\tKP,\r\n\tKR,\r\n\tKW,\r\n\tKG,\r\n\tLA,\r\n\tLV,\r\n\tLB,\r\n\tLS,\r\n\tLR,\r\n\tLY,\r\n\tLI,\r\n\tLT,\r\n\tLU,\r\n\tMO,\r\n\tMK,\r\n\tMG,\r\n\tMW,\r\n\tMY,\r\n\tMV,\r\n\tML,\r\n\tMT,\r\n\tMH,\r\n\tMQ,\r\n\tMR,\r\n\tMU,\r\n\tYT,\r\n\tMX,\r\n\tFM,\r\n\tMD,\r\n\tMC,\r\n\tMN,\r\n\tMS,\r\n\tMA,\r\n\tMZ,\r\n\tMM,\r\n\tNA,\r\n\tNR,\r\n\tNP,\r\n\tNL,\r\n\tAN,\r\n\tNC,\r\n\tNZ,\r\n\tNI,\r\n\tNE,\r\n\tNG,\r\n\tNU,\r\n\tNF,\r\n\tMP,\r\n\tNO,\r\n\tOM,\r\n\tPK,\r\n\tPW,\r\n\tPA,\r\n\tPG,\r\n\tPY,\r\n\tPE,\r\n\tPH,\r\n\tPN,\r\n\tPT,\r\n\tPR,\r\n\tQA,\r\n\tRE,\r\n\tRO,\r\n\tRU,\r\n\tRW,\r\n\tKN,\r\n\tLC,\r\n\tVC,\r\n\tWS,\r\n\tSM,\r\n\tST,\r\n\tSA,\r\n\tSN,\r\n\tSC,\r\n\tSL,\r\n\tSG,\r\n\tSK,\r\n\tSI,\r\n\tSB,\r\n\tSO,\r\n\tZA,\r\n\tGS,\r\n\tES,\r\n\tLK,\r\n\tSH,\r\n\tPM,\r\n\tSD,\r\n\tSR,\r\n\tSJ,\r\n\tSZ,\r\n\tSE,\r\n\tCH,\r\n\tSY,\r\n\tTW,\r\n\tTJ,\r\n\tTZ,\r\n\tTH,\r\n\tTG,\r\n\tTK,\r\n\tTO,\r\n\tTT,\r\n\tTN,\r\n\tTR,\r\n\tTM,\r\n\tTC,\r\n\tTV,\r\n\tUG,\r\n\tUA,\r\n\tAE,\r\n\tGB,\r\n\tUS,\r\n\tUM,\r\n\tUY,\r\n\tUZ,\r\n\tVU,\r\n\tVE,\r\n\tVN,\r\n\tVG,\r\n\tVI,\r\n\tWF,\r\n\tEH,\r\n\tYE,\r\n\tZR,\r\n\tZM,\r\n\tZW,\r\n}\r\n\r\nexport enum CountryCodeMap{\r\n\tLT = 370,\r\n LV = 371,\r\n EE = 372,\r\n\tFI = 358,\r\n\tSE = 46,\r\n}\r\n\r\nexport enum BalticCountryCodePhonePrefix {\r\n LT = 370,\r\n LV = 371,\r\n EE = 372,\r\n\tFI = 358\r\n}\r\n","import i18n from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\nimport Backend from 'i18next-http-backend'\r\nimport LanguageDetector from 'i18next-browser-languagedetector'\r\nimport appConfig from './app.config'\r\nimport { Locale } from 'shared/constants/countryTypes'\r\n\r\nconst supportedLngs = WhiteListedLngs()\r\n\r\ni18n\r\n\t// load translation using xhr -> see /public/locales\r\n\t// learn more: https://github.com/i18next/i18next-xhr-backend\r\n\t.use(Backend)\r\n\t// detect user language\r\n\t// learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n\t.use(LanguageDetector)\r\n\t// pass the i18n instance to react-i18next.\r\n\t.use(initReactI18next)\r\n\t// init i18next\r\n\t// for all options read: https://www.i18next.com/overview/configuration-options\r\n\t.init({\r\n\t\tsupportedLngs: supportedLngs,\r\n\t\tfallbackLng: false,\r\n\t\tlng: localStorage.getItem('i18nextLng') ?? supportedLngs[0] ?? 'en',\r\n\t\tdebug: process.env.NODE_ENV === 'development',\r\n\t\tinterpolation: {\r\n\t\t\tescapeValue: false, // not needed for react as it escapes by default\r\n\t\t},\r\n\t\tdetection: {\r\n\t\t\torder: [\r\n\t\t\t\t'localStorage',\r\n\t\t\t\t'htmlTag',\r\n\t\t\t\t'navigator',\r\n\t\t\t\t'path',\r\n\t\t\t\t'subdomain',\r\n\t\t\t\t'querystring',\r\n\t\t\t\t'cookie',\r\n\t\t\t],\r\n\t\t},\r\n\t\tbackend: {\r\n\t\t\trequestOptions: {\r\n\t\t\t\tcache: 'no-store',\r\n\t\t\t},\r\n\t\t},\r\n\t})\r\n\r\ni18n.on('languageChanged', (lng) => {\r\n\tconst mainLng = getMainLng(lng)\r\n\tdocument.documentElement.lang = getMainLng(\r\n\t\tLocale[mainLng as keyof typeof Locale],\r\n\t)\r\n})\r\n\r\nexport default i18n\r\n\r\n/*\r\n\tExtract the main language from the countrycode, (i.e 'en' from 'en-US')\r\n */\r\nexport function getMainLng(lng: string) {\r\n\tif (lng === undefined) return lng\r\n\r\n\treturn lng.split('-')[0]\r\n}\r\n\r\nfunction WhiteListedLngs() {\r\n\tconst lngs = Object.keys(appConfig.languages)\r\n\tconst variantLngs = lngs.filter((x) => x.includes('-'))\r\n\r\n\tvariantLngs.forEach((x) => {\r\n\t\tconst mainLng = getMainLng(x)\r\n\r\n\t\tif (!lngs.includes(mainLng)) lngs.push(mainLng)\r\n\t})\r\n\r\n\tlngs.push('common')\r\n\treturn lngs\r\n}\r\n\r\nexport enum TranslationFile {\r\n\tDropdown = 'dropdown',\r\n\tCommon = 'common',\r\n\tForms = 'forms',\r\n\tTranslation = 'translation',\r\n\tCountries = 'countries',\r\n\tLanguages = 'languages',\r\n\tPaymentVerification = 'payment-verification',\r\n}\r\n","export enum CookieType {\r\n\tCustomerName = 'customerName',\r\n\tCustomerInfo = 'customerInfo',\r\n\tRedirectUrl = 'redirectUrl',\r\n\tKycRenewal = 'timeToRenew',\r\n\tLoanInfo = 'loanInfo',\r\n\tDepositCustomer = 'DepositCustomer',\r\n\tSbl = 'sbl',\r\n\tApplicationQuery = 'applicationQuery',\r\n\tLoanCustomer = 'LoanCustomer',\r\n\tDepositCustomerInfo = 'depositCustomerInfo',\r\n}\r\n","import appConfig from 'app.config'\r\nimport { AxiosError } from 'axios'\r\nimport i18next from 'i18next'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tIKycCurrencyAndValues,\r\n\tkycCurrenciesAndValues,\r\n} from '../constants/kycValues'\r\nimport { CountryA3 } from '../constants/countryTypes'\r\nimport { AllCountries } from '../constants/countryTypes'\r\nimport { TranslationFile } from 'i18n'\r\nimport queryString from 'query-string'\r\nimport { CookieType } from 'shared/constants/cookieTypes'\r\n\r\n// If someting is added in this file it should also be added in shared/index.ts\r\n\r\nexport function getMarket() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'de':\r\n\t\t\treturn 'Germany'\r\n\t\tcase 'no':\r\n\t\t\treturn 'Norway'\r\n\t\tcase 'at':\r\n\t\t\treturn 'Austria'\r\n\t\tcase 'se':\r\n\t\t\treturn 'Sweden'\r\n\t\tcase 'fi':\r\n\t\t\treturn 'Finland'\r\n\t\tcase 'dk':\r\n\t\t\treturn 'Denmark'\r\n\t\tcase 'ee':\r\n\t\t\treturn 'Estonia'\r\n\t\tcase 'lt':\r\n\t\t\treturn 'Lithuania'\r\n\t\tcase 'lv':\r\n\t\t\treturn 'Latvia'\r\n\t\tcase 'es':\r\n\t\t\treturn 'Spain'\r\n\t\tcase 'it':\r\n\t\t\treturn 'Italy'\r\n\t}\r\n}\r\n\r\nexport function getCountryA3() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'de':\r\n\t\t\treturn CountryA3.de\r\n\t\tcase 'no':\r\n\t\t\treturn CountryA3.no\r\n\t\tcase 'at':\r\n\t\t\treturn CountryA3.at\r\n\t\tcase 'se':\r\n\t\t\treturn CountryA3.se\r\n\t\tcase 'fi':\r\n\t\t\treturn CountryA3.fi\r\n\t\tcase 'dk':\r\n\t\t\treturn CountryA3.dk\r\n\t\tcase 'es':\r\n\t\t\treturn CountryA3.es\r\n\t\tcase 'it':\r\n\t\t\treturn CountryA3.it\r\n\t\tcase 'ee':\r\n\t\t\treturn CountryA3.ee\r\n\t\tcase 'lt':\r\n\t\t\treturn CountryA3.lt\r\n\t\tcase 'lv':\r\n\t\t\treturn CountryA3.lv\r\n\t}\r\n}\r\n\r\nexport function getCountryA3ForCurrentMarket() {\r\n\treturn CountryA3[appConfig.country as keyof typeof CountryA3]\r\n}\r\n\r\nexport function getLanguageLocale() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'se':\r\n\t\t\treturn 'sv-SE'\r\n\t\tcase 'fi':\r\n\t\t\treturn 'fi-FI'\r\n\t\tcase 'ee':\r\n\t\t\treturn 'et-EE'\r\n\t\tcase 'lt':\r\n\t\t\treturn 'lt-LT'\r\n\t\tcase 'lv':\r\n\t\t\treturn 'lv-LV'\r\n\t\tcase 'de':\r\n\t\t\treturn 'de-DE'\r\n\t\tcase 'no':\r\n\t\t\treturn 'nb-NO'\r\n\t\tcase 'at':\r\n\t\t\treturn 'de-AT'\r\n\t\tcase 'dk':\r\n\t\t\treturn 'da-DK'\r\n\t\tcase 'es':\r\n\t\t\treturn 'es-ES'\r\n\t\tcase 'it':\r\n\t\t\treturn 'it-IT'\r\n\t\tdefault:\r\n\t\t\treturn 'system'\r\n\t}\r\n}\r\n\r\nexport function formatTime(num?: number, options?: Intl.NumberFormatOptions) {\r\n\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t...options!,\r\n\t\tminimumIntegerDigits: 2,\r\n\t})\r\n}\r\n\r\nexport function stringifyNum(num?: number, options?: Intl.NumberFormatOptions) {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'dk':\r\n\t\t\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t\t\t...options!,\r\n\t\t\t\tmaximumFractionDigits: 2,\r\n\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t})\r\n\t\tcase 'es':\r\n\t\t\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t\t\t...options!,\r\n\t\t\t\tmaximumFractionDigits: 2,\r\n\t\t\t\tminimumFractionDigits: 2,\r\n\t\t\t})\r\n\t\tdefault:\r\n\t\t\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t\t\tminimumFractionDigits: 2,\r\n\t\t\t\t...options!,\r\n\t\t\t})\r\n\t}\r\n}\r\n\r\nexport function stringifyBooleanAsUi(bool: boolean) {\r\n\tif (bool) {\r\n\t\treturn 'Yes'\r\n\t} else {\r\n\t\treturn 'No'\r\n\t}\r\n}\r\n\r\nexport function parseStringifedBoolean(value: string) {\r\n\tif (value === 'Yes') {\r\n\t\treturn true\r\n\t} else if (value === 'No') {\r\n\t\treturn false\r\n\t} else {\r\n\t\treturn undefined\r\n\t}\r\n}\r\n\r\nexport function checkIsMobile() {\r\n\t// eslint-disable-next-line\r\n\treturn (\r\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(\r\n\t\t\tnavigator.userAgent,\r\n\t\t) ||\r\n\t\t// eslint-disable-next-line\r\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(\r\n\t\t\tnavigator.userAgent.substr(0, 4),\r\n\t\t) ||\r\n\t\twindow.innerWidth <= 845\r\n\t)\r\n}\r\n\r\nexport function checkIsTablet() {\r\n\treturn (\r\n\t\tcheckIsMobile() && window.innerWidth >= 768 && window.innerWidth <= 1366\r\n\t)\r\n}\r\n\r\nexport function getCurrency() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'se':\r\n\t\t\treturn 'SEK'\r\n\t\tcase 'fi':\r\n\t\tcase 'ee':\r\n\t\tcase 'de':\r\n\t\tcase 'at':\r\n\t\tcase 'es':\r\n\t\tcase 'lt':\r\n\t\tcase 'lv':\r\n\t\tcase 'it':\r\n\t\t\treturn 'EUR'\r\n\t\tcase 'no':\r\n\t\t\treturn 'NOK'\r\n\t\tcase 'dk':\r\n\t\t\treturn 'DKK'\r\n\t}\r\n}\r\n\r\nexport const isIOS = () => {\r\n\treturn (\r\n\t\t[\r\n\t\t\t'iPad Simulator',\r\n\t\t\t'iPhone Simulator',\r\n\t\t\t'iPod Simulator',\r\n\t\t\t'iPad',\r\n\t\t\t'iPhone',\r\n\t\t\t'iPod',\r\n\t\t].includes(navigator.platform) ||\r\n\t\t// iPad on iOS 13 detection\r\n\t\t(navigator.userAgent.includes('Mac') && 'ontouchend' in document)\r\n\t)\r\n}\r\n\r\nexport const isSafariBrowser = () => {\r\n\tconst isChrome = navigator.userAgent.indexOf('Chrome') > -1\r\n\tconst isSafari = navigator.userAgent.indexOf('Safari') > -1\r\n\r\n\treturn isSafari && !isChrome // chrome got safari in it as well...\r\n}\r\n\r\nexport async function waitForLanguage(): Promise {\r\n\tif (i18next.language) return Promise.resolve(i18next.language)\r\n\r\n\tawait new Promise((resolve) => setTimeout(resolve, 100))\r\n\treturn waitForLanguage()\r\n}\r\n\r\nexport function getErrorWithFullMessage(error: Error | AxiosError) {\r\n\tconsole.warn(error)\r\n\r\n\tif (typeof error !== 'object') {\r\n\t\treturn error\r\n\t}\r\n\r\n\tif ('isAxiosError' in error && error.response && error.response.data) {\r\n\t\treturn new Error(\r\n\t\t\terror.response.status < 500 ? error.response.data : 'Network Error',\r\n\t\t)\r\n\t}\r\n\r\n\treturn new Error(error.message)\r\n}\r\n\r\nexport const GetExpectedDepositsAmountOptions = () => {\r\n\tconst { t } = useTranslation(TranslationFile.Dropdown)\r\n\tlet countryData = kycCurrenciesAndValues.find(\r\n\t\t(e) => e.country === appConfig.country,\r\n\t) as IKycCurrencyAndValues\r\n\r\n\treturn countryData.expectedDepositsAmount.map((option) => {\r\n\t\tif (typeof option === 'number') {\r\n\t\t\treturn {\r\n\t\t\t\tvalue: option,\r\n\t\t\t\tlabel: t('expectedDepositsAmountUp', {\r\n\t\t\t\t\tvalue: option,\r\n\t\t\t\t\tcurrency: countryData.currency,\r\n\t\t\t\t}),\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tvalue: option.value,\r\n\t\t\tlabel: t(option.labelKey, {\r\n\t\t\t\t...option.labelParams,\r\n\t\t\t\tcurrency: countryData.currency,\r\n\t\t\t}),\r\n\t\t}\r\n\t})\r\n}\r\n\r\nexport const GetExpectedWithdrawalsAmountOptions = () => {\r\n\tconst { t } = useTranslation(TranslationFile.Dropdown)\r\n\tconst countryData = kycCurrenciesAndValues.find(\r\n\t\t(e) => e.country === appConfig.country,\r\n\t) as IKycCurrencyAndValues\r\n\r\n\treturn countryData.expectedWithdrawalsAmount.map((option) => {\r\n\t\tif (typeof option === 'number') {\r\n\t\t\treturn {\r\n\t\t\t\tvalue: option,\r\n\t\t\t\tlabel: t('expectedWithdrawalsAmountUp', {\r\n\t\t\t\t\tvalue: option,\r\n\t\t\t\t\tcurrency: countryData.currency,\r\n\t\t\t\t}),\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tvalue: option.value,\r\n\t\t\tlabel: t(option.labelKey, {\r\n\t\t\t\t...option.labelParams,\r\n\t\t\t\tcurrency: countryData.currency,\r\n\t\t\t}),\r\n\t\t}\r\n\t})\r\n}\r\n\r\n/**\r\n * Formats a number according to the global localization configuration,\r\n * adding thousand separators and handling additional formatting options.\r\n *\r\n * @param num - The number to format.\r\n * @param options - Additional options to customize the format using Intl.NumberFormatOptions.\r\n * @returns The formatted number as a string.\r\n */\r\n\r\nexport function formatNumberWithSpaces(\r\n\tnum: number,\r\n\toptions?: Intl.NumberFormatOptions,\r\n): string {\r\n\tconst formatter = new Intl.NumberFormat(appConfig.country, {\r\n\t\tminimumFractionDigits: 0,\r\n\t\tmaximumFractionDigits: 0,\r\n\t\t...options,\r\n\t})\r\n\r\n\treturn formatter.format(num)\r\n}\r\n\r\nexport const GetTranslationString = (\r\n\tkey: any,\r\n\tcountrySpecVal: any,\r\n\tpropertyName: string,\r\n) => {\r\n\tconst { t } = useTranslation(TranslationFile.Dropdown)\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif (key == 0)\r\n\t\treturn t(propertyName + 'First', {\r\n\t\t\tvalue: countrySpecVal[propertyName][key].toLocaleString(\r\n\t\t\t\tappConfig.country,\r\n\t\t\t),\r\n\t\t\tcurrency: countrySpecVal.currency,\r\n\t\t})\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif (key == countrySpecVal[propertyName].length - 1)\r\n\t\treturn t(propertyName + 'Last', {\r\n\t\t\tvalue: (countrySpecVal[propertyName][key] - 1).toLocaleString(\r\n\t\t\t\tappConfig.country,\r\n\t\t\t),\r\n\t\t\tcurrency: countrySpecVal.currency,\r\n\t\t})\r\n\treturn t(propertyName, {\r\n\t\tvalue: `${(\r\n\t\t\tcountrySpecVal[propertyName][key.valueOf() - 1] + 1\r\n\t\t).toLocaleString(appConfig.country)} - ${countrySpecVal[propertyName][\r\n\t\t\tkey\r\n\t\t].toLocaleString(appConfig.country)}`,\r\n\t\tcurrency: countrySpecVal.currency,\r\n\t})\r\n}\r\n\r\n/**\r\n * Gets and sets all countries from countrytypes.tsx for dropdowns listing AllCountries. Sort using market specific sorting if one is available.\r\n * @returns\r\n */\r\nexport const getAllCountriesUsingMarketSpecificSorting = (market: string) => {\r\n\tlet options = GetAllCountriesWithTranslation(market)\r\n\r\n\tif (market === 'ee') {\r\n\t\toptions.sort(marketSortEE)\r\n\t}\r\n\r\n\treturn options\r\n}\r\n\r\nconst marketSpecificSort = (\r\n\ta: any,\r\n\tb: any,\r\n\tcoutrySpecificSortingOrder: string[],\r\n): number => {\r\n\tlet aIndex = coutrySpecificSortingOrder.indexOf(a.value)\r\n\tlet bIndex = coutrySpecificSortingOrder.indexOf(b.value)\r\n\r\n\tif (aIndex === bIndex) return 0\r\n\r\n\tif (aIndex < bIndex) return aIndex > -1 ? -1 : 1\r\n\r\n\treturn bIndex > -1 ? 1 : -1\r\n}\r\n\r\nconst marketSortEE = (a: any, b: any): number => {\r\n\t//for \"ee\" market we need countries to be sorted in following way EE, LV, LT, FI, followed by the rest of the countries\r\n\tlet coutrySpecificSortingOrderEE = ['EE', 'LV', 'LT', 'FI']\r\n\r\n\treturn marketSpecificSort(a, b, coutrySpecificSortingOrderEE)\r\n}\r\n\r\n/**\r\n * Gets and sets all countries from countrytypes.tsx for dropdowns listing AllCountries.\r\n * Translates the countries from locales\\{country}\\countries.json.\r\n * Sorts alphabetically but also sets country of chosen market as first choice in menu.\r\n * @param market\r\n * @returns\r\n */\r\nexport const GetAllCountriesWithTranslation = (market: string) => {\r\n\tconst { t } = useTranslation([TranslationFile.Countries])\r\n\tlet options: any = []\r\n\tlet countriesUnsorted: any = []\r\n\tlet countriesSorted: any = []\r\n\tlet countriesFiltered: any = []\r\n\r\n\tObject.keys(AllCountries).map((key: string) =>\r\n\t\tcountriesUnsorted.push({\r\n\t\t\tvalue: key,\r\n\t\t\tlabel: t(`${AllCountries[key as keyof typeof AllCountries]}`),\r\n\t\t}),\r\n\t)\r\n\toptions.push(\r\n\t\tcountriesUnsorted.find(\r\n\t\t\t(item: { value: string; label: string }) =>\r\n\t\t\t\titem.value === market.toUpperCase(),\r\n\t\t),\r\n\t)\r\n\tcountriesFiltered = countriesUnsorted.filter(\r\n\t\t(item: { value: string; label: string }) =>\r\n\t\t\titem.value !== market.toUpperCase(),\r\n\t)\r\n\tcountriesSorted = countriesFiltered.sort(\r\n\t\t(\r\n\t\t\ta: { value: string; label: string },\r\n\t\t\tb: { value: string; label: string },\r\n\t\t) => {\r\n\t\t\tconst countryA = a.label\r\n\t\t\tconst countryB = b.label\r\n\t\t\tif (\r\n\t\t\t\tcountryA.localeCompare(countryB, market) <\r\n\t\t\t\tcountryB.localeCompare(countryA, market)\r\n\t\t\t) {\r\n\t\t\t\treturn -1\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\tcountryA.localeCompare(countryB, market) >\r\n\t\t\t\tcountryB.localeCompare(countryA, market)\r\n\t\t\t) {\r\n\t\t\t\treturn 1\r\n\t\t\t}\r\n\t\t\treturn 0\r\n\t\t},\r\n\t)\r\n\toptions.push(...countriesSorted)\r\n\treturn options\r\n}\r\n\r\n/**\r\n * Gets and sets country specific values and amounts stated in\r\n * countryValues.tsx for dropdown alternatives with different spans\r\n * from locales\\{country}\\dropdown.json.\r\n * @param translationSource\r\n * @param propertyName\r\n * @returns\r\n */\r\nexport const CountrySpecificValues = (\r\n\ttranslationSource = '',\r\n\tpropertyName: string,\r\n) => {\r\n\t// eslint-disable-next-line\r\n\tconst { t } = useTranslation(translationSource)\r\n\tlet countryData = kycCurrenciesAndValues.find(\r\n\t\t(e) => e.country === appConfig.country,\r\n\t) as IKycCurrencyAndValues\r\n\r\n\tlet temp: any = []\r\n\tlet listOfProperties = Object.entries(countryData)\r\n\tfor (const [key, value] of listOfProperties) {\r\n\t\tif (key === propertyName)\r\n\t\t\t// eslint-disable-next-line\r\n\t\t\tvalue.map((item: any, key: any) => {\r\n\t\t\t\ttemp.push({\r\n\t\t\t\t\tvalue: value[key],\r\n\t\t\t\t\tlabel: GetTranslationString(key, countryData, propertyName),\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\treturn temp\r\n}\r\n\r\n/**\r\n * Returns country specific values in same order as set in countryValues.tsx,\r\n * otherwise all values from enum are returned translated\r\n * from locales\\{country}\\dropdown.json.\r\n * @param enumType\r\n * @param propertyName\r\n * @param translationSource\r\n * @returns\r\n */\r\nexport const FormatEnumToList = (\r\n\tenumType: any,\r\n\tpropertyName: string,\r\n\ttranslationSource?: TranslationFile | '',\r\n) => {\r\n\tconst { t } = useTranslation(translationSource)\r\n\tlet keys = Object.keys(enumType)\r\n\tconst { isSpecific, val } = hasCountrySpecificValues(propertyName)\r\n\tlet temp: any[] = []\r\n\tif (isSpecific)\r\n\t\tval.map((key: number) =>\r\n\t\t\ttemp.push({ value: enumType[key], label: t(enumType[key]) }),\r\n\t\t)\r\n\telse\r\n\t\tkeys.filter(StringIsNotNumber).map((key: string) =>\r\n\t\t\ttemp.push({ value: key, label: t(key.toString()) }),\r\n\t\t)\r\n\treturn temp\r\n}\r\n\r\nexport function StringIsNotNumber(value: string) {\r\n\treturn isNaN(Number(value)) === true\r\n}\r\n\r\nconst hasCountrySpecificValues = (propertyName: string) => {\r\n\tlet countryData = kycCurrenciesAndValues.find(\r\n\t\t(e) => e.country === appConfig.country,\r\n\t) as IKycCurrencyAndValues\r\n\tlet properties = Object.entries(countryData)\r\n\tfor (const [key, val] of properties) {\r\n\t\tif (key === propertyName) {\r\n\t\t\treturn { isSpecific: true, val }\r\n\t\t}\r\n\t}\r\n\treturn { isSpecific: false, undefined }\r\n}\r\n\r\nexport function getQueryParams(): {\r\n\tReturnUrl: string\r\n\tSigningRequestId?: string\r\n\t[key: string]: any\r\n} {\r\n\tconst { ReturnUrl } = queryString.parse(window.location.search) as {\r\n\t\tReturnUrl: string\r\n\t}\r\n\r\n\tif (ReturnUrl) {\r\n\t\tconst url = new URL(decodeURIComponent(ReturnUrl))\r\n\t\tconst params: any = queryString.parse(url.search)\r\n\r\n\t\treturn { ...params, ReturnUrl }\r\n\t}\r\n\r\n\treturn { ReturnUrl }\r\n}\r\n\r\nexport function getMobileOperatingSystem() {\r\n\tvar userAgent = navigator.userAgent || navigator.vendor\r\n\tif (/android/i.test(userAgent)) {\r\n\t\treturn 'Android'\r\n\t}\r\n\tif (/iPad|iPhone|iPod/.test(userAgent) && !(window as any).MSStream) {\r\n\t\treturn 'iOS'\r\n\t}\r\n\treturn 'unknown'\r\n}\r\n\r\nexport function downloadBlob(blob: Blob, name: string) {\r\n\tconst data = window.URL.createObjectURL(blob)\r\n\tconst link = document.createElement('a')\r\n\tlink.style.display = 'none'\r\n\tlink.href = data\r\n\tlink.download = name\r\n\tdocument.body.appendChild(link)\r\n\tlink.click()\r\n}\r\n\r\nexport function showBlob(\r\n\tblob: Blob,\r\n\twindowRef: Window | null,\r\n\tfileName: string = 'file.pdf',\r\n) {\r\n\tvar URL = window.URL || window.webkitURL\r\n\tconst data = URL.createObjectURL(blob)\r\n\r\n\tif (windowRef) {\r\n\t\twindowRef.location.href = data\r\n\t} else {\r\n\t\tdownloadBlob(blob, fileName)\r\n\t}\r\n\r\n\tsetTimeout(function () {\r\n\t\t// For Firefox it is necessary to delay revoking the ObjectURL\r\n\t\tURL.revokeObjectURL(data)\r\n\t}, 100)\r\n}\r\n\r\nexport function validateOtpCode(otpCode: string) {\r\n\tif (!new RegExp('^\\\\d{6}$').test(otpCode)) return false\r\n\r\n\treturn true\r\n}\r\n\r\nexport function validateBankAccountNumber(\r\n\tdirectDebitAccount: string,\r\n\tdirectDebitClearingNumber: string,\r\n\tcountry: string,\r\n) {\r\n\tlet isValid = true\r\n\tif (\r\n\t\tdirectDebitAccount === undefined ||\r\n\t\tdirectDebitClearingNumber === undefined\r\n\t)\r\n\t\treturn !isValid\r\n\tswitch (country) {\r\n\t\tcase 'dk':\r\n\t\t\tif (\r\n\t\t\t\tdirectDebitClearingNumber.length === 4 &&\r\n\t\t\t\tdirectDebitAccount.length >= 7 &&\r\n\t\t\t\tdirectDebitAccount.length <= 10\r\n\t\t\t) {\r\n\t\t\t\treturn isValid\r\n\t\t\t} else {\r\n\t\t\t\treturn !isValid\r\n\t\t\t}\r\n\r\n\t\tcase 'ee':\r\n\t\tcase 'lt':\r\n\t\tcase 'sv':\r\n\t\tcase 'fi':\r\n\t\tcase 'pl':\r\n\t\tcase 'de':\r\n\t\tcase 'no':\r\n\t\tcase 'lv':\r\n\t\tdefault:\r\n\t\t\treturn !isValid\r\n\t}\r\n}\r\n\r\n/**\r\n * Get name of key (like in C# the master tier)\r\n * @param key - The key of T to get the name\r\n * @param instance - Optional way of setting T by object instead of \r\n * @returns Value of key of T\r\n */\r\nexport function nameof(key: keyof T, instance?: T): keyof T {\r\n\treturn key\r\n}\r\n\r\n/**\r\n * Make value vocative\r\n * @param value\r\n * @returns vocatived name\r\n */\r\nexport function setVocative(value: string) {\r\n\tif (!value) return value\r\n\r\n\tlet tempValue = value\r\n\tconst vocative = {\r\n\t\tas: 'ai',\r\n\t\tė: 'e',\r\n\t\tis: 'i',\r\n\t\tus: 'au',\r\n\t\tys: 'y',\r\n\t}\r\n\r\n\tObject.keys(vocative).forEach((x) => {\r\n\t\tif (!tempValue.endsWith(x)) return\r\n\r\n\t\tconst voc = vocative[x as keyof typeof vocative]\r\n\t\ttempValue = tempValue.substring(0, tempValue.lastIndexOf(x)) + voc\r\n\t})\r\n\r\n\treturn tempValue\r\n}\r\n\r\nexport interface ICurrencyInfo {\r\n\tname: string\r\n\tsymbol: string\r\n}\r\n\r\nconst currencyData: Record = {\r\n\tSEK: { name: 'Swedish Krona', symbol: 'kr' },\r\n\tDKK: { name: 'Danish Krone', symbol: 'kr' },\r\n\tEUR: { name: 'Euro', symbol: '€' },\r\n\tUSD: { name: 'American Dollar', symbol: '$' },\r\n}\r\n\r\nexport const getCurrencyInfo = (currencyCode: string) => {\r\n\tconst currencyInfo = currencyData[currencyCode]\r\n\tif (currencyInfo) {\r\n\t\treturn `${currencyInfo.name} (${currencyInfo.symbol})`\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n}\r\n\r\nexport const sortString = (a: string, b: string, sort: 'asc' | 'desc') => {\r\n\tif (sort === 'asc') {\r\n\t\tif (a > b) return -1\r\n\t\tif (a < b) return 1\r\n\t\treturn 0\r\n\t} else {\r\n\t\tif (a < b) return -1\r\n\t\tif (a > b) return 1\r\n\t\treturn 0\r\n\t}\r\n}\r\n\r\nexport const getCustomerInfoCookieName = (): string => {\r\n\t//if customer have both loans and deposits loan customer info to be used\r\n\tlet cookieName = CookieType.CustomerInfo\r\n\t//set to deposit customer info only if customer have deposits and does not have loans\r\n\tif (\r\n\t\t!sessionStorage.getItem(CookieType.LoanCustomer) &&\r\n\t\tsessionStorage.getItem(CookieType.DepositCustomer)\r\n\t)\r\n\t\tcookieName = CookieType.DepositCustomerInfo\r\n\r\n\treturn cookieName\r\n}\r\n","import {\r\n\tUserManager,\r\n\tUserManagerSettings,\r\n\tWebStorageStateStore,\r\n} from 'oidc-client'\r\nimport appConfig from '../../app.config'\r\n\r\nexport function getClientSettings(\r\n\tresponse_mode: string | undefined = undefined,\r\n): UserManagerSettings {\r\n\treturn {\r\n\t\tauthority: appConfig.authorityBaseUrl,\r\n\t\tclient_id: 'mypages_ui',\r\n\t\tredirect_uri: `${window.location.origin + '/callback'}`,\r\n\t\tresponse_type: 'code',\r\n\t\tloadUserInfo: true,\r\n\t\tpost_logout_redirect_uri: `${\r\n\t\t\twindow.location.origin + '/logoutcallback'\r\n\t\t}`,\r\n\t\tscope:\r\n\t\t\tappConfig.system === 'selfServicePortal' && appConfig.environment !== 'production'\r\n\t\t\t\t? 'openid tf_bank_creditcard_public_api tf_bank_signing_api'\r\n\t\t\t\t: 'openid tf_bank_customer_data_api',\r\n\t\tautomaticSilentRenew: true,\r\n\t\tresponse_mode,\r\n\t\tclockSkew: 15 * 60, //default 5min\r\n\t\tuserStore:\r\n\t\t\tappConfig.country === 'no'\r\n\t\t\t\t? new WebStorageStateStore({ store: window.localStorage })\r\n\t\t\t\t: undefined,\r\n\t}\r\n}\r\n\r\nexport function getUserManager() {\r\n\treturn new UserManager(getClientSettings())\r\n}\r\n\r\nexport const userManager = getUserManager()\r\n","import { createContext, Context, useState, PropsWithChildren } from 'react'\r\nimport { userManager } from 'auth/services/auth.service'\r\nimport React from 'react'\r\n\r\ninterface IAuthContext {\r\n\tisAuthenticated: boolean\r\n\tloadingAuth: boolean\r\n\tsetLoadingAuth: Function\r\n}\r\n\r\nconst AuthContext: Context = createContext({\r\n\tisAuthenticated: false,\r\n\tloadingAuth: false,\r\n\tsetLoadingAuth: () => {},\r\n})\r\n\r\nexport function UseAuthProvider({ children }: PropsWithChildren) {\r\n\t//Add new state for loadingAuth prop - boolean\r\n\tconst [loadingAuth, setLoadingAuth] = useState(false)\r\n\r\n\tconst checkAuth: any = React.useCallback(async () => {\r\n\t\tconst user = await userManager.getUser()\r\n\t\tif (!Boolean(user) || user?.expired) {\r\n\t\t\treturn setIsAuthenticated(false)\r\n\t\t}\r\n\t\treturn setIsAuthenticated(true)\r\n\t}, [])\r\n\r\n\tconst [isAuthenticated, setIsAuthenticated] = useState(checkAuth)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default AuthContext\r\n","import React, { useContext } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\n\r\nimport tf21_error_404 from 'img/tf21-error-404.png'\r\n\r\nimport { checkIsMobile } from 'shared/index'\r\nimport AuthContext from 'shared/contexts/auth'\r\n\r\nfunction NotFound() {\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isAuthenticated && (\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default NotFound\r\n","import React, { ReactNode } from 'react'\r\n\r\n//CSS styling for \"BoxInfo\" can be found in the _variables.scss file\r\n//CSS key-words include: 'info', 'success-msg-checkmark-animation', 'success', 'fail' & 'post'\r\ninterface IBoxInfo {\r\n\tcss: string\r\n\tmessage: string | object | ReactNode\r\n\timage?: string\r\n\tbutton?: object\r\n}\r\n\r\nexport const BoxInfo = ({ css, message }: IBoxInfo) => (\r\n\t
{message}
\r\n)\r\n\r\nexport const BoxInfoWithButton = ({ css, message, button }: IBoxInfo) => (\r\n\t
\r\n\t\t
{message}
\r\n\t\t
{button}
\r\n\t
\r\n)\r\n\r\nexport const BoxInfoCardApplication = ({ css, message, image }: IBoxInfo) => (\r\n\t
\r\n\t\t
\r\n\t\t{message}\r\n\t
\r\n)\r\n\r\n// Rebecka, take a look at this!!\r\ninterface IErrorMessageLegacy {\r\n\tmessage: string\r\n\tcss?: string\r\n}\r\nexport const ErrorMessageLegacy = ({ css, message }: IErrorMessageLegacy) => (\r\n\t
{message}
\r\n)\r\n\r\ninterface IErrorMessage {\r\n\tmessage: string\r\n\tcss?: string\r\n}\r\n\r\nexport const ErrorMessage = ({ css, message }: IErrorMessage) => (\r\n\t// \r\n\t
{message}
\r\n)\r\n\r\n// aaand, take a look at this one too!!\r\ninterface IValidationError {\r\n\tmessage: string\r\n\tcss?: string\r\n}\r\nexport const ValidationError = ({ css, message }: IValidationError) => (\r\n\t
{message}
\r\n)\r\n\r\ninterface IBoxInfoSuccessCheckmark {\r\n\tcss: string\r\n\tmessage: string | object\r\n}\r\n\r\nexport const BoxInfoSuccessCheckmark = ({\r\n\tmessage,\r\n\tcss,\r\n}: IBoxInfoSuccessCheckmark) => (\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t{message}\r\n\t
\r\n)\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { BoxInfoWithButton } from 'shared/components/BoxInfo'\r\n\r\ninterface IErrorFallbackProps {\r\n\tresetErrorBoundary: (...args: Array) => void\r\n\terror: Error\r\n}\r\n\r\nfunction ErrorFallbackComponent({ resetErrorBoundary }: IErrorFallbackProps) {\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst ResetButton = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{t('TryAgain')}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t}\r\n\t\t\t\tmessage={t('ErrorOnRender')}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default ErrorFallbackComponent\r\n","export enum LifeCycleStatus {\r\n\tOther = 'Other',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tCustomerVerification = 'CustomerVerification',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n\tSendToBo = 'SendToBo',\r\n\tDisbursed = 'Disbursed',\r\n\tCanceled = 'Canceled',\r\n\tTimedOut = 'TimedOut',\r\n\tDenied = 'Denied',\r\n\tDuplicated = 'Duplicated',\r\n\tApplicationReceived = 'ApplicationReceived',\r\n\tCreditDecisionRunning = 'CreditDecisionRunning',\r\n\tCreditDecisionInvestigation = 'CreditDecisionInvestigation',\r\n\tCreditDecisionError = 'CreditDecisionError',\r\n\tSendIncomeVerification = 'SendIncomeVerification',\r\n\tReceiveIncomeVerification = 'ReceiveIncomeVerification',\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tInvalid = 'Invalid',\r\n\tManualSendPromissoryNote = 'ManualSendPromissoryNote',\r\n\tCollectRefinData = 'CollectRefinData',\r\n\tCreditDecisionAwaitConsents = 'CreditDecisionAwaitConsents',\r\n\tFinalCreditApproval = 'FinalCreditApproval',\r\n\tMultiStepUpdateLoanData = 'MultiStepUpdateLoanData',\r\n\tMultiStepUpdatePersonalData = 'MultiStepUpdatePersonalData',\r\n\tIssueCard = 'IssueCard',\r\n\tCreditDecisionWaitingForFeedback = 'CreditDecisionWaitingForFeedback',\r\n\tCreditDecisionFeedbackReceived = 'CreditDecisionFeedbackReceived',\r\n\tCustomerVerificationFailed = 'CustomerVerificationFailed',\r\n\tAccountNumberVerificationFailed = 'AccountNumberVerificationFailed',\r\n\tIdentificationReceivedId = 'IdentificationReceivedId',\r\n\tAwaitAccept = 'AwaitAccept',\r\n\tExternalRegisterCheck = 'ExternalRegisterCheck',\r\n\tExternalRegisterCheckSend = 'ExternalRegisterCheckSend',\r\n}\r\n\r\nexport enum IgnoreLifeCycleStatus {\r\n\tDenied = 'Denied',\r\n\tDisbursed = 'Disbursed',\r\n\tTimedOut = 'TimedOut',\r\n\tDuplicated = 'Duplicated',\r\n\tCanceled = 'Canceled',\r\n}\r\n\r\nexport enum Status {\r\n\tNotCreated = 'NotCreated',\r\n\tCreated = 'Created',\r\n\tSigned = 'Signed',\r\n\tCanceled = 'Canceled',\r\n\tSendByPost = 'SendByPost',\r\n\tDeclined = 'Declined',\r\n}\r\n\r\nexport enum Decision {\r\n\tApproved = 'Approved',\r\n\tInvestigation = 'Investigation',\r\n\tRejected = 'Rejected',\r\n\tInvalid = 'Invalid',\r\n\tError = 'Error',\r\n}\r\n\r\nexport enum SigningUrlType {\r\n\tApplicantSigning = 'ApplicantSigning',\r\n\tCoapplicantSigning = 'CoapplicantSigning',\r\n\tOnlineIdentification = 'OnlineIdentification',\r\n\tApplicantPsd2 = 'ApplicantPsd2',\r\n\tCoapplicantPsd2 = 'CoapplicantPsd2',\r\n\tPpiContract = 'PpiContract',\r\n}\r\n\r\nexport enum ShowLifeCycleStatus {\r\n\tCreditDecisionInvestigation = 'CreditDecisionInvestigation',\r\n\tCreditDecisionError = 'CreditDecisionError',\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tManualSendPromissoryNote = 'ManualSendPromissoryNote',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n\tFinalCreditApproval = 'FinalCreditApproval',\r\n\tAccountNumberVerificationFailed = 'AccountNumberVerificationFailed',\r\n}\r\n\r\nexport enum ShowLoanOfferStepsOnLifeCycleStatus {\r\n\tCreditDecisionInvestigation = 'CreditDecisionInvestigation',\r\n\tCreditDecisionError = 'CreditDecisionError',\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tManualSendPromissoryNote = 'ManualSendPromissoryNote',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n\tFinalCreditApproval = 'FinalCreditApproval',\r\n\tAccountNumberVerificationFailed = 'AccountNumberVerificationFailed',\r\n\tMultiStepUpdateLoanData = 'MultiStepUpdateLoanData',\r\n\tExternalRegisterCheck = 'ExternalRegisterCheck',\r\n\tExternalRegisterCheckSend = 'ExternalRegisterCheckSend',\r\n}\r\n\r\nexport enum ShowOnLifeCycleStatus {\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tAwaitAccept = 'AwaitAccept',\r\n}\r\n\r\nexport enum HidePpiOnLifeCycleStatus {\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n}\r\n","import queryString from 'query-string'\r\nimport { LifeCycleStatus } from 'shared/constants/signingTypes'\r\n\r\nexport function getColor(type: string, data: any[]) {\r\n\tconst color1 = '#c87d5a' // Bronze red\r\n\tconst color2 = '#eea87e' // Bronze light\r\n\tlet list: any[] = []\r\n\tdata.forEach((item: any) => {\r\n\t\tlist.push(item.loanType)\r\n\t})\r\n\tlet item = list.indexOf(type)\r\n\treturn item % 2 === 0 ? color1 : color2\r\n}\r\n\r\nexport function setFullMobileViewHeight() {\r\n\tlet vh = window.innerHeight * 0.01\r\n\tdocument.documentElement.style.setProperty('--vh', `${vh}px`)\r\n\twindow.addEventListener('resize', () => {\r\n\t\tlet vh = window.innerHeight * 0.01\r\n\t\tdocument.documentElement.style.setProperty('--vh', `${vh}px`)\r\n\t})\r\n}\r\n\r\nexport function getAccessTokenParam() {\r\n\tconst props = queryString.parse(window.location.search) as {\r\n\t\taccess_token: string\r\n\t}\r\n\r\n\tconsole.info('url_access_token', props && props.access_token)\r\n\treturn props ? props.access_token : ''\r\n}\r\n\r\nexport function normalizeUrl(url: string) {\r\n\treturn url.substr(-1) === '/' ? url.slice(0, -1) : url\r\n}\r\n\r\nexport function stringifyBooleanAsUi(bool: boolean) {\r\n\tif (bool) {\r\n\t\treturn 'Yes'\r\n\t} else {\r\n\t\treturn 'No'\r\n\t}\r\n}\r\n\r\nexport function addZeroToDate(n: number) {\r\n\treturn n < 10 ? '0' + n : '' + n\r\n}\r\n\r\n// A test phone number for EE: 37200000766\r\n\r\n//ApplicationPage helper\r\nexport const checkLifeCycleStatus = (status: LifeCycleStatus | undefined) => {\r\n\tswitch (status) {\r\n\t\tcase LifeCycleStatus.Canceled:\r\n\t\tcase LifeCycleStatus.Denied:\r\n\t\tcase LifeCycleStatus.Disbursed:\r\n\t\tcase LifeCycleStatus.TimedOut:\r\n\t\tcase LifeCycleStatus.Duplicated:\r\n\t\t\treturn true\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}\r\n","import {\r\n\tApplicationInsights,\r\n\tSeverityLevel,\r\n} from '@microsoft/applicationinsights-web'\r\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js'\r\nimport appConfig from '../app.config'\r\n\r\nconst reactPlugin: any = new ReactPlugin()\r\nconst appInsights = new ApplicationInsights({\r\n\tconfig: {\r\n\t\tinstrumentationKey:\r\n\t\t\tappConfig.instrumentationKey ||\r\n\t\t\t'xxxxxxxxxxx-xxxxxxxxxx-xxxxxxx-xxxxx',\r\n\t\tenableAutoRouteTracking: true,\r\n\t\textensions: [reactPlugin],\r\n\t},\r\n})\r\nappInsights.loadAppInsights()\r\nappInsights.trackPageView() // Manually call trackPageView to establish the current user/session/pageview\r\n\r\nconst logEvent = (name: string, properties: { [key: string]: any }) => {\r\n\tappInsights.trackEvent({\r\n\t\tname: name,\r\n\t\tproperties: { properties },\r\n\t})\r\n}\r\nconst logError = (error: Error, properties?: { [key: string]: any }) => {\r\n\tappInsights.trackException(\r\n\t\t{\r\n\t\t\texception: error,\r\n\t\t\tseverityLevel: SeverityLevel.Error,\r\n\t\t},\r\n\t\t{ properties }\r\n\t)\r\n}\r\n\r\nconst logCritical = (error: Error) => {\r\n\tappInsights.trackException({\r\n\t\texception: error,\r\n\t\tseverityLevel: SeverityLevel.Critical,\r\n\t})\r\n}\r\nexport { reactPlugin, appInsights, logError, logCritical, logEvent }\r\n","import { userManager } from '../services/auth.service'\r\nimport { User } from 'oidc-client'\r\nimport { getAccessTokenParam } from '../../original/utils/helpers'\r\nimport appConfig from 'app.config'\r\nimport { appInsights } from 'shared/AppInsight'\r\nimport { getCountryA3 } from 'shared/utils/helpers'\r\nimport axios from 'axios'\r\n\r\nlet tokenInfo: Partial = {}\r\n\r\nexport async function getHeadersWithJwtToken() {\r\n\tconst { access_token, expires_at, profile } =\r\n\t\t(await userManager.getUser()) || { access_token: getAccessTokenParam() }\r\n\tif (access_token && tokenInfo.access_token !== access_token) {\r\n\t\ttokenInfo = { expires_at, profile, access_token }\r\n\t\tappInsights.trackEvent({\r\n\t\t\tname: 'user got a token',\r\n\t\t\tproperties: { expires_at, profile },\r\n\t\t})\r\n\t}\r\n\treturn {\r\n\t\theaders: {\r\n\t\t\tAuthorization: access_token && `Bearer ${access_token}`,\r\n\t\t\t'Customer-Id': profile?.sub,\r\n\t\t\t'System-Version': getSystemVersionHeaderValue(),\r\n\t\t\tmarket: getCountryA3(),\r\n\t\t},\r\n\t}\r\n}\r\n\r\nconst getSystemVersionHeaderValue = () => {\r\n\tvar system: string = appConfig.system === 'original' ? 'MyPages' : 'SSP'\r\n\r\n\treturn `${system}-${appConfig.country} (${appConfig.environment})`\r\n}\r\n\r\nexport async function getSubFromClaims() {\r\n\tconst { profile } = (await userManager.getUser()) || {\r\n\t\taccess_token: getAccessTokenParam(),\r\n\t}\r\n\treturn profile?.sub\r\n}\r\n\r\nexport async function getBirthdateFromClaims() {\r\n\tconst { profile } = (await userManager.getUser()) || {\r\n\t\taccess_token: getAccessTokenParam(),\r\n\t}\r\n\treturn profile?.[\r\n\t\t'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth'\r\n\t]\r\n}\r\n\r\nfunction retrieveAxiosCancelToken() {\r\n\tlet cancelSource = axios.CancelToken.source()\r\n\r\n\t/** Enhance reset functionality to immediately replace the cancelSource\r\n\twith a new one, ensuring the old one cannot be reused. */\r\n\tconst resetCancelToken = () => {\r\n\t\tcancelSource = axios.CancelToken.source()\r\n\t}\r\n\r\n\t/** Getter for the token to ensure encapsulation and direct access\r\n\tto the current token without directly exposing cancelSource. */\r\n\tconst getToken = () => {\r\n\t\treturn cancelSource.token\r\n\t}\r\n\r\n\t/** Cancel function that directly uses the current cancelSource,\r\n\tallowing for cancellation without external access to cancelSource. */\r\n\tconst cancel = (message: string) => {\r\n\t\tcancelSource.cancel(message)\r\n\t}\r\n\r\n\treturn { getToken, resetCancelToken, cancel }\r\n}\r\n\r\nexport const authenticationServiceCancelToken = retrieveAxiosCancelToken()\r\n","import { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { DocumentTypes } from 'shared'\r\nimport appConfig from '../../app.config'\r\nimport { SigningUrlType } from './signingTypes'\r\n\r\nexport const apiRoutes = {\r\n\tadminPing: `/api/admin/ping`,\r\n\tidCardAuth: (id: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/idcard/${id || ''}`,\r\n\tmobileIdAuthInitiate: `${appConfig.authorityBaseUrl}/apiauth/mobileid/initiate`,\r\n\tmobileIdAuthComplete: `${appConfig.authorityBaseUrl}/apiauth/mobileid/complete`,\r\n\tsmartIdAuthInitiate: `${appConfig.authorityBaseUrl}/apiauth/smartid/initiate`,\r\n\tsmartIdAuthComplete: `${appConfig.authorityBaseUrl}/apiauth/smartid/complete`,\r\n\tsignicatAuthLink: `${appConfig.authorityBaseUrl}/apiauth/signicat/link`,\r\n\tsignicatAuthResult: `${appConfig.authorityBaseUrl}/apiauth/signicat/result`,\r\n\tsignicatAuthMitId: `${appConfig.authorityBaseUrl}/apiauth/signicat/mitid`,\r\n\tnorwegianBankIdAuthLink: `${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/link`,\r\n\tnorwegianBankIdAuthResult: `${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/result`,\r\n\tnorwegianBankIdApplicationAuthResult: `${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/application/result`,\r\n\tbankIdv2AuthInitiate: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/initiate`,\r\n\tbankIdv2AuthCollect: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/collect`,\r\n\tbankIdv2AuthCancel: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/cancel`,\r\n\tbankIdv2GenerateQrCode: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/qrcode/generate`,\r\n\r\n\tgermanyAuthenticate: `${appConfig.authorityBaseUrl}/apiauth/germany/authenticate`,\r\n\tgermanyOtpStart: `${appConfig.authorityBaseUrl}/apiauth/germany/authenticate/otp/start`,\r\n\tgermanyOtpComplete: `${appConfig.authorityBaseUrl}/apiauth/germany/authenticate/otp/complete`,\r\n\r\n\titalyAuthenticate: `${appConfig.authorityBaseUrl}/apiauth/Italy/authenticate`,\r\n\titalyOtpStart: `${appConfig.authorityBaseUrl}/otpauth/application/start`,\r\n\titalyOtpStartSsp: `${appConfig.authorityBaseUrl}/apiauth/Italy/authenticate/otp/start`,\r\n\titalyOtpCompleteSsp: `${appConfig.authorityBaseUrl}/apiauth/Italy/authenticate/otp/complete`,\r\n\r\n\taustriaOtpStart: `${appConfig.authorityBaseUrl}/apiauth/austria/authenticate/otp/start`,\r\n\taustriaOtpComplete: `${appConfig.authorityBaseUrl}/apiauth/austria/authenticate/otp/complete`,\r\n\r\n\tspainAuthenticate: `${appConfig.authorityBaseUrl}/apiauth/Spain/authenticate`,\r\n\tspainOtpStart: `${appConfig.authorityBaseUrl}/otpauth/application/start`,\r\n\tspainOtpStartSsp: `${appConfig.authorityBaseUrl}/apiauth/Spain/authenticate/otp/start`,\r\n\tspainOtpComplete: `${appConfig.authorityBaseUrl}/otpauth/complete`,\r\n\tspainOtpCompleteSsp: `${appConfig.authorityBaseUrl}/apiauth/Spain/authenticate/otp/complete`,\r\n\r\n\tloanOtpStart: `${appConfig.authorityBaseUrl}/otpauth/loan/start`,\r\n\telectronicIDToken: (applicationId: string, product: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/signicat/electronicid/videoid?applicationId=${applicationId}&product=${product}`,\r\n\telectronicIDVerificationRequest: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/electronicid/verification`,\r\n\tredirectTo: `${appConfig.authorityBaseUrl}/account/redirectto`,\r\n\tgetArtifactBbBank: (requestId: string, taskId: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/artifact?requestId=${requestId}&taskId=${taskId}`,\r\n\tgetArtifactDk: (requestId: string, taskId: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/signicat/dkartifact?requestId=${requestId}&taskId=${taskId}`,\r\n\tgetArtifactFi: (requestId: string, taskId: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/signicat/artifact?requestId=${requestId}&taskId=${taskId}`,\r\n\tgetLoansData: (country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/loan/loans?countryCode=${country}`,\r\n\tgetRepaymentPlan: (id: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/loan/repaymentplan?repaymentPlanId=${id}`,\r\n\tupdateSubscription: `${appConfig.customerDataBaseUrl}/api/user/details`,\r\n\tsendEmail: `${appConfig.customerDataBaseUrl}/api/support/email`,\r\n\tgetApplicationInformation: (applicationId: number) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/applicationinformation?applicationId=${applicationId}`,\r\n\tgetSigningUrl: (applicationId: number, signingUrl: SigningUrlType) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/signingurls?applicationId=${applicationId}&signingurltype=${signingUrl}`,\r\n\tuploadDocument: (applicationId: number) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/uploaddocument?applicationId=${applicationId}`,\r\n\tgetDocument: (applicationId: string, documentType: DocumentTypes) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/downloaddocument?applicationId=${applicationId}&documentType=${documentType}`,\r\n\tgetKycData: `${appConfig.customerDataBaseUrl}/api/user/kyc`,\r\n\tupdateKycCustomerData: `${appConfig.customerDataBaseUrl}/api/user/kyc`,\r\n\tlookupAddressInAddressService: (inputAddress: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/user/addressService?inputAddress=${inputAddress}`,\r\n\tgetDepositsData: `${appConfig.customerDataBaseUrl}/api/deposit/deposits`,\r\n\tgetDepositsDataV2: `${appConfig.customerDataBaseUrl}/api/v2/deposit/deposits`,\r\n\tgetCustomerDetails: `${appConfig.customerDataBaseUrl}/api/deposit/customer`,\r\n\tgetCustomerDetailsV2: `${appConfig.customerDataBaseUrl}/api/v2/deposit/customer`,\r\n\tupdateCustomerData: `${appConfig.customerDataBaseUrl}/api/deposit/customer`,\r\n\tupdateCustomerDataV2: `${appConfig.customerDataBaseUrl}/api/v2/deposit/customer`,\r\n\tupdatePpi: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updateppi`,\r\n\tupdateSbl: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updatesbl`,\r\n\tupdateMissingKyc: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updatekyc`,\r\n\taddPublicNote: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/addpublicnote`,\r\n\tgetFAQ: (country: string, productType: ProductType, lng: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/customerservice/faq?country=${country}&productType=${productType}&translationLng=${lng}`,\r\n\taddTermsAndConditionAccepted: `${appConfig.customerDataBaseUrl}/api/CustomerService/termsandconditions/accept`,\r\n\tupdateBankInfo: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updatebankinfo`,\r\n\tgetDownloadDocuments: (applicationId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/downloaddocuments?applicationId=${applicationId}`,\r\n\tgetDownloadDocumentById: (documentId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/downloaddocumentbyid?documentId=${documentId}`,\r\n\tupdateCustomerConsents: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updateCustomerConsents`,\r\n\tprintPn: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/printpn`,\r\n\tupdateLoanData: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updateloandata`,\r\n\tsddEnrollmentInitiate: `${appConfig.customerDataBaseUrl}/api/sepadirectdebit/enroll/initiate`,\r\n\tsddEnrollmentComplete: `${appConfig.customerDataBaseUrl}/api/sepadirectdebit/enroll/complete`,\r\n\tsddResendOtp: `${appConfig.customerDataBaseUrl}/api/sepadirectdebit/otp/resend`,\r\n\tgetSddActivePct: (country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/sepadirectdebit/pct/${country}`,\r\n\tgetSddIbans: (partyId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/sepadirectdebit/ibans/${partyId}`,\r\n\tgetSddIsEligible: (partyId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/eligible/${partyId}`,\r\n\tgetSddMandate: (partyId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/mandate/${partyId}`,\r\n\tgetSddMandateDocument: (mandateDocumentId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/mandate/download?documentId=${mandateDocumentId}`,\r\n\tsddMandateDisable: `${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/mandate/disable`,\r\n\tattachVideoIdentification: `${appConfig.esignBaseUrl}/api/esigning/attachVideoIdentification`,\r\n\tcreateVideoIdentity: `${appConfig.esignBaseUrl}/api/esigning/createVideoIdentity`,\r\n\tupdateApplicationInformation: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/applicationinformation`,\r\n\trunmulticashpreliminarydecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/multicash/runpreliminarydecision`,\r\n runcreditcardpreliminarydecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/creditcard/runpreliminarydecision`,\r\n runcreditdecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/runcreditdecision`,\r\n runmulticashcreditdecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/multicash/runcreditdecision`,\r\n runcreditcardcreditdecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/creditcard/runcreditdecision`,\r\n\tconfirmApplication: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/confirmapplication`,\r\n\tconfirmMultiCashApplication: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/confirmmulticashapplication`,\r\n\tsignPnInit: `${appConfig.esignBaseUrl}/api/esigning/initiateESigningSpain`,\r\n\tsignPnComplete: `${appConfig.esignBaseUrl}/api/esigning/completeESigningSpain`,\r\n\tsignPnResendOtp: `${appConfig.esignBaseUrl}/api/esigning/resendotpESigningSpain`,\r\n\tremovedirectdebit: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/removedirectdebit`,\r\n\tgetNordigenBanks: (country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/banks?${country}`,\r\n\tgetNordigenAgreement: (institutionId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/agreement?${institutionId}`,\r\n\tcreateNordigenRequisitions: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/requisitions`,\r\n\tgetNordigenListAccount: (requisitionId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/listAccount?${requisitionId}`,\r\n\teParakstsAuthLink: `${appConfig.authorityBaseUrl}/apiauth/eparaksts/link`,\r\n\teParakstsAuthResult: `${appConfig.authorityBaseUrl}/apiauth/eparaksts/result`,\r\n}","/**\r\n * @module customerDataApiService\r\n * @description Service for handling customer data API requests.\r\n */\r\n\r\nimport Axios from 'axios'\r\nimport { getHeadersWithJwtToken } from '../../auth/utils/auth-util'\r\nimport { apiRoutes } from '../constants/routes'\r\nimport {\r\n\tICustomerInfo,\r\n\tICustomer,\r\n\tIFilteredLoans,\r\n} from '../../original/interfaces/i-api-loan'\r\nimport { CookieType } from '../constants/cookieTypes'\r\nimport { getCustomerInfoCookieName, waitForLanguage } from '../utils/helpers'\r\nimport { TFunction } from 'i18next'\r\nimport { SigningUrlType } from '../constants/signingTypes'\r\nimport { CountryCode } from '../constants/countryTypes'\r\nimport appConfig from '../../app.config'\r\nimport { IKycData } from '../interfaces/i-api-kyc'\r\nimport {\r\n\tIDeposit,\r\n\tIDepositCustomerData,\r\n} from '../../original/interfaces/i-api-deposit'\r\nimport {\r\n\tIAddPublicNote,\r\n\tIApplicationInformation,\r\n\tIApplicationUrlsDto,\r\n\tIPpiData,\r\n\tISblData,\r\n\tIUpdateBankInfo,\r\n\tIUpdateCustomerConsents,\r\n\tIUpdateMissingKyc,\r\n} from '../interfaces/i-api-application'\r\nimport { IFaqEntry } from '../interfaces/i-api-faq'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { DocumentTypes } from 'shared/constants/documentTypes'\r\nimport { logError } from '../AppInsight'\r\n\r\nconst transportWithCredentials = Axios.create({})\r\nconst isCornicheCountry = ['se', 'fi'].includes(appConfig.country)\r\n\r\ntransportWithCredentials.interceptors.request.use(async (config) => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\treturn config\r\n})\r\n\r\n/**\r\n * @constant {Object} customerDataApiService\r\n * @description Object containing methods for customer data API requests.\r\n */\r\n\r\nconst customerDataApiService = {\r\n\t/**\r\n\t * @function getLoanData\r\n\t * @description Retrieves loan data for a specific country.\r\n\t * @param {string} countryCode - The country code to retrieve loan data for.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of filtered loans.\r\n\t * @throws {Error} If there is an error retrieving the loan data.\r\n\t */\r\n\r\n\tasync getLoanData(countryCode: string, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tsessionStorage.removeItem(CookieType.LoanCustomer)\r\n\t\t\tsessionStorage.removeItem(CookieType.CustomerInfo)\r\n\t\t\tlet response = await transportWithCredentials\r\n\t\t\t\t.get(\r\n\t\t\t\t\tapiRoutes.getLoansData(countryCode),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\t.then((result) => {\r\n\t\t\t\t\tif (result.data.customer) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.CustomerInfo,\r\n\t\t\t\t\t\t\tJSON.stringify(result.data.customer),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.CustomerName,\r\n\t\t\t\t\t\t\tJSON.stringify(\r\n\t\t\t\t\t\t\t\tresult.data.customer.personalInfo.firstName,\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsessionStorage.setItem(CookieType.LoanCustomer, 'true')\r\n\t\t\t\t\t\treturn result.data.loans as IFilteredLoans[]\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tlogError(err)\r\n\t\t\t\t\tif (err.response) {\r\n\t\t\t\t\t\tif (err.response.status === 404)\r\n\t\t\t\t\t\t\treturn [] as IFilteredLoans[]\r\n\t\t\t\t\t\tthrow new Error(t('LoanInfoError'))\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log(err)\r\n\t\t\t\t\t\tthrow new Error(t('LoanInfoError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDepositsData\r\n\t * @description Retrieves deposit data for the customer.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of deposits.\r\n\t * @throws {Error} If there is an error retrieving the deposit data.\r\n\t */\r\n\tasync getDepositsData(t: TFunction) {\r\n\t\ttry {\r\n\t\t\tsessionStorage.removeItem(CookieType.DepositCustomer)\r\n\t\t\tsessionStorage.removeItem(CookieType.DepositCustomerInfo)\r\n\t\t\tconst data = await transportWithCredentials\r\n\t\t\t\t.get(\r\n\t\t\t\t\tisCornicheCountry\r\n\t\t\t\t\t\t? apiRoutes.getDepositsDataV2\r\n\t\t\t\t\t\t: apiRoutes.getDepositsData,\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.data.customer) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.DepositCustomerInfo,\r\n\t\t\t\t\t\t\tJSON.stringify(response.data.customer),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.CustomerName,\r\n\t\t\t\t\t\t\tJSON.stringify(\r\n\t\t\t\t\t\t\t\tresponse.data.customer.personalInfo.firstName,\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsessionStorage.setItem(CookieType.DepositCustomer, 'true')\r\n\t\t\t\t\treturn response.data.depositAccounts as IDeposit[]\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tlogError(err)\r\n\t\t\t\t\tif (err.response) {\r\n\t\t\t\t\t\tif (err.response.status === 404) return [] as IDeposit[]\r\n\t\t\t\t\t\tthrow new Error(t('DepositInfoError'))\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log(err)\r\n\t\t\t\t\t\tthrow new Error(t('DepositInfoError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn data\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tconsole.log(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getCustomerDetails\r\n\t * @description fetch userData.\r\n\t * @throws {Error} If no user is found.\r\n\t */\r\n\r\n\tasync getCustomerDetails() {\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.get(\r\n\t\t\t\tisCornicheCountry\r\n\t\t\t\t\t? apiRoutes.getCustomerDetailsV2\r\n\t\t\t\t\t: apiRoutes.getCustomerDetails,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data) {\r\n\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\tgetCustomerInfoCookieName(),\r\n\t\t\t\t\tJSON.stringify(data),\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tconsole.log(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateCustomerDetails\r\n\t * @description Updates customer details.\r\n\t * @param {ICustomer | undefined} userData - The customer data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the customer details are updated.\r\n\t * @throws {Error} If there is an error updating the customer details.\r\n\t */\r\n\r\n\tasync updateCustomerDetails(userData: ICustomer | undefined, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tlet data\r\n\t\t\tif (sessionStorage.getItem(CookieType.DepositCustomer)) {\r\n\t\t\t\tlet depositData = await transportWithCredentials.post(\r\n\t\t\t\t\tisCornicheCountry\r\n\t\t\t\t\t\t? apiRoutes.updateCustomerDataV2\r\n\t\t\t\t\t\t: apiRoutes.updateCustomerData,\r\n\t\t\t\t\tuserData,\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\t\r\n\t\t\t\t\r\n\t\t\t\tif (depositData.status === 200) {\r\n\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\tgetCustomerInfoCookieName(),\r\n\t\t\t\t\t\tJSON.stringify(userData),\r\n\t\t\t\t\t)\r\n\t\t\t\t\tdata = depositData\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (sessionStorage.getItem(CookieType.LoanCustomer)) {\r\n\t\t\t\tlet loanData = await transportWithCredentials.post(\r\n\t\t\t\t\tapiRoutes.updateSubscription,\r\n\t\t\t\t\tuserData,\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\r\n\t\t\t\tif (loanData.status === 200) {\r\n\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\tgetCustomerInfoCookieName(),\r\n\t\t\t\t\t\tJSON.stringify(userData),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t//it is ok to override deposit data as we want to use loan data if customer have both loans and deposits\r\n\t\t\t\t\tdata = loanData\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(data)\r\n\t\t\t\treturn data\r\n\t\t\t\r\n\t\t\tthrow new Error(t('UpdatingCustomerInfoError'))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('UpdatingCustomerInfoError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getSignedDocument\r\n\t * @description Retrieves a signed document.\r\n\t * @param {string} repaymentPlanId - The ID of the repayment plan.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the signed document.\r\n\t * @throws {Error} If there is an error retrieving the signed document.\r\n\t */\r\n\r\n\tasync getSignedDocument(repaymentPlanId: string, t: TFunction) {\r\n\t\tconsole.log('ID:' + repaymentPlanId)\r\n\t\tconst url = apiRoutes.getRepaymentPlan(repaymentPlanId)\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials\r\n\t\t\t\t.get(url, {\r\n\t\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\t// Success 🎉\r\n\t\t\t\t\tconsole.log(response)\r\n\t\t\t\t\treturn response.data\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t// Error 😨\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\t/*\r\n\t\t\t\t\t\t * The request was made and the server responded with a\r\n\t\t\t\t\t\t * status code that falls out of the range of 2xx\r\n\t\t\t\t\t\t */\r\n\t\t\t\t\t\tconsole.log(error.response.data)\r\n\t\t\t\t\t\tconsole.log(error.response.status)\r\n\t\t\t\t\t\tconsole.log(error.response.headers)\r\n\t\t\t\t\t} else if (error.request) {\r\n\t\t\t\t\t\t/*\r\n\t\t\t\t\t\t * The request was made but no response was received, `error.request`\r\n\t\t\t\t\t\t * is an instance of XMLHttpRequest in the browser and an instance\r\n\t\t\t\t\t\t * of http.ClientRequest in Node.js\r\n\t\t\t\t\t\t */\r\n\t\t\t\t\t\tconsole.log(error.request)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Something happened in setting up the request and triggered an Error\r\n\t\t\t\t\t\tconsole.log('Error', error.message)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconsole.log(error.config)\r\n\r\n\t\t\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t\t\t})\r\n\r\n\t\t\treturn data\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDocument\r\n\t * @description Retrieves a document by its ID and type.\r\n\t * @param {string} id - The ID of the document.\r\n\t * @param {DocumentTypes} documentType - The type of the document.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise<{ blob: Blob, mimeType: string }>} A promise that resolves to the document and its MIME type.\r\n\t * @throws {Error} If there is an error retrieving the document.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync getDocument(id: string, documentType: DocumentTypes, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst response = await transportWithCredentials\r\n\t\t\t\t.get(apiRoutes.getDocument(id, documentType), {\r\n\t\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => ({\r\n\t\t\t\t\tblob: response.data as Blob,\r\n\t\t\t\t\tmimeType: response.headers['x-contenttype'] as string,\r\n\t\t\t\t}))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error.config)\r\n\t\t\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function GetApplicationInformation\r\n\t * @description Retrieves application information by application ID.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the application information.\r\n\t * @throws {Error} If there is an error retrieving the application information.\r\n\t */\r\n\r\n\tasync GetApplicationInformation(applicationId: number, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst response =\r\n\t\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\t\tapiRoutes.getApplicationInformation(applicationId),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\tif (response.data) {\r\n\t\t\t\t\t//----for testing purpose---\r\n\t\t\t\t\t// response.data.lifeCycleStatus = LifeCycleStatus.Disbursed\r\n\t\t\t\t\t// response.data.signingUrls.pnSigning.status = Status.Signed\r\n\t\t\t\t\t// response.data.signingUrls.psD2.status = Status.Created\r\n\t\t\t\t\t// response.data.signingUrls.psD2.isMandatory = true\r\n\t\t\t\t\t//-----test end-----\r\n\r\n\t\t\t\t\treturn response.data\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ApplicationInformationError'))\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tconsole.log(error)\r\n\t\t\tif (error.response.status === 404)\r\n\t\t\t\tthrow new Error(t('NoApplicationInformationError'))\r\n\t\t\tthrow new Error(t('ApplicationInformationError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function GetSigningUrls\r\n\t * @description Retrieves signing URLs for an application.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {SigningUrlType} signingUrl - The type of signing URL.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the signing URLs.\r\n\t * @throws {Error} If there is an error retrieving the signing URLs.\r\n\t */\r\n\r\n\tasync GetSigningUrls(\r\n\t\tapplicationId: number,\r\n\t\tsigningUrl: SigningUrlType,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst response =\r\n\t\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\t\tapiRoutes.getSigningUrl(applicationId, signingUrl),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\tif (response.data) return response.data\r\n\t\t\t\telse throw new Error(t('NoSigningUrlsError'))\r\n\t\t\t}\r\n\r\n\t\t\tthrow new Error(t('SigningUrlsError'))\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow error\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function UploadDocument\r\n\t * @description Uploads a document for an application.\r\n\t * @param {FormData} uploadDocumentRequest - The document data to upload.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @throws {Error} If there is an error uploading the document.\r\n\t */\r\n\r\n\tasync UploadDocument(\r\n\t\tuploadDocumentRequest: FormData,\r\n\t\tapplicationId: number,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconsole.log(uploadDocumentRequest)\r\n\t\tlet auth = await getHeadersWithJwtToken()\r\n\r\n\t\tlet headers = {\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: auth.headers.Authorization,\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t},\r\n\t\t}\r\n\t\tconst response = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.uploadDocument(applicationId),\r\n\t\t\tuploadDocumentRequest,\r\n\t\t\theaders,\r\n\t\t)\r\n\t\tif (response.status !== 200) {\r\n\t\t\tthrow new Error(t('UploadDocumentError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDownloadDocuments\r\n\t * @description Retrieves downloadable documents for an application.\r\n\t * @param {string} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of documents.\r\n\t * @throws {Error} If there is an error retrieving the documents.\r\n\t */\r\n\r\n\tasync getDownloadDocuments(applicationId: string, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tlet response = await transportWithCredentials\r\n\t\t\t\t.get(\r\n\t\t\t\t\tapiRoutes.getDownloadDocuments(applicationId),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\treturn response.data.documents\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\tconsole.log(error.response.data)\r\n\t\t\t\t\t\tconsole.log(error.response.status)\r\n\t\t\t\t\t\tconsole.log(error.response.headers)\r\n\t\t\t\t\t} else if (error.request) {\r\n\t\t\t\t\t\tconsole.log(error.request)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('Error', error.message)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconsole.log(error.config)\r\n\r\n\t\t\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDownloadDocumentById\r\n\t * @description Retrieves a document by its ID.\r\n\t * @param {string} documentId - The ID of the document.\r\n\t * @returns {Promise<{ blob: Blob }>} A promise that resolves to the document.\r\n\t * @throws {Error} If there is an error retrieving the document.\r\n\t */\r\n\r\n\tasync getDownloadDocumentById(documentId: string) {\r\n\t\ttry {\r\n\t\t\tconst response = await transportWithCredentials\r\n\t\t\t\t.get(apiRoutes.getDownloadDocumentById(documentId), {\r\n\t\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => ({\r\n\t\t\t\t\tblob: response.data as Blob,\r\n\t\t\t\t}))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error.config)\r\n\t\t\t\t\tthrow new Error(error)\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(e)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getKycData\r\n\t * @description Retrieves KYC (Know Your Customer) data.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the KYC data.\r\n\t * @throws {Error} If there is an error retrieving the KYC data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync getKycData(t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.get(\r\n\t\t\t\tapiRoutes.getKycData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tsessionStorage.getItem(CookieType.KycRenewal) ==\r\n\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\tJSON.stringify(response.data.timeToRenew),\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn response.data as IKycData\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\tJSON.stringify(false),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\treturn undefined as unknown as IKycData\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlogError(error)\r\n\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\tthrow new Error(t('KycError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn data as IKycData\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getKycDataWithNationalId\r\n\t * @description Retrieves KYC (Know Your Customer) data using a national ID.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @param {string} nationalId - The national ID to retrieve KYC data for.\r\n\t * @returns {Promise} A promise that resolves to the KYC data.\r\n\t * @throws {Error} If there is an error retrieving the KYC data.\r\n\t */\r\n\r\n\tasync getKycDataWithNationalId(t: TFunction, nationalId: string) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.get(\r\n\t\t\t\t`${apiRoutes.getKycData}/${nationalId}`,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tsessionStorage.getItem(CookieType.KycRenewal) ==\r\n\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\tJSON.stringify(response.data.timeToRenew),\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn response.data as IKycData\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\tJSON.stringify(false),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\treturn undefined as unknown as IKycData\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlogError(error)\r\n\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\tthrow new Error(t('KycError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn data as IKycData\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateKycCustomerData\r\n\t * @description Updates KYC (Know Your Customer) data for a customer.\r\n\t * @param {IKycData} customerData - The KYC data to update.\r\n\t * @returns {Promise} A promise that resolves when the KYC data is updated.\r\n\t * @throws {Error} If there is an error updating the KYC data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateKycCustomerData(customerData: IKycData) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.post(\r\n\t\t\t\tapiRoutes.updateKycCustomerData,\r\n\t\t\t\tcustomerData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\tsessionStorage.setItem(CookieType.KycRenewal, 'false')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Something went wrong when trying to update kyc info, please try again later`,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tthrow error\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updatePpi\r\n\t * @description Updates PPI (Payment Protection Insurance) data.\r\n\t * @param {IPpiData} ppiData - The PPI data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error updating the PPI data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updatePpi(ppiData: IPpiData, t: TFunction) {\r\n\t\t//if ppi false don´t update px -> unless country is DK\r\n\t\tif (!ppiData.ppi && appConfig.country !== 'dk') return\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updatePpi,\r\n\t\t\t\tppiData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return data.status\r\n\t\t\tthrow new Error(t('PpiError'))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow new Error(t('PpiError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateSbl\r\n\t * @description Updates SBL (Small Business Loan) data.\r\n\t * @param {ISblData} sblData - The SBL data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the SBL data is updated.\r\n\t * @throws {Error} If there is an error updating the SBL data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateSbl(sblData: ISblData, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateSbl,\r\n\t\t\t\tsblData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return\r\n\t\t\tthrow new Error(t('SblError'))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow new Error(t('SblError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateMissingKyc\r\n\t * @description Updates missing KYC (Know Your Customer) data.\r\n\t * @param {IUpdateMissingKyc} updateMissingKycData - The missing KYC data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the missing KYC data is updated.\r\n\t * @throws {Error} If there is an error updating the missing KYC data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateMissingKyc(\r\n\t\tupdateMissingKycData: IUpdateMissingKyc,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tif (!updateMissingKycData) return\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateMissingKyc,\r\n\t\t\t\tupdateMissingKycData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t} catch (error) {\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function addPublicNote\r\n\t * @description Adds a public note.\r\n\t * @param {IAddPublicNote} addPublicNoteData - The data for the public note.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the public note is added.\r\n\t * @throws {Error} If there is an error adding the public note.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync addPublicNote(addPublicNoteData: IAddPublicNote, t: TFunction) {\r\n\t\tif (!addPublicNoteData) return\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.addPublicNote,\r\n\t\t\t\taddPublicNoteData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t} catch (error) {\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getFAQ\r\n\t * @description Retrieves FAQ entries for a specific country, product type, and language.\r\n\t * @param {string} country - The country code.\r\n\t * @param {ProductType} productType - The product type.\r\n\t * @param {string} lng - The language code.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of FAQ entries.\r\n\t * @throws {Error} If there is an error retrieving the FAQ entries.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync getFAQ(\r\n\t\tcountry: string,\r\n\t\tproductType: ProductType,\r\n\t\tlng: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.get(\r\n\t\t\t\tapiRoutes.getFAQ(country, productType, lng),\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\tif (data.data.length !== 0) return data.data as IFaqEntry[]\r\n\t\t\t\telse throw new Error(t('FaqNoLng'))\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tthrow new Error(error.message)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateBankInfo\r\n\t * @description Updates bank information.\r\n\t * @param {IUpdateBankInfo} bankInfo - The bank information to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error updating the bank information.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateBankInfo(bankInfo: IUpdateBankInfo, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tlet data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateBankInfo,\r\n\t\t\t\tbankInfo,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\treturn data.status\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(e.message)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateCustomerConsent\r\n\t * @description Updates customer consents.\r\n\t * @param {IUpdateCustomerConsents} customerConsents - The customer consents to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error updating the customer consents.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateCustomerConsent(\r\n\t\tcustomerConsents: IUpdateCustomerConsents,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\ttry {\r\n\t\t\tlet data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateCustomerConsents,\r\n\t\t\t\tcustomerConsents,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\treturn data.status\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(e.message)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function lookupAddressInAddressService\r\n\t * @description Find Addresses .\r\n\t * @param {inputAddress} inputText - the input text.\r\n\t * @returns {Promise} A promise that resolves to the array of addresses.\r\n\t * @throws {Error} If there is an error retrieving the address array.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n async lookupAddressInAddressService(inputAddress: string) {\r\n\t\t\ttry {\r\n\t\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\t\tapiRoutes.lookupAddressInAddressService(inputAddress),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\tif (data.status === 200) \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\treturn data.data\r\n\t\t\t\t\t}\r\n\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.log(error)\r\n\t\t\t}\t\t\r\n\t},\r\n\r\n\t/**\r\n\t * @function printPn\r\n\t * @description Prints a PN (Promissory Note) for an application.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error printing the PN.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync printPn(applicationId: number, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.printPn,\r\n\t\t\t\t{ applicationId: applicationId },\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\r\n\t\t\tif (data.status === 200) return data.status\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function addTermsAndConditionAccepted\r\n\t * @description Adds a record indicating that terms and conditions have been accepted.\r\n\t * @returns {Promise} A promise that resolves when the record is added.\r\n\t * @throws {Error} If there is an error adding the record.\r\n\t */\r\n\r\n\tasync addTermsAndConditionAccepted() {\r\n\t\tconst headers = await getHeadersWithJwtToken()\r\n\t\tconst market =\r\n\t\t\tCountryCode[appConfig.country as keyof typeof CountryCode]\r\n\r\n\t\ttry {\r\n\t\t\tawait transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.addTermsAndConditionAccepted,\r\n\t\t\t\t{ ssn: headers.headers['Customer-Id'], market },\r\n\t\t\t\theaders,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tthrow new Error(error)\r\n\t\t}\r\n\t},\r\n}\r\n\r\nexport default customerDataApiService","var _style, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDownloadInterfaceBronze(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 489.8 489.8\",\n style: {\n enableBackground: \"new 0 0 489.8 489.8\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#DE996F;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"489.8,359.8 444.7,359.8 444.7,431.9 45.1,431.9 45.1,361.3 0,361.3 0,477 489.8,477 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"131.7,174.5 69.1,174.5 249.6,398.9 430.2,174.5 367.6,174.5 367.6,12.8 131.7,12.8 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadInterfaceBronze);\nexport default __webpack_public_path__ + \"static/media/download-interface-bronze.d3522799a3717f65fb3a64acde59000b.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgUploadDocument(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 53.6 62.82\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{stroke-linecap:round;}.cls-1,.cls-2,.cls-3{stroke-miterlimit:10;}.cls-1,.cls-3{fill:none;stroke:#de996f;stroke-width:2px;}.cls-2{fill:#585857;stroke:#585857;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_57\",\n className: \"cls-2\",\n d: \"M27.92,12.52H7.42c-.39,0-.7-.31-.7-.7,0-.39,.31-.7,.7-.7H27.92c.39,0,.7,.31,.7,.7s-.31,.7-.7,.7h0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_58\",\n className: \"cls-2\",\n d: \"M24.09,48.52H7.25c-.32,0-.58-.31-.58-.7s.26-.7,.58-.7H24.09c.32,0,.58,.31,.58,.7s-.26,.7-.58,.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_59\",\n className: \"cls-2\",\n d: \"M39.37,21.52H7.41c-.39,0-.7-.31-.7-.7,0-.39,.31-.7,.7-.7h31.96c.39,0,.7,.31,.7,.7,0,.39-.31,.7-.7,.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_60\",\n className: \"cls-2\",\n d: \"M39.37,30.52H7.41c-.39,0-.7-.31-.7-.7s.31-.7,.7-.7h31.96c.39,0,.7,.31,.7,.7s-.31,.7-.7,.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_62\",\n className: \"cls-2\",\n d: \"M28.09,60.74H2.96c-.59,0-1.07-.48-1.07-1.07V2.96c0-.59,.48-1.07,1.07-1.07h29.92c.6,0,1.09,.48,1.1,1.08l.15,8.56c.03,1.36,1.13,2.44,2.49,2.45h8.63c.26,0,.51,.1,.7,.28l.09,.09c.18,.19,.28,.44,.28,.7v20.9c0,.38,.3,.69,.68,.69h.01c.39,0,.7-.31,.7-.7V15.04c0-.44-.12-.87-.35-1.24-.03-.11-.08-.2-.16-.28l-.14-.14c-.05-.06-.1-.11-.16-.16L34.6,1.17c-.07-.07-.14-.12-.23-.15-.43-.33-.95-.52-1.49-.52H2.96c-1.36,0-2.46,1.1-2.46,2.46H.5V59.67c0,1.36,1.1,2.46,2.46,2.46H28.09c.36-.01,.5-.3,.5-.7,0-.62-.27-.69-.5-.69ZM36.6,12.57c-.6,0-1.08-.48-1.1-1.08l-.13-7.62,8.86,8.7h-7.63Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_57-2\",\n className: \"cls-2\",\n d: \"M25.98,39.52H7.26c-.35,0-.64-.31-.64-.7,0-.39,.29-.7,.64-.7H25.98c.35,0,.64,.31,.64,.7s-.29,.7-.64,.7h0Z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-3\",\n cx: 40.6,\n cy: 49.82,\n r: 12\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"cls-1\",\n x1: 40.6,\n y1: 58.16,\n x2: 40.6,\n y2: 42.51\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M33.82,48.25l6.71-5.68s.1-.03,.14,0l6.71,5.68\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadDocument);\nexport default __webpack_public_path__ + \"static/media/upload-document.0fbfbce040b321070342967b43b43211.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nexport enum ActiveSort {\r\n\tAsc,\r\n\tDesc,\r\n\tNone,\r\n}\r\n\r\ninterface IProps {\r\n\tsortAsc: () => void\r\n\tsortDesc: () => void\r\n\tuseActiveArrow?: ActiveSort\r\n}\r\n\r\nexport default function SortingArrows({\r\n\tsortAsc,\r\n\tsortDesc,\r\n\tuseActiveArrow = ActiveSort.None,\r\n}: IProps) {\r\n\tconst [activeArrow, setActiveArrow] = useState(useActiveArrow)\r\n\r\n\tconst sortAscending = () => {\r\n\t\tsetActiveArrow(ActiveSort.Asc)\r\n\t\tsortAsc()\r\n\t}\r\n\r\n\tconst sortDescending = () => {\r\n\t\tsetActiveArrow(ActiveSort.Desc)\r\n\t\tsortDesc()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tsetActiveArrow(useActiveArrow)\r\n\t}, [useActiveArrow])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t sortAscending()}\r\n\t\t\t\ticon=\"sort-up\"\r\n\t\t\t\tclassName={\r\n\t\t\t\t\t'arrow up ' +\r\n\t\t\t\t\t(activeArrow === ActiveSort.Asc ? 'active' : '')\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\t sortDescending()}\r\n\t\t\t\ticon=\"sort-down\"\r\n\t\t\t\tclassName={\r\n\t\t\t\t\t'arrow down ' +\r\n\t\t\t\t\t(activeArrow === ActiveSort.Desc ? 'active' : '')\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\n//Use as \" const [value, setValue] = useStateWithSessionStorage( 'myValueInSessionStorage', ); \"\r\n\r\nconst useStateWithSessionStorage = (sessionStorageKey: string) => {\r\n\tconst [value, setValue] = useState(\r\n\t\tsessionStorage.getItem(sessionStorageKey) || ''\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tsessionStorage.setItem(sessionStorageKey, value)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [value])\r\n\r\n\treturn [value, setValue] as const\r\n}\r\n\r\nexport default useStateWithSessionStorage\r\n","import { AppConfigurationClient } from '@azure/app-configuration'\r\nimport appConfig from '../../app.config'\r\nimport { logError } from 'shared/AppInsight'\r\n\r\nconst connectionString = process.env\r\n\t.REACT_APP_APPCONFIG_CONNECTION_STRING as string\r\nconst client = new AppConfigurationClient(connectionString)\r\n\r\nconst fallbackConfigValues : { [id: string] : string[] } = {\r\n\tde: [],\r\n\tat: [],\r\n\tno: [],\r\n\tse: ['toggling:deposits', 'toggling:kyc', 'toggling:loans'],\r\n\tfi: ['toggling:deposits', 'toggling:kyc', 'toggling:loans'],\r\n\tee: ['toggling:kyc', 'toggling:loans'],\r\n\tlt: ['toggling:kyc', 'toggling:loans'],\r\n\tlv: ['toggling:kyc', 'toggling:loans'],\r\n}\r\n\r\nfunction getFallbackConfigValues(country: string){\r\n\tif(fallbackConfigValues[country])\r\n\t\treturn fallbackConfigValues[country]\r\n\telse\r\n\t\treturn []\r\n}\r\n\r\nexport interface ConfigError extends Error {\r\n\tresponse: {\r\n\t\tstatus: number\r\n\t}\r\n}\r\n\r\nconst appConfigClient = {\r\n\t/**\r\n\t * Adds a configuration setting.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} value - The value of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @usage Not in use\r\n\t */\r\n\tasync addConfigurationSetting(key: string, value: string, label?: string) {\r\n\t\tawait client\r\n\t\t\t.addConfigurationSetting({\r\n\t\t\t\tkey: key,\r\n\t\t\t\tvalue: value,\r\n\t\t\t\tlabel: label ?? appConfig.country,\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log('Failed adding key:', error)\r\n\t\t\t})\r\n\t},\r\n\r\n\t/**\r\n\t * Updates a configuration setting.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} value - The value of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @usage Not in use\r\n\t */\r\n\tasync updateConfigurationSetting(\r\n\t\tkey: string,\r\n\t\tvalue: string,\r\n\t\tlabel?: string,\r\n\t) {\r\n\t\tawait client\r\n\t\t\t.setConfigurationSetting({\r\n\t\t\t\tkey: key,\r\n\t\t\t\tvalue: value,\r\n\t\t\t\tlabel: label ?? appConfig.country,\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log('Failed updating key:', error)\r\n\t\t\t})\r\n\t},\r\n\r\n\t/**\r\n\t * Gets configuration settings.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @returns {Promise} - A promise that resolves to an array of toggles.\r\n\t */\r\n\tasync getConfigurationSetting(key: string, label?: string, retryCount: number = 0) : Promise {\r\n\t\ttry {\r\n\t\t\tlet settings = client.listConfigurationSettings({\r\n\t\t\t\tkeyFilter: key,\r\n\t\t\t\tlabelFilter: label ?? appConfig.country,\r\n\t\t\t\tfields: ['key', 'value'],\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\tlet toggles: string[] = []\r\n\t\t\tfor await (const setting of settings) {\r\n\t\t\t\tconsole.log('setting', setting)\r\n\t\t\t\tif (setting.value === 'true') toggles.push(setting.key)\r\n\t\t\t}\r\n\t\t\treturn toggles as string[]\r\n\t\t} catch (err: any) {\r\n\t\t\tif (err.response && err.response.status === 429) {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t'Too many requests to app configuration service, please update subscription',\r\n\t\t\t\t)\r\n\t\t\t\treturn getFallbackConfigValues(appConfig.country) //fallback values\r\n\t\t\t}\r\n\t\t\tconsole.log('getConfigurationSetting retryC: ', retryCount)\r\n\t\t\tconsole.log('Failed to get configuration settings', err)\r\n\t\t\tlogError(err)\r\n\t\t\tif (retryCount < 3) {\r\n\t\t\t\treturn await this.getConfigurationSetting(\r\n\t\t\t\t\tkey,\r\n\t\t\t\t\tlabel,\r\n\t\t\t\t\tretryCount + 1,\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\treturn getFallbackConfigValues(appConfig.country) //fallback values\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Deletes a configuration setting.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @usage Not in use\r\n\t */\r\n\tasync deleteConfigurationsSetting(key: string, label?: string) {\r\n\t\tawait client\r\n\t\t\t.deleteConfigurationSetting({\r\n\t\t\t\tkey: key,\r\n\t\t\t\tlabel: label ?? appConfig.country,\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log('Failed deleting value:', error)\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default appConfigClient\r\n","import {\r\n\tContext,\r\n\tcreateContext,\r\n\tPropsWithChildren,\r\n\tuseCallback,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n} from 'react'\r\nimport appConfigurationService from '../services/appConfigurationService'\r\nimport React from 'react'\r\nimport AuthContext from './auth'\r\ninterface IAppConfigContext {\r\n\ttoggle: string[]\r\n\tready: boolean\r\n}\r\n\r\nconst AppConfigContext: Context =\r\n\tcreateContext({\r\n\t\ttoggle: [],\r\n\t\tready: false,\r\n\t})\r\n\r\nexport function UseAzureAppConfigProvider({\r\n\tchildren,\r\n}: PropsWithChildren) {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\tconst [toggle, setToggle] = useState([])\r\n\tconst [ready, setReadyState] = useState(false)\r\n\r\n\tconst getConfig = useCallback(async () => {\r\n\t\tawait appConfigurationService\r\n\t\t\t.getConfigurationSetting('toggling*')\r\n\t\t\t.then((data) => {\r\n\t\t\t\tsetToggle(data)\r\n\t\t\t\tsetReadyState(true)\r\n\t\t\t})\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\t//useEffect cleanup function for auth provider\r\n\t\tif (isAuthenticated === true) {\r\n\t\t\tgetConfig()\r\n\t\t}\r\n\t\treturn () => {}\r\n\t}, [getConfig, isAuthenticated])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default AppConfigContext\r\n","import React from 'react'\r\n\r\n//Mainly spinner\r\ninterface ICIrcleSpinner {\r\n\tclassName?: string\r\n}\r\nexport function CircleSpinner({ className }: ICIrcleSpinner) {\r\n\treturn (\r\n\t\t
\r\n\t)\r\n}\r\n\r\n//Loading spinner with three dots\r\nexport function LoadingSpinner() {\r\n\treturn
\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react'\r\n\r\ninterface IProps {\r\n\titem: any\r\n}\r\n\r\nfunction Tooltip({ item }: IProps) {\r\n\tconst [showTooltip, setShowTooltip] = useState(false)\r\n\r\n\tconst node = useRef()\r\n\r\n\tconst handleClick = (e: any) => {\r\n\t\tif (node.current?.contains(e.target)) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tsetShowTooltip(false)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.addEventListener('mousedown', handleClick)\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('mousedown', handleClick)\r\n\t\t}\r\n\t})\r\n\treturn (\r\n\t\t setShowTooltip(!showTooltip)}\r\n\t\t\tclassName=\"tooltip-tip position-relative p-2\">\r\n\t\t\t{showTooltip && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{item?.text!}\r\n\t\t\t\t\t\t{item?.value}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Tooltip\r\n","import React, { useEffect } from 'react'\r\nimport Button from 'react-bootstrap/Button'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Image } from 'react-bootstrap'\r\nimport TF_logo from 'img/tf-logos/TF_logo.png'\r\nimport appConfig from 'app.config'\r\n\r\ninterface IIdleTimeOut {\r\n\tshowModal: boolean\r\n\thandleClose: any\r\n\thandleLogout: any\r\n\tremainingTime: number\r\n}\r\n\r\ninterface ITime {\r\n\tseconds: number\r\n\tminutes: number\r\n}\r\n\r\nexport const IdleTimeOutModal = ({\r\n\tshowModal,\r\n\thandleClose,\r\n\thandleLogout,\r\n\tremainingTime,\r\n}: IIdleTimeOut) => {\r\n\tconst { t } = useTranslation()\r\n\tconst [time, setTime] = React.useState({\r\n\t\tseconds: remainingTime,\r\n\t\tminutes: 0,\r\n\t})\r\n\r\n\tuseEffect(() => {\r\n\t\tconst interval = setInterval(() => {\r\n\t\t\tif (showModal) {\r\n\t\t\t\tif (time.seconds % 2) {\r\n\t\t\t\t\tdocument.title = t('IdleTimeout')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdocument.title = t('Title')\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (time.seconds > 0) {\r\n\t\t\t\t\tsetTime((prev) => ({\r\n\t\t\t\t\t\t...prev,\r\n\t\t\t\t\t\tseconds: time.seconds - 1,\r\n\t\t\t\t\t}))\r\n\t\t\t\t} else {\r\n\t\t\t\t\thandleLogout()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 1000)\r\n\t\treturn () => clearInterval(interval)\r\n\t})\r\n\r\n\tfunction clearCounterAndHandleClose() {\r\n\t\tsetTime((prev) => ({\r\n\t\t\t...prev,\r\n\t\t\tseconds: remainingTime,\r\n\t\t}))\r\n\t\tdocument.title = t('Title')\r\n\t\thandleClose()\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('LogoutWarning', { time })}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}","export enum CustomerForm {\r\n\tDepositForm = 'DepositForm',\r\n\tLoanForm = 'LoanForm',\r\n\tTestForm = 'TestForm',\r\n\tSetPasswordIdCheckForm = 'SetPasswordIdCheckForm',\r\n\tContactForm = 'ContactForm',\r\n\tCashToAccountForm = 'CashToAccountForm',\r\n\tCustomerInformationFormSDD = 'CustomerInformationFormSDD',\r\n\tOtpStartFormEs = 'OtpStartFormEs',\r\n\tOtpCompleteForm = 'OtpCompleteForm',\r\n}\r\n","export enum DocumentTypes {\r\n\tOther = 'Other',\r\n\tSignedPromissoryNote = 'SignedPromissoryNote',\r\n\tIdCard = 'IdCard',\r\n\tTaxReturn = 'TaxReturn',\r\n\tBankStatement = 'BankStatement',\r\n\tEmploymentCertificate = 'EmploymentCertificate',\r\n\tPromissoryNote = 'PromissoryNote',\r\n\tRepaymentPlan = 'RepaymentPlan',\r\n\tPayroll = 'Payroll',\r\n\tAnalytic = 'Analytic',\r\n\tCarDocument = 'CarDocument',\r\n\tApplicantConsent = 'ApplicantConsent',\r\n\tSpouseConsent = 'SpouseConsent',\r\n\tApplicantSignedConsent = 'ApplicantSignedConsent',\r\n\tSpouseSignedConsent = 'SpouseSignedConsent',\r\n\tOriginalData = 'OriginalData',\r\n\tIdNowIdentification = 'IdNowIdentification',\r\n\tPpiContract = 'PpiContract',\r\n\tPpiContractSigned = 'PpiContractSigned',\r\n\tActivationSlip = 'ActivationSlip',\r\n\tPassport = 'Passport',\r\n\tIdOther = 'IdOther',\r\n\tAddressProof = 'AddressProof',\r\n\tResidencePermit = 'ResidencePermit',\r\n\tRegistrationCertificate = 'RegistrationCertificate',\r\n\tVideoId = 'VideoId',\r\n}\r\n","export enum LoanType {\r\n\tDirectSales = 'DirectSales',\r\n\tCreditLine = 'CreditLine',\r\n\tOther = 'Other',\r\n\tCash = 'Cash',\r\n\tSmallLoan = 'SmallLoan',\r\n\tCarLoan = 'CarLoan',\r\n\tRefinancingLoan = 'RefinancingLoan',\r\n\tMortgageLoan = 'MortgageLoan',\r\n\tRenovationLoan = 'RenovationLoan',\r\n}\r\n\r\nexport enum SortPropType {\r\n\tagreementNumber = 'agreementNumber',\r\n\tunpaidInvoices = 'unpaidInvoices',\r\n\texternalPartnerName = 'externalPartnerName',\r\n\tlatestDisbursementDate = 'latestDisbursementDate',\r\n}\r\n\r\nexport enum ProductType {\r\n\tFinHalens = 'FinHalens',\r\n\tFinCredento = 'FinCredento',\r\n\tSweHalens = 'SweHalens',\r\n\tSweCredento = 'SweCredento',\r\n\tPolCredento = 'PolCredento',\r\n\tEstTfbank = 'EstTfbank',\r\n\tNorCredento = 'NorCredento',\r\n\tPolDirectSales = 'PolDirectSales',\r\n\tEstCreditLine = 'EstCreditLine',\r\n\tEstCreditLineInvoice = 'EstCreditLineInvoice',\r\n\tEstDirectSales = 'EstDirectSales',\r\n\tLvaCashLoan = 'LvaCashLoan',\r\n\tEstCarLoan = 'EstCarLoan',\r\n\tLvaCarLoan = 'LvaCarLoan',\r\n\tLtuCashLoan = 'LtuCashLoan',\r\n\tAutCashLoan = 'AutCashLoan',\r\n\tSweCashLoan = 'SweCashLoan',\r\n\tLtuDirectSales = 'LtuDirectSales',\r\n\tLtuCarLoan = 'LtuCarLoan',\r\n\tLtuRenovation = 'LtuRenovation',\r\n\tDeuCreditCard = 'DeuCreditCard',\r\n\tEstRefin = 'EstRefin',\r\n\tLvaRefin = 'LvaRefin',\r\n\tLtuRefin = 'LtuRefin',\r\n\tFinRefin = 'FinRefin',\r\n\tEstMortgage = 'EstMortgage',\r\n\tLvaDirectSales = 'LvaDirectSales',\r\n\tLtuCreditLine = 'LtuCreditLine',\r\n\tLvaCreditLine = 'LvaCreditLine',\r\n\tLtuCreditLineTf = 'LtuCreditLineTf',\r\n\tLvaCreditLineTf = 'LvaCreditLineTf',\r\n\tEstCreditLineTf = 'EstCreditLineTf',\r\n\tDnkCashLoan = 'DnkCashLoan',\r\n\tEspCashLoan = 'EspCashLoan',\r\n\tEspCreditCard = 'EspCreditCard',\r\n\tNorRefin = 'NorRefin',\r\n\tFinCashLoan = 'FinCashLoan',\r\n\tFinHalensLoan = 'FinHalensLoan',\r\n\tFinRefinLoan = 'FinRefinLoan',\r\n\tFinRefinPpi = 'FinRefinPpi',\r\n\tFinHalensLoanPpi = 'FinHalensLoanPpi',\r\n\tFinCashLoanPpi = 'FinCashLoanPpi',\r\n\tFinRefinLoanPpi = 'FinRefinLoanPpi',\r\n}\r\n\r\nexport enum PaymentReliefTypes {\r\n\tPaymentHolidayWithInterestAndFees = 'PaymentHolidayWithInterestAndFees',\r\n\tPaymentHolidayCumulatedInterest = 'PaymentHolidayCumulatedInterest',\r\n\tPaymentHolidayNordic = 'PaymentHolidayNordic',\r\n\tSkipCollection = 'SkipCollection',\r\n\tMixedPricing = 'MixedPricing',\r\n\tPaymentHolidayWithSplitInterest = 'PaymentHolidayWithSplitInterest',\r\n\tAutomaticPaymentHolidayNordic = 'AutomaticPaymentHolidayNordic',\r\n\tFreePPI = 'FreePPI',\r\n\tPaymentHolidayWithoutInterestAndFees = 'PaymentHolidayWithoutInterestAndFees',\r\n\tPayInterestOnFirstInvoices = 'PayInterestOnFirstInvoices',\r\n\tMixedPricingDPD = 'MixedPricingDPD',\r\n\tAutomaticPaymentHolidayCumulatedInterest = 'AutomaticPaymentHolidayCumulatedInterest ',\r\n\tPaymentHolidayCumulatedInterestAndFee = 'PaymentHolidayCumulatedInterestAndFee',\r\n}\r\n","import { ProductType } from 'original/constants/enums/LoanType'\r\nimport React, { useState, useMemo, useCallback } from 'react'\r\nimport Draggable from 'react-draggable'\r\nimport { Container } from 'react-bootstrap'\r\nimport { IApplicationInformation } from 'shared'\r\nimport {\r\n\tDecision,\r\n\tLifeCycleStatus,\r\n\tStatus,\r\n} from 'shared/constants/signingTypes'\r\nimport { useLocation, useNavigate } from 'react-router'\r\nimport { AllCountries, NationalityType } from 'shared/constants/countryTypes'\r\nimport {\r\n\tAccommodationType,\r\n\tChildrenAge,\r\n\tEducation,\r\n\tEmploymentSector,\r\n\tGender,\r\n\tMaritalStatus,\r\n\tMissingKycValues,\r\n\tOccupationType,\r\n} from 'shared/constants/kycTypes'\r\n\r\n//let _queryValues = queryString.parse(window.location.search.toLowerCase())\r\n\r\nexport function useDeveloperTesting(func: any) {\r\n\tconst [testData, setTestData] =\r\n\t\tuseState(MockedModel)\r\n\tconst [query, setQuery] = useState('')\r\n\tconst location = useLocation()\r\n\tconst navigate = useNavigate()\r\n\r\n\tconst changeValue = useCallback(\r\n\t\t(type: NationalityType) => {\r\n\t\t\tsetTestData({\r\n\t\t\t\t...testData,\r\n\t\t\t\tpersonalInfo: {\r\n\t\t\t\t\tfirstName: 'ZeusFirs',\r\n\t\t\t\t\tlastName: 'ZeusLast',\r\n\t\t\t\t\t// ssn: '1234567',\r\n\t\t\t\t\t// birthDate: '1975-03-26',\r\n\t\t\t\t\tgender: Gender.Female,\r\n\t\t\t\t\tmaritalStatus: MaritalStatus.Married,\r\n\t\t\t\t\tnationalityType: NationalityType.EU,\r\n\t\t\t\t\tnationality: AllCountries.DE,\r\n\t\t\t\t\tcountryOfBirth: AllCountries.DE,\r\n\t\t\t\t\tmissingKyc: [] as MissingKycValues[],\r\n\t\t\t\t\tmissingKycFields: '',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t},\r\n\t\t[testData]\r\n\t)\r\n\r\n\tconst onClick = useCallback(\r\n\t\t(e: string) => {\r\n\t\t\tconst params = new URLSearchParams()\r\n\t\t\tparams.append('applicationid', '300063178')\r\n\t\t\tparams.append('status', e)\r\n\t\t\tnavigate({ search: params.toString() })\r\n\t\t\tsetQuery(e)\r\n\t\t},\r\n\t\t[location] //eslint-disable-line\r\n\t)\r\n\r\n\tconst nodeRef = React.useRef(null)\r\n\r\n\tconst Controls = useMemo(() => {\r\n\t\treturn () => (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tTesting Panel\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* onClick('success')}>\r\n\t\t\t\t\t\t\t\t\tPrimary\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t onClick('ok')}>\r\n\t\t\t\t\t\t\t\t\tSign PSD2 with callback\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t changeValue()}>\r\n\t\t\t\t\t\t\t\t\tSet amount to 1337\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tchangeValue(NationalityType.German)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tSet German citizen\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tchangeValue(NationalityType.NonEU)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tSet NonEU citizen\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}, [changeValue, onClick]) //eslint-disable-line\r\n\r\n\treturn { Controls, query, location, testData }\r\n}\r\n\r\nexport const MockedModel: IApplicationInformation = {\r\n\tapprovedAmount: 200000,\r\n\tapprovedRepaymentPeriod: 72,\r\n\tapr: 0.32,\r\n\tdecision: Decision.Approved,\r\n\teuribor: 0,\r\n\thasCoApplicant: false,\r\n\tinstalment: 102.9,\r\n\tinsuranceFee: 0,\r\n\tinterestRate: 0.279,\r\n\tisCoApplicant: false,\r\n\tlifeCycleStatus: LifeCycleStatus.CustomerVerification,\r\n\tloanNumber: 300063178,\r\n\tmonthlyFee: 2.9,\r\n\topeningFee: 29,\r\n\tpersonalInfo: {\r\n\t\tfirstName: 'ZeusFirs',\r\n\t\tlastName: 'ZeusLast',\r\n\t\t// ssn: '1234567',\r\n\t\t// birthDate: '1975-03-26',\r\n\t\tgender: Gender.Female,\r\n\t\tmaritalStatus: MaritalStatus.Married,\r\n\t\tnationalityType: NationalityType.EU,\r\n\t\tnationality: AllCountries.DE,\r\n\t\tcountryOfBirth: AllCountries.DE,\r\n\t\tmissingKyc: [] as MissingKycValues[],\r\n\t\tmissingKycFields: '',\r\n\t},\r\n\tppi: true,\r\n\tproduct: ProductType.NorCredento,\r\n\tsigningUrls: {\r\n\t\tonlineIdentification: {\r\n\t\t\turl: '',\r\n\t\t\tstatus: Status.NotCreated,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t\tpnSigning: {\r\n\t\t\turl: 'https://preprod.signicat.com/std/docaction/bbbank?…mnr4otf909d7439b6n7u5so8gec&task_id:MainApplicant',\r\n\t\t\tstatus: Status.Created,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t\tppiSigning: {\r\n\t\t\turl: '',\r\n\t\t\tstatus: Status.NotCreated,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t\tpsD2: {\r\n\t\t\turl: 'https://altinnnowmock-clientUrl/f79b062f-35b4-441c-9bc8-986b5a9b0acb',\r\n\t\t\tstatus: Status.Created,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t},\r\n\ttopUp: { number: '', balance: 0 },\r\n\ttotalAmountToBeRepaid: 200609.39,\r\n\tdateCreated: '2020.20.20',\r\n\tbankInfo: {\r\n\t\taccountNumber: '1234',\r\n\t\tiban: 'DE25110101014339847070',\r\n\t\tdirectDebitAccount: '',\r\n\t\tdirectDebitClearingNumber: '',\r\n\t\tdirectDebitIban: '',\r\n\t},\r\n\tkycUpdated: false,\r\n\tcustomerConsents: {\r\n\t\tallowMarketing: false,\r\n\t\tpensionRegister: false,\r\n\t\tprocessAccountData3rdParty: false,\r\n\t\tprocessData: false,\r\n\t\tprocessData3rdParty: false,\r\n\t},\r\n\taddress: {\r\n\t\tstreet: 'The Street',\r\n\t\tstreetNumber: '12',\r\n\t\tcity: 'Cityville',\r\n\t\tzip: '12345',\r\n\t\tcountryOfResidence: AllCountries.DE,\r\n\t\tstreetType: '',\r\n\t\tflatNumber: '',\r\n\t\tcareOf: '',\r\n\t\tregionId: 0,\r\n\t},\r\n\taccommodation: {\r\n\t\tcost: 20,\r\n\t\ttype: AccommodationType.Owner,\r\n\t\tsince: '1999-03-26',\r\n\t\tchildrenInFamily: 1,\r\n\t\tsalesValue: 100000,\r\n\t\tadultsInFamily: 1,\r\n\t\tchildrenAge: [ChildrenAge.ElevenToFourteen],\r\n\t},\r\n\tcontacts: {\r\n\t\thomePhone: '',\r\n\t\tcellPhone: '08080908080',\r\n\t\tofficePhone: '',\r\n\t\temail: 'test@test.se',\r\n\t},\r\n\temployment: {\r\n\t\tmonthlyNetIncome: 50000,\r\n\t\toccupationType: OccupationType.Entrepreneur,\r\n\t\temployerName: 'IKEA',\r\n\t\temployedSince: '1980-03-26',\r\n\t\temploymentSector: EmploymentSector.Administration,\r\n\t\teducation: Education.ProfessEducation,\r\n\t\totherIncome: '',\r\n\t},\r\n\toffer: {\r\n\t\trepaymentPeriodMin: 12,\r\n\t\trepaymentPeriodMax: 24,\r\n\t\tinterestRate: 12,\r\n\t\teffectiveInterestRate: 4,\r\n\t\tamountMin: 1000,\r\n\t\tamountMax: 10000,\r\n\t\tmaxInstallment: 500,\r\n\t},\r\n\tcreditLimit: 0,\r\n\trdi: -1000,\r\n}\r\n\r\nexport const redirectSigningPSD2 = {\r\n\tsuccess: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&psd2status=success`,\r\n\tfail: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&psd2status=fail`,\r\n\tabort: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&psd2status=abort`,\r\n}\r\nexport const redirectSigning = {\r\n\tsuccess: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&status=success`,\r\n\tfail: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&status=fail`,\r\n\tabort: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&status=abort`,\r\n}\r\n","/**\r\n * @module idleTimerService\r\n * @description Service for handling idle timer functionality.\r\n */\r\n\r\n/**\r\n * @interface ITimer\r\n * @description Represents the state of the idle timer.\r\n * @property {number} timeout - The timeout duration in milliseconds.\r\n * @property {boolean} showModal - Indicates whether to show the modal.\r\n * @property {boolean} userLoggedIn - Indicates whether the user is logged in.\r\n * @property {boolean} isTimedOut - Indicates whether the timer has timed out.\r\n * @property {any} counter - The counter object.\r\n */\r\nexport interface ITimer {\r\n\ttimeout: number\r\n\tshowModal: boolean\r\n\tuserLoggedIn: boolean\r\n\tisTimedOut: boolean\r\n\tcounter: any\r\n}\r\n\r\n/**\r\n * @namespace idleTimerService\r\n * @description Service methods for handling idle timer functionality.\r\n */\r\nexport const idleTimerService = {\r\n\t/**\r\n\t * @function onAction\r\n\t * @description Callback function to be executed when user performs an action.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\tonAction: (setTimer: any) => {\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tisTimedOut: false,\r\n\t\t}))\r\n\t},\r\n\r\n\t/**\r\n\t * @function onActive\r\n\t * @description Callback function to be executed when user is active.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\tonActive: (setTimer: any) => {\r\n\t\tconsole.log('user is active')\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tisTimedOut: false,\r\n\t\t}))\r\n\t},\r\n\r\n\t/**\r\n\t * @function onIdle\r\n\t * @description Callback function to be executed when user is idle.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t * @param {ITimer} timer - The current timer state.\r\n\t */\r\n\tonIdle: (setTimer: any, timer: any) => {\r\n\t\tif (!timer.isTimedOut) {\r\n\t\t\tsetTimer((prev: any) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tshowModal: true,\r\n\t\t\t\tisTimedOut: true,\r\n\t\t\t}))\r\n\t\t} else {\r\n\t\t\t// Never reach this code with current settings\r\n\t\t\tsetTimer((prev: any) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tshowModal: false,\r\n\t\t\t}))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function handleClose\r\n\t * @description Handles the closing of the idle timer modal.\r\n\t * @param {any} idleTimer - The idle timer object.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\thandleClose: (idleTimer: any, setTimer: any) => {\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tshowModal: false,\r\n\t\t\tisTimedOut: false,\r\n\t\t}))\r\n\t\tconsole.log('..user closed modal')\r\n\t\tidleTimer.current.reset() // Reset idle timer to initial settings\r\n\t},\r\n\r\n\t/**\r\n\t * @function handleLogout\r\n\t * @description Handles the user logout process.\r\n\t * @param {function} navigate - Function to navigate to a different page.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\thandleLogout: (navigate: any, setTimer: any) => {\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tshowModal: false,\r\n\t\t}))\r\n\t\tnavigate ('/logout')\r\n\t\tconsole.log('..user is logged out')\r\n\t},\r\n}","import appConfig from 'app.config'\r\n\r\nexport const appRoutes = {\r\n\tstartpage: '/',\r\n\tlogin: '/login',\r\n\tcallbackPage: '/callback',\r\n\tnorwegianBankIdCallback: '/norwegianbankidcallback',\r\n\tlogout: '/logout',\r\n\tlogoutcallback: '/logoutcallback',\r\n\tcardApplicationPage: '/cardapplication',\r\n\tcardApplicationLogin: '/cardapplicationlogin',\r\n\tpaymentVerification: '/auth/payment-verification',\r\n\tsepadirectdebit: '/sepadirectdebit',\r\n\treferfriends: '/referfriends',\r\n\trevokeaddresschange: '/revokeaddresschange/:id',\r\n}\r\n\r\nexport const apiRoutes = {\r\n\tgetCreditCardData: (customerId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/creditcard?customerId=${customerId}&includeBlockedAuthorizations=true`,\r\n\tgetTransactions: (\r\n\t\taccountAgreementId: string,\r\n\t\taccountTransactionDate: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}&includeBlockedAuthorizations=true`,\r\n\tgetTransactionsByDates: (\r\n\t\taccountAgreementId: string,\r\n\t\tstartDate: string,\r\n\t\tendDate: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/paged/transactions?accountAgreementId=${accountAgreementId}&startDate=${startDate}&endDate=${endDate}&language=${appConfig.country}&includeBlockedAuthorizations=true`,\r\n\tgetCustomer: (customerId: string, birthDate: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/user/mobileapp/customer?customerId=${customerId}&birthDate=${birthDate}`,\r\n\tupdateCustomer: `${appConfig.customerDataBaseUrl}/api/user/mobileapp/updatecustomer`,\r\n\tgetAccountStatements: (\r\n\t\tcustomerId: string,\r\n\t\taccountStatementFormat: string,\r\n\t\tadditionalData: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n\tgetAccountStatement: (accountStatementId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/accountstatement?accountStatementId=${accountStatementId}`,\r\n\tgetPinUrl: (cardId: number, country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/pin/url?cardId=${cardId}&iMSGetPinCountryType=${country}`,\r\n\tsetPassword: `${appConfig.customerDataBaseUrl}/api/enrollment/onlinepurchase/enrollcard`,\r\n\tgetDepositData: (customerId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/agreement?customerId=${customerId}`,\r\n\tgetDepositTransactions: (\r\n\t\taccountAgreementId: string,\r\n\t\taccountTransactionDate: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}`,\r\n\tsendEmailSsp: `${appConfig.customerDataBaseUrl}/api/support/ssp/email`,\r\n\tgetAccountStatementsDeposit: (\r\n\t\tcustomerId: string,\r\n\t\taccountStatementFormat: string,\r\n\t\tadditionalData: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n\tgetAccountStatementDeposit: (accountStatementId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/accountstatement?accountStatementId=${accountStatementId}`,\r\n\tgetAnnualReport: (accountAgreementId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/annualreport?accountAgreementId=${accountAgreementId}`,\r\n\tupdateCardStatus: `${appConfig.customerDataBaseUrl}/api/creditcard/updatecardstatus`,\r\n\torderNewCard: `${appConfig.customerDataBaseUrl}/api/creditcard/newcard`,\r\n\tgetAgreementHistory: () =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/agreements`,\r\n\tgetMaintenanceInfo: (market: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/customerservice/maintenance/next?market=${market}`,\r\n\tgetMarketingData: (market: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/customerservice/marketing/next?market=${market}`,\r\n}\r\n","import React, { useContext } from 'react'\r\nimport appConfig from 'app.config'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport './maintenanceWindow.scss'\r\nimport MaintenanceContext from 'shared/contexts/MaintenanceContext'\r\n\r\nconst MaintenanceWindow = () => {\r\n\tconst { maintenanceData, setMaintenanceData } =\r\n\t\tuseContext(MaintenanceContext)\r\n\tconst countryCode = appConfig.country.toUpperCase()\r\n\r\n\tenum propName {\r\n\t\tdurationMessage = 'durationMessage',\r\n\t\tpreMessage = 'preMessage',\r\n\t}\r\n\r\n\tconst getDurationMessage = GetPropertyDescriptor(propName.durationMessage)\r\n\t\t?.value\r\n\r\n\tconst getPreMessage = GetPropertyDescriptor(propName.preMessage)?.value\r\n\r\n\tfunction GetPropertyDescriptor(propertyName: propName) {\r\n\t\treturn Object.getOwnPropertyDescriptor(\r\n\t\t\tmaintenanceData,\r\n\t\t\t`${propertyName}${countryCode}`,\r\n\t\t)\r\n\t}\r\n\r\n\tfunction IfMaintenanceWindow() {\r\n\t\tlet startTime = new Date(maintenanceData?.maintenanceWindowFrom!)\r\n\t\tlet endTime = new Date(maintenanceData?.maintenanceWindowTo!)\r\n\t\tlet preStartTime = new Date(startTime)\r\n\t\tlet timeNow = new Date(Date.now())\r\n\t\tlet preMessageTimeInMinutes = maintenanceData?.minutesBeforeMaintenance!\r\n\t\tpreStartTime.setMinutes(\r\n\t\t\tstartTime.getMinutes() - preMessageTimeInMinutes,\r\n\t\t)\r\n\t\treturn {\r\n\t\t\tisPreMessage: timeNow < startTime && timeNow > preStartTime,\r\n\t\t\tisInTimeRange: timeNow > preStartTime && timeNow < endTime,\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{getDurationMessage &&\r\n\t\t\t\tgetDurationMessage !== '' &&\r\n\t\t\t\tIfMaintenanceWindow().isInTimeRange && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{IfMaintenanceWindow().isPreMessage\r\n\t\t\t\t\t\t\t\t\t\t? getPreMessage\r\n\t\t\t\t\t\t\t\t\t\t: getDurationMessage}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setMaintenanceData()}\r\n\t\t\t\t\t\t\t\ticon=\"times\"\r\n\t\t\t\t\t\t\t\tcolor=\"#fff\"\r\n\t\t\t\t\t\t\t\taria-hidden=\"false\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MaintenanceWindow\r\n","import React, { createContext, Context, useState, useEffect } from 'react'\r\nimport { IMaintenance } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { waitForLanguage, getMarket } from 'shared/utils/helpers'\r\nimport { logError } from 'shared/AppInsight'\r\nimport Axios from 'axios'\r\nimport { apiRoutes } from '../../selfServicePortal/constants/routes'\r\nimport MaintenanceWindow from '../components/MaintenanceWindow/MaintenanceWindow'\r\nimport appConfig from 'app.config'\r\n\r\nconst transportWithCredentials = Axios.create({})\r\ntransportWithCredentials.interceptors.request.use(async (config) => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\treturn config\r\n})\r\n\r\ninterface IMaintenanceContext {\r\n\tmaintenanceData: IMaintenance | undefined\r\n\tsetMaintenanceData: Function\r\n}\r\n\r\nconst MaintenanceContext: Context =\r\n\tcreateContext({\r\n\t\tmaintenanceData: undefined,\r\n\t\tsetMaintenanceData: () => {},\r\n\t})\r\n\r\nexport function MaintenanceContextProvider() {\r\n\tconst [maintenanceData, setMaintenanceData] = useState()\r\n\r\n\tconst maintenanceInfo = {\r\n\t\tasync getMaintenanceInfo() {\r\n\t\t\tconst response = await transportWithCredentials\r\n\t\t\t\t.get(apiRoutes.getMaintenanceInfo(getMarket()!))\r\n\t\t\t\t.then((result) => {\r\n\t\t\t\t\tif (result.status === 204) return undefined\r\n\t\t\t\t\treturn result.data as IMaintenance\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tlogError(err)\r\n\t\t\t\t\tif (err.response?.status === 404) {\r\n\t\t\t\t\t\tthrow new Error(\r\n\t\t\t\t\t\t\t'There is no maintenancedata for chosen market',\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthrow err\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn response as IMaintenance\r\n\t\t},\r\n\t}\r\n\tconst getMaintenanceInfo = async () => {\r\n\t\ttry {\r\n\t\t\tlet data = await maintenanceInfo.getMaintenanceInfo()\r\n\t\t\tif (data !== undefined) setMaintenanceData(data)\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function checkMaintenanceInfo() {\r\n\t\t\tif (await maintenanceInfo) {\r\n\t\t\t\tgetMaintenanceInfo()\r\n\t\t\t}\r\n\t\t}\r\n\t\tcheckMaintenanceInfo()\r\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{maintenanceData &&\r\n\t\t\t\tmaintenanceData.affectedMarkets.includes(appConfig.country) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MaintenanceContext\r\n","export interface ICountryValues {\r\n\tcountry: string\r\n\ttfFullName: string\r\n\tcopyRight: string\r\n\taddress: IAddress\r\n\tlinks: () => ILinks\r\n\tproductSpecific: IProductInformation[]\r\n}\r\n\r\nexport enum CountryValuesProductType {\r\n\tCard = 'Card',\r\n\tDeposit = 'Deposit',\r\n\tDeposit_Fixed = 'Deposit_Fixed',\r\n\tLoan = 'Loan',\r\n\tAll = 'All',\r\n}\r\n\r\ninterface IProductInformation {\r\n\tproductType: CountryValuesProductType\r\n\tbankInformation?: IBankInformation\r\n\tcontactInformation: IContactInformation\r\n}\r\n\r\ninterface IContactInformation {\r\n\temail: string\r\n\temail2?: string\r\n\tphoneNumber?: string\r\n\tphoneNumber2?: string\r\n\topeningHours?: string\r\n}\r\n\r\ninterface IBankInformation {\r\n\tiban: string\r\n\tbic: string\r\n}\r\n\r\nexport interface ILinks {\r\n\tabout?: ILinkProps\r\n\tforms?: ILinkProps\r\n\tfinancialDifficulties?: ILinkProps\r\n\tconsumerLoan?: ILinkProps\r\n\tcookie: ILinkProps\r\n\tloanSecurity?: ILinkProps\r\n\tfaq?: ILinkProps\r\n\tlegal?: ILinkProps\r\n\tdataProtection?: ILinkProps\r\n\tcashLoan?: ILinkProps\r\n\tcarLoan?: ILinkProps\r\n\trenovationLoan?: ILinkProps\r\n\trefinance?: ILinkProps\r\n}\r\n\r\ninterface ILinkProps {\r\n\ttitle?: string\r\n\tlink: string\r\n}\r\n\r\ninterface IAddress {\r\n\tpostalAddress?: string\r\n\tcompanyName: string\r\n\taddressLine1: string\r\n\taddressLine2?: string\r\n\tzipCodeAndCity: string\r\n\tcountry?: string\r\n}\r\n","import appConfig from 'app.config'\r\nimport i18n from 'i18n'\r\nimport {\r\n\tCountryValuesProductType,\r\n\tICountryValues,\r\n} from 'shared/constants/countryValueTypes'\r\nimport { nameof } from 'shared'\r\n\r\nexport const countryValues: ICountryValues[] = [\r\n\t{\r\n\t\tcountry: 'dk',\r\n\t\ttfFullName: 'TF Bank',\r\n\t\tcopyRight: 'TF Bank AB, Danmark',\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://tfbank.dk/om-tf-bank' },\r\n\t\t\t\tcookie: {\r\n\t\t\t\t\tlink: 'https://tfbank.dk/om-tf-bank/cookies-og-sikkerhed',\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcompanyName: 'TF Bank AB',\r\n\t\t\taddressLine1: 'Box 947',\r\n\t\t\tzipCodeAndCity: '501 10, Borås',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'info@tfbank.dk',\r\n\t\t\t\t\tphoneNumber: '78 73 04 60',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcountry: 'ee',\r\n\t\ttfFullName: 'TF Bank',\r\n\t\tcopyRight: 'TF Bank Kõik õigused kaitstud',\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://tfbank.ee/kes-me-oleme/' },\r\n\t\t\t\tcookie: {\r\n\t\t\t\t\tlink: 'https://www.tfbank.ee/klienditeenindus/kliendiandmete-tootlemise-kord/',\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tpostalAddress: 'PostalAddress',\r\n\t\t\tcompanyName: 'TF Bank AB (publ.) Eesti filiaal',\r\n\t\t\taddressLine1: 'Vabaõhumuuseumi tee 1',\r\n\t\t\tzipCodeAndCity: '13521 Tallinn',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'info@tfbank.ee',\r\n\t\t\t\t\tphoneNumber: '607 5775',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcountry: 'es',\r\n\t\ttfFullName: 'TF Bank',\r\n\t\tcopyRight: 'TF Bank AB, España',\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://tfbank.es/sobre-tf-bank' },\r\n\t\t\t\tcookie: {\r\n\t\t\t\t\tlink: 'https://tfbank.es/sobre-tf-bank/seguridad-y-cookies',\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcompanyName: 'TF Bank AB',\r\n\t\t\taddressLine1: 'Box 947',\r\n\t\t\tzipCodeAndCity: '501 10, Borås',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'hola@tfbank.es',\r\n\t\t\t\t\tphoneNumber: '91 993 10 15',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcountry: 'fi',\r\n\t\ttfFullName: 'TF Bank AB, Suomen sivuliike (2594352-3)',\r\n\t\tcopyRight: 'TF Bank AB, Ruotsi',\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://www.tfbank.fi/tietoa-tf-bankista/' },\r\n\t\t\t\tcookie: { link: 'https://tfbank.fi/evasteet' },\r\n\t\t\t\tloanSecurity: {\r\n\t\t\t\t\tlink: 'https://www.tfbank.fi/lainat/lainaturva',\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcompanyName: 'TF Bank AB, Suomen sivuliike',\r\n\t\t\taddressLine1: 'Y-tunnus 2594352-3',\r\n\t\t\taddressLine2: 'PL 5600',\r\n\t\t\tzipCodeAndCity: '00002, Helsinki',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'info@tfbank.fi',\r\n\t\t\t\t\tphoneNumber: '0206 90591',\r\n\t\t\t\t\tphoneNumber2: '0206 90681',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcountry: 'lt',\r\n\t\ttfFullName: 'TF Bank',\r\n\t\tcopyRight: 'TF Bank AB, Sweden',\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://tfbank.lt/apie-tf-bank-ab' },\r\n\t\t\t\tforms: { link: 'https://tfbank.lt/prasymu-formos' },\r\n\t\t\t\tfinancialDifficulties: {\r\n\t\t\t\t\tlink: 'https://tfbank.lt/susidurus-su-finansiniais-sunkumais',\r\n\t\t\t\t},\r\n\t\t\t\tconsumerLoan: { link: 'https://tfbank.lt/vartojimo-paskola' },\r\n\t\t\t\tcookie: { link: 'https://tfbank.lt/slapukai' },\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcompanyName: 'TF Bank Lietuvos filialas',\r\n\t\t\taddressLine1: 'Lvivo g. 25',\r\n\t\t\tzipCodeAndCity: 'LT-09320, Vilnius',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'info@tfbank.lt',\r\n\t\t\t\t\tphoneNumber: '1899',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcountry: 'lv',\r\n\t\ttfFullName: 'TF Bank',\r\n\t\tcopyRight: 'TF Bank AB, Sweden',\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://tfbank.lv/par-tf-bank' },\r\n\t\t\t\tcookie: { link: 'https://tfbank.lv/privatuma-politika' },\r\n\t\t\t\tcashLoan: {\r\n\t\t\t\t\tlink:\r\n\t\t\t\t\t\ti18n.language === nameof('ru-LV', appConfig.languages)\r\n\t\t\t\t\t\t\t? 'https://tfbank.lv/ru/denezhnyi-kredit'\r\n\t\t\t\t\t\t\t: 'https://tfbank.lv/naudas-kredits',\r\n\t\t\t\t},\r\n\t\t\t\tcarLoan: {\r\n\t\t\t\t\tlink:\r\n\t\t\t\t\t\ti18n.language === nameof('ru-LV', appConfig.languages)\r\n\t\t\t\t\t\t\t? 'https://tfbank.lv/ru/avtokredit'\r\n\t\t\t\t\t\t\t: 'https://tfbank.lv/auto-kredits',\r\n\t\t\t\t},\r\n\t\t\t\trenovationLoan: {\r\n\t\t\t\t\tlink:\r\n\t\t\t\t\t\ti18n.language === nameof('ru-LV', appConfig.languages)\r\n\t\t\t\t\t\t\t? 'https://tfbank.lv/ru/kredit-na-remont'\r\n\t\t\t\t\t\t\t: 'https://tfbank.lv/kredits-remontam',\r\n\t\t\t\t},\r\n\t\t\t\trefinance: {\r\n\t\t\t\t\tlink:\r\n\t\t\t\t\t\ti18n.language === nameof('ru-LV', appConfig.languages)\r\n\t\t\t\t\t\t\t? 'https://tfbank.lv/ru/perekreditafiya'\r\n\t\t\t\t\t\t\t: 'https://tfbank.lv/parkreditacija',\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcompanyName: 'TF Bank AB Latvijas filiāle',\r\n\t\t\taddressLine1: 'p/k 47',\r\n\t\t\tzipCodeAndCity: 'LV-1004, Rīga',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'info@tfbank.lv',\r\n\t\t\t\t\temail2: 'kavejums@tfbank.lv',\r\n\t\t\t\t\tphoneNumber: '66 090 800',\r\n\t\t\t\t\tphoneNumber2: '66 090 808',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcountry: 'se',\r\n\t\ttfFullName: 'TF Bank',\r\n\t\tcopyRight: 'TF Bank AB, Sverige',\r\n\r\n\t\tlinks: () => {\r\n\t\t\treturn {\r\n\t\t\t\tabout: { link: 'https://www.tfbank.se/om-tf-bank/' },\r\n\t\t\t\tcookie: {\r\n\t\t\t\t\tlink: 'https://tfbank.se/om-tf-bank/cookies-och-sakerhet',\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcompanyName: 'TF Bank AB',\r\n\t\t\taddressLine1: 'Box 947',\r\n\t\t\tzipCodeAndCity: '501 10, Borås',\r\n\t\t},\r\n\t\tproductSpecific: [\r\n\t\t\t{\r\n\t\t\t\tproductType: CountryValuesProductType.All,\r\n\t\t\t\tcontactInformation: {\r\n\t\t\t\t\temail: 'info@tfbank.se',\r\n\t\t\t\t\tphoneNumber: '033-722 35 00',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n]","import appConfig from 'app.config'\r\nimport React, {\r\n\tContext,\r\n\tPropsWithChildren,\r\n\tReactElement,\r\n\tReactNode,\r\n\tcreateContext,\r\n\tuseState,\r\n\tuseEffect,\r\n} from 'react'\r\nimport {\r\n\tCountryValuesProductType,\r\n\tICountryValues,\r\n} from 'shared/constants/countryValueTypes'\r\nimport { countryValues } from 'original/constants/countryValues/countryValues'\r\n\r\ninterface IMyPagesContextProps {\r\n\tstaticCountryValues: ICountryValues | undefined\r\n\tproductType: CountryValuesProductType | undefined\r\n}\r\n\r\nconst MyPagesContext: Context =\r\n\tcreateContext({\r\n\t\tstaticCountryValues: undefined,\r\n\t\tproductType: undefined,\r\n\t})\r\n\r\nexport function MyPagesContextProvider({\r\n\tchildren,\r\n}: PropsWithChildren): ReactElement {\r\n\tconst [staticCountryValues, setStaticCountryValues] = useState<\r\n\t\tICountryValues | undefined\r\n\t>(undefined)\r\n\t//eslint-disable-next-line\r\n\tconst [productType, setProductType] = useState<\r\n\t\tCountryValuesProductType | undefined\r\n\t>(CountryValuesProductType.All)\r\n\r\n\tuseEffect(() => {\r\n\t\tGetStaticCountryValues()\r\n\t}, [productType])\r\n\r\n\tconst GetStaticCountryValues = () => {\r\n\t\tlet value = countryValues.find((item) => {\r\n\t\t\tif (item.country === appConfig.country) {\r\n\t\t\t\treturn item\r\n\t\t\t} else {\r\n\t\t\t\treturn undefined\r\n\t\t\t}\r\n\t\t})\r\n\t\tsetStaticCountryValues(value)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MyPagesContext","import React, { useContext, useEffect } from 'react'\r\nimport { Navigate } from 'react-router-dom'\r\nimport useStateWithSessionStorage from '../../../shared/hooks/useStateWithSessionStorage'\r\nimport { CookieType } from '../../../shared/constants/cookieTypes'\r\nimport { UseAzureAppConfigProvider } from 'shared/contexts/azureAppConfig'\r\nimport { AuthContext } from 'shared'\r\n\r\ninterface props {\r\n\tcomponent: any\r\n\tpath: any\r\n\tredirect: string\r\n}\r\n\r\nfunction PrivateRoute({ component: Component, redirect }: props) {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n\tconst [value, setValue] = useStateWithSessionStorage(CookieType.RedirectUrl)\r\n\tconst url = window.location.pathname\r\n\tconst args = window.location.search.toLowerCase()\r\n\r\n\tuseEffect(() => {\r\n\t\t// console.log('Login', { auth: isAuthenticated, redir: url + args })\r\n\t\tsetValue(url + args)\r\n\t})\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{isAuthenticated ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default PrivateRoute","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport Tooltip from 'shared/components/Tooltip'\r\n\r\ninterface IContainerHomePageText {\r\n\tleft: string\r\n\tright: any\r\n\txs: number[]\r\n\ttooltip: any\r\n}\r\n\r\nfunction ContainerHomePageText({\r\n\tleft,\r\n\tright,\r\n\txs,\r\n\ttooltip,\r\n}: IContainerHomePageText) {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t(left)}{' '}\r\n\t\t\t\t{tooltip! && tooltip!.value! !== 'TotalBalanceTooltip' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t
{right}
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default ContainerHomePageText","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport React, { useEffect, useState } from 'react'\r\nimport appConfig from '../../../app.config'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\n\r\ninterface Props {\r\n\tbackgroundColor: string\r\n\tid: number\r\n\tonClick: any\r\n\tchildren: any\r\n\tcolor: any\r\n\tcontent: any\r\n\texpanded?: boolean\r\n\tchevron?: boolean\r\n\tclassName?: string\r\n}\r\n\r\nexport function ExpandableComponent({\r\n\tid,\r\n\tchildren,\r\n\tonClick,\r\n\tcolor,\r\n\tcontent,\r\n\tbackgroundColor,\r\n\texpanded = false,\r\n\tchevron = true,\r\n\tclassName = '',\r\n}: Props) {\r\n\tconst [expand, setExpand] = useState(expanded)\r\n\tuseEffect(() => {\r\n\t\tsetExpand(expanded || appConfig.country === 'dk')\r\n\t}, [expanded])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t onClick(setExpand(!expand))}>\r\n\t\t\t\t
\r\n\t\t\t\t\t{content}\r\n\t\t\t\t\t{chevron && appConfig.country !== 'dk' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}","import React, { useState } from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { Alert } from 'react-bootstrap'\r\nimport {\r\n\tgetErrorWithFullMessage,\r\n\tdownloadBlob,\r\n\tcustomerDataApiService,\r\n\tIDocuments,\r\n\tDocumentTypes,\r\n} from 'shared/index'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IDownloadRepaymentButton {\r\n\tstyle: any\r\n\tstyleHover: any\r\n\ticon: any\r\n\trepaymentPlanId?: string\r\n\tdocumentInfo?: IDocuments\r\n}\r\n\r\nfunction DownloadLoanDocumentButton({\r\n\tstyle,\r\n\tstyleHover,\r\n\ticon,\r\n\trepaymentPlanId,\r\n\tdocumentInfo,\r\n}: IDownloadRepaymentButton) {\r\n\tconst [hover, setHover] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [error, setError] = React.useState()\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst options = {\r\n\t\trp: {\r\n\t\t\tbuttonText: () => t('DownloadRepaymentPlan'),\r\n\t\t\tdownload: () => downloadSignedDocument(),\r\n\t\t},\r\n\t\tpn: {\r\n\t\t\tbuttonText: () => t('DownloadSignedPromissoryNote'),\r\n\t\t\tdownload: () => downloadPnDocument(),\r\n\t\t},\r\n\t}\r\n\tconst [opt] = useState(options[repaymentPlanId ? 'rp' : 'pn'])\r\n\r\n\tfunction toggleHover() {\r\n\t\tsetHover(!hover)\r\n\t}\r\n\r\n\tfunction setFullError(e: Error) {\r\n\t\tsetError(getErrorWithFullMessage(e))\r\n\t}\r\n\r\n\tasync function downloadSignedDocument() {\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tif (!repaymentPlanId && repaymentPlanId === '') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tconst blob = await customerDataApiService.getSignedDocument(\r\n\t\t\t\trepaymentPlanId!,\r\n\t\t\t\tt,\r\n\t\t\t)\r\n\t\t\tconst fileName = 'RepaymentPlan-' + repaymentPlanId + '.pdf'\r\n\r\n\t\t\tsetLoading(false)\r\n\t\t\tdownloadBlob(blob, fileName)\r\n\t\t} catch (error: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetFullError(error)\r\n\t\t}\r\n\t}\r\n\r\n\t// This combines dwonloading both signed PN and \"normal\" PN. Should be fixed to be a bit nicer at some point.\r\n\tasync function downloadPnDocument() {\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tif (!documentInfo) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tconst blob = await customerDataApiService.getDownloadDocumentById(\r\n\t\t\t\tdocumentInfo!.documentId.toString(),\r\n\t\t\t)\r\n\r\n\t\t\tlet fileName = documentInfo?.fileName\r\n\r\n\t\t\tif (!fileName) {\r\n\t\t\t\tfileName =\r\n\t\t\t\t\tdocumentInfo.type === DocumentTypes.SignedPromissoryNote\r\n\t\t\t\t\t\t? 'SignedPN-' + documentInfo?.documentId + '.asice'\r\n\t\t\t\t\t\t: 'PN-' + documentInfo?.documentId + '.pdf'\r\n\t\t\t}\r\n\r\n\t\t\tsetLoading(false)\r\n\t\t\tdownloadBlob(blob.blob, fileName)\r\n\t\t} catch (error) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetFullError(new Error(t('DownloadError')))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{error ? (\r\n\t\t\t\t setError(undefined)}>\r\n\t\t\t\t\t{error.message}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t {\r\n\t\t\t\t\t\topt.download()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tstyle={hover ? styleHover : style}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t{opt.buttonText()}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default DownloadLoanDocumentButton\r\n\r\n","// This class defines all headers per country. Follow the same pattern as below if a subheader or country is added/changed\r\n// LoanType is handled and filtered in backend hence not included here.\r\n\r\nexport enum LoanHeaders {\r\n\tLoanNumber = 'Loannumber',\r\n\tBalance = 'Balance',\r\n\tProduct = 'Product',\r\n\tPartner = 'Partner',\r\n\tOpeningDate = 'Openingdate',\r\n}\r\n\r\nexport enum PaymentInfoHeaders {\r\n\tAmount = 'Amount',\r\n\tExpirationDate = 'ExpirationDate',\r\n\tOCR = 'OCRLoans',\r\n\tPlusGiro = 'PlusGiro',\r\n\tReceiver = 'Receiver',\r\n}\r\n\r\nexport enum LoanInfoHeaders {\r\n\tCurrentPrincipal = 'CurrentPrincipal',\r\n\tMonthlyAmount = 'MonthlyAmount',\r\n\tInterest = 'Interest',\r\n\tOriginalAmount = 'OriginalAmount',\r\n\tPpi = 'Ppi',\r\n\tPpiValidFrom = 'PpiValidFrom',\r\n\tIsPaymentHolidayPossible = 'IsPaymentHolidayPossible',\r\n\tTotalBalance = 'TotalBalance',\r\n\tSignedCreditLimit = 'SignedCreditLimit',\r\n\tOverpayment = 'Overpayment',\r\n\tBaseInterestRate = 'BaseInterestRate',\r\n\tMarginInterestRate = 'MarginInterestRate',\r\n}\r\n\r\nexport function getCountryHeaders(country: string) {\r\n\treturn headers[country]\r\n}\r\n\r\nconst headers: {\r\n\t[index: string]: {\r\n\t\tLoanHeaders: string[]\r\n\t\tPaymentInfoHeaders: string[]\r\n\t\tLoanInfoHeaders: string[]\r\n\t}\r\n} = {}\r\n\r\n// FINLAND\r\nheaders['fi'] = {\r\n\tLoanHeaders: [\r\n\t\tLoanHeaders.LoanNumber,\r\n\t\tLoanHeaders.Balance,\r\n\t\tLoanHeaders.Product,\r\n\t\tLoanHeaders.Partner,\r\n\t],\r\n\tPaymentInfoHeaders: [\r\n\t\tPaymentInfoHeaders.Amount,\r\n\t\tPaymentInfoHeaders.ExpirationDate,\r\n\t\tPaymentInfoHeaders.OCR,\r\n\t\tPaymentInfoHeaders.PlusGiro,\r\n\t],\r\n\tLoanInfoHeaders: [\r\n\t\tLoanInfoHeaders.TotalBalance,\r\n\t\tLoanInfoHeaders.MonthlyAmount,\r\n\t\tLoanInfoHeaders.Interest,\r\n\t\tLoanInfoHeaders.OriginalAmount,\r\n\t\tLoanInfoHeaders.Ppi,\r\n\t\tLoanInfoHeaders.IsPaymentHolidayPossible,\r\n\t\tLoanInfoHeaders.BaseInterestRate,\r\n\t\tLoanInfoHeaders.MarginInterestRate,\r\n\t],\r\n}\r\n\r\n// ESTONIA\r\nheaders['ee'] = {\r\n\tLoanHeaders: [\r\n\t\tLoanHeaders.LoanNumber,\r\n\t\tLoanHeaders.Balance,\r\n\t\tLoanHeaders.Product,\r\n\t\tLoanHeaders.Partner,\r\n\t\tLoanHeaders.OpeningDate,\r\n\t],\r\n\tPaymentInfoHeaders: [\r\n\t\tPaymentInfoHeaders.Amount,\r\n\t\tPaymentInfoHeaders.ExpirationDate,\r\n\t\tPaymentInfoHeaders.OCR,\r\n\t\tPaymentInfoHeaders.PlusGiro,\r\n\t\tPaymentInfoHeaders.Receiver,\r\n\t],\r\n\tLoanInfoHeaders: [\r\n\t\tLoanInfoHeaders.SignedCreditLimit,\r\n\t\tLoanInfoHeaders.CurrentPrincipal,\r\n\t\tLoanInfoHeaders.MonthlyAmount,\r\n\t\tLoanInfoHeaders.Overpayment,\r\n\t\tLoanInfoHeaders.Interest,\r\n\t\tLoanInfoHeaders.OriginalAmount,\r\n\t],\r\n}\r\n\r\n// LATVIA\r\nheaders['lv'] = headers['ee']\r\n\r\n// LITHUANIA\r\nheaders['lt'] = {\r\n\tLoanHeaders: [\r\n\t\tLoanHeaders.LoanNumber,\r\n\t\tLoanHeaders.Balance,\r\n\t\tLoanHeaders.Product,\r\n\t\tLoanHeaders.Partner,\r\n\t\tLoanHeaders.OpeningDate,\r\n\t],\r\n\tPaymentInfoHeaders: [\r\n\t\tPaymentInfoHeaders.Amount,\r\n\t\tPaymentInfoHeaders.ExpirationDate,\r\n\t\tPaymentInfoHeaders.OCR,\r\n\t\tPaymentInfoHeaders.PlusGiro,\r\n\t\tPaymentInfoHeaders.Receiver,\r\n\t],\r\n\tLoanInfoHeaders: [\r\n\t\tLoanInfoHeaders.SignedCreditLimit,\r\n\t\tLoanInfoHeaders.MonthlyAmount,\r\n\t\tLoanInfoHeaders.Overpayment,\t\t\r\n\t],\r\n}\r\n\r\n// SWEDEN\r\nheaders['se'] = {\r\n\tLoanHeaders: [LoanHeaders.LoanNumber, LoanHeaders.Balance],\r\n\tPaymentInfoHeaders: [\r\n\t\tPaymentInfoHeaders.Amount,\r\n\t\tPaymentInfoHeaders.ExpirationDate,\r\n\t\tPaymentInfoHeaders.OCR,\r\n\t\tPaymentInfoHeaders.PlusGiro,\r\n\t],\r\n\tLoanInfoHeaders: [\r\n\t\tLoanInfoHeaders.TotalBalance,\r\n\t\tLoanInfoHeaders.MonthlyAmount,\r\n\t\tLoanInfoHeaders.Interest,\r\n\t\tLoanInfoHeaders.Ppi,\r\n\t\tLoanInfoHeaders.IsPaymentHolidayPossible,\r\n\t],\r\n}\r\n\r\n//DENMARK\r\nheaders['dk'] = {\r\n LoanHeaders: [\r\n LoanHeaders.LoanNumber,\r\n LoanHeaders.Balance,\r\n LoanHeaders.Product\r\n ],\r\n PaymentInfoHeaders: [\r\n PaymentInfoHeaders.Amount,\r\n PaymentInfoHeaders.ExpirationDate,\r\n PaymentInfoHeaders.OCR,\r\n PaymentInfoHeaders.PlusGiro,\r\n\t\tPaymentInfoHeaders.Receiver\r\n ],\r\n LoanInfoHeaders: [\r\n LoanInfoHeaders.TotalBalance,\r\n LoanInfoHeaders.MonthlyAmount,\r\n LoanInfoHeaders.Interest,\r\n LoanInfoHeaders.OriginalAmount,\r\n LoanInfoHeaders.Ppi,\r\n LoanInfoHeaders.BaseInterestRate\r\n ],\r\n}\r\n\r\n//NORWAY\r\nheaders['no'] = {\r\n LoanHeaders: [\r\n LoanHeaders.LoanNumber,\r\n LoanHeaders.Balance,\r\n LoanHeaders.Product,\r\n LoanHeaders.Partner,\r\n ],\r\n PaymentInfoHeaders: [\r\n PaymentInfoHeaders.Amount,\r\n PaymentInfoHeaders.ExpirationDate,\r\n PaymentInfoHeaders.OCR,\r\n PaymentInfoHeaders.PlusGiro,\r\n\t\tPaymentInfoHeaders.Receiver\r\n ],\r\n LoanInfoHeaders: [\r\n LoanInfoHeaders.TotalBalance,\r\n LoanInfoHeaders.MonthlyAmount,\r\n LoanInfoHeaders.Interest,\r\n LoanInfoHeaders.OriginalAmount,\r\n LoanInfoHeaders.Ppi,\r\n LoanInfoHeaders.BaseInterestRate,\r\n ],\r\n}","import { ILoan } from '../interfaces/i-api-loan'\r\nimport appConfig from '../../app.config'\r\nimport {\r\n\tLoanType,\r\n\tPaymentReliefTypes,\r\n\tProductType,\r\n\tSortPropType,\r\n} from '../constants/enums/LoanType'\r\nimport { TFunction } from 'i18next'\r\nimport { IDeposit } from '../interfaces/i-api-deposit'\r\nimport {\r\n\tgetCurrency,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n\tstringifyBooleanAsUi,\r\n} from '../../shared/utils/helpers'\r\nimport { IApplicationInformation } from '../../shared/interfaces/i-api-application'\r\nimport {\r\n\tgetCountryHeaders,\r\n\tLoanHeaders,\r\n\tLoanInfoHeaders,\r\n\tPaymentInfoHeaders,\r\n} from '../constants/enums/CountryHeaders'\r\nimport React from 'react'\r\nimport { DocumentTypes } from 'shared'\r\nimport i18n from 'i18n'\r\n\r\nconst headers = getCountryHeaders(appConfig.country)\r\n\r\nexport function isLtMixedPricingDPD(loan: ILoan) {\r\n\treturn (\r\n\t\tappConfig.country === 'lt' &&\r\n\t\tloan?.paymentReliefs?.some(\r\n\t\t\t(x) => x.type === PaymentReliefTypes.MixedPricingDPD\r\n\t\t)\r\n\t)\r\n}\r\n\r\nexport function showBaseAndMarginRates(loan: ILoan) {\r\n\tconst baseAndMarginProducts = [\r\n\t\tProductType.FinCashLoan,\r\n\t\tProductType.FinHalensLoan,\r\n\t\tProductType.FinRefinLoan,\r\n\t\tProductType.FinHalensLoanPpi,\r\n\t\tProductType.FinCashLoanPpi,\r\n\t\tProductType.FinRefinLoanPpi,\r\n\t]\r\n\r\n\tconst isNewProduct = baseAndMarginProducts.includes(loan.product)\r\n\r\n\treturn appConfig.country === 'fi' && isNewProduct\r\n}\r\n\r\nexport function getLoanHeader(loanType: LoanType, t: TFunction, loan?: ILoan) {\r\n\tlet data = [\r\n\t\t{\r\n\t\t\ttext: LoanHeaders.LoanNumber,\r\n\t\t\tshow: headers['LoanHeaders'].includes(LoanHeaders.LoanNumber),\r\n\t\t\tvalue: loan?.agreementNumber\r\n\t\t\t\t? loan?.agreementNumber\r\n\t\t\t\t: t(LoanType[loanType]),\r\n\t\t\tsortStr: SortPropType.agreementNumber,\r\n\t\t\tisMobile: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanHeaders.Balance,\r\n\t\t\tshow: headers['LoanHeaders'].includes(LoanHeaders.Balance),\r\n\t\t\tvalue: isLtMixedPricingDPD(loan!)\r\n\t\t\t\t? ''\r\n\t\t\t\t: stringifyNum(loan?.unpaidInvoices, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t }),\r\n\t\t\tsortStr: SortPropType.unpaidInvoices,\r\n\t\t\tisMobile: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext:\r\n\t\t\t\tloanType === LoanType.Cash\r\n\t\t\t\t\t? LoanHeaders.Product\r\n\t\t\t\t\t: LoanHeaders.Partner,\r\n\t\t\tshow:\r\n\t\t\t\tloanType === LoanType.Cash\r\n\t\t\t\t\t? headers['LoanHeaders'].includes(LoanHeaders.Product)\r\n\t\t\t\t\t: headers['LoanHeaders'].includes(LoanHeaders.Partner),\r\n\t\t\tvalue:\r\n\r\n\t\t\t\tloanType === LoanType.Cash\r\n\t\t\t\t\t? ProductType[loan?.product!]\r\n\t\t\t\t\t: loan?.externalPartnerName,\r\n\t\t\tsortStr: SortPropType.externalPartnerName,\r\n\t\t\tisMobile: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanHeaders.OpeningDate,\r\n\t\t\tshow: headers['LoanHeaders'].includes(LoanHeaders.OpeningDate),\r\n\t\t\tvalue: loan?.latestDisbursementDate\r\n\t\t\t\t? new Date(loan?.latestDisbursementDate)\r\n\t\t\t\t\t\t.toLocaleDateString(getLanguageLocale())\r\n\t\t\t\t\t\t.replaceAll('-', '.')\r\n\t\t\t\t: '',\r\n\t\t\tsortStr: '',\r\n\t\t\tisMobile: false,\r\n\t\t},\r\n\t]\r\n\treturn data\r\n}\r\n\r\nexport function getLoanPaymentInfo(loan: ILoan, t: TFunction) {\r\n\tlet data = [\r\n\t\t{\r\n\t\t\ttext: PaymentInfoHeaders.Amount,\r\n\t\t\tshow:\r\n\t\t\t\theaders['PaymentInfoHeaders'].includes(\r\n\t\t\t\t\tPaymentInfoHeaders.Amount\r\n\t\t\t\t) && !isLtMixedPricingDPD(loan),\r\n\t\t\tvalue: stringifyNum(loan.unpaidInvoices, {\r\n\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\tstyle: 'currency',\r\n\t\t\t}),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: PaymentInfoHeaders.ExpirationDate,\r\n\t\t\tshow:\r\n\t\t\t\theaders['PaymentInfoHeaders'].includes(\r\n\t\t\t\t\tPaymentInfoHeaders.ExpirationDate\r\n\t\t\t\t) && loan.latestDueDate !== null,\r\n\t\t\tvalue: new Date(loan.latestDueDate).toLocaleDateString(\r\n\t\t\t\tgetLanguageLocale()\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: PaymentInfoHeaders.OCR,\r\n\t\t\tshow: headers['PaymentInfoHeaders'].includes(\r\n\t\t\t\tPaymentInfoHeaders.OCR\r\n\t\t\t),\r\n\t\t\tvalue: loan.ocr,\r\n\t\t\ttooltip: ['ee'].includes(appConfig.country)\r\n\t\t\t\t? {\r\n\t\t\t\t\t\tvalue: t('OCRLoansTooltip'),\r\n\t\t\t\t }\r\n\t\t\t\t: undefined,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: PaymentInfoHeaders.PlusGiro,\r\n\t\t\tshow: headers['PaymentInfoHeaders'].includes(\r\n\t\t\t\tPaymentInfoHeaders.PlusGiro\r\n\t\t\t),\r\n\t\t\tvalue: loan.iban,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: PaymentInfoHeaders.Receiver,\r\n\t\t\tshow: headers['PaymentInfoHeaders'].includes(\r\n\t\t\t\tPaymentInfoHeaders.Receiver\r\n\t\t\t),\r\n\t\t\tvalue: t('ReceiverValue') as any,\r\n\t\t},\r\n\t]\r\n\treturn data\r\n}\r\n\r\nexport function getLoanInfo(loan: ILoan, loanType: LoanType, t: TFunction) {\r\n\tlet data = [\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.SignedCreditLimit,\r\n\t\t\tshow:\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(\r\n\t\t\t\t\tLoanInfoHeaders.SignedCreditLimit\r\n\t\t\t\t) &&\r\n\t\t\t\tloan.signedCreditLimit &&\r\n\t\t\t\tloanType === LoanType.CreditLine,\r\n\t\t\tvalue: stringifyNum(loan.signedCreditLimit, {\r\n\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\tstyle: 'currency',\r\n\t\t\t}),\r\n\t\t\ttooltip: i18n.exists('SignedCreditLimitTooltip')\r\n\t\t\t\t? {\r\n\t\t\t\t\t\tvalue: t('SignedCreditLimitTooltip'),\r\n\t\t\t\t }\r\n\t\t\t\t: undefined,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.CurrentPrincipal,\r\n\t\t\tshow:\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(\r\n\t\t\t\t\tLoanInfoHeaders.CurrentPrincipal\r\n\t\t\t\t) && !isLtMixedPricingDPD(loan),\r\n\t\t\tvalue: stringifyNum(loan.currentPrincipal, {\r\n\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\tstyle: 'currency',\r\n\t\t\t}),\r\n\t\t\ttooltip: {\r\n\t\t\t\tvalue: t('CurrentPrincipalTooltip'),\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.TotalBalance,\r\n\t\t\tshow: headers['LoanInfoHeaders'].includes(\r\n\t\t\t\tLoanInfoHeaders.TotalBalance\r\n\t\t\t),\r\n\t\t\tvalue: stringifyNum(loan.totalBalance, {\r\n\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\tstyle: 'currency',\r\n\t\t\t}),\r\n\t\t\ttooltip: {\r\n\t\t\t\tvalue:\r\n\t\t\t\t\tappConfig.country !== 'se'\r\n\t\t\t\t\t\t? t('TotalBalanceTooltip')\r\n\t\t\t\t\t\t: 'TotalBalanceTooltip',\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.MonthlyAmount,\r\n\t\t\tshow:\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(\r\n\t\t\t\t\tLoanInfoHeaders.MonthlyAmount\r\n\t\t\t\t) && !isLtMixedPricingDPD(loan),\r\n\t\t\tvalue: stringifyNum(\r\n\t\t\t\t// ['ee', 'lv', 'lt'].includes(appConfig.country)\r\n\t\t\t\t// \t? loan.monthlyCost\r\n\t\t\t\t// \t: loan.lastIssuedInvoiceAmount,\r\n\t\t\t\tloan.lastIssuedInvoiceAmount,\r\n\t\t\t\t{\r\n\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.Overpayment,\r\n\t\t\tshow:\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(\r\n\t\t\t\t\tLoanInfoHeaders.Overpayment\r\n\t\t\t\t) && !isLtMixedPricingDPD(loan),\r\n\t\t\tvalue: stringifyNum(loan.overPayment, {\r\n\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\tstyle: 'currency',\r\n\t\t\t}),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.BaseInterestRate,\r\n\t\t\tshow:\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(\r\n\t\t\t\t\tLoanInfoHeaders.BaseInterestRate\r\n\t\t\t\t) &&\r\n\t\t\t\t!isLtMixedPricingDPD(loan) &&\r\n\t\t\t\tshowBaseAndMarginRates(loan),\r\n\t\t\tvalue: stringifyNum(loan.baseInterestRate, {\r\n\t\t\t\tstyle: 'percent',\r\n\t\t\t}),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.Interest,\r\n\t\t\tshow:\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(LoanInfoHeaders.Interest) &&\r\n\t\t\t\t!isLtMixedPricingDPD(loan),\r\n\t\t\tvalue: stringifyNum(loan.interestRate, {\r\n\t\t\t\tstyle: 'percent',\r\n\t\t\t}),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.OriginalAmount,\r\n\t\t\tshow: headers['LoanInfoHeaders'].includes(\r\n\t\t\t\tLoanInfoHeaders.OriginalAmount\r\n\t\t\t),\r\n\t\t\tvalue: stringifyNum(loan.originalAmount, {\r\n\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\tstyle: 'currency',\r\n\t\t\t}),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.Ppi,\r\n\t\t\tshow: headers['LoanInfoHeaders'].includes(LoanInfoHeaders.Ppi),\r\n\t\t\tvalue: t(stringifyBooleanAsUi(loan.ppi)),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.PpiValidFrom,\r\n\t\t\tshow:\r\n\t\t\t\tloan.ppi &&\r\n\t\t\t\theaders['LoanInfoHeaders'].includes(LoanInfoHeaders.Ppi),\r\n\t\t\tvalue: new Date(loan.ppiValidFrom).toLocaleDateString(\r\n\t\t\t\tgetLanguageLocale()\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: LoanInfoHeaders.IsPaymentHolidayPossible,\r\n\t\t\tshow: headers['LoanInfoHeaders'].includes(\r\n\t\t\t\tLoanInfoHeaders.IsPaymentHolidayPossible\r\n\t\t\t),\r\n\t\t\tvalue: t(stringifyBooleanAsUi(loan.isPaymentHolidayPossible)),\r\n\t\t},\r\n\t]\r\n\treturn data\r\n}\r\n\r\nexport function downloadRepaymentplan(loan: ILoan) {\r\n\treturn (\r\n\t\tappConfig.country !== 'se' &&\r\n\t\t!isLtMixedPricingDPD(loan) &&\r\n\t\tloan.repaymentPlanID !== '00000000-0000-0000-0000-000000000000'\r\n\t)\r\n}\r\n\r\nexport function downloadSignedPromissoryNote(loan: ILoan) {\r\n\treturn (\r\n\t\t['ee', 'lv'].includes(appConfig.country) &&\r\n\t\t!isLtMixedPricingDPD(loan) &&\r\n\t\tloan.documentsInfo?.some(\r\n\t\t\t(x) => x.type === DocumentTypes.SignedPromissoryNote\r\n\t\t)\r\n\t)\r\n}\r\n\r\nexport function downloadPromissoryNote(loan: ILoan) {\r\n\treturn (\r\n\t\t['lt'].includes(appConfig.country) &&\r\n\t\tloan.documentsInfo?.some((x) => x.type === DocumentTypes.PromissoryNote)\r\n\t)\r\n}\r\n\r\nexport function getDataDeposit(deposit: IDeposit, t: TFunction) {\r\n\tlet data = [\r\n\t\t{\r\n\t\t\ttext: 'Balance2',\r\n\t\t\tvalue: (\r\n\t\t\t\t\r\n\t\t\t\t\t{stringifyNum(deposit.balance, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Term',\r\n\t\t\tvalue: (\r\n\t\t\t\t\r\n\t\t\t\t\t{new Date(deposit.term).toLocaleDateString(\r\n\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'PresetDisbursementAccount',\r\n\t\t\tvalue: (\r\n\t\t\t\t\r\n\t\t\t\t\t{deposit.presetWithdrawalAccountPrefix +\r\n\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\tdeposit.presetWithdrawalAccount}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\ttooltip: {\r\n\t\t\t\tvalue: t('PresetWithdrawalAccountTooltip'),\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'TransactionFee',\r\n\t\t\tvalue: deposit.type.toLowerCase().startsWith('f1') ? (\r\n\t\t\t\t{t('FixedRateTransactionFee')}\r\n\t\t\t) : (\r\n\t\t\t\t{t('DepositPlusTransactionFee')}\r\n\t\t\t),\r\n\t\t\ttooltip: {\r\n\t\t\t\tvalue: deposit.type.toLowerCase().startsWith('f1')\r\n\t\t\t\t\t? t('FixedRateTooltip')\r\n\t\t\t\t\t: t('DepositPlusTooltip'),\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'InterestrateDeposit',\r\n\t\t\tvalue: (\r\n\t\t\t\t\r\n\t\t\t\t\t{stringifyNum(deposit.interestRate, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t]\r\n\r\n\tif(appConfig.country === \"fi\")\r\n\t{\r\n\t\tdata.push(\r\n\t\t\t{\r\n\t\t\t\ttext: 'AccruedInterestDeposit',\r\n\t\t\t\tvalue: (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{stringifyNum(deposit.accruedInterest, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t})\r\n\t}\r\n\r\n\treturn data\r\n}\r\n\r\nexport function getDepositInfo(deposit: IDeposit, t: TFunction) {\r\n\tvar array\r\n\tif (appConfig.country === 'se') {\r\n\t\tarray = [\r\n\t\t\t{\r\n\t\t\t\ttext: 'Bankgiro',\r\n\t\t\t\tvalue: deposit.bankGiroDeposit,\r\n\t\t\t\ttooltip: undefined,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttext: 'PlusGiro',\r\n\t\t\t\tvalue: deposit.plusGiroDeposit,\r\n\t\t\t\ttooltip: undefined,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttext: 'OCRDeposits',\r\n\t\t\t\tvalue: deposit.ocr,\r\n\t\t\t\ttooltip: undefined,\r\n\t\t\t},\r\n\t\t]\r\n\t} else {\r\n\t\tarray = [\r\n\t\t\t{\r\n\t\t\t\ttext: 'Bic',\r\n\t\t\t\tvalue: deposit.bicDeposit,\r\n\t\t\t\ttooltip: undefined,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttext: 'IBAN',\r\n\t\t\t\tvalue: deposit.ibanDeposit,\r\n\t\t\t\ttooltip: undefined,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttext: 'OCRDeposits',\r\n\t\t\t\tvalue: deposit.ocr,\r\n\t\t\t\ttooltip:\r\n\t\t\t\t\tappConfig.country === 'fi'\r\n\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\tvalue: t('FIOCRToolTip'),\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t: undefined,\r\n\t\t\t},\r\n\t\t]\r\n\t}\r\n\r\n\treturn array\r\n}\r\n\r\nexport function getDataApplicationPage(\r\n\tt: TFunction,\r\n\tapplication?: IApplicationInformation\r\n) {\r\n\tlet applicationArray\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'dk':\r\n\t\t\tapplicationArray = [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'LoanTerm',\r\n\t\t\t\t\tvalue: `${application?.approvedRepaymentPeriod} ${t(\r\n\t\t\t\t\t\t'Months'\r\n\t\t\t\t\t)}`,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'MonthlyFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.monthlyFee!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'OpeningFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.openingFee!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'InterestFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.interestRate, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'APR',\r\n\t\t\t\t\tvalue: stringifyNum(application?.apr, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'TotalAmountRepaid',\r\n\t\t\t\t\tvalue: stringifyNum(application?.totalAmountToBeRepaid!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t\tbreak\r\n\t\tcase 'fi':\r\n\t\t\tapplicationArray = [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'LoanTerm',\r\n\t\t\t\t\tvalue: `${application?.approvedRepaymentPeriod} ${t(\r\n\t\t\t\t\t\t'Months'\r\n\t\t\t\t\t)}`,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'MonthlyFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.monthlyFee!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'OpeningFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.openingFee!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'InterestFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.interestRate, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\ttext: t('EuriborTooltip'),\r\n\t\t\t\t\t\tvalue: `(${stringifyNum(application?.euribor, {\r\n\t\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t\t})})`,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'APR',\r\n\t\t\t\t\tvalue: stringifyNum(application?.apr, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'TotalAmountRepaid',\r\n\t\t\t\t\tvalue: stringifyNum(application?.totalAmountToBeRepaid!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\tapplicationArray = [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'LoanTerm',\r\n\t\t\t\t\tvalue: `${application?.approvedRepaymentPeriod} ${t(\r\n\t\t\t\t\t\t'Months'\r\n\t\t\t\t\t)}`,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'MonthlyFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.monthlyFee!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'OpeningFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.openingFee!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'InterestFee',\r\n\t\t\t\t\tvalue: stringifyNum(application?.interestRate, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'APR',\r\n\t\t\t\t\tvalue: stringifyNum(application?.apr, {\r\n\t\t\t\t\t\tstyle: 'percent',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'TotalAmountRepaid',\r\n\t\t\t\t\tvalue: stringifyNum(application?.totalAmountToBeRepaid!, {\r\n\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t}\r\n\r\n\treturn applicationArray\r\n}\r\n","// Should comply with app config settings in azure rg\r\nexport enum Toggle {\r\n\tkyc = 'toggling:kyc',\r\n\tdeposits = 'toggling:deposits',\r\n\tloans = 'toggling:loans',\r\n}\r\n","import { ICustomer } from 'original/interfaces/i-api-loan'\r\nimport React, {\r\n\tContext,\r\n\tPropsWithChildren,\r\n\tReactElement,\r\n\tReactNode,\r\n\tcreateContext,\r\n\tuseEffect,\r\n\tuseState,\r\n} from 'react'\r\nimport { getCustomerInfoCookieName } from 'shared/index'\r\n\r\n\r\ninterface IMyPagesCustomerInfoContextProps {\r\n\tcustomer: ICustomer | undefined\r\n\trefreshCustomerContext: any\r\n}\r\n\r\nconst MyPagesCustomerInfoContext: Context =\r\n\tcreateContext({\r\n\t\tcustomer: undefined,\r\n\t\trefreshCustomerContext: undefined\r\n\t})\r\n\r\nexport function MyPagesCustomerInfoContextProvider({\r\n\tchildren,\r\n}: PropsWithChildren): ReactElement {\r\n\t//eslint-disable-next-line\r\n\tconst [customer, setCustomer] = useState<\r\n\tICustomer | undefined\r\n\t>(undefined)\r\n\r\n\tfunction refreshCustomerContext(){\r\n\t\tconst customerData = sessionStorage.getItem(getCustomerInfoCookieName())\r\n\t\tif(customerData){\r\n\t\t\tconst personal: ICustomer = JSON.parse(customerData.toString())\r\n\t\t\tsetCustomer(personal)\r\n\t\t}\r\n\t\telse{\r\n\t\t\tsetCustomer(undefined)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\trefreshCustomerContext()\r\n\t}, [])\r\n\t\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MyPagesCustomerInfoContext","import React, { useState, useEffect, useContext } from 'react'\r\nimport ContainerHomePageText from '../../components/containerHomePageText/ContainerHomePageText'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ILoan, IFilteredLoans } from '../../interfaces/i-api-loan'\r\nimport { LoanType, SortPropType } from '../../constants/enums/LoanType'\r\nimport { ExpandableComponent } from '../../components/expandable/Expandable'\r\nimport SortingArrows from '../../../shared/components/SortingArrows'\r\nimport DownloadLoanDocumentButton from '../../components/downloadLoanDocumentButton/DownloadLoanDocumentButton'\r\nimport {\r\n\tgetLoanInfo,\r\n\tgetLoanHeader,\r\n\tgetLoanPaymentInfo,\r\n\tdownloadRepaymentplan,\r\n\tdownloadSignedPromissoryNote,\r\n\tdownloadPromissoryNote,\r\n} from '../../utils/countryDataHelper'\r\nimport appConfig from '../../../app.config'\r\nimport { CountryCode } from 'shared/constants/countryTypes'\r\nimport { CookieType } from 'shared/constants/cookieTypes'\r\nimport customerDataApiService from 'shared/services/customerDataApiService'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { Alert } from 'react-bootstrap'\r\nimport { getColor } from '../../utils/helpers'\r\nimport {\r\n\tgetErrorWithFullMessage,\r\n\tcheckIsMobile,\r\n\tlogError,\r\n\tDocumentTypes,\r\n} from 'shared/index'\r\nimport { Toggle } from '../../constants/enums/ToggleTypes'\r\nimport AppConfigContext from 'shared/contexts/azureAppConfig'\r\nimport MyPagesCustomerInfoContext from 'original/contexts/MyPagesCustomerInfoContext'\r\n\r\ninterface IProps {\r\n\tonChangeValues: any\r\n}\r\n\r\nfunction Loans({ onChangeValues }: IProps) {\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { t } = useTranslation()\r\n\tconst [data, setData] = useState([])\r\n\tconst [show, setShow] = useState(true)\r\n\tconst [error, setError] = useState()\r\n\tconst { toggle } = useContext(AppConfigContext)\r\n\tconst { refreshCustomerContext } = useContext(MyPagesCustomerInfoContext)\r\n\t\r\n\tconst getHeader = (props: any, loanType: LoanType) => {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{getLoanHeader(loanType, t, props).map(\r\n\t\t\t\t\t(item: any, key: any) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\titem.show &&\r\n\t\t\t\t\t\t\t(isMobile ? (\r\n\t\t\t\t\t\t\t\titem.isMobile && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.value}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.value}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tconst hasData = () => Array.isArray(data) && data.length > 0\r\n\r\n\tconst isLoading = () => !hasData() && show\r\n\r\n\tfunction sort(type: LoanType, sortOn: SortPropType, order: 'asc' | 'desc') {\r\n\t\tlet index = data.findIndex((i) => i.loanType === type)\r\n\t\tlet dataX = [...data][index].loans\r\n\t\tlet sorted: ILoan[] = []\r\n\t\tif (order === 'asc') {\r\n\t\t\tswitch (sortOn) {\r\n\t\t\t\tcase 'agreementNumber':\r\n\t\t\t\tcase 'unpaidInvoices':\r\n\t\t\t\t\tsorted = dataX.sort((a, b) => a[sortOn] - b[sortOn])\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'externalPartnerName':\r\n\t\t\t\t\tsorted = dataX.sort((a, b) =>\r\n\t\t\t\t\t\ta[sortOn]\r\n\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t.toLowerCase()\r\n\t\t\t\t\t\t\t.localeCompare(b[sortOn].toString().toLowerCase())\r\n\t\t\t\t\t)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tsorted = dataX.sort((a, b) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t+new Date(a.latestDisbursementDate) -\r\n\t\t\t\t\t\t\t+new Date(b.latestDisbursementDate)\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else if (order === 'desc') {\r\n\t\t\tswitch (sortOn) {\r\n\t\t\t\tcase 'agreementNumber':\r\n\t\t\t\tcase 'unpaidInvoices':\r\n\t\t\t\t\tsorted = dataX.sort((a, b) => b[sortOn] - a[sortOn])\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'externalPartnerName':\r\n\t\t\t\t\tsorted = dataX.sort((a, b) =>\r\n\t\t\t\t\t\tb[sortOn]\r\n\t\t\t\t\t\t\t.toLowerCase()\r\n\t\t\t\t\t\t\t.localeCompare(a[sortOn].toLowerCase())\r\n\t\t\t\t\t)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tsorted = dataX.sort((a, b) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t+new Date(b.latestDisbursementDate) -\r\n\t\t\t\t\t\t\t+new Date(a.latestDisbursementDate)\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet items = [...data]\r\n\t\tlet item = {\r\n\t\t\t...items[index],\r\n\t\t\tloans: sorted,\r\n\t\t}\r\n\t\titems[index] = item\r\n\t\tsetData(items)\r\n\t}\r\n\r\n\tfunction getChildData(loan: ILoan, loanType: LoanType, color: string) {\r\n\t\tconst buttonStyle = {\r\n\t\t\tfontSize: '1.6rem',\r\n\t\t\tbackgroundColor: '#de996f',\r\n\t\t\tcolor: '#f6f5ee',\r\n\t\t\tborderRadius: '0.8rem',\r\n\t\t\tfontWeight: '600',\r\n\t\t\tborder: 'none',\r\n\t\t\toutline: 'none',\r\n\t\t\tpadding: '1rem 2.4rem',\r\n\t\t\twidth: '100%',\r\n\t\t}\r\n\r\n\t\tconst styleHover = {\r\n\t\t\tfontSize: '1.6rem',\r\n\t\t\tbackgroundColor: '#eea87e',\r\n\t\t\tcolor: '#f6f5ee',\r\n\t\t\tborderRadius: '0.8rem',\r\n\t\t\tfontWeight: '600',\r\n\t\t\tborder: 'none',\r\n\t\t\toutline: 'none',\r\n\t\t\tpadding: '1rem 2.4rem',\r\n\t\t\twidth: '100%',\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('PaymentInformation')}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t{getLoanPaymentInfo(loan, t).map((item: any, key: any) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\titem.show && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\t\t{loan &&\r\n\t\t\t\t\t\t\tloan.unpaidInvoiceLink && (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('PayInvoice')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t{loan.dpd > 0 && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t('PastDueDate', { dpd: loan.dpd })}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('LoanInformation')}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t{getLoanInfo(loan, loanType, t).map(\r\n\t\t\t\t\t\t(item: any, key: any) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\titem.show && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{(downloadRepaymentplan(loan) ||\r\n\t\t\t\t\t\tdownloadSignedPromissoryNote(loan) ||\r\n\t\t\t\t\t\tdownloadPromissoryNote(loan)) && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{downloadRepaymentplan(loan) && (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{downloadSignedPromissoryNote(loan) && (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.type ===\r\n\t\t\t\t\t\t\t\t\t\t\t\tDocumentTypes.SignedPromissoryNote\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{downloadPromissoryNote(loan) && (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.type ===\r\n\t\t\t\t\t\t\t\t\t\t\t\tDocumentTypes.PromissoryNote\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tfunction getChildDataWithProducts(\r\n\t\tloans: ILoan[],\r\n\t\tcolor: string,\r\n\t\tloanType: LoanType\r\n\t) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{getLoanHeader(loanType, t).map(\r\n\t\t\t\t\t\t\t(item: any, key: any) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\titem.show &&\r\n\t\t\t\t\t\t\t\t\t(isMobile ? (\r\n\t\t\t\t\t\t\t\t\t\titem.isMobile && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(item.text)}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t(item.text)}\r\n\t\t\t\t\t\t\t\t\t\t\t{loanType !== LoanType.Cash && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsort(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloanType,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.sortStr,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'asc'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsortDesc={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsort(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloanType,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.sortStr,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'desc'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{loans.map((loan, key) => (\r\n\t\t\t\t\t {}}\r\n\t\t\t\t\t\tcontent={getHeader(loan, loanType)}\r\n\t\t\t\t\t\tbackgroundColor={'#f9f8f3'} // Cream light\r\n\t\t\t\t\t\tcolor={color}\r\n\t\t\t\t\t/>\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tasync function getLoans() {\r\n\t\tlet country = appConfig.country as keyof typeof CountryCode\r\n\t\tlet data = sessionStorage.getItem(CookieType.LoanInfo)\r\n\t\tif (data) {\r\n\t\t\tsetData(JSON.parse(data))\r\n\t\t\trefreshCustomerContext()\r\n\t\t\tif (data === '[]') setShow(false)\r\n\t\t} else {\r\n\t\t\ttry {\r\n\t\t\t\tlet data = await customerDataApiService.getLoanData(\r\n\t\t\t\t\tCountryCode[country],\r\n\t\t\t\t\tt\r\n\t\t\t\t)\r\n\t\t\t\tsetData(data as IFilteredLoans[])\r\n\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\tCookieType.LoanInfo,\r\n\t\t\t\t\tJSON.stringify(data)\r\n\t\t\t\t)\r\n\t\t\t\tif (data?.length === 0) setShow(false)\r\n\t\t\t\trefreshCustomerContext()\r\n\t\t\t} catch (error) {\r\n\t\t\t\tlogError(error as Error)\r\n\t\t\t\tsetError(getErrorWithFullMessage(error as Error))\r\n\t\t\t\tsetShow(false)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\ttoggle.includes(Toggle.loans) ? getLoans() : setShow(false)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [])\r\n\r\n\tuseEffect(() => {}, [data])\r\n\r\n\tuseEffect(() => {\r\n\t\tonChangeValues(show, error)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [show, error])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{hasData() || isLoading() ? (\r\n\t\t\t\t (\r\n\t\t\t\t\t\t\t {}}\r\n\t\t\t\t\t\t\t\tbackgroundColor={'#efeee3'} // Cream rich\r\n\t\t\t\t\t\t\t\tcolor={getColor(loanType, data)}\r\n\t\t\t\t\t\t\t\tcontent={getHeader(\r\n\t\t\t\t\t\t\t\t\tLoanType[loanType],\r\n\t\t\t\t\t\t\t\t\tloanType\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t)}\r\n\t\t\t\t\tonClick={() => {}}\r\n\t\t\t\t\tbackgroundColor={'#efeee3'} // Cream rich\r\n\t\t\t\t\tcolor={'#c87d5a'} // Thick border left color: Bronze red\r\n\t\t\t\t\tcontent={\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{t('Loans')}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{isLoading() && (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\texpanded={hasData()}\r\n\t\t\t\t\tchevron={!isLoading()}\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\terror && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{error?.message}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Loans\r\n","import React from 'react'\r\nimport { stringifyNum, getLanguageLocale } from 'shared/index'\r\nimport { ITransaction } from '../../interfaces/i-api-deposit'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface Props {\r\n\tid: number\r\n\titem: ITransaction\r\n}\r\n\r\nexport function Transaction({ id, item }: Props) {\r\n\tconst { t } = useTranslation()\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{new Date(item.valueDate).toLocaleDateString(\r\n\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t{t(item.paymentTypeText)}\r\n\t\t\t\r\n\t\t\t\t{stringifyNum(item.amount)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}","import React, { FunctionComponent, useEffect, useState } from 'react'\r\nimport { DateTime, Duration } from 'luxon'\r\nimport { getLanguageLocale } from './helpers'\r\n\r\n/**\r\n * We are using Luxon for dealing with dates and times.\r\n * It works as a wrapper for Intl internationalization library\r\n * For more information https://moment.github.io/luxon/index.html#/\r\n * For set of Presets eg. DATE_SHORT etc see https://moment.github.io/luxon/index.html#/formatting?id=presets\r\n * or https://moment.github.io/luxon/api-docs/index.html\r\n */\r\n\r\n/**\r\n * Translate date in given format to iso date for system locale\r\n * @param date string to parse\r\n * @param expectedFormat Expected format of the string to parse\r\n * @returns\r\n */\r\nexport const formatFromToIsoDate = (date: string, expectedFormat: string) => {\r\n\tlet dt = DateTime.fromFormat(date, expectedFormat, {\r\n\t\tlocale: getLanguageLocale(),\r\n\t})\r\n\treturn dt.isValid ? dt.toISODate() : ''\r\n}\r\n\r\n/**\r\n * Format date string to locale\r\n * @param date string to format\r\n * @returns\r\n */\r\nexport const formatToStringLocale = (date: string) => {\r\n\tlet dt = DateTime.fromISO(date).setLocale(getLanguageLocale())\r\n\treturn dt.isValid\r\n\t\t? dt.toLocaleString({\r\n\t\t\t\tday: '2-digit',\r\n\t\t\t\tmonth: '2-digit',\r\n\t\t\t\tyear: 'numeric',\r\n\t\t })\r\n\t\t: ''\r\n}\r\n\r\n/**\r\n * Countdown timer\r\n * @param isTimedOut true when reaches zero\r\n * @param format format of counter value ex. (\"dd 'days' mm:ss 'minutes'\"\")\r\n * @param time (Default value 10 minutes)\r\n * @param time.days\r\n * @param time.hours\r\n * @param time.minutes\r\n * @param time.seconds\r\n * @param time.expiryDate will ignore all other time properties if provided\r\n * @returns Countdown element\r\n */\r\nexport const CountdownTimer: FunctionComponent = ({\r\n\tisTimedOut,\r\n\tformat,\r\n\ttime = { minutes: 10 },\r\n}) => {\r\n\tlet duration: Duration\r\n\r\n\tif (time.expiryDate) {\r\n\t\tconst dur = new Date(time.expiryDate).getTime() - new Date().getTime()\r\n\t\tduration = Duration.fromMillis(dur)\r\n\t} else {\r\n\t\tduration = Duration.fromObject(time)\r\n\t}\r\n\r\n\tconst [difference, setDifference] = useState(\r\n\t\tDateTime.now().plus(duration).diff(DateTime.now())\r\n\t)\r\n\r\n\tconst timeIsUp = difference.get('seconds') < -duration.as('seconds')\r\n\r\n\tuseEffect(() => {\r\n\t\tlet id = setInterval(\r\n\t\t\t() => setDifference((state) => state.minus({ second: 1 })),\r\n\t\t\t1000\r\n\t\t)\r\n\t\treturn () => clearInterval(id)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (timeIsUp) isTimedOut(true)\r\n\t})\r\n\r\n\treturn <>{difference.toFormat(format)}\r\n}\r\n\r\n/**\r\n * Add leading zero to single digits in dates\r\n * @param date string to format\r\n * @returns\r\n */\r\nexport const addLeadingZeroToDates = (date: string) =>\r\n\tdate.replace(/(^|\\D)(\\d)(?!\\d)/g, '$10$2')\r\n\r\n//Interfaces\r\n\r\n/**\r\n * ICountdownTimer interface\r\n */\r\ninterface ICountdownTimer {\r\n\tisTimedOut: Function\r\n\tformat: string\r\n\ttime?: {\r\n\t\tyear?: number\r\n\t\tmonth?: number\r\n\t\tdays?: number\r\n\t\thours?: number\r\n\t\tminutes?: number\r\n\t\tseconds?: number\r\n\t\texpiryDate?: Date\r\n\t}\r\n}\r\n","import Axios from 'axios'\r\nimport { waitForLanguage } from '../../shared'\r\n\r\nconst axios = Axios.create({})\r\n\r\naxios.interceptors.request.use(async (config) => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\treturn config\r\n})\r\n\r\naxios.defaults.headers.post['Content-Type'] = 'application/json'\r\naxios.defaults.headers.post['Access-Control-Allow-Origin'] = '*'\r\naxios.defaults.headers.post['Access-Control-Allow-Headers'] =\r\n\t'Origin, X-Requested-With, Content-Type, Accept'\r\n\r\nexport default axios\r\n","import Axios from '../axios'\r\nimport { ITransaction } from '../../interfaces/i-api-creaditCard'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared'\r\nimport appConfig from '../../../app.config';\r\n\r\nasync function getDepositTransactionsService(accountAgreementId: string, accountTransactionDate: string) {\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/deposit/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as ITransaction[]\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n return [] as ITransaction[]\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as ITransaction[]\r\n}\r\nexport default getDepositTransactionsService;","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared';\r\nimport { ITransaction } from '../../interfaces/i-api-creaditCard'\r\n\r\nasync function getTransactionsService(accountAgreementId: string, accountTransactionDate: string) {\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}&includeBlockedAuthorizations=true`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as ITransaction[]\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n return [] as ITransaction[]\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as ITransaction[]\r\n}\r\n\r\nexport default getTransactionsService;","import React, {\r\n\tcreateContext,\r\n\tPropsWithChildren,\r\n\tReactElement,\r\n\tReactNode,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n\tuseRef,\r\n} from 'react'\r\nimport SspContext, { deriveisCard } from './SspContext'\r\nimport { ITransaction } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport getDepositTransactionsService from 'selfServicePortal/services/DepositServices/getDepositTransactionsService'\r\nimport getTransactionsService from 'selfServicePortal/services/CreditCardServices/getTransactionsService'\r\n\r\ninterface ITransactionsContext {\r\n\ttransactions: ITransaction[] | undefined\r\n\tloadingTransactions: boolean\r\n\terrorTransactions: boolean\r\n}\r\n\r\nconst defaultTransactionsContext: ITransactionsContext = {\r\n\ttransactions: undefined,\r\n\tloadingTransactions: true,\r\n\terrorTransactions: false,\r\n}\r\nconst TransactionsContext = createContext(\r\n\tdefaultTransactionsContext,\r\n)\r\n\r\nexport function TransactionsContextProvider({\r\n\tchildren,\r\n}: PropsWithChildren): ReactElement {\r\n\tconst { overviewData, loading, isCard } = useContext(SspContext)\r\n\tconst [state, setState] = useState(\r\n\t\tdefaultTransactionsContext,\r\n\t)\r\n\tconst ref = useRef()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fetchTransactions = async () => {\r\n\t\t\tif (loading || !overviewData || !isCard) {\r\n\t\t\t\tsetState({\r\n\t\t\t\t\ttransactions: undefined,\r\n\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\terrorTransactions: true,\r\n\t\t\t\t})\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (ref.current !== overviewData.accountNumber) {\r\n\t\t\t\t\tif (deriveisCard(overviewData)) {\r\n\t\t\t\t\t\tconst transactions = await getTransactionsService(\r\n\t\t\t\t\t\t\toverviewData.accountAgreementId,\r\n\t\t\t\t\t\t\toverviewData.transactionDate,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsetState({\r\n\t\t\t\t\t\t\ttransactions,\r\n\t\t\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\t\t\terrorTransactions: false,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst transactions =\r\n\t\t\t\t\t\t\tawait getDepositTransactionsService(\r\n\t\t\t\t\t\t\t\toverviewData.accountAgreementId,\r\n\t\t\t\t\t\t\t\toverviewData.accountAgreementOpenDate,\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsetState({\r\n\t\t\t\t\t\t\ttransactions,\r\n\t\t\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\t\t\terrorTransactions: false,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t\tsetState({\r\n\t\t\t\t\ttransactions: undefined,\r\n\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\terrorTransactions: true,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfetchTransactions()\r\n\t\tref.current = overviewData?.accountNumber\r\n\t}, [overviewData, loading, isCard])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default TransactionsContext\r\n","import appConfig from 'app.config'\r\nimport { userManager } from 'auth/services/auth.service'\r\nimport React, {\r\n\tContext,\r\n\tcreateContext,\r\n\tPropsWithChildren,\r\n\tReactElement,\r\n\tReactNode,\r\n\tuseCallback,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n} from 'react'\r\nimport { useLocation } from 'react-router'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tIMenuDropdownItem,\r\n\tmenuItems,\r\n} from 'selfServicePortal/constants/menuItems'\r\nimport {\r\n\tICreditBalance,\r\n\tIDepositData,\r\n} from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport {\r\n\tICustomer,\r\n\tIMarketing,\r\n} from 'selfServicePortal/interfaces/i-api-customer'\r\nimport getCreditCardDataService from '../services/CreditCardServices/getCreditCardDataService'\r\nimport getCustomerService from '../services/CustomerServices/getCustomerService'\r\nimport getDepositDataService from '../services/DepositServices/getDepositDataService'\r\nimport getAgreementHistoryService from '../services/CreditCardServices/getAgreementHistoryService'\r\nimport { AuthContext, getErrorWithFullMessage } from 'shared'\r\nimport {\r\n\tISddMandate,\r\n\tISddEligible,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport { countryValues } from 'selfServicePortal/constants/countryValues'\r\nimport {\r\n\tCountryValuesProductType,\r\n\tICountryValues,\r\n} from 'shared/constants/countryValueTypes'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { useInformationModalService } from 'selfServicePortal/hooks/useInformationModalService'\r\nimport { IInformationModalProps } from 'shared/interfaces/i-api-informationModal'\r\n\r\ninterface ISspContext {\r\n\tisCard:\r\n\t\t| {\r\n\t\t\t\tisCard: boolean | undefined\r\n\t\t\t\tcolor?: string | undefined\r\n\t\t\t\tproduct?: string | undefined\r\n\t\t }\r\n\t\t| undefined\r\n\tisDepositFixed:\r\n\t\t| {\r\n\t\t\t\tisCard: boolean | undefined\r\n\t\t\t\tisDepositFixed: boolean | undefined\r\n\t\t\t\tcolor?: string | undefined\r\n\t\t\t\tproduct?: string | undefined\r\n\t\t }\r\n\t\t| undefined\r\n\toverviewData: ICreditBalance | IDepositData | undefined\r\n\toverviewDataList: (ICreditBalance | IDepositData)[] | undefined\r\n\tcustomerData: ICustomer | undefined\r\n\tcomponent: IMenuDropdownItem | undefined\r\n\tloading: boolean\r\n\tsuccess: any\r\n\terror: any\r\n\tisMarketing: IMarketing | undefined\r\n\tisSddEligible: ISddEligible | undefined\r\n\tsddRefreshData: boolean | undefined\r\n\tsddMandate: ISddMandate | undefined\r\n\tstaticCountryValues: ICountryValues | undefined\r\n\tproductType: ProductType | string\r\n\thasCustomerSeenInformationModal: boolean\r\n\tinformationModalData: IInformationModalProps[] | undefined\r\n\thadleCloseInformationModal: Function\r\n\tsetComponent: Function\r\n\tsetSuccess: Function\r\n\tchangeComponent: Function\r\n\tsetOverviewData: Function\r\n\ttypeOfAccount: Function\r\n\tsetIsCard: Function\r\n\tsetIsDepositFixed: Function\r\n\tsetIsMarketing: Function\r\n\tsetIsSddEligible: Function\r\n\tsetSddMandate: Function\r\n\tsetSddRefreshData: Function\r\n}\r\n\r\nconst initialSspContext: ISspContext = {\r\n\tisCard: undefined,\r\n\tisDepositFixed: undefined,\r\n\toverviewData: undefined,\r\n\toverviewDataList: undefined,\r\n\tcustomerData: undefined,\r\n\tcomponent: undefined,\r\n\tloading: false,\r\n\tsuccess: {\r\n\t\tcontactForm: false,\r\n\t},\r\n\terror: {},\r\n\tisMarketing: undefined,\r\n\tsddMandate: undefined,\r\n\tisSddEligible: undefined,\r\n\tsddRefreshData: undefined,\r\n\tstaticCountryValues: undefined,\r\n\tproductType: '',\r\n\thasCustomerSeenInformationModal: false,\r\n\tinformationModalData: [],\r\n\thadleCloseInformationModal: () => {},\r\n\tsetComponent: () => {},\r\n\tsetSuccess: () => {},\r\n\tchangeComponent: () => {},\r\n\tsetOverviewData: () => {},\r\n\ttypeOfAccount: () => {},\r\n\tsetIsCard: () => {},\r\n\tsetIsDepositFixed: () => {},\r\n\tsetIsMarketing: () => {},\r\n\tsetIsSddEligible: () => {},\r\n\tsetSddMandate: () => {},\r\n\tsetSddRefreshData: () => {},\r\n}\r\n\r\nexport function deriveisCard(\r\n\toverviewData: ICreditBalance | IDepositData,\r\n): overviewData is ICreditBalance {\r\n\treturn 'creditLimit' in overviewData\r\n}\r\n\r\nconst SspContext: Context =\r\n\tcreateContext(initialSspContext)\r\n\r\nexport function SspContextProvider({\r\n\tchildren,\r\n}: PropsWithChildren): ReactElement {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\tconst { t } = useTranslation()\r\n\tconst location = useLocation()\r\n\r\n\tconst [component, setComponent] = useState(\r\n\t\tmenuItems[0].items[0],\r\n\t)\r\n\tconst [customerData, setCustomerData] = useState()\r\n\tconst [isCard, setIsCard] = useState<{ isCard: boolean; color?: string }>()\r\n\tconst [\r\n\t\thasCustomerSeenInformationModal,\r\n\t\tsetHasCustomerSeenInformationModal,\r\n\t] = useState(false)\r\n\tconst [isDepositFixed, setIsDepositFixed] = useState<{\r\n\t\tisCard: boolean\r\n\t\tisDepositFixed: boolean\r\n\t\tcolor?: string\r\n\t\tproduct?: string\r\n\t}>()\r\n\tconst [overviewData, setOverviewData] = useState<\r\n\t\tICreditBalance | IDepositData\r\n\t>()\r\n\tconst [overviewDataList, setOverviewDataList] =\r\n\t\tuseState<(ICreditBalance | IDepositData)[]>()\r\n\tconst [success, setSuccess] = useState({\r\n\t\tsetPassword: false,\r\n\t\tcontactForm: false,\r\n\t})\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\tconst [isMarketing, setIsMarketing] = useState()\r\n\tconst [isSddEligible, setIsSddEligible] = useState({\r\n\t\teligible: false,\r\n\t\tactiveMandate: null,\r\n\t})\r\n\tconst [sddMandate, setSddMandate] = useState()\r\n\tconst [sddRefreshData, setSddRefreshData] = useState(false)\r\n\tconst [staticCountryValues, setStaticCountryValues] =\r\n\t\tuseState()\r\n\tconst [productType, setProductType] = useState('')\r\n\r\n\tconst { data: informationModalData } = useInformationModalService(t)\r\n\r\n\tconst hadleCloseInformationModal = () =>\r\n\t\tsetHasCustomerSeenInformationModal(true)\r\n\r\n\tconst getCreditCardData = useCallback(\r\n\t\tasync (userRef: string) => {\r\n\t\t\ttry {\r\n\t\t\t\tconst overview = await getCreditCardDataService(userRef, t)\r\n\t\t\t\tsetOverviewData(overview as ICreditBalance)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t} finally {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst getDepositData = useCallback(\r\n\t\tasync (userRef: string) => {\r\n\t\t\ttry {\r\n\t\t\t\tsetLoading(true)\r\n\t\t\t\tconst depositData = await getDepositDataService(userRef, t)\r\n\t\t\t\tsetOverviewData(depositData as IDepositData)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t} finally {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst getFullAgreementHistory = useCallback(async () => {\r\n\t\ttry {\r\n\t\t\tconst history = await getAgreementHistoryService(t)\r\n\t\t\tconst all = [\r\n\t\t\t\t...history?.agreements?.creditCardAccounts!.sort((a, b) =>\r\n\t\t\t\t\ta.creditCardNo > b.creditCardNo ? -1 : 1,\r\n\t\t\t\t),\r\n\t\t\t\t...history?.agreements?.depositAccounts!,\r\n\t\t\t].filter((product) => {\r\n\t\t\t\tif (!product.productId.includes('VISA')) {\r\n\t\t\t\t\tif (product.hasOwnProperty('cardAgreementId')) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tproduct as ICreditBalance\r\n\t\t\t\t\t\t).creditCardNo.startsWith('5')\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn product\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined\r\n\t\t\t})\r\n\r\n\t\t\tsetOverviewDataList(all)\r\n\t\t\tsetCustomerData(history?.customer as ICustomer)\r\n\t\t\tsetOverviewData(all[0])\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(error)\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [t])\r\n\r\n\tconst typeOfAccount = (productId: string) => {\r\n\t\tswitch (productId) {\r\n\t\t\tcase 'BBF.VISA_VSDC_CL.CRDACC_P1':\r\n\t\t\tcase 'BBF.VISA_VSDC_CL.CRDACC_P2':\r\n\t\t\tcase 'BBF.VISA_VSDC_CL.CRDACC_P3':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: true,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: 'blue',\r\n\t\t\t\t\tproduct: 'Credits Blue',\r\n\t\t\t\t}\r\n\t\t\tcase 'BBF.VISA_VSDC_CG.CRDACC_P6':\r\n\t\t\tcase 'BBF.VISA_VSDC_CG.CRDACC_P7':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: true,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: 'gold-no',\r\n\t\t\t\t\tproduct: 'Credits Gold',\r\n\t\t\t\t}\r\n\t\t\tcase 'BBF.MC.CRDACC_P1':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: true,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: 'gold-mc-no',\r\n\t\t\t\t\tproduct: 'TF Bank Mastercard',\r\n\t\t\t\t}\r\n\t\t\tcase 'tf_deposit.DEPOSIT.END':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: false,\r\n\t\t\t\t\tisDepositFixed: true,\r\n\t\t\t\t\tcolor: undefined,\r\n\t\t\t\t\tproduct: 'Festgeldkonto',\r\n\t\t\t\t}\r\n\t\t\tcase 'BBF.DEPOSIT.END':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: false,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: undefined,\r\n\t\t\t\t\tproduct: 'Fastrentekonto',\r\n\t\t\t\t}\r\n\t\t\tcase 'TF_DEU_DEPOSIT.DEPOSIT.END':\r\n\t\t\t\treturn { isCard: false, color: undefined, product: 'Festgeld' }\r\n\t\t\tcase 'BBF.DEPOSIT.OPEN':\r\n\t\t\tcase 'tf_deposit.DEPOSIT.OPEN':\r\n\t\t\tdefault:\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: false,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: undefined,\r\n\t\t\t\t\tproduct: 'Sparekonto',\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst updateProductType = (isCard: boolean) => {\r\n\t\tsetProductType(\r\n\t\t\tisCard\r\n\t\t\t\t? CountryValuesProductType.Card\r\n\t\t\t\t: overviewData?.productId === 'TF_DEU_DEPOSIT.DEPOSIT.END'\r\n\t\t\t\t\t? CountryValuesProductType.Deposit_Fixed\r\n\t\t\t\t\t: CountryValuesProductType.Deposit,\r\n\t\t)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isCard?.isCard !== undefined) {\r\n\t\t\tupdateProductType(isCard.isCard)\r\n\t\t}\r\n\t}, [isCard?.isCard]) //eslint-disable-line\r\n\r\n\tuseEffect(() => {\r\n\t\tif (overviewData) {\r\n\t\t\tsetIsCard(typeOfAccount(overviewData.productId))\r\n\t\t}\r\n\t}, [overviewData])\r\n\r\n\tconst getCustomer = useCallback(async () => {\r\n\t\tconst userRef = await userManager\r\n\t\t\t.getUser()\r\n\t\t\t.then((user) => user?.profile.sub)\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tif (['de', 'at', 'it', 'es'].includes(appConfig.country)) {\r\n\t\t\t\tconst customerData = await getCustomerService(t)\r\n\t\t\t\tsetCustomerData(customerData as ICustomer)\r\n\t\t\t\tif (customerData.bankId === 'tf_deu_iss') {\r\n\t\t\t\t\tawait getCreditCardData(userRef!)\r\n\t\t\t\t\tsetIsCard({ isCard: true, color: 'standard-de' })\r\n\t\t\t\t} else if (customerData.bankId === 'TF_DEU_DEPOSIT') {\r\n\t\t\t\t\tawait getDepositData(userRef!)\r\n\t\t\t\t\tsetIsCard({ isCard: false })\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tawait getFullAgreementHistory()\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [t, getFullAgreementHistory, getCreditCardData, getDepositData])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst authCheck = async () => {\r\n\t\t\tif (isAuthenticated) {\r\n\t\t\t\tgetCustomer()\r\n\t\t\t}\r\n\t\t}\r\n\t\tauthCheck()\r\n\t}, [getCustomer, isAuthenticated])\r\n\r\n\tconst GetStaticCountryValues = useCallback(() => {\r\n\t\tconst value = countryValues.find(\r\n\t\t\t(item) => item.country === appConfig.country,\r\n\t\t)\r\n\t\tsetStaticCountryValues(value)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tGetStaticCountryValues()\r\n\t}, [GetStaticCountryValues, isCard?.isCard])\r\n\r\n\tconst changeComponent = useCallback((clickedItem: IMenuDropdownItem) => {\r\n\t\tmenuItems.forEach((menuItem) => {\r\n\t\t\tmenuItem.items.forEach((item) => {\r\n\t\t\t\tsetComponent({ ...item, show: false })\r\n\t\t\t})\r\n\t\t})\r\n\t\tsetComponent({ ...clickedItem, show: true })\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (location.pathname === appRoutes.referfriends) {\r\n\t\t\tsetComponent(menuItems[0].items[5])\r\n\t\t}\r\n\t}, [location.pathname])\r\n\r\n\t/*Not used currently, but leaving it here if it will be used ahead */\r\n\t//eslint-disable-next-line\r\n\t/* \tconst getSddEligible = useCallback(\r\n\t\tasync (partyId: string) => {\r\n\t\t\tsetLoading(true)\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService\r\n\t\t\t\t\t.sddCustomerEligible(partyId)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\tsetIsSddEligible(response.data)\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tlocation.pathname === appRoutes.sepadirectdebit\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tnavigate('/')\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tisSddEligible?.eligible &&\r\n\t\t\t\t\t\t\tisSddEligible.activeMandate &&\r\n\t\t\t\t\t\t\t!sddRefreshData\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tgetSddMandate(partyId)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t\tsetError(error)\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => setLoading(false))\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t},\r\n\t\t[isSddEligible, sddRefreshData, location, navigate],\r\n\t)\r\n\tconst getSddMandate = async (partyId: string) => {\r\n\t\tawait sddService\r\n\t\t\t.sddCustomerMandate(partyId)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tlet mandateData: ISddMandate = response.data\r\n\t\t\t\t\tsetSddMandate(mandateData)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tthrow error\r\n\t\t\t})\r\n\t} */\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default SspContext\r\n","import { useCallback, useContext, useEffect, useState } from 'react'\r\nimport TransactionsContext from 'selfServicePortal/contexts/TransactionsContext'\r\nimport { ITransaction } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\n\r\nexport enum ActiveSort {\r\n\tAsc,\r\n\tDesc,\r\n\tNone,\r\n}\r\n\r\nexport const useTransactions = () => {\r\n\tconst { transactions } = useContext(TransactionsContext)\r\n\r\n\tconst [hideShowMore, setHideShowMore] = useState(false)\r\n\tconst [tableData, setTableData] = useState([])\r\n\tconst [activeSortByItem, setActiveSortByItem] = useState<\r\n\t\tstring | undefined\r\n\t>(undefined)\r\n\tconst [activeArrow, setActiveArrow] = useState(ActiveSort.None)\r\n\tconst [error, setError] = useState()\r\n\tconst [monthsTransactions, setMonthsTransactions] = useState([])\r\n\r\n\tconst sortData = useCallback(\r\n\t\t(\r\n\t\t\tdata: ITransaction[],\r\n\t\t\tsortOn: keyof ITransaction,\r\n\t\t\torder: 'asc' | 'desc',\r\n\t\t) => {\r\n\t\t\treturn [...data].sort((a, b) => {\r\n\t\t\t\tconst valueA = a[sortOn]\r\n\t\t\t\tconst valueB = b[sortOn]\r\n\r\n\t\t\t\tif (typeof valueA === 'string' && typeof valueB === 'string') {\r\n\t\t\t\t\treturn order === 'asc'\r\n\t\t\t\t\t\t? valueA.localeCompare(valueB)\r\n\t\t\t\t\t\t: valueB.localeCompare(valueA)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof valueA === 'number' && typeof valueB === 'number') {\r\n\t\t\t\t\treturn order === 'asc' ? valueA - valueB : valueB - valueA\r\n\t\t\t\t}\r\n\t\t\t\treturn 0\r\n\t\t\t})\r\n\t\t},\r\n\t\t[],\r\n\t)\r\n\r\n\tconst sortTransactions = useCallback(\r\n\t\t(sortOn: keyof ITransaction, order: 'asc' | 'desc') => {\r\n\t\t\tconst sortedData = sortData(tableData, sortOn, order)\r\n\t\t\tsetTableData(sortedData)\r\n\t\t\tsetActiveSortByItem(sortOn)\r\n\t\t\tsetActiveArrow(order === 'asc' ? ActiveSort.Asc : ActiveSort.Desc)\r\n\t\t},\r\n\t\t[tableData, sortData],\r\n\t)\r\n\r\n\tconst getMoreTransactionsFromMonth = useCallback(\r\n\t\t(date: string, sliceTo: number) => {\r\n\t\t\tlet month = new Date(date).getMonth()\r\n\t\t\tlet year = new Date(date).getFullYear()\r\n\r\n\t\t\tconst newArr = transactions?.filter((i) => {\r\n\t\t\t\tconst transactionDate = new Date(i.transactionDate)\r\n\t\t\t\treturn (\r\n\t\t\t\t\ttransactionDate.getMonth() === month &&\r\n\t\t\t\t\ttransactionDate.getFullYear() === year\r\n\t\t\t\t)\r\n\t\t\t})\r\n\r\n\t\t\tif (newArr) {\r\n\t\t\t\tconst sortedData = sortData(newArr, 'transactionDate', 'desc')\r\n\t\t\t\tsetTableData(sortedData.slice(0, sliceTo))\r\n\t\t\t\tsetMonthsTransactions(sortedData)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[transactions, sortData],\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (transactions && transactions.length > 0) {\r\n\t\t\tgetMoreTransactionsFromMonth(transactions[0].transactionDate, 10)\r\n\t\t} else if (transactions?.length === 0) {\r\n\t\t\tsetError(new Error('NoTransactions'))\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [transactions])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetHideShowMore(monthsTransactions.length > tableData.length)\r\n\t}, [monthsTransactions, tableData])\r\n\r\n\treturn {\r\n\t\tsortTransactions,\r\n\t\tgetMoreTransactionsFromMonth,\r\n\t\ttableData,\r\n\t\thideShowMore,\r\n\t\terror,\r\n\t\tsetTableData,\r\n\t\tactiveSortByItem,\r\n\t\tactiveArrow,\r\n\t\tsetActiveArrow,\r\n\t}\r\n}\r\n","import React, { useContext } from 'react';\r\nimport SspContext from '../../../contexts/SspContext';\r\nimport { menuItems } from '../../../constants/menuItems';\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface ISeeAll {\r\n\tisOverview: boolean\r\n\tshowMore: Function\r\n\thideShowMore: boolean\r\n}\r\n\r\nexport const SeeAll = ({ isOverview, showMore, hideShowMore }: ISeeAll) => {\r\n\tconst { t } = useTranslation()\r\n\tconst { changeComponent } = useContext(SspContext)\r\n\tif (isOverview) {\r\n\t\treturn (\r\n\t\t\t changeComponent(menuItems[0].items[2])}>\r\n\t\t\t\t{t('SeeAll')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{hideShowMore && (\r\n\t\t\t\t\t showMore()}>\r\n\t\t\t\t\t\t{t('ShowMore')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\nexport default SeeAll","import React, { useContext, useEffect, useState } from 'react'\r\nimport { DateTime } from 'luxon'\r\nimport { getLanguageLocale } from 'shared'\r\nimport TransactionsContext from 'selfServicePortal/contexts/TransactionsContext'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface ISelect {\r\n\tgetMoreTransactionsFromMonth: Function\r\n}\r\n\r\nexport const Select = ({ getMoreTransactionsFromMonth }: ISelect) => {\r\n\tconst { t } = useTranslation()\r\n\tconst { transactions } = useContext(TransactionsContext)\r\n\tconst [months, setMonths] = useState([])\r\n\tconst [selectedOption, setSelectedOption] = useState('')\r\n\r\n\tuseEffect(() => {\r\n\t\tconst locale = getLanguageLocale()\r\n\t\tconst currentMonth = DateTime.now()\r\n\t\t\t.setLocale(locale)\r\n\t\t\t.toFormat('MM/yyyy')\r\n\r\n\t\tconst getLastNMonths = (n: number) => {\r\n\t\t\treturn Array.from({ length: n }, (_, index) => {\r\n\t\t\t\treturn DateTime.now()\r\n\t\t\t\t\t.minus({ months: index })\r\n\t\t\t\t\t.setLocale(locale)\r\n\t\t\t\t\t.toFormat('MM/yyyy')\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst last3Months = getLastNMonths(3)\r\n\r\n\t\t// For FireFox and Safari compliance. Date format must be in\r\n\t\t// format like. yyyy/mm/dd for \"new Date()\"\r\n\t\tlet safariCompliantFormat = last3Months.map(\r\n\t\t\t(date) =>\r\n\t\t\t\tDateTime.fromFormat(date, 'MM/yyyy').toFormat('yyyy/MM') +\r\n\t\t\t\t'/01',\r\n\t\t)\r\n\t\tsetMonths(safariCompliantFormat)\r\n\t\tsetSelectedOption(currentMonth)\r\n\t}, [transactions])\r\n\r\n\tconst onChangeSelect = (e: any) => {\r\n\t\tsetSelectedOption(e.target.value)\r\n\t\tgetMoreTransactionsFromMonth(e.target.value, 10)\r\n\t}\r\n\r\n\treturn (\r\n\t\t onChangeSelect(e)}>\r\n\t\t\t\r\n\t\t\t{months.map((item, key) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\r\n\t)\r\n}\r\nexport default Select\r\n","import React, { useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'\r\nimport '../CardTransactions/extendedTransactions.scss'\r\n\r\ninterface CardProps {\r\n\ttitle?: string\r\n\ticon?: any\r\n\tspecialContent?: JSX.Element[]\r\n\tcontent?: string[]\r\n\tvalue?: string[]\r\n\tinlineIconStyle?: {\r\n\t\ttransform: 'matrix(0.87, -0.5, 0.5, 0.87, 0, 0)'\r\n\t}\r\n}\r\n\r\nexport const CardItem = ({\r\n\ttitle,\r\n\tcontent,\r\n\ticon,\r\n\tvalue,\r\n\tinlineIconStyle,\r\n\tspecialContent,\r\n}: CardProps) => {\r\n\tconst [isCollapsed, setIsCollapsed] = useState(false)\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst toggleCollapse = () => {\r\n\t\tsetIsCollapsed(!isCollapsed)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{title && (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{!isCollapsed && (\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{content ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{content?.map((content, index) => (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t(content)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvalue?.map((key, index) => (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{key}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{specialContent}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { SortingArrows } from 'shared'\r\nimport { ActiveSort } from 'shared/components/SortingArrows'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\nimport './Table.scss'\r\n\r\nexport interface Row {\r\n\toriginal: T\r\n\tisExpanded: boolean\r\n}\r\nexport interface ITableHeader {\r\n\taccessor: keyof T\r\n\theader: string\r\n\tshow?: boolean\r\n\talign?: 'left' | 'center' | 'right'\r\n\tCell?: (Row: Row, key: number) => any\r\n\tSort?: (sort: 'asc' | 'desc') => any\r\n}\r\nexport interface ITable {\r\n\tcolumns: ITableHeader[]\r\n\tdata: T[]\r\n\tsubData?: (rowData: T) => JSX.Element\r\n}\r\n\r\nfunction Table({ columns, data, subData }: ITable) {\r\n\tconst shownColumns = columns.filter(\r\n\t\t(x) => x.show === undefined || x.show === true\r\n\t)\r\n\r\n\tconst [expandedRows, setExpandedRows] = useState([])\r\n\tconst [activeSort, setActiveSort] = useState()\r\n\tconst [activeSortArrow, setActiveSortArrow] = useState(\r\n\t\tActiveSort.None\r\n\t)\r\n\r\n\tconst isRowExpanded = (id: string) => expandedRows.includes(id)\r\n\tconst getDataAlignment = (align?: 'left' | 'center' | 'right') => {\r\n\t\tswitch (align) {\r\n\t\t\tcase 'center':\r\n\t\t\t\treturn 'align-center'\r\n\t\t\tcase 'right':\r\n\t\t\t\treturn 'align-right'\r\n\t\t\tcase 'left':\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'align-left'\r\n\t\t}\r\n\t}\r\n\r\n\tconst headerWithSort = (column: ITableHeader) => {\r\n\t\treturn (\r\n\t\t\t {\r\n\t\t\t\t\tlet newSortArrow\r\n\t\t\t\t\tif (column.header === activeSort) {\r\n\t\t\t\t\t\tnewSortArrow =\r\n\t\t\t\t\t\t\tactiveSortArrow === ActiveSort.Asc\r\n\t\t\t\t\t\t\t\t? ActiveSort.Desc\r\n\t\t\t\t\t\t\t\t: ActiveSort.Asc\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewSortArrow = ActiveSort.Asc\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetActiveSortArrow(newSortArrow)\r\n\t\t\t\t\tsetActiveSort(column.header)\r\n\r\n\t\t\t\t\tif (column.Sort) {\r\n\t\t\t\t\t\tcolumn.Sort(\r\n\t\t\t\t\t\t\tnewSortArrow === ActiveSort.Asc ? 'asc' : 'desc'\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t}}>\r\n\t\t\t\t
{column.header}
\r\n\t\t\t\t {}}\r\n\t\t\t\t\tsortDesc={() => {}}\r\n\t\t\t\t\tuseActiveArrow={\r\n\t\t\t\t\t\tactiveSort === column.header\r\n\t\t\t\t\t\t\t? activeSortArrow\r\n\t\t\t\t\t\t\t: ActiveSort.None\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{shownColumns.map((header, key) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{data?.map((d, key) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tconst id = key.toString()\r\n\t\t\t\t\t\t\t\t\tif (isRowExpanded(id)) {\r\n\t\t\t\t\t\t\t\t\t\tconst temp = expandedRows.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t(x) => x !== id\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\tsetExpandedRows(temp)\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tsetExpandedRows([...expandedRows, id])\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{shownColumns.map((header, key2) => {\r\n\t\t\t\t\t\t\t\t\tconst shownValue = header.Cell\r\n\t\t\t\t\t\t\t\t\t\t? header.Cell(\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toriginal: d,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisExpanded: isRowExpanded(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey.toString()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey\r\n\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t: d[header.accessor]\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{shownValue}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{subData && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{header.Sort\r\n\t\t\t\t\t\t\t\t\t\t\t? headerWithSort(header)\r\n\t\t\t\t\t\t\t\t\t\t\t: header.header}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t)\r\n}\r\n\r\nexport default Table","import React from 'react'\r\nimport { GoogleMap, Marker, useLoadScript } from '@react-google-maps/api'\r\nimport { LoadingSpinner } from 'shared'\r\n\r\n// TODO: to be set as an env var or moved somewhere safer\r\nconst REACT_APP_GOOGLE_API = 'AIzaSyC9iWmI7mU7g9_11IQwj-ExKSe7K9dkfsc'\r\n\r\ninterface MapProps {\r\n\tlat: string\r\n\tlong: string\r\n}\r\n\r\nconst Map = ({ lat, long }: MapProps) => {\r\n\tconst latitude = parseFloat(lat)\r\n\tconst longitude = parseFloat(long)\r\n\r\n\tconst { isLoaded } = useLoadScript({\r\n\t\tgoogleMapsApiKey: REACT_APP_GOOGLE_API,\r\n\t})\r\n\tconst center = { lat: latitude, lng: longitude }\r\n\r\n\tconst mapStyles = {\r\n\t\theight: '150px',\r\n\t\toverflow: 'hidden',\r\n\t}\r\n\r\n\tif (!isLoaded) {\r\n\t\treturn \r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Map\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Tooltip from '../../../../shared/components/Tooltip'\r\nimport {\r\n\tfaEnvelope,\r\n\tfaShoePrints,\r\n\tfaPhone,\r\n\tfaGlobeAmericas,\r\n\tfaChartLine,\r\n} from '@fortawesome/free-solid-svg-icons'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n\tgetCurrency,\r\n\tgetCurrencyInfo,\r\n\tsortString,\r\n} from 'shared'\r\nimport { formatToStringLocale } from 'shared/utils/dateAndTimeHelpers'\r\nimport { useTransactions } from '../../../hooks/useTransactions'\r\nimport { SeeAll } from '../SeeAll/SeeAll'\r\nimport { Select } from '../Select/Select'\r\nimport { CardItem } from '../CardItem/CardItem'\r\nimport { ITransaction } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport Table, { ITableHeader } from 'selfServicePortal/components/Table/Table'\r\nimport './CardTransactions.scss'\r\nimport './extendedTransactions.scss'\r\nimport Map from '../Map/Map'\r\n\r\ninterface ICardTransactions {\r\n\tisOverview: boolean\r\n}\r\n\r\nconst CardTransactions = ({ isOverview }: ICardTransactions) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { getMoreTransactionsFromMonth, tableData, hideShowMore } =\r\n\t\tuseTransactions()\r\n\r\n\tconst getTableData = (item: ITransaction) => {\r\n\t\tconst consumerClarity = item.consumerClarity\r\n\r\n\t\tconst transactionProps = {\r\n\t\t\tlat: consumerClarity?.merchantResult?.merchantLocation?.latitude,\r\n\t\t\tlong: consumerClarity?.merchantResult?.merchantLocation?.longitude,\r\n\t\t\timgUrl: consumerClarity?.merchantResult?.logos?.[0]?.url,\r\n\t\t\timgAltText: consumerClarity?.merchantResult?.logos?.[0]?.altTextTag,\r\n\t\t\tmerchantName: consumerClarity?.merchantResult?.merchantName,\r\n\t\t\tdescription: consumerClarity?.merchantResult?.description,\r\n\t\t\tcarbonGrams:\r\n\t\t\t\tconsumerClarity?.carbonFootprint?.carbonEmissionInGrams,\r\n\t\t\tcarbonOunces:\r\n\t\t\t\tconsumerClarity?.carbonFootprint?.carbonEmissionInOunces,\r\n\t\t\twebsite: consumerClarity?.merchantResult?.websiteUrl,\r\n\t\t\tphone: consumerClarity?.merchantResult?.phone,\r\n\t\t\temail: consumerClarity?.merchantResult?.email,\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tmerchantLogo: transactionProps.imgUrl ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t),\r\n\t\t\tmerchantName:\r\n\t\t\t\tconsumerClarity?.merchantResult?.merchantName ?? item.vendor,\r\n\t\t\tbookingDate: item.isBlockedAuthorization\r\n\t\t\t\t? ''\r\n\t\t\t\t: new Date(item.bookingDate).toLocaleDateString(\r\n\t\t\t\t\t\tgetLanguageLocale(),\r\n\t\t\t\t ),\r\n\t\t\ttransactionDate: new Date(item.transactionDate).toLocaleDateString(\r\n\t\t\t\tgetLanguageLocale(),\r\n\t\t\t),\r\n\t\t\tdescription:\r\n\t\t\t\titem.isBlockedAuthorization && item.description === 'None'\r\n\t\t\t\t\t? t('AuthorizationDescription')\r\n\t\t\t\t\t: item.description,\r\n\t\t}\r\n\t}\r\n\r\n\tconst renderSubRow = (dataRow: ITransaction) => {\r\n\t\tconst consumerClarity = dataRow.consumerClarity\r\n\t\tconst contact =\r\n\t\t\tconsumerClarity?.merchantResult?.email ||\r\n\t\t\tconsumerClarity?.merchantResult?.websiteUrl ||\r\n\t\t\tconsumerClarity?.merchantResult?.phone\r\n\t\tconst phone = consumerClarity?.merchantResult?.phone\r\n\t\tconst email = consumerClarity?.merchantResult?.email\r\n\t\tconst websiteUrl = consumerClarity?.merchantResult?.websiteUrl\r\n\t\tconst currencyInfo = getCurrencyInfo(dataRow?.currency)\r\n\t\tconst desc = dataRow.description\r\n\t\tconst description = desc.substring(0, 15)\r\n\r\n\t\tif (!dataRow) return <>\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{dataRow.consumerClarity?.carbonFootprint\r\n\t\t\t\t\t\t\t?.carbonEmissionInGrams &&\r\n\t\t\t\t\t\t\tdataRow.consumerClarity?.carbonFootprint\r\n\t\t\t\t\t\t\t\t?.carbonEmissionInOunces && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{dataRow.consumerClarity?.merchantResult\r\n\t\t\t\t\t\t\t?.merchantLocation?.longitude &&\r\n\t\t\t\t\t\t\tdataRow.consumerClarity?.merchantResult\r\n\t\t\t\t\t\t\t\t?.merchantLocation?.latitude && (\r\n\t\t\t\t\t\t\t\t,\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{contact && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{email}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tphone ? (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{phone}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\twebsiteUrl ? (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{websiteUrl}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tconst TableHeaders: ITableHeader[] = [\r\n\t\t{\r\n\t\t\t// only for mobile. Its not neat but it is what it is\r\n\t\t\taccessor: 'consumerClarity',\r\n\t\t\theader: '',\r\n\t\t\tshow: isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\tconst merchantName = isMobile\r\n\t\t\t\t\t? data.merchantName.substring(0, 25)\r\n\t\t\t\t\t: data.merchantName\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{data.merchantLogo}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{merchantName}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{data.transactionDate}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{`${stringifyNum(\r\n\t\t\t\t\t\t\t\t\toriginal.billingAmount,\r\n\t\t\t\t\t\t\t\t)} ${original.billingCurrency}`}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'consumerClarity',\r\n\t\t\theader: t('Merchant'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\tconst merchantName = data.merchantName\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{data.merchantLogo}
\r\n\t\t\t\t\t\t
{merchantName}
\r\n\t\t\t\t\t
\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(\r\n\t\t\t\t\t\t\tgetTableData(a).merchantName,\r\n\t\t\t\t\t\t\tgetTableData(b).merchantName,\r\n\t\t\t\t\t\t\t'asc',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(\r\n\t\t\t\t\t\t\tgetTableData(a).merchantName,\r\n\t\t\t\t\t\t\tgetTableData(b).merchantName,\r\n\t\t\t\t\t\t\t'desc',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'transactionDate',\r\n\t\t\theader: t('TransactionDate'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\treturn
{data.transactionDate}
\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(a.transactionDate, b.transactionDate, 'asc'),\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(\r\n\t\t\t\t\t\t\ta.transactionDate,\r\n\t\t\t\t\t\t\tb.transactionDate,\r\n\t\t\t\t\t\t\t'desc',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'description',\r\n\t\t\theader: t('Description'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\treturn data.description\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'billingAmount',\r\n\t\t\theader: t('BillingAmount'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\talign: 'right',\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\treturn `${stringifyNum(original.amount)} ${original.currency}`\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) => a.billingAmount - b.billingAmount)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) => b.billingAmount - a.billingAmount)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'invoiceAmount',\r\n\t\t\theader: t('InvoiceAmount'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\talign: 'right',\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
{`${stringifyNum(original.invoiceAmount)} ${\r\n\t\t\t\t\t\toriginal.billingCurrency\r\n\t\t\t\t\t}`}
\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) => a.invoiceAmount - b.invoiceAmount)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) => b.invoiceAmount - a.invoiceAmount)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'isExpanded' as unknown as keyof ITransaction, //this should really be in the table itself\r\n\t\t\theader: '',\r\n\t\t\tCell: (row) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('Transactions')}\r\n\r\n\t\t\t\t{!isOverview && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{!isOverview && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{tableData.length >= 1 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tgetMoreTransactionsFromMonth(\r\n\t\t\t\t\t\t\t\t\t\ttableData[0].transactionDate,\r\n\t\t\t\t\t\t\t\t\t\ttableData.length + 10,\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thideShowMore={hideShowMore}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t

{t('NoMonthTransactions')}

\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default CardTransactions\r\n","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTfbank21LogoWhite(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 218.23 50\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:#fff;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Lager_1\",\n \"data-name\": \"Lager 1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"SVGID\",\n className: \"cls-1\",\n d: \"M25,50A25,25,0,1,1,50,25,25,25,0,0,1,25,50ZM25,1.18A23.84,23.84,0,1,0,48.83,25,23.86,23.86,0,0,0,25,1.18Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M34.57,29.15a18.64,18.64,0,0,0-2.15-1.75A17.55,17.55,0,0,0,30,26.1a17.27,17.27,0,0,0,2.52-1.38,13.94,13.94,0,0,0,2.17-1.8,9.16,9.16,0,0,0,1.85-2.67V31.76A9.63,9.63,0,0,0,34.57,29.15ZM19.49,11.9H9.56V22.38A14.93,14.93,0,0,1,19.49,11.9ZM41,22.38V11.9H31A15,15,0,0,1,41,22.38ZM28.68,11.9H21.49V42.3h7.19Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M86.18,10.8v6.83h-.67a.8.8,0,0,1-.86-.63l-1.36-4.56-5.56,0c-.81,0-1-.9-.67-1.62Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M75.3,10.76V39.44l3.52.36c.49.05.67.27.67.72v.4h-13v-.4c0-.45.18-.67.67-.72l3.52-.36V12.34l-8,.09L61.3,17a.8.8,0,0,1-.87.63h-.62V10.79L73,10.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M97.48,39.43l3.25.32c.49.09.67.31.67.77v.4H88.9v-.4c0-.45.17-.67.67-.77l3.25-.32V12.25l-3.25-.32c-.5-.09-.67-.31-.67-.77v-.4h21.95v6.41h-.5a.88.88,0,0,1-.9-.63l-1.31-4.16-10.66-.13Zm9.4-14.26L108,22.46a.92.92,0,0,1,.95-.63h.23v8.4h-.27a.93.93,0,0,1-1-.62l-1.09-2.81h-6.73c-.82,0-1.09-.9-.68-1.62h7.41Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M122.83,40.92h-8.59v-.27c0-.53.18-.67.67-.77l3.25-.45V12.25l-3.25-.36a.66.66,0,0,1-.67-.77v-.36h8.59Zm3-15a.63.63,0,0,1-.72-.68.56.56,0,0,1,.63-.62c3.8-.05,6.87-2.08,6.87-6.46s-2.26-6.23-6-6.23c-.4,0-.86,0-1.27,0s-.67-.18-.67-.63.18-.5.72-.54,1.76-.09,2.16-.09c7.32,0,10.16,2.62,10,7.9-.14,4.7-4.74,6.45-7,6.45,1.54,0,8.54,1.18,8.54,7.73,0,4-3.52,8.4-10.94,8.4a22.06,22.06,0,0,1-2.57-.09c-.54-.09-1-.27-1-.72s.23-.62.36-.62c2.22,0,9.26-.23,9.26-7.28S126.7,25.93,125.85,25.89Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M154.39,37.54a5.53,5.53,0,0,1-4.07,2.07,3.11,3.11,0,0,1-3-3.43c0-4.24,3.75-5.24,7.32-5.51.18-.18.4-1.13-.45-1.13-5.92,0-11.34,1.94-11.34,6.64,0,3.34,3,5.29,6,5.29A7.48,7.48,0,0,0,155,38.4C155.39,37.76,154.75,37.49,154.39,37.54Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M172.75,39.62l2.71.18c.49.05.67.27.67.72v.4H165.34v-.4c0-.45.18-.67.67-.72l2.31-.18V20.51l-3.16-.14c-.49,0-.67-.22-.72-.72V19.3l8.32-.54V39.62Zm17.12.23a.63.63,0,0,1,.67.73v.35h-10v-.4c0-.45.18-.67.67-.72l1.76-.13c.18-5.11.36-6.78.36-11.88,0-3.29-.09-7.58-4-7.58a6.52,6.52,0,0,0-4.52,2,.42.42,0,0,1-.49-.49c.09-.91,2.35-3.25,6.14-3.25,4.69,0,7.31,2.53,7.31,7,0,5.25-.13,9-.35,14.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M200.08,39.62l2.12.18c.49.05.67.27.67.72v.4H192.71v-.4c0-.45.17-.67.67-.72l2.26-.18V11.46l-3.29-.13c-.5-.05-.68-.23-.72-.72v-.36l8.45-.95Zm1.53-9.53c-.44-.5-.44-.87,0-1.27l8.85-8-2.31-.68a.78.78,0,0,1-.62-.86v-.36h8.85v.36a.79.79,0,0,1-.67.86l-2.67.68-8.32,7.4,10.44,11.34,2.35.23c.49.09.67.31.67.77v.4H207.8v-.4c0-.45.18-.67.67-.72l1.85-.18Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M162.4,40.68c0-.45-.17-.68-.67-.72l-1.16-.18,0-13.61c0-5.11-2.22-7.77-8.67-7.77-2.8,0-7.94,1.18-7.94,5.65,0,2.12,2.48,2.84,4,1.89-.81-4.07,1.54-6.41,4.21-6.41,3,0,4.11,2.44,4.11,5.92V38.53c0,2.58,1.6,2.65,3.53,2.56h2.68v-.41Z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTfbank21LogoWhite);\nexport default __webpack_public_path__ + \"static/media/tfbank21-logo-white.799bf51a13cdf5ad3702fad22db4f40d.svg\";\nexport { ForwardRef as ReactComponent };","export interface ISupportDataSsp {\r\n\temailFrom: string\r\n\tsubject: string\r\n\tbody: string\r\n\tcountryCode: string\r\n\tproductType: ProductType\r\n}\r\n\r\nexport interface ISupportCashToCard {\r\n\tsubject: string\r\n\tpartyId: string\r\n\tagreementId: string\r\n\tibanDE: string\r\n\tamount: number\r\n\ttermsAndConditions: boolean\r\n}\r\n\r\nexport enum ProductType {\r\n\tCard = 'Card',\r\n\tDeposit = 'Deposit',\r\n\tDeposit_Fixed = 'Deposit_Fixed',\r\n}\r\n\r\nexport interface IMaintenance {\r\n\tmaintenanceWindowFrom: string\r\n\tmaintenanceWindowTo: string\r\n\tpreMessageDE: string\r\n\tpreMessageAT: string\r\n\tpreMessageEN: string\r\n\tpreMessageNO: string\r\n\tpreMessageDK: string\r\n\tpreMessageSE: string\r\n\tpreMessageFI: string\r\n\tpreMessageEE: string\r\n\tpreMessageES: string\r\n\tdurationMessageDE: string\r\n\tdurationMessageAT: string\r\n\tdurationMessageEN: string\r\n\tdurationMessageNO: string\r\n\tdurationMessageDK: string\r\n\tdurationMessageSE: string\r\n\tdurationMessageFI: string\r\n\tdurationMessageEE: string\r\n\tdurationMessageES: string\r\n\tminutesBeforeMaintenance: number\r\n\taffectedSystems: string[]\r\n\taffectedMarkets: string[]\r\n}\r\n","import { useContext } from 'react'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\nexport const useSspContext = () => {\r\n\treturn useContext(SspContext)\r\n}\r\n","import { ICustomer } from './i-api-customer'\r\n\r\nexport interface ICreditBalance {\r\n\tcreditLimit: number\r\n\treservedAmount: number\r\n\tcurrency: any\r\n\ttransactionDate: string\r\n\taccountAgreementId: string\r\n\tavailableCreditAmount: number\r\n\tbalance: number\r\n\tcardExpirationDate: string\r\n\tcardAgreementId: string\r\n\taccountNumber: string\r\n\tcreditCardNo: string\r\n\tcardID: number\r\n\tstatusIssuer: IIMSStatusIssuer\r\n\tstatusUser: IIMSStatusIssuer\r\n\tstatusCardActivation: IIMSStatusIssuer\r\n\tcardAgreementOpenDate: string\r\n\tproductId: string\r\n\taccountOwnerPartyId: string\r\n\thasPPI: boolean\r\n\tppiEligible: boolean\r\n}\r\n\r\nexport interface IDepositData {\r\n\taccountAgreementId: string\r\n\taccountCurrency: string\r\n\taccountNumber: string\r\n\taccountOwnerPartyId: string\r\n\tbalance: number\r\n\tbindingPeriod: number\r\n\tinterestRate: number\r\n\tnote?: string\r\n\taccountAgreementOpenDate: string\r\n\tproductId: string\r\n\tagreementStatus: IMSAgreementStatus\r\n}\r\n\r\nexport enum IMSAgreementStatus {\r\n\tInActive = 'InActive',\r\n\tActive = 'Active',\r\n\tSuspended = 'Suspended',\r\n\tClosed = 'Closed',\r\n\tClosing = 'Closing',\r\n\tSuspending = 'Suspending',\r\n}\r\n\r\nexport interface ITransaction {\r\n\ttransactionDate: string\r\n\tbookingDate: string\r\n\tcurrency: string\r\n\tamount: number\r\n\tinvoiceAmount: number\r\n\ttransactionType: string\r\n\ttransactionTypeUiString: string\r\n\tdescription: string\r\n\tvendor: string\r\n\tbillingAmount?: number\r\n\tbillingCurrency?: string\r\n\texchangeRate?: number\r\n\tcreditDebit: string\r\n\tisBlockedAuthorization: boolean\r\n\tconsumerClarity?: IConsumerClarity | null\r\n}\r\n\r\nexport interface IConsumerClarity {\r\n\trecordId: string\r\n\tresultStatus: {\r\n\t\tcode: string\r\n\t\tmessage: string\r\n\t}\r\n\tmerchantResult?: {\r\n\t\tmerchantName: string\r\n\t\tphone: string\r\n\t\tdescription: string\r\n\t\temail: string\r\n\t\twebsiteUrl: string\r\n\t\tcontactUrl: string\r\n\t\taddress: {\r\n\t\t\tline: string\r\n\t\t\tcity: string\r\n\t\t\tpostalCode: string\r\n\t\t\tcountryCode: string\r\n\t\t\tcountryName: string\r\n\t\t\tcountrySubdivisionCode: string\r\n\t\t}\r\n\t\tmerchantCategory: {\r\n\t\t\tcode: string\r\n\t\t\tdescription: string\r\n\t\t}\r\n\t\tlogos: [\r\n\t\t\t{\r\n\t\t\t\theight: number\r\n\t\t\t\twidth: number\r\n\t\t\t\turl: string\r\n\t\t\t\ttype: string\r\n\t\t\t\taltTextTag: string\r\n\t\t\t},\r\n\t\t]\r\n\t\tmerchantLocation: {\r\n\t\t\tlatitude: string\r\n\t\t\tlongitude: string\r\n\t\t\ttype: string\r\n\t\t}\r\n\t\tdataPolicy: {\r\n\t\t\tcacheable: boolean\r\n\t\t\tcacheExpiry: string\r\n\t\t\tattribution: string\r\n\t\t\trequiredMap: string\r\n\t\t}\r\n\t\tresultStatus: {\r\n\t\t\tcode: string\r\n\t\t\tmessage: string\r\n\t\t}\r\n\t}\r\n\tpurchaseReceipt: {\r\n\t\tresultStatus: {\r\n\t\t\tcode: string\r\n\t\t\tmessage: string\r\n\t\t}\r\n\t\turl: string\r\n\t\tcontentType: string\r\n\t\texpiresOn: string\r\n\t}\r\n\tcarbonFootprint: {\r\n\t\tcarbonEmissionInGrams: number\r\n\t\tcarbonEmissionInOunces: number\r\n\t\tcategory: {\r\n\t\t\tmainCategory: string\r\n\t\t\tsubCategory: string\r\n\t\t\tsector: string\r\n\t\t\tsectorCode: string\r\n\t\t}\r\n\t}\r\n\tsubscriptionControls: {\r\n\t\trecurringPayment: {\r\n\t\t\trecurringPaymentKey: {\r\n\t\t\t\tmerchantId: string\r\n\t\t\t\tsubscriptionId: string\r\n\t\t\t}\r\n\t\t\tfrequency: string\r\n\t\t\ttype: string\r\n\t\t\tsupportedCancellationMethods: [string]\r\n\t\t}\r\n\t\tsubscriptionState: {\r\n\t\t\tactionType: string\r\n\t\t\tsubscriptionStatus: string\r\n\t\t\tcreatedDate: string\r\n\t\t\tupdatedDate: string\r\n\t\t\tcancellationState: {\r\n\t\t\t\tcancellationStatusReasonCode: string\r\n\t\t\t\testimatedProcessingDays: string\r\n\t\t\t\tcancellationMethod: string\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tsearchResults: {\r\n\t\tresultStatus: {\r\n\t\t\tcode: string\r\n\t\t\tmessage: string\r\n\t\t}\r\n\t\turl: string\r\n\t\tcontentType: string\r\n\t\texpiresOn: string\r\n\t}\r\n}\r\n\r\nexport interface IUnpaidInvoices {\r\n\tunpaidInvoices: IIMSInvoice[]\r\n\tnumberOfInvoices: number\r\n\ttotalPaymentAmount: number\r\n\ttotalPaymentCurrency: Currency\r\n}\r\n\r\nexport interface IIMSInvoice {\r\n\tperiodStartDate: string\r\n\tperiodEndDate: string\r\n\tpaymentDueDate: string\r\n\tpaymentAmount: number\r\n\tpaymentCurrency: Currency\r\n}\r\n\r\nenum Currency {\r\n\tNOK = 0,\r\n\tEUR,\r\n\tSEK,\r\n}\r\n\r\nexport interface IIMSStatusIssuer {\r\n\tstatusIssuer: StatusIssuer\r\n\tstatusIssuerNote: string\r\n}\r\n\r\nexport enum StatusIssuer {\r\n\tActive = 'Active',\r\n\tDecline = 'Decline',\r\n\tNotActive = 'NotActive',\r\n\t//DeclineSuspectedFraud = 'DeclineSuspectedFraud',\r\n\t//DeclineRestrictedCard = 'DeclineRestrictedCard',\r\n\t//DeclineReferToCardIssuer = 'DeclineReferToCardIssuer',\r\n\t//DeclineLawViolation = 'DeclineLawViolation',\r\n\t//DeclineSuspectedCounterfeitCard = 'DeclineSuspectedCounterfeitCard',\r\n\tPickUpGeneral = 'PickUpGeneral',\r\n\t//PickUpSuspectedFraud = 'PickUpSuspectedFraud',\r\n\t//PickUpSpecialConditions = 'PickUpSpecialConditions',\r\n\t//PickUpLostCard = 'PickUpLostCard',\r\n\t//PickUpStolenCard = 'PickUpStolenCard',\r\n\t//PickUpSuspectedCounterfeitCard = 'PickUpSuspectedCounterfeitCard',\r\n\tOrderNewCard = 'OrderNewCard',\r\n}\r\nexport interface IAccountStatement {\r\n\taccountStatementId: string\r\n\taccountStatementNumber: string\r\n\taccountStatementDate: string\r\n\taccountStatementFormat: IAccountStatementFormat\r\n\tperiodStartDate: string\r\n\tperiodEndDate: string\r\n\tpaymentDueDate: string\r\n\tpaymentDueDateSpecified: boolean\r\n\tpaymentAmount: number\r\n\tpaymentCurrency: string\r\n}\r\nexport interface IAccountStatements {\r\n\taccountStatements: IAccountStatement[]\r\n}\r\n\r\nexport enum IAccountStatementFormat {\r\n\txml,\r\n\tpdf,\r\n\thtml,\r\n\tcsv,\r\n\ttxtsimple,\r\n\ttxt,\r\n\txls,\r\n\txul,\r\n}\r\n\r\nexport interface ICardEnrollment {\r\n\tcustomerId: string\r\n\tcardAgreementId: number\r\n\tstatus: string\r\n\tphoneNo: string\r\n\tpassword: string\r\n\tcardHolderId: string\r\n\tlabel: string\r\n}\r\n\r\nexport interface IUpdateCard {\r\n\tcardId: number\r\n\tstatusIssuer?: StatusIssuer\r\n\tstatusIssuerNote?: string\r\n\tstatusCardActivation?: StatusCardActivation\r\n\tstatusCardActivationNote?: string\r\n\tstatusUser?: StatusUser\r\n\tstatusUserNote?: string\r\n\tid?: string\r\n\tstatusDisplayed?: string\r\n}\r\n\r\nexport interface INewCard {\r\n\tcardAgreementId: string\r\n\tcardID: number\r\n\tid?: string\r\n}\r\n\r\nexport enum StatusCardActivation {\r\n\tActive = 'Active',\r\n\tInActive = 'InActive',\r\n}\r\n\r\nexport enum StatusUser {\r\n\tActive = 'Active',\r\n\tDecline = 'Decline',\r\n}\r\n\r\nexport interface IAnnualReport {\r\n\taccountDebitBalance: number\r\n\taccountCreditBalance: number\r\n\tinterestReceived: number\r\n\tinterestPaid: number\r\n\tcurrency: string\r\n}\r\n\r\nexport interface IAgreementHistoryDto {\r\n\tagreements: IAgreements\r\n\tcustomer: ICustomer\r\n}\r\n\r\nexport interface IAgreements {\r\n\tdepositAccounts: IDepositData[]\r\n\tcreditCardAccounts: ICreditBalance[]\r\n}\r\n","export interface ICustomer {\r\n\tcustomerId: string\r\n\tshortAddress: string\r\n\tcountry: string\r\n\tregion: string\r\n\tcity: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tapartmentNumber: string\r\n\tpostalCode: string\r\n\tmobilePhoneNumber: string\r\n\temail: string\r\n\tstatus?: CustomerStatus\r\n\ttitle: string\r\n\tbirthDate: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\tbankId: string\r\n\tnationalId: string\r\n\tcanChangeAddress: boolean\r\n\tcanChangeContactInfo: boolean\r\n\tallowMarketingConsent: boolean | null\r\n\tnewContactDetail: string\r\n}\r\n\r\nexport interface IUpdateCustomer {\r\n\tcustomerId: string\r\n\tbankId: string\r\n\tshortAddress: string\r\n\tcity: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tapartmentNumber?: string\r\n\tpostalCode: string\r\n\tmobilePhoneNumber?: string\r\n\temail?: string\r\n}\r\n\r\nexport enum CustomerStatus {\r\n\tInActive = 'InActive',\r\n\tActive = 'Active',\r\n\tSuspended = 'Suspended',\r\n\tClosed = 'Closed',\r\n\tRejected = 'Rejected',\r\n}\r\n\r\nexport interface IMarketing {\r\n\tisMarketing: boolean\r\n\tstartDate: string\r\n\tendDate: string\r\n\tproduct: string\r\n\tmarket: string\r\n\timageRef: string\r\n\timageLink?: string\r\n}\r\n","var _style, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDownloadInterfaceCream(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 489.8 489.8\",\n style: {\n enableBackground: \"new 0 0 489.8 489.8\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#F6F5EE;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"489.8,359.8 444.7,359.8 444.7,431.9 45.1,431.9 45.1,361.3 0,361.3 0,477 489.8,477 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"131.7,174.5 69.1,174.5 249.6,398.9 430.2,174.5 367.6,174.5 367.6,12.8 131.7,12.8 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadInterfaceCream);\nexport default __webpack_public_path__ + \"static/media/download-interface-cream.03f363d8952360a788bd70d7ae550b42.svg\";\nexport { ForwardRef as ReactComponent };","import { logError } from 'shared'\r\nimport { apiRoutes } from 'shared/constants/routes'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { getErrorWithFullMessage, showBlob } from 'shared/utils/helpers'\r\nimport axios from '../axios'\r\n\r\nimport {\r\n\tISddEnrollmentInitiate,\r\n\tICompleteSddEnrollmentRequest,\r\n\tIResendOtpRequest,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\ninterface IPartyId {\r\n\tpartyId: string\r\n}\r\n\r\nconst sddService = {\r\n\t// async sddGetRequest(requestType: string) {\r\n\t// \tconst data = await axios\r\n\t// \t\t.get(requestType, await getHeadersWithJwtToken())\r\n\t// \t\t.then((response) => {\r\n\t// \t\t\treturn response\r\n\t// \t\t})\r\n\t// \t\t.catch((error) => {\r\n\t// \t\t\tlogError(error)\r\n\t// \t\t\tthrow getErrorWithFullMessage(error)\r\n\t// \t\t})\r\n\t// \treturn data\r\n\t// },\r\n\r\n\tasync sddCustomerEligible(partyId: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(\r\n\t\t\t\tapiRoutes.getSddIsEligible(partyId),\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddCustomerMandate(partyId: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(\r\n\t\t\t\tapiRoutes.getSddMandate(partyId),\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync getSddMandateDocument(\r\n\t\tmandateDocumentId: string,\r\n\t\twindowRef: Window | null\r\n\t) {\r\n\t\tlet data = await axios\r\n\t\t\t.get(apiRoutes.getSddMandateDocument(mandateDocumentId), {\r\n\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\tresponseType: 'blob',\r\n\t\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet blob = new Blob([response.data], {\r\n\t\t\t\t\ttype: 'application/pdf',\r\n\t\t\t\t})\r\n\t\t\t\tshowBlob(blob, windowRef, mandateDocumentId + '.pdf')\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddEnrollmentInitiate(enrollmentData: ISddEnrollmentInitiate) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddEnrollmentInitiate,\r\n\t\t\t\tenrollmentData,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddEnrollmentComplete(enrollmentData: ICompleteSddEnrollmentRequest) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddEnrollmentComplete,\r\n\t\t\t\tenrollmentData,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddResendOtp(enrollmentData: IResendOtpRequest) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddResendOtp,\r\n\t\t\t\tenrollmentData,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync getSddActivePct(country: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(\r\n\t\t\t\tapiRoutes.getSddActivePct(country),\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync getSddIbans(partyId: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(apiRoutes.getSddIbans(partyId), await getHeadersWithJwtToken())\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync disableMandate(partyId: IPartyId) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddMandateDisable,\r\n\t\t\t\tpartyId,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n}\r\n\r\nexport default sddService\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\n\r\nimport appConfig from 'app.config'\r\n\r\nimport { BoxInfo, CircleSpinner } from 'shared/index'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\ninterface IProps {\r\n\tshow: boolean\r\n\thandleClose: Function\r\n}\r\n\r\nexport const SDDDisableModal = ({ show, handleClose }: IProps) => {\r\n\tconst { customerData, setSddRefreshData } = useContext(SspContext)\r\n\tconst { t } = useTranslation()\r\n\tconst [success, setSuccess] = useState(false)\r\n\tconst [error, setError] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [partyId, setPartyId] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tsetPartyId(customerData?.customerId)\r\n\t}, [customerData])\r\n\r\n\tasync function disableSddMandate() {\r\n\t\tsetLoading(true)\r\n\t\tif (partyId !== undefined) {\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService\r\n\t\t\t\t\t.disableMandate({ partyId })\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\tsetSuccess(true)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsetError(true)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => setLoading(false))\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetError(true)\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t {\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tsetError(false)\r\n\t\t\t\t\t}\r\n\t\t\t\t\thandleClose()\r\n\t\t\t\t\tsetSddRefreshData(true)\r\n\t\t\t\t}}\r\n\t\t\t\tbackdrop=\"static\"\r\n\t\t\t\tkeyboard={false}>\r\n\t\t\t\t\r\n\t\t\t\t\t{t('SDDDisable')}\r\n\t\t\t\t\r\n\t\t\t\t{loading ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{success ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\thandleClose()\r\n\t\t\t\t\t\t\t\t\t\t\tsetSddRefreshData(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t{t('Close')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAre you sure you want to disable SDD?\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tYou can always re-register if you wish.\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tStill want to disable?\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t disableSddMandate()}>\r\n\t\t\t\t\t\t\t\t\t\t{t('SDDDisable')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetError(false)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\thandleClose()\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t{t('Cancel')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext, useCallback, useEffect } from 'react'\r\nimport {\r\n\tuseTranslation,\r\n\t//Trans,\r\n} from 'react-i18next'\r\n\r\nimport download_interface_cream from 'img/document-icons/download-interface-cream.svg'\r\n\r\nimport {\r\n\tBoxInfoWithButton,\r\n\tCircleSpinner,\r\n\tgetLanguageLocale,\r\n\tisSafariBrowser,\r\n\t//Tooltip,\r\n} from 'shared/index'\r\n\r\nimport { Heading } from 'selfServicePortal/components/index'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\nimport { SDDDisableModal } from './SDDDisableModal'\r\nimport { ISddMandate } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nexport const SDDOverview = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData, isSddEligible } = useContext(SspContext)\r\n\tconst [error, setError] = useState(false)\r\n\r\n\tconst [sddMandate, setSddMandate] = useState()\r\n\t//Need to know validToDate for below.. or atleast last withdrawal date. Update later on when BE is set up.\r\n\tconst [renewMandate, setRenewMandate] = useState(false) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\tconst [showDisableModal, setShowDisableModal] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tconst getSddMandate = async (partyId: string) => {\r\n\t\ttry {\r\n\t\t\tawait sddService\r\n\t\t\t\t.sddCustomerMandate(partyId)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tlet mandateData: ISddMandate = response.data\r\n\t\t\t\t\t\tsetSddMandate(mandateData)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.warn(error)\r\n\t\t\t\t\tsetError(true)\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => setLoading(false))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn(error)\r\n\t\t\tsetError(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst getSddMandateDocument = useCallback(\r\n\t\tasync (mandateDocumentId: string, windowRef: Window | null) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService.getSddMandateDocument(\r\n\t\t\t\t\tmandateDocumentId,\r\n\t\t\t\t\twindowRef\r\n\t\t\t\t)\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetError(true)\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[]\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true)\r\n\t\tif (isSddEligible?.activeMandate)\r\n\t\t\tgetSddMandate(customerData?.customerId!)\r\n\t}, [customerData, isSddEligible])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{sddMandate !== undefined && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{t('SDD')}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t('StartDate')}:
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{new Date(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsddMandate.validFromDate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t).toLocaleDateString(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Hiding renewal date until further notice */}\r\n\t\t\t\t\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('RenewalDate')}:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou can\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenew your\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmandate at\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthe\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tearliest, 4\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tweeks prior\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto the\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenewal\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdate.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tN/A\r\n\t\t\t\t\t\t\t\t\t\t\t
*/}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t('SDDMandateRef')}:
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsddMandate.mandateDocumentId\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t('IBAN')}:
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{sddMandate.debtorIban}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{renewMandate ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('SDDRenew')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet windowRef =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSafariBrowser()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? window.open()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetSddMandateDocument(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsddMandate.mandateDocumentId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twindowRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('SDDDownloadMandate')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('DownloadingFileError')}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t

{t('SDDMandateText')}

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDisableModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SDDDisable')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setShowDisableModal(false)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, {\r\n\tuseEffect,\r\n\tuseReducer,\r\n\tuseState,\r\n\tcreateContext,\r\n\tuseCallback,\r\n} from 'react'\r\nimport { TranslationFile } from 'i18n'\r\nimport { ProgressBar } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nexport interface IMultistepComponent {\r\n\tid: number\r\n\theader?: string\r\n\tbody: any\r\n\tstepCompleted: boolean\r\n\tshow?: boolean\r\n\tnextButtonFunc?: Function | undefined //phase out this one when moving dk and fi to new applicationPage\r\n}\r\n\r\ninterface IMultistepProps {\r\n\tsteps: number[]\r\n\tindex: number\r\n\tnextButtonText: string\r\n\thidePreviousBtn: boolean\r\n}\r\n\r\ninterface IProps {\r\n\tmultisteps: IMultistepComponent[]\r\n\thidePreviousButton?: boolean\r\n\tresetInitialState: boolean\r\n}\r\n\r\nconst initialState: IMultistepProps = {\r\n\tsteps: [],\r\n\tindex: 0,\r\n\tnextButtonText: 'Next',\r\n\thidePreviousBtn: true,\r\n}\r\n\r\nexport const MSP_ACTIONS = {\r\n\tSET_STEPS: 'SET_STEPS',\r\n\tSET_INDEX: 'SET_INDEX',\r\n\tSET_STEPS_AND_INDEX: 'SET_STEPS_AND_INDEX',\r\n\tSET_NEXTBUTTON_TEXT: 'SET_NEXTBUTTON_TEXT',\r\n\tSET_NEXTBUTTON_FUNCTION: 'SET_NEXTBUTTON_FUNCTION',\r\n\tSET_HIDE_PREVIOUS_BUTTON: 'SET_HIDE_PREVIOUS_BUTTON',\r\n}\r\n\r\nfunction reducer(msp: any, action: any) {\r\n\tswitch (action.type) {\r\n\t\tcase MSP_ACTIONS.SET_STEPS:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tsteps: action.payload.steps,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_INDEX:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tindex: action.payload.index,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_STEPS_AND_INDEX:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tsteps: action.payload.steps,\r\n\t\t\t\tindex: action.payload.index,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_NEXTBUTTON_TEXT:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tnextButtonText: action.payload.nextButtonText,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_HIDE_PREVIOUS_BUTTON:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\thidePreviousBtn: action.payload.hidePreviousBtn,\r\n\t\t\t}\r\n\t\tdefault:\r\n\t\t\treturn msp\r\n\t}\r\n}\r\n\r\nexport const MspDispatchContext = createContext<{\r\n\tmsp: IMultistepProps\r\n\tdispatchMsp: any\r\n}>({ msp: initialState, dispatchMsp: reducer })\r\n\r\nfunction Multistep({\r\n\tmultisteps,\r\n\thidePreviousButton = true,\r\n\tresetInitialState,\r\n}: IProps) {\r\n\tconst { t } = useTranslation([TranslationFile.Translation])\r\n\r\n\tconst [msp, dispatchMsp] = useReducer(reducer, initialState)\r\n\r\n\tconst [isFirstPage, setIsFirstPage] = useState(true)\r\n\tconst [isLastPage, setIsLastPage] = useState(false)\r\n\tconst [currentStep, setCurrentStep] = useState()\r\n\tconst [reset, setReset] = useState(resetInitialState)\r\n\tconst [hidePreviousBtn] = useState(hidePreviousButton)\r\n\r\n\tconst mspStorageName = 'msp'\r\n\tlet nextButtonFunc = currentStep?.nextButtonFunc\r\n\r\n\tconst getMultisteps = useCallback(() => {\r\n\t\tconst savedSteps = sessionStorage.getItem(mspStorageName)\r\n\t\tconst activeSteps = multisteps\r\n\t\t\t.filter((x) => x.show === true || x.show === undefined)\r\n\t\t\t.map((x) => x.id)\r\n\r\n\t\tif (savedSteps === undefined || savedSteps === null) {\r\n\t\t\tdispatchMsp({\r\n\t\t\t\ttype: MSP_ACTIONS.SET_STEPS_AND_INDEX,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tsteps: activeSteps,\r\n\t\t\t\t\tindex: 0,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tlet item = JSON.parse(savedSteps)\r\n\t\t\tif (reset) {\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_STEPS_AND_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tsteps: activeSteps,\r\n\t\t\t\t\t\tindex: 0,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t\tsetReset(false)\r\n\t\t\t} else {\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_STEPS_AND_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tsteps: item.steps,\r\n\t\t\t\t\t\tindex: item.index,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}, [multisteps, reset])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetMultisteps()\r\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\tuseEffect(() => {\r\n\t\tif (msp) {\r\n\t\t\tsetCurrentStep(\r\n\t\t\t\tmultisteps.find((x) => x.id === msp.steps[msp.index])\r\n\t\t\t)\r\n\t\t\tsetIsFirstPage(msp.index === 0)\r\n\t\t\tsetIsLastPage(msp.index === msp?.steps.length - 1)\r\n\t\t\tsessionStorage.setItem(mspStorageName, JSON.stringify(msp))\r\n\t\t}\r\n\t}, [msp, multisteps])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst mscontainer = document.getElementById('multistep')\r\n\t\tconst mscontainerrect = mscontainer?.getBoundingClientRect()\r\n\t\tif (msp.index > 0 && mscontainerrect !== undefined) {\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\tleft: mscontainerrect.left + window.scrollX,\r\n\t\t\t\ttop: mscontainerrect.top + window.scrollY - 100,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tscrollToTop()\r\n\t\t}\r\n\t}, [msp.index])\r\n\r\n\tconst nextPage = () => {\r\n\t\tif (!isLastPage) {\r\n\t\t\tmsp &&\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tindex: msp.index + 1,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst previousPage = () => {\r\n\t\tif (!isFirstPage) {\r\n\t\t\tmsp &&\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tindex: msp.index - 1,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst scrollToTop = () => {\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t})\r\n\t}\r\n\r\n\tconst getProgressBar = () => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{msp &&\r\n\t\t\t\t\tmsp.steps.map((step: number, index: number) => {\r\n\t\t\t\t\t\tconst isDone = index <= msp.index\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst getPagination = () => {\r\n\t\tconst onClickFunction = () => {\r\n\t\t\tif (nextButtonFunc !== undefined) {\r\n\t\t\t\treturn nextButtonFunc(), nextPage() //eslint-disable-line\r\n\t\t\t} else {\r\n\t\t\t\treturn nextPage()\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{!isFirstPage && !hidePreviousBtn && !isLastPage && (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tpreviousPage()\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t{t('Previous')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!isLastPage && currentStep?.stepCompleted && (\r\n\t\t\t\t\t onClickFunction()}>\r\n\t\t\t\t\t\t{t(`${msp.nextButtonText}`)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst getBody = () => {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{appConfig.country === 'de' || appConfig.country === 'at' ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{currentStep?.body}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{getPagination()}\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{t(`${currentStep?.header}`)}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{currentStep?.body}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{getPagination()}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{getProgressBar()}\r\n\t\t\t\t{getBody()}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Multistep\r\n","import { IFormSettings } from '@tf/formbuilder'\r\n\r\nexport const FormWrapper = (controls: any, formMeta: any) => {\r\n\treturn ({\r\n\t\tcontrols: controls,\r\n\t\tformMeta: formMeta,\r\n\t} as unknown) as IFormSettings\r\n}\r\n","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from 'shared/utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n} from 'shared/constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: 'Third',\r\n\t\tdescription: t('forms:DepositInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDepositsOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:PurposeOfDepositsOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDepositsOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'purposeOfDeposits',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySourceOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:AssetsFromOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySourceOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'moneySource',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t// This is due to duplicated translation strings with different\r\n\t\t\t\t// content regarding choosen language\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Yes',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'YesGuardian',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesGuardian'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Children',\r\n\t\t\t\t\t\tlabel: t('dropdown:Children'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Other',\r\n\t\t\t\t\t\tlabel: t('dropdown:OtherDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'depositOwner',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:DepositOwner'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].depositOwner,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from '../../interfaces/i-api-kyc'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const PepInformationFormDE_NO = (data: IKycData) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\r\n\treturn {\r\n\t\tfieldSetName: t('forms:PEPInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:PEPInfoDescription'),\r\n\t\tshow: true,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'politicallyExposedPerson',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:PoliticallyExposedPerson'),\r\n\t\t\t\tvalue: data.politicallyExposedPerson,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'connectedToPep',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:ConnectedToPep'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.connectedToPep,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const PepInformationForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\r\n\treturn {\r\n\t\tfieldSetName: t('forms:PEPInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:PEPInfoDescription'),\r\n\t\tshow: true,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'politicallyExposedPerson',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:PoliticallyExposedPerson'),\r\n\t\t\t\tvalue: data.politicallyExposedPerson,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'connectedToPep',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:ConnectedToPep'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.connectedToPep,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const PepInformationBalticForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\r\n\treturn {\r\n\t\tfieldSetName: t('forms:PEPInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:PEPInfoDescription'),\r\n\t\tshow: true,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'politicallyExposedPerson',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:PoliticallyExposedPerson'),\r\n\t\t\t\tvalue: data.politicallyExposedPerson,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\trequire: true, \r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:LoanInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t// {\r\n\t\t\t// \toptions: FormatEnumToList(Object.keys(PurposeOfLoan), 'dropdown'),\r\n\t\t\t// \trequired: true,\r\n\t\t\t// \tcontrolName: 'loans.purposeOfLoan',\r\n\t\t\t// \ttype: 'dropdown',\r\n\t\t\t// \tlabel: t('forms:PurposeOfLoan'),\r\n\t\t\t// \tvalue: data.loans[0].purposeOfLoan,\r\n\t\t\t// \tvisible: true,\r\n\t\t\t// },\r\n\t\t\t// {\r\n\t\t\t// \trequired: true,\r\n\t\t\t// \tcontrolName: 'loans.purposeOfLoanOther',\r\n\t\t\t// \ttype: 'text',\r\n\t\t\t// \tlabel: t('forms:PurposeOfLoanOther'),\r\n\t\t\t// \tvalue: data.loans[0].purposeOfLoanOther,\r\n\t\t\t// \tvisible: true,\r\n\t\t\t// \tcondition: [\r\n\t\t\t// \t\t{\r\n\t\t\t// \t\t\twhen: 'all',\r\n\t\t\t// \t\t\taction: 'show',\r\n\t\t\t// \t\t\titems: [\r\n\t\t\t// \t\t\t\t{\r\n\t\t\t// \t\t\t\t\tfield: 'loans.purposeOfLoan',\r\n\t\t\t// \t\t\t\t\trule: 'equal',\r\n\t\t\t// \t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t// \t\t\t\t},\r\n\t\t\t// \t\t\t],\r\n\t\t\t// \t\t},\r\n\t\t\t// \t],\r\n\t\t\t// },\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t// {\r\n\t\t\t// \toptions: FormatEnumToList(Object.keys(BenificialOwner)),\r\n\t\t\t// \trequired: true,\r\n\t\t\t// \tcontrolName: 'loans.benificialOwner',\r\n\t\t\t// \ttype: 'dropdown',\r\n\t\t\t// \tlabel: t('forms:BenificialOwner'),\r\n\t\t\t// \tvalue: data.loans[0].benificialOwner,\r\n\t\t\t// \tvisible: true,\r\n\t\t\t// },\r\n\t\t],\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const SetPasswordIdCheckForm = (data: any) => {\r\n\tconst { t } = useTranslation()\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'SetPasswordIdCheck',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: 'de',\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'phoneNo',\r\n\t\t\t\ttype: 'tel', //change back to phoneNumber when formbuilder is updated\r\n\t\t\t\tlabel: t('PhoneNumber'),\r\n\t\t\t\tvalue: data.mobilePhoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t\tlabel: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country, //Add this class for now when using type \"tel\"\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'password',\r\n\t\t\t\tdescription: t('PasswordDescription'),\r\n\t\t\t\ttype: 'password',\r\n\t\t\t\tlabel: t('Password'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'repeatPassword',\r\n\t\t\t\ttype: 'password',\r\n\t\t\t\tlabel: t('RepeatPassword'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const ContactForm = () => {\r\n\tconst { t } = useTranslation()\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'ContactForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'subject',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Subject'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'body',\r\n\t\t\t\ttype: 'textarea',\r\n\t\t\t\tlabel: t('Message'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationFormFi = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:LoanInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues, getAllCountriesUsingMarketSpecificSorting } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport appConfig from 'app.config'\r\n\r\nexport const LoanInformationFormEe = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n {\r\n controlName: 'email',\r\n type: 'text',\r\n label: t('forms:Email'),\r\n col: 12,\r\n value: data.email,\r\n visible: true,\r\n\t\t\t\tmaxLength:254,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[_a-z0-9-]+(\\\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\\\.[a-z0-9-]+)*(\\\\.[a-z]{2,6})$',\r\n\t\t\t\t\t\tmessage: t('ValidateEmailInvalid'),\r\n\t\t\t\t\t},\t\r\n\t\t\t\t],\r\n },\r\n {\r\n controlName: 'phoneNumber',\r\n type: 'text',\r\n label: t('forms:PhoneNumber'),\r\n col: 12,\r\n value: data.phoneNumber,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\r\n {\r\n code: 'MustBeNumeric',\r\n value: '^[0-9]+$',\r\n message: t('InvalidPhone'),\r\n }, \r\n {\r\n code: 'MustMatchPattern',\r\n value: '^\\\\+?37((2\\\\d{7,8})|([01]\\\\d{8}))$',\r\n message: t('InvalidPhone'),\r\n },\t\t\t\t\t \r\n ], \r\n }, \r\n {\r\n\t\t\t\toptions: getAllCountriesUsingMarketSpecificSorting(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'country',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:CountryOfResidence'),\r\n\t\t\t\tvalue: data.address.country,\r\n\t\t\t\tmultiple: false,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n {\r\n controlName: 'street',\r\n type: 'text',\r\n label: t('forms:Street'),\r\n col: 12,\r\n value: data.address.street,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n },\r\n {\r\n controlName: 'postalCode',\r\n type: 'text',\r\n label: t('forms:PostalCode'),\r\n col: 12,\r\n value: data.address.postalCode,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n },\r\n {\r\n controlName: 'city',\r\n type: 'text',\r\n label: t('forms:City'),\r\n col: 12,\r\n value: data.address.city,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n },\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationFormLv = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'email',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Email'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.email,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[_a-z0-9-]+(\\\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\\\.[a-z0-9-]+)*(\\\\.[a-z]{2,6})$',\r\n\t\t\t\t\t\tmessage: t('ValidateEmailInvalid'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'phoneNumber',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:PhoneNumber'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.phoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 15,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustBeNumeric',\r\n\t\t\t\t\t\tvalue: '^[0-9]+$',\r\n\t\t\t\t\t\tmessage: t('InvalidPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^\\\\+?371\\\\d{8}$',\r\n\t\t\t\t\t\tmessage: t('InvalidPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationFormLt = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'email',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Email'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data?.email,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[_a-z0-9-]+(\\\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\\\.[a-z0-9-]+)*(\\\\.[a-z]{2,6})$',\r\n\t\t\t\t\t\tmessage: t('ValidateEmailInvalid'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'phoneNumber',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:PhoneNumber'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data?.phoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustBeNumeric',\r\n\t\t\t\t\t\tvalue: '^[0-9]+$',\r\n\t\t\t\t\t\tmessage: t('InvalidPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^\\\\+?370\\\\d{8}$',\r\n\t\t\t\t\t\tmessage: t('InvalidPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from 'shared/utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n} from 'shared/constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationFormFi = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:DepositInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDepositsOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:PurposeOfDepositsOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDepositsOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'purposeOfDeposits',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySourceOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:AssetsFromOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySourceOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'moneySource',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t// This is due to duplicated translation strings with different\r\n\t\t\t\t// content regarding choosen language\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Yes',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'YesGuardian',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesGuardian'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Children',\r\n\t\t\t\t\t\tlabel: t('dropdown:Children'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Other',\r\n\t\t\t\t\t\tlabel: t('dropdown:OtherDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'depositOwner',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:DepositOwner'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].depositOwner,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcol: 12,\r\n\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from '../../interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n\tGetExpectedWithdrawalsAmountOptions,\r\n\tGetExpectedDepositsAmountOptions,\r\n} from '../../utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n\tOccupationType,\r\n\tDepositOwner,\r\n} from '../../constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationFormNo = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: 'Third',\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tDepositOwner,\r\n\t\t\t\t\tPropertyType.DepositOwner,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'depositOwner',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:DepositOwner'),\r\n\t\t\t\tvalue: data.deposits[0].depositOwner,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetExpectedDepositsAmountOptions(),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetExpectedWithdrawalsAmountOptions(),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('forms:No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('forms:Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nimport { checkIsMobile } from 'shared/utils/helpers'\r\n\r\ninterface ISddCustomer {\r\n\tfirstName: string\r\n\tlastName: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tpostalCode: string\r\n\tcity: string\r\n\tbankInfoList: IBankInfoProps[] | []\r\n}\r\n\r\nexport interface IBankInfoProps {\r\n\tsenderVIBAN: string\r\n\tsenderBIC: string\r\n}\r\n\r\nexport const CustomerInformationFormSddDE_AT = (data: ISddCustomer) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst [isMobile] = React.useState(checkIsMobile())\r\n\r\n\tconst MapIban = (items: IBankInfoProps[]) => {\r\n\t\tlet list: any[] = []\r\n\t\tif (items.length !== undefined || items.length !== 0) {\r\n\t\t\titems.map((item: any) =>\r\n\t\t\t\tlist.push({ value: item.senderIban, label: item.senderIban })\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\treturn list\r\n\t\t}\r\n\t\treturn list\r\n\t}\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'CustomerInformationSDD',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.firstName',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Firstname'),\r\n\t\t\t\tvalue: data.firstName,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.lastName',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Lastname'),\r\n\t\t\t\tvalue: data.lastName,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.street',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Street'),\r\n\t\t\t\tvalue: data.street,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 50,\r\n\t\t\t\tcol: isMobile ? 12 : 9,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: false,\r\n\t\t\t\tcontrolName: 'customer.houseNumber',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Nr'),\r\n\t\t\t\tvalue: data.houseNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: isMobile ? 12 : 3,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.postalCode',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('Zip'),\r\n\t\t\t\tvalue: data.postalCode,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: isMobile ? 12 : 4,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.city',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('City'),\r\n\t\t\t\tvalue: data.city,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: isMobile ? 12 : 8,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer-information',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tdescription: t('SDDCustomerDesc'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: MapIban(data.bankInfoList),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.iban',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('IBAN'),\r\n\t\t\t\tplaceholder: t('IBAN'),\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tdescription: t('SDDIbanDesc'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tdisabled: false,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const CashToAccountForm = () => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'CashToAccountForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'ibanDE',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('CashToAccountIban'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '\\\\b^BE\\\\d{14}\\\\b$|\\\\b^BG\\\\s?[a-zA-Z0-9]{20}\\\\b$|\\\\b^DK\\\\d{16}\\\\b$|\\\\b^DE\\\\d{20}\\\\b$|\\\\b^EE\\\\d{18}\\\\b$|\\\\b^FI\\\\d{16}\\\\b$|\\\\b^GR\\\\d{25}\\\\b$|\\\\b^IE\\\\s?[a-zA-Z0-9]{20}\\\\b$|\\\\b^IT\\\\s?[a-zA-Z0-9]{25}\\\\b$|\\\\b^HR\\\\d{19}\\\\b$|\\\\b^LV\\\\s?[a-zA-Z0-9]{19}\\\\b$|\\\\b^LU\\\\d{18}\\\\b$|\\\\b^MT\\\\s?[a-zA-Z0-9]{29}\\\\b$|\\\\b^NL\\\\s?[a-zA-Z0-9]{16}\\\\b$|\\\\b^AT\\\\d{18}\\\\b$|\\\\b^PL\\\\d{26}\\\\b$|\\\\b^PT\\\\d{26}\\\\b$|\\\\b^RO\\\\s?[a-zA-Z0-9]{22}\\\\b$|\\\\b^SE\\\\d{22}\\\\b$|\\\\b^SK\\\\d{22}\\\\b$|\\\\b^SI\\\\d{17}\\\\b$|\\\\b^ES\\\\d{22}\\\\b$|\\\\b^CZ\\\\d{22}\\\\b$|\\\\b^HU\\\\d{26}\\\\b$|\\\\b^CY\\\\d{26}\\\\b$',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgSddIban'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'amount',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('CashToAccountAmount'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '\\\\b^([5-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|10000)\\\\b$',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgSddAmount'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'termsAndConditions',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: `\r\n\t\t\t\t\t\t${t('CashToAccountTermsAndConditions')}\r\n\t\t\t\t\t`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport queryString from 'query-string'\r\nimport { CookieType } from 'shared/constants/cookieTypes'\r\n\r\nexport const OtpStartFormEs = (data: any) => {\r\n\tconst { t } = useTranslation([TranslationFile.Forms])\r\n\r\n\tconst getQueryValues = () => {\r\n\t\treturn queryString.parseUrl(\r\n\t\t\tsessionStorage.getItem(CookieType.RedirectUrl) ??\r\n\t\t\t\twindow.location.search.toLowerCase(),\r\n\t\t\t{ parseNumbers: true }\r\n\t\t)\r\n\t}\r\n\tconst applicationId = getQueryValues().query.applicationid\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'LoginEs1',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: 'es',\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'applicationId',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('forms:ApplicationId'),\r\n\t\t\t\tvalue: applicationId,\r\n\t\t\t\treadonly: applicationId !== undefined,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[0-9]*$',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgApplicationId'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'ssn',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Ssn'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\t// NIF, NIE, CIF formats\r\n\t\t\t\t\t\tvalue: '([a-z]|[A-Z]|[0-9])[0-9]{7}([a-z]|[A-Z]|[0-9])',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgSsn'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'birthDate',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:BirthDate'),\r\n\t\t\t\tdescription: 'DD/MM/YYYY',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^(\\\\b([0][1-9]|[12][0-9]|3[0-1]|[1-9])\\\\b)([/])(\\\\b([0][1-9]|[1][0-2]|[0-9]|[1-9])\\\\b)([/])(\\\\b([12]([9]|[0])[0-9][0-9])\\\\b)$',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgBirthdate'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const OtpCompleteForm = (data: any) => {\r\n\tconst { t } = useTranslation([TranslationFile.Forms])\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'LoginEs',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: 'es',\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'otp',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:OtpCode'),\r\n\t\t\t\tdescription: t('forms:EnterReceivedOtpCode'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'Invalid',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgOtp'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from '../../interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from '../../utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n} from '../../constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationFormDe = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: 'Third',\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('dropdown:No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('dropdown:Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { CustomerForm } from '../constants/formTypes'\r\nimport { FormWrapper } from './formWrapper'\r\nimport { DepositInformationForm } from 'original/formBuilder/forms/depositInformationForm'\r\nimport { PepInformationFormDE_NO } from './forms/pepInformationFormDE_NO'\r\nimport { PepInformationForm } from 'original/formBuilder/forms/pepInformationForm'\r\nimport { PepInformationBalticForm } from 'original/formBuilder/forms/pepInformationBalticForm'\r\nimport { LoanInformationForm } from 'original/formBuilder/forms/loanInformationForm'\r\nimport { SetPasswordIdCheckForm } from './forms/setPasswordIdCheckForm'\r\nimport { ContactForm } from './forms/contactForm'\r\nimport appConfig from 'app.config'\r\nimport { LoanInformationFormFi } from 'original/formBuilder/forms/loanInformationFormFi'\r\nimport { LoanInformationFormEe } from 'original/formBuilder/forms/loanInformationFormEe'\r\nimport { LoanInformationFormLv } from 'original/formBuilder/forms/loanInformationFormLv'\r\nimport { LoanInformationFormLt } from 'original/formBuilder/forms/loanInformationFormLt'\r\nimport { DepositInformationFormFi } from 'original/formBuilder/forms/depositInformationFormFi'\r\nimport { DepositInformationFormNo } from './forms/depositInformationFormNo'\r\nimport { CustomerInformationFormSddDE_AT } from './forms/customerInformationFormSddDE_AT'\r\nimport { CashToAccountForm } from './forms/cashToAccountFormDe'\r\nimport { OtpStartFormEs } from 'auth/formBuilder/forms/otpStartFormEs'\r\nimport { OtpCompleteForm } from 'auth/formBuilder/forms/otpCompleteForm'\r\nimport { DepositInformationFormDe } from './forms/depositInformationFormDe'\r\n\r\nexport function FormFactory(formType: CustomerForm, formMeta: any, data?: any) {\r\n\tconst country = appConfig.country\r\n\tswitch (formType) {\r\n\t\tcase CustomerForm.DepositForm:\r\n\t\t\tif (country === 'se')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[DepositInformationForm(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'fi')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[DepositInformationFormFi(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'no')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tDepositInformationFormNo(data),\r\n\t\t\t\t\t\tPepInformationFormDE_NO(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'de')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tDepositInformationFormDe(data),\r\n\t\t\t\t\t\tPepInformationFormDE_NO(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tbreak\r\n\t\tcase CustomerForm.LoanForm:\r\n\t\t\tif (country === 'se')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[LoanInformationForm(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'fi')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[LoanInformationFormFi(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'ee')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tLoanInformationFormEe(data),\r\n\t\t\t\t\t\tPepInformationBalticForm(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'lv')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tLoanInformationFormLv(data),\r\n\t\t\t\t\t\tPepInformationBalticForm(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'lt')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tLoanInformationFormLt(data),\r\n\t\t\t\t\t\tPepInformationBalticForm(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tbreak\r\n\t\tcase CustomerForm.CustomerInformationFormSDD:\r\n\t\t\treturn FormWrapper(\r\n\t\t\t\t[CustomerInformationFormSddDE_AT(data)],\r\n\t\t\t\tformMeta,\r\n\t\t\t)\r\n\t\tcase CustomerForm.SetPasswordIdCheckForm:\r\n\t\t\treturn FormWrapper([SetPasswordIdCheckForm(data)], formMeta)\r\n\t\tcase CustomerForm.ContactForm:\r\n\t\t\treturn FormWrapper([ContactForm()], formMeta)\r\n\t\tcase CustomerForm.CashToAccountForm:\r\n\t\t\treturn FormWrapper([CashToAccountForm()], formMeta)\r\n\t\tcase CustomerForm.OtpStartFormEs:\r\n\t\t\treturn FormWrapper([OtpStartFormEs(data)], formMeta)\r\n\t\tcase CustomerForm.OtpCompleteForm:\r\n\t\t\treturn FormWrapper([OtpCompleteForm(data)], formMeta)\r\n\t\tdefault:\r\n\t\t\treturn Object.assign({})\r\n\t}\r\n}\r\n\r\nconst composeForm = (formPartials: any, formMeta: any) => {\r\n\treturn FormWrapper(formPartials, formMeta)\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\n\r\nimport {\r\n\tCircleSpinner,\r\n\tCustomerForm,\r\n\tgetLanguageLocale,\r\n\tgetMarket,\r\n\tBoxInfo,\r\n} from 'shared'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport { MspDispatchContext, MSP_ACTIONS } from 'shared/components/Multistep'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\nimport { IBankInfoProps } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nexport const SDDCustomerInformationForm = () => {\r\n\tconst { msp, dispatchMsp } = useContext(MspDispatchContext)\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\r\n\tconst { t } = useTranslation()\r\n\tconst [err, setErr] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [date, setDate] = useState()\r\n\r\n\tconst formSchema = FormFactory(\r\n\t\tCustomerForm.CustomerInformationFormSDD,\r\n\t\t{\r\n\t\t\tformName: 'customerInformationFormSdd',\r\n\t\t\tblockName: 'customerInformationFormSdd',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: 'Fortfahren zu den AGB',\r\n\t\t},\r\n\t\tsdd\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: 'SDDCustomerInfoSubtitle',\r\n\t\t\t},\r\n\t\t})\r\n\t\tgetDate()\r\n\t}, [dispatchSdd])\r\n\r\n\tfunction getDate() {\r\n\t\tlet date = new Date().toLocaleDateString(getLanguageLocale())\r\n\t\treturn setDate(date)\r\n\t}\r\n\r\n\tconst proceed = (values: any) => {\r\n\t\tsetLoading(true)\r\n\r\n\t\tif (values.customer.iban !== null && values.customer.iban !== '') {\r\n\t\t\tconst bankInfoItem = sdd.bankInfoList.find(\r\n\t\t\t\t({ senderIban }: IBankInfoProps) =>\r\n\t\t\t\t\tsenderIban === values.customer.iban\r\n\t\t\t)\r\n\t\t\tsetErr(false)\r\n\t\t\tdispatchSdd({\r\n\t\t\t\ttype: SDD_ACTIONS.SET_BANK_INFO,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\t...sdd,\r\n\t\t\t\t\tdebtorIban: values.customer.iban,\r\n\t\t\t\t\tdebtorBic: bankInfoItem.senderBic,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\tdispatchMsp({\r\n\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\t...msp,\r\n\t\t\t\t\tindex: msp.index + 1,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t})\r\n\t\t\tsetLoading(false)\r\n\t\t} else {\r\n\t\t\tsetErr(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('CurrentDate')}:
\r\n\t\t\t\t\t\t\t
{date}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('CreditorId')}:
\r\n\t\t\t\t\t\t\t
SE41CCC5561581041
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tTF Bank AB\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\tBox 947\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t501 10 Borås
\r\n\t\t\t\t\t\tSweden\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{!loading && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t proceed(values)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{err && }\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('SDDCustomerInformationText')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{loading && }\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useEffect, useState, useContext, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { BoxInfo, CircleSpinner, getCountryA3 } from 'shared'\r\nimport { MspDispatchContext, MSP_ACTIONS } from 'shared/components/Multistep'\r\n\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\n\r\nexport const SDDTermsAndConditions = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\tconst { msp, dispatchMsp } = useContext(MspDispatchContext) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n\tconst [terms, setTerms] = useState('asd')\r\n\tconst [approveTermsAndConditions, setApproveTermsAndConditions] =\r\n\t\tuseState(false)\r\n\tconst [error, setError] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tlet country = getCountryA3()\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_APPROVE_TERMS,\r\n\t\t\tpayload: {\r\n\t\t\t\tapprovedTerms: approveTermsAndConditions,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [approveTermsAndConditions, dispatchSdd])\r\n\r\n\tconst getActivePct = useCallback(async (country: string) => {\r\n\t\ttry {\r\n\t\t\tsddService\r\n\t\t\t\t.getSddActivePct(country)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tsetTerms(response.data.termsAndConditions)\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.warn(error)\r\n\t\t\t\t\tsetError(true)\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn('Error catch:', error)\r\n\t\t\tsetError(true)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: 'SDDTermsSubtitle',\r\n\t\t\t},\r\n\t\t})\r\n\t\tdispatchMsp({\r\n\t\t\ttype: MSP_ACTIONS.SET_NEXTBUTTON_TEXT,\r\n\t\t\tpayload: {\r\n\t\t\t\tnextButtonText: 'Fortfahren zur Verifizierung',\r\n\t\t\t},\r\n\t\t})\r\n\t\tsetLoading(true)\r\n\t\tif (country) {\r\n\t\t\ttry {\r\n\t\t\t\tgetActivePct(country)\r\n\t\t\t} catch (e) {\r\n\t\t\t\tsetError(true)\r\n\t\t\t}\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [dispatchSdd, dispatchMsp, country, getActivePct])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { BoxInfo } from 'shared/index'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport {\r\n\tIMenuDropdownItem,\r\n\tmenuItems,\r\n} from 'selfServicePortal/constants/menuItems'\r\nimport { AuthContext } from '../SDDAuthentication'\r\n\r\nexport const AuthError = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { setAuthSelect, setErr, setOtpCode } = useContext(AuthContext)\r\n\tconst { changeComponent } = useContext(SspContext)\r\n\r\n\tconst goBack = (item: IMenuDropdownItem) => {\r\n\t\tchangeComponent(item)\r\n\t}\r\n\r\n\tconst tryAgain = () => {\r\n\t\tsetOtpCode('')\r\n\t\tsetAuthSelect(true)\r\n\t\tsetErr(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t('TryAgain')}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t goBack(menuItems[0].items[0])}>\r\n\t\t\t\t\t{t('BackToStart')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmailActive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32.821,\n height: 32.68,\n viewBox: \"0 0 32.821 32.68\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_222\",\n \"data-name\": \"Group 222\",\n transform: \"translate(-761 -814.602)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n transform: \"translate(759 814.647)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n transform: \"translate(3 1.005)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_39\",\n \"data-name\": \"Line 39\",\n y1: 10.145,\n x2: 9.434,\n transform: \"translate(0.415 19.978)\",\n fill: \"#fff\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_40\",\n \"data-name\": \"Line 40\",\n x1: 9.434,\n y1: 10.145,\n transform: \"translate(20.971 19.978)\",\n fill: \"#fff\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_220\",\n \"data-name\": \"Path 220\",\n d: \"M31.821,57.43,16.411,69.391l-4.857-3.771L1,57.43\",\n transform: \"translate(-1 -45.096)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_221\",\n \"data-name\": \"Path 221\",\n d: \"M27.978,41.78,31.557,44.6a.7.7,0,0,1,.264.544v16.1A2.258,2.258,0,0,1,29.565,63.5H3.256A2.258,2.258,0,0,1,1,61.239V45.3a.7.7,0,0,1,.26-.542l3.323-2.649\",\n transform: \"translate(-1 -32.867)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_222\",\n \"data-name\": \"Path 222\",\n d: \"M34.86,7.2l7.581-6.046a.691.691,0,0,1,.859,0l7.6,5.983\",\n transform: \"translate(-27.459 -1.005)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_223\",\n \"data-name\": \"Path 223\",\n d: \"M34.86,29.35H53.908a.566.566,0,0,1,.568.566v8.457\",\n transform: \"translate(-27.459 -23.154)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_224\",\n \"data-name\": \"Path 224\",\n d: \"M18,38.373V30.039a.689.689,0,0,1,.689-.689h2.995\",\n transform: \"translate(-14.284 -23.154)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"*\",\n transform: \"translate(19.062 14.913)\",\n fill: \"#de996f\",\n fontSize: 6,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 0\n }, \"*\")))), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_43\",\n \"data-name\": \"Line 43\",\n x2: 7,\n transform: \"translate(771.5 827.5)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_225\",\n \"data-name\": \"Path 225\",\n d: \"M0,0H10\",\n transform: \"translate(772.5 831.967)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmailActive);\nexport default __webpack_public_path__ + \"static/media/email-active.6c9c29534d65732a72ed4a606640fd56.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmailInactive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32.821,\n height: 32.68,\n viewBox: \"0 0 32.821 32.68\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_230\",\n \"data-name\": \"Group 230\",\n transform: \"translate(-761 -814.602)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n transform: \"translate(759 814.647)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n transform: \"translate(3 1.005)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_39\",\n \"data-name\": \"Line 39\",\n y1: 10.145,\n x2: 9.434,\n transform: \"translate(0.415 19.978)\",\n fill: \"#fff\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_40\",\n \"data-name\": \"Line 40\",\n x1: 9.434,\n y1: 10.145,\n transform: \"translate(20.971 19.978)\",\n fill: \"#fff\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_220\",\n \"data-name\": \"Path 220\",\n d: \"M31.821,57.43,16.411,69.391l-4.857-3.771L1,57.43\",\n transform: \"translate(-1 -45.096)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_221\",\n \"data-name\": \"Path 221\",\n d: \"M27.978,41.78,31.557,44.6a.7.7,0,0,1,.264.544v16.1A2.258,2.258,0,0,1,29.565,63.5H3.256A2.258,2.258,0,0,1,1,61.239V45.3a.7.7,0,0,1,.26-.542l3.323-2.649\",\n transform: \"translate(-1 -32.867)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_222\",\n \"data-name\": \"Path 222\",\n d: \"M34.86,7.2l7.581-6.046a.691.691,0,0,1,.859,0l7.6,5.983\",\n transform: \"translate(-27.459 -1.005)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_223\",\n \"data-name\": \"Path 223\",\n d: \"M34.86,29.35H53.908a.566.566,0,0,1,.568.566v8.457\",\n transform: \"translate(-27.459 -23.154)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_224\",\n \"data-name\": \"Path 224\",\n d: \"M18,38.373V30.039a.689.689,0,0,1,.689-.689h2.995\",\n transform: \"translate(-14.284 -23.154)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"*\",\n transform: \"translate(19.062 14.913)\",\n fill: \"#de996f\",\n fontSize: 6,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 0\n }, \"*\")))), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_43\",\n \"data-name\": \"Line 43\",\n x2: 7,\n transform: \"translate(771.5 827.5)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_225\",\n \"data-name\": \"Path 225\",\n d: \"M0,0H10\",\n transform: \"translate(772.5 831.967)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmailInactive);\nexport default __webpack_public_path__ + \"static/media/email-inactive.3037eedbecb0e0dd978fbf18746fdc00.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSmsActive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 33.163,\n height: 31.697,\n viewBox: \"0 0 33.163 31.697\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_233\",\n \"data-name\": \"Group 233\",\n transform: \"translate(-34.747 -525.152)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"chat-right-text\",\n transform: \"translate(34.747 525.152)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_208\",\n \"data-name\": \"Path 208\",\n d: \"M4.145,2.073H29.018A2.073,2.073,0,0,1,31.09,4.145V28.16l-4.145-4.145a4.145,4.145,0,0,0-2.93-1.215H4.145a2.073,2.073,0,0,1-2.073-2.073V4.145A2.073,2.073,0,0,1,4.145,2.073ZM29.018,0a4.145,4.145,0,0,1,4.145,4.145V30.661a1.036,1.036,0,0,1-1.77.731L25.48,25.479a2.073,2.073,0,0,0-1.466-.607H4.145A4.145,4.145,0,0,1,0,20.727V4.145A4.145,4.145,0,0,1,4.145,0Z\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_209\",\n \"data-name\": \"Path 209\",\n d: \"M6.75,12.968a1.036,1.036,0,0,1,1.036-1.036H26.441a1.036,1.036,0,0,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,12.968Zm0,5.182a1.036,1.036,0,0,1,1.036-1.036H18.15a1.036,1.036,0,1,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,18.15Z\",\n transform: \"translate(-0.532 -0.532)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n })), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_42\",\n \"data-name\": \"Line 42\",\n x2: 12.541,\n transform: \"translate(41.87 532.349)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"* \",\n transform: \"matrix(-1, 0, 0, 1, 59.911, 527.849)\",\n fill: \"#de996f\",\n fontSize: 7,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 8\n }, \"* \")))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmsActive);\nexport default __webpack_public_path__ + \"static/media/sms-active.3f61bc1bb795dba8a487c17c045b9758.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSmsInactive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 33.163,\n height: 31.697,\n viewBox: \"0 0 33.163 31.697\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_223\",\n \"data-name\": \"Group 223\",\n transform: \"translate(-993.837 -821.303)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"chat-right-text\",\n transform: \"translate(993.837 821.303)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_208\",\n \"data-name\": \"Path 208\",\n d: \"M4.145,2.073H29.018A2.073,2.073,0,0,1,31.09,4.145V28.16l-4.145-4.145a4.145,4.145,0,0,0-2.93-1.215H4.145a2.073,2.073,0,0,1-2.073-2.073V4.145A2.073,2.073,0,0,1,4.145,2.073ZM29.018,0a4.145,4.145,0,0,1,4.145,4.145V30.661a1.036,1.036,0,0,1-1.77.731L25.48,25.479a2.073,2.073,0,0,0-1.466-.607H4.145A4.145,4.145,0,0,1,0,20.727V4.145A4.145,4.145,0,0,1,4.145,0Z\",\n fill: \"#857f7b\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_209\",\n \"data-name\": \"Path 209\",\n d: \"M6.75,12.968a1.036,1.036,0,0,1,1.036-1.036H26.441a1.036,1.036,0,0,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,12.968Zm0,5.182a1.036,1.036,0,0,1,1.036-1.036H18.15a1.036,1.036,0,1,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,18.15Z\",\n transform: \"translate(-0.532 -0.532)\",\n fill: \"#857f7b\",\n fillRule: \"evenodd\"\n })), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_42\",\n \"data-name\": \"Line 42\",\n x2: 12.541,\n transform: \"translate(1000.959 828.5)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"* \",\n transform: \"matrix(-1, 0, 0, 1, 1019, 824)\",\n fill: \"#de996f\",\n fontSize: 7,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 8\n }, \"* \")))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmsInactive);\nexport default __webpack_public_path__ + \"static/media/sms-inactive.eaabdc9087ae514a3545ef688be7162d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgMobileappActive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 26.703,\n height: 42.724,\n viewBox: \"0 0 26.703 42.724\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_225\",\n \"data-name\": \"Group 225\",\n transform: \"translate(-1124 -811.276)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_210\",\n \"data-name\": \"Path 210\",\n d: \"M28.112,2.67H12.091a2.67,2.67,0,0,0-2.67,2.67V37.384a2.67,2.67,0,0,0,2.67,2.67H28.112a2.67,2.67,0,0,0,2.67-2.67V5.341A2.67,2.67,0,0,0,28.112,2.67ZM12.091,0A5.341,5.341,0,0,0,6.75,5.341V37.384a5.341,5.341,0,0,0,5.341,5.341H28.112a5.341,5.341,0,0,0,5.341-5.341V5.341A5.341,5.341,0,0,0,28.112,0Z\",\n transform: \"translate(1117.25 811.276)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_211\",\n \"data-name\": \"Path 211\",\n d: \"M18.42,32.341a2.67,2.67,0,1,0-2.67-2.67A2.67,2.67,0,0,0,18.42,32.341Z\",\n transform: \"translate(1118.931 816.319)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_165\",\n \"data-name\": \"Rectangle 165\",\n width: 19,\n height: 6,\n rx: 1,\n transform: \"translate(1128 818)\",\n fill: \"#de996f\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMobileappActive);\nexport default __webpack_public_path__ + \"static/media/mobileapp-active.221d329a1ae42e26b986a14d5d0fb5cd.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgMobileappInactive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 26.703,\n height: 42.724,\n viewBox: \"0 0 26.703 42.724\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_232\",\n \"data-name\": \"Group 232\",\n transform: \"translate(-1124 -811.276)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_210\",\n \"data-name\": \"Path 210\",\n d: \"M28.112,2.67H12.091a2.67,2.67,0,0,0-2.67,2.67V37.384a2.67,2.67,0,0,0,2.67,2.67H28.112a2.67,2.67,0,0,0,2.67-2.67V5.341A2.67,2.67,0,0,0,28.112,2.67ZM12.091,0A5.341,5.341,0,0,0,6.75,5.341V37.384a5.341,5.341,0,0,0,5.341,5.341H28.112a5.341,5.341,0,0,0,5.341-5.341V5.341A5.341,5.341,0,0,0,28.112,0Z\",\n transform: \"translate(1117.25 811.276)\",\n fill: \"#857f7b\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_211\",\n \"data-name\": \"Path 211\",\n d: \"M18.42,32.341a2.67,2.67,0,1,0-2.67-2.67A2.67,2.67,0,0,0,18.42,32.341Z\",\n transform: \"translate(1118.931 816.319)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_165\",\n \"data-name\": \"Rectangle 165\",\n width: 19,\n height: 6,\n rx: 1,\n transform: \"translate(1128 818)\",\n fill: \"#de996f\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMobileappInactive);\nexport default __webpack_public_path__ + \"static/media/mobileapp-inactive.1c0b2759e45ec72406c0eb05bb2a4c82.svg\";\nexport { ForwardRef as ReactComponent };","export interface ISddEnrollmentInitiate {\r\n\tcustomerId: string\r\n\ttitle: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\temailAddress: string\r\n\tphoneNumber: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\tmarket: Market\r\n}\r\n\r\nexport interface ISddEnrollmentAuthenticate {\r\n\tsessionId: string\r\n\tcustomerId: string\r\n\totpCode: string\r\n}\r\n\r\nexport interface ISddEnrollmentCompleteResponse {\r\n\tmandateDocument: number\r\n\tmandateDocumentId: string\r\n}\r\n\r\nexport interface IOtpSessionResponse {\r\n\tdistributionChannel: OtpDistributionChannel\r\n\totpDistributedToContactInfo: string\r\n\tsessionId: string\r\n\texpiryAtUtc: string\r\n}\r\n\r\nexport interface ICompleteSddEnrollmentRequest {\r\n\tsessionId: string\r\n\tcustomerId: string\r\n\totpCode: string\r\n\tdebtorIban: string\r\n\tdebtorBic: string\r\n\tsddWithdrawalType: SddWithdrawalType\r\n\twithdrawalAmount: number\r\n}\r\n\r\nexport interface IResendOtpRequest {\r\n\tsessionId: string\r\n\tcustomerId: string\r\n\ttitle: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\temailAddress: string\r\n\tphoneNumber: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\tmarket: Market\r\n}\r\n\r\nexport interface IBankInfoProps {\r\n\tsenderIban: string\r\n\tsenderBic: string\r\n}\r\n\r\nexport interface ISddEligible {\r\n\teligible: boolean\r\n\tactiveMandate: boolean | null\r\n}\r\n\r\nexport interface ISddMandate {\r\n\tid: number\r\n\tsignDate: string\r\n\tvalidFromDate: string\r\n\tvalidToDate: string\r\n\tstate: SddState\r\n\tstateComment: string\r\n\twithdrawalType: SddWithdrawalType\r\n\twithdrawalAmount: number\r\n\tmandateDocumentId: string\r\n\tpartyId: string\r\n\tdebtorIban: string\r\n\tdebtorName: string\r\n\tdebtorBic: string\r\n}\r\n\r\nexport enum SddState {\r\n\tActive = 'Active',\r\n\tObsolete = 'Obsolete',\r\n\tExpired = 'Expired',\r\n\tInactive = 'Inactive',\r\n\tEnrolled = 'Enrolled'\r\n}\r\n\r\nexport enum OtpDistributionChannel {\r\n\tUnknown = 'Unknown',\r\n\tEmail = 'Email',\r\n\tSMS = 'SMS',\r\n\tPushNotification = 'PushNotification',\r\n}\r\n\r\nexport enum Market {\r\n\tGlobal = 'Global',\r\n\tPoland = 'Poland',\r\n\tSweden = 'Sweden',\r\n\tFinland = 'Finland',\r\n\tNorway = 'Norway',\r\n\tEstonia = 'Estonia',\r\n\tLatvia = 'Latvia',\r\n\tGermany = 'Germany',\r\n\tAustria = 'Austria',\r\n\tLithuania = 'Lithuania',\r\n\tSpain = 'Spain',\r\n}\r\n\r\nexport enum SddWithdrawalType {\r\n\tUnknown = 'Unknown',\r\n\tMinimum = 'Minimum',\r\n\tFixed = 'Fixed',\r\n\tFull = 'Full',\r\n}\r\n","import React, { useState, useContext, useEffect } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\n\r\nimport email_active from 'img/auth-and-sign-icons/email-active.svg'\r\nimport email_inactive from 'img/auth-and-sign-icons/email-inactive.svg'\r\nimport sms_active from 'img/auth-and-sign-icons/sms-active.svg'\r\nimport sms_inactive from 'img/auth-and-sign-icons/sms-inactive.svg'\r\nimport mobileapp_active from 'img/auth-and-sign-icons/mobileapp-active.svg'\r\nimport mobileapp_inactive from 'img/auth-and-sign-icons/mobileapp-inactive.svg'\r\n\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../../SDDMultistepValues'\r\nimport { AuthContext } from '../SDDAuthentication'\r\n\r\ninterface IAuthenticationButtons {\r\n\totpDistributionChannel: OtpDistributionChannel\r\n\ticonActive: string\r\n\ticonInactive: string\r\n\ttitle: string\r\n\tclassName: string\r\n\tshow: boolean\r\n}\r\n\r\nconst otpAuthMethods: IAuthenticationButtons[] = [\r\n\t{\r\n\t\totpDistributionChannel: OtpDistributionChannel.Email,\r\n\t\ticonActive: email_active,\r\n\t\ticonInactive: email_inactive,\r\n\t\ttitle: 'SDDVerificationMethodEmail',\r\n\t\tclassName: 'email-otp',\r\n\t\tshow: true,\r\n\t},\r\n\t{\r\n\t\totpDistributionChannel: OtpDistributionChannel.SMS,\r\n\t\ticonActive: sms_active,\r\n\t\ticonInactive: sms_inactive,\r\n\t\ttitle: 'SDDVerificationMethodSms',\r\n\t\tclassName: 'sms-otp',\r\n\t\tshow: true,\r\n\t},\r\n\t{\r\n\t\totpDistributionChannel: OtpDistributionChannel.PushNotification,\r\n\t\ticonActive: mobileapp_active,\r\n\t\ticonInactive: mobileapp_inactive,\r\n\t\ttitle: 'SDDVerificationMethodApp',\r\n\t\tclassName: 'push-notification',\r\n\t\tshow: false,\r\n\t},\r\n]\r\n\r\nexport const AuthSelectButtons = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\tconst {\r\n\t\totpSessionResponse,\r\n\t\tsetOtpSessionResponse,\r\n\t\tsetLoading,\r\n\t\tsetErr,\r\n\t\tauthSelect,\r\n\t\tsetAuthSelect,\r\n\t} = useContext(AuthContext)\r\n\tconst [authType, setAuthType] = useState(\r\n\t\tOtpDistributionChannel.Unknown\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_AUTH_SELECT,\r\n\t\t\tpayload: {\r\n\t\t\t\tauthSelect: authSelect,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [authSelect, dispatchSdd])\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: 'SDDSelectVerificationMethodSubtitle',\r\n\t\t\t},\r\n\t\t})\r\n\t}, [dispatchSdd])\r\n\r\n\tasync function getAuthOtp() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tsddService\r\n\t\t\t\t.sddEnrollmentInitiate({\r\n\t\t\t\t\tcustomerId: sdd.customerId,\r\n\t\t\t\t\ttitle: sdd.title,\r\n\t\t\t\t\tfirstName: sdd.firstName,\r\n\t\t\t\t\tlastName: sdd.lastName,\r\n\t\t\t\t\temailAddress: sdd.emailAddress,\r\n\t\t\t\t\tphoneNumber: sdd.phoneNumber,\r\n\t\t\t\t\tdistributionChannel: authType,\r\n\t\t\t\t\tmarket: sdd.market,\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tsetOtpSessionResponse(response.data)\r\n\t\t\t\t\t\tsetAuthSelect(false)\r\n\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.warn(error)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\tsetErr(true)\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn(error)\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetErr(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function resendOtp() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tsddService\r\n\t\t\t\t.sddResendOtp({\r\n\t\t\t\t\tsessionId: sdd.sessionId,\r\n\t\t\t\t\tcustomerId: sdd.customerId,\r\n\t\t\t\t\ttitle: sdd.title,\r\n\t\t\t\t\tfirstName: sdd.firstName,\r\n\t\t\t\t\tlastName: sdd.lastName,\r\n\t\t\t\t\temailAddress: sdd.emailAddress,\r\n\t\t\t\t\tphoneNumber: sdd.phoneNumber,\r\n\t\t\t\t\tdistributionChannel: authType,\r\n\t\t\t\t\tmarket: sdd.market,\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tsetOtpSessionResponse(response.data)\r\n\t\t\t\t\t\tsetOtpData()\r\n\t\t\t\t\t\tsetAuthSelect(false)\r\n\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\tsetErr(true)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('Error catch:', error)\r\n\t\t\tsetErr(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setOtpData() {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_OTP_INFO,\r\n\t\t\tpayload: {\r\n\t\t\t\totpDistributedToContactInfo:\r\n\t\t\t\t\totpSessionResponse?.otpDistributedToContactInfo,\r\n\t\t\t\tsessionId: otpSessionResponse?.sessionId,\r\n\t\t\t\texpiryAtUtc: otpSessionResponse?.expiryAtUtc,\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n\r\n\tfunction setAuth(state: any) {\r\n\t\tsetLoading(true)\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DISTRIBUTION_CHANNEL,\r\n\t\t\tpayload: {\r\n\t\t\t\tdistributionChannel: authType,\r\n\t\t\t},\r\n\t\t})\r\n\t\tif (state.sessionId === '' || state.sessionId === undefined) {\r\n\t\t\tgetAuthOtp()\r\n\t\t} else {\r\n\t\t\tresendOtp()\r\n\t\t}\r\n\t}\r\n\r\n\tconst isActive = (method: OtpDistributionChannel) => method === authType\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t<>\r\n\t\t\t\t
{t('SDDSelectVerificationMethodText')}
\r\n\t\t\t\t
\r\n\t\t\t\t\t{otpAuthMethods.map((item) => {\r\n\t\t\t\t\t\tif (item.show) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tsetAuthType(item.otpDistributionChannel)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tButton name\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// eslint-disable-next-line array-callback-return\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t\t setAuth(sdd)}>\r\n\t\t\t\t\t{t('SendAuthenticationCode')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useContext, useState, useEffect, useCallback } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\n\r\nimport { formatTime } from 'shared/index'\r\nimport { MspDispatchContext, MSP_ACTIONS } from 'shared/components/Multistep'\r\n\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\nimport {\r\n\tISddEnrollmentCompleteResponse,\r\n\tOtpDistributionChannel,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../../SDDMultistepValues'\r\nimport { AuthContext } from '../SDDAuthentication'\r\n\r\nexport const maskedEmail = (email: string | undefined) => {\r\n\tif (email === undefined) {\r\n\t\treturn undefined\r\n\t}\r\n\tlet maskedEmailPart1\r\n\tlet maskedEmailPart2\r\n\tlet emailString = email\r\n\tlet firstLetter = emailString.substring(0, 1)\r\n\tlet middleAt = emailString.search(/@/)\r\n\tlet lastDot = emailString.search(/\\.(?:.(?!\\.))+$/)\r\n\r\n\tmaskedEmailPart1 = emailString.substring(1, middleAt - 1).replace(/./g, '*')\r\n\tmaskedEmailPart2 = emailString\r\n\t\t.substring(middleAt + 1, lastDot)\r\n\t\t.replace(/./g, '*')\r\n\r\n\treturn (\r\n\t\tfirstLetter +\r\n\t\tmaskedEmailPart1 +\r\n\t\temailString.substring(middleAt - 1, middleAt + 2) +\r\n\t\tmaskedEmailPart2 +\r\n\t\temailString.substring(lastDot, emailString.length)\r\n\t)\r\n}\r\n\r\nexport const maskedPhoneNr = (phoneNr: string | undefined) => {\r\n\tif (phoneNr === undefined) {\r\n\t\treturn undefined\r\n\t}\r\n\tlet maskedNr\r\n\tlet phoneNumber = phoneNr\r\n\tlet firstThree = phoneNumber.substring(0, 3)\r\n\tlet lastThree = phoneNumber.substring(phoneNumber.length - 3)\r\n\tmaskedNr = phoneNumber\r\n\t\t.substring(3, phoneNumber.length - 3)\r\n\t\t.replace(/\\d/g, '*')\r\n\treturn firstThree + maskedNr + lastThree\r\n}\r\n\r\nexport const AuthValidation = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { msp, dispatchMsp } = useContext(MspDispatchContext)\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\tconst {\r\n\t\tsetAuthSelect,\r\n\t\totpCode,\r\n\t\tsetOtpCode,\r\n\t\tsetLoading,\r\n\t\tsetErr,\r\n\t\totpSessionResponse,\r\n\t} = useContext(AuthContext)\r\n\tconst [time, setTime] = useState()\r\n\tconst [timeOut, setTimeOut] = useState(false)\r\n\r\n\tconst CountdownTimer = useCallback(\r\n\t\t(time: string) => {\r\n\t\t\tfunction updateRemainingTime() {\r\n\t\t\t\tconst difference = +new Date(time) - +new Date()\r\n\t\t\t\tlet remaining\r\n\t\t\t\tif (difference > 0) {\r\n\t\t\t\t\tconst parts: any = {\r\n\t\t\t\t\t\tdays: Math.floor(difference / (1000 * 60 * 60 * 24)),\r\n\t\t\t\t\t\thours: Math.floor((difference / (1000 * 60 * 60)) % 24),\r\n\t\t\t\t\t\tminutes: Math.floor((difference / 1000 / 60) % 60),\r\n\t\t\t\t\t\tseconds: formatTime(\r\n\t\t\t\t\t\t\tMath.floor((difference / 1000) % 60),\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t}\r\n\t\t\t\t\tremaining = `${parts.minutes}:${parts.seconds} ${t(\r\n\t\t\t\t\t\t'Minutes',\r\n\t\t\t\t\t)}`\r\n\t\t\t\t} else {\r\n\t\t\t\t\tremaining = `${t('OtpTimeOut')}`\r\n\t\t\t\t\tsetTimeOut(true)\r\n\t\t\t\t}\r\n\t\t\t\treturn setTime(remaining)\r\n\t\t\t}\r\n\t\t\treturn updateRemainingTime()\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst setOtpData = useCallback(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_OTP_INFO,\r\n\t\t\tpayload: {\r\n\t\t\t\totpDistributedToContactInfo:\r\n\t\t\t\t\totpSessionResponse?.otpDistributedToContactInfo,\r\n\t\t\t\tsessionId: otpSessionResponse?.sessionId,\r\n\t\t\t\texpiryAtUtc: otpSessionResponse?.expiryAtUtc,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [otpSessionResponse, dispatchSdd])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetOtpData()\r\n\t\tif (otpSessionResponse?.expiryAtUtc !== undefined) {\r\n\t\t\tconst interval = window.setInterval(() => {\r\n\t\t\t\tCountdownTimer(otpSessionResponse?.expiryAtUtc)\r\n\t\t\t}, 1000)\r\n\r\n\t\t\treturn () => window.clearInterval(interval)\r\n\t\t}\r\n\t\treturn\r\n\t}, [otpSessionResponse, setOtpData, CountdownTimer])\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: `${\r\n\t\t\t\t\tsdd.distributionChannel ===\r\n\t\t\t\t\tOtpDistributionChannel.PushNotification\r\n\t\t\t\t\t\t? 'SDDAuthAppSubtitle'\r\n\t\t\t\t\t\t: 'SDDAuthOtpSubtitle'\r\n\t\t\t\t}`,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [dispatchSdd, sdd.distributionChannel])\r\n\r\n\tfunction setAuthComplete(response: ISddEnrollmentCompleteResponse) {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_MANDATE_DOC,\r\n\t\t\tpayload: {\r\n\t\t\t\tmandateDocumentId: response.mandateDocumentId,\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n\r\n\tasync function validateOtp(otpCode: string) {\r\n\t\tif (otpCode !== undefined) {\r\n\t\t\ttry {\r\n\t\t\t\tsddService\r\n\t\t\t\t\t.sddEnrollmentComplete({\r\n\t\t\t\t\t\tsessionId: sdd.sessionId,\r\n\t\t\t\t\t\tcustomerId: sdd.customerId,\r\n\t\t\t\t\t\totpCode: otpCode,\r\n\t\t\t\t\t\tdebtorIban: sdd.debtorIban,\r\n\t\t\t\t\t\tdebtorBic: sdd.debtorBic,\r\n\t\t\t\t\t\tsddWithdrawalType: sdd.sddWithdrawalType,\r\n\t\t\t\t\t\twithdrawalAmount: sdd.withdrawalAmount,\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\tconsole.log(response.data)\r\n\t\t\t\t\t\t\tsetAuthComplete(response.data)\r\n\t\t\t\t\t\t\tdispatchMsp({\r\n\t\t\t\t\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\t\t\t\t...msp,\r\n\t\t\t\t\t\t\t\t\tindex: msp.index + 1,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\tsetErr(true)\r\n\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t})\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tsetErr(true)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetErr(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{sdd.distributionChannel !==\r\n\t\t\tOtpDistributionChannel.PushNotification ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCode has been sent to\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tstate:\r\n\t\t\t\t\t\t\t\t\t\tsdd.distributionChannel ===\r\n\t\t\t\t\t\t\t\t\t\tOtpDistributionChannel.Email\r\n\t\t\t\t\t\t\t\t\t\t\t? maskedEmail(sdd.emailAddress)\r\n\t\t\t\t\t\t\t\t\t\t\t: maskedPhoneNr(sdd.phoneNumber),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tand is valid for another:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{time}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{timeOut ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{t('SDDAuthOtpText2')}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tsetOtpCode(e.target.value)\r\n\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetLoading(true)\r\n\t\t\t\t\t\t\t\t\t\t\tvalidateOtp(otpCode!)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t{t('ProceedValidateAuthCode')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t setAuthSelect(true)}>\r\n\t\t\t\t\t\t\t{timeOut ? t('Retry') : t('Back')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('SDDAuthAppText')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{sdd.distributionChannel}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

The code is valid for another:

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ time: time }}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\tIf you have not received any message within 5\r\n\t\t\t\t\t\t\t\tminutes, please go back one step to resend it or\r\n\t\t\t\t\t\t\t\tchose a different distribution method.\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t setAuthSelect(true)}>\r\n\t\t\t\t\t\t\t{timeOut ? t('Retry') : t('Back')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, {\r\n\tcreateContext,\r\n\tContext,\r\n\tuseState,\r\n\tuseEffect,\r\n\tuseContext,\r\n} from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { CircleSpinner } from 'shared/components/Spinners'\r\n\r\nimport { IOtpSessionResponse } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\nimport { AuthError } from './SDDAuthenticationBlocks/AuthError'\r\nimport { AuthSelectButtons } from './SDDAuthenticationBlocks/AuthSelectButtons'\r\nimport { AuthValidation } from './SDDAuthenticationBlocks/AuthValidation'\r\ninterface IAuthContext {\r\n\tloading: boolean | undefined\r\n\tsetLoading: Function\r\n\totpSessionResponse: IOtpSessionResponse | undefined\r\n\tsetOtpSessionResponse: Function\r\n\totpCode: string | undefined\r\n\tsetOtpCode: Function\r\n\tauthSelect: boolean | undefined\r\n\tsetAuthSelect: Function\r\n\terr: boolean | undefined\r\n\tsetErr: Function\r\n}\r\n\r\nexport const AuthContext: Context = createContext({\r\n\tloading: false,\r\n\tsetLoading: () => {},\r\n\totpSessionResponse: undefined,\r\n\tsetOtpSessionResponse: () => {},\r\n\totpCode: undefined,\r\n\tsetOtpCode: () => {},\r\n\tauthSelect: true,\r\n\tsetAuthSelect: () => {},\r\n\terr: false,\r\n\tsetErr: () => {},\r\n})\r\n\r\nexport const SDDAuthentication = () => {\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\tconst [otpSessionResponse, setOtpSessionResponse] =\r\n\t\tuseState()\r\n\r\n\tconst { t } = useTranslation()\r\n\tconst [authSelect, setAuthSelect] = useState(true)\r\n\tconst [otpCode, setOtpCode] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [err, setErr] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (err) {\r\n\t\t\tdispatchSdd({\r\n\t\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn\r\n\t}, [err, dispatchSdd])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{loading && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{authSelect ? <> :
{t('Loading')}
}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{!err && !loading && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{authSelect ? (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{err && !loading && }\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useEffect, useContext, useCallback, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport download_interface_cream from 'img/document-icons/download-interface-cream.svg'\r\n\r\nimport {\r\n\tBoxInfoSuccessCheckmark,\r\n\tgetErrorWithFullMessage,\r\n\tisSafariBrowser,\r\n} from 'shared'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\n\r\nexport const SDDSuccessResponse = () => {\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\tconst { setSddRefreshData } = useContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: '',\r\n\t\t\t},\r\n\t\t})\r\n\t}, [dispatchSdd])\r\n\r\n\tconst getSddMandateDocument = useCallback(\r\n\t\tasync (mandateDocumentId: string, windowRef: Window | null) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService.getSddMandateDocument(\r\n\t\t\t\t\tmandateDocumentId,\r\n\t\t\t\t\twindowRef,\r\n\t\t\t\t)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[],\r\n\t)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t('SDDEnrolledSuccessMsg')}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tlet windowRef = isSafariBrowser()\r\n\t\t\t\t\t\t\t\t\t? window.open()\r\n\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\tgetSddMandateDocument(\r\n\t\t\t\t\t\t\t\t\tsdd.mandateDocumentId,\r\n\t\t\t\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('SDDDownloadMandate')}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\t{error && (\r\n\t\t\t\t
{t('ErrorAccountStatements')}
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t setSddRefreshData(true)}>\r\n\t\t\t\t\t{t('Back')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import React, {\r\n\tuseEffect,\r\n\tuseReducer,\r\n\tuseContext,\r\n\tcreateContext,\r\n\tContext,\r\n} from 'react'\r\n\r\nimport { getMarket } from 'shared/index'\r\nimport Multistep, { IMultistepComponent } from 'shared/components/Multistep'\r\n\r\nimport { Heading } from 'selfServicePortal/components/index'\r\nimport { SDDCustomerInformationForm } from './MultistepBlocks/SDDCustomerInformationForm'\r\nimport { SDDTermsAndConditions } from './MultistepBlocks/SDDTermsAndConditions'\r\nimport { SDDAuthentication } from './MultistepBlocks/SDDAuthentication'\r\nimport { SDDSuccessResponse } from './MultistepBlocks/SDDSuccessResponse'\r\n\r\nimport {\r\n\tOtpDistributionChannel,\r\n\tSddWithdrawalType,\r\n\tMarket,\r\n\tIBankInfoProps,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\ninterface ISddProps {\r\n\tmarket: Market\r\n\tcustomerId: string\r\n\ttitle: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tpostalCode: string\r\n\tcity: string\r\n\temailAddress: string\r\n\tphoneNumber: string\r\n\tdebtorIban: string\r\n\tdebtorBic: string\r\n\tsddWithdrawalType: SddWithdrawalType\r\n\twithdrawalAmount: number\r\n\totpCode: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\totpDistributedToContactInfo: string\r\n\tsessionId: string\r\n\texpiryAtUtc: string\r\n\tmandateDocumentId: string | undefined\r\n\tapprovedTerms: boolean\r\n\tauthSelect: boolean\r\n\tdescription: string\r\n\tbankInfoList: IBankInfoProps[]\r\n}\r\n\r\nconst initialState: ISddProps = {\r\n\tmarket: Market.Global,\r\n\tcustomerId: '',\r\n\ttitle: '',\r\n\tfirstName: '',\r\n\tlastName: '',\r\n\tstreet: '',\r\n\thouseNumber: '',\r\n\tpostalCode: '',\r\n\tcity: '',\r\n\temailAddress: '',\r\n\tphoneNumber: '',\r\n\tdebtorIban: '',\r\n\tdebtorBic: '',\r\n\tsddWithdrawalType: SddWithdrawalType.Minimum,\r\n\twithdrawalAmount: 0,\r\n\totpCode: '',\r\n\tdistributionChannel: OtpDistributionChannel.Unknown,\r\n\totpDistributedToContactInfo: '',\r\n\tsessionId: '',\r\n\texpiryAtUtc: '',\r\n\tmandateDocumentId: undefined,\r\n\tapprovedTerms: false,\r\n\tauthSelect: true,\r\n\tdescription: '',\r\n\tbankInfoList: [],\r\n}\r\n\r\nexport const SDD_ACTIONS = {\r\n\tSET_DESCRIPTION: 'SET_DESCRIPTION',\r\n\tSET_CUSTOMER_INFO: 'SET_CUSTOMER_INFO',\r\n\tSET_BANK_INFO_LIST: 'SET_BANK_INFO_LIST:',\r\n\tSET_CUSTOMER_INFO_COMPLETE: 'SET_CUSTOMER_COMPLETE',\r\n\tSET_BANK_INFO: 'SET_BANK_INFO',\r\n\tSET_APPROVE_TERMS: 'SET_APPROVE_TERMS',\r\n\tSET_DISTRIBUTION_CHANNEL: 'SET_DISTRIBUTION_CHANNEL',\r\n\tSET_SESSION_ID: 'SET_SESSION_ID',\r\n\tSET_OTP_INFO: 'SET_OTP_INFO',\r\n\tSET_AUTH_SELECT: 'SET_AUTH_SELECT',\r\n\tSET_MANDATE_DOC: 'SET_MANDATE_DOC',\r\n}\r\n\r\nfunction reducer(sdd: any, action: any) {\r\n\tswitch (action.type) {\r\n\t\tcase SDD_ACTIONS.SET_DESCRIPTION:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tdescription: action.payload.description,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_CUSTOMER_INFO:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tmarket: action.payload.market,\r\n\t\t\t\tcustomerId: action.payload.customerId,\r\n\t\t\t\ttitle: action.payload.title,\r\n\t\t\t\tfirstName: action.payload.firstName,\r\n\t\t\t\tlastName: action.payload.lastName,\r\n\t\t\t\tstreet: action.payload.street,\r\n\t\t\t\thouseNumber: action.payload.houseNumber,\r\n\t\t\t\tpostalCode: action.payload.postalCode,\r\n\t\t\t\tcity: action.payload.city,\r\n\t\t\t\temailAddress: action.payload.emailAddress,\r\n\t\t\t\tphoneNumber: action.payload.phoneNumber,\r\n\t\t\t\tbankInfoList: action.payload.bankInfoList,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_BANK_INFO:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tdebtorIban: action.payload.debtorIban,\r\n\t\t\t\tdebtorBic: action.payload.debtorBic,\r\n\t\t\t\tsddWithdrawalType: action.payload.sddWithdrawalType,\r\n\t\t\t\twithdrawalAmount: action.payload.withdrawalAmount,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_BANK_INFO_LIST:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tbankInfoList: action.payload.bankInfoList,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_APPROVE_TERMS:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tapprovedTerms: action.payload.approvedTerms,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_DISTRIBUTION_CHANNEL:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tdistributionChannel: action.payload.distributionChannel,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_AUTH_SELECT:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tauthSelect: action.payload.authSelect,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_OTP_INFO:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\totpDistributedToContactInfo:\r\n\t\t\t\t\taction.payload.otpDistributedToContactInfo,\r\n\t\t\t\tsessionId: action.payload.sessionId,\r\n\t\t\t\texpiryAtUtc: action.payload.expiryAtUtc,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_MANDATE_DOC:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tmandateDocumentId: action.payload.mandateDocumentId,\r\n\t\t\t}\r\n\t\tdefault:\r\n\t\t\treturn sdd\r\n\t}\r\n}\r\n\r\nexport const SddDispatchContext: Context = createContext(initialState)\r\n\r\ninterface IProps {\r\n\tbankInfoList: IBankInfoProps[]\r\n}\r\n\r\nexport const SddMultistepValues = ({ bankInfoList }: IProps) => {\r\n\tconst [sdd, dispatchSdd] = useReducer(reducer, initialState)\r\n\tconst { customerData } = useContext(SspContext)\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_CUSTOMER_INFO,\r\n\t\t\tpayload: {\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\tcustomerId: customerData!.customerId,\r\n\t\t\t\ttitle: customerData?.title,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tstreet: customerData?.street,\r\n\t\t\t\thouseNumber: customerData?.houseNumber,\r\n\t\t\t\tpostalCode: customerData?.postalCode,\r\n\t\t\t\tcity: customerData?.city,\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tphoneNumber: customerData?.mobilePhoneNumber,\r\n\t\t\t\tbankInfoList: bankInfoList,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [bankInfoList, customerData])\r\n\r\n\tconst multistepValues: IMultistepComponent[] = [\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\theader: 'SDDCustomerInformationForm',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\theader: 'SDDTermsAndConditions',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: sdd.approvedTerms,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 3,\r\n\t\t\theader: 'SDDAuthentication',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: sdd.authComplete,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 4,\r\n\t\t\theader: 'SDDSuccessResponse',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: false,\r\n\t\t},\r\n\t]\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\n\r\nimport { CircleSpinner } from 'shared'\r\n\r\nimport { SDDOverview } from './SDDOverview'\r\nimport { SddMultistepValues } from './SDDMultistep/SDDMultistepValues'\r\n\r\nimport './sepaDirectDebit.scss'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { IBankInfoProps } from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\nconst SepaDirectDebit = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData, isSddEligible, loading } = useContext(SspContext)\r\n\r\n\tconst [load, setLoad] = useState(false)\r\n\tconst [showMultistep, setShowMultistep] = useState(false)\r\n\tconst [bankInfo, setBankInfo] = useState()\r\n\r\n\tasync function getSddIbans(partyId: string) {\r\n\t\ttry {\r\n\t\t\tsddService.getSddIbans(partyId).then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tsetBankInfo(response.data as IBankInfoProps[])\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.warn(response.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} catch (err) {\r\n\t\t\tconsole.warn(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t}\r\n\r\n\tasync function getMultistep() {\r\n\t\tsetLoad(true)\r\n\t\tawait getSddIbans(customerData?.customerId!).then(() => {\r\n\t\t\tsetShowMultistep(true)\r\n\t\t})\r\n\t\tsetTimeout(() => {\r\n\t\t\tsetLoad(false)\r\n\t\t}, 1000)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{loading ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{!isSddEligible?.eligible ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SDDTitle')}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SDDNotEligible')}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{isSddEligible?.activeMandate ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{load ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{showMultistep ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('SDDTitle')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMinimum\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tamounts due\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcan now be\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcollected\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teasily and\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talways on\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttime. In\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder to be\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\table to pay\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tyour bill\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timmediately\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tby direct\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdebit, give\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tus a direct\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdebit\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmandate in\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjust a few\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsteps.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou can\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcancel SDD\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tat any time\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand set it\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tup again.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetMultistep()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'GetSDDButtonText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default SepaDirectDebit\r\n","import React from 'react'\r\nimport './TableLegacy.scss'\r\n\r\ninterface ITableLegacy {\r\n\tcolumns: any[]\r\n\tdata: any\r\n}\r\n\r\nconst TableLegacy = ({ columns, data }: ITableLegacy) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{columns.map((item, key) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{data}\r\n\t\t
\r\n\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t
\r\n\t)\r\n}\r\n\r\nexport default TableLegacy\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './Heading.scss'\r\ninterface IHeading {\r\n\ttitle: string\r\n\tdescription?: string\r\n}\r\nconst Heading = ({ title, description }: IHeading) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
{t(title)}
\r\n\t\t\t
{t(description!)}
\r\n\t\t
\r\n\t)\r\n}\r\nexport default Heading\r\n","import React, { useState } from 'react'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\nimport { IFaqEntry } from 'shared/interfaces/i-api-faq'\r\nimport dompurify from 'dompurify'\r\n\r\ninterface IAccordion {\r\n\tquestion: IFaqEntry\r\n}\r\n\r\nfunction setTargetForAnchors(html: string) {\r\n\tlet answer = html.trim()\r\n\tlet temp = document.createElement('div')\r\n\ttemp.innerHTML = answer\r\n\tlet childList = temp.getElementsByTagName('a')\r\n\tfor (var i = 0; i < childList.length; i++)\r\n\t\tchildList[i].setAttribute('target', '_blank')\r\n\r\n\treturn { __html: temp.innerHTML }\r\n}\r\n\r\nconst AccordionItem = ({ question }: IAccordion) => {\r\n\tconst sanitizer = dompurify.sanitize\r\n\tconst [open, setOpen] = useState(false)\r\n\tconst nestedQuestions = (question.children || []).map(\r\n\t\t(question: IFaqEntry) => {\r\n\t\t\treturn \r\n\t\t}\r\n\t)\r\n\r\n\tlet crossCls = open ? 'cross-icon open' : 'cross-icon'\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t setOpen(!open)}>\r\n\t\t\t\t{question.question}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\t{question.answer ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>{nestedQuestions}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tallowOverflowWhenOpen={true}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\nexport default AccordionItem\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetCurrency,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n} from 'shared'\r\nimport { SeeAll, Select } from 'selfServicePortal/components/index'\r\nimport { useTransactions } from 'selfServicePortal/hooks/useTransactions'\r\n\r\ninterface IMobileTransactions {\r\n\tisOverview: boolean\r\n}\r\nconst MobileTransactions = ({ isOverview }: IMobileTransactions) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { getMoreTransactionsFromMonth, tableData, hideShowMore } =\r\n\t\tuseTransactions()\r\n\r\n\tlet containerCls = ['transactions', 'my-5']\r\n\tif (isMobile && !isOverview) containerCls.push('container')\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{t('LastTransactions')}
\r\n\t\t\t\t{isOverview ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tgetMoreTransactionsFromMonth(\r\n\t\t\t\t\t\t\t\ttableData[0]?.transactionDate!,\r\n\t\t\t\t\t\t\t\ttableData.length + 10\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thideShowMore={hideShowMore}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t{tableData?.map((item: any, key: any) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{new Date(item.transactionDate).toLocaleDateString(\r\n\t\t\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{item.transactionTypeUiString}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{stringifyNum(item.amount, {\r\n\t\t\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MobileTransactions\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetCurrency,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n} from 'shared'\r\nimport { SeeAll, Select, TableLegacy } from 'selfServicePortal/components/index'\r\nimport MobileTransactions from './MobileTransactions/MobileTransactions'\r\nimport { useTransactions } from 'selfServicePortal/hooks/useTransactions'\r\nimport TransactionsContext from 'selfServicePortal/contexts/TransactionsContext'\r\n\r\nimport './DepositTransactions.scss'\r\n\r\ninterface IDepositTransactions {\r\n\tisOverview: boolean\r\n}\r\n\r\nconst DepositTransactions = ({ isOverview }: IDepositTransactions) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { loadingTransactions } = useContext(TransactionsContext)\r\n\tlet width = isOverview ? 'w-50' : 'w-100'\r\n\r\n\tconst { getMoreTransactionsFromMonth, tableData, hideShowMore } =\r\n\t\tuseTransactions()\r\n\r\n\tconst cols = [t('TransactionDate'), t('Amount'), t('Type')]\r\n\r\n\tlet itemsToRender\r\n\tif (tableData && !loadingTransactions) {\r\n\t\titemsToRender = tableData.map((item: any, key: number) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{new Date(item.transactionDate).toLocaleDateString(\r\n\t\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{stringifyNum(item.amount, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{item.transactionTypeUiString}\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t})\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{isMobile ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('LastTransactions')}
\r\n\t\t\t\t\t\t\t{!isOverview && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tgetMoreTransactionsFromMonth(\r\n\t\t\t\t\t\t\t\t\t\ttableData[0].transactionDate,\r\n\t\t\t\t\t\t\t\t\t\ttableData.length + 10\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thideShowMore={hideShowMore}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default DepositTransactions\r\n","import React from 'react'\r\n\r\nimport './SkeletonLoader.scss'\r\n\r\nexport const SkeletonLoader = () => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport SspContext from '../../contexts/SspContext'\r\nimport CardTransactions from './CardTransactions/CardTransactions'\r\nimport DepositTransactions from '../../containers/Home/Account/DepositTransactions/DepositTransactions'\r\nimport { useTransactions } from '../../hooks/useTransactions'\r\n\r\nimport './Transactions.scss'\r\nimport TransactionsContext, {\r\n\tTransactionsContextProvider,\r\n} from 'selfServicePortal/contexts/TransactionsContext'\r\nimport { SkeletonLoader } from './SkeletonLoader/SkeletonLoader'\r\n\r\nconst TransactionsComponent = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { component, isCard } = useContext(SspContext)\r\n\tconst { transactions, errorTransactions } = useContext(TransactionsContext)\r\n\t//const [transactionsComponent, setTransactionsComponent] = useState(<>)\r\n\tconst isOverview = component?.title === 'Overview'\r\n\r\n\tconst { error } = useTransactions()\r\n\r\n\t// useEffect(() => {\r\n\t// \tif (isCard?.isCard) {\r\n\t// \t\tsetTransactionsComponent(\r\n\t// \t\t\t,\r\n\t// \t\t)\r\n\t// \t} else {\r\n\t// \t\tsetTransactionsComponent(\r\n\t// \t\t\t,\r\n\t// \t\t)\r\n\t// \t}\r\n\t// \t// eslint-disable-next-line\r\n\t// }, [isCard])\r\n\r\n\tconst transactionsComponent = isCard?.isCard ? (\r\n\t\t\r\n\t) : (\r\n\t\t\r\n\t)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorTransactions ? (\r\n\t\t\t\t
{t('ErrorMsg')}
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t
{t(error.message)}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{transactions === undefined ||\r\n\t\t\t\t\t\t\ttransactions?.length <= 0 ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\ttransactionsComponent\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nconst Transactions = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nexport default Transactions\r\n","import React, { useState, useEffect, useContext, useCallback } from 'react'\r\nimport { Modal } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useSelector } from 'react-redux'\r\nimport { BoxInfo, getCustomerInfoCookieName } from 'shared/index'\r\nimport {\r\n\tFormBuilder,\r\n\tIAppStateControlProperty,\r\n\tformKeySelector,\r\n} from '@tf/formbuilder'\r\n\r\nimport appConfig from 'app.config'\r\nimport {\r\n\tIKycData,\r\n\tCookieType,\r\n\tcustomerDataApiService,\r\n\tgetErrorWithFullMessage,\r\n\tgetMarket,\r\n\tgetLanguageLocale,\r\n\tCircleSpinner,\r\n\tCustomerForm,\r\n} from 'shared/index'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport AppConfigContext from 'shared/contexts/azureAppConfig'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { Toggle } from 'original/constants/enums/ToggleTypes'\r\n\r\nimport './KycModal.scss'\r\nimport { ICustomer } from 'original/interfaces/i-api-loan'\r\nimport { CountryA3 } from 'shared/constants/countryTypes'\r\n\r\ninterface IKycProps {\r\n\tshowModal: boolean\r\n\tdata: IKycData\r\n\thandleClose: any\r\n}\r\n\r\nexport const KycModal = ({ data }: IKycProps) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst [customer, setCustomer] = useState(data)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [error, setError] = useState(false)\r\n\tconst [showKycModal, setShowKycModal] = useState(true)\r\n\tconst [showThankYouPage, setShowThankYouPage] = useState(false)\r\n\r\n\tconst formSchema = FormFactory(\r\n\t\tdata.customerType,\r\n\t\t{\r\n\t\t\tformName: 'basicPersonalData',\r\n\t\t\tblockName: 'KycData',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tdata,\r\n\t)\r\n\tconst valuesToSubmit = useSelector(\r\n\t\tformKeySelector(formSchema.formMeta.formName, 'controlsState'),\r\n\t)\r\n\tconst errors = useSelector(\r\n\t\tformKeySelector(formSchema.formMeta.formName, 'errors'),\r\n\t)\r\n\tconst updateCustomerObj = useCallback(\r\n\t\t(valuesToSubmit: IAppStateControlProperty) => {\r\n\t\t\tsetCustomer({\r\n\t\t\t\t...customer,\r\n\t\t\t\tdeposits:\r\n\t\t\t\t\tObject.entries(data.deposits).length !== 0\r\n\t\t\t\t\t\t? [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t...customer.deposits[0],\r\n\t\t\t\t\t\t\t\t\tpurposeOfDeposits:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfDeposits.value,\r\n\t\t\t\t\t\t\t\t\tpurposeOfDepositsOther:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfDepositsOther\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t\tmoneySource:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.moneySource?.value,\r\n\t\t\t\t\t\t\t\t\tmoneySourceOther:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.moneySourceOther?.value,\r\n\t\t\t\t\t\t\t\t\tdepositOwner:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.depositOwner?.value,\r\n\t\t\t\t\t\t\t\t\texpectedDeposits:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.expectedDeposits?.value,\r\n\t\t\t\t\t\t\t\t\texpectedDepositsAmount:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.expectedDepositsAmount\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t\texpectedWithdrawals:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.expectedWithdrawals\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t\texpectedWithdrawalsAmount:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit\r\n\t\t\t\t\t\t\t\t\t\t\t?.expectedWithdrawalsAmount?.value,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t: [],\r\n\t\t\t\tloans:\r\n\t\t\t\t\tObject.entries(data.loans).length !== 0\r\n\t\t\t\t\t\t? [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t...customer.loans[0],\r\n\t\t\t\t\t\t\t\t\tbenificialOwner:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.benificialOwner?.value,\r\n\t\t\t\t\t\t\t\t\tpurposeOfLoan:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfLoan?.value,\r\n\t\t\t\t\t\t\t\t\tpurposeOfLoanOther:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfLoanOther\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t: [],\r\n\t\t\t\temployments: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t...customer.employments[0],\r\n\t\t\t\t\t\toccupationType: valuesToSubmit?.occupationType?.value,\r\n\t\t\t\t\t\tincome: valuesToSubmit?.income.value,\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\r\n\t\t\t\ttaxCountry:\r\n\t\t\t\t\tdata.customerType === CustomerForm.LoanForm\r\n\t\t\t\t\t\t? data.taxCountry\r\n\t\t\t\t\t\t: valuesToSubmit?.taxCountry?.value,\r\n\t\t\t\ttaxCountryOther:\r\n\t\t\t\t\tdata.customerType === CustomerForm.LoanForm\r\n\t\t\t\t\t\t? data.taxCountryOther\r\n\t\t\t\t\t\t: valuesToSubmit?.taxCountryOther?.value,\r\n\t\t\t\ttin: valuesToSubmit?.tin?.value,\r\n\t\t\t\tfatca: valuesToSubmit?.fatca?.value,\r\n\r\n\t\t\t\taddress: {\r\n\t\t\t\t\t...customer.address,\r\n\t\t\t\t\tstreet: valuesToSubmit?.street?.value,\r\n\t\t\t\t\thouseNumber: valuesToSubmit?.houseNumber?.value,\r\n\t\t\t\t\tapartmentNumber: valuesToSubmit?.apartmentNumber?.value,\r\n\t\t\t\t\tcountry: valuesToSubmit?.country?.value,\r\n\t\t\t\t\tpostalCode: valuesToSubmit.postalCode?.value,\r\n\t\t\t\t\tcity: valuesToSubmit?.city?.value,\r\n\t\t\t\t\tregion: valuesToSubmit?.region?.value,\r\n\t\t\t\t\tshortAddress: valuesToSubmit?.shortAddress?.value,\r\n\t\t\t\t},\r\n\r\n\t\t\t\tphoneNumber: valuesToSubmit?.phoneNumber?.value,\r\n\t\t\t\temail: valuesToSubmit?.email?.value,\r\n\r\n\t\t\t\tpoliticallyExposedPerson:\r\n\t\t\t\t\tvaluesToSubmit?.politicallyExposedPerson?.value,\r\n\t\t\t\tconnectedToPep: valuesToSubmit?.connectedToPep?.value,\r\n\t\t\t})\r\n\t\t},\r\n\t\t[customer, data],\r\n\t)\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (valuesToSubmit) {\r\n\t\t\t\tupdateCustomerObj(valuesToSubmit)\r\n\t\t\t}\r\n\t\t\treturn () => {}\r\n\t\t},\r\n\t\t[valuesToSubmit], //eslint-disable-line\r\n\t)\r\n\r\n\tconst submit = async () => {\r\n\t\tsetLoading(true)\r\n\t\tsetError(false)\r\n\r\n\t\ttry {\r\n\t\t\tcustomerDataApiService\r\n\t\t\t\t.updateKycCustomerData(customer!)\r\n\t\t\t\t.then(() => setShowKycModal(false))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn(error)\r\n\t\t\tsetError(true)\r\n\t\t}\r\n\t\tif (!error) {\r\n\t\t\tsetShowThankYouPage(true)\r\n\t\t\tsaveCustomerToSessionStorage(customer)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconsole.log('Values', valuesToSubmit)\r\n\t\tconsole.log('Errors', errors)\r\n\t}, [errors, valuesToSubmit])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{showKycModal ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('forms:KycHeader')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showThankYouPage ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('forms:KycDescriptionText')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{formSchema && !loading ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t submit()}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t
{t('UpdatingCustomerInfoError')}
\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport const KycWrapper = () => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst [data, setData] = useState()\r\n\tconst [show, setShow] = useState(false)\r\n\t// eslint-disable-next-line\r\n\tconst [error, setError] = useState()\r\n\tconst { toggle } = useContext(AppConfigContext)\r\n\tconst { customerData, isCard } = useContext(SspContext)\r\n\r\n\tasync function getKycData() {\r\n\t\tif (isCard?.isCard) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (sessionStorage.getItem(CookieType.KycRenewal) !== 'false') {\r\n\t\t\tif (appConfig.country === 'de') {\r\n\t\t\t\tawait customerDataApiService\r\n\t\t\t\t\t.getKycDataWithNationalId(t, customerData?.nationalId!)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tsetData(response)\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tresponse.customerType !== CustomerForm.DepositForm\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetShow(false)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsetShow(\r\n\t\t\t\t\t\t\t\tsessionStorage.getItem(\r\n\t\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\t) === 'true',\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((e) => setError(getErrorWithFullMessage(e)))\r\n\t\t\t} else {\r\n\t\t\t\tawait customerDataApiService\r\n\t\t\t\t\t.getKycData(t)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tsetData(response)\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tappConfig.country === 'no' &&\r\n\t\t\t\t\t\t\tresponse.customerType !== CustomerForm.DepositForm\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetShow(false)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsetShow(\r\n\t\t\t\t\t\t\t\tsessionStorage.getItem(\r\n\t\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\t) === 'true',\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((e) => setError(getErrorWithFullMessage(e)))\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (isCard?.isCard) {\r\n\t\t\t\tsetShow(false)\r\n\t\t\t\treturn\r\n\t\t\t} else {\r\n\t\t\t\ttoggle.includes(Toggle.kyc) ? getKycData() : setShow(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[isCard?.isCard], //eslint-disable-line\r\n\t)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{show && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetShow(false)\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nconst saveCustomerToSessionStorage = (customer: IKycData) => {\r\n\tlet oldCustomerData = sessionStorage.getItem(getCustomerInfoCookieName())\r\n\tconst defaultCustomerFlags = {\r\n\t\tnoAdvertisement: false,\r\n\t\tnoDataConsent: false,\r\n\t}\r\n\tlet customerFlags = defaultCustomerFlags\r\n\r\n\tlet customerOldInfo: ICustomer = {\r\n\t\tpersonalInfo: {\r\n\t\t\tcountry: '',\r\n\t\t\tfirstName: '',\r\n\t\t\tlastName: '',\r\n\t\t\tmiddleName: '',\r\n\t\t\tssn: '',\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcity: '',\r\n\t\t\tstreet: '',\r\n\t\t\tstreet2: '',\r\n\t\t\tzip: '',\r\n\t\t\tcustomerCountry: '',\r\n\t\t},\r\n\t\tinvoiceAddress: {\r\n\t\t\tcity: '',\r\n\t\t\tstreet: '',\r\n\t\t\tstreet2: '',\r\n\t\t\tzip: '',\r\n\t\t\tcustomerCountry: '',\r\n\t\t},\r\n\t\tcontacts: {\r\n\t\t\tcellPhone: '',\r\n\t\t\temail: '',\r\n\t\t\thomePhone: '',\r\n\t\t},\r\n\t\tcustomerFlags: {\r\n\t\t\tnoAdvertisement: false,\r\n\t\t\tnoDataConsent: false,\r\n\t\t},\r\n\t}\r\n\r\n\tif (oldCustomerData) {\r\n\t\tcustomerOldInfo = JSON.parse(oldCustomerData)\r\n\t\tcustomerFlags = customerOldInfo.customerFlags || defaultCustomerFlags\r\n\t}\r\n\r\n\tconst customerInfoData: ICustomer = {\r\n\t\tpersonalInfo: {\r\n\t\t\tcountry:\r\n\t\t\t\tcustomerOldInfo.personalInfo?.country ||\r\n\t\t\t\tmapCountryCode(\r\n\t\t\t\t\tcustomerOldInfo.address?.customerCountry?.toString(),\r\n\t\t\t\t),\r\n\t\t\tfirstName:\r\n\t\t\t\tcustomerOldInfo.personalInfo?.firstName || customer.firstName,\r\n\t\t\tlastName:\r\n\t\t\t\tcustomerOldInfo.personalInfo?.lastName || customer.lastName,\r\n\t\t\tmiddleName: customerOldInfo.personalInfo?.middleName || '',\r\n\t\t\tssn: customerOldInfo.personalInfo?.ssn || customer.ssn,\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcity: customer.address?.city || customerOldInfo.address?.city,\r\n\t\t\tstreet: customer.address?.street || customerOldInfo.address?.street,\r\n\t\t\tstreet2: customerOldInfo.address?.street2 || '',\r\n\t\t\tzip: customer.address?.postalCode || customerOldInfo.address?.zip,\r\n\t\t\tcustomerCountry:\r\n\t\t\t\tcustomer.address?.country?.toString() ||\r\n\t\t\t\tcustomerOldInfo.address?.customerCountry,\r\n\t\t},\r\n\t\tcontacts: {\r\n\t\t\tcellPhone:\r\n\t\t\t\tcustomer.phoneNumber || customerOldInfo.contacts.cellPhone,\r\n\t\t\temail: customer.email || customerOldInfo.contacts.email,\r\n\t\t\thomePhone:\r\n\t\t\t\tcustomerOldInfo.contacts?.homePhone ||\r\n\t\t\t\tcustomerOldInfo.contacts.homePhone ||\r\n\t\t\t\t'',\r\n\t\t},\r\n\r\n\t\tinvoiceAddress: undefined,\r\n\t\tcustomerFlags: customerFlags,\r\n\t}\r\n\r\n\tsessionStorage.setItem(\r\n\t\tgetCustomerInfoCookieName(),\r\n\t\tJSON.stringify(customerInfoData),\r\n\t)\r\n}\r\n\r\nconst mapCountryCode = (country: string): CountryA3 | undefined => {\r\n\tswitch (country) {\r\n\t\tcase 'EE':\r\n\t\t\treturn CountryA3.ee\r\n\t\tcase 'LT':\r\n\t\t\treturn CountryA3.lt\r\n\t\tcase 'LV':\r\n\t\t\treturn CountryA3.lv\r\n\t\tcase 'DK':\r\n\t\t\treturn CountryA3.dk\r\n\t\tcase 'FI':\r\n\t\t\treturn CountryA3.fi\r\n\t\tcase 'SE':\r\n\t\t\treturn CountryA3.se\r\n\t\tdefault:\r\n\t\t\treturn undefined\r\n\t}\r\n}\r\n","import { useContext, useEffect, useState } from 'react'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport appConfig from 'app.config'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\n\r\nimport bluecard_no from 'img/card-images/bluecard_no.png'\r\nimport goldcard_no from 'img/card-images/goldcard_no.png'\r\nimport goldcard_no_mc from 'img/card-images/goldcard_no_mc.png'\r\n\r\nexport const useCardImage = () => {\r\n\tconst { isCard, isMarketing } = useContext(SspContext)\r\n\tconst [img, setImg] = useState('')\r\n\r\n\tconst checkDate = () => {\r\n\t\tconst currentDate = new Date().toJSON().slice(0, 10)\r\n\t\tconst from = new Date(isMarketing?.startDate!)\r\n\t\tconst to = new Date(isMarketing?.endDate!)\r\n\t\tconst check = new Date(currentDate)\r\n\t\treturn check > from && check < to\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isCard?.isCard === true) {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'no':\r\n\t\t\t\t\tsetImg(getCardImageForNo(isCard.color))\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'de':\r\n\t\t\t\tcase 'at':\r\n\t\t\t\tcase 'es':\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\tsetImg(getCardImageForEu(isMarketing))\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tsetImg(goldcard_no_mc)\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t\t//eslint-disable-next-line\r\n\t})\r\n\r\n\tconst getCardImageForNo = (color: any) => {\r\n\t\tswitch (color) {\r\n\t\t\tcase 'blue':\r\n\t\t\t\treturn bluecard_no\r\n\t\t\tcase 'gold-no':\r\n\t\t\t\treturn goldcard_no\r\n\t\t\tcase 'gold-mc-no':\r\n\t\t\t\treturn goldcard_no_mc\r\n\t\t\tdefault:\r\n\t\t\t\treturn ''\r\n\t\t}\r\n\t}\r\n\r\n\tconst getCardImageForEu = (marketing: any) => {\r\n\t\tif (\r\n\t\t\tmarketing?.product === ProductType.Card &&\r\n\t\t\tmarketing?.imageRef !== undefined &&\r\n\t\t\tcheckDate()\r\n\t\t) {\r\n\t\t\treturn marketing.imageRef\r\n\t\t} else {\r\n\t\t\treturn goldcard_no_mc\r\n\t\t}\r\n\t}\r\n\r\n\treturn img\r\n}\r\n","import React from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport './Modal.scss'\r\n\r\ninterface IModalBodyProps {\r\n\tbodyTitle: string\r\n\tbodyText: string\r\n}\r\n\r\nexport const ModalBody = ({ bodyTitle, bodyText }: IModalBodyProps) => (\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{bodyTitle}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t
\r\n)\r\n","import React, { useCallback } from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { TFunction } from 'i18next'\r\nimport { Link } from 'react-router-dom'\r\n\r\ninterface IModalFooterProps {\r\n\tctaLink: string\r\n\tctaButtonText: string\r\n\tshowFooterButtonClose: boolean\r\n\tisCtaLinkInternalNavigation: boolean\r\n\tonClose: () => void\r\n\tt: TFunction\r\n}\r\n\r\nexport const ModalFooter = ({\r\n\tctaLink,\r\n\tctaButtonText,\r\n\tshowFooterButtonClose,\r\n\tisCtaLinkInternalNavigation,\r\n\tonClose,\r\n\tt,\r\n}: IModalFooterProps) => {\r\n\tconst handleCtaClick = useCallback(() => {\r\n\t\tonClose()\r\n\t}, [onClose])\r\n\r\n\tconst renderCtaButton = () => {\r\n\t\tif (!ctaLink || !ctaButtonText) return null\r\n\r\n\t\tconst button = (\r\n\t\t\t\r\n\t\t\t\t{ctaButtonText}\r\n\t\t\t\r\n\t\t)\r\n\r\n\t\treturn isCtaLinkInternalNavigation ? (\r\n\t\t\t\r\n\t\t\t\t{button}\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t\r\n\t\t\t\t{button}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderCtaButton()}\r\n\t\t\t{showFooterButtonClose && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('Close')}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Image, Modal } from 'react-bootstrap'\r\nimport { IImageProps } from 'shared/interfaces/i-api-informationModal'\r\nimport './Modal.scss'\r\n\r\ninterface IModalHeaderProps {\r\n\theaderTitle: string\r\n\theaderImage: IImageProps\r\n}\r\n\r\nexport const ModalHeader = ({\r\n\theaderTitle,\r\n\theaderImage,\r\n}: IModalHeaderProps) => (\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
{headerTitle}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{headerImage.alt}\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n)\r\n","import React from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IInformationModalProps } from 'shared/interfaces/i-api-informationModal'\r\nimport { ModalHeader, ModalBody, ModalFooter } from './components'\r\n\r\ninterface InformationModalProps {\r\n\tcontent: IInformationModalProps\r\n\tonClose: () => void\r\n\tshow: boolean\r\n}\r\n\r\nexport const InformationModal = ({\r\n\tcontent,\r\n\tonClose,\r\n\tshow,\r\n}: InformationModalProps) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\tif (!content) return null\r\n\r\n\tconst {\r\n\t\theaderTitle,\r\n\t\theaderImage,\r\n\t\tbodyTitle,\r\n\t\tbodyText,\r\n\t\tctaLink,\r\n\t\tctaButtonText,\r\n\t\tshowFooterButtonClose,\r\n\t\tcss,\r\n\t\tisCtaLinkInternalNavigation,\r\n\t} = content\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useLocation } from 'react-router'\r\nimport { useCardImage } from './useCardImage'\r\nimport { InformationModal } from 'shared/components/modals/InformationModal'\r\n\r\nimport appConfig from 'app.config'\r\n\r\nimport { ICreditBalance } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport { menuItems } from 'selfServicePortal/constants/menuItems'\r\nimport {\r\n\tcheckIsMobile,\r\n\tcheckIsTablet,\r\n\tgetCurrency,\r\n\tstringifyNum,\r\n} from 'shared/index'\r\n\r\nimport './CardOverview.scss'\r\nimport { IInformationModalProps } from 'shared/interfaces/i-api-informationModal'\r\nimport { useSspContext } from 'selfServicePortal/hooks/useSspContext'\r\n\r\nconst CardImg = () => {\r\n\tconst img = useCardImage()\r\n\tconst { isMarketing } = useSspContext()\r\n\r\n\tif (isMarketing?.imageLink) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\"card\"\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\treturn \"card\"\r\n}\r\n\r\nconst Card = () => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\ninterface IInfoBox {\r\n\toverviewData: ICreditBalance\r\n\tfullDate: string\r\n\tname: string\r\n\tcardNr: string\r\n}\r\nconst InfoBox = ({ overviewData, fullDate, name, cardNr }: IInfoBox) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst isTablet = checkIsTablet()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{name}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
{t('FreeAmount')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{stringifyNum(overviewData?.availableCreditAmount, {\r\n\t\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t('ExpiryDate')}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
{fullDate}
\r\n\t\t\t\t\t\t{appConfig.country === 'no' && !isMobile && (\r\n\t\t\t\t\t\t\t
{cardNr}
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{appConfig.country === 'no' && isMobile && (\r\n\t\t\t\t\t
{cardNr}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
{t('CreditCardLimit')}
\r\n\t\t\t\t\t
{t('ReservedAmount')}
\r\n\t\t\t\t\t
{t('Balance')}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{stringifyNum(overviewData?.creditLimit, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{stringifyNum(overviewData?.reservedAmount, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{appConfig.country === 'no' &&\r\n\t\t\t\t\t\toverviewData?.availableCreditAmount >\r\n\t\t\t\t\t\t\toverviewData?.creditLimit\r\n\t\t\t\t\t\t\t? 'kr 0,00'\r\n\t\t\t\t\t\t\t: stringifyNum(overviewData?.balance, {\r\n\t\t\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst CardOverview = () => {\r\n\tconst isMobile = checkIsMobile()\r\n\tconst isTablet = checkIsTablet()\r\n\tconst location = useLocation()\r\n\tconst {\r\n\t\toverviewData,\r\n\t\tcustomerData,\r\n\t\terror,\r\n\t\tsetComponent,\r\n\t\thadleCloseInformationModal,\r\n\t\thasCustomerSeenInformationModal,\r\n\t\tinformationModalData,\r\n\t} = useSspContext()\r\n\tconst [creditCardData, setCreditCardData] = useState(\r\n\t\toverviewData as ICreditBalance,\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetCreditCardData(overviewData as ICreditBalance)\r\n\t}, [overviewData])\r\n\r\n\tlet date =\r\n\t\tcreditCardData?.cardExpirationDate !== undefined\r\n\t\t\t? (\r\n\t\t\t\t\t'0' +\r\n\t\t\t\t\t(new Date(creditCardData?.cardExpirationDate!).getMonth() +\r\n\t\t\t\t\t\t1)\r\n\t\t\t\t).slice(-2)\r\n\t\t\t: ''\r\n\r\n\tlet year =\r\n\t\tcreditCardData?.cardExpirationDate !== undefined\r\n\t\t\t? new Date(creditCardData?.cardExpirationDate!)\r\n\t\t\t\t\t.getFullYear()\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.substring(2)\r\n\t\t\t: ''\r\n\r\n\tlet fullDate =\r\n\t\tcreditCardData?.cardExpirationDate !== undefined\r\n\t\t\t? `${date}/${year}`\r\n\t\t\t: ''\r\n\r\n\tlet cardNr =\r\n\t\tcreditCardData?.creditCardNo !== undefined\r\n\t\t\t? creditCardData?.creditCardNo.slice(0, 4) +\r\n\t\t\t\t' ' +\r\n\t\t\t\tcreditCardData?.creditCardNo.slice(4, 8) +\r\n\t\t\t\t' ' +\r\n\t\t\t\tcreditCardData?.creditCardNo.slice(8, 12) +\r\n\t\t\t\t' ' +\r\n\t\t\t\tcreditCardData?.creditCardNo.slice(12, 16)\r\n\t\t\t: ''\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (location.pathname === appRoutes.referfriends) {\r\n\t\t\t\tsetComponent(menuItems[0].items[5])\r\n\t\t\t}\r\n\t\t},\r\n\t\t[], //eslint-disable-line\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!error && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{location.pathname === appRoutes.referfriends ? null : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\titem.active &&\r\n\t\t\t\t\t\t\t\t\t\t\titem.country === appConfig.country,\r\n\t\t\t\t\t\t\t\t\t) as IInformationModalProps\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tonClose={() => hadleCloseInformationModal()}\r\n\t\t\t\t\t\t\t\tshow={!hasCustomerSeenInformationModal}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isMobile ||\r\n\t\t\t\t\t\t(isTablet &&\r\n\t\t\t\t\t\t\twindow.innerWidth > 991 &&\r\n\t\t\t\t\t\t\twindow.innerHeight > 991) ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default CardOverview\r\n","import React, { useContext } from 'react'\r\nimport SspContext from '../../../../../../contexts/SspContext'\r\nimport appConfig from '../../../../../../../app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetCurrency,\r\n\tstringifyNum,\r\n} from '../../../../../../../shared'\r\n\r\nconst InfoBox = ({ depositData, depositInfo }: any) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { isCard, productType } = useContext(SspContext)\r\n\r\n\tlet bankAccountNumbersDe = isCard?.isCard\r\n\t\t? ['DE77512202000070508402', 'ESSEDEFFXXX']\r\n\t\t: ['DE06202208000000024118', 'SXPYDEHH']\r\n\r\n\tlet bankAccountNumbersNo = isCard?.isCard\r\n\t\t? '3633.32.77160'\r\n\t\t: '3633.53.85432'\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t
{t('DepositFixedAccount')}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
{t('DepositAccount')}
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{appConfig.country === 'de' && (\r\n\t\t\t\t\t\t\t<>{depositData?.accountNumber}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{t('BankBalance')}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{stringifyNum(depositData?.balance, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('CurrentRate')}
\r\n\t\t\t\t\t
{`${depositData?.interestRate} %`}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{appConfig.country === 'de' ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('PresetDisbursementAccount')}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('IBAN')}
\r\n\t\t\t\t\t\t\t
{t('Bic')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{depositInfo[0]}
\r\n\t\t\t\t\t\t\t
{depositInfo[1]}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!isMobile ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{t('CustomerReference')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{depositData?.accountNumber}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{t('IBAN')}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{bankAccountNumbersDe[0]}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{t('Bic')}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{bankAccountNumbersDe[1]}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('CustomerReference')}:\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{depositData?.accountNumber}\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
{`${t('IBAN')}: ${\r\n\t\t\t\t\t\t\t\t\tbankAccountNumbersDe[0]\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t\t
{`${t('Bic')}: ${\r\n\t\t\t\t\t\t\t\t\tbankAccountNumbersDe[1]\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('CustomerReference')}
\r\n\t\t\t\t\t\t\t
{t('BankAccountNumber')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{depositData?.accountNumber}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{bankAccountNumbersNo}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default InfoBox\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport SspContext from '../../../../../contexts/SspContext'\r\nimport { IDepositData } from '../../../../../interfaces/i-api-creaditCard'\r\nimport { checkIsMobile } from 'shared'\r\nimport InfoBox from './InfoBox/InfoBox'\r\n\r\nconst DepositOverview = () => {\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { overviewData, error } = useContext(SspContext)\r\n\tconst [depositData, setDepositData] = useState(overviewData as IDepositData)\r\n\tconst [depositInfo, setDepositInfo] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (depositData?.note) {\r\n\t\t\tlet index = depositData.note.indexOf('Bic')\r\n\t\t\tlet indexIban = depositData.note.substr(0, index).indexOf(':')\r\n\t\t\tlet indexBic = depositData.note.substr(index + 1).indexOf(':')\r\n\r\n\t\t\tsetDepositInfo([\r\n\t\t\t\tdepositData.note.substr(0, index).substr(indexIban + 1),\r\n\t\t\t\tdepositData.note.substr(index + 1).substr(indexBic + 1),\r\n\t\t\t])\r\n\t\t}\r\n\t}, [depositData])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetDepositData(overviewData as IDepositData)\r\n\t}, [overviewData])\r\n\r\n\tlet containerCls = ['fade-in', 'container', 'd-flex', 'mt-4']\r\n\tif (isMobile) containerCls.push('flex-column')\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!error && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default DepositOverview\r\n","import React, { useContext, useEffect, useState } from 'react'\r\n\r\nimport { KycWrapper } from 'shared/components/modals/KycSharedModal/KycModal'\r\n\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport CardOverview from './CardOverview/CardOverview'\r\nimport DepositOverview from './DepositOverview/DepositOverview'\r\n\r\nimport './Overview.scss'\r\nimport { Transactions } from 'selfServicePortal/components'\r\n\r\nconst Overview = () => {\r\n\tconst { loading, isCard } = useContext(SspContext)\r\n\r\n\tconst [overview, setOverview] = useState(<>)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isCard?.isCard) {\r\n\t\t\tsetOverview()\r\n\t\t} else {\r\n\t\t\tsetOverview()\r\n\t\t}\r\n\t}, [isCard])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<>{overview}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default Overview\r\n","import Axios from '../axios'\r\nimport appConfig from '../../../app.config'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError, showBlob } from '../../../shared'\r\n\r\nasync function getAccountStatementService(\r\n\taccountStatementId: string,\r\n\tt: TFunction,\r\n\twindowRef: Window | null,\r\n) {\r\n\ttry {\r\n\t\tlet response = await Axios.get(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/accountstatement?accountStatementId=${accountStatementId}`,\r\n\t\t\t{\r\n\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\tresponseType: 'blob',\r\n\t\t\t},\r\n\t\t)\r\n\r\n\t\tlet blob = new Blob([response.data], {\r\n\t\t\ttype: 'application/pdf',\r\n\t\t})\r\n\r\n\t\tshowBlob(blob, windowRef, accountStatementId + '.pdf')\r\n\t} catch (e: any) {\r\n\t\tlogError(e)\r\n\t\tthrow new Error(t('ErrorAccountStatements'))\r\n\t}\r\n}\r\n\r\nexport default getAccountStatementService\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { userManager } from '../../../auth/services/auth.service'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError } from '../../../shared';\r\nimport { IAccountStatements } from '../../interfaces/i-api-creaditCard'\r\n\r\nasync function getAccountStatementsService(t: TFunction, additionalData?: string) {\r\n const accountStatementFormat = 'pdf';\r\n let customerId = await userManager.getUser().then((user) => {\r\n return user?.profile.sub\r\n })\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as IAccountStatements\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n throw new Error(t('NoAccountStatements'))\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as IAccountStatements\r\n}\r\n\r\nexport default getAccountStatementsService;","import Axios from '../axios'\r\nimport { TFunction } from 'i18next'\r\nimport { userManager } from '../../../auth/services/auth.service'\r\nimport { IAccountStatements } from '../../interfaces/i-api-creaditCard'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared'\r\nimport appConfig from '../../../app.config';\r\n\r\nasync function getDepositAccountStatementsService(t: TFunction, additionalData?: string) {\r\n const accountStatementFormat = 'pdf';\r\n let customerId = await userManager.getUser().then((user) => {\r\n return user?.profile.sub\r\n })\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/deposit/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as IAccountStatements\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n throw new Error(t('NoAccountStatements'))\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as IAccountStatements\r\n}\r\n\r\nexport default getDepositAccountStatementsService;","import Axios from '../axios'\r\nimport { TFunction } from 'i18next'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError, showBlob } from '../../../shared'\r\nimport appConfig from '../../../app.config'\r\n\r\nasync function getDepositAccountStatementService(\r\n\taccountStatementId: string,\r\n\tfileName: string,\r\n\tt: TFunction,\r\n\twindowRef: Window | null,\r\n) {\r\n\ttry {\r\n\t\tlet response = await Axios.get(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/deposit/accountstatement?accountStatementId=${accountStatementId}`,\r\n\t\t\t{\r\n\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\tresponseType: 'blob',\r\n\t\t\t},\r\n\t\t)\r\n\t\tlet blob = new Blob([response.data], {\r\n\t\t\ttype: 'application/pdf',\r\n\t\t})\r\n\t\tshowBlob(blob, windowRef, accountStatementId + '.pdf')\r\n\t} catch (e: any) {\r\n\t\tlogError(e)\r\n\t\tthrow new Error(t('ErrorAccountStatements'))\r\n\t}\r\n}\r\n\r\nexport default getDepositAccountStatementService\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n\tisSafariBrowser,\r\n} from 'shared'\r\nimport Tooltip from 'shared/components/Tooltip'\r\n\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport {\r\n\tIAccountStatements,\r\n\tIDepositData,\r\n\tIMSAgreementStatus,\r\n} from '../../../../interfaces/i-api-creaditCard'\r\nimport getAccountStatementService from '../../../../services/CreditCardServices/getAccountStatementService'\r\nimport getAccountStatementsService from '../../../../services/CreditCardServices/getAccountStatementsService'\r\nimport getDepositAccountStatementsService from '../../../../services/DepositServices/getDepositAccountStatementsService'\r\nimport getDepositAccountStatementService from '../../../../services/DepositServices/getDepositAccountStatementService'\r\nimport { TableLegacy } from '../../../../components/index'\r\n\r\nimport './PaymentInformation.scss'\r\nimport { CustomerStatus } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { useSspContext } from 'selfServicePortal/hooks/useSspContext'\r\n\r\nconst PaymentInformation = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { isCard, overviewData, productType } = useContext(SspContext)\r\n\tconst { customerData } = useSspContext()\r\n\tconst title =\r\n\t\tproductType === 'Card'\r\n\t\t\t? 'MasterCardInformation'\r\n\t\t\t: productType === 'Deposit_Fixed'\r\n\t\t\t\t? 'DepositFixedInformation'\r\n\t\t\t\t: 'DepositInformation'\r\n\r\n\tconst fileName = isCard?.isCard ? 'Invoice' : 'BankStatement'\r\n\tconst archiveTitle = isCard?.isCard\r\n\t\t? 'InvoiceArchive'\r\n\t\t: 'AccountStatementArchive'\r\n\tconst archiveDescription = isCard?.isCard\r\n\t\t? 'InvoiceArchiveDescription'\r\n\t\t: 'StatementArchiveDescription'\r\n\r\n\tconst [accountStatements, setAccountStatements] =\r\n\t\tuseState()\r\n\r\n\tlet bankAccountNumbers =\r\n\t\tappConfig.country === 'de' ||\r\n\t\tappConfig.country === 'at' ||\r\n\t\tappConfig.country === 'es' ||\r\n\t\tappConfig.country === 'it'\r\n\t\t\t? isCard?.isCard\r\n\t\t\t\t? 'SOBKDEB2XXX'\r\n\t\t\t\t: 'IBAN DE06202208000000024118 \\n BIC SXPYDEHH'\r\n\t\t\t: isCard?.isCard\r\n\t\t\t\t? '3633.32.77160'\r\n\t\t\t\t: '3633.53.85432'\r\n\r\n\tconst getAccountStatements = async () => {\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tif (isCard?.isCard) {\r\n\t\t\t\tlet accountStatements = await getAccountStatementsService(\r\n\t\t\t\t\tt,\r\n\t\t\t\t\toverviewData?.accountOwnerPartyId!,\r\n\t\t\t\t)\r\n\t\t\t\tsetAccountStatements(accountStatements)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t} else {\r\n\t\t\t\tlet accountStatements =\r\n\t\t\t\t\tawait getDepositAccountStatementsService(\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t\toverviewData?.accountOwnerPartyId!,\r\n\t\t\t\t\t)\r\n\t\t\t\tsetAccountStatements(accountStatements)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tgetAccountStatements()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tconst depositData = [\r\n\t\toverviewData?.accountNumber,\r\n\t\tbankAccountNumbers,\r\n\t\tappConfig.country === 'de' ||\r\n\t\tappConfig.country === 'at' ||\r\n\t\tappConfig.country === 'es' ||\r\n\t\tappConfig.country === 'it'\r\n\t\t\t? 'TF Bank AB'\r\n\t\t\t: 'TF Bank Norge (org.nr 923 194 592)',\r\n\t]\r\n\r\n\tlet depositItems = depositData.map((item: any, key: number) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{item}\r\n\t\t\t\r\n\t\t)\r\n\t})\r\n\r\n\tconst DownloadItem = (props: any) => (\r\n\t\t {\r\n\t\t\t\tprops.onClick()\r\n\t\t\t}}\r\n\t\t\tclassName={\r\n\t\t\t\tisMobile\r\n\t\t\t\t\t? 'd-flex justify-content-between btn-nostyle w-100'\r\n\t\t\t\t\t: 'btn-nostyle'\r\n\t\t\t}>\r\n\t\t\t{props.item} \r\n\t\t\r\n\t)\r\n\r\n\tinterface ITableAccountStatement {\r\n\t\tperiod: string\r\n\t\tminAmountToPay: string\r\n\t\tdownloadPdf: any\r\n\t}\r\n\r\n\tlet depositCols = [\r\n\t\t
\r\n\t\t\t{(appConfig.country === 'de' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'es' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'it' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'at' && isCard?.isCard)\r\n\t\t\t\t? t('Viban')\r\n\t\t\t\t: t('CustomerReferenceNumber')}\r\n\r\n\t\t\t\r\n\t\t
,\r\n\t\t<>\r\n\t\t\t{(appConfig.country === 'de' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'es' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'it' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'at' && isCard?.isCard)\r\n\t\t\t\t? t('Bic')\r\n\t\t\t\t: t('BankAccountNumber')}\r\n\t\t,\r\n\t\t<>{t('Reciever')},\r\n\t]\r\n\r\n\tconst [tableData, setTableData] = useState([])\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tconst getAccountStatement = useCallback(\r\n\t\tasync (\r\n\t\t\taccountStatementId: string,\r\n\t\t\tfileName: string,\r\n\t\t\twindowRef: Window | null,\r\n\t\t) => {\r\n\t\t\ttry {\r\n\t\t\t\tif (isCard?.isCard) {\r\n\t\t\t\t\tawait getAccountStatementService(\r\n\t\t\t\t\t\taccountStatementId,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tawait getDepositAccountStatementService(\r\n\t\t\t\t\t\taccountStatementId,\r\n\t\t\t\t\t\tfileName,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t}\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (accountStatements?.accountStatements) {\r\n\t\t\taccountStatements.accountStatements =\r\n\t\t\t\taccountStatements.accountStatements.sort((a, b) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t+new Date(b.accountStatementDate) -\r\n\t\t\t\t\t\t+new Date(a.accountStatementDate)\r\n\t\t\t\t\t)\r\n\t\t\t\t})\r\n\r\n\t\t\tsetTableData(\r\n\t\t\t\taccountStatements.accountStatements.map((a) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tperiod: `${new Date(\r\n\t\t\t\t\t\t\ta.periodStartDate,\r\n\t\t\t\t\t\t).toLocaleDateString(getLanguageLocale())}-${new Date(\r\n\t\t\t\t\t\t\ta.periodEndDate,\r\n\t\t\t\t\t\t).toLocaleDateString(getLanguageLocale())}`,\r\n\t\t\t\t\t\tminAmountToPay: `${a.paymentAmount} ${a.paymentCurrency}`,\r\n\t\t\t\t\t\tdownloadPdf: (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tlet windowRef = isSafariBrowser()\r\n\t\t\t\t\t\t\t\t\t\t? window.open()\r\n\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\tgetAccountStatement(\r\n\t\t\t\t\t\t\t\t\t\ta.accountStatementId,\r\n\t\t\t\t\t\t\t\t\t\t`${t(fileName)}_${new Date(\r\n\t\t\t\t\t\t\t\t\t\t\ta.accountStatementDate,\r\n\t\t\t\t\t\t\t\t\t\t).toLocaleDateString(\r\n\t\t\t\t\t\t\t\t\t\t\tgetLanguageLocale(),\r\n\t\t\t\t\t\t\t\t\t\t)}.pdf`,\r\n\t\t\t\t\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [accountStatements])\r\n\r\n\tlet invoiceArchiveItems\r\n\tif (tableData) {\r\n\t\tinvoiceArchiveItems = tableData.map((item: any, key: number) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{item.period}\r\n\t\t\t\t\t{isCard?.isCard && item.minAmountToPay}\r\n\t\t\t\t\t{item.downloadPdf}\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t})\r\n\t}\r\n\r\n\tconst PaymenyInfoMobile = () => (\r\n\t\t
\r\n\t\t\t{customerData?.status !== CustomerStatus.Closed &&\r\n\t\t\t\t(overviewData as IDepositData)?.agreementStatus !==\r\n\t\t\t\t\tIMSAgreementStatus.Closed && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t(title)}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('CustomerReferenceNumber')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{depositData[0]}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('BankAccountNumber')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{depositData[1]}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('Reciever')}\r\n\t\t\t\t\t\t\t\t
{depositData[2]}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t(archiveTitle)}

\r\n\t\t\t\t\t{appConfig.country === 'de' && (\r\n\t\t\t\t\t\t
{t(archiveDescription)}
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t{error ? (\r\n\t\t\t\t\t
{t(error.message)}
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('Period')}
\r\n\t\t\t\t\t\t\t
{t('DownloadPDF')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{tableData.map((i, key) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{i.downloadPdf}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isMobile ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{customerData?.status !== CustomerStatus.Closed &&\r\n\t\t\t\t\t\t\t\t(overviewData as IDepositData)\r\n\t\t\t\t\t\t\t\t\t?.agreementStatus !==\r\n\t\t\t\t\t\t\t\t\tIMSAgreementStatus.Closed && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t

{t(title)}

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{depositItems}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{t(archiveTitle)}

\r\n\t\t\t\t\t\t\t\t\t{appConfig.country === 'de' && (\r\n\t\t\t\t\t\t\t\t\t\t
{t(archiveDescription)}
\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{t(error.message)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default PaymentInformation\r\n","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _ellipse, _ellipse2, _ellipse3, _ellipse4, _ellipse5, _ellipse6, _ellipse7, _ellipse8, _ellipse9;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgContractBronze(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;stroke:#575651;stroke-width:6.8176;}\\r\\n\\t.st1{fill:#575651;}\\r\\n\\t.st2{fill:#DE996F;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79,45.4h165c3.6,0,6.6,3,6.6,6.6v220c0,3.6-3,6.6-6.6,6.6H79c-3.6,0-6.6-3-6.6-6.6V52 C72.4,48.4,75.4,45.4,79,45.4z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M112.5,159h115c1.9,0,3.5,1.6,3.5,3.5l0,0c0,1.9-1.6,3.5-3.5,3.5h-115c-1.9,0-3.5-1.6-3.5-3.5l0,0 C109,160.6,110.6,159,112.5,159z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,198h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,199.8,110.8,198,113,198z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,238h84c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4h-84c-2.2,0-4-1.8-4-4l0,0C109,239.8,110.8,238,113,238z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,99h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,100.8,110.8,99,113,99z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,139h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,140.8,110.8,139,113,139z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,178h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,179.8,110.8,178,113,178z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,218h90c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4h-90c-2.2,0-4-1.8-4-4l0,0C109,219.8,110.8,218,113,218z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,79h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,80.8,110.8,79,113,79z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,119h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,120.8,110.8,119,113,119z\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 81.5,\n rx: 6,\n ry: 5.5\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 102.5,\n rx: 6,\n ry: 5.5\n })), _ellipse3 || (_ellipse3 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 122.5,\n rx: 6,\n ry: 5.5\n })), _ellipse4 || (_ellipse4 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 142.5,\n rx: 6,\n ry: 5.5\n })), _ellipse5 || (_ellipse5 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 162.5,\n rx: 6,\n ry: 5.5\n })), _ellipse6 || (_ellipse6 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 181.5,\n rx: 6,\n ry: 5.5\n })), _ellipse7 || (_ellipse7 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 201.5,\n rx: 6,\n ry: 5.5\n })), _ellipse8 || (_ellipse8 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 221.5,\n rx: 6,\n ry: 5.5\n })), _ellipse9 || (_ellipse9 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 241.5,\n rx: 6,\n ry: 5.5\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgContractBronze);\nexport default __webpack_public_path__ + \"static/media/contract-bronze.c9138d2ad8051ac6309c443f71701323.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgContractBronze2(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;stroke:#575651;stroke-width:6.8176;}\\r\\n\\t.st1{fill:#575651;}\\r\\n\\t.st2{fill:#DE996F;}\\r\\n\\t.st3{fill:none;stroke:#575651;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79,45.4h165c3.6,0,6.6,3,6.6,6.6v220c0,3.6-3,6.6-6.6,6.6H79c-3.6,0-6.6-3-6.6-6.6V52 C72.4,48.4,75.4,45.4,79,45.4z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M95.7,146.5h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H95.7c-2.2,0-4-1.8-4-4l0,0 C91.7,148.3,93.5,146.5,95.7,146.5z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,186.5h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,188.2,93.8,186.5,96,186.5z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M95.7,126.1h132.9c2.2,0,4,1.8,4,4v0c0,2.2-1.8,4-4,4H95.7c-2.2,0-4-1.8-4-4v0 C91.7,127.9,93.5,126.1,95.7,126.1z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,166h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,167.8,93.8,166,96,166z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,206h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,207.8,93.8,206,96,206z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,106h133c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,107.8,93.8,106,96,106z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M96,85h131c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,86.8,93.8,85,96,85z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M196.8,64.7h28.4c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4h-28.4c-2.2,0-4-1.8-4-4l0,0 C192.9,66.5,194.6,64.7,196.8,64.7z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M112,240c0.1,2.8,1.5,5.6,3.5,7.6c1.9,1.9,4.5,1.1,6.5-0.1c1.1-0.7,2-1.6,2.9-2.5c1-1,2.4-1.7,3.8-2.1 c3-1,6.5-0.8,8.8,1.5c1.2,1.2,1.7,2.6,2.7,3.9c1.1,1.5,2.7,2.5,4.4,3.2c1.7,0.7,3.5,1,5.3,1.1c2,0.1,4.2,0.4,6.1-0.1 c2.5-0.7,4-3,5.8-4.7c2.7-2.6,7.5-5.8,11.4-4.1c2.1,0.9,3.8,2.3,5.8,3.2c2.3,1,4.8,1.2,7.2,1.4\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M210.8,230.5l91.1-74.2c3.6-2.9,8.9-2.4,11.9,1.2c2.9,3.6,2.4,8.9-1.2,11.9l-91.1,74.2L210.8,230.5z\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M209.2,231.6l11.2,13.6l-22.2,6L209.2,231.6z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgContractBronze2);\nexport default __webpack_public_path__ + \"static/media/contract-bronze-2.91ff1e111151ff9ecfd76a6bb682a3fd.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgHandGray(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{clip-path:url(#SVGID_2_);}\\r\\n\\t.st1{fill:#575651;stroke:#575651;stroke-miterlimit:10;}\\r\\n\\t.st2{fill:#FFFFFF;filter:url(#Adobe_OpacityMaskFilter);}\\r\\n\\t.st3{mask:url(#path-1-outside-1_1_);fill:none;stroke:#575651;stroke-width:4;}\\r\\n\")), /*#__PURE__*/React.createElement(\"g\", null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_1_\",\n x: 16,\n y: 60,\n width: 292.6,\n height: 203\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_2_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_1_\",\n style: {\n overflow: \"visible\"\n }\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M307.2,122.8c-0.3-0.2-0.7-0.4-1.1-0.4c-0.4-0.1-0.8-0.1-1.2,0c-0.4,0.1-0.8,0.2-1.1,0.5 c-0.3,0.2-0.6,0.5-0.8,0.9c-9,13.9-35,50.5-48,52.3c-0.5,0.1-1.1,0.1-1.7,0s-1-0.4-1.5-0.8c-12.4-10.9-34.7-33.8-51-50.5 c-5.7-5.9-10.6-10.8-13.8-14.1c-6.5-6.5-21.4-3.4-37.2,0c-5.9,1.3-11.4,2.5-16.4,3.1c-5.2,0.3-10.3-0.7-15-2.9 c-4.7-2.2-8.7-5.6-11.7-9.8c-1.5-2.3-2-4.3-1.3-5.3c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1c0,0,0.1-0.2,0.2-0.2 c7.2-6.6,61.9-24.2,68.3-23.4c1.9,0.5,6.9,2.5,12.2,4.7c15.8,6.5,27.5,11,32.4,10.2c1-0.2,3.2-0.5,26.3-21.2 c0.3-0.3,0.5-0.6,0.7-1c0.2-0.4,0.3-0.8,0.3-1.2c0-0.4,0-0.8-0.2-1.2c-0.1-0.4-0.3-0.7-0.6-1c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.3-1,0.6c-9.8,8.8-21,18.3-23.5,19.7c-4.2,0.2-20.2-6.3-28.9-9.8 c-6-2.4-10.7-4.3-13-4.9c-5.8-1.4-35.1,8.3-38.4,9.4c-12.1,4-26.4,9.4-33.3,14L83.6,68.5c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.2-1.2-0.2c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.2-0.7,0.4-1,0.7c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2 c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l20.6,20.6c-0.6,1.8-0.7,3.8-0.4,5.6c0.3,1.9,1.1,3.7,2.3,5.2 c5.7,8.9,19.5,17.1,32.6,15.4c5.2-0.7,11.1-1.9,16.9-3.2c12.2-2.6,27.3-5.9,31.6-1.7c3.2,3.2,8,8.2,13.7,14 c16.2,16.6,38.4,39.4,51,50.5c2.3,2.9,3.8,6.4,4.2,10.2c0.4,3.7-0.2,7.5-1.7,10.8c-1.5,3.3-3.9,6.2-6.9,8.3 c-3,2.1-6.4,3.5-10.1,3.9l-40.9-42.4c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1 c0,0.8,0.3,1.6,0.9,2.2l41.1,42.7c-0.4,2.4-1.3,4.8-2.7,6.9c-1.4,2.1-3.1,3.8-5.2,5.2c-2.5,1.9-5.5,3.1-8.6,3.4 c-3.1,0.3-6.3-0.2-9.1-1.6l-34.9-37.7c-0.3-0.3-0.6-0.6-1-0.7s-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.4-1,0.6 c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l33.8,36.5 c-3,4.3-7.3,7.6-12.3,9.2c-2.5,0.9-5.2,1.2-7.9,1c-2.7-0.2-5.3-0.9-7.7-2.1l-19.8-20.1c-0.6-0.5-1.3-0.8-2.1-0.8 c-0.8,0-1.5,0.3-2.1,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.5,0.8,2.1l18.5,18.7c-4.4,6.7-9.9,11-15.2,11.6 c-4.6,0.6-9.3-1.4-13.9-6l-11.2-11.3l3.9-3.8c5.7-5.7,4.9-15.3-2-22.2c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.2-3.1-0.1 c0-2.6-0.5-5.2-1.4-7.7c-1-2.4-2.4-4.6-4.3-6.5c-1.9-1.9-4.1-3.3-6.5-4.3c-2.4-1-5-1.5-7.7-1.4c0.1-1,0.1-2.1-0.1-3.1 c-0.6-4.2-2.6-8.1-5.7-11c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.1-3.1,0c0.1-2.6-0.3-5.3-1.3-7.7c-1-2.4-2.5-4.6-4.4-6.4 c-6.9-6.9-16.4-7.8-22.2-2l-3.2,3.2c-2.4-3.2-4.2-6.7-5.5-10.5c-0.1-0.5-0.4-0.9-0.7-1.3l-13.3-13.7c-0.6-0.6-1.3-0.9-2.1-0.9 c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l12.8,13.3c1.6,4.5,3.8,8.6,6.7,12.4l-3.5,3.5 c-1.4,1.4-2.6,3.1-3.4,5s-1.2,3.9-1.2,5.9c0,2,0.4,4.1,1.2,5.9s1.9,3.6,3.4,5l61.9,61.9c1.4,1.4,3.1,2.6,5,3.4 c1.9,0.8,3.9,1.2,5.9,1.2c2,0,4.1-0.4,5.9-1.2c1.9-0.8,3.6-1.9,5-3.4l2.9-2.9l11.2,11.3c2.1,2.4,4.6,4.3,7.5,5.6 c2.8,1.4,5.9,2.1,9.1,2.3c0.8,0,1.6,0,2.5-0.2c7.1-0.9,14.1-6.1,19.4-14.3c5.8,2.2,12.2,2.4,18.1,0.4c6.3-2,11.7-6.1,15.5-11.5 c3.6,1.3,7.5,1.7,11.3,1.1c3.8-0.6,7.4-2.1,10.5-4.4c5.3-3.6,9-9.2,10.3-15.5c4.4-0.7,8.6-2.5,12.2-5.2c3.6-2.7,6.5-6.3,8.4-10.4 c1.5-3.3,2.4-6.9,2.5-10.5c0.1-3.6-0.6-7.2-2.1-10.6c18.1-2.7,48.8-49.6,52.2-55c0.4-0.7,0.5-1.5,0.4-2.3 C308.4,123.9,307.9,123.2,307.2,122.8z M101.6,197.8c4.4,4.4,5.3,10.3,2,13.6v0l-17.4,18l-15.6-15.6l17.4-18 C91.3,192.5,97.1,193.4,101.6,197.8z M74.3,174c2.8,0.5,5.5,1.9,7.4,4c2.1,2,3.5,4.6,4,7.4c0.2,1.1,0.1,2.2-0.3,3.3 c-0.3,1.1-0.9,2-1.7,2.8v0h0l-17.4,18l-15.6-15.6l17.4-18c0.8-0.8,1.8-1.3,2.8-1.7C72,173.9,73.2,173.8,74.3,174L74.3,174z M34.4,173.8c0-1.2,0.2-2.5,0.7-3.6c0.5-1.1,1.2-2.2,2.1-3.1l11.1-11.1c0.7-0.7,1.5-1.2,2.3-1.5c0.9-0.3,1.8-0.5,2.7-0.5 c3.3,0.2,6.3,1.6,8.5,4c4.4,4.4,5.3,10.3,2,13.6h0l-17.4,18l-9.2-9.2c-0.9-0.9-1.6-1.9-2-3C34.7,176.3,34.4,175.1,34.4,173.8 L34.4,173.8z M99.1,242.4l-8.6-8.6l17.4-18c3.3-3.3,9.2-2.5,13.6,2c4.4,4.4,5.3,10.3,2,13.6l-6,6l-5.1,5.1 c-1.8,1.7-4.2,2.7-6.7,2.7C103.3,245,100.9,244.1,99.1,242.4z\"\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"Adobe_OpacityMaskFilter\",\n filterUnits: \"userSpaceOnUse\",\n x: 14,\n y: 58,\n width: 296.6,\n height: 207\n }, /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n maskUnits: \"userSpaceOnUse\",\n x: 14,\n y: 58,\n width: 296.6,\n height: 207,\n id: \"path-1-outside-1_1_\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 14,\n y: 58,\n className: \"st2\",\n width: 297,\n height: 207\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M307.2,122.8c-0.3-0.2-0.7-0.4-1.1-0.4c-0.4-0.1-0.8-0.1-1.2,0c-0.4,0.1-0.8,0.2-1.1,0.5c-0.3,0.2-0.6,0.5-0.8,0.9 c-9,13.9-35,50.5-48,52.3c-0.5,0.1-1.1,0.1-1.7,0s-1-0.4-1.5-0.8c-12.4-10.9-34.7-33.8-51-50.5c-5.7-5.9-10.6-10.8-13.8-14.1 c-6.5-6.5-21.4-3.4-37.2,0c-5.9,1.3-11.4,2.5-16.4,3.1c-5.2,0.3-10.3-0.7-15-2.9c-4.7-2.2-8.7-5.6-11.7-9.8 c-1.5-2.3-2-4.3-1.3-5.3c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1c0,0,0.1-0.2,0.2-0.2c7.2-6.6,61.9-24.2,68.3-23.4 c1.9,0.5,6.9,2.5,12.2,4.7c15.8,6.5,27.5,11,32.4,10.2c1-0.2,3.2-0.5,26.3-21.2c0.3-0.3,0.5-0.6,0.7-1c0.2-0.4,0.3-0.8,0.3-1.2 c0-0.4,0-0.8-0.2-1.2c-0.1-0.4-0.3-0.7-0.6-1c-0.3-0.3-0.6-0.5-1-0.7c-0.4-0.2-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2 c-0.4,0.1-0.7,0.3-1,0.6c-9.8,8.8-21,18.3-23.5,19.7c-4.2,0.2-20.2-6.3-28.9-9.8c-6-2.4-10.7-4.3-13-4.9 c-5.8-1.4-35.1,8.3-38.4,9.4c-12.1,4-26.4,9.4-33.3,14L83.6,68.5c-0.3-0.3-0.6-0.5-1-0.7c-0.4-0.2-0.8-0.2-1.2-0.2 c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.2-0.7,0.4-1,0.7c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2c0,0.4,0.1,0.8,0.2,1.2 c0.2,0.4,0.4,0.7,0.7,1l20.6,20.6c-0.6,1.8-0.7,3.8-0.4,5.6c0.3,1.9,1.1,3.7,2.3,5.2c5.7,8.9,19.5,17.1,32.6,15.4 c5.2-0.7,11.1-1.9,16.9-3.2c12.2-2.6,27.3-5.9,31.6-1.7c3.2,3.2,8,8.2,13.7,14c16.2,16.6,38.4,39.4,51,50.5 c2.3,2.9,3.8,6.4,4.2,10.2c0.4,3.7-0.2,7.5-1.7,10.8c-1.5,3.3-3.9,6.2-6.9,8.3c-3,2.1-6.4,3.5-10.1,3.9l-40.9-42.4 c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l41.1,42.7 c-0.4,2.4-1.3,4.8-2.7,6.9c-1.4,2.1-3.1,3.8-5.2,5.2c-2.5,1.9-5.5,3.1-8.6,3.4c-3.1,0.3-6.3-0.2-9.1-1.6l-34.9-37.7 c-0.3-0.3-0.6-0.6-1-0.7s-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.4-1,0.6c-0.3,0.3-0.5,0.6-0.7,1 c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l33.8,36.5c-3,4.3-7.3,7.6-12.3,9.2 c-2.5,0.9-5.2,1.2-7.9,1c-2.7-0.2-5.3-0.9-7.7-2.1l-19.8-20.1c-0.6-0.5-1.3-0.8-2.1-0.8c-0.8,0-1.5,0.3-2.1,0.9 c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.5,0.8,2.1l18.5,18.7c-4.4,6.7-9.9,11-15.2,11.6c-4.6,0.6-9.3-1.4-13.9-6l-11.2-11.3 l3.9-3.8c5.7-5.7,4.9-15.3-2-22.2c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.2-3.1-0.1c0-2.6-0.5-5.2-1.4-7.7c-1-2.4-2.4-4.6-4.3-6.5 c-1.9-1.9-4.1-3.3-6.5-4.3c-2.4-1-5-1.5-7.7-1.4c0.1-1,0.1-2.1-0.1-3.1c-0.6-4.2-2.6-8.1-5.7-11c-3-3.1-6.8-5.1-11-5.7 c-1-0.1-2.1-0.1-3.1,0c0.1-2.6-0.3-5.3-1.3-7.7c-1-2.4-2.5-4.6-4.4-6.4c-6.9-6.9-16.4-7.8-22.2-2l-3.2,3.2 c-2.4-3.2-4.2-6.7-5.5-10.5c-0.1-0.5-0.4-0.9-0.7-1.3l-13.3-13.7c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9 c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l12.8,13.3c1.6,4.5,3.8,8.6,6.7,12.4l-3.5,3.5c-1.4,1.4-2.6,3.1-3.4,5 s-1.2,3.9-1.2,5.9c0,2,0.4,4.1,1.2,5.9s1.9,3.6,3.4,5l61.9,61.9c1.4,1.4,3.1,2.6,5,3.4c1.9,0.8,3.9,1.2,5.9,1.2 c2,0,4.1-0.4,5.9-1.2c1.9-0.8,3.6-1.9,5-3.4l2.9-2.9l11.2,11.3c2.1,2.4,4.6,4.3,7.5,5.6c2.8,1.4,5.9,2.1,9.1,2.3 c0.8,0,1.6,0,2.5-0.2c7.1-0.9,14.1-6.1,19.4-14.3c5.8,2.2,12.2,2.4,18.1,0.4c6.3-2,11.7-6.1,15.5-11.5c3.6,1.3,7.5,1.7,11.3,1.1 c3.8-0.6,7.4-2.1,10.5-4.4c5.3-3.6,9-9.2,10.3-15.5c4.4-0.7,8.6-2.5,12.2-5.2c3.6-2.7,6.5-6.3,8.4-10.4c1.5-3.3,2.4-6.9,2.5-10.5 c0.1-3.6-0.6-7.2-2.1-10.6c18.1-2.7,48.8-49.6,52.2-55c0.4-0.7,0.5-1.5,0.4-2.3C308.4,123.9,307.9,123.2,307.2,122.8z M101.6,197.8c4.4,4.4,5.3,10.3,2,13.6v0l-17.4,18l-15.6-15.6l17.4-18C91.3,192.5,97.1,193.4,101.6,197.8z M74.3,174 c2.8,0.5,5.5,1.9,7.4,4c2.1,2,3.5,4.6,4,7.4c0.2,1.1,0.1,2.2-0.3,3.3c-0.3,1.1-0.9,2-1.7,2.8v0h0l-17.4,18l-15.6-15.6l17.4-18 c0.8-0.8,1.8-1.3,2.8-1.7C72,173.9,73.2,173.8,74.3,174L74.3,174z M34.4,173.8c0-1.2,0.2-2.5,0.7-3.6c0.5-1.1,1.2-2.2,2.1-3.1 l11.1-11.1c0.7-0.7,1.5-1.2,2.3-1.5c0.9-0.3,1.8-0.5,2.7-0.5c3.3,0.2,6.3,1.6,8.5,4c4.4,4.4,5.3,10.3,2,13.6h0l-17.4,18l-9.2-9.2 c-0.9-0.9-1.6-1.9-2-3C34.7,176.3,34.4,175.1,34.4,173.8L34.4,173.8z M99.1,242.4l-8.6-8.6l17.4-18c3.3-3.3,9.2-2.5,13.6,2 c4.4,4.4,5.3,10.3,2,13.6l-6,6l-5.1,5.1c-1.8,1.7-4.2,2.7-6.7,2.7C103.3,245,100.9,244.1,99.1,242.4z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M307.2,122.8c-0.3-0.2-0.7-0.4-1.1-0.4c-0.4-0.1-0.8-0.1-1.2,0c-0.4,0.1-0.8,0.2-1.1,0.5 c-0.3,0.2-0.6,0.5-0.8,0.9c-9,13.9-35,50.5-48,52.3c-0.5,0.1-1.1,0.1-1.7,0s-1-0.4-1.5-0.8c-12.4-10.9-34.7-33.8-51-50.5 c-5.7-5.9-10.6-10.8-13.8-14.1c-6.5-6.5-21.4-3.4-37.2,0c-5.9,1.3-11.4,2.5-16.4,3.1c-5.2,0.3-10.3-0.7-15-2.9 c-4.7-2.2-8.7-5.6-11.7-9.8c-1.5-2.3-2-4.3-1.3-5.3c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1c0,0,0.1-0.2,0.2-0.2 c7.2-6.6,61.9-24.2,68.3-23.4c1.9,0.5,6.9,2.5,12.2,4.7c15.8,6.5,27.5,11,32.4,10.2c1-0.2,3.2-0.5,26.3-21.2 c0.3-0.3,0.5-0.6,0.7-1c0.2-0.4,0.3-0.8,0.3-1.2c0-0.4,0-0.8-0.2-1.2c-0.1-0.4-0.3-0.7-0.6-1c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.3-1,0.6c-9.8,8.8-21,18.3-23.5,19.7c-4.2,0.2-20.2-6.3-28.9-9.8 c-6-2.4-10.7-4.3-13-4.9c-5.8-1.4-35.1,8.3-38.4,9.4c-12.1,4-26.4,9.4-33.3,14L83.6,68.5c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.2-1.2-0.2c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.2-0.7,0.4-1,0.7c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2 c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l20.6,20.6c-0.6,1.8-0.7,3.8-0.4,5.6c0.3,1.9,1.1,3.7,2.3,5.2 c5.7,8.9,19.5,17.1,32.6,15.4c5.2-0.7,11.1-1.9,16.9-3.2c12.2-2.6,27.3-5.9,31.6-1.7c3.2,3.2,8,8.2,13.7,14 c16.2,16.6,38.4,39.4,51,50.5c2.3,2.9,3.8,6.4,4.2,10.2c0.4,3.7-0.2,7.5-1.7,10.8c-1.5,3.3-3.9,6.2-6.9,8.3 c-3,2.1-6.4,3.5-10.1,3.9l-40.9-42.4c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1 c0,0.8,0.3,1.6,0.9,2.2l41.1,42.7c-0.4,2.4-1.3,4.8-2.7,6.9c-1.4,2.1-3.1,3.8-5.2,5.2c-2.5,1.9-5.5,3.1-8.6,3.4 c-3.1,0.3-6.3-0.2-9.1-1.6l-34.9-37.7c-0.3-0.3-0.6-0.6-1-0.7s-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.4-1,0.6 c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l33.8,36.5 c-3,4.3-7.3,7.6-12.3,9.2c-2.5,0.9-5.2,1.2-7.9,1c-2.7-0.2-5.3-0.9-7.7-2.1l-19.8-20.1c-0.6-0.5-1.3-0.8-2.1-0.8 c-0.8,0-1.5,0.3-2.1,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.5,0.8,2.1l18.5,18.7c-4.4,6.7-9.9,11-15.2,11.6 c-4.6,0.6-9.3-1.4-13.9-6l-11.2-11.3l3.9-3.8c5.7-5.7,4.9-15.3-2-22.2c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.2-3.1-0.1 c0-2.6-0.5-5.2-1.4-7.7c-1-2.4-2.4-4.6-4.3-6.5c-1.9-1.9-4.1-3.3-6.5-4.3c-2.4-1-5-1.5-7.7-1.4c0.1-1,0.1-2.1-0.1-3.1 c-0.6-4.2-2.6-8.1-5.7-11c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.1-3.1,0c0.1-2.6-0.3-5.3-1.3-7.7c-1-2.4-2.5-4.6-4.4-6.4 c-6.9-6.9-16.4-7.8-22.2-2l-3.2,3.2c-2.4-3.2-4.2-6.7-5.5-10.5c-0.1-0.5-0.4-0.9-0.7-1.3l-13.3-13.7c-0.6-0.6-1.3-0.9-2.1-0.9 c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l12.8,13.3c1.6,4.5,3.8,8.6,6.7,12.4l-3.5,3.5 c-1.4,1.4-2.6,3.1-3.4,5s-1.2,3.9-1.2,5.9c0,2,0.4,4.1,1.2,5.9s1.9,3.6,3.4,5l61.9,61.9c1.4,1.4,3.1,2.6,5,3.4 c1.9,0.8,3.9,1.2,5.9,1.2c2,0,4.1-0.4,5.9-1.2c1.9-0.8,3.6-1.9,5-3.4l2.9-2.9l11.2,11.3c2.1,2.4,4.6,4.3,7.5,5.6 c2.8,1.4,5.9,2.1,9.1,2.3c0.8,0,1.6,0,2.5-0.2c7.1-0.9,14.1-6.1,19.4-14.3c5.8,2.2,12.2,2.4,18.1,0.4c6.3-2,11.7-6.1,15.5-11.5 c3.6,1.3,7.5,1.7,11.3,1.1c3.8-0.6,7.4-2.1,10.5-4.4c5.3-3.6,9-9.2,10.3-15.5c4.4-0.7,8.6-2.5,12.2-5.2c3.6-2.7,6.5-6.3,8.4-10.4 c1.5-3.3,2.4-6.9,2.5-10.5c0.1-3.6-0.6-7.2-2.1-10.6c18.1-2.7,48.8-49.6,52.2-55c0.4-0.7,0.5-1.5,0.4-2.3 C308.4,123.9,307.9,123.2,307.2,122.8z M101.6,197.8c4.4,4.4,5.3,10.3,2,13.6v0l-17.4,18l-15.6-15.6l17.4-18 C91.3,192.5,97.1,193.4,101.6,197.8z M74.3,174c2.8,0.5,5.5,1.9,7.4,4c2.1,2,3.5,4.6,4,7.4c0.2,1.1,0.1,2.2-0.3,3.3 c-0.3,1.1-0.9,2-1.7,2.8v0h0l-17.4,18l-15.6-15.6l17.4-18c0.8-0.8,1.8-1.3,2.8-1.7C72,173.9,73.2,173.8,74.3,174L74.3,174z M34.4,173.8c0-1.2,0.2-2.5,0.7-3.6c0.5-1.1,1.2-2.2,2.1-3.1l11.1-11.1c0.7-0.7,1.5-1.2,2.3-1.5c0.9-0.3,1.8-0.5,2.7-0.5 c3.3,0.2,6.3,1.6,8.5,4c4.4,4.4,5.3,10.3,2,13.6h0l-17.4,18l-9.2-9.2c-0.9-0.9-1.6-1.9-2-3C34.7,176.3,34.4,175.1,34.4,173.8 L34.4,173.8z M99.1,242.4l-8.6-8.6l17.4-18c3.3-3.3,9.2-2.5,13.6,2c4.4,4.4,5.3,10.3,2,13.6l-6,6l-5.1,5.1 c-1.8,1.7-4.2,2.7-6.7,2.7C103.3,245,100.9,244.1,99.1,242.4z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHandGray);\nexport default __webpack_public_path__ + \"static/media/hand-gray.beee68f2eb2cc786023db86390b90d3b.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgStandardsBronze(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#DE996F;stroke:#DE996F;}\\r\\n\\t.st1{fill:#575651;stroke:#575651;stroke-width:2;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M188.8,233.6c0,21.4,17.5,38.9,38.9,38.9s38.9-17.5,38.9-38.9s-17.5-38.9-38.9-38.9S188.8,212.2,188.8,233.6z M195.1,234c0-18,14.6-32.6,32.6-32.6c17.7,0,32.6,14.6,32.6,32.6c0,18-14.6,32.6-32.6,32.6S195.1,252,195.1,234z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M221,252L221,252L221,252c0.3,0.1,0.4,0.2,0.5,0.3l0,0c0.1,0.1,0.3,0.2,0.4,0.2c0.3,0.2,0.7,0.3,1.1,0.3h0 c0.3,0,0.8,0,1.2-0.2c0.5-0.2,0.9-0.5,1.3-1.1l25.3-28.8l0,0l0,0c0.8-1.2,0.8-3.3-0.4-4.5l0,0l0,0c-1.2-0.8-3.3-0.8-4.5,0.4l0,0l0,0 l-23.3,26.4l-15.5-12.4l0,0l0,0c-0.8-0.6-1.6-0.8-2.4-0.7c-0.8,0.1-1.5,0.5-2.1,1.1l0,0l0,0c-0.6,0.8-0.8,1.6-0.7,2.4 c0.1,0.8,0.5,1.5,1.1,2.1l0,0l0,0L221,252z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M117.8,141.1c0-4.4-3.6-8.4-8.4-8.4c-4.4,0-8.4,3.6-8.4,8.4c0,4.4,3.6,8.4,8.4,8.4 C114.2,149.4,117.8,145.8,117.8,141.1z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M160.5,141.1c0,4.4,3.6,8.4,8.4,8.4c4.4,0,8.4-3.6,8.4-8.4c0-4.4-3.6-8.4-8.4-8.4 C164.1,132.7,160.5,136.7,160.5,141.1z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M75.9,241.4L75.9,241.4c14,14,34.7,21.1,60.9,21.1h4.6c14.9,0,27.7-2.5,38.8-7.1l0,0l0,0c0.9-0.4,1.6-1.1,2-2 c0.4-0.9,0.4-1.9-0.1-2.9c-0.4-0.9-1.1-1.6-2-2c-0.9-0.4-1.9-0.4-2.8,0.1c-9.7,4.1-21.9,6.2-35.8,6.2h-4.6 c-24.8,0-43.2-6.6-55.6-19.1c-15.9-16.2-15.9-38.1-15.9-38.4c0-0.1,0-1.9-0.1-5c-0.1-6.4-0.3-18.3-0.5-31.2 c-0.3-19.1-0.5-40.6-0.5-50.4c0-13,0.6-26.3,4.6-36.3c2-5,4.8-9.1,8.8-12c3.9-2.9,9.1-4.6,15.9-4.6h88c6.8,0,11.9,1.7,15.9,4.6 c3.9,2.9,6.8,7,8.8,12c4,10,4.6,23.3,4.6,36.3c0,6.3,0,55.6-0.4,68.6v0v0c0,1.1,0.3,2,1,2.7c0.6,0.7,1.5,1.1,2.5,1.1 c1.1,0,2-0.3,2.7-1c0.7-0.6,1.1-1.5,1.1-2.5c0.4-13.1,0.4-62.3,0.4-68.6v0v-0.1c0-9.7,0-24.6-4.5-37.1c-2.3-6.3-5.7-12.1-10.9-16.2 c-5.2-4.2-12.1-6.7-21.2-6.7h-88c-9.1,0-16,2.6-21.2,6.8c-5.2,4.2-8.6,10-10.9,16.3c-4.5,12.6-4.5,27.5-4.5,37v0.1 c0,9.9,0.3,31.3,0.5,50.4c0.1,9.5,0.3,18.5,0.4,25.1c0,2.4,0.1,4.5,0.1,6.2l0,1.7c0,1,0,1.7,0,2.2l0,0.6l0,0.1c0,0.2,0,0.4-0.1,0.5 c0,0.3,0,0.6,0,1c0,0.8,0,1.9,0.2,3.3c0.2,2.7,0.8,6.4,1.9,10.6C62.3,221.4,66.8,232.1,75.9,241.4z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96.4,204.8c10.5,10.5,26.6,15.4,42.6,15.4c15.3,0,30.7-4.6,40.1-14.4c1.4-1.4,1.4-3.8,0-5.3 c-1.4-1.4-3.8-1.4-5.3,0c-8.4,8.4-22,12.6-35.8,12.4c-13.8-0.2-27.6-4.7-36.4-13.4c-1.4-1.4-3.8-1.4-5.3,0 C94.9,200.9,94.9,203.3,96.4,204.8z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M88.5,76.6L88.5,76.6L88.5,76.6c-0.5-0.9-1.2-1.7-2-2c-0.9-0.4-1.9-0.4-2.9,0.1c-0.9,0.4-1.6,1.1-2,2 c-0.4,0.9-0.4,1.9,0.1,2.8c4.3,10.8,11.8,18.4,24.5,23.2c12.7,4.8,30.6,6.9,56,6.9c9.5,0,20.1-0.4,32.4-1.1c1,0,1.9-0.5,2.5-1.2 c0.6-0.7,0.9-1.6,0.9-2.6c0-1.1-0.5-1.9-1.2-2.5c-0.7-0.6-1.6-0.9-2.6-0.9h0l0,0c-35.9,1.8-60.2,1-76.5-2.9c-8.2-2-14.4-4.7-19-8.3 C93.9,86.6,90.7,82.1,88.5,76.6z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStandardsBronze);\nexport default __webpack_public_path__ + \"static/media/standards-bronze.f57a7426dbd3a53f9e4dd5ed50295487.svg\";\nexport { ForwardRef as ReactComponent };","import contract_bronze from 'img/icons/contract-bronze.svg'\r\nimport contract_bronze_2 from 'img/icons/contract-bronze-2.svg'\r\nimport hand_gray from 'img/icons/hand-gray.svg'\r\nimport standards_bronze from 'img/icons/standards-bronze.svg'\r\n// import contract_bronze from 'img/icons/contract-bronze.svg'\r\n// import contract_bronze_2 from 'img/icons/contract-bronze-2.svg'\r\nexport interface ITerm {\r\n\ttitle: string\r\n\titems: ITermItem[]\r\n}\r\nexport interface ITermItem {\r\n\tcountry: string\r\n\ttitle: string\r\n\ticon: string\r\n\tid: string\r\n}\r\n\r\nexport const termItemsCard: ITerm = {\r\n\ttitle: 'TermsOfContract',\r\n\titems: [\r\n\t\t{\r\n\t\t\tid: '1',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '2',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'ConditionOverview',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '3',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'InsuraceCondition',\r\n\t\t\ticon: hand_gray,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '4',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'EuropeanStandard',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '5',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '6',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'IDAndTheftInsurance',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '7',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'TravelInsurance',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '8',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'InsuraceCondition',\r\n\t\t\ticon: hand_gray,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '9',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '10',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'ConditionOverview',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '11',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'InsuraceCondition',\r\n\t\t\ticon: hand_gray,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '12',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'EuropeanStandard',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '20',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'BankingSecrecyRelease',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '24',\r\n\t\t\tcountry: 'it',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '55',\r\n\t\t\tcountry: 'es',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t],\r\n}\r\n\r\nexport const termItemsDeposit: ITerm = {\r\n\ttitle: 'TermsOfContract',\r\n\titems: [\r\n\t\t{\r\n\t\t\tid: '14',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '15',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'SwedishDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '16',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'ProductInformationSheet',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '17',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '18',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'SwedishDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '19',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'NorwegianDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t],\r\n}\r\n\r\nexport const termItemsDepositFixed: ITerm = {\r\n\ttitle: 'TermsOfContract',\r\n\titems: [\r\n\t\t{\r\n\t\t\tid: '21',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '22',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'SwedishDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '23',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'ProductInformationSheet',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t],\r\n}\r\n","import axios from '../axios'\r\nimport { logError } from 'shared'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport appConfig from 'app.config'\r\nexport interface SspLinkData {\r\n\tpartitionKey: string\r\n\trowKey: string\r\n\tlink: string\r\n}\r\n\r\nasync function getSspTermsService() {\r\n\tconst response = await axios\r\n\t\t.get(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/CustomerService/ssp/agrementlinks`,\r\n\t\t\tawait getHeadersWithJwtToken()\r\n\t\t)\r\n\t\t.then((result) => {\r\n\t\t\tif (result !== undefined) {\r\n\t\t\t\treturn result.data as SspLinkData[]\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tif (err.response?.status === 404) {\r\n\t\t\t\tthrow new Error('No documents found in database')\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(err.response.message)\r\n\t\t\t}\r\n\t\t})\r\n\treturn response as SspLinkData[]\r\n}\r\nexport default getSspTermsService\r\n","import React, {\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n\tuseCallback,\r\n\tuseMemo,\r\n} from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nimport { checkIsMobile, CircleSpinner } from 'shared'\r\n\r\nimport {\r\n\tITermItem,\r\n\ttermItemsCard,\r\n\ttermItemsDeposit,\r\n\ttermItemsDepositFixed,\r\n} from './termsConstants'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport getSspTermsService, {\r\n\tSspLinkData,\r\n} from 'selfServicePortal/services/CustomerServices/SspTermsService'\r\n\r\nimport './Terms.scss'\r\n\r\nexport const Terms = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { isCard, productType, overviewData } = useContext(SspContext)\r\n\r\n\tconst terms = useMemo(() => {\r\n\t\treturn isCard?.isCard\r\n\t\t\t? termItemsCard\r\n\t\t\t: productType === 'Deposit_Fixed'\r\n\t\t\t ? termItemsDepositFixed\r\n\t\t\t : termItemsDeposit\r\n\t}, [isCard, productType])\r\n\r\n\tconst [sspLinkData, setSspLinkData] = useState([])\r\n\tconst [termsDoc, setTermsDoc] = useState([])\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState(false)\r\n\r\n\tconst getTerms = useCallback(() => {\r\n\t\ttry {\r\n\t\t\tconst supportedCountries = ['de', 'at', 'no', 'es', 'it']\r\n\t\t\tif (supportedCountries.includes(appConfig.country)) {\r\n\t\t\t\tconst countryTerms = terms.items.filter(\r\n\t\t\t\t\t(i) => i.country === appConfig.country,\r\n\t\t\t\t)\r\n\t\t\t\tsetTermsDoc(countryTerms)\r\n\t\t\t} else {\r\n\t\t\t\tsetTermsDoc([])\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error fetching terms:', error)\r\n\t\t\tsetTermsDoc([])\r\n\t\t}\r\n\t}, [terms])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetTerms()\r\n\t}, [getTerms])\r\n\r\n\tconst getTermsDocuments = useCallback(async () => {\r\n\t\ttry {\r\n\t\t\tconst result = await getSspTermsService()\r\n\t\t\tsetSspLinkData(result)\r\n\t\t} catch (err) {\r\n\t\t\tconsole.warn(\r\n\t\t\t\t'Something went wrong trying to fetch links for terms: ',\r\n\t\t\t\terr,\r\n\t\t\t)\r\n\t\t\tsetError(true)\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetTermsDocuments()\r\n\t}, [getTermsDocuments])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t(terms.title)}

\r\n\t\t\t\t
\r\n\t\t\t\t{loading ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t
{t('ErrorMsg')}
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{termsDoc.map((item, key) => {\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t(overviewData?.productId ===\r\n\t\t\t\t\t\t\t\t\t\t\t'BBF.VISA_VSDC_CL.CRDACC_P1' ||\r\n\t\t\t\t\t\t\t\t\t\t\toverviewData?.productId ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t'BBF.VISA_VSDC_CG.CRDACC_P6') &&\r\n\t\t\t\t\t\t\t\t\t\titem.title === 'InsuraceCondition'\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{sspLinkData\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(link) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink.partitionKey ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.id &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink.link !== '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(item.title)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared'\r\nimport { ISupportDataSsp } from '../../interfaces/i-api-support'\r\nimport appConfig from '../../../app.config'\r\n\r\nasync function sendEmailSspService(email: ISupportDataSsp) {\r\n\tconst { data } = await Axios.post(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/support/ssp/email`,\r\n\t\temail,\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow new Error(err)\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default sendEmailSspService\r\n","import React, { useContext, useState } from 'react'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport {\r\n\tISupportDataSsp,\r\n\tProductType,\r\n} from 'selfServicePortal/interfaces/i-api-support'\r\nimport { Heading } from '../../../../components/index'\r\nimport sendEmailSspService from '../../../../services/SupportServices/sendEmailSspService'\r\n\r\nimport {\r\n\tCustomerForm,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n\tgetMarket,\r\n} from 'shared'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport {\r\n\tCountryValuesProductType,\r\n\tICountryValues,\r\n} from 'shared/constants/countryValueTypes'\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nimport './Contact.scss'\r\n\r\nconst Contact = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst {\r\n\t\tisCard,\r\n\t\tcustomerData,\r\n\t\tsuccess,\r\n\t\tsetSuccess,\r\n\t\tstaticCountryValues,\r\n\t\tproductType,\r\n\t} = useContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tconst formSchema = FormFactory(CustomerForm.ContactForm, {\r\n\t\tformName: 'customerData',\r\n\t\tblockName: 'customerData',\r\n\t\tmarket: getMarket(),\r\n\t\tlocale: getLanguageLocale(),\r\n\t\tgetDataUrl: '',\r\n\t\tvalidationErrorList: false,\r\n\t\trequiredMessage: t('ValidateRequired'),\r\n\t\tsubmitButtonText: t('Send'),\r\n\t})\r\n\r\n\tconst submit = async (info: ISupportDataSsp) => {\r\n\t\tsetLoading(true)\r\n\t\tinfo.productType = isCard?.isCard\r\n\t\t\t? ProductType.Card\r\n\t\t\t: ProductType.Deposit\r\n\r\n\t\ttry {\r\n\t\t\tawait sendEmailSspService({\r\n\t\t\t\t...info,\r\n\t\t\t\tcountryCode: appConfig.country,\r\n\t\t\t\temailFrom: customerData?.email!,\r\n\t\t\t\tsubject: `[SSP][${appConfig.country}] ${info.subject}`,\r\n\t\t\t})\r\n\t\t\tsetSuccess({ ...success, contactForm: true })\r\n\t\t\tsetLoading(false)\r\n\t\t} catch (e: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t}\r\n\t}\r\n\r\n\tinterface IServiceProps {\r\n\t\tval: ICountryValues\r\n\t}\r\n\r\n\tconst ServiceInformationGermanyAustria = ({ val }: IServiceProps) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{val.productSpecific.map((value, key) => {\r\n\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t'CustomerService',\r\n\t\t\t\t\t\t\t\t)} ${\r\n\t\t\t\t\t\t\t\t\tvalue.productType ===\r\n\t\t\t\t\t\t\t\t\tCountryValuesProductType.Card\r\n\t\t\t\t\t\t\t\t\t\t? t('MastercardGold')\r\n\t\t\t\t\t\t\t\t\t\t: value.productType ===\r\n\t\t\t\t\t\t\t\t\t\t CountryValuesProductType.Deposit_Fixed\r\n\t\t\t\t\t\t\t\t\t\t ? t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'CustomerServicesDepositFixedAccount',\r\n\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t : t('CustomerServicesDepositAccount')\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t\t{value.contactInformation.email ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{value.contactInformation.email}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.openingHours}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{val.tfFullName}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{val.address.addressLine1}
\r\n\t\t\t\t\t\t\t\t\t
{val.address.zipCodeAndCity}
\r\n\t\t\t\t\t\t\t\t\t
{val.address.country}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{productType ===\r\n\t\t\t\t\t\t\t\t\tCountryValuesProductType.Deposit && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\tKontoverbindung\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t\t\t'IBAN',\r\n\t\t\t\t\t\t\t\t\t\t)}: ${value.bankInformation\r\n\t\t\t\t\t\t\t\t\t\t\t?.iban}`}
\r\n\t\t\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t\t\t'BIC',\r\n\t\t\t\t\t\t\t\t\t\t)}: ${value.bankInformation\r\n\t\t\t\t\t\t\t\t\t\t\t?.bic}`}
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else return null\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst ServiceInformationNorway = ({ val }: IServiceProps) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{val.productSpecific.map((value, key) => {\r\n\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t'CustomerService',\r\n\t\t\t\t\t\t\t\t)} ${\r\n\t\t\t\t\t\t\t\t\tvalue.productType ===\r\n\t\t\t\t\t\t\t\t\tCountryValuesProductType.Card\r\n\t\t\t\t\t\t\t\t\t\t? t('MastercardGold')\r\n\t\t\t\t\t\t\t\t\t\t: t('CustomerServicesDepositAccount')\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.email}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.phoneNumber}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.openingHours}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{val.tfFullName}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{val.address.addressLine1},
\r\n\t\t\t\t\t\t\t\t\t
{val.address.zipCodeAndCity}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else return null\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{staticCountryValues !== undefined ? (\r\n\t\t\t\t\t\tstaticCountryValues?.country === 'no' ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t{success.contactForm && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{loading &&
}\r\n\t\t\t\t{!success.contactForm && !loading && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t submit(values)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success && (\r\n\t\t\t\t\t
{error.message}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default Contact\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError } from '../../../shared';\r\n\r\nasync function getPinUrlService(cardId: number, t: TFunction) {\r\n const response = await Axios.get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/pin/url?cardId=${cardId}&iMSGetPinCountryType=${appConfig.country}`,\r\n await getHeadersWithJwtToken()\r\n ).then((data) => {\r\n if (data.status === 200) {\r\n return data;\r\n }\r\n throw new Error(t('ErrorMsg'))\r\n }).catch((err) => {\r\n logError(err)\r\n throw new Error(t('ErrorMsg'))\r\n })\r\n return response;\r\n}\r\nexport default getPinUrlService;","import React, { useContext, useState } from 'react'\r\nimport appConfig from '../../../../../app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport { ICreditBalance } from '../../../../interfaces/i-api-creaditCard'\r\nimport getPinUrlService from '../../../../services/CreditCardServices/getPinUrlService'\r\nimport { checkIsMobile, getErrorWithFullMessage } from 'shared'\r\nimport { Heading } from '../../../../components/index'\r\n\r\nimport './ShowPin.scss'\r\n\r\nconst ShowPin = () => {\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst { overviewData } = useContext(SspContext)\r\n\tconst [creditCardData] = useState(overviewData as ICreditBalance)\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [url, setUrl] = useState('')\r\n\r\n\tconst iframeHeight = {\r\n\t\theight: checkIsMobile() ? '300px' : '225px',\r\n\t}\r\n\r\n\tconst showPin = async () => {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tawait getPinUrlService(creditCardData?.cardID, t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tsetUrl(response.data.url + `&lang=${appConfig.country}`)\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => setLoading(false))\r\n\t\t} catch (error: any) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{error && <>{error.message}}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t showPin()}>\r\n\t\t\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\tt('ShowPIN')\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default ShowPin\r\n","import axios from '../axios'\r\nimport { TFunction } from 'i18next'\r\nimport { IUpdateCustomer } from '../../interfaces/i-api-customer'\r\nimport { logError } from '../../../shared'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport appConfig from '../../../app.config'\r\n\r\nasync function updateCustomerService(\r\n\tcustomerData: IUpdateCustomer,\r\n\tt: TFunction\r\n) {\r\n\tif (customerData.mobilePhoneNumber) {\r\n\t\tcustomerData.mobilePhoneNumber =\r\n\t\t\tcustomerData.mobilePhoneNumber.replaceAll(' ', '')\r\n\r\n\t\tcustomerData.mobilePhoneNumber =\r\n\t\t\tcustomerData.mobilePhoneNumber.startsWith('+490')\r\n\t\t\t\t? customerData.mobilePhoneNumber.replace(/^(\\+490)/, '+49')\r\n\t\t\t\t: customerData.mobilePhoneNumber\r\n\t}\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/mobileapp/updatecustomer`,\r\n\t\t\tcustomerData,\r\n\t\t\tawait getHeadersWithJwtToken()\r\n\t\t)\r\n\t\t.then((data) => {\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t})\r\n\treturn response\r\n}\r\n\r\nexport default updateCustomerService\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\n\r\nexport const CustomerInformationForm = (data: ICustomer) => {\r\n\tconst { t } = useTranslation()\r\n\treturn {\r\n\t\tfieldSetName: t('ContactInformationHeader'),\r\n\t\tformName: 'CustomerInformation',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.name',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Name'),\r\n\t\t\t\tvalue: `${data.firstName} ${data.lastName}`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.street',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Street'),\r\n\t\t\t\tvalue: data.street,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 50,\r\n\t\t\t\tcol: 9,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'Invalid',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgStreet'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: false,\r\n\t\t\t\tcontrolName: 'customer.houseNumber',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Nr'),\r\n\t\t\t\tvalue: data.houseNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tcol: 3,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.postalCode',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('Zip'),\r\n\t\t\t\tvalue: data.postalCode,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tcol: 4,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue:\r\n\t\t\t\t\t\t\tappConfig.country === 'de'\r\n\t\t\t\t\t\t\t\t? '\\\\b\\\\d{5}\\\\b'\r\n\t\t\t\t\t\t\t\t: '\\\\b\\\\d{4}\\\\b',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgZip'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.city',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('City'),\r\n\t\t\t\tvalue: data.city,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tcol: 8,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.mobilePhoneNumber',\r\n\t\t\t\ttype: 'tel', //change back to phoneNumber when formbuilder is updated\r\n\t\t\t\tlabel: t('PhoneNumber'),\r\n\t\t\t\tvalue: data.mobilePhoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 15,\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t\tlabel: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'Invalid',\r\n\t\t\t\t\t\tmessage: t('InvalidPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcountryCode: 'NO',\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country, //Add this class for now when using type \"tel\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.email',\r\n\t\t\t\ttype: 'email',\r\n\t\t\t\tlabel: t('Email'),\r\n\t\t\t\tvalue: data.email,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '\\\\S+@\\\\S+\\\\.\\\\S+',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgEmail'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\n\r\nimport {\r\n\tBoxInfo,\r\n\tCircleSpinner,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n\tgetMarket,\r\n} from 'shared/index'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { Heading } from '../../../../components/index'\r\nimport updateCustomerService from '../../../../services/CustomerServices/updateCustomerService'\r\nimport {\r\n\tICustomer,\r\n\tIUpdateCustomer,\r\n} from 'selfServicePortal/interfaces/i-api-customer'\r\nimport './MyAccountNo.scss'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { CustomerInformationForm } from 'shared/formBuilder/forms/customerInformationForm'\r\n\r\ninterface ISubmitCustomerInformation {\r\n\tcustomer: ICustomer\r\n\tformMeta: any\r\n}\r\n\r\nconst MyAccountNo = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\tconst [success, setSuccess] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [customerInformation, setCustomerInformation] = useState<\r\n\t\tIUpdateCustomer | undefined\r\n\t>(undefined)\r\n\r\n\tconst formSchema = FormWrapper(\r\n\t\t[CustomerInformationForm(customerData as any)],\r\n\t\t{\r\n\t\t\tformName: 'Contact',\r\n\t\t\tblockName: 'Contact',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t)\r\n\r\n\tconst submit = (customer: ICustomer) => {\r\n\t\tsetLoading(true)\r\n\t\tif (customerData) {\r\n\t\t\tsetCustomerInformation({\r\n\t\t\t\t...customer,\r\n\t\t\t\tcustomerId: customerData.customerId,\r\n\t\t\t\tbankId: customerData.bankId,\r\n\t\t\t\tmobilePhoneNumber:\r\n\t\t\t\t\tcustomer.mobilePhoneNumber ??\r\n\t\t\t\t\tcustomerData.mobilePhoneNumber,\r\n\t\t\t\temail: customer.email ?? customerData.email,\r\n\t\t\t\tshortAddress: `${customer.street + ' ' + customer.houseNumber}`,\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tsetCustomerInformation({\r\n\t\t\t\t...customer,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst updateCustomerInformation = async (\r\n\t\t\tcustomerInfo: IUpdateCustomer,\r\n\t\t) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait updateCustomerService(customerInfo, t)\r\n\t\t\t\tsetSuccess(true)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t} catch (e: any) {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tsetSuccess(false)\r\n\t\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (customerInformation) {\r\n\t\t\tupdateCustomerInformation(customerInformation!)\r\n\t\t}\r\n\t\treturn () => {}\r\n\t}, [customerInformation, t])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{loading && }\r\n\t\t\t\t{success && !loading && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!loading && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tsubmit(values.customer)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success && (\r\n\t\t\t\t\t
{error.message}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default MyAccountNo\r\n","import React, { ReactNode } from 'react'\r\nimport clsx from 'clsx'\r\nimport './stepper.scss'\r\nimport { StepperReturn } from './use-stepper'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface StepperProps {\r\n\tactiveStep: number\r\n\tstepAmount: number\r\n}\r\n\r\nexport function Stepper({ activeStep, stepAmount }: StepperProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{Array(stepAmount)\r\n\t\t\t\t.fill(undefined)\r\n\t\t\t\t.map((_, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t
\r\n\t)\r\n}\r\n\r\ninterface StepperBackButtonProps {\r\n\tstepper: StepperReturn\r\n}\r\n\r\nexport function StepperBackButton({ stepper }: StepperBackButtonProps) {\r\n\tconst { t } = useTranslation()\r\n\tif (stepper.isFirstStep) {\r\n\t\treturn null\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\ninterface StepperHeaderProps {\r\n\tchildren: ReactNode\r\n}\r\n\r\nexport function StepperHeader({ children }: StepperHeaderProps) {\r\n\treturn
{children}
\r\n}\r\n","import * as React from 'react'\r\n\r\nexport type UseStepperParams = {\r\n\tinitialStep?: number\r\n\tstepAmount: number\r\n}\r\n\r\nexport type StepperReturn = ReturnType\r\n\r\nexport function useStepper({ initialStep = 1, stepAmount }: UseStepperParams) {\r\n\tconst [activeStep, setActiveStep] = React.useState(initialStep)\r\n\r\n\tconst isFirstStep = activeStep === 1\r\n\r\n\tconst isLastStep = activeStep === stepAmount\r\n\r\n\tconst nextStep = () => {\r\n\t\tif (!isLastStep) {\r\n\t\t\tsetActiveStep((prev) => prev + 1)\r\n\t\t}\r\n\t}\r\n\r\n\tconst prevStep = () => {\r\n\t\tif (!isFirstStep) {\r\n\t\t\tsetActiveStep((prev) => prev - 1)\r\n\t\t}\r\n\t}\r\n\r\n\tconst resetSteps = () => {\r\n\t\tsetActiveStep(initialStep)\r\n\t}\r\n\r\n\treturn {\r\n\t\tstepAmount,\r\n\t\tnextStep,\r\n\t\tprevStep,\r\n\t\tresetSteps,\r\n\t\tactiveStep,\r\n\t\tisFirstStep,\r\n\t\tisLastStep,\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { checkIsMobile } from 'shared/utils/helpers'\r\n\r\nexport const AccountAddressFormDE_AT = (data: ICustomer) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'CustomerInformation',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.name',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Name'),\r\n\t\t\t\tvalue: `${data.firstName} ${data.lastName}`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.street',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Street'),\r\n\t\t\t\tvalue: data.street,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tcol: isMobile ? 12 : 9,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^$|^[^0-9!@#$%^&*()_+=|\\\\{};> {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'AccountEmailForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.name',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Name'),\r\n\t\t\t\tvalue: `${data.firstName} ${data.lastName}`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.email',\r\n\t\t\t\ttype: 'email',\r\n\t\t\t\tlabel: t('Email'),\r\n\t\t\t\tvalue: data.email,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.newContactDetail',\r\n\t\t\t\ttype: 'email',\r\n\t\t\t\tlabel: t('NewEmail'),\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgEmail'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n\r\nexport const AccountMobilePhoneFormDE_AT = (data: ICustomer) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'AccountMobilePhoneForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.name',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Name'),\r\n\t\t\t\tvalue: `${data.firstName} ${data.lastName}`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.mobilePhoneNumber',\r\n\t\t\t\ttype: 'tel', //change back to phoneNumber when formbuilder is updated\r\n\t\t\t\tlabel: t('PhoneNumber'),\r\n\t\t\t\tvalue: data.mobilePhoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 15,\r\n\t\t\t\tcountryCode: 'DE',\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country, //Add this class for now when using type \"tel\"\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.newContactDetail',\r\n\t\t\t\ttype: 'tel',\r\n\t\t\t\tlabel: t('NewPhoneNumber'),\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 15,\r\n\t\t\t\tcountryCode: 'DE',\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^\\\\+[0-9]{8,14}$',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MinLength',\r\n\t\t\t\t\t\tvalue: 9,\r\n\t\t\t\t\t\tmessage: t('ValidationMsgPhoneMinLength'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MaxLength',\r\n\t\t\t\t\t\tvalue: 15,\r\n\t\t\t\t\t\tmessage: t('ValidationMsgPhoneMaxLength'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { getLanguageLocale, getMarket } from 'shared/index'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { AccountAddressFormDE_AT } from 'shared/formBuilder/forms/customerInformationFormDE_AT'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\n\r\nfunction deriveAddressForm(formMeta: any, data: any) {\r\n\treturn FormWrapper([AccountAddressFormDE_AT(data)], formMeta)\r\n}\r\n\r\ninterface AddressFormProps {\r\n\tonSuccess: (customer: ICustomer) => void\r\n}\r\n\r\nexport function AddressForm({ onSuccess }: AddressFormProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst adressFormSchema = deriveAddressForm(\r\n\t\t{\r\n\t\t\tformName: 'address',\r\n\t\t\tblockName: 'address',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('AddressChangeButton'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t onSuccess(customer)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import {\r\n\tIOtpSessionResponse,\r\n\tOtpDistributionChannel,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport appConfig from 'app.config'\r\nimport { logError } from 'shared'\r\n\r\nexport enum ContactInfoChangeType {\r\n\tUnknown,\r\n\tPhoneNumber,\r\n\tEmail,\r\n\tAddress,\r\n}\r\n\r\nexport interface InitiateUserUpdateParams {\r\n\tnewContactDetail?: string\r\n\taddress?: {\r\n\t\tshortAddress: string\r\n\t\tcity: string\r\n\t\tstreet: string\r\n\t\thouseNumber: string\r\n\t\tapartmentNumber: string\r\n\t\tpostalCode: string\r\n\t}\r\n\tchangeType: ContactInfoChangeType\r\n\tcustomerId?: string\r\n\ttitle?: string\r\n\tfirstName?: string\r\n\tlastName?: string\r\n\temailAddress?: string\r\n\tphoneNumber?: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\tmarket: string | undefined\r\n}\r\n\r\nexport interface CompleteUserUpdateParams {\r\n\tcustomerId: string | undefined\r\n\tsessionId: string | undefined\r\n\totpCode: string\r\n}\r\n\r\nexport async function initiateUserUpdate(params: InitiateUserUpdateParams) {\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/update/initiate`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n\treturn response\r\n}\r\n\r\nexport const completeUserUpdateErrors: Record = {\r\n\t'validation-failed': 'Validierung fehlgeschlagen',\r\n\t'data-not-found':\r\n\t\t'Login-Vorgang konnte nicht gefunden werden oder ist abgelaufen.',\r\n\t'address-change-not-allowed':\r\n\t\t'Ihre Adresse kann nur einmal innerhalb von 90 Tagen geändert werden. Sollten Sie die Änderung trotzdem vornehmen wollen, kontaktieren Sie uns bitte per E-Mail an service@tfbank.de.',\r\n\t'address-change-pending':\r\n\t\t'Ihre Kontaktinformationen können derzeit nicht geändert werden. Eine Änderung ist derzeit bereits in Bearbeitung.',\r\n\t'entity-already-exists':\r\n\t\t'Die Kontaktinformation wird bereits in einem anderen Konto verwendet.',\r\n}\r\n\r\nexport function deriveUserUpdateError(error: string, isDeposit: boolean) {\r\n\tconst isAT = appConfig.country === 'at'\r\n\r\n\tif (isAT && isDeposit && error === 'address-change-not-allowed') {\r\n\t\treturn 'Ihre Adresse kann nur einmal innerhalb von X Tagen geändert werden.'\r\n\t}\r\n\treturn completeUserUpdateErrors[error]\r\n}\r\n\r\nexport async function completeUserUpdate(params: CompleteUserUpdateParams) {\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/update/complete`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n\treturn response\r\n}\r\n\r\nexport async function rejectContactInfoChange(id: string) {\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/rejectcontactinfochange/${id}`,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n\treturn response\r\n}\r\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSmartphone(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 20,\n viewBox: \"0 0 13 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.5 3C1.5 2.17157 2.17157 1.5 3 1.5H10C10.8284 1.5 11.5 2.17157 11.5 3V17C11.5 17.8284 10.8284 18.5 10 18.5H8C8 18.2239 7.77614 18 7.5 18H5.5C5.22386 18 5 18.2239 5 18.5H3C2.17157 18.5 1.5 17.8284 1.5 17V3ZM3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V17C0.5 18.3807 1.61929 19.5 3 19.5H10C11.3807 19.5 12.5 18.3807 12.5 17V3C12.5 1.61929 11.3807 0.5 10 0.5H3ZM5 2C4.72386 2 4.5 2.22386 4.5 2.5C4.5 2.77614 4.72386 3 5 3H8C8.27614 3 8.5 2.77614 8.5 2.5C8.5 2.22386 8.27614 2 8 2H5Z\",\n fill: \"#EE8446\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmartphone);\nexport default __webpack_public_path__ + \"static/media/smartphone.93289887d115a3164c82bf5f722dec41.svg\";\nexport { ForwardRef as ReactComponent };","import axios, { AxiosError } from 'axios'\r\n\r\n/** Helper for axios error guard. Default `isAxiosError` crashes when error is `undefined`. */\r\nexport function isAxiosError(error: unknown): error is AxiosError {\r\n\tif (error === undefined || error === null) return false\r\n\treturn axios.isAxiosError(error)\r\n}\r\n\r\ntype ErrorWithMessage = {\r\n\tmessage: string\r\n}\r\n\r\nfunction isErrorWithMessage(error: unknown): error is ErrorWithMessage {\r\n\treturn (\r\n\t\ttypeof error === 'object' &&\r\n\t\terror !== null &&\r\n\t\t'message' in error &&\r\n\t\ttypeof (error as Record).message === 'string'\r\n\t)\r\n}\r\n\r\nfunction toErrorWithMessage(maybeError: unknown): ErrorWithMessage {\r\n\tif (isErrorWithMessage(maybeError)) return maybeError\r\n\r\n\ttry {\r\n\t\treturn new Error(JSON.stringify(maybeError))\r\n\t} catch {\r\n\t\t// fallback in case there's an error stringifying the maybeError\r\n\t\t// like with circular references for example.\r\n\t\treturn new Error(String(maybeError))\r\n\t}\r\n}\r\n\r\nexport function getErrorMessage(error: unknown) {\r\n\treturn toErrorWithMessage(error).message\r\n}\r\n\r\n/**\r\n * Use this when you need to go home and refresh everything.\r\n * This will do a full refresh and opt out of SPA.\r\n * Ideally you would use navigation library along with proper cache invalidation.\r\n */\r\nexport function forceNavigateHome() {\r\n\twindow.location.href = '/'\r\n}\r\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgMail(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 6.6665L9.0755 11.0502C9.63533 11.4234 10.3647 11.4234 10.9245 11.0502L17.5 6.6665M4.16667 15.8332H15.8333C16.7538 15.8332 17.5 15.087 17.5 14.1665V5.83317C17.5 4.9127 16.7538 4.1665 15.8333 4.1665H4.16667C3.24619 4.1665 2.5 4.9127 2.5 5.83317V14.1665C2.5 15.087 3.24619 15.8332 4.16667 15.8332Z\",\n stroke: \"#EE8446\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMail);\nexport default __webpack_public_path__ + \"static/media/mail.8a3490f35ad6f239b6705a19ff8f8027.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext, useState } from 'react'\r\nimport { getMarket, CircleSpinner } from 'shared/index'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport {\r\n\tinitiateUserUpdate,\r\n\tContactInfoChangeType,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ReactComponent as SmartPhone } from 'img/icons/smartphone.svg'\r\nimport { ReactComponent as Mail } from 'img/icons/mail.svg'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport {\r\n\tmaskedEmail,\r\n\tmaskedPhoneNr,\r\n} from '../../SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthValidation'\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\ninterface AddressSecurityCodeProps {\r\n\tcustomer: ICustomer\r\n\tonSuccess: (sessionId: string) => void\r\n}\r\n\r\nexport function AddressSecurityCode({\r\n\tcustomer,\r\n\tonSuccess,\r\n}: AddressSecurityCodeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [radio, setRadio] = useState<'sms' | 'email'>()\r\n\r\n\tconst initiateUserUpdateMutation = useMutation({\r\n\t\tmutationFn: () =>\r\n\t\t\tinitiateUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tphoneNumber: customerData?.mobilePhoneNumber,\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\taddress: {\r\n\t\t\t\t\tstreet: customer.street,\r\n\t\t\t\t\thouseNumber: customer.houseNumber,\r\n\t\t\t\t\tcity: customer.city,\r\n\t\t\t\t\tpostalCode: customer.postalCode,\r\n\t\t\t\t\tapartmentNumber: customer.apartmentNumber,\r\n\t\t\t\t\tshortAddress: `${\r\n\t\t\t\t\t\tcustomer.street + ' ' + customer.houseNumber\r\n\t\t\t\t\t}`,\r\n\t\t\t\t},\r\n\t\t\t\tchangeType: ContactInfoChangeType.Address,\r\n\t\t\t\tdistributionChannel:\r\n\t\t\t\t\tradio === 'sms'\r\n\t\t\t\t\t\t? OtpDistributionChannel.SMS\r\n\t\t\t\t\t\t: OtpDistributionChannel.Email,\r\n\t\t\t}),\r\n\t\tonSuccess: ({ sessionId }) => onSuccess(sessionId),\r\n\t})\r\n\r\n\tif (initiateUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{initiateUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(initiateUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t initiateUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('AddressChangeButton')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDone(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.75 12.4545C1.75 6.57509 6.75353 1.75 13 1.75C19.2465 1.75 24.25 6.57509 24.25 12.4545C24.25 18.334 19.2465 23.1591 13 23.1591C6.75353 23.1591 1.75 18.334 1.75 12.4545ZM13 0.25C5.99163 0.25 0.25 5.68166 0.25 12.4545C0.25 19.2274 5.99163 24.6591 13 24.6591C20.0084 24.6591 25.75 19.2274 25.75 12.4545C25.75 5.68166 20.0084 0.25 13 0.25ZM19.5887 9.0889C19.8883 8.8029 19.8994 8.32815 19.6134 8.02853C19.3274 7.72891 18.8526 7.71787 18.553 8.00387L10.3986 15.7876L7.44754 12.9707C7.14792 12.6847 6.67318 12.6958 6.38717 12.9954C6.10117 13.295 6.11221 13.7697 6.41183 14.0557L9.88074 17.367C10.1706 17.6436 10.6266 17.6436 10.9165 17.367L19.5887 9.0889Z\",\n fill: \"#00A63B\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDone);\nexport default __webpack_public_path__ + \"static/media/done.87c240ee7ec2a52de7a895dfd7bfd581.svg\";\nexport { ForwardRef as ReactComponent };","import './index.scss'\r\nimport ReactOtpInput from 'react-otp-input'\r\n\r\nimport React from 'react'\r\n\r\ninterface OtpInputProps {\r\n\t/** Value of the OTP input */\r\n\tvalue?: string\r\n\t/** Callback to be called when the OTP value changes */\r\n\tonChange: (otp: string) => void\r\n}\r\n\r\nexport function OtpInput({ value, onChange }: OtpInputProps) {\r\n\treturn (\r\n\t\t }\r\n\t\t\tskipDefaultStyles\r\n\t\t\tcontainerStyle=\"otp-container\"\r\n\t\t\tinputStyle=\"otp-input\"\r\n\t\t/>\r\n\t)\r\n}\r\n","import React, { useContext, useState } from 'react'\r\nimport { CircleSpinner } from 'shared/index'\r\nimport {\r\n\tcompleteUserUpdate,\r\n\tderiveUserUpdateError,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { OtpInput } from 'selfServicePortal/components/OtpInput/OtpInput'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { isAxiosError, getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ContactOtpLength } from '../MyAccount'\r\n\r\ninterface AddressOtpProps {\r\n\tsessionId: string | undefined\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function AddressOtp({ sessionId, onSuccess }: AddressOtpProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData, isCard } = useContext(SspContext)\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst completeUserUpdateMutation = useMutation(\r\n\t\t() =>\r\n\t\t\tcompleteUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tsessionId,\r\n\t\t\t\totpCode: otp,\r\n\t\t\t}),\r\n\t\t{ onSuccess: onSuccess },\r\n\t)\r\n\r\n\tconst isDeposit = !isCard?.isCard\r\n\r\n\tif (completeUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t{completeUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAxiosError(completeUserUpdateMutation.error)\r\n\t\t\t\t\t\t? deriveUserUpdateError(\r\n\t\t\t\t\t\t\t\tcompleteUserUpdateMutation.error.response?.data\r\n\t\t\t\t\t\t\t\t\t.message,\r\n\t\t\t\t\t\t\t\tisDeposit,\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t: getErrorMessage(completeUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t completeUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('AddressChangeButton')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgWrong(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.75 12.2729C1.75 6.39345 6.75353 1.56836 13 1.56836C19.2465 1.56836 24.25 6.39345 24.25 12.2729C24.25 18.1524 19.2465 22.9774 13 22.9774C6.75353 22.9774 1.75 18.1524 1.75 12.2729ZM13 0.0683594C5.99163 0.0683594 0.25 5.50002 0.25 12.2729C0.25 19.0458 5.99163 24.4774 13 24.4774C20.0084 24.4774 25.75 19.0458 25.75 12.2729C25.75 5.50002 20.0084 0.0683594 13 0.0683594ZM18.5892 7.90666C18.8885 7.62031 18.899 7.14555 18.6126 6.84626C18.3263 6.54697 17.8515 6.53648 17.5522 6.82283L12.9961 11.1819L8.51465 6.95444C8.21334 6.67021 7.73867 6.68405 7.45444 6.98535C7.17021 7.28666 7.18405 7.76133 7.48535 8.04556L11.9109 12.2203L7.48152 16.4581C7.18222 16.7444 7.17173 17.2192 7.45808 17.5185C7.74443 17.8178 8.21919 17.8283 8.51848 17.5419L13.0034 13.2509L17.5561 17.5456C17.8574 17.8298 18.332 17.816 18.6163 17.5146C18.9005 17.2133 18.8867 16.7387 18.5854 16.4544L14.0887 12.2126L18.5892 7.90666Z\",\n fill: \"#FF5858\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgWrong);\nexport default __webpack_public_path__ + \"static/media/wrong.1546f1cb20a810bd2bf691425b2b1cf2.svg\";\nexport { ForwardRef as ReactComponent };","import './index.scss'\r\nimport { ReactNode } from 'react'\r\nimport React from 'react'\r\nimport clsx from 'clsx'\r\n\r\ninterface ScreenProps {\r\n\tchildren: ReactNode\r\n\tclassName?: string\r\n}\r\n\r\nexport function Screen({ children, className }: ScreenProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
{children}
\r\n\t\t
\r\n\t)\r\n}\r\n","import './index.scss'\r\nimport { HTMLAttributes } from 'react'\r\nimport React from 'react'\r\nimport clsx from 'clsx'\r\n\r\ninterface CardProps extends HTMLAttributes {\r\n\ttransperentBackground?: boolean\r\n}\r\n\r\nexport function Card({ transperentBackground, className, ...rest }: CardProps) {\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function CardHeader({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function CardContent({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function CardFooter({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function CardInfoContainer({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\nexport function CardInfoTitle({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\nexport function CardInfo({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\nexport function CardInfoLabel({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn \r\n}\r\nexport function CardInfoValue({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn \r\n}\r\n\r\nCard.Header = CardHeader\r\nCard.Content = CardContent\r\nCard.Footer = CardFooter\r\n\r\nCard.InfoContainer = CardInfoContainer\r\nCard.InfoTitle = CardInfoTitle\r\nCard.Info = CardInfo\r\nCard.InfoLabel = CardInfoLabel\r\nCard.InfoValue = CardInfoValue\r\n","import React from 'react'\r\nimport './index.scss'\r\nimport { ReactComponent as Done } from 'img/icons/done.svg'\r\nimport { ReactComponent as Wrong } from 'img/icons/wrong.svg'\r\nimport { Screen } from '../ui/Screen'\r\nimport { Card } from '../ui/Card'\r\n\r\ninterface MessageProps {\r\n\ttype: 'success' | 'fail'\r\n\tmessage: string\r\n}\r\n\r\nexport function Message({ type, message }: MessageProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{type === 'success' && }\r\n\t\t\t{type === 'fail' && }\r\n\t\t\t
{message}
\r\n\t\t
\r\n\t)\r\n}\r\n\r\ninterface MessageScreenProps extends MessageProps {\r\n\tfooter: React.JSX.Element\r\n}\r\n\r\nexport function MessageCard({ type, message, footer }: MessageScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{footer}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function MessageScreen({ type, message, footer }: MessageScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\n\r\ninterface SuccessProps {\r\n\tonSuccess: () => void\r\n\tsuccessMessage: string\r\n}\r\n\r\nexport function Success({ onSuccess, successMessage }: SuccessProps) {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t('Back')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { Stepper } from 'selfServicePortal/components/Stepper/stepper'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useStepper } from 'selfServicePortal/components/Stepper/use-stepper'\r\nimport { AddressForm } from './AddressForm'\r\nimport './index.scss'\r\nimport { AddressSecurityCode } from './AddressSecurityCode'\r\nimport { AddressOtp } from './AddressOtp'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { Success } from '../Success'\r\n\r\ninterface AddressChangeProps {\r\n\tonGoBack: () => void\r\n}\r\n\r\nexport function AddressChange({ onGoBack }: AddressChangeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { stepAmount, activeStep, nextStep, prevStep, isFirstStep } =\r\n\t\tuseStepper({\r\n\t\t\tstepAmount: 4,\r\n\t\t\tinitialStep: 1,\r\n\t\t})\r\n\tconst [customer, setCustomer] = useState()\r\n\tconst [sessionId, setSessionId] = useState()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{activeStep === 1 && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetCustomer(customer)\r\n\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{activeStep === 2 &&\r\n\t\t\t\t(customer !== undefined ? (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetSessionId(sessionId)\r\n\t\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : null)}\r\n\t\t\t{activeStep === 3 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeStep === 4 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { getLanguageLocale, getMarket, CircleSpinner } from 'shared/index'\r\nimport {\r\n\tinitiateUserUpdate,\r\n\tContactInfoChangeType,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { AccountEmailFormDE_AT } from 'shared/formBuilder/forms/customerInformationFormDE_AT'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { ISubmitCustomerInformation } from '../MyAccount'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nfunction deriveEmailForm(formMeta: any, data: any) {\r\n\treturn FormWrapper([AccountEmailFormDE_AT(data)], formMeta)\r\n}\r\n\r\ninterface EmailFormProps {\r\n\tonSuccess: (sessionId: string) => void\r\n}\r\n\r\nexport function EmailForm({ onSuccess }: EmailFormProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst initiateUserUpdateMutation = useMutation(\r\n\t\t(formData: ICustomer) =>\r\n\t\t\tinitiateUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tnewContactDetail: formData.newContactDetail,\r\n\t\t\t\tchangeType: ContactInfoChangeType.Email,\r\n\t\t\t\tdistributionChannel: OtpDistributionChannel.Email,\r\n\t\t\t\tphoneNumber: customerData?.mobilePhoneNumber,\r\n\t\t\t}),\r\n\t\t{\r\n\t\t\tonSuccess: ({ sessionId }) => onSuccess(sessionId),\r\n\t\t},\r\n\t)\r\n\r\n\tconst emailFormSchema = deriveEmailForm(\r\n\t\t{\r\n\t\t\tformName: 'email',\r\n\t\t\tblockName: 'email',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\tif (initiateUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\tinitiateUserUpdateMutation.mutate(values.customer)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\r\n\t\t\t{initiateUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(initiateUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext } from 'react'\r\nimport {\r\n\tcompleteUserUpdate,\r\n\tcompleteUserUpdateErrors,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { OtpInput } from 'selfServicePortal/components/OtpInput/OtpInput'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage, isAxiosError } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ContactOtpLength } from '../MyAccount'\r\n\r\ninterface EmailOtpProps {\r\n\tsessionId: string | undefined\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function EmailOtp({ onSuccess, sessionId }: EmailOtpProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst completeUserUpdateMutation = useMutation(\r\n\t\t() =>\r\n\t\t\tcompleteUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tsessionId,\r\n\t\t\t\totpCode: otp,\r\n\t\t\t}),\r\n\t\t{\r\n\t\t\tonSuccess: onSuccess,\r\n\t\t},\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t{completeUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAxiosError(completeUserUpdateMutation.error)\r\n\t\t\t\t\t\t? completeUserUpdateErrors[\r\n\t\t\t\t\t\t\t\tcompleteUserUpdateMutation.error.response?.data\r\n\t\t\t\t\t\t\t\t\t.message\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t: getErrorMessage(completeUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t completeUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('Save')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { EmailForm } from './EmailForm'\r\nimport { useStepper } from 'selfServicePortal/components/Stepper/use-stepper'\r\nimport { Stepper } from 'selfServicePortal/components/Stepper/stepper'\r\nimport './index.scss'\r\nimport { EmailOtp } from './EmailOtp'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Success } from '../Success'\r\n\r\ninterface EmailChangeProps {\r\n\tonGoBack: () => void\r\n}\r\n\r\nexport function EmailChange({ onGoBack }: EmailChangeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { stepAmount, activeStep, nextStep, prevStep, isFirstStep } =\r\n\t\tuseStepper({\r\n\t\t\tstepAmount: 3,\r\n\t\t\tinitialStep: 1,\r\n\t\t})\r\n\tconst [sessionId, setSessionId] = useState()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{activeStep === 1 && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetSessionId(sessionId)\r\n\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{activeStep === 2 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeStep === 3 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { getLanguageLocale, getMarket, CircleSpinner } from 'shared/index'\r\nimport {\r\n\tinitiateUserUpdate,\r\n\tContactInfoChangeType,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { ISubmitCustomerInformation } from '../MyAccount'\r\nimport { AccountMobilePhoneFormDE_AT } from 'shared/formBuilder/forms/customerInformationFormDE_AT'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nfunction deriveMobilePhoneForm(formMeta: any, data: any) {\r\n\treturn FormWrapper([AccountMobilePhoneFormDE_AT(data)], formMeta)\r\n}\r\n\r\ninterface PhoneFormProps {\r\n\tonSuccess: (sessionId: string) => void\r\n}\r\n\r\nexport function PhoneForm({ onSuccess }: PhoneFormProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst initiateUserUpdateMutation = useMutation(\r\n\t\t(formData: ICustomer) =>\r\n\t\t\tinitiateUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\tphoneNumber: customerData?.mobilePhoneNumber,\r\n\t\t\t\tnewContactDetail: formData.newContactDetail,\r\n\t\t\t\tchangeType: ContactInfoChangeType.PhoneNumber,\r\n\t\t\t\tdistributionChannel: OtpDistributionChannel.SMS,\r\n\t\t\t}),\r\n\t\t{\r\n\t\t\tonSuccess: ({ sessionId }) => onSuccess(sessionId),\r\n\t\t},\r\n\t)\r\n\r\n\tconst mobilePhoneFormSchema = deriveMobilePhoneForm(\r\n\t\t{\r\n\t\t\tformName: 'mobilePhone',\r\n\t\t\tblockName: 'mobilePhone',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\tif (initiateUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\tinitiateUserUpdateMutation.mutate(values.customer)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\r\n\t\t\t{initiateUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(initiateUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext } from 'react'\r\nimport {\r\n\tcompleteUserUpdate,\r\n\tcompleteUserUpdateErrors,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { OtpInput } from 'selfServicePortal/components/OtpInput/OtpInput'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage, isAxiosError } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { CircleSpinner } from 'shared/index'\r\nimport { ContactOtpLength } from '../MyAccount'\r\n\r\ninterface PhoneOtpProps {\r\n\tsessionId: string | undefined\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function PhoneOtp({ sessionId, onSuccess }: PhoneOtpProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst completeUserUpdateMutation = useMutation(\r\n\t\t() =>\r\n\t\t\tcompleteUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tsessionId,\r\n\t\t\t\totpCode: otp,\r\n\t\t\t}),\r\n\t\t{ onSuccess: onSuccess },\r\n\t)\r\n\r\n\tif (completeUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t{completeUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAxiosError(completeUserUpdateMutation.error)\r\n\t\t\t\t\t\t? completeUserUpdateErrors[\r\n\t\t\t\t\t\t\t\tcompleteUserUpdateMutation.error.response?.data\r\n\t\t\t\t\t\t\t\t\t.message\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t: getErrorMessage(completeUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t completeUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('Save')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { PhoneForm } from './PhoneForm'\r\nimport { useStepper } from 'selfServicePortal/components/Stepper/use-stepper'\r\nimport { Stepper } from 'selfServicePortal/components/Stepper/stepper'\r\nimport './index.scss'\r\nimport { PhoneOtp } from './PhoneOtp'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { Success } from '../Success'\r\n\r\ninterface PhoneChangeProps {\r\n\tonGoBack: () => void\r\n}\r\n\r\nexport function PhoneChange({ onGoBack }: PhoneChangeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { stepAmount, activeStep, nextStep, prevStep, isFirstStep } =\r\n\t\tuseStepper({\r\n\t\t\tstepAmount: 3,\r\n\t\t\tinitialStep: 1,\r\n\t\t})\r\n\tconst [sessionId, setSessionId] = useState()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{activeStep === 1 && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetSessionId(sessionId)\r\n\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{activeStep === 2 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeStep === 3 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n","import './FormInfo.scss'\r\nimport React from 'react'\r\n\r\ninterface Props {\r\n\tlabel: string\r\n\tvalue?: string | undefined\r\n\tchildren?: React.ReactNode\r\n\tdisabled?: boolean\r\n}\r\n\r\nexport function FormInfo({ label, value, children, disabled }: Props) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{value ? (\r\n\t\t\t\t{value}\r\n\t\t\t) : null}\r\n\t\t\t{children}\r\n\t\t\t{label}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nfunction FormInfoValue({ children, disabled = false }: any) {\r\n\treturn (\r\n\t\t
{children}
\r\n\t)\r\n}\r\n\r\nfunction FormInfoFloatRight({ children }: any) {\r\n\treturn
{children}
\r\n}\r\n\r\nFormInfo.FloatRight = FormInfoFloatRight\r\nFormInfo.Value = FormInfoValue\r\n","import React, { useContext } from 'react'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { FormInfo } from 'selfServicePortal/components/FormInfo/FormInfo'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faPen } from '@fortawesome/free-solid-svg-icons'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { MyAccountPages } from '../MyAccount'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport './index.scss'\r\nimport { useQuery } from '@tanstack/react-query'\r\nimport { getContactChangeStatus } from 'selfServicePortal/services/CustomerServices/getContactChangeStatusService'\r\nimport { CircleSpinner } from 'shared'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\n\r\ninterface InfoProps {\r\n\tonInfoClick: (page: MyAccountPages) => void\r\n}\r\n\r\nexport function Info({ onInfoClick }: InfoProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst contactChangeStatusQuery = useQuery({\r\n\t\tqueryFn: () => getContactChangeStatus(customerData?.customerId),\r\n\t})\r\n\r\n\tconst renderedHeading = contactChangeStatusQuery.data?.canChangeAddress ? (\r\n\t\t\r\n\t) : (\r\n\t\t\r\n\t)\r\n\r\n\tif (contactChangeStatusQuery.isLoading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{renderedHeading}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (contactChangeStatusQuery.isError) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{renderedHeading}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(contactChangeStatusQuery.error)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{renderedHeading}\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{customerData?.city}
\r\n\t\t\t\t\t\t\t
{`${customerData?.street} ${customerData?.houseNumber}`}
\r\n\t\t\t\t\t\t\t
{customerData?.postalCode}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{contactChangeStatusQuery.data?.canChangeAddress ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonInfoClick('address')\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{contactChangeStatusQuery.data?.canChangeContactInfo ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonInfoClick('phone')\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{contactChangeStatusQuery.data?.canChangeContactInfo ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonInfoClick('email')\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import axios from '../axios'\r\nimport { logError } from '../../../shared'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport appConfig from '../../../app.config'\r\n\r\nexport async function getContactChangeStatus(customerId: string | undefined) {\r\n\treturn axios\r\n\t\t.get<{\r\n\t\t\tcanChangeContactInfo: boolean\r\n\t\t\tcanChangeAddress: boolean\r\n\t\t}>(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/User/${customerId}/contact/change/status`,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n}\r\n","import React, { useState } from 'react'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { AddressChange } from './AddressChange/AddressChange'\r\nimport './index.scss'\r\nimport { EmailChange } from './EmailChange/EmailChange'\r\nimport { PhoneChange } from './PhoneChange/PhoneChange'\r\nimport { Info } from './Info/Info'\r\n\r\nexport interface ISubmitCustomerInformation {\r\n\tcustomer: ICustomer\r\n\tformMeta: any\r\n}\r\n\r\nexport type MyAccountPages = 'info' | 'address' | 'email' | 'phone'\r\n\r\nexport const ContactOtpLength = 6\r\n\r\n// Keep in mind we are conditionally rendering different pages because of the burden of tech debt.\r\nconst MyAccount = () => {\r\n\tconst [currentPage, setCurrentPage] = useState('info')\r\n\r\n\tfunction handleGoBack() {\r\n\t\tsetCurrentPage('info')\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{currentPage === 'info' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{currentPage === 'address' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{currentPage === 'phone' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{currentPage === 'email' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default MyAccount\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { Heading, AccordionItem } from '../../../../components/index'\r\n\r\nimport { customerDataApiService } from 'shared'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { IFaqEntry } from 'shared/interfaces/i-api-faq'\r\nimport appConfig from 'app.config'\r\nimport i18next from 'i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\nimport './Faq.scss'\r\n\r\nconst Faq = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { productType } = useContext(SspContext)\r\n\tconst [data, setData] = useState([])\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function getFaq() {\r\n\t\t\tsetLoading(true)\r\n\t\t\tawait customerDataApiService\r\n\t\t\t\t.getFAQ(\r\n\t\t\t\t\tappConfig.country,\r\n\t\t\t\t\tproductType === 'Card'\r\n\t\t\t\t\t\t? ProductType.Card\r\n\t\t\t\t\t\t: productType === 'Deposit_Fixed'\r\n\t\t\t\t\t\t ? ProductType.Deposit_Fixed\r\n\t\t\t\t\t\t : ProductType.Deposit,\r\n\t\t\t\t\ti18next.language,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\t\t\t\t.then((data) => setData(data))\r\n\t\t\t\t.then(() => setLoading(false))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\tsetError(error)\r\n\t\t\t\t})\r\n\t\t}\r\n\t\tgetFaq()\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{error.message}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{data?.map((parent) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default Faq\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { IAnnualReport } from '../../../../../../selfServicePortal/interfaces/i-api-creaditCard';\r\n\r\ninterface IMobileAnnualReport {\r\n\tdata: IAnnualReport\r\n}\r\n\r\nconst MobileAnnualReport = ({ data }: IMobileAnnualReport) => {\r\n\tconst { t } = useTranslation()\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{t('AnnualReport')}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('Deposit')}\r\n\t\t\t\t
{data.accountDebitBalance}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('UsedCredit')}\r\n\t\t\t\t
{data.accountCreditBalance}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('RecieveInterest')}\r\n\t\t\t\t
{data.interestReceived}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('InterestPaid')}\r\n\t\t\t\t
{data.interestPaid}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('ValueDate')}\r\n\t\t\t\t
{data.currency}
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default MobileAnnualReport;","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError } from '../../../shared';\r\nimport { IAnnualReport } from '../../interfaces/i-api-creaditCard'\r\n\r\nasync function getAnnualReportService(accountAgreementId: string, t: TFunction) {\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/annualreport?accountAgreementId=${accountAgreementId}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as IAnnualReport\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n throw new Error(t('AnnualReportNoData'))\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as IAnnualReport\r\n}\r\nexport default getAnnualReportService;","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../../../selfServicePortal/contexts/SspContext'\r\nimport { checkIsMobile } from 'shared'\r\nimport { TableLegacy } from '../../../../components/index'\r\nimport MobileAnnualReport from './MobileAnnualReport/MobileAnnualReport'\r\nimport { IAnnualReport } from '../../../../../selfServicePortal/interfaces/i-api-creaditCard'\r\nimport getAnnualReportService from '../../../../services/CreditCardServices/getAnnualReportService'\r\n\r\nconst AnnualReport = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { overviewData } = useContext(SspContext)\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState()\r\n\tconst [data, setData] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function getAnnualReport() {\r\n\t\t\tsetLoading(true)\r\n\t\t\tawait getAnnualReportService(overviewData?.accountAgreementId!, t)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tsetData(data)\r\n\t\t\t\t})\r\n\t\t\t\t.then(() => setLoading(false))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\tsetError(error)\r\n\t\t\t\t})\r\n\t\t}\r\n\t\tgetAnnualReport()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tconst cols = [\r\n\t\tt('Deposit'),\r\n\t\tt('UsedCredit'),\r\n\t\tt('RecieveInterest'),\r\n\t\tt('InterestPaid'),\r\n\t\tt('ValueDate'),\r\n\t]\r\n\r\n\tlet itemsToRender\r\n\tif (data && !loading) {\r\n\t\titemsToRender = (\r\n\t\t\t\r\n\t\t\t\t{data.accountDebitBalance}\r\n\t\t\t\t{data.accountCreditBalance}\r\n\t\t\t\t{data.interestReceived}\r\n\t\t\t\t{data.interestPaid}\r\n\t\t\t\t{data.currency}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t
{t(error.message)}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{isMobile && data ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
{t('AnnualReport')}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default AnnualReport\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next';\r\nimport { logError } from '../../../shared';\r\nimport { INewCard } from '../../interfaces/i-api-creaditCard';\r\n\r\nasync function orderNewCardService(newCard: INewCard, t: TFunction) {\r\n const response = await Axios.post(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/newcard`,\r\n newCard,\r\n await getHeadersWithJwtToken()\r\n ).then((data) => {\r\n if (data.status === 200) {\r\n return data;\r\n }\r\n throw new Error(t('ErrorMsg'))\r\n }).catch((err) => {\r\n logError(err)\r\n throw new Error(t('ErrorMsg'))\r\n })\r\n return response;\r\n}\r\n\r\nexport default orderNewCardService;","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next';\r\nimport { logError } from '../../../shared';\r\nimport { IUpdateCard } from '../../interfaces/i-api-creaditCard';\r\n\r\nasync function updateCardStatusService(updateCard: IUpdateCard, t: TFunction) {\r\n const response = await Axios.post(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/updatecardstatus`,\r\n updateCard,\r\n await getHeadersWithJwtToken()\r\n ).then((data) => {\r\n if (data.status === 200) {\r\n return data\r\n }\r\n throw new Error(t('ErrorMsg'))\r\n }).catch((err) => {\r\n logError(err)\r\n throw new Error(t('ErrorMsg'))\r\n })\r\n return response;\r\n}\r\nexport default updateCardStatusService;","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport {\r\n\tICreditBalance,\r\n\tINewCard,\r\n\tIUpdateCard,\r\n\tStatusCardActivation,\r\n\tStatusIssuer,\r\n\tStatusUser,\r\n} from '../../../../interfaces/i-api-creaditCard'\r\nimport orderNewCardService from '../../../../services/CreditCardServices/orderNewCardService'\r\nimport updateCardStatusService from '../../../../services/CreditCardServices/updateCardStatusService'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n} from 'shared'\r\n\r\nconst ActivateLockCard = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { overviewData, customerData } = useContext(SspContext)\r\n\tconst [creditCardData] = useState(overviewData as ICreditBalance)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [success, setSuccess] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\tconst [newStatus, setNewStatus] = useState('')\r\n\tconst [newDataSet, setNewDataSet] = useState<{\r\n\t\ttype: string\r\n\t\tstatus: StatusIssuer\r\n\t\tstatusDisplayed: string\r\n\t\tvalue: (IUpdateCard | INewCard)[]\r\n\t\tdropDown: string[]\r\n\t}>()\r\n\tconst [currentStatus, setCurrentStatus] = useState(\r\n\t\tnewDataSet?.status!,\r\n\t)\r\n\r\n\tconst note = 'user updated status via ssp'\r\n\r\n\tconst updateCardStatus = async () => {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tif (newStatus === StatusIssuer.OrderNewCard) {\r\n\t\t\t\tlet newCard: INewCard\r\n\t\t\t\tnewCard = {\r\n\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t}\r\n\t\t\t\tawait orderNewCardService(newCard, t).then(() => {\r\n\t\t\t\t\tsetCurrentStatus(t('OrderNewCardStatus'))\r\n\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\tstatusDisplayed: t('OrderNewCardStatus'),\r\n\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: '',\r\n\t\t\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdropDown: [''],\r\n\t\t\t\t\t})\r\n\t\t\t\t\tsetSuccess(true)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tawait updateCardStatusService(\r\n\t\t\t\t\tnewDataSet?.value.find(\r\n\t\t\t\t\t\t(x) => x.id === newStatus,\r\n\t\t\t\t\t) as IUpdateCard,\r\n\t\t\t\t\tt,\r\n\t\t\t\t).then((response) => {\r\n\t\t\t\t\tif (response.data.statusUser === 'Active') {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('ActiveStatus'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'Decline',\r\n\t\t\t\t\t\t\t\t\tstatusUser: StatusUser.Decline,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\t\tcardAgreementId:\r\n\t\t\t\t\t\t\t\t\t\tcreditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: [\r\n\t\t\t\t\t\t\t\t'Decline',\r\n\t\t\t\t\t\t\t\t'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t'OrderNewCard',\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else if (response.data.statusUser === 'Decline') {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusUser',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusUser.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('DeclineStatus'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\t\t\tstatusUser: StatusUser.Active,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\t\tcardAgreementId:\r\n\t\t\t\t\t\t\t\t\t\tcreditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: [\r\n\t\t\t\t\t\t\t\t'Active',\r\n\t\t\t\t\t\t\t\t'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t'OrderNewCard',\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tresponse.data.statusCardActivation === 'Inactive'\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('Inactive'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\t\t\tstatusCardActivation:\r\n\t\t\t\t\t\t\t\t\t\tStatusCardActivation.Active,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusCardActivationNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: ['Active'],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else if (response.data.statusIssuer === 'PickUpGeneral') {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusIssuer',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusIssuer.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('PickUpGeneralStatus'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\t\tcardAgreementId:\r\n\t\t\t\t\t\t\t\t\t\tcreditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: ['OrderNewCard'],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetCurrentStatus(newStatus!)\r\n\t\t\t\t\tsetSuccess(true)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} catch (e: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t}\r\n\t}\r\n\tconst renderStatusData = () => {\r\n\t\tif (creditCardData.statusIssuer.statusIssuer === StatusIssuer.Active) {\r\n\t\t\tif (\r\n\t\t\t\tcreditCardData.statusUser.statusIssuer === StatusIssuer.Active\r\n\t\t\t) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tcreditCardData.statusCardActivation.statusIssuer ===\r\n\t\t\t\t\tStatusIssuer.Active\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\tstatusDisplayed: t('ActiveStatus'),\r\n\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'Decline',\r\n\t\t\t\t\t\t\t\tstatusUser: StatusUser.Decline,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdropDown: ['Decline', 'PickUpGeneral', 'OrderNewCard'],\r\n\t\t\t\t\t})\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tcreditCardData.statusCardActivation.statusIssuer ===\r\n\t\t\t\t\tStatusIssuer.NotActive\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\tstatusDisplayed: t('Inactive'),\r\n\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\t\tstatusCardActivation:\r\n\t\t\t\t\t\t\t\t\tStatusCardActivation.Active,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\tstatusCardActivationNote: note,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdropDown: ['Active'],\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else if (\r\n\t\t\t\tcreditCardData.statusUser.statusIssuer === StatusIssuer.Decline\r\n\t\t\t) {\r\n\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\ttype: 'statusUser',\r\n\t\t\t\t\tstatus: creditCardData.statusUser.statusIssuer,\r\n\t\t\t\t\tstatusDisplayed: t('DeclineStatus'),\r\n\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\tstatusUser: StatusUser.Active,\r\n\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t\tdropDown: ['Active', 'PickUpGeneral', 'OrderNewCard'],\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\tcreditCardData.statusIssuer.statusIssuer ===\r\n\t\t\tStatusIssuer.PickUpGeneral\r\n\t\t) {\r\n\t\t\tsetNewDataSet({\r\n\t\t\t\ttype: 'statusIssuer',\r\n\t\t\t\tstatus: creditCardData.statusIssuer.statusIssuer,\r\n\t\t\t\tstatusDisplayed: t('PickUpGeneralStatus'),\r\n\t\t\t\tvalue: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tdropDown: ['OrderNewCard'],\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\tconst onChangeSelect = (e: any) => {\r\n\t\tsetNewStatus(e.target.value)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\trenderStatusData()\r\n\t\t// eslint-disable-next-line\r\n\t}, [creditCardData])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetNewStatus(newDataSet?.dropDown[0] as string)\r\n\t\tsetCurrentStatus(newDataSet?.statusDisplayed!)\r\n\t}, [newDataSet])\r\n\r\n\tlet cls = ['d-flex', 'justify-content-between', 'mt-3']\r\n\tif (isMobile) cls.push('flex-column')\r\n\r\n\tconst Column = (props: any) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(props.title)}\r\n\t\t\t\t
\r\n\t\t\t\t{props.item}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ActivateLockCard')}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ActivateLockCardText')}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t onChangeSelect(e)}\r\n\t\t\t\t\t\t\t\tvalue={newStatus}>\r\n\t\t\t\t\t\t\t\t{newDataSet?.dropDown.map(\r\n\t\t\t\t\t\t\t\t\t(item: string, key: number) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tupdateCardStatus()\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>{t('Confirm')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t\t{success && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('UpdateCardStatusSuccess')}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{error.message}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default ActivateLockCard\r\n","import React, { useState, ReactNode } from 'react'\r\nimport './index.scss'\r\nimport clsx from 'clsx'\r\n\r\ninterface UseFancyNumberParams {\r\n\tinitialNumber: number\r\n\tminNumber: number\r\n\tmaxNumber: number\r\n\tstep: number\r\n}\r\n\r\nfunction roundToStep(value: number, step: number) {\r\n\treturn Math.round(value / step) * step\r\n}\r\n\r\nexport function deriveFancyStep(minNumber: number, maxNumber: number) {\r\n\tconst gap = maxNumber - minNumber\r\n\r\n\tif (gap < 100) {\r\n\t\treturn 10\r\n\t} else if (gap < 1000) {\r\n\t\treturn 50\r\n\t} else if (gap < 10000) {\r\n\t\treturn 100\r\n\t} else {\r\n\t\treturn 1000\r\n\t}\r\n}\r\n\r\nexport function useFancyNumber({\r\n\tinitialNumber,\r\n\tminNumber,\r\n\tmaxNumber,\r\n\tstep,\r\n}: UseFancyNumberParams) {\r\n\tconst [number, setNumber] = useState(initialNumber)\r\n\tconst offSetFromStep = number % step\r\n\r\n\tfunction onIncrease() {\r\n\t\tconst calculatedStep = offSetFromStep ? step - offSetFromStep : step\r\n\t\tsetNumber((prev) => {\r\n\t\t\treturn prev + calculatedStep < maxNumber\r\n\t\t\t\t? prev + calculatedStep\r\n\t\t\t\t: maxNumber\r\n\t\t})\r\n\t}\r\n\tfunction onDecrease() {\r\n\t\tconst calculatedStep = offSetFromStep || step\r\n\t\tsetNumber((prev) => {\r\n\t\t\treturn prev - calculatedStep > minNumber\r\n\t\t\t\t? prev - calculatedStep\r\n\t\t\t\t: minNumber\r\n\t\t})\r\n\t}\r\n\r\n\tfunction onValidate() {\r\n\t\tif (number > maxNumber) {\r\n\t\t\tsetNumber(maxNumber)\r\n\t\t} else if (number < minNumber) {\r\n\t\t\tsetNumber(minNumber)\r\n\t\t} else {\r\n\t\t\tsetNumber(number)\r\n\t\t}\r\n\t}\r\n\r\n\tconst percentage = ((number - minNumber) / (maxNumber - minNumber)) * 100\r\n\r\n\treturn {\r\n\t\tinitialNumber,\r\n\t\tminNumber,\r\n\t\tmaxNumber,\r\n\t\tstep,\r\n\t\tonIncrease,\r\n\t\tonDecrease,\r\n\t\tnumber,\r\n\t\tonNumberChange: setNumber,\r\n\t\tonValidate,\r\n\t\tpercentage,\r\n\t\tsetNumber,\r\n\t}\r\n}\r\n\r\ninterface FancyNumberProps {\r\n\tchildren: React.ReactNode\r\n}\r\n\r\nexport function FancyNumber({ children }: FancyNumberProps) {\r\n\treturn
{children}
\r\n}\r\n\r\ninterface FancyNumberInputProps {\r\n\tonValidate: () => void\r\n\tonDecrease: () => void\r\n\tonIncrease: () => void\r\n\tnumber: number\r\n\tinitialNumber: number\r\n\tonNumberChange: React.Dispatch>\r\n\tdisabled?: boolean\r\n}\r\n\r\nexport function FancyNumberInput({\r\n\tonValidate,\r\n\tonDecrease,\r\n\tonIncrease,\r\n\tnumber,\r\n\tinitialNumber,\r\n\tonNumberChange,\r\n\tdisabled,\r\n}: FancyNumberInputProps) {\r\n\tconst [isMinusSpinning, setMinusSpinning] = useState(false)\r\n\tconst [isPlusSpinning, setPlusSpinning] = useState(false)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tsetMinusSpinning(true)\r\n\t\t\t\t\tonDecrease()\r\n\t\t\t\t}}\r\n\t\t\t\tclassName={clsx('step-button minus', isMinusSpinning && 'spin')}\r\n\t\t\t\tonTransitionEnd={() => setMinusSpinning(false)}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t/>\r\n\t\t\t onNumberChange(Number(e.target.value))}\r\n\t\t\t\tonBlur={onValidate}\r\n\t\t\t\ttype=\"number\"\r\n\t\t\t\tclassName=\"number-field\"\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tonFocus={(e) => {\r\n\t\t\t\t\tif (initialNumber === number) {\r\n\t\t\t\t\t\te.target.select()\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t {\r\n\t\t\t\t\tsetPlusSpinning(true)\r\n\t\t\t\t\tonIncrease()\r\n\t\t\t\t}}\r\n\t\t\t\tclassName={clsx('step-button plus', isPlusSpinning && 'spin')}\r\n\t\t\t\tonTransitionEnd={() => setPlusSpinning(false)}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\ninterface FancySliderProps {\r\n\tinitialNumber: number\r\n\tminNumber: number\r\n\tmaxNumber: number\r\n\tstep: number\r\n\tonIncrease: () => void\r\n\tonDecrease: () => void\r\n\tnumber: number\r\n\tonNumberChange: React.Dispatch>\r\n\tonValidate: () => void\r\n\tpercentage: number\r\n\tdisabled?: boolean\r\n}\r\n\r\nexport function FancyNumberSlider({\r\n\tstep,\r\n\tmaxNumber,\r\n\tminNumber,\r\n\tonNumberChange,\r\n\tnumber,\r\n\tpercentage,\r\n\tdisabled,\r\n}: FancySliderProps) {\r\n\tfunction handleChange(value: number) {\r\n\t\tconst roundedValue = roundToStep(value, step)\r\n\t\tconst isNotReachableLowerLimit = minNumber > roundedValue\r\n\t\tconst isNotReachableUpperLimit = maxNumber - roundedValue < step\r\n\r\n\t\t// We're a bit too smart here beacuse we need to. If number is not reachable beacuse of step value we handle it. Otherwise we round it.\r\n\t\tif (isNotReachableLowerLimit) {\r\n\t\t\tonNumberChange(minNumber)\r\n\t\t} else if (isNotReachableUpperLimit) {\r\n\t\t\tonNumberChange(maxNumber)\r\n\t\t} else {\r\n\t\t\tonNumberChange(roundedValue)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t handleChange(Number(target.value))}\r\n\t\t\t\tclassName=\"slider-control\"\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\nfunction FancyNumberInputLabel({ children }: { children: ReactNode }) {\r\n\treturn {children}\r\n}\r\n\r\nfunction FancyNumberSliderLabel({\r\n\tleft,\r\n\tright,\r\n}: {\r\n\tleft: ReactNode\r\n\tright: ReactNode\r\n}) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{left}\r\n\t\t\t{right}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nFancyNumber.Input = FancyNumberInput\r\nFancyNumber.InputLabel = FancyNumberInputLabel\r\nFancyNumber.Slider = FancyNumberSlider\r\nFancyNumber.SliderLabel = FancyNumberSliderLabel\r\n","import axios from '../axios'\r\nimport appConfig from 'app.config'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared/AppInsight'\r\n\r\nexport interface DecreaseLimitParams {\r\n\tdesiredLimit: number\r\n\tssn: string\r\n\temail: string\r\n\tmobileNumber: string\r\n\tpartyId: string\r\n}\r\n\r\nexport type LimitChangeDesicion =\r\n\t| 'Approved'\r\n\t| 'Investigation'\r\n\t| 'Rejected'\r\n\t| 'Invalid'\r\n\t| 'Error'\r\n\r\nexport interface DecreaseLimitResponse {\r\n\tapprovedCreditLimit: number\r\n\tdecision: LimitChangeDesicion\r\n\trejectionReason: {\r\n\t\tcode: string | null\r\n\t\tmessage: string | null\r\n\t}\r\n\teffectiveInterestRate: number\r\n\tesigningApplicantUrl: string | null\r\n\tonlineIdentification: string | null\r\n\tapplicationId: number\r\n}\r\n\r\nexport async function decreaseLimit(params: DecreaseLimitParams) {\r\n\treturn axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/limit/decrease`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n}\r\n","var _circle, _text;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgRedErrorExclamationmark(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_212\",\n \"data-name\": \"Group 212\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Ellipse_16\",\n \"data-name\": \"Ellipse 16\",\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#8d191d\"\n })), _text || (_text = /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"!\",\n transform: \"translate(16 25)\",\n fill: \"#fff\",\n fontSize: 25,\n fontFamily: \"Raleway-SemiBold, Raleway\",\n fontWeight: 600\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: -3.55,\n y: 0\n }, \"!\"))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRedErrorExclamationmark);\nexport default __webpack_public_path__ + \"static/media/red-error-exclamationmark.ae608edbbf8e95b07060518646f04af5.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from 'react'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport Warning from 'img/error-icons/red-error-exclamationmark.svg'\r\nimport './dropdown.scss'\r\n\r\ninterface DropdownProps {\r\n\tlabel: string\r\n\toptions: { value: string; label: string }[]\r\n\tfieldName: string\r\n\tonChange?: (event: React.ChangeEvent) => void\r\n}\r\n\r\nconst Dropdown = ({ label, options, fieldName, onChange }: DropdownProps) => {\r\n\tconst {\r\n\t\tregister,\r\n\t\tformState: { errors },\r\n\t} = useFormContext()\r\n\tconst [isHover, setIsHover] = useState(false)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{errors[fieldName] && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tRequired field\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t setIsHover(true)}\r\n\t\t\t\t\t\t\tonMouseLeave={() => setIsHover(false)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{options.map(({ value, label }) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Dropdown\r\n","import React, { useState } from 'react'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport './switcher.scss'\r\n\r\ninterface SwitcherProps {\r\n\tlabel: string\r\n\tfieldName: string\r\n}\r\nconst Switcher = ({ label, fieldName }: SwitcherProps) => {\r\n\tconst [valueNumber, setValueNumber] = useState(0)\r\n\tconst { register, setValue } = useFormContext()\r\n\r\n\tconst increment = () => {\r\n\t\tconst newValue = valueNumber + 1\r\n\t\tsetValue(fieldName, newValue)\r\n\t\tsetValueNumber(newValue)\r\n\t}\r\n\tconst decrement = () => {\r\n\t\tif (valueNumber > 0) {\r\n\t\t\tconst newValue = valueNumber - 1\r\n\t\t\tsetValue(fieldName, newValue)\r\n\t\t\tsetValueNumber(newValue)\r\n\t\t}\r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t-\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t+\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Switcher\r\n","import React, { useState } from 'react'\r\nimport { getCurrency } from 'shared'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport Warning from 'img/error-icons/red-error-exclamationmark.svg'\r\nimport './input.scss'\r\n\r\ninterface InputProps {\r\n\tlabel: string\r\n\tfieldName: string\r\n\tdisabled?: boolean\r\n\thaveCurrency?: boolean\r\n}\r\nconst FormInput = ({\r\n\tlabel,\r\n\tfieldName,\r\n\tdisabled,\r\n\thaveCurrency,\r\n}: InputProps) => {\r\n\tconst {\r\n\t\tregister,\r\n\t\twatch,\r\n\t\tformState: { errors },\r\n\t} = useFormContext()\r\n\tconst fieldValue = watch(fieldName)\r\n\tconst [isHover, setIsHover] = useState(false)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{errors[fieldName] && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{errors[fieldName]?.message}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t setIsHover(true)}\r\n\t\t\t\t\t\t\tonMouseLeave={() => setIsHover(false)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t{haveCurrency === true && (\r\n\t\t\t\t
{getCurrency()}
\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default FormInput\r\n","import React from 'react'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport './checkbox.scss'\r\n\r\ninterface CheckboxProps {\r\n\tlabel: string\r\n\tfieldName: string\r\n\thandler: () => void\r\n}\r\n\r\nconst Checkbox = ({ label, fieldName, handler }: CheckboxProps) => {\r\n\tconst { register } = useFormContext()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Checkbox\r\n","import React, { HTMLAttributes } from 'react'\r\nimport './index.scss'\r\nimport clsx from 'clsx'\r\nimport { Screen } from '../Screen'\r\nimport { Card } from '../Card'\r\n\r\nexport function Spinner({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn \r\n}\r\n\r\ninterface SpinnerScreenProps {\r\n\tmessage?: string | React.ReactNode\r\n}\r\n\r\nexport function SpinnerCard({ message }: SpinnerScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{message === undefined ? null : typeof message === 'string' ? (\r\n\t\t\t\t\t
{message}
\r\n\t\t\t\t) : (\r\n\t\t\t\t\tmessage\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport function SpinnerScreen({ message }: SpinnerScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { forwardRef } from 'react'\r\nimport clsx from 'clsx'\r\nimport './index.scss'\r\n\r\nconst variants = {\r\n\tplain: 'button',\r\n\tghost: 'button button--ghost',\r\n\toutline: 'button button--outline',\r\n\r\n\tprimary: 'button button--primary',\r\n\tsecondary: 'button button--secondary',\r\n}\r\n\r\ninterface ButtonProps extends React.ButtonHTMLAttributes {\r\n\tvariant: keyof typeof variants\r\n}\r\n\r\nexport const Button = forwardRef(function (\r\n\t{ className, variant, ...rest },\r\n\tref,\r\n) {\r\n\treturn (\r\n\t\t\r\n\t)\r\n})\r\n","import axios from '../axios'\r\nimport appConfig from 'app.config'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared/AppInsight'\r\nimport { DecreaseLimitResponse } from './decreaseLimit'\r\n\r\nexport enum MaritalStatus {\r\n\tSingle = 'Single',\r\n\tMarried = 'Married',\r\n\tDivorced = 'Divorced',\r\n\tWidow = 'Widow',\r\n\tCohabitee = 'Cohabitee',\r\n}\r\n\r\nexport enum AccommodationType {\r\n\tRenter = 'Renter',\r\n\tOwner = 'Owner',\r\n\tWithParents = 'WithParents',\r\n}\r\n\r\nexport enum OccupationType {\r\n\tPermanent = 'Permanent',\r\n\tPartTime = 'PartTime',\r\n\tEntrepreneur = 'Entrepreneur',\r\n\tUnemployed = 'Unemployed',\r\n\tStudent = 'Student',\r\n\tSickLeave = 'SickLeave',\r\n\tRetired = 'Retired',\r\n\tHousewife = 'Housewife',\r\n\tOther = 'Other',\r\n}\r\n\r\nexport interface IncreaseLimitParams {\r\n\tdesiredLimit: number\r\n\tssn: string\r\n\temail: string\r\n\tmobileNumber: string\r\n\tmaritalStatus: MaritalStatus\r\n\toccupationType: OccupationType\r\n\tnetMonthlyIncome: number\r\n\tchildrenInHousehold: number\r\n\taccomodationType: AccommodationType\r\n\ttotalMortgageCosts: number\r\n\tmonthlyMortgageCosts: number\r\n\trentalCosts: number\r\n\thasCarLoan: boolean\r\n\ttotalCarLoan: number\r\n\tmontlyCarLoanCost: number\r\n\tpartyId: string\r\n}\r\n\r\nexport async function increaseLimit(params: IncreaseLimitParams) {\r\n\treturn axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/limit/increase`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n}\r\n","import { z } from 'zod'\r\n\r\nexport const conditionallyRequiredNumber = (isIt: boolean) =>\r\n\tz\r\n\t\t.string()\r\n\t\t.refine(\r\n\t\t\t(value) => {\r\n\t\t\t\tif (value !== undefined) {\r\n\t\t\t\t\tif (value.trim().length > 0 || isIt) {\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn true\r\n\t\t\t},\r\n\t\t\t{ message: 'Required field' },\r\n\t\t)\r\n\t\t.refine(\r\n\t\t\t(value) => {\r\n\t\t\t\tif (value.trim().length > 0 || isIt) {\r\n\t\t\t\t\tconst number = Number(value)\r\n\t\t\t\t\tif (!isNaN(number)) {\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ message: 'Not a number' },\r\n\t\t)\r\n\t\t.refine(\r\n\t\t\t(value) => {\r\n\t\t\t\tif (value.trim().length >= 0) {\r\n\t\t\t\t\tconst number = Number(value)\r\n\t\t\t\t\treturn number >= 0\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ message: 'Not a positive number' },\r\n\t\t)\r\n\t\t.transform((value) => {\r\n\t\t\tif (isIt) {\r\n\t\t\t\treturn 0\r\n\t\t\t}\r\n\t\t\treturn Number(value)\r\n\t\t})\r\n\r\nexport const RequiredNumber = z\r\n\t.string()\r\n\t.min(1, { message: 'Required field' })\r\n\t.refine(\r\n\t\t(value) => {\r\n\t\t\tif (value.trim().length >= 0) {\r\n\t\t\t\tconst number = Number(value)\r\n\t\t\t\tif (!isNaN(number)) {\r\n\t\t\t\t\treturn true\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ message: 'Not a number' },\r\n\t)\r\n\t.refine(\r\n\t\t(value) => {\r\n\t\t\tif (value.trim().length >= 0) {\r\n\t\t\t\tconst number = Number(value)\r\n\t\t\t\treturn number >= 0\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ message: 'Not a positive number' },\r\n\t)\r\n\t.transform((value) => Number(value))\r\n","import React, { useState, useContext } from 'react'\r\nimport { FormProvider, useForm } from 'react-hook-form'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { getCurrency } from 'shared'\r\nimport Dropdown from './FormComponents/Dropdown/Dropdown'\r\nimport Switcher from './FormComponents/Switcher/Switcher'\r\nimport FormInput from './FormComponents/Forminput/FormInput'\r\nimport Checkbox from './FormComponents/Checkbox/Checkbox'\r\nimport { SpinnerScreen } from 'selfServicePortal/components/ui/Spinner'\r\nimport { Screen } from 'selfServicePortal/components/ui/Screen'\r\nimport { Card } from 'selfServicePortal/components/ui/Card'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\nimport { Button } from 'selfServicePortal/components/ui/Button'\r\nimport './limit_increase.scss'\r\nimport { useNavigate } from 'react-router'\r\nimport {\r\n\tincreaseLimit,\r\n\tOccupationType,\r\n\tAccommodationType,\r\n\tMaritalStatus,\r\n} from 'selfServicePortal/services/LimitService/increaseLimit'\r\nimport { zodResolver } from '@hookform/resolvers/zod'\r\nimport { z } from 'zod'\r\nimport {\r\n\tconditionallyRequiredNumber,\r\n\tRequiredNumber,\r\n} from 'selfServicePortal/utils/zodHelpers'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\n\r\ninterface IncreaseProps {\r\n\tdesiredLimit: number\r\n}\r\n\r\nconst IncreaseLimitForm = ({ desiredLimit }: IncreaseProps) => {\r\n\tconst { t } = useTranslation()\r\n\tconst navigate = useNavigate()\r\n\tconst [isChecked, setIsChecked] = useState(false)\r\n\tconst [isMortgageDisabled, setIsMortgageDisabled] = useState(false)\r\n\tconst [isRentalCostDisabled, setIsRentalCostDisabled] = useState(false)\r\n\tconst [isCarLoanDisabled, setIsCarLoanDisabled] = useState(true)\r\n\tconst { customerData } = useContext(SspContext)\r\n\r\n\tconst { register } = useForm()\r\n\r\n\tconst increaseLimitMutation = useMutation(increaseLimit, {})\r\n\r\n\tconst handleAccomodationTypeChange = (\r\n\t\tevent: React.ChangeEvent,\r\n\t) => {\r\n\t\tconst selectedValue = event.target.value\r\n\t\tsetIsRentalCostDisabled(selectedValue !== AccommodationType.Renter)\r\n\t\tsetIsMortgageDisabled(selectedValue !== AccommodationType.Owner)\r\n\t}\r\n\tconst handleCheckboxChange = () => {\r\n\t\tsetIsChecked((prevState) => !prevState)\r\n\t\tsetIsCarLoanDisabled(!isCarLoanDisabled)\r\n\t}\r\n\r\n\tconst schema = z.object({\r\n\t\tmaritalStatus: z.nativeEnum(MaritalStatus),\r\n\t\tchildrenInHousehold: z.coerce.number().default(0),\r\n\t\toccupationType: z.nativeEnum(OccupationType),\r\n\t\taccomodationType: z.nativeEnum(AccommodationType),\r\n\t\tnetMonthlyIncome: RequiredNumber,\r\n\t\ttotalMortgageCosts: conditionallyRequiredNumber(isMortgageDisabled),\r\n\t\tmonthlyMortgageCosts: conditionallyRequiredNumber(isMortgageDisabled),\r\n\t\trentalCosts: conditionallyRequiredNumber(isRentalCostDisabled),\r\n\t\thasCarLoan: z.boolean(),\r\n\t\ttotalCarLoan: isCarLoanDisabled\r\n\t\t\t? z.coerce.number().default(0)\r\n\t\t\t: conditionallyRequiredNumber(isCarLoanDisabled),\r\n\t\tmontlyCarLoanCost: isCarLoanDisabled\r\n\t\t\t? z.coerce.number().default(0)\r\n\t\t\t: conditionallyRequiredNumber(isCarLoanDisabled),\r\n\t})\r\n\ttype IncreaseLimitFormParams = z.infer\r\n\tconst methods = useForm({\r\n\t\tresolver: zodResolver(schema),\r\n\t})\r\n\r\n\tconst onSubmit = async (data: IncreaseLimitFormParams) => {\r\n\t\tconst procData = {\r\n\t\t\t...data,\r\n\t\t\ttotalMortgageCosts: isMortgageDisabled\r\n\t\t\t\t? 0\r\n\t\t\t\t: data.totalMortgageCosts,\r\n\t\t\tmonthlyMortgageCosts: isMortgageDisabled\r\n\t\t\t\t? 0\r\n\t\t\t\t: data.monthlyMortgageCosts,\r\n\t\t\trentalCosts: isRentalCostDisabled ? 0 : data.rentalCosts,\r\n\t\t\ttotalCarLoan: isCarLoanDisabled ? 0 : data.totalCarLoan,\r\n\t\t\tmontlyCarLoanCost: isCarLoanDisabled ? 0 : data.montlyCarLoanCost,\r\n\t\t}\r\n\r\n\t\tincreaseLimitMutation.mutate({\r\n\t\t\t...procData,\r\n\t\t\tdesiredLimit: desiredLimit,\r\n\t\t\tssn: String(customerData?.nationalId),\r\n\t\t\temail: String(customerData?.email),\r\n\t\t\tmobileNumber: String(customerData?.mobilePhoneNumber),\r\n\t\t\tpartyId: String(customerData?.customerId),\r\n\t\t})\r\n\t}\r\n\tif (increaseLimitMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\tif (\r\n\t\tincreaseLimitMutation.isError ||\r\n\t\t(increaseLimitMutation.isSuccess &&\r\n\t\t\tincreaseLimitMutation.data.decision !== 'Approved')\r\n\t) {\r\n\t\tconst errorMessage = increaseLimitMutation.isError\r\n\t\t\t? getErrorMessage(increaseLimitMutation.error)\r\n\t\t\t: {\r\n\t\t\t\t\tApproved: t(''),\r\n\t\t\t\t\tInvestigation: t('ChangeCreditLimitInvestigation'),\r\n\t\t\t\t\tRejected: t('ChangeCreditLimitDenied'),\r\n\t\t\t\t\tInvalid: t('ChangeCreditLimitInvalid'),\r\n\t\t\t\t\tError: t(''),\r\n\t\t\t }[increaseLimitMutation.data.decision]\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tnavigate(0)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tif (increaseLimitMutation.isSuccess) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tnavigate(0)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t('ChangeCreditLimitTitle')}\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('DesiredLimit')}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{desiredLimit} {getCurrency()}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\t\tlabel: t(o),\r\n\t\t\t\t\t\t\t\t\t\t\tvalue: o,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tfieldName=\"maritalStatus\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\t\tlabel: t(o),\r\n\t\t\t\t\t\t\t\t\t\t\tvalue: o,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tfieldName=\"occupationType\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\tlabel: t(o),\r\n\t\t\t\t\t\t\t\t\t\tvalue: o,\r\n\t\t\t\t\t\t\t\t\t}))}\r\n\t\t\t\t\t\t\t\t\tfieldName=\"accomodationType\"\r\n\t\t\t\t\t\t\t\t\tonChange={handleAccomodationTypeChange}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{isChecked && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default IncreaseLimitForm\r\n","import React, { useContext, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './index.scss'\r\nimport {\r\n\tFancyNumber,\r\n\tuseFancyNumber,\r\n} from 'selfServicePortal/components/FancyNumber'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { ICreditBalance } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { decreaseLimit } from 'selfServicePortal/services/LimitService/decreaseLimit'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\nimport { menuItems } from 'selfServicePortal/constants/menuItems'\r\nimport IncreaseLimitForm from './IncreaseLimitForm'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Screen } from 'selfServicePortal/components/ui/Screen'\r\nimport { Card } from 'selfServicePortal/components/ui/Card'\r\nimport { Button } from 'selfServicePortal/components/ui/Button'\r\nimport { SpinnerScreen } from 'selfServicePortal/components/ui/Spinner'\r\nimport { getCurrency } from 'shared'\r\nimport { useNavigate } from 'react-router'\r\n\r\nexport default function ChangeCreditLimit() {\r\n\tconst navigate = useNavigate()\r\n\tconst [showIncreaseForm, setShowIncreaseForm] = useState(false)\r\n\tconst { overviewData, customerData, changeComponent } =\r\n\t\tuseContext(SspContext)\r\n\tconst fancyNumber = useFancyNumber({\r\n\t\tminNumber: 30000,\r\n\t\tmaxNumber: 150000,\r\n\t\tstep: 10000,\r\n\t\tinitialNumber: (overviewData as ICreditBalance).creditLimit,\r\n\t})\r\n\tconst { t } = useTranslation()\r\n\tconst decreaseLimitMutation = useMutation({\r\n\t\tmutationFn: decreaseLimit,\r\n\t})\r\n\tconst action =\r\n\t\tfancyNumber.number > fancyNumber.initialNumber ? 'increase' : 'decrease'\r\n\r\n\tfunction handleSubmit() {\r\n\t\tif (action === 'increase') {\r\n\t\t\tsetShowIncreaseForm(true)\r\n\t\t} else if (action === 'decrease') {\r\n\t\t\tdecreaseLimitMutation.mutate({\r\n\t\t\t\tdesiredLimit: fancyNumber.number,\r\n\t\t\t\tssn: String(customerData?.nationalId),\r\n\t\t\t\temail: String(customerData?.email),\r\n\t\t\t\tmobileNumber: String(customerData?.mobilePhoneNumber),\r\n\t\t\t\tpartyId: String(customerData?.customerId),\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tif (decreaseLimitMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\tif (\r\n\t\tdecreaseLimitMutation.isError ||\r\n\t\t(decreaseLimitMutation.isSuccess &&\r\n\t\t\tdecreaseLimitMutation.data.decision !== 'Approved')\r\n\t) {\r\n\t\tconst errorMessage = decreaseLimitMutation.isError\r\n\t\t\t? getErrorMessage(decreaseLimitMutation.error)\r\n\t\t\t: {\r\n\t\t\t\t\tApproved: t(''),\r\n\t\t\t\t\tInvestigation: t('ChangeCreditLimitInvestigation'),\r\n\t\t\t\t\tRejected: t('ChangeCreditLimitDenied'),\r\n\t\t\t\t\tInvalid: t('ChangeCreditLimitInvalid'),\r\n\t\t\t\t\tError: t(''),\r\n\t\t\t }[decreaseLimitMutation.data.decision]\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tnavigate(0)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tif (decreaseLimitMutation.isSuccess) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tchangeComponent(menuItems[0].items[0])\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tif (showIncreaseForm) {\r\n\t\treturn \r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t('ChangeCreditLimitTitle')}\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitCurrentLimit')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{`${\r\n\t\t\t\t\t\t\t\t\t(overviewData as ICreditBalance).creditLimit\r\n\t\t\t\t\t\t\t\t} ${getCurrency()}`}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitDesiredLimit')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{action === 'decrease'\r\n\t\t\t\t\t\t\t\t? t('ChangeCreditLimitConfirm')\r\n\t\t\t\t\t\t\t\t: t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\nconst WithdrawalNo = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { typeOfAccount, overviewData } = useContext(SspContext)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('Withdrawal')}
\r\n\t\t\t\t
\r\n\t\t\t\t{typeOfAccount(overviewData!.productId).product ===\r\n\t\t\t\t\t'Sparekonto' && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('WithdrawalTextSavingsAccount')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('WithdrawalLink')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{typeOfAccount(overviewData!.productId).product ===\r\n\t\t\t\t\t'Fastrentekonto' && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('WithdrawalTextSavingsAccount')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('WithdrawalLink')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default WithdrawalNo\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './GeneratedLinkBox.scss'\r\n\r\nconst GeneratedLinkBox = ({ referalLink, daysLeft }: any) => {\r\n\tconst { t } = useTranslation()\r\n\tconst [copyLinkSuccess, setCopyLinkSuccess] = useState()\r\n\tconst [copyLinkError, setCopyLinkError] = useState()\r\n\r\n\tconst copyReferalLink = () => {\r\n\t\tif (\r\n\t\t\treferalLink &&\r\n\t\t\treferalLink?.numberOfTimesUsed <= referalLink?.validTimes\r\n\t\t) {\r\n\t\t\tnavigator.clipboard.writeText(referalLink?.referralLink || '').then(\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tsetCopyLinkSuccess(true)\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tsetCopyLinkSuccess(false)\r\n\t\t\t\t\t}, 5000)\r\n\t\t\t\t},\r\n\t\t\t\tfunction (err) {\r\n\t\t\t\t\tconsole.error('Could not copy text: ', err)\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\tsetCopyLinkError(true)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {}, [copyLinkSuccess])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t

{t('ReferFriendsDescCopyUrl')}

\r\n\t\t\t
\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonCopy={(e) => {\r\n\t\t\t\t\t\te.preventDefault()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonMouseDown={(e) => {\r\n\t\t\t\t\t\te.preventDefault()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tclassName=\"refer-friends-url-input\"\r\n\t\t\t\t\t// value={referalLink?.referralLink}\r\n\t\t\t\t\tplaceholder={referalLink?.referralLink}\r\n\t\t\t\t\tdisabled\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t{t('ReferFriendsBtnCopyUrl')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{copyLinkSuccess && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t('ReferFriendsCopyLink')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{copyLinkError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t('ErrorMsg')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{/* commented out for future us if Norway like to use something else */}\r\n\r\n\t\t\t{/*
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ReferFriendsDescLinkvalidity')}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{daysLeft} {t('ReferFriendsDescDaysLeft')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('ReferFriendsDescExpiry')}{' '}\r\n\t\t\t\t\t\t{referalLink?.validTo.substr(0, 10)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ReferFriendsDescLinkUsage')}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{referalLink?.validTimes - referalLink?.numberOfTimesUsed}{' '}\r\n\t\t\t\t\t\t\t{t('ReferFriendsDescLinksRemaining')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{referalLink?.numberOfTimesUsed}{' '}\r\n\t\t\t\t\t\t\t{t('ReferFriendsDescLinksUsed')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
*/}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default GeneratedLinkBox\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport './GenerateBtnBox.scss'\r\n\r\nconst GenerateBtnBox = ({ createReferalLink, loadingSmall }: any) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{/*

{t('ReferFriendsDescGenerateUrl')}

*/}\r\n\t\t\t\r\n\t\t\t\t{loadingSmall ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\tt('ReferFriendsBtnGenerateUtl')\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default GenerateBtnBox\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared'\r\n// import { ISupportDataSsp } from '../../interfaces/i-api-support'\r\nimport appConfig from 'app.config'\r\n\r\nasync function CreateReferalLinkService(partyId: string) {\r\n\tconst { data } = await Axios.post(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ReferralLink/create`,\r\n\t\t{ partyId: partyId },\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log(err)\r\n\t\t\tlogError(err)\r\n\t\t\tthrow new Error(err)\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default CreateReferalLinkService\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared'\r\nimport appConfig from 'app.config'\r\n\r\nasync function GetReferalLinkService(partyId: string) {\r\n\tconst { data } = await Axios.get(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ReferralLink/referralLink?partyId=${partyId}`,\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log(err.response)\r\n\t\t\tlogError(err)\r\n\t\t\treturn err.response\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default GetReferalLinkService\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared'\r\nimport appConfig from 'app.config'\r\n\r\nasync function GetReferalLinkFriendsService(country: string) {\r\n\tconst { data } = await Axios.get(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ReferralLink/friends?country=${country}`,\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log(err.response)\r\n\t\t\tlogError(err)\r\n\t\t\treturn err.response\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default GetReferalLinkFriendsService\r\n","import React, { useState, useContext, useEffect, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useLocation, useNavigate } from 'react-router'\r\nimport { CircleSpinner } from 'shared'\r\nimport { Heading } from '../../../../components/index'\r\nimport GeneratedLinkBox from './GeneratedLinkBox/GeneratedLinkBox'\r\nimport GenerateBtnBox from './GenerateBtnBox/GenerateBtnBox'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport createReferalLinkService from '../../../../services/ReferalLink/CreateReferalLinkService'\r\nimport getReferalLinkService from '../../../../services/ReferalLink/GetReferalLinkService'\r\nimport GetReferalLinkFriendsService from 'selfServicePortal/services/ReferalLink/GetReferalLinkFriendsService'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport './ReferFriends.scss'\r\n\r\ninterface ReferalLinkModel {\r\n\tpartyId: string\r\n\treferralIdentifier: string\r\n\treferralLink: string\r\n\tvalidTo: string\r\n\tnumberOfTimesUsed: number\r\n\tisActive: boolean\r\n\tstatus?: number\r\n\tdetails?: string\r\n\tvalidTimes: number\r\n}\r\n\r\nconst ReferFriends = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [referalLink, setReferalLink] = useState()\r\n\tconst [referalLinkFriends, setReferalLinkFriends] = useState()\r\n\tconst [daysLeft, setDaysLeft] = useState(0)\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [loadingSmall, setLoadingSmall] = useState(false)\r\n\tconst location = useLocation()\r\n\tconst navigate = useNavigate()\r\n\r\n\tconst createReferalLink = async () => {\r\n\t\tsetLoadingSmall(true)\r\n\t\tawait createReferalLinkService(\r\n\t\t\tcustomerData?.customerId.toString() || '',\r\n\t\t)\r\n\t\t\t.then((dataLink: ReferalLinkModel) => {\r\n\t\t\t\tsetReferalLink(dataLink)\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err)\r\n\t\t\t})\r\n\t\t\t.finally(() => setLoadingSmall(false))\r\n\t}\r\n\r\n\tconst getReferalLink = async () => {\r\n\t\tsetLoading(true)\r\n\t\tawait getReferalLinkService(customerData?.customerId.toString() || '')\r\n\t\t\t.then((dataLink: ReferalLinkModel) => {\r\n\t\t\t\tif (dataLink?.status !== 404) {\r\n\t\t\t\t\tsetReferalLink(dataLink)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(dataLink?.details)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err)\r\n\t\t\t})\r\n\t\t\t.finally(() => setLoading(false))\r\n\t}\r\n\r\n\tconst getReferalFriendsLink = async () => {\r\n\t\t// description text and terms and conditions\r\n\t\tsetLoading(true)\r\n\t\tawait GetReferalLinkFriendsService(\r\n\t\t\tcustomerData?.country.toString() || '',\r\n\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response?.status !== 404) {\r\n\t\t\t\t\tsetReferalLinkFriends(response)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err)\r\n\t\t\t})\r\n\t\t\t.finally(() => setLoading(false))\r\n\t}\r\n\r\n\tconst calculateDays = useCallback(() => {\r\n\t\tif (referalLink) {\r\n\t\t\tconst secDate = referalLink?.validTo\r\n\t\t\tconst oneDay = 24 * 60 * 60 * 1000 // hours*minutes*seconds*milliseconds\r\n\t\t\tconst firstDate: any = new Date()\r\n\t\t\tconst secondDate: any = new Date(secDate || '')\r\n\t\t\tconst diffDays = Math.round(\r\n\t\t\t\tMath.abs((firstDate - secondDate) / oneDay),\r\n\t\t\t)\r\n\t\t\tsetDaysLeft(diffDays)\r\n\t\t}\r\n\t}, [referalLink])\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (customerData) {\r\n\t\t\t\tgetReferalLink()\r\n\t\t\t\tgetReferalFriendsLink()\r\n\t\t\t\tif (location.pathname === appRoutes.referfriends) {\r\n\t\t\t\t\tnavigate('/')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t[customerData], //eslint-disable-line\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (referalLink) {\r\n\t\t\tcalculateDays()\r\n\t\t}\r\n\t}, [referalLink, calculateDays])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{referalLink?.isActive ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('ReferFriendsLearnMore')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default ReferFriends\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next';\r\nimport { logError } from '../../../shared';\r\nimport { ICardEnrollment } from '../../interfaces/i-api-creaditCard';\r\n\r\nasync function setPasswordIdCheckService(cardEnrollment: ICardEnrollment, t: TFunction) {\r\n\t\t\tconst response = await Axios.post(\r\n\t\t\t\t`${appConfig.customerDataBaseUrl}/api/enrollment/onlinepurchase/enrollcard`,\r\n\t\t\t\tcardEnrollment,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t).then((data) => {\r\n\t\t\t\tif (data.status === 200) {\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\t\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tlogError(err)\r\n\t\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t\t})\r\n\t\t\treturn response;\r\n\t}\r\n\r\nexport default setPasswordIdCheckService;","import React, { useContext, useState } from 'react'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../contexts/SspContext'\r\nimport {\r\n\tICardEnrollment,\r\n\tICreditBalance,\r\n} from '../../../interfaces/i-api-creaditCard'\r\nimport setPasswordIdCheckService from '../../../services/CreditCardServices/setPasswordIdCheckService'\r\nimport {\r\n\tCustomerForm,\r\n\tgetErrorWithFullMessage,\r\n\tgetMarket,\r\n\tgetLanguageLocale,\r\n} from 'shared'\r\nimport { FormFactory } from '../../../../shared/formBuilder/formFactory'\r\nimport { Heading } from '../../../components/index'\r\n\r\nconst SetPasswordIdCheck = () => {\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst { customerData, overviewData, success, setSuccess } =\r\n\t\tuseContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst creditCardData = overviewData as ICreditBalance\r\n\r\n\tconst formSchema = FormFactory(\r\n\t\tCustomerForm.SetPasswordIdCheckForm,\r\n\t\t{\r\n\t\t\tformName: 'Password',\r\n\t\t\tblockName: 'Password',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\tfunction checkPassword(info: any) {\r\n\t\tlet reg =\r\n\t\t\t/^(?=.*[a-z])(?=.*[A-Z])(?=(.*\\d){2})(?=.*[-@#$&*+!?])[A-Za-z\\d\\-@#$&*+!?]{8,}$/\r\n\r\n\t\tif (reg.test(info.password)) {\r\n\t\t\tif (info.password === info.repeatPassword) {\r\n\t\t\t\tsetError(undefined)\r\n\t\t\t\treturn true\r\n\t\t\t} else {\r\n\t\t\t\tsetError(new Error(t('PasswordsMatch')))\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetError(new Error(t('PasswordValidation')))\r\n\t\treturn false\r\n\t}\r\n\r\n\tconst submit = async (info: any) => {\r\n\t\tif (!checkPassword(info)) return\r\n\r\n\t\tlet cardEnrollment: ICardEnrollment\r\n\t\tif (customerData) {\r\n\t\t\tcardEnrollment = {\r\n\t\t\t\tcustomerId: customerData.customerId,\r\n\t\t\t\tcardAgreementId: parseInt(creditCardData.cardAgreementId),\r\n\t\t\t\tcardHolderId: '',\r\n\t\t\t\tlabel: 'TF_POTP',\r\n\t\t\t\tpassword: info.password,\r\n\t\t\t\tphoneNo: customerData.mobilePhoneNumber.replaceAll(' ', ''),\r\n\t\t\t\tstatus: '',\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tawait setPasswordIdCheckService(cardEnrollment!, t)\r\n\t\t\tsetSuccess({ ...success, setPassword: true })\r\n\t\t\tsetLoading(false)\r\n\t\t} catch (e: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{loading &&
}\r\n\t\t\t\t{success.setPassword && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!success.setPassword && !loading && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t submit(values)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success.setPassword && (\r\n\t\t\t\t\t
{error.message}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default SetPasswordIdCheck\r\n","import React, {\r\n\tInputHTMLAttributes,\r\n\tLabelHTMLAttributes,\r\n\tforwardRef,\r\n\tHTMLAttributes,\r\n} from 'react'\r\nimport './index.scss'\r\nimport clsx from 'clsx'\r\n\r\nexport function InputContainer({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function InputLabel({\r\n\tclassName,\r\n\t...rest\r\n}: LabelHTMLAttributes) {\r\n\treturn
\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{productType === 'DepositFixed' ? (\r\n\t\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t{getDepositInfo(deposit, t).map((item, key) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t(item.text)}\r\n\t\t\t\t\t\t\t\t\t{item.tooltip! && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{item.value}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('Transactions')}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{transactions}\r\n\t\t\t\t\t
{t('Date')}{t('Type')}{t('Amount')}
\r\n\r\n\t\t\t\t\t{deposit.transactions.length > 10 &&\r\n\t\t\t\t\t\tnumberOfTransactions < deposit.transactions.length && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tsetNumberOfTransactions(\r\n\t\t\t\t\t\t\t\t\t\tnumberOfTransactions + 20,\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tclassName=\"d-flex flex-row read-more mb-4 mt-3 pointer\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t('ShowMore')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tasync function getDeposits() {\r\n\t\ttry {\r\n\t\t\tlet data = await customerDataApiService.getDepositsData(t)\r\n\t\t\tsetData(data as IDeposit[])\r\n\t\t\tif (data.length === 0) setShow(false)\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\tsetShow(false)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tonChangeValues(show, error)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [show, error])\r\n\r\n\tuseEffect(() => {\r\n\t\ttoggle.includes(Toggle.deposits) ? getDeposits() : setShow(false)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{hasData() || isLoading() ? (\r\n\t\t\t\t {}}\r\n\t\t\t\t\tbackgroundColor={'white'}\r\n\t\t\t\t\tcolor={'#e9ecef'}\r\n\t\t\t\t\tcontent={\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('SavingAccounts')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{isLoading() && (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\texpanded={hasData()}\r\n\t\t\t\t\tchevron={!isLoading()}\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\terror && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{error?.message}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Deposits\r\n\r\n","import React from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { Row, Col, Container } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport appConfig from 'app.config'\r\n\r\ninterface IOutOfService {\r\n\tshowModal: boolean\r\n\tonClick: any\r\n\tmessage: string\r\n\ticon: any\r\n\tcolor?: string\r\n}\r\n\r\nexport const OutOfServiceModal = ({\r\n\tshowModal,\r\n\tonClick,\r\n\tmessage,\r\n\ticon,\r\n\tcolor,\r\n}: IOutOfService) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{message === 'Network Error' ? message : t('DataNotFound')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{icon && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{message === 'Network Error' ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{t('OutOfService')}
\r\n\t\t\t\t\t\t\t{t('OutOfServiceLoggedOut')}
\r\n\t\t\t\t\t\t\t{t('OutOfServiceTryAgain')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{message.split('\\n').map((line, key) => (\r\n\t\t\t\t\t\t\t\t
{line}
\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","export const appRoutes = {\r\n\tstartpage: '/',\r\n\tlogin: '/login',\r\n\tlogout: '/logout',\r\n\tloanPage: '/loan',\r\n\thomePage: '/home',\r\n\tsavePage: '/save',\r\n\tcardsPage: '/cards',\r\n\tsupportPage: '/support',\r\n\tuserPage: '/user',\r\n\tcallbackPage: '/callback',\r\n\terrorPage: '/errorpage',\r\n\tlogoutCallback: '/logoutcallback',\r\n\tsignicatCallback: '/signicatcallback',\r\n\tcardApplicationPage: '/cardapplication',\r\n\tcardApplicationLogin: '/cardapplicationlogin',\r\n\teParakstsCallback: '/eparakstscallback',\r\n\tbankIdCallbackPage: '/bankid-callback',\r\n}\r\n\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport TagManager from 'react-gtm-module'\r\nimport Loans from '../../pages/loans/Loans'\r\nimport Deposits from '../../pages/deposits/Deposits'\r\nimport { checkIsMobile, setVocative } from 'shared/utils/helpers'\r\nimport { CookieType } from '../../../shared/constants/cookieTypes'\r\nimport { OutOfServiceModal } from '../../../shared/components/modals/OutOfServiceModal'\r\nimport { appRoutes } from '../../constants/routes/Routes'\r\nimport AppConfigContext from 'shared/contexts/azureAppConfig'\r\nimport { KycWrapper } from '../../../shared/components/modals/KycSharedModal/KycModal'\r\nimport i18next from 'i18next'\r\nimport { useNavigate } from 'react-router'\r\nimport { CircleSpinner } from 'shared'\r\n\r\nfunction HomePage() {\r\n\tconst [userName, setUserName] = useState()\r\n\tconst navigate = useNavigate()\r\n\t// this is a crappy solution, but all i could think of when fetching from cookies\r\n\tuseEffect(() => {\r\n\t\tfunction setUserNameFunc(retriesLeft: number) {\r\n\t\t\tif (userName || retriesLeft === 0) return\r\n\r\n\t\t\tconst nameFromCookie = sessionStorage\r\n\t\t\t\t.getItem(CookieType.CustomerName)\r\n\t\t\t\t?.toString()\r\n\r\n\t\t\tif (!nameFromCookie) {\r\n\t\t\t\tconst newRetriesLeft = retriesLeft - 1\r\n\t\t\t\tsetTimeout(setUserNameFunc, 500, newRetriesLeft)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tlet tempUserName = JSON.parse(nameFromCookie!) as string\r\n\t\t\tsetUserName(tempUserName)\r\n\t\t}\r\n\r\n\t\tsetTimeout(setUserNameFunc, 500, 10)\r\n\t}, [i18next.language]) //eslint-disable-line\r\n\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst [loans, setLoans] = useState<{\r\n\t\thasValue: boolean\r\n\t\thasError?: Error\r\n\t}>({\r\n\t\thasValue: true,\r\n\t\thasError: undefined,\r\n\t})\r\n\r\n\tconst [deposits, setDeposits] = useState<{\r\n\t\thasValue: boolean\r\n\t\thasError?: Error\r\n\t}>({\r\n\t\thasValue: true,\r\n\t\thasError: undefined,\r\n\t})\r\n\tconst { ready } = useContext(AppConfigContext)\r\n\r\n\tconst tagManagerArgs = {\r\n\t\tdataLayer: {\r\n\t\t\tuserId: '001',\r\n\t\t\tuserProject: 'project',\r\n\t\t\tpage: '/home',\r\n\t\t}\r\n\t}\r\n\r\n\tReact.useEffect(() => {\r\n\t\tTagManager.dataLayer(tagManagerArgs)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{ready ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tnavigate(appRoutes.logout)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\ticon={\r\n\t\t\t\t\t\t\t\t\tloans.hasError || deposits.hasError\r\n\t\t\t\t\t\t\t\t\t\t? undefined\r\n\t\t\t\t\t\t\t\t\t\t: 'search-dollar'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tmessage={\r\n\t\t\t\t\t\t\t\t\tloans.hasError || deposits.hasError\r\n\t\t\t\t\t\t\t\t\t\t? 'Network Error'\r\n\t\t\t\t\t\t\t\t\t\t: t('NoAccounts')\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tcolor=\"#5b7f95\"\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{t('Hello')}{' '}\r\n\t\t\t\t\t\t\t\t{userName ? (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{i18next.language === 'lt'\r\n\t\t\t\t\t\t\t\t\t\t\t? setVocative(userName)\r\n\t\t\t\t\t\t\t\t\t\t\t: userName}\r\n\t\t\t\t\t\t\t\t\t\t!\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetLoans({ hasValue, hasError })\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetDeposits({ hasValue, hasError })\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default HomePage","import React from 'react'\r\n\r\nconst Input = (props: any) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t{props.symbol!}\r\n\t\t\t\r\n\t\t\t{props.error && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default Input\r\n","import { IAddressService } from 'original/constants/interfaces/i-api-loan'\r\nimport React, { useState, useRef } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './AddressService.scss'\r\nimport {\r\n\tCircleSpinner,\r\n\tcustomerDataApiService,\r\n\tgetErrorWithFullMessage,\r\n} from 'shared/index'\r\nimport { ICustomer } from 'original/interfaces/i-api-loan'\r\n\r\nexport const AddressService = ({\r\n\tonSelectAddress,\r\n\tuser,\r\n}: {\r\n\tonSelectAddress: (address: IAddressService) => void\r\n\tuser: ICustomer\r\n}) => {\r\n\tconst [inputAddress, setInputAddress] = useState('')\r\n\tconst [addressResults, setAddressResults] = useState([])\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [error, setError] = React.useState(null)\r\n\tconst { t } = useTranslation()\r\n\tconst debounceTimeout = useRef(null)\r\n\r\n\tconst handleInputChange = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value\r\n\t\tsetInputAddress(value)\r\n\r\n\t\tif (debounceTimeout.current) {\r\n\t\t\tclearTimeout(debounceTimeout.current)\r\n\t\t}\r\n\r\n\t\tdebounceTimeout.current = setTimeout(async () => {\r\n\t\t\tif (value.length >= 3) {\r\n\t\t\t\tsetLoading(true)\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst response =\r\n\t\t\t\t\t\tawait customerDataApiService.lookupAddressInAddressService(\r\n\t\t\t\t\t\t\tvalue,\r\n\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\tif (!response) {\r\n\t\t\t\t\t\tthrow new Error(t('FailedToFetchAddressData'))\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (response.length === 0) {\r\n\t\t\t\t\t\tsetAddressResults([])\r\n\t\t\t\t\t\tsetError(new Error(t('NoAddressesFound')))\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetError(null)\r\n\t\t\t\t\tsetAddressResults(response)\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t\tsetError(\r\n\t\t\t\t\t\tgetErrorWithFullMessage(\r\n\t\t\t\t\t\t\terr instanceof Error\r\n\t\t\t\t\t\t\t\t? err\r\n\t\t\t\t\t\t\t\t: new Error(t('UnknownError')),\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t} finally {\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsetAddressResults([])\r\n\t\t\t\tsetError(null)\r\n\t\t\t}\r\n\t\t}, 300)\r\n\t}\r\n\r\n\tconst handleAddressSelect = (selectedAddress: IAddressService) => {\r\n\t\tonSelectAddress(selectedAddress)\r\n\t\tsetInputAddress(\r\n\t\t\tselectedAddress.address + ' ' + selectedAddress.postalCode,\r\n\t\t)\r\n\t\tsetAddressResults([])\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t{loading && }\r\n\r\n\t\t\t{error &&

{error.message}

}\r\n\r\n\t\t\t{addressResults.length > 0 && (\r\n\t\t\t\t
\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{addressResults.map(\r\n\t\t\t\t\t\t\t(address: IAddressService, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\thandleAddressSelect(address)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t{`${address.address} ${address.postalCode}`}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default AddressService\r\n","import React, { useEffect, useCallback } from 'react'\r\nimport { Form, Alert, Row, Col } from 'react-bootstrap'\r\nimport { useForm, SubmitHandler, Controller } from 'react-hook-form'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport {\r\n\tgetCustomerInfoCookieName,\r\n\tgetErrorWithFullMessage,\r\n} from 'shared/index'\r\nimport customerDataApiService from '../../../shared/services/customerDataApiService'\r\nimport { ICustomer } from '../../interfaces/i-api-loan'\r\nimport { CookieType } from '../../../shared/constants/cookieTypes'\r\nimport Input from '../input/Input'\r\nimport appConfig from 'app.config'\r\nimport ReactPhoneInput from 'react-phone-input-2'\r\nimport { AddressService } from 'original/components/addressService/AddressService'\r\nimport { IAddressService } from 'original/constants/interfaces/i-api-loan'\r\nimport { AddressFormData } from './addressSchema'\r\ninterface IChangeAddress {\r\n\thandleClose: (customerData: ICustomer) => void\r\n\tuser: ICustomer\r\n\thide: () => void\r\n}\r\n\r\nconst isDepositCustomer =\r\n\tsessionStorage.getItem(CookieType.DepositCustomer) ?? false\r\nconst isEstonianMarket = appConfig.country === 'ee'\r\nconst allowMultipleFormats = ['fi', 'ee', 'lt'].includes(appConfig.country)\r\n\r\nfunction ChangeAddress({ hide, handleClose, user }: IChangeAddress) {\r\n\tconst [error, setError] = React.useState()\r\n\tconst { t } = useTranslation()\r\n\tconst {\r\n\t\thandleSubmit,\r\n\t\treset,\r\n\t\tsetValue,\r\n\t\tcontrol,\r\n\t\tformState: { errors, isSubmitting },\r\n\t} = useForm({\r\n\t\tdefaultValues: {\r\n\t\t\taddress: {\r\n\t\t\t\tstreet: user.address?.street || '',\r\n\t\t\t\tzip: user.address?.zip || '',\r\n\t\t\t\tcity: user.address?.city || '',\r\n\t\t\t\tstreet2: user.address?.street2 || '',\r\n\t\t\t\tcustomerCountry: user.address?.customerCountry || '',\r\n\t\t\t},\r\n\t\t\tcontacts: {\r\n\t\t\t\temail: user.contacts?.email || '',\r\n\t\t\t\tcellPhone: user.contacts?.cellPhone || '',\r\n\t\t\t},\r\n\t\t},\r\n\t})\r\n\r\n\tuseEffect(() => {\r\n\t\treset({\r\n\t\t\taddress: {\r\n\t\t\t\tstreet: user.address?.street || '',\r\n\t\t\t\tzip: user.address?.zip || '',\r\n\t\t\t\tcity: user.address?.city || '',\r\n\t\t\t\tstreet2: user.address?.street2 || '',\r\n\t\t\t\tcustomerCountry: user.address?.customerCountry || '',\r\n\t\t\t},\r\n\t\t\tcontacts: {\r\n\t\t\t\temail: user.contacts?.email || '',\r\n\t\t\t\tcellPhone: user.contacts?.cellPhone || '',\r\n\t\t\t},\r\n\t\t})\r\n\t}, [user, reset])\r\n\tconst onSubmit: SubmitHandler = async (data) => {\r\n\t\tconst updatedValues: ICustomer = {\r\n\t\t\t...user,\r\n\t\t\taddress: {\r\n\t\t\t\t...user.address,\r\n\t\t\t\t...data.address,\r\n\t\t\t},\r\n\t\t\tcontacts: {\r\n\t\t\t\t...user.contacts,\r\n\t\t\t\t...data.contacts,\r\n\t\t\t},\r\n\t\t}\r\n\r\n\t\tconst storedValue = sessionStorage.getItem(getCustomerInfoCookieName())\r\n\t\tif (storedValue && JSON.stringify(updatedValues) !== storedValue) {\r\n\t\t\ttry {\r\n\t\t\t\tawait customerDataApiService.updateCustomerDetails(\r\n\t\t\t\t\tupdatedValues,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\t\t\t\thandleClose(updatedValues)\r\n\t\t\t} catch (err: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(err))\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\thandleClose(updatedValues)\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleAddressSelect = useCallback(\r\n\t\t(selectedAddress: IAddressService) => {\r\n\t\t\tsetValue('address.street', selectedAddress.street || '')\r\n\t\t\tsetValue('address.zip', selectedAddress.postalCode || '')\r\n\t\t\tsetValue('address.city', selectedAddress.city || '')\r\n\t\t},\r\n\t\t[setValue],\r\n\t)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{t('ChangeContact')}
\r\n\t\t\t\t{error && (\r\n\t\t\t\t\t setError(undefined)}>\r\n\t\t\t\t\t\t{error.message}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t\t{isDepositCustomer && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{isEstonianMarket ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t('Phone')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue.startsWith('+')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '+' + value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tisValid={\r\n\t\t\t\t\t\t\t\t\t\t\t\t!errors.contacts?.cellPhone\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tdisableDropdown={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t'lt',\r\n\t\t\t\t\t\t\t\t\t\t\t\t'lv',\r\n\t\t\t\t\t\t\t\t\t\t\t].includes(appConfig.country)}\r\n\t\t\t\t\t\t\t\t\t\t\tcountryCodeEditable={\r\n\t\t\t\t\t\t\t\t\t\t\t\t!['lt', 'lv', 'se'].includes(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tappConfig.country,\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{errors.contacts?.cellPhone && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('InvalidPhone')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('InvalidPhone')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('Back')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default ChangeAddress\r\n","import { IAddress, IPersonalInfo } from 'original/interfaces/i-api-loan'\r\nimport React from 'react'\r\n\r\ninterface IUserAddressInfo{\r\n\tpersonalInfo: IPersonalInfo,\r\n\taddress: IAddress,\r\n\ttitle: string\r\n\tisEstonianMarket:boolean\r\n}\r\n\r\nconst UserAddressInfo = ({personalInfo, address, title, isEstonianMarket} : IUserAddressInfo) => {\r\n\treturn (\r\n <>\r\n

\r\n {title}: \r\n

\r\n

\r\n {personalInfo.firstName}{' '}\r\n {personalInfo.lastName}\r\n
\r\n {address.street}\r\n
\r\n {isEstonianMarket ? (\r\n <>\r\n {address.city},{' '}\r\n {address.zip}\r\n \r\n ) : (\r\n <>\r\n {address.zip},{' '}\r\n {address.city},{' '}\r\n {address.customerCountry}\r\n \r\n )}\r\n

\r\n \r\n );\r\n}\r\nexport default UserAddressInfo","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport React, { useState } from 'react'\r\nimport { Alert, Container } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Link } from 'react-router-dom'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\nimport TagManager from 'react-gtm-module'\r\nimport ChangeAddress from '../../components/changeAddress/ChangeAddress'\r\nimport { getErrorWithFullMessage } from 'shared/index'\r\nimport { checkIsMobile, getCustomerInfoCookieName } from 'shared/utils/helpers'\r\nimport appConfig from '../../../app.config'\r\nimport { appRoutes } from '../../constants/routes/Routes'\r\nimport useStateWithSessionStorage from '../../../shared/hooks/useStateWithSessionStorage'\r\nimport { ICustomer } from '../../interfaces/i-api-loan'\r\nimport customerDataApiService from '../../../shared/services/customerDataApiService'\r\nimport { CookieType } from '../../../shared/constants/cookieTypes'\r\nimport { animated } from 'react-spring'\r\nimport UserAddressInfo from '../../pages/userAddressInfo/UserAddressInfo'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nfunction UserPage() {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Languages,\r\n\t])\r\n\r\n\tconst [isShown, setIsShown] = useState(false)\r\n\tconst [marketingExpanded, setMarketingExpanded] = useState(false)\r\n\tconst [showMessage, setShowMessage] = useState(false)\r\n\r\n\tconst [value] = useStateWithSessionStorage(getCustomerInfoCookieName())\r\n\tconst [personal, setPersonal] = useState(\r\n\t\tJSON.parse(value.toString()),\r\n\t)\r\n\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst handleClose = (customerData: ICustomer) => {\r\n\t\tsetIsShown(false)\r\n\t\tsetPersonal(customerData)\r\n\t}\r\n\r\n\tconst tagManagerArgs = {\r\n\t\tdataLayer: {\r\n\t\t\tuserId: '001',\r\n\t\t\tuserProject: 'project',\r\n\t\t\tpage: '/user',\r\n\t\t}\r\n\t}\r\n\r\n\tReact.useEffect(() => {\r\n\t\tTagManager.dataLayer(tagManagerArgs)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [])\r\n\r\n\tasync function onClick() {\r\n\t\tlet tempPersonal = Object.assign({\r\n\t\t\t...personal,\r\n\t\t\tcustomerFlags: {\r\n\t\t\t\t...personal.customerFlags,\r\n\t\t\t\tnoAdvertisement: !personal.customerFlags.noAdvertisement,\r\n\t\t\t},\r\n\t\t})\r\n\r\n\t\ttry {\r\n\t\t\tawait customerDataApiService\r\n\t\t\t\t.updateCustomerDetails(tempPersonal, t)\r\n\t\t\t\t.then(() => setPersonal(tempPersonal))\r\n\t\t\t\t.then(() => setShowMessage(true))\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!isShown && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t\t setError(undefined)}>\r\n\t\t\t\t\t\t\t\t\t\t\t{error.message}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t{personal.personalInfo?.firstName}\r\n\t\t\t\t\t\t\t\t\t\t{appConfig.country === 'fi'\r\n\t\t\t\t\t\t\t\t\t\t\t? ` ${personal.personalInfo.lastName}`\r\n\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t

{t('ContactInfo')}

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t{t('Email')}: \r\n\t\t\t\t\t\t\t\t\t\t{personal.contacts?.email}\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t{t('Phone')}: \r\n\t\t\t\t\t\t\t\t\t\t{personal.contacts?.cellPhone}\r\n\t\t\t\t\t\t\t\t\t\t setIsShown(!isShown)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"d-inline float-right pointer\"\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"edit\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{personal.invoiceAddress &&\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{personal.invoiceAddress && \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{!sessionStorage.getItem(\r\n\t\t\t\t\t\t\t\t\tCookieType.DepositCustomer,\r\n\t\t\t\t\t\t\t\t) &&\r\n\t\t\t\t\t\t\t\t\tappConfig.country !== 'lt' && (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetMarketingExpanded(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t!marketingExpanded,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mt-5 pointer\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('MarketingHeading')}{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{personal.customerFlags !==\r\n\t\t\t\t\t\t\t\t\t\t\t\tnull && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{personal\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.customerFlags\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.noAdvertisement ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'SubscribeText',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'UnsubscribeText',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{personal\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.customerFlags\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.noAdvertisement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'SubscribeBtn',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'UnsubscribeBtn',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showMessage &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(personal\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.customerFlags\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.noAdvertisement ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'ResponseTextUnsubscribe',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'ResponseTextSubscribe',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tallowOverflowWhenOpen={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SignOut')}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{isShown && (\r\n\t\t\t\t\t\t\t setIsShown(!isShown)}\r\n\t\t\t\t\t\t\t\thandleClose={handleClose}\r\n\t\t\t\t\t\t\t\tuser={personal}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default UserPage","import React from 'react'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport './termsAndConditionsBlock.scss'\r\nimport appConfig from 'app.config'\r\nimport { customerDataApiService, logError, nameof } from 'shared'\r\n\r\nexport async function saveAcceptedToC() {\r\n\tif (!['ee', 'lv', 'lt'].includes(appConfig.country)) {\r\n\t\treturn\r\n\t}\r\n\r\n\ttry {\r\n\t\tawait customerDataApiService.addTermsAndConditionAccepted()\r\n\t} catch (error: any) {\r\n\t\tlogError(error)\r\n\t}\r\n}\r\n\r\nexport interface ITermsAndCondition {\r\n\tclassName?: string\r\n}\r\n\r\nconst TermsAndConditionBlock = ({ className }: ITermsAndCondition) => {\r\n\tconst { t, i18n } = useTranslation()\r\n\r\n\tconst redirect = () => {\r\n\t\tswitch (appConfig.country) {\r\n\t\t\tcase 'ee':\r\n\t\t\t\tif (i18n.language === nameof('ru-EE', appConfig.languages))\r\n\t\t\t\t\treturn 'https://tfbank.ee/ru/dokumendid'\r\n\t\t\t\telse return 'https://tfbank.ee/dokumendid'\r\n\t\t\tcase 'lt':\r\n\t\t\t\treturn 'https://tfbank.lt/bendrosios-elektroniniu-paslaugu-teikimo-salygos'\r\n\t\t\tcase 'lv':\r\n\t\t\t\treturn 'https://tfbank.lv/portala-lietosanas-noteikumi'\r\n\t\t\tdefault:\r\n\t\t\t\treturn '#'\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tterms and conditions\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t,\r\n\t\t\t\t]}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default TermsAndConditionBlock\r\n","import React from 'react'\r\nimport { getClientSettings } from 'auth/services/auth.service'\r\nimport { UserManager } from 'oidc-client'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport { CircleSpinner, logError, CookieType } from 'shared/index'\r\nimport { saveAcceptedToC } from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nfunction CallbackPage() {\r\n\tconst [error, setError] = React.useState()\r\n\tconst { t } = useTranslation()\r\n\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\tsignin()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tasync function signin() {\r\n\t\tconst userManager = new UserManager(getClientSettings('query'))\r\n\r\n\t\ttry {\r\n\t\t\tif (window.location.search.indexOf('code') === -1) {\r\n\t\t\t\tuserManager.signinRedirect()\r\n\t\t\t\treturn\r\n\t\t\t} else if (window.location.search.indexOf('code') > -1) {\r\n\t\t\t\tawait userManager.signinCallback()\r\n\t\t\t\tawait saveAcceptedToC()\r\n\r\n\t\t\t\tlet value =\r\n\t\t\t\t\tsessionStorage.getItem(CookieType.RedirectUrl) ?? '/home'\r\n\t\t\t\twindow.location.replace(value)\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tsetError(error)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{error ? (\r\n\t\t\t\t setError(undefined)}>\r\n\t\t\t\t\t{(error.message.indexOf(\"iat is in the future\") !== -1 || error.message.indexOf(\"exp is in the past\") !== -1) ? t('TimeSyncError') : error.message }\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default CallbackPage\r\n\r\n","import Axios from 'axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { apiRoutes } from 'shared/constants/routes'\r\nimport { ISupportData } from 'original/interfaces/i-api-support'\r\n\r\nconst supportService = {\r\n\tasync sendEmail(email: ISupportData) {\r\n\t\tconst { data } = await Axios.post(\r\n\t\t\tapiRoutes.sendEmail,\r\n\t\t\temail,\r\n\t\t\tawait getHeadersWithJwtToken()\r\n\t\t)\r\n\t\treturn data\r\n\t},\r\n}\r\nexport default supportService","import {\r\n\tparsePhoneNumberFromString,\r\n\tPhoneNumber,\r\n\tCountryCode,\r\n} from 'libphonenumber-js'\r\n\r\nexport const validatePhoneNumber = (\r\n\tvalue: string,\r\n\tcountryCode: CountryCode,\r\n\tvalidCountries: string[] | undefined\r\n) => {\r\n\tif(!validCountries) validCountries = new Array(countryCode)\r\n\tlet phone: PhoneNumber | undefined\r\n\tlet isValid = true\r\n\r\n\tif (countryCode) {\r\n\t\tphone = parsePhoneNumberFromString(value, countryCode)\r\n\t\tisValid = phone\r\n\t\t\t? phone.isPossible() && phone.country?.toLowerCase() === countryCode?.toLowerCase()\r\n\t\t\t: false\r\n\r\n\t\tif (isValid) return isValid\r\n\t}\r\n\r\n\tphone = parsePhoneNumberFromString(value)\r\n\tisValid = phone\r\n\t\t? phone.isPossible() && validCountries.includes(phone.country?.toLowerCase() ?? '')\r\n\t\t: false\r\n\r\n\treturn isValid\r\n}\r\n","import {\r\n\tIsEmail,\r\n\tIsNotEmpty,\r\n\t//ValidationArguments,\r\n\tLength,\r\n\tValidate,\r\n\tValidatorConstraintInterface,\r\n\tValidationArguments,\r\n\tValidatorConstraint,\r\n} from 'class-validator'\r\nimport { validatePhoneNumber } from './phoneValidator'\r\nimport appConfig from 'app.config'\r\nimport { CountryCode } from 'libphonenumber-js'\r\n//import appConfig from '../../app.config'\r\n//import { IsValidZip } from './customDecorators'\r\n\r\ninterface IValidationContactInfo {\r\n\treadonly email: string\r\n\treadonly cellPhone: string\r\n\t//readonly zip: string\r\n\t//readonly city: string\r\n\t//readonly street: string\r\n}\r\n\r\ninterface IValidationSupport {\r\n\treadonly subject: string\r\n\treadonly body: string\r\n}\r\n\r\ninterface IValidationRefin {\r\n\treadonly refinAmount: string\r\n}\r\n\r\nconst isBalticCountry = ['fi', 'ee', 'lt'].includes(appConfig.country)\r\n\r\n@ValidatorConstraint({ name: 'customPhone', async: false })\r\nexport class CustomPhoneValidation implements ValidatorConstraintInterface {\r\n\tvalidate(mobileNumber: string, args: ValidationArguments) {\r\n\t\tconsole.log('validating')\r\n\t\treturn validatePhoneNumber(\r\n\t\t\tmobileNumber,\r\n\t\t\tappConfig.country.toUpperCase() as CountryCode,\r\n\t\t\tisBalticCountry ? ['fi', 'ee', 'lt', 'lv'] : new Array(appConfig.country.toUpperCase() as CountryCode)\r\n\t\t)\r\n\t}\r\n \r\n\tdefaultMessage(args: ValidationArguments) {\r\n\t return 'InvalidPhone';\r\n\t}\r\n }\r\n\r\nexport class ValidationContactInfo implements IValidationContactInfo {\r\n\t//------------EMAIL-------------\r\n\t@IsNotEmpty({\r\n\t\tmessage: 'ValidateEmailRequired',\r\n\t})\r\n\t@IsEmail(undefined, {\r\n\t\tmessage: 'ValidateEmailInvalid',\r\n\t})\r\n\tpublic readonly email: string\r\n\r\n\t//------------CELLPHONE-------------\r\n\t//@IsMobilePhone(Locale[appConfig.country as keyof typeof Locale])\r\n\t@IsNotEmpty()\r\n\t@Validate(CustomPhoneValidation, {\r\n\t\tmessage: 'InvalidPhone',\r\n\t})\r\n\tpublic readonly cellPhone: string\r\n\r\n\t//------------ZIP-------------\r\n\t/*\r\n\t@IsValidZip(appConfig.country, {\r\n\t\tmessage: (args: ValidationArguments) => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'fi':\r\n\t\t\t\tcase 'se':\r\n\t\t\t\tcase 'de':\r\n\t\t\t\tcase 'ee':\r\n\t\t\t\tcase 'pl':\r\n\t\t\t\t\treturn 'ValidateZip5Digits'\r\n\t\t\t\tcase 'no':\r\n\t\t\t\t\treturn 'ValidateZip4Digits'\r\n\t\t\t\tcase 'lv':\r\n\t\t\t\t\treturn 'Must be in form of LT-xxxx'\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn 'Invalid country'\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n\t@Matches(/^[A-Z0-9 _ -]*$/)\r\n\t@IsNotEmpty()\r\n\t*/\r\n\t//public readonly zip: string\r\n\r\n\t//------------CITY-------------\r\n\t/*\r\n\t@Matches(/^[a-zA-Z _ -]*$/)\r\n\t@IsNotEmpty({\r\n\t\tmessage: 'ValidateCityShort'\r\n\t})\r\n\t*/\r\n\t//public readonly city: string\r\n\r\n\t//------------ADDRESS-------------\r\n\t/*\r\n\t@Matches(/^[a-zA-Z0-9 / - _]*$/, {\r\n\t\tmessage: 'ValidateAddress'\r\n\t})\r\n\t*/\r\n\t//public readonly street: string\r\n\r\n\tconstructor(\r\n\t\tcustom: IValidationContactInfo = {\r\n\t\t\temail: '',\r\n\t\t\tcellPhone: '',\r\n\t\t\t//\tzip: '',\r\n\t\t\t//\tcity: '',\r\n\t\t\t//\tstreet: '',\r\n\t\t}\r\n\t) {\r\n\t\tthis.email = custom.email\r\n\t\tthis.cellPhone = custom.cellPhone\r\n\t\t//this.zip = custom.zip\r\n\t\t//this.city = custom.city\r\n\t\t//this.street = custom.street\r\n\t}\r\n}\r\n\r\nexport class ValidationSupport implements IValidationSupport {\r\n\t//------------SUBJECT-------------\r\n\t@IsNotEmpty({\r\n\t\tmessage: 'ValidateRequired',\r\n\t})\r\n\t@Length(1, 50, {\r\n\t\tmessage: 'ValidateSubjectLength',\r\n\t})\r\n\tpublic readonly subject: string\r\n\t//------------BODY-------------\r\n\t@IsNotEmpty({\r\n\t\tmessage: 'ValidateRequired',\r\n\t})\r\n\t@Length(5, 1000, {\r\n\t\tmessage: 'ValidateBodyLength',\r\n\t})\r\n\tpublic readonly body: string\r\n\r\n\tconstructor(\r\n\t\tcustom: IValidationSupport = {\r\n\t\t\tsubject: '',\r\n\t\t\tbody: '',\r\n\t\t}\r\n\t) {\r\n\t\tthis.subject = custom.subject\r\n\t\tthis.body = custom.body\r\n\t}\r\n}\r\n\r\nexport class ValidationRefin implements IValidationRefin {\r\n\t@IsNotEmpty({\r\n\t\tmessage: 'ValidateRequired',\r\n\t})\r\n\tpublic readonly refinAmount: string\r\n\r\n\tconstructor(\r\n\t\tcustom: IValidationRefin = {\r\n\t\t\trefinAmount: '',\r\n\t\t}\r\n\t) {\r\n\t\tthis.refinAmount = custom.refinAmount\r\n\t}\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport { validateOrReject, ValidationError } from 'class-validator'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nconst useForm = (callback: any, initialValue: any, validator: any) => {\r\n\ttype Type = typeof initialValue\r\n\tconst { t } = useTranslation()\r\n\tconst [values, setValues] = useState(Object.assign({}, initialValue))\r\n\tconst [errors, setErrors] = useState(flattenObj(values))\r\n\tconst [isSubmitting, setIsSubmitting] = useState(false)\r\n\r\n\tconst handleChange = (e: any) => {\r\n\t\tconst { name, value } = e.target\r\n\t\tconst objName = name.split('.')[0]\r\n\r\n\t\tsetValues((prev: Type) => {\r\n\t\t\tlet obj = Object.assign(values, {\r\n\t\t\t\t[objName]: {\r\n\t\t\t\t\t...prev[objName],\r\n\t\t\t\t\t[name.split('.')[1]]: value,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\treturn obj\r\n\t\t})\r\n\t}\r\n\r\n\tconst updateValues = (newValues: Partial) => {\r\n\t\tsetValues((prev: Type) => ({\r\n\t\t\t...prev,\r\n\t\t\t...newValues,\r\n\t\t}))\r\n\t}\r\n\r\n\tconst handleSubmit = async (e: any) => {\r\n\t\te.preventDefault()\r\n\r\n\t\tvalidator = validator(flattenObj(values, true))\r\n\r\n\t\ttry {\r\n\t\t\tsetIsSubmitting(true)\r\n\t\t\tawait validateOrReject(validator)\r\n\t\t\tawait parseErrors()\r\n\t\t} catch (error: any) {\r\n\t\t\tsetIsSubmitting(false)\r\n\t\t\tawait parseErrors(error)\r\n\t\t}\r\n\t}\r\n\r\n\tconst parseErrors = (validationErrors?: ValidationError[]) => {\r\n\t\tconsole.log(validationErrors)\r\n\t\tlet tempErrors = flattenObj(errors)\r\n\t\tif (validationErrors) {\r\n\t\t\tvalidationErrors.forEach((obj) => {\r\n\t\t\t\tif (obj.constraints) {\r\n\t\t\t\t\tlet keys = Object.keys(obj.constraints)\r\n\t\t\t\t\ttempErrors[obj.property] = t(obj.constraints[keys[0]])\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tsetErrors(tempErrors)\r\n\t}\r\n\r\n\tfunction flattenObj(\r\n\t\tobjectToBeFlattened: Type,\r\n\t\twithValues: Boolean = false,\r\n\t) {\r\n\t\t//Magic magic..\r\n\t\treturn Object.assign(\r\n\t\t\t{},\r\n\t\t\t...(function _flatten(obj): any {\r\n\t\t\t\treturn [].concat(\r\n\t\t\t\t\t...Object.keys(obj).map((key) =>\r\n\t\t\t\t\t\ttypeof obj[key] === 'object' && obj[key] !== null\r\n\t\t\t\t\t\t\t? _flatten(obj[key])\r\n\t\t\t\t\t\t\t: withValues\r\n\t\t\t\t\t\t\t ? { [key]: obj[key] }\r\n\t\t\t\t\t\t\t : { [key]: '' },\r\n\t\t\t\t\t),\r\n\t\t\t\t)\r\n\t\t\t})(objectToBeFlattened),\r\n\t\t)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (\r\n\t\t\tObject.values(errors).find((element) => element !== '') ===\r\n\t\t\t\tundefined &&\r\n\t\t\tisSubmitting\r\n\t\t) {\r\n\t\t\tcallback(values)\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [errors])\r\n\r\n\treturn {\r\n\t\thandleChange,\r\n\t\thandleSubmit,\r\n\t\tvalues,\r\n\t\terrors,\r\n\t\tupdateValues,\r\n\t}\r\n}\r\n\r\nexport default useForm\r\n","import React, { useContext, useState } from 'react'\r\nimport { Alert, Container, Form } from 'react-bootstrap'\r\nimport TagManager from 'react-gtm-module'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { BoxInfo } from 'shared/index'\r\nimport { checkIsMobile, getCustomerInfoCookieName } from 'shared/utils/helpers'\r\nimport { ISupport } from '../../interfaces/i-api-support'\r\nimport useStateWithSessionStorage from '../../../shared/hooks/useStateWithSessionStorage'\r\nimport { CookieType } from '../../../shared/constants/cookieTypes'\r\nimport { ICustomer } from '../../interfaces/i-api-loan'\r\nimport supportService from '../../services/supportService'\r\nimport { ValidationSupport } from '../../utils/validations/validationDecorators'\r\nimport useForm from '../../hooks/useForm'\r\nimport appConfig from 'app.config'\r\nimport MyPagesContext from 'original/contexts/MyPagesContext'\r\n\r\nfunction SupportPage() {\r\n\tconst { t } = useTranslation()\r\n\tconst { staticCountryValues, productType } = useContext(MyPagesContext)\r\n\tconst isMobile = checkIsMobile()\r\n\tconst [hideContactForm, setHideContactForm] = useState(false)\r\n\r\n\tconst [value] = useStateWithSessionStorage(getCustomerInfoCookieName())\r\n\tconst [personal] = useState(JSON.parse(value.toString()))\r\n\r\n\tconst [values, setValues] = useState({\r\n\t\tdata: {\r\n\t\t\tsubject: '',\r\n\t\t\temailFrom: personal.contacts.email,\r\n\t\t\tbody: '',\r\n\t\t\tcountryCode: appConfig.country,\r\n\t\t},\r\n\t})\r\n\r\n\tconst { handleChange, handleSubmit, errors }: any = useForm(\r\n\t\tsubmit,\r\n\t\tvalues,\r\n\t\tsetValidator,\r\n\t)\r\n\r\n\tconst tagManagerArgs = {\r\n\t\tdataLayer: {\r\n\t\t\tuserId: '001',\r\n\t\t\tuserProject: 'project',\r\n\t\t\tpage: '/support',\r\n\t\t}\r\n\t}\r\n\r\n\tReact.useEffect(() => {\r\n\t\tTagManager.dataLayer(tagManagerArgs)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [])\r\n\r\n\tfunction setValidator(obj: any) {\r\n\t\treturn new ValidationSupport(obj)\r\n\t}\r\n\r\n\tconst ResponseMessage = (isSuccess: boolean) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{isSuccess ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

{t('ThankYouText')}

\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{t('EmailNotSent')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst [responseMessage, setResponseMessage] = useState(<>)\r\n\tconst [disabled, setDisabled] = useState(false)\r\n\r\n\tasync function submit(values: ISupport) {\r\n\t\ttry {\r\n\t\t\tawait supportService.sendEmail(values.data)\r\n\t\t\tsetResponseMessage(ResponseMessage(true))\r\n\t\t\tsetHideContactForm(true)\r\n\t\t\tsetValues({\r\n\t\t\t\t...values,\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tsubject: '',\r\n\t\t\t\t\temailFrom: personal.contacts.email,\r\n\t\t\t\t\tbody: '',\r\n\t\t\t\t\tcountryCode: appConfig.country,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\tsetDisabled(true)\r\n\t\t} catch (error) {\r\n\t\t\tsetResponseMessage(ResponseMessage(false))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

{t('ContactUs')}

\r\n\t\t\t\t\t\t

{t('ContactText')}

\r\n\t\t\t\t\t\t{staticCountryValues?.productSpecific.map(\r\n\t\t\t\t\t\t\t(value, key) => {\r\n\t\t\t\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{appConfig.country === 'lv' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'CustomerSupport',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('Phone')}: \r\n\t\t\t\t\t\t\t\t\t\t\t\t{value.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2 !==\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tundefined &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tappConfig.country === 'fi' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`(${t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'RegularDepositAccount',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}) `}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2 +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`(${t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'RegularLoan',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)})`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('Email')}: \r\n\t\t\t\t\t\t\t\t\t\t\t\t{value.contactInformation.email}\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t{value.contactInformation.email2 !==\r\n\t\t\t\t\t\t\t\t\t\t\t\tundefined &&\r\n\t\t\t\t\t\t\t\t\t\t\tappConfig.country === 'lv' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'DepartmentOfDelayedPayments',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('Phone')}: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('Email')}: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.email2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t} else return null\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{responseMessage}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!hideContactForm && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

{t('ContactForm')}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{errors && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{errors && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t('Send')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nexport default SupportPage\r\n","import * as React from 'react'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport queryString from 'query-string'\r\n\r\nfunction ErrorPage() {\r\n\tconst { t } = useTranslation()\r\n\tconst errorObject = queryString.parse(window.location.search)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t('Authentication error')}\r\n\t\t\t\t
\r\n\t\t\t\t{errorObject.errorMessage}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default ErrorPage","import React from 'react'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport { userManager } from 'auth/services/auth.service'\r\nimport { CircleSpinner } from '../../../shared/components/Spinners'\r\nimport { checkIsMobile } from 'shared/utils/helpers'\r\n\r\nfunction LogoutPage() {\r\n\tconst [error, setError] = React.useState()\r\n\r\n\tasync function logout() {\r\n\t\tconst user = await userManager.getUser()\r\n\r\n\t\tif (Boolean(user)) {\r\n\t\t\tuserManager.signoutRedirect({\r\n\t\t\t\tid_token_hint: sessionStorage.getItem('id_token'),\r\n\t\t\t})\r\n\t\t\tawait userManager.clearStaleState()\r\n\t\t}\r\n\t}\r\n\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\tlogout()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[]\r\n\t)\r\n\r\n\tconst classNames = [\r\n\t\t'spinner-container',\r\n\t\t'd-flex',\r\n\t\t'justify-content-center',\r\n\t\t'align-items-center',\r\n\t]\r\n\tclassNames.push(checkIsMobile() ? '' : 'logout')\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{error ? (\r\n\t\t\t\t setError(undefined)}>\r\n\t\t\t\t\t{error.message}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default LogoutPage","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTfbank21LogoSymbolWhite(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(216.63 -7.07)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-216.63 7.07)\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.367,29.065a12,12,0,1,1,12-12A12.012,12.012,0,0,1,22.367,29.065Zm0-23.43A11.438,11.438,0,1,0,33.805,17.073,11.45,11.45,0,0,0,22.367,5.635Z\",\n transform: \"translate(-10.37 -5.07)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.89,23.981a9.092,9.092,0,0,0-1.031-.84,8.246,8.246,0,0,0-1.171-.625,8.3,8.3,0,0,0,1.209-.663,6.572,6.572,0,0,0,1.042-.867,4.394,4.394,0,0,0,.886-1.282v5.533A4.717,4.717,0,0,0,30.89,23.981Zm-7.23-8.291H18.9v5.037A7.179,7.179,0,0,1,23.659,15.69Zm10.292,5.037V15.69H29.192A7.19,7.19,0,0,1,33.951,20.727ZM28.064,15.69H24.621V30.306h3.443Z\",\n transform: \"translate(-14.304 -9.995)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTfbank21LogoSymbolWhite);\nexport default __webpack_public_path__ + \"static/media/tfbank21-logo-symbol-white.09b8947dc04f9234e2f3ebdf3211be66.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgUser(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 37.38,\n height: 36.208,\n viewBox: \"0 0 37.38 36.208\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_258\",\n \"data-name\": \"Group 258\",\n transform: \"translate(-207.974 -2576)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ellipse_6\",\n \"data-name\": \"Ellipse 6\",\n transform: \"translate(219 2576)\",\n fill: \"#fff\",\n stroke: \"#fff\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 7,\n fill: \"none\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Path_146\",\n \"data-name\": \"Path 146\",\n transform: \"translate(204.763 2592.89)\",\n fill: \"#fff\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 22.22612953186035 18.3184814453125 C 19.42811012268066 18.3184814453125 16.74037933349609 17.76043128967285 14.23760986328125 16.65983200073242 C 12.22602939605713 15.77523231506348 10.32433986663818 14.53871154785156 8.585350036621094 12.98462200164795 C 6.514249324798584 11.13372421264648 5.162985324859619 9.260382652282715 4.523376941680908 8.275116920471191 C 5.2220778465271 7.762428283691406 6.502225875854492 6.925048351287842 8.372159957885742 6.094662189483643 C 11.12957954406738 4.870172023773193 15.77143001556396 3.410521984100342 22.22612953186035 3.410521984100342 C 32.37971115112305 3.410521984100342 37.71331024169922 6.95766019821167 39.33095932006836 8.262248992919922 C 38.76353073120117 9.22881031036377 37.51493072509766 11.12920188903809 35.52206039428711 13.00590229034424 C 33.8790283203125 14.55316162109375 32.05569839477539 15.78426170349121 30.10269927978516 16.66500282287598 C 27.6697998046875 17.76217269897461 25.01973915100098 18.3184814453125 22.22612953186035 18.3184814453125 Z\",\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 22.22612953186035 4.4105224609375 C 16.00322914123535 4.4105224609375 11.53203964233398 5.799612045288086 8.876968383789062 6.964912414550781 C 7.608329772949219 7.521716117858887 6.621540069580078 8.082005500793457 5.914016723632812 8.535100936889648 C 6.632694244384766 9.530667304992676 7.762294769287109 10.91641998291016 9.304347991943359 12.28588199615479 C 10.96181869506836 13.75785255432129 12.77025032043457 14.92726135253906 14.67939949035645 15.76163196563721 C 17.04314041137695 16.79468154907227 19.58222007751465 17.3184814453125 22.22612953186035 17.3184814453125 C 24.86133003234863 17.3184814453125 27.35931015014648 16.7981014251709 29.65069007873535 15.77180194854736 C 31.4965705871582 14.94503211975098 33.22335815429688 13.78637218475342 34.78311157226562 12.32798194885254 C 36.28086090087891 10.92756843566895 37.34291458129883 9.509129524230957 37.99580764770508 8.515332221984863 C 37.38462066650391 8.090851783752441 36.52577209472656 7.563534736633301 35.40798187255859 7.034121513366699 C 32.88093948364258 5.837242126464844 28.54269981384277 4.4105224609375 22.22612953186035 4.4105224609375 M 22.22612953186035 2.4105224609375 C 35.17356109619141 2.4105224609375 40.5914306640625 8.042681694030762 40.5914306640625 8.042681694030762 C 40.5914306640625 8.042681694030762 35.17356109619141 19.3184814453125 22.22612953186035 19.3184814453125 C 9.278690338134766 19.3184814453125 3.21160888671875 8.042681694030762 3.21160888671875 8.042681694030762 C 3.21160888671875 8.042681694030762 9.278690338134766 2.4105224609375 22.22612953186035 2.4105224609375 Z\",\n stroke: \"none\",\n fill: \"#fff\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUser);\nexport default __webpack_public_path__ + \"static/media/user.c985c4c4f68156744c4d53fdb3480c4b.svg\";\nexport { ForwardRef as ReactComponent };","import { appRoutes } from '../../constants/routes/Routes'\r\nimport userImg from '../../../../src/img/icons/user.svg'\r\n\r\nexport const menuItems: IMenuItems[] = [\r\n\t{\r\n\t\tfaIcon: 'home' as any,\r\n\t\troute: appRoutes.homePage,\r\n\t\ttext: 'Home',\r\n\t}, \r\n\t{\r\n\t\tfaIcon: 'comments' as any,\r\n\t\troute: appRoutes.supportPage,\r\n\t\ttext: 'CustomerSupport',\r\n\t},\r\n\t{\r\n\t\timgPath: userImg,\r\n\t\troute: appRoutes.userPage,\r\n\t\ttext: 'MyAccount',\r\n\t},\r\n\t{\r\n\t\tfaIcon: 'sign-out-alt' as any,\r\n\t\troute: appRoutes.logout,\r\n\t\ttext: 'SignOut',\r\n\t},\r\n]\r\n\r\nexport const menuItemsMobile: IMenuItems[] = [\r\n\t{\r\n\t\tfaIcon: 'home' as any,\r\n\t\troute: appRoutes.homePage,\r\n\t\ttext: 'Home',\r\n\t},\r\n\t{\r\n\t\tfaIcon: 'hand-holding-usd' as any,\r\n\t\troute: appRoutes.homePage,\r\n\t\ttext: 'Loan',\r\n\t},\r\n\t{\r\n\t\timgPath: userImg,\r\n\t\troute: appRoutes.userPage,\r\n\t\ttext: 'MyAccount',\r\n\t},\r\n\t{\r\n\t\tfaIcon: 'comments' as any,\r\n\t\troute: appRoutes.supportPage,\r\n\t\ttext: 'Support', \r\n\t},\r\n]\r\n\r\nexport interface IMenuItems {\r\n\tfaIcon?: any \r\n\timgPath?: string\r\n\troute: string\r\n\ttext: string\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Link } from 'react-router-dom'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport tfbank21_logo_white from 'img/tf-logos/tfbank21-logo-white.svg'\r\nimport tfbank21_logo_symbol_white from 'img/tf-logos/tfbank21-logo-symbol-white.svg'\r\nimport { AuthContext } from 'shared/index'\r\nimport { menuItems } from '../../constants/menuItems/menuItems'\r\nimport { ILinks } from 'shared/constants/countryValueTypes'\r\nimport MyPagesContext from 'original/contexts/MyPagesContext'\r\nimport './Footer.scss'\r\n\r\nexport default function Footer() {\r\n\tconst { t, i18n } = useTranslation()\r\n\tconst [isApplicationPage, setIsApplicationPage] = useState(false)\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\tconst { staticCountryValues, productType } = useContext(MyPagesContext)\r\n\r\n\tconst urlSearch = window.location.search.toLowerCase()\r\n\tconst urlPath = window.location.pathname.toLowerCase()\r\n\tconst [links, setLinks] = useState()\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (\r\n\t\t\t\turlSearch.includes('application') ||\r\n\t\t\t\turlPath.includes('application')\r\n\t\t\t) {\r\n\t\t\t\tsetIsApplicationPage(true)\r\n\t\t\t} else {\r\n\t\t\t\tsetIsApplicationPage(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[], //eslint-disable-line\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (staticCountryValues) {\r\n\t\t\tsetLinks(staticCountryValues.links())\r\n\t\t}\r\n\t}, [staticCountryValues, i18n.language])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{isAuthenticated && staticCountryValues !== undefined && (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\"TF\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{Object.entries(\r\n\t\t\t\t\t\t\t\t\tstaticCountryValues.address,\r\n\t\t\t\t\t\t\t\t).map(([key, value]) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t(value)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{!isApplicationPage ? (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('GeneralInformation')}\r\n\t\t\t\t\t\t\t\t\t{menuItems.map((link, i) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(link.text)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTF Bank\r\n\t\t\t\t\t\t\t\t{links?.about !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('AboutUs')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.forms !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('Forms')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.financialDifficulties !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('FinancialDifficulties')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.consumerLoan !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('ConsumerLoan')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.cashLoan !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('Cash')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.carLoan !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('CarLoan')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.renovationLoan !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('RenovationLoan')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{links?.refinance !== undefined && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('Refinance')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{staticCountryValues.productSpecific.map(\r\n\t\t\t\t\t\t\t\t(value, key) => {\r\n\t\t\t\t\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('CustomerSupport')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{staticCountryValues.country ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t'fi' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`(${t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'RegularDepositAccount',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)})`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2 +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`(${t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'RegularLoan',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)})`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.email\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{staticCountryValues.country ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t'lv' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'DepartmentOfDelayedPayments',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.email2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t} else return null\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t© {new Date().getFullYear()}{' '}\r\n\t\t\t\t\t\t\t\t\t{staticCountryValues.copyRight}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function FooterLoggedOut() {\r\n\tconst { staticCountryValues, productType } = useContext(MyPagesContext)\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`© ${new Date().getFullYear()} ${\r\n\t\t\t\t\t\t\t\tstaticCountryValues === undefined\r\n\t\t\t\t\t\t\t\t\t? 'TF Bank AB'\r\n\t\t\t\t\t\t\t\t\t: staticCountryValues?.copyRight\r\n\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{staticCountryValues?.productSpecific.map(\r\n\t\t\t\t\t\t\t\t(value, key) => {\r\n\t\t\t\t\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{staticCountryValues.country ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t'fi' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`, (${t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'RegularDepositAccount',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}),`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2 +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`, (${t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'RegularLoan',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}),`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{','}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{staticCountryValues.country ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t'lv' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.contactInformation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.phoneNumber2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{','}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t} else return null\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{staticCountryValues !== undefined &&\r\n\t\t\t\t\t\t\t\tObject.entries(\r\n\t\t\t\t\t\t\t\t\tstaticCountryValues?.address,\r\n\t\t\t\t\t\t\t\t).map(([key, value]) => {\r\n\t\t\t\t\t\t\t\t\tswitch (key) {\r\n\t\t\t\t\t\t\t\t\t\tcase 'zipCodeAndCity':\r\n\t\t\t\t\t\t\t\t\t\t\treturn value\r\n\t\t\t\t\t\t\t\t\t\tcase 'postalAddress':\r\n\t\t\t\t\t\t\t\t\t\t\treturn ''\r\n\t\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\t\treturn value + ', '\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useEffect } from 'react'\r\nimport { Container, Image } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport appConfig from 'app.config'\r\nimport { UserManager } from 'oidc-client'\r\nimport tfbank21_logo_white from 'img/tf-logos/tfbank21-logo-white.svg'\r\nimport { appRoutes } from '../../constants/routes/Routes'\r\nimport { getClientSettings } from 'auth/services/auth.service'\r\nimport { setFullMobileViewHeight } from 'original/utils/helpers'\r\nimport { useNavigate } from 'react-router'\r\nimport { FooterLoggedOut } from 'original/components/Footer/Footer'\r\n\r\nfunction LogoutCallbackPage() {\r\n\tsetFullMobileViewHeight()\r\n\r\n\tconst { t } = useTranslation()\r\n\tconst logo = tfbank21_logo_white\r\n\tconst navigate = useNavigate()\r\n\r\n\tuseEffect(() => {\r\n\t\tlogout()\r\n\t}, [])\r\n\r\n\tfunction logout() {\r\n\t\tconst userManager = new UserManager(getClientSettings())\r\n\r\n\t\tuserManager.signoutRedirectCallback().then(() => {\r\n\t\t\tsessionStorage.clear()\r\n\t\t})\r\n\r\n\t\tuserManager.clearStaleState()\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

{t('LoggedOut')}

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tnavigate(\r\n\t\t\t\t\t\t\t\t\tappConfig.country === 'de'\r\n\t\t\t\t\t\t\t\t\t\t? appRoutes.cardApplicationPage\r\n\t\t\t\t\t\t\t\t\t\t: appRoutes.login\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t{t('Login')}{' '}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default LogoutCallbackPage","import React, { useState, useEffect } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { Button, Form, FormControl } from 'react-bootstrap'\r\nimport { AxiosError } from 'axios'\r\nimport { formatBirthDateWithDashes, getReturnUrl } from 'auth/utils/authHelpers'\r\nimport NumberFormat from 'react-number-format'\r\nimport { ErrorMessageLegacy, logError, ValidationError } from 'shared'\r\nimport { IGermanyOtpStartRequest } from 'auth/interfaces/i-otpid'\r\nimport appConfig from 'app.config'\r\n\r\ninterface IError {\r\n\tcustomerId: Error | undefined\r\n\tbirthDate: Error | undefined\r\n\terror: Error | undefined\r\n\totp: Error | undefined\r\n}\r\n\r\ninterface GermanyOtpProps {\r\n\tonError?(error: Error): void\r\n}\r\n\r\nconst loginLink = {\r\n\tde: 'https://tfbank.de/blog/kundennummer',\r\n\tat: 'https://tfbank.at/tf-bank-blog/kundennummer',\r\n}[appConfig.country]\r\n\r\nconst GermanyOtp = ({ onError = () => {} }: GermanyOtpProps) => {\r\n\tconst { t } = useTranslation()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [customerId, setCustomerId] = useState('')\r\n\tconst [birthDate, setBirthDate] = useState('')\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst [secret, setSecret] = useState('')\r\n\tconst [done, setDone] = useState(false)\r\n\r\n\tconst [error, setError] = useState({\r\n\t\tcustomerId: undefined,\r\n\t\tbirthDate: undefined,\r\n\t\terror: undefined,\r\n\t\totp: undefined,\r\n\t})\r\n\r\n\tconst loginStart = async (birthDate: string, customerId: string) => {\r\n\t\tlet err: IError = {\r\n\t\t\tcustomerId: undefined,\r\n\t\t\tbirthDate: undefined,\r\n\t\t\terror: undefined,\r\n\t\t\totp: undefined,\r\n\t\t}\r\n\t\tsetError(err)\r\n\r\n\t\tif (!/^\\d{8}$/.test(birthDate)) {\r\n\t\t\terr.birthDate = new Error(t('InvalidFormat'))\r\n\t\t}\r\n\r\n\t\tif (!/^\\d{7,10}$/.test(customerId)) {\r\n\t\t\terr.customerId = new Error(t('InvalidFormat'))\r\n\t\t}\r\n\t\tif (err.birthDate || err.customerId) {\r\n\t\t\tsetError(err)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst formattedBirthDate = formatBirthDateWithDashes(birthDate)\r\n\r\n\t\tsetLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst { secret: newSecret } =\r\n\t\t\t\tawait authenticationService.germanyOtpStart(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tbirthDate: formattedBirthDate,\r\n\t\t\t\t\t\tcustomerId: customerId!,\r\n\t\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t\t} as IGermanyOtpStartRequest,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\t\t\tsetSecret(newSecret)\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconst ex = e as AxiosError\r\n\t\t\tif (ex.message.includes('404')) {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t\tsetBirthDate('')\r\n\t\t\t}\r\n\t\t\tif (ex.response?.data?.message) {\r\n\t\t\t\tconst { message }: { message: string } = e.response.data\r\n\t\t\t\tif (message.toLowerCase().includes('birthdate')) {\r\n\t\t\t\t\terr.birthDate = new Error(t('BirthdateNoMatch'))\r\n\t\t\t\t\tsetError(err)\r\n\t\t\t\t} else if (message.toLowerCase().includes('customerid')) {\r\n\t\t\t\t\terr.customerId = new Error(message)\r\n\t\t\t\t\tsetError(err)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetLoading(false)\r\n\t}\r\n\r\n\tconst loginComplete = async () => {\r\n\t\tlet err: IError = {\r\n\t\t\tcustomerId: undefined,\r\n\t\t\tbirthDate: undefined,\r\n\t\t\terror: undefined,\r\n\t\t\totp: undefined,\r\n\t\t}\r\n\t\tsetError(err)\r\n\t\tif (!/^\\d{4,6}$/.test(otp)) {\r\n\t\t\terr.otp = new Error(t('OtpInvalid'))\r\n\t\t\tsetError(err)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tawait authenticationService\r\n\t\t\t\t.germanyOtpComplete(secret, otp, customerId, t)\r\n\t\t\t\t.then(({ redirectUrl, secret: newSecret }) =>\r\n\t\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\t\tredirectUrl || getReturnUrl(),\r\n\t\t\t\t\t\tnewSecret,\r\n\t\t\t\t\t),\r\n\t\t\t\t)\r\n\t\t\t\t.then(() => setDone(true))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tconst ex = e as AxiosError\r\n\t\t\tif (ex.message.includes('404')) {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t}\r\n\t\t\tif (ex.response?.data?.message) {\r\n\t\t\t\tconst { message }: { message: string } = e.response.data\r\n\t\t\t\tif (message.toLowerCase().includes('otp')) {\r\n\t\t\t\t\tsetError({\r\n\t\t\t\t\t\t...error,\r\n\t\t\t\t\t\totp: new Error(t('OtpInvalid')),\r\n\t\t\t\t\t})\r\n\t\t\t\t} else if (message.toLowerCase().includes('customerid')) {\r\n\t\t\t\t\tsetError({\r\n\t\t\t\t\t\t...error,\r\n\t\t\t\t\t\tcustomerId: new Error(message),\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetLoading(false)\r\n\t}\r\n\r\n\tuseEffect(() => {}, [error])\r\n\r\n\tif (loading) {\r\n\t\treturn
\r\n\t}\r\n\r\n\tconst formatBirthDate = (str: string) => str.split('.').reverse().join('')\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{!done && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{error.error && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{secret ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t setOtp(value)}\r\n\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!error.otp}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue={otp}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t\t\t\tdata-cy=\"otp\"\r\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(\r\n\t\t\t\t\t\t\t\t\t\t\t\te: React.KeyboardEvent,\r\n\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.key === 'Enter' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tloginComplete()\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{error.otp && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t setCustomerId(value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue={customerId}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t]}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tCustomer number not at hand?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tThen click{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\there\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{error.customerId && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue.formattedValue,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tformat=\"##.##.####\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t('Code2')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t// prettier-ignore\r\n\t\t\t\t\t\t\t\t\t\t\t\tmask={['T','T','M','M','J','J','J','J']}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tisNumericString={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdata-cy=\"birthDate\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te: React.KeyboardEvent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te.key === 'Enter' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloginStart(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformatBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbirthDate,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomerId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('BirthDateDescription')}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{error.birthDate && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tsecret\r\n\t\t\t\t\t\t\t\t\t\t\t\t? loginComplete()\r\n\t\t\t\t\t\t\t\t\t\t\t\t: loginStart(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformatBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbirthDate,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomerId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t{t('Proceed')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default GermanyOtp\r\n","import React, { useState } from 'react'\r\nimport AuthMethodType from '../../constants/authMethods'\r\nimport authenticationService from '../../services/authenticationService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CircleSpinner, logError } from 'shared'\r\ninterface NorwegianBankIdLoginBlockProps {\r\n\tonError?(error: Error): void\r\n\tauthMethodType: AuthMethodType\r\n\tauthBtnClassName: string\r\n}\r\nfunction NorwegianBankIdContentBlock({\r\n\tonError = () => {},\r\n\tauthMethodType,\r\n\tauthBtnClassName,\r\n}: NorwegianBankIdLoginBlockProps) {\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst btnClassName = 'btn authButton ' + authBtnClassName\r\n\r\n\tasync function norwegianBankIdAuth() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tconst redirectUrl =\r\n\t\t\t\tawait authenticationService.norwegianBankIdRedirectLinkGet(\r\n\t\t\t\t\tauthMethodType,\r\n\t\t\t\t)\r\n\t\t\twindow.location.href = redirectUrl\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tonError(error)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst { t } = useTranslation()\r\n\t// @ts-ignore\r\n\t// prettier-ignore\r\n\t// const buttonRounded = ()\r\n\tconst buttonRounded = (\r\n\t\t\r\n\t\t\t{t('Login')}\r\n\t\t\r\n\t)\r\n\treturn (\r\n\t\t\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t norwegianBankIdAuth()}\r\n\t\t\t\t\tclassName=\"login-container m-2 d-flex flex-column justify-content-between align-items-center pointer\">\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{buttonRounded}
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default NorwegianBankIdContentBlock\r\n","import React, { useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport {\r\n\tCircleSpinner,\r\n\tCookieType,\r\n\tCustomerForm,\r\n\tgetLanguageLocale,\r\n} from 'shared'\r\nimport { ValidationError } from 'shared'\r\nimport appConfig from 'app.config'\r\nimport { AxiosError } from 'axios'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport {\r\n\tIApplicationOtpStartRequest,\r\n\tIOtpCompleteRequest,\r\n} from 'auth/interfaces/i-otpid'\r\nimport {\r\n\taddLeadingZeroToDates,\r\n\tformatFromToIsoDate,\r\n} from 'shared/utils/dateAndTimeHelpers'\r\nimport { CountryA3 } from 'shared/constants/countryTypes'\r\nimport './spainOtpContentBlock.scss'\r\n\r\nconst OtpContentBlock = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [secret, setSecret] = useState('')\r\n\tconst [done, setDone] = useState(false)\r\n\tconst [market] = useState(appConfig.country)\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst formSchemaOtpStart = FormFactory(\r\n\t\tCustomerForm.OtpStartFormEs,\r\n\t\t{\r\n\t\t\tformName: 'start',\r\n\t\t\tblockName: 'start',\r\n\t\t\tmarket: market,\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\tsubmitButtonText: t('Proceed'),\r\n\t\t},\r\n\t\tundefined\r\n\t)\r\n\r\n\tconst formSchemaOtpComplete = FormFactory(\r\n\t\tCustomerForm.OtpCompleteForm,\r\n\t\t{\r\n\t\t\tformName: 'complete',\r\n\t\t\tblockName: 'complete',\r\n\t\t\tmarket: market,\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Proceed'),\r\n\t\t},\r\n\t\tundefined\r\n\t)\r\n\r\n\tconst loginStart = async (values: IApplicationOtpStartRequest) => {\r\n\t\tsetError(undefined)\r\n\t\tsetLoading(true)\r\n\t\t// Hax0r fix for humans that are humans as we all know them\r\n\t\tsessionStorage.setItem(\r\n\t\t\tCookieType.RedirectUrl,\r\n\t\t\t`/application?applicationid=${values.applicationId}`\r\n\t\t)\r\n\t\ttry {\r\n\t\t\tconst { secret } = await authenticationService.otpStart(\r\n\t\t\t\t{\r\n\t\t\t\t\tbirthDate: formatFromToIsoDate(\r\n\t\t\t\t\t\taddLeadingZeroToDates(values.birthDate),\r\n\t\t\t\t\t\t'dd/MM/yyyy'\r\n\t\t\t\t\t)!,\r\n\t\t\t\t\tssn: values.ssn.toUpperCase(), // PX only handle uppercase\r\n\t\t\t\t\tapplicationId: values.applicationId,\r\n\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t\tcountry: CountryA3.es,\r\n\t\t\t\t},\r\n\t\t\t\tt\r\n\t\t\t)\r\n\t\t\tsetSecret(secret)\r\n\t\t} catch (e) {\r\n\t\t\tconst E = e as AxiosError\r\n\t\t\tconst status = E.response?.status\r\n\t\t\tif (status === 400) setError(new Error(t('OtpBadRequestError')))\r\n\t\t\telse setError(new Error(t('OtpInternalServerError')))\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst loginComplete = async (formValues: IOtpCompleteRequest) => {\r\n\t\tsetError(undefined)\r\n\t\tsetLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst response = await authenticationService.otpComplete(\r\n\t\t\t\t{\r\n\t\t\t\t\tsecret,\r\n\t\t\t\t\totp: formValues.otp,\r\n\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t},\r\n\t\t\t\tt\r\n\t\t\t)\r\n\t\t\tsetDone(true)\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tresponse.redirectUrl || getReturnUrl(),\r\n\t\t\t\tresponse.secret\r\n\t\t\t)\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t\tconst E = e as AxiosError\r\n\t\t\tconst status = E.response?.status\r\n\t\t\tif (status === 410) setError(new Error(t('OtpGoneError')))\r\n\t\t\telse if (status === 400)\r\n\t\t\t\tsetError(new Error(t('OtpBadRequestError')))\r\n\t\t\telse setError(new Error(t('OtpInternalServerError')))\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t!done && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('LoginHeaderText')}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{error && }\r\n\t\t\t\t\t\t{secret ? (\r\n\t\t\t\t\t\t\t loginComplete(otp)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t loginStart(values)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default OtpContentBlock\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { getQueryParams } from 'shared/utils/helpers'\r\nimport appConfig from 'app.config'\r\nimport './idCardContentBlock.scss'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\nimport { AuthContext } from 'shared'\r\n\r\nfunction IdCardContentBlock() {\r\n\tconst { t } = useTranslation()\r\n\tconst { setLoadingAuth } = useContext(AuthContext)\r\n\r\n\tasync function tryIdCardAuth() {\r\n\t\tsetLoadingAuth(true)\r\n\t\tlet { ReturnUrl, SigningRequestId } = getQueryParams()\r\n\r\n\t\tconst action = encodeURIComponent(\r\n\t\t\t`${appConfig.authorityBaseUrl}/apiauth/idcard/${\r\n\t\t\t\tSigningRequestId || ''\r\n\t\t\t}`,\r\n\t\t)\r\n\r\n\t\tconst returnUrl = encodeURIComponent(\r\n\t\t\tReturnUrl ||\r\n\t\t\t\t`${window.location.protocol}//${window.location.hostname}/callback`,\r\n\t\t)\r\n\r\n\t\twindow.location.replace(\r\n\t\t\t`${appConfig.certificateRequesterBaseUrl}?returnUrl=${returnUrl}&action=${action}`,\r\n\t\t)\r\n\t\tsetLoadingAuth(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

{t('IdCardLine1')}

\r\n\t\t\t\t

\r\n\t\t\t\t\t{t('IdCardLine2')}{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('IdCardLine3')}.\r\n\t\t\t\t\t\r\n\t\t\t\t

\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default IdCardContentBlock\r\n","/**\r\n* Get the birthday of a person.\r\n* @param {string} code\r\n* @returns {Date}\r\n*/\r\nconst getBirthday = function (code: string): Date {\r\n var year = parseInt(code.substring(1, 3)),\r\n month = parseInt(code.substring(3, 5).replace(/^0/, '')) - 1,\r\n day = Number(code.substring(5, 7).replace(/^0/, '')),\r\n firstNumber = code.charAt(0);\r\n\r\n if (firstNumber === '1' || firstNumber === '2') {\r\n year += 1800;\r\n } else if (firstNumber === '3' || firstNumber === '4') {\r\n year += 1900;\r\n } else if (firstNumber === '5' || firstNumber === '6') {\r\n year += 2000;\r\n } else {\r\n year += 2100;\r\n }\r\n\r\n return new Date(year, month, day);\r\n};\r\n\r\n/**\r\n * Gets the control number of personal ID.\r\n * @param {string} code\r\n * @returns {number}\r\n */\r\nconst getControlNumber = function (code: string) {\r\n var multiplier1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1],\r\n multiplier2 = [3, 4, 5, 6, 7, 8, 9, 1, 2, 3],\r\n mod,\r\n total = 0;\r\n\r\n for (var i = 0; i < 10; i++) {\r\n total += Number(code.charAt(i)) * multiplier1[i];\r\n }\r\n mod = total % 11;\r\n\r\n total = 0;\r\n if (10 === mod) {\r\n for (i = 0; i < 10; i++) {\r\n total += Number(code.charAt(i)) * multiplier2[i];\r\n }\r\n mod = total % 11;\r\n if (10 === mod) {\r\n mod = 0;\r\n }\r\n }\r\n return mod;\r\n};\r\n\r\n/**\r\n * Validates the Estonian personal ID.\r\n * @param {string} code\r\n * @returns {boolean}\r\n */\r\nexport function validateEstonianSsn (code: string) {\r\n if (code.length !== 11) {\r\n return false;\r\n }\r\n var control = getControlNumber(code);\r\n if (control !== parseInt(code.charAt(10))) {\r\n return false;\r\n }\r\n\r\n var year = Number(code.substr(1, 2));\r\n var month = Number(code.substr(3, 2));\r\n var day = Number(code.substr(5, 2));\r\n var birthDate = getBirthday(code);\r\n return year === birthDate.getFullYear() % 100 && birthDate.getMonth() + 1 === month && day === birthDate.getDate();\r\n};\r\n\r\n/**\r\n * Gets the gender of a person\r\n * @param {string} code\r\n * @returns {string}\r\n */\r\nexport const getGender = function (code: string) {\r\n var firstNumber = code.charAt(0),\r\n retval = '';\r\n switch (firstNumber) {\r\n case '1':\r\n case '3':\r\n case '5':\r\n retval = 'male';\r\n break;\r\n case '2':\r\n case '4':\r\n case '6':\r\n retval = 'female';\r\n break;\r\n default:\r\n retval = 'unknown';\r\n }\r\n return retval;\r\n};\r\n\r\n/**\r\n * Get the age of a person in years.\r\n * @param {string} params\r\n * @returns {number}\r\n */\r\nexport const getAge = function (code: string) {\r\n return Math.floor((new Date().getTime() - getBirthday(code).getTime()) / (86400 * 1000) / 365.25);\r\n};\r\n\r\n/**\r\n * Validates the Estonian personal ID.\r\n * In params argument months are beginning from 1. 1 - January, 2 - February etc.\r\n * @access public\r\n * @param {object} params\r\n * @returns {string}\r\n */\r\nexport const generate = function (params: any) {\r\n\r\n params = params || {};\r\n\r\n var y, m, d,\r\n gender = params.gender || ((Math.round(Math.random()) === 0) ? 'male' : 'female'),\r\n personalId = '',\r\n\r\n // Places of brith (Estonian Hospitals)\r\n hospitals = [\r\n '00', // Kuressaare Haigla (järjekorranumbrid 001 kuni 020)\r\n '01', // Tartu Ülikooli Naistekliinik, Tartumaa, Tartu (011...019)\r\n '02', // Ida-Tallinna Keskhaigla, Hiiumaa, Keila, Rapla haigla (021...220)\r\n '22', // Ida-Viru Keskhaigla (Kohtla-Järve, endine Jõhvi) (221...270)\r\n '27', // Maarjamõisa Kliinikum (Tartu), Jõgeva Haigla (271...370)\r\n '37', // Narva Haigla (371...420)\r\n '42', // Pärnu Haigla (421...470)\r\n '47', // Pelgulinna Sünnitusmaja (Tallinn), Haapsalu haigla (471...490)\r\n '49', // Järvamaa Haigla (Paide) (491...520)\r\n '52', // Rakvere, Tapa haigla (521...570)\r\n '57', // Valga Haigla (571...600)\r\n '60', // Viljandi Haigla (601...650)\r\n '65', // Lõuna-Eesti Haigla (Võru), Pälva Haigla (651...710?)\r\n '70', // All other hospitals\r\n '95' // Foreigners who are born in Estonia\r\n ];\r\n\r\n if (!(gender === 'female' || gender === 'male')) {\r\n throw IsikukoodException('gender param accepts only \"male\" or \"female\" values.');\r\n }\r\n\r\n if (params.birthYear) {\r\n y = params.birthYear;\r\n } else {\r\n y = Math.round(Math.random() * 100 + 1900 + (new Date().getFullYear() - 2000));\r\n }\r\n\r\n if (params.birthMonth) {\r\n m = params.birthMonth;\r\n } else {\r\n m = Math.floor(Math.random() * 12) + 1;\r\n }\r\n\r\n if (params.birthDay) {\r\n d = params.birthDay;\r\n } else {\r\n var daysInMonth = new Date(y, m, 0).getDate();\r\n d = Math.floor(Math.random() * daysInMonth) + 1;\r\n }\r\n\r\n // Set the gender\r\n if (gender === 'male' && y >= 1800 && y <= 1899) {\r\n personalId += '1';\r\n } else if (gender === 'female' && y >= 1800 && y <= 1899) {\r\n personalId += '2';\r\n } else if (gender === 'male' && y >= 1900 && y <= 1999) {\r\n personalId += '3';\r\n } else if (gender === 'female' && y >= 1900 && y <= 1999) {\r\n personalId += '4';\r\n } else if (gender === 'male' && y >= 2000) {\r\n personalId += '5';\r\n } else if (gender === 'female' && y >= 2000) {\r\n personalId += '6';\r\n }\r\n\r\n // Set the year\r\n personalId += parseInt(y, 0).toString().substring(2, 4);\r\n\r\n // Set the month\r\n personalId += m.toString().length === 1 ? '0' + m : m;\r\n\r\n // Set the day\r\n personalId += d.toString().length === 1 ? '0' + d : d;\r\n\r\n // Set the hospital\r\n personalId += hospitals[Math.floor(Math.random() * hospitals.length)];\r\n\r\n // Set the number of birth\r\n personalId += Math.floor(Math.random() * 10);\r\n\r\n // Set the control number\r\n personalId += getControlNumber(personalId);\r\n\r\n return personalId;\r\n};\r\n\r\n/**\r\n * Isikukood exception.\r\n */\r\nfunction IsikukoodException(err: string) {\r\n throw new Error(err);\r\n}\r\n","import { validateEstonianSsn } from './estonia/estonian-ssn'\r\nimport { validateLithuanianSsn } from './lithuania/lithuanian-ssn'\r\nimport { validateSwedishSsn } from './sweden/sweden-ssn'\r\nimport { validateLatviaSsn } from './latvia/latvia-ssn'\r\nimport appConfig from '../../../app.config'\r\n\r\nexport function validateSsn(value: string) {\r\n\tlet isValid = true\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'ee':\r\n\t\t\tisValid = validateEstonianSsn(value)\r\n\t\t\treturn isValid\r\n\r\n\t\tcase 'lt':\r\n\t\t\tconst object = validateLithuanianSsn(value)\r\n\t\t\tisValid =\r\n\t\t\t\ttypeof object === 'object' ? object.isValid : Boolean(object)\r\n\t\t\treturn isValid\r\n\r\n\t\tcase 'se':\r\n\t\t\tisValid = validateSwedishSsn(value)\r\n\t\t\treturn isValid\r\n\r\n\t\tcase 'lv':\r\n\t\t\tconst obj = validateLatviaSsn(value)\r\n\t\t\tisValid =\r\n\t\t\t\ttypeof obj === 'object' ? obj.isValid : Boolean(obj)\r\n\t\t\treturn isValid\r\n\r\n\t\tdefault:\r\n\t\t\treturn isValid\r\n\t}\r\n}\r\n\r\n\r\nexport function formatSsn(newValue: string, previousValue: string) {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'lv':\r\n\t\t\tconst maxLength = 12;\r\n\r\n\t\t\t// Ignore changes when max length has been reached\r\n\t\t\tif (newValue.length > maxLength)\r\n\t\t\t\treturn previousValue;\r\n\r\n\t\t\t// Ignore format when format already been applied and user changes input\r\n\t\t\tif (newValue.includes('-') && newValue.length < maxLength)\r\n\t\t\t\treturn newValue;\r\n\t\t\t\t\r\n\t\t\tlet val = newValue.replace(/\\D/g, '');\r\n\t\t\tval = val.replace(/^(\\d{6})(\\d{1,2})/, '$1-$2');\r\n\t\t\tval = val.substring(0, 12);\r\n\r\n\t\t\treturn val;\r\n\r\n\t\tdefault:\r\n\t\t\treturn newValue;\r\n\t}\r\n}\r\n","// 46411231034 example\r\n\r\nexport function validateLithuanianSsn(idNumber: string) {\r\n\r\n if (!idNumber) {\r\n return false;\r\n }\r\n\r\n idNumber = idNumber.trim();\r\n if (idNumber.length !== 11) {\r\n return false;\r\n }\r\n\r\n let century;\r\n let gender = idNumber[0];\r\n\r\n switch (gender) {\r\n case \"1\":\r\n gender = \"Male\";\r\n century = 18;\r\n break;\r\n case \"2\":\r\n gender = \"Female\";\r\n century = 18;\r\n break;\r\n case \"3\":\r\n gender = \"Male\";\r\n century = 19;\r\n break;\r\n case \"4\":\r\n gender = \"Female\";\r\n century = 19;\r\n break;\r\n case \"5\":\r\n gender = \"Male\";\r\n century = 20;\r\n break;\r\n case \"6\":\r\n gender = \"Female\";\r\n century = 20;\r\n break;\r\n default:\r\n return false;\r\n }\r\n\r\n const dateOfBirth = new Date(Number(century + idNumber.substr(1, 2)), Number(idNumber.substr(3, 2)) - 1, Number(idNumber.substr(5, 2)));\r\n\r\n let b = 1;\r\n let c = 3;\r\n let d = 0;\r\n let e = 0;\r\n\r\n for (let i = 0; i < 10; i++) {\r\n let digit = parseInt(idNumber[i]);\r\n d += digit * b;\r\n e += digit * c;\r\n b++; if (b === 10) b = 1;\r\n c++; if (c === 10) c = 1;\r\n }\r\n\r\n d = d % 11;\r\n e = e % 11;\r\n\r\n let checksum;\r\n if (d < 10) {\r\n\r\n checksum = d;\r\n\r\n } else if (e < 10) {\r\n\r\n checksum = e;\r\n\r\n } else {\r\n\r\n checksum = 0;\r\n }\r\n\r\n const isValid = idNumber[10] === String(checksum);\r\n\r\n if (!isValid) {\r\n return false;\r\n }\r\n\r\n return {\r\n gender,\r\n dateOfBirth,\r\n isValid\r\n }\r\n}","\r\nexport function validateSwedishSsn(idNumber: string) {\r\n var personnummer = require('personnummer.js'); \r\n\r\n return (idNumber.length === 12 && personnummer.validate(idNumber));\r\n}","// example 161175-19997\r\n\r\nexport function validateLatviaSsn(idNumber: string) {\r\n if (idNumber.length < 7) {\r\n return false;\r\n }\r\n\r\n if (String(idNumber[6]) === '-') {\r\n idNumber = idNumber.substr(0, 6) + idNumber.substr(7);\r\n }\r\n else return false;\r\n\r\n if (idNumber.length !== 11) {\r\n return false;\r\n }\r\n\r\n const centuryDigit = parseInt(idNumber.substr(6, 1));\r\n\r\n if (isNaN(centuryDigit)) {\r\n return false;\r\n }\r\n\r\n let birthDateString = idNumber.substr(0, 4);\r\n\r\n switch (centuryDigit) {\r\n case 0:\r\n birthDateString += '18';\r\n break;\r\n case 1:\r\n birthDateString += '19';\r\n break;\r\n case 2:\r\n birthDateString += '20';\r\n break;\r\n default:\r\n return false;\r\n }\r\n\r\n birthDateString += idNumber.substr(4, 2);\r\n\r\n const dateOfBirth = new Date(\r\n Number(birthDateString.substr(4)),\r\n Number(birthDateString.substr(2, 2)) - 1,\r\n Number(birthDateString.substr(0, 2)),\r\n );\r\n\r\n if (isNaN(dateOfBirth.valueOf())) {\r\n return false;\r\n }\r\n\r\n const weights = [1, 6, 3, 7, 9, 10, 5, 8, 4, 2];\r\n let checksum = 1101;\r\n\r\n let digit;\r\n for (let i = 0; i < weights.length; i++) {\r\n digit = parseInt(String(idNumber[i]));\r\n\r\n if (isNaN(digit)) {\r\n return false;\r\n }\r\n\r\n checksum -= digit * weights[i];\r\n }\r\n\r\n digit = parseInt(String(idNumber[10]));\r\n const isValid = digit === checksum % 11;\r\n\r\n if (!isValid) {\r\n return false;\r\n }\r\n\r\n return {\r\n isValid,\r\n dateOfBirth,\r\n gender: Math.floor(dateOfBirth.getFullYear() / 100) * 2 - 34,\r\n };\r\n}\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { SmartIdInitiateAuthDto } from 'auth/interfaces/i-smart-id'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport appConfig from 'app.config'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { FormControl, Form } from 'react-bootstrap'\r\nimport { CircleSpinner } from 'shared/components/Spinners'\r\nimport { formatSsn, validateSsn } from 'original/utils/validation.helper'\r\nimport { logError } from 'shared/AppInsight'\r\nimport './smartIdContentBlock.scss'\r\nimport { ErrorMessage } from 'shared'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\n\r\nfunction SmartIdAdvLoginBlock() {\r\n\tconst [isLoading, setIsLoading] = React.useState(false)\r\n\tconst [error, setError] = React.useState()\r\n\tconst [smartIdData, setSmartIdData] =\r\n\t\tReact.useState()\r\n\tconst [nationalIdentityNumber, setNationalIdentityNumber] =\r\n\t\tReact.useState('')\r\n\tconst [nationalIdentityNumberIsValid, setNationalIdentityNumberIsValid] =\r\n\t\tReact.useState(true)\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tasync function doSmartIdAuth() {\r\n\t\tconst isValid = validateNationalIdentityNumber()\r\n\r\n\t\tif (!isValid) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tsetIsLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst countryCode = appConfig.country\r\n\t\t\tconst data = await authenticationService.smartIdAuthInit({\r\n\t\t\t\tcountryCode,\r\n\t\t\t\tnationalIdentityNumber,\r\n\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t})\r\n\r\n\t\t\tsetSmartIdData(data)\r\n\t\t\tsetIsLoading(false)\r\n\r\n\t\t\tconst { redirectUrl, secret } =\r\n\t\t\t\tawait authenticationService.smartIdAuthComplete(data)\r\n\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tredirectUrl || getReturnUrl(),\r\n\t\t\t\tsecret,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tsetSmartIdData(undefined)\r\n\t\t\tlogError(error)\r\n\t\t\tsetError(new Error(t('AuthenticationError')))\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onNationalIdentityNumberChange(e: React.FormEvent) {\r\n\t\tconst value = formatSsn(\r\n\t\t\te.currentTarget.value as string,\r\n\t\t\tnationalIdentityNumber,\r\n\t\t)\r\n\t\tsetNationalIdentityNumber(value || '')\r\n\t}\r\n\r\n\tfunction validateNationalIdentityNumber() {\r\n\t\tconst isValid = validateSsn(nationalIdentityNumber)\r\n\t\tsetNationalIdentityNumberIsValid(isValid)\r\n\t\treturn isValid\r\n\t}\r\n\r\n\tif (isLoading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (smartIdData) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('VerificationCode')}

\r\n\t\t\t\t\t\t{smartIdData.code}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
{t('SmartIdPin1Message')}.
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('SmartIdDocumentNumber')}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('InvalidSsn')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{error && }\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default SmartIdAdvLoginBlock\r\n","import React from 'react'\r\nimport { Form } from 'react-bootstrap'\r\nimport FormControl from 'react-bootstrap/FormControl'\r\nimport { IMobileIdAuthResponse } from 'auth/interfaces/i-mobileid'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getQueryParams } from 'shared/utils/helpers'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport { CircleSpinner } from 'shared/components/Spinners'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tformatSsn,\r\n\tvalidatePhoneNumber,\r\n\tvalidateSsn,\r\n} from 'original/utils/validation.helper'\r\nimport { CountryCode } from 'libphonenumber-js'\r\nimport appConfig from '../../../../app.config'\r\n// @ts-ignore\r\nimport ReactPhoneInput from 'react-phone-input-2'\r\nimport 'react-phone-input-2/lib/style.css'\r\nimport { ErrorMessage, logError } from 'shared'\r\nimport './mobileIdAuthBlock.scss'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\n\r\nfunction MobileIdAuthBlock() {\r\n\tconst { t } = useTranslation()\r\n\tconst [mobileNumber, setMobileNumber] = React.useState('')\r\n\tconst [mobileNumberIsValid, setMobileNumberIsValid] = React.useState(true)\r\n\tconst [personalNumber, setPersonalNumber] = React.useState('')\r\n\tconst [personalNumberIsValid, setPersonalNumberIsValid] =\r\n\t\tReact.useState(true)\r\n\tconst [error, setError] = React.useState()\r\n\tconst [isLoading, setIsLoading] = React.useState(false)\r\n\tconst [mobileIdAuthData, setMobileIdAuthData] =\r\n\t\tReact.useState()\r\n\tconst urlParams = React.useMemo(() => {\r\n\t\tlet { ReturnUrl, SigningRequestId } = getQueryParams()\r\n\t\treturn { ReturnUrl, SigningRequestId }\r\n\t}, [])\r\n\r\n\tfunction onMobileNumberChange(\r\n\t\tvalue: string,\r\n\t\tdata: any,\r\n\t\te: any,\r\n\t\tformattedValue: string,\r\n\t) {\r\n\t\t// setMobileNumber((e as unknown) as string)\r\n\t\tsetMobileNumber(formattedValue)\r\n\t}\r\n\r\n\tfunction onPersonalNumberChange(e: React.FormEvent) {\r\n\t\tconst value = formatSsn(e.currentTarget.value as string, personalNumber)\r\n\t\tsetPersonalNumber(value || '')\r\n\t}\r\n\r\n\tfunction validatePersonalNumber() {\r\n\t\tconst isValid = validateSsn(personalNumber)\r\n\t\tsetPersonalNumberIsValid(isValid)\r\n\t\treturn isValid\r\n\t}\r\n\r\n\tfunction validateMobileNumber() {\r\n\t\tconst isValid = validatePhoneNumber(\r\n\t\t\tmobileNumber,\r\n\t\t\tappConfig.country.toUpperCase() as CountryCode,\r\n\t\t\tundefined\r\n\t\t)\r\n\t\tsetMobileNumberIsValid(isValid)\r\n\r\n\t\treturn isValid\r\n\t}\r\n\r\n\tfunction validateAll() {\r\n\t\tconst isValidSSN = validatePersonalNumber()\r\n\t\tconst isValidMobileNumber = validateMobileNumber()\r\n\t\treturn isValidSSN && isValidMobileNumber\r\n\t}\r\n\r\n\tasync function mobileIdInitiate() {\r\n\t\ttry {\r\n\t\t\tif (!validateAll()) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tsetIsLoading(true)\r\n\r\n\t\t\tconst data = await authenticationService.mobileIdAuthInitiate(\r\n\t\t\t\tmobileNumber,\r\n\t\t\t\tpersonalNumber,\r\n\t\t\t\tgetReturnUrl(),\r\n\t\t\t)\r\n\t\t\tsetMobileIdAuthData(data)\r\n\r\n\t\t\tconst { redirectUrl, secret } =\r\n\t\t\t\tawait authenticationService.mobileIdAuthComplete(\r\n\t\t\t\t\tdata && data.userData,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tredirectUrl || getReturnUrl(),\r\n\t\t\t\tsecret,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tsetMobileIdAuthData(undefined)\r\n\t\t\tlogError(error)\r\n\t\t\tsetError(new Error(t('AuthenticationError')))\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tif (mobileIdAuthData?.userData) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t('VerificationCode')}

\r\n\t\t\t\t\t{mobileIdAuthData.challengeId}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{t('VerificationCodeToMobile')}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (isLoading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('PleaseEnterPhoneMobileId')}\r\n\t\t\t
\r\n\t\t\t{!urlParams.SigningRequestId && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('InvalidSsn')}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('InvalidPhone')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{error && }\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default MobileIdAuthBlock\r\n","import React, { useState } from 'react'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport {\r\n\tCircleSpinner,\r\n\tErrorMessage,\r\n\tgetCountryA3ForCurrentMarket,\r\n\tvalidateOtpCode,\r\n} from 'shared'\r\nimport { AxiosError } from 'axios'\r\nimport { Form, FormControl } from 'react-bootstrap'\r\nimport { formatSsn, validateSsn } from 'original/utils/validation.helper'\r\nimport { CountdownTimer } from 'shared/utils/dateAndTimeHelpers'\r\nimport { IOtpStartResponse } from 'auth/interfaces/i-otpid'\r\nimport './balticOtpContentBlock.scss'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\n\r\nconst BalticOtpContentBlock = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [isDone, setIsDone] = useState(false)\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst [otpData, setOtpData] = useState()\r\n\tconst [otpTimedOut, setTimeOut] = useState(false)\r\n\tconst [otpCode, setOtpCode] = useState('')\r\n\tconst [otpCodeIsValid, setOtpCodeIsValid] = useState(true)\r\n\r\n\tconst [ssn, setSsn] = useState('')\r\n\tconst [ssnIsValid, setSsnIsValid] = useState(true)\r\n\r\n\tconst resetStates = () => {\r\n\t\tsetIsLoading(false)\r\n\t\tsetError(undefined)\r\n\t\tsetOtpData(undefined)\r\n\t\tsetOtpCode('')\r\n\t\tsetSsn('')\r\n\t\tsetSsnIsValid(true)\r\n\t\tsetTimeOut(false)\r\n\t\tsetIsDone(false)\r\n\t}\r\n\r\n\tfunction onSsnChange(e: React.FormEvent) {\r\n\t\tconst value = formatSsn(e.currentTarget.value as string, ssn)\r\n\t\tsetSsn(value || '')\r\n\t}\r\n\r\n\tconst loginStart = async () => {\r\n\t\tsetError(undefined)\r\n\t\tsetIsLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tif (!validateSsn(ssn)) {\r\n\t\t\t\tsetSsnIsValid(false)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tconst country = getCountryA3ForCurrentMarket()\r\n\t\t\tif (!country)\r\n\t\t\t\tthrow new Error('This country is not currently supported')\r\n\r\n\t\t\tconst data = await authenticationService.otpLoanStart(\r\n\t\t\t\t{\r\n\t\t\t\t\tssn: ssn,\r\n\t\t\t\t\tcountry: country,\r\n\t\t\t\t},\r\n\t\t\t\tt,\r\n\t\t\t)\r\n\t\t\tsetOtpData(data)\r\n\t\t} catch (e) {\r\n\t\t\tif ((e as AxiosError).response?.status === 400) {\r\n\t\t\t\tsetError(new Error(t('OtpBadRequestError')))\r\n\t\t\t} else {\r\n\t\t\t\tsetError(new Error(t('OtpInternalServerError')))\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst loginComplete = async () => {\r\n\t\tsetError(undefined)\r\n\t\tsetIsLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tif (!validateOtpCode(otpCode)) {\r\n\t\t\t\tsetOtpCodeIsValid(false)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tconst response = await authenticationService.otpComplete(\r\n\t\t\t\t{\r\n\t\t\t\t\tsecret: otpData?.secret!,\r\n\t\t\t\t\totp: otpCode,\r\n\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t},\r\n\t\t\t\tt,\r\n\t\t\t)\r\n\r\n\t\t\tsetIsDone(true)\r\n\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tresponse.redirectUrl || getReturnUrl(),\r\n\t\t\t\tresponse.secret,\r\n\t\t\t)\r\n\t\t} catch (e) {\r\n\t\t\tif ((e as AxiosError).response?.status === 400) {\r\n\t\t\t\tsetError(new Error(t('OtpBadRequestError')))\r\n\t\t\t} else {\r\n\t\t\t\tsetError(new Error(t('OtpInternalServerError')))\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{isLoading || isDone ? (\r\n\t\t\t\t\r\n\t\t\t) : otpTimedOut ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
{t('OtpGoneError')}
\r\n\t\t\t\t\t resetStates()}\r\n\t\t\t\t\t\tclassName=\"btn btn-primary mt-4\">\r\n\t\t\t\t\t\t{t('Restart')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{otpData?.secret ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{t('OtpEnterCodeInfo')}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetTimeOut(bool)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttime={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texpiryDate:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\totpData?.expiryAtUtc,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat={`mm:ss`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
,\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setOtpCode(e.target.value)}\r\n\t\t\t\t\t\t\t\tonBlur={() => {\r\n\t\t\t\t\t\t\t\t\tsetOtpCodeIsValid(validateOtpCode(otpCode))\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tisInvalid={!otpCodeIsValid}\r\n\t\t\t\t\t\t\t\tdefaultValue={otpCode}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('OtpFormatInvalid')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('OtpEnterSsnToInit')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setSsnIsValid(validateSsn(ssn))}\r\n\t\t\t\t\t\t\t\tisInvalid={!ssnIsValid}\r\n\t\t\t\t\t\t\t\tvalue={ssn}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('InvalidSsn')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('Proceed')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default BalticOtpContentBlock\r\n","import React, { useState } from 'react'\r\nimport AuthMethodType from '../../constants/authMethods'\r\nimport authenticationService from '../../services/authenticationService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CircleSpinner } from 'shared'\r\ninterface EParakstsLoginBlockProps {\r\n\tonError?(error: Error): void\r\n}\r\nfunction EParakstsContentBlock({\r\n\tonError = () => {},\r\n}: EParakstsLoginBlockProps) {\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tasync function eParakstsAuth() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tconst redirectUrl =\r\n\t\t\t\tawait authenticationService.eParakstsRedirectLinkGet()\r\n\t\t\twindow.location.href = redirectUrl\r\n\t\t} catch (error: any) {\r\n\t\t\tonError(error)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\teParakstsAuth()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tconst { t } = useTranslation()\r\n\t// @ts-ignore\r\n\t// prettier-ignore\r\n\tconst buttonRounded = (\r\n\t\t\r\n\t\t\t{t('Login')}\r\n\t\t
\r\n\t)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t eParakstsAuth()}\r\n\t\t\t\t\tclassName=\"login-container m-2 d-flex flex-column justify-content-between align-items-center pointer\">\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{buttonRounded}
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default EParakstsContentBlock\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport { CircleSpinner, ErrorMessage, checkIsMobile, isIOS } from 'shared'\r\n\r\nconst useBankIdAuth = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [error, setError] = useState(null)\r\n\tconst [isLoading, setIsLoading] = useState(true)\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst initiateBankIdAuth = useCallback(async () => {\r\n\t\tsetIsLoading(true)\r\n\t\tsetError(null)\r\n\t\ttry {\r\n\t\t\tconst returnUrl =\r\n\t\t\t\tisMobile && isIOS()\r\n\t\t\t\t\t? encodeURIComponent(getReturnUrl('/bankid-callback'))\r\n\t\t\t\t\t: 'null'\r\n\r\n\t\t\tconst initiateData =\r\n\t\t\t\tawait authenticationService.bankIdv2AuthInitiate(\r\n\t\t\t\t\tencodeURIComponent(returnUrl),\r\n\t\t\t\t)\r\n\r\n\t\t\t// sessionStorage has limitations and will not work on iOS devices because we have redirect to a new tab\r\n\t\t\tlocalStorage.setItem('bankid_orderRef', initiateData.orderRef)\r\n\r\n\t\t\tconst redirectUrl =\r\n\t\t\t\tisMobile && isIOS()\r\n\t\t\t\t\t? initiateData.iosMobileBankIdAutoStartUrl\r\n\t\t\t\t\t: initiateData.bankIdAutoStartUrl\r\n\t\t\treturn { redirectUrl }\r\n\t\t} catch (error) {\r\n\t\t\tsetError(new Error(t('BankIDInitiateFailure')))\r\n\t\t\tsetIsLoading(false)\r\n\t\t\tthrow error\r\n\t\t}\r\n\t}, [t, isMobile])\r\n\r\n\tconst cancelBankIdAuth = useCallback(async () => {\r\n\t\tconst orderRef = localStorage.getItem('bankid_orderRef')\r\n\t\tif (!orderRef) return\r\n\t\ttry {\r\n\t\t\tawait authenticationService.bankIdv2AuthCancel(orderRef, t)\r\n\t\t} catch (err) {\r\n\t\t\tsetError(new Error(t('BankIdCancelFailure')))\r\n\t\t}\r\n\t}, [t])\r\n\r\n\treturn {\r\n\t\tinitiateBankIdAuth,\r\n\t\tcancelBankIdAuth,\r\n\t\terror,\r\n\t\tisLoading,\r\n\t\tsetIsLoading,\r\n\t}\r\n}\r\n\r\nconst BankIdSeAutoStartBlock = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { initiateBankIdAuth, cancelBankIdAuth, error, isLoading } =\r\n\t\tuseBankIdAuth()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst authenticate = async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst { redirectUrl } = await initiateBankIdAuth()\r\n\r\n\t\t\t\t// start BankID app\r\n\t\t\t\twindow.location.href = redirectUrl\r\n\r\n\t\t\t\t// continue with collecting the authorizaiton status,\r\n\t\t\t\t// ios devices are being autmatically redirected to the bankid-callback page\r\n\t\t\t\tif (!isMobile || !isIOS())\r\n\t\t\t\t\twindow.location.href = getReturnUrl('/bankid-callback')\r\n\t\t\t} catch (error) {\r\n\t\t\t\tawait cancelBankIdAuth()\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tauthenticate()\r\n\t}, [initiateBankIdAuth, cancelBankIdAuth, isMobile])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{isMobile ? (\r\n\t\t\t\t\t{t('BankIdTryingToLaunchApp')}\r\n\t\t\t\t) : (\r\n\t\t\t\t\tt('AuthAutoStartInfo')\r\n\t\t\t\t)}\r\n\t\t\t\t{error && }\r\n\t\t\t\t{isLoading && }\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default BankIdSeAutoStartBlock\r\n","import React from 'react'\r\nimport QRCode from 'react-qr-code'\r\n\r\ninterface QRCodeBlockProps {\r\n\treadonly qrCodeData: string\r\n}\r\n\r\nfunction QRCodeBlock({ qrCodeData }: QRCodeBlockProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default QRCodeBlock\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl, maskSsn } from 'auth/utils/authHelpers'\r\nimport { CircleSpinner, ErrorMessage, logEvent } from 'shared'\r\nimport QRCodeBlock from './qrCodeBlock'\r\nimport { TranslationFile } from 'i18n'\r\n\r\ninterface QRCodeWrapperProps {\r\n\torderRef: string\r\n\tshouldGenerate: boolean\r\n}\r\n\r\nconst QRCodeWrapper = ({ orderRef, shouldGenerate }: QRCodeWrapperProps) => {\r\n\tconst [qrCodeData, setQRCodeData] = useState('')\r\n\tconst { t } = useTranslation([TranslationFile.Translation])\r\n\tconst [error, setError] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fetchData = async () => {\r\n\t\t\tif (orderRef && shouldGenerate) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst response =\r\n\t\t\t\t\t\tawait authenticationService.bankIdv2GenerateQrCode(\r\n\t\t\t\t\t\t\torderRef,\r\n\t\t\t\t\t\t\tt,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\tsetQRCodeData(response.qrData)\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tsetError(new Error(t('BankIDCollectFailure')))\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (shouldGenerate) {\r\n\t\t\tfetchData() // Fetch immediately\r\n\t\t\tconst intervalId = setInterval(fetchData, 1000) // Then start the interval\r\n\t\t\treturn () => clearInterval(intervalId) // Cleanup\r\n\t\t}\r\n\t}, [orderRef, shouldGenerate, t])\r\n\r\n\tif (shouldGenerate && !qrCodeData) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn shouldGenerate ? : <>\r\n}\r\n\r\nconst useBankIdAuth = () => {\r\n\tconst [orderRef, setOrderRef] = useState('')\r\n\tconst [shouldGenerate, setShouldGenerate] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst tryCancelBankIdAuth = useCallback(\r\n\t\tasync (ref) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait authenticationService.bankIdv2AuthCancel(ref, t)\r\n\t\t\t} catch (err) {\r\n\t\t\t\tsetError(new Error(t('BankIdCancelFailure')))\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst tryCollectBankIdAuth = useCallback(\r\n\t\tasync (orderRef) => {\r\n\t\t\ttry {\r\n\t\t\t\tconst completeData =\r\n\t\t\t\t\tawait authenticationService.bankIdv2AuthCollect(\r\n\t\t\t\t\t\torderRef,\r\n\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t)\r\n\t\t\t\tlogEvent(\r\n\t\t\t\t\t`User (${maskSsn(\r\n\t\t\t\t\t\tcompleteData.ssn,\r\n\t\t\t\t\t)}) completed BankId signin with status:${\r\n\t\t\t\t\t\tcompleteData.isCompleted\r\n\t\t\t\t\t}`,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tssn: maskSsn(completeData.ssn),\r\n\t\t\t\t\t\tstatus: completeData.isCompleted ? 'success' : 'failed',\r\n\t\t\t\t\t},\r\n\t\t\t\t)\r\n\t\t\t\tif (completeData.isCompleted) {\r\n\t\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\t\tgetReturnUrl(),\r\n\t\t\t\t\t\tcompleteData.secret,\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetShouldGenerate(false)\r\n\t\t\t\tsetError(new Error(t('BankIDCollectFailure')))\r\n\t\t\t\tawait tryCancelBankIdAuth(orderRef)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t, tryCancelBankIdAuth],\r\n\t)\r\n\r\n\tconst tryStartBankIdAuth = useCallback(async () => {\r\n\t\tlet cancelOrderRef = ''\r\n\t\ttry {\r\n\t\t\tconst initiateData =\r\n\t\t\t\tawait authenticationService.bankIdv2AuthInitiate(getReturnUrl())\r\n\t\t\tsetOrderRef(initiateData.orderRef)\r\n\t\t\tcancelOrderRef = initiateData.orderRef\r\n\t\t\tsetShouldGenerate(true)\r\n\r\n\t\t\tawait tryCollectBankIdAuth(initiateData.orderRef)\r\n\t\t} catch (err) {\r\n\t\t\tsetError(new Error(t('BankIDStartFailure')))\r\n\t\t\tawait tryCancelBankIdAuth(cancelOrderRef)\r\n\t\t}\r\n\t}, [t, tryCancelBankIdAuth, tryCollectBankIdAuth])\r\n\r\n\tuseEffect(() => {\r\n\t\ttryStartBankIdAuth()\r\n\t}, [tryStartBankIdAuth])\r\n\r\n\treturn {\r\n\t\torderRef,\r\n\t\tshouldGenerate,\r\n\t\terror,\r\n\t\ttryStartBankIdAuth,\r\n\t\ttryCancelBankIdAuth,\r\n\t\ttryCollectBankIdAuth,\r\n\t}\r\n}\r\n\r\nconst BankIdSeQRContentBlock = () => {\r\n\tconst { orderRef, shouldGenerate, error } = useBankIdAuth()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{error && }\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default BankIdSeQRContentBlock\r\n","import React from 'react'\r\nimport appConfig from 'app.config'\r\nimport { checkIsMobile, logError } from 'shared/index'\r\n\r\nimport GermanyOtp from 'auth/components/loginBlocks/GermanyOtp'\r\nimport NorwegianBankIdContentBlock from 'auth/components/loginBlocks/NorwegianBankIdContentBlock'\r\n//import NorwegianBankIdMobileContentBlock from 'auth/components/loginBlocks/NorwegianBankIdMobileContentBlock'\r\nimport OtpContentBlock from 'auth/components/loginBlocks/spainOtp/spainOtpContentBlock'\r\nimport IdCardContentBlock from 'auth/components/loginBlocks/idCard/idCardContentBlock'\r\nimport SmartIdContentBlock from 'auth/components/loginBlocks/smartId/smartIdContentBlock'\r\nimport MobileIdContentBlock from 'auth/components/loginBlocks/mobileId/mobileIdAuthBlock'\r\nimport authenticationService from 'auth/services/authenticationService'\r\n// import SignicatBankIdContentBlock from 'auth/components/loginBlocks/signicatBankId/signicatBankIdContentBlock'\r\nimport BalticOtpContentBlock from 'auth/components/loginBlocks/balticOtp/balticOtpContentBlock'\r\nimport EParakstsContentBlock from 'auth/components/loginBlocks/EParakstsContentBlock'\r\nimport BankIdSeAutoStartBlock from 'auth/components/loginBlocks/bankIdSe/bankIdSeAutoStartBlock'\r\nimport BankIdSeQRContentBlock from 'auth/components/loginBlocks/bankIdSe/bankIdSeQRContentBlock'\r\n\r\nexport enum AuthMethodType {\r\n\tsmartIdBasic = 0,\r\n\tveriff = 1,\r\n\tmobileId = 2,\r\n\tcardId = 3,\r\n\tsmartIdAdv = 4,\r\n\tbankId = 5, // obsolete\r\n\tsignicat = 6,\r\n\tnorwegianBankId = 7,\r\n\tnorwegianBankIdMobile = 8,\r\n\tgermanyOtp = 9,\r\n\tmitId = 10,\r\n\tspainOtp = 11,\r\n\tbalticOtp = 12,\r\n\tnorwegianBankIdBiometric = 13,\r\n\tbankIdAutoStart = 14,\r\n\tbankIdQRStart = 15,\r\n\teparaksts = 16,\r\n}\r\n\r\nexport default AuthMethodType\r\n\r\nexport const authMethods: ISigningButton[] = [\r\n\t{\r\n\t\ttype: AuthMethodType.cardId,\r\n\t\tcountry: ['ee'],\r\n\t\tlogoTitle: 'ID-Card',\r\n\t\tlogoClassName: 'id-card',\r\n\t\tshowInMobile: !checkIsMobile(),\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.smartIdBasic,\r\n\t\tcountry: ['ee', 'lv', 'lt'],\r\n\t\tlogoTitle: 'Smart-ID',\r\n\t\tlogoClassName: 'smart-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.mobileId,\r\n\t\tcountry: ['ee', 'lt'],\r\n\t\tlogoTitle: 'Mobile-ID',\r\n\t\tlogoClassName: 'mobile-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.eparaksts,\r\n\t\tcountry: ['lv'],\r\n\t\tlogoTitle: 'eParaksts',\r\n\t\tlogoClassName: 'eparaksts',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t\thideTitleInContent: true,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.balticOtp,\r\n\t\tcountry: ['ee', 'lt', 'lv'],\r\n\t\tlogoTitle: 'OneTimePassword',\r\n\t\tlogoClassName: 'baltic-otp',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t\thideTitleInContent: true,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.bankIdQRStart,\r\n\t\tcountry: ['se'],\r\n\t\tlogoTitle: 'AuthQrCode',\r\n\t\tlogoClassName: 'bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.bankIdAutoStart,\r\n\t\tcountry: ['se'],\r\n\t\tlogoTitle: 'AuthAutoStart',\r\n\t\tlogoClassName: 'bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.signicat,\r\n\t\tcountry: ['fi'],\r\n\t\tlogoClassName: 'signicat',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () => InitiateSignicatSigning(AuthMethodType.signicat),\r\n\t\t// content: {}}/>\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.mitId,\r\n\t\tcountry: ['dk'],\r\n\t\tlogoClassName: 'mit-id',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () => InitiateSignicatSigning(AuthMethodType.mitId),\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.norwegianBankId,\r\n\t\tcountry: ['no'],\r\n\t\tlogoTitle: 'Kodebrikke eller BankID-app',\r\n\t\tlogoClassName: 'norwegian-bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () => InitiateSignicatSigning(AuthMethodType.norwegianBankId),\r\n\t\tcontent: (\r\n\t\t\t\r\n\t\t),\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.norwegianBankIdBiometric,\r\n\t\tcountry: ['no'],\r\n\t\tlogoTitle: 'BankID biometri',\r\n\t\tlogoClassName: 'norwegian-bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () =>\r\n\t\t\tInitiateSignicatSigning(AuthMethodType.norwegianBankIdBiometric),\r\n\t\tcontent: (\r\n\t\t\t\r\n\t\t),\r\n\t},\r\n\t/* \t{\r\n\t\ttype: AuthMethodType.norwegianBankIdMobile,\r\n\t\tcountry: ['no'],\r\n\t\tlogoClassName: 'norwegian-bank-id-mobile',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () =>\r\n\t\t\tInitiateSignicatSigning(AuthMethodType.norwegianBankIdMobile),\r\n\t\tcontent: ,\r\n\t}, */\r\n\t{\r\n\t\ttype: AuthMethodType.germanyOtp,\r\n\t\tcountry: ['de', 'at', 'it'],\r\n\t\tlogoTitle: 'Germany (OTP)',\r\n\t\tlogoClassName: 'germany-otp',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t\thideTitleInContent: true,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.spainOtp,\r\n\t\tcountry: ['es'],\r\n\t\tlogoTitle: 'Spain (OTP)',\r\n\t\tlogoClassName: 'spain-otp',\r\n\t\tshowInMobile: true,\r\n\t\tcontent:\r\n\t\t\tappConfig.system === 'original' ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\tloginContainerHeaderKey: 'Login',\r\n\t\thideTitleInContent: true,\r\n\t},\r\n]\r\n\r\nexport interface ISigningButton {\r\n\t/** Type of authentication */\r\n\ttype: AuthMethodType\r\n\r\n\t/** (optional) Title that will be displayed under the icon if provided \t*/\r\n\tlogoTitle?: string\r\n\r\n\t/** Classname of the logo to be used */\r\n\tlogoClassName: string\r\n\r\n\t/** (optional) If set to true, title will not show in the content tab but only in the card overview */\r\n\thideTitleInContent?: boolean\r\n\r\n\t/** Set to true if this authentication should be showed in mobile view */\r\n\tshowInMobile: boolean\r\n\r\n\t/** Specify countries this type of authentication should be availble to */\r\n\tcountry: string[]\r\n\r\n\t/** (optional) Element that will be shown when button is pressed. If \"onClick\" is also populated this will be ignored */\r\n\tcontent?: JSX.Element\r\n\r\n\t/** (optional) Header to be shown over the login content container */\r\n\tloginContainerHeaderKey?: string\r\n\r\n\t/** (optional) Event that will occur when auth card is pressed. Will ignore content property if populated. */\r\n\tonClick?(): Promise\r\n}\r\n\r\n/**\r\n * @returns A list of all authentications that should be used for the country specified in appconfig\r\n */\r\nexport const getAuthMethodsForCurrentCountry = () => {\r\n\treturn authMethods.filter((method: ISigningButton) =>\r\n\t\tmethod.country.includes(appConfig.country),\r\n\t)\r\n}\r\n\r\n/**\r\n * Based of the authentication type provided; fetches and redirects connected url from signicat for continued signing flow.\r\n * @async\r\n */\r\nexport async function InitiateSignicatSigning(authType: AuthMethodType) {\r\n\ttry {\r\n\t\tlet redirectUrl: string | undefined\r\n\r\n\t\tif (authType === AuthMethodType.signicat) {\r\n\t\t\tredirectUrl = await authenticationService.signicatRedirectLinkGet()\r\n\t\t}\r\n\r\n\t\tif (authType === AuthMethodType.mitId) {\r\n\t\t\tredirectUrl =\r\n\t\t\t\tawait authenticationService.signicatMitIdRedirectLinkGet()\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tauthType === AuthMethodType.norwegianBankId ||\r\n\t\t\tauthType === AuthMethodType.norwegianBankIdBiometric ||\r\n\t\t\tauthType === AuthMethodType.norwegianBankIdMobile\r\n\t\t) {\r\n\t\t\tredirectUrl =\r\n\t\t\t\tawait authenticationService.norwegianBankIdRedirectLinkGet(\r\n\t\t\t\t\tauthType,\r\n\t\t\t\t)\r\n\t\t}\r\n\r\n\t\tif (!redirectUrl) {\r\n\t\t\tthrow new Error(`RedirectUrl not setup for authType ${authType}`)\r\n\t\t}\r\n\r\n\t\twindow.location.href = redirectUrl\r\n\t} catch (error: any) {\r\n\t\tlogError(error)\r\n\t\tthrow error\r\n\t}\r\n}\r\n\r\nexport const getAuthButtons = (\r\n\tonClick: Function,\r\n\tactive: AuthMethodType | undefined,\r\n) => {\r\n\tlet filteredMethods = authMethods.filter((method: ISigningButton) =>\r\n\t\tmethod.country.includes(appConfig.country),\r\n\t)\r\n\r\n\tconst isActive = (method: AuthMethodType) =>\r\n\t\tmethod === active ? ' chosen' : ''\r\n\r\n\treturn {\r\n\t\tbuttons: filteredMethods.map((b) => (\r\n\t\t\t onClick(b)}>\r\n\t\t)),\r\n\t\tinitMethod: filteredMethods[0],\r\n\t\tfilteredMethods,\r\n\t}\r\n}\r\n","import {\r\n\tAxiosError,\r\n\tAxiosInstance,\r\n\tAxiosRequestConfig,\r\n\tAxiosResponse,\r\n} from 'axios'\r\nimport { waitForLanguage } from 'shared/utils/helpers'\r\nimport { logError, logEvent } from 'shared/AppInsight'\r\nimport appConfig from 'app.config'\r\n\r\nconst onRequest = async (\r\n\tconfig: AxiosRequestConfig,\r\n): Promise => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\tconsoleLog(`[request] [${JSON.stringify(config)}]`)\r\n\tlogEvent('SignInRequest', { config: `${JSON.stringify(config)}` })\r\n\treturn config\r\n}\r\n\r\nconst onRequestError = (error: AxiosError): Promise => {\r\n\tlet errorMessage = `Error: ${error.message}`\r\n\r\n\tif (error.request) {\r\n\t\terrorMessage += ' - The request was made but no response was received.'\r\n\t} else {\r\n\t\terrorMessage += ' - An error occurred in setting up the request.'\r\n\t}\r\n\r\n\tconst errorDetails = {\r\n\t\tmessage: errorMessage,\r\n\t\turl: error.config?.url,\r\n\t\tmethod: error.config?.method,\r\n\t\ttimestamp: new Date().toUTCString(),\r\n\t}\r\n\tconsoleLog(`[request error] ${errorMessage}`)\r\n\tlogError(new Error(errorMessage), errorDetails)\r\n\r\n\treturn Promise.reject(error)\r\n}\r\n\r\nconst onResponse = (response: AxiosResponse): AxiosResponse => {\r\n\tconsoleLog(`[response] [${JSON.stringify(response)}]`)\r\n\tlogEvent('SignInResponse', {\r\n\t\turl: response.config.url,\r\n\t\tstatus: response.status,\r\n\t\tdata: response.data,\r\n\t})\r\n\treturn response\r\n}\r\n\r\nconst onResponseError = (error: AxiosError): Promise => {\r\n\tlet errorMessage = `Error: ${error.message}`\r\n\tif (error.response?.data.message) {\r\n\t\terrorMessage += ` - Message from server: \"${error.response.data.message}\"`\r\n\t}\r\n\r\n\tif (!error.response || error.response.status === 0) {\r\n\t\terrorMessage +=\r\n\t\t\t' - Detected status code 0. Possible causes: network issues, CORS errors, request aborted by the client, or the server did not respond.'\r\n\r\n\t\tconst errorDetails = {\r\n\t\t\tmessage: errorMessage,\r\n\t\t\turl: error.config.url,\r\n\t\t\tmethod: error.config.method,\r\n\t\t\theaders: JSON.stringify(error.config.headers),\r\n\t\t\ttimestamp: new Date().toUTCString(),\r\n\t\t}\r\n\r\n\t\tlogError(new Error(errorMessage), errorDetails)\r\n\t} else {\r\n\t\tconst basicErrorDetails = {\r\n\t\t\tmessage: errorMessage,\r\n\t\t\tstatus: error.response.status,\r\n\t\t\turl: error.config.url,\r\n\t\t}\r\n\r\n\t\tlogError(new Error(errorMessage), basicErrorDetails)\r\n\t}\r\n\r\n\tconsoleLog(`[request error] ${errorMessage}`)\r\n\treturn Promise.reject(error)\r\n}\r\n\r\nconst logInConsole = appConfig.environment !== 'production'\r\nconst consoleLog = (message: string) => {\r\n\tif (logInConsole) console.log(message)\r\n}\r\n\r\nexport function setupInterceptorsFor(instance: AxiosInstance): AxiosInstance {\r\n\tinstance.interceptors.request.use(onRequest, onRequestError)\r\n\tinstance.interceptors.response.use(onResponse, onResponseError)\r\n\treturn instance\r\n}\r\n","import Axios, { AxiosResponse } from 'axios'\r\nimport { IMobileIdAuthResponse } from '../interfaces/i-mobileid'\r\nimport {\r\n\tauthenticationServiceCancelToken,\r\n\tgetHeadersWithJwtToken,\r\n} from '../utils/auth-util'\r\nimport { IUserData } from '../interfaces/i-user-data'\r\nimport { SmartIdInitiateAuthDto } from '../interfaces/i-smart-id'\r\nimport { ISignicatIdAuthResponse } from '../interfaces/i-signicatid'\r\nimport { IBankIdStartResponse } from '../interfaces/i-bankid'\r\nimport {\r\n\tgetNorwegianBankIdReturnUrl,\r\n\tgetReturnUrl,\r\n\tgetSignicatReturnUrl,\r\n\tgeteParakstsReturnUrl,\r\n} from '../utils/authHelpers'\r\nimport { apiRoutes } from 'shared/index'\r\nimport { TFunction } from 'i18next'\r\nimport appConfig from 'app.config'\r\nimport AuthMethodType from 'auth/constants/authMethods'\r\n\r\nimport { setupInterceptorsFor } from 'shared/Axios/Interceptors/Interceptors'\r\nimport {\r\n\tIApplicationOtpStartRequest,\r\n\tIGermanyOtpStartRequest,\r\n\tILoanOtpStartRequest,\r\n\tIOtpCompleteRequest,\r\n\tIOtpStartResponse,\r\n} from 'auth/interfaces/i-otpid'\r\n\r\nconst transportWithCredentials = setupInterceptorsFor(Axios.create({}))\r\n\r\nconst authenticationService = {\r\n\tasync smartIdAuthInit(authRequest: {\r\n\t\tcountryCode: string\r\n\t\tnationalIdentityNumber: string\r\n\t\treturnUrl: string\r\n\t}) {\r\n\t\tconst { data } =\r\n\t\t\tawait transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.smartIdAuthInitiate,\r\n\t\t\t\tauthRequest,\r\n\t\t\t)\r\n\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync smartIdAuthComplete(\r\n\t\tauthRequest: SmartIdInitiateAuthDto,\r\n\t\tretryCount: number = 0,\r\n\t): Promise<{ redirectUrl: string; secret: string }> {\r\n\t\ttry {\r\n\t\t\tconst config = {\r\n\t\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t\t}\r\n\t\t\tconsole.log('retryC: ', retryCount)\r\n\t\t\tconst { data } = await transportWithCredentials.post<{\r\n\t\t\t\tredirectUrl: string\r\n\t\t\t\tsecret: string\r\n\t\t\t}>(apiRoutes.smartIdAuthComplete, authRequest, config)\r\n\r\n\t\t\treturn data\r\n\t\t} catch (e) {\r\n\t\t\t// The request was made but no response was received\r\n\t\t\t// `error.request` is an instance of XMLHttpRequest in the browser and an instance of\r\n\t\t\tif ((e as any).request) {\r\n\t\t\t\tif (retryCount < 3) {\r\n\t\t\t\t\treturn await this.smartIdAuthComplete(\r\n\t\t\t\t\t\tauthRequest,\r\n\t\t\t\t\t\tretryCount + 1,\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthrow e\r\n\t\t}\r\n\t},\r\n\r\n\tasync mobileIdAuthInitiate(\r\n\t\tphoneNumber: string,\r\n\t\tpersonalNumber: string,\r\n\t\treturnUrl: string,\r\n\t) {\r\n\t\tphoneNumber = phoneNumber.replace(/\\s+/g, '')\r\n\t\tconst { data } =\r\n\t\t\tawait transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.mobileIdAuthInitiate,\r\n\t\t\t\t{\r\n\t\t\t\t\tphoneNumber,\r\n\t\t\t\t\treturnUrl,\r\n\t\t\t\t\tpersonalNumber,\r\n\t\t\t\t},\r\n\t\t\t)\r\n\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync mobileIdAuthComplete(userData: IUserData | undefined, t: TFunction) {\r\n\t\tconst config = {\r\n\t\t\theaders: await getHeadersWithJwtToken(),\r\n\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t}\r\n\t\tconst { data } = await transportWithCredentials.post<{\r\n\t\t\tredirectUrl: string\r\n\t\t\tsecret: string\r\n\t\t}>(apiRoutes.mobileIdAuthComplete, userData, config)\r\n\r\n\t\tif (!data) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync cardIdAuthenticate(\r\n\t\trequestId: string,\r\n\t\tcertificateContent: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst { data } = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.idCardAuth(requestId),\r\n\t\t\t{ certificateContent },\r\n\t\t)\r\n\r\n\t\treturn data as string\r\n\t},\r\n\r\n\tasync signicatRedirectLinkGet() {\r\n\t\tconst route =\r\n\t\t\tapiRoutes.signicatAuthLink +\r\n\t\t\t`?state=noState&locale=${\r\n\t\t\t\tappConfig.country\r\n\t\t\t}&callbackUrl=${getSignicatReturnUrl()}`\r\n\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync signicatMitIdRedirectLinkGet() {\r\n\t\tconst route =\r\n\t\t\tapiRoutes.signicatAuthMitId +\r\n\t\t\t`?state=noState&callbackUrl=${getSignicatReturnUrl()}`\r\n\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync signicatResultGet(queryParams: string, t: TFunction) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.signicatAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${getSignicatReturnUrl()}`,\r\n\t\t\t)\r\n\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n\r\n\tasync norwegianBankIdRedirectLinkGet(authMethod: AuthMethodType) {\r\n\t\tlet method = undefined\r\n\t\tswitch (authMethod) {\r\n\t\t\tcase AuthMethodType.norwegianBankId:\r\n\t\t\t\tmethod = 'nbid-high'\r\n\t\t\t\tbreak\r\n\t\t\tcase AuthMethodType.norwegianBankIdBiometric:\r\n\t\t\t\tmethod = 'nbid-biometric'\r\n\t\t\t\tbreak\r\n\t\t\tcase AuthMethodType.norwegianBankIdMobile:\r\n\t\t\t\tmethod = 'nbid-mobil'\r\n\t\t\t\tbreak\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error('Invalid authentication method')\r\n\t\t}\r\n\r\n\t\tconst route =\r\n\t\t\tapiRoutes.norwegianBankIdAuthLink +\r\n\t\t\t`?state=noState&locale=${\r\n\t\t\t\tappConfig.country\r\n\t\t\t}&callbackUrl=${getNorwegianBankIdReturnUrl()}&method=${method}`\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync norwegianBankIdResultGet(queryParams: string, t: TFunction) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.norwegianBankIdAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${getNorwegianBankIdReturnUrl()}`,\r\n\t\t\t)\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n\r\n\tasync norwegianBankIdApplicationResultGet(\r\n\t\tqueryParams: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.norwegianBankIdApplicationAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${getNorwegianBankIdReturnUrl()}`,\r\n\t\t\t)\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n\r\n\tasync bankIdv2AuthInitiate(redirectUrl: string) {\r\n\t\tconst response =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.bankIdv2AuthInitiate + `?returnUrl=${redirectUrl}`,\r\n\t\t\t)\r\n\t\treturn response.data\r\n\t},\r\n\r\n\tasync bankIdv2AuthCancel(orderRef: string, t: TFunction) {\r\n\t\tconst resp = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.bankIdv2AuthCancel,\r\n\t\t\t{\r\n\t\t\t\torderRef,\r\n\t\t\t},\r\n\t\t)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.status\r\n\t},\r\n\r\n\tasync bankIdv2AuthCollect(\r\n\t\torderRef: string,\r\n\t\tisAutoStart: boolean,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst config = {\r\n\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t}\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tstatus: string\r\n\t\t\tisCompleted: boolean\r\n\t\t\tsecret: string\r\n\t\t\tssn: string\r\n\t\t}>(\r\n\t\t\tapiRoutes.bankIdv2AuthCollect,\r\n\t\t\t{\r\n\t\t\t\torderRef,\r\n\t\t\t\tisAutoStart,\r\n\t\t\t},\r\n\t\t\tconfig,\r\n\t\t)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync bankIdv2GenerateQrCode(orderRef: string, t: TFunction) {\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tqrData: string\r\n\t\t}>(apiRoutes.bankIdv2GenerateQrCode, {\r\n\t\t\torderRef,\r\n\t\t})\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync getArtifact(requestId: string, taskId: string, t: TFunction) {\r\n\t\tlet route\r\n\t\tswitch (appConfig.country) {\r\n\t\t\tcase 'dk':\r\n\t\t\t\troute = apiRoutes.getArtifactDk(requestId, taskId)\r\n\t\t\t\tbreak\r\n\t\t\tcase 'fi':\r\n\t\t\t\troute = apiRoutes.getArtifactFi(requestId, taskId)\r\n\t\t\t\tbreak\r\n\t\t\tcase 'no':\r\n\t\t\t\troute = apiRoutes.getArtifactBbBank(requestId, taskId)\r\n\t\t\t\tbreak\r\n\t\t\tdefault:\r\n\t\t\t\troute = apiRoutes.getArtifactFi(requestId, taskId)\r\n\t\t}\r\n\t\tconsole.log(route)\r\n\t\tconst artifact = await transportWithCredentials.get(route)\r\n\r\n\t\tif (artifact.status === 200) {\r\n\t\t\treturn artifact.data\r\n\t\t}\r\n\t\tthrow new Error(t('NoArtifact'))\r\n\t},\r\n\r\n\tasync authenticate(\r\n\t\tapiRoute: string,\r\n\t\tssn: string,\r\n\t\tbirthDate: string,\r\n\t\tapplicationId: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tsecret: string\r\n\t\t\treturnUrl: string\r\n\t\t}>(apiRoute, {\r\n\t\t\tssn,\r\n\t\t\tbirthDate,\r\n\t\t\tapplicationId,\r\n\t\t\treturnUrl: getReturnUrl(),\r\n\t\t})\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\t\tconsole.log(resp.data)\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync germanyOtpStart(request: IGermanyOtpStartRequest, t: TFunction) {\r\n\t\tconst route = (() => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpStart\r\n\t\t\t\tcase 'es':\r\n\t\t\t\t\treturn apiRoutes.spainOtpStartSsp\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\treturn apiRoutes.italyOtpStartSsp\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t}\r\n\t\t})()\r\n\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tsecret: string\r\n\t\t\tcustomerId: string\r\n\t\t}>(route, request)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\t\tconsole.log(resp.data)\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync germanyOtpComplete(\r\n\t\tsecret: string,\r\n\t\totp: string,\r\n\t\tcustomerId: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst route = (() => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpComplete\r\n\t\t\t\tcase 'es':\r\n\t\t\t\t\treturn apiRoutes.spainOtpCompleteSsp\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\treturn apiRoutes.italyOtpCompleteSsp\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t}\r\n\t\t})()\r\n\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tredirectUrl: string\r\n\t\t\tsecret: string\r\n\t\t}>(route, {\r\n\t\t\tsecret,\r\n\t\t\tcustomerId,\r\n\t\t\totp,\r\n\t\t\treturnUrl: getReturnUrl(),\r\n\t\t})\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\t\tconsole.log(resp.data)\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync otpStart(request: IApplicationOtpStartRequest, t: TFunction) {\r\n\t\tconst route = () => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpStart\r\n\t\t\t\tcase 'es':\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\treturn apiRoutes.spainOtpStart\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tsecret: string\r\n\t\t\tcustomerId: string\r\n\t\t}>(route(), request)\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync otpLoanStart(request: ILoanOtpStartRequest, t: TFunction) {\r\n\t\tconst resp = await transportWithCredentials.post<\r\n\t\t\tILoanOtpStartRequest,\r\n\t\t\tAxiosResponse\r\n\t\t>(apiRoutes.loanOtpStart, request)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync otpComplete(request: IOtpCompleteRequest, t: TFunction) {\r\n\t\tconst route = () => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpComplete\r\n\t\t\t\tcase 'ee':\r\n\t\t\t\tcase 'lv':\r\n\t\t\t\tcase 'lt':\r\n\t\t\t\tcase 'it':\r\n\t\t\t\tcase 'es':\r\n\t\t\t\t\treturn apiRoutes.spainOtpComplete\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst config = {\r\n\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t}\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tredirectUrl: string\r\n\t\t\tsecret: string\r\n\t\t}>(route(), request, config)\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync electronicIDAuthorizationToken(\r\n\t\tapplicationId: string,\r\n\t\tproduct: string,\r\n\t) {\r\n\t\tconst { data } = await transportWithCredentials.get<{\r\n\t\t\tid: string\r\n\t\t\tauthorization: string\r\n\t\t}>(apiRoutes.electronicIDToken(applicationId, product))\r\n\t\tconsole.log('received auth: ', data)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync electronicIDVerificationRequest(videoId: string, product: string) {\r\n\t\tconst { data } = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.electronicIDVerificationRequest,\r\n\t\t\t{ videoId: videoId, product: product },\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\treturn data\r\n\t},\r\n\r\n\tredirectTo(url: string, secretValue: string) {\r\n\t\tconst form = document.createElement('form')\r\n\t\tform.style.display = 'none'\r\n\t\tform.action = apiRoutes.redirectTo\r\n\t\tform.method = 'POST'\r\n\r\n\t\tvar secret = document.createElement('input')\r\n\t\tsecret.name = 'secret'\r\n\t\tsecret.value = secretValue\r\n\r\n\t\tvar redirectUrl = document.createElement('input')\r\n\t\tredirectUrl.name = 'redirectUrl'\r\n\t\tredirectUrl.value = url\r\n\r\n\t\tform.appendChild(secret)\r\n\t\tform.appendChild(redirectUrl)\r\n\r\n\t\tdocument.body.appendChild(form)\r\n\t\tform.submit()\r\n\t},\r\n\r\n\tasync eParakstsRedirectLinkGet() {\r\n\t\tconst route =\r\n\t\t\tapiRoutes.eParakstsAuthLink +\r\n\t\t\t`?state=noState&locale=${\r\n\t\t\t\tappConfig.country\r\n\t\t\t}&callbackUrl=${geteParakstsReturnUrl()}`\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync eParakstsResultGet(queryParams: string, t: TFunction) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.eParakstsAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${geteParakstsReturnUrl()}`,\r\n\t\t\t)\r\n\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n}\r\n\r\nexport default authenticationService\r\n","import React, { useState } from 'react'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { appRoutes } from '../../constants/routes/Routes'\r\nimport { CircleSpinner, getErrorWithFullMessage, logError } from 'shared/index'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nfunction SignicatCallbackPage() {\r\n\tconst [error, setError] = useState()\r\n\tconst [isWaiting, setIsWaiting] = useState(false)\r\n\tconst { t } = useTranslation()\r\n\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\tsignin()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tasync function signin() {\r\n\t\tconst search = window.location.search\r\n\t\tconst params = new URLSearchParams(search)\r\n\t\tsetIsWaiting(true)\r\n\r\n\t\ttry {\r\n\t\t\tif (window.location.search.indexOf('error_description') !== -1) {\r\n\t\t\t\tconst errorMsg = params.get('error_description')\r\n\t\t\t\tlogError(\r\n\t\t\t\t\tnew Error(\r\n\t\t\t\t\t\t`${JSON.stringify({\r\n\t\t\t\t\t\t\terrorMessage: errorMsg as string,\r\n\t\t\t\t\t\t\tparams: params,\r\n\t\t\t\t\t\t})}]`,\r\n\t\t\t\t\t),\r\n\t\t\t\t)\r\n\t\t\t\tsetError(new Error(errorMsg ? errorMsg : ''))\r\n\t\t\t} else if (window.location.search.indexOf('code') > -1) {\r\n\t\t\t\tconst authResult =\r\n\t\t\t\t\tawait authenticationService.signicatResultGet(search, t)\r\n\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\twindow.location.origin + appRoutes.callbackPage,\r\n\t\t\t\t\tauthResult.secret,\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{error ? (\r\n\t\t\t\t (window.location.href = appRoutes.login)}>\r\n\t\t\t\t\t{error.message}\r\n\t\t\t\t\r\n\t\t\t) : isWaiting ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default SignicatCallbackPage\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport TagManager from 'react-gtm-module'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport tfbank21_logo_white from 'img/tf-logos/tfbank21-logo-white.svg'\r\nimport AuthMethodType, {\r\n\tgetAuthMethodsForCurrentCountry,\r\n\tISigningButton,\r\n} from 'auth/constants/authMethods'\r\nimport { ErrorMessage, LoadingSpinner } from 'shared'\r\nimport appConfig from 'app.config'\r\nimport 'original/pages/loginPages/LoginPage.scss'\r\nimport { authenticationServiceCancelToken } from 'auth/utils/auth-util'\r\nimport { FooterLoggedOut } from 'original/components/Footer/Footer'\r\n\r\nfunction LoginPage() {\r\n\tconst { t } = useTranslation()\r\n\tconst filteredMethods = getAuthMethodsForCurrentCountry()\r\n\tconst [showAuthCardMenu, setShowAuthCardMenu] = useState(true)\r\n\tconst [content, setContent] = useState()\r\n\tconst tagManagerArgs = {\r\n\t\tdataLayer: {\r\n\t\t\tuserId: '001',\r\n\t\t\tuserProject: 'project',\r\n\t\t\tpage: '/login',\r\n\t\t},\r\n\t\tdataLayerName: 'PageDataLayer',\r\n\t}\r\n\r\n\t/** If there's only one auth method and a content property exists ignore the card menu screen and only display the content */\r\n\tuseEffect(() => {\r\n\t\tif (filteredMethods.length === 1 && filteredMethods[0].content) {\r\n\t\t\tsetShowAuthCardMenu(false)\r\n\t\t\tsetContent(filteredMethods[0])\r\n\t\t}\r\n\t}, []) // eslint-disable-line\r\n\r\n\tuseEffect(() => {\r\n\t\tTagManager.dataLayer(tagManagerArgs)\r\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\t/**\r\n\t * Generates the icon (and with optional title) for specific authentication type\r\n\t * @param {AuthMethodType} type Authentication method\r\n\t * @param {boolean} [isContent = false] Optional parameter to tell what's being rendered. If true it will check if title should be shown or not based of property in interface\r\n\t * @returns JSX element with the authentication icon or an empty if type was not found\r\n\t */\r\n\tconst getAuthIcon = (type: AuthMethodType, isContent: boolean = false) => {\r\n\t\tconst authMethod = filteredMethods.find((x) => x.type === type)\r\n\t\tconst showAuthTextInContent =\r\n\t\t\tisContent && authMethod?.hideTitleInContent === true\r\n\r\n\t\tif (!authMethod) {\r\n\t\t\treturn <>\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{authMethod.logoTitle && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(authMethod.logoTitle)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\t/**\r\n\t * @returns JSX.Element with the authentication card menu\r\n\t */\r\n\tconst AuthCardMenu = () => {\r\n\t\tconst [isLoading, setIsLoading] = useState(\r\n\t\t\tArray.from({ length: filteredMethods.length }, () => false),\r\n\t\t)\r\n\t\tconst [error, setError] = useState(\r\n\t\t\tArray.from({ length: filteredMethods.length }, () => ''),\r\n\t\t)\r\n\r\n\t\tconst updateError = (key: number, message: string) => {\r\n\t\t\terror[key] = message\r\n\t\t\tsetError([...error])\r\n\t\t}\r\n\r\n\t\tconst updateIsLoading = (key: number, value: boolean) => {\r\n\t\t\tisLoading[key] = value\r\n\t\t\tsetIsLoading([...isLoading])\r\n\t\t}\r\n\r\n\t\tconst hasMultipleAuthMethods = () => filteredMethods.length > 1\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{hasMultipleAuthMethods() && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('ChooseLoginMethod')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t{filteredMethods.map((i, key) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (i.onClick) {\r\n\t\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\t\tif (error[key]) updateError(key, '')\r\n\t\t\t\t\t\t\t\t\t\t\tupdateIsLoading(key, true)\r\n\t\t\t\t\t\t\t\t\t\t\tawait i.onClick()\r\n\t\t\t\t\t\t\t\t\t\t} catch {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateError(\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey,\r\n\t\t\t\t\t\t\t\t\t\t\t\tt('AuthenticationError'),\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\tupdateIsLoading(key, false)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t} else setContent(i)\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{getAuthIcon(i.type)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{hasMultipleAuthMethods() ? (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{isLoading[key] && (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{error[key] && (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{isLoading[key] ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('Login')}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{error[key] && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\t/**\r\n\t * @returns JSX.Element with the content of the chosen authentication type\r\n\t */\r\n\tconst AuthContent = () => {\r\n\t\t// Reset axios cancel token with each authentication request\r\n\t\tauthenticationServiceCancelToken.resetCancelToken()\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{content!.loginContainerHeaderKey && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(content!.loginContainerHeaderKey)}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{getAuthIcon(content!.type, true)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{content!.content}
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t('Back')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst cancelAuthRequest = () => {\r\n\t\tauthenticationServiceCancelToken.cancel(t('AuthenticationCanceled'))\r\n\t\tsetContent(undefined)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{content ? : }\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default LoginPage\r\n","import React, { useState } from 'react'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { appRoutes } from '../../constants/routes/Routes'\r\nimport { CircleSpinner, getErrorWithFullMessage, logError } from 'shared/index'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nfunction EParakstsCallbackPage() {\r\n\tconst [error, setError] = useState()\r\n\tconst [isWaiting, setIsWaiting] = useState(false)\r\n\tconst { t } = useTranslation()\r\n\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\tsignin()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tasync function signin() {\r\n\t\tconst search = window.location.search\r\n\t\tconst params = new URLSearchParams(search)\r\n\t\tsetIsWaiting(true)\r\n\r\n\t\ttry {\r\n\t\t\tif (window.location.search.indexOf('error') !== -1) {\r\n\t\t\t\tconst errorMsg = params.get('error')\r\n\t\t\t\tlogError(\r\n\t\t\t\t\tnew Error(\r\n\t\t\t\t\t\t`${JSON.stringify({\r\n\t\t\t\t\t\t\terrorMessage: errorMsg as string,\r\n\t\t\t\t\t\t\tparams: params,\r\n\t\t\t\t\t\t})}]`,\r\n\t\t\t\t\t),\r\n\t\t\t\t)\r\n\t\t\t\tsetError(new Error(errorMsg ? errorMsg : ''))\r\n\t\t\t} else if (window.location.search.indexOf('code') > -1) {\r\n\t\t\t\tconst authResult =\r\n\t\t\t\t\tawait authenticationService.eParakstsResultGet(search, t)\r\n\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\twindow.location.origin + appRoutes.callbackPage,\r\n\t\t\t\t\tauthResult.secret,\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{error ? (\r\n\t\t\t\t (window.location.href = appRoutes.login)}>\r\n\t\t\t\t\t{error.message}\r\n\t\t\t\t\r\n\t\t\t) : isWaiting ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default EParakstsCallbackPage\r\n\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CircleSpinner, logEvent, getErrorWithFullMessage } from 'shared'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { appRoutes } from '../../constants/routes/Routes'\r\nimport { getReturnUrl, maskSsn } from 'auth/utils/authHelpers'\r\n\r\nfunction BankIdCallbackPage() {\r\n\tconst [error, setError] = useState(null)\r\n\tconst [isWaiting, setIsWaiting] = useState(true)\r\n\tconst { t } = useTranslation()\r\n\r\n\tuseEffect(() => {\r\n\t\tsignin()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tconst cancelBankIdAuth = useCallback(async () => {\r\n\t\tconst orderRef = localStorage.getItem('bankid_orderRef')\r\n\t\tif (!orderRef) return\r\n\t\ttry {\r\n\t\t\tawait authenticationService.bankIdv2AuthCancel(orderRef, t)\r\n\t\t} catch (err) {\r\n\t\t\tsetError(new Error(t('BankIdCancelFailure')))\r\n\t\t}\r\n\t}, [t])\r\n\r\n\tasync function signin() {\r\n\t\tsetIsWaiting(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst orderRef = localStorage.getItem('bankid_orderRef')\r\n\t\t\tif (orderRef) {\r\n\t\t\t\tconst completeData =\r\n\t\t\t\t\tawait authenticationService.bankIdv2AuthCollect(\r\n\t\t\t\t\t\torderRef,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t)\r\n\t\t\t\tlogEvent(\r\n\t\t\t\t\t`User (${maskSsn(\r\n\t\t\t\t\t\tcompleteData.ssn,\r\n\t\t\t\t\t)}) completed BankId signin with status:${completeData?.isCompleted}`,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tssn: maskSsn(completeData.ssn),\r\n\t\t\t\t\t\tstatus: completeData?.isCompleted\r\n\t\t\t\t\t\t\t? 'success'\r\n\t\t\t\t\t\t\t: 'failed',\r\n\t\t\t\t\t},\r\n\t\t\t\t)\r\n\r\n\t\t\t\tif (completeData?.isCompleted) {\r\n\t\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\t\tgetReturnUrl(),\r\n\t\t\t\t\t\tcompleteData.secret,\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(t('BankIDCollectFailure'))\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(t('BankIDCollectFailure'))\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\tawait cancelBankIdAuth() // Call cancel method if an error occurs\r\n\t\t} finally {\r\n\t\t\tsetIsWaiting(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{error ? (\r\n\t\t\t\t (window.location.href = appRoutes.login)}>\r\n\t\t\t\t\t{error.message}\r\n\t\t\t\t\r\n\t\t\t) : isWaiting ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default BankIdCallbackPage\r\n","import React, { useContext } from 'react'\r\nimport PrivateRoute from '../routes/PrivateRoute'\r\nimport { Navigate, Route, Routes } from 'react-router'\r\nimport { useNavigate } from 'react-router-dom';\r\nimport IdleTimer from 'react-idle-timer'\r\nimport HomePage from '../../pages/homePage/HomePage'\r\nimport UserPage from '../../pages/userPage/UserPage'\r\nimport CallbackPage from '../../pages/callbackPage/CallbackPage'\r\nimport SupportPage from '../../pages/supportPage/SupportPage'\r\nimport ErrorPage from '../../pages/errorPage/ErrorPage'\r\nimport LogoutPage from '../../pages/logoutPage/LogoutPage'\r\nimport LogoutCallbackPage from '../../pages/logoutCallbackPage/LogoutCallbackPage'\r\nimport SignicatCallbackPage from '../../pages/signicatCallbackPage/SignicatCallbackPage'\r\nimport { idleTimerService, NotFoundPage, IdleTimeOutModal } from 'shared/index'\r\nimport AuthContext from 'shared/contexts/auth'\r\nimport { appRoutes } from 'original/constants/routes/Routes'\r\nimport { MaintenanceContextProvider } from 'shared/contexts/MaintenanceContext'\r\nimport LoginPage from 'original/pages/loginPages/LoginPage'\r\nimport EParakstsCallbackPage from '../../pages/eParakstsCallbackPage/EParakstsCallbackPage'\r\nimport BankIdCallbackPage from 'original/pages/bankIdCallbackPage/BankIdCallbackPage'\r\n\r\ninterface ITimer {\r\n\ttimeout: number\r\n\tshowModal: boolean\r\n\tuserLoggedIn: boolean\r\n\tisTimedOut: boolean\r\n\tcounter: any\r\n}\r\n\r\nfunction RootRoute({ history }: any) {\r\n\r\n\tconst navigate = useNavigate();\r\n\tconst [timer, setTimer] = React.useState({\r\n\t\ttimeout: 60000 * 15 * 1, //15 minutes\r\n\t\tshowModal: false,\r\n\t\tuserLoggedIn: false,\r\n\t\tisTimedOut: false,\r\n\t\tcounter: 60, //seconds\r\n\t})\r\n\r\n\tconst idleTimer = React.useRef(new IdleTimer(timer))\r\n\t// console.log('idleTimer idleTimer idleTimer ', idleTimer)\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isAuthenticated ? (\r\n\t\t\t\t idleTimerService.onActive}\r\n\t\t\t\t\tonAction={() => idleTimerService.onAction}\r\n\t\t\t\t\tonIdle={() => idleTimerService.onIdle(setTimer, timer)}\r\n\t\t\t\t\telement={document}\r\n\t\t\t\t\tdebounce={250}\r\n\t\t\t\t\ttimeout={timer.timeout}\r\n\t\t\t\t\tstopOnIdle={true}\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t} />\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t{/* //Default route*/}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\tidleTimerService.handleClose(idleTimer, setTimer)\r\n\t\t\t\t}\r\n\t\t\t\thandleLogout={() =>\r\n\t\t\t\t\tidleTimerService.handleLogout(navigate, setTimer)\r\n\t\t\t\t}\r\n\t\t\t\tremainingTime={timer.counter}\r\n\t\t\t/>\r\n\t\t\t{isAuthenticated ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default RootRoute","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCloseIcon(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 52.403,\n height: 52.403,\n viewBox: \"0 0 52.403 52.403\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_79\",\n \"data-name\": \"Group 79\",\n transform: \"translate(-95.981 -2565.981)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ellipse_4\",\n \"data-name\": \"Ellipse 4\",\n transform: \"translate(95.981 2565.981)\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.201,\n cy: 26.201,\n r: 26.201,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.201,\n cy: 26.201,\n r: 25.201,\n fill: \"none\"\n })), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_25\",\n \"data-name\": \"Line 25\",\n y2: 24.822,\n transform: \"matrix(0.719, 0.695, -0.695, 0.719, 130.821, 2584.23)\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_26\",\n \"data-name\": \"Line 26\",\n x2: 24.822,\n transform: \"matrix(0.719, 0.695, -0.695, 0.719, 113.272, 2584.536)\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeWidth: 2\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCloseIcon);\nexport default __webpack_public_path__ + \"static/media/close_icon.aced4868e0e289a59edf0fcf636112ca.svg\";\nexport { ForwardRef as ReactComponent };","import appConfig, { LanguageType } from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport React from 'react'\r\nimport './ChangeLanguage.scss'\r\n\r\nconst ChangeLanguage = () => {\r\n\tconst { i18n } = useTranslation()\r\n\r\n\tfunction changeLanguage(language: string) {\r\n\t\ti18n.changeLanguage(language)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t

\r\n\t\t\t{Object.keys(appConfig.languages).map((item, i) => {\r\n\t\t\t\tconst mainLng = item.split('-')[0]\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t changeLanguage(item)}>\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t{appConfig.languages[item as LanguageType]}\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\r\n\t)\r\n}\r\nexport default ChangeLanguage","import React, { useEffect, useRef } from 'react'\r\nimport { Col, Image, Row } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Link } from 'react-router-dom'\r\nimport { animated } from 'react-spring'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport tfbank21_logo_white from 'img/tf-logos/tfbank21-logo-white.svg'\r\nimport closIcon from 'img/icons/close_icon.svg'\r\nimport { menuItems } from 'original/constants/menuItems/menuItems'\r\nimport ChangeLanguage from '../ChangeLanguage/ChangeLanguage'\r\n\r\n\r\ninterface IMenu {\r\n\thide: any\r\n\tprops: any\r\n\tuserName: string\r\n}\r\n\r\nfunction Menu({ hide, props, userName }: IMenu) {\r\n\r\n\tconst node = useRef()\r\n\r\n\tconst handleClick = (e: any) => {\r\n\t\tif (node.current.contains(e.target)) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\thide()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.addEventListener('mousedown', handleClick)\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('mousedown', handleClick)\r\n\t\t}\r\n\t})\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst logo = tfbank21_logo_white\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t{t('Hello')} {userName}!\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{menuItems.map((link, i) => (\r\n\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{link.faIcon ? : \r\n\t\t\t\t\t\t\t\t\t<>{link.imgPath ? : }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{t(link.text)}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    {t(\"Language\")}
    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Menu","import React, { useEffect } from 'react'\r\nimport { useState, useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Container, Image } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom'\r\nimport { useTransition } from 'react-spring'\r\nimport tfbank21_logo_white from 'img/tf-logos/tfbank21-logo-white.svg'\r\nimport { AuthContext, setVocative } from 'shared/index'\r\nimport Menu from 'original/components/menu/Menu'\r\nimport { appRoutes } from 'original/constants/routes/Routes'\r\nimport ChangeLanguage from '../ChangeLanguage/ChangeLanguage'\r\nimport i18next from 'i18next'\r\n\r\nfunction Header() {\r\n\tconst urlSearch = window.location.search.toLowerCase()\r\n\tconst urlPath = window.location.pathname.toLowerCase()\r\n\r\n\tconst userName =\r\n\t\ti18next.language === 'lt'\r\n\t\t\t? setVocative(\r\n\t\t\t\t\tJSON.parse(\r\n\t\t\t\t\t\tsessionStorage.getItem('customerName')?.toString() ??\r\n\t\t\t\t\t\t\t'null'\r\n\t\t\t\t\t)\r\n\t\t\t )\r\n\t\t\t: JSON.parse(\r\n\t\t\t\t\tsessionStorage.getItem('customerName')?.toString() ?? 'null'\r\n\t\t\t )\r\n\tconst { t } = useTranslation()\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\r\n\tconst [isShown, setIsShown] = useState(false)\r\n\tconst [isApplication, setIsApplication] = useState(false)\r\n\r\n\tconst transitions = useTransition(isShown, null, {\r\n\t\tfrom: { transform: 'translate3d(320px,0,0)', opacity: 0.5 },\r\n\t\tenter: { transform: 'translate3d(0px,0,0)', opacity: 1 },\r\n\t\tleave: { transform: 'translate3d(500px,0,0)', opacity: 0.5 },\r\n\t\tconfig: { duration: 400 },\r\n\t})\r\n\r\n\tconst logo = tfbank21_logo_white\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\turlSearch.includes('application') || urlPath.includes('application')\r\n\t\t\t\t? setIsApplication(true)\r\n\t\t\t\t: setIsApplication(false)\r\n\t\t\treturn\r\n\t\t},\r\n\t\t[] //eslint-disable-line\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isAuthenticated && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{isApplication ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{isApplication ? null : }\r\n\r\n\t\t\t\t\t\t\t\t{isApplication ? (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SignOut')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t setIsShown(true)}\r\n\t\t\t\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\t\t\t\tvisibility: isShown\r\n\t\t\t\t\t\t\t\t\t\t\t\t? 'hidden'\r\n\t\t\t\t\t\t\t\t\t\t\t\t: 'visible',\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{transitions.map(\r\n\t\t\t\t\t\t\t\t({ item, key, props }) =>\r\n\t\t\t\t\t\t\t\t\titem && (\r\n\t\t\t\t\t\t\t\t\t\t setIsShown(false)}\r\n\t\t\t\t\t\t\t\t\t\t\tprops={props}\r\n\t\t\t\t\t\t\t\t\t\t\tuserName={userName}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Header","import appConfig from \"app.config\"\r\nimport { ILanguageWebchatConfig, IWebchatConfig, IWebchatScriptSetting } from \"original/constants/interfaces/i-webchat\";\r\n\r\nconst webchatConfig : IWebchatConfig = {\r\n\tmarkets: {\r\n\t\t\"ee\": {\r\n\t\t\tenvironment: {\r\n\t\t\t\t\"development\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"ee\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"et\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_et@tfbank.ee\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"en\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"en\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_en@tfbank.ee\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"ru\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"ru\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_ru@tfbank.ee\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t\"staging\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"ee\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"et\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_et@tfbank.ee\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"en\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"en\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_en@tfbank.ee\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"ru\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"ru\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_ru@tfbank.ee\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\"production\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"ee\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"et\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"ee_webchat_et@tfbank.ee\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"en\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"en\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"ee_webchat_en@tfbank.ee\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"ru\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"ru\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"ee_webchat_ru@tfbank.ee\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"lv\": {\r\n\t\t\tenvironment: {\r\n\t\t\t\t\"development\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"default\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"lv\",\r\n\t\t\t\t\t\t\ttranslationFileUrl: \"https://web.prominion.net/sinch/translations/i18n_lv.properties\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_lv@tfbank.lv\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t\"staging\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"default\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"lv\",\r\n\t\t\t\t\t\t\ttranslationFileUrl: \"https://web.prominion.net/sinch/translations/i18n_lv.properties\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_lv@tfbank.lv\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t\"production\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"default\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"lv\",\r\n\t\t\t\t\t\t\ttranslationFileUrl: \"https://web.prominion.net/sinch/translations/i18n_lv.properties\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"webchat_lv@tfbank.lv\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"lt\": {\r\n\t\t\tenvironment: {\r\n\t\t\t\t\"development\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"default\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"lt\",\r\n\t\t\t\t\t\t\ttranslationFileUrl: \"https://web.prominion.net/sinch/translations/i18n_lt.properties\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_lt@tfbank.lt\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t\"staging\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"default\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"lt\",\r\n\t\t\t\t\t\t\ttranslationFileUrl: \"https://web.prominion.net/sinch/translations/i18n_lt.properties\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"test_webchat_lt@tfbank.lt\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t\"production\" : {\r\n\t\t\t\t\tlanguageSettings: {\r\n\t\t\t\t\t\t\"default\" : {\r\n\t\t\t\t\t\t\tsource: \"myPages\",\r\n\t\t\t\t\t\t\tlangKey: \"lt\",\r\n\t\t\t\t\t\t\ttranslationFileUrl: \"https://web.prominion.net/sinch/translations/i18n_lt.properties\",\r\n\t\t\t\t\t\t\tqueuesAddress: \"webchat_lt@tfbank.lt\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t},\r\n\t}\r\n}\r\n\r\nconst balticTestScriptSetting: IWebchatScriptSetting = {\r\n\tsrc: \"https://login-eu-c1.cc.sinch.com/c1tfban005368/visitor/ecf/latest/VisitorChat/resources/lib/cvc.min.js\",\r\n\tdata_ic: \"eyJucCI6eyJiIjowLjE3MzYxMTExMTExMTExMTEsInIiOjQuNTg5ODQzNzV9LCJudyI6eyJjIjoiPHN2ZyBjbGFzcz1cImN2Yy1zXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiAgdmlld0JveD1cIi0zIC0zIDMwIDMwXCIgIGZpbGw9XCIjMDAwMDAwXCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNCA0aDE2djEySDUuMTdMNCAxNy4xN1Y0bTAtMmMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDIybDQtNGgxNGMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0ySDR6bTIgMTBoOHYySDZ2LTJ6bTAtM2gxMnYySDZWOXptMC0zaDEydjJINlY2elwiLz48L3N2Zz4iLCJzIjoiLmN2Yy1ze3dpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6NTAlOyBtYXJnaW46MTBweDsgcGFkZGluZzoxMHB4OyBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2IoMCAwIDAgLyA1MCUpOyBjb2xvcjogI0RFOTk2RjsgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjVFRTt9In0sIm13Ijp7ImMiOiI8c3ZnIGNsYXNzPVwiY3ZjLXNcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiICB2aWV3Qm94PVwiLTMgLTMgMzAgMzBcIiAgZmlsbD1cIiMwMDAwMDBcIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk00IDRoMTZ2MTJINS4xN0w0IDE3LjE3VjRtMC0yYy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJINHptMiAxMGg4djJINnYtMnptMC0zaDEydjJINlY5em0wLTNoMTJ2Mkg2VjZ6XCIvPjwvc3ZnPiIsInMiOiIuY3ZjLXN7d2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgYm9yZGVyLXJhZGl1czo1MCU7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjEwcHg7IGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYigwIDAgMCAvIDUwJSk7IGNvbG9yOiAjREU5OTZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNUVFO30ifX0=\",\r\n\tdata_cc: \"N4IgjgriBcDaoEsAmMQE4BMBmAggdgEYARPANlIAYBWAFiICEaAOHNCggMQzTRoqwCiHAVRAAaEADsAhgFsApqgAq8gM4AXAAQB1eQCMAxgAtpWgIoR5l8SGlIkAJzWrU6teoD6Ad33HTAAXUAMz1pSQBrADp5RQBfAF0JVQAbGHUHSwlZVOh0zJB1I1RoBwB7UvVgAFoqvWTLaABiIgEeUg4AbhqESSQEAHNSpqYqPA48ei6qgAcIB2nk+SaOdqoBASmnJCbpKmkaNHkpgE95ZOTSryaWts6ag2Ow4dHxyZr+h2lj64oAYQ5fjgph8vlUkNIHOEmqMqKQqAQptMHAhZBDvs1Wmh2lNVPIDKVemifv9AVMekEho0RmMJlMvBDJD1+tdMdiauDJP15A4dnsDkcaskBkZ1MtVuspuDIdC8LD4bERdlqj49OEEOoquppNMqkZhUL+iKqviLjyHP1QgAKJh4MRMUh2ghiCgASlielKSGOwBNpR5jRhcIIsWkPtKpqaSHkbSCIegRlKADduWGI40kBRSEgsMGDNr1AgCam-ZGKAYgnmFQ5gB6HFGHJrStNoARpgAPTSqcPITTmq02u0OphOyIEN2ROqlAzhSAVeRVClz6u+-0Z8uVyIo-qaowQWR6GQIZI1v31lvtzvdpCaRpBUhBKgxDq1+tVT59CCqaCRDBUJyyWJIiCAY5nnPNpgLIsV1LddpEAikHFkY0CXScNoApAxPxPOtuWQtM73kDAkDwZ9SjbKpVBMJBLmgChNDouif3-XsLWkS0MA4sQCCoLAuIIEdf3HBCkPxSRUOSaBoAWaQDHkBNknrYtVzLCs4KAv0RJQsoJL6VRpDqeQkDEdTEOQsTtNgJw7AJZJjniGsZPCD5SggXo8JLKlRiCPA9HgjSzPEmZkmkHo3DbSpoIDWUgz80zjDxcIqh6WZRV0-TFiQAA-EyRKMBKqmCvQzmM4TjTy6ckskFLYDSgykHibLSviirCrOJSYNUwDMI0UokNxRYDHUTdVCqRNpCFIzInpEaxom0xDM0SJuvUXqKLOPFRVm5AHOnZzXO2OZkktAAdEBwS1aAUWkLkAHpVETfoAGo22yMQAFIsAMe7+k0F7kkkVQAF4AHIRXUZsbpurxoamrBIj9fobowCgUbuh7gc0LxkEKEGaAxvLhXUEGqAxxMEHkLx6DIkGGM0GhNBJj75A+gxplMIxNGA84Qbe7BA3hDGkBBgBZDB6IAGTojAjBoAAvWQ6KoSXNCwGXZeBm6mZZtH+iZ06XU0SRSjfeRpnkUxe0JxbZWY2SxO5G6mAvAgKHbMRDpOs7TGkS7UVu77ntelnvt+7IAZBsGIahmGvDhhGkZRigdYxrGkBx4GmHx+RCZBzPNDJimqbbGn6M0Jgy+BrXPrZwpOaPZIeewLA0D0NAsCQQWRYwSIsE0UhIjwLBxciUg6ciHiDCqSIaCqAhIgoGhp9IWfp80OeCCnphknXtfV7hme4aYAwR6n0he7n5efzwXfu7wZIqnpxfSEn6e4aoTfp5X9f1c1rBmc+nWesQAG1vEEIIhtjZODNhbO2bgHCW0NFoOeNt5CyBunmZIBhLQD0fLITQj1FpYBQbIA2GCsE4NQfgwhxDxw9C2kgBcMQkChGnO1Roux9iHEAnQ8ayBGzhgLNMNh-MEQsKcmUfa7kzSsUtAQOEXFSA0C4lQJgxk0BCX8qJcSw1Kr0OMtNUavDzoLRygFbSl1JD0Owq+SKHD+TPkcntNyV0uTQA9qdc6PsXHyB1oHZI71Pohz+uHUG6hwbQEhtDLwsN4bmgTqjb6KdsZGBBgQDAWcc7AzSRjLmDdgZG0kPIDGGgyjhHkI3LAdjDik3JpTamwNaZpLXukquBgDAIAcAYRYmgDDF2BqQDGDwQYDN7LjceGtWk1w5iU0oZSCo9HkAAK1KD0EGEjeid2BsLKgkRy5w1IEYae4tR79yoD-Vp7TOndN6cMwZxxc4-gxg4EGI8cn1wqVUopnZUJlJBgUopv9-4GEAX-fWsVNLmXDDonhE10JTk-Po6QM0jHzWvKYrR5iYXIDhd1axuFbF8kOKRcilFrJXFpoxDAzE+xsTkVQBRSjuKqJ-FQccy1Vr9Q2tCyxRjEXIrmm4NF7K+rrUGhYqxL58Xhg8p8hxu11kHQcEdDx3tfbXR8QHP6ASvoPVDv9IGoTwmRJjnHOJyMEno0xsk3GGTEHExqYXeptN6aMz-izKZdduaVz5tFAWmghZbLFhQZW0s5YKwZsrVWcsJluoAd9IBBsjYm2gVoZEiDrZ-kobAh2TsOwuzdu4r2F1vG+K1cHXVwSDWRwidHaJsdYmI3NUnRJVq04pKyekzQBM7UdreV6-5xSfnlO9ZUwlXyC51L6Y0sW2SLkdK6fIHpfSRlDP6U8sZJNAXuvZt80p84hSFOWas4GCrNnbN2SrEehyaDHL7uPc5sa2nzuucuu5DzO3POBq8z1eTeajs4V8mZvz8kEgBa0kF8h9Y3jAeApNUDzZaGzfAtNIpd7EPQeNchspKEEJ7jQnpmHsHYbwbhohmaSFdU-CtEVA0hoIBGli7YGEEVTSRYYgVJjhVrVo+KoxOKsKSobASgDxKKJURohSxaVLKE0tkfIuRjKVHGUEuCsq+VkoQDowxnlE1GqaPKolVq-jWP8uQKixaTUDOVRSrx3T6KrNGbYZ8yjPUIWBQ01p3RRjspcYxeGAq+liomfY2ZwVi1fNaX8x52zyAfNUdWn5++jnhP8hc9RsxUWqqae5fQuLrmMtJcCxJaARUELyD5SF4xQr4tue0tZzTMWspLRqwVgLRViulb9PIPFQnpX+mc81-LiX6uecY9AZqZSmsRchYV9rklOtOAq-Q8zg30vDei2Nibhk8trci7Ns4835BlZ61IpoRU9DMKYHK8RLk3KRXO5dtLCW9sjZy3x5jqgdvPZm21g7JWjtdaWyisLq3vvuay6KMbH2vu1f80Zw7x2PQkvE+S0ulLqUyLpQy5RzKVOg9h-fDzb3YUfegEbdQlpxsGcMi6GHrX4f-bK0Djj1WhsvY2zp7FpPyeU620gWn+P6dFYR11k7KWuGC65vOIn9GvN2a41L37xmDHLZBwro80uIeNbp4rxzgnTvsLHU9pCiuZfafofxz7kuNdK+Z6FzjLXTda6h-Cq36vFhK7F313kImkdibJbRNHUmMdWixwpnHynWWAT0OoSQwjfXBgnLH+MSYUyRREdH2P6lurGRj5IS3J5kcB8k0xGTMiOIYGUbxfiAko9J8kDMZEqIHDenTwn67TiGGRSjDGUiOFetph71iWM9fG9XRbyn5My5vdRTlKIxxCqDfESYFgKgFA+82Jn0gGgeADA0FIJnhvSJx-HGzyxvPY-m-fA+-HufHfF-d7wCvtfG+pWD533v0gonSXUVR7TUveCsmyMleBANA1eFAto4844F+x+V+kQtUGUuesel+RICBhkt+QY9+t2XeW+0Yw+r+A+HkQ+94h+KBE+PO0AaB-OZOFQ2CVBLokQMkBYyYSBR+TeRIFB9BNBFO8B9G6UNO0ATBCALBkQlElwAAfKPrAWiPAWUNML-g3itP0P0IsDtDdpIt3h-vvgQUvhgHgGAb5FIeweQbQZQXwXVC6NwXQeYRlAwUIcmJbqwWQd8JwTYQITzrwXpBYYIYNMIUsB9sZGIV4JITAcYafo4E2AoY2MoYsAXn7j-hJkHgASxFaMAVxGAVxBAcZHXhfriKJFKK3jPiIlgRoVvipHmDod3uUWpLkXiASAUZPmnkUe3mIp3gbg9noF-vrvdkwHoHgNICPrUfkTIQEaPnkfUUSDfm3nfq0Q-jPh0V0aeG-h5HoL0f0UEN-ijoHv-tJoAZjmwFxEwGgIcUolAaQeMYSC3p4fwZNEMRMRPlQRgfCCUXdmUbBJUW8Z1GMXUZcS4aYVwR4fQYwb4SIXcb8VYWYV4bYVYdcd4fYeVqIQmMEd8cMVcREfIZcIoaUDEd1tMZgbMdge0WsQMR8WmHoBgHoBQNIEwOcT8Q0a4VCe4bQbCbYcCcwf4a7k4RcfSf8W4dQYCXyZYfCY4YiRISifceEXIVEUoSoRybivEVsSXrsSkbSgcQQEcScdkdAcgeSKUGoW0ZFNSN5HoKSR5EaT5KQbqY0dWASaUWmIQM-KQGgKaf6KQJ0eQBgJaZIBSGfqoE4VaTfraa8faXIgYE6S6U0G6eQKQBgJscXkkcqbJtxE6KAQ6KAbxGcaPrqSyYZP6d6UMI8UGTgWmOaSad0TPqWV6RSBCQCcyUCfCXmdWQyTcZYQKYydQQ2aKciRftmeidKdibKfqXMWmFGR6RGY0IolQA+AYFWUMM2d4W2S2WyX4SKT2fmTWYKTCVwcKaMUESETqfmbIZEZidEbKXEWRP7r-tsaXMkUmfCOkWmRkZmRfvSA4IyJyE8fPvKoSd3ngfeOOcQYMcga+e+cyAmFPp+S8cWUQU-qvuvuWe-rvvvqQSBUyL6U4ahZyAXnic8UWUvrBS-ghUQVoYsUXleUqSHmxGkemZkZATkcBQyGhVQRhYxVhY8ThV+eocGUQX+RsURauLxShaxcyPOdCYuRYcuaCQxW+UyBue2a2XWZuZ2XuaPphf0EeRiV4FiTiWwjBlBUviRQBXoQYUJTJVhaJUyTwfWSCXKeftJaBXJS2VuUpTZSKSpS+cJRpf2TieeWRYkTsZRexBQCARkS7HRdqQ3hyFyNPmmMUXheLkcPxT7qlqPlFdyNaUOT+TPm3GgOqdIOOUfL0UwDQKQWlQ4OhalWENFXEQvllWmDlXlQVQYEVTQHGeRQmYFdxNXlQCFQ6M+cgWVTmbcQNVVelexc0TMbVXaTKmOuOQNhfmVY5QuYpfJZJQiQtaNTyBZfyStU5cpUifuZFZtV5SeTKaofFRWc1asa1UlVSKQNSEgKVZtUtWJbtRJTuZyZVZyOldtQpVZS5eyW5QdV9dFSdVpaebEYGReQkX-jeYmZjjxMor1VqaQQaCKJBRdfhPeI+IlUsYQf6HeA+DEKjYTBlRxfpZFNGPIFmFQOOfIDQPIAQAYI9aPmjUNKMRfmzdhRNfiVNdxf6FTTTXTQzUzUgG1f5XDYFRXmIBxE6BgKASjazYTENU4VzeNbFS0XzdBQTdjU+LdYTTjSTYgi9ZZdYatZ2ZzaTb9c5fJT4eyYEcDZbYgmDdpYOeTZjR5PTYzczXTRQEgG0iVUrcbdbeJayR9TnkHSKCbTtf9bbeHSxu5cgWzS7RDbZaoIXpeRLejmXqkZxLLTLQrf1UdZCJldNf6HFXjQbhnpVdKOBSmB7f6GATQNgHxZXZFO3J9FgDSTXVEBzSNdKIGVrQbk3S3eOR3QYF3eLbDdnXsaHmknxCmVkUXWCBCFEMxT3ZCTcaXfzTKDMW3TzfKBvSHW9WHTZU4VKFCMfbHXtWfV2YdSvZCCnWdd1g3U0OPZPbdVgGfDxJ6UfbybbaHTTmtauf3Zff-U5YAx2a5buY7aA0-QOZDa7hnTDdeTPSqbIvPTXrRYrRfi5OoAevONIS3mwoBQBYJaPngwQ84WTQfZxQabgb3rdYBaQZQwss4RVbg5plQ0Q9fkgwqfGQFTnVRZxF1QvTg8gaw4Uuw+vZw-g2wzw5vXVCQ+Q7I9w2EdHX9WbUuRbRI1w-I+o1fVo3CbfYnQ3pI4Q2EfAzpe7UPb+Yw-vYPio7o3I1Iwo4Y0NXYdA59ao-oyfhozbTfYDTA2KT4645Y32adQg2ncg4qR1UI+xCI4jVg8veY2tKiYUYPtUQBdUSw3o1I9yUSHXTFR5HFbY58RUUwzkxQ3k-OAU1cX3WYzU2kxKb5ZndPcHvE8jKosjLaGkSk003U+EXyU4ak4M4oxlCQ1U6E7U3SRweA8tdfe9bfdM80+Ce49uSY7A40y4zM+k1Y27bQxTeU-lZU7BLkzs6szyRTuM6bR48Aw01UKM7MyYdc7WYs9CfHX6XfdUxc4M-s4g-KdDbE4I7PVRRQN01kX0-Rds1Q7qWwqWQVV5BaT87C+uUU9vdrc8HgMaYi9i8iys9mQ86kwGXw0CwI5LfEwQFgNXnoVxNgOIzC2w72cMyi0y+uerWaUi4YQS+ues4KWtSM001aXy3HZsyE846iz6RE+Dc-Riwbgi7dZWay1I8K-M69e80A584Kxc6q685uZA0KV4xHaY480K4edK67QCwJmS+1SC+g1SzS7aGkhmdC6axc2pco-Y-3kvk44y1I2pTQxrZNd+WXZGLxWQzGOc1Q2pRwxK2wwG1DX5e07eeXok9XvxAy269G55TI3G-68JTc0gJ68PlG-GwWyK9o8s3m-OAGxW8Y-bd8yszGxa6nRjWU44165vh2yW8qzW+W2q7c9ZUE949W1ULWwOzHUYx80awnVs1m2W2ZepS28-a0ygxRZ02m2I-0xc2VU5rNbdfNaO4teizYyGzvYbr7g4zNQBqW1I4NUS004tYm206gx06C3JvSuHkypm6k4Nbm36-OItRy-1kbr2yvd9VtRO5o3czowB+B9VXW9Ow2ya7+8dcu1E222e5ixe-Yge6Bys4tYh5qzO18wR89UR1A8O8a3O6hxB-89E-w7axS++2HoohHtu1Q2zbpbrbjd65FAbcTWB1zSe4c6-beDx+OQJ-ILe-usrQ+xc1zc+2u3E++xgPvjLTQPStgMyq66k8nf+-O1I2rXydx0TdJ0J1bVBwE0sw2ys1zRR4a8hzR00-p1KZE9Y6J+2x5FJ5JzxzJ-MsHVZwa-cyO3B-Z0FyfQIVq426O658eTK1E6u8C8x+g2pw6Gp1p13T+4+6vRjVe+XQnv5xfRlWJxXXx7Q0V6vbG3B8V0p8l2g7JgOPaI6Nlzu1VwZ6h9KMB7vTFGB8Vw5wK316vf4wa3bX4Q7eKzV+125wlzpaVy0flz14fWR9KAN9Fyt2A3qwA5F5RyucE92Ue9N-F5awxza1nW++g010OCOK6weuEMWyQUrREIG0QZmNmInpbRECrU91CN1+mFUy2woJIBAHl-3ueB2F2BNJd7aM18OMZNxC6Doe+AgJ+N+L+P+IBC230GTIpPritM2K2BD1eDeEqy2+qKgp+ZjzNw3uT7ICKWT24HTyJ2mDQJwpp0c1jWZ1T8d0lIz4Nwz6gmN8mHK3Yz2wL7IN9+L4W5M2cynXlHYE0Zk7L+L5qPIOFJT5uBDlUHtDqGFJUGJ0q9NuDjZnznTsNgzgti-Yt+mOG2J8w4LutlrtDg7y9hbwDk4DE+Sw16myAUkxmyymyi1o7zZtzqYXzgLkb3Vm74jtbwRERHgMbq1tFtbfCWb678LozqLmJ3pfrWAon8Hw1lQWnz9kZsZJH5ltVFQQ1C7yX0VjL18eX4TlrkXzX4FNH4Dq33Vh5jVHydX430riLh7wb1y-nwZkjuFkH+zs7r0PIHArID0PNMX23xn5b17t2-+Xb+Q75mP2RBP2zj9tFlQVTglNtp33Div+7y-V59Irnb7+mzd4H0Njvx2Gf03zZkfz0FGHPwv24Ev1Hxf4jmv4lAfeVeLdnXi4zI9Sge-XbAf2b58lj+04U-v33b5D8gBQBTdsk3AEtZVAWMdQMYGgFg4u+cA9sggMmx-9z+c2TPqgKw6nZ0Bd-MAY-3SycpBoGLJoDBk0CFpPEaqf2A9D8TaogkYcKtGEijhRIYk8cJtMnFbTpw8YXabOD2hJj5xakRcEuHRBdSVxH0HqXJBUhERnog0IaNWOGiVh0Qo0D6IFBBigxwZTYCGBBKhhwS2x5A9sBwI7Gdiuw2wifZgaKChrlcsahEYiFPVfYptb+oA5Jnji4weDpeVRd4sPzxaGF3cmuEPq7h1w249csfUgL4JIiMdzugQ4RvQJCFYD8sTud-nySSEe5S+1uD3N3yr4lD90dfaIcaUT664M+AxOBCLwrIj9Bcnwb6pbkkhjt9AaoDUCkGQC4RCge4PQJ7yY50RCe0GMBM6BU6pcMB-vUIS1k6GuJSc0AKoLIFKCyw3wo1HcKMPGHncphoCIILMLtZ0Dghiw-IelhWFp0ehsgEaCMP3AHD2mRwmDKcJS7nDRGeQxgatBuE9CVQ-QiiBNGGG7gnhm-SNh0NGr-C+h6oIEUMIbCPC9AQvK-jQP4559IRXQ9YQCNhGDDXwGQSQDIAMiahPgrCbPn5wxGuJ1hmw7YTcL2FgigBNvCERAKhFUithOw76nSKRHwlWh+EdEcyMxEbC2RtI9II5B5HedyR-IykRsIeGgixh4IntpKKWBUiZRow5EWKIJp8jlhLI6UQuHrgFRLg9dBkVJ0T5-DlRuo84FUAgDTAzYNpI0eSJkCJh5kX3P7muC+IOjNQ+kdOvrg9BhJeo4PS8FD3E5c9Ig7orUHoFUCLR3Rd3EUqGM9GRjpAjo6Mei0VZcsSeqYoMYbRDEJiPR4Y+MYmJ6Br0TOkQt0dmLDERisxjo2nl2TzFOjwgxkWMbmIrG1i1qa-cUWZ2gw8dphI+d0dMHrjlioxBYwbj2L7GLQVKA4iIOqLDYQiHRoQBsGzTzGzjagnQottBEa4w9ruaiccDOIhABdbB24hsHoGXExiExi4+cRWMXGHiwg2wZniWDXGDgWukQdRIBH3G7itA54ncQ6JrF3d2od42Hg-2fEnidxZ4l8Z+KbHRjRiL44CYBIbCgTxxUIG8TfzYhXcHxeALcdBNfELiPxCYr8YOO66-iNxPcNCYmFPFWx3xME7CWtUkJwT6x6EqCcRKwmJgcJX3TspBNIkgSKJcErsjRPolzi2J6E0CWOOzHfjVxMiZCXD0fFESSJ6aMianWKaITrQ64h8aygjL4SHxY4ACTxIwkyTn6DYBAKJDlbeI3ESqT2FwJLSaog4gSCtIIIjjCCa0og+tOIMTiSDU46cLABQFtQigQYbkh1JOhUEqxjB7kyZDuiAzDoaUvMJgAODLgOgy4ToeiOPF5hoBB0e6J0XiG1BrJsCSU2ZPOHn5wIhQOU1JO5N3RZSx21qYGJ2gDTCx6YeAIwBxEqlrwqANUjAHVOwCNSY0Zg+NKCmAQaSpJe49CXrx-GiTFJ4kuvKxOkkvi9emgUMCJP7BDSRwT4mSXRMXETSfYEE2iXxM0nLSXu8ksSXNLZQQgi2gmf0ZDx7CqTxJaSZSfrmR6o8WUGPJaPtN1DmxceaAwafePEn8BEe3oioNRiOnE9TpI4c6XtLrALhygLQ1+n9OMjvSdC+PH6VD3Bmjg8coQJAFyGcKYcuK2HZhtIAnB2BkZCjAIpjMRk4z1GCEpbnQ2HLEUkKB+fGdjIsYn50KVMpGTTKvxJcveF3T4X73-FYyGZlzNEKjPoZK9Oo9M5GWMzxmcyhZzzb4MTNny81UR8xYkrGEFm7MJSdM0WYrPBJ1cWZ2QoKhC16bBUcG1MyqBSEnGeQYhIYFWQbKGAiyCZmuassmIZGjkYypsq2ebOVlOySWgLJNgEPhqh5qWdLJ1vS2fL6yPWp7NGT60jYKyx2BbS2YHILaSzSmMsxCp-kdnRzF2Ls5OQ5XVkTDWZIAr4f7xyL6zd2wcvmde1Szhyn2nJUuc9Vjma145ZpK6sVSTlcz725cs2WXPdkvt12LHeTGx2-YByuZXHQuWTJ1pc9w5inZuU7OE6p45JJMjnp7RFrM0G5yM5OlHL7mk0M5WQr2VRXU4ZcZaWXXucjIvpGyM8FcgemPPznDdbZNc-0O-RpLHze6p8xucNzXnJsN5Ck16RzPGjcgNQPDNhGgGIhYhSZdVbzkwH0CERfO6QwCB-IcBfywiXaG0pXXx4G4ggBAbMAYF-qQLoFJ+RaOgtrFsI8ASAUgKAXM7YLBmP8p0lQDYAzyh5U5G6rHwwBBA6FFACBYsCgXcyW8sCk7AgspppC0haC5hQMPFlYK+FOCyKHgt3xkAmFn8iiBADaTOA2EO+I4jvgkUsLVA0i2SKoHLHYLhJM+L+qQEHgH5GCQiuFpFHvBRkMhDI+QHgHkCPhaaTDewBdjUjYLdS7CvHk2CXxM08QLNRxfmUEWSKtFsVKgD1QZpKKNQQc7Kn-IIWUK2BwCoqLGX1o8LiIwSiOYu2cXwLXF-HZBZ9F4WSK1KPilhX4o8h4KCFQSgxZIoLkVkIC3kZ0mJ0Mg1KDAdNbhfTUSVlUUl3rThVvjsB2AE+JSlhc0u6Uah8lrpcgLCEYV9LXxTmaQNIDQDSAsAkS28EgCCDzK6l+tdcEEAcVCL5xRgOBa0rSUz56F9C82IkrPGaKCxP87gOC27rYKD5A8wBauHsD2All1vDMGuCIVCKL6LS18G0rTB75vlieS5avVyX9KTl7dFBV3UAhCgNA2vCRDqFp5VAhCBIEUuCo1A69eeqCWFb4XhUXyQ5-HckYishUuRoVjPNFZBHzzcjrlobY2fUMiC4rkVtPHrDDJOkvS-x8PPHNSqhUoqJe69VlfivZURDjmYK+jEirZVVjuR8ojfo8vIZcqrR7KlGZFF-l4B-5syuPgkqpUCq8VUqmFTwxVUQqaVhKuFfnlGKSqCVqKzVYaulV6qtpTQOVQquz4ZLUF-K7VUKsJUmrVVOq1FXqpbFicrVES26l6sTymqYVJC2VWQooXZ86FDC+1YKu5UBrxZWqyNeqt1Xor9Vn1f1YSr+Ypq3Viai1Y0CxBoByF8FcxQ0t-rpqRUezYtUSsLCSAPVDInNXmvHI1q2AEatVUar6iqLZFkUeRbwC6VlqVFMi9RbGqbVmrM1Bql1Y6tRU9q1Fqgfta6qQjmrJZHaxRVOtHUtre1k6ste6pFUMj51GQ63lusbXTrzZbCExZ0TMWXzIwdi8EHuqXXOy11Q65NSOqjWErsyN64lVmqPW6LZlSAdxfPMXUPrUVT6+9fGozXEqq1p6icneGPXjk31XagDc2qSWgUf54SgBeSqVXQaHVv6pCDG2fUVqEVMG6VZhtw0wrZ1k8hDfKu9VGjbVRagjYSvw1obANM6xNSBqxVhLSNoia3r6svXob4OivM0hUvlWzLqaAmwOmWsGpYb4Vw62jbBpE1UagN2GyWUwF41VKGR4IZTahrjWSbjqomytRutA3ya8WVS63rpsqUca6NYy2xBMqmUzLs+KytSGWuTqaacNEm6VXZuk30aX1ksiZZMumWKqw1Byn9SZuc2ObCNDG7TUxrTAeaLNc1czdMuM3qaS6ZK89k8rLDmdhNVXezeJrU3SqL6fm2DURogrxbsO3ymgAYD9UuaH6UQTTYxqLkFc963gkpoVyWgXBcQGvLpKUFxBZrq64Y-hMkEESwrNMpQWAORGkiyQge6gAAHqAx8e8QLBQ4DKBXAqB61B4eUG60IBdeTYabbNsH5W9tlOoDitHkW0CIVtvWlaANqCgyRUEDgsbYDBQzqAptjBGbTRHm2559ty2nUNdvW0PbV+l0wmFXXq2daVoB2nUNID60naht52sSONp9HUZbtEIDbY9onDPaetkO3qO9rm2fbK6SOzSEG165-altPWoHcdsG3BRhtF28bYsCCA3aUdm2p7V1p61k63xMOj7ZfxOx06ftc+QCP9pe2VRCkto0DdXWmBNhiNh0qYcdOvBwyMAH0yuldK-A9xbpnW-nfzqnxHb+thOs7SNvG2TbJCDO1HZf2p3y7J5jYaYJrvu3a6Y+222gYyoIkIyRoeuxXfjuV2nbid4Oq7YTHiBG7YdlvXXQLsV3Xa3djO03XiO+3TSkJs0yPNAWt1e7cIdukHUTrB2XaMdruu7e7p13w6ZgEeg8V9N6i+6TdWfdHRnsx23iLdD4q3anoV2R7gdKux3Zdrp0J6tdVOlPTbtwh06s9m25nUdg1BB7X5TKgPoBAb3p6vQGvPQNuG-miqggAAQhRD86oFYQdQI7KH3qNLZc+vxkUzEB6BNMK0StYPuoYBFV9vojfYvqZmYqqtkYEiuPtkCT6tQYkaPNuBIV29qip+8-dPtn2sLeGOefGdfvFnWkV9a+gkBOHf3pNHCO+9fb-uf0lcGRqxPogMXv1+gL9M+4A3CzqE+QoDU+y-W-vNmOFUDVpZfYAZ-2b63ZCKbA3vrQOH7B5kZd0jGSQMwGr9cGpkEbMAoUHH9qBhNmPO3ABssD3+wg0wZzwEHgDrBwXUppP0T7oDj+4A7uzE6fJ6DKBkQ89QX1caeQbB3fVIYg4AH2Dih6qsQZuXDA65NACQ7Ac31ccyRZnHQ0-tHmv7gDE8qfF-oUN6HV5nJbg9YeNrqHyVXtUWkYakMl15uc+Iw6gdq7MGytn+uw9uB8NcGVDm+4ro4fPbXzXDgmOlcLuJ4ZiYgUR1JUIhcUE8LwIujsYYcEPIHdDkuwmCdmu30rrw8R+QIke9YY6TsGOwoxkZxqlHXwdO1veTqqPFHajuEYfeKpjAtGGwN+x5XfqyOUGJwldeAwZq5adHqDH5JhrxVGOiHre4hvo8If1z6HUhmRs-UIcv0DHvWB826iIlcMw0KIsgZ4YHnhnkYpMxxuGRAVZQ7GUcBxxiMcYICBUdp8PC43MbWO7Hkg-Qa42vGYhYB7jIe0cLKBdCuG9eMqhhsPi8ORAgTuM5uRCaJnEaqiWYHMICbV78L0m9fPMGCaBPCyoTSJkA+5rzATKCAiJ8KAesNIjHnjM+zGUCbwN+kKT2JzA7CaKJIByFsIQkyEuEoPcx9ZJ02UCc4MIoaTRJ3g3lrKLwmCTnJ8E9ibKVhax06J8U9IaxNEnj29JksrxrwAsnTNuynjtKaJMmHeTYprU6TUln+0kAvRAwKqauW0NNTGoIIzqaBNhHFTHkMNfQpNOimgTHofvRxVVOyBNM6BYsWiedPYm6gjkKoGvgGkzS35WpIwyUBBnVACo0wegFrTFAcA1gGwQUNMHFgFiWQtwKYMkGmAqBwoWLV4FmemC-BGtSwDELcDBWxmtaRs40VStTNAqQTj3bM7mYihtCTZtZ4s61pRGhaeKkbGwMFDSAZBpOQAA\"\r\n}\r\n\r\nconst balticProdScriptSetting: IWebchatScriptSetting = {\r\n\tsrc: \"https://login-eu-c1.cc.sinch.com/c1tfban005368/visitor/ecf/latest/VisitorChat/resources/lib/cvc.min.js\",\r\n\tdata_ic: \"eyJucCI6eyJiIjowLjE3MzYxMTExMTExMTExMTEsInIiOjQuNTg5ODQzNzV9LCJudyI6eyJjIjoiPHN2ZyBjbGFzcz1cImN2Yy1zXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiAgdmlld0JveD1cIi0zIC0zIDMwIDMwXCIgIGZpbGw9XCIjMDAwMDAwXCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNCA0aDE2djEySDUuMTdMNCAxNy4xN1Y0bTAtMmMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDIybDQtNGgxNGMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0ySDR6bTIgMTBoOHYySDZ2LTJ6bTAtM2gxMnYySDZWOXptMC0zaDEydjJINlY2elwiLz48L3N2Zz4iLCJzIjoiLmN2Yy1ze3dpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6NTAlOyBtYXJnaW46MTBweDsgcGFkZGluZzoxMHB4OyBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2IoMCAwIDAgLyA1MCUpOyBjb2xvcjogI0RFOTk2RjsgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjVFRTt9In0sIm13Ijp7ImMiOiI8c3ZnIGNsYXNzPVwiY3ZjLXNcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiICB2aWV3Qm94PVwiLTMgLTMgMzAgMzBcIiAgZmlsbD1cIiMwMDAwMDBcIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk00IDRoMTZ2MTJINS4xN0w0IDE3LjE3VjRtMC0yYy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJINHptMiAxMGg4djJINnYtMnptMC0zaDEydjJINlY5em0wLTNoMTJ2Mkg2VjZ6XCIvPjwvc3ZnPiIsInMiOiIuY3ZjLXN7d2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgYm9yZGVyLXJhZGl1czo1MCU7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjEwcHg7IGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYigwIDAgMCAvIDUwJSk7IGNvbG9yOiAjREU5OTZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNUVFO30ifX0=\",\r\n\tdata_cc: \"N4IgjgriBcDaoEsAmMQEEDMAGDA2A7DgJz74BiALAKIUCsAHAEJkv4AiZzFj9AwkRhAAaEADsAhgFsApqipUABAHVpAIwDGAC3EAXYSHFIkAJ2kBnM6mnSA+gHc1W3Tek6AAjoBmq8aIDWAHTWIAC+ALoiZgA2MDrGENIikjHQcQkiOpqo0MYA9rk6wAC0RapRCdAAxGxURES4ZADcJQiiSAgA5rlV9LTk+IzNRQAOEMbDUdJVZA208kOmSFXitOIURNJDAJ7SUVG5dlU1dQ1D6lu+PX1kA0MdxuJbR1i8ZLxodw9bRUjixn5VPq0XC0ACMQ2GxgQkj+T2qtXqTRKZmk6lybVhz1e7yGrU83UqvX6gxKdj+olaHSOCNOJV+og60mMy1W602JSinU0Omms3mdL+AMqQJBoJC3OSxQcqj8CB0RR04mGRU0XM5HW5RTR+2Zxg6PgAFPR8EJ6LhTaChFgAJQhVS5JBbYDa3LM4X4YFgkLiZ25HVVJDSE6eb3QTS5ABuTN9-sqSCwuCQGDF6iVOgQ6JjroDWHUnlT4uMwHtxkDxgVuWG0FBwwAHgozH7kAo9YbjabzfRLQFQbaAmVcuo-JACtIivjR0WXW743mCwFoR0FZoIJJVBIEFFi66y9W6w2m0gFJVPLhPLRrI0S2Wig92hAzNAAgAmWimSQhAKeTpjMep4bppm045nO4ifvixiSFq6JxH60D4uoD7bqWTLQbGp7SM+SD4FeuS1kUZjaEgBzQFgChkWRL7vi2+riAaz4MUIoK0BgTGgt2r59hBUFoqIsFRNA0ATOI6jSOGURllmM65vmYFfq6PEwXkAntGY4hlNISBCPJkHQXxymwKYhjolEWxhMWIl+PcuQQG0aHZoSfSePgqjgQpen8SMUTiK0OjSLWhTAe6npijpPGaKifhFK0ow8qp6mTEgAB+YVahFQ5FN5qi7Np3FpZF0WiLFsDxRpSBhCleVaAVWW7FJIGyZ+iFmDouRQSikzqDoC5mEUEbiJyWkBGSvX9YNuiaQoATNa17W7KiPJjcgFlDtZtlLGMUQGgAOiAvyKtA0LiIyAD0ZgRh0ADUtbJEIACkGDqOdHQKDdUSiGYAC8ADk3I6FWJ0nXYwPDRgASuh0J3PlgMNnRd30KHYyCZD9FAIxFXI6D9tAIxGCDSHYjB4T9FEKBQCg4w90gPeowy6JoCjfnsP13c+GAimCCNID9ACyz7kQAMmRz6aBQABekhkbQQsKBgoti99J1UzTcMdFTu3Wgooi5Le0jDNIugtpjU0etRol8UyJ30PuoJYHWQibTte26OIh0wqdz3XbdNPPa9yQfT9f0A0DIN2GDENQzDWCqwjSNICj330Oj0iYz9ScKHjBNE7WJPkQo9D599yuPXTmSM5uUQs2zGBEKoAhIFzvPPgEGAKLgAT4BgAsBLgZMBCx6hFAEFBFKCARYBQw+4KPw8KGPoJD-QUTz3Ps9gyPYP0OoPdD7grdj9PL74Kvzf4FERTk5PuCD8PYO0Ivw8z-PCtKxg1OPar6sgJrJ6eJ4Ws61MPrQ25s-LGCNhqHQq9TbSEkCdVMUR1AGg7heSQChLpTQwDAyQmsEFIJQbA9BmDsF9laEtJA45rBIB8EOeqlQVhrA2J+MhA1kAVj9OmYYdCObghoVZPI617K6logaUEIImK4AoExBg2kiBcXcrxfiPVCrkO0iNPqrD9qTVSoo5Sh1RDkOQjeIKDC2RXksmtOyR1GTQEdrtfartrHSFVl7KI91Hq+zegHX6Oh-rQEBsDOwoNwZ6kjrDZ6sdkaaB+qCZ8ydU7fViQjJmldvra1ENIBGLU8h+GkFXDApiNi43xoTYm31SaxLnnE4u6h1AIGMOoSYCh1A52+rgBG5wfrtJbKjfuisamlwZtk3IuTMqtGkAAK1yK0H6Ai2iN2+jzWgAQC5g1wJoYeAte7t1oC-GpdSGlNJaV0jpWw04vgRsYH6PdkkV3yYUzJDZYK5J+ukzJr937qE-m-DWbldK6L9Molhg14KDgfGo8Qo1NETSPDopScFgXIFBc1IxqETGsg2LhfChFjKHFJpRZ81FWx0TEbQCRUjmL0G0pxJqD5ZoEXml1IFBjNEQqheNPysKZptQZZ1HkiKkCovLOixhmw+GWI2sYLa9iXZu2Os4z2b13FPQun7d6X0fF+ICaHcOoTobhPhojKJqN4mQOxsUrOZTSbk0pm-Gmgzy7MyLmzHhCy+aC2FvLSWFMZZy3Fv0u1H9npf01trXWwCoFQkgSbN8hDQGW2tvWW29s7HOwOk4lxSqfaqq8RqoO-iQ5BLDiEyG+ro4RKNfHaJiS4kKAxmamttynVvKyc8vJzqCkYseZnUprSKn8ySfs+pjTpDNNad0zpbTLm9Jxh8+19Mnk5LHJyDJUyZnfTmQ3BQ3NFnLNWT3DZFAtlt37nswNtTh1HPHac85tarnfRuY61JrNO2itbUu156J3k1O+dIDWx4-7-zDUAg2UD43gKjdyaBsa4F4OQR6QhGCW4kOaQNfBCG0FIawTBvs3K5p8uZeQ5F4LhqQo0Ry7ReHeULX0URhCSFrxor9A5B5WKCJERIviqahLCHEtEeIsRFKZEvloPI-56UooxQgN1BAvUBWVQURJzK6kcqkfZcgGFU0qpKak-yllg0FPiZqiprcIq2S0pajygF59dOEc0SlKj1nlPZTcWp8jGnOVTUc-CmzRVpO0fs9NOlVmfPObqmZphQXLOKX0n6QqsU7MGai-SpztUBLQGyhBRIbnyGaeSyF2LvnYoBaS95wrYX0uZddNIIVQiWSiosyl0LtnZMqM0dAaqQ5NIOeCzFzyaXBJVdMGy9zWiuW9Y8speL-mBUdYk91-LfWpsDYy9ILLtWgrZVUNQ+g5jVqbrq5ULbO3GsFc8i1uT+mkX0bMD16Lk24sraG9l9RuXPOLYe0VmbV2lg3bu018rT21vVe3NijjeK84EqJSI0l5LpFUpE7hibTmLttZBTd6A2sdAGjm5FTS1p-tneWyZwbwPhs5ehe9sr52-N6bo2Cx8WOceddyUgAnH3Usk9W+txjwrmNugeadqCTMxyo-kx9kXFWRtvcoxNyXumSvIEJ8Lzcy6TMbf5-V8zEvVfTZk5d+nzVlfjl12l6XlPZf3fl7TxXv2GfG8l2ljXsZWP2jB7i0ikPuPQ8NLDwT8PqWic-KoHQohuEelFMH0PYZIzRiCjwqPoh5LNW0iH0QxGzCg-Yx7rjVFeMiIYs+aRrF2IcSD-2UPIwoQwmME6ePEewR7f4TZOyQVAzBlwihPnsZ2-1BDBX0QVejq15j1GKcmvgqiibxKw72F6DsywJ34xE+kAUHwOoCguBE9D5r1sZPJG0878xDd8PIVp8Hbb-geftBF+89n2vjfuA2M4uIhD0mee0F8ehkX0EFAS9YBNH7j7EP0hGHz31KkSlT0r1AN32gAgM0lPyn3FQvxXyDD7yXyYx7zQLPG3xgMxCZzgNkwSnx0xwKGQXgLZwCBEnTCjCgMHzwJHwIIoOtFIOxwCGYOgGoIQFoICEIgOAAD4B8j9a92C8hhhX9B9WoOgOhJgVpm9BE28H9N8MDu8HIkBnx8A-9XIhCGCngmCiCyoWCmd2CDDEprQqCupuCpgbs6DhC9CyDCC1JDDWDyDTCSCuCowM9tI+C7BBCQDq9YRRDKwJCKxpDJgM8s8X9OMvcP8aJDRv8mI-8mIADtJy9D8UReJfha9EDG9kCW8KE28ZJUwVDZ8ii5J0jUR0Qsinhwwx8cjeELEUDYxjtVAn879Nt6BVB8BxB+8KjMjAibChCMiqjj8Gd6jz98jDsWi2idxMCHJVBOjujPBn9wdPd38eNP8YciAsAmJ6AiBdipEgDt9hiMQRCKDbCTjqjHDiDBV68z88iFCV8yiSjCjQJjjKjTj7DsdrjnDjDmCLCaDss+iRjGCHCOC-i3C2dODLCeCfC-DK9LjAiTBgiDhJDcgwias7ikDGjJiOiuieiXiJ9VBnxVAsBxB6B3j+jQTvjwSyCTCnCzCASrCvChiPirj9CGSSCITOSoSPDrCGdvDwxfDWSqTwCxCQipCZD+SUU3ds9X81i85Yi+NQRtjdj9jQR6BDi0jK88Rcg5CZ8goiRnJVBCTYwjSXJt9dTR9owHjW8J98AxF1BcAiBTSHJcBWjcBcBnxLTRB8R98zBbCrST9bSCj7THTnTXS3R3TPSvSVic8YiNi4iSUwREjzRf9WIjihDdT6SbjAzfTugKD9SmiHJzSTT2iJ9SyfT8QXCfizCXCczDCmSeDD8rSOSbijC6SOC+TBSBCsz8ygjxDUTQipSizcSJ9ozPTnxIyqhJFaBzx1Aqzug2zfjOzITzC+SWSWz8yazaS2CuyYTpSSM4S+y-TkTBy7A0SMSIjZSoi39FTEzlSUzf80ykjMzD8yRjAKQGRxiQzZ9sDljyysDgxt8PyvyqRai48J8eEJjHie8r8F9py4wlCt8hDQLKR-TbC0KGQIisTcicTYK1D4Kb9ELV919lCbzVjc8HyC8sAf8kjbZADtTB8sKOgGzIDULyRKRayEDcKGj9sxygL0DAK1D-yQLOLsLly6zuT2ymygTK8WKdy1z6z9zASezhT3zxLWKzyJT0SRygpAMYK7Se9kKSKNCtCxLPyuLJKuTVyeT1yDzNz5LNLFK7LlKlKNzBjjyNLLKGQBydKrzgy8I5Toj1ifc6IEj0zkjGLgDK96RGRx9YxoLfyIsxVZjVCBcu1t84qmRrSixkqJ8BAiANTxBEKt5OjNSsrfB4qMKhDsrmRgz8KjKHJCrirSr1ByqKA4z5SqKwrREWJpE6LzQ3zYqqqmQ2LNJbC6ruLbioKG8+L5CmqMrRVELBdarRrmRrKoTpLGzuy1qGQcrNqOy9z3KDy1L4TB86q-KhzJTZD8qzT2qFjOrhK3QzQiQkBKr9qNqwSlLtrGSPKBS9r4qXL2y3LXL-qU9eChTzqfh1qrqLzhzwjAr3duqEzermIS9aBBrUiYrB91RuQfzGrQz0IzwLxUqu9DtTxzxrBt88aeQIKEqHIkrCbDsgxpBExaBELpAKBpBQR1B3qhDaaarD9aacLZr7jmagpWb2bObubeakAuqQr7zerC8hAGJLRnxf9saabMZxqhphbMZpqCb+KCK3RKbSbEKzbqaBaDbDrQaZLdr9bIFgaVzjqwbTrIbezHbuQ4bLy9KxbsTjbFqqguaea+bOasAkBakKBtanbbbfr8dZLHLcabbvrXL47eSHLPKobrbIEfaEbDzM8KL4zQr894jGI1bVbNbhqLrBRRyTbAQ5rEKE81r-hcq66g7Kg-8KA2YAK0rDsMAkx1AMAKSW7AhBjD8siAQGrA6iaHIu6e7EKB7Hph6Fa7yodS6SVYk2JLQGKtbR7dbJrBRDa7rGbG7nqG6QpKrW647bL7b3aJ6j6b7XaQbdqvKRr-g86bqasT63Ql6h7dtz7Kg8B2YMBvTR7napLb6drM6AaH7r7U6Qb06WDwajzs64HAhtLrrdLEaxii6UaS7Njfct7S8oq97D8bIdAV0xxdC6Fe8zwSLRKhCKGqG7C27eLDLZ6Zx-yGHgKmHpMWHdChbK9mHxlWGkbgq17vcN76JGJ0bt6yHhH+HRHBHzi+HKHlGAiR9Cy29GHyGlGMlWGn7XC7LZLbCRGDHdCIGbLn7nDX60HFH1GLHNGxSUT4av6jaFrOGAxuHAG6HeiHGBHnGrGtqoG-qYGIa9HHHqGgmjHdbkHwnUHPaAmNGwDP7sGC7IjKLUbpGVa5GSHq6ihzGxxETsjXjZISKyjt8imGVRS2H-a8KZ7SjQIKm3i1GWGSm99x7kmDGOnrygrbyFT17CHwqsAqVoYTQEiCnqmOmD62nRHentGnjWnIn2m2T8CEGXbjG77VK5mem1nqScddytnbH3a37B9pn9mXHzzfbZD2Gf6GpijfHKndninLngmjrjmwnASk7Cn9HXnanYmVLmSs6knzm-mamQSrn-KpS+nkbFahmkz6JRnVaUjJmmLfmonCp8Q6FSzSqnILSXmsXuh6b26vHHJ8BjS8WKWCWVnRHsyumwXMWgzcH+msmCHEXQQMAS8NCmI2YFHGWWHszVHaWDGrTFmzT8XtCRXRdtzAW1zTHCXWyNnIGbG6y7HQWMXBX+zMG3H0nSXDtcXAHKzFXZXlXrHPmE6UGAyTXqy5W3bvmQX1LumZXTzxSsGAqWW4XJGlSYcuXeWTRYkMz0XqmWLaGfG+6dHeHpWigFKSW7mJbUCO9fHdHnWY3NKhGBXRGFLxGBmeqcnZH+r8ng3wWWLZno2FLxWRKo3U2FK7XtmrCzGS3nK62TmdmznNWs302dWbnMT6n5qDTE2hKI3B2cDCXa2zWQnVXLWEnrXy3m2J2Pm4noSHWAb22Q2u23XdWPWZTWXi6lb82f9C32J+WO2DG6q6FXdh2XdMrCWpq42+2OHDtL3yaUqqnwXLqGXT2xwpqc22X93hn+MyV-dKUT3qnLrhXU2prK2lrtdo2pqW2vmG3b31r3m7bW2kO1333Ybu386PGB3r3lrAHVq4OUOEPp2V2InIPSOF20O1WZ2zrkPPq0nt2GNd38H-2OWBNJEA8pnwXaa6FLaybl9iaqbpA33MWRb73Eqz6E2RPzbAHBPxOWHBbP3qmRbf292EWv9N9Va6BVbh7QO+OdaIPM2DGRboOqhFPCWRayPKCHbU2bOaOkHl2MP7HTPl1jPN2e28PizTaSbLwFP-OxPrOU6aSfrQnyPgXYGHPQvDnwup2M6KPEmnX3Oxlc6cOv7YWJHBmpGAPnwdP8uyU2YEdi3MXJ6fyr3T7L7kPW6SX7nJ9cjKu3Rm6SOP7VOsPW6NP2OtORF2wzQLRDOyvBQy2qPW6LOGvQpWuARbP7KdmpvUPnP1WUuv2YaP6Mu9X6ukqmuL7I8avpunOIu7P6O9uFvDv4mkvrXMOhu1uvP86svc3smAO+vOxux0WV0-Aw3q3k7-A6me8EwkxJvK93uRvvuARxvZxGo86ZBRAIAKuu89x6xGxBpEXnuBuexRMSi7wEAHwnxXx3xPwcP2g8ZJI79WoqwaxEfDxjxjWcO5RYF6iCfbu6fJAWTae-IWepO57GE6BH39KgvGfXHB9meFW2fYEXOox9XI2+8Bfrnop2fZnReWfwfnmcOIpDBIK-vWnFeFR-JAo+3mFacig1plQ-IApJeKzJWhdPs9dccutkoOdQsgcedtu4wfHZOq3peHfysFc-svf+sudntMnNPcvEXcmj2y8kd7sUcbcMcCCWd8djdOcXNSdneX2J8MIsJ8Arfo-itba+TE-HeA+ydv73fTa-4La-5s-msbcKCC-AcTNtJqcptdMSpISKo-ficXNaHnmm+4sFda+O-Hsi+stG-kdq-ioKD2-e-z4neQd6vjXHMJM3cvMx-vebdWhAwwFJBWgJo6--fk-uc5+Xe-HeeR3+9F-Ipl-B+vs4pITbfWc9-O-dgU+5-S+cgC8C2S9j3MyL+hwr-p+beFBfRJvyZDb8JAfkR-kPwP6B97mX+T-vIx-4TYseuQFflH3H7+YgB8fe3gANn6mBze-oOAYey-6vdI+9KMwEjB0BaBUBAOGnMVkwHzZsBq-ffs-0P54DYBH-IgQgPLxUYOoC0UlpZz-gKBU0DiOVB7AuiuJlUnif2Hml8TBxAkwSCOGWhjiVoE4aMOtCnAbQ4wM4JSbOLnDIg2oi456B1CknySupt0TcD1AoBFjixvU0sMiH6jPSfJf0-6YDHrFAwQIoMKCM2NIAtjGArYNsO2LWCt68CuofTNPsTUwjYRV6OXH1mXU4H5MaUH2EIbfx5Ld9mm8-S3jrkmA29feVGR3OrkC6RCcIeDeFiH0IHF4EBiQvIbrn76QkHcpuBvlkJlYT82+9Q7IU7gyHUttC1Q9oVzh6JgJ8BJZTIVRgeD7UM8gkGNmoFlDyhogyAVCJkFXCqAg+3XOePuF-ieArQj3UPvAISHcCkBo1cYdACKCSBcgYsW8KNWXCLDlhpQingBj-ibD2W5QvJt-yqH7CxhGOI4ZIF6gLC1w1wyRrcPWEPCOOTw8PoHlIE8pRhNiI4dKGmEERBo8wlcL8Pq5+MrekIqYNCKmFyg4Rcw8sD8NUDi8S+jTfSpXw+xoiJhMIrEbMJvDxBRAEgDSAqAeC0J6uVnEYQcM+GnDzh+1S4UiLf6u9eGrIsYeyLOFojuR+IvkoMLL7n83hUI44RyJFFxBLIEoyzvz1JFsjjh3wxEUsORGMMBRMor4aKIJFKj1hqItUfqJSSZQDgNpXkSyOlHoj1RJuPYEUAgDDB9YeVa0SqIkARgxk-gXWmkMh6eiFQ6kQun3XtC+I2oCPA8MjxPAejxAXoxUKoDMBTQAx73FkgGPjGJiAgyY1oACDq4u9Sy1PSVgBhjFxigxSY2Md6IwaQk-R84NMaWMzHljhePhMsV6Pe7aRaxCY5sRWNkrO4HIgnIsaJzuH94AxwwCuBmKzE+jdqw40cVNGPLjiPu2o3hp6J8DlhaazY5caUFGEzUCBvXE0P1y7CyI+wS4v4Gl08FHjywqgTcamNjHrjVx9YiMOuIvG+AlgnPYRG2F3EvcDxn4M8SeKgR3j1xnozse93qh8ZUe+4zMt+NvHfiAJd4isVePvHHjIJ1448dBLnG-dswIE98Wj3wCHikJK442H+OQmxjAJ2Y30cBAwkdg0eGAHCfBLwnRoCJ5YaCXyUEJzi2xuEn8WuMIkRhiJE492hBPwlQSiJME4Hj4VYk0T2J9EooNBNnHligJZEncRRLAlyIvxbExCWJK-oM1XxdEUCSQOnLkS9x3YXsMpLEmqT1x6k6KLxH1ZOJbEUqJ2CIIzSKpvYHiHNNIMDiyCC08g4tIoKjjKC44CcbAKam5A-R-J2gy1H2jzjYBZYWAQwZ8gdTDIXkG6WiKzHoDth845ofOJaHIj9xWYRAd9CMg84ZJ-wsyfIrlNGTb8wEnIMqTEiimLo8pMbY1N9FrQ7oeY5MfAJoAYjNS54tANqc+A6lsxupAaJwcGh+TfwjJN4-iWxNN569txb4hSSQNGkITxpak3XgoB9BySZp+kz8RJJMnHjJpK0uCWNLonfjdprsF8e-3WkfiAgSk6aH8EFS84IxSPZsHpIumxIMed+LHjjxEz49rppYFUAbBJ5v8npaPHANaBKKhjZo90qnoDLAkvTcMN08cPkAGHsDzpQMqiSUTJ4QzkeUMgyYkJ8BIBGQdhHzgJQ944FxA-YQwPjMsY2FSZuMimUE1OkTdT+xlMilvmpnkzomqTKmWTLxnszYCXXUobEPCo7Dv+aRNmRC0+KEz66cYSpqzO5liyrinMmmf80hZoTmuMnIkUSUWI9FvQXM-GTMwVmizemfM71tRXiLItxmKLIvG+VFm6kjRlZGWfjOZYp57ZLrYlrHjdHqzYwE5L0trMVlEsMKzsolvdz-Y9dfcfrWJAGz5ZWzZZobeNh7OJkhgA52bAUonOcr0ymaccmcMhR9mizS2+s6Oc5SNkxCTZgs+IcLOAKizz2sczxk+0yoByf2ycnWd+xQ5py1Z1cw0g9Qqp1zYaec-GfXJ3Zesi5aNLjkJhK7lzZZ-HKufh17H88A56nBub7Mk5uyJZHdEOnLWznjydaPcjzk7ULl5s8uBXPTsVzIYVza6m3OauvN7lH0t5q3HMUvPq5-1h6F8puW13nknzOunrbLnvJR6YSwJ5eAaEyHlA0MgoRAbCPUH7a+dLO9ANQJhAtq4Aihn4f+cYEAXOM60eVPumTwpqghB6YDRBcgrAJTRcFFYuhPgCQC4Bf8wXQhR0zoT1AiAtAbYozOnnnhPAT1F3p4GfBsLPAWABBZMCQVyzYQqC2rBgslpwK4FOCnhTMMuYELxFRCoKCQvXz4AUKlCiALUnMCZ4goa+PYmvm4UAKCIyi0SBYCkU6LZJE+PAAQDwDaLeFNsoKGeGjLFDeR0gfANIAvAc1fGRgbbHJEIW6kBFpPSsLPl5qoh+ani-MoYt4XGLEqtATGtzQsXygY5BVUBWQoYWm0oF2UKcoUMz7RK02PlF6JoDQXk0hF6fLBY9DEU6KWKIS+UGEocgkKyFUSqgtIsrkVkACzkF0vV00itL1AnNERVzQyV1VvF6C3xW3kMCGAs+tSnRT0pGWhLsxdCGMsCC4XjLylmMC9uIHEBEBxAGARJZZyQCeBNl7ShTnOE8AeLpFq4nJYIv6Xp92Fz4A2BktvGEKKlboIgM+G2LJTultdSeRArjBGAjAOy4-hHVzAUK6lgoXpXktOWxgN8oK0KIQsnplKZFJiweo-ICCcgWoRvARMqGZ5FAuC6IFkgivlDG85esCNFZYQxV1d3RonT8FiqRU2QUV7PfFYBHTzijXlRMl6pkLJU4rmeQqDGY9PkkbSewiQ5lcitxWSBZmvKilfysNplN5wQq50fyu7ELih24Q+OaStkzYq+VqKoBXEvwBgL1l0Y+BfCsVXkrJVKq5xjqsRUsqqV6K9PIMQlWUq8VgjS1fyupUZh089MkBeqoSXMjCl6gMBraoNWpMvVpqglUnnFH1dnVGqwBsGrIUKrjVyqqlVQuAXOk6Ft+a0ecs4URqlVwq1FTM19V4qzVmK3VSarxUZrc1UarNf6pVlVAaF8azVWzSrWerC1aa6NZcyNWpr9VfqmldKt5Hlr6FoauNdsRTV6qrV7UPRaoroQaKiAWixtX2rtVmBB1FgcdXmqgjZqLVta5tfmunVmBZ1Ra+dSWvpkjqx1magdSopnV7r7V6INtRnKqA7rihLvC9b2rnVEsplp4VonYrPXvLqEvwG9Rur9lHqF1ANI9dmS-Vbql51ih9QQE1VIB-FfNd9XWrxV-ql1-a49QGoPJGibFj6xCshoICQbl1UEWJbGDDXgKGVyo7VUetLb-qaVOayNVBqw3psSNDq0tZUFw2arPA7qmteRsw2ZKwK66ijfBtPVty1VIal3rhow1wb6lZpRpeqsrWdLo6HG1jZdWo0YrF1LGoTbDVk2OrANDS6ls0t5G-AtNwyo9TJtg12qzV3GqeS9VE3NK8xpmwTXaonkT4llyy1ZQxr2VyQj1gtZTWRqbVwaXN+m1Fdmvpm2aVlay5kecsuVSaPNOtZTUZreV+b7NRHJZf5ss2oryu9KyWfGFnDBddNw3VzfJvc12rJ6IWgzQBrqJJaO6oKigOoFCjpaP64WwNbyK25yrVZ1XRpLkBRAM9po+wFELRpa7fD8gUQThGiuky5BYA+EYSKJGh46AAAep9DJ5hACFxgPIIcFYFAkutHCBACb0rAza5tL-NgX0uVC8Vg8S2nrStr62tRBtXkESLAh8HjbPokGHQNNqoKzaSIC21PPtt63Xb1tD2mAX3Wu2HZOt7CA7cqHED9aTtw287XxAm1gy2ot2v4Btse39hnth28HWgju3Q6Pt5NBHd9vPmw7ftvWgHcdqG3eQRtF2ibZME8A3a3t8257E9qx2Hbidv4qHe9uL61Yad6O6rq1GW0oraRVo59c3WGCVg75aVdlUeCxnUoQZb0wwNj0fAtwvpCYkYLzrHxHaBteOs7aNom1TbBCdO8ncX0p086edcusnmrvu0a7U+N4fJdNK0k-yI+e2mXTrtQg46Fdp2gnaDqu2Ywwg+u5HZrsx3a63Zt4TGK7vp1G7UIX2taWbtmlgjLdnuuXbbqB346Qdl2hHS7qR1+7qsWu2XahAR2+7DdR-VHQUCaym6jQ5u0PR7pT3lhI9iuh3Zdpp3x71dm2xbVbq9007091exnWtnlBB689IexHJ+HD2p6HQdefXv2CXA0MZVZ4AAITQgedSC3wDoB9kD6gmCsmfWAVypCBVA0mVqEnlUDz7eZApZfWGLX0b7MQRK59aRUfyj7JA4+xUHxGDxLgqFyIsoifrP2T7p9fCkfHPqf01E3ZS+lfSevX2v6vC2+1ff3p-0H6eNzRTWZ4Dv2uhz9U+gAzbM6HGlwDE+i-dTKXCOzwUSBwOfTQ-077oD25Gwn-q-3IHtyQB4zTOQ9Jel4DkBy-WxspBGi-G5Bh-WgaTlOyADsbd-Xgd31UHsKuBz-ewZYN1FkRyFOgxfoAPnt6uDyQQ1PrQN9zUDwh5uawe4MyHPqv++Q9-rvZ3zeRZVR6uIcoP8dmRQXLQ2gbnlMHv9i8sfJgf-3GGDaXBrAxYadpEG3lq8vmloZkP-AjRPCfQ84anrzylwk9RfWwY8NKHrD3ho+nYfw1ANYV9AJw7zjZW3CHpR4aMaJ0iPbaTl5PfcLEf7Gk1Ej5Na7bVmu0C70j1gTIzeAR21YEdeR+IxkbH0QGH9-YPujTqb0k6yjgnQo6hEH3H9-yzR8sNfu+WgQOjd6o1pK16Ohtk2wYXoyIZd5iHKjCBqA3fh0OsK9DkxigzUfJrldAGbhhY9UdvIERJAfwz3NypgzcZ9jQu8eB6GtBOHbyOxyiPsdBC9VtJ2kZiKcfWNCHNjUQDoBcbnjUQMANx-PT2BONOHJpBMqXiPseMSGAg-xymQ3LBN0zVNf3RMMmD+O69X91Y8QO4f+OGyITCJ3pr5tTBLLQQ8JgKHesNIDHgT2s-4ygYDKkzSThB6E4zSQB0LgQeJmJZpU+594UTCJxg9If+O8GNeahf7nCeJOgmETwmljF2lZP4mpD5JgU2KdkOFa1NzkfAAyZ-ECd5jp+qo4gclPzKd56J-EyYe5Mzg+anRdQAqcS19tRT8oHw5zP+M+H6ZSa58Iaf5P-H7QjoeogqckDSYeKSzWSAqbKCWQigN+YCZyoumiYtDOQBGcUEyjDBGAhNXkGQDmBUAhgUQYYALGzHUgTgSIcMwABVdeVwYkPGeGC8A2tUweEKmdJURnCaRoqzgmaTP+BmTo7BM5mbN6EmuhJZ-M01sJHAH5V+gbyLEHiBicgAA\"\r\n}\r\n\r\nexport function getWebchatScriptConfig():IWebchatScriptSetting | undefined {\r\n\tswitch(appConfig.country){\r\n\t\tcase \"ee\":\r\n\t\tcase \"lv\":\r\n\t\tcase \"lt\":\r\n\t\t\tif(appConfig.environment === \"production\"){\r\n\t\t\t\treturn balticProdScriptSetting\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\treturn balticTestScriptSetting;\r\n\t\t\t}\r\n\t\tdefault:\r\n\t\t\treturn undefined\r\n\t}\r\n}\r\n\r\nexport function getWebchatConfig(lang: string):ILanguageWebchatConfig | undefined {\r\n\treturn webchatConfig.markets[appConfig.country]?.environment[appConfig.environment]?.languageSettings[lang] ?? webchatConfig.markets[appConfig.country]?.environment[appConfig.environment]?.languageSettings[\"default\"]\r\n}","import { useState, useEffect, useContext } from 'react'\r\nimport { AuthContext } from 'shared/index'\r\nimport i18n, { getMainLng } from 'i18n'\r\nimport { getSubFromClaims } from 'auth/utils/auth-util'\r\nimport { getWebchatConfig, getWebchatScriptConfig } from 'original/utils/webchatHelper'\r\nimport MyPagesCustomerInfoContext from 'original/contexts/MyPagesCustomerInfoContext'\r\n\r\nfunction WebChat() {\r\n const [webchatLoaded, setWebchatLoaded] = useState(false)\r\n const { isAuthenticated } = useContext(AuthContext)\r\n const [language, setLanguage] = useState(i18n.language)\r\n const [sub, setSub] = useState(null)\r\n\r\n const { customer } = useContext(MyPagesCustomerInfoContext)\r\n \r\n i18n.on('languageChanged', (lng) => {\r\n setLanguage(lng)\r\n })\r\n\r\n const webchatScriptConfig = getWebchatScriptConfig();\r\n\r\n useEffect(() => {\r\n if(webchatScriptConfig){\r\n var scr = document.createElement(\"script\");\r\n scr.src = webchatScriptConfig.src;\r\n scr.id = \"cvc-c\";\r\n scr.setAttribute(\"data-cc\", webchatScriptConfig.data_cc);\r\n scr.setAttribute(\"data-ic\", webchatScriptConfig.data_ic);\r\n scr.onload = () => setWebchatLoaded(true)\r\n document.head.appendChild(scr);\r\n }\r\n \r\n return () => {\r\n if(webchatScriptConfig)\r\n document.head.removeChild(scr);\r\n }\r\n }, []);\r\n\r\n async function fetchSub() {\r\n var claimsSub = await getSubFromClaims()\r\n setSub(claimsSub)\r\n }\r\n\r\n function setVisible(visibility: boolean) {\r\n window.cvc?.setVisible(visibility)\r\n //Sinch fails to hide the icon so we need to modify the style of their element in order to not display the icon when there is no user logged\r\n const chatDiv = document.getElementById(\"cvc-container\")\r\n if(chatDiv)\r\n chatDiv.style.display = visibility ? 'block' : 'none'\r\n }\r\n\r\n useEffect(() => {\r\n if(webchatScriptConfig){\r\n fetchSub()\r\n if(webchatLoaded === true && sub && window.cvc && language){\r\n const langKey = getMainLng(language)\r\n const langConfig = getWebchatConfig(langKey)\r\n\r\n if(langConfig){\r\n if(langConfig.translationFileUrl){\r\n window.cvc.setLanguage(langConfig.langKey, langConfig.translationFileUrl)\r\n }\r\n else{\r\n window.cvc.setLanguage(langConfig.langKey)\r\n }\r\n \r\n window.cvc.setQueues([{\"address\":langConfig.queuesAddress}])\r\n window.cvc.setCad({source:langConfig.source, sourcelanguage:langConfig.langKey.toUpperCase(),ssn:sub})\r\n \r\n if(customer){\r\n const customerName = customer?.personalInfo?.firstName + \" \" + customer?.personalInfo?.lastName\r\n const customerEmail = customer?.contacts?.email\r\n if(customerName && customerEmail)\r\n window.cvc.setUser(customerName,customerEmail)\r\n }\r\n \r\n setVisible(true)\r\n }\r\n }\r\n else{\r\n setVisible(false)\r\n }\r\n }\r\n }, [webchatLoaded, isAuthenticated, language, customer]);\r\n\r\n return null\r\n}\r\n\r\nexport default WebChat","import React, { Suspense } from 'react'\r\nimport CacheBuster from 'react-cache-buster'\r\nimport { BrowserRouter } from 'react-router-dom'\r\nimport { ErrorBoundary, FallbackProps } from 'react-error-boundary'\r\nimport { Helmet, HelmetProvider } from 'react-helmet-async'\r\nimport packageJson from '../../package.json'\r\nimport appConfig from 'app.config'\r\nimport {\r\n\tErrorFallbackPage,\r\n\tlogError,\r\n\tUseAuthProvider,\r\n\tCircleSpinner,\r\n} from 'shared/index'\r\n\r\nimport { MyPagesContextProvider } from './contexts/MyPagesContext'\r\nimport RootRoute from 'original/constants/routes/RoutRoute'\r\nimport Footer from 'original/components/Footer/Footer'\r\nimport Header from 'original/components/header/Header'\r\nimport './styling/_theme.scss'\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { fab } from '@fortawesome/free-brands-svg-icons'\r\nimport {\r\n\tfaHome,\r\n\tfaHandHoldingUsd,\r\n\tfaPiggyBank,\r\n\tfaComments,\r\n\tfaCreditCard,\r\n\tfaUser,\r\n\tfaSignOutAlt,\r\n\tfaTimes,\r\n\tfaBars,\r\n\tfaArrowLeft,\r\n\tfaFileInvoice,\r\n\tfaCaretDown,\r\n\tfaEdit,\r\n\tfaAt,\r\n\tfaAddressCard,\r\n\tfaAngleLeft,\r\n\tfaSortDown,\r\n\tfaSortUp,\r\n\tfaChevronDown,\r\n\tfaChevronUp,\r\n\tfaDownload,\r\n\tfaPhoneAlt,\r\n\tfaEnvelope,\r\n\tfaSignInAlt,\r\n\tfaCookieBite,\r\n\tfaInfoCircle,\r\n\tfaExclamationTriangle,\r\n\tfaTimesCircle,\r\n\tfaTrashAlt,\r\n\tfaSearchDollar,\r\n} from '@fortawesome/free-solid-svg-icons'\r\nimport { MyPagesCustomerInfoContextProvider } from './contexts/MyPagesCustomerInfoContext'\r\nimport WebChat from './components/webChat/WebChat'\r\nlibrary.add(\r\n\tfab,\r\n\tfaHome,\r\n\tfaHandHoldingUsd,\r\n\tfaPiggyBank,\r\n\tfaComments,\r\n\tfaCreditCard,\r\n\tfaUser,\r\n\tfaSignOutAlt,\r\n\tfaTimes,\r\n\tfaBars,\r\n\tfaArrowLeft,\r\n\tfaFileInvoice,\r\n\tfaCaretDown,\r\n\tfaEdit,\r\n\tfaAt,\r\n\tfaAddressCard,\r\n\tfaAngleLeft,\r\n\tfaExclamationTriangle,\r\n\tfaChevronDown,\r\n\tfaChevronUp,\r\n\tfaDownload,\r\n\tfaPhoneAlt,\r\n\tfaEnvelope,\r\n\tfaSignInAlt,\r\n\tfaCookieBite,\r\n\tfaInfoCircle,\r\n\tfaSortUp,\r\n\tfaSortDown,\r\n\tfaTimesCircle,\r\n\tfaTrashAlt,\r\n\tfaSearchDollar\r\n)\r\n\r\nconst MetaTags = ({ isEnvProd }: any) => {\r\n\tconst description = document.querySelector('meta[name=\"description\"]')\r\n\tif (description) {\r\n\t\tdescription.remove()\r\n\t}\r\n\tconst getTitle = () => {\r\n\t\tswitch (appConfig.country) {\r\n\t\t\tcase 'dk':\r\n\t\t\t\treturn 'My Pages | TF Bank'\r\n\t\t\tcase 'ee':\r\n\t\t\t\treturn 'TF Bank iseteenindus'\r\n\t\t\tcase 'lt':\r\n\t\t\t\treturn 'Savitarna | TF Bank'\r\n\t\t\tcase 'lv':\r\n\t\t\t\treturn 'Portāls | TF Bank'\r\n\t\t\tcase 'fi':\r\n\t\t\t\treturn 'Omat sivut | TF Bank'\r\n\t\t\tcase 'se':\r\n\t\t\t\treturn 'Mina Sidor | TF Bank'\r\n\t\t\tcase 'es':\r\n\t\t\t\treturn 'MyPages | TF Bank Spain'\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'My Pages | TF Bank'\r\n\t\t}\r\n\t}\r\n\r\n\tconst getDesc = () => {\r\n\t\tswitch (appConfig.country) {\r\n\t\t\tcase 'dk':\r\n\t\t\t\treturn 'My Pages | TF Bank'\r\n\t\t\tcase 'ee':\r\n\t\t\t\treturn 'Vaata infot oma arve, maksegraafiku või laenujäägi kohta'\r\n\t\t\tcase 'lt':\r\n\t\t\tcase 'lv':\r\n\t\t\t\treturn 'My Pages TF Bank AB'\r\n\t\t\tcase 'fi':\r\n\t\t\t\treturn 'Tarkista oman laina- tai säästötuotteesi tiedot TF Bankin Omilta sivuilta vuorokauden ympäri. Kirjaudu sisään!'\r\n\t\t\tcase 'se':\r\n\t\t\t\treturn 'Mina Sidor TF Bank AB'\r\n\t\t\tcase 'es':\r\n\t\t\t\treturn 'My Pages TF Bank Spain'\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'My Pages TF Bank AB'\r\n\t\t}\r\n\t}\r\n\r\n\tconst getMeta = () => {\r\n\t\tif (isEnvProd) {\r\n\t\t\treturn [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'description',\r\n\t\t\t\t\tcontent: `${getDesc()}`,\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t} else {\r\n\t\t\treturn [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'description',\r\n\t\t\t\t\tcontent: `${getDesc()}`,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'robots',\r\n\t\t\t\t\tcontent: 'none',\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t}\r\n\t}\r\n\r\n\treturn \r\n}\r\n\r\nfunction errorFallback({ error, resetErrorBoundary }: FallbackProps) {\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst App: React.FC = () => {\r\n\tconst isEnvProd = process.env.REACT_APP_ENVIRONMENT === 'production'\r\n\tlet version = packageJson.version\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t}>\r\n\t\t\t\t\t\t logError(error)}>\r\n\t\t\t\t\t\t\t} //If not pass, nothing appears at the time of new version check.\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport default App\r\n"],"names":["appConfig","country","PurposeOfDeposit","MoneySource","DepositOwner","OccupationType","PurposeOfLoan","TaxCountry","MaritalStatus","AccommodationType","Education","EmploymentSector","Gender","ChildrenAge","PropertyType","kycCurrenciesAndValues","currency","income","expectedDeposits","expectedDepositsAmount","expectedWithdrawals","expectedWithdrawalsAmount","purposeOfLoan","Consumption","DebtConsolidation","Renovation","HomeExpenses","Healthcare","Travel","PurchaseVehicle","Donation","RealEstatePurchase","Other","occupation","Permanent","PartTime","Entrepreneur","Pensioner","Unemployed","Student","TemporarilyEmployed","moneySource","Income","Savings","Investments","Inheritance","Gift","SalesOfProperty","SalesOfVehicle","SalesOfCulture","SaleOfCompany","Gambling","OtherBusiness","CapitalGains","InsuranceReimbursement","SocialInsuranceAllowance","purposeOfDeposit","NextInKin","SavingForProperty","EconomicSecurity","PrivateConsumption","Investment","Retirement","PrivateInvestment","SickLeave","EmployedByHours","OtherSavings","value","labelKey","labelParams","min","formatNumberWithSpaces","max","depositOwner","Yes","YesGuardian","Children","Retired","WorkClarificationAllowance","Farmer","Substitute","StayHome","Disabled","IncomeBussinessAndRental","Housewife","PublicServant","FixedTerm","education","ProfessEducation","Basic","HighSchool","University","employmentSector","Administration","Agriculture","Art","Finance","ConstructionRealEstate","Culture","EducationScience","PublicSector","IndustryEnergy","LegalOrJudicial","Business","Technician","Health","Security","Services","Technology","Transport","Tourism","StallHolder","maritalStatus","Married","Divorced","Cohabitee","Single","Widow","accommodationType","Renter","Tenant","WithParents","Owner","Employee","WithoutEmployment","CountryCode","Locale","NationalityType","CountryA3","AllCountries","supportedLngs","lngs","Object","keys","languages","filter","x","includes","forEach","mainLng","getMainLng","push","WhiteListedLngs","i18n","use","Backend","LanguageDetector","initReactI18next","init","fallbackLng","lng","_ref","_localStorage$getItem","localStorage","getItem","debug","process","interpolation","escapeValue","detection","order","backend","requestOptions","cache","on","document","documentElement","lang","undefined","split","TranslationFile","CookieType","getMarket","getCountryA3","de","no","at","se","fi","dk","es","it","ee","lt","lv","getLanguageLocale","stringifyNum","num","options","toLocaleString","maximumFractionDigits","minimumFractionDigits","stringifyBooleanAsUi","bool","checkIsMobile","test","navigator","userAgent","substr","window","innerWidth","checkIsTablet","getCurrency","isIOS","platform","isSafariBrowser","isChrome","indexOf","async","waitForLanguage","i18next","language","Promise","resolve","setTimeout","getErrorWithFullMessage","error","console","warn","response","data","Error","status","message","GetExpectedDepositsAmountOptions","t","useTranslation","Dropdown","countryData","find","e","map","option","label","GetExpectedWithdrawalsAmountOptions","Intl","NumberFormat","format","GetTranslationString","key","countrySpecVal","propertyName","length","valueOf","getAllCountriesUsingMarketSpecificSorting","market","GetAllCountriesWithTranslation","sort","marketSortEE","a","b","marketSpecificSort","coutrySpecificSortingOrder","aIndex","bIndex","Countries","countriesUnsorted","countriesSorted","countriesFiltered","item","toUpperCase","countryA","countryB","localeCompare","CountrySpecificValues","translationSource","arguments","temp","listOfProperties","entries","FormatEnumToList","enumType","isSpecific","val","hasCountrySpecificValues","StringIsNotNumber","toString","isNaN","Number","properties","getQueryParams","ReturnUrl","queryString","location","search","url","URL","decodeURIComponent","downloadBlob","blob","name","createObjectURL","link","createElement","style","display","href","download","body","appendChild","click","showBlob","windowRef","fileName","webkitURL","revokeObjectURL","validateOtpCode","otpCode","RegExp","nameof","instance","setVocative","tempValue","vocative","as","ė","is","us","ys","endsWith","voc","substring","lastIndexOf","currencyData","SEK","symbol","DKK","EUR","USD","sortString","getCustomerInfoCookieName","cookieName","CustomerInfo","sessionStorage","LoanCustomer","DepositCustomer","DepositCustomerInfo","getClientSettings","response_mode","authority","authorityBaseUrl","client_id","redirect_uri","origin","response_type","loadUserInfo","post_logout_redirect_uri","scope","system","environment","automaticSilentRenew","clockSkew","userStore","WebStorageStateStore","store","userManager","UserManager","AuthContext","createContext","isAuthenticated","loadingAuth","setLoadingAuth","UseAuthProvider","children","useState","checkAuth","React","user","getUser","Boolean","expired","setIsAuthenticated","_jsx","Provider","isMobile","useContext","_jsxs","_Fragment","height","Container","position","paddingBottom","src","tf21_error_404","className","alt","BoxInfo","css","BoxInfoWithButton","_ref2","button","ErrorMessageLegacy","_ref4","ErrorMessage","_ref5","ValidationError","_ref6","BoxInfoSuccessCheckmark","_ref7","resetErrorBoundary","ResetButton","type","onClick","LifeCycleStatus","Status","Decision","getColor","list","loanType","getAccessTokenParam","props","info","access_token","reactPlugin","ReactPlugin","appInsights","ApplicationInsights","config","instrumentationKey","enableAutoRouteTracking","extensions","loadAppInsights","trackPageView","logEvent","trackEvent","logError","trackException","exception","severityLevel","SeverityLevel","tokenInfo","getHeadersWithJwtToken","expires_at","profile","headers","Authorization","sub","getSystemVersionHeaderValue","authenticationServiceCancelToken","cancelSource","axios","source","getToken","token","resetCancelToken","cancel","retrieveAxiosCancelToken","apiRoutes","adminPing","idCardAuth","id","mobileIdAuthInitiate","mobileIdAuthComplete","smartIdAuthInitiate","smartIdAuthComplete","signicatAuthLink","signicatAuthResult","signicatAuthMitId","norwegianBankIdAuthLink","norwegianBankIdAuthResult","norwegianBankIdApplicationAuthResult","bankIdv2AuthInitiate","bankIdv2AuthCollect","bankIdv2AuthCancel","bankIdv2GenerateQrCode","germanyAuthenticate","germanyOtpStart","germanyOtpComplete","italyAuthenticate","italyOtpStart","italyOtpStartSsp","italyOtpCompleteSsp","austriaOtpStart","austriaOtpComplete","spainAuthenticate","spainOtpStart","spainOtpStartSsp","spainOtpComplete","spainOtpCompleteSsp","loanOtpStart","electronicIDToken","applicationId","product","electronicIDVerificationRequest","customerDataBaseUrl","redirectTo","getArtifactBbBank","requestId","taskId","getArtifactDk","getArtifactFi","getLoansData","getRepaymentPlan","updateSubscription","sendEmail","getApplicationInformation","getSigningUrl","signingUrl","uploadDocument","getDocument","documentType","getKycData","updateKycCustomerData","lookupAddressInAddressService","inputAddress","getDepositsData","getDepositsDataV2","getCustomerDetails","getCustomerDetailsV2","updateCustomerData","updateCustomerDataV2","updatePpi","updateSbl","updateMissingKyc","addPublicNote","getFAQ","productType","addTermsAndConditionAccepted","updateBankInfo","getDownloadDocuments","getDownloadDocumentById","documentId","updateCustomerConsents","printPn","updateLoanData","sddEnrollmentInitiate","sddEnrollmentComplete","sddResendOtp","getSddActivePct","getSddIbans","partyId","getSddIsEligible","getSddMandate","getSddMandateDocument","mandateDocumentId","sddMandateDisable","attachVideoIdentification","esignBaseUrl","createVideoIdentity","updateApplicationInformation","runmulticashpreliminarydecision","runcreditcardpreliminarydecision","runcreditdecision","runmulticashcreditdecision","runcreditcardcreditdecision","confirmApplication","confirmMultiCashApplication","signPnInit","signPnComplete","signPnResendOtp","removedirectdebit","getNordigenBanks","getNordigenAgreement","institutionId","createNordigenRequisitions","getNordigenListAccount","requisitionId","eParakstsAuthLink","eParakstsAuthResult","transportWithCredentials","Axios","isCornicheCountry","interceptors","request","customerDataApiService","getLoanData","countryCode","removeItem","get","then","result","customer","setItem","JSON","stringify","CustomerName","personalInfo","firstName","loans","catch","err","log","depositAccounts","updateCustomerDetails","userData","depositData","post","loanData","getSignedDocument","repaymentPlanId","responseType","mimeType","GetApplicationInformation","GetSigningUrls","UploadDocument","uploadDocumentRequest","documents","KycRenewal","timeToRenew","getKycDataWithNationalId","nationalId","customerData","ppiData","ppi","sblData","updateMissingKycData","addPublicNoteData","bankInfo","updateCustomerConsent","customerConsents","ssn","ActiveSort","SortingArrows","sortAsc","sortDesc","useActiveArrow","None","activeArrow","setActiveArrow","useEffect","FontAwesomeIcon","Asc","icon","Desc","sessionStorageKey","setValue","client","AppConfigurationClient","fallbackConfigValues","getFallbackConfigValues","addConfigurationSetting","updateConfigurationSetting","setConfigurationSetting","getConfigurationSetting","retryCount","settings","listConfigurationSettings","keyFilter","labelFilter","fields","toggles","setting","this","deleteConfigurationsSetting","deleteConfigurationSetting","AppConfigContext","toggle","ready","UseAzureAppConfigProvider","setToggle","setReadyState","getConfig","useCallback","appConfigurationService","CircleSpinner","LoadingSpinner","showTooltip","setShowTooltip","node","useRef","handleClick","_node$current","current","contains","target","addEventListener","removeEventListener","ref","text","IdleTimeOutModal","showModal","handleClose","handleLogout","remainingTime","time","setTime","seconds","minutes","clearCounterAndHandleClose","prev","title","interval","setInterval","clearInterval","Modal","show","onHide","animation","centered","backdrop","Header","closeButton","Image","Body","Footer","Button","variant","CustomerForm","DocumentTypes","LoanType","SortPropType","ProductType","PaymentReliefTypes","Approved","CustomerVerification","Female","EU","DE","NorCredento","NotCreated","Created","ElevenToFourteen","idleTimerService","setTimer","isTimedOut","onIdle","timer","idleTimer","reset","navigate","appRoutes","MaintenanceWindow","_GetPropertyDescripto","_GetPropertyDescripto2","maintenanceData","setMaintenanceData","MaintenanceContext","propName","getDurationMessage","GetPropertyDescriptor","durationMessage","getPreMessage","preMessage","getOwnPropertyDescriptor","IfMaintenanceWindow","startTime","Date","maintenanceWindowFrom","endTime","maintenanceWindowTo","preStartTime","timeNow","now","preMessageTimeInMinutes","minutesBeforeMaintenance","setMinutes","getMinutes","isPreMessage","isInTimeRange","color","MaintenanceContextProvider","maintenanceInfo","getMaintenanceInfo","_err$response","checkMaintenanceInfo","affectedMarkets","CountryValuesProductType","countryValues","tfFullName","copyRight","links","about","cookie","address","companyName","addressLine1","zipCodeAndCity","productSpecific","All","contactInformation","email","phoneNumber","postalAddress","loanSecurity","addressLine2","phoneNumber2","forms","financialDifficulties","consumerLoan","cashLoan","carLoan","renovationLoan","refinance","email2","MyPagesContext","staticCountryValues","MyPagesContextProvider","setStaticCountryValues","setProductType","GetStaticCountryValues","component","Component","redirect","useStateWithSessionStorage","RedirectUrl","pathname","args","toLowerCase","Navigate","to","left","right","xs","tooltip","Tooltip","ExpandableComponent","content","backgroundColor","expanded","chevron","expand","setExpand","border","borderLeft","SmoothCollapse","allowOverflowWhenOpen","styleHover","documentInfo","hover","setHover","loading","setLoading","setError","rp","buttonText","setFullError","downloadSignedDocument","pn","SignedPromissoryNote","downloadPnDocument","opt","toggleHover","Alert","dismissible","onClose","onMouseEnter","onMouseLeave","event","LoanHeaders","PaymentInfoHeaders","LoanInfoHeaders","LoanNumber","Balance","Product","Partner","Amount","ExpirationDate","OCR","PlusGiro","TotalBalance","MonthlyAmount","Interest","OriginalAmount","Ppi","IsPaymentHolidayPossible","BaseInterestRate","MarginInterestRate","OpeningDate","Receiver","SignedCreditLimit","CurrentPrincipal","Overpayment","isLtMixedPricingDPD","loan","_loan$paymentReliefs","paymentReliefs","some","MixedPricingDPD","showBaseAndMarginRates","isNewProduct","FinCashLoan","FinHalensLoan","FinRefinLoan","FinHalensLoanPpi","FinCashLoanPpi","FinRefinLoanPpi","getLoanHeader","agreementNumber","sortStr","unpaidInvoices","Cash","externalPartnerName","latestDisbursementDate","toLocaleDateString","replaceAll","getLoanPaymentInfo","latestDueDate","ocr","iban","getLoanInfo","signedCreditLimit","CreditLine","exists","currentPrincipal","totalBalance","lastIssuedInvoiceAmount","overPayment","baseInterestRate","interestRate","originalAmount","PpiValidFrom","ppiValidFrom","isPaymentHolidayPossible","downloadRepaymentplan","repaymentPlanID","downloadSignedPromissoryNote","_loan$documentsInfo","documentsInfo","downloadPromissoryNote","_loan$documentsInfo2","PromissoryNote","getDataDeposit","deposit","balance","term","presetWithdrawalAccountPrefix","presetWithdrawalAccount","startsWith","accruedInterest","getDepositInfo","bankGiroDeposit","plusGiroDeposit","bicDeposit","ibanDeposit","Toggle","MyPagesCustomerInfoContext","refreshCustomerContext","MyPagesCustomerInfoContextProvider","setCustomer","personal","parse","onChangeValues","setData","setShow","getHeader","hasData","Array","isArray","isLoading","sortOn","index","findIndex","i","dataX","sorted","items","getChildData","buttonStyle","fontSize","borderRadius","fontWeight","outline","padding","width","ContainerHomePageText","unpaidInvoiceLink","rel","dpd","DownloadLoanDocumentButton","getChildDataWithProducts","LoanInfo","getLoans","Transaction","valueDate","paymentTypeText","amount","formatFromToIsoDate","date","expectedFormat","dt","DateTime","fromFormat","locale","isValid","toISODate","formatToStringLocale","fromISO","setLocale","day","month","year","CountdownTimer","duration","expiryDate","dur","getTime","Duration","fromMillis","fromObject","difference","setDifference","plus","diff","timeIsUp","state","minus","second","toFormat","defaults","accountAgreementId","accountTransactionDate","defaultTransactionsContext","transactions","loadingTransactions","errorTransactions","TransactionsContext","TransactionsContextProvider","overviewData","isCard","SspContext","setState","accountNumber","deriveisCard","getTransactionsService","transactionDate","getDepositTransactionsService","accountAgreementOpenDate","fetchTransactions","useTransactions","hideShowMore","setHideShowMore","tableData","setTableData","activeSortByItem","setActiveSortByItem","monthsTransactions","setMonthsTransactions","sortData","valueA","valueB","sortTransactions","sortedData","getMoreTransactionsFromMonth","sliceTo","getMonth","getFullYear","newArr","slice","SeeAll","isOverview","showMore","changeComponent","menuItems","Select","months","setMonths","selectedOption","setSelectedOption","currentMonth","n","safariCompliantFormat","from","_","onChange","onChangeSelect","hidden","CardItem","inlineIconStyle","specialContent","isCollapsed","setIsCollapsed","toggleCollapse","size","faChevronDown","faChevronUp","columns","subData","shownColumns","expandedRows","setExpandedRows","activeSort","setActiveSort","activeSortArrow","setActiveSortArrow","isRowExpanded","getDataAlignment","align","header","Sort","column","newSortArrow","d","role","key2","shownValue","Cell","original","isExpanded","accessor","colSpan","lat","long","latitude","parseFloat","longitude","isLoaded","useLoadScript","googleMapsApiKey","center","GoogleMap","mapContainerStyle","overflow","zoom","Marker","getTableData","_consumerClarity$merc","_consumerClarity$merc2","_consumerClarity$merc3","_consumerClarity$merc4","_consumerClarity$merc5","_consumerClarity$merc6","_consumerClarity$merc7","_consumerClarity$merc8","_consumerClarity$merc9","_consumerClarity$merc10","_consumerClarity$merc11","_consumerClarity$merc12","_consumerClarity$carb","_consumerClarity$carb2","_consumerClarity$merc13","_consumerClarity$merc14","_consumerClarity$merc15","_consumerClarity$merc16","_consumerClarity$merc17","consumerClarity","transactionProps","merchantResult","merchantLocation","imgUrl","logos","imgAltText","altTextTag","merchantName","description","carbonGrams","carbonFootprint","carbonEmissionInGrams","carbonOunces","carbonEmissionInOunces","website","websiteUrl","phone","merchantLogo","vendor","bookingDate","isBlockedAuthorization","TableHeaders","billingAmount","billingCurrency","_ref3","invoiceAmount","row","Table","dataRow","_consumerClarity$merc18","_consumerClarity$merc19","_consumerClarity$merc20","_consumerClarity$merc21","_consumerClarity$merc22","_consumerClarity$merc23","_dataRow$consumerClar","_dataRow$consumerClar2","_dataRow$consumerClar3","_dataRow$consumerClar4","_dataRow$consumerClar5","_dataRow$consumerClar6","_dataRow$consumerClar7","_dataRow$consumerClar8","_dataRow$consumerClar9","_dataRow$consumerClar10","_dataRow$consumerClar11","_dataRow$consumerClar12","_dataRow$consumerClar13","_dataRow$consumerClar14","_dataRow$consumerClar15","_dataRow$consumerClar16","_dataRow$consumerClar17","_dataRow$consumerClar18","_dataRow$consumerClar19","_dataRow$consumerClar20","_dataRow$consumerClar21","_dataRow$consumerClar22","_dataRow$consumerClar23","_dataRow$consumerClar24","_dataRow$consumerClar25","_dataRow$consumerClar26","_dataRow$consumerClar27","_dataRow$consumerClar28","_dataRow$consumerClar29","contact","currencyInfo","currencyCode","getCurrencyInfo","transactionType","faChartLine","exchangeRate","merchantCategory","faShoePrints","transform","Map","faEnvelope","faPhone","faGlobeAmericas","useSspContext","IMSAgreementStatus","StatusIssuer","StatusCardActivation","StatusUser","CustomerStatus","sddService","sddCustomerEligible","sddCustomerMandate","Blob","enrollmentData","disableMandate","SDDDisableModal","setSddRefreshData","success","setSuccess","setPartyId","customerId","keyboard","Title","Trans","i18nKey","finally","disableSddMandate","SDDOverview","isSddEligible","sddMandate","setSddMandate","renewMandate","setRenewMandate","showDisableModal","setShowDisableModal","activeMandate","mandateData","validFromDate","debtorIban","Heading","open","download_interface_cream","initialState","steps","nextButtonText","hidePreviousBtn","MSP_ACTIONS","reducer","msp","action","payload","MspDispatchContext","dispatchMsp","multisteps","hidePreviousButton","resetInitialState","Translation","useReducer","isFirstPage","setIsFirstPage","isLastPage","setIsLastPage","currentStep","setCurrentStep","setReset","nextButtonFunc","getMultisteps","savedSteps","activeSteps","mscontainer","getElementById","mscontainerrect","getBoundingClientRect","scrollTo","scrollX","top","scrollY","behavior","scrollToTop","nextPage","getPagination","stepCompleted","step","isDone","ProgressBar","FormWrapper","controls","formMeta","DepositInformationForm","Forms","fieldSetName","formName","visible","required","controlName","col","deposits","purposeOfDeposits","purposeOfDepositsOther","condition","when","field","rule","fullSize","moneySourceOther","ExpectedDeposits","ExpectedDepositsAmount","ExpectedWithdrawls","ExpectedWithdrawlsAmount","Occupation","employments","occupationType","taxCountry","taxCountryOther","tin","fatca","PepInformationFormDE_NO","customerType","politicallyExposedPerson","connectedToPep","PepInformationForm","PepInformationBalticForm","require","LoanInformationForm","SetPasswordIdCheckForm","collapsable","mobilePhoneNumber","wrapperClass","disabled","ContactForm","LoanInformationFormFi","LoanInformationFormEe","maxLength","validations","code","multiple","street","postalCode","city","LoanInformationFormLv","LoanInformationFormLt","DepositInformationFormFi","DepositInformationFormNo","CustomerInformationFormSddDE_AT","lastName","houseNumber","senderIban","MapIban","bankInfoList","placeholder","CashToAccountForm","OtpStartFormEs","getQueryValues","_sessionStorage$getIt","parseNumbers","query","applicationid","readonly","OtpCompleteForm","DepositInformationFormDe","FormFactory","formType","DepositForm","composeForm","LoanForm","CustomerInformationFormSDD","assign","formPartials","SDDCustomerInformationForm","sdd","dispatchSdd","SddDispatchContext","setErr","setDate","formSchema","blockName","getDataUrl","validationErrorList","requiredMessage","submitButtonText","SDD_ACTIONS","SET_DESCRIPTION","getDate","FormBuilder","apiError","showErrorsInForm","showSubmitButton","onSubmit","values","bankInfoItem","SET_BANK_INFO","debtorBic","senderBic","proceed","SDDTermsAndConditions","terms","setTerms","approveTermsAndConditions","setApproveTermsAndConditions","SET_APPROVE_TERMS","approvedTerms","getActivePct","termsAndConditions","dangerouslySetInnerHTML","__html","checked","AuthError","setAuthSelect","setOtpCode","tryAgain","goBack","OtpDistributionChannel","Market","SddWithdrawalType","otpAuthMethods","otpDistributionChannel","Email","iconActive","email_active","iconInactive","email_inactive","SMS","sms_active","sms_inactive","PushNotification","mobileapp_active","mobileapp_inactive","AuthSelectButtons","otpSessionResponse","setOtpSessionResponse","authSelect","authType","setAuthType","Unknown","resendOtp","sessionId","emailAddress","distributionChannel","SET_OTP_INFO","otpDistributedToContactInfo","expiryAtUtc","setAuth","SET_DISTRIBUTION_CHANNEL","getAuthOtp","SET_AUTH_SELECT","isActive","method","maskedEmail","maskedEmailPart1","maskedEmailPart2","emailString","firstLetter","middleAt","lastDot","replace","maskedPhoneNr","phoneNr","maskedNr","firstThree","lastThree","AuthValidation","timeOut","setTimeOut","remaining","parts","days","Math","floor","hours","minimumIntegerDigits","updateRemainingTime","setOtpData","validateOtp","sddWithdrawalType","withdrawalAmount","SET_MANDATE_DOC","setAuthComplete","SDDAuthentication","SDDSuccessResponse","Global","Minimum","SET_CUSTOMER_INFO","SET_BANK_INFO_LIST","SET_CUSTOMER_INFO_COMPLETE","SET_SESSION_ID","SddMultistepValues","multistepValues","authComplete","Multistep","SepaDirectDebit","load","setLoad","showMultistep","setShowMultistep","setBankInfo","getMultistep","eligible","setTargetForAnchors","html","answer","trim","innerHTML","childList","getElementsByTagName","setAttribute","AccordionItem","question","sanitizer","dompurify","setOpen","nestedQuestions","rowKey","crossCls","containerCls","join","_tableData$","transactionTypeUiString","cols","itemsToRender","MobileTransactions","TableLegacy","SkeletonLoader","TransactionsComponent","transactionsComponent","CardTransactions","DepositTransactions","Transactions","KycModal","showKycModal","setShowKycModal","showThankYouPage","setShowThankYouPage","valuesToSubmit","useSelector","formKeySelector","errors","updateCustomerObj","_valuesToSubmit$purpo","_valuesToSubmit$money","_valuesToSubmit$money2","_valuesToSubmit$depos","_valuesToSubmit$expec","_valuesToSubmit$expec2","_valuesToSubmit$expec3","_valuesToSubmit$expec4","_valuesToSubmit$benif","_valuesToSubmit$purpo2","_valuesToSubmit$purpo3","_valuesToSubmit$occup","_valuesToSubmit$taxCo","_valuesToSubmit$taxCo2","_valuesToSubmit$tin","_valuesToSubmit$fatca","_valuesToSubmit$stree","_valuesToSubmit$house","_valuesToSubmit$apart","_valuesToSubmit$count","_valuesToSubmit$posta","_valuesToSubmit$city","_valuesToSubmit$regio","_valuesToSubmit$short","_valuesToSubmit$phone","_valuesToSubmit$email","_valuesToSubmit$polit","_valuesToSubmit$conne","benificialOwner","purposeOfLoanOther","apartmentNumber","region","shortAddress","textTransform","saveCustomerToSessionStorage","submit","KycWrapper","kyc","_customerOldInfo$pers","_customerOldInfo$addr","_customerOldInfo$addr2","_customerOldInfo$pers2","_customerOldInfo$pers3","_customerOldInfo$pers4","_customerOldInfo$pers5","_customer$address","_customerOldInfo$addr3","_customer$address2","_customerOldInfo$addr4","_customerOldInfo$addr5","_customer$address3","_customerOldInfo$addr6","_customer$address4","_customer$address4$co","_customerOldInfo$addr7","_customerOldInfo$cont","oldCustomerData","defaultCustomerFlags","noAdvertisement","noDataConsent","customerFlags","customerOldInfo","middleName","street2","zip","customerCountry","invoiceAddress","contacts","cellPhone","homePhone","customerInfoData","mapCountryCode","useCardImage","isMarketing","img","setImg","getCardImageForNo","getCardImageForEu","goldcard_no_mc","bluecard_no","goldcard_no","marketing","Card","imageRef","checkDate","currentDate","toJSON","startDate","endDate","check","ModalBody","bodyTitle","bodyText","ModalFooter","ctaLink","ctaButtonText","showFooterButtonClose","isCtaLinkInternalNavigation","handleCtaClick","renderCtaButton","Link","ModalHeader","headerTitle","headerImage","InformationModal","CardImg","imageLink","InfoBox","fullDate","cardNr","isTablet","availableCreditAmount","creditLimit","reservedAmount","CardOverview","useLocation","setComponent","hadleCloseInformationModal","hasCustomerSeenInformationModal","informationModalData","creditCardData","setCreditCardData","cardExpirationDate","creditCardNo","active","innerHeight","depositInfo","bankAccountNumbersDe","bankAccountNumbersNo","DepositOverview","setDepositData","setDepositInfo","note","indexIban","indexBic","Overview","overview","setOverview","accountStatementId","additionalData","PaymentInformation","archiveTitle","archiveDescription","accountStatements","setAccountStatements","bankAccountNumbers","getAccountStatementsService","accountOwnerPartyId","getDepositAccountStatementsService","getAccountStatements","depositItems","whiteSpace","DownloadItem","depositCols","getAccountStatement","getAccountStatementService","getDepositAccountStatementService","invoiceArchiveItems","accountStatementDate","period","periodStartDate","periodEndDate","minAmountToPay","paymentAmount","paymentCurrency","downloadPdf","PaymenyInfoMobile","Closed","agreementStatus","termItemsCard","contract_bronze","contract_bronze_2","hand_gray","standards_bronze","termItemsDeposit","termItemsDepositFixed","Terms","useMemo","sspLinkData","setSspLinkData","termsDoc","setTermsDoc","getTerms","countryTerms","getTermsDocuments","getSspTermsService","productId","partitionKey","res","Contact","ServiceInformationGermanyAustria","_value$bankInformatio","_value$bankInformatio2","Deposit_Fixed","openingHours","Deposit","bankInformation","bic","ServiceInformationNorway","contactForm","sendEmailSspService","emailFrom","subject","cardId","ShowPin","setUrl","iframeHeight","getPinUrlService","cardID","showPin","CustomerInformationForm","MyAccountNo","customerInformation","setCustomerInformation","updateCustomerService","customerInfo","updateCustomerInformation","_customer$mobilePhone","_customer$email","bankId","Stepper","activeStep","stepAmount","clsx","fill","StepperHeader","useStepper","initialStep","setActiveStep","isFirstStep","isLastStep","nextStep","prevStep","resetSteps","AccountAddressFormDE_AT","AccountEmailFormDE_AT","AccountMobilePhoneFormDE_AT","AddressForm","onSuccess","adressFormSchema","ContactInfoChangeType","initiateUserUpdate","params","completeUserUpdateErrors","deriveUserUpdateError","isDeposit","completeUserUpdate","isAxiosError","getErrorMessage","maybeError","String","toErrorWithMessage","forceNavigateHome","bind","r","hasOwnProperty","call","apply","SvgSmartphone","svgRef","titleId","viewBox","xmlns","fillRule","clipRule","SvgMail","stroke","strokeLinecap","strokeLinejoin","AddressSecurityCode","radio","setRadio","initiateUserUpdateMutation","useMutation","mutationFn","changeType","Address","Mail","SmartPhone","isError","mutate","OtpInput","ReactOtpInput","numInputs","renderInput","skipDefaultStyles","containerStyle","inputStyle","AddressOtp","_completeUserUpdateMu","otp","setOtp","completeUserUpdateMutation","ContactOtpLength","SvgDone","SvgWrong","Screen","transperentBackground","rest","Message","Done","Wrong","MessageCard","footer","Content","Success","successMessage","AddressChange","onGoBack","setSessionId","faChevronLeft","EmailForm","formData","newContactDetail","emailFormSchema","EmailOtp","EmailChange","PhoneForm","PhoneNumber","mobilePhoneFormSchema","PhoneOtp","PhoneChange","FormInfo","FormInfoValue","InfoContainer","InfoTitle","Info","InfoLabel","_ref8","InfoValue","_ref9","FloatRight","Value","_contactChangeStatusQ","_contactChangeStatusQ2","_contactChangeStatusQ3","_contactChangeStatusQ4","_contactChangeStatusQ5","_contactChangeStatusQ6","_contactChangeStatusQ7","onInfoClick","contactChangeStatusQuery","useQuery","queryFn","getContactChangeStatus","renderedHeading","canChangeAddress","faPen","canChangeContactInfo","MyAccount","currentPage","setCurrentPage","handleGoBack","Faq","getFaq","parent","accountDebitBalance","accountCreditBalance","interestReceived","interestPaid","AnnualReport","getAnnualReportService","getAnnualReport","MobileAnnualReport","newCard","updateCard","ActivateLockCard","newStatus","setNewStatus","newDataSet","setNewDataSet","currentStatus","setCurrentStatus","statusIssuer","Active","statusUser","statusCardActivation","statusDisplayed","Decline","statusUserNote","PickUpGeneral","statusIssuerNote","cardAgreementId","dropDown","NotActive","statusCardActivationNote","cls","Column","OrderNewCard","orderNewCardService","updateCardStatusService","updateCardStatus","deriveFancyStep","minNumber","maxNumber","gap","useFancyNumber","initialNumber","number","setNumber","offSetFromStep","onIncrease","calculatedStep","onDecrease","onNumberChange","onValidate","percentage","FancyNumber","decreaseLimit","Input","isMinusSpinning","setMinusSpinning","isPlusSpinning","setPlusSpinning","onTransitionEnd","onBlur","onFocus","select","InputLabel","Slider","handleChange","roundedValue","round","roundToStep","backgroundImage","SliderLabel","fieldName","register","formState","useFormContext","isHover","setIsHover","htmlFor","Warning","selected","valueNumber","setValueNumber","decrement","newValue","readOnly","defaultValue","increment","_errors$fieldName","haveCurrency","watch","fieldValue","handler","Spinner","SpinnerCard","SpinnerScreen","variants","plain","ghost","primary","secondary","forwardRef","increaseLimit","conditionallyRequiredNumber","isIt","z","string","refine","RequiredNumber","desiredLimit","useNavigate","isChecked","setIsChecked","isMortgageDisabled","setIsMortgageDisabled","isRentalCostDisabled","setIsRentalCostDisabled","isCarLoanDisabled","setIsCarLoanDisabled","useForm","increaseLimitMutation","schema","object","nativeEnum","childrenInHousehold","coerce","default","accomodationType","netMonthlyIncome","totalMortgageCosts","monthlyMortgageCosts","rentalCosts","hasCarLoan","boolean","totalCarLoan","montlyCarLoanCost","methods","resolver","zodResolver","isSuccess","decision","errorMessage","Investigation","Rejected","Invalid","FormProvider","handleSubmit","procData","mobileNumber","o","Switcher","FormInput","selectedValue","Checkbox","handleCheckboxChange","prevState","ChangeCreditLimit","showIncreaseForm","setShowIncreaseForm","fancyNumber","decreaseLimitMutation","IncreaseLimitForm","WithdrawalNo","typeOfAccount","referalLink","daysLeft","copyLinkSuccess","setCopyLinkSuccess","copyLinkError","setCopyLinkError","onPaste","preventDefault","onCopy","onMouseDown","referralLink","copyReferalLink","numberOfTimesUsed","validTimes","clipboard","writeText","createReferalLink","loadingSmall","ReferFriends","setReferalLink","referalLinkFriends","setReferalLinkFriends","setDaysLeft","setLoadingSmall","calculateDays","secDate","validTo","oneDay","firstDate","secondDate","diffDays","abs","getReferalLinkService","dataLink","details","getReferalLink","GetReferalLinkFriendsService","getReferalFriendsLink","instructions","GeneratedLinkBox","GenerateBtnBox","createReferalLinkService","moreInfoLink","cardEnrollment","SetPasswordIdCheck","password","repeatPassword","checkPassword","parseInt","cardHolderId","phoneNo","setPasswordIdCheckService","setPassword","Label","Field","onWheel","currentTarget","blur","FieldRight","Description","assetType","WithdrawalDe","_assetsQuery$data","_assetsQuery$data3","closeAccount","setCloseAccount","assetsQuery","getAssetsService","assets","asset","createWithdrawalMutation","createWithdrawalService","referenceAccountIban","choosenAsset","referenceAccountBic","nameOnReferenceAccount","setName","_assetsQuery$data2","textAlign","c","justifyContent","updateAgreementConditionService","updateAgreementConditionPayload","PpiDe","hasPPI","setShowModal","setSucces","Switch","uncheckedIcon","checkedIcon","onColor","EnableModal","DisableModal","enablePpiMutation","accountConfiguration","conditionValue","conditionIndex","baseAmount","disablePpiMutation","StepTwo","stepper","finalState","onSettled","cashToAccountFinalMutation","cashToAccountFinal","onError","DropdownDescription","DropdownError","Option","minNumbers","StepOne","_dirtyData$amount","_ibansQuery$data","_ibansQuery$data$find","dirtyData","cashToAccountPreliminaryParams","cashToAccountPreliminaryMutation","queryKey","cashToAccountPreliminary","ibansQuery","getIbans","enabled","setIban","derivedBic","inputMode","StepThree","CashToAccount","setFinalState","stepThreeStatus","setStepThreeStatus","RSwitch","allowMarketingConsent","requestData","statusText","queryClient","useQueryClient","updateMarketingConsentService","invalidateQueries","MarketingConsent","_customerData$allowMa","setAllowMarketingConsent","alert","setAlert","updateMarketingConsent","useUpdateMarketingConsent","faCircleCheck","faCircleXmark","fluid","Row","Col","md","handleDiameter","handleSwitchChange","newConsentStatus","marketingConsentImage","useUserCardSettings","getUserCardSettings","useUpdateUserCardSettings","updateUserSettings","RegionUsage","userCardSettingsFormSchema","onlineIsBlocked","optional","onlineDailyLimit","union","nullable","pipe","null","onlineMonthlyLimit","inStoreIsBlocked","inStoreDailyLimit","inStoreMonthlyLimit","atmIsBlocked","atmDailyLimit","atmMonthlyLimit","purchaseFormError","atmFormError","storeFormError","allowedRegionUsagePresent","errorMap","allowedRegionUsageNotPresent","path","CardSettings","refetch","isRefreshing","setIsRefreshing","setOnlineIsBlocked","setAtmIsBlocked","setInStoreIsBlocked","isSubmitting","setIsSubmitting","control","trigger","isDirty","mode","reValidateMode","defaultValues","_data$onlineDailyLimi","_data$onlineMonthlyLi","_data$atmDailyLimit","_data$atmMonthlyLimit","_data$inStoreDailyLim","_data$inStoreMonthlyL","mapRegionStringToNumber","EuropeanEconomicArea","IssuingCountry","shouldDirty","backendData","onlineDailyIsUnlimited","onlineMonthlyIsUnlimited","inStoreDailyIsUnlimited","inStoreMonthlyIsUnlimited","atmDailyIsUnlimited","atmMonthlyIsUnlimited","settingsCreatedFrom","transformToBackendFormat","validationResult","safeParse","flatten","Controller","render","_field$value","_field$value2","_field$value3","_field$value4","_field$value5","_ref10","_field$value6","_ref11","products","countries","getReturnUrl","callbackPath","getSignicatReturnUrl","getNorwegianBankIdReturnUrl","maskSsn","geteParakstsReturnUrl","Loan","initialSspContext","isDepositFixed","overviewDataList","sddRefreshData","setOverviewData","setIsCard","setIsDepositFixed","setIsMarketing","setIsSddEligible","numberOfTransactions","setNumberOfTransactions","transaction","getDeposits","depositType","OutOfServiceModal","dialogClassName","line","userName","setUserName","setUserNameFunc","retriesLeft","nameFromCookie","tempUserName","setLoans","hasValue","hasError","setDeposits","tagManagerArgs","dataLayer","userId","userProject","page","TagManager","Loans","Deposits","AddressService","onSelectAddress","setInputAddress","addressResults","setAddressResults","debounceTimeout","clearTimeout","handleAddressSelect","selectedAddress","isDepositCustomer","isEstonianMarket","allowMultipleFormats","_user$address","_user$address2","_user$address3","_user$address4","_user$address5","_user$contacts","_user$contacts2","_user$personalInfo","_user$personalInfo2","_user$personalInfo3","_user$personalInfo4","_errors$contacts4","hide","_user$address6","_user$address7","_user$address8","_user$address9","_user$address10","_user$contacts3","_user$contacts4","Form","updatedValues","storedValue","noValidate","_errors$address","_errors$address$stree","_errors$address2","_errors$address2$zip","_errors$address3","_errors$address3$city","_errors$contacts","_errors$contacts$emai","_errors$contacts2","_user$contacts5","_errors$contacts3","ReactPhoneInput","inputProps","containerClass","onlyCountries","disableDropdown","countryCodeEditable","Control","Feedback","_personal$personalInf","_personal$contacts","_personal$contacts2","Languages","isShown","setIsShown","marketingExpanded","setMarketingExpanded","showMessage","setShowMessage","setPersonal","margin","animated","div","UserAddressInfo","tempPersonal","ChangeAddress","components","signinRedirect","signinCallback","saveAcceptedToC","signin","validatePhoneNumber","validCountries","_phone$country$toLowe","_phone$country2","_phone$country","parsePhoneNumberFromString","isPossible","isBalticCountry","CustomPhoneValidation","ValidatorConstraint","_dec","_class","validate","defaultMessage","ValidationSupport","_dec2","IsNotEmpty","_dec3","IsEmail","_dec4","_dec5","Validate","_class2","constructor","custom","_initializerDefineProperty","_descriptor","_descriptor2","_applyDecoratedDescriptor","prototype","configurable","enumerable","writable","initializer","_dec6","_dec7","Length","_dec8","_dec9","_class3","_descriptor3","_descriptor4","_dec10","_class4","refinAmount","_descriptor5","callback","initialValue","validator","setValues","setErrors","flattenObj","parseErrors","validationErrors","tempErrors","obj","constraints","property","objectToBeFlattened","withValues","_flatten","concat","element","objName","validateOrReject","updateValues","newValues","hideContactForm","setHideContactForm","supportService","setResponseMessage","ResponseMessage","setDisabled","responseMessage","maxHeight","errorObject","signoutRedirect","id_token_hint","clearStaleState","logout","classNames","faIcon","route","imgPath","userImg","isApplicationPage","setIsApplicationPage","urlSearch","urlPath","setLinks","tfbank21_logo_white","FooterLoggedOut","tfbank21_logo_symbol_white","vh","setProperty","setFullMobileViewHeight","logo","signoutRedirectCallback","clear","loginLink","setCustomerId","birthDate","setBirthDate","secret","setSecret","done","setDone","loginStart","formattedBirthDate","birthDateOnlyNumbers","newSecret","authenticationService","returnUrl","_ex$response","_ex$response$data","ex","loginComplete","redirectUrl","_ex$response2","_ex$response2$data","formatBirthDate","str","reverse","FormControl","autoFocus","isInvalid","onKeyDown","onValueChange","formattedValue","mask","isNumericString","authMethodType","authBtnClassName","btnClassName","buttonRounded","norwegianBankIdRedirectLinkGet","norwegianBankIdAuth","OtpContentBlock","formSchemaOtpStart","formSchemaOtpComplete","otpComplete","formValues","_E$response2","otpStart","_E$response","SigningRequestId","encodeURIComponent","protocol","hostname","certificateRequesterBaseUrl","TermsAndConditionBlock","getBirthday","firstNumber","charAt","getControlNumber","mod","multiplier1","multiplier2","total","validateSsn","validateEstonianSsn","idNumber","century","gender","dateOfBirth","checksum","digit","validateLithuanianSsn","personnummer","validateSwedishSsn","centuryDigit","birthDateString","weights","validateLatviaSsn","formatSsn","previousValue","setIsLoading","smartIdData","setSmartIdData","nationalIdentityNumber","setNationalIdentityNumber","nationalIdentityNumberIsValid","setNationalIdentityNumberIsValid","validateNationalIdentityNumber","smartIdAuthInit","setMobileNumber","mobileNumberIsValid","setMobileNumberIsValid","personalNumber","setPersonalNumber","personalNumberIsValid","setPersonalNumberIsValid","mobileIdAuthData","setMobileIdAuthData","urlParams","validatePersonalNumber","validateMobileNumber","challengeId","isValidSSN","isValidMobileNumber","validateAll","BalticOtpContentBlock","setIsDone","otpData","otpTimedOut","otpCodeIsValid","setOtpCodeIsValid","setSsn","ssnIsValid","setSsnIsValid","_response2","otpLoanStart","_response","eParakstsAuth","eParakstsRedirectLinkGet","AuthMethodType","eparaksts","BankIdSeAutoStartBlock","initiateBankIdAuth","cancelBankIdAuth","useBankIdAuth","initiateData","orderRef","iosMobileBankIdAutoStartUrl","bankIdAutoStartUrl","authenticate","qrCodeData","background","QRCode","maxWidth","QRCodeWrapper","shouldGenerate","setQRCodeData","fetchData","qrData","intervalId","QRCodeBlock","BankIdSeQRContentBlock","setOrderRef","setShouldGenerate","tryCancelBankIdAuth","tryCollectBankIdAuth","completeData","isCompleted","tryStartBankIdAuth","cancelOrderRef","authMethods","logoTitle","logoClassName","showInMobile","IdCardContentBlock","smartIdBasic","SmartIdContentBlock","mobileId","MobileIdContentBlock","EParakstsContentBlock","hideTitleInContent","balticOtp","bankIdQRStart","bankIdAutoStart","signicat","InitiateSignicatSigning","mitId","norwegianBankId","NorwegianBankIdContentBlock","norwegianBankIdBiometric","germanyOtp","GermanyOtp","spainOtp","loginContainerHeaderKey","signicatRedirectLinkGet","signicatMitIdRedirectLinkGet","norwegianBankIdMobile","onRequest","consoleLog","onRequestError","_error$config","_error$config2","errorDetails","timestamp","toUTCString","reject","onResponse","onResponseError","_error$response","basicErrorDetails","logInConsole","authRequest","cancelToken","cardIdAuthenticate","certificateContent","signicatResultGet","queryParams","authMethod","norwegianBankIdResultGet","norwegianBankIdApplicationResultGet","resp","isAutoStart","getArtifact","artifact","apiRoute","electronicIDAuthorizationToken","videoId","secretValue","form","eParakstsResultGet","isWaiting","setIsWaiting","URLSearchParams","errorMsg","authResult","filteredMethods","showAuthCardMenu","setShowAuthCardMenu","setContent","dataLayerName","getAuthIcon","isContent","showAuthTextInContent","AuthCardMenu","updateError","updateIsLoading","hasMultipleAuthMethods","AuthContent","cancelAuthRequest","history","timeout","userLoggedIn","counter","IdleTimer","onActive","onAction","debounce","stopOnIdle","Routes","Route","LoginPage","LogoutPage","ErrorPage","CallbackPage","SignicatCallbackPage","LogoutCallbackPage","PrivateRoute","HomePage","UserPage","SupportPage","EParakstsCallbackPage","BankIdCallbackPage","NotFoundPage","ChangeLanguage","changeLanguage","closIcon","_sessionStorage$getIt2","_sessionStorage$getIt3","_sessionStorage$getIt4","isApplication","setIsApplication","transitions","useTransition","opacity","enter","leave","visibility","Menu","webchatConfig","markets","languageSettings","langKey","queuesAddress","translationFileUrl","balticTestScriptSetting","data_ic","data_cc","balticProdScriptSetting","webchatLoaded","setWebchatLoaded","setLanguage","setSub","webchatScriptConfig","getWebchatScriptConfig","fetchSub","claimsSub","getSubFromClaims","setVisible","_window$cvc","cvc","chatDiv","scr","onload","head","removeChild","langConfig","_webchatConfig$market","_webchatConfig$market2","_webchatConfig$market3","_webchatConfig$market4","_webchatConfig$market5","getWebchatConfig","setQueues","setCad","sourcelanguage","_customer$personalInf","_customer$personalInf2","_customer$contacts","customerName","customerEmail","setUser","library","add","fab","faHome","faHandHoldingUsd","faPiggyBank","faComments","faCreditCard","faUser","faSignOutAlt","faTimes","faBars","faArrowLeft","faFileInvoice","faCaretDown","faEdit","faAt","faAddressCard","faAngleLeft","faExclamationTriangle","faDownload","faPhoneAlt","faSignInAlt","faCookieBite","faInfoCircle","faSortUp","faSortDown","faTimesCircle","faTrashAlt","faSearchDollar","MetaTags","isEnvProd","querySelector","remove","getDesc","Helmet","getTitle","meta","errorFallback","ErrorFallbackPage","App","version","packageJson","HelmetProvider","BrowserRouter","Suspense","fallback","ErrorBoundary","fallbackRender","CacheBuster","currentVersion","isEnabled","isVerboseMode","loadingComponent","WebChat","RootRoute"],"sourceRoot":""}