{"version":3,"file":"static/chunks/600-ed0e26b950bc81dd.js","mappings":"4LAUO,IAAMA,EAAsB,GAA0E,IAAzE,CAAEC,OAAAA,CAAAA,CAAQC,QAAAA,CAAAA,CAASC,KAAAA,CAAAA,CAAM,GAAGC,EAAwC,CAAAC,EAC9F,CAAEC,mBAAAA,CAAAA,CAAoB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IACzB,CAAEC,EAAAA,CAAAA,CAAG,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAe,UACvBC,EAAOP,MAAAA,EAAAA,EAASF,GAAUK,EAAmBL,EAAQ,CAE3D,MACI,GAAAU,EAAAC,GAAA,EAACC,EAAAA,CAAMA,CAAAA,CAACC,GAAIC,EAAAA,EAAcA,CAAEZ,KAAMO,EAAMR,QAASA,EAAU,GAAGE,CAAW,UACpEI,EAAE,iBAGf,qHCVO,IAAMQ,EAAc,CAAC,QAAS,QAAS,OAAO,CAG9C,SAASC,EAAqDC,CAAoC,CAAE,KAMtEC,EALjC,GAAM,CAAEC,UAAAA,CAAAA,CAAWC,UAAAA,CAAAA,CAAWC,KAAAA,CAAAA,CAAM,CAAGJ,EAEvC,MACI,GAAAP,EAAAC,GAAA,EAACW,EAAAA,CAAoBA,CAAAA,UAChBH,EAAUI,GAAG,CAAC,CAACL,EAAMM,IAClB,GAAAd,EAAAC,GAAA,EAACc,EAAAA,EAAcA,CAAAA,CAAyBC,GAAIF,IAAAA,EAAc,CAAC,EAAG,EAAG,EAAE,CAAGG,KAAAA,CAAS,UAC3E,GAAAjB,EAAAC,GAAA,EAACU,EAAAA,CAAKH,KAAMA,EAAMU,EAAGb,EAAc,GAAGK,CAAS,IAD9BF,IAAQ,GAARA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAMW,EAAE,GAARX,KAAAA,IAAAA,EAAAA,EAAYM,CAAK,IAMtD,8FCnBO,SAASF,EAAqBlB,CAAmC,CAAE,IAArC,CAAE0B,SAAAA,CAAAA,CAAiC,CAAnC1B,EACjC,MACI,GAAAM,EAAAC,GAAA,EAACoB,EAAAA,EAAUA,CAAAA,CACPC,EAAG,IAAIC,EAAAA,EAAkBA,CAAE,EAAE,CAC7BC,EAAG,IAAIC,EAAAA,EAA2BA,CAAE,EAAE,CACtCC,IAAK,CAAC,EAAG,EAAE,CACXC,UAAW,CAAC,OAAQ,OAAQ,UAAU,CACtCC,gBAAiB,CAAC,kBAAmB,kBAAmB,4BAA4B,UAEnFR,GAGb,6HCNO,IAAMS,EAAwB,GAOF,IAPG,CAClCC,YAAAA,CAAAA,CACAC,MAAAA,EAAQ,GAAK,EACbC,iBAAAA,CAAAA,CACAC,QAAAA,CAAAA,CACAC,QAAAA,CAAAA,CACA,GAAGC,EACuB,CAAAzC,EACpB,CAAEG,EAAAA,CAAAA,CAAG,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAe,UAEvBsC,EAAgB,IAAMF,GAAWA,IAEvC,MACI,GAAAlC,EAAAC,GAAA,EAACoC,EAAAA,CAAWA,CAAAA,CAACN,MAAOA,EAAQ,GAAGI,CAAgB,UAC3C,GAAAnC,EAAAC,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,UACA,GAAAtC,EAAAC,GAAA,EAACsC,EAAAA,CAAKA,CAAAA,CACFC,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,EAA2BX,GAChCY,IAAK,GAA4BV,MAAAA,CAAzBnC,EAAE,mBAAmB,MAAqB8C,MAAA,CAAjBX,GACjCd,EAAE,OACF0B,EAAE,OACFX,QAASA,EACTC,QAASE,OAK7B,2KC5BO,IAAMS,EAAe,GAAuE,IAAtE,CAAEC,KAAAA,CAAAA,CAAMC,SAAAA,CAAAA,CAAUC,WAAAA,CAAAA,CAAY,GAAGC,EAAgC,CAAAvD,EAC1F,MACI,GAAAwD,EAAAjD,GAAA,EAACkD,EAAAA,CAAKA,CAAAA,CAAChD,GAAIiD,EAAAA,EAAeA,CAAEC,UAAU,MAAMC,QAAQ,gBAAgBC,MAAM,aAAaC,QAAS,EAAGC,QAAS,GAAAP,EAAAjD,GAAA,EAACyD,EAAAA,CAAYA,CAAAA,CAAAA,GAAM,GAAGT,CAAU,UACvIF,EAASlC,GAAG,CAAC,CAAC8C,EAAGC,IACd,GAAAV,EAAAjD,GAAA,EAAC4D,EAAAA,CAAOA,CAAAA,CAAWf,KAAMA,EAAMgB,KAAM,EAAGC,GAAI,GAAKC,sBAAqB,GAAE,GAAGL,CAAC,CAAEX,WAAYA,GAA5EY,KAI9B,oHCDA,IAAMK,EAAqB,GAYK,IAZJ,CACxB9C,GAAIW,CAAAA,CACJxC,OAAAA,CAAAA,CACA4E,KAAAA,CAAAA,CACAlC,iBAAAA,CAAAA,CACAmC,WAAAA,CAAAA,CACAC,cAAAA,CAAAA,CACAC,eAAAA,CAAAA,CACAC,WAAAA,CAAAA,CACAC,UAAAA,CAAAA,CACAC,wBAAAA,CAAAA,CACAC,4BAAAA,CAAAA,CACuB,CAAA/E,EACjBgF,EAAwB,CAC1BC,QAASJ,EAAY,UAAY,OAAO,CACxCK,MAAO,OACP9B,KAAM,IACV,EAEM,CAAEnD,mBAAAA,CAAAA,CAAoB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAE/B,OAAQ0E,GACJ,KAAKO,EAAAA,EAAAA,CAAAA,QAAyB,CAC1B,MAAO,GAAA3B,EAAAjD,GAAA,EAAC6E,EAAAA,CAAcA,CAAAA,CAAE,GAAGJ,CAAQ,CAAER,KAAMA,EAAMa,WAAY,CAACZ,GAClE,MAAKU,EAAAA,EAAAA,CAAAA,MAAuB,CACxB,MAAO,GAAA3B,EAAAjD,GAAA,EAACZ,EAAAA,CAAmBA,CAAAA,CAAE,GAAGqF,CAAQ,CAAElF,KAAMG,EAAmBL,IACvE,MAAKuF,EAAAA,EAAAA,CAAAA,SAA0B,CAC3B,MACI,GAAA3B,EAAAjD,GAAA,EAAC+E,EAAAA,CAAeA,CAAAA,CACX,GAAGN,CAAQ,CACN5C,YAAAA,EAAasC,cAAAA,EAAeC,eAAAA,EAClCY,0BAA2BjD,EAC3BwC,wBAAyBA,EACzBC,4BAA6BA,GAGzC,MAAKI,EAAAA,EAAAA,CAAAA,MAAuB,CACxB,MAAO,GAAA3B,EAAAjD,GAAA,EAACiF,EAAAA,CAAYA,CAAAA,CAAE,GAAGR,CAAQ,CAAQ5C,YAAAA,EAAaoC,KAAAA,EAAQa,WAAY,CAACZ,GAC/E,SACI,OAAO,IAAI,CAEvB,EAUagB,EAA0B,GACnC,IADoC,CAAEC,iBAAAA,CAAAA,CAAkBC,QAAAA,CAAAA,CAAS,GAAGC,EAAuC,CAAA5F,QAC3G,GAAAwD,EAAAqC,IAAA,EAACpC,EAAAA,CAAKA,CAAAA,CAACE,UAAW+B,EAAkB5B,QAAS,YACzC,GAAAN,EAAAjD,GAAA,EAACgE,EAAAA,CAAmBK,WAAYe,CAAO,CAAC,EAAE,CAAG,GAAGC,CAAM,CAAEf,UAAS,KACjE,GAAArB,EAAAjD,GAAA,EAACgE,EAAAA,CAAmBK,WAAYe,CAAO,CAAC,EAAE,CAAG,GAAGC,CAAM,KACnD,ECpDEE,EAAa,GAOF,KASoCC,KAhBjC,CACvBjF,KAAM,CAAEkF,OAAAA,CAAAA,CAAQC,KAAAA,CAAAA,CAAMN,QAAAA,CAAAA,CAASlE,GAAAA,CAAAA,CAAIiD,cAAAA,CAAAA,CAAe,GAAGkB,EAAQ,CAC7DF,iBAAAA,EAAmB,CAAC,SAAU,cAAe,SAAU,cAAc,CACrEQ,UAAAA,EAAY,EAAK,CACjBpB,wBAAAA,CAAAA,CACAC,4BAAAA,CAAAA,CACA,GAAGoB,EACY,CAAAnG,EACT,CAAEoG,uBAAAA,CAAAA,CAAwBnG,mBAAAA,CAAAA,CAAoB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IACjD,CAAE6F,UAAAA,CAAAA,CAAWpB,eAAAA,CAAAA,CAAgB,CAAG0B,CAAAA,EAAAA,EAAAA,CAAAA,IAChCC,EAAcC,CAAAA,EAAAA,EAAAA,CAAAA,IAEpBC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,IAAM,CACZ7B,EAAelD,EAAIiD,EACvB,EAAG,CAACjD,EAAIiD,EAAeC,EAAe,EAEtC,IAAM8B,EAAkB,CAAE,GAAGb,CAAM,CAAEnE,GAAAA,EAAIiD,cAAeqB,IAAa,GAAbA,CAAAA,EAAAA,CAAS,CAACtE,EAAG,GAAbsE,KAAAA,IAAAA,GAAAA,EAAwBpB,eAAAA,CAAe,EAEzFtB,EAAW4C,EAAK9E,GAAG,CAACuF,GAAQ,EAAE5F,KAAM4F,CAAI,IACxCC,EAAoBP,EAAuBJ,EAAOY,QAAQ,EAEhE,MACI,GAAApD,EAAAqC,IAAA,EAACjD,EAAAA,EAAGA,CAAAA,CAACwB,KAAM,EAAGyC,UAAU,OAAOC,QAAQ,MAAMlF,EAAG,CAAC,EAAG,EAAE,CAAG,GAAGuE,CAAQ,WAChE,GAAA3C,EAAAqC,IAAA,EAACkB,EAAAA,CAAMA,CAAAA,CAACjD,QAAS,EAAGkD,GAAI,YACpB,GAAAxD,EAAAjD,GAAA,EAAC0G,EAAAA,CAAYA,CAAAA,CAAC7D,KAAK,KAAK4C,OAAQA,EAAQlG,KAAM6G,IAC9C,GAAAnD,EAAAqC,IAAA,EAACqB,EAAAA,CAAIA,CAAAA,CAACC,QAAQ,SAASC,SAAU,EAAGC,SAAS,mBACzC,GAAA7D,EAAAjD,GAAA,EAAC+G,EAAAA,EAAWA,CAAAA,CAACxH,KAAMG,EAAmB2F,EAAOhG,MAAM,EAAGoH,GAAI,GAAKO,UAAW,EAAGC,UAAU,qBAClF5B,EAAOtD,gBAAgB,GAE5B,GAAAkB,EAAAjD,GAAA,EAAC+G,EAAAA,EAAWA,CAAAA,CAACxH,KAAM6G,EAAmBc,WAAW,SAASC,SAAS,KAAKH,UAAW,EAAGC,UAAU,qBAC3FlB,EAAYN,WAIzB,GAAAxC,EAAAjD,GAAA,EAAC4C,EAAYA,CAACC,KAAK,KAAKC,SAAUA,EAAUgB,GAAI,CAAC,GAAI,GAAG,CAAE2C,GAAI,EAAG1D,WAAU,KAC1E,CAAC4C,GAAa,GAAA1C,EAAAjD,GAAA,EAAC4B,EAAAA,CAAqBA,CAAAA,CAACI,QAAQ,OAAOH,YAAaX,EAAIa,iBAAkBsD,EAAOtD,gBAAgB,CAAE0E,GAAI,IACrH,GAAAxD,EAAAjD,GAAA,EAACkF,EAAuBA,CACpBX,wBAAyBA,EACzBC,4BAA6BA,EAC7BW,iBAAkBA,EAClBC,QAASA,EACR,GAAGc,CAAe,KAInC,oNC/DA,IAAMkB,EAASC,CAAAA,EAAAA,EAAAA,CAAAA,EAAO,SAOf,SAASC,EAAM7H,CAA+C,CAAE,IAAjD,CAAEgD,IAAAA,CAAAA,CAAK8E,gBAAAA,CAAAA,CAAiB,GAAGjH,EAAoB,CAA/Cb,EAClB,MAAO,GAAAwD,EAAAjD,GAAA,EAACoH,EAAAA,CAAOI,mBAAkB/E,EAAKgF,OAAQF,EAAkB,GAAGjH,CAAK,EAC5E,CCGA,IAAMoH,EAAa,GACf,GAAAzE,EAAAjD,GAAA,EAAC2G,EAAAA,CAAIA,CAAAA,CACDgB,IAAI,WACJC,GAAI,CAAC,EAAG,EAAG,GAAG,CACdnB,GAAI,CAAC,EAAG,EAAG,GAAG,CACd3C,GAAG,OACH7C,EAAG,CAAC,QAAU,GAAuByB,MAAA,CAXhB,IAWgB,MAAI,CACzCC,EAAG,CAAC,QAAS,QAAQ,CACrBkF,GAAG,QACHC,OAAO,YACPC,YAAY,WACZC,aAAa,OACb1B,UAAW,CACP,6IACA,+IACH,CACDjF,EAAG,CAAC,iBAAkB,iBAAiB,CACvC4G,OAAQ,CACJC,QAAS,KACTP,IAAK,WACLQ,KAAM,MACNC,MAAO,MACPC,OAAQ,CAAC,MAAO,OAAO,CACvB1F,EAAG,CAAC,OAAQ,OAAO,CACnB2F,OAAQ,GACRN,aAAc,MACdH,GAAI,kBACJvB,UAAW,oCACf,EACC,GAAGhG,CAAK,GAIXiI,EAAS,GACX,IADY,CAAEpH,SAAAA,CAAAA,CAAU,GAAGyE,EAAuC,CAAAnG,QAClE,GAAAwD,EAAAqC,IAAA,EAACjD,EAAAA,EAAGA,CAAAA,CACAsF,IAAI,WACJa,GAAI,GACJC,SAAU,CAAC,EAAG,EAAI,GAAe/F,MAAA,CAxCpB,IAwCoB,MAAM,GAAmBA,MAAA,CAvCzC,IAuCyC,MAAI,CAC9DuF,OAAQ,CACJC,QAAS,KACTP,IAAK,WACLQ,KAAM,MACNC,MAAO,MACPC,OAAQ,OACR1F,EAAG,MACH2F,OAAQ,GACRN,aAAc,OACdH,GAAI,mBACJvB,UAAW,oCACf,EACC,GAAGV,CAAQ,WAEZ,GAAA3C,EAAAjD,GAAA,EAAC0I,IAASA,CAACjG,IAAI,SAASF,IAAI,kBAAkBoC,MAtD7B,IAsDsDgE,OAAQ,MAC/E,GAAA1F,EAAAjD,GAAA,EAAC2G,EAAAA,CAAIA,CAAAA,CACDgB,IAAI,WACJtE,QAAQ,SACR8E,KAAK,MACLS,IAAI,IACJ3H,EAAE,OACF0B,EAAG,CAAC,EAAG,EAAG,QAAS,QAAQ,CAC3BkG,GAAI,CAAC,EAAG,EAAG,OAAQ,OAAO,CAC1BC,GAAI,CAAC,EAAG,EAAG,OAAQ,OAAO,UAEzB3H,MAEJ,EAOH4H,EAAO,GAAkC,KAK9BC,EAU2CC,KAf9C,CAAEA,MAAAA,CAAAA,CAAOD,MAAAA,CAAAA,CAAmB,CAAAvJ,EACtC,OAAOuJ,EACH,GAAA/F,EAAAjD,GAAA,EAACsH,EAAKA,CACFT,SAAU,EACVtE,IAAKyG,EAAME,GAAG,CACdzG,IAAKuG,IAAS,GAATA,CAAAA,EAAAA,EAAMvG,GAAG,GAATuG,KAAAA,IAAAA,EAAAA,EAAahI,KAAAA,CAAS,CAC3BuG,gBAAiB0B,MAAAA,EAAAA,KAAAA,EAAAA,EAAOC,GAAG,CAC3BC,SAAQ,GACRC,KAAI,GACJC,MAAK,GACLC,wBAAuB,GACvBC,YAAW,GACXC,QAAQ,SAGZ,GAAAvG,EAAAjD,GAAA,EAACsC,EAAAA,CAAKA,CAAAA,CAACuE,SAAU,EAAGtE,IAAKkH,CAAAA,EAAAA,EAAAA,EAAAA,EAASR,MAAAA,EAAAA,KAAAA,EAAAA,EAAOC,GAAG,EAAGzG,IAAKwG,IAAU,GAAVA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAOxG,GAAG,GAAVwG,KAAAA,IAAAA,EAAAA,EAAcjI,KAAAA,CAAS,CAAEgB,QAAQ,QACxF,EAQQ0H,EAAS,GAA0D,IAAzD,CAAEC,WAAAA,CAAAA,CAAYC,UAAAA,CAAAA,CAAWC,YAAAA,CAAAA,CAA2B,CAAApK,EACjEqK,EAAgBC,QAAQJ,EAAWV,KAAK,GAAKc,QAAQJ,EAAWX,KAAK,EACrEgB,EAAiB,CACnB,CAACH,IAAgBI,EAAAA,EAAAA,CAAAA,KAA6B,CAAG,KAAO,IAAI,CAAC,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,IAAI,CAAG,GAAsCvH,MAAA,CAzGrF,IAyGqF,MAAI,SAGjI,EAEQ,GAAAO,EAAAqC,IAAA,EAAArC,EAAAiH,QAAA,YACI,GAAAjH,EAAAjD,GAAA,EAACuI,EAAAA,CAAO4B,QAAS,CAAEC,KAAM,OAAQC,GAAI,OAAQ,WACzC,GAAApH,EAAAjD,GAAA,EAAC+I,EAAAA,CAAM,GAAGY,CAAU,KAExB,GAAA1G,EAAAjD,GAAA,EAAC0H,EAAAA,CAAY,GAAGsC,CAAc,CAAEG,QAAS,CAAEC,KAAM,OAAQC,GAAI,MAAO,WAChE,GAAApH,EAAAjD,GAAA,EAAC+I,EAAAA,CAAM,GAAGa,CAAS,QAM/B,GAAA3G,EAAAjD,GAAA,EAAC0H,EAAAA,CAAY,GAAGsC,CAAc,UAC1B,GAAA/G,EAAAjD,GAAA,EAAC+I,EAAAA,CAAM,GAAGa,CAAS,IAH1B,ECrHCU,EAAiB,GACnB,IADoB,CAAET,YAAAA,CAAAA,CAAuD,CAAApK,QAC7E,GAAAwD,EAAAjD,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,CACAsF,IAAI,WACJiB,IAAI,IACJT,KAAM,CAAC,CAACoC,EAAAA,EAAAA,CAAAA,EAAe,CAAE,CAACA,EAAAA,EAAAA,CAAAA,EAAe,CAAEV,IAAgBI,EAAAA,EAAAA,CAAAA,KAA6B,CAAG,OAAS,CAAC,CAAC,CACtG7B,MAAO,CAAC,CAACmC,EAAAA,EAAAA,CAAAA,EAAe,CAAE,CAACA,EAAAA,EAAAA,CAAAA,EAAe,CAAEV,IAAgBI,EAAAA,EAAAA,CAAAA,KAA6B,CAAG,EAAI,IAAI,CAAC,CACrGhJ,EAAG,CAAC,OAAQ,OAAQ,MAAO,MAAM,CACjCuJ,KAAM,CAAC,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,QAAQ,CACjC7H,EAAG,CAAC,QAAS,QAAS,OAAO,CAC7BkF,GAAG,UACHS,OAAO,MACV,EAgBQmC,EAAmB,GAWF,IAXG,CAC7BC,SAAAA,CAAAA,CACAC,MAAAA,CAAAA,CACAC,UAAAA,CAAAA,CACAC,YAAAA,CAAAA,CACAC,IAAAA,CAAAA,CACAjB,YAAAA,CAAAA,CACAkB,eAAAA,CAAAA,CACAC,eAAAA,CAAAA,CACAC,gBAAAA,CAAAA,CACAC,gBAAAA,CAAAA,CACqB,CAAAzL,EACrB,MACI,GAAAwD,EAAAqC,IAAA,EAAArC,EAAAiH,QAAA,YACKQ,GACG,GAAAzH,EAAAjD,GAAA,EAACmL,EAAAA,EAASA,CAAAA,UACN,GAAAlI,EAAAjD,GAAA,EAACoL,EAAAA,EAAqBA,CAAAA,CAAC3E,GAAI,CAAC,EAAG,EAAE,CAAE4E,UAAW,CAAC,OAAQ,OAAQ,SAAS,UACnEX,MAIb,GAAAzH,EAAAjD,GAAA,EAACsL,EAAAA,EAAYA,CAAAA,CAAC3D,IAAI,oBACd,GAAA1E,EAAAjD,GAAA,EAACmL,EAAAA,EAASA,CAAAA,UACN,GAAAlI,EAAAqC,IAAA,EAACpC,EAAAA,CAAKA,CAAAA,CACFE,UAAW,CAAC,SAAU,SAAUyG,IAAgBI,EAAAA,EAAAA,CAAAA,KAA6B,CAAG,MAAQ,aAAa,CAAC,CACtG1G,QAAS,CAAC,EAAG,EAAG,EAAE,CAClBgI,WAAY,CAAC,UAAW,UAAW,SAAS,WAE5C,GAAAtI,EAAAqC,IAAA,EAACjD,EAAAA,EAAGA,CAAAA,CAACwE,SAAU,YACV8D,GAAS,GAAA1H,EAAAjD,GAAA,EAACwL,EAAAA,EAAuBA,CAAAA,CAACZ,UAAWA,WAAYD,IAC1D,GAAA1H,EAAAjD,GAAA,EAACyL,EAAAA,CAAcA,CAAAA,CAAChF,GAAIqE,EAAM,EAAI,CAAC,CAAE3D,SAAU,CAAC,KAAM,KAAK,CAAEuE,KAAMb,IAC9DC,GAAO,GAAA7H,EAAAjD,GAAA,EAAC2L,EAAAA,CAASA,CAAAA,CAAE,GAAGb,CAAG,MAE9B,GAAA7H,EAAAqC,IAAA,EAACjD,EAAAA,EAAGA,CAAAA,CAACsF,IAAK,CAAC,WAAY,WAAY,SAAS,WACxC,GAAA1E,EAAAjD,GAAA,EAACsK,EAAAA,CAAeT,YAAaA,IAC7B,GAAA5G,EAAAjD,GAAA,EAAC0J,EAAMA,CAECG,YAAAA,EACAD,UAAW,CAAEX,MAAO8B,EAAgB/B,MAAOgC,CAAe,EAC1DrB,WAAY,CAAEV,MAAOgC,EAAiBjC,MAAOkC,CAAgB,gBASjG,0JCrFO,IAAMU,EAA6B,EAC7BC,EAA4B,IAE5BC,EAA8B,OAE9BC,EAAkC,4BAClCC,EAA2B,CAAC,QAAS,QAAS,QAAS,QAAQ,uGCFrE,IAAMC,EAAyB,GAAkD,IAAjD,CAAE9K,SAAAA,CAAAA,CAAU,GAAGyE,EAA6B,CAAAnG,EACzE,CAACyM,EAAQ,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAS,SAAU,CAAC,WAAW,EAC3C,CAAEC,oBAAAA,CAAAA,CAAqB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAEhC,MACI,GAAAtM,EAAAC,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,CACAsG,OAAO,OACN,GAAG/C,CAAQ,CACZ0G,GAAI,CACA,WAAY,CACRpE,QAAS,KACTqE,SAAU,WACVpC,QAAS,QACTvB,IAAK,EACLR,MAAO,EACPC,OAAQ,OACRmE,cAAe,OACf7H,MAAOyH,EAAsB,EAAI,CAAC,CAClCK,WAAY,iBACZC,UAAW,kBACXpG,UAAW8F,EAAsB,yBAAiC1J,MAAA,CAARwJ,GAAY,iBAAyBxJ,MAAA,CAARwJ,EAAS,CAExG,WAEC/K,GAGb,2MCzBO,IAAMwL,EAAmB,GAAsD,IAArD,CAAEC,WAAAA,CAAAA,CAAY,GAAGtM,EAA+B,CAAAb,EAC7E,MACI,GAAAwD,EAAAjD,GAAA,EAACC,EAAAA,CAAMA,CAAAA,CACHyE,QAAQ,QACR7B,KAAK,KACLyJ,GAAI,CACAzE,GAAI,cACJgF,MAAO,WACPC,OAAQ,CACJjF,GAAI,WACJgF,MAAO,UACX,EACAE,QAAS,CACLlF,GAAI,WACJgF,MAAO,OACX,EACAG,UAAW,CACPnF,GAAI,cACJgF,MAAO,UACX,CACJ,EACAI,aAAYC,OAAON,GAClB,GAAGtM,CAAK,UAERsM,GAGb,EC3BMO,EAAyB,IAC3B,GAAAlK,EAAAqC,IAAA,EAACkB,EAAAA,CAAMA,CAAAA,CAAC/E,IAAK,YACT,GAAAwB,EAAAjD,GAAA,EAACoN,EAAAA,CAAQA,CAAAA,CAACzI,MAAO,EAAGgE,OAAQ,EAAGX,aAAa,QAC5C,GAAA/E,EAAAjD,GAAA,EAACoN,EAAAA,CAAQA,CAAAA,CAACzI,MAAO,EAAGgE,OAAQ,EAAGX,aAAa,QAC5C,GAAA/E,EAAAjD,GAAA,EAACoN,EAAAA,CAAQA,CAAAA,CAACzI,MAAO,EAAGgE,OAAQ,EAAGX,aAAa,WAYvCqF,EAAyB,GAAgG,IAA/F,CAAEC,YAAAA,CAAAA,CAAaC,iBAAAA,CAAAA,CAAkBC,UAAAA,CAAAA,CAAWC,SAAAA,CAAAA,CAAUC,aAAAA,CAAAA,CAAoC,CAAAjO,EA2C7H,MACI,GAAAwD,EAAAjD,GAAA,EAACwG,EAAAA,CAAMA,CAAAA,CAAC/E,IAAK,WACR+L,EACG,GAAAvK,EAAAjD,GAAA,EAACmN,EAAAA,CAAAA,GAEDQ,CA/CuB,IAAM,KAMjCC,EALJ,GAAIN,EAAYO,MAAM,EAAI,EACtB,OAAOP,CACV,CAED,IAAMQ,EAAYR,EAAYO,MAAM,CAAG,EAInCD,EADAL,IAAqBD,CAAW,CAACQ,EAAU,CACjCL,EAAWH,EAAYS,KAAK,CAAC,IAAMT,EAAYS,KAAK,CAAC,GAAG,CAExDN,EAAWH,EAAYS,KAAK,CAAC,EAAG,GAAKT,EAAYS,KAAK,CAAC,EAAG,EAAE,CAGtER,EAAmB,GAAKA,EAAmBO,GAC3CF,CAAAA,EAAUH,EAAW,CAACF,EAAiB,CAAG,CAACA,EAAmB,EAAGA,EAAkBA,EAAmB,EAAE,EAI5G,IAAMS,EAAsBT,EAAmBD,EAAYO,MAAM,CAAIJ,CAAAA,EAAW,EAAI,CAAC,EAE/EQ,EAAwBV,EAAoBE,CAAAA,EAAWK,EAAYR,EAAYO,MAAM,CAAG,CAAC,EAkB/F,OAhBIG,GACAJ,EAAQM,IAAI,CA5CD,OAsCYX,EAAoBE,CAAAA,EAAW,EAAI,CAAC,GAU3DG,CAAAA,EAAU,CAhDC,SAgDmBA,EAAQ,EARXL,EAAoBE,CAAAA,EAAW,EAAI,CAAC,GAY/DG,CAAAA,EAAU,CAACN,CAAW,CAAC,EAAE,IAAKM,EAAQ,EAGtCK,GACAL,EAAQM,IAAI,CAACZ,CAAW,CAACQ,EAAU,EAGhCF,CACX,KAOyChN,GAAG,CAAC,CAACC,EAAOsN,IACrCtN,QAAAA,EACI,GAAAoC,EAAAjD,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,UAAiB,OAAXxB,EAAQsN,GAElB,GAAAlL,EAAAjD,GAAA,EAAC2M,EAAgBA,CACbrN,QAAS,IAAMoO,EAAa7M,GAE5B+L,WAAY/L,EAAQ,EACpBuN,SAAUvN,IAAU0M,EACpBlM,EAAG,EACHgN,eA5EmB,kCAwEdxN,EAAQsN,EAMpB,CAER,EAGb,iBC1DO,IAAMG,EAAkB,GAeF,IAfG,CAC5BC,gBAAAA,CAAAA,CACAC,SAAAA,CAAAA,CACAC,WAAAA,CAAAA,CACAC,iBAAAA,CAAAA,CACAnB,iBAAAA,CAAAA,CACAD,YAAAA,CAAAA,CACAI,aAAAA,CAAAA,CACAiB,gBAAAA,CAAAA,CACAC,YAAAA,CAAAA,CACAC,kBAAAA,CAAAA,CACAC,cAAAA,CAAAA,CACAtB,UAAAA,CAAAA,CACAuB,WAAAA,CAAAA,CACAC,iBAAAA,CAAAA,CACoB,CAAAvP,EACd,CAAEG,EAAAA,CAAAA,CAAG,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAe,oBACvB4N,EAAWwB,CAAAA,EAAAA,EAAAA,CAAAA,EAAmB,CAAC,GAAM,GAAM,EAI3CC,EAAa3B,IAAqBD,EAAY6B,EAAE,CAAC,IAEjDC,EAAoB,IACtBC,OAAOC,qBAAqB,CAAC,IAAM,CAC/BC,CAAAA,EAAAA,EAAAA,CAAAA,EAAe,CAAE3G,IAAK6E,EA5Bf,IA4BuC,CAAC,EACnD,GAEE+B,EAAoB,GAAuB,CAC7C,GAAIR,EACA,MACH,CAED,IAAMS,EAAgBnC,EAAY6B,EAAE,CAAC,IAC/BO,EAAkBC,IAAcrC,EAAY6B,EAAE,CAAC,IAMjDS,CAAAA,IAH8CrC,GAAoBkC,EAAgBE,GAC5DD,GAAmBlB,EAHjBC,EAAakB,EAAYnB,CAKtBqB,GAC3BT,GAER,EAEMU,EAAmB,GAAmB,CACxCpC,EAAa7M,GACb2O,EAAkB3O,EACtB,EAEMkP,EAAiB,GAAmB,CACtCnB,IACAY,EAAkB3O,EAAQ,EAC9B,EAEMmP,EAAqB,GAAmB,CAC1CrB,IACAa,EAAkB3O,EAAQ,EAC9B,EAEMoP,EAAuB,GAA4B,CACjDC,EAAiB1B,GAAY,CAACQ,GAC9BI,IAEJV,EAAiBwB,EACrB,EAEA,MACI,GAAAjN,EAAAqC,IAAA,EAAC6K,EAAAA,CAAMA,CAAAA,CAACvI,GAAI,EAAGnG,IAAK,YAChB,GAAAwB,EAAAqC,IAAA,EAACqB,EAAAA,CAAIA,CAAAA,CAACyJ,SAAU,CAAC,OAAQ,UAAU,CAAE7E,WAAW,SAASF,UAAU,SAASgF,eAAgB,CAAC,SAAU,gBAAgB,CAAEpP,EAAE,iBACtHuM,EACG,GAAAvK,EAAAjD,GAAA,EAACoN,EAAAA,CAAQA,CAAAA,CAACzE,OAAO,OAAOhE,MAAM,QAAQqD,aAAa,QAEnD,GAAA/E,EAAAjD,GAAA,EAACsQ,EAAAA,CAAIA,CAAAA,CAACzD,MAAM,WAAW5L,EAAG,CAAC,OAAQ,OAAO,CAAEoN,eA3E1B,iCA4EbzO,EAAE,mBAAoB,CACnB,EAxDO,CAAC2N,EAAmB,GAAKiB,EAAWA,EAAW,EAyDtD,EAAGU,EAAaT,EAxDb,CAAClB,EAAmB,GAAKiB,CAwDmB,CAC/C,EAAGC,EACH,EAAGM,CACP,IAEP,CACD,GAAA9L,EAAAqC,IAAA,EAACjD,EAAAA,EAAGA,CAAAA,CAACwK,MAAM,WAAW5L,EAAG,CAAC,OAAQ,OAAO,WACpCrB,EAAE,mBACH,GAAAqD,EAAAjD,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,CAACwK,MAAM,WAAW0D,GAAI,OAAQpG,QAAQ,wBACtC,GAAAlH,EAAAjD,GAAA,EAACwQ,EAAAA,CAAQA,CAAAA,CACLC,gBAAgB,QAChBC,SAAS,KACThM,QAAQ,UACRiM,SAAUC,GAAMX,EAAqBY,OAAOD,EAAGE,MAAM,CAACC,KAAK,YAE1DxC,EAAgB3N,GAAG,CAACoQ,GACjB,GAAA/N,EAAAjD,GAAA,EAACgR,SAAAA,CAAoBD,MAAOC,WACvBA,GADQA,QAMxBpR,EAAE,4BAA6B,CAAE,EAAGmP,CAAW,SAGxD,GAAA9L,EAAAqC,IAAA,EAACqB,EAAAA,CAAIA,CAAAA,CAAC0J,eAAe,gBAAgBpP,EAAE,iBACnC,GAAAgC,EAAAqC,IAAA,EAACrF,EAAAA,CAAMA,CAAAA,CACH6E,WAAY,CAAC+J,GAAqBrB,EAClC3E,GAAI,CAAC,EAAG,EAAE,CACVvJ,QAAS,IAAM0Q,EAAmBzC,GAClC7I,QAAQ,UACR7B,KAAK,KACLoK,aAAYrN,EAAE,iCAEd,GAAAqD,EAAAjD,GAAA,EAACiR,EAAAA,CAASA,CAAAA,CAAC9G,QAAS,CAAC,SAAU,OAAO,CAAEuC,UAAU,gBAAgBvF,SAAS,QAC3E,GAAAlE,EAAAjD,GAAA,EAACkR,EAAAA,EAAIA,CAAAA,CAAC/G,QAAS,CAAC,OAAQ,SAAS,UAAGvK,EAAE,4BAE1C,GAAAqD,EAAAjD,GAAA,EAACqN,EAAsBA,CACnBC,YAAaA,EACbC,iBAAkBA,EAClBC,UAAWA,EACXC,SAAUA,EACVC,aAAcoC,IAElB,GAAA7M,EAAAqC,IAAA,EAACrF,EAAAA,CAAMA,CAAAA,CACH6E,WAAY,CAACgK,GAAiBtB,EAC9B3E,GAAI,CAAC,EAAG,EAAE,CACVvJ,QAAS,IAAMyQ,EAAexC,GAC9B7I,QAAQ,UACR7B,KAAK,KACLoK,aAAYrN,EAAE,6BAEd,GAAAqD,EAAAjD,GAAA,EAACiR,EAAAA,CAASA,CAAAA,CAAC9G,QAAS,CAAC,SAAU,OAAO,CAAEuC,UAAU,iBAAiBvF,SAAS,QAC5E,GAAAlE,EAAAjD,GAAA,EAACkR,EAAAA,EAAIA,CAAAA,CAAC/G,QAAS,CAAC,OAAQ,SAAS,UAAGvK,EAAE,6BAK1D,8FC5JO,IAAMuR,EAAmB,GAA0C,IAArC,CAAEC,OAAAA,CAAAA,CAA8B,CAAA3R,EACjE,GAAI2R,CAA0C,IAA1CA,EAAOC,MAAM,CAACC,SAAS,CAACC,aAAa,CACrC,OAAO,IAAI,CAGf,IAAMC,EAAgBJ,SAAAA,EAAOC,MAAM,CAACI,WAAW,GAAgB,EAAI,GAAG,CAEtE,MACI,GAAAxO,EAAAjD,GAAA,EAACiR,EAAAA,CAASA,CAAAA,CACNS,GAAI,GACJC,QAAS,EACT9E,MAAOuE,EAAOC,MAAM,CAACI,WAAW,GAAK,WAAa,UAAU,CAC5DhF,WAAW,iBACXC,UAAW,UAAwBhK,MAAA,CAAd8O,EAAc,SAG/C,iBCXO,IAAMI,EAAe,GAA6F,IAAxF,CAAEzQ,SAAAA,CAAAA,CAAUiQ,OAAAA,CAAAA,CAAQS,YAAAA,CAAAA,CAAa,GAAGjM,EAA+C,CAAAnG,EAC1GD,EACF4R,CAA0C,IAA1CA,EAAOC,MAAM,CAACC,SAAS,CAACC,aAAa,CAC/B,CAAC,EACD,CACIzE,OAAQ,CAAED,MAAO,UAAW,EAC5BvN,QAAS8R,EAAOC,MAAM,CAACS,uBAAuB,GAC9C5K,WAAY,OACZhH,GAAI,SACJyE,MAAO,OACP0G,UAAW,OACf,CAAC,CAEX,MACI,GAAApI,EAAAqC,IAAA,EAACqB,EAAAA,CAAIA,CAAAA,CACDgC,OAAQmD,EAAAA,EAA2BA,CACnCP,WAAW,aACXxD,YAAY,WACZgK,kBAAkB,MAClBC,GAAI,EACJnJ,GAAI,EACJwH,eAAgBwB,EAAc,SAAW,UAAU,CAClD,GAAGjM,CAAQ,CACX,GAAGpG,CAAW,WAEd2B,EACD,GAAA8B,EAAAjD,GAAA,EAACmR,EAAgBA,CAACC,OAAQA,MAGtC,oHCnCO,IAAMa,EAAkC,GAAqC,IAApC,CAAE9Q,SAAAA,CAAAA,CAA6B,CAAA1B,EACrE,CAAEyS,sBAAAA,CAAAA,CAAuBC,iBAAAA,CAAAA,CAAkB,CAAG9F,CAAAA,EAAAA,EAAAA,CAAAA,IAGpD,MACI,GAAAtM,EAAAC,GAAA,EAACoS,EAAAA,CAAeA,CAAAA,UACZ,GAAArS,EAAAC,GAAA,EAACqS,EAAAA,EAASA,CAAAA,CACN9F,SAAS,WACTE,WAAY,CAAE6F,OAAQ,CAAE,EACxBC,QAAS,CAAE5N,MAPTuN,EAAwB,GAAoBxP,MAAA,CAAjByP,EAAiB,MAAMnR,KAAAA,CAAS,EAQ7DmJ,QAAQ,OACRxF,MAAOqH,EAAAA,EAAwBA,CAC/BwG,SAAU,CAAC,cAAe,cAAe,MAAM,CAC/C7J,OAAO,OACP8J,iBAAkB,CAAC,MAAO,MAAO,EAAE,CACnCpC,eAAgB,CAAC,gBAAgB,CACjC9E,WAAW,SACXyG,GAAI,CAAC,EAAG,EAAG,EAAE,CACbU,aAAc,CAAC,EAAG,EAAG,EAAE,CACvBC,YAAa,CAAC,EAAG,EAAG,EAAE,CACtB5K,YAAY,oBAEX5G,KAIjB,8FC7BO,IAAMyR,EAAmBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAM,CAElCzG,oBAAqB,GAGrB0G,mBAAoB,GAEpBZ,sBAAuB,GAEvBC,iBAAkBtG,EAAAA,EAAyBA,CAE3CkH,oBAAoBC,CAAkB,CAAE,CACpCJ,EAAiBxG,mBAAmB,CAAG4G,CAC3C,EACAC,mBAAmBD,CAAkB,CAAE,CACnCJ,EAAiBE,kBAAkB,CAAGE,CAC1C,EAEAE,yBAAyBC,CAAe,CAAE,CACtCP,EAAiBV,qBAAqB,CAAGiB,CAC7C,EAEAC,oBAAoBzO,CAAa,CAAE,CAC/BiO,EAAiBT,gBAAgB,CAAGxN,CACxC,CACJ,GAEO,SAAS0H,GAAsB,CAClC,MAAOgH,CAAAA,EAAAA,EAAAA,CAAAA,EAAYT,EACvB,gMC1BO,IAAMU,EAAY,GAAkD,IAAjD,CAAEnS,SAAAA,CAAAA,CAAU,GAAGyE,EAA6B,CAAAnG,EAC5D,CAAE8T,qBAAAA,CAAAA,CAAsB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IACjC,MACI,GAAAvQ,EAAAjD,GAAA,EAACyT,EAAAA,CAAKA,CAAAA,CACD,GAAG7N,CAAQ,CACZ6K,gBAAgB,QAChBnE,GAAI,CACA,WAAY,CACRpE,QAAS,KACTqE,SAAU,WACVpC,QAAS,QACTvB,IAAK,GACLR,MAAO,EACPC,OAAQ,EACR1D,MAAO,OACPgE,OAAQ,EACRL,OAAQ,SACRmI,gBAAiB,OACrB,CACJ,EACAlE,SAAS,SACT3D,IAAK,CAAC,EAAG,EAAG2K,EAAqBpE,EAAE,CAAC,IAAK,CACzC7G,OAAQ,CAAC,UAAW,UAAW,SAAS,UAEvCnH,GAGb,wECtBO,IAAMuS,EAA8B,GAA4D,KAG1EzE,KAHe,CAAE9N,SAAAA,CAAAA,CAAU,GAAGyE,EAAuC,CAAAnG,EACxF,CAAEsT,oBAAAA,CAAAA,CAAqBE,mBAAAA,CAAAA,CAAoBC,yBAAAA,CAAAA,CAA0BE,oBAAAA,CAAAA,CAAqB,CAAG/G,CAAAA,EAAAA,EAAAA,CAAAA,IAC7FsH,EAAMC,CAAAA,EAAAA,EAAAA,MAAAA,EAA8B,IAAI,EACxCzB,EAAmBlD,IAA2CjD,GAA3CiD,CAAAA,EAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAmBjD,EAAAA,EAAwBA,CAAAA,GAA3CiD,KAAAA,IAAAA,EAAAA,EAAgD,EAAE,CAErE4E,EAAmBC,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,GAC1BC,EAAQC,WAAW,CAAGD,EAAQE,WAAW,CACjD,EAAE,EAECC,EAAkCJ,CAAAA,EAAAA,EAAAA,WAAAA,EACpC,GAAkD,CAC9C,GAAIH,EAAIQ,OAAO,EAAIC,CAAAA,EAAAA,EAAAA,CAAAA,EAAsBT,EAAIQ,OAAO,EAAG,CACnD,IAAME,EAAgBR,EAAiBF,EAAIQ,OAAO,EAG5CG,EAAsBzD,OAAOsB,EAAiBoC,OAAO,CAAC,KAAM,KAhBnE,EAkBCnB,EACIiB,EAAgBC,EAAsBzI,EAAAA,EAAyBA,CAAGA,EAAAA,EAAyBA,CAAGyI,EAAsBD,CAAa,EAIrIV,EAAIQ,OAAO,CAACK,UAAU,CAAG,CAC7B,CAAC,EAEL,CAACrC,EAAkB0B,EAAkBT,EAAoB,EAG7DnN,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,IAAM,CACR0N,EAAIQ,OAAO,EACXlB,EAAmBmB,CAAAA,EAAAA,EAAAA,CAAAA,EAAsBT,EAAIQ,OAAO,GAGxD,IAAMM,EAAW,IAAM,CACnBP,EAAgCP,EACpC,EAGA,OAFAtE,OAAOqF,gBAAgB,CAAC,SAAUD,GAE3B,IAAMpF,OAAOsF,mBAAmB,CAAC,SAAUF,EACtD,EAAG,CAACP,EAAiCjB,EAAmB,EAExDhN,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,IAAM,CACZiO,EAAgCP,EACpC,EAAG,CAACO,EAAiC/S,EAAS,EAE9C,IAAMyT,EAAiB,GAAiC,CACpD,IAAMb,EAAUc,EAAM/D,MAAM,CACtBgE,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAoBhB,EAAQS,UAAU,CAAEX,EAAiBE,GAAU,IACtFiB,EAAkBjB,EAAQE,WAAW,CAAGF,EAAQS,UAAU,GAAKT,EAAQC,WAAW,CAExFjB,EAAoBgB,EAAQS,UAAU,CAAG,GACzCvB,EAAmB+B,GACnB9B,EAAyB4B,EAAmBlJ,EAAAA,EAA0BA,CAC1E,EAEA,MACI,GAAA3I,EAAAjD,GAAA,EAACiV,EAAAA,CAAcA,CAAAA,CAACtB,IAAKA,EAAM,GAAG/N,CAAQ,CAAE2G,SAAS,WAAW2I,SAAUN,WACjEzT,GAGb,ECnEagU,EAAmB,GAAqC,IAApC,CAAEhU,SAAAA,CAAAA,CAA6B,CAAA1B,EACtD,CAAEqT,mBAAAA,CAAAA,CAAoB,CAAGzG,CAAAA,EAAAA,EAAAA,CAAAA,IAE/B,MACI,GAAApJ,EAAAjD,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,CACAkK,SAAS,WACTD,GAAI,CACA,WAAY,CACRpE,QAAS,KACTqE,SAAU,WACVpC,QAAS,QACTvB,IAAK,EACLR,MAAO,EACPC,OAAQ,OACR1D,MAAO,EACP2D,OAAQ,SACRmE,WAAY,iBACZnG,UAAWwM,EAAqB,iCAAmC,qBAAqB,CAEhG,WAEC3R,GAGb,ECSaiU,EAAkB,GAYJ,IAZuB,CAC9CC,QAAAA,CAAAA,CACA9U,KAAAA,CAAAA,CACA+U,WAAAA,CAAAA,CACAC,mBAAAA,CAAAA,CACAC,iBAAAA,CAAAA,CACAC,iBAAAA,CAAAA,CACAC,cAAAA,CAAAA,CACAC,SAAAA,CAAAA,CACAC,QAAAA,CAAAA,CACAC,gBAAAA,CAAAA,CACAC,SAAAA,CAAAA,CACkB,CAAArW,EACdsW,EAAe,CAAC,EACpBA,EAAeT,EAAa,CAAEA,WAAAA,CAAW,EAAI,CAAC,CAAC,CAC/CS,EAAeH,EAAU,CAAE,GAAGG,CAAY,CAAEH,QAAAA,CAAQ,EAAIG,CAAY,CAEpE,IAAMC,EAAgC,CAClCzV,KAAAA,EACA8U,QAAAA,EACAY,MAAOF,EAEPG,qBAAsB,GACtBC,gBAAiBA,CAAAA,EAAAA,EAAAA,EAAAA,IACjBC,kBAAmBA,CAAAA,EAAAA,EAAAA,EAAAA,IACnBC,sBAAuBA,CAAAA,EAAAA,EAAAA,EAAAA,IACvBZ,iBAAAA,EACAC,cAAAA,EACAC,SAAAA,CACJ,EAEIJ,GACAS,CAAAA,EAAaT,kBAAkB,CAAGA,CAAAA,EAGlCM,GACAG,CAAAA,EAAaH,eAAe,CAAGA,CAAAA,EAGnC,IAAMS,EAAQC,CAAAA,EAAAA,EAAAA,EAAAA,EAAcP,GAE5B,MACI,GAAA/S,EAAAqC,IAAA,EAACjD,EAAAA,EAAGA,CAAAA,WACA,GAAAY,EAAAjD,GAAA,EAACmV,EAAgBA,UACb,GAAAlS,EAAAjD,GAAA,EAAC0T,EAA2BA,CAAC8C,UAAW,CAAC,SAAU,SAAU,QAAQ,CAAE9U,UAAW,CAAC,OAAQ,OAAQ,QAAQ,UACvG,GAAAuB,EAAAqC,IAAA,EAACmR,EAAAA,CAAKA,CAAAA,WACF,GAAAxT,EAAAjD,GAAA,EAACsT,EAASA,UACLgD,EAAMI,eAAe,GAAG9V,GAAG,CAAC+V,GACzB,GAAA1T,EAAAjD,GAAA,EAAC4W,EAAAA,EAAEA,CAAAA,UACED,EAAYE,OAAO,CAACjW,GAAG,CAACwQ,GAAU,KACZA,EAAnB,IAAM0F,EAAa1F,IAA4B,GAA5BA,CAAAA,EAAAA,EAAOC,MAAM,CAACC,SAAS,CAACyF,IAAI,GAA5B3F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA8B4F,QAAQ,CACnD9O,EAAUkJ,EAAO6F,aAAa,CAAG,IAAI,CACvC,GAAAhU,EAAAjD,GAAA,EAACkX,EAAAA,QAAc,WACVC,CAAAA,EAAAA,EAAAA,EAAAA,EAAW/F,EAAOC,MAAM,CAACC,SAAS,CAACF,MAAM,CAAEA,EAAOgG,UAAU,KAD5ChG,EAAOlQ,EAAE,CAGjC,CAED,OAAO4V,EACH5O,EAEA,GAAAjF,EAAAjD,GAAA,EAACqX,EAAAA,EAAEA,CAAAA,CAAiB1O,OAAQ,EAAG2O,QAASlG,EAAOkG,OAAO,CAAExP,OAAO,OAAOyP,QAAS,WAC1ErP,GADIkJ,EAAOlQ,EAAE,CAGrB,IAfAyV,EAAYzV,EAAE,KAoB/B,GAAA+B,EAAAjD,GAAA,EAACwX,EAAAA,CAAKA,CAAAA,UACDlB,EAAMmB,WAAW,GAAGC,IAAI,CAAC9W,GAAG,CAAC+W,GAEtB,GAAA1U,EAAAjD,GAAA,EAAC4W,EAAAA,EAAEA,CAAAA,CAECtK,GACIwJ,MAAAA,EAAAA,EAAY,CACR,uBAAwB,CACpBrF,gBAAiB,SACrB,EACA,CAAC,YAA4C/N,MAAA,CAAhCqJ,EAAAA,EAA+BA,EAAG,CAAE,CAC7C6L,WAAY,UACZC,WAAY,CAChB,CACJ,CAAC,CAEL9P,YAAY,WACZgK,kBAAkB,eAEjB4F,EAAIG,eAAe,GAAGlX,GAAG,CAACmX,GAAQ,KACZA,EAAnB,IAAMC,EAAaD,IAA0B,GAA1BA,CAAAA,EAAAA,EAAK1G,MAAM,CAACC,SAAS,CAACyF,IAAI,GAA1BgB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA4BE,QAAQ,CACjD/P,EACF,GAAAjF,EAAAjD,GAAA,EAACkX,EAAAA,QAAc,WACVC,CAAAA,EAAAA,EAAAA,EAAAA,EAAWY,EAAK1G,MAAM,CAACC,SAAS,CAACyG,IAAI,CAAEA,EAAKX,UAAU,KADtCW,EAAK7W,EAAE,EAKhC,OAAO8W,EACH9P,EAEA,GAAAjF,EAAAjD,GAAA,EAACkY,EAAAA,EAAEA,CAAAA,CAACX,QAAS,EAAiBY,KAAM,EAAGC,YAAa,WAC/ClQ,GADgB6P,EAAK7W,EAAE,CAG/B,IA7BAyW,EAAIzW,EAAE,YAsCtCsU,EAAmBA,EAAiBc,GAAS,IAAI,GAG9D,yBC/IO,SAASlC,EAAsBL,CAAuB,CAAW,CACpE,OAAOA,EAAQC,WAAW,CAAGD,EAAQE,WAAW,wDAG7C,IAAMoE,EAAyB,CAAC7J,EAAkBmB,EAAmB2I,IAAuB,CAC/F,IAAMC,EAAqBC,MAAMhK,GAAUiK,IAAI,CAAC,CAAC,GACjD,GAAIH,IAAAA,EACA,OAAOC,CACV,CAED,IAAMG,EAAY,CAAC/I,EAAY,GAAKnB,SACpC,EAAgB8J,EACL,MAAU9J,EAAYkK,CAAAA,EAAYJ,CAAAA,GAAaG,IAAI,CAAC,CAAC,GAGzDF,CAFN,AAGL","sources":["webpack://_N_E/./src/components/common/buttons/go-to-wikifolio-button/go-to-wikifolio-button.tsx","webpack://_N_E/./src/components/common/horizontal-scroll-snap-cards/horizontal-scroll-snap-cards.tsx","webpack://_N_E/./src/components/common/horizontal-scroll-snap-cards/horizontal-scroll-snap.tsx","webpack://_N_E/./src/components/common/wikifolio-og-chart-image.tsx","webpack://_N_E/./src/components/common/ranking/ranking-stack.tsx","webpack://_N_E/./src/components/modules/bestseller-module/bestseller-action-buttons.tsx","webpack://_N_E/./src/components/modules/bestseller-module/bestseller.tsx","webpack://_N_E/./src/components/base/video.tsx","webpack://_N_E/./src/components/modules/mockup-text-module/devices.tsx","webpack://_N_E/./src/components/modules/mockup-text-module/mockup-text-module.tsx","webpack://_N_E/./src/components/table-scrollable/components/constants.ts","webpack://_N_E/./src/components/table-scrollable/components/table-border-shadow-shell.tsx","webpack://_N_E/./src/components/table-scrollable/components/pagination-button.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-pagination-numbers.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-pagination.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-sorting-icon.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-row-cell.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-sticky-cell-animate-container.tsx","webpack://_N_E/./src/components/table-scrollable/store/table-scroll-store.ts","webpack://_N_E/./src/components/table-scrollable/components/table-head.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-container-scroll-observe.tsx","webpack://_N_E/./src/components/table-scrollable/components/table-right-shadow.tsx","webpack://_N_E/./src/components/table-scrollable/table-scrollable.tsx","webpack://_N_E/./src/components/table-scrollable/utils.ts","webpack://_N_E/"],"sourcesContent":["import { useTranslation } from \"next-i18next\";\nimport { Button, ButtonProps } from \"src/components/base/button\";\nimport { WfLinkUnstyled } from \"src/components/base/wf-link\";\nimport { useLinkBuilder } from \"src/hooks/use-link-builder\";\n\ninterface IGoToWikifolioButtonProps extends ButtonProps {\n symbol?: string;\n href?: string;\n}\n\nexport const GoToWikifolioButton = ({ symbol, onClick, href, ...buttonProps }: IGoToWikifolioButtonProps) => {\n const { buildWikifolioLink } = useLinkBuilder();\n const { t } = useTranslation(\"common\");\n const link = href ?? (symbol && buildWikifolioLink(symbol));\n\n return (\n \n );\n};\n","import { BoxProps } from \"@chakra-ui/react\";\nimport { ScrollSnapItem } from \"../scroll-snap\";\nimport { HorizontalScrollSnap } from \"./horizontal-scroll-snap\";\n\ninterface IHorizontalScrollSnapCards {\n cardsData: T[];\n Card: React.ElementType;\n cardProps?: BoxProps & Record;\n}\n\nexport const CARDS_WIDTH = [\"288px\", \"358px\", \"auto\"];\n\n// A wrapper style for ScrollSnapCards that maintains consistent styling across various sections of the application.\nexport function HorizontalScrollSnapCards(props: IHorizontalScrollSnapCards) {\n const { cardsData, cardProps, Card } = props;\n\n return (\n \n {cardsData.map((data, index) => (\n \n \n \n ))}\n \n );\n}\n","import { PropsWithChildren } from \"react\";\nimport { CONTAINER_PX_XS_SM, CONTAINER_PX_XS_SM_NEGATIVE } from \"src/components/layout/container\";\nimport { ScrollSnap } from \"../scroll-snap\";\n\ninterface IHorizontalScrollSnap extends PropsWithChildren {}\n\nexport function HorizontalScrollSnap({ children }: IHorizontalScrollSnap) {\n return (\n \n {children}\n \n );\n}\n","import { AspectRatio, AspectRatioProps, Box, Image, ImageProps, ResponsiveValue } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { createChartImagePreviewUrl } from \"src/consts/urls\";\n\nexport interface IWikifolioOgChartImageProps extends AspectRatioProps {\n wikifolioId: string;\n shortDescription: string;\n ratio?: ResponsiveValue;\n loading?: ImageProps[\"loading\"];\n onError?: () => void;\n}\n\nexport const WikifolioOgChartImage = ({\n wikifolioId,\n ratio = 16 / 9,\n shortDescription,\n loading,\n onError,\n ...aspectRatioProps\n}: IWikifolioOgChartImageProps) => {\n const { t } = useTranslation(\"common\");\n\n const onErrorHandle = () => onError && onError();\n\n return (\n \n \n \n \n \n );\n};\n","import { Stack, StackDivider, StackProps } from \"@chakra-ui/react\";\nimport { DescriptionList } from \"../../base\";\nimport { IRanking, Ranking } from \"./ranking\";\nimport { IRankingValueSize } from \"./ranking-value\";\n\nexport interface IRankingStackProps extends StackProps {\n size: IRankingValueSize;\n rankings: Omit[];\n hidePoints?: boolean;\n}\nexport const RankingStack = ({ size, rankings, hidePoints, ...stackProps }: IRankingStackProps) => {\n return (\n } {...stackProps}>\n {rankings.map((r, idx) => (\n \n ))}\n \n );\n};\n","import { Stack, StackDirection } from \"@chakra-ui/react\";\nimport { ButtonProps } from \"src/components/base/button\";\nimport { CopyIsinButton } from \"src/components/common/buttons/copy-isin-button/copy-isin-button\";\nimport { GoToWikifolioButton } from \"src/components/common/buttons/go-to-wikifolio-button/go-to-wikifolio-button\";\nimport { InvestButton } from \"src/components/common/buttons/innvest-button/invest-button\";\nimport { WatchlistButton } from \"src/components/common/buttons/watchlist-button/watchlist-button\";\nimport { IBestsellerWikifolio } from \"src/components/modules/bestseller-module/bestseller.types\";\nimport { useLinkBuilder } from \"src/hooks/use-link-builder\";\nimport { EnumWfActionType } from \"src/types/common-enum\";\n\ninterface ISingleActionButtonProps extends IBestsellerWikifolio {\n actionType: EnumWfActionType;\n isPrimary?: boolean;\n setOnWatchlist: (id: string, isOnWatchList: boolean) => void;\n addedToWatchlistMessage?: string;\n removedFromWatchlistMessage?: string;\n}\nconst SingleActionButton = ({\n id: wikifolioId,\n symbol,\n isin,\n shortDescription,\n isLicensed,\n isOnWatchlist,\n setOnWatchlist,\n actionType,\n isPrimary,\n addedToWatchlistMessage,\n removedFromWatchlistMessage,\n}: ISingleActionButtonProps) => {\n const btnProps: ButtonProps = {\n variant: isPrimary ? \"outline\" : \"ghost\",\n width: \"100%\",\n size: \"sm\",\n };\n\n const { buildWikifolioLink } = useLinkBuilder();\n\n switch (actionType) {\n case EnumWfActionType.CopyIsin:\n return ;\n case EnumWfActionType.GoToWf:\n return ;\n case EnumWfActionType.Watchlist:\n return (\n \n );\n case EnumWfActionType.Invest:\n return ;\n default:\n return null;\n }\n};\n\nexport interface IBestsellerActionButtonsProps extends IBestsellerWikifolio {\n actions: EnumWfActionType[];\n buttonsDirection?: StackDirection;\n setOnWatchlist: (id: string, isOnWatchList: boolean) => void;\n addedToWatchlistMessage?: string;\n removedFromWatchlistMessage?: string;\n}\n\nexport const BestsellerActionButtons = ({ buttonsDirection, actions, ...wfData }: IBestsellerActionButtonsProps) => (\n \n \n \n \n);\n","import { useEffect } from \"react\";\nimport { Box, BoxProps, Flex, HStack, StackDirection } from \"@chakra-ui/react\";\nimport { WfLinkGhost } from \"src/components/base/wf-link\";\nimport { RankingStack } from \"src/components/common/ranking/ranking-stack\";\nimport { TraderAvatar } from \"src/components/common/trader-avatar\";\nimport { WikifolioOgChartImage } from \"src/components/common/wikifolio-og-chart-image\";\nimport { IBestsellerData } from \"src/components/modules/bestseller-module/bestseller.types\";\nimport { useGetUserName } from \"src/hooks/use-get-user-name\";\nimport { useLinkBuilder } from \"src/hooks/use-link-builder\";\nimport { useWikifolioStore } from \"src/stores/wikifolio-store\";\nimport { BestsellerActionButtons } from \"./bestseller-action-buttons\";\n\nexport interface IBestsellerProps extends BoxProps {\n data: IBestsellerData;\n buttonsDirection?: StackDirection;\n hideChart?: boolean;\n addedToWatchlistMessage?: string;\n removedFromWatchlistMessage?: string;\n}\n\nexport const Bestseller = ({\n data: { trader, kpis, actions, id, isOnWatchlist, ...wfData },\n buttonsDirection = [\"column\", \"row-reverse\", \"column\", \"row-reverse\"],\n hideChart = false,\n addedToWatchlistMessage,\n removedFromWatchlistMessage,\n ...boxProps\n}: IBestsellerProps) => {\n const { buildTraderProfileLink, buildWikifolioLink } = useLinkBuilder();\n const { watchlist, setOnWatchlist } = useWikifolioStore();\n const getUserName = useGetUserName();\n\n useEffect(() => {\n setOnWatchlist(id, isOnWatchlist);\n }, [id, isOnWatchlist, setOnWatchlist]);\n\n const bestsellerProps = { ...wfData, id, isOnWatchlist: watchlist[id] ?? false, setOnWatchlist };\n\n const rankings = kpis.map(kpi => ({ data: kpi }));\n const traderProfileLink = buildTraderProfileLink(trader.nickName);\n\n return (\n \n \n \n \n \n {wfData.shortDescription}\n \n \n {getUserName(trader)}\n \n \n \n \n {!hideChart && }\n \n \n );\n};\n","import { chakra, HTMLChakraProps } from \"@chakra-ui/react\";\n\nconst _Video = chakra(\"video\");\n\nexport interface IVideoProps extends HTMLChakraProps<\"video\"> {\n alt?: string;\n previewImageUrl?: string;\n}\n\nexport function Video({ alt, previewImageUrl, ...props }: IVideoProps) {\n return <_Video aria-describedby={alt} poster={previewImageUrl} {...props} />;\n}\n","import { PropsWithChildren } from \"react\";\nimport { Box, Flex, BoxProps, Image } from \"@chakra-ui/react\";\nimport NextImage from \"next/legacy/image\";\nimport { IImage } from \"src/types/common\";\nimport { EnumHorizontalAlignment } from \"src/types/common-enum\";\nimport { buildUrl } from \"src/utils/responsive-image-util\";\nimport { Video } from \"../../base/video\";\n\nconst SMARTPHONE_MARGIN_TO_BORDER_DESKTOP = 200;\nconst SMARTPHONE_BIG_WIDTH = 292;\n\nconst LAPTOP_WIDTH = 460;\nconst LAPTOP_BIG_WIDTH = 550;\n\nconst Smartphone = (props: BoxProps) => (\n \n);\n\nconst Laptop = ({ children, ...boxProps }: PropsWithChildren) => (\n \n \n \n {children}\n \n \n);\n\ninterface IMockProps {\n image?: IImage;\n video?: IImage;\n}\nconst Mock = ({ image, video }: IMockProps) => {\n return video ? (\n \n ) : (\n {image?.alt\n );\n};\n\ninterface IDeviceProps {\n laptopMock: IMockProps;\n phoneMock: IMockProps;\n mockupAlign: EnumHorizontalAlignment;\n}\nexport const Device = ({ laptopMock, phoneMock, mockupAlign }: IDeviceProps) => {\n const hasLaptopMock = Boolean(laptopMock.image) || Boolean(laptopMock.video);\n const smartPhoneProp = {\n [mockupAlign === EnumHorizontalAlignment.Right ? \"mr\" : \"ml\"]: [null, null, null, `${SMARTPHONE_MARGIN_TO_BORDER_DESKTOP}px`],\n };\n\n if (hasLaptopMock) {\n return (\n <>\n \n \n \n \n \n \n \n );\n }\n return (\n \n \n \n );\n};\n","import { Box, Stack } from \"@chakra-ui/react\";\nimport { SingleCta } from \"src/components/common/cta/cta\";\nimport { ModulePrimaryHeadline, ModuleSecondaryHeadline } from \"src/components/common/module-headlines\";\nimport { SimpleRichText } from \"src/components/common/rich-text/simple-rich-text\";\nimport { Container, ContainerBig, CONTAINER_PX } from \"src/components/layout/container\";\nimport { IImage } from \"src/types/common\";\nimport { EnumHorizontalAlignment } from \"src/types/common-enum\";\nimport { ICta } from \"src/types/cta\";\nimport { Device } from \"./devices\";\n\nconst GrayBackground = ({ mockupAlign }: { mockupAlign: EnumHorizontalAlignment }) => (\n \n);\n\nexport interface IMockupTextModuleProps {\n headline?: string;\n title?: string;\n titleAsH2: boolean;\n description: string;\n mockupAlign: EnumHorizontalAlignment;\n cta?: ICta;\n phoneMockImage: IImage;\n phoneMockVideo?: IImage;\n laptopMockImage?: IImage;\n laptopMockVideo?: IImage;\n}\n\nexport const MockupTextModule = ({\n headline,\n title,\n titleAsH2,\n description,\n cta,\n mockupAlign,\n phoneMockImage,\n phoneMockVideo,\n laptopMockImage,\n laptopMockVideo,\n}: IMockupTextModuleProps) => {\n return (\n <>\n {headline && (\n \n \n {headline}\n \n \n )}\n \n \n \n \n {title && {title}}\n \n {cta && }\n \n \n \n \n \n \n \n \n \n );\n};\n","export const SCROLL_PERCENTAGES_TO_SNAP = 1;\nexport const CONTAINER_WIDTH_ON_SCROLL = 100;\n\nexport const TABLE_HEADER_ELEMENT_HEIGHT = \"64px\";\n\nexport const CLASS_TABLE_CONTEXT_MENU_BUTTON = \"table-context-menu-button\";\nexport const TABLE_FIRST_COLUMN_WIDTH = [\"229px\", \"229px\", \"351px\", \"520px\"];\n","import { PropsWithChildren } from \"react\";\nimport { Box, useToken } from \"@chakra-ui/react\";\nimport { useTableScrollStore } from \"src/components/table-scrollable/store/table-scroll-store\";\n\nexport const TableBorderShadowShell = ({ children, ...boxProps }: PropsWithChildren) => {\n const [gray100] = useToken(\"colors\", [\"gray.100\"]);\n const { hasTraderCellShadow } = useTableScrollStore();\n\n return (\n \n {children}\n \n );\n};\n","import { Button, ButtonProps } from \"src/components/base/button\";\n\ninterface IPaginationButtonProps extends ButtonProps {\n pageNumber: number;\n}\n\nexport const PaginationButton = ({ pageNumber, ...props }: IPaginationButtonProps) => {\n return (\n \n {pageNumber}\n \n );\n};\n","import { Box, HStack, Skeleton } from \"@chakra-ui/react\";\nimport { PaginationButton } from \"src/components/table-scrollable/components/pagination-button\";\n\nconst DOTS_INDICATOR = -9999;\nconst TABLE_PAGINATION_NUMBER_BUTTON_TEST_ID = \"table-pagination-number-button\";\n\nconst NumbersLoadingSkeleton = () => (\n \n \n \n \n \n);\n\ninterface ITablePaginationMenu {\n isLoading: boolean;\n currentPageIndex: number;\n pageIndexes: number[];\n isMobile?: boolean;\n onPageSelect: (index: number) => void;\n}\n\nexport const TablePaginationNumbers = ({ pageIndexes, currentPageIndex, isLoading, isMobile, onPageSelect }: ITablePaginationMenu) => {\n const getMappedPaginationOptions = () => {\n if (pageIndexes.length <= 4) {\n return pageIndexes;\n }\n\n const lastIndex = pageIndexes.length - 1;\n let indexes: number[];\n\n if (currentPageIndex === pageIndexes[lastIndex]) {\n indexes = isMobile ? pageIndexes.slice(-2) : pageIndexes.slice(-3);\n } else {\n indexes = isMobile ? pageIndexes.slice(0, 2) : pageIndexes.slice(0, 3);\n }\n\n if (currentPageIndex > 0 && currentPageIndex < lastIndex) {\n indexes = isMobile ? [currentPageIndex] : [currentPageIndex - 1, currentPageIndex, currentPageIndex + 1];\n }\n\n const shouldShowLeftDots = currentPageIndex > (isMobile ? 1 : 2);\n const shouldShowRightDots = currentPageIndex < pageIndexes.length - (isMobile ? 2 : 3);\n const shouldIncludeFirstItem = currentPageIndex > (isMobile ? 0 : 1);\n const shouldIncludeLastItem = currentPageIndex < (isMobile ? lastIndex : pageIndexes.length - 2);\n\n if (shouldShowRightDots) {\n indexes.push(DOTS_INDICATOR);\n }\n\n if (shouldShowLeftDots) {\n indexes = [DOTS_INDICATOR, ...indexes];\n }\n\n if (shouldIncludeFirstItem) {\n indexes = [pageIndexes[0], ...indexes];\n }\n\n if (shouldIncludeLastItem) {\n indexes.push(pageIndexes[lastIndex]);\n }\n\n return indexes;\n };\n\n return (\n \n {isLoading ? (\n \n ) : (\n getMappedPaginationOptions().map((index, i) =>\n index === DOTS_INDICATOR ? (\n ...\n ) : (\n onPageSelect(index)}\n key={index + i}\n pageNumber={index + 1}\n isActive={index === currentPageIndex}\n p={0}\n data-test-id={TABLE_PAGINATION_NUMBER_BUTTON_TEST_ID}\n />\n )\n )\n )}\n \n );\n};\n","import { Box, Flex, Skeleton, Text, useBreakpointValue, VStack } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { Span } from \"src/components/base\";\nimport { Button } from \"src/components/base/button\";\nimport { WfSelect } from \"src/components/base/wf-select\";\nimport { IconCaret } from \"src/components/icons\";\nimport { TablePaginationNumbers } from \"src/components/table-scrollable/components/table-pagination-numbers\";\nimport { scrollToTheTop } from \"src/utils/dom-util\";\n\ninterface ITablePaginationProps {\n pageSizeOptions: number[];\n pageSize: number;\n itemsCount: number;\n onPageSizeChange: (index: number) => void;\n currentPageIndex: number;\n pageIndexes: number[];\n onPageSelect: (index: number) => void;\n onPreviousClick: () => void;\n onNextClick: () => void;\n canGoPreviousPage: boolean;\n canGoNextPage: boolean;\n isLoading: boolean;\n itemsLabel: string;\n disableScrollTop?: boolean;\n}\n\nconst SCROLL_TOP = 300;\nconst TABLE_PAGINATION_TEXT_TEST_ID = \"table-pagination-text\";\n\nexport const TablePagination = ({\n pageSizeOptions,\n pageSize,\n itemsCount,\n onPageSizeChange,\n currentPageIndex,\n pageIndexes,\n onPageSelect,\n onPreviousClick,\n onNextClick,\n canGoPreviousPage,\n canGoNextPage,\n isLoading,\n itemsLabel,\n disableScrollTop,\n}: ITablePaginationProps) => {\n const { t } = useTranslation(\"table-scrollable\");\n const isMobile = useBreakpointValue([true, false]);\n\n const pageStartingItemNumber = (currentPageIndex + 1) * pageSize - pageSize + 1;\n const pageLastItemNumber = (currentPageIndex + 1) * pageSize;\n const isLastPage = currentPageIndex === pageIndexes.at(-1);\n\n const smoothScrollToTop = () =>\n window.requestAnimationFrame(() => {\n scrollToTheTop({ top: isMobile ? SCROLL_TOP : 0 });\n });\n\n const handleScrollToTop = (pageIndex: number) => {\n if (disableScrollTop) {\n return;\n }\n\n const lastPageIndex = pageIndexes.at(-1);\n const isLastPageIndex = pageIndex === pageIndexes.at(-1);\n const itemsLeftOnLastPage = itemsCount - pageIndex * pageSize;\n\n const isGoingBackFromLastPage = lastPageIndex === currentPageIndex && lastPageIndex > pageIndex;\n const isGoingToLastPage = isLastPageIndex && pageSize > itemsLeftOnLastPage;\n\n if (isGoingBackFromLastPage || isGoingToLastPage) {\n smoothScrollToTop();\n }\n };\n\n const handlePageSelect = (index: number) => {\n onPageSelect(index);\n handleScrollToTop(index);\n };\n\n const handleNextPage = (index: number) => {\n onNextClick();\n handleScrollToTop(index + 1);\n };\n\n const handlePreviousPage = (index: number) => {\n onPreviousClick();\n handleScrollToTop(index - 1);\n };\n\n const handlePageSizeChange = (pageSizeNumber: number) => {\n if (pageSizeNumber < pageSize && !disableScrollTop) {\n smoothScrollToTop();\n }\n onPageSizeChange(pageSizeNumber);\n };\n\n return (\n \n \n {isLoading ? (\n \n ) : (\n \n {t(\"pagination.range\", {\n 0: pageStartingItemNumber,\n 1: isLastPage ? itemsCount : pageLastItemNumber,\n 2: itemsCount,\n 3: itemsLabel,\n })}\n \n )}\n \n {t(\"pagination.show\")}\n \n handlePageSizeChange(Number(ev.target.value))}\n >\n {pageSizeOptions.map(option => (\n \n ))}\n \n \n {t(\"pagination.items-per-page\", { 0: itemsLabel })}\n \n \n \n handlePreviousPage(currentPageIndex)}\n variant=\"outline\"\n size=\"sm\"\n aria-label={t(\"pagination.previous\")}\n >\n \n {t(\"pagination.previous\")}\n \n \n handleNextPage(currentPageIndex)}\n variant=\"outline\"\n size=\"sm\"\n aria-label={t(\"pagination.next\")}\n >\n \n {t(\"pagination.next\")}\n \n \n \n );\n};\n","import { Header } from \"@tanstack/react-table\";\nimport { IconCaret } from \"src/components/icons\";\n\ninterface ITableSortingIcon {\n header: Header;\n}\n\nexport const TableSortingIcon = ({ header }: ITableSortingIcon) => {\n if (header.column.columnDef.enableSorting === false) {\n return null;\n }\n\n const rotationAngle = header.column.getIsSorted() === \"desc\" ? 0 : 180;\n\n return (\n \n );\n};\n","import { PropsWithChildren } from \"react\";\n// eslint-disable-next-line no-restricted-imports\nimport { BoxProps, Flex, FlexProps } from \"@chakra-ui/react\";\nimport { Header } from \"@tanstack/react-table\";\nimport { TableSortingIcon } from \"src/components/table-scrollable/components/table-sorting-icon\";\nimport { TABLE_HEADER_ELEMENT_HEIGHT } from \"./constants\";\n\ninterface ITableRowCell extends BoxProps {\n header: Header;\n alignCenter?: boolean;\n}\n\nexport const TableRowCell = ({ children, header, alignCenter, ...boxProps }: PropsWithChildren>) => {\n const buttonProps: FlexProps =\n header.column.columnDef.enableSorting === false\n ? {}\n : {\n _hover: { color: \"gray.600\" },\n onClick: header.column.getToggleSortingHandler(),\n fontWeight: \"bold\",\n as: \"button\",\n width: \"100%\",\n textAlign: \"right\",\n };\n\n return (\n \n {children}\n \n \n );\n};\n","import { PropsWithChildren } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { MotionBox } from \"src/components/base\";\nimport { TABLE_FIRST_COLUMN_WIDTH } from \"src/components/table-scrollable/components/constants\";\nimport { useTableScrollStore } from \"src/components/table-scrollable/store/table-scroll-store\";\n\nexport const TableStickyCellAnimateContainer = ({ children }: PropsWithChildren) => {\n const { shouldSnapFirstColumn, firstColumnWidth } = useTableScrollStore();\n const width = shouldSnapFirstColumn ? `${firstColumnWidth}px` : undefined;\n\n return (\n \n \n {children}\n \n \n );\n};\n","import { proxy, useSnapshot } from \"valtio\";\nimport { CONTAINER_WIDTH_ON_SCROLL } from \"src/components/table-scrollable/components/constants\";\n\nexport const tableScrollStore = proxy({\n // The shadow that appears after the trader cell when the user has scrolled when the table has overflow content.\n hasTraderCellShadow: false,\n\n // The shadow effect on the right side of the table when the user has scrolled.\n hasScrollEndShadow: false,\n\n shouldSnapFirstColumn: false,\n\n firstColumnWidth: CONTAINER_WIDTH_ON_SCROLL,\n\n setTraderCellShadow(hasShadow: boolean) {\n tableScrollStore.hasTraderCellShadow = hasShadow;\n },\n setScrollEndShadow(hasShadow: boolean) {\n tableScrollStore.hasScrollEndShadow = hasShadow;\n },\n\n setShouldSnapFirstColumn(enable: boolean) {\n tableScrollStore.shouldSnapFirstColumn = enable;\n },\n\n setFirstColumnWidth(width: number) {\n tableScrollStore.firstColumnWidth = width;\n },\n});\n\nexport function useTableScrollStore() {\n return useSnapshot(tableScrollStore);\n}\n","import { PropsWithChildren } from \"react\";\n// eslint-disable-next-line no-restricted-imports\nimport { Thead } from \"@chakra-ui/react\";\nimport { useNavHeight } from \"src/components/layout/hooks/use-nav-height\";\n\n// additional white background closes the gap of 8px of white spaces that is from header shadow\nexport const TableHead = ({ children, ...boxProps }: PropsWithChildren) => {\n const { NAV_HEIGHT_VARIATION } = useNavHeight();\n return (\n \n {children}\n \n );\n};\n","import { UIEvent, PropsWithChildren, useEffect, useRef, useCallback, MutableRefObject } from \"react\";\nimport { BoxProps, TableContainer, useBreakpointValue } from \"@chakra-ui/react\";\nimport { useTableScrollStore } from \"src/components/table-scrollable/store/table-scroll-store\";\nimport { calculatePercentage } from \"src/utils/numbers/calculate-percentage\";\nimport { isHorizontalOverflown } from \"../utils\";\nimport { CONTAINER_WIDTH_ON_SCROLL, SCROLL_PERCENTAGES_TO_SNAP, TABLE_FIRST_COLUMN_WIDTH } from \"./constants\";\n\n/**\n * Observes and manages scroll events for a table container.\n */\nconst OFFSET = 1;\nexport const TableContainerScrollObserve = ({ children, ...boxProps }: PropsWithChildren) => {\n const { setTraderCellShadow, setScrollEndShadow, setShouldSnapFirstColumn, setFirstColumnWidth } = useTableScrollStore();\n const ref = useRef(null);\n const firstColumnWidth = useBreakpointValue(TABLE_FIRST_COLUMN_WIDTH) ?? \"\";\n\n const getOverflowWidth = useCallback((element: HTMLElement) => {\n return element.scrollWidth - element.clientWidth;\n }, []);\n\n const calculateFirstColumnShrunkWidth = useCallback(\n (ref: MutableRefObject) => {\n if (ref.current && isHorizontalOverflown(ref.current)) {\n const overflowWidth = getOverflowWidth(ref.current);\n\n // we add slight offset so scrollbar would still be visible when column is shrunk\n const adjustedColumnWidth = Number(firstColumnWidth.replace(\"px\", \"\")) + OFFSET;\n\n setFirstColumnWidth(\n overflowWidth > adjustedColumnWidth - CONTAINER_WIDTH_ON_SCROLL ? CONTAINER_WIDTH_ON_SCROLL : adjustedColumnWidth - overflowWidth\n );\n\n // reset horizontal scroll\n ref.current.scrollLeft = 0;\n }\n },\n [firstColumnWidth, getOverflowWidth, setFirstColumnWidth]\n );\n\n useEffect(() => {\n if (ref.current) {\n setScrollEndShadow(isHorizontalOverflown(ref.current));\n }\n\n const onResize = () => {\n calculateFirstColumnShrunkWidth(ref);\n };\n window.addEventListener(\"resize\", onResize);\n\n return () => window.removeEventListener(\"resize\", onResize);\n }, [calculateFirstColumnShrunkWidth, setScrollEndShadow]);\n\n useEffect(() => {\n calculateFirstColumnShrunkWidth(ref);\n }, [calculateFirstColumnShrunkWidth, children]);\n\n const handleOnScroll = (event: UIEvent) => {\n const element = event.target as HTMLDivElement;\n const scrollPercentage = calculatePercentage(element.scrollLeft, getOverflowWidth(element), true);\n const scrollEndShadow = element.clientWidth + element.scrollLeft !== element.scrollWidth;\n\n setTraderCellShadow(element.scrollLeft > 0);\n setScrollEndShadow(scrollEndShadow);\n setShouldSnapFirstColumn(scrollPercentage > SCROLL_PERCENTAGES_TO_SNAP);\n };\n\n return (\n \n {children}\n \n );\n};\n","import { PropsWithChildren } from \"react\";\nimport { Box } from \"@chakra-ui/react\";\nimport { useTableScrollStore } from \"src/components/table-scrollable/store/table-scroll-store\";\n\nexport const TableRightShadow = ({ children }: PropsWithChildren) => {\n const { hasScrollEndShadow } = useTableScrollStore();\n\n return (\n \n {children}\n \n );\n};\n","import React from \"react\";\n// eslint-disable-next-line no-restricted-imports\nimport { Table, Tbody, Tr, Th, Td, Box } from \"@chakra-ui/react\";\n// eslint-disable-next-line no-restricted-imports\nimport { SystemStyleObject } from \"@chakra-ui/system\";\nimport { OnChangeFn, Table as ReactTable, TableOptions } from \"@tanstack/react-table\";\nimport {\n ColumnDef,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n PaginationState,\n SortingState,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { TableHead } from \"src/components/table-scrollable/components/table-head\";\nimport { CLASS_TABLE_CONTEXT_MENU_BUTTON } from \"./components/constants\";\nimport { TableContainerScrollObserve as TableContainerScrollObserve } from \"./components/table-container-scroll-observe\";\nimport { TableRightShadow } from \"./components/table-right-shadow\";\n\ninterface ITableScrollable {\n data: T[];\n //https://github.com/TanStack/table/issues/4382#issuecomment-1571563559\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n columns: ColumnDef[];\n paginationRender?: (table: ReactTable) => JSX.Element;\n manualPagination?: boolean;\n manualSorting?: boolean;\n pagination?: PaginationState;\n onPaginationChange?: OnChangeFn;\n rowCount?: number;\n sorting?: SortingState;\n onSortingChange?: OnChangeFn;\n rowStyle?: SystemStyleObject;\n}\n\nexport const TableScrollable = ({\n columns,\n data,\n pagination,\n onPaginationChange,\n paginationRender,\n manualPagination,\n manualSorting,\n rowCount,\n sorting,\n onSortingChange,\n rowStyle,\n}: ITableScrollable) => {\n let stateOptions = {};\n stateOptions = pagination ? { pagination } : {};\n stateOptions = sorting ? { ...stateOptions, sorting } : stateOptions;\n\n const tableOptions: TableOptions = {\n data,\n columns,\n state: stateOptions,\n //https://tanstack.com/table/v8/docs/api/features/sorting#enablesortingremoval\n enableSortingRemoval: false,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n manualPagination,\n manualSorting,\n rowCount,\n };\n\n if (onPaginationChange) {\n tableOptions.onPaginationChange = onPaginationChange;\n }\n\n if (onSortingChange) {\n tableOptions.onSortingChange = onSortingChange;\n }\n\n const table = useReactTable(tableOptions);\n\n return (\n \n \n \n \n \n {table.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => {\n const isCustomTh = header.column.columnDef.meta?.customTh;\n const content = header.isPlaceholder ? null : (\n \n {flexRender(header.column.columnDef.header, header.getContext())}\n \n );\n\n return isCustomTh ? (\n content\n ) : (\n \n );\n })}\n \n ))}\n \n \n {table.getRowModel().rows.map(row => {\n return (\n \n {row.getVisibleCells().map(cell => {\n const isCustomTd = cell.column.columnDef.meta?.customTd;\n const content = (\n \n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n \n );\n\n return isCustomTd ? (\n content\n ) : (\n \n );\n })}\n \n );\n })}\n \n
\n {content}\n
\n {content}\n
\n
\n
\n {paginationRender ? paginationRender(table) : null}\n
\n );\n};\n","/**\n * Checks if an HTML element is horizontally overflown.\n *\n * @param element - The HTML element to check for horizontal overflow.\n *\n * @returns `true` if the element is horizontally overflown; `false` otherwise.\n */\nexport function isHorizontalOverflown(element: HTMLDivElement): boolean {\n return element.scrollWidth > element.clientWidth;\n}\n\nexport const getTableDataForLoading = (pageSize: number, pageIndex: number, totalItems: number) => {\n const defaultLoadingData = Array(pageSize).fill({});\n if (totalItems === 0) {\n return defaultLoadingData;\n }\n\n const pageItems = (pageIndex + 1) * pageSize;\n if (pageItems > totalItems) {\n return new Array(pageSize - (pageItems - totalItems)).fill({});\n }\n\n return defaultLoadingData;\n};\n"],"names":["GoToWikifolioButton","symbol","onClick","href","buttonProps","param","buildWikifolioLink","useLinkBuilder","t","useTranslation","link","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Button","as","WfLinkUnstyled","CARDS_WIDTH","HorizontalScrollSnapCards","props","data","cardsData","cardProps","Card","HorizontalScrollSnap","map","index","ScrollSnapItem","pr","undefined","w","id","children","ScrollSnap","p","CONTAINER_PX_XS_SM","m","CONTAINER_PX_XS_SM_NEGATIVE","gap","overflowX","templateColumns","WikifolioOgChartImage","wikifolioId","ratio","shortDescription","loading","onError","aspectRatioProps","onErrorHandle","AspectRatio","Box","Image","src","createChartImagePreviewUrl","alt","concat","h","RankingStack","size","rankings","hidePoints","stackProps","jsx_runtime","Stack","DescriptionList","direction","justify","align","spacing","divider","StackDivider","r","idx","Ranking","flex","mx","isDescriptionListItem","SingleActionButton","isin","isLicensed","isOnWatchlist","setOnWatchlist","actionType","isPrimary","addedToWatchlistMessage","removedFromWatchlistMessage","btnProps","variant","width","EnumWfActionType","CopyIsinButton","isDisabled","WatchlistButton","wikifolioShortDescription","InvestButton","BestsellerActionButtons","buttonsDirection","actions","wfData","jsxs","Bestseller","watchlist","trader","kpis","hideChart","boxProps","buildTraderProfileLink","useWikifolioStore","getUserName","useGetUserName","useEffect","bestsellerProps","kpi","traderProfileLink","nickName","boxShadow","rounded","HStack","mb","TraderAvatar","Flex","flexDir","flexGrow","overflow","WfLinkGhost","noOfLines","wordBreak","fontWeight","fontSize","_Video","chakra","Video","previewImageUrl","aria-describedby","poster","Smartphone","pos","mt","bg","border","borderColor","borderRadius","_after","content","left","right","bottom","zIndex","Laptop","my","minWidth","NextImage","height","top","px","pt","Mock","video","image","url","autoPlay","loop","muted","disablePictureInPicture","playsInline","preload","buildUrl","Device","laptopMock","phoneMock","mockupAlign","hasLaptopMock","Boolean","smartPhoneProp","EnumHorizontalAlignment","Fragment","display","base","md","GrayBackground","CONTAINER_PX","maxW","MockupTextModule","headline","title","titleAsH2","description","cta","phoneMockImage","phoneMockVideo","laptopMockImage","laptopMockVideo","Container","ModulePrimaryHeadline","textAlign","ContainerBig","alignItems","ModuleSecondaryHeadline","SimpleRichText","text","SingleCta","SCROLL_PERCENTAGES_TO_SNAP","CONTAINER_WIDTH_ON_SCROLL","TABLE_HEADER_ELEMENT_HEIGHT","CLASS_TABLE_CONTEXT_MENU_BUTTON","TABLE_FIRST_COLUMN_WIDTH","TableBorderShadowShell","gray100","useToken","hasTraderCellShadow","useTableScrollStore","sx","position","pointerEvents","transition","transform","PaginationButton","pageNumber","color","_hover","_active","_disabled","aria-label","String","NumbersLoadingSkeleton","Skeleton","TablePaginationNumbers","pageIndexes","currentPageIndex","isLoading","isMobile","onPageSelect","getMappedPaginationOptions","indexes","length","lastIndex","slice","shouldShowRightDots","shouldIncludeLastItem","push","i","isActive","data-test-id","TablePagination","pageSizeOptions","pageSize","itemsCount","onPageSizeChange","onPreviousClick","onNextClick","canGoPreviousPage","canGoNextPage","itemsLabel","disableScrollTop","useBreakpointValue","isLastPage","at","smoothScrollToTop","window","requestAnimationFrame","scrollToTheTop","handleScrollToTop","lastPageIndex","isLastPageIndex","pageIndex","isGoingBackFromLastPage","isGoingToLastPage","handlePageSelect","handleNextPage","handlePreviousPage","handlePageSizeChange","pageSizeNumber","VStack","flexWrap","justifyContent","Text","mr","WfSelect","backgroundColor","iconSize","onChange","ev","Number","target","value","option","IconCaret","Span","TableSortingIcon","header","column","columnDef","enableSorting","rotationAngle","getIsSorted","ml","boxSize","TableRowCell","alignCenter","getToggleSortingHandler","borderBottomWidth","py","TableStickyCellAnimateContainer","shouldSnapFirstColumn","firstColumnWidth","AnimatePresence","MotionBox","bounce","animate","flexFlow","borderRightWidth","paddingRight","paddingLeft","tableScrollStore","proxy","hasScrollEndShadow","setTraderCellShadow","hasShadow","setScrollEndShadow","setShouldSnapFirstColumn","enable","setFirstColumnWidth","useSnapshot","TableHead","NAV_HEIGHT_VARIATION","useNavHeight","Thead","TableContainerScrollObserve","ref","useRef","getOverflowWidth","useCallback","element","scrollWidth","clientWidth","calculateFirstColumnShrunkWidth","current","isHorizontalOverflown","overflowWidth","adjustedColumnWidth","replace","scrollLeft","onResize","addEventListener","removeEventListener","handleOnScroll","event","scrollPercentage","calculatePercentage","scrollEndShadow","TableContainer","onScroll","TableRightShadow","TableScrollable","columns","pagination","onPaginationChange","paginationRender","manualPagination","manualSorting","rowCount","sorting","onSortingChange","rowStyle","stateOptions","tableOptions","state","enableSortingRemoval","getCoreRowModel","getSortedRowModel","getPaginationRowModel","table","useReactTable","overflowY","Table","getHeaderGroups","headerGroup","Tr","headers","isCustomTh","meta","customTh","isPlaceholder","React","flexRender","getContext","Th","colSpan","padding","Tbody","getRowModel","rows","row","visibility","marginLeft","getVisibleCells","cell","isCustomTd","customTd","Td","minW","borderWidth","getTableDataForLoading","totalItems","defaultLoadingData","Array","fill","pageItems"],"sourceRoot":""}