{"version":3,"file":"static/chunks/8671-94c997cba361121d.js","mappings":"mHAAAA,aACA,SAAAC,IAAsB,MAAAA,CAAAA,EAAAC,OAAAC,MAAA,CAAAD,OAAAC,MAAA,CAAAC,IAAA,YAAAC,CAAA,EAAwE,QAAAC,EAAA,EAAgBA,EAAAC,UAAAC,MAAA,CAAsBF,IAAA,CAAO,IAAAG,EAAAF,SAAA,CAAAD,EAAA,CAAsB,QAAAI,KAAAD,EAAA,KAAoBE,cAAA,CAAAC,IAAA,CAAAH,EAAAC,IAAAL,CAAAA,CAAA,CAAAK,EAAA,CAAAD,CAAA,CAAAC,EAAA,EAAgD,OAAAL,CAAA,GAAWQ,MAAA,KAAAN,UAAA,CAgBhPO,EAAA,QAdA,SAAAC,CAAA,EACA,OAAsBC,EAAAC,aAAmB,OAAAhB,EAAA,CACzCiB,MAAA,6BACAC,MAAA,MACAC,OAAA,MACAC,KAAA,OACAC,QAAA,WACA,EAAGP,GAAAf,GAAAA,CAAAA,EAAyCgB,EAAAC,aAAmB,SAC/DI,KAAA,OACAE,SAAA,UACAC,EAAA,yNACAC,SAAA,SACA,EAAG,EACH,+DCdAX,CAAAA,EAAAY,CAAA,CAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAmBC,EAAAA,OAAGA,+DCArCd,CAAAA,EAAAY,CAAA,CAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAmBE,EAAAA,OAAYA,w1BC4B9C,IAAMC,EAAY,IAChB,GAAAC,EAAAC,IAAA,EAACC,MAAAA,CACCZ,KAAK,OACLD,OAAO,MACPE,QAAQ,cACRH,MAAM,MACND,MAAM,uCAEN,GAAAa,EAAAG,GAAA,EAACC,IAAAA,CAAEC,SAAS,kCACV,GAAAL,EAAAG,GAAA,EAACG,OAAAA,CACCZ,SAAS,UACTD,EAAE,qnBACFH,KAAK,UACLE,SAAS,cAGb,GAAAQ,EAAAG,GAAA,EAACI,OAAAA,UACC,GAAAP,EAAAG,GAAA,EAACE,WAAAA,CAASG,GAAG,4BACX,GAAAR,EAAAG,GAAA,EAACM,OAAAA,CAAKnB,KAAK,QAAQD,OAAO,MAAMD,MAAM,eAMxCsB,EAAa,IACjB,GAAAV,EAAAC,IAAA,EAACC,MAAAA,CACCZ,KAAK,OACLD,OAAO,MACPE,QAAQ,cACRH,MAAM,MACND,MAAM,uCAEN,GAAAa,EAAAG,GAAA,EAACG,OAAAA,CACCb,EAAE,qIACFH,KAAK,YAEP,GAAAU,EAAAG,GAAA,EAACG,OAAAA,CACCZ,SAAS,UACTD,EAAE,+QACFH,KAAK,QACLE,SAAS,YAEX,GAAAQ,EAAAG,GAAA,EAACG,OAAAA,CACCZ,SAAS,UACTD,EAAE,0VACFH,KAAK,QACLE,SAAS,YAEX,GAAAQ,EAAAG,GAAA,EAACG,OAAAA,CACCZ,SAAS,UACTD,EAAE,+NACFH,KAAK,QACLE,SAAS,YAEX,GAAAQ,EAAAG,GAAA,EAACG,OAAAA,CACCZ,SAAS,UACTD,EAAE,oOACFH,KAAK,QACLE,SAAS,YAEX,GAAAQ,EAAAG,GAAA,EAACG,OAAAA,CACCZ,SAAS,UACTD,EAAE,oOACFH,KAAK,QACLE,SAAS,eAKTmB,EAAuD,CAC3DC,OAAQ,IAAM,GAAAZ,EAAAG,GAAA,EAACJ,EAAAA,CAAAA,GACfc,QAAS,IAAM,GAAAb,EAAAG,GAAA,EAACO,EAAAA,CAAAA,GAChBI,MAAO,IAAM,GAAAd,EAAAG,GAAA,EAACY,EAAIA,CAACC,KAAK,UACxBC,SAAU,IAAM,GAAAjB,EAAAG,GAAA,EAACY,EAAIA,CAACC,KAAK,OAC7B,EAEME,EAAiBC,CAAAA,EAAAA,EAAAA,CAAAA,EACrB,qDACA,CACEC,SAAU,CACRC,KAAM,CACJT,OAAQ,eACRE,MAAO,eACPG,SAAU,eACVJ,QAAS,eACX,CACF,EACAS,gBAAiB,CACfD,KAAM,QACR,CACF,GAKIE,EAAa,OAAC,CAAEC,KAAAA,CAAI,CAAEH,KAAAA,CAAI,CAAEI,IAAAA,CAAG,CAAEC,IAAAA,CAAG,CAAEC,UAAAA,CAAS,CAAmB,CAAAC,EAChEC,EAAclB,CAAa,CAACU,EAAK,CAEvC,MACE,GAAArB,EAAAG,GAAA,EAAC2B,MAAAA,CACCH,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAGb,EAAe,CAAEG,KAAAA,CAAK,GAAIM,GACxCK,MAAO,CAAE5C,MAAOoC,EAAMnC,OAAQmC,EAAMS,SAAUT,EAAMU,UAAWV,CAAK,WAEnEE,EACC,GAAA1B,EAAAG,GAAA,EAACgC,EAAAA,OAAKA,CAAAA,CACJ7C,KAAI,GACJmC,IAAKA,EACLE,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,eAAgB,kBAC9BL,IAAKA,IAGP,GAAA1B,EAAAG,GAAA,EAAC0B,EAAAA,CAAAA,IAIT,EAEaO,EAAS,OAAC,CACrBZ,KAAAA,EAAO,EAAE,CACTH,KAAAA,EAAO,QAAQ,CACfI,IAAAA,CAAG,CACHC,IAAAA,CAAG,CACHC,UAAAA,CAAS,CACTX,KAAAA,CAAI,CACJqB,SAAAA,EAAW,EAAK,CACJ,CAAAT,EAENU,EAAUC,MAAMC,OAAO,CAACd,GAGxBe,EAAgBC,KAAKC,KAAK,CAACnB,EArCN,KAsCrBoB,EAAiBpB,EAAOiB,EAIxBI,EAAWP,EAAWZ,EAAmB,CAACA,EAAI,CAC9CoB,EAAWP,MAAMC,OAAO,CAACf,GAAOA,EAAMoB,EAASE,GAAG,CAAC,IAAM,UACzDC,EAAYT,MAAMC,OAAO,CAACf,GAAOA,CAAG,CAAC,EAAE,CAAIA,MAAAA,EAAAA,EAAO,gBACxD,EAYE,GAAAzB,EAAAC,IAAA,EAAC6B,MAAAA,CAAIH,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,oBAAqBJ,aACrCkB,EAASE,GAAG,CAAC,CAACE,EAAWC,IACxB,GAAAlD,EAAAG,GAAA,EAAC2B,MAAAA,CAECE,MAAO,CACLmB,WAAYD,EAAQ,CAACN,EAAiB,CACxC,WAEA,GAAA5C,EAAAG,GAAA,EAACoB,EAAAA,CACCE,IAAKqB,CAAQ,CAACI,EAAM,CACpBvB,UAAU,6BACVH,KAAMA,EACNE,IAAKuB,EACL5B,KAAMA,KAVH,GAA4B4B,MAAAA,CAAzBjC,EAAO,GAAQoC,MAAA,CAALpC,EAAK,KAAK,IAAkBkC,MAAAA,CAAbD,EAAU,KAASG,MAAA,CAANF,KAcjDb,EACC,GAAArC,EAAAG,GAAA,EAAC2B,MAAAA,CACCH,UAAU,2EACVK,MAAO,CACLmB,WAAY,CAACP,EACbxD,MAAOoC,EACPnC,OAAQmC,CACV,WAEA,GAAAxB,EAAAG,GAAA,EAACkD,EAAAA,CAAMA,CAAAA,CAAC1B,UAAU,2BAElB,QAtCJ,GAAA3B,EAAAG,GAAA,EAACoB,EAAAA,CACCE,IAAKuB,EACLrB,UAAWA,EACXH,KAAMA,EACNE,IAAKA,EACLL,KAAMA,GAoCd,iDCvMA,IAAMiC,EAAgBnC,CAAAA,EAAAA,EAAAA,CAAAA,EAAI,CACxB,iBACA,YACA,yBACA,0BACA,4BACD,EAQKoC,EAAQ,OAAC,CAAE5B,UAAAA,CAAS,CAAE6B,KAAAA,CAAI,CAAE,GAAGxE,EAAmB,CAAA4C,EAChD6B,EACJD,aAAAA,EAAsBE,EAAAA,OAAaA,CAAGF,SAAAA,EAAkBG,EAAAA,OAASA,CAAG,WAEtE,UAAIH,EACK,GAAAxD,EAAAG,GAAA,EAACyD,EAAAA,OAAUA,CAAAA,CAAAA,GAIlB,GAAA5D,EAAAC,IAAA,EAAC4D,EAAAA,CAAUA,CAAAA,CAAClC,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAGuB,IAAiB3B,GAAa,GAAG3C,CAAK,WAC7DyE,EAAO,GAAAzD,EAAAG,GAAA,EAACsD,EAAAA,CAAAA,GAAU,KAClBzE,EAAM8E,QAAQ,GAGrB,yDC/BO,IAAMC,EAAU,OAAC,CAAEC,QAAAA,EAAU,QAAQ,CAAErC,UAAAA,CAAS,CAAgB,CAAAC,EACrE,MACE,GAAA5B,EAAAG,GAAA,EAAC2B,MAAAA,CACCmC,mBAAkBD,aAAAA,EAAyB,WAAa,aACxDrC,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EACT,cACA,CACE,aAAciC,WAAAA,EACd,cAAeA,UAAAA,EACf,aAAcA,aAAAA,CAChB,EACArC,GAEFuC,KAAK,aAGX,sECZO,IAAMnD,EAAO,OAAC,CACnBC,KAAAA,EAAO,OAAO,CACdW,UAAAA,CAAS,CACTwC,OAAAA,EAAS,EAAK,CACd,GAAGC,EACO,CAAAxC,EACJyC,EAAM,CACVvD,MAAOwD,EAAAA,OAAKA,CACZC,IAAKC,EAAAA,OAAGA,CACT,CAACxD,EAAK,CAEP,MACE,GAAAhB,EAAAG,GAAA,EAACkE,EAAAA,CACE,GAAGD,CAAS,CACbzC,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EACT,CACE,CAAC0C,IAAAA,IAAW,CAAC,CAAE,CAACN,CAClB,EACA,iBACAxC,GAEFX,KAAMA,GAGZ,mFC9BO,IAAM0D,EAAqB,OAAC,CACjCC,OAAAA,EAAS,EAAK,CACdnD,KAAAA,EAAO,EAAE,CACToD,YAAAA,CAAW,CACXC,cAAAA,CAAa,CACbC,YAAAA,EAAc,EAAK,CAOpB,CAAAlD,EACC,MACE,GAAA5B,EAAAG,GAAA,EAAC4E,EAAAA,eAAeA,CAAAA,UACd,GAAA/E,EAAAC,IAAA,EAAC+E,KAAAA,CAAGrD,UAAU,qCACXiD,EAAc,KACb,GAAA5E,EAAAG,GAAA,EAAC8E,KAAAA,UACC,GAAAjF,EAAAG,GAAA,EAAC+E,EAAAA,WAAWA,CAAAA,CACVvD,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CAAE,cAAe4C,CAAO,GACtCQ,cAAe,EACfC,MACE,GAAApF,EAAAC,IAAA,EAACoF,IAAAA,WAAE,SAED,GAAArF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,oBAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,SAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,sCAKV,GAAAtF,EAAAG,GAAA,EAACgC,EAAAA,OAAKA,CAAAA,CACJ2C,YAAaA,EACbnD,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CACZ,UAAWP,KAAAA,EACX,UAAWA,KAAAA,EACX,UAAWA,KAAAA,CACb,GACAC,IAAI,YACJC,IACEiD,EACI,kDACA,sDAENvF,MAAO,GACPC,OAAQ,SAKhB,GAAAW,EAAAG,GAAA,EAAC8E,KAAAA,UACC,GAAAjF,EAAAG,GAAA,EAAC+E,EAAAA,WAAWA,CAAAA,CACVvD,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CAAE,cAAe4C,CAAO,GACtCQ,cAAe,EACfC,MACE,GAAApF,EAAAC,IAAA,EAACoF,IAAAA,WAAE,SAED,GAAArF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,kDAGN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,SAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,sCAKV,GAAAtF,EAAAG,GAAA,EAACgC,EAAAA,OAAKA,CAAAA,CACJV,IAAI,cACJE,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CACZ,OAAQP,KAAAA,EACR,OAAQA,KAAAA,EACR,OAAQA,KAAAA,CACV,GACApC,MAAO,GACP0F,YAAaA,EACbzF,OAAQ,GACRqC,IACEiD,EACI,qDACA,yDAENY,MAAM,iBAIZ,GAAAvF,EAAAG,GAAA,EAAC8E,KAAAA,UACC,GAAAjF,EAAAG,GAAA,EAAC+E,EAAAA,WAAWA,CAAAA,CACVvD,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CAAE,cAAe4C,CAAO,GACtCQ,cAAe,EACfC,MACE,GAAApF,EAAAC,IAAA,EAACoF,IAAAA,WAAE,SAED,GAAArF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,gCAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,SAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,sCAKV,GAAAtF,EAAAG,GAAA,EAACgC,EAAAA,OAAKA,CAAAA,CACJV,IAAI,cACJE,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CACZ,UAAWP,KAAAA,EACX,UAAWA,KAAAA,EACX,UAAWA,KAAAA,CACb,GACAsD,YAAaA,EACbpD,IACEiD,EACI,qDACA,yDAENY,MAAM,WACNnG,MAAO,GACPC,OAAQ,SAIbwF,EAAgB,KACf,GAAA7E,EAAAG,GAAA,EAAC8E,KAAAA,UACC,GAAAjF,EAAAG,GAAA,EAAC+E,EAAAA,WAAWA,CAAAA,CACVvD,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CAAE,cAAe4C,CAAO,GACtCQ,cAAe,EACfC,MACE,GAAApF,EAAAC,IAAA,EAACoF,IAAAA,WAAE,SAED,GAAArF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,oBAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,SAEN,GAAAtF,EAAAG,GAAA,EAACmF,KAAAA,CAAAA,GAAK,mCAKV,GAAAtF,EAAAG,GAAA,EAACgC,EAAAA,OAAKA,CAAAA,CACJV,IAAI,WACJE,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,CACZ,UAAWP,KAAAA,EACX,UAAWA,KAAAA,EACX,UAAWA,KAAAA,CACb,GACAsD,YAAaA,EACb1F,MAAO,GACPC,OAAQ,GACRqC,IAAI,wEACJ6D,MAAM,qBAQtB,gBC7JA,IAAMC,EAAUC,EAAAA,OAA6B,CACvCC,EAASD,EAAAA,MAA4B,CAuBrCE,EAAQF,EAAAA,KAA2B,CAqBnCG,EAAQH,EAAAA,KAA2B,CACnCI,EAAeJ,EAAAA,YAAkC,CACjDK,EAAgBL,EAAAA,aAAmC,CACnDM,EAAaN,EAAAA,UAAgC,CAC7CO,EAAYP,EAAAA,SAA+B,CAC3CQ,EAAMR,EAAAA,GAAyB,CAC/BS,EAAaT,EAAAA,UAAgC,CAQtCU,EAAW,CACtBC,KAlEW,OAAC,CACZC,IAAAA,EAAM,KAAK,CACX,GAAGrH,EACqC,CAAA4C,QACxC,GAAA5B,EAAAG,GAAA,EAACsF,EAAAA,IAA0B,EAACY,IAAKA,EAAM,GAAGrH,CAAK,IA+D/CwG,QAAAA,EACAE,OAAAA,EACAY,QA7Dc,OAAC,CACfC,MAAAA,EAAQ,OAAO,CACf5E,UAAAA,CAAS,CACT,GAAG3C,EAC4C,CAAA4C,QAC/C,GAAA5B,EAAAG,GAAA,EAACsF,EAAAA,OAA6B,EAC5Bc,MAAOA,EACP5E,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EACT,kBACA,+DACA,6DACA,+DACA,yCACA,yCACA,yCACA,yCACA,8BACAJ,GAED,GAAG3C,CAAK,IA2CX2G,MAAAA,EACAa,KAxCW,OAAC,CACZ7E,UAAAA,CAAS,CACT0E,IAAAA,EAAM,KAAK,CACXnC,KAAAA,EAAO,QAAQ,CACf,GAAGlF,EACyC,CAAA4C,QAC5C,GAAA5B,EAAAG,GAAA,EAACsF,EAAAA,IAA0B,EACzB9D,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EACT,oGACA,iEACA,8BACA,6BACA,iCACAJ,GAEF0E,IAAKA,EACLnC,KAAMA,EACL,GAAGlF,CAAK,IAwBX4G,MAAAA,EACAC,aAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,IAAAA,EACAC,WAAAA,EACAO,WArBiBhB,EAAAA,UAAgC,CAsBjDiB,UArBgBjB,EAAAA,SAA+B,CAsB/CkB,MArBYlB,EAAAA,KAA2B,mICvDlC,IAAMmB,GAAgB,OAAC,CAC5BjF,UAAAA,CAAS,CAETkF,SAAAA,EAAW,eAAe,CAC1BC,UAAAA,EAAY,EAAI,CAChB,GAAG1C,EACgB,CAAAxC,EACnB,MACE,GAAA5B,EAAAG,GAAA,EAAC4G,GAAAA,cAAcA,CAAAA,CACbD,UAAWA,EACXE,QAAO,GACPC,cAAc,yDACdtF,UAAWI,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,MAAOJ,GACrBuF,YAAa,GACbC,mBAAmB,IACnBC,iBAAkB,GAClBP,SAAUA,EACVQ,MAAM,UACNC,eAAgB,GAAwBlE,MAAA,CAArBqB,IAAAA,CAAAA,aAAoB,CAAC,kCACxC8C,WAAYC,GAAAA,KAAKA,CAChB,GAAGpD,CAAS,EAGnB,iKEhBO,IAAMqD,EAAaC,CAAAA,EAAAA,EAAAA,UAAAA,EACxB,CAAA9F,EAA4D+F,QAA3D,CAAEC,QAAAA,CAAO,CAAE9D,SAAAA,CAAQ,CAAE+D,QAAAA,CAAO,CAAE,GAAG7I,EAAwB,CAAA4C,EACxD,MACE,GAAAkG,EAAA3H,GAAA,EAAC4H,EAAAA,OAAIA,CAAAA,CACF,GAAG/I,CAAK,CACT2I,IAAKA,EACLC,QAASA,EACTC,QAAS,IACHD,GACFI,eAAeC,OAAO,CAACC,EAAAA,EAAWA,CAACC,YAAY,CAAE,QAGnDN,MAAAA,GAAAA,EAAUtJ,EACZ,WAECuF,GAGP,EAGF2D,CAAAA,EAAWW,WAAW,CAAG,oDCpBrBC,6FAEG,IAAMC,EAAiBD,EAC1B,IAAMA,EACN,KACE,GAAM,CAACE,EAASC,EAAYC,EAAc,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAW,CACtDC,EAAAA,EAAYA,CAACC,YAAY,CACzBD,EAAAA,EAAYA,CAACE,aAAa,CAC3B,EAKKC,EAAoB,CACxBC,YAJyBR,EAAQQ,WAAW,EAAI,KAKhDC,aAJ0BT,EAAQS,YAAY,EAAI,KAKlDC,eAAgB,IACd,IAAMC,EAAc,KAClBC,EAAAA,EAAWA,CAACC,KAAK,CAAGC,KAAAA,EACpBC,EAAAA,EAAUA,CAACC,SAAS,CAAC,CACnBC,KAAMH,KAAAA,CACR,GAEAZ,EAAcE,EAAAA,EAAYA,CAACC,YAAY,CAAEa,EAAAA,EAAcA,CACzD,EAEA,GAAI,CACF,GAAI,CAACV,EAAa,OAAOG,IAEzB,IAAMQ,EAAUC,CAAAA,EAAAA,EAAAA,CAAAA,EAAUZ,GAE1B,GAAI,CAACW,EAAQE,GAAG,CAAE,OAAOV,IAEzB,IAAMW,EAASH,IAAAA,EAAQE,GAAG,CAE1B,GAAIC,EAASC,KAAKC,GAAG,GAAI,OAAOb,IAQhC,OANAC,EAAAA,EAAWA,CAACC,KAAK,CAAGL,EAEpBO,EAAAA,EAAUA,CAACC,SAAS,CAAC,CACnBC,KAAMT,EAAc,UAAsB3F,MAAA,CAAZ2F,GAAgBM,KAAAA,CAChD,GAEOb,EAAWG,EAAAA,EAAYA,CAACC,YAAY,CAAEG,EAAa,CACxD,GAAGU,EAAAA,EAAc,CACjBO,QAAS,IAAIF,KAAKD,EACpB,EACF,CAAE,MAAOtL,EAAG,CAGV,OAFA0L,QAAQC,KAAK,CAAC3L,GAEP2K,GACT,CACF,EACAiB,gBAAiB,IACf,IAAMjB,EAAc,IAClBT,EAAcE,EAAAA,EAAYA,CAACE,aAAa,CAAEY,EAAAA,EAAcA,EAE1D,GAAI,CACF,GAAI,CAACT,EAAc,OAAOE,IAE1B,IAAMQ,EAAUC,CAAAA,EAAAA,EAAAA,CAAAA,EAAUX,GAE1B,GAAI,CAACU,EAAQE,GAAG,CAAE,OAAOV,IAEzB,IAAMW,EAASH,IAAAA,EAAQE,GAAG,CAE1B,GAAIC,EAASC,KAAKC,GAAG,GAAI,OAAOb,IAEhC,OAAOV,EAAWG,EAAAA,EAAYA,CAACE,aAAa,CAAEG,EAAc,CAC1D,GAAGS,EAAAA,EAAc,CACjBO,QAAS,IAAIF,KAAKD,EACpB,EACF,CAAE,MAAOtL,EAAG,CAGV,OAFA0L,QAAQC,KAAK,CAAC3L,GAEP2K,GACT,CACF,CACF,EAIA,OAFAb,EAAoBS,EAEbA,CACT,uJCzFJ,IAAMsB,EAAuB,CAC3BC,EAAAA,EAAMA,CAACC,IAAI,CACXD,EAAAA,EAAMA,CAACE,kBAAkB,CACzBF,EAAAA,EAAMA,CAACG,2BAA2B,CAClCH,EAAAA,EAAMA,CAACI,KAAK,CACZJ,EAAAA,EAAMA,CAACK,iBAAiB,CACzB,CAEYC,EAAkB,KAC7B,IAAMC,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACTC,EAAqBC,CAAAA,EAAAA,EAAAA,cAAAA,EACzB,GAAWC,EAAMF,kBAAkB,EAoDrC,MAjDqBG,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,KAc3B,IAAMrD,EAAU,CAACsD,EAAcC,KAC7B,GAAM,CAAEC,cAAAA,CAAa,CAAE,GAAGC,EAAiB,CAAGF,MAAAA,EAAAA,EAAW,CAAC,EAM1D,MALKG,CAAAA,EAAAA,EAAAA,EAAAA,EAAaJ,EAAM,CAAEK,WAAY,EAAK,IACzCT,EAAmBM,MAAAA,GAAAA,GAErBpD,eAAeC,OAAO,CAACC,EAAAA,EAAWA,CAACC,YAAY,CAAE,QAE1CyC,EAAOhD,OAAO,CAACsD,EAAMG,EAC9B,EAmBA,MAAO,CACL,GAAGT,CAAM,CACTY,KArCW,CAACN,EAAcC,KAC1B,GAAM,CAAEC,cAAAA,CAAa,CAAE,GAAGC,EAAiB,CAAGF,MAAAA,EAAAA,EAAW,CAAC,EAI1D,MAHKG,CAAAA,EAAAA,EAAAA,EAAAA,EAAaJ,EAAM,CAAEK,WAAY,EAAK,IACzCT,EAAmBM,MAAAA,GAAAA,GAEdR,EAAOY,IAAI,CAACN,EAAMG,EAC3B,EAgCEzD,QAAAA,EACA6D,KArBW,KACX,GAAM,CAAEC,aAAAA,CAAY,CAAEC,cAAAA,CAAa,CAAE,CAAGC,EAAAA,CAAeA,CAACC,QAAQ,GAG1DC,EAAkBH,EAAcI,GAAG,CAACL,EAAe,GACnDM,EAAsBF,CAAAA,GACxB1B,EAAqB6B,IAAI,CAAC,GACxBH,EAAgBI,QAAQ,CAACC,EAAMC,QAAQ,UAI7C,EARsC,GAQhBJ,EACbpE,EAAQyC,EAAAA,EAAMA,CAACgC,IAAI,CAACD,QAAQ,EAE9BxB,EAAOa,IAAI,EACpB,CAOA,CACF,EAAG,CAACb,EAAQE,EAAmB,CAGjC,0LCjEO,IAAMwB,EAAmB,CAC9BC,kBAAmB,GACnBC,yBAA0B,GAC1BC,sBAAuB,GACvBC,UAAW,UACXC,SAAU,SACVC,OAAQ,QACRC,WAAY,SACZC,UAAW,MACXC,cAAe,WACjB,EAEMC,EAA8B,yBACvBC,EAAqBC,CAAAA,EAAAA,EAAAA,EAAAA,IAOrBC,EAAc,eAACC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CACpBC,EAAUC,CAAAA,EAAAA,EAAAA,YAAAA,EAAa,GAAWtC,EAAMqC,OAAO,EAE/CE,EAAyBC,CAAAA,EAAAA,EAAAA,QAAAA,EAC7BC,EAAAA,CAAiBA,CAACF,sBAAsB,CAACF,IAGrCK,EAAyB3C,CAAAA,EAAAA,EAAAA,cAAAA,EAC7B,OAAC,CAAE4C,sCAAAA,CAAqC,CAAE,CAAA/L,SACxC+L,IAGJ,MAAOH,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,CACdI,SAAU,CAACX,EAAoBM,EAAuBM,IAAI,CAAC,CAC3DC,gBAAiBC,EAAAA,EAAgBA,CACjCC,UAAW,EACXC,OAAQ,EACRC,QAAS,UACP,IAAM1B,EAA2Be,EAAuBM,IAAI,CAE5D,GAAIrB,KAA6BnD,IAA7BmD,EACF,MAAM,IAAI2B,EAAAA,EAAWA,CAAC,CACpBC,eAAgB,wBAClB,GAEF,GAAI,CAAC5B,EAA0B,CAC7B,IAAI6B,EACFrG,SAAAA,eAAesG,OAAO,CAACtB,GAEzB,GAAIqB,EAAU,OAAO/B,EAQrB,GANA+B,EAAW,MAAM,IAAIE,QAAQ,IAC3Bb,EAAuB,MAAOc,IAC5BC,EAAQ,CAACD,EACX,EACF,GAKE,OAFAxG,eAAeC,OAAO,CAAC+E,EAA6B,QAE7CV,CAEX,CAEA,IAAIG,EAAwB,GAEtBiC,EAAM,MAAM,IAAIH,QACpB,IACEI,UAAUC,WAAW,CAACC,kBAAkB,CACtC,MAAAjN,OAAO,CAAEkN,OAAAA,CAAM,CAAE,CAAAlN,EACT,CAAEmN,QAAAA,CAAO,CAAE,CAAG,MAAMC,EAAAA,EAAUA,CAACC,YAAY,CAAC,CAChDH,OAAQ,GAAuBA,MAAAA,CAApBA,EAAOpC,SAAS,CAAC,KAAmBtJ,MAAA,CAAhB0L,EAAOnC,QAAQ,CAChD,GAEA8B,EAAQ,CACN,GAAGM,CAAO,CACVpC,SAAUuC,OAAOJ,EAAOnC,QAAQ,EAChCD,UAAWwC,OAAOJ,EAAOpC,SAAS,CACpC,EACF,EAEA,MAAOxC,IACDA,EAAMiF,IAAI,GAAKjF,EAAMkF,iBAAiB,EACxC3C,CAAAA,EAAwB,IAG1B,IAAM4C,EAAK,MAAMC,EAAAA,EAAEA,CAACvD,GAAG,CAAS,wBAAwBwD,IAAI,GAEtD,CAAER,QAAAA,CAAO,CAAE,CAAG,MAAMC,EAAAA,EAAUA,CAACQ,cAAc,CAAC,CAClDH,GAAAA,CACF,GAEAZ,EAAQM,EACV,EACA,CACEU,mBAAoB,GACpBC,QAAS,IACTC,WAAY,CACd,EAEJ,GAGI,CAAE/C,OAAAA,CAAM,CAAEgD,YAAAA,CAAW,CAAEC,WAAAA,CAAU,CAAEC,gBAAAA,CAAe,CAAE,CAAGpB,MAAAA,EAAAA,EAAO,CAAC,EAErE,GAAI,CAACA,GAAO,CAAC9B,GAAU,CAACgD,GAAe,CAACC,GAAc,CAACC,EACrD,MAAM,IAAI3B,EAAAA,EAAWA,CAAC,CACpBC,eAAgB,sBAClB,GAEF,MAAO,CACL7B,kBAAmB,GACnBC,yBAAAA,EACAC,sBAAAA,EACAC,UAAWgC,EAAIhC,SAAS,CAAGqD,OAAOrB,EAAIhC,SAAS,EAAI,KACnDC,SAAU+B,EAAI/B,QAAQ,CAAGoD,OAAOrB,EAAI/B,QAAQ,EAAI,KAChDC,OAAAA,EACAC,WAAY+C,EACZ9C,UAAW+C,EACX9C,cAAe+C,CACjB,CACF,EACAE,QACE3C,KAAYhE,IAAZgE,GACAE,KAAgClE,IAAhCkE,EAAuBM,IAAI,EAC3BT,CACJ,EACF,gGCpIO,IAAM6C,EAAkB,KAC7B,GAAM,CAAC1H,EAASC,EAAW,CAAGE,CAAAA,EAAAA,EAAAA,EAAAA,EAAW,CACvCC,EAAAA,EAAYA,CAACuH,WAAW,CACxBvH,EAAAA,EAAYA,CAACwH,YAAY,CAC1B,EAEKC,EAAiC7H,EAAQ6H,UAAU,CACnDC,EAAkC9H,EAAQ8H,WAAW,CAa3D,MAAO,CACLC,SAAU,IAAIC,gBAAgBF,GAAatE,GAAG,CAAC,YAC/CqE,WAAAA,EACAC,YAAAA,EACAG,iBAfuB,KACvB,IAAMC,EAAM,IAAIC,IAAIC,SAASzF,IAAI,EAEjC1C,EAAWG,EAAAA,EAAYA,CAACuH,WAAW,CAAEO,EAAItM,MAAM,CAAEsF,EAAAA,EAAcA,EAC/DjB,EACEG,EAAAA,EAAYA,CAACwH,YAAY,CACzBM,EAAIG,YAAY,CAACC,QAAQ,GACzBpH,EAAAA,EAAcA,CAElB,CAOA,CACF,2KC1BYqH,sGAJAC,CAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,8BAIAD,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,uECaL,IAAME,EAAkB,KAC7B,IAAM5E,EAAW6E,CAAAA,EAAAA,EAAAA,WAAAA,IACXC,EAAcC,CAAAA,EAAAA,EAAAA,EAAAA,EAClB,GAAWnG,EAAMoG,WAAW,GAAKC,EAAAA,EAAYA,CAACC,MAAM,EAGhD,CAAEjB,YAAAA,CAAW,CAAE,CAAGJ,CAAAA,EAAAA,EAAAA,CAAAA,IAElBsB,EAAO,IAAIhB,gBAAgBF,GAAatE,GAAG,CAC/C+E,EAA4BU,KAAK,EAGnCC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACHP,GAELQ,SAASC,gBAAgB,CAAC,KAAKC,OAAO,CAAC,IACrC,IAAM1G,EAAO2G,EAAGC,YAAY,CAAC,QAExB5G,GAEAA,EAAK6G,UAAU,CAAC,WAEjB7G,EAAK6G,UAAU,CAACpB,SAASxM,MAAM,GAEnC0N,EAAGG,gBAAgB,CAAC,QAAS,IAC3BzT,EAAE0T,cAAc,GAEhBC,OAAOvB,QAAQ,CAACzF,IAAI,CAAG,GAA0CA,MAAAA,CAAvC6F,EAAqBoB,eAAe,EAAQ/O,MAAA,CAAL8H,EACnE,GACF,EACF,EAAG,CAACgG,EAAa9E,EAAS,EAE1B,IAAMiB,EAAUC,CAAAA,EAAAA,EAAAA,YAAAA,EAAa,GAAWtC,EAAMqC,OAAO,EAE/C,CAAEtE,YAAAA,CAAW,CAAEC,aAAAA,CAAY,CAAE,CAAGV,CAAAA,EAAAA,EAAAA,CAAAA,IAEhC8J,EAA4B,CAAC,CACjC/E,CAAAA,GACAtE,GACAC,GACAuI,CAAAA,EAyBF,MAtBA/D,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,CACPwC,QAASoC,EACTxE,SAAU,CACRyD,EAAAA,EAAYA,CAACC,MAAM,CACnBC,EACAxI,EACAC,EACAoJ,EACD,CACDlE,QAAS,KACFkE,GAELC,EAAAA,EAAQA,CAACC,gBAAgB,CAAC,CACxBC,YAAa,CACXC,aAAczJ,EACd0J,cAAezJ,EACf0J,mBAAoBnB,CACtB,CACF,EACF,CACF,GAEO,GAAAvR,EAAAG,GAAA,EAAAH,EAAA2S,QAAA,IACT,uCCnFO,IAAMzB,EAAc,IACzBvC,UAAUiE,SAAS,CAACC,WAAW,GAAGC,KAAK,CAAC,oBAE7BC,EAAa,CACxBC,EACAC,EACAC,EACArF,KAEA,GAAIqD,IAAe,CACjB,IAAMiC,EAASC,mBAAmBvF,GAC9B4C,EAAM,GAMVA,iDAH4BuC,EACrB,oBAAsBC,EACtB,iBAAmBC,EACnB,WAAaC,EAEpBxC,SAASzF,IAAI,CAAGuF,CAClB,CACF,ECnBa4C,EAAe,SAE1B5C,CAAAA,CAEAG,CAAAA,MAEA0C,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAmB,IAEnBP,EACE,kBACA,eACA,GACAQ,KAAKC,SAAS,CAAC,CACb/C,IAAAA,EACA0C,OAAQvC,EACR0C,MAAAA,CACF,GAEJ,ECJaG,EAAe,SAC1BC,CAAAA,CACAC,CAAAA,MACAC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAiB,CACfC,OAAQ,IACRC,MAAO,IACPC,MAAO,IAEPxO,MAAO,eACPyO,UAAW,IACXC,OAAQ,EACV,EAEAlB,EAAW,eAAgBW,EAAUC,EAAUJ,KAAKC,SAAS,CAACI,GAChE,EAEqC1C,KAEjCgB,CAAAA,OACAuB,YAAY,CAAGA,CAAAA,ECbZ,IAAMS,EAAiBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAuB,GAAU,EAC7DC,YAAa,EAAE,CACfC,eAAgB,GACdC,EAAI,GAAY,EAAEF,YAAaG,EAAOvJ,EAAMoJ,WAAW,CAAE,GAC7D,IAEaI,EAAiB,KAC5B,IAAM5D,EAAe6D,CAAAA,EAAAA,EAAAA,eAAAA,IACfrI,EAAW6E,CAAAA,EAAAA,EAAAA,WAAAA,IAEX5D,EAAUC,CAAAA,EAAAA,EAAAA,YAAAA,EAAa,GAAWtC,EAAMqC,OAAO,EAErDoE,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GAAKrF,GAED,CAAC8E,KASC,CARkB,CACpB,SACA,QACA,SACA,sBACA,UACD,CAACjF,IAAI,CAAC,GAAUG,EAAS2F,UAAU,CAACzR,IAEjB,CAClB,IAAMoU,EAAgBC,EAAAA,GAAGA,CAACC,kBAAkB,CAE5CjE,SAASzF,IAAI,CAAGyF,SAASzF,IAAI,CAACtD,OAAO,CAAC+I,SAASxM,MAAM,CAAEuQ,EACzD,CAEJ,EAAG,CAACtI,EAAS,EAEbqF,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRgC,EAAa,GAAI,GAAI,CACnBI,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPxO,MAAO,eACPyO,UAAW,IACXC,OAAQ,EACV,EACF,EAAG,EAAE,EAEL,IAAMY,EAAeC,CAAAA,EAAAA,EAAAA,EAAAA,EAAU1I,GAEzB2I,EAAgBF,CAAAA,GAClB,CACExK,EAAAA,EAAMA,CAAC2K,qBAAqB,CAC5B3K,EAAAA,EAAMA,CAACC,IAAI,CACXD,EAAAA,EAAMA,CAACK,iBAAiB,CACxBL,EAAAA,EAAMA,CAAC4K,qBAAqB,CAC5B5K,EAAAA,EAAMA,CAAC6K,MAAM,CACb7K,EAAAA,EAAMA,CAAC8K,KAAK,CACZ9K,EAAAA,EAAMA,CAAC+K,oBAAoB,CAC5B,CACErS,GAAG,CAAC,OAAC,CAAEvC,GAAAA,CAAE,CAAE,CAAAoB,SAAKpB,IAChB0L,QAAQ,CAAC2I,EAAarU,EAAE,EA0C/B,MAvCAiR,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GACE,CAAErF,CAAAA,GAAYwE,CAAAA,GACdmE,GACA,CAAC1H,GACD,CAAC6D,IAED,OAEF,IAAImE,EAAkBjJ,EAChB+G,EAAoC,CAAC,EAE3CvC,EAAagB,OAAO,CAAC,CAAC0D,EAAOC,KAC3B,GAAIA,IAAQC,EAAAA,EAAaA,CAACC,aAAa,CAAE,OACzC,IAAMC,EAAWL,EAAgBM,KAAK,CAAC,IAGvCN,GAEE,GAAiCO,MAAAA,CAA9BF,MAAAA,EAAmB,GAAK,KAA0BG,MAAAA,CAtF5B,eAsF4DN,MAAAA,CArFhD,MAqFsDM,MAAAA,CAANN,GAAsCD,MAAAA,CArFtF,MAqF4FlS,MAAA,CAANkS,GAE7HnC,CAAM,CAACoC,EAAI,CAAGD,CAChB,GAEA,IAAM7E,EAAM,IAAIC,IAAI2E,EAAiB1E,SAASxM,MAAM,EAAE0M,QAAQ,GAExD,CAAEuD,YAAAA,CAAW,CAAEC,eAAAA,CAAc,CAAE,CAAGH,EAAerI,QAAQ,EAE3CuI,CAAAA,CAAW,CAACA,EAAY3V,MAAM,CAAG,EAAE,GAElBgS,IAIrC4C,EAAa5C,EAAK0C,EAAQ,KAE1BkB,EAAe,GAAa,IAAIyB,EAASrF,EAAI,EAC/C,EAAG,CAACsE,EAAe1H,EAASjB,EAAUwE,EAAa,EAE5C,GAAA5Q,EAAAG,GAAA,EAAAH,EAAA2S,QAAA,IACT,kIEpHO,IAAMoD,EAAwB,CACnCC,KAAM9I,CAAAA,EAAAA,EAAAA,EAAAA,IACN+I,aAAc/I,CAAAA,EAAAA,EAAAA,EAAAA,IACdK,uBAAwBL,CAAAA,EAAAA,EAAAA,EAAAA,IACxBgJ,mBAAoBhJ,CAAAA,EAAAA,EAAAA,EAAAA,GACtB,EAEaO,EAAoB,CAC/BwI,aAAc,GACZE,CAAAA,EAAAA,EAAAA,CAAAA,EAAa,CACXvI,SAAU,CAACmI,EAAsBE,YAAY,CAAEG,EAAa,CAE5DlI,QAAS,KACP,GAAI,CAACkI,EACH,MAAM,IAAIjI,EAAAA,EAAWA,CAAC,CACpBC,eAAgB,wBAClB,GAEF,OAAOY,EAAAA,EAAUA,CAACqH,YAAY,CAAC,CAC7BD,aAAAA,CACF,EACF,EACApG,QAAS,CAAC,CAACoG,CACb,GACFJ,KAAM,GACJG,CAAAA,EAAAA,EAAAA,CAAAA,EAAa,CACXvI,SAAU,CAACmI,EAAsBC,IAAI,CAAEI,EAAa,CACpDlI,QAAS,IAAMc,EAAAA,EAAUA,CAACsH,OAAO,CAAC,CAAEF,aAAAA,CAAa,EACnD,GACF7I,uBAAwB,GACtB4I,CAAAA,EAAAA,EAAAA,CAAAA,EAAa,CACXvI,SAAU,CAACmI,EAAsBxI,sBAAsB,CAAEF,EAAQ,CACjE2C,QAAS3C,KAAYhE,IAAZgE,EACTa,QAAS,cAEFqI,EAAAC,EAIL,MALiCnJ,CAAAA,GAC5B,OAAAmJ,CAAAA,EAAA,OAAAD,CAAAA,EAAA,CAAC,MAAMlE,EAAAA,EAAQA,CAACoE,yBAAyB,IAAI1H,OAAO,GAApDwH,KAAA,IAAAA,EAAA,OAAAA,EACGG,2BAA2B,GAD9BF,KAAA,IAAAA,GAAAA,CAKP,CACF,GACFN,mBAAoB,IAClBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAa,CACXvI,SAAU,CAACmI,EAAsBG,kBAAkB,CAAC,CACpDhI,QAASmE,EAAAA,EAAQA,CAACsE,qBAAqB,CACvCC,OAAQ,QAAU/I,EAAAA,SAAAA,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAKkB,OAAO,GAAZlB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAcgJ,uBAAuB,GAArChJ,KAAAA,IAAAA,GAAAA,CAA6C,CACjE,EACJ,2KCxCYiJ,EASAC,EAMA1F,oBAfAyF,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,2DASAC,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,mDAMA1F,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,sCAqDL,IAAMF,EAAqBgD,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB,GAAU,EAClE6C,UAAW,GACXC,aAAc,GAAe3C,EAAI,CAAE0C,UAAAA,CAAU,GAE7CE,eAAgB,GAAiB5C,EAAI,CAAElD,YAAAA,CAAY,GAEnD+F,SAAU,KACVC,YAAa,GAAc9C,EAAI,CAAE6C,SAAAA,CAAS,GAE1CE,uBAAwB,GACtB/C,EAAI,CAAEgD,oBAAqBC,CAAgB,GAC7CC,mBAAoB,GAAqBlD,EAAI,CAAEiD,gBAAAA,CAAgB,GAE/DE,cAAe,IAAIC,IACnBC,iBAAkB,GAChBrD,EAAI,OAAC,CAAEmD,cAAAA,CAAa,CAAE,CAAA7V,QAAM,CAC1B6V,cAAe,IAAIC,IAAIE,EAAuBH,GAChD,IAEFI,UAAW,GAAYvD,EAAI,CAAEwD,OAAAA,CAAO,GAEpCC,gBAAiB,GAAkBzD,EAAI,CAAE0D,aAAAA,CAAa,GAEtDC,aAAc,GAAe3D,EAAI,CAAE4D,UAAAA,CAAU,GAE7CC,cAAe,GAAgB7D,EAAI,CAAE8D,WAAAA,CAAW,GAEhDC,SAAU,CACRC,SAAU,GACVjX,KAAM,YACR,EACAkX,YAAa,GAAcjE,EAAI,CAAE+D,SAAAA,CAAS,GAE1CG,eAAc,UACdC,kBAAmB,GAAoBnE,EAAI,CAAEkE,eAAAA,CAAe,EAC9D,mDCxGO,IAAME,EAA0B,KACrC,GAAM,CACJzB,EACAC,EACAW,EACAE,EACAE,EACD,CAAG9G,EACFwH,CAAAA,EAAAA,EAAAA,CAAAA,EAAW,GAAW,CACpB3N,EAAMiM,YAAY,CAClBjM,EAAMkM,cAAc,CACpBlM,EAAM6M,SAAS,CACf7M,EAAM+M,eAAe,CACrB/M,EAAMiN,YAAY,CACnB,GAGHxG,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMyG,EAAYU,CAAAA,EAAAA,EAAAA,EAAAA,IAEZ,CAAEhG,UAAAA,CAAS,CAAE,CAAGjE,UAMtB,GAJAkJ,EAAUgB,CAAAA,EAAAA,EAAAA,EAAAA,KAEVd,EAAgB,SAASe,IAAI,CAAClG,GAAa,SAAW,WAElDmG,CAAAA,EAAAA,EAAAA,EAAAA,EAAYhC,EAAYmB,GAG1B,OAFAD,EAAaC,GAELA,GACN,KAAKnB,EAAWzF,MAAM,CAChBJ,CAAAA,EAAAA,EAAAA,EAAAA,KAAegG,EAAe7F,EAAaC,MAAM,EAErD,KAGF,MAAKyF,EAAWiC,SAAS,CACnBpG,EAAU1G,QAAQ,CAAC,iBACrBgL,EAAe7F,EAAa2H,SAAS,CAO3C,MAEAf,EAAa,MAGfhB,EAAa,GACf,EAAG,CAACA,EAAcY,EAAWI,EAAcF,EAAiBb,EAAe,CAC7E,qIE5DY+B,gBAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,yLAmEL,IAAMlO,EAAiBoJ,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,GACzC,EACL+E,gBAAiB,GACjBpO,mBAAoB,GAAqBwJ,EAAI,CAAE4E,gBAAAA,CAAgB,GAE/DC,gBAAiB,KACjBC,mBAAoB,GAAqB9E,EAAI,CAAE6E,gBAAAA,CAAgB,GAE/DE,uBAAwB,KACxBC,0BAA2B,GACzBhF,EAAI,CAAE+E,uBAAAA,CAAuB,GAE/BE,UAAW,KACXC,aAAc,GAAelF,EAAI,CAAEiF,UAAAA,CAAU,GAE7CE,mCAAoC,GACpCC,sCAAuC,GAElCpF,EAAI,CAAEmF,mCAAAA,CAAmC,GAE9CE,kBAAmB,GACnBC,qBAAsB,GAAuBtF,EAAI,CAAEqF,kBAAAA,CAAkB,GAErEE,QAAS,EAAE,CACXC,OAAQ,GAASxF,EAAI,OAAC,CAAEuF,QAAAA,CAAO,CAAE,CAAAjY,QAAM,CAAEiY,QAAS,IAAIA,EAASE,EAAI,IAEnEC,oBAAqB,GAAsB1F,EAAI,CAAE2F,iBAAAA,CAAiB,GAClEA,iBAAkB,KAGlBtM,sCAAuC,GAElC2G,EAAI,CAAE4F,mCAAAA,CAAmC,GAE9CC,yBAA0B,GAC1BC,4BAA6B,GAC3B9F,EAAI,CAAE6F,yBAAAA,CAAyB,EACnC,2GE7FK,IAAMvO,EAAkBuI,CAAAA,EAAAA,EAAAA,EAAAA,EAAqB,IAClD,IAAIzI,EAAe,GACbC,EAAgB,IAAI+L,GAES,EACjC,IAAM2C,EAAgBrS,eAAesG,OAAO,CAACpG,EAAAA,CAAWA,CAACoS,cAAc,EAEvE,GAAI,CACF,GAAID,CAAAA,GAAgBtK,OAAOsK,GAAiBvQ,KAAKC,GAAG,GAClD,MAAM,IAAIoE,EAAAA,EAAWA,CAEvB,IAAMoM,EAAiBvS,eAAesG,OAAO,CAACpG,EAAAA,CAAWA,CAACsS,OAAO,EAC3DC,EAAsBzS,eAAesG,OAAO,CAChDpG,EAAAA,CAAWA,CAACwS,aAAa,EAG3B,GAAI,CAACH,GAAkB,CAACE,EAAqB,MAAM,IAAItM,EAAAA,EAAWA,CAElEzC,EAAeqE,OAAO0K,GAItB3E,KAF2C6E,KAAK,CAACJ,GAEzC3I,OAAO,CAAC,OAAC,CAAC1O,EAAO5C,EAAK,CAAAsB,EAC5B+J,EAAc2I,GAAG,CAACpR,EAAO5C,EAC3B,EACF,CAAE,MAAA/B,EAAM,CACNoN,EAAciP,KAAK,EACrB,QAAU,CACR5S,eAAe6S,UAAU,CAAC3S,EAAAA,CAAWA,CAACoS,cAAc,EACpDtS,eAAe6S,UAAU,CAAC3S,EAAAA,CAAWA,CAACsS,OAAO,EAC7CxS,eAAe6S,UAAU,CAAC3S,EAAAA,CAAWA,CAACwS,aAAa,CACrD,CACF,CAEA,MAAO,CACLhP,aAAAA,EACAC,cAAAA,EACAmP,gBAAiB,IACf9S,eAAeC,OAAO,CACpBC,EAAAA,CAAWA,CAACwS,aAAa,CACzBhP,EAAamF,QAAQ,IAGhByD,EAAI,CACT5I,aAAAA,CACF,IAEFqP,iBAAkB,IAChB/S,eAAeC,OAAO,CACpBC,EAAAA,CAAWA,CAACsS,OAAO,CACnBjH,KAAKC,SAAS,CAACjR,MAAMyY,IAAI,CAACrP,EAAcsP,OAAO,MAG1C3G,EAAI,CAAE3I,cAAAA,CAAc,GAE/B,CACF,sBCtEAuP,EAAAC,OAAA,EAAkB,4CCAlBD,EAAAC,OAAA,EAAkB","sources":["webpack://_N_E/../common/__generated__/icon/figma/bookmark-fill.svg","webpack://_N_E/../common/__generated__/icon/components/SvgAdd.tsx","webpack://_N_E/../common/__generated__/icon/components/SvgBookmarkFill.tsx","webpack://_N_E/../common/components/atom/Avatar/Avatar.tsx","webpack://_N_E/../common/components/atom/Badge/Badge.tsx","webpack://_N_E/../common/components/atom/Divider/Divider.tsx","webpack://_N_E/../common/components/atom/Logo/Logo.tsx","webpack://_N_E/../common/components/molecule/CertificationBadge/index.tsx","webpack://_N_E/../common/components/molecule/Dropdown/Dropdown.tsx","webpack://_N_E/../common/components/organism/ToastProvider/ToastProvider.tsx","webpack://_N_E/../common/components/index.tsx","webpack://_N_E/./src/components/atom/CustomLink.tsx","webpack://_N_E/./src/hooks/useAccessToken.ts","webpack://_N_E/./src/hooks/useCustomRouter.ts","webpack://_N_E/./src/hooks/useLocation.ts","webpack://_N_E/./src/hooks/useLoginUrlData.ts","webpack://_N_E/./src/modules/kb-pay/_utils/reserved-keywords.ts","webpack://_N_E/./src/modules/kb-pay/_components/KbAppController.tsx","webpack://_N_E/./src/modules/kb-pay/_utils/nativeCall.ts","webpack://_N_E/./src/modules/kb-pay/_utils/moveBackInfo.ts","webpack://_N_E/./src/modules/kb-pay/_utils/setTopMenuV2.ts","webpack://_N_E/./src/modules/kb-pay/_components/KbHistoryStack.tsx","webpack://_N_E/./src/modules/kb-pay/index.ts","webpack://_N_E/./src/query-factory/terms.ts","webpack://_N_E/./src/stores/DeviceStore/useDeviceInfoStore.ts","webpack://_N_E/./src/stores/DeviceStore/useMountDeviceInfoStore.ts","webpack://_N_E/./src/stores/DeviceStore/index.ts","webpack://_N_E/./src/stores/GlobalStore/useGlobalStore.ts","webpack://_N_E/./src/stores/GlobalStore/index.ts","webpack://_N_E/./src/stores/HistoryStore/useHistoryStore.ts","webpack://_N_E/../common/components/atom/Logo/Logo.module.scss?a1ce","webpack://_N_E/../common/components/organism/ToastProvider/ToastProvider.module.scss?55fe"],"sourcesContent":["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\";\nvar SvgBookmarkFill = function SvgBookmarkFill(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillRule: \"evenodd\",\n d: \"M6.53 1c-.68 0-1.357.229-1.877.671-.523.446-.853 1.085-.853 1.788v18.62a.908.908 0 0 0 1.496.692L12 17.065l6.704 5.706a.908.908 0 0 0 1.496-.691V3.46c0-.704-.33-1.343-.853-1.789l-.341.4.34-.4A2.9 2.9 0 0 0 17.47 1z\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgBookmarkFill;","import { createSvgComponent } from \"../../../icon/createSvgComponent\";\nimport Add from \"../figma/add.svg\";\nexport default createSvgComponent(Add);","import { createSvgComponent } from \"../../../icon/createSvgComponent\";\nimport BookmarkFill from \"../figma/bookmark-fill.svg\";\nexport default createSvgComponent(BookmarkFill);","import { Logo } from '@common/components';\nimport { SvgAdd } from '@common/icon';\nimport { cn } from '@common/utils';\nimport { cva } from 'class-variance-authority';\nimport Image from 'next/image';\n\ntype AvatarSize = 24 | 32 | 40 | 48 | 56 | 64 | 80;\ntype AvatarType = 'person' | 'company' | 'wello' | 'wellobiz';\n\ninterface BaseAvatarProps {\n size?: AvatarSize;\n type?: AvatarType;\n className?: string;\n}\n\n// AvatarCoreProps는 src와 alt를 필수로 설정\ninterface AvatarCoreProps extends BaseAvatarProps {\n type: AvatarType;\n src?: string; // 단일 아바타 이미지\n alt: string; // 단일 아바타 설명\n}\n\n// AvatarProps는 src와 alt를 선택적으로 설정\ninterface AvatarProps extends BaseAvatarProps {\n showMore?: boolean; // '더보기' 버튼 표시 여부\n src?: string | string[]; // 단일 또는 다중 아바타 이미지\n alt?: string | string[]; // 단일 또는 다중 아바타 설명\n name?: string;\n}\n\nconst PersonSvg = () => (\n \n \n \n \n \n \n \n \n \n \n);\n\nconst CompanySvg = () => (\n \n \n \n \n \n \n \n \n);\n\nconst defaultImages: Record JSX.Element> = {\n person: () => ,\n company: () => ,\n wello: () => ,\n wellobiz: () => ,\n};\n\nconst avatarVariants = cva(\n 'relative overflow-hidden bg-Gray-white flex-center',\n {\n variants: {\n type: {\n person: 'rounded-pill',\n wello: 'rounded-pill',\n wellobiz: 'rounded-pill',\n company: 'rounded-large',\n },\n },\n defaultVariants: {\n type: 'person',\n },\n },\n);\n\nconst OVERLAP_OFFSET_RATIO = 1.4;\n\nconst AvatarCore = ({ size, type, alt, src, className }: AvatarCoreProps) => {\n const DefaultIcon = defaultImages[type];\n\n return (\n \n {src ? (\n \n ) : (\n \n )}\n \n );\n};\n\nexport const Avatar = ({\n size = 32,\n type = 'person',\n alt,\n src,\n className,\n name,\n showMore = false,\n}: AvatarProps) => {\n // src가 문자열이 아닌 경우 다중 아바타로 처리\n const isMulti = Array.isArray(src);\n\n // 겹치지 않는 사이즈 계산\n const overlapOffset = Math.round(size / OVERLAP_OFFSET_RATIO);\n const nonOverlapSize = size - overlapOffset;\n\n // 다중 아바타의 src와 alt 배열 준비\n\n const multiSrc = isMulti ? (src as string[]) : [src];\n const multiAlt = Array.isArray(alt) ? alt : multiSrc.map(() => 'avatar');\n const singleAlt = Array.isArray(alt) ? alt[0] : (alt ?? 'avatar');\n if (!isMulti)\n return (\n \n );\n\n return (\n
\n {multiSrc.map((avatarSrc, index) => (\n \n \n
\n ))}\n {showMore ? (\n \n \n \n ) : null}\n \n );\n};\n","import {\n type BadgeProps as RadixBadgeProps,\n Badge as RadixBadge,\n} from '@radix-ui/themes';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@common/utils';\n\nimport ApplyBadge from './svg/apply-badge.svg';\nimport BuildingBadge from './svg/building-badge.svg';\nimport StarBadge from './svg/star-badge.svg';\n\nconst badgeVariants = cva([\n 'rounded-xsmall',\n 'px-6 py-2',\n 'typo-caption1 font-600',\n 'flex gap-4 items-center',\n 'bg-Gray-200 text-Gray-700',\n]);\n\ninterface BadgeProps\n extends Omit,\n VariantProps {\n icon?: 'building' | 'star' | 'apply';\n}\n\nconst Badge = ({ className, icon, ...props }: BadgeProps) => {\n const Icon =\n icon === 'building' ? BuildingBadge : icon === 'star' ? StarBadge : null;\n\n if (icon === 'apply') {\n return ;\n }\n\n return (\n \n {Icon ? : null}\n {props.children}\n \n );\n};\n\nexport { Badge, type BadgeProps };\n","import { cn } from '@common/utils';\n\ntype DividerVariant = 'normal' | 'thick' | 'vertical';\n\ninterface DividerProps {\n variant?: DividerVariant;\n className?: string;\n}\n\nexport const Divider = ({ variant = 'normal', className }: DividerProps) => {\n return (\n \n );\n};\n","import { cn } from '@common/utils';\n\nimport styles from './Logo.module.scss';\nimport Biz from './svg/biz.svg';\nimport Wello from './svg/wello.svg';\n\nexport interface LogoProps\n extends Omit, 'origin'> {\n name?: 'wello' | 'biz';\n className?: string;\n origin?: boolean;\n}\n/** @deprecated */\nexport const Logo = ({\n name = 'wello',\n className,\n origin = false,\n ...restProps\n}: LogoProps) => {\n const Svg = {\n wello: Wello,\n biz: Biz,\n }[name];\n\n return (\n \n );\n};\n","import {\n TooltipProvider,\n TooltipRoot,\n} from '@common/components/organism/Tooltip/Tooltip';\nimport { cn } from '@common/utils';\nimport Image from 'next/image';\n\nexport const CertificationBadge = ({\n isDark = false,\n size = 40,\n isHideISMSP,\n isHideERIVACY,\n unoptimized = false,\n}: {\n isDark?: boolean;\n size?: 40 | 60 | 80;\n isHideISMSP?: boolean;\n isHideERIVACY?: boolean;\n unoptimized?: boolean;\n}) => {\n return (\n \n
    \n {isHideISMSP ? null : (\n
  • \n \n [인증범위]\n
    \n 웰로 서비스 및 웰로비즈 서비스\n
    \n [유효기간]\n
    \n 2024-11-20 ~ 2027-11-19\n

    \n }\n >\n \n \n
  • \n )}\n
  • \n \n [인증범위]\n
    \n 정부지원 정책 정보 제공 및 관리 서비스를 위한\n 정보보호경영시스템(B2B 및 B2C)\n
    \n [유효기간]\n
    \n 2024-12-02 ~ 2027-12-01\n

    \n }\n >\n \n \n
  • \n
  • \n \n [인증범위]\n
    \n 웰로 서비스 및 웰로비즈 서비스를 위한 개발 및 운영\n
    \n [유효기간]\n
    \n 2024-12-24 ~ 2027-12-23\n

    \n }\n >\n \n \n
  • \n {isHideERIVACY ? null : (\n
  • \n \n [인증범위]\n
    \n 웰로 서비스 및 웰로비즈 서비스\n
    \n [유효기간]\n
    \n 2025-4-1 ~ 2026-3-31\n

    \n }\n >\n \n \n
  • \n )}\n
\n
\n );\n};\n","import { cn } from '@common/utils';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\n\nconst Root = ({\n dir = 'rtl',\n ...props\n}: DropdownMenuPrimitive.DropdownMenuProps) => (\n \n);\nconst Trigger = DropdownMenuPrimitive.Trigger;\nconst Portal = DropdownMenuPrimitive.Portal;\nconst Content = ({\n align = 'start',\n className,\n ...props\n}: DropdownMenuPrimitive.DropdownMenuContentProps) => (\n \n);\nconst Label = DropdownMenuPrimitive.Label;\nconst Item = ({\n className,\n dir = 'ltr',\n role = 'button',\n ...props\n}: DropdownMenuPrimitive.DropdownMenuItemProps) => (\n \n);\nconst Group = DropdownMenuPrimitive.Group;\nconst CheckboxItem = DropdownMenuPrimitive.CheckboxItem;\nconst ItemIndicator = DropdownMenuPrimitive.ItemIndicator;\nconst RadioGroup = DropdownMenuPrimitive.RadioGroup;\nconst RadioItem = DropdownMenuPrimitive.RadioItem;\nconst Sub = DropdownMenuPrimitive.Sub;\nconst SubTrigger = DropdownMenuPrimitive.SubTrigger;\nconst SubContent = DropdownMenuPrimitive.SubContent;\nconst Separator = DropdownMenuPrimitive.Separator;\nconst Arrow = DropdownMenuPrimitive.Arrow;\n\n/**\n * @deprecated organism 에 있는 DropdownMenu 를 사용해주세요\n */\nexport const Dropdown = {\n Root,\n Trigger,\n Portal,\n Content,\n Label,\n Item,\n Group,\n CheckboxItem,\n ItemIndicator,\n RadioGroup,\n RadioItem,\n Sub,\n SubTrigger,\n SubContent,\n Separator,\n Arrow,\n};\n","import { cn } from '@common/utils';\nimport type { ToastContainerProps } from 'react-toastify';\nimport { Slide, ToastContainer } from 'react-toastify';\n\nimport styles from './ToastProvider.module.scss';\n\ntype ToastProviderProps = Omit;\n\nexport const ToastProvider = ({\n className,\n\n position = 'bottom-center',\n draggable = true,\n ...restProps\n}: ToastProviderProps) => {\n return (\n \n );\n};\n","//! 해당 index 파일에 더이상 추가 하지 않고 각 컴포넌트 파일에서 export 해야함! 페이지 번들 사이즈가 커지는 문제가 있음\n\nexport * from './atom/Avatar/Avatar';\nexport * from './atom/Badge/Badge';\nexport * from './atom/Button/Button';\nexport * from './atom/Checkbox/Checkbox';\nexport * from './atom/Chip/Chip';\nexport * from './atom/DatePicker/DatePicker';\nexport * from './atom/DateRangePicker/DateRangePicker';\nexport * from './atom/Divider/Divider';\nexport * from './atom/Indicator/Indicator';\nexport * from './atom/Input/Input';\nexport * from './atom/InputDecorator/InputDecorator';\nexport * from './atom/Logo/Logo';\nexport * from './atom/Modal/Modal';\nexport * from './atom/Radio/Radio';\nexport * from './atom/Slider/Slider';\nexport * from './atom/Spinner/Spinner';\nexport * from './atom/Tab/Tab';\nexport * from './atom/TextArea/TextArea';\nexport * from './molecule/CertificationBadge';\nexport * from './molecule/Dropdown/Dropdown';\nexport { BottomDrawer } from './organism/BottomDrawer';\nexport { FullHandledBottomDrawer } from './organism/BottomDrawer/FullHandledBottomDrawer';\nexport {\n CustomEditor,\n type CustomEditorProviderProps,\n} from './organism/CustomEditor';\nexport * from './organism/DropdownMenu/DropdownMenu';\nexport * from './organism/Popover/Popover';\nexport * from './organism/Popover/UnControlledPopover';\nexport * from './organism/Portal/Portal';\nexport * from './organism/TestMark/TestMark';\nexport * from './organism/ToastProvider/ToastProvider';\nexport * from './organism/Tooltip/Tooltip';\nexport { Theme } from '@radix-ui/themes';\nexport { Skeleton, Slot } from '@radix-ui/themes';\nexport type { Editor } from '@tiptap/core';\n","'use client';\n\nimport type { LinkProps } from 'next/link';\nimport Link from 'next/link';\nimport { forwardRef } from 'react';\n\nimport { STORAGE_KEY } from '@/constants';\n\ninterface CustomLinkProps\n extends Omit<\n React.AnchorHTMLAttributes,\n keyof LinkProps | 'ref'\n >,\n LinkProps {}\n\nexport const CustomLink = forwardRef(\n ({ replace, children, onClick, ...props }: CustomLinkProps, ref) => {\n return (\n {\n if (replace) {\n sessionStorage.setItem(STORAGE_KEY.REPLACE_MARK, 'true');\n }\n\n onClick?.(e);\n }}\n >\n {children}\n \n );\n },\n);\n\nCustomLink.displayName = 'CustomLink';\n","import { decodeJwt } from 'jose';\nimport { useCookies } from 'react-cookie';\n\nimport { AuthOpenApi } from '@/api';\nimport { AuthClient } from '@/api/v2';\nimport { COOKIE_OPTIONS, COOKIES_KEYS } from '@/constants';\n\ntype Token = string | null;\n\ninterface AccessTokenObjectType {\n setAccessToken: (accessToken: Token) => void;\n setRefreshToken: (refreshToken: Token) => void;\n accessToken: Token;\n refreshToken: Token;\n}\n\nlet AccessTokenObject: AccessTokenObjectType | undefined;\n\nexport const useAccessToken = AccessTokenObject\n ? () => AccessTokenObject!\n : () => {\n const [cookies, setCookies, removeCookies] = useCookies([\n COOKIES_KEYS.ACCESS_TOKEN,\n COOKIES_KEYS.REFRESH_TOKEN,\n ]);\n\n const accessToken: Token = cookies.accessToken || null;\n const refreshToken: Token = cookies.refreshToken || null;\n\n const accessTokenObject = {\n accessToken,\n refreshToken,\n setAccessToken: (accessToken: Token) => {\n const removeToken = () => {\n AuthOpenApi.TOKEN = undefined;\n AuthClient.setConfig({\n auth: undefined,\n });\n\n removeCookies(COOKIES_KEYS.ACCESS_TOKEN, COOKIE_OPTIONS);\n };\n\n try {\n if (!accessToken) return removeToken();\n\n const decoded = decodeJwt(accessToken);\n\n if (!decoded.exp) return removeToken();\n\n const expire = decoded.exp * 1_000;\n\n if (expire < Date.now()) return removeToken();\n\n AuthOpenApi.TOKEN = accessToken;\n\n AuthClient.setConfig({\n auth: accessToken ? `Bearer ${accessToken}` : undefined,\n });\n\n return setCookies(COOKIES_KEYS.ACCESS_TOKEN, accessToken, {\n ...COOKIE_OPTIONS,\n expires: new Date(expire),\n });\n } catch (e) {\n console.error(e);\n\n return removeToken();\n }\n },\n setRefreshToken: (refreshToken: Token) => {\n const removeToken = () =>\n removeCookies(COOKIES_KEYS.REFRESH_TOKEN, COOKIE_OPTIONS);\n\n try {\n if (!refreshToken) return removeToken();\n\n const decoded = decodeJwt(refreshToken);\n\n if (!decoded.exp) return removeToken();\n\n const expire = decoded.exp * 1_000;\n\n if (expire < Date.now()) return removeToken();\n\n return setCookies(COOKIES_KEYS.REFRESH_TOKEN, refreshToken, {\n ...COOKIE_OPTIONS,\n expires: new Date(expire),\n });\n } catch (e) {\n console.error(e);\n\n return removeToken();\n }\n },\n };\n\n AccessTokenObject = accessTokenObject;\n\n return accessTokenObject;\n };\n","'use client';\n\nimport { isCurrentUrl } from '@common/utils';\nimport { useRouter } from 'next/navigation';\nimport { useMemo } from 'react';\n\nimport { ROUTES, STORAGE_KEY } from '@/constants';\nimport { useGlobalStore } from '@/stores/GlobalStore';\nimport { useHistoryStore } from '@/stores/HistoryStore/useHistoryStore';\n\nconst NOT_ALLOW_BACK_ROUTE = [\n ROUTES.AUTH,\n ROUTES.EASY_CERTIFICATION,\n ROUTES.EASY_CERTIFICATION_CALLBACK,\n ROUTES.LOGIN,\n ROUTES.CROSS_DOMAIN_AUTH,\n];\n\nexport const useCustomRouter = () => {\n const router = useRouter();\n const setIsGlobalLoading = useGlobalStore(\n (state) => state.setIsGlobalLoading,\n );\n\n const customRouter = useMemo(() => {\n interface Options\n extends Exclude[1], undefined> {\n globalLoading?: boolean;\n }\n\n const push = (href: string, options?: Options) => {\n const { globalLoading, ...originalOptions } = options ?? {};\n if (!isCurrentUrl(href, { skipSearch: true }))\n setIsGlobalLoading(globalLoading ?? true);\n\n return router.push(href, originalOptions);\n };\n\n const replace = (href: string, options?: Options) => {\n const { globalLoading, ...originalOptions } = options ?? {};\n if (!isCurrentUrl(href, { skipSearch: true }))\n setIsGlobalLoading(globalLoading ?? true);\n\n sessionStorage.setItem(STORAGE_KEY.REPLACE_MARK, 'true');\n\n return router.replace(href, originalOptions);\n };\n\n const back = () => {\n const { historyIndex, customHistory } = useHistoryStore.getState();\n\n const isEmptyHistory = historyIndex < 1;\n const prevHistoryPath = customHistory.get(historyIndex - 1);\n const isNotAllowBackRoute = prevHistoryPath\n ? NOT_ALLOW_BACK_ROUTE.some((route) =>\n prevHistoryPath.includes(route.pathname),\n )\n : true;\n\n if (isEmptyHistory || isNotAllowBackRoute)\n return replace(ROUTES.HOME.pathname);\n\n return router.back();\n };\n\n return {\n ...router,\n push,\n replace,\n back,\n };\n }, [router, setIsGlobalLoading]);\n\n return customRouter;\n};\n","import { createUuid,CustomError } from '@common/utils';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport ky from 'ky';\n\nimport { UNAUTH_API } from '@/api';\nimport { termsQueryOptions } from '@/query-factory/terms';\nimport { useAuthStore } from '@/stores/AuthStore';\nimport { useGlobalStore } from '@/stores/GlobalStore';\n\nexport const DEFAULT_LOCATION = {\n isDefaultLocation: true,\n isLocationServiceConsent: false,\n hasLocationPermission: false,\n longitude: 126.95629,\n latitude: 37.47793,\n region: '서울특별시',\n codeRegion: 'C01-01',\n subRegion: '관악구',\n codeSubRegion: 'C01-01-21',\n};\n\nconst LOCATION_DRAWER_SESSION_KEY = 'denied-location-drawer';\nexport const LOCATION_QUERY_KEY = createUuid();\n\ntype GeolocationResponse = Awaited<\n | ReturnType\n | ReturnType\n>;\n\nexport const useLocation = (enabledInitialFetch = false) => {\n const isLogin = useAuthStore((state) => state.isLogin);\n\n const locationServiceConsent = useQuery(\n termsQueryOptions.locationServiceConsent(isLogin),\n );\n\n const locationDrawerCallback = useGlobalStore(\n ({ setHandleLocationServiceConsentDrawer }) =>\n setHandleLocationServiceConsentDrawer,\n );\n\n return useQuery({\n queryKey: [LOCATION_QUERY_KEY, locationServiceConsent.data],\n placeholderData: keepPreviousData,\n staleTime: 0,\n gcTime: 0,\n queryFn: async () => {\n const isLocationServiceConsent = locationServiceConsent.data;\n\n if (isLocationServiceConsent === undefined)\n throw new CustomError({\n return_message: '위치 기반 서비스 동의 정보가 없습니다.',\n });\n\n if (!isLocationServiceConsent) {\n let isDenied =\n sessionStorage.getItem(LOCATION_DRAWER_SESSION_KEY) === 'true';\n\n if (isDenied) return DEFAULT_LOCATION;\n\n isDenied = await new Promise((resolve) => {\n locationDrawerCallback(async (isAgree) => {\n resolve(!isAgree);\n });\n });\n\n if (isDenied) {\n sessionStorage.setItem(LOCATION_DRAWER_SESSION_KEY, 'true');\n\n return DEFAULT_LOCATION;\n }\n }\n\n let hasLocationPermission = true;\n\n const res = await new Promise(\n (resolve) => {\n navigator.geolocation.getCurrentPosition(\n async ({ coords }) => {\n const { context } = await UNAUTH_API.getGeocoding({\n coords: `${coords.longitude},${coords.latitude}`,\n });\n\n resolve({\n ...context,\n latitude: String(coords.latitude),\n longitude: String(coords.longitude),\n });\n },\n\n async (error) => {\n if (error.code === error.PERMISSION_DENIED) {\n hasLocationPermission = false;\n }\n\n const ip = await ky.get('https://api.ip.pe.kr').text();\n\n const { context } = await UNAUTH_API.getGeolocation({\n ip,\n });\n\n resolve(context);\n },\n {\n enableHighAccuracy: true,\n timeout: 5_000,\n maximumAge: 0,\n },\n );\n },\n );\n\n const { region, code_region, sub_region, code_sub_region } = res ?? {};\n\n if (!res || !region || !code_region || !sub_region || !code_sub_region)\n throw new CustomError({\n return_message: '위치 정보를 가져오는데 실패했습니다.',\n });\n\n return {\n isDefaultLocation: false,\n isLocationServiceConsent,\n hasLocationPermission,\n longitude: res.longitude ? Number(res.longitude) : null,\n latitude: res.latitude ? Number(res.latitude) : null,\n region,\n codeRegion: code_region,\n subRegion: sub_region,\n codeSubRegion: code_sub_region,\n };\n },\n enabled:\n isLogin !== undefined &&\n locationServiceConsent.data !== undefined &&\n enabledInitialFetch,\n });\n};\n\nexport type LocationData = Exclude<\n Awaited>['data'],\n undefined\n>;\n","import { useCookies } from 'react-cookie';\n\nimport { COOKIE_OPTIONS,COOKIES_KEYS } from '@/constants';\n\nexport const useLoginUrlData = () => {\n const [cookies, setCookies] = useCookies([\n COOKIES_KEYS.ORIGIN_HOST,\n COOKIES_KEYS.LOGIN_PARAMS,\n ]);\n\n const hostOrigin: string | undefined = cookies.hostOrigin;\n const loginParams: string | undefined = cookies.loginParams;\n\n const saveLoginUrlData = () => {\n const url = new URL(location.href);\n\n setCookies(COOKIES_KEYS.ORIGIN_HOST, url.origin, COOKIE_OPTIONS);\n setCookies(\n COOKIES_KEYS.LOGIN_PARAMS,\n url.searchParams.toString(),\n COOKIE_OPTIONS,\n );\n };\n\n return {\n redirect: new URLSearchParams(loginParams).get('redirect'),\n hostOrigin,\n loginParams,\n saveLoginUrlData,\n };\n};\n","export enum KB_PAY_CUSTOM_SCHEME {\n EXTERNAL_PREFIX = 'external',\n}\n\nexport enum KB_PAY_CUSTOM_SEARCH_PARAMS {\n KB_ID = 'reqParam',\n IOS_PARAMS = 'params',\n REDIRECT_URL = 'redirectUrl',\n}\n\nexport interface KbPayRedirect {\n pathname?: string;\n searchParams?: Record;\n}\n","'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { usePathname } from 'next/navigation';\nimport { useEffect } from 'react';\n\nimport { AUTH_API } from '@/api';\nimport { useAccessToken } from '@/hooks/useAccessToken';\nimport { useLoginUrlData } from '@/hooks/useLoginUrlData';\nimport { useAuthStore } from '@/stores/AuthStore';\nimport { useDeviceInfoStore,WEBVIEW_TYPE } from '@/stores/DeviceStore';\n\nimport {\n KB_PAY_CUSTOM_SCHEME,\n KB_PAY_CUSTOM_SEARCH_PARAMS,\n} from '../_utils/reserved-keywords';\n\nexport const KbAppController = () => {\n const pathname = usePathname();\n const isKbWebview = useDeviceInfoStore(\n (state) => state.webviewType === WEBVIEW_TYPE.KB_PAY,\n );\n\n const { loginParams } = useLoginUrlData();\n\n const kbId = new URLSearchParams(loginParams).get(\n KB_PAY_CUSTOM_SEARCH_PARAMS.KB_ID,\n );\n\n useEffect(() => {\n if (!isKbWebview) return;\n\n document.querySelectorAll('a').forEach((el) => {\n const href = el.getAttribute('href');\n\n if (!href) return;\n\n if (!href.startsWith('https')) return;\n\n if (href.startsWith(location.origin)) return;\n\n el.addEventListener('click', (e) => {\n e.preventDefault();\n\n window.location.href = `${KB_PAY_CUSTOM_SCHEME.EXTERNAL_PREFIX}${href}`;\n });\n });\n }, [isKbWebview, pathname]);\n\n const isLogin = useAuthStore((state) => state.isLogin);\n\n const { accessToken, refreshToken } = useAccessToken();\n\n const isEnabledKbPayMemberCheck = !!(\n isLogin &&\n accessToken &&\n refreshToken &&\n kbId\n );\n\n useQuery({\n enabled: isEnabledKbPayMemberCheck,\n queryKey: [\n WEBVIEW_TYPE.KB_PAY,\n kbId,\n accessToken,\n refreshToken,\n isEnabledKbPayMemberCheck,\n ],\n queryFn: () => {\n if (!isEnabledKbPayMemberCheck) return;\n\n AUTH_API.checkKbPayMember({\n requestBody: {\n access_token: accessToken,\n refresh_token: refreshToken,\n external_member_id: kbId,\n },\n });\n },\n });\n\n return <>;\n};\n","export const isKbWebview = () =>\n navigator.userAgent.toLowerCase().match(/liivmate|kbpayia/);\n\nexport const nativeCall = (\n callName: string,\n successFunc: string,\n failFunc: string,\n data: string,\n) => {\n if (isKbWebview()) {\n const params = encodeURIComponent(data);\n let url = '';\n\n url = 'liivmate://call?cmd=external';\n url += '&name=MobileWeb.' + callName;\n url += '&successCallback=' + successFunc;\n url += '&failCallback=' + failFunc;\n url += '¶ms=' + params;\n\n location.href = url;\n }\n};\n","import { nativeCall } from './nativeCall';\n\nexport const moveBackInfo = (\n /** 파라미터를 제외한 전체 URL */\n url: string,\n /** 파라미터 정보 Object */\n searchParams: { [key: string]: string },\n /** 스택 사용 여부 */\n useYN: 'Y' | 'N' = 'Y',\n) => {\n nativeCall(\n 'addHistoryStack',\n 'setTopMenuV2',\n '',\n JSON.stringify({\n url,\n params: searchParams,\n useYN, //스택사용 여부\n }),\n );\n};\n","import { isKbWebview, nativeCall } from './nativeCall';\n\ninterface Jparam {\n menuBt: 'N' | 'Y';\n /** 상단바 왼쪽 이전 버튼 노출여부 */\n preBt: 'N' | 'Y';\n /** 상단바 오른쪽 닫기버튼 노출여부 */\n close: 'N' | 'Y';\n /** 상단바 중간 타이틀 설정 */\n title: string;\n /** 이전버튼 액션 - B(히스토리백), C(Close),T(Target 페이지 이동),F(Target 함수 호출) */\n preAction: 'B' | 'C' | 'T' | 'F';\n /** preAction T,F인 경우(url 혹은 fuction) */\n target: string;\n}\n\nexport const setTopMenuV2 = (\n succFnNm: string,\n failFnNm: string,\n jparam: Jparam = {\n menuBt: 'Y',\n preBt: 'Y',\n close: 'N',\n //TODO: 메타데이터 정의 완료 후 연동\n title: '맞춤형 정책지원금 알림',\n preAction: 'B',\n target: '',\n },\n) => {\n nativeCall('setTopMenuV2', succFnNm, failFnNm, JSON.stringify(jparam));\n};\n\nif (typeof window !== 'undefined' && isKbWebview()) {\n (\n window as typeof window & { setTopMenuV2: typeof setTopMenuV2 }\n ).setTopMenuV2 = setTopMenuV2;\n}\n","'use client';\n\nimport { usePathname, useSearchParams } from 'next/navigation';\nimport { useEffect } from 'react';\nimport { create } from 'zustand';\n\nimport { ENV, ROUTES, SEARCH_PARAMS } from '@/constants';\nimport { useAuthStore } from '@/stores/AuthStore';\nimport { findRoute } from '@/utils';\n\nimport { moveBackInfo } from '../_utils/moveBackInfo';\nimport { isKbWebview } from '../_utils/nativeCall';\nimport { setTopMenuV2 } from '../_utils/setTopMenuV2';\n\nexport const KB_DUMMY_PATHNAME = 'kbpostparam';\nexport const KB_DUMMY_PATHNAME_SPLIT_POINT = '__';\n\ninterface KbHistoryStore {\n historyList: string[];\n setHistoryList: (setter: (history: string[]) => string[]) => void;\n}\n\nexport const kbHistoryStore = create((set) => ({\n historyList: [],\n setHistoryList: (setter) =>\n set((state) => ({ historyList: setter(state.historyList) })),\n}));\n\nexport const KbHistoryStack = () => {\n const searchParams = useSearchParams();\n const pathname = usePathname();\n\n const isLogin = useAuthStore((state) => state.isLogin);\n\n useEffect(() => {\n if (!pathname) return;\n\n if (!isKbWebview()) {\n const isAllowedPath = [\n '/login',\n '/join',\n '/terms',\n '/easy-certification',\n '/filter',\n ].some((path) => pathname.startsWith(path));\n\n if (!isAllowedPath) {\n const originalWello = ENV.NEXT_PUBLIC_DOMAIN;\n\n location.href = location.href.replace(location.origin, originalWello);\n }\n }\n }, [pathname]);\n\n useEffect(() => {\n setTopMenuV2('', '', {\n menuBt: 'Y',\n preBt: 'N',\n close: 'N',\n title: '맞춤형 정책지원금 알림',\n preAction: 'B',\n target: '',\n });\n }, []);\n\n const currentRoute = findRoute(pathname);\n\n const isExceptRoute = currentRoute\n ? [\n ROUTES.FAMILY_PROFILE_UPDATE,\n ROUTES.AUTH,\n ROUTES.CROSS_DOMAIN_AUTH,\n ROUTES.CROSS_DOMAIN_CALLBACK,\n ROUTES.SEARCH,\n ROUTES.ERROR,\n ROUTES.BENEFIT_NOTIFICATION,\n ]\n .map(({ id }) => id)\n .includes(currentRoute.id)\n : true;\n\n useEffect(() => {\n if (\n !(pathname && searchParams) ||\n isExceptRoute ||\n !isLogin ||\n !isKbWebview()\n )\n return;\n\n let kbDummyPathname = pathname;\n const params: { [key: string]: string } = {};\n\n searchParams.forEach((value, key) => {\n if (key === SEARCH_PARAMS.POST_REDIRECT) return;\n const lastChar = kbDummyPathname.slice(-1);\n\n //! ⚠️ KB 쪽에서 SearchParams가 달라도 Pathname이 같으면 같은 페이지로 인식하기 때문에 Pathname에 파라미터를 붙여주는 로직 미들웨어에서 벗겨내는 로직으로 페이지 이동\n kbDummyPathname =\n kbDummyPathname +\n `${lastChar === '/' ? '' : '/'}${KB_DUMMY_PATHNAME}${KB_DUMMY_PATHNAME_SPLIT_POINT}${key}${KB_DUMMY_PATHNAME_SPLIT_POINT}${value}`;\n\n params[key] = value;\n });\n\n const url = new URL(kbDummyPathname, location.origin).toString();\n\n const { historyList, setHistoryList } = kbHistoryStore.getState();\n\n const lastHistory = historyList[historyList.length - 1];\n\n const isNewHistory = lastHistory !== url;\n\n if (!isNewHistory) return;\n\n moveBackInfo(url, params, 'Y');\n\n setHistoryList((history) => [...history, url]);\n }, [isExceptRoute, isLogin, pathname, searchParams]);\n\n return <>;\n};\n","'use client';\n\nexport * from './_components/KbAppController';\nexport * from './_components/KbHistoryStack';\nexport { isKbWebview } from './_utils/nativeCall';\nexport * from './_utils/reserved-keywords';\n","import { createUuid,CustomError } from '@common/utils';\nimport { queryOptions } from '@tanstack/react-query';\n\nimport { AUTH_API, type TERM_CATEGORY,UNAUTH_API } from '@/api';\n\nexport const termsQueryOptionsKeys = {\n term: createUuid(),\n termsHistory: createUuid(),\n locationServiceConsent: createUuid(),\n privateDataConsent: createUuid(),\n};\n\nexport const termsQueryOptions = {\n termsHistory: (termCategory?: TERM_CATEGORY | null) =>\n queryOptions({\n queryKey: [termsQueryOptionsKeys.termsHistory, termCategory],\n\n queryFn: () => {\n if (!termCategory)\n throw new CustomError({\n return_message: 'termsDrawerType가 없습니다.',\n });\n\n return UNAUTH_API.getTermsList({\n termCategory,\n });\n },\n enabled: !!termCategory,\n }),\n term: (termCategory: TERM_CATEGORY) =>\n queryOptions({\n queryKey: [termsQueryOptionsKeys.term, termCategory],\n queryFn: () => UNAUTH_API.getTerm({ termCategory }),\n }),\n locationServiceConsent: (isLogin?: boolean) =>\n queryOptions({\n queryKey: [termsQueryOptionsKeys.locationServiceConsent, isLogin],\n enabled: isLogin !== undefined,\n queryFn: async () => {\n const isLocationServiceConsent = isLogin\n ? ((await AUTH_API.getLocationServiceConsent()).context\n ?.location_service_consent_yn ?? false)\n : true;\n\n return isLocationServiceConsent;\n },\n }),\n privateDataConsent: () =>\n queryOptions({\n queryKey: [termsQueryOptionsKeys.privateDataConsent],\n queryFn: AUTH_API.getPrivateDataConsent,\n select: (data) => data.context?.private_data_consent_yn ?? false,\n }),\n};\n","import { create } from 'zustand';\n\nimport type { MessageResponse } from '@/modules/wello-app';\n\nexport type OsType = 'android' | 'ios' | 'mac' | 'windows' | null;\ntype ViewportType = 'desktop' | 'tablet' | 'mobile';\n\nexport interface DeviceTokenData {\n apns_token: string;\n fcm_token: string;\n os: string;\n}\n\nexport enum STATUS_COLOR {\n HOME = '#F7F7F7',\n VOUCHER = '#EFF6FF',\n DEFAULT = '#FFFFFF',\n}\n\n/**\n * @description 커스텀 웰로 서비스를 사용하는 서브 도메인 등록\n */\nexport enum SUB_DOMAIN {\n WELLO = 'www',\n WELLO_APP = 'app',\n KB_PAY = 'kbpay',\n}\n\nexport enum WEBVIEW_TYPE {\n WELLO_APP = 'wello',\n KB_PAY = 'kbpay',\n}\n\ntype AppMessageLog = Map;\n\nexport interface AppModalOptions {\n isOpened: boolean;\n type: 'permission' | 'exit' | 'restart';\n}\n\nexport interface DeviceInfoStore {\n isMounted: boolean;\n setIsMounted: (isMounted: boolean) => void;\n\n webviewType?: WEBVIEW_TYPE;\n setWebviewType: (webviewType?: WEBVIEW_TYPE) => void;\n\n /** Firebase Cloud Messaging */\n fcmToken: string | null;\n setFcmToken: (firebaseToken: string | null) => void;\n\n tempDeviceTokenData?: DeviceTokenData;\n setTempDeviceTokenData: (deviceTokenData: DeviceTokenData) => void;\n\n deviceTokenData?: DeviceTokenData;\n setDeviceTokenData: (deviceTokenData: DeviceTokenData) => void;\n\n osType?: OsType;\n setOsType: (osType: OsType) => void;\n\n appMessageLog: Map;\n setAppMessageLog: (\n setAppMessageLogAction: (appMessageLog: AppMessageLog) => AppMessageLog,\n ) => void;\n\n viewportType?: ViewportType;\n setViewportType: (viewportType: ViewportType) => void;\n\n subDomain?: SUB_DOMAIN | null;\n setSubDomain: (subDomain: SUB_DOMAIN | null) => void;\n\n appVersion?: string;\n setAppVersion: (appVersion: string) => void;\n\n appModal: AppModalOptions;\n setAppModal: (appModalType: AppModalOptions) => void;\n\n appStatusColor: STATUS_COLOR | string;\n setAppStatusColor: (statusColor: STATUS_COLOR | string) => void;\n}\n\nexport const useDeviceInfoStore = create((set) => ({\n isMounted: false,\n setIsMounted: (isMounted) => set({ isMounted }),\n\n setWebviewType: (webviewType) => set({ webviewType }),\n\n fcmToken: null,\n setFcmToken: (fcmToken) => set({ fcmToken }),\n\n setTempDeviceTokenData: (deviceTokenData) =>\n set({ tempDeviceTokenData: deviceTokenData }),\n setDeviceTokenData: (deviceTokenData) => set({ deviceTokenData }),\n\n appMessageLog: new Map(),\n setAppMessageLog: (setAppMessageLogAction) =>\n set(({ appMessageLog }) => ({\n appMessageLog: new Map(setAppMessageLogAction(appMessageLog)),\n })),\n\n setOsType: (osType) => set({ osType }),\n\n setViewportType: (viewportType) => set({ viewportType }),\n\n setSubDomain: (subDomain) => set({ subDomain }),\n\n setAppVersion: (appVersion) => set({ appVersion }),\n\n appModal: {\n isOpened: false,\n type: 'permission',\n },\n setAppModal: (appModal) => set({ appModal }),\n\n appStatusColor: STATUS_COLOR.DEFAULT,\n setAppStatusColor: (appStatusColor) => set({ appStatusColor }),\n}));\n","import { getOsType, getSubDomain, isEnumValue } from '@common/utils';\nimport { useEffect } from 'react';\nimport { useShallow } from 'zustand/react/shallow';\n\nimport { isKbWebview } from '@/modules/kb-pay';\n\nimport {\n SUB_DOMAIN,\n useDeviceInfoStore,\n WEBVIEW_TYPE,\n} from './useDeviceInfoStore';\n\nexport const useMountDeviceInfoStore = () => {\n const [\n setIsMounted,\n setWebviewType,\n setOsType,\n setViewportType,\n setSubDomain,\n ] = useDeviceInfoStore(\n useShallow((state) => [\n state.setIsMounted,\n state.setWebviewType,\n state.setOsType,\n state.setViewportType,\n state.setSubDomain,\n ]),\n );\n\n useEffect(() => {\n const subDomain = getSubDomain();\n\n const { userAgent } = navigator;\n\n setOsType(getOsType());\n\n setViewportType(/Mobile/.exec(userAgent) ? 'mobile' : 'desktop');\n\n if (isEnumValue(SUB_DOMAIN, subDomain)) {\n setSubDomain(subDomain);\n\n switch (subDomain) {\n case SUB_DOMAIN.KB_PAY: {\n if (isKbWebview()) setWebviewType(WEBVIEW_TYPE.KB_PAY);\n\n break;\n }\n\n case SUB_DOMAIN.WELLO_APP: {\n if (userAgent.includes('welfarehello'))\n setWebviewType(WEBVIEW_TYPE.WELLO_APP);\n\n break;\n }\n\n default:\n break;\n }\n } else {\n setSubDomain(null);\n }\n\n setIsMounted(true);\n }, [setIsMounted, setOsType, setSubDomain, setViewportType, setWebviewType]);\n};\n","'use client';\n\nexport * from './useDeviceInfoStore';\nexport * from './useMountDeviceInfoStore';\n","import { create } from 'zustand';\n\nimport type { TERM_CATEGORY } from '@/api';\n\nexport enum LOCAL_STORAGE_KEY {\n RECENT_SEARCH_LIST = 'recent_search_list',\n SEARCH_LOCATION_LIST = 'search_location_list',\n BANNER_CLOSED = 'bannerClosed',\n WELLO_UUID = 'welloUuid',\n CARD_BANNER_CLOSED = 'cardBannerClosed',\n}\n\nexport type ToastType = 'fail' | 'success' | 'warning' | 'info';\n\nexport interface ToastOptions {\n toastKey: string;\n type?: ToastType;\n message: string;\n holdTime?: number;\n createdAt: Date;\n}\n\ninterface WelloWebLinkModalPros {\n descriptions: string;\n link: string;\n}\n\ninterface Log {\n data: string;\n time: Date;\n}\ninterface GlobalStore {\n isGlobalLoading: boolean;\n setIsGlobalLoading: (isGlobalLoading: boolean) => void;\n\n termsDrawerType: TERM_CATEGORY | null;\n setTermsDrawerType: (termsDrawerType: TERM_CATEGORY | null) => void;\n\n welloWebLinkModalProps: WelloWebLinkModalPros | null;\n setWelloWebLinkModalProps: (\n welloWebLinkModal: WelloWebLinkModalPros | null,\n ) => void;\n\n shareLink: null | string;\n setShareLink: (shareLink: string | null) => void;\n\n isShowLoginRedirectionConfirmModal: boolean;\n setIsShowLoginRedirectionConfirmModal: (\n isShowLoginDirectionConformModal: boolean,\n ) => void;\n\n isNaverMapMounted: boolean;\n setIsNaverMapMounted: (isNaverMapMounted: boolean) => void;\n\n logList: Log[];\n addLog: (log: Log) => void;\n\n setGlobalNavigation: (globalNavigation: React.ReactNode) => void;\n globalNavigation: React.ReactNode;\n\n handleLocationServiceConsentDrawer?: (\n isLocationServiceConsent: boolean,\n ) => Promise;\n setHandleLocationServiceConsentDrawer: (\n handleLocationServiceConsentDrawer: GlobalStore['handleLocationServiceConsentDrawer'],\n ) => void;\n\n isHomeBottomDrawerOpened: boolean;\n setIsHomeBottomDrawerOpened: (isHomeBottomDrawerOpened: boolean) => void;\n}\n\nexport const useGlobalStore = create((set) => {\n return {\n isGlobalLoading: false,\n setIsGlobalLoading: (isGlobalLoading) => set({ isGlobalLoading }),\n\n termsDrawerType: null,\n setTermsDrawerType: (termsDrawerType) => set({ termsDrawerType }),\n\n welloWebLinkModalProps: null,\n setWelloWebLinkModalProps: (welloWebLinkModalProps) =>\n set({ welloWebLinkModalProps }),\n\n shareLink: null,\n setShareLink: (shareLink) => set({ shareLink }),\n\n isShowLoginRedirectionConfirmModal: false,\n setIsShowLoginRedirectionConfirmModal: (\n isShowLoginRedirectionConfirmModal,\n ) => set({ isShowLoginRedirectionConfirmModal }),\n\n isNaverMapMounted: false,\n setIsNaverMapMounted: (isNaverMapMounted) => set({ isNaverMapMounted }),\n\n logList: [],\n addLog: (log) => set(({ logList }) => ({ logList: [...logList, log] })),\n\n setGlobalNavigation: (globalNavigation) => set({ globalNavigation }),\n globalNavigation: null,\n\n // Drawe 띄우고 콜백 역할함\n setHandleLocationServiceConsentDrawer: (\n handleLocationServiceConsentDrawer,\n ) => set({ handleLocationServiceConsentDrawer }),\n\n isHomeBottomDrawerOpened: false,\n setIsHomeBottomDrawerOpened: (isHomeBottomDrawerOpened) =>\n set({ isHomeBottomDrawerOpened }),\n };\n});\n","'use client';\n\nexport * from './useGlobalStore';\n","'use client';\n\nimport { CustomError } from '@common/utils';\nimport { create } from 'zustand';\n\nimport { STORAGE_KEY, type STORAGE_TYPE } from '@/constants/storage-key';\n\ninterface HistoryStore {\n historyIndex: number;\n setHistoryIndex: (historyIndex: number) => void;\n\n customHistory: Map;\n setCustomHistory: (customHistory: Map) => void;\n}\n\nexport const useHistoryStore = create((set) => {\n let historyIndex = -1;\n const customHistory = new Map();\n\n if (typeof window !== 'undefined') {\n const sessionExpire = sessionStorage.getItem(STORAGE_KEY.HISTORY_EXPIRE);\n\n try {\n if (sessionExpire ? Number(sessionExpire) < Date.now() : true)\n throw new CustomError();\n\n const sessionHistory = sessionStorage.getItem(STORAGE_KEY.HISTORY);\n const sessionHistoryIndex = sessionStorage.getItem(\n STORAGE_KEY.HISTORY_INDEX,\n );\n\n if (!sessionHistory || !sessionHistoryIndex) throw new CustomError();\n\n historyIndex = Number(sessionHistoryIndex);\n\n const history: STORAGE_TYPE.HISTORY = JSON.parse(sessionHistory);\n\n history.forEach(([index, path]) => {\n customHistory.set(index, path);\n });\n } catch {\n customHistory.clear();\n } finally {\n sessionStorage.removeItem(STORAGE_KEY.HISTORY_EXPIRE);\n sessionStorage.removeItem(STORAGE_KEY.HISTORY);\n sessionStorage.removeItem(STORAGE_KEY.HISTORY_INDEX);\n }\n }\n\n return {\n historyIndex,\n customHistory,\n setHistoryIndex: (historyIndex) => {\n sessionStorage.setItem(\n STORAGE_KEY.HISTORY_INDEX,\n historyIndex.toString(),\n );\n\n return set({\n historyIndex,\n });\n },\n setCustomHistory: (customHistory) => {\n sessionStorage.setItem(\n STORAGE_KEY.HISTORY,\n JSON.stringify(Array.from(customHistory.entries())),\n );\n\n return set({ customHistory });\n },\n };\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logo\":\"Logo_logo__SCo9n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast-wrap\":\"ToastProvider_toast-wrap__aDd1M\"};"],"names":["_path","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","__webpack_exports__","props","react__WEBPACK_IMPORTED_MODULE_0__","createElement","xmlns","width","height","fill","viewBox","fillRule","d","clipRule","Z","createSvgComponent","Add","BookmarkFill","PersonSvg","jsx_runtime","jsxs","svg","jsx","g","clipPath","path","defs","id","rect","CompanySvg","defaultImages","person","company","wello","Logo","name","wellobiz","avatarVariants","cva","variants","type","defaultVariants","AvatarCore","size","alt","src","className","param","DefaultIcon","div","cn","style","minWidth","minHeight","Image","Avatar","showMore","isMulti","Array","isArray","overlapOffset","Math","round","nonOverlapSize","multiSrc","multiAlt","map","singleAlt","avatarSrc","index","marginLeft","concat","SvgAdd","badgeVariants","Badge","icon","Icon","BuildingBadge","StarBadge","ApplyBadge","RadixBadge","children","Divider","variant","aria-orientation","role","origin","restProps","Svg","Wello","biz","Biz","styles","CertificationBadge","isDark","isHideISMSP","isHideERIVACY","unoptimized","TooltipProvider","ul","li","TooltipRoot","delayDuration","label","p","br","title","Trigger","DropdownMenuPrimitive","Portal","Label","Group","CheckboxItem","ItemIndicator","RadioGroup","RadioItem","Sub","SubTrigger","Dropdown","Root","dir","Content","align","Item","SubContent","Separator","Arrow","ToastProvider","position","draggable","ToastContainer","stacked","bodyClassName","closeButton","draggableDirection","draggablePercent","theme","toastClassName","transition","Slide","CustomLink","forwardRef","ref","replace","onClick","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","Link","sessionStorage","setItem","STORAGE_KEY","REPLACE_MARK","displayName","AccessTokenObject","useAccessToken","cookies","setCookies","removeCookies","useCookies","COOKIES_KEYS","ACCESS_TOKEN","REFRESH_TOKEN","accessTokenObject","accessToken","refreshToken","setAccessToken","removeToken","AuthOpenApi","TOKEN","undefined","AuthClient","setConfig","auth","COOKIE_OPTIONS","decoded","decodeJwt","exp","expire","Date","now","expires","console","error","setRefreshToken","NOT_ALLOW_BACK_ROUTE","ROUTES","AUTH","EASY_CERTIFICATION","EASY_CERTIFICATION_CALLBACK","LOGIN","CROSS_DOMAIN_AUTH","useCustomRouter","router","useRouter","setIsGlobalLoading","useGlobalStore","state","useMemo","href","options","globalLoading","originalOptions","isCurrentUrl","skipSearch","push","back","historyIndex","customHistory","useHistoryStore","getState","prevHistoryPath","get","isNotAllowBackRoute","some","includes","route","pathname","HOME","DEFAULT_LOCATION","isDefaultLocation","isLocationServiceConsent","hasLocationPermission","longitude","latitude","region","codeRegion","subRegion","codeSubRegion","LOCATION_DRAWER_SESSION_KEY","LOCATION_QUERY_KEY","createUuid","useLocation","enabledInitialFetch","isLogin","useAuthStore","locationServiceConsent","useQuery","termsQueryOptions","locationDrawerCallback","setHandleLocationServiceConsentDrawer","queryKey","data","placeholderData","keepPreviousData","staleTime","gcTime","queryFn","CustomError","return_message","isDenied","getItem","Promise","isAgree","resolve","res","navigator","geolocation","getCurrentPosition","coords","context","UNAUTH_API","getGeocoding","String","code","PERMISSION_DENIED","ip","ky","text","getGeolocation","enableHighAccuracy","timeout","maximumAge","code_region","sub_region","code_sub_region","Number","enabled","useLoginUrlData","ORIGIN_HOST","LOGIN_PARAMS","hostOrigin","loginParams","redirect","URLSearchParams","saveLoginUrlData","url","URL","location","searchParams","toString","KB_PAY_CUSTOM_SEARCH_PARAMS","KB_PAY_CUSTOM_SCHEME","KbAppController","usePathname","isKbWebview","useDeviceInfoStore","webviewType","WEBVIEW_TYPE","KB_PAY","kbId","KB_ID","useEffect","document","querySelectorAll","forEach","el","getAttribute","startsWith","addEventListener","preventDefault","window","EXTERNAL_PREFIX","isEnabledKbPayMemberCheck","AUTH_API","checkKbPayMember","requestBody","access_token","refresh_token","external_member_id","Fragment","userAgent","toLowerCase","match","nativeCall","callName","successFunc","failFunc","params","encodeURIComponent","moveBackInfo","useYN","JSON","stringify","setTopMenuV2","succFnNm","failFnNm","jparam","menuBt","preBt","close","preAction","target","kbHistoryStore","create","historyList","setHistoryList","set","setter","KbHistoryStack","useSearchParams","originalWello","ENV","NEXT_PUBLIC_DOMAIN","currentRoute","findRoute","isExceptRoute","FAMILY_PROFILE_UPDATE","CROSS_DOMAIN_CALLBACK","SEARCH","ERROR","BENEFIT_NOTIFICATION","kbDummyPathname","value","key","SEARCH_PARAMS","POST_REDIRECT","lastChar","slice","KB_DUMMY_PATHNAME","KB_DUMMY_PATHNAME_SPLIT_POINT","history","termsQueryOptionsKeys","term","termsHistory","privateDataConsent","queryOptions","termCategory","getTermsList","getTerm","_context","_context_location_service_consent_yn","getLocationServiceConsent","location_service_consent_yn","getPrivateDataConsent","select","private_data_consent_yn","STATUS_COLOR","SUB_DOMAIN","isMounted","setIsMounted","setWebviewType","fcmToken","setFcmToken","setTempDeviceTokenData","tempDeviceTokenData","deviceTokenData","setDeviceTokenData","appMessageLog","Map","setAppMessageLog","setAppMessageLogAction","setOsType","osType","setViewportType","viewportType","setSubDomain","subDomain","setAppVersion","appVersion","appModal","isOpened","setAppModal","appStatusColor","setAppStatusColor","useMountDeviceInfoStore","useShallow","getSubDomain","getOsType","exec","isEnumValue","WELLO_APP","LOCAL_STORAGE_KEY","isGlobalLoading","termsDrawerType","setTermsDrawerType","welloWebLinkModalProps","setWelloWebLinkModalProps","shareLink","setShareLink","isShowLoginRedirectionConfirmModal","setIsShowLoginRedirectionConfirmModal","isNaverMapMounted","setIsNaverMapMounted","logList","addLog","log","setGlobalNavigation","globalNavigation","handleLocationServiceConsentDrawer","isHomeBottomDrawerOpened","setIsHomeBottomDrawerOpened","sessionExpire","HISTORY_EXPIRE","sessionHistory","HISTORY","sessionHistoryIndex","HISTORY_INDEX","parse","clear","removeItem","setHistoryIndex","setCustomHistory","from","entries","module","exports"],"sourceRoot":""}