{"version":3,"file":"static/chunks/484-5d1b870a44acd75b.js","mappings":"2JAYO,cACP,aAAiC,YACjC,MAAwB,OAAgB,UACxC,KAIW,QAAO,+BAAwC,IAAW,yBAAgC,MAAO,QAAQ,MAAwB,CAC5I,qDENA,mEAHA,4BAIA,EAA8B,eAAmB,EACjD,eACA,+CACA,gBACA,CAAC,EACD,EAAuB,YAAgB,CACvC,QACA,IACA,iCACA,kBACA,uBACA,iBACA,oBACA,YACA,KACA,CAAM,EACN,EAAoB,YAAgB,IACpC,MAA4B,UAAc,OAC1C,yCACA,KAAsB,UAAc,GAAG,EACvC,EAAyB,OAAe,YACxC,uBACA,4DACA,eACA,oBACA,kDACA,OACA,WA4FA,0BACA,MAAmC,OAAc,IACjD,EAAsC,QAAY,KAClD,EAAyB,QAAY,MACrC,CAAG,EAmCH,OAlCE,WAAe,MACjB,UACA,yBACA,iBACA,EAnIA,sCAqIA,EACA,EACA,CAAc,aAEd,EAEA,GAA8B,gBAC9B,0BACA,yCACA,YACA,sCAA4E,QAAY,GAExF,GAEA,EAAQ,IACR,wCAEA,aACA,EACA,yBACA,mCACA,CAAK,IACL,WACA,uBACA,uCACA,wCACA,CACA,CAAG,QACH,CAEA,qCACA,CACA,EAvIA,IACA,eACA,0CACA,OACA,OACA,OACA,0BACA,CAAK,IACL,EAgIA,mCACA,MAA6B,OAAc,IAC3C,EAAoC,QAAY,KAahD,OAZE,WAAe,MACjB,UACA,sBAEA,EA5KA,gCA4KA,EADA,CAA8B,iBAC9B,CACA,WACA,CAAS,CAET,EAEA,OADA,gCACA,sCACA,CAAG,QACH,CACA,gCACA,8BACA,CACA,EAnJA,IACA,eACA,yCAEA,OACA,OACA,0BACA,CAAK,IAwCL,OD9FA,gBCuDoB,SDvDpB,UACA,MAA0B,OAAc,IACtC,WAAe,MACjB,UACA,kBACA,IAEA,EAEA,OADA,gCAA+D,WAAe,EAC9E,uCAA+E,WAAe,CAC9F,CAAG,OACH,EC4CoB,IACpB,sBAEA,OACA,yBACA,mBACA,KAEA,CAAK,IACD,WAAe,MACnB,KAUA,OATA,IACA,oDACA,6BACA,mCAEA,iDAEA,gBACA,IACA,KACA,sDACA,8BAEA,CACA,CAAK,YACD,WAAe,KACnB,KACA,IACA,mBACA,mDACA,IACA,EACK,OACD,WAAe,MACnB,cAAyC,EAEzC,OADA,+BACA,qCACA,CAAK,KACsB,SAAG,CACxB,IAAS,KACf,CACA,KACA,MACA,OACA,uCACA,WACS,CACT,eAAwB,OAAoB,oCAC5C,cAAuB,OAAoB,kCAC3C,qBAA8B,OAAoB,CAClD,uBACA,uBAEA,EAEA,GAoFA,aACA,yBACA,yBACA,CACA,2BAA+D,EAAU,EACzE,6BACA,qBAAwC,kCAA0C,EAClF,2BAAwD,QAAY,EACpE,EACI,QAA2B,MAE/B,kBAEA,CA/FA,cA1GA,mBA4G6B,YAAgB,SAC7C,MAAkB,YAAgB,IAClC,EAAc,QAAY,OAC1B,EAAuB,OAAe,MAUtC,OATE,WAAe,MACjB,gBACA,KAEA,OADA,kBACA,KACA,oBACA,CAEA,CAAG,eACsB,SAAG,CAAC,IAAS,MAAQ,WAA6B,CAC3E,CAAC,EACD,YAhBA,yCCrHA,MAAuB,EAAQ,KAAqB,EACpD,EAAkB,EAAQ,KAAgB,CADZ,CAE9B,EAAsB,EAAQ,KAAoB,CADzB,CAEzB,EAAgB,EAAQ,IAAc,EADT,EAEP,EAAQ,KAAoB,EAD3B,EAEL,EAAQ,IAAe,EADZ,EAEf,EAAQ,KAAW,EACjC,EAAwB,EAAQ,KAAqB,CADhC,CAErB,EAAe,EAAQ,KAAY,CADJ,CAE/B,EAAiB,EAAQ,KAAc,CADjB,CAEtB,EAAe,EAAQ,KAAY,CADX,CAExB,EAAoB,EAAQ,KAAiB,CADvB,CAEtB,EAAmB,EAAQ,KAAgB,CADhB,CAE3B,EAAc,EAAQ,KAAY,CADR,CAE1B,EAAoB,EAAQ,KAAiB,CADxB,CAgFrB,UA/E2B,SAiB3B,eACA,aACA,SACA,WAEA,MACA,SACA,MACA,CACA,QACA,kBACA,OAEA,aAEA,MACA,WACA,WACA,eAEA,IACA,QACA,KACA,IAEA,KACA,OAEA,GACA,KACA,WAEA,GACA,KACA,WAGA,KAGA,YACA,IACA,KACA,OAEA,eACA,UAIA,IAEA,CACA,IAEA,WACA,aACA,aAEA,QACA,yEC3FiG,SAASA,EAAEC,CAAC,EAAE,IAAIC,EAAEC,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAACF,GAAG,MAAOG,CAAAA,EAAAA,EAAAA,CAAAA,CAACA,CAAC,KAAKF,EAAEG,OAAO,CAACJ,CAAC,EAAE,CAACA,EAAE,EAAEC,CAAC,8DCyBpJ,SAASI,EAAWC,CAAS,CAAEC,CAAW,CAAEC,CAAO,EACxD,GAAM,CAACC,EAAYC,EAAa,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,CAAcA,CAC/CH,GAASI,GACTN,EACAC,GAEF,OAAOE,EAAWI,WAAW,KAAOH,EAAaG,WAAW,EAC9D,+DCJO,SAASC,EAASC,CAAI,CAAEC,CAAM,CAAER,CAAO,EAC5C,MAAOS,CAAAA,EAAAA,EAAAA,CAAAA,CAASA,CAACF,EAAe,KAAIP,EACtC,sKCgDA,OAqEC,mBArEuBU,GA1BRC,KAAK,mBAALA,+BApDE,mBACG,QAgCrB,SAASC,EAAiBC,CAAgD,EACxE,MAAO,CAAEC,QAAS,CAACD,MAAAA,EAAAA,KAAAA,EAAAA,EAA4BC,OAAAA,GAAWD,CAAI,CAChE,CAiBO,SAASF,EACdI,CAAkC,CAClCC,CAAkC,EAQhC,OALF,OAAOA,EAAgBC,OAAO,CAC9B,OAAOD,EAAgBE,OAAO,CAIrBH,EAAoBC,EAQ/B,CAQe,SAASN,EACtBS,CAA6C,CAC7CnB,CAA2B,EAE3B,IAAIoB,EAAaC,EAAAA,OAAQ,CAErBL,EAAsC,CAExCM,QAAS,OAAC,OAAEC,CAAK,CAAEC,WAAS,WAAEC,CAAS,CAAE,UAgBhC,IACT,CACF,EAMIN,aAA0BO,QAC5BV,CADqC,CACrBW,MAAM,CAAG,IAAMR,EAEI,YAA1B,OAAOA,EAChBH,EAAgBW,MAAM,CAAGR,EAEU,UAA1B,OAAOA,IAChBH,EAAkB,CAAE,GAAGA,CAAe,CAAE,GAAGG,CAAc,CAAC,EAM5D,IAAMS,EAAWZ,CAFjBA,EAAkB,CAAE,GAAGA,CAAe,CAAE,GAAGhB,CAAO,CAAC,EAElB2B,MAAM,OAgBvC,CATIX,EAAgBa,iBAAiB,EAAE,CACrCb,EAAkB,CAChB,GAAGA,CAAe,CAClB,GAAGA,EAAgBa,iBAAiB,EAEtC,OAAOb,EAAgBa,iBAAiB,EAItC,aAA4C,KAArCb,EAAgBc,GAAG,EAAmBd,EAAgBc,GAAG,EAAE,EAOpD,CAAE,GAAGd,CAAe,CAAEW,OAtBzB,CAsBiCA,GArBlC,MAAZC,EACIA,IAAWG,IAAI,CAACnB,GAChBc,QAAQM,OAAO,CAACpB,EAAc,IAAM,MAmB0B,IANlE,OAAOI,EAAgBC,OAAO,CAC9B,OAAOD,EAAgBE,OAAO,CAEvBP,EAAMS,EAAYJ,GAI7B,wOCnJA,MAAa,EAAQ,KAAW,EAChC,EAAiB,EAAQ,KAAe,CADpB,CAEpB,EAAS,EAAQ,KAAM,CADC,CAExB,EAAkB,EAAQ,KAAgB,CAD1B,CAEhB,EAAiB,EAAQ,KAAe,CADf,CAEzB,EAAiB,EAAQ,KAAe,CADhB,CAsBxB,UArBwB,KAqBxB,QACA,qBAoFA,UAjEA,wBACA,UACA,IAzBA,oBA0BA,+BACA,2BACA,MAEA,WACA,eAhCA,uBAmCA,+BACA,sBACA,MAEA,QAEA,KAnDA,mBAoDA,IAnDA,gBAoDA,IAjDA,kBAoDA,eAEA,KAxDA,iBAyDA,gDAtDA,kBAyDA,IAvDA,kBA2DA,cAEA,KAjEA,eAkEA,OAEA,KAjEA,eAkEA,MA5EA,EA4EA,EAGA,GAFA,SAEA,mBACA,MAGA,eACA,KACA,YAEA,GAtFA,EAyFA,WACA,2BAEA,OADA,YACA,CAEA,KAnFA,kBAoFA,KACA,2BAEA,CACA,QACA,iDCjEA,aACA,qCACA,2BACA,iBACA,IACA,QACA,UACA,CAAQ,EACR,cACA,CAAK,YAEL,uGCuBA,MA1EA,cAeA,cA2De,EA3Df,GAOA,IACA,EADA,GAoD6B,CApD7B,CAoD8B,SAjD9B,IAIA,EAHA,sBACA,eACO,GAEP,CAEA,kBAGA,aACA,qCAHM,OAAc,MAOpB,kBACA,QACA,EAEA,kBAqBA,OAnBA,+BACA,aACA,GACA,EAEA,gCACA,GACA,EAEA,kCACA,sBACA,cACA,GACA,EAEA,oBACA,OAA4B,eAAmB,cAC/C,EAEA,CACA,CAAK,CAAC,eAAa,EAInB,MAFI,OAAe,+BAxDnB,CAwDmB,EAxDnB,aAwDmB,EAxDnB,mBAwDmB,KAEnB,CACA,CACA,uEC1EA,gBACA,wBACA,kBACI,GACJ,aAEA,CACA,iBACA,WACA,SACA,YACA,aAIA,OAHA,yBACA,OAEA,CACA,CAAK,EACL,KACA,WACA,YAAwB,WAAqB,KAC7C,WACA,qBACA,IAEA,YAEA,CACA,CAEA,CACA,CACA,iBACA,OAAS,aAAiB,WAC1B,4CCnC4C,SAASrB,IAAI,IAAIsC,EAAE,EAAE,CAACxC,EAAE,kBAACyC,CAAiB1C,CAAC,CAACE,CAAC,CAACH,CAAC,CAAC4C,CAAC,GAAS3C,GAAE0C,gBAAgB,CAACxC,EAAEH,EAAE4C,GAAG1C,EAAE2C,GAAG,CAAC,IAAI5C,EAAE6C,mBAAmB,CAAC3C,EAAEH,EAAE4C,GAAAA,EAAKG,sBAAsB,GAAG9C,CAAC,EAAE,IAAIE,EAAE4C,yBAAyB9C,GAAG,OAAOC,EAAE2C,GAAG,CAAC,IAAIG,qBAAqB7C,GAAG,YAAE8C,CAAU,GAAGhD,CAAC,GAASC,EAAE6C,qBAAqB,CAAC,IAAI7C,EAAE6C,qBAAqB,IAAI9C,IAAKiD,WAAW,GAAGjD,CAAC,EAAE,IAAIE,EAAE+C,cAAcjD,GAAG,OAAOC,EAAE2C,GAAG,CAAC,IAAIM,aAAahD,GAAG,EAAEiD,UAAU,GAAGnD,CAAC,EAAE,IAAIE,EAAE,CAACE,QAAQ,CAAC,CAAC,EAAE,MAAOgD,CAAAA,EAAAA,EAAAA,CAAAA,CAACA,CAAC,KAAKlD,EAAEE,OAAO,EAAEJ,CAAC,CAAC,EAAE,EAAE,GAAGC,EAAE2C,GAAG,CAAC,KAAK1C,EAAEE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAEiD,MAAMrD,CAAC,CAACE,CAAC,CAACH,CAAC,EAAE,IAAI4C,EAAE3C,EAAEqD,KAAK,CAACC,gBAAgB,CAACpD,GAAG,OAAOqD,OAAOC,MAAM,CAACxD,EAAEqD,KAAK,CAAC,CAAC,CAACnD,EAAE,CAACH,CAAC,GAAG,IAAI,CAAC6C,GAAG,CAAC,KAAKW,OAAOC,MAAM,CAACxD,EAAEqD,KAAK,CAAC,CAAC,CAACnD,EAAE,CAACyC,CAAC,EAAE,EAAE,EAAEc,MAAMzD,CAAC,EAAE,IAAIE,EAAEC,IAAI,OAAOH,EAAEE,GAAG,IAAI,CAAC0C,GAAG,CAAC,IAAI1C,EAAEwD,OAAO,GAAG,MAAEd,CAAK,GAASH,EAAEkB,QAAQ,CAAC3D,IAAIyC,EAAEmB,IAAI,CAAC5D,GAAG,KAAK,IAAIE,EAAEuC,EAAEoB,OAAO,CAAC7D,GAAG,GAAGE,GAAG,EAAE,IAAI,IAAIH,KAAK0C,EAAEqB,MAAM,CAAC5D,EAAE,GAAGH,IAAG,EAAG2D,UAAU,IAAI,IAAI1D,KAAKyC,EAAEqB,MAAM,CAAC,GAAG9D,GAAG,CAAC,EAAE,OAAOC,CAAC,sKCMx2B,+BAA8C,iBAAe,CAAG,WAAS,CAIzE,oBAUA,EACA,EACA,EAXA,SACA,SAEA,sBACA,SAEA,qDACA,SAKA,6BACA,qBAEA,IADA,cACA,kBACA,QAAuB,EAAU,CAAV,KACvB,iBACA,SAGA,QACA,CAGA,GADA,GADA,mBACA,UACA,sBACA,SAEA,QAAqB,EAAU,MAC/B,SAAa,4BACb,SAGA,QAAqB,EAAU,CAAV,KAAU,CAC/B,WACA,gCAGA,cACA,QAEA,CACA,QACA,CACA,iBACA,CAEA,oBACA,2BACA,EAGA,CADA,qCACA,mBACA,CAEA,gBACA,WACA,wBACA,CAEA,cACA,MAAc,QAAY,IAI1B,OAHA,OACA,WACA,CAAG,EACH,CACA,CAMA,cACA,YACA,OAEA,IACA,qBACA,sBACA,gBACA,WACA,UACA,YACA,WACA,CAAM,EAAI,CACV,eACA,uBACA,OACA,CAAI,EACJ,MAA0B,UAAc,EACxC,IACA,IACA,WACA,YACA,iBAAsB,CACtB,eACA,CAAG,EACH,MAAkD,UAAc,IAChE,QACA,KAEA,SAAsC,UAAc,OACpD,MAAoC,UAAc,OAClD,EAAuB,aAAiB,KACxC,gBACA,YACA,KAEA,CAAG,KACH,EAAsB,aAAiB,KACvC,gBACA,YACA,KAEA,CAAG,KACH,OACA,OACA,EAAuB,QAAY,OACnC,EAAsB,QAAY,OAClC,EAAkB,QAAY,IAC9B,UACA,OACA,OACA,OACA,EAAiB,aAAiB,MAClC,0BACA,OAEA,OACA,YACA,WACA,YACA,CACA,YACA,uBAEI,QAAe,iCACnB,OACA,KAKA,2BACA,CACA,8BACA,YACQ,WAAkB,MAC1B,IACA,CAAS,EAET,CAAK,CACL,CAAG,cACH,OACA,iCACA,0BACA,OACA,KACA,eACA,EAAO,EAEP,CAAG,MACH,MAAuB,QAAY,KACnC,OACA,aACA,KACA,YACA,GACG,IACH,OAGA,GAFA,iBACA,iBACA,MACA,aACA,wBAEA,GACA,CACA,CAAG,cACH,MAAe,SAAa,OAC5B,YACA,WACA,eACA,aACA,EAAG,QACH,EAAmB,SAAa,OAChC,YACA,UACA,EAAG,QACH,EAAyB,SAAa,MACtC,OACA,WACA,OACA,KACA,EACA,eACA,SAEA,wBACA,2BACA,EACA,CACA,KACA,wCACA,wBACA,sBACA,CAAS,EAGT,CACA,WACA,OACA,KACA,CACA,CAAG,2BACH,OAAS,SAAa,OACtB,KACA,SACA,OACA,WACA,gBACA,EAAG,aACH,CAQA,SAIA,EACA,aACA,UACA,MACA,IACA,UACA,UACA,CAAQ,mCACR,GAVA,IAAa,qBAUb,EAVa,WAWb,gBACiB,QAAO,EACxB,kBACA,SACA,CAAW,QAEX,GAEA,EACe,QAAO,EACtB,UACA,SACA,CAAS,QAET,EACA,CACA,GAUA,WACA,GAAK,QAAQ,IACb,cACC,EAOD,WACA,GAAK,QAAO,IACZ,cACA,CAAC,CAKD,WACA,GAAK,QAAY,IACjB,cACA,CAAC,CAQD,WACA,GAAK,QAAM,IACX,cACA,CAAC,CAQD,WACA,GAAK,QAAM,IACX,cACA,CAAC,CAkBD,WACA,GAAK,QAAM,IACX,cACC,EAkBD,WACA,QACA,cACA,CAAC,WCxWD,cA+BA,WApBA,YACA,QACA,IAEA,kBACA,UACA,WAGA,GADA,IACA,IACA,SAzBA,IA0BA,yBAGA,IAEA,gCACA,CACA,gIClCs7B,IAAI8D,EAAEC,CAAAA,EAAAA,EAAAA,EAAAA,CAACA,CAAzd,SAASC,CAAG,CAACC,CAAC,EAAE,IAAIhE,EAAE,CAAC,mBAAmB,EAAEiE,CAAAA,EAAAA,EAAAA,KAAAA,CAACA,GAAAA,CAAI,CAAC,CAACpE,EAAEqE,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QAAoC,UAAc,IAJlD,mBACA,QAAqC,UAAc,GAJnD,yBAUA,CACA,CAAK,CACL,gBAEA,MAAyB,SAAG,CAAC,IAAS,MAAQ,mCAA0E,CACxH,CAAC,EAeD,cACA,SACA,uDACA,eACA,oDACA,+CACA,6DACA,CACA,CAAG,EACH,yCACA,QACA,CACA,gBACA,eACA,aAGA,QAA0B,EAAM,EAChC,sDACA,KACA,wBADA,CAEA,iDACA,kBAEA,QACA,EAXA,GAA6B,OAAiB,UAE9C,CAaA,qBAA0B,MAAiB,EAAI,EAC/C,mBAJA,EAKA,6BACA,SAAoB,iBAAqB,EACzC,OANA,CADA,EAOA,aANA,gCAMA,GACA,UACA,CACA,CAlDA,cAxHA,aA2KA,MACA,WACA,SACA,OACA,OACA,WACA,OACA,WAEA,WACA,UACA,CAAK,CACL,UACA,SACA,cACA,CACA,CACA,IACA,gBACA,aACA,eAIA,OAHA,QACA,cAEA,CACA,6EC5MA,EAAiB,iBAAK,mCACtB,IACA,cACA,SAAsB,UAAc,MAIpC,MAHE,OAAe,MACjB,uBACA,CAAG,MACH,eAA2C,EAAG,KAC9C,4GCNA,gBAAqC,GAAY,CACjD,IACA,UACA,GACA,cACA,KACA,QACA,UACA,mBACA,mBACA,SACA,CACA,cACA,mCACA,gCACA,CACA,cACA,mBACA,+CACS,QAAmB,kBAC5B,mCACA,8BACA,iBACA,cACO,EAEP,0CAAgE,QAAO,kBAA8B,QAAO,2BAC5G,aACM,mCACN,gCAEA,CACA,gBACA,qBACA,6BAEA,CACA,oBACA,UACA,UACA,CACA,mBACA,eAEA,QACA,8BACA,eACA,UACA,SACA,CACA,YAKA,OAJA,UACA,8BACA,+DACA,0BACA,kBACA,CACA,KACA,sBAAkD,OAAe,EACjE,UACA,KACA,+BACA,+BACA,2BACA,yBACA,mBACA,iBAEA,CACA,MACI,GAAa,YACjB,iCACA,wBACA,kBACA,qBACA,gCACA,sCACU,oBACV,+BACA,oBACA,OACA,QACA,EACA,GAGA,CACA,2BACA,UACA,CAAO,CACP,CAAK,CACL,CACA,wBC1FA,gBACA,MAAiB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AuU,QAAY,EAAwB,6DC4B9ja,SAASqF,EAAUrT,CAAI,CAAEC,CAAM,CAAER,CAAO,EAC7C,MAAOS,CAAAA,EAAAA,EAAAA,CAAAA,CAASA,CAACF,EAAM,CAACC,EAAQR,EAClC,gCC7BA,qCAA6C,CAAE,SAAa,EAAC,EAC7D,SAAiB,QACjB,MAAwB,EAAQ,KAAoB,EACpD,EAAiB,EAAQ,KAAY,CA+FrC,WA/FwB,CA+FP,CAxBjB,YAWA,GATA,KAAa,EAAE,IAAI,IAAI,WACvB,yBAEA,aACA,uBAEA,cACA,mBAEA,aACA,OACA,eACA,sBACA,EAEA,IArFA,EADA,EAsEA,EAgBA,EA9EA,KARA,gBASA,EAQA,KASA,sBARA,EAsBA,OACA,EA6CA,EA7CA,UACA,4CASA,IAmCA,EAnCA,OACA,EAkCA,EAzBA,SACA,EAKA,EAoBA,gBACA,OACA,QACA,uBACA,CACA,sFC/FO,wBAIA,6BAIA,uBAKA,0BAKA,6CC+KP,WAnMA,CACA,MACA,gBACA,YACA,aACA,cACA,mBACA,MACA,WACA,MACA,CAAS,CACJ,CACL,YACA,sBACA,kBACA,gEACA,cACA,aACA,MACA,WACA,MACA,CAAS,CACJ,CACL,oBACA,4BACA,wBACA,iBACA,YACA,aACA,MACA,WACA,MACA,CAAS,CACJ,CACL,eACA,uBACA,mBACA,8BACA,YACA,mBACA,MACA,WACA,MACA,CAAS,CACJ,CACL,UACA,oBACA,gBACA,6BACA,cACA,gBACA,MACA,WACA,MACA,CAAS,CACJ,CACL,KACA,eACA,WACA,iCACA,cACA,sBACA,MACA,WACA,MACA,CAAS,CACJ,CACL,UACA,oBACA,gBACA,UACA,IACA,UACA,cACA,cACA,cACA,cACA,gBACA,OACA,gBACA,cACA,gBACA,UACA,KACA,KACA,KACA,gBACA,gBACA,YACA,KACA,KACA,IACA,YACA,YACA,YACA,YACA,CACA,cACA,4BACA,MACA,WACA,MACA,CAAS,CACJ,CACL,SACA,mBACA,eACA,UACA,OACA,aACA,gBACA,gBACA,QACA,GACA,GACA,EACA,CACA,cACA,kCACA,MACA,WACA,MACA,CAAS,CACJ,CACL,KACA,eACA,WACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,gBACA,eACA,OACA,OACA,OACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,eACA,gBACA,CACA,cACA,aACA,MACA,WACA,MACA,CACA,CAAK,CACL,KACA,eACA,WACA,uBACA,cACA,sBACA,MACA,YACA,MACA,CAAS,CACJ,CACL,OACA,iBACA,aACA,kEACA,cACA,aACA,MACA,WACA,MACA,CAAS,CACJ,CACL,WACA,qBACA,iBACA,kBACA,cACA,aACA,MACA,WACA,MACA,CAAS,CACJ,sICzLE,gBACP,MAAW,QAAO,IAClB,mBAAkC,MAAO,QAAe,MAA0B,EAClF,mBAAkC,MAAO,QAAc,IAAS,CAChE,EACO,gBAEP,OADA,aAA4B,WACjB,QAAO,uBAAiC,MAAO,QAAwB,MAAgB,CAClG,EAUO,kBACP,MAAW,OAAe,GAAiB,OAAa,cACxD,EAYO,gBACP,MAAW,OAAe,GAAiB,OAAa,UACxD,EAMO,gBACP,SAA2B,OAAuB,MAClD,EAIO,uBACP,aACA,kBAGA,+CACA,8CAGe,QAAO,8BACtB,MACA,mCACA,mEACA,KACA,MAGA,CACA,aACA,CAAS,CAET,2ECnEA,cAGA,QAFA,UACA,WACA,IAAoB,IAAO,KAC3B,cAA4B,IAAO,MACnC,yCAEA,2CACA,SAEA,uCACA,QAGA,CAEA,8BAA8C,gBAA+B,CAC7E,EAMA,cACA,qCACA,EAMO,cAEP,MADgB,QAAO,IACvB,qCACA,qBAA6C,IAAW,EAIxD,OAHA,iBACA,EAA2B,QAAO,kCAAuD,IAAW,mCAA2C,IAAc,qBAC7J,KACA,CACA,CAAK,IACL,gGCjDqF,SAASmE,EAAEvB,CAAC,CAACrD,CAAC,EAAE,OAAOqD,EAAEA,EAAE,IAAIrD,EAAE,IAAIA,CAAC,gBCArCA,EAAE,CAACC,IAAIA,CAAND,CAAQC,EAAE6H,IAAI,CAAC,EAAE,CAAC,OAAO7H,CAAC,CAACA,EAAEqU,SAAS,C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Y,KAK/C,OAJI,WAAe,MACnB,gBACA,WAA0B,QAAU,GACpC,CAAK,KACsB,SAAG,CAAC,GAAY,EAAI,GAAI,IAAI,4BAAkD,SAAG,CAC5G,EACA,CACA,KACA,MACA,iBACA,+BACA,iBAA0B,OAAoB,wBAC9C,mBACA,wCACA,CAAS,EACT,qBAA8B,OAAoB,CAClD,uBACA,IACA,6BACA,+BAEA,UADA,eAEA,CAAW,CACX,CAAY,8BAEZ,eAAwB,OAAoB,CAC5C,iBACA,sBACA,CAAY,6BAEZ,EACA,CAAO,CACP,GAEA,EAA6B,YAAgB,CAC7C,QACA,4BACA,EAAoC,QAAY,KAChD,EAAqC,QAAY,KACjD,MAA2B,SAAG,CAC9B,EACA,CACA,KACA,MACA,aACA,+BACA,qBACA,wBACA,qBACA,yCACA,oBAEA,aACA,YACA,CAAS,CACT,sBACA,yBACA,qBACA,aACA,6CACA,gBAGA,eACA,mCACA,mBACA,oDACA,kBAEA,CACA,EAEA,GAEA,EAAyB,YAAgB,CACzC,QACA,IACA,iBACA,YACA,kBACA,mBACA,8BACA,kBACA,uBACA,iBACA,oBACA,KACA,CAAM,EACN,SACA,OAEA,MADI,QAAc,GACS,SAAG,CACxB,GAAU,CAChB,CACA,WACA,QACA,UACA,mBACA,qBACA,SAAkC,SAAG,CAC3B,IAAgB,CAC1B,CACA,WACA,8BACA,oBACA,kBACA,uBACA,iBACA,iCACA,SAAsC,SAAG,CAC3B,IAAuB,CACrC,CACA,uBACA,cACA,eACA,KACA,KACA,MACA,OACA,WAGA,kFACA,gFACA,kFACA,mEACA,oEAEA,CACA,EAEA,EAEA,EAEA,GAEA,iBACA,EAAmB,YAAgB,CACnC,QACA,mBAAY,QAAgC,EAC5C,SACA,MAA2B,SAAG,CACxB,IAAS,QACf,CACA,cACA,KACA,MACA,QAAiB,OAAoB,kCACrC,EAEA,GAEA,gBAEA,MAAmB,YAAgB,CACnC,QACA,mBAAY,QAAgC,EAC5C,OACA,MAA2B,SAAG,CAAC,IAAqB,EAAI,gBAAkD,CAC1G,GAGA,cACA,wBACA,CAHA,cARA,eAYA,QAEA,IACA,IACA,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AC5B,EACA,CACA,QACA,cACA,MACA,OACA,mBACA,YAAmB,aAAiB,CACpC,QACA,KAEA,eAAsB,aAAiB,eACvC,mBAA0B,aAAiB,CAC3C,cACA,IAEA,sBAA6B,aAAiB,CAC9C,cACA,IAEA,SAAgC,SAAG,CAC3B,IAAS,KACjB,CACA,uBACA,qBACA,KACA,MACA,OAAmB,0BAAiC,CACpD,YAAuB,OAAoB,oBAC3C,YACA,CAAW,EACX,QAAmB,OAAoB,eACvC,iBACA,sCACA,2BAEA,GADA,iCACA,qBACA,iCAOA,EAJA,CAFA,oBACA,uBACA,UACA,SAEA,sBACA,EACA,CACA,CACA,YACA,CAAW,EACX,OAAkB,OAAoB,oBACtC,EAEA,EAEA,CAAC,EACD,yBACA,EAA2B,YAAgB,CAC3C,QACA,IACA,0BACA,eACA,YACA,YACA,KACA,CAAM,EACN,EAAmB,OAAK,GACxB,OACA,SACA,yBACA,OACA,CAAY,8CAA4C,EAOxD,OANI,WAAe,MACnB,KAEA,OADA,IACA,OAEA,CAAK,UACsB,SAAG,CAC9B,WACA,CACA,QACA,KACA,YACA,SACA,SAAkC,SAAG,CAC3B,IAAS,MACnB,CACA,gBACA,iCACA,KACA,MACA,YAAyB,OAAoB,mBAC7C,EACA,iBADA,kBAEA,CAAa,EACb,QAAqB,OAAoB,iCACzC,UAAuB,OAAoB,iBAC3C,8BACA,mBACA,MACA,CACA,qCACA,eAoCA,WAJA,EAKA,OALA,EAKA,MAJA,QAIA,EAJA,EACA,6DAIA,+DACA,wDACA,aAxCA,uBACA,eACA,qDACA,mBAEA,MADA,2BACA,sBACA,+BACA,2BACA,wBACA,iCACA,SAwCA,cACA,sCACA,EA1CA,mBACA,CACA,oBACA,CACA,CAAa,CACb,EAEA,EAEA,GAEA,gBACA,OACA,iBACA,eACA,kBACA,iBACA,eACA,aACA,gBACA,UACA,EAWA,mBACA,6BACA,eACA,WACA,uBAAsB,EAAe,EACrC,4BAFA,MAIA,sCC7LA,gBAEA,+BACA,GAFA,+BAEA,GACA,GACA,wBACA,wBAEA,GACA,kBACA,oBAEA,SACA,CAAK,EAAY,EAAe,EAAqB,CAAI,OAAgB,IACzE,EAD8B,CAC9B,GAA2C,OAAkB,IAC3D,EACA,IAAiB,CACjB,EACF,EACA,EAAqB,QAAiB,GACtC,EAA+B,IAC/B,IAJ6B,CAI7B,MACA,YAF0D,CAG1D,OACA,IAAU,oEAAuE,EACjF,OACA,MAAgC,UAAc,OAC9C,EAA6B,QAAY,KACzC,EAA2B,OAAc,IACzC,EAAoB,QAAY,IAehC,OAdE,WAAe,MACjB,WACA,aACA,2CAAgE,mBAA2B,EAC3F,2CAAgE,mBAA2B,CAC3F,EACA,mBAEA,OADA,uCAA0D,WAAe,EACzE,KACA,0CAA+D,WAAe,EAC9E,8CAAmE,WAAe,EAClF,8CAAmE,WAAe,CAClF,CACA,CAAG,KACsB,SAAG,CAAC,IAAoB,EAAI,cAA0C,SAAG,CAClG,EACA,CACA,QACA,OACA,eACA,UACA,kBACA,SAAgC,SAAG,CACnC,GACA,CACA,QACA,QAAmB,aAAiB,gBACpC,qBACA,MACA,QACA,UACA,EAEA,EACA,CAAK,CACL,EACA,iBAEA,OAAiB,YAAgB,CACjC,QACA,IAAY,oBAA8B,EAC1C,OACA,MAA2B,SAAG,CAAC,IAAsB,EAAI,gBAAmD,CAC5G,GAEA,eARA,aASA,oBACA,cACA,iBACA,CAAC,EACD,OACA,gBAAU,uCAA+C,EACzD,UACA,MAAyB,SAAG,KAAmB,8BAA0D,SAAG,CAAC,GAAQ,EAAI,2BAA+D,SAAG,CAAC,GAAe,EAAI,kCAAoC,EAAG,EAAG,CACzP,EACA,kBACA,qBACA,cACA,GAAkB,YAAgB,CAClC,QACA,2BACA,YAAY,qBAAyD,EACrE,sBACA,uBACA,MAA2B,SAAG,CAAC,EAAU,UAAa,GAAb,GAAa,uBAAoD,SAAG,CAAC,GAAQ,EAAI,2BAA+D,SAAG,CAAC,EAAU,MAAS,OAAT,CAAS,6BAAwE,SAAG,KAAyB,WAAoC,EAAoB,SAAG,KAA4B,WAAoC,EAAG,EAAG,EAAG,CACxb,GAEA,GAA2B,YAAgB,CAC3C,QACA,0BACA,EAAgB,QAAY,OAC5B,EAAyB,OAAe,MAKxC,OAJI,WAAe,MACnB,gBACA,WAA0B,QAAU,GACpC,CAAK,KACsB,SAAG,CAC9B,GACA,CACA,KACA,MACA,iBACA,mCACA,wBACA,eAAwB,OAAoB,CAC5C,iBACA,sBACA,CAAY,8BAEZ,gCACA,EAEA,GAEA,GAA8B,YAAgB,SAC9C,0BACA,MAAyB,SAAG,CAC5B,GACA,CACA,KACA,MACA,aACA,+BACA,wBACA,gCACA,EAEA,CAAC,EACD,GAAsB,YAAgB,CACtC,QACA,IACA,cACA,UACA,YACA,kBACA,mBACA,8BACA,eACA,kBACA,uBACA,iBACA,oBACA,YACA,uBACA,KACA,CAAM,EACN,UACA,WACA,OACA,OACA,EAAqB,EAAa,GAClC,MAA8C,OADZ,GAC0B,OAC5D,EAAuB,QAAY,OACnC,EAAyB,OAAe,wBACxC,EAAqB,QAAY,IACjC,EAAsB,QAAY,KAClC,EAAiC,QAAY,IAC7C,EAAkC,QAAY,OAC9C,EAA0B,QAAY,UACtC,EAA4B,QAAY,IACxC,IAAqD,GAAY,CAAG,UAAc,CAClF,KAA4D,GAAI,IAAI,oBAAyB,OAC7F,MACA,kBACA,6BACA,yBACA,0CAEA,WAqkBA,WAHkB,EAKlB,QADA,2CACA,OAEA,GAPkB,EAOa,SAD/B,gBAC+B,KAN/B,gCAOA,eACA,uBACA,aACA,gDAEA,qBACA,EAjlBA,sBACA,KACA,2CACA,cACA,YACA,+BACA,oDACA,CAAO,IACP,GACA,yBAEA,EACI,WAAe,KACnB,mCACK,IACD,QAAc,GAClB,MAAqC,aAAiB,IACtD,6BACA,SA6kBA,WACA,KAdA,cACA,MAAU,OAAO,EACjB,KACA,yBAA0C,WAAoB,OAC9D,aACA,SACA,SACA,SACA,iCACA,MACA,CACA,QACA,EAGA,CAAsB,yBACtB,EACA,EAjlBA,mBACK,IACL,MAA2B,SAAG,CAC9B,GACA,CACA,QACA,YACA,YAAqB,aAAiB,CACtC,IACA,wBACA,CAAW,CACX,KAEA,YAAqB,aAAiB,CACtC,IACA,OACA,mBACA,QACA,CAAW,CACX,KAEA,eAAwB,aAAiB,CACzC,IACA,wBACA,CAAW,CACX,KAEA,uBACA,2BAAoC,aAAiB,KACrD,WACA,CAAS,KA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kBACP,mCACA,ECJA,aACA,yDAKA,OACA,OACA,aACA,WACA,EACA,OACA,KACA,KAOA,gBACA,GACA,eACA,iBACA,CACA,EAIA,oBACA,WACA,IACA,GACA,WACA,WACA,+BACA,WAEM,eACN,SACA,OAEA,MACA,EAAM,IACN,KAEA,EAAI,iBACJ,GACA,mBAEA,CAeA,kBACA,MAAS,QAAiB,WAC1B,EAMA,aACA,SACA,MACA,QACA,aACA,oBACA,cACA,WACA,eACA,iBACA,kBACA,0BACA,8BACA,6BAjBA,KADA,EAkBA,GAjBA,8BACA,iBACA,CAAG,CAeH,GACA,UACA,GACA,SAEA,CAEA,uCACA,MACA,IA3BA,EA2BA,mBAAwD,GAAU,iBAkClE,GAtBA,KAzFA,cAJA,WACA,QACA,CAEA,EAyFA,KACA,IAZA,WACA,IA7CA,GACA,IAEA,eADA,GA2CA,UACA,SAEA,WACA,0BAEA,OADA,SACA,CACA,CAAS,EACT,4BACA,KAEA,CAxGA,MAA0B,OAAa,KAwGvC,SACA,KAA+B,OAAW,UAhD1C,iBACA,gBALA,SACA,0GACA,EAkD0C,EA/C1C,IACA,CAAG,GApCH,uBAkF0C,KAC1C,qBACA,QACA,SAEA,wBAEA,EAAuB,OAAe,MACtC,cACA,CAAe,EACf,OAGA,uCACA,eACA,GAA8B,OAAmB,KAEjD,MAGA,yFACA,uCACA,EAAuB,OAAoB,IAC3C,oBAEA,OADA,OAES,aACT,OACA,qBACA,cACA,SACA,mCACW,sBAEX,OADA,OACA,2BACA,CAAW,EACX,kBACA,aAEA,CACA,CACA,CACA,QACA,EACA,cACA,SACA,oBACA,mBAEA,EACA,aACA,OAAS,EAAW,EACpB,EAqBA,KAtBoB,QAuBpB,IACA,EACA,aACA,KACA,SACE,EAAW,WACb,aACA,CAAG,CACH,EACA,aACA,uCACA,wCACA,mCACA,iCACA,EACA,aACA,0CACA,2CACA,sCACA,oCACA,EAOA,GACA,gBAAmB,GAAe,CAClC,YAAe,GAAW,CAC1B,iBAAoB,IAAgB,CACpC,iBAAoB,IAAgB,CACpC,kBAAqB,IAAiB,CACtC,iBAAoB,IAAgB,CACpC,oBAAuB,GAAmB,EA+B1C,EAAW,iBAtFX,YACA,eACA,kBACA,eACA,MAEA,GAiFA,EAAU,gBACV,EAAY,yBACZ,WACA,CAAC,EACD,MAAe,OAAc,CAjD7B,YACA,4BAEA,OADA,UAEA,CAAG,CACH,CA4C0F,CAlC1F,YACA,qBACA,OACA,IAEA,QACA,oBACA,KACA,OACA,mBACA,qBAEA,OADA,OACA,KACK,UACL,mBAGA,GACA,OACA,4BACA,kBAEA,MACI,EAAW,KAEf,IACA,OAEA,GA9EA,WACA,WACA,GC5KA,MAAwC,gBAAU,eAClD,OAAsB,eAAmB,CAAC,EAAa,EAAF,CAAE,IAAQ,EAC/D,QAAa,EACb,EADsB,EACtB,CACA,CAAG,IACH,CAAC,EACD,EAAW,EAAW,OH+KE,EG/KF,IAAgB,CACtC,UACc,OAA6B,gBAC3C,YAAkF,EAAjD,CCZjC,KDYsE,CACvD,EAD0D,CAAS,KCZnE,WAAS,CDaW,8FEL5B,kBACP,UAEA,OADA,2CACA,GAEA,MAAiB,QAAO,IACxB,uBAAwC,OAAQ,QAAQ,MAAmB,EAE3E,OADA,8DACA,GAEA,QACU,QAAgB,YAChB,QAAiB,YAC3B,0BAEA,OADA,SACA,CACA,CAAK,EACL,UAIA,OACA,YACA,YACA,WACA,mBAEA,EACA,gBACA,QACU,QAAgB,CAAC,QAAO,aACxB,QAAiB,CAAC,QAAO,aACnC,OACA,WACA,mBAEA,EAQA,kBACA,YAA8B,OAC9B,IATA,EASA,GATA,EASA,EARA,eACA,oBACA,SACA,eACA,CAAK,KAKL,8BACA,MAGA,mBACA,GACQ,OAAO,wBAEf,EAMO,gBACP,aAA8B,MAC9B,oBACA,uBACA,cACA,CAAK,CACL,EAMO,gBACP,aAA8B,MAC9B,oBACA,sBACA,cACA,CAAK,CACL,EACA,kBAGA,IAFA,EAEA,EADA,6CACA,IACA,GACQ,OAAO,uBAEf,EAKO,gBACP,YAA8B,OAC9B,cACA,EAKO,gBACP,aAA8B,MAC9B,aACA,iEC7GA,IAKA,aACE,WAAe,MACjB,4DAIA,OAHA,4DACA,2DACA,IACA,KACA,OACA,6EAEA,GACA,CACA,CAAG,IACH,CACA,aACA,qCAOA,OANA,4CACA,aACA,uBACA,oBACA,yBACA,6BACA,CACA,mBChCA,MAAe,EAAQ,KAAa,EACpC,EAAqB,EAAQ,KAAmB,CAmChD,WAnC4B,SAS5B,GACA,uBACA,SACA,WACA,oBACA,kBAWA,IATA,mCACA,QACA,OAEA,oBACA,eACA,KAEA,YACA,QACA,WACA,GACA,UAEA,CACA,QACA,CAAG,CACH,kIChCA,yBAEA,uBAEA,aAEA,4BACA,gBACA,mBACA,MACA,MAEA,oBACA,YACA,iBACA,eACA,EAEA,+CAEA,qBAEA,MACA,6CACA,8CACA,EAEA,8BACA,6BACA,6BAEA,kBACA,EACA,uBACA,sDACA,qBACA,mBAEA,oBACA,kBAEA,mCACA,WAcA,cAZA,GADA,UACA,QAIA,eACA,qBACA,oBALA,IAaA,QACA,CAEA,+CAEA,gBAEA,YACA,aACA,SAEA,2DACA,mBACA,QACA,EACA,KACA,CACA,EAEA,yBAEA,qBAEA,iDAEA,YACA,SACA,gBACA,WACA,MACA,aACA,WACA,IACA,UACA,WACA,EACA,uBACA,EACA,eAEA,GADA,EAEA,CACA,uDACA,MAEA,QACA,MACA,CACA,QACA,EAEA,OACA,YACA,qBACA,eACA,EACA,GACA,gBACA,oBACA,oBACA,sBACA,SACA,EACA,GACA,UACA,UACA,sBACA,sBACA,kBACA,oBACA,mBACA,EAEA,EAAwB,eAAmB,OA+B3C,MAA6B,YAAgB,IA+B7C,MACA,aAAY,QAAoB,EAChC,OAAY,eAAmB,aAA6B,QAAa,GACzE,EAEA,qBACA,OACA,8BACA,EACA,eACA,2BACA,SAEA,kBADA,EACA,UACA,mBAFA,EAEA,YAEA,MAJA,EAIA,KACA,EALA,EAKA,CAEA,CAAS,EAET,QACA,EAEA,kCAEA,cACA,KACA,SAAY,QAAqB,EACjC,aACA,8CACA,8BACA,YACA,EAEA,4BAEA,eACA,IACA,OACA,gBACA,GACA,MACA,iBACA,kBAEA,cACA,MAAmB,QAAY,GAC/B,aACI,WAAe,MACnB,mBACA,mBACA,6BACA,oBACa,EACb,WACA,kBACA,CACA,CAAK,cACL,CAgCA,cACA,UACA,SAAY,uCAAmD,MAC/D,MAAyC,UAAc,eACvD,EAAqB,QAAY,KACjC,EAAiC,QAAY,EAC7C,WACA,aACA,eACA,iBACA,oBACA,gBACA,WACA,SACA,CAAK,EACL,EAAkB,QAAY,IAoB9B,OAnBA,YACA,GACA,WACA,mBACA,uBACA,mCACA,GACA,gBACA,KACa,EACb,0BACK,EACD,WAAe,MACnB,aACA,sCACA,KACA,YACA,GACK,KACM,SAAa,+BACxB,CAEA,4BAEA,eACA,MACA,kBACA,UAEA,iBACA,sCAEA,mBACA,GAmBA,cACA,UACA,CAAY,8DAAkE,MAC9E,EAAkB,QAAY,GAC9B,aACA,GACA,WACA,2BACA,SACA,uBACA,wDAEA,CAAS,CACJ,EACL,SAAiC,UAAc,mBAE/C,OADI,WAAe,2BACnB,CACA,CA4LA,kBAlKA,YACA,UACA,MAAY,qDAA8D,EAC1E,sBACA,KACA,UACA,OACA,qEACA,QACA,CAAK,EACL,KACA,UACA,OACA,QACA,CAAK,EACL,EAA2B,QAAY,eACvC,WACA,QACA,kBAA0C,qBAA2B,EACrE,CAAK,GACL,EAAuB,SAAa,+BAAiC,EACrE,SACA,cACA,uBACA,CAAS,CACT,SACA,cACA,4BACA,CAAS,CACT,WACA,cACA,8BACA,CAAS,CACT,cACA,cACA,iCACA,CAAS,CACT,OACA,cACA,qBACA,CAAS,CACJ,SACL,EAAkB,SAAa,OAC/B,OACA,QACA,oBACA,CAAgB,wBAChB,EAAgB,CAChB,gCACA,QACA,WACA,MACA,CAAa,CACb,cACS,EACT,6BACA,QACA,yBACA,MACA,CAAa,CACb,WACA,CAAS,EACT,QACA,qBACA,MACA,WACA,oBACA,sBACA,4CACA,qCACA,EAEA,CAAS,CACT,CAAK,EACL,EACA,cACA,EACA,WACA,EACA,UACA,EAiCA,OAhCI,WAAe,MACnB,qCACA,UACA,qBACA,SACA,cAEA,EAEA,GADA,QACA,GACA,uCACA,wBACA,uBACA,oBAEA,CAEA,OADA,iBACA,KACA,GACA,oBACA,GACA,gBACA,OACA,CACA,CAAK,YACD,WAAe,MACnB,wBACA,WACA,iBACA,MACA,CAAS,CACT,CAAK,UACM,SAAa,OACxB,QACA,YACA,YACA,EAAK,SACL,EA4CA,IAqHA,qBACA,CACA,QACA,OACA,iCAA4E,CAC5E,SACA,CAAS,EAET,GAEA,OACA,uEACA,iEACA,gCACA,mCACA,CAAK,CACL,EAEA,WAAkD,mCAClD,aACA,GAAW,EAAK,GAAG,+BAA6D,GAChF,GAEA,OACA,8BACA,sBACA,0BACA,kBACA,0BACA,CAAC,CAED,eACA,aACA,gBACA,sCACA,mCAEA,kBACA,gCACA,aACA,MACA,OAAoB,QAAsB,EAC1C,MACA,yCACA,SAEA,8BACA,SAGA,UACA,KAGA,MACA,SACA,OACA,KAGA,CACA,CAEA,EAEA,gBACA,gBAGA,OAFA,iBACA,SACA,CACA,EAEA,qBAEA,0BAEA,MACA,MACA,SAEA,0BACA,mBACA,wDACA,EAEA,UAEA,sBAEA,yBAEA,OACA,SACA,UACA,EACA,GAAsB,qBACtB,WACA,qBACA,eACA,QACA,qCACA,gBACA,OAAqB,2BACrB,CACA,oCAEA,2CACA,+BACA,EACA,CAA4B,6BAC5B,EACA,CACA,CACA,QACA,EAEA,QACA,WACA,UACA,EACA,2BACA,0CACA,CACA,WACA,eAEA,MACA,GAEA,8BACA,SACA,8BACA,SACA,OACA,OACA,kBACA,KACA,CAEA,CAEA,sBACA,EACA,CACA,QACA,UACA,EAEA,wBACA,QAAY,6GAAsG,KAClH,SACA,gBACA,SAEA,eACA,MACA,sBACA,mCACA,mBAEA,EACA,KACA,OACA,OAEA,aACA,YACA,MACA,oBACA,QACA,4BACA,qBACA,wCACA,WACA,OACA,WACA,UACA,MACA,cAEA,EACA,KACA,6BACA,GACA,EApBA,QAoBA,WACA,UACA,mBACA,oBACA,UAAgB,aAAiB,KACjC,CAAgB,qBAChB,MACA,OACA,MACA,gBACA,UACA,MACA,oBAEA,IAEA,OADA,KACA,CAGA,CACA,2BACA,EACA,EACA,YACA,QACA,kBAUA,CACA,iCACA,+CACA,iBACA,iBACA,eACA,KACA,gBACA,EACA,UACA,qBAEA,eACA,KACA,gBACA,EACA,UACA,oBAEA,KA7BA,CACA,uBACA,SACA,YACA,cAEA,YACA,aAEA,CAqBA,YACA,uCACA,IAEA,OADA,gBACA,CAGA,CACA,WACA,IACA,6BACA,YACA,QACA,eACA,kBACA,eACA,kBACA,YACA,yBACA,IAEA,OADA,gBACA,CAGA,CACA,gBACA,IAAgB,mBAA+B,MAC/C,uBACA,MACA,eACA,UACA,MACA,mBAEA,IAEA,OADA,KACA,CAGA,CACA,MACA,SAEA,SADA,aACA,GACA,OACA,MACA,KACA,4BAEA,IAEA,OADA,aACA,CAGA,MACA,SACA,SACA,gBACA,aACA,MAEA,8BACA,IACA,GACA,KACA,iBACA,EACA,aACA,GACA,SAGA,CACA,WACA,MACA,MACA,MAEA,IACA,QAGA,EAGA,OADA,MACA,CACA,EAEA,cACA,KACA,KACA,CAEA,gDAEA,mBACA,UACA,gBACA,QACA,WACA,CAGA,gBACA,kBAGA,SACA,cAEA,+BACA,GANA,GASA,cACA,QACA,KACA,CAWA,eACA,GAVA,cACA,QACA,SACA,eACA,gBACA,IAEA,yBAIA,yBAEA,aACA,uBACA,EAkBA,iBACA,uBACA,EACA,KACA,IACA,KACA,0BAtBA,KACA,2BACA,IACA,UACA,qBAEA,QACA,EAeA,KACA,aACA,OASA,OARA,GACA,YAEA,OACA,aACA,kBAtBA,YACA,eACA,iCACA,SAGA,QACA,EAeA,KACA,oBAEA,CACA,CAEA,iBACA,OACA,GAwCA,eACA,UACA,SAAY,8DAA4E,EACxF,MAAgC,UAAc,sBAC9C,EAAgB,QAAY,6BAC5B,EAAsB,QAAY,IAClC,EAAkB,QAAY,IAC9B,EAAsB,QAAY,IAClC,aACA,YACA,sBACA,GACA,gBACA,GACA,OAAiB,gBAA+B,IAChD,sBACA,qBACA,mBACA,KACA,mBAEA,CACA,CAAS,CACT,yBACA,CAAK,EACL,MAAyB,aAAiB,KAC1C,aACA,wBACA,CAAK,QAwJL,OAlEI,WAAe,MAMnB,GALA,mBACA,eACA,wBACA,gBACa,EACb,WACA,iCACA,2BACA,uBACA,+BACA,oBACA,2BACA,GACA,YACA,GACA,kBACA,uBACA,aACA,EACA,2BACA,0BACA,wBACA,2BACyB,EAEzB,CAAiB,MAEjB,CACA,qBACA,GACA,MACA,2CACA,gCACA,6HACA,wBACA,iCACA,CAAyB,EAEzB,EAEA,yBACA,OACA,QAAsB,iBAAwB,CACrC,EACT,gBACA,oBACA,mBACA,8BACA,QAEA,OADA,UACA,CAGA,CAAa,EACb,kBACA,iBACA,YACA,CAAK,UACD,WAAe,MACnB,2CACA,KACA,kCACA,eACA,GACK,WACL,CACA,KAAc,aAAiB,CA3G/B,QACA,0BACA,UACA,kBACA,KACA,KACA,4BACA,OACA,MACA,CAAS,IACT,EAiG+B,SAC/B,KAAc,aAAiB,CAjG/B,QACA,0BACA,UACA,kBACA,KACA,KACA,4BACA,OACA,MACA,CAAS,IACT,EAuF+B,SAC/B,QAAiB,aAAiB,CA/IlC,QACA,cACA,2BACA,yBACA,iCACA,KACA,KACA,4BACA,UACA,CAAS,CACT,EAqIkC,SAClC,OAAgB,aAAiB,CA3JjC,QACA,cACA,2BACA,kCACA,iCACA,KACA,KACA,4BACA,UACA,CAAS,CACT,EAiJiC,SACjC,OAAgB,aAAiB,CAtIjC,IACA,+BACA,2BACA,KACA,KACA,+BACA,sBACA,4BACA,MACA,CAAS,CACT,EA4HiC,SACjC,OAAgB,aAAiB,CA5HjC,UACA,cACA,6BACA,yBACA,mCACA,KACA,KACA,4BACA,OACA,UACA,CAAS,CACT,EAiHiC,SACjC,OAAgB,aAAiB,CA3FjC,QACA,WACA,6BACA,wDACA,KACA,UACA,4BACA,OACA,MACA,CAAS,OACT,EAiFiC,SACjC,QAAiB,aAAiB,CAjFlC,IACA,aACA,oBACA,UACA,UACA,oCAAwF,OACxF,EA2EkC,SAClC,OAAgB,SAAa,oBAC7B,KACA,qBACA,IAAS,MACT,CACA,CAEA,YACA,SAiBA,OACA,gBACA,QACA,CAAS,CACT,KApBA,IACA,eACA,iBAEA,EAiBA,UAhBA,IACA,UACA,CACA,iBACA,oBACA,CAAa,GAYb,YATA,KACA,KASA,CACA,EAEA,kBAEA,iBACA,gBACA,aAEA,cACA,iCAEA,qBACA,iBACA,uBACA,SAEA,gBACA,WACA,kBACA,SAEA,cACA,WACA,eACA,YACA,mCACA,SACA,MACA,QAEA,CACA,CACA,QACA,CAEA,qCAEA,iBAEA,0BAEA,OACA,eACA,WACA,SAGA,QACA,EAEA,kBAA0C,EAC1C,uBACA,WACA,eACA,qBACA,oBACA,+BACA,eAEA,SACA,UAIA,QACA,CAwBA,eAvBA,kBACA,uBACA,WACA,eACA,qBACA,mBACA,MACA,SACA,yBACA,YACA,CAA4B,aAG5B,eAAkG,WAIlG,oBAIA,SACA,EACA,WAEA,qBAAgC,6BAAwC,QACxE,EACA,EACA,OACA,IACA,EACA,GACA,EACA,QACA,YACA,EACA,KACA,EAEA,eACA,mBACA,KACA,QAEA,KACA,iBAEA,MACA,mCAA+C,EAAO,MAEtD,KACA,iBAEA,oCACA,CAEA,mBACA,SACA,gBACA,YACA,eACA,CACA,OACA,eACA,aACA,SACA,2BACA,CACA,EAEA,WACA,EACA,KACA,SACA,KACA,WACA,eACA,QACA,EAEA,uBACA,eACA,cACA,kBACA,kCACA,eACA,4DAEA,eACA,aACA,OACA,OACA,aACA,aACA,WACA,YAEA,mBACA,aACA,WACA,OACA,QACA,MACA,EAEA,mBACA,gBACA,kBACA,SACA,SACA,+BACA,MAEA,GAFqB,GAErB,OACA,OACA,OACA,OACA,EAEA,OACA,CACA,OACA,MACA,CACA,CAEA,oBACA,aAGA,gBACA,QAEA,0BACA,GAEA,iCACA,GAKA,qCAEA,QACA,gBACA,0BACA,mBACA,EA2/BA,gBAA2B,EAC3B,MAAyB,QAAY,SACrC,EAAoB,QAAY,SAChC,MAAyC,UAAc,EACvD,WACA,gBACA,6BACA,eACA,gBACA,sBACA,WACA,cACA,cAAuB,CACvB,gBAAyB,CACzB,mBAA4B,CAC5B,mBAAkC,CAClC,wBACA,iCACA,OACA,gBACK,CACL,YACA,YACA,YAjhCA,IAAqC,EACrC,IAsCA,EAtCA,GACA,MACA,IACA,EACA,GACA,cACA,WACA,6BACA,gBACA,eACA,gBACA,sBACA,WACA,gBAAyB,CACzB,cAAuB,CACvB,mBAA4B,CAC5B,mBAAqC,CACrC,uBACA,EACA,KACA,qCACA,iCAEA,qBACA,GACA,KACA,GACA,UACA,SACA,QACA,EACA,GACA,cACA,iBACA,gBACA,cACA,aACA,EAEA,IACA,GACA,WACA,eACA,oBACA,iBACA,gBACA,WACA,SACA,EACA,GACA,YACA,WACA,UACA,EACA,YACA,sBACA,yBACA,SACA,gBACA,iBACA,EACA,YACA,gCACA,iBACA,sBACA,cACA,eACA,cACA,SACA,CAAiB,CAEjB,CACA,EACA,UACA,aACA,uCACA,qCACA,GACA,GACA,0BACA,yBAEA,CAAa,EACb,cACA,oCACA,mCACA,CAAa,EAEb,EAmCA,UACA,gBACA,cACA,gBACS,CACT,EAQA,cACA,aACA,MACA,0BACA,OACA,qBACA,EACA,oBACA,OACA,YACA,CACA,EACA,gBACA,SACA,KACA,GACA,MACA,EACA,gBACA,iBACA,WACA,oBACA,UACA,YACA,YACA,wBACA,iBAEA,sBACA,6BACA,KACA,oBACA,sBACA,4BACA,EACA,GACA,eACA,MACA,CACA,MACA,2BACA,IACA,uBACA,gCACA,EACA,GACA,iBACA,MAEA,CACA,qBACA,CACA,aACA,EACA,cACA,oBACA,aACA,MACA,cAYA,GAXA,gBACA,kBACA,eAGA,gBACA,OACA,EACA,gBACA,gBAEA,gBACA,OACA,GACA,OACA,KACA,oBAAgE,GAAU,EAAI,CAC9E,gBACA,MACA,EACA,GACA,KACA,MAEA,eACA,CACA,EACA,YACA,QACA,gGAEA,OADA,KACA,CACA,EACA,YACA,WAAgB,GAAS,WACzB,KACA,gBACA,YACA,GACA,gBACA,cACA,MAGA,WAEA,QACA,EACA,eACA,QACA,CAAK,IACL,gBACA,WACA,MACA,OAAwB,QAAoB,EAC5C,MACA,0BACA,iBACA,uBACA,UAEA,mEAIA,GAHA,uBACA,OAEA,YACA,WACA,GACA,KAGA,IACA,aACA,EACA,qBACA,6BACA,oBACA,CACA,MACA,cACA,CACA,CACA,gBAaA,sBACA,gBACA,aACA,kBACA,WACA,EACA,KACA,EACA,KACA,CAAwB,OACxB,EACK,MAEL,WAAoD,IACpD,aACA,IACA,MACA,WACA,IACA,YACA,eACA,EACA,eACA,GACA,EACA,UACA,8DAEA,OACA,SACA,gBACA,oDACA,4BACA,yBACA,cACA,WACA,wBAGA,yCAGA,SACA,gBAGA,cACA,YACA,eACA,OACA,QAAsC,KAAgB,CAC7B,GAIzB,CACA,gCACA,sCACA,uBACA,EACA,aACA,gBACA,WACA,KAAiC,EAAK,GAAG,EAAS,EAClD,QACA,kBACA,MACA,WACA,MACA,UACA,QACA,CACA,EACA,YAA+C,IAC/C,aACA,iBACA,OACA,SACA,GACA,cACA,OACA,QAA0B,KAAgB,CAC7B,EACb,4BACA,eACA,cACA,OACA,oBACA,cACA,CAAiB,GAIjB,eAEA,SADA,UAGA,sBAA0D,KAAe,EACzE,eACA,sBACA,QAAsB,KAAgB,CAC7B,CACT,EACA,aACA,WACA,eACA,SACA,KACA,SAEA,MACA,EACA,iBACA,0BACA,cACA,EACA,UACA,EACA,EACA,MAVA,qBAWA,wCACA,aACA,aACA,gBACA,YACA,6CACA,WACA,SACA,GACA,4BACA,SAEA,eACA,iBAEA,kBACA,WAOA,GANA,GACA,eACA,OACA,YACA,QAA8B,KAAgB,CAC7B,EACjB,EASA,OARA,YACA,qBACA,IAEA,GACA,KAGA,GACA,cAA2C,eAAuB,EAAe,EAGjF,GADA,qBAA8D,KAAe,EAC7E,YACA,WAAwB,GAAS,aAEjC,GADA,KACA,GACA,uBACA,oBACA,UACA,SACA,MACA,CACA,MAEA,UACA,8DACA,OACA,KACA,IACA,EACA,KAEA,WACA,mBAIA,IACA,WACA,cACA,WAEA,CACA,EACA,WACA,0BAEA,OADA,UACA,CAGA,EACA,eAA6C,QAC7C,EACA,EACA,WACA,eACA,wBACA,OACA,IACA,mBACA,CACA,MACA,EAKA,CAJA,sCACA,aACA,wBAA4E,OAAqB,EACjG,CAAa,qBACb,gBAGA,eAaA,OAXA,cACA,UACA,yBACA,GACA,CAAoB,OAAM,CAC1B,2BAA+C,GAAU,EAAI,CAC7D,gBACS,EACT,eACA,IACA,oBACA,CACA,EACA,OACA,OACA,gBAEA,YACA,EACA,KACA,OACA,gBACA,EACA,YACA,6BACA,kCACA,yBACA,uCACA,qCACA,EAAK,CAQL,aACA,cAA0C,MAAQ,SAAU,KAG5D,CAAgB,6BAFhB,kBAGA,cACA,KACA,KACA,KACA,CAAS,EACT,cACA,OACA,gBACA,UACA,CAAS,EACT,uCACA,EAMA,UAA0C,IAC1C,4BACA,kBACA,kBACA,cACA,QACA,SAEA,4BACA,iCACA,qCACA,oBACA,yBACA,oBACA,oBACA,QAEA,eACA,QAAsB,KAAgB,CAC7B,EACT,cACA,KACA,eAAwC,CAAI,aAA5C,EAAkE,CAA1B,EAExC,kBACA,EACA,cAAoC,0BAAgC,IACpE,gBACA,GACA,qBACA,yCACA,mCAEA,EACA,UAAwC,IACxC,aACA,+BAuBA,OAtBA,OACA,QAA2B,CAC3B,IACA,iBAAqD,UAAO,GAAQ,CACpE,OACA,SACA,KACa,CACJ,EACT,eACA,EACA,IACA,QACA,uBACA,WACA,WACA,MACA,CAAa,EAGb,gBAEA,CACA,KACA,CAAoB,iCACpB,EAAoB,CACpB,iBACA,CACA,sBACA,cACA,cACA,0BACA,0BACA,qBACA,EACA,EAAoB,CACpB,OACA,YACA,UACA,QACA,MACA,QACA,SACA,kBACA,oBACA,kDAGA,QACA,gBACA,IACA,iBACA,gBAGA,OACA,IACA,QACA,KACA,CACA,SACA,aACA,KACA,yBAA0F,KAC1F,CACA,KAA2C,mBAA2B,EAEtE,CAAoC,MACpC,CAAyB,CACJ,EACrB,iBACA,KAEA,YAAiD,EACjD,IACA,gBAEA,0CACA,2BACA,gBAEA,CAAa,CAEb,EACA,2BACA,gBAiBA,wBACA,EACA,IACA,qCACA,wBAEA,WACA,mBACA,wBACA,cAMA,GAHA,cACA,eACA,CAAS,EACT,YACA,WAAoB,YAAiB,SACrC,YACA,GACA,MAEA,WAGA,GADA,oBACA,aACA,cACA,SACA,CAAa,EACb,IACA,YACA,CACA,SACA,GACA,CACA,MAEA,GACA,SAAkC,YAAsB,IAExD,KACA,eASA,GAPA,cACA,eACA,gBACA,mCACA,4BACA,gBACS,EACT,EACA,OAEA,EA0BA,UAAqD,IACrD,eACA,OACA,OACA,QAIA,GAHA,qBACA,MAEA,eACA,qBAKA,wBAJA,YACA,WACA,qBACA,GAEA,mBACA,cACA,iBAGA,CACA,WACA,sBACA,aACA,YACA,+BACA,aACA,SACA,SACA,wBACA,MACA,UACA,KACA,CACA,CACA,CACA,CAEA,IACA,CACA,qBACA,oBACA,KACA,GACA,KACA,cACA,QAA0B,KAAW,CACxB,EACb,eACA,QAA0B,KAAW,CACxB,CACb,CACA,GACA,wCACA,gBACA,cACA,iBACA,cACA,YACA,QACA,EACA,QACA,YACA,iBACA,oBACA,6BACA,cACA,8BACA,cACA,EACA,YAEA,aACA,UACA,wBACA,WACA,iCACA,cAEA,cACA,GACA,kBACA,uBACA,QACA,cACA,uBACA,QACA,YACA,cACA,EAAgC,CAChC,4BACA,gBACA,EAAoB,CACpB,+BAAwE,CACxE,+CACA,qBAEA,eACA,CAAS,CACT,EACA,kBACA,KACA,KA6BA,OACA,SACA,YACA,cACA,iBACA,gBACA,YACA,iBACA,YACA,YACA,eACA,iBAroBA,KACA,wBACA,YACA,IACA,WACA,2BACA,gBACA,KACA,CACA,iBACA,EA4nBA,kBAp0BA,yBACA,sBAEA,GADA,YACA,0BACA,6BACA,YACA,CACA,MACA,8BACA,oCACA,oBACA,cACA,CACA,oBACA,GACA,qCACA,2CACA,0BACA,CACA,eACA,wBAEA,cACA,OACA,eACA,0BACA,gBACA,kBACa,CACb,MAEA,QAEA,EAoyBA,wBACA,eAjnBA,uDAknBA,UACA,oBAvBA,wBACA,2BACA,qBACA,cACA,YACA,CAAa,CACb,CAAS,EAkBT,iBA9BA,IACA,GACA,KACA,KAEA,EA0BA,aAnPA,IACA,OACA,uBAAmC,EAAU,EAC7C,YACA,aACA,IACA,4BACA,0BACA,sBACA,2BACA,CAAyB,EAGzB,CAAa,OAEb,EAqOA,YACA,kBACA,WAryBA,IACA,WACA,cACA,gBACA,UACA,CAAS,CACT,EAgyBA,cACA,QACA,CAAa,CACb,kBACA,QACA,CAAa,CACb,aACA,QACA,CAAa,CACb,kBACA,OACA,CAAa,CACb,qBACA,QACA,CAAa,CACb,aACA,QACA,CAAa,CACb,kBACA,OACA,CAAa,CACb,iBACA,QACA,CAAa,CACb,sBACA,OACA,CAAa,CACb,eACA,QACA,CAAa,CACb,oBACA,GACA,KACA,SAEA,CAAa,CACJ,CACT,WACA,YACA,gBACA,MA/ZA,YACA,oBACA,wBACA,CAAS,EACT,UA4ZA,YACA,aACA,SACA,WA9NA,OAA0C,IAC1C,SACA,kBACA,iBAGA,qBACA,0BAEA,eACA,sBAEA,cACA,oBACA,yBACA,eACA,KAEA,eACA,eACA,gBAEA,cAAmC,KAAe,EAElD,EAuMA,YA5bA,IACA,GACA,gCACA,cACA,oBAAiD,CACxC,CACT,EAubA,cACA,YACA,SAlGA,OAAwC,IACxC,aACA,UACA,MACA,aACA,UACA,MACA,UACA,UACA,gBACA,aACA,WAEA,CACA,EAqFA,gBACA,CACA,EAsDA,GACA,WACA,GAEA,wBAsDA,OArDA,aACA,GACA,0BACA,SACA,8CACA,GAAkC,gBAAuB,CAEzD,CAAS,CACJ,EACD,WAAe,gDACf,WAAe,MACnB,8BACA,oBACA,eACA,wBACA,SACA,CAAiB,CAEjB,CACA,CAAK,gBACD,WAAe,MACnB,mCACA,2CACA,mBACA,OAA0C,SAG1C,uBAEA,CAAK,eACD,WAAe,MACnB,UACA,sBAEA,CAAK,eACD,WAAe,MACnB,iBACA,iBACA,mBAEA,iBACA,kBACA,wBAA2C,gBAAuB,GAElE,oBACA,CAAK,EACD,WAAe,MACnB,oBACA,yBACA,oBACA,CAAa,CACb,CAAK,yBACL,2BACA,oFCtmFA,YACA,OACA,cACA,gBACA,EACC,EACD,kBAkBA,CACA,cACA,WACC,EACD,MAA4B,UAAc,IAC1C,MACA,EAAuB,QAAY,IACnC,EAAuB,OAAc,IAOrC,OANE,WAAe,MACjB,gBACA,KACA,YAEA,CAAG,UACH,CACA,EAjCA,aAAyE,aAAuB,EAChG,aACA,QACA,EAAuB,OAAc,IAarC,SAZmB,aAAiB,CACpC,IACA,MAEA,2BADA,EACA,KACA,WACA,EAAQ,IACR,IAEA,CAAK,CACL,WAGA,mBC1BA,MAAiB,EAAQ,KAAe,EACxC,EAAa,EAAQ,KAAU,CADP,CA+BxB,UA9BoB,SA0BpB,GACA,gBACA,8BC5BA,qCAA6C,CAAE,SAAa,EAAC,EAC7D,gBAAwB,QAIxB,kBAAwB,CAHxB,YACA,6CACA,sCCJA,sCASA,MARA,8BACA,iCAAiD,IAAO,IAExD,aADA,eACA,2CACA,YAEA,QACA,GACA,qBACA,EACA,EAAgB,EAAQ,KAAkB,EAC1C,EAAsC,EAAQ,KAAqC,CAD5D,CAEvB,EAA4B,EAAQ,KAA2B,CADlB,CAE7C,EAAwB,EAAQ,KAAuB,CADpB,CAEnC,EAAc,EAAQ,KAAa,CADJ,CAE/B,KACA,GACA,EAHqB,GAGrB,OACA,wBACA,oCACA,0BACA,oBACA,UACA,oBACA,kBACA,UACA,UACA,cACA,qBACA,EACA,GACA,OACA,aACA,mBACA,cACA,WACA,MACA,WACA,UACA,MACA,MACA,QACA,YACA,CACA,aACA,cACA,kBAKA,gBACA,aAAgD,MAChD,mBACA,cACA,qDAEA,QACA,CACA,cACA,SACA,0BACA,SAEA,gBACA,OAhBA,kBAA+C,qBAA2C,EAkB1F,sBACA,WACA,kCACA,CAAK,EACL,gCACA,EACA,IAEA,CACA,CACA,0BACA,oBACA,EACA,yBACA,WACA,aACA,EACA,sBACA,kBACA,aACA,QACA,cAEA,EACA,2BACA,iBACA,MACA,0EAEA,2BACA,gDAEA,gBAEA,GADA,SAAqC,QACrC,OACA,EACA,4BACA,WACA,cACA,eACA,EACA,gCACA,aACA,IACA,EACA,UACA,0ECrEO,SAASC,EAAiBxf,CAAI,CAAEyF,CAAQ,CAAEhG,CAAO,EACtD,IAAMggB,EAAO,CAAC1a,CAAAA,EAAAA,EAAAA,CAAAA,CAAMA,CAAC/E,EAAMP,GAASI,IAC9B,CAAC6f,EAAW5Z,EAAQ,CAAG,CAC3B,CAACf,CAAAA,EAAAA,EAAAA,CAAAA,CAAMA,CAACU,EAASC,KAAK,CAAEjG,GAASI,IACjC,CAACkF,CAAAA,EAAAA,EAAAA,CAAAA,CAAMA,CAACU,EAASE,GAAG,CAAElG,GAASI,IAChC,CAACuS,IAAI,CAAC,CAACxQ,EAAGqB,IAAMrB,EAAIqB,GAErB,OAAOwc,GAAQC,GAAaD,GAAQ3Z,CACtC,mBCtDA,MAAe,EAAQ,KAAY,EACnC,EAAqB,EAAQ,KAAmB,CAD1B,CAEtB,EAAe,EAAQ,KAAY,CADP,CAoB5B,UATA,gBACA,uBACA,gBACA,cACA,WACA,WACA,CAAG,CACH,EAPA,qDKZA,wBJAO,8BACA,uCCAA,EAAgB,cAAmB,GCI1C,aAEA,EAIA,EAAmB,YAAgB,eACnC,MAAc,QAAY,OAC1B,EAAa,UAAc,EAC3B,kBACA,iBACA,oBACA,CAAK,gBACL,qKAAyY,QAAM,iJAE/Y,EAAuB,OAAY,QACnC,EAAyB,QAAQ,CAAC,QAAQ,GAAG,OAC7C,OAAY,eAAmB,CAAC,UAAc,MAC9C,GAAoB,eAAmB,CAJvC,EAIuC,CAAY,QAAS,EAAS,uGAA0L,EAC/P,EAAwB,cAAkB,CAAC,UAAc,SAAiB,QAAQ,CAAC,QAAQ,GAAG,KAAqB,MAAmB,GAAO,eAAmB,CANhK,mBAM4K,QAAQ,GAAG,IAAoB,kBAAyC,KACpP,CAAC,EACD,gBACA,WACA,mBACA,QACA,EACA,cACA,UAAe,EACf,UAAe,CACf,EChCA,GD8BiC,CC9BjC,WD+BiC,CC/BjC,EACA,kBAAqC,QAAM,gBAC3C,MACA,kFAEA,eACA,MACA,wCAEA,OAAW,eAAmB,GAAS,QAAQ,GAAG,IAClD,EACA,qBEaO,iBACP,QACA,OACA,OACA,gBACA,SACA,cA9BA,aACA,YACA,qCACA,mBACA,MDDA,GAIe,GCHC,CDGgB,CCChC,MAJwB,CACxB,GACA,0BAEA,CACA,GAqBA,OApBA,EAUA,CARA,EAFA,EAqBA,GAnBA,WAEA,qBAiBA,EAdA,sCAcA,IAXA,EAYA,EAVA,CADA,yDACA,cAWA,CAEA,GACA,CAAS,CACT,oBAEA,QACA,0CACA,OAEA,CAAS,CAET,ECpCO,aACP,MAAgB,IAChB,eADmC,CACnC,KACQ,WAAe,YAEvB,OADA,SACA,WACA,UACA,CACA,CAAS,QACT,CACA,ECdO,aACP,MAAmB,IAMnB,OALA,OADqC,EACrC,GAGA,OADA,EADA,oBAEA,IACA,CAEA,EEfO,GACP,OACA,MACA,QACA,KACA,EACA,cAA2B,8BAC3B,cACA,6CACA,8CACA,4CACA,gDACA,sBACA,EACO,cAEP,GADA,aAA8B,YAC9B,2BACA,SAEA,WACA,uCACA,oBACA,OACA,UACA,SACA,WACA,6BACA,CACA,ECxBA,EAAY,IACL,UADmB,aAK1B,oBACA,uCAEA,OADA,aAA8B,YAC9B,eAA0B,qBAAqB,QAAK,oCAA6C,kDAA8D,KAAK,yBAAsC,qCAA8C,mCAAmC,iBAC3R,oCAAmE,GACnE,cACA,oCAAoD,mCAAsC,qCAA0C,oBAAoB,mBAAmB,kDAA8D,SACzO,4DAA0F,GAC1F,CACA,gBACA,eAAyB,mBAAmB,EAAkB,GAAK,aAAL,GAAK,2BAAuD,KAAK,mBAAmB,EAAkB,GAAK,aAAL,UAAK,2BAA8D,KAAK,mBAAmB,EAAkB,aAAe,EAAkB,CAAjC,EAAsC,aAAL,KAAK,WAAsC,KAAK,mBAAmB,EAAkB,aAAe,EAAkB,CAAjC,EAAsC,aAAL,YAAK,WAA6C,KAAK,6BAA0C,gBAAgB,sBAAsB,8BAAwB,KAAK,IAC5kB,EACA,aACA,sDACA,sBACA,EACO,aACH,WAAe,YAEnB,OADA,iDACA,WACA,WACA,MACA,iCAGA,0CAEA,CACA,CAAK,IACL,EAIO,cACP,uEACA,IAMA,MAAc,SAAa,YAAe,OAAO,EAAW,GAAY,MAAZ,OACjD,eAAmB,IAAU,mCAAgF,CACxH,EEpDA,KACA,8BACA,IACA,8BAA8C,YAC9C,eAEA,OADA,KACA,EACA,CAAa,CACJ,EAET,oCAEA,sCACA,CACA,SACA,IACA,CAEO,YAAsC,YAAiB,ECd9D,cACA,2BACA,SAEA,iCACA,MAEA,iBAEA,4BAXA,aAWA,EAXA,SAWA,iBACA,EAGO,gBACP,sBACA,IACA,GAMA,GAJA,yDACA,WAEA,OACA,CACA,aACA,IADA,SAEA,QAEA,CACA,gBACM,oBACN,QACA,EAiBA,gBACA,cAtCgD,EAsChD,EAtCgD,aACA,EAqChD,EArCgD,YAsChD,EACA,gBACA,cAlBA,CADA,2BAmBA,EAnBA,aAKA,CAIA,CADA,aAWA,EAXA,YAWA,EAXA,YAYA,EASO,sBACP,IATA,EASA,GATA,EASA,qCAHA,MAGA,GAHA,gBAIA,MAEA,WACA,gBACA,KACA,MACA,IACA,IACA,GACA,oBACA,EADA,UACA,IACA,QACA,SACA,KACA,MAIA,EADA,wBACA,OAGA,cAEM,KAEN,uBAEA,2BAUA,OARA,GACA,4BACA,KAEA,IACA,8BACA,OAEA,CACA,ECpGO,cACP,4FAEO,cAAoC,2BAC3C,cACA,mCACA,EAGA,IACA,KCbA,OZYA,QYZe,CAAuB,EAAE,CDcjC,YACP,MAA6B,CCf+B,CDe/B,CCfgC,KDepB,KACzC,EAAwB,QAAY,QACpC,EAAqB,QAAY,GACjC,EAAa,UAAc,SAC3B,EAAgB,UAAc,CAAC,EAAc,IAC7C,EAAoB,MADyB,EACb,IAC5B,WAAe,YACnB,WACA,CAAK,MACD,WAAe,YACnB,YACA,8DACA,MAA0B,QAAa,+DAEvC,OADA,sBAA4C,yDAA6D,EACzG,WACA,iEACA,sBAAgD,4DAAgE,CAChH,CACA,CAEA,CAAK,uCACL,MAA4B,aAAiB,eAC7C,oEACA,gCAEA,IAIA,EAJA,OACA,YACA,kCACA,kCAEA,WACA,kCAEA,4CACA,SAEA,MAA2C,EAAuB,KAClE,MACA,SAUA,CAZkE,EAIlE,EACA,KAGA,kBACA,EAA2C,EAAuB,MAGlE,GACA,SAKA,GATkE,CAMlE,yCACA,cAEA,GACA,SAEA,mBACA,OAAe,EAAY,qBAC3B,CAAK,KACL,EAAwB,aAAiB,aAEzC,gCAIA,iBALA,EAKA,EALA,GAKA,EALA,GAMA,mCAxEA,EAwE2E,gBAN3E,EAM2E,kBAN3E,EAM2E,QAN3E,EAM2E,0BAxEtC,CAArC,EAwE2E,MAxEtC,CAwEsC,CAxEtC,MAwEsC,CAxEtC,YAwEsC,CAxEtC,IAwEuK,KAE5M,gBARA,EASA,YATA,EAUA,iBAEA,MACA,CAEA,OACA,6BACA,OACA,gBACA,mBAA0C,4BAAqC,EAC/E,cApBA,EAoBA,+BAEA,cACA,kBAGA,EACA,CAAK,KACL,EAAuB,aAAiB,mBACxC,OAAsB,uDAsCtB,GAEA,IADA,WACA,UACA,0BACA,SACA,UAEA,eAEA,QACA,EAhDsB,IACtB,kBACA,sBACA,uCAA0F,aAAqB,CAC/G,CAAS,GACT,CAAK,KACL,EAA2B,aAAiB,aAC5C,eACA,gBACA,CAAK,KACL,EAAsB,aAAiB,aACvC,8CACA,CAAK,KACL,EAA0B,aAAiB,aAC3C,8CACA,CAAK,KACD,WAAe,YAUnB,OATA,UACA,gBACA,kBACA,iBACA,oBACA,CAAS,EACT,oCAA0D,GAC1D,OADoE,EACpE,+BAA8D,GAC9D,OADwE,EACxE,gCAAkE,GAClE,OAD4E,IAE5E,uBAA2D,aAAwB,EACnF,uCAAiE,GACjE,OAD2E,EAC3E,kCAAqE,GACrE,OAD+E,EAC/E,mCAAyE,EACzE,CACA,CAAK,KACL,CAHmF,GAGnF,8BACA,OAAY,eAAmB,CAAC,UAAc,MAC9C,EAAgB,eAAmB,IAAU,OAjIT,mCAiIS,EAjIT,GAAiD,sBAAsB,mCAiI9D,EAjI8D,GAA0C,qBAAqB,IAiI7H,CAA2B,OACxE,EAA0B,eAAmB,CAAC,EAAe,CAAI,YAAJ,KAAI,CAAwB,OACzF,GXjIA,GaZA,MAAwB,YAAgB,eAAyB,OAAQ,eAAmB,CAAC,EAAc,QAAQ,GAAG,IAAW,cAAmB,CAAO,CAAE,GAAM,EAAR,EAC3J,WAA+B,EAAY,WAC3C,MAAe,iBAAiB,EAAC,oGCwOjBgN,qCAAAA,OA9OS,eACO,WACG,OAiGnC,SAASwE,EACP3I,CAAoC,EAEpC,YAA0CgD,IAAlChD,EAAsBpO,OAAO,CAwBvC,SAAS8X,EAAOhR,CAAU,SACxB,KAAiB,IAANA,EACFA,EAEL,KAH0B,KAGH,OAAhBA,EACFsY,OAAOC,QAAQ,CAACvY,GAAKA,EAAI+W,IAEjB,UAAb,OAAO/W,GAAkB,WAAW+B,IAAI,CAAC/B,GACpC2Q,CADwC,QAC/B3Q,EAAG,IAEd+W,GACT,CAqGO,SAAStL,EACd,CAyBa,CACbjI,CAKC,MAkBmB3H,IAjDpB,IA0CI8O,EAqEA0K,EACAC,EAhHJ,KACEhO,CAAG,OACHsB,CAAK,CACLxB,eAAc,CAAK,UACnBwE,GAAW,CAAK,SAChBlS,CAAO,WACPqH,CAAS,CACT0N,SAAO,CACP3F,OAAK,CACLD,QAAM,MACNG,GAAO,CAAK,OACZ/N,CAAK,aACLud,CAAW,QACXtP,CAAM,mBACN+B,CAAiB,aACjBjE,EAAc,OAAO,aACrBwL,CAAW,eACXlK,CAAa,UACbS,EAAW,OAAO,CAClBoH,QAAM,WACNmC,CAAS,gBACTC,CAAc,cACdF,CAAY,CACZD,UAAQ,CACR,GAAGhJ,EACQ,CAzBb,EAyCM,SAAEuC,CAAO,aAAEL,CAAW,cAAEF,CAAY,eAAEM,CAAa,CAAE,CAAGlI,EAE1D3H,EAAI8P,GAAWf,EAAAA,kBAAkB,CACrC,GAAI,aAAc/O,EAChB8O,CADmB,CACV9O,MACJ,CACL,IAAMgP,EAAW,IAAIhP,EAAEiP,WAAW,IAAKjP,EAAEiO,UAAU,CAAC,CAACiB,IAAI,CAAC,CAACxQ,EAAGqB,IAAMrB,EAAIqB,GAClEkP,EAAcjP,EAAEiP,WAAW,CAACC,IAAI,CAAC,CAACxQ,EAAGqB,IAAMrB,EAAIqB,GAC/CoP,EAAAA,OAAYnP,EAAAA,EAAEmP,SAAAA,EAAS,OAAXnP,EAAakP,IAAI,CAAC,CAACxQ,EAAGqB,IAAMrB,EAAIqB,GAClD+O,EAAS,CAAE,GAAG9O,CAAC,UAAEgP,cAAUC,YAAaE,CAAU,CACpD,CAEA,GAAI,KAAyB,IAAlBU,EACT,MAAM,CADkC,MAClC,cAEL,CAFK,MACJ,yIADI,+DAEN,GAEF,IAAI3R,EAAgCqP,EAAKrP,MAAM,EAAI2R,CAGnD,QAAOtC,EAAKrP,MAAM,CAClB,OAAQqP,EAAaT,MAAM,CAI3B,IAAM8P,EAAkB,uBAAwB1e,EAEhD,GAAI0e,EACF,IAAsB,UAAU,CADb,EACR1e,MAAM,CACf,MAAM,qBAGL,CAHK,MACH,mBAAkBuN,MAAI,gCACpB,kEAFC,+DAGN,EACF,KACK,CAIL,IAAMmL,EAAoB1Y,EAC1BA,EAAU8L,IACR,GAAM,CAAE8E,OAAQrN,CAAC,CAAE,GAAGqG,EAAM,CAAGkC,EAC/B,OAAO4M,EAAkB9O,EAC3B,CACF,CAEA,GAAIwM,EAAQ,CACK,QAAQ,CAAnBA,IACFnH,GAAO,GAUT,IAAM8K,EARoE,CACxE4E,UAAW,CAAExE,SAAU,OAAQrL,OAAQ,MAAO,EAC9C8P,WAAY,CAAE7P,MAAO,OAAQD,OAAQ,MAAO,CAC9C,CAKiC,CAACsH,EAAO,CACrC2D,GACF7Y,GAAQ,CAAE,GAAGA,CAAK,CAAE,CADL,EACQ6Y,CAAW,CAAC,EAErC,IAAM8E,EARoD,CACxDD,WAAY,QACZ3P,KAAM,OACR,CAKiC,CAACmH,EAAO,CACrCyI,GAAe,CAAChQ,IAClBA,EAAQgQ,CADiB,CAG7B,CAEA,IAAIlG,EAAY,GACZjB,EAAWT,EAAOlI,GAClB0I,EAAYR,EAAOnI,GAGvB,GA/OE,CAAC,CAACvB,CA+OeA,CAjP6B,GAG/B,UAAf,EACC2I,KADM3I,IACN2I,EAAgB3I,QACfsL,CARoCtI,IAQlBhD,EARUA,GAAG,CAQbA,CAAmB,CA6OvC,IAAMuL,EAAkB5C,EAAgB3I,GAAOA,EAAIpO,OAAO,CAAGoO,EAE7D,GAAI,CAACuL,EAAgBvL,GAAG,CACtB,CADwB,KAClB,qBAIL,CAJK,MACH,8IAA6IwL,KAAKC,SAAS,CAC1JF,IAFE,+DAIN,GAEF,GAAI,CAACA,EAAgBhK,MAAM,EAAI,CAACgK,EAAgB/J,KAAK,CACnD,CADqD,KAC/C,qBAIL,CAJK,MACH,2JAA0JgK,KAAKC,SAAS,CACvKF,IAFE,8DAIN,GAQF,GALAwC,EAAYxC,EAAgBwC,SAAS,CACrCC,EAAazC,EAAgByC,UAAU,CACvC9C,EAAcA,GAAeK,EAAgBL,WAAW,CACxDE,EAAYG,EAAgBvL,GAAG,CAE3B,CAAC0B,GACH,GADS,GACSwI,GAGX,GAAIC,GAHM,CAGOD,CAHK,CAGM,CACjC,IAAMqH,EAAQpH,EAAWoB,EAAgB/J,KAAK,CAC9C0I,EAAY1C,KAAKgK,KAAK,CAACjG,EAAgBhK,MAAM,CAAGgQ,EAClD,MAAO,GAAI,CAACpH,GAAYD,EAAW,CACjC,IAAMqH,EAAQrH,EAAYqB,EAAgBhK,MAAM,CAChD4I,EAAW3C,KAAKgK,KAAK,CAACjG,EAAgB/J,KAAK,CAAG+P,EAChD,OAREpH,EAAWoB,EAAgB/J,KAAK,CAChC0I,EAAYqB,EAAgBhK,MAAM,CASxC,CAGA,IAAIgJ,EACF,CAACjG,IAAalS,QAAAA,IAAsB,SAAOA,CAAY,EAAU,CAC/D,CAAC4N,CAJLA,EAAqB,UAAf,OAAOA,EAAmBA,EAAMoL,CAAAA,GAI1BpL,EAAIxF,UAAU,CAAC,UAAYwF,EAAIxF,UAAU,CAAC,WAAU,CAE9DsF,GAAc,EACdyK,GAAS,GAEPlH,EAAOvD,WAAW,EAAE,CACtBA,GAAc,GAGdqR,GACA,CAAC9N,EAAOsE,mBAAmB,EAC3B3H,EAAIlI,KAAK,CAAC,IAAK,EAAE,CAAC,EAAE,CAAC8P,QAAQ,CAAC,SAC9B,CAGA9H,GAAc,GAGhB,IAAMsK,EAAaV,EAAOvC,GAyMpBkD,EAAWxW,OAAOC,MAAM,CAC5B4N,EACI,CACEkD,SAAU,WACVrD,OAAQ,OACRC,MAAO,OACPsD,KAAM,EACND,IAAK,EACL6H,MAAO,EACPD,OAAQ,YACRzB,iBACAC,CACF,EACA,CAAC,EACLjH,EAAc,CAAC,EAAI,CAAEyN,MAAO,aAAc,EAC1C9d,GAGIsZ,EACJ,GAAiC,UAAhBvN,EAWb,KAVgB,SAAhBA,EACG,yCAAwCoO,CAAAA,EAAAA,EAAAA,eAAAA,EAAgB,UACvD3D,YACAD,EACA6D,uBACAC,EACA9C,YAAaA,GAAe,GAC5BF,UAAWX,EAASW,SAAS,GAC5B,KACF,QAAOtL,EAAY,KAAI,EAGTuN,EACnB,CACEF,eAAgB1C,EAASW,CALwB,QAKf,EAAI,QACtCgC,mBAAoB3C,EAASY,cAAc,EAAI,UAC/CyG,iBAAkB,4BAClBzE,CACF,EACA,CAAC,EAeC3K,EAAgBsG,SAndfA,CAQS,EARQ,WACxBvF,CAAM,KACNrD,CAAG,aACHF,CAAW,OACX0B,CAAK,SACL2F,CAAO,OACP7F,CAAK,QACL7O,CAAM,CACU,CARQ,EASxB,GAAIqN,EACF,MAAO,KADQ,EACDuB,YAAQ2B,EAAW1B,WAAO0B,CAAU,EAGpD,GAAM,QAAE8F,CAAM,MAAEC,CAAI,CAAE,CAAGC,SAxElBA,CAC+B,CACtCxH,CAAyB,CACzBF,CAAyB,EAFzB,gBAAEkC,CAAW,UAAED,CAAQ,CAAe,CAAtC,EAIA,GAAIjC,EAAO,CAET,IAAM2H,EAAkB,qBAClBC,EAAe,EAAE,CACvB,IAAK,IAAIC,EAAQA,EAAQF,EAAgBG,IAAI,CAAC9H,GAAS6H,EACrDD,EAAahV,EAD+C,EAC3C,CAACmV,SAASF,CAAK,CAAC,EAAE,GAErC,GAAID,EAAanP,MAAM,CAAE,CACvB,IAAMuP,EAA4C,IAA5B9B,KAAK+B,GAAG,IAAIL,GAClC,MAAO,CACLJ,OAAQvF,EAASxL,MAAM,CAAC,GAAO1H,GAAKmT,CAAW,CAAC,EAAE,CAAG8F,GACrDP,KAAM,GACR,CACF,CACA,MAAO,CAAED,OAAQvF,EAAUwF,KAAM,GAAI,CACvC,OACqB,UAAU,OAApBvH,EACF,CAAEsH,OAAQtF,EAAauF,KAAM,GAAI,EAkBnC,CAAED,OAfM,IACV,IAAIlR,IACL,CAQC4J,EAAe,EAARA,EAA0B,CAACrH,GAAG,CACpC,GAAOoJ,EAASiG,CADa,GACT,CAAC,GAAO9U,GAAKsF,IAAMuJ,CAAQ,CAACA,EAASxJ,MAAM,CAAG,EAAE,GAGzE,CACgBgP,KAAM,GAAI,CAC7B,EA+BqC1F,EAAQ7B,EAAOF,GAC5CmI,EAAOX,EAAO/O,MAAM,CAAG,EAE7B,MAAO,CACLuH,MAAO,GAAmB,MAATyH,EAAyBzH,EAAV,QAChCD,OAAQyH,EACL3O,GAAG,CACF,CAACH,EAAGtG,IACCjB,EAAO,CAAE4Q,aAAQrD,UAAKmH,EAAS3F,MAAOxH,CAAE,GAAG,KACnC,CAAT+O,KAAAA,EAAe/O,EAAItG,GAAI,EACtBqV,GAEN9Q,IAAI,CAAC,MAQR+H,IAAKvN,EAAO,QAAE4Q,MAAQrD,UAAKmH,EAAS3F,MAAOsH,CAAM,CAACW,EAAK,EACzD,CACF,EAgbyC,QACrCpG,MACArD,cACAF,EACA0B,MAAO2I,EACPhD,QAASiD,QACT9I,SACA7O,CACF,GA4BA,MAAO,CAAE2H,MAde,CACtB,GAAG0H,CAAI,CACP1P,QAASmY,EAAS,OAASnY,gBAC3B4O,EACAQ,MAAO2I,EACP5I,OAAQ2I,WACRzI,YACAhI,EACA9F,MAAO,CAAE,GAAG0W,CAAQ,CAAE,GAAGsH,CAAgB,EACzCrQ,MAAOgB,EAAchB,KAAK,CAC1BD,OAAQiB,EAAcjB,MAAM,CAC5BrB,IAAKkR,GAAe5O,EAActC,GAAG,EAGvBiE,KADH,aAAEnE,WAAawE,cAAU5E,OAAagC,CAAK,CACnC,CACvB,gCCprBA,cACA,YACA,oDACA,sIACA,CACA,cACA,MACA,sKACA,CACA,cACA,WACA,WACA,iBACA,EAEA,kDACA,mBACA,iBACA,CAAC,EACD,eACA,oBACA,CAAC,EACD,eACA,oBACA,+BACA,CAAC,EACD,eACA,eACA,CAAC,EACD,aACA,eACA,CAAC,EACD,aACA,8BACA,CAAC,EACD,mBACA,mBACA,CAAC,EACK,EAAyC,aAC/C,oBACA,CAAC,EACD,YAH+C,CAI/C,oBACA,CAAC,EErDD,UACA,MACA,uEACA,EACA,KACA,gCACA,KACA,wByCPIxM,EAAEZ,cAADY,EAAEZ,QxCqBP,WACA,UACA,UACA,GAD2D,EAE3D,KAEA,GACA,OACA,SACA,EACA,gBACA,qBACA,CAOA,cACA,KAHA,iBAA+B,EAAY,kEAI3C,EAJ2C,OAK3C,aACA,gBAEA,CACA,cACA,YACA,iDACA,KACA,eAEA,CACA,cFvCA,qCAIA,GAAY,EAAyC,wBEoCpB,EFpCoB,UEoCpB,EFpCoB,QACrD,EADqD,EACrD,yBALA,IEyCA,KACA,YAEA,CACA,cAIA,yCAGA,OACA,YACA,gBAEA,KACA,KACA,CACA,aAGA,KACA,IACA,CAGA,cACA,uCAAgH,CAArB,GAAqB,OAChH,QAAkD,CAArB,EAC7B,IAAsD,CAAvB,EAK/B,aAPgH,EAOhH,iBACA,OANsD,MAMtD,4BACA,KACA,uBACA,EACA,mCACA,iCACA,iCAGA,iCACA,gCACA,kCACA,uCACA,uCACA,uCAEA,qCACA,qCACA,oCAGA,uCACA,IACA,CAAK,EACL,OACA,CAAK,EACL,SACA,OACA,CAAK,CACL,CACA,cACA,QAAkD,CAArB,EAC7B,IAAsD,CAAvB,EAC/B,gCAFkD,OACI,KACtD,GACA,WACA,6CACA,sCACA,oCACA,oCACA,oCACA,mCACA,kCACA,0CACA,0CACA,0CAEA,wCACA,wCACA,uCAEA,YACA,EAgBA,aACA,mBACA,CAHA,uCAdA,OAEA,EADA,QADA,CAC+B,IAD/B,EAGA,4BAHA,OACsD,EAItD,OACA,IACA,EACA,0CAEA,UACA,IA4BA,eACA,WACA,QACA,QACA,QACA,OACA,QACA,SACA,SACA,QACA,ECnLA,iCAAoG,sBEEpG,SACA,qBACA,yCAEA,iBACA,yBACA,iCACA,CACA,kBACA,mCACA,gCACA,CACA,uBACA,QACA,CACA,WACA,iBACA,mBACA,qBACA,mCACA,mCACA,uBACA,6BACA,yCACA,6BACA,2BACA,2BACA,WACA,CACA,CACA,cACA,SAAuB,UAAa,CACpC,aACA,aACA,CAAK,EAEL,EAA8B,CAAtB,IACR,gBACA,WACA,UAH8B,GAI9B,wBACA,gBAEA,CACA,CAAK,KACL,SAA2B,MD7C3B,GACA,SAAoB,UAAa,MAOjC,OANA,EAAiD,CAAzC,IACR,WACA,CAAK,EACL,EACA,EAEA,GAAe,eAAkB,CANgB,GAMhB,KACjC,gBACA,6BACA,CAAK,IACL,ECiCgD,IAChD,aACA,CAAK,EAEL,SAAe,eAAkB,IAKjC,gKACA,uBACA,eAWA,8BAVA,IACA,uBACA,YACA,mBAEA,qBACA,gCACA,wBAEA,EACA,CACA,OACA,CAAa,EACb,6CACA,oCACA,KACA,2DACA,6DACA,uCACA,eACA,CAAqB,GACrB,2CACA,WACA,eACA,CAAqB,EACrB,CACA,CAAa,EACb,8BACA,cACA,iBACA,WACA,CACa,CACb,CACA,CAAK,EACL,EACA,CACA,CGxGA,eAA6D,MNsN7D,MMrNA,IAAU,uCAAyE,EACnF,KAAoB,UAAa,CACjC,aACA,qBAAyC,CACpC,EACL,SAAsC,YAAe,IACrD,SAAqD,IAHS,MAGT,EAAe,mDACpE,KAA0B,eAAkB,yDAC5C,KAA4B,eAAkB,IAC9C,sBACA,KACA,GACA,CAAK,EACL,EACA,ENuMA,EMtMsC,IACtC,2BACA,GACA,CAAK,CNmML,EMnMK,GNmML,EMnMK,CACL,aACA,CAAK,CNkML,IACA,GAAQ,aAAgB,KACxB,cACA,CA3BA,gBACA,MACA,mCAAuF,CAArB,KAAqB,qDACvF,+BAA0F,CAArB,KAAqB,2DAC1F,+BAAkF,CAArB,KAAqB,2CAClF,+BAAoF,CAArB,KAAqB,+CAEpF,SADA,8OACA,0CACA,GAmBA,uCACA,MACA,EAEA,OADA,SACA,KACA,WACA,CAEA,CAAK,IM5ML,IAAU,cAAyB,GAAM,MFNzC,GACA,IAAU,4BEK8C,EFL9C,mBAAiG,EAC3G,KAAuB,eAAkB,IACzC,8BAGA,OAFA,QACA,SACA,EAEA,CAAK,EACL,EACA,EACA,EACA,IAA0E,CAAzC,EACjC,KAAwB,eAAkB,IAG1C,QAAyD,CAAvB,CAAuB,KAJiB,CAIjB,CACzD,iCADyD,WACzD,cACA,QACA,SACA,KAEA,CAAK,EACL,EACA,EACA,EACA,EACA,OACA,YACA,+BACA,0BACA,CACA,CACA,EE3BwD,CACxD,aACA,eACA,CAAK,EACL,CAAU,oBAAqC,GAAM,MDZrD,GACA,IAAU,mEAA6H,EACvI,KAAoB,QAAa,GACjC,gBACA,CAAK,EACL,KAAqB,eAAkB,IAIvC,sEACA,2BACA,QACA,SAEA,CAAK,EACL,EACA,EACA,EACA,EACA,IAAwE,CAAzC,EAC/B,KAAsB,eAAkB,IAGxC,eAJwE,QAIxE,sCACA,QACA,SACA,2BACA,KAEA,CAAK,EACL,EACA,EACA,EACA,SACA,GACA,kBAEA,eACA,aACA,CACA,EACA,CACA,kBACA,UACA,QACA,CACA,CACA,ECnC0E,CAC1E,cACA,qBACA,CAAK,EACL,OACA,YACA,iBACA,gBACA,CACA,CCpBA,SACA,IACA,aACA,KAKA,gBACA,IACA,CAAK,IACL,CACA,cACA,4BACA,CACA,aACA,gCAIA,MAHA,0EACA,wCACA,IACA,OAEA,MACA,6EACA,2CACA,CACA,CACA,cACA,IAAU,0DAA2G,EACrH,SAAsC,YAAe,IACrD,KAAoB,UAAa,CACjC,aACA,6BACA,eACA,WACA,CAAK,UACL,GAAQ,aAAgB,MACxB,IAAU,gCAA2D,GAAM,WAAc,KACzF,cAEA,GADA,gBACA,uEACA,gBACA,qBACA,YACA,MACA,kBACA,SACA,aACA,CAAa,EACb,SACA,KACA,EACA,UAGA,GAFA,iBACA,cACA,gCACA,gBACA,sBACA,MACA,gBACA,SACA,aACA,CAAa,EACb,SACA,KACA,EACA,KAqBA,MApBA,kCACA,qBACA,4BACA,kBACA,EACA,qBACA,0DACA,IAEA,oBACA,8BACA,EACA,mBACA,6CACA,8BACA,EACA,mBACA,oDACA,GAEA,CACA,aACA,iBACA,CACA,CAAK,EACL,EACA,EACA,EACA,EACA,EACA,EAWA,MAVA,GAAQ,aAAgB,KAGxB,MACA,uBACS,eAET,CAAK,EACL,EACA,EACA,CACA,aACA,WACA,CACA,gBCpIA,kBACA,IACA,EADA,oBAEA,eACA,YACA,EAQA,CAPA,6DACA,UAEA,IADA,+CAEA,SAMA,GAJA,IAEA,4DACA,UACA,6CACA,yCACA,qCACA,OACA,UAEA,IADA,YACA,YACA,QAEA,QACA,EACA,aACA,OAAe,QAAuB,GAAG,QAAoB,IAC7D;AACA;AACA;AACA,yBAAyB,SACzB,EACA,yBACU,cAAc,EACxB,qBAEA,CAEA,OADA,iDACA,CACA,CACA,CACA,gBACA,cAGA,QAFA,oCAA2C,OAAW,EAAI,KAAO,EAIjE,CACA,6BACM,EAAQ,UACd,EADc,EACd,EACA,sBACA,kBACA,qCACA,CACA,ECxDA,OACA,MACA,0CACA,4CACA,KACA,YAAsB,KAAU,IAChC,UAEA,QACA,EACA,UACA,sBACA,MACA,OAEA,qBACA,MACA,OAEA,UACA,UAAY,YAAgB,EAC5B,GAAS,yCAAsD,CAC/D,EAEA,GADA,6BACA,kBACA,WACA,EAEA,+BACA,WACA,WACA,mCACA,yBACA,MACA,GAAoB,sCAA8C,EAClE,MACA,CACA,CACA,4BACA,CACA,2EACA,CAAG,EAEH,OADA,aAA8B,iBAAmB,EACjD,KACA,cACA,CACA,EACA,GACA,UACA,EAeA,qDACA,WACA,sBACA,MACA,OAEA,qBACA,MACA,OAEA,QACA,4CAA4F,EAC5F,EACA,KACA,OACA,CAAK,CACL,iCAEA,UACA,eAAY,WAAoB,UAChC,wCACA,IACA,MACA,EACA,QACA,QACA,IACA,iCACA,qCAIA,OAHA,GACA,oCAEA,KACA,kCACA,GACA,oCAEA,CACA,EAsCA,aACA,mCACA,yBACA,KAIA,OAHA,WACA,iDAIA,CACA,kBACA,iEAEA,EAYA,OACA,gBACA,WACC,MACD,OAEA,kEACA,oCAFA,IAGA,UACA,CAAG,CACH,CACA,UACA,eACA,eACA,wBACA,uBACA,oBACA,iCACA,0BACA,2BACA,oCACA,qBACA,uBACA,0BACA,yBACA,2BACA,oBACA,WACA,MACA,IAGA,oDAGA,2CACA,cACA,WACA,gCACA,CACA,8EACA,CAAW,CACX,CAAS,EATT,MAWA,OACA,gBACA,KACA,+BACA,MACA,CAAS,CACT,YACA,MACA,yCAAsE,iBAAmB,CACzF,CAAS,CACT,cACA,MACA,0CACA,CACA,CACA,EAAK,GACL,gBACA,oBACA,oCACA,wBACO,EACP,cACA,SACA,gBACA,WACA,eACA,aACA,qBACA,mBACA,cACA,aACA,iBACA,cACA,CAAS,CACT,kBACA,aAAuB,iBAAqB,CAC5C,eACA,MACA,4BACA,4BACA,QACA,0BACA,WACA,SACA,qBACA,uCACA,KAEA,EACA,gBACA,OACA,sDACA,EACA,iBAAuB,EACvB,EAD2B,GAE3B,sBACA,CACA,iBACA,sCACA,oCACA,EAEA,IACA,cACA,CAAO,CACP,CACA,IAAa,GACb,GADkD,GAClD,CADsD,CAAa,EACnE,mBACA,aACA,iBACA,sCACA,oCACA,GAGA,kBACA,4CACA,eACA,2BACA,wBACA,sBACA,EACA,mBACA,KACA,cACA,EAEA,sBACA,MACA,gEACA,2BAEA,GADA,eACA,IACA,mBACA,MACA,CACA,qBACA,yDACA,+DAEA,uEAEA,+BACA,wBACA,CAAS,EACT,6CACA,mBACA,eACA,CAAS,EACT,iBACA,yCACA,kBACA,kBACA,CAAW,GAEX,iBACA,+CACA,yBACA,0EACA,oBACA,mBACA,kBACA,CAAW,EAEX,CACA,EACA,iBACA,sBAIA,0DACA,4DAJA,qBACA,GAKA,yBACA,sBAIA,6IACA,oBAJA,uBACA,GAKA,oCACA,cACA,UACA,cAA8B,KAAQ,KACtC,WACA,iBACA,SAEA,YACA,QAOA,GALA,qBACA,gBACU,aACV,iBAEA,4BACA,KAEA,CACA,sEACA,cACA,gBAEA,YACO,UACP,EACA,2BAAiC,EACjC,EADqC,EACrC,CACA,mBACA,0BACA,0BACA,wBACA,qBACA,CACA,cACA,oCACA,CACA,QACA,eACA,eACA,aACA,SACA,GAEA,CACA,MACA,GAEA,qBAA2B,EAC3B,EAD+B,EAC/B,kDACA,QAAS,uDAAwD,MACjE,MAGA,OAFA,0BACA,2BACA,GAEA,oCACA,6DACA,mCACA,oCACA,CAAW,GAEX,+FACA,qCACA,wCACA,YAA0B,IAAW,KACrC,WACA,iEACA,+BACA,WACA,oDACA,MACA,gCACA,MACA,QACA,QACA,OACA,MACA,MACA,MACA,CACA,CAEA,OADA,yBACA,CACA,CAAO,CACP,CACA,IAAa,GACb,GADkD,GAClD,CADsD,CAAiB,EACvE,qBAGA,oBAA0B,EAC1B,EAD8B,EAC9B,+DACA,SACA,2BA2SA,UACA,eACA,YACA,eACC,EACD,iBAEA,SADA,cACA,GACA,IACA,wBACA,IAEA,kBAAW,aACX,EAxTA,CACA,eACA,YACA,cACA,CAAS,OAET,CACA,IAAa,GACb,GADkD,GAClD,CADsD,CAAgB,EACtE,qBAGA,uBAA6B,EAC7B,EADiC,GAEjC,WACA,OACA,wBAKA,OAJA,IACA,eACA,cAEA,CACA,4BACA,sBACA,mBACA,EACA,EACA,CACO,CACP,aACA,yBACA,aACA,WACA,WACA,OACA,CAAS,EAET,CACA,IAAa,GACb,GADkD,GAClD,CADsD,CAAmB,EACzE,qBAGA,0BACA,kCACA,2BACA,EAMA,gBALA,aACA,2BAAqC,EAAc,EAAE,MAAM,yBAE3D,GAGA,EACA,6BACA,+BACA,4BACA,MACA,OAEA,YACA,4BACA,QACA,GACA,2BAEA,yBACA,6BAEA,eACA,wDAEA,EACA,wBACA,gCACA,MACA,OAGA,QADA,uCAEA,SACA,4KAIA,6CACA,sCACA,eACA,CAAW,EAEX,+CACA,4DACA,gBAEA,EACA,wBACA,OACA,mCACA,gBACA,2BACA,6BAEA,CAAS,EACT,MACA,CACA,8BACA,EACA,qBAA2B,EAC3B,EAD+B,EAC/B,kDACA,QACA,SACA,uBAA8C,IAAS,KAEvD,QADA,KACA,CACA,SACA,CACA,QACA,CAAO,CACP,CACA,IAAa,GACb,GADkD,GAClD,CADsD,CAAiB,EACvE,qBAGA,iCACA,6BACA,gBAGA,OAAa,EACb,KACA,EACA,GAHyB,KAGzB,GACA,GAAqB,EAAY,YACjC,GACA,CAEA,EACA,mCACA,qBACA,wBACA,aACA,QACA,UAGA,WACA,OAEA,2DAGA,yBADA,CADA,2HACA,EACA,KACA,EACA,sCACA,+CACA,gCACA,MACA,OAEA,qBACA,yBACA,eACA,4CACA,aACU,iDAGV,YAFA,WAKA,2DACA,UACA,aACA,8CACA,MACA,OACA,2BACA,oCACA,GAEA,EACA,SAEA,OACA,2BACA,wCACA,GAEA,EACA,CAEA,EACA,iDACA,8BACA,wDACA,4DACA,iCAEA,EACA,8BAAuC,sBAA4B,EAAI,IACvE,2BACA,oCACA,aACA,0EAGA,sDACA,mBACA,UACA,CAAO,CACP,EACA,uBAAmC,2BAAyC,EAAI,IAChF,+CACA,2BACA,oCACA,aACA,0EAGA,kCACA,aACA,WACA,wBAAqC,8BAA+B,EACpE,uDACA,+DAKA,GAJA,iCACA,uBACA,4BAEA,CACA,OAAmC,EACnC,UAD+C,YAC/C,OAEiB,EAAW,2BAC5B,4BAA0C,aAAiB,CAE3D,EAAY,IACZ,4BAAwC,aAAiB,CAEzD,EAAS,CAET,EACA,2BAA8B,GAAW,EAAI,IAC7C,2BACA,oCACA,aACA,0EAGA,+CACA,mBACA,UACA,CAAO,CACP,EACA,2BACA,MAEA,EADA,6BASA,gBACA,CARA,aACA,0BAEA,6EACA,6CAIA,kDACA,EAEA,EACA,yBACA,cACA,WACK,IACL,oCAAwC,gBAAuB,MAC/D,EACA,kBACA,2BACA,eACA,EACA,kBACA,CACA,CACA,mBACA,YACA,gBACA,OACA,OACA,WACM,UAGN,SAFA,MAIA,QACA,IACA,IAEA,CAEA,ECpuBA,gCAAoE,iBAAqB,CAAG,WAAe,iBCJ5E,SAASQ,GAAEvE,CAAC,EAAE,CAAJuE,MAAW/B,GAAAA,CAACA,CAACyE,QAAQ,CAAC,KAAKjH,aAAaqhB,KAAKrhB,EAAEshB,aAAa,CAACthB,SAASA,EAAEuhB,cAAc,CAAC,YAAYvhB,EAAEG,OAAO,YAAYkhB,KAAKrhB,EAAEG,OAAO,CAACmhB,aAAa,CAAC5L,QAAQ,wCKAwC,SAASjR,GAAE1E,CAAC,CAACE,EAAE,CAAC,CAAC,EAAE,GAAG,CAACD,EAAEuE,CAAfE,CAAiB,CAACwE,CAAAA,EAAAA,EAAAA,UAAAA,CAACA,CAAC,IAAK,GAAC,EAAG,CAAC,GAAG9F,EAAEjD,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAIwE,CAA/K,SAASA,CAAG,EAAE,GAAO,EAA2JA,KAA/J3E,EAAS,GAAhB2E,GAAsB,CAACuM,MAAM,EAAED,OAAO,CAAC,EAAE,GAAG,CAACC,MAAMhR,CAAC,CAAC+Q,OAAOhR,CAAC,CAAC,CAACD,EAAEyhB,qBAAqB,GAAG,MAAM,CAACvQ,MAAMhR,EAAE+Q,OAAOhR,CAAC,EAAC,EAAsDD,GAAG,CAACA,EAAEC,EAAE,EAAE,MAAOF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAG,CAACC,EAAE,OAAO,IAAIyC,EAAE,IAAIif,eAAeld,GAAG,OAAO/B,EAAEkf,OAAO,CAAC3hB,GAAG,KAAKyC,EAAEmf,UAAU,EAAE,CAAC,EAAE,CAAC5hB,EAAE,EAAEE,EAAE,CAACgR,MAAM,GAAG9N,EAAE8N,KAAK,CAAC,EAAE,CAAC,CAACD,OAAO,GAAG7N,EAAE6N,MAAM,CAAC,EAAE,CAAC,EAAE7N,CAAC,eCApc,OAAMT,WAAUiU,IAAIhK,YAAY1M,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC2hB,OAAO,CAAC3hB,CAAC,CAAC+X,IAAI/X,CAAC,CAAC,CAAC,IAAIF,EAAE,KAAK,CAACiY,IAAI/X,GAAG,OAAOF,KAAS,KAAIA,GAAAA,EAAE,IAAI,CAAC6hB,OAAO,CAAC3hB,GAAG,IAAI,CAAC6X,GAAG,CAAC7X,EAAEF,EAAAA,CAAC,CAAGA,CAAC,CAAC,CCA3I,SAAS2C,GAAExC,CAAC,CAACF,CAAC,CAAJ0C,CAAM,IAAIzC,EAAEC,IAAIsC,EAAE,IAAI6E,IAAI,MAAM,aAACwa,IAAqB5hB,YAAGwM,CAAW,GAASjK,EAAEG,GAAG,CAAC5C,GAAG,IAAIyC,EAAEkK,MAAM,CAAC3M,EAAAA,EAAI+hB,SAAS/hB,CAAC,CAAC,GAAGD,CAAC,EAAE,IAAIqD,EAAEnD,CAAC,CAACD,EAAE,CAACqK,IAAI,CAACnK,KAAKH,GAAGqD,IAAIlD,CAAAA,CAAEkD,EAAEX,EAAE8J,OAAO,CAACtI,GAAGA,IAAAA,CAAG,CAAG,CAAC,CCAzI,SAAS9D,GAAED,CAAC,EAAE,KAAJC,CAAWH,CAAAA,EAAAA,EAAAA,oBAAAA,CAACA,CAACE,EAAEwM,SAAS,CAACxM,EAAE4hB,WAAW,CAAC5hB,EAAE4hB,WAAW,CAAC,CCAmI,IAAI1d,GAAE,IAAIO,CAACA,EAAC,IAAIH,GAAE,IAADA,EAAO,CAAC,CAACwd,IAAI/hB,CAAC,EAAE,OAAO,IAAI,CAAC0D,QAAQ,CAAC1D,GAAG,IAAI,CAAC,IAAI,IAAI,CAACA,EAAE,EAAEgiB,OAAOhiB,CAAC,EAAE,IAAID,EAAE,IAAI,CAAC6D,OAAO,CAAC5D,GAAG,GAAGD,CAAK,MAAE,OAAO,IAAI,CAAC,IAAIE,EAAE,IAAI,CAACqW,KAAK,GAAG,OAAOrW,EAAE4D,MAAM,CAAC9D,EAAE,GAAGE,CAAC,CAAC,IAAI,SAASkI,GAAEnI,CAAC,CAACD,CAAC,EAAE,IAAIE,EAAEkE,GAAE6T,GAAG,CAACjY,GAAGoD,EAAEX,CAAAA,EAAAA,EAAAA,KAAAA,CAACA,GAAGyG,EAAEhF,GAAEhE,GAAG,GAAG+D,CAAAA,CAAPC,CAAOD,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAGhE,EAAE,OAAOC,EAAE6hB,QAAQ,CAAC,MAAM3e,GAAG,IAAIlD,EAAE6hB,QAAQ,CAAC,SAAS3e,EAAE,EAAE,CAAClD,EAAED,EAAE,EAAE,CAACA,EAAE,MAAM,CAAC,EAAE,IAAIF,EAAEmJ,EAAErF,OAAO,CAACT,GAAGjD,EAAE+I,EAAEO,MAAM,CAAC,OAAO1J,CAAK,KAAIA,EAAAA,GAAEI,EAAEA,IAAG,EAAGJ,IAAII,EAAE,CAAC,CCA/X,IAAIwE,GAAE,IAAIiS,IAAIpS,GAAE,IAAXG,IAAmB,SAASuE,GAAEhJ,CAAC,EAAE,IAAIF,EAAE,IAAIC,EAAE,OAACD,EAAEwE,GAAEyT,GAAG,CAAC/X,EAAAA,CAAC,CAASF,EAAE,EAAE,OAAOwE,GAAEuT,GAAG,CAAC7X,EAAED,EAAE,GAAO,IAAJA,IAAgB0E,GAAEoT,GAAG,CAAC7X,EAAE,CAAC,QAARyE,MAAsBzE,EAAEwe,YAAY,CAAC,eAAewD,MAAMhiB,EAAEgiB,KAAK,GAAGhiB,EAAEiiB,YAAY,CAAC,cAAc,QAAQjiB,EAAEgiB,KAAK,CAAC,CAAC,GAA7H,IAAI3d,CAAqI,CAAJrE,EAAC,MAAYqE,CAAG,EAAE,IAAInB,EAAE,IAAInD,EAAE,MAACmD,GAAEoB,GAAEyT,GAAG,CAAC/X,EAAAA,CAAC,CAASkD,EAAE,EAAE,GAAO,IAAJnD,EAAMuE,GAAEmI,MAAM,CAACzM,GAAGsE,GAAEuT,GAAG,CAAC7X,EAAED,EAAE,GAAO,IAAJA,EAAM,OAAO,IAAID,EAAE2E,GAAEsT,GAAG,CAAC/X,GAAGF,IAAIA,CAAAA,GAAZ2E,IAAa,CAAC,cAAc,CAAQzE,EAAEkiB,eAAe,CAAC,eAAeliB,EAAEiiB,YAAY,CAAC,cAAcniB,CAAC,CAAC,cAAc,EAAEE,EAAEgiB,KAAK,CAACliB,EAAEkiB,KAAK,CAACvd,GAAEgI,MAAM,CAACzM,EAAAA,CAAC,GAAxXA,EAA+WyE,GAA3WA,yBEAhN,IAAIA,GAAE,CAAC,cAAFA,WAA2B,aAAa,UAAU,aAAa,yBAAyB,SAAS,wBAAwB,yBAAyB,2BAA2B,CAACkF,GAAG,CAAC7J,GAAG,GAAGA,EAAE,qBAAqB,CAAC,EAAE2H,IAAI,CAAC,KAAO,CAAFvD,kBAACA,CAAqB,CAACyF,GAAG,CAAC7J,GAAG,GAAGA,EAAE,qBAAqB,CAAC,EAAE2H,IAAI,CAAC,KAAK,IAAI9C,GAAE,CAACpC,IAAIA,CAAC,CAACA,EAAE4f,KAAK,CAAC,EAAE,CAAC,QAAQ5f,CAAC,CAACA,EAAE6f,QAAQ,CAAC,EAAE,CAAC,WAAW7f,CAAC,CAACA,EAAE8f,IAAI,CAAC,EAAE,CAAC,OAAO9f,CAAC,CAACA,EAAE+f,IAAI,CAAC,EAAE,CAAC,OAAO/f,CAAC,CAACA,EAAEggB,UAAU,CAAC,GAAG,CAAC,aAAahgB,CAAC,CAACA,EAAEigB,QAAQ,CAAC,GAAG,CAAC,WAAWjgB,CAAC,CAACA,EAAEkgB,SAAS,CAAC,GAAG,CAAC,aAAYlgB,CAAAA,CAAC,CAAGoC,IAAG,CAAC,GAAGD,GAAE,CAACzE,IAAIA,CAAC,CAACA,EAAEib,KAAK,CAAfxW,EAAkB,CAAC,QAAQzE,CAAC,CAACA,EAAEyiB,QAAQ,CAAC,EAAE,CAAC,WAAWziB,CAAC,CAACA,EAAE0iB,OAAO,CAAC,EAAE,CAAC,UAAU1iB,CAAC,CAACA,EAAE2iB,SAAS,CAAC,EAAE,CAAC,aAAY3iB,CAAAA,CAAC,CAAGyE,IAAG,CAAC,GAAGG,GAAE,CAAC7E,IAAIA,CAAC,CAAd0E,EAAiB0d,QAAQ,CAAC,CAAC,EAAE,CAAC,WAAWpiB,CAAC,CAACA,EAAEqiB,IAAI,CAAC,EAAE,CAAC,QAAOriB,CAAAA,CAAC,CAAG6E,IAAG,CAAC,GAA+WmE,GAAGhJ,CAAAA,IAAIA,CAAC,CAACA,EAAE6iB,MAAM,CAAC,EAAE,CAAC,SAAS7iB,CAAC,CAACA,EAAE8iB,KAAK,CAAC,EAAE,CAAC,SAAQ9iB,CAAAA,CAAC,CAAGgJ,IAAG,CAAC,GAA8QnF,GAAE,CAAC7D,IAAIA,CAAC,CAACA,EAAE+iB,QAAQ,CAAC,EAAE,CAAC,WAAW/iB,CAAC,CAACA,EAAEgjB,KAAK,CAAC,EAAE,CAAC,SAAQhjB,CAAAA,CAAC,CAAG6D,IAAG,CAAC,EAAG,CAA6C,GAAnB,UAAE,EAA+B4R,KAAxBA,WAAwBA,SAASjT,gBAAgB,CAAC,UAAU1C,IAAIA,EAAEmjB,OAAO,EAAEnjB,EAAEojB,MAAM,EAAEpjB,EAAEqjB,OAAO,GAAG1N,CAAAA,QAAS2N,eAAe,CAACC,OAAO,CAACC,sBAAsB,CAAC,GAAC,EAAI,CAAC,GAAG7N,SAASjT,gBAAgB,CAAC,QAAQ1C,IAAe,IAAXA,EAAEyjB,MAAM,CAAK,OAAO9N,SAAS2N,eAAe,CAACC,OAAO,CAACC,sBAAsB,CAAY,KAAI7N,CAAb8N,MAAM,GAAO9N,SAAS2N,eAAe,CAACC,OAAO,CAACC,sBAAsB,CAAC,GAAC,EAAI,CAAC,GAAC,CCAj6D,SAAStjB,KAAI,KAAHA,CAAS,WAAWiK,IAAI,CAACgD,OAAOuW,SAAS,CAACC,QAAQ,GAAG,QAAQxZ,IAAI,CAACgD,OAAOuW,SAAS,CAACC,QAAQ,GAAGxW,OAAOuW,SAAS,CAACE,cAAc,CAAC,CAAC,CAAiE,SAASnhB,KAAI,KAAHA,EAAUvC,MAAjE,IAAkEA,MAAIkD,EAA1D+G,IAAI,CAACgD,OAAOuW,SAAS,CAACG,SAAS,CAA8B,CCA7I,SAASzgB,GAAElD,CAAC,CAACF,CAAC,CAACG,CAAC,CAACsC,CAAC,EAAE,IAAI+B,EAAE7B,CAAAA,CAAhBS,CAAgBT,GAAAA,CAAAA,CAACA,CAACxC,GAAG8D,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAK,GAAI/D,CAAD,CAAqC,CAAlC,MAAyCyV,SAASjT,gBAAgB,CAAC1C,EAAEC,EAAEwC,GAAG,IAAIkT,SAAS9S,mBAAmB,CAAC7C,EAAEC,EAAEwC,GAAxG,SAASxC,EAAEsE,CAAC,EAAEC,EAAEpE,OAAO,CAACmE,EAAE,CAAgF,EAAE,CAACrE,EAAEF,EAAEyC,EAAE,CAAC,CGA3K,SAASA,GAAE,GAAGzC,CAAC,EAAE,EAAPyC,IAAcvC,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAIC,MAAKH,CAAJG,EAAO,IAAIH,EAAE,CAAC,CEAE,SAASoD,GAAEpD,CAAC,UDAtCE,CAAC,CCAuC,IDAjCkD,ECAqCX,CAARW,CAAUnD,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC+E,MAAM,GAAG8e,eAAe,KAAKC,aAAa,IAAI,GAAG,ODAxGthB,CAAC,CCAgHzC,EDA/GA,CAAC,CCAgH,CDA/G2C,CAAC,OAAU5C,CAAAA,EAAAA,ECAiGI,CDAjGJ,CAAAA,CAACA,CAAC4C,ICA6G,IAAIzC,EAAEgE,EAAEkM,MAAM,CAAClQ,aAAaye,mBAAmBlc,CAAAA,CAAErC,OAAO,CAAC,CAAC4E,MAAM9E,EAAE8E,KAAK,CAAC8e,eAAe5jB,EAAE4jB,cAAc,CAACC,aAAa7jB,EAAE6jB,YAAY,EAAE,GDA/Orf,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAwB,SAASzE,EAAEE,CAAC,EAAEiD,EAAEhD,OAAO,CAACD,EAAE,CAAC,MAAOsC,CAArDA,EAAK,MAAHA,EAAQA,EAAE0K,MAAAA,EAA2CzK,gBAAgB,CAAC1C,EAAEC,GAAEC,OAAG,IAAIuC,EAAEI,mBAAmB,CAAC7C,EAAEC,EAAEC,EAAE,EAAE,CAACuC,EAAEzC,EAAEE,EAAE,ECAmHsE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAGmR,SAASqO,aAAa,GAAGhkB,GAAGA,aAAa2e,kBAAkB3e,EAAE6P,WAAW,CAAC,CAAC,GAAG7P,EAAE8e,KAAK,CAAC,CAACC,cAAc,CAAC,CAAC,GAAG/e,EAAEgF,KAAK,GAAGvC,EAAErC,OAAO,CAAC4E,KAAK,CAAChF,EAAEikB,iBAAiB,CAACjkB,EAAEgF,KAAK,CAACyE,MAAM,CAACzJ,EAAEgF,KAAK,CAACyE,MAAM,MAAM,CAAC,GAAG,CAACqa,eAAe5f,CAAC,CAAC6f,aAAa7jB,CAAC,CAAC,CAACuC,EAAErC,OAAO,QAAC8D,GAAc,OAAJhE,GAAUF,EAAEikB,iBAAiB,CAAC/f,EAAEhE,EAAE,CAACuC,EAAErC,OAAO,CAAC,CAAC4E,MAAM,GAAG8e,eAAe,KAAKC,aAAa,IAAI,CAAC,CAAC,EAAE,CKAjW,IAAIphB,GAAES,GAAE,IAAI,IAAIwT,EAAXjU,EAAe,CAACuhB,KAAKlkB,CAAC,CAACyC,CAAC,EAAE,IAAItC,EAAE,IAAID,EAAE,OAACC,EAAE,IAAI,CAAC8X,GAAG,CAACjY,EAAAA,CAAC,CAASG,EAAE,CAACgkB,IAAInkB,EAAEokB,MAAM,EAAE1f,EAAE3E,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAG4T,KAAK,IAAIrM,GAAG,EAAE,OAAOpH,EAAEkkB,KAAK,GAAGlkB,EAAEyT,IAAI,CAAC/Q,GAAG,CAACH,GAAG,IAAI,CAACsV,GAAG,CAAC/X,EAAEE,GAAG,IAAI,EAAEmkB,IAAIrkB,CAAC,CAACyC,CAAC,EAAE,IAAIvC,EAAE,IAAI,CAAC+X,GAAG,CAACjY,GAAG,OAAOE,IAAIA,CAAAA,CAAEkkB,KAAK,GAAGlkB,EAAEyT,IAAI,CAAChH,MAAM,CAAClK,EAAAA,CAAC,CAAG,IAAI,EAAE6hB,eAAe,CAACH,IAAInkB,CAAC,CAAC0E,EAAEjC,CAAC,CAACkR,KAAKzT,CAAC,CAAC,MHAxlBD,EGA0lB,IAAIE,EAAE,CAACgkB,IAAInkB,EAAE0E,EAAEjC,EAAEkR,KAA1V,SAASpP,CAAG,EAAE,IAAkVA,EAA5U,CAAC,EAAE,IAAI,IAAIrE,KAAKF,EAAEuD,OAAOC,MAAM,CAACf,EAAEvC,EAAEuC,IAAI,OAAOA,CAAC,EAA6RvC,EAAE,EAAE+D,EAAE,CFA5gBO,KAAI,CAAC+f,IAAJ/f,GAAW,CAAC2f,IAAIlkB,CAAC,CAACyE,EAAEjC,CAAC,CAACkR,KAAK1P,CAAC,CAAC,EAAE,SAAS9D,EAAEwC,CAAC,EAAE,OAAOsB,EAAEugB,UAAU,CAACjd,OAAO,CAACrD,GAAGA,KAAKugB,IAAI,CAACvgB,GAAGA,EAAEwgB,QAAQ,CAAC/hB,GAAG,CAACF,EAAEU,SAAS,CAAC,KAAK,IAAIpD,EAAE,GAA+D,SAA5DoN,OAAOwX,gBAAgB,CAAC1kB,EAAEqjB,eAAe,EAAEsB,cAAc,CAAU,CAAC,IAAI1kB,EAAEqE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAGrE,EAAEmD,KAAK,CAACpD,EAAEqjB,eAAe,CAAC,iBAAiB,QAAQ7gB,EAAEG,GAAG,CAAC,IAAIH,EAAEU,SAAS,CAAC,IAAIjD,EAAEwD,OAAO,IAAI,CAAC,IAAIf,EAAE,MAAC5C,GAAEoN,OAAO0X,OAAAA,EAAe9kB,EAAEoN,OAAO2X,WAAW,CAAC5gB,EAAE,KAAKzB,EAAEC,gBAAgB,CAACzC,EAAE,QAAQC,IAAI,GAAGA,EAAEkQ,MAAM,YAAY2U,YAAY,GAAG,CAAC,IAAI/kB,EAAEE,EAAEkQ,MAAM,CAACyF,OAAO,CAAC,KAAK,GAAG,CAAC7V,EAAE,OAAO,GAAG,CAACglB,KAAKrgB,CAAC,CAAC,CAAC,IAAIiT,IAAI5X,EAAEyS,IAAI,EAAErP,EAAEnD,EAAEglB,aAAa,CAACtgB,GAAGvB,GAAG,CAACjD,EAAEiD,KAAKc,CAAAA,EAAEd,CAAAA,CAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAGX,EAAEC,gBAAgB,CAACzC,EAAE,aAAaC,IAAI,GAAGA,EAAEkQ,MAAM,YAAY2U,aAAY,GAAG5kB,EAAED,EAAEkQ,MAAM,EAAE,CAAC,IAAIpQ,EAAEE,EAAEkQ,MAAM,CAAC,KAAKpQ,EAAE4P,aAAa,EAAEzP,EAAEH,EAAE4P,aAAa,GAAG5P,EAAEA,EAAE4P,aAAa,CAACnN,EAAEY,KAAK,CAACrD,EAAE,qBAAqB,UAAU,MAAMyC,EAAEY,KAAK,CAACnD,EAAEkQ,MAAM,CAAC,cAAc,QAAO,GAAG3N,EAAEC,gBAAgB,CAACzC,EAAE,YAAYC,IAAI,GAAGA,EAAEkQ,MAAM,YAAY2U,aAAY,SAA+B,CAA3B7kB,EAAEkQ,MAAM,CAAC8U,OAAO,EAAkB,GAAG/kB,EAAED,EAAEkQ,MAAM,EAAE,CAAC,IAAIpQ,EAAEE,EAAEkQ,MAAM,CAAC,KAAKpQ,EAAE4P,aAAa,EAA+B,KAA7B5P,EAAEujB,OAAO,CAAC4B,gBAAgB,EAAO,CAAEnlB,CAAAA,EAAEolB,YAAY,CAACplB,EAAEqlB,YAAY,EAAErlB,EAAEslB,WAAW,CAACtlB,EAAEulB,WAAAA,GAAcvlB,EAAEA,EAAE4P,aAAa,MAAC5P,EAAEujB,OAAO,CAAC4B,gBAAgB,EAAOjlB,EAAEkK,cAAc,EAAE,MAAMlK,EAAEkK,cAAc,GAAG,EAAE,CAACkU,QAAQ,CAAC,CAAC,GAAG7b,EAAEG,GAAG,CAAC,KAAK,IAAI5C,EAAsD2C,KAA9C,CAAkDzC,MAAjDF,EAAEmN,OAAO0X,OAAAA,EAAe7kB,EAAEmN,OAAO2X,WAAAA,GAAmB3X,OAAOqY,QAAQ,CAAC,EAAE7iB,GAAGuB,GAAGA,EAAE2L,WAAW,GAAG3L,CAAAA,CAAEuhB,cAAc,CAAC,CAACC,MAAM,SAAS,GAAGxhB,EAAE,KAAG,EAAI,EAAE,CAAC,EAAE,CAAC,EDA95C,CAACqgB,OAAO,CAACJ,IAAInkB,CAAC,CAAC,EAAE,IAAIkE,EAAE,IAAI/D,EAAEH,EAAEsjB,eAAe,CAAoCrjB,CAAnCC,CAAqCgX,KAAKyO,GAAG,CAAC,EAAEzlB,CAA9C,OAACgE,EAAElE,EAAE4lB,WAAAA,EAAmB1hB,EAAEiJ,MAAAA,EAAsB0Y,UAAU,CAAC1lB,EAAEolB,WAAW,CAAC,EAAEO,MAAM,CAAC3B,IAAInkB,CAAC,CAAC0E,EAAEvE,CAAC,CAAC,EAAE,IAAID,EAAEF,EAAEsjB,eAAe,CAACpf,EAAEgT,KAAKyO,GAAG,CAAC,EAAEzlB,EAAEqlB,WAAW,CAACrlB,EAAE6lB,WAAW,EAAEtjB,EAAEyU,KAAKyO,GAAG,CAAC,EAAE1lB,EAAEiE,GAAG/D,EAAEkD,KAAK,CAACnD,EAAE,eAAe,GAAGuC,EAAE,EAAE,CAAC,CAAC,CAAC,EEA5Q,CAAC8hB,OAAO,CAACJ,IAAInkB,CAAC,CAAC0E,EAAEvE,CAAC,CAAC,EAAEA,EAAEkD,KAAK,CAACrD,EAAEsjB,eAAe,CAAC,WAAW,SAAS,CAAC,ECA+jB,CAACrf,EAAEsI,OAAO,CAAC,CAAC,CAACgY,OAAOtkB,CAAC,CAAC,GAAGA,QAAQ,KAAK,EAAEA,EAAEE,IAAI8D,EAAEsI,OAAO,CAAC,CAAC,CAACuZ,MAAM7lB,CAAC,CAAC,GAAM,MAAHA,EAAQ,KAAK,EAAEA,EAAEE,GAAG,EAAE6lB,aAAa,CAACthB,EAAE1E,CAAC,CAAC,EAAEA,EAAE0D,OAAO,EAAE,EAAEuiB,SAAS,CAAC9B,IAAInkB,CAAC,CAAC,EAAE,IAAI,CAAC2M,MAAM,CAAC3M,EAAE,CAAC,GAAG2C,GAAE+J,SAAS,CAAC,GAAX/J,EAAgB,IAAI3C,EAAE2C,GAAEmf,WAAW,EAAZnf,CAAeF,EAAE,IAAImU,IAAI,IAAI,GAAG,CAAC1W,EAAE,GAAGF,EAAEyC,EAAEsV,GAAG,CAAC7X,EAAEA,EAAEojB,eAAe,CAACjgB,KAAK,CAACsR,QAAQ,EAAE,IAAI,IAAIzU,KAAKF,EAAEkmB,MAAM,GAAG,CAAC,IAAI/lB,EAAiB,WAAfsC,EAAEwV,GAAG,CAAC/X,EAAEikB,GAAG,EAAalgB,EAAY,IAAV/D,EAAEkkB,KAAK,EAAMngB,GAAG,CAAC9D,GAAG,CAAC8D,IAAG9D,CAAAA,EAAIwC,GAAEof,QAAQ,CAAC7hB,EAAEkkB,EAAZzhB,GAAiB,CAAC,EAAE,iBAAiB,eAAezC,GAAa,IAAVA,EAAEkkB,KAAK,EAAMzhB,GAAEof,QAAQ,CAAC,IAAVpf,OAAqBzC,EAAE,CAAC,mBGApjC,SAASA,GAAEF,CAAC,EAAE,MAAM,CAACA,EAAEmmB,MAAbjmB,CAAoB,CAACF,EAAEomB,OAAO,CAAC,gBEAqM,MAAgB,IAATnX,IAAyC,GAAlCA,UAAe,OAAOoX,YAAyC,aAAhB,OAAOC,SAAsB,CAAC,OAAC1hB,EAAW,MAATqK,GAAc,IAAPA,CAARrK,EAAsBqK,GAAQsX,GAAAA,CAADtX,CAAY,KAAK,EAAErK,EAAE,QAAW,IAAI,EAAhB,MAAwB,KAAiF,EAA1E,GAA4C,OAA3CZ,EAAW,CAA4EsiB,KAArFA,QAAc,KAAK,EAAEA,QAAQE,SAAAA,EAAiB,KAAK,EAAExiB,EAAEyiB,aAAAA,CAADziB,GAA+BsiB,QAAQE,SAAS,CAACC,aAAa,CAAC,WAAW,OAAOC,QAAQC,IAAI,CAAC,CAAC,+EAA+E,0FAA0F,GAAG,iBAAiB,QAAQ,0DAA0D,sBAAsB,MAAM,CAAChf,IAAI,CAAC,CAAC;AACp3B,CAAC,GAAG,EAAE,GAAG,IAAItD,GAAE,CAACpE,IAAIA,CAAC,CAACA,EAAE4H,IAAI,CAAC,EAAE,CAAC,OAAO5H,CAAC,CAACA,EAAE2mB,MAAM,CAAC,EAAE,CAAC,SAAS3mB,CAAC,CAACA,EAAE4mB,KAAK,CAAC,EAAE,CAAC,QAAQ5mB,CAAC,CAACA,EAAE6mB,KAAK,CAAC,EAAE,CAAC,SAAQ7mB,CAAAA,CAAC,CAAGoE,IAAG,CAAC,GEDxB,QFCqBA,CEDZE,GAAEC,CAAC,CAACtE,CAAC,EAAE,GAANqE,CAAUvE,EAAED,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,EAAE,EAAEE,EAAEmD,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACoB,GAAGG,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAK,IAAIxE,EAAE,IAAIH,EAAEI,OAAO,CAAC,CAAC,IAAI,GAAG,CAACuC,EAAEuB,EAAE,GAAGhE,EAAEkJ,OAAO,GAAG,GAAGpJ,EAAEI,OAAO,CAACuC,EAAE,GAAGuB,EAAE,CAAC,IAAIzB,EAAExC,EAAEC,EAAEC,GAAG,OAAOH,EAAEI,OAAO,CAACF,EAAEuC,CAAC,CAAC,EAAE,CAACxC,KAAKC,EAAE,CAAC,oDCAoP,IAAI6E,GAAEW,CAAAA,EAAAA,EAAAA,EAADX,WAACW,CAACA,CAAC,CAACqhB,OAAO,KAAK,EAAEC,aAAa,KAAK,EAAEC,YAAY,KAAK,EAAEC,kBAAkB,IAAK,GAAC,EAAGC,iBAAiB,IAAK,GAAC,EAAG3hB,KAAK,CAAC,CAAC,GAAGT,GAAE4F,OAAD5F,IAAY,CAAC,kBAAkB,IAAIhB,GAAE2B,CAAAA,EAAAA,EAAAA,EAAD3B,WAAC2B,CAACA,CAAC,MAA4mB,SAAS0hB,GAAG,CAAC9hB,SAAStF,CAAC,CAACqnB,QAAQnnB,EAAE,CAAC,CAAC,CAAC,YAA6iEC,EAAEqE,EAAEG,EAA/iE,MAAonET,IAAjnE,CAACzB,EAAEyB,EAAE,CAACI,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC,MAAM,CAACrE,EAAEE,EAAE,CAACmE,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC,GAAGE,EAAE8iB,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,MAAM,CAAC3iB,EAAE5E,EAAE,CAACuE,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC,MAA4rDtE,CAAC,CAAprD2E,EAAsrD2D,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAG,CAACtI,EAAE,OAAO,IAAIE,EAAE,IAAIqnB,iBAAiB,KAAK,IAAI9kB,EAAE0K,OAAOwX,gBAAgB,CAAC3kB,GAAGwc,SAAS,CAACtY,EAAEsjB,WAAW/kB,GAAG,GAAGqa,MAAM5Y,GAAG,OAAO,IAAIjE,EAAE8Y,SAAStW,GAAGqa,MAAM7c,IAAIiE,IAAIjE,IAAID,CAAAA,CAAEqD,KAAK,CAACmZ,SAAS,CAAC,GAAGtF,KAAKuQ,IAAI,CAACvjB,GAAG,GAAE,CAAE,GAAG,OAAOhE,EAAEyhB,OAAO,CAAC3hB,EAAE,CAAC0nB,WAAW,CAAC,EAAEC,gBAAgB,CAAC,QAAQ,GAAG,KAAKznB,EAAE0hB,UAAU,EAAE,CAAC,EAAE,CAAC5hB,EAAE,EAAz9D,IAAIoD,EAAElD,GAAO,OAAJuC,GAAUkC,SAAS,CAACijB,GAAG/iB,EAAE,QAAQ,CAACgjB,IAAI/iB,EAAE,CAAC,CAACgjB,OAAO7iB,EAAE,CAAC,CAACwP,QAAQxQ,EAAE,CAAC,CAAC8jB,MAAM5jB,CAAC,CAAC,EAAq5DnE,CAAC,CAAl5DyC,EAAm5DvC,CAAC,CAAl5DyE,EAAk6DlC,EAAEulB,GAAE,OAAC7nB,EAAK,MAAHH,EAAQ,KAAK,EAAEA,EAAE6nB,GAAAA,EAAW1nB,EAAE,uBAAuBD,KAAK8nB,GAAE,OAACxjB,EAAK,MAAHxE,EAAQ,KAAK,EAAEA,EAAE8nB,MAAAA,EAActjB,EAAE,0BAA0BtE,GAAGD,EAAE+nB,GAAE,OAACrjB,EAAE3E,QAAQ,KAAK,EAAEA,EAAEyU,OAAAA,EAAe9P,EAAE,2BAA2BzE,GAAS,CAAC,GAAGF,CAAC,CAAC6nB,IAAIplB,EAAEqlB,OAAO5jB,EAAEuQ,QAAQxU,CAAC,GAA9oE,CAAC0C,EAAEyB,EAAE,QAAQ,CAAC,CAACS,EAAE2C,KAAK,CAAC,KAAKc,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKlF,GAAGjD,EAAE,EAAE,EAAE,CAACiD,EAAE,EAAE,GAAG,CAAC6kB,KAAKjkB,CAAC,CAACkkB,eAAexe,CAAC,CAAC8D,QAAQlE,CAAC,CAAC,CAAC6e,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAACC,KAAKhlB,EAAEilB,UAAc,cAAJ1lB,EAAgByB,aAAa,SAAS,CAAC,OAAO,EAAEA,EAAAA,CAAG,CAAK,WAAJA,EAAa,GAAGzB,EAAAA,CAAG,CAAC,GAAGA,EAAE,CAAC,EAAEyB,EAAAA,CAAG,CAACkkB,SAAS,WAAWC,UAAU,CAAC,EAAEC,WAAW,CAACC,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAACC,SAAa,cAAJ/lB,EAAgB,EAAEmC,EAAE6jB,UAAU1jB,CAAC,GAAG2jB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAACnU,QAAQxQ,CAAC,GAAO,cAAJtB,GAAiBkmB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAACpU,QAAQxQ,CAAC,GAAO,cAAJtB,GAAiBwB,EAAE2kB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAAC,GAAG3kB,CAAC,CAACsQ,QAAQxQ,EAAE8kB,YAAYvkB,EAAEsjB,OAAO7nB,EAAE+oB,gBAA1kB,CAA0lBlS,CAAEmS,2BAA2BhlB,EAAEilB,iBAAiBhgB,CAAC,EAAE,IAAItB,EAAEmN,EAAE,GAAG,CAAC7L,EAAE,OAAO,IAAIxE,EAAE4E,EAAE6f,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC1kB,EAAE,OAAO,IAAIE,EAAE4iB,WAAW7C,iBAAiBjgB,GAAG2kB,mBAAmB,GAAG,EAAE3gB,EAAEwO,KAAK+B,GAAG,CAACnC,EAAEpS,EAAE4kB,iBAAiB,EAAEjlB,EAAE,EAAE2F,EAAE,EAAE,IAAI,IAAIzF,KAA2D,OAAtDwQ,EAAE,OAACnN,EAAE0B,EAAE6f,QAAQ,CAACC,QAAAA,EAAgB,KAAK,EAAExhB,EAAE2hB,UAAAA,EAAkBxU,EAAE,EAAE,CAAC,GAAGxQ,aAAawgB,YAAY,CAAC,IAAI3c,EAAE7D,EAAEilB,SAAS,CAACrhB,EAAEC,EAAE7D,EAAE8gB,YAAY,CAACzgB,EAAE8F,EAAEhG,EAAE+kB,SAAS,CAACvhB,EAAEwC,EAAEhG,EAAE2gB,YAAY,CAAC,GAAGjd,GAAGsC,GAAGvC,GAAGD,EAAEQ,QAAQ,CAACsB,EAAEkN,KAAKyO,GAAG,CAAC,EAAEzO,KAAK+B,GAAG,CAAC9Q,EAAED,GAAGgP,KAAKyO,GAAG,CAACvd,EAAEsC,IAAIrG,EAAEE,EAAE8gB,YAAY,CAAC,KAAK,CAAC,CAAC3c,GAAG,GAAGvI,EAAEoE,IAAI,IAAI6D,EAAE/D,EAAEqE,EAAEsB,EAAEpF,EAAE,OAAOL,GAAG6D,EAAE7D,EAAE6D,CAAC,EAAE,CAAC,GAAG,KAAKshB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAACjV,QAAQxQ,EAAE0lB,MAAM,CAACC,eAAe1gB,CAAC,CAAC2gB,gBAAgBnlB,CAAC,CAACykB,SAASvkB,CAAC,CAAC,EAAErB,OAAOC,MAAM,CAACoB,EAAEwkB,QAAQ,CAAC/lB,KAAK,CAAC,CAACsR,SAAS,OAAO2H,SAAS,GAAGpT,EAAE,EAAE,CAAC,CAACsT,UAAU,CAAC,qCAAqC,EAAE9X,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC+C,MAAM,CAACC,SAASoiB,qBAAqBC,GAAAA,EAAC,GAAG,CAAC/L,EAAErb,CAAC,CAAC4b,EAAEna,CAAC,CAAC,CAACkF,EAAE+e,SAAS,CAAC7gB,KAAK,CAAC,KAAS,cAAJ7E,CAAkBqb,GAAAA,EAAE,YAAU,CAAG,IAAIG,EAAEtV,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAK,EAACmhB,OAAO,CAAChM,EAAEO,EAAE,CAAC9W,MAAM,CAACC,SAASC,IAAI,CAAC,KAAI,EAAG,CAACqW,EAAEO,EAAE,EAAE9T,EAAEwf,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC3gB,EAAE,CAACyf,YAAYvkB,EAAE0lB,SAAS/pB,CAAC,GAAG,CAAC+mB,kBAAkBiD,CAAC,CAAChD,iBAAiBiD,CAAC,CAAC,CAACC,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAAC5f,EAAE,EAAE6f,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACrhB,IAAInJ,EAAEmJ,GAAGlF,EAAEijB,WAAW,CAAC/d,EAAE,GAAG,OAAOe,EAAAA,aAAe,CAAClG,GAAE6G,OAAD7G,CAAS,CAAC,CAACiB,MAAMd,CAAC,EAAE+F,EAAAA,aAAe,CAAClF,GAAE6F,OAAD7F,CAAS,CAAC,CAACC,MAAM,CAACiiB,YAAYqD,EAAEtD,aAAahjB,EAAEgjB,YAAY,CAACD,OAAOrd,EAAEwd,kBAAkBiD,EAAEhD,iBAAiBiD,EAAE5kB,KAAK2Y,CAAC,CAAC,EAAEne,GAAG,CAAwkB,SAASgoB,GAAEhoB,CAAC,CAACE,CAAC,CAACuC,CAAQ,EAAE,CAAR,GAAYyB,EAAEsmB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,GAAGvqB,EAAEsqB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,CAACxqB,EAAEqD,KAAK,GAAM,MAAHrD,EAAQ,MAAM,CAAC0C,EAAE,KAAK,CAAC,GAAa,UAAV,OAAO1C,EAAY,MAAM,CAACA,EAAE,KAAK,CAAC,GAAa,UAAV,OAAOA,EAAY,CAAC,GAAG,CAACqD,EAAE,MAAM,CAACX,EAAE,KAAK,CAAC,IAAIoC,EAAE4lB,GAAE1qB,EAAEqD,GAAG,MAAM,CAACyB,EAAEC,IAAI,IAAIG,EAAEM,SAAmbA,EAAEvF,CAAC,EAAE,IAAIE,EAAE,cAAc4Y,IAAI,CAAC9Y,GAAG,GAAGE,EAAE,CAAC,IAAIuC,EAAEvC,CAAC,CAAC,EAAE,CAAC2D,OAAO,CAAC,KAAK,GAAO,CAAC,IAALpB,EAAO,MAAM,CAACvC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAIgE,EAAEhE,CAAC,CAAC,EAAE,CAACqW,KAAK,CAAC,EAAE9T,GAAGioB,IAAI,GAAGzqB,EAAEC,CAAC,CAAC,EAAE,CAACqW,KAAK,CAAC9T,EAAE,GAAGioB,IAAI,GAAG,OAAOzqB,EAAE,CAACiE,KAAKqB,EAAEtF,GAAG,CAAC,CAACiE,EAAE,CAAC,MAAM,EAAE,EAA9lBnE,EAAG,EAAC,IAAIkE,EAAEgB,EAAE4E,GAAG,CAAC1F,GAAGgJ,OAAOwX,gBAAgB,CAACvhB,GAAGE,gBAAgB,CAACa,IAAID,EAAEpB,qBAAqB,CAAC,SAASqB,IAAID,EAAElB,SAAS,CAACmB,GAAG,IAAIxB,EAAE,CAAC,EAAE,IAAI,GAAG,CAACqB,EAAE0F,EAAE,GAAGzE,EAAEmE,OAAO,GAAG,CAAC,IAAIE,EAAE6D,OAAOwX,gBAAgB,CAACvhB,GAAGE,gBAAgB,CAACoG,GAAG,GAAGzF,CAAC,CAACD,EAAE,GAAGsF,EAAE,CAACrF,CAAC,CAACD,EAAE,CAACsF,EAAE3G,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAACA,EAAE,OAAO,IAAIyB,EAAEqmB,GAAE1qB,EAAEqD,GAAGyB,IAAIT,IAAIU,CAAAA,CAAEV,GAAGS,GAAET,CAAAA,EAAI,CAAC,OAAOF,EAAER,OAAO,EAAE,CAAC,MAAM,CAACjB,EAAE,KAAK,GAAGtC,EAAE0I,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAI5I,EAAED,EAAEE,EAAE,CAAC,EAAE,CAAC,CAACF,EAAEE,EAAE,EAAE,CAACsE,EAAErE,CAAC,CAACwE,EAAE,CAACL,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,GAAG,MAAOgE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAG,CAACvI,EAAEqD,EAAE,CAACnD,EAAED,EAAEE,GAAG,GAAGyE,EAAE5E,GAAKqD,CAAF,CAAC,OAAUA,EAAEuB,EAAE,EAAE,CAAC3E,EAAEE,EAAE,EAAEsE,CAAC,CAAwL,SAASimB,GAAEzqB,CAAC,CAACE,CAAC,EAAE,IAAIuC,EAAEkT,SAAS3H,aAAa,CAAC,OAAO9N,EAAEyqB,WAAW,CAACloB,GAAGA,EAAEY,KAAK,CAACunB,WAAW,CAAC,aAAa,MAAM,aAAanoB,EAAEY,KAAK,CAACunB,WAAW,CAAC,aAAa5qB,EAAE,aAAa,IAAIkE,EAAEsjB,WAAWra,OAAOwX,gBAAgB,CAACliB,GAAGooB,SAAS,GAAG,EAAE,OAAO3qB,EAAE4qB,WAAW,CAACroB,GAAGyB,CAAC,CAA38HH,GAAE4G,OAAD5G,IAAY,CAAC,mCCA7nB,SAASY,GAAE,CAACW,IAAFX,KAAWxE,CAAC,CAAC4qB,OAAO/qB,CAAC,CAAC,EAAE,IAAIyC,EAAEyB,GAAElE,EAAEG,GAAH+D,OAAajE,EAAAA,aAAe,CAACA,EAAAA,QAAU,CAAC,KAAKwC,EAAE,CAAC,SAASyB,GAAE/D,CAAC,CAACH,CAAC,EAAJkE,GAAS,CAACzB,EAAEvC,EAAE,CAACsE,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAACxE,GAAG,OAAM,GAAIyC,IAAIzC,GAAGE,EAAEF,GAAGG,EAAEsC,EAAEzC,CAAC,iBCA7H,IAAIyC,GAAEyB,CAAAA,EAAAA,EAAAA,aAAAA,CAACA,CAAC,MAAMzB,GAAEkI,WAAW,CAAC,oBAAoB,IAAIvH,GAAE,CAACpD,IAAIA,CAAC,CAACA,EAAEgrB,CAAV5nB,GAAc,CAAC,EAAE,CAAC,OAAOpD,CAAC,CAACA,EAAE4mB,MAAM,CAAC,EAAE,CAAC,SAAS5mB,CAAC,CAACA,EAAEirB,OAAO,CAAC,EAAE,CAAC,UAAUjrB,CAAC,CAACA,EAAEkrB,OAAO,CAAC,EAAE,CAAC,WAAUlrB,CAAAA,CAAC,CAAGoD,IAAG,CAAC,GAA4B,KAA/BA,IAAwCa,GAAE,CAACe,MAAM7E,CAAC,CAACmF,CAAVrB,QAAmB/D,CAAC,CAAC,EAAE,OAAOD,EAAAA,aAAe,CAACwC,GAAEmI,QAAQ,CAAC,CAAC5F,MAAM7E,CAAC,EAAED,EAAE,CEAnN,IAAID,GAAE,EAAE,EAACyE,SDAhHxE,CAAG,EAAE,ICA4GwE,CAALzE,IDA9FD,IAAbE,YAAiByV,CAAkClT,QAAzB0oB,UAAU,GAAe1oB,IAAIkT,SAAS9S,mBAAmB,CAAC,mBAAmB7C,EAAAA,CAAC,CAAgD,IAAnB,SAAE,EAA+B2V,KAAxBA,WAAwBA,SAASjT,gBAAgB,CAAC,mBAAmB1C,GAAGA,GAAAA,CAAE,ECAvG,KAAK,SAASA,EAAEE,CAAC,EAAE,GAAG,CAAEA,CAAAA,EAAEkQ,MAAM,YAAY2U,WAAAA,CAAU,EAAI7kB,EAAEkQ,MAAM,GAAGuF,SAASyV,IAAI,EAAEnrB,EAAC,CAAC,EAAE,GAAGC,EAAEkQ,MAAM,CAAC,OAAO,IAAI3N,EAAEvC,EAAEkQ,MAAM,CAAC3N,EAAEA,EAAEoT,OAAO,CAACrR,IAAGvE,GAAEorB,OAAO,CAAI,GAAf7mB,GAAY/B,EAAQA,EAAEvC,EAAEkQ,CAArBnQ,KAA2B,EAAEA,IAAEA,GAAEwH,MAAM,CAACtH,GAAM,MAAHA,CAAyBF,EAAhBE,EAAE0P,YAAW,EAAI/L,MAAM,CAAC,GAAG,CAACqJ,OAAOzK,gBAAgB,CAAC,QAAQ1C,EAAE,CAACsrB,QAAQ,CAAC,CAAC,GAAGne,OAAOzK,gBAAgB,CAAC,YAAY1C,EAAE,CAACsrB,QAAQ,CAAC,CAAC,GAAGne,OAAOzK,gBAAgB,CAAC,QAAQ1C,EAAE,CAACsrB,QAAQ,CAAC,CAAC,GAAG3V,SAASyV,IAAI,CAAC1oB,gBAAgB,CAAC,QAAQ1C,EAAE,CAACsrB,QAAQ,CAAC,CAAC,GAAG3V,SAASyV,IAAI,CAAC1oB,gBAAgB,CAAC,YAAY1C,EAAE,CAACsrB,QAAQ,CAAC,CAAC,GAAG3V,SAASyV,IAAI,CAAC1oB,gBAAgB,CAAC,QAAQ1C,EAAE,CAACsrB,QAAQ,CAAC,CAAC,EAAE,GEA1lB,IAAIrnB,GAAE,CAACb,IAAIA,CAAC,CAACA,EAAEif,KAAK,CAAC,EAAE,CAAC,GAAnBpe,KAA2Bb,CAAC,CAACA,EAAEkf,QAAQ,CAAC,EAAE,CAAC,WAAWlf,CAAC,CAACA,EAAEmf,IAAI,CAAC,EAAE,CAAC,OAAOnf,CAAC,CAACA,EAAEof,IAAI,CAAC,EAAE,CAAC,OAAOpf,CAAC,CAACA,EAAEmoB,QAAQ,CAAC,EAAE,CAAC,WAAWnoB,CAAC,CAACA,EAAEooB,OAAO,CAAC,EAAE,CAAC,WAAUpoB,CAAAA,CAAC,CAAGa,IAAG,CAAC,GAAG,SAASU,GAAET,CAAC,CAACzB,CAAC,CAApBwB,CAAsB,IAAI/D,EAAEuC,EAAEgpB,QAAd9mB,IAA0B,GAAG,GAAGzE,EAAEuJ,MAAM,EAAE,EAAE,OAAO,KAAK,IAAIxJ,EAAEwC,EAAEipB,kBAAkB,GAAG3rB,EAAK,MAAHE,EAAQA,EAAE,CAAC,EAAE,OAAOiE,EAAE4a,KAAK,EAAE,KAAK,EAAG,IAAI,IAAI9e,EAAE,EAAEA,EAAEE,EAAEuJ,MAAM,CAAC,EAAEzJ,EAAE,GAAG,CAACyC,EAAEkpB,eAAe,CAACzrB,CAAC,CAACF,EAAE,CAACA,EAAEE,GAAG,OAAOF,EAAE,OAAOC,CAAE,MAAK,EAAO,CAAC,IAALF,CAASA,GAAAA,EAAEG,EAAEuJ,MAAAA,EAAQ,IAAI,IAAIzJ,EAAED,EAAE,EAAEC,GAAG,EAAE,EAAEA,EAAE,GAAG,CAACyC,EAAEkpB,eAAe,CAACzrB,CAAC,CAACF,EAAE,CAACA,EAAEE,GAAG,OAAOF,EAAE,OAAOC,CAAE,MAAK,EAAG,IAAI,IAAID,EAAED,EAAE,EAAEC,EAAEE,EAAEuJ,MAAM,CAAC,EAAEzJ,EAAE,GAAG,CAACyC,EAAEkpB,eAAe,CAACzrB,CAAC,CAACF,EAAE,CAACA,EAAEE,GAAG,OAAOF,EAAE,OAAOC,CAAE,MAAK,EAAG,IAAI,IAAID,EAAEE,EAAEuJ,MAAM,CAAC,EAAEzJ,GAAG,EAAE,EAAEA,EAAE,GAAG,CAACyC,EAAEkpB,eAAe,CAACzrB,CAAC,CAACF,EAAE,CAACA,EAAEE,GAAG,OAAOF,EAAE,OAAOC,CAAE,MAAK,EAAG,IAAI,IAAID,EAAE,EAAEA,EAAEE,EAAEuJ,MAAM,CAAC,EAAEzJ,EAAE,GAAGyC,EAAEmpB,SAAS,CAAC1rB,CAAC,CAACF,EAAE,CAACA,EAAEE,KAAKgE,EAAEgB,EAAE,CAAC,OAAOlF,EAAE,OAAOC,CAAE,MAAK,EAAE,OAAO,IAAK,UAAvyB,SAAWiE,CAAC,EAAE,MAAM,MAA4xBM,SAAtyBA,aAA0CN,EAAE,EAA2vBA,EAAE,CAAC,6BCAhzB/D,GAAE,CAACF,IAAIA,EAANE,KAAa,CAAC,IAAIF,EAAE4mB,KAAK,CAAC,QAAQ5mB,EAAE4rB,MAAM,CAAC,SAAS5rB,EAAE6rB,SAAS,CAAC,YAAY7rB,EAAE8rB,MAAM,CAAC,SAAS9rB,EAAE+rB,SAAS,CAAC,YAAY/rB,EAAEgsB,OAAO,CAAC,UAAUhsB,EAAEisB,UAAU,CAAC,aAAajsB,EAAEksB,SAAS,CAAC,YAAYlsB,EAAEmsB,IAAI,CAAC,OAAOnsB,EAAEosB,GAAG,CAAC,MAAMpsB,EAAEqsB,MAAM,CAAC,SAASrsB,EAAEssB,QAAQ,CAAC,WAAWtsB,EAAEusB,GAAG,CAAC,OAAMvsB,CAAAA,CAAC,CAAGE,IAAG,CAAC,KAAHA,UCAhRmJ,GAAE,CAAC3E,GAAF2E,CAAM3E,CAAC,CAACA,EAAE8nB,IAAI,CAAC,EAAE,CAAC,OAAO9nB,CAAC,CAACA,EAAE+nB,KAAK,CAAC,EAAE,CAAC,SAAQ/nB,CAAAA,CAAC,CAAG2E,IAAG,CAAC,EAAHA,aGAC,IAAItJ,GAAEC,CAAAA,EAAAA,EAAAA,aAAAA,CAACA,CAAC,CAAC,GCAoqC4I,GAAEkB,EAAAA,GAADlB,KAAEkB,CAACW,GAAEnG,CAAAA,EAAAA,EAADmG,CAACnG,EAAAA,CAACA,CAAC,SAAStE,CAAC,CAACwC,CAAC,EAAE,IAAIzC,EHA5lCA,EGAgmCG,EAAEmE,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,MAAMJ,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC+D,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC9E,IAAIjD,EAAEC,OAAO,CAACgD,CAAC,GAAGX,GAAG2B,EAAEsB,GAAEvF,GAAGwC,EAA7iB,GAAyiB+C,KAAOsE,CAAviBA,CAAG,EAAE,IAAI/J,CAAR+J,CDAprB/F,CAAAA,CCA8rBsB,CDA9rBtB,EAAAA,UAAAA,CAACA,CAACjE,ICA6rBuF,EAAKX,CAAAA,EAAAA,EAAAA,UAAAA,CAACA,CAACK,IAAGjF,EAAE0F,GAAElB,GAAG,CAACrE,EAAE+D,EAAE,CAACia,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC,KAAK,IAAIje,EAAE,GAAG,CAACD,GAAO,OAAJwC,EAAS,OAAM,OAACvC,EAAEuC,EAAErC,OAAAA,EAAeF,EAAE,KAAK,GAAGoI,GAAAA,CAACA,CAACpB,QAAQ,CAAC,OAAO,KAAK,IAAI9C,EAAK,MAAHpE,EAAQ,KAAK,EAAEA,EAAE4V,cAAc,CAAC,0BAA0B,GAAGxR,EAAE,OAAOA,EAAE,GAAO,OAAJpE,EAAS,OAAO,KAAK,IAAI2C,EAAE3C,EAAEgO,aAAa,CAAC,OAAO,OAAOrL,EAAEwf,YAAY,CAAC,KAAK,0BAA0BniB,EAAEorB,IAAI,CAACT,WAAW,CAAChoB,EAAE,GAAG,MAAOmC,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAK3E,QAAWH,GAAG,MAAHA,GAASA,EAAEorB,IAAI,CAAC1G,QAAQ,CAACvkB,IAAIH,SAASA,EAAEorB,IAAI,CAACT,WAAW,CAACxqB,EAAAA,CAAC,EAAI,CAACA,EAAEH,EAAE,EAAE8E,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAK7E,GAAO,OAAJwC,GAAUyB,EAAEzB,EAAErC,OAAO,CAAC,EAAE,CAACqC,EAAEyB,EAAEjE,EAAE,EAAEE,CAAC,EAAmFA,GAAG,CAACD,EAAE,CAACie,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC,KAAK,IAAI/a,EAAE,OAAOkF,GAAAA,CAACA,CAACpB,QAAQ,CAAC,KAAK,OAAC9D,EAAK,MAAHgB,EAAQ,KAAK,EAAEA,EAAE4J,aAAa,CAAC,OAAK,CAAS5K,EAAE,IAAI,GAAGrD,EAAE6E,CAAAA,EAAAA,EAAAA,UAAAA,CAACA,CAACG,IAAGf,EFAptC,EEAktCe,OFAzsCb,QAAI,IAAIjE,GAA7IA,CAA+IF,CAA5H,GEAg0C8E,SFA7sCX,CAApI,OAAOyR,QAAuI5V,CAAhF,CAACI,CAAAA,CAAGA,EAAE0N,mBAAuB3N,CAAH,EAAK,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAACD,IAA6B,CAA1B,CAAC,CAA4BwC,EAAE,CAACvC,EAAAA,QAAU,CAACyE,GAAAA,CAACA,CAACsb,iBAAiB,EAAE,OAAOjgB,GAAyB,CAAC,IAAvB2E,GAAAA,CAACA,CAACsb,iBAAiB,EAAOxd,EAAE,CAAC,GAAGvC,EAAAA,SAAW,CAAC,KAAS,CAAC,IAALF,GAAQyC,EAAE,CAAC,EAAE,EAAE,CAACzC,EAAE,EAAEE,EAAAA,SAAW,CAAC,IAAIyE,GAAAA,CAACA,CAACqb,OAAO,GAAG,EAAE,GAAE/f,GAAKD,CAAH,CAAC,GEA2iCoI,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,CAACzF,GAAG,CAACzC,GAAGyC,EAAE+hB,QAAQ,CAACxkB,KAAKA,CAAAA,CAAEiiB,YAAY,CAAC,yBAAyB,IAAIxf,EAAEgoB,WAAW,CAACzqB,EAAAA,CAAC,EAAI,CAACyC,EAAEzC,EAAE,EAAEkI,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAGlI,GAAGH,EAAE,OAAOA,EAAEme,QAAQ,CAAChe,EAAE,EAAE,CAACH,EAAEG,EAAE,EHAv5CD,CGAy5CiJ,CHAv5CvE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACzE,KGA45C,CAANgJ,GAAU9F,CAAE,CAACT,GAAIzC,EAAD,EAAKA,CAAAA,YAAaohB,MAAM3e,EAAE+hB,QAAQ,CAACxkB,IAAIyC,EAAEmoB,WAAW,CAAC5qB,GAAGyC,EAAE4mB,UAAU,CAAC9f,MAAM,EAAE,GAAI,CAAqB,CAArB,MAACrG,EAAET,EAAEiN,aAAAA,GAAsBxM,EAAE0nB,WAAW,CAACnoB,EAAAA,CAAC,CAAG,KHA/hDF,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC,GAAG+B,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,IAAKxE,CAAAA,EAAEI,OAAO,CAAC,CAAC,EAAE,KAAKJ,EAAEI,OAAO,CAAC,CAAC,EAAED,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKH,EAAEI,OAAO,EAAEH,GAAG,GAAE,EAAG,CAACA,EAAE,EGAy9C,IAAI8D,EAAEW,CAAAA,EAAAA,GAAAA,EAAAA,CAACA,GAAG,OAAOV,GAAGrB,CAAD,EAAKzC,EAAD,CAAQ0H,EAAAA,EAAAA,YAAAA,CAACA,CAAC7D,EAAE,CAACoB,SAAS,CAACC,IAAIlB,CAAC,EAAEmB,WAA3fpF,CAAsgBD,CAAEwF,KAAK,CAAC,EAAEC,WAAWoD,GAAElD,KAADkD,QAAc,GAAG3I,GAA7E,EAAgF,EAAI,GAA6K6U,GAAEhL,EAAAA,QAACA,CAAC9E,GAAEqE,CAAAA,EAAAA,EAAAA,aAAAA,CAACA,CAAC,MAA8KvE,GAAEuE,CAAAA,EAAAA,EAADvE,aAACuE,CAACA,CAAC,MAAwVogB,GAAGnmB,OAAOC,MAAM,CAA5Be,CAAAA,EAAAA,GAAAA,EAAAA,CAACA,CAAjrB,QAAmrB0F,CAA1qBA,CAAG,CAAChK,CAAC,EAAE,GAANgK,CAAUxH,EAAE0B,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAClE,GAAG,CAAConB,QAAQrnB,EAAE,CAAC,CAAC,CAAC,GAAGG,EAAE,CAACqE,EAAEN,EAAEQ,CAAAA,EAAAA,GAAAA,EAAAA,CAACA,GAAG,OAAO1E,EAAE2E,EAAAA,aAAe,CAAC+F,GAAE,CAAC,GAAGvK,CAALuK,CAAOtF,IAAI3C,CAAC,GAAGyB,EAAE,CAACiB,SAAS,CAACC,IAAI3C,CAAC,EAAE4C,WAAWlF,EAAEqF,KAAK,CAAC,EAAEC,WAAWoD,GAAElD,KAADkD,QAAc,EAAE,GAA0iB,CAAC8jB,MAAzBpoB,CAA+B6lB,EAA/B7lB,GAAAA,EAAAA,CAACA,CAAhgB,QAAkgByZ,CAAzfA,CAAG,CAAC/d,CAAC,EAAE,GAAG,CAACmQ,OAAO3N,CAAC,CAAC,GAAGzC,EAAE,CAACwE,EAAEN,EAAE,CAACkB,IAAIjB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAClE,EAAE,EAAEmE,EAAEM,CAAAA,EAAAA,GAAAA,EAAAA,CAACA,GAAG,OAAOC,EAAAA,aAAe,CAACM,GAAE2F,QAAQ,CAAC,CAAC5F,MAAMvC,CAAC,EAAE2B,EAAE,CAACe,SAASjB,EAAEmB,WAAWrF,EAAEyF,WAAWsP,GAAEpP,KAAK,eAAe,GAAG,EAA4X,GCAolB,IAAIinB,GAAG,CAAC5sB,IAAIA,CAAC,CAACA,EAAEgrB,IAAI,CAAC,EAAE,CAAC,OAAOhrB,CAAC,CAACA,EAAE4mB,MAAM,CAAC,EAAE,CAAC,UAAS5mB,CAAAA,CAAC,CAAG4sB,IAAI,CAAC,GAAGC,GAAG,CAAC7sB,IAAIA,CAAC,CAACA,EAAE8sB,MAAM,CAAC,EAAE,CAAC,SAAS9sB,CAAC,CAACA,EAAE+sB,KAAK,CAAC,EAAE,CAAC,SAAQ/sB,CAAAA,CAAC,CAAG6sB,IAAI,CAAC,GAAGG,GAAG,CAAC7sB,IAAIA,CAAC,CAACA,EAAE8sB,OAAO,CAAC,EAAE,CAAC,UAAU9sB,CAAC,CAACA,EAAE+sB,KAAK,CAAC,EAAE,CAAC,QAAQ/sB,CAAC,CAACA,EAAEgtB,KAAK,CAAC,EAAE,CAAC,QAAQhtB,EAAAA,CAAC,CAAG6sB,IAAI,CAAC,GAAGI,GAAG,CAAClpB,IAAIA,CAAC,CAACA,EAAEmpB,YAAY,CAAC,EAAE,CAAC,eAAenpB,CAAC,CAACA,EAAEopB,aAAa,CAAC,EAAE,CAAC,gBAAgBppB,CAAC,CAACA,EAAEqpB,UAAU,CAAC,EAAE,CAAC,aAAarpB,CAAC,CAACA,EAAEspB,SAAS,CAAC,EAAE,CAAC,YAAYtpB,CAAC,CAACA,EAAEupB,cAAc,CAAC,EAAE,CAAC,iBAAiBvpB,CAAC,CAACA,EAAEwpB,gBAAgB,CAAC,EAAE,CAAC,mBAAmBxpB,CAAC,CAACA,EAAEypB,oBAAoB,CAAC,EAAE,CAAC,uBAAuBzpB,CAAC,CAACA,EAAE0pB,0BAA0B,CAAC,EAAE,CAAC,6BAA6B1pB,CAAC,CAACA,EAAE2pB,eAAe,CAAC,EAAE,CAAC,kBAAkB3pB,CAAC,CAACA,EAAE4pB,gBAAgB,CAAC,EAAE,CAAC,mBAAmB5pB,CAAC,CAACA,EAAE6pB,iBAAiB,CAAC,GAAG,CAAC,qBAAoB7pB,CAAAA,CAAC,CAAGkpB,IAAI,CAAC,GAAG,SAASY,GAAG9tB,CAAC,CAACuC,EAAEzC,GAAGA,CAAC,EAAE,IAAIA,EAAwB,OAAtBE,EAAE+tB,iBAAiB,CAAQ/tB,EAAEM,OAAO,CAACN,EAAE+tB,iBAAiB,CAAC,CAAC,KAAK9tB,EAAEsC,EAAEvC,EAAEM,OAAO,CAAC+V,KAAK,IAAI5R,EAAExE,EAAEsJ,MAAM,CAAC,GAAGtJ,QAAC,CAAC,EAAE,CAAC+tB,OAAO,CAAC9tB,OAAO,CAAC+tB,KAAK,CAAQhuB,EAAEgT,IAAI,CAAC,CAAC5O,EAAEG,IAAIH,EAAE2pB,OAAO,CAAC9tB,OAAO,CAAC+tB,KAAK,CAACzpB,EAAEwpB,OAAO,CAAC9tB,OAAO,CAAC+tB,KAAK,EjCA75D,CiCAi6DC,QjCAx5D1oB,CAAG,CAACzF,EAAEC,GAAGA,CAAC,EAAE,OAAOF,EAAEuW,KAAK,GAAGpD,IAAI,CAAC,CAACjT,EAAEsE,KAAK,IAAIrE,EAAEF,EAAEC,GAAG+D,EAAEhE,EAAEuE,GAAG,GAAO,OAAJrE,GAAc,OAAJ8D,EAAS,OAAO,EAAE,IAAIC,EAAE/D,EAAEkuB,uBAAuB,CAACpqB,GAAG,OAAOC,EAAEod,KAAKgN,2BAA2B,CAAC,CAAC,EAAEpqB,EAAEod,KAAKiN,2BAA2B,CAAC,EAAE,CAAC,EAAE,EiCAssDpuB,EAAEoE,GAAGA,EAAE2pB,OAAO,CAAC9tB,OAAO,CAACouB,MAAM,CAACpuB,OAAO,EAAE4D,EAAEhE,EAAE2E,EAAEd,OAAO,CAAC7D,GAAG,KAAK,OAAW,CAAC,IAALgE,CAASA,GAAAA,EAAE,KAAG,CAAG,CAACxD,QAAQmE,EAAEspB,kBAAkBjqB,CAAC,CAAC,CAAC,IAAIyqB,GAAG,CAAC,EAAG,CAAE,EAAE,IAAIhsB,EAAE,OAA6B,OAAtBA,EAAEvC,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgBqC,EAAEgC,QAAQ,EAAoB,IAAlBvE,EAAEwuB,aAAa,CAAKxuB,EAAE,CAAC,GAAGA,CAAC,CAAC+tB,kBAAkB,KAAKS,cAAc,EAAEC,SAAS,CAAC,EAAEC,kBAAkB,EAAEC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAG,CAAE,EAAE,IAAIpsB,EAAEzC,EAAE,GAAG,OAACyC,EAAEvC,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgBqC,EAAEgC,QAAQ,EAAoB,MAAhBiqB,aAAa,CAAK,OAAOxuB,EAAE,GAAG,OAACF,EAAEE,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgBJ,EAAEgF,KAAK,CAAC,CAAC,IAAI7E,EAAED,EAAEguB,OAAO,CAAC9tB,OAAO,CAAC0uB,cAAc,CAAC5uB,EAAEguB,OAAO,CAAC9tB,OAAO,CAAC4E,KAAK,EAAE,GAAG7E,CAAK,MAAE,MAAM,CAAC,GAAGD,CAAC,CAAC+tB,kBAAkB9tB,EAAEuuB,cAAc,EAAEG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG3uB,CAAC,CAACwuB,cAAc,EAAEG,WAAW,CAAC,CAAC,CAAC,EAAG,EAAD,CAAI3uB,CAAC,CAACuC,CAAC,GAASvC,EAAEyuB,QAAQ,GAAGlsB,EAAEksB,QAAQ,CAACzuB,EAAE,CAAC,GAAGA,CAAC,CAACyuB,SAASlsB,EAAEksB,QAAQ,EAAG,EAAG,CAAE,CAAClsB,CAAC,EAAE,IAAIuB,EAAEO,EAAEG,EAAE0D,EAAE,GAAG,OAACpE,EAAE9D,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgB4D,EAAES,QAAQ,EAAEvE,EAAE6uB,cAAc,EAAE,CAAE,OAACxqB,GAAErE,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgBmE,EAAEyqB,eAAe,CAAC5uB,OAAO,CAACuI,MAAAA,GAA2B,IAAlBzI,EAAEwuB,aAAa,CAAK,OAAOxuB,EAAE,GAAGA,EAAE+uB,OAAO,CAAC,CAAC,GAAG,CAACzuB,QAAQ4C,CAAC,CAACqB,SAASxE,CAAC,CAAC,CAACC,EAAE+uB,OAAO,CAAC/qB,EAAEzB,EAAEqc,KAAK,GAAGxa,GAAEinB,QAAQ,CAAC9oB,EAAEysB,GAAG,CAACC,GAAG1sB,EAAE,CAArB6B,aAAmC,IAAIlB,CAArB+rB,CAAuBzD,mBAAmB,KAAK,IAAI3hB,EAAEhK,EAAE,OAAM,OAACA,EAAE,OAACgK,EAAE7J,EAAE+tB,iBAAAA,EAAyBlkB,EAAE3G,EAAEgsB,SAAS,CAAC7pB,GAAG,CAACtF,EAAEsF,GAAAA,CAAE,CAASxF,EAAE,IAAI,EAAE4rB,gBAAgB1rB,EAAE2rB,YAAY,MAAM,MAAU,4BAA4B,CAAC,GAAGlhB,EAAE,OAAChG,EAAEjC,EAAE4sB,OAAAA,EAAe3qB,EAAE,EAAE,OAAOxE,EAAE+tB,iBAAiB,GAAG/pB,GAAGhE,EAAE0uB,iBAAiB,GAAGlkB,EAAExK,EAAE,CAAC,GAAGA,CAAC,CAAC+tB,kBAAkB/pB,EAAE0qB,kBAAkBlkB,EAAEikB,SAAS,CAAC,EAAEE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI7uB,EAAEguB,GAAG9tB,GAAG,GAAyB,OAAtBF,EAAEiuB,iBAAiB,CAAQ,CAAC,IAAI7qB,EAAEpD,EAAEQ,OAAO,CAAC4uB,SAAS,CAACnvB,GAAG,CAACA,EAAEiuB,OAAO,CAAC9tB,OAAO,CAACqE,QAAQ,EAAM,CAAC,IAALrB,CAASpD,GAAAA,EAAEiuB,iBAAiB,EAAC7qB,CAAAA,CAAG,IAAIjD,EAAEsC,EAAEqc,KAAK,GAAGxa,GAAEinB,QAAQ,CAAC9oB,EAAEysB,GAAG,CAACC,GAAG1sB,EAAE,CAArB6B,aAAmC,IAAItE,CAArBmvB,CAAuB3uB,OAAO,CAACkrB,mBAAmB,IAAI1rB,EAAEiuB,iBAAiB,CAACrC,UAAUxoB,GAAGA,EAAE8B,EAAE,CAACymB,gBAAgBvoB,GAAGA,EAAE8qB,OAAO,CAAC9tB,OAAO,CAACqE,QAAQ,GAAGE,EAAE,OAACyD,EAAE3F,EAAE4sB,OAAAA,EAAejnB,EAAE,EAAE,OAAOlI,EAAE+tB,iBAAiB,GAAG9tB,GAAGD,EAAE0uB,iBAAiB,GAAGjqB,EAAEzE,EAAE,CAAC,GAAGA,CAAC,CAAC,GAAGF,CAAC,CAAC2uB,SAAS,CAAC,EAAEV,kBAAkB9tB,EAAEyuB,kBAAkBjqB,EAAEkqB,WAAW,CAAC,CAAC,CAAC,EAAG,EAAE,CAAE3uB,EAAEuC,KAAK,IAAIuB,EAAEO,EAAEG,EAAE,GAAG,OAACV,EAAE9D,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgB4D,EAAEirB,OAAO,CAAC,MAAM,CAAC,GAAG/uB,CAAC,CAACM,QAAQ,IAAIN,EAAEM,OAAO,CAACiC,EAAE6sB,OAAO,CAAC,EAAE,IAAItvB,EAAEyC,EAAE6sB,OAAO,CAACnvB,EAAE6tB,GAAG9tB,EAAEkI,IAAIA,EAAExE,IAAI,CAAC5D,IAAGoI,CAAAA,CAA0B,QAAtBlI,EAAE+tB,iBAAiB,EAAS,OAAC1pB,EAAErE,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgBmE,EAAEgrB,UAAU,CAAC9sB,EAAE6sB,OAAO,CAACpB,OAAO,CAAC9tB,OAAO,CAAC4E,KAAK,IAAI7E,CAAAA,CAAE8tB,iBAAiB,CAAC9tB,EAAEK,OAAO,CAACqD,OAAO,CAAC7D,EAAAA,CAAC,CAAG,IAAI2E,EAAE,CAAC,GAAGzE,CAAC,CAAC,GAAGC,CAAC,CAACyuB,kBAAkB,CAAC,EAAE,OAAM,OAAClqB,EAAExE,EAAEguB,OAAO,CAAC9tB,OAAAA,GAAgBsE,EAAEmqB,UAAU,EAA4B,KAAK,IAA/B3uB,CAAmCyE,CAAjCupB,OAAO,CAAC9tB,OAAO,CAAC4E,KAAK,GAAYL,EAAEspB,iBAAiB,EAAC,EAAGtpB,CAAC,EAAG,EAAE,CAAEzE,EAAEuC,KAAK,IAAItC,EAAE,GAAG,OAACA,EAAED,EAAEguB,OAAO,CAAC9tB,OAAO,GAASD,EAAE8uB,OAAO,CAAC,MAAM,CAAC,GAAG/uB,CAAC,CAACM,QAAQN,EAAEM,OAAO,CAACiH,MAAM,CAAC9C,GAAGA,EAAEO,EAAE,GAAGzC,EAAEyC,EAAE,CAAC,EAAE,IAAIlF,EAAEguB,GAAG9tB,EAAEyE,IAAI,IAAIX,EAAEW,EAAEyqB,SAAS,CAAC7qB,GAAGA,EAAEW,EAAE,GAAGzC,EAAEyC,EAAE,EAAE,OAAW,CAAC,IAALlB,GAAQW,EAAEb,MAAM,CAACE,EAAE,GAAGW,CAAC,GAAG,MAAM,CAAC,GAAGzE,CAAC,CAAC,GAAGF,CAAC,CAAC4uB,kBAAkB,CAAC,CAAC,EAAG,EAAE,CAAE1uB,EAAEuC,IAAIvC,EAAE0uB,iBAAiB,GAAGnsB,EAAE4sB,OAAO,CAACnvB,EAAE,CAAC,GAAGA,CAAC,CAAC0uB,kBAAkBnsB,EAAE4sB,OAAO,EAAG,EAAE,CAAEnvB,EAAEuC,KAAK,IAAItC,EAAEwE,EAAE,GAAe,OAAZzE,EAAE+uB,OAAO,CAAQ,MAAM,CAAC,GAAG/uB,CAAC,CAAC+uB,QAAQ,CAACzuB,QAAQiC,EAAEjC,OAAO,CAACiE,SAAS,OAACtE,EAAEsC,EAAEgC,QAAAA,EAAgBtE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAGD,EAAE+uB,OAAO,CAACzuB,OAAO,GAAGiC,EAAEjC,OAAO,EAAEN,EAAE+uB,OAAO,CAACxqB,QAAQ,GAAGhC,EAAEgC,QAAQ,CAAC,OAAOvE,EAAE,IAAIF,EAAEE,EAAE+tB,iBAAiB,CAAC,GAAyB,OAAtB/tB,EAAE+tB,iBAAiB,CAAQ,CAAC,IAAIjqB,EAAEvB,EAAEjC,OAAO,CAACqD,OAAO,CAAC3D,EAAE+uB,OAAO,CAACzuB,OAAO,CAACN,EAAE+tB,iBAAiB,CAAC,EAASjuB,EAAH,CAAC,IAALgE,EAASA,EAAI,EAAFhE,EAAM,CAAC,MAAM,CAAC,GAAGE,CAAC,CAAC+tB,kBAAkBjuB,EAAEivB,QAAQ,CAACzuB,QAAQiC,EAAEjC,OAAO,CAACiE,SAAS,OAACE,EAAElC,EAAEgC,QAAAA,EAAgBE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAG,EAAE,CAAEzE,EAAEuC,IAAIvC,EAAEsvB,YAAY,GAAG/sB,EAAEgtB,OAAO,CAACvvB,EAAE,CAAC,GAAGA,CAAC,CAACsvB,aAAa/sB,EAAEgtB,OAAO,EAAG,EAAE,CAAEvvB,EAAEuC,IAAIvC,EAAEwvB,aAAa,GAAGjtB,EAAEgtB,OAAO,CAACvvB,EAAE,CAAC,GAAGA,CAAC,CAACwvB,cAAcjtB,EAAEgtB,OAAO,EAAG,GAAG,CAAEvvB,EAAEuC,IAAIvC,EAAE6uB,cAAc,GAAGtsB,EAAEgtB,OAAO,CAACvvB,EAAE,CAAC,GAAGA,CAAC,CAAC6uB,eAAetsB,EAAEgtB,OAAO,CAAC,EAAEE,GAAGC,CAAAA,EAAAA,EAAAA,GAADD,UAACC,CAAEA,CAAC,MAA8C,SAAShH,GAAG1oB,CAAC,EAAE,IAAIuC,EAAEotB,CAAAA,EAAAA,EAAAA,UAAAA,CAAEA,CAACF,IAAI,GAAO,IAATA,GAAKltB,EAAS,CAAC,IAAIzC,EAAE,MAAU,CAAC,CAAC,EAAEE,EAAE,+CAA+C,CAAC,CAAE,OAAMkb,MAAMgD,iBAAiB,EAAEhD,MAAMgD,iBAAiB,CAACpe,EAAE4oB,IAAI5oB,CAAC,CAAC,OAAOyC,CAAC,CAAhOktB,GAAGhlB,QAADglB,GAAY,CAAC,yBAAkN,IAAIG,GAAGF,CAAAA,EAAAA,EAAAA,aAAAA,CAAEA,CAAC,MAAM,SAASG,GAAG7vB,CAAC,EAAE,IAAIuC,EAAEgmB,GAAG,mBAAmB,CAACjoB,QAAQR,CAAC,CAAC,CAACyC,EAAEwsB,OAAO,CAAC,CAAC9uB,EAAEwE,EAAE,CAACoQ,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,KAAK,IAAI3R,EAAEX,EAAEssB,cAAc,CAAC,GAAG,CAAC3rB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAInD,EAAEkN,OAAOwX,gBAAgB,CAACvhB,GAAG,MAAM,CAACokB,WAAWvnB,EAAE+vB,iBAAiB,EAAE/vB,EAAE4c,UAAU,EAAE2K,WAAWvnB,EAAEgwB,eAAe,EAAEhwB,EAAEiwB,aAAa,EAAE,EAAE,CAACztB,EAAEssB,cAAc,CAAC,EAAE/qB,E9CgCtoP,E8ChCwoPmsB,O9CKxoP,GACA,K8CN2oP,C9CMxnP,YAAgB,QAAU,IAAK,KAClD,GACA,KACA,iBACA,MACA,EACQ,eAAS,IAEjB,IAEA,mCACA,CACA,EACA,IAAqB,UAAc,CACnC,QAAc,GAAW,IASzB,IATyB,GAEzB,gBACA,OACA,cACG,IACH,OACA,iBAEA,CACA,EAEA,CACA,kBAAsB,GACtB,oBAAwB,IACxB,WAAgB,G8CnC4nP9I,QAAmB,E9CmCloP,E8CnCunPrnB,EAAEyJ,MAAM,CAAK2mB,mBAAmBjwB,EAAEkwB,iBAAiB1rB,EAAEyf,MAAMpkB,EAAEyJ,MAAM,CAAC6mB,iBAAsB,oBAAIC,IAA0B9tB,EAAEssB,cAAc,CAAEyB,SAAS,E9CqCvyP,CAAG,E8CrCyyP,CAACjsB,EAAEG,EAAE,CAAC+rB,CAAAA,EAAAA,EAAAA,QAAAA,CAAEA,CAAC,GAAG3Z,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKpS,EAAEtB,GAAGA,EAAE,EAAE,EAAE,CAACpD,EAAE,EAAE,IAAIoI,EAAEpE,EAAE0sB,eAAe,GAAG,OAAkB,IAAXtoB,EAAEqB,MAAM,CAAK,KAAKZ,EAAAA,aAAe,CAACinB,GAAGllB,QAAQ,CAAC,CAAC5F,MAAMhB,CAAC,EAAE6E,EAAAA,aAAe,CAAC,MAAM,CAACxF,MAAM,CAACiR,SAAS,WAAWpD,MAAM,OAAOD,OAAO,GAAGjN,EAAE2sB,YAAY,GAAG,EAAE,CAAC,EAAEvrB,IAAIhC,IAAIA,GAAyB,IAAtBX,EAAEmsB,iBAAiB,EAA4B,OAAtBnsB,EAAEwrB,iBAAiB,EAASjuB,EAAEyJ,MAAM,CAAChH,EAAEwrB,iBAAiB,EAAEjqB,EAAE4sB,aAAa,CAACnuB,EAAEwrB,iBAAiB,CAAC,CAAC,EAAE7lB,EAAEyB,GAAG,CAACzG,IAAI,IAAInD,EAAE,OAAO4I,EAAAA,aAAe,CAACgoB,EAAAA,QAAEA,CAAC,CAAC1c,IAAI/Q,EAAE+Q,GAAG,EAAEtL,EAAAA,YAAc,CAAC,OAAC5I,EAAEC,EAAEoF,QAAAA,EAAgB,KAAK,EAAErF,EAAEoK,IAAI,CAACnK,EAAE,CAAC,GAAGA,EAAEsF,IAAI,CAACsrB,OAAO9wB,CAAC,CAACoD,EAAE2tB,KAAK,CAAC,GAAG,CAAC5c,IAAI,GAAG5P,EAAE,CAAC,EAAEnB,EAAE+Q,GAAG,EAAE,CAAC,aAAa/Q,EAAE2tB,KAAK,CAAC,eAAe/wB,EAAEyJ,MAAM,CAAC,gBAAgBrG,EAAE2tB,KAAK,CAAC,EAAE1tB,MAAM,CAACiR,SAAS,WAAWC,IAAI,EAAEC,KAAK,EAAE+T,UAAU,CAAC,WAAW,EAAEnlB,EAAEqD,KAAK,CAAC,GAAG,CAAC,CAACuqB,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIC,GAAGrB,CAAAA,EAAAA,EAAAA,aAAAA,CAAEA,CAAC,MAA2C,SAASnH,GAAGvoB,CAAC,EAAE,IAAIuC,EAAEotB,CAAAA,EAAAA,EAAAA,UAAAA,CAAEA,CAACoB,IAAI,GAAO,OAAJxuB,EAAS,CAAC,IAAIzC,EAAE,MAAU,CAAC,CAAC,EAAEE,EAAE,+CAA+C,CAAC,CAAE,OAAMkb,MAAMgD,iBAAiB,EAAEhD,MAAMgD,iBAAiB,CAACpe,EAAEyoB,IAAIzoB,CAAC,CAAC,OAAOyC,CAAC,CAAC,SAASyuB,GAAGhxB,CAAC,CAACuC,CAAC,EAAE,MAAO0lB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC1lB,EAAEgT,IAAI,CAACgZ,GAAGvuB,EAAEuC,EAAE,CAAvQwuB,GAAGtmB,WAAW,CAAC,sBAAyP,IAAIwmB,GAAGN,EAAAA,QAAEA,CAA0kSO,GAAGC,GAAAA,EAAEA,CAACvpB,cAAc,CAACupB,GAAAA,EAAEA,CAACtpB,MAAM,CAAwiIupB,GAAG5H,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC6H,SAA5oaA,CAAI,CAAC9uB,CAAC,MAAM+uB,EAAGC,E7BA52QrtB,CAAC,CAACO,CAAC,CDAvU3E,CAAC,CCAwU,CDAvUG,CAAC,EAACsC,CAAC,OCA2jCE,EDArjCS,E8BAwqR,IAAIpD,EAAE0xB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,GAAG,CAAC1sB,MAAM7E,CAAC,CAACwxB,aAAahtB,CAAC,CAACulB,SAASlmB,CAAC,CAACiR,KAAK1Q,CAAC,CAACoB,KAAKjB,CAAC,CAACktB,GAAGxpB,CAAC,CAAC3D,SAASrB,EAAEpD,GAAG,CAAC,CAAC,CAAC6xB,QAAQ5xB,CAAC,CAAC4uB,WAAW3qB,EAAE,CAAC,CAAC,CAAC4tB,SAASpnB,EAAE,CAAC,CAAC,CAACqnB,UAAUhoB,EAAE,CAAC,CAAC,CAACklB,QAAQlvB,EAAE,IAAI,CAACiyB,SAASzsB,CAAC,CAAC,GAAGgZ,EAAE,CAACre,EAAEwF,EzCAn6R,SAAW1F,CAAC,EAAE,GAAG,CAACE,EAAE,CAACsE,CAAAA,EAAAA,EAAAA,IAAXN,IAAWM,CAACA,CAACxE,GAAG,OAAOE,CAAC,EyCAs4RyE,GAAG,CAACqZ,EAAEtT,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC9C,EAAE,C1CAt4R,SAAShD,CAAG,CAAC3E,CAAC,CAACgE,CAAC,EAAE,E0CAu3RguB,C1CAp3R,CAAC7uB,EAAErD,EAAE,CAAC4E,CAAAA,CAAjBC,CAAiBD,EAAAA,QAAAA,CAACA,CAACV,GAAGjE,EAAM,KAAK,IAATkE,EAAWhE,EAAEC,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAACH,GAAGwE,EAAErE,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC,GAAGuE,EAAEvE,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC,GAAG,MAAOH,IAAIE,CAAD,CAAGE,OAAO,EAAGoE,EAAEpE,OAAO,CAA2M,EAAzMoE,EAA6MtE,EAAEE,OAAO,EAAGsE,EAAD,OAAU,GAAGA,CAAAA,CAAEtE,OAAO,CAAC,CAAC,EAAEF,EAAEE,OAAO,CAACJ,EAAE0mB,QAAQ3kB,KAAK,CAAC,iKAA+J,EAA3ayC,EAAEpE,OAAO,CAAC,CAAC,EAAEF,EAAEE,OAAO,CAACJ,EAAE0mB,QAAQ3kB,KAAK,CAAC,iKAA+J,CAAwO,CAAC/B,EAAEkE,EAAEd,EAAET,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACF,IAAIzC,GAAGD,EAAE0C,GAAM,MAAHxC,EAAQ,KAAK,EAAEA,EAAEwC,EAAAA,CAAC,EAAI,E0CA20QtC,EAAE6D,EAAE0B,GAAG,CAACvB,EAAEmF,EAAE,CAAC4oB,CAAAA,EAAAA,EAAAA,UAAAA,CAAEA,CAAChB,GAAG,CAAChD,QAAQiE,CAAAA,EAAAA,EAAAA,SAAAA,CAAEA,GAAGzD,gBAAcxqB,EAAMyqB,EAAJ,IAAE,GAAW,CAAC,EAAEnuB,QAAQ,EAAE,CAACyuB,QAAQlvB,EAAE,CAACS,QAAQT,EAAES,OAAO,CAACiE,SAAS,OAAC+sB,EAAGzxB,EAAE0E,QAAAA,EAAgB+sB,EAAG,IAAI,CAAC,CAAC,EAAE,KAAKvD,kBAAkB,KAAKW,kBAAkB,EAAEY,aAAa,KAAKE,cAAc,KAAKX,eAAe,KAAKF,WAAW3qB,CAAC,GAAG8jB,EAAEa,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,CAAC,GAAGnf,EAAEmf,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,CAAClgB,OAAO,CAAC,EAAEypB,KAAK,CAAC,CAAC,GAAGxtB,E3CAnnS,SAASJ,EAAjI,EAAqIN,M2CA0mSmuB,C3CApuSryB,CAAC,CAACC,CAAC,EAAE,GAAkHuE,IAAvG,UAAU,OAAJvE,GAAoB,UAAV,OAAOD,GAAuB,UAAV,OAAOC,GAAa,OAAOD,GAAG,OAAOC,EAAED,EAAEkF,EAAE,GAAGjF,EAAEiF,EAAE,CAAClF,IAAIC,CAAC,CAAe,EAAE,MAAOwC,CAAAA,EAAAA,EAAAA,WAAAA,CAACA,CAAC,CAACxC,EAAEC,IAAK,UAAG,OAAOF,EAA2B,CAACC,QAAQ,KAAK,EAAEA,CAAC,CAAzBD,EAA0BG,KAAOD,CAAAA,OAAQ,KAAK,EAAEA,CAAC,CAACC,EAAAA,EAAWH,EAAEC,EAAEC,GAAI,CAACF,EAAE,CAAC,E2CAi/RoI,GAAGM,EAAEzE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,GAAGrE,EAAM,OAAJqI,EAASrI,EAAES,OAAO,CAACqD,OAAO,CAACO,GAAGrE,EAAES,OAAO,CAAC4uB,SAAS,CAACnqB,GAAGL,EAAEK,EAAEb,IAAID,EAAE3D,OAAO,CAAC4uB,SAAS,CAACnqB,GAAGL,EAAEK,EAAEipB,OAAO,CAAC9tB,OAAO,CAAC4E,KAAK,CAACZ,KAAKqG,EAAE+f,CAAAA,EAAAA,EAAAA,WAAAA,CAAEA,CAACpmB,GAAG+jB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC3jB,EAAE8tB,IAAI,CAAC,CAAE,EAAE,IAAKtU,EAAEyG,IAAI,CAACxf,GAAGL,EAAEK,EAAEb,IAAK,EAAE,IAAKQ,EAAEoZ,EAAE5Z,EAAE,GAAG,CAAC4Z,EAAE,EAAE+L,EAAE9lB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,GAAGD,EAAE8pB,iBAAiB,GAAGvlB,EAAEtE,IAAII,EAAEuQ,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAK,EAAC,GAAG5Q,CAAC,CAAC4tB,UAAUhoB,EAAEilB,gBAAgBtlB,EAAE1E,MAAMgZ,EAAE2T,aAAajsB,EAAEjB,SAASrB,EAAEkvB,QAAK5nB,EAAMukB,EAAJ,IAAE,EAAUlvB,EAAEoE,EAAE8qB,OAAO,CAAC,KAAK,IAAIhB,mBAAmB,CAAC,GAAGjG,EAAE5nB,OAAO,EAAwB,OAAtB+D,CAA6BpE,CAA3BkuB,iBAAiB,GAAUluB,EAAEA,EAAES,OAAO,CAACiJ,MAAM,CAAC,EAAEtF,EAAE3D,OAAO,CAACiJ,MAAM,EAAC,EAAG,CAAC,GAAG1J,EAAE,CAAC,IAAIkF,EAAElF,EAAES,OAAO,CAAC4uB,SAAS,CAAC7E,IAAI,IAAIF,EAAGkI,EAAG,MAAM,CAAE,QAACA,EAAG,MAAClI,GAAGtqB,EAAE0E,QAAAA,EAAgB,KAAK,EAAE4lB,EAAGhgB,IAAI,CAACtK,EAAEwqB,EAAAA,CAAC,EAAUgI,CAAAA,CAAC,GAAK,GAAO,CAAC,IAALttB,EAAO,OAAOA,CAAC,CAAC,IAAIb,EAAED,EAAE3D,OAAO,CAAC4uB,SAAS,CAACnqB,GAAG,CAACA,EAAEipB,OAAO,CAAC9tB,OAAO,CAACqE,QAAQ,EAAE,GAAO,CAAC,IAALL,EAAO,OAAOA,CAAC,CAAC,OAAOD,EAAE8pB,iBAAiB,EAAEa,eAAepmB,EAAE8pB,QAAQ5tB,EAAE2qB,WAAW9kB,EAAEgoB,SAAS1I,EAAC,EAAG,CAAC/L,EAAEtY,EAAEtC,EAAEsH,EAAExG,EAAEC,EAAEpE,EAAE,EAAE+W,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,IAAI1S,EAAErE,GAAGuJ,EAAE,CAACmM,KAAK,EAAEjV,QAAQT,EAAES,OAAO,CAACiE,SAAS,OAACL,EAAErE,EAAE0E,QAAAA,EAAgBL,EAAE,IAAI,EAAE,EAAE,CAACrE,EAAK,MAAHA,EAAQ,KAAK,EAAEA,EAAES,OAAO,CAAI,MAAHT,EAAQ,KAAK,EAAEA,EAAE0E,QAAQ,CAAC,EAAEqS,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK3S,EAAE+pB,OAAO,CAAC9tB,OAAO,CAACoE,CAAC,EAAE,CAACA,EAAE,IAA0B,IAAlBA,EAAEkqB,aAAa,GAAU,CAAClqB,EAAEkrB,aAAa,CAAClrB,EAAEgrB,YAAY,CAAChrB,EAAEuqB,cAAc,CAAC,G7BAn1T1qB,CAACA,EAACD,EAAE,iBAAiBG,EAAEP,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACsE,I6BA+zTA,EAAEoqB,aAAa,I7BA30T3yB,EAAE6E,CAAAA,EAAAA,EAAAA,WAAAA,CAACA,CAAC,SAAS5E,CAAC,CAACyC,CAAC,EAAE,GAAGzC,EAAEwK,gBAAgB,CAAC,OAAO,IAAIvK,EAAEwC,EAAEzC,GAAG,GAAO,OAAJC,CAAU,EAACA,EAAE0yB,WAAW,GAAGjO,QAAQ,CAACzkB,IAAKA,EAAD,WAAc,EAA4G,IAAI,IAAIiE,KAAKgF,SAAlGhF,EAAE/D,CAAC,EAAE,MAAiB,YAAV,OAAOA,EAAc+D,EAAE/D,KAAKiH,MAAMuC,OAAO,CAACxJ,IAAIA,aAAamH,IAAInH,EAAE,CAACA,EAAE,EAAEwE,GAAkB,GAAGT,QAAWA,GAAAA,EAAEwgB,QAAQ,CAACzkB,IAAID,EAAE4yB,QAAQ,EAAE5yB,EAAE6yB,YAAY,GAAGlvB,QAAQ,CAACO,EAAAA,CAAC,CAAG,OAAO,OAAM,SJAmcI,CAAG,CAACrE,EAAE,CAAC,EAAE,EIA1c4I,EJA8c3I,EAAE,KAAdoE,EAAqBtE,IAAK,CAAU,CAAV,KAACE,GAAE4E,GAAE9E,EAAAA,CAAC,CAAS,KAAK,EAAEE,EAAEkrB,IAAI,GAAK/mB,CAAH,CAAC,CAAEA,GAAAA,CAAAA,CAACA,CAACpE,EAAE,CAAE,EAAD,IAAaD,EAAE8yB,OAAO,CAACnuB,IAAI,EAAG,EAAG,IAAIH,EAAExE,EAAE,EAAjB2E,GAA0B,OAAJH,GAAU,CAAC,GAAGA,EAAEsuB,OAAO,CAACnuB,IAAG,MAAM,CAAC,EAAEH,EAAEA,EAAEoL,CAAfjL,YAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EIAhnB1E,EAAE8E,GAAEie,KAAK,GAAgB,CAAC,IAAd/iB,EAAT8E,QAAmB,EAAO/E,EAAEoK,cAAc,GAAG7F,EAAEnE,OAAO,CAACJ,EAAEC,GAAE,EAAE,CAACsE,EAAEI,EAAE,EAAEvB,EAAEsB,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,MAAMT,GAAEO,EAAE,cAActE,CAAjB+D,GAAqB,IAAIjE,EAAEyC,CAAEW,GAAEhD,OAAO,CAAC,CAAgD,OAA9CqC,EAAE,OAACzC,EAAEE,EAAE2yB,YAAAA,EAAoB,KAAK,EAAE7yB,EAAEqK,IAAI,CAACnK,EAAAA,CAAC,CAAS,KAAK,EAAEuC,CAAC,CAAC,KAAKvC,EAAEkQ,MAAM,EAAE,CAAC,GAAGnM,GAAEO,EAAE,YAAYtE,GAAf+D,CAAmB,IAAIjE,EAAEyC,EAAEW,EAAEhD,OAAO,CAAC,CAAgD,MAA9CqC,GAAE,OAACzC,EAAEE,EAAE2yB,YAAAA,EAAoB,KAAK,EAAE7yB,EAAEqK,IAAI,CAACnK,EAAAA,CAAC,CAAS,KAAK,EAAEuC,CAAC,CAAC,EAAE,GAAGvC,EAAEkQ,MAAM,EAAE,CAAC,GAAGnM,GAAEO,EAAE,QAAQtE,IAAIoJ,GAAfrF,GAAoBb,EAAEhD,EAANkJ,KAAa,GAAGvJ,CAAAA,CAAEG,EAAE,IAAIkD,EAAEhD,OAAO,EAAEgD,EAAEhD,OAAO,CAAC,KAAG,EAAI,CAAC,KAASsE,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC0D,EAAE,EAAErD,EAAE,CAAC,GAAGd,GAAEO,EAAE,aAAatE,EAAhB+D,EAAoBtB,EAAEvC,OAAO,CAACgI,CAAC,CAAClI,EAAE6yB,OAAO,CAAC,EAAE,CAACC,OAAO,CAACrwB,EAAEvC,OAAO,CAAC2E,CAAC,CAAC7E,EAAE6yB,OAAO,CAAC,EAAE,CAACE,OAAO,EAAE,CAAC,GAAGhvB,GAAEO,EAAE,WAAWtE,IAAd+D,IAAsBjE,EAAE,CAACoI,EAAElI,EAAEgzB,cAAc,CAAC,EAAE,CAACF,OAAO,CAACjuB,EAAE7E,EAAEgzB,cAAc,CAAC,EAAE,CAACD,OAAO,EAAE,GAAG,CAAE/b,CAAAA,KAAKC,GAAG,CAACnX,EAAEoI,CAAC,CAACzF,EAAEvC,OAAO,CAACgI,CAAC,KAAGtD,EAAGoS,KAAKC,GAAG,CAACnX,EAAE+E,CAAC,CAACpC,EAAEvC,EAAjB0E,KAAwB,CAACC,CAAC,GAAvgC,EAA0gCD,CAAAA,CAAG,OAAO/E,EAAEG,EAAE,IAAIA,EAAEkQ,MAAM,YAAY2U,YAAY7kB,EAAEkQ,MAAM,CAAC,KAAK,EAAE,CAAC,IAAGjM,CAAI,SDA73CQ,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACxE,GCAq4CJ,EAAEG,EAAE,IAAIiN,OAAOwI,QAAQ,CAACqO,aAAa,YAAYmP,kBAAkBhmB,OAAOwI,QAAQ,CAACqO,aAAa,CAAC,ODAn+CrhB,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAK,GCA+2C6B,CDA52C,CAACtE,GAAE,IAAyCiN,OAAOzK,gBAAgB,CAAC1C,EAAEC,ECAy5C,CDAv5CwC,GAAG,IAAI0K,OAAOtK,mBAAmB,CAAC7C,EAAEC,GCAo3C,GDAt9C,SAASA,EAAEyE,CAAC,EAAEtB,EAAEhD,OAAO,CAACsE,EAAE,CAA4E,EAAE,GAAG1E,KAAI,E8BAuiU,IAAIgK,EAAE+K,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,KAAK,IAAI3Q,EAAEa,EAAEslB,EAAE,MAAM,CAACnC,KAAuB,IAAlB5jB,EAAEkqB,aAAa,CAAKjqB,SAASrB,EAAEgwB,YAAY5uB,EAAEypB,iBAAiB,CAACoF,aAAmC,OAAtB7uB,EAAEypB,iBAAiB,CAAQ,KAAKzpB,EAAEyqB,OAAO,CAACzqB,EAAEyqB,OAAO,CAACzuB,OAAO,CAA0B,OAAxB4D,EAAEI,EAAEypB,iBAAiB,EAAQ7pB,EAAE,EAAE,CAAC,OAACmmB,EAAE,MAACtlB,GAAET,EAAEhE,OAAO,CAACgE,EAAEypB,kBAAiB,EAAS,KAAK,EAAEhpB,EAAEipB,OAAO,CAAC9tB,OAAO,CAAC4E,KAAAA,EAAaulB,EAAE,KAAKvlB,MAAMgZ,CAAC,CAAC,EAAE,CAACxZ,EAAEpB,EAAE4a,EAAE,EAAE9V,EAAEjE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAyB,OAAtBO,EAAEypB,iBAAiB,CAAQ,CAAC,GAAG3lB,EAAEgrB,WAAW,CAAC,CAAC,GAAG9uB,EAAEyqB,OAAO,CAAChlB,EAAEzF,EAAEyqB,OAAO,CAACzuB,OAAO,CAACgE,EAAEypB,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAACC,QAAQ9pB,CAAC,CAAC,CAACI,EAAEhE,OAAO,CAACgE,EAAEypB,iBAAiB,CAAC,CAAChkB,EAAE7F,EAAEhE,OAAO,CAAC4E,KAAK,CAAC,CAACsD,EAAEirB,UAAU,CAACjvB,GAAEinB,QAAQ,CAAC/mB,EAAEypB,UAAZ3pB,OAA6B,CAAC,CAAC,GAAGS,EAAEd,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKqF,EAAE,CAACmM,KAAK,CAAC,GAAGuS,EAAE5nB,OAAO,CAAC,CAAC,CAAC,GAAG+d,EAAEla,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKqF,EAAE,CAACmM,KAAK,CAAC,GAAGuS,EAAE5nB,OAAO,CAAC,CAAC,EAAK,MAAHH,GAASA,GAAG,GAAGqnB,EAAGrjB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,IAAIkF,EAAE,CAACmM,KAAK,EAAEkZ,SAASvqB,CAAC,EAAE,GAAGkmB,EAAErmB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,CAACG,EAAEa,EAAEslB,IAAKvC,CAAAA,EAAE5nB,OAAO,CAAC,CAAC,EAAEgE,IAAIE,GAAEinB,QAAQ,CAACjiB,EAAE,CAACmM,KAAK,EAAEqJ,EAApBxa,IAA0BA,GAAEinB,QAAQ,CAAC2D,IAAIjqB,EAAEoqB,MAAhB/qB,EAAwBimB,CAAC,GAAGjhB,EAAE,CAACmM,KAAK,EAAEqJ,MAAM1a,EAAEirB,QAAQ9E,CAAC,GAAC,EAAIJ,EAAElmB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,CAACG,EAAEa,IAAKqE,GAAE,CAACmM,KAAK,EAAE6Z,QAAQ,CAACpqB,GAAGd,EAAE8pB,QAAQjpB,CAAC,CAAC,GAAG,KAAKT,EAAEiuB,QAAQ,CAACxtB,EAAE7E,OAAO,CAAC4E,KAAK,GAAIgjB,EAAAA,CAAE5nB,OAAO,CAAC,EAAC,EAAGkJ,EAAE,CAACmM,KAAK,EAAEvQ,GAAGd,CAAC,GAAE,GAAI6F,EAAEhG,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,GAAG+jB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC3jB,EAAE8tB,IAAI,CAAC,CAAE,EAAD,IAAgB,MAAH1qB,EAAQ,KAAK,EAAEA,EAAExD,GAAI,EAAG,EAAG,IAAIa,EAAET,EAAEQ,KAAK,CAACuR,KAAK,GAAGgU,EAAEtlB,EAAEmqB,SAAS,CAAC/E,GAAIzlB,EAAEylB,EAAGjmB,IAAI,OAAW,CAAC,IAALmmB,EAAOtlB,EAAErB,IAAI,CAACQ,GAAGa,EAAEnB,MAAM,CAACymB,EAAE,GAAM,MAAH3iB,EAAQ,KAAK,EAAEA,EAAE3C,EAAE,CAAC,IAAIiE,EAAEjF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,IAAIkF,EAAE,CAACmM,KAAK,EAAE4Z,QAAQjrB,CAAC,EAAE,GAAGovB,EAAGvvB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,IAAIkF,EAAE,CAACmM,KAAK,EAAEga,QAAQrrB,CAAC,EAAE,GAAGzB,EAAEsB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,IAAIkF,EAAE,CAACmM,KAAK,EAAEga,QAAQrrB,CAAC,EAAE,GAAG+D,EAAElE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACG,IAAIkF,EAAE,CAACmM,KAAK,GAAGga,QAAQrrB,CAAC,EAAE,GAAGkE,EAAEyM,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAK,EAACmV,SAASjgB,EAAEwpB,eAAetJ,EAAEoJ,WAAWjJ,EAAEgJ,YAAYhM,EAAGoL,cAAcvU,EAAEuV,aAAa3uB,EAAE4uB,qBAAqBzqB,EAAE0qB,mBAAmB1rB,EAAE2rB,gBAAgBL,EAAGM,iBAAiBnxB,EAAEoxB,kBAAkB5rB,EAAC,EAAG,EAAE,EAAE,CAACpE,GAAEe,GAAE,CAACkvB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAyBvJ,CAAtBpmB,EAAwBmmB,CAAAA,EAAAA,EAAAA,WAAAA,CAAEA,CAAC,KAAK,GAAO,KAAK,IAAT9kB,EAAW,OAAU,MAAHkC,EAAQ,KAAK,EAAEA,EAAElC,EAAE,EAAE,CAACkC,EAAElC,EAAE,EAAEuuB,GAAGhK,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAG,OAAOphB,EAAAA,aAAe,CAAC/D,GAAE,CAACE,MAAMjB,GAAE+F,MAAM,CAACuU,QAAQ,OAACoT,EAAGjtB,EAAEgrB,YAAAA,EAAoB,KAAK,EAAEiC,EAAGvsB,EAAE,EAAEM,KAAK,CAAC4iB,KAAuB,IAAlB5jB,EAAEkqB,aAAa,CAAKjqB,SAASrB,CAAC,CAAC,EAAEyF,EAAAA,aAAe,CAACqrB,EAAEA,CAAC,KAAKrrB,EAAAA,aAAe,CAAC8mB,GAAG/kB,QAAD+kB,CAAU,CAAC3qB,MAAMsD,CAAC,EAAEO,EAAAA,aAAe,CAACooB,GAAGrmB,QAAQ,CAAC,CAAC5F,MAAMR,CAAC,EAAEqE,EAAAA,aAAe,CAACsrB,GAAG,CAACnvB,MAAMmjB,CAAAA,EAARgM,GAAQhM,CAAAA,CAAEA,CAAC3jB,EAAEkqB,aAAa,CAAC,CAAE,EAAE,GAAI1D,IAAI,CAAE,EAAE,GAAToJ,MAAmB,EAAE,EAATA,MAAW1vB,GAASmE,EAAAA,aAAe,CAACwrB,GAAAA,EAAEA,CAAC,CAAC5vB,SAASrB,EAAE4R,KAAQ,MAAHgJ,EAAQ,CAAC,CAACtZ,EAAE,CAACsZ,CAAC,EAAE,CAAC,EAAE/I,KAAK1Q,EAAE2Q,QAAQuV,EAAC,GAAGwJ,GAAG,CAAC9uB,SAA9d,CAAued,MAA3e5B,EAAS,CAAC,EAAE,CAAC2C,IAAI3C,CAAC,EAA2d4C,WAAWkZ,EAAE/Y,KAAKwE,EAAEvE,WAAW0rB,GAAGxrB,KAAK,UAAU,OAAO,GAAssT2uB,GAAG5K,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC6K,SAA7oLA,CAAI,CAAC9xB,CAAC,MAAMiH,IAAE,IAAI1J,EAAEyoB,GAAG,mBAAmBtoB,EAAEyoB,GAAG,mBAAmBjkB,EAAE6vB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC/xB,EAAEtC,EAAE2zB,gBAAgB,EAAE9vB,EAAEywB,CAAAA,EAAAA,EAAAA,KAAAA,CAAEA,GAAG,CAACvvB,GAAGX,EAAE,CAAC,2BAA2B,EAAEP,EAAAA,CAAG,CAACS,SAASC,EAAE1E,EAAEyE,QAAQ,EAAE,CAAC,CAAC,CAACiwB,UAAUtsB,EAAE,CAAC,CAAC,CAAC,GAAGhF,EAAE,CAAClD,EAAED,EAAE00B,GAAG30B,EAAEwvB,YAAY,EAAEtrB,EAAED,CAAAA,CAAnB0wB,CAAmB1wB,GAAAA,CAAAA,CAACA,CAACW,IAAI,OAAOA,EAAEuP,GAAG,EAAE,KAAKtP,GAAE+vB,KAAK,CAAC,CAAP/vB,IAAYA,GAAEgiB,KAAK,CAACjiB,CAAPC,CAASuF,cAAc,GAAGxF,EAAE4L,eAAe,GAAqB,IAAlBxQ,EAAE0uB,aAAa,EAAM5F,CAAAA,EAAAA,EAAAA,SAAAA,CAAEA,CAAC,IAAI3oB,EAAEuzB,YAAY,IAAIzzB,IAAI,MAAO,MAAK4E,GAAEsnB,OAADtnB,EAAU,CAACD,EAAEwF,cAAc,GAAGxF,EAAE4L,eAAe,GAAqB,IAAlBxQ,CAAsB8oB,CAApB4F,aAAa,GAAO5F,CAAAA,EAAAA,EAAAA,SAAAA,CAAEA,CAAC,IAAI3oB,EAAEuzB,YAAY,IAAI1zB,EAAEgF,KAAK,EAAE7E,EAAEozB,UAAU,CAACjvB,GAAE+d,MAAK,EAAGpiB,IAAI,MAAO,GAApBqE,GAAyBO,GAAEonB,OAADpnB,CAASD,EAAEwF,cAAc,GAAGxF,EAAE4L,eAAe,GAAqB,IAAlBxQ,CAAsB8oB,CAApB4F,aAAa,EAAO5F,CAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAEA,CAAC,IAAI3oB,EAAEuzB,YAAY,IAAI1zB,EAAEgF,KAAK,EAAE7E,EAAEozB,UAAU,CAACjvB,GAAEke,KAAI,EAAGviB,IAAI,MAAO,IAAnBqE,EAAwBO,GAAEgnB,MAAM,CAAC,GAAqB,IAAlB7rB,EAAE0uB,aAAa,CAAK,MAAO9pB,GAAEwF,cAAc,GAAGpK,EAAE+uB,cAAc,EAAE,CAAC/uB,EAAEgvB,eAAe,CAAC5uB,OAAO,CAACuI,MAAM,EAAE/D,EAAE4L,eAAe,GAAGsY,CAAAA,EAAAA,EAAAA,SAAAA,CAAEA,CAAC,IAAI3oB,EAAEuyB,aAAa,IAAIzyB,IAAI,MAAO,SAAQ,MAAM,CAAC,GAAGyK,EAAEzG,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACW,IAAIA,EAAEwF,cAAc,GAAG,CRA7miB,MQAgniByqB,GRArmiBpyB,CAAC,EAAE,GAAJxC,CAAQD,EAAEyC,EAAEmN,aAAa,CAAC1L,EAAE,KAAK,KAAKlE,GAAG,CAAEA,CAAAA,aAAa80B,mBAAAA,CAAkB,EAAI90B,aAAa+0B,oBAAoB7wB,CAAAA,EAAElE,CAAAA,CAAGA,EAAEA,EAAE4P,aAAa,CAAC,IAAI1P,EAAE,CAACF,QAAQ,KAAK,EAAEA,EAAE0e,YAAY,CAAC,YAAU,GAAK,GAAG,QAAOxe,GAAa,MAATkD,GAAoBX,CAAC,EAAE,GAAJW,CAAQX,EAAE,MAAM,CAAC,EAAE,IAAIzC,EAAEyC,EAAEuyB,sBAAsB,CAAC,KAAS,OAAJh1B,GAAU,CAAC,GAAGA,aAAa+0B,kBAAkB,MAAM,CAAC,EAAE/0B,EAAEA,EAAEg1B,sBAAsB,CAAC,MAAM,CAAC,CAAC,EAAlK9wB,EAAAA,GAAMhE,CAAH,CAAC,CQA05hB0E,EAAEuL,aAAa,IAAIvL,CAAAA,CAAEqwB,MAAM,GAAGC,GAAGzI,IAADyI,GAA0B,CAAlBl1B,GAAAA,EAAE0uB,aAAa,CAAKvuB,EAAEuyB,aAAa,GAAGvyB,EAAEuzB,YAAY,GAAC,CAAGzzB,GAAAA,CAAI,GAAG8J,EAAEorB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAAC5wB,EAAE,EAAE,CAAC6wB,eAAer1B,CAAC,CAACs1B,WAAW9vB,CAAC,CAAC,CAAC+vB,EAAG,CAACZ,UAAUtsB,CAAC,GAAG,CAACmtB,UAAUhX,CAAC,CAACiX,WAA7BF,CAAyC,CAAC,CAACG,EAAG,CAACC,WAAWhxB,CAAC,GAAG,CAACixB,QAAQ3X,CAAC,CAAC4X,WAAWhuB,CAAC,CAAC,CAACiuB,S5CAv7hBnsB,CAAGjF,Q4CAs7hBoxB,C5CA76hB71B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIE,EAAEyC,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,MAAM,CAACF,EAAEyB,EAAE,CAACK,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC,CAAC,GAAGtE,EAAEqJ,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAGnJ,EAAEqE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKtE,EAAEE,OAAO,CAAC,KAAK8D,EAAE,CAAC,GAAGjE,EAAEyD,OAAO,EAAE,GAAGiB,EAAEH,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACzE,IAAI,GAAGE,EAAEyD,OAAO,GAAe,OAAZxD,EAAEE,OAAO,CAAQ,CAACF,EAAEE,OAAO,CAACL,EAAEoQ,aAAa,CAACjM,EAAE,CAAC,EAAG,EAAC,IAAId,EAAEsB,GAAE3E,EAAEoQ,EAAHzL,WAAgB,EAAEzE,EAAEyC,gBAAgB,CAACU,EAAE,YAAYjD,EAAE,CAAC,GAAGF,EAAEyC,gBAAgB,CAACU,EAAE,cAAca,IAAI,GAAG/D,EAAEE,OAAO,CAAC,KAA9XJ,CAAC,CAACE,CAAC,OAAzGuC,EAAgfyB,EAAEC,CAA9fjE,CAAggBkE,CAA9fpE,EAAEkR,KAAK,CAAC,IAAIlR,EAAEiR,MAAM,CAAC,IAAQ,CAACsD,IAAIvU,EAAEizB,OAAO,CAACxwB,EAAE2Z,MAAMpc,EAAEgzB,OAAO,CAAC9yB,EAAEic,OAAOnc,EAAEizB,OAAO,CAACxwB,EAAE+R,KAAKxU,EAAEgzB,OAAO,CAAC9yB,CAAC,IAA6ZA,EAAEE,OAAO,CAACqhB,qBAAqB,GAApa,CAAE,EAACzhB,GAAG,CAACE,GAAGF,EAAEoc,KAAK,CAAClc,EAAEsU,IAAI,EAAExU,EAAEwU,IAAI,CAACtU,EAAEkc,KAAK,EAAEpc,EAAEmc,MAAM,CAACjc,EAAEqU,GAAG,EAAEvU,EAAEuU,GAAG,CAACrU,EAAEic,MAAM,GAAgW,CAAC,EAAE,CAAC,GAAGlc,EAAEyC,gBAAgB,CAACU,EAAE,gBAAgBjD,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAACw1B,QAAQlzB,EAAEmzB,WAAW51B,EAAE,CAAC,EAAE,CAAC81B,cAAcnxB,EAAEoxB,YAAY51B,EAAEse,QAAQte,CAAC,CAAC,CAAC,E4CAo+gB,CAACsE,SAASC,CAAC,GAAGP,EAAE4Q,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAK,EAACqT,KAAuB,IAAlBpoB,EAAE0uB,aAAa,CAAKsH,OAAOhY,GAAqB,IAAlBhe,EAAE0uB,aAAa,CAAKjqB,SAASC,EAAEM,MAAMhF,EAAEgF,KAAK,CAACixB,MAAM1X,EAAEO,MAAM/e,EAAC,EAAG,CAACC,EAAEue,EAAExe,EAAEie,EAAEtZ,EAAE,EAAE4E,EAAE4sB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAAC9wB,IAAIT,EAAEO,GAAGX,EAAEkR,IAAAA,EzBAz8iBjR,CAAC,CyBAk9iBxE,EAAE0vB,aAAa,CzBAx9iB/sB,CAAAA,EAAAA,EAAAA,EyBAs8iBwzB,KzBAt8iBxzB,CAACA,CAAC,KAAK,IAAIF,EAAE,GAAGvC,EAAEuV,IAAI,CAAC,OAAOvV,EAAEuV,IAAI,CAAC,IAAIxV,EAAY,OAATwC,EAAEvC,EAAE8I,EAAE,EAAQvG,EAAE,SAAS,GAAa,UAAV,OAAOxC,GAA+B,WAAlBA,EAAEsJ,WAAW,IAAe,CAAI,MAAH/E,EAAQ,KAAK,EAAEA,EAAE0gB,OAAAA,IAAW,UAAU,CAAC1gB,EAAE4xB,YAAY,CAAC,QAAQ,MAAM,QAAQ,EAAE,CAACl2B,EAAEuV,IAAI,CAACvV,EAAE8I,EAAE,CAACxE,EAAE,GyBAowiB6xB,SAAS,CAAC,EAAE,gBAAgB,UAAU,gBAAgB,OAAC3sB,EAAE1J,EAAE+uB,cAAAA,EAAsB,KAAK,EAAErlB,EAAExE,EAAE,CAAC,gBAAgBlF,MAAE0uB,aAAa,CAAK,kBAAkB3kB,EAAEtF,SAASC,GAAG,KAAK,EAAEgwB,UAAUtsB,EAAEkuB,YAAY5rB,EAAE6rB,UAAUryB,CAAC,EAAEqB,EAAEG,EAAEkC,GAAG,MAAOqiB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAG,CAAC9kB,SAASmE,EAAEjE,WAAWjC,EAAEoC,KAAKrB,EAAEsB,WAArhD,CAAgiD+wB,QAAG7wB,KAAK,iBAAiB,EAAE,GAAwmI8wB,GAAG/M,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAArsT,SAASgN,CAAI,CAACj0B,CAAC,EAAE,IAAI6nB,EAAEH,EAAElgB,EAAEf,EAAEsqB,EAAG,IAAIxzB,EAAEyoB,GAAG,kBAAkBtoB,EAAEyoB,GAAG,kBAAkBjkB,EAAE8vB,CAAAA,EAAAA,EAAAA,KAAAA,CAAEA,GAAGzwB,EAAE2yB,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,GAAG,CAACzxB,GAAGX,EAAEP,GAAG,CAAC,0BAA0B,EAAEW,EAAAA,CAAG,CAACulB,SAASxlB,CAAC,CAACkyB,aAAaxuB,CAAC,CAAC3D,SAASrB,EAAEpD,EAAEyE,QAAQ,EAAE,CAAC,CAAC,CAACiwB,UAAUz0B,EAAE,CAAC,CAAC,CAACwV,KAAKvR,EAAE,MAAM,CAAC,GAAGwG,EAAE,CAACxK,EAAE6J,EAAE8e,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,MAAM9oB,EAAEy0B,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAACzqB,EAAEtH,EbAzsXsH,CaA2sX8sB,EbA3sX9sB,EAAAA,UAAAA,CAACA,CAAChF,IAAGiiB,MAAFjiB,MAAc,CaA+rX5E,EAAE0zB,eAAe,EAAEtuB,EAAEuxB,GAAG92B,EAAEwvB,MAAHsH,MAAe,EAAEvY,EAAEwY,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,GAAGrxB,EAAEzB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK9D,EAAE+pB,QAAQ,CAAC,MAAMlqB,EAAE+uB,cAAc,GAAG/uB,CAAAA,CAAE+uB,cAAc,CAACtF,SAAS,EAAC,EAAGtpB,EAAEozB,UAAU,CAACjvB,GAAEknB,OAAO,CAAC,GAA4IpE,CAAzIpJ,EAA4I,CAAC,CAACrb,EAAEwF,EAAE,CAAC,CAACG,EAAEvE,EAAE,IAAI,GAAG/D,EAAE2uB,QAAQ,CAAC,OAAO,IAAI7pB,EAAEiF,EAAE3J,OAAO,CAAC0E,GAAI,EAACf,OAAW,IAAJoE,GAAOxF,KAAI2F,CAAAA,GAAKxD,EAAAA,KAAO,EAACnC,CAAAA,CAAGG,sBAAsB,KAAK,GAAG9C,EAAE2uB,QAAQ,EAAE,CAAC7pB,GAAG,CAAI,MAAHS,EAAQ,KAAK,EAAEA,EAAEye,aAAAA,IAAiBlf,EAAE,OAAO,GAAG,CAACgf,eAAezf,CAAC,CAAC0f,aAAa0G,CAAC,CAAC,CAAC3lB,EAA0C,IAAxCoS,KAAKC,GAAG,CAAC,CAAI,QAAKsT,GAAE,GAAIpmB,EAAAA,MAAQA,GAAE,IAAa,IAAJA,GAAOS,EAAEmf,iBAAiB,CAACnf,EAAEE,KAAK,CAACyE,MAAM,CAAC3E,EAAEE,KAAK,CAACyE,MAAM,CAAC,GAAC,EAAI,CAAhdsL,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,KAAK,IAAIpS,EAAE,MAAiB,YAAV,OAAOyF,GAAyB,KAAK,IAAfpI,EAAEgF,KAAK,CAA0B,OAAfrC,EAAEyF,EAAEpI,EAAEgF,KAAK,GAASrC,EAAE,GAAmB,UAAhB,OAAO3C,EAAEgF,KAAK,CAAWhF,EAAEgF,KAAK,CAAC,EAAE,EAAE,CAAChF,EAAEgF,KAAK,CAACoD,EAAE,EAA8UpI,EAAE0uB,aAAa,CAACnpB,EAAEvF,EAAE2uB,QAAQ,CAAC,EAAEvH,GAAG,CAAC,CAACzkB,EAAE,CAAC,CAACwF,EAAE,IAAI,GAAO,IAAJxF,GAAOwF,MAAM,CAAC,GAAGnI,EAAE2uB,QAAQ,CAAC,OAAO,IAAIrmB,EAAEyB,EAAE3J,OAAO,CAAC,GAAG,CAACkI,EAAE,OAAO,IAAIvE,EAAEuE,EAAEtD,KAAK,CAAC,CAAC8e,eAAehf,CAAC,CAACif,aAAa1f,CAAC,CAAC2yB,mBAAmBvM,CAAC,CAAC,CAACniB,EAAEA,EAAEtD,KAAK,CAAC,GAAGsD,EAAEtD,KAAK,CAACjB,EAAM,OAAJ0mB,EAASniB,EAAE2b,iBAAiB,CAACnf,EAAET,EAAEomB,GAAGniB,EAAE2b,iBAAiB,CAACnf,EAAET,EAAE,CAAC,EAAE,CAACrE,EAAE0uB,aAAa,CAAC,EAAE,IAAI9mB,EAAEihB,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,CAAC,GAAG1kB,EAAEF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK2D,EAAExH,OAAO,CAAC,CAAC,CAAC,GAAGkJ,EAAErF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKsa,EAAEvb,SAAS,CAAC,KAAK4E,EAAExH,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG4nB,EAAE/jB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACtB,IAAI,OAAOxC,EAAEmzB,WAAW,CAAC,CAAC,GAAG3wB,EAAEwR,GAAG,EAAE,KAAKtP,GAAEgiB,KAAK,CAAC,CAAPhiB,EAA4B,IAAlB7E,EAAE0uB,aAAa,EAAM9mB,EAAExH,OAAO,CAAC,OAAO,GAAGuC,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAyB,OAAtBxQ,EAAEiuB,iBAAiB,CAAQ,CAAC9tB,EAAEuyB,aAAa,GAAG,MAAM,CAACvyB,EAAEyzB,kBAAkB,GAAY,IAAT5zB,EAAEsyB,IAAI,EAAMnyB,EAAEuyB,aAAa,GAAG,KAAM,MAAK7tB,GAAEsnB,OAADtnB,EAAU,CAAC,OAAOlC,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAG2X,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAACnoB,EAAE0uB,aAAa,CAAC,CAAE,EAAE,IAAKvuB,EAAEozB,UAAU,CAACjvB,GAAEie,IAAI,EAAG,EAAE,IAAKpiB,EAAEuzB,OAAjBpvB,KAA6B,EAAE,EAAG,MAAKO,GAAEonB,OAADpnB,CAAS,OAAOlC,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAG2X,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAACnoB,EAAE0uB,aAAa,CAAC,CAAE,EAAE,IAAKvuB,EAAEozB,UAAU,CAACjvB,GAAEge,QAAQ,EAAG,EAAG,KAAKwG,CAAAA,EAAAA,CAApBxkB,CAAoBwkB,SAAAA,CAAEA,CAAC,IAAI3oB,EAAEuzB,YAAY,IAAI1zB,EAAEgF,KAAK,EAAE7E,EAAEozB,UAAU,CAACjvB,GAAEke,IAAI,CAAC,CAAC,EAAG,MAAK3d,GAAEunB,IAAI,CAAC,EAANvnB,CAASlC,EAAEs0B,QAAQ,CAAC,MAAM,OAAOt0B,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAGrQ,EAAEozB,UAAU,CAACjvB,GAAE+d,KAAK,CAAE,MAAKxd,GAAEynB,MAAfhoB,CAAcO,OAAelC,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAGrQ,EAAEozB,UAAU,CAACjvB,GAAE+d,KAAK,CAAE,MAAKxd,GAAEwnB,GAAG,CAAC,EAAnB/nB,CAAcO,EAAUoyB,QAAQ,CAAC,MAAM,OAAOt0B,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAGrQ,EAAEozB,UAAU,CAACjvB,GAAEke,IAAI,CAAE,MAAK3d,GAAE0nB,OAAD1nB,CAAS,CAAC,OAAOlC,EAAEyH,cAAc,GAAGzH,EAAE6N,eAAe,GAAGrQ,EAAEozB,UAAU,CAACjvB,GAAEke,IAAI,CAAE,MAAK3d,GAAEgnB,MAAM,CAApBvnB,OAA8C,IAAlBtE,EAAE0uB,aAAa,CAAK,KAAK,GAAG/rB,CAAAA,CAAEyH,cAAc,GAAGpK,EAAE+uB,cAAc,EAAE,CAAC/uB,EAAEgvB,eAAe,CAAC5uB,OAAO,CAACuI,MAAM,EAAEhG,EAAE6N,eAAe,GAAGxQ,MAAEsyB,IAAI,EAAgB,OAAVtyB,EAAEgF,KAAK,EAASU,IAAIvF,EAAEuyB,aAAa,GAAC,MAAQ7tB,GAAE2nB,GAAG,CAAC,GAAL3nB,IAAQ7E,EAAE0uB,aAAa,CAAK,OAAgB,IAAT1uB,EAAEsyB,IAAI,EAA4B,IAAtBtyB,EAAE4uB,iBAAiB,EAAMzuB,EAAEyzB,kBAAkB,GAAGzzB,EAAEuyB,aAAa,EAAQ,CAAC,GAAGhpB,EAAEzF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACtB,IAAO,MAAH+B,GAASA,EAAE/B,GAAY,IAAT3C,EAAEsyB,IAAI,EAAuB,KAAjB3vB,EAAEyN,MAAM,CAACpL,KAAK,EAAOU,IAAIvF,EAAEuzB,YAAY,EAAE,GAAG9uB,EAAEX,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACtB,IAAI,IAAI2F,EAAEvE,EAAEe,EAAE,IAAIqD,EAAE,MAACG,GAAE3F,EAAEu0B,aAAAA,EAAqB5uB,EAAE6uB,GAAGje,IAAI,CAAC7U,GAAGA,IAAI1B,EAAEwN,OAAfgnB,MAA4B,EAAE,GAAG,CAAE,QAACpzB,EAAE/D,EAAE+uB,cAAAA,GAAuBhrB,EAAE2gB,QAAQ,CAACvc,EAAAA,CAAC,EAAI,CAAE,QAACrD,EAAE9E,EAAE0vB,aAAAA,GAAsB5qB,EAAE4f,QAAQ,CAACvc,EAAAA,CAAC,EAAsB,IAAlBnI,EAAE0uB,aAAa,CAAK,OAAO/rB,EAAEyH,cAAc,GAAY,IAATpK,EAAEsyB,IAAI,EAAgB,OAAVtyB,EAAEgF,KAAK,EAASU,IAAIvF,EAAEuyB,aAAa,EAAE,GAAGhqB,EAAEzE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACtB,IAAI,IAAI2F,EAAEvE,EAAEe,EAAE,IAAIqD,EAAE,OAACG,EAAE3F,EAAEu0B,aAAAA,EAAqB5uB,EAAE6uB,GAAGje,IAAI,CAAC7U,GAAGA,IAAI1B,EAAEwN,OAAfgnB,MAA4B,CAAGpzB,QAAAA,EAAE/D,EAAE0vB,aAAAA,GAAsB3rB,EAAE2gB,QAAQ,CAACvc,IAAI,OAACrD,EAAE9E,EAAE+uB,cAAAA,GAAuBjqB,EAAE4f,QAAQ,CAACvc,IAAInI,EAAEyE,QAAQ,EAAEzE,EAAE+xB,SAAS,EAAE/xB,MAAE0uB,aAAa,EAAMnQ,EAAEpb,SAAS,CAAC,KAAK2lB,CAAAA,EAAAA,EAAAA,SAAAA,CAAEA,CAAC,IAAI3oB,EAAEuzB,YAAY,IAAIvzB,EAAEwzB,oBAAoB,CAAC,EAAE,EAAE,GAAGlpB,EAAE0qB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAGpL,EAAEqN,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAG,CAACC,UAAU7yB,CAAC,CAAC6wB,WAAWjL,CAAC,CAAC,CAACkL,EAAG,CAACZ,UAAUz0B,CAAC,GAAG,CAACs1B,UAAUvrB,CAAC,CAACwrB,WAAWttB,CAAC,CAAC,CAACutB,EAAG,CAACC,WAAWtyB,CAAC,GAAG2B,EAAEgQ,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAK,EAACqT,CAA3BqN,IAAkD,IAAlBz1B,EAAE0uB,aAAa,CAAKjqB,SAASrB,EAAE6yB,MAAMjsB,EAAE8U,MAAMta,EAAE8yB,UAAUr3B,EAAC,EAAG,CAACD,EAAEgK,EAAExF,EAAEvE,EAAEmD,EAAE,EAAE+a,EAAE+X,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAAC9wB,IAAIrF,EAAEmF,GAAGX,EAAEqa,KAAK,WAAWnJ,KAAKvR,EAAE,gBAAgB,OAAComB,EAAEtqB,EAAE+uB,cAAc,EAAQ,KAAK,EAAEzE,EAAEplB,EAAE,CAAC,gBAAkC,IAAlBlF,EAAE0uB,aAAa,CAAK,wBAA8C,OAAtB1uB,EAAEiuB,iBAAiB,CAAQ,KAAK,EAAEjuB,EAAEivB,OAAO,CAAC,OAAC9E,EAAEnqB,EAAEQ,OAAO,CAAC0Y,IAAI,CAACvW,GAAG,CAACA,EAAEurB,OAAO,CAAC9tB,OAAO,CAACqE,QAAQ,EAAEzE,EAAEwyB,OAAO,CAAC7vB,EAAEurB,OAAO,CAAC9tB,OAAO,CAAC4E,KAAK,CAAChF,EAAEivB,OAAO,CAACzuB,OAAO,CAACR,EAAEiuB,iBAAiB,CAAC,GAAC,CAAS,KAAK,EAAE9D,EAAEjlB,EAAE,CAAC,OAAC+E,EAAEjK,EAAEQ,OAAO,CAACR,EAAEiuB,kBAAiB,EAAS,KAAK,EAAEhkB,EAAE/E,EAAE,CAAC,kBAAkBuF,EAAE,mBAAmBsf,EAAE,oBAAoB,OAAO4H,aAAa,OAAC6B,EAAG,OAACtqB,EAAEhJ,EAAEyxB,YAAAA,EAAoBzoB,EAAElJ,KAAsB,MAApB2xB,YAAY,CAAa,MAAHvpB,EAAQ,KAAK,EAAEA,EAAEpI,EAAE2xB,YAAY,EAAE,KAAG,CAAS6B,EAAGxzB,EAAE2xB,YAAY,CAACltB,SAASrB,GAAG,KAAK,EAAEsxB,UAAUz0B,EAAEs3B,mBAAmBpzB,EAAEqzB,iBAAiBluB,EAAEitB,UAAUvO,EAAEkC,SAASxgB,EAAE+tB,QAAQ/uB,EAAEgvB,OAAO9yB,CAAC,EAAEwlB,EAAEliB,GAAG,MAAO+hB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAG,CAAC9kB,SAASgZ,EAAE9Y,WAAWqF,EAAElF,KAAKT,EAAEU,WAAx/H,CAAmgIkyB,OAAGhyB,KAAK,gBAAgB,EAAE,GAAqrLiyB,GAAGC,GAAAA,EAAEA,CAACC,GAAGpO,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAhlI,SAASqO,CAAI,CAACt1B,CAAC,MAAM6nB,EAAEH,EAAElgB,YAAE,IAAIjK,EAAEy0B,CAAAA,EAAAA,EAAAA,KAAAA,CAAEA,GAAG,CAACvvB,GAAG/E,EAAE,CAAC,4BAA4B,EAAEH,EAAAA,CAAG,CAACoyB,KAAKztB,EAAE,CAAC,CAAC,CAACqlB,OAAOhmB,CAAC,CAACg0B,OAAOzzB,EAAE,CAAC,CAAC,CAAC0zB,MAAMvzB,EAAE,CAAC,CAAC,CAACwzB,WAAW9vB,EAAE,CAAC,CAAC,CAAC,GAAGhF,EAAE,CAAClD,EAAED,EAAEwoB,GAAG,oBAAoBvkB,EAAE0kB,GAAG,oBAAoBle,EbA/1iB7B,CAAAA,CaAi2iBsvB,CbAj2iBtvB,CaAm2iBsvB,CbAn2iBtvB,OAAAA,CAACA,CAAC,IAAI7I,EAAE,OAAOA,YAAY,CAAC4nB,IAAG5nB,EaAq0iBgE,EbAl0iBhE,KAAO,GAAG,CaA2ziB0K,KAAInG,EAAE,EAAC,EAAG,GAAG,CAACwF,EAAEhK,EAAE,CbA1niB,EaA6niBq4B,ObApniBC,EAAK,IAAI,EAAM,CAAC,IAALr4B,CAASA,GAAAA,EAAE,KAAG,CAAa,UAAV,EAAqBA,KAAdA,GAAcA,GAAE,CAAC4nB,GAAG5nB,EAAC,EAAG,IAAIE,EAAE6J,CAAAA,EAAAA,EAAAA,UAAAA,CAACA,CAAChG,IAAGtB,EAAEoG,CAAAA,EAAAA,CAAJ9E,CAAI8E,OAAAA,CAACA,CAAC,IAAI7I,EAAE,CAACkb,KAAKC,SAAS,CAACnb,EAAE,CAACC,EAAEE,KAAK,IAAIqE,EAAE,OAAM,OAACA,EAAK,MAAHrE,EAAQ,KAAK,EAAEA,EAAEm4B,SAAAA,EAAiB9zB,EAAErE,CAAC,GAAG,EAAEmI,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAQ,MAAHpI,GAASA,EAAK,MAAHuC,EAAQA,EAAE,KAAK,EAAE,CAACvC,EAAEuC,EAAE,EAAE,IAAIyB,EAAE6F,CAAAA,EAAAA,EAAAA,UAAAA,CAACA,CAAChF,IAAG,MAAFA,CAAS8D,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAI,CAAC3E,EAAE+iB,WAAW,CAACjnB,EAAEkE,EAAE6iB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC7iB,EAAE+iB,WAAW,CAACjnB,EAAEkE,EAAE6iB,MAAM,CAAC,CAAC,EaAu1hBrc,GAAG,CAACnF,EAAEgZ,EAAE,CAACkS,CAAAA,EAAAA,EAAAA,QAAAA,CAAEA,CAAC,MAAM/qB,EbA9wiB,EaAkxiB6yB,ObAzwiB/D,EAAK,GAAG,CAACrN,iBAAiBnnB,CAAC,CAACwF,KAAKtF,CAAC,CAAC,CAAC6J,CAAAA,EAAAA,EAAAA,UAAAA,CAACA,CAAChF,IAAG,MAAFA,CAASksB,EAAAA,EAAAA,WAAAA,CAAEA,CAAC,CAAC,GAAGxuB,IAAIc,OAAOC,MAAM,CAAC,CAAC,EAAExD,KAAKyC,GAAG,CAAC,cAAcvC,EAAE8pB,MAAM,GAAG,CAAChqB,EAAEE,EAAE,CAAC,IaAwpiB8d,EAAEwW,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC/xB,EAAEiI,EAAEX,EAAE,KAAK7F,EAAE6vB,iBAAiB,CAACxV,GAAG3W,EAAEkvB,GAAG72B,EAAE8uB,MAAH+H,QAAiB,EAAE3yB,EXA/6jBO,CAAAA,CWAi7jB8zB,CXAj7jB9zB,EAAAA,UAAAA,CAACA,CAACjC,IWAo7jB,CAAC6G,EAAE0e,EAAE,CAACyQ,ShBCj+jBrwB,CAAG,CAAC3F,CAAC,CAACzC,CAAC,CAACoD,CAAC,EAAE,GAAG,CAACnD,EAAEE,CAAhBiI,CAAkB,CAACsC,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAAC1K,GAAG,CAAC04B,QAAQ34B,CAAC,CAAC44B,QAAQh2B,CAAC,CAACi2B,WAAW10B,CAAC,CAAC,CDDnN,SAASD,ECC4Mc,CDDvM,EAAE,GAAG,CAAC7E,EAAEgE,EAAE,CAACF,CAAAA,EAAAA,EAAAA,QAAAA,CAACA,CAACQ,GAAG8E,EAAErJ,CAAAA,EAAAA,EAAAA,WAAAA,CAACA,CAACD,GAAGkE,EAAElE,GAAG,CAACE,EAAE,EAAEH,EAAEE,CAAAA,EAAAA,EAAAA,WAAAA,CAACA,CAACD,GAAGkE,EAAEvB,GAAGA,EAAE3C,GAAG,CAACE,EAAE,EAAEqE,EAAEtE,CAAAA,EAAAA,EAAAA,WAAAA,CAACA,CAACD,GAAG,CAACE,GAAEF,CAAAA,GAAKA,EAAE,CAACE,EAAE,EAA+C,CAA7CuC,KAAmD,CAACo2B,MAAM34B,EAAE44B,QAAQxvB,EAAEqvB,QAAQ54B,EAAE24B,QAAQn0B,EAAEq0B,WAAxF34B,CAAmGwC,EAAnGxC,EAAAA,WAAAA,CAACA,CAACD,GAAGkE,EAAEvB,GAAGA,EAAE,CAAC3C,GAAG,CAACkE,EAAE,EAAkF60B,CAAhFl0B,UAAE5E,CAAAA,EAAAA,EAAAA,WAAAA,CAACA,CAACD,GAAGkE,EAAEvB,GAAGA,EAAE3C,GAAG,CAACkE,EAAE,CAAwE,CAAC,ECCOhE,GAAGD,EAAE,EAAE,GAAGuE,EAAEP,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC,GAAGU,EAAEV,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC,CAAC,GAAGa,EAAEwE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAG,MAAOhF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAW,GAAGpE,EAAE,CAAC,GAAGF,GAAGG,EAAE,CAAC,GAAG,CAACsC,EAAE,CAACzC,GAAG2C,EAAE,GAAG,MAAM,CAAC,OAAM,CAAC+B,IAAEtB,IAAuhBkF,CAAphB,CAAwhB,CAAC0wB,KAAphB,GAA4hBv2B,CAAC,CAACw2B,IAAIj5B,CAAC,CAACk5B,KAAK91B,CAAC,CAAC+1B,GAA1hB,MAAmiBl5B,CAAC,CAA9hByE,EAAE2F,IAAI,CAACjH,CAAgiBmB,CAAAA,CAA9hBvE,CAA8hBuE,GAAAA,CAAAA,CAACA,GAAG,OAAO0F,SAAyZA,CAAG,CAAC,CAACkvB,IAA7ZlvB,KAAsaxH,CAAC,CAACu2B,EAAf/uB,MAAuBjK,CAAC,CAAC,EAAE,GAAM,MAAHyC,GAASA,EAAErC,OAAO,CAAC,CAACJ,IAAI,MAAM,CAAC,IAAIoD,EAAElD,EAAEmD,KAAK,CAAC60B,UAAU,CAACh4B,EAAEmD,KAAK,CAAC60B,UAAU,CAAC,OAAOl4B,IAAIE,EAAEk5B,YAAY,CAACl5B,EAAEmD,KAAK,CAAC60B,UAAU,CAAC90B,CAAC,EAA/iBlD,EAAE,CAAC84B,QAAQv2B,EAAE02B,SAASl5B,CAAC,GAAGE,EAAE6C,SAAS,CAAC,KAAKhD,IAAIG,EAAE2C,qBAAqB,CAAC,KAAK3C,EAAEyC,GAAG,CAACiG,SAA+BA,CAAG,CAACpG,CAAC,EAAE,IAAItC,EAAEJ,EAAE,IAAIC,EAAEuE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAG,GAAG,CAACrE,EAAE,OAAOF,EAAE0D,OAAO,CAAC,IAAIN,EAAE,CAAC,EAAEpD,EAAE4C,GAAG,CAAC,KAAKQ,EAAE,CAAC,CAAC,GAAG,IAAInD,EAAE,OAACF,EAAE,OAACI,EAAED,EAAEumB,aAAa,EAAQ,KAAK,EAAEtmB,EAAEkK,IAAI,CAACnK,GAAGuH,MAAM,CAAC9E,GAAGA,aAAa02B,cAAAA,CAAa,CAASt5B,EAAE,EAAE,CAAC,OAAkB,IAAXE,EAAEwJ,MAAM,CAAMhH,IAAgBP,CAAZlC,EAAE0D,KAAkB41B,EAAX,IAAGp3B,IAAkB,CAACjC,EAAE4J,GAAG,CAAClH,GAAGA,EAAE42B,QAAQ,GAAGh3B,IAAI,CAAC,KAAKa,GAAGX,GAAG,GAAGzC,EAAE0D,OAAO,EAAxTxD,EAAEkD,GAAG,EAAE,GAAGjD,EAAEuD,OAAO,EAA7oBjB,EAAE,CAAC02B,SAAS30B,EAAEw0B,UAAUr0B,EAAEvE,OAAO,CAACuE,EAAEvE,OAAO,CAAC,CAAC,EAAEuE,EAAEvE,OAAO,CAACoE,EAAEpE,OAAO,CAACoE,EAAEpE,OAAO,CAAC,CAAC,EAAE,EAAGA,OAAO,GAAGJ,CAAAA,EAAG2C,CAAAA,CAAE,GAAGuB,EAAE,GAAC,EAAIvB,EAAAA,GAAKuB,EAAE,GAAC,CAAC,EAAI+0B,MAAMt0B,EAAEvE,OAAO,CAACJ,GAAGkE,CAAAA,CAAE,GAAGvB,EAAE,GAAC,EAAIuB,EAAAA,GAAKvB,EAAE,GAAC,CAAG3C,EAAEkE,EAAE,GAAGvB,EAAE,EAAE,EAAEu2B,OAAO,IAAI90B,EAAEO,EAAEvE,OAAO,EAA0B,YAAxB,OAAOqC,EAAEgkB,aAAa,EAAchkB,EAAEgkB,aAAa,GAAGhd,MAAM,CAAC,IAAIjF,CAAAA,CAAEpE,OAAO,CAAC,CAAC,EAAE8D,EAAE,GAAGlE,GAAGG,EAAE,CAAC,GAAIiE,CAAD,CAAW,EAARhB,GAAa,CAAyBpD,CAAG,CAAC,CAA3BoD,CAA6B,CAAC,EAAE,CAAClD,EAAEF,EAAEyC,CAA7B,CAA+BqC,EAAE,EAAE5E,EAAE,CAACD,EAAE,CAACu5B,GAA7B,CAACp2B,GAAmCrD,EAAE,GAAG05B,MAAM15B,EAAE,GAAG25B,MAAM35B,EAAE,GAAGm4B,WAAWn4B,EAAE,IAAIA,EAAE,EAAE,EAAE,CAAC,CAACC,EAAE,CAACw5B,OAAO,KAAK,EAAEC,MAAM,KAAK,EAAEC,MAAM,KAAK,EAAExB,WAAW,KAAK,CAAC,EAAE,EgBDuziB9vB,EAAE7C,EAAM,OAAJpB,EAAS,CAACA,EAAEiwB,GAAGpJ,IAAAA,IAAQoJ,EAATA,CAAYpJ,IAAI,CAAmB,IAAlB/qB,CAANm0B,CAAQ1F,aAAa,ElCApkkBjsB,CAAC,CkCA8kkBxC,EAAEuvB,YAAY,ClCA3lkBtrB,CAAC,CkCA2lkBA,EAAEwuB,aAAa,ClCApmkBtvB,EAAEa,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC/D,IAAI,IAAIF,EAAEE,EAAEuhB,qBAAqB,EAAGzhB,CAAM,MAAJoI,CAAC,EAAY,IAANpI,EAAE+E,CAAC,EAAgB,IAAV/E,EAAEkR,KAAK,EAAiB,IAAXlR,EAAEiR,MAAM,EAAM/M,GAAG,GAAG/D,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAK,GAAG,CkCA+9jBmJ,ElCA59jB,OAAO,IAAIpJ,EAAM,OAAJuC,EAAS,KAAKA,aAAasiB,YAAYtiB,EAAEA,EAAErC,OAAO,CAAC,GAAG,CAACF,EAAE,OAAO,IAAIF,EAAEwE,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAG,GAAG,oBAAOkd,eAA4B,CAAC,IAAIzhB,EAAE,IAAIyhB,eAAe,IAAIte,EAAEhD,OAAO,CAACF,IAAID,EAAE0hB,OAAO,CAACzhB,GAAGF,EAAE4C,GAAG,CAAC,IAAI3C,EAAE2hB,UAAU,GAAG,CAAC,GAAgC,aAA7B,OAAO+X,qBAAkC,CAAC,IAAI15B,EAAE,IAAI05B,qBAAqB,IAAIv2B,EAAEhD,OAAO,CAACF,IAAID,EAAE0hB,OAAO,CAACzhB,GAAGF,EAAE4C,GAAG,CAAC,IAAI3C,EAAE2hB,UAAU,GAAG,CAAC,MAAM,IAAI5hB,EAAE0D,OAAO,EAAE,EAAE,CAACjB,EAAEW,IAAI,EeA3e,SAASuB,CAAG,CAACV,CAAC,CAACxB,EAAE,EmBAopkBm3B,CAAClwB,CnBAjpkB,CAACiM,MAAZhR,GAAqBymB,IAAI,CAAC,GDAlB,SAASzoB,CAAG,CAAC3C,CAAC,CAACyC,EAAE,IAAK,EAAC+hB,ECAuBtgB,CAACjE,QDArC0C,EAA0B,EAAE,EAAE,IAAIgC,EAAE5E,GAAEG,IAAGC,EAAEH,EAAND,EAAUkY,GAAG,CAACjY,EAAZE,CAAe,KAAK,GAAEkD,GAAIjD,EAAEikB,KAAK,CAAa5f,CAAAA,CAAZ,CAAYA,GAAAA,CAAT,CAAUA,CAAC,KAAK,GAAG,CAAE,EAACxE,GAAG,EAACC,CAAAA,CAAG,OAAOC,GAAE6hB,QAAQ,CAAC,IAAV7hB,GAAiBF,EAAEyC,GAAG,IAAIvC,GAAE6hB,QAAQ,CAAC,IAAV7hB,EAAgBF,EAAEyC,EAAE,EAAE,CAACxC,EAAED,EAAE,CAAG,ECA1JuE,CAACA,EAACvE,EAAE,eAAmBiE,EAAE/D,IAAI,IAAIC,EAAE,MAAM,CAACqkB,WAAW,IAAsB,OAAjBrkB,EAAED,EAAEskB,UAAAA,EAAkBrkB,EAAE,EAAE,CAACsC,EAAE,CAAC,EAAE,GmBAs/jBxC,EAAE4uB,UAAU,EAAInqB,CAAH,CAAC,CAAuB,IAAlBzE,EAAEyuB,aAAa,CAAU9mB,GnCAtnjB,SAAW1H,CAAC,CAAC,CAAC25B,MmCA0pjBC,CAACl1B,CnCAnpjB3E,CAAC,CAAC85B,KAAdh1B,MAAyB/E,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIoD,EAAEiB,CAACA,EAACnE,EAAE,gBAAgB0E,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,IAAIF,EAAET,EAAE,GAAG,CAACb,EAAE,OAAO,IAAIT,EAAEkG,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,GAAG,IAAI,IAAIpG,KAA4B,OAAvBiC,EAAK,MAAH1E,EAAQ,KAAK,EAAEA,GAAAA,CAAE,CAAS0E,EAAE,EAAE,CAACjC,GAAGE,EAAEC,GAAG,CAACsG,GAAEzG,IAAI,IAAI1C,EAA0B,OAAvBkE,EAAEhE,QAAQ,KAAK,EAAEA,GAAAA,CAAE,CAASgE,EAAE,EAAE,CAAC,IAAI,IAAIxB,KAAK1C,EAAE,CAAC,GAAG,CAAC0C,EAAE,SAAS,IAAIyB,EAAEF,GAAEvB,GAAG,CAAJuB,EAAO,CAACE,EAAE,SAAS,IAAI/D,EAAEsC,EAAEmN,aAAa,CAAC,KAAKzP,GAAGA,IAAI+D,EAAEknB,IAAI,EAAE,CAAC,IAAI,IAAIhnB,KAAKjE,EAAEmF,QAAQ,CAACvF,EAAE0kB,IAAI,CAAC3f,GAAGV,EAAEsgB,QAAQ,CAAC5f,KAAKnC,EAAEC,GAAG,CAACsG,GAAE9E,IAAIjE,EAAEA,EAAEyP,aAAa,CAAC,CAAC,OAAOjN,EAAEe,OAAO,EAAE,CAACN,EAAEnD,EAAED,EAAE,CAAC,EmCAiuiBC,GAAE4uB,UAAU,EAAInqB,CAAH,CAAC,CAAuB,IAAlBzE,EAAEyuB,aAAa,CAAU,CAACmL,QAAQrP,CAAAA,EAAAA,EAAAA,WAAAA,CAAEA,CAAC,IAAI,CAACvqB,EAAEuvB,YAAY,CAACvvB,EAAEyvB,aAAa,CAACzvB,EAAE8uB,cAAc,CAAC,CAAC,CAAC9uB,EAAEuvB,YAAY,CAACvvB,EAAEyvB,aAAa,CAACzvB,EAAE8uB,cAAc,CAAC,CAAC,GAAGjY,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,IAAI5N,EAAEjJ,EAAE+uB,eAAe,CAAC5uB,OAAO,CAACuI,MAAM,CAAe,OAAbO,EAAEhJ,EAAEyI,MAAAA,GAAcO,CAAI,EAAE,CAAJ,CAAC,CAAM8lB,eAAe,CAAC9uB,EAAEyI,MAAM,CAAC,EAAEmO,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK7W,EAAE+uB,eAAe,CAAC5uB,OAAO,CAACgyB,IAAI,CAACztB,CAAC,EAAE,CAAC1E,EAAE+uB,eAAe,CAACrqB,EAAE,EAAEq1B,SfAh+kBn1B,CAAG,CAAC,CAACo1B,KeA69kBD,KfAn9kBh6B,CAAC,CAACk6B,EAAhBr1B,KAAuB3E,CAAC,CAACi6B,KAAKl6B,CAAC,CAAC,EAAE,IAAIE,EAAE2E,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC5E,GAAGgE,EAAEY,CAAAA,EAAAA,EAAAA,MAAAA,CAACA,CAAC7E,GAAG2E,CAAAA,EAAAA,EAAAA,SAAAA,CAACA,CAAC,KAAKzE,EAAEC,OAAO,CAACF,EAAEgE,EAAE9D,OAAO,CAACH,CAAC,EAAE,CAACC,EAAED,EAAE,EAAE+J,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAG,CAAChK,GAAG,CAACiE,EAAE,OAAO,IAAIxB,EAAEiC,GAAE1E,GAAG,CAAJ0E,EAAO,CAACjC,EAAE,OAAO,IAAIkC,EAAExE,EAAEC,OAAO,CAACgE,EAAEF,EAAE9D,OAAO,CAACgD,EAAEG,OAAOC,MAAM,CAACe,GAAGI,EAAEJ,GAAG,CAAC61B,WAAWz1B,CAAC,GAAGH,EAAE/B,EAAE43B,gBAAgB,CAACr6B,EAAEs6B,WAAWC,YAAY,CAACn3B,EAAE,CAAC,GAAG,KAAKoB,EAAEg2B,QAAQ,IAAIp2B,EAAEI,EAAEi2B,WAAW,CAAC,EAAE,CAACz6B,EAAEiE,EAAE9D,EAAE+D,EAAE,CAAC,EeAiskB,IAAlBjE,EAAEyuB,aAAa,CAAK,CAACuL,UAAUh6B,EAAE8uB,cAAc,QAACmL,CAAQ,EAAkC,WAAzBhxB,EAAEwV,YAAY,CAAC,QAAmB4b,WAAWI,aAAa,CAACxxB,EAAEktB,YAAY,CAAC,QAAQkE,WAAWK,WAAW,CAACL,WAAWM,aAAa,CAAET,KAAKjxB,CAAC,EAAEA,EAAEiZ,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAIzZ,EAAEysB,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC,CAAE7K,OAAAA,EAAErqB,EAAEyvB,aAAAA,EAAqB,KAAK,EAAEpF,EAAEplB,EAAE,CAAC,EAAEuF,EAAEsK,CAAAA,EAAAA,EAAAA,OAAAA,CAACA,CAAC,IAAK,EAACqT,KAAuB,IAAlBnoB,EAAEyuB,aAAa,CAAKoC,OAAO,KAAK,EAAC,EAAG,CAAC7wB,EAAEyuB,aAAa,CAAC,EAAE3E,EAAE9lB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAKC,EAAEyvB,oBAAoB,CAAC,EAAE,GAAGnvB,EAAEP,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACiF,IAAIA,EAAEkB,cAAc,GAAGlG,EAAEyvB,oBAAoB,CAAC,EAAE,GAAGvJ,EAAE8L,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAACxrB,EAAEhF,IAAI,CAAC,EAAE,CAAC,kBAAkBgD,EAAEkW,KAAK,UAAU,uBAAuB3e,IAAW,CAAC,CAAVqyB,IAAI,EAAQ,KAAK,EAAEptB,GAAG/E,EAAEiF,IAAI4Y,EAAE3a,MAAM,CAAC,GAAGD,EAAEC,KAAK,CAAC,GAAGtD,CAAC,CAAC,gBAAgBs4B,GAAGp4B,EAAEuvB,YAAY,CAAf6I,CAAiB,GAAGnnB,KAAK,CAAC,iBAAiBmnB,GAAGp4B,EAAEyvB,aAAH2I,CAAiB,CAAC,GAAGnnB,KAAK,EAAE2pB,QAA8B,IAAtB56B,EAAE2uB,iBAAiB,CAAK,KAAK,EAAE7E,EAAEuM,YAAY9xB,EAAE,GAAGs2B,ShBC3umB/wB,CAAG,EAAE,IgBDwumB+wB,EhBClumB,CAAC,EAAE,IAAb/wB,IAAqB/J,KAAKE,EAAS,CAAC,IAARA,CAAC,CAACF,EAAE,GAAQyC,CAAC,CAAC,CAAC,KAAK,EAAEzC,EAAAA,CAAG,CAAC,CAAC,GAAC,CAAG,OAAOyC,CAAC,EgBD0qmBulB,EAAE,GAAGhe,EAAEV,GAAqB,IAAlBrJ,EAAEyuB,aAAa,CAAKxmB,EAAE6yB,GAAG/wB,EAAE,GAAH+wB,GAAI5Q,GAAElqB,EAAEgvB,OAAAA,EAAe,KAAK,EAAE9E,EAAE3pB,OAAO,EAAEuE,EAAEg2B,GAAG/wB,EAAE/J,EAAE+E,CAAL+1B,IAAU,EAAE5c,EAAEla,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACiF,GAAGjJ,EAAEuyB,OAAO,CAACztB,EAAEmE,IAAI,GAAGjJ,EAAEgvB,OAAO,CAAC,CAAC,GAAO,KAAK,IAAT/mB,EAAW,MAAM,MAAU,qCAAqC3E,OAAOC,MAAM,CAACJ,EAAE,CAACkC,SAASuD,EAAAA,aAAe,CAACooB,GAAGrmB,QAAQ,CAAC,CAAC5F,MAAMkD,IAAIjI,EAAEgvB,OAAO,CAACzuB,OAAO,CAAC,CAAC,GAAGP,CAAC,CAACgvB,QAAQ,CAAC,GAAGhvB,EAAEgvB,OAAO,CAACzuB,QAAQ0H,CAAC,CAAC,EAAEjI,CAAC,EAAE4I,EAAAA,aAAe,CAACknB,GAAG,CAACvqB,KAAKiF,CAAC,EAAErH,EAAEkC,QAAQ,EAAE,EAAE,CAAC,IAAIgiB,EAAG2C,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAG,OAAOphB,EAAAA,aAAe,CAACmyB,EAAEA,CAAC,CAAC3T,UAAQ9iB,IAAErE,EAAEyI,MAAM,GAAEW,CAAI,EAAET,CAAJ,CAAIA,aAAe,CAACooB,GAAGrmB,QAAQ,CAAC,CAAC5F,MAAe,IAAT/E,EAAEqyB,IAAI,CAAKryB,EAAE,CAAC,GAAGA,CAAC,CAACsvB,WAAWpR,CAAC,CAAC,EAAEmJ,EAAG,CAACniB,SAASilB,EAAE/kB,WAAW,CAAC,GAAGjC,CAAC,CAACkC,SAASuD,EAAAA,aAAe,CAACoyB,GAAG,CAAClQ,IAAFkQ,GAASjxB,CAAC,EAAqB,YAAnB,OAAO5G,EAAEkC,QAAQ,CAA6B,OAAf2E,EAAE7G,EAAEkC,QAAAA,EAAgB,KAAK,EAAE2E,EAAEI,IAAI,CAACjH,EAAEqH,GAAGrH,EAAEkC,QAAQ,CAAC,EAAEE,KAAKiF,EAAEhF,WAA5rE,CAAusEy1B,KAAG3yB,SAAS6oB,GAAG5oB,QAAQc,EAAE3D,KAAK,kBAAkB,IAAI,GAA+3Dw1B,GAAGzR,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,CAAC0R,SAA92DA,CAAI,CAAC34B,CAAC,MAAM+B,EAAE4lB,EAAEpgB,EAAE9B,QAAE,IAAIlI,EAAEyoB,GAAG,mBAAmBtoB,EAAEyoB,GAAG,mBAAmBjkB,EAAE8vB,CAAAA,EAAAA,EAAAA,KAAAA,CAAEA,GAAG,CAACvvB,GAAGlB,EAAE,CAAC,2BAA2B,EAAEW,EAAAA,CAAG,CAACK,MAAMT,CAAC,CAACE,SAASC,EAA0E,OAAvEsF,EAA6C,MAA1CogB,GAAE,OAAC5lB,EAAExE,EAAEivB,OAAAA,EAAe,KAAK,EAAEzqB,EAAEC,QAAAA,EAAgB,KAAK,EAAE2lB,EAAE/f,IAAI,CAAC7F,EAAED,EAAAA,CAAC,EAASyF,CAAI,CAACmkB,EAAH,CAAC,GAAQ/lB,EAAE,IAAI,CAAC,GAAGhF,EAAE,CAAClD,EAAED,EAAE00B,GAAG30B,EAAEwvB,YAAY,EAAEtrB,EAAElE,EAAnB20B,OAA4B,CAAC30B,EAAEiuB,iBAAiB,GAAGjuB,EAAE8uB,cAAc,CAACvqB,GAAyB,OAAK,CAAC,CAA1B0pB,iBAAiB,EAAW,CAAC,OAAC/lB,EAAElI,EAAEQ,OAAO,CAACR,EAAEiuB,kBAAiB,EAAS,KAAK,EAAE/lB,EAAEhD,EAAAA,IAAMlB,EAAE0G,EAAE1K,EAAEuvB,UAAU,CAAChrB,GAAGwF,EAAE8e,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,MAAM9oB,EAAEs7B,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC,CAAC52B,SAASC,EAAEM,MAAMT,EAAEiqB,OAAOzkB,EAAEokB,MAAM/lB,CAAC,GAAG7C,EAAEsqB,CAAAA,EAAAA,EAAAA,UAAAA,CAAEA,CAACC,IAAIvR,EAAEiW,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,CAAC/xB,EAAEsH,EAAExE,EAAEA,EAAE+1B,cAAc,CAAC,MAAM51B,EAAEzB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK9D,EAAEmzB,WAAW,CAAC,CAAC,GAAGnzB,EAAE+pB,QAAQ,CAAC3lB,EAAE,GAAGuS,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,IAAI3W,EAAEszB,cAAc,CAACzvB,EAAEjE,GAAG,CAACA,EAAEiE,EAAE,EAAE,IAAIga,EAAE6K,CAAAA,EAAAA,EAAAA,MAAAA,CAAEA,CAAC,CAAE7oB,GAAEivB,OAAO,EAAEjvB,EAAE6uB,UAAAA,GAAa/X,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAG,CAAC9W,EAAEivB,OAAO,EAAE,CAACjvB,EAAE6uB,UAAU,CAAC,MAAO0M,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,GAAGz4B,qBAAqB,CAAC,KAAKkb,EAAE5d,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAACJ,EAAEivB,OAAO,CAACjvB,EAAE6uB,UAAU,CAAC,EAAE/X,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAGkH,EAAE5d,OAAO,EAAoB,IAAlBJ,EAAE0uB,aAAa,EAAMxqB,GAAyB,IAAtBlE,EAAE4uB,iBAAiB,CAAK,MAAO2M,CAAAA,EAAAA,GAAAA,CAAAA,CAAEA,GAAGz4B,qBAAqB,CAAC,KAAK,IAAIiC,EAAEoZ,CAAmD,QAAhDA,EAAE,OAACpZ,EAAEgF,EAAE3J,OAAAA,EAAe,KAAK,EAAE2E,EAAE0gB,cAAc,GAAStH,EAAE9T,IAAI,CAACtF,EAAE,CAAC2gB,MAAM,SAAS,EAAE,EAAE,EAAE,CAAC3b,EAAE7F,EAAElE,EAAE0uB,aAAa,CAAC1uB,EAAE4uB,iBAAiB,CAAC5uB,EAAEiuB,iBAAiB,CAAC,EAAE,IAAIrmB,EAAE3D,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACc,IAAIA,EAAEqF,cAAc,GAAGrF,EAAEkwB,MAAM,GAAGC,GAAGzI,IAADyI,GAAQxwB,CAAAA,GAAIgB,CAAAA,GAAI81B,MAAM14B,IAAJ04B,kBAA0B,IAAIv7B,KAAc,IAATD,EAAEsyB,IAAI,EAAMnyB,EAAEuyB,aAAa,GAAC,CAAC,GAAKvuB,EAAEF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAAC,KAAK,GAAGS,EAAE,OAAOvE,EAAEozB,UAAU,CAACjvB,GAAEknB,OAAO,EAAE,IAAIzmB,EAAE/E,EAAE8uB,IAAlBxqB,UAAgC,CAACC,GAAGpE,EAAEozB,UAAU,CAACjvB,GAAEinB,QAAQ,CAACxmB,EAAE,GAAGuE,GlBA1tqBtJ,CkBA4tqBy7B,ClBA1tqBt7B,CAAAA,CkBAysqBmE,ClBAzsqBnE,EAAAA,MAAAA,CAACA,CAAC,CAAC,CAAC,EAAE,CAAC,EkBAqtqBs7B,ElBA3sqB,CAACC,SAASz7B,CAAC,EAAE,IAAIwC,EAAEvC,GAAED,GAAG,OAAOD,EAAEI,MAAbF,CAAoB,CAAC,EAAE,GAAGuC,CAAC,CAAC,EAAE,EAAEzC,EAAEI,OAAO,CAAC,EAAE,GAAGqC,CAAC,CAAC,KAAG,CAAC,EAAKrC,EAAFJ,KAAS,CAACyC,EAAE,EAAC,CAAE,EAAEk5B,OAAO17B,CAAC,EAAED,EAAEI,OAAO,CAACF,GAAED,EAAE,CAAC,GkBAwlqB+nB,EAAE/jB,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACc,ClBAhmqB7E,EkBAmmqBoJ,EAAEqyB,MAAM,CAAC52B,IAAI2E,EAAEzF,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACc,IAAI,GAAG,CAACuE,EAAEoyB,QAAQ,CAAC32B,IAAIL,GAAGR,EAAE,OAAO,IAAIia,EAAEne,EAAE8uB,cAAc,CAACvqB,GAAGpE,EAAEozB,UAAU,CAACjvB,GAAEinB,QAAQ,CAACpN,EAAE,EAAE,GAAGvZ,EAAEX,CAAAA,EAAAA,GAAAA,CAAAA,CAACA,CAACc,IAAIuE,EAAEoyB,QAAQ,CAAC32B,KAAKL,CAAAA,EAAGR,IAAIlE,CAAAA,CAAEgvB,eAAe,CAAC5uB,OAAO,CAACgyB,IAAI,EAAEjyB,EAAEozB,UAAU,CAACjvB,GAAEknB,OAAO,GAAC,GAAK9iB,EAAEqM,CAAAA,EAAAA,EAAAA,CAAhBzQ,MAAgByQ,CAACA,CAAC,IAAK,EAACihB,OAAO9xB,EAAE4a,MAAM5a,EAAE03B,SAASlxB,EAAEjG,SAASC,EAAC,EAAG,CAACR,EAAEwG,EAAEhG,EAAE,EAAkP,CAAhP+F,KAAuPwf,CAAAA,EAAAA,GAAAA,EAAAA,CAAEA,GAAG,CAAC9kB,SAA3P,CAAoQsF,GAAhQzG,EAAEoB,IAAImZ,EAAEK,KAAK,SAASyX,SAAa,CAAC,IAAL3xB,EAAO,KAAK,EAAE,CAAC,EAAE,gBAAoB,CAAC,IAALA,CAAQ,EAAE,KAAK,EAAE,gBAAgBgG,EAAEjG,SAAS,KAAK,EAAE6xB,YAAY1uB,EAAE6vB,QAAQtzB,EAAE03B,eAAe7T,EAAE8T,aAAa9T,EAAE+T,cAAcryB,EAAEsyB,YAAYtyB,EAAEuyB,eAAer3B,EAAEs3B,aAAat3B,CAAC,EAA0BS,WAAWjC,EAAEoC,KAAKkD,EAAEjD,WAA9xD,CAAyyD02B,KAAGx2B,KAAK,iBAAiB,EAAE,GAA6Dy2B,GAAG74B,OAAOC,MAAM,CAAC8tB,GAAG,CAAC+K,MAAM5F,GAAG6F,OAAOhI,GAAGiI,MAAM3E,GAAG4E,QAAQ1E,GAAG2E,OAAOtB,EAAE,uCCC1gsB,sCASA,OARA,6BACA,iCAAiD,IAAO,IAExD,aADA,eACA,2CACA,YAEA,QACA,GACA,qBACA,EACA,qCAA6C,CAAE,SAAa,EAC5D,gBAAsB,QACtB,MAAmB,EAAQ,KAAkB,EAC7C,EAAyB,EAAQ,KAAoB,CAD3B,CAE1B,EAAwB,EAAQ,KAAmB,CADnB,CAEhC,UAD+B,CAC/B,SACA,OACA,UACA,qBACA,QACA,MACA,CACA,CAiCA,gBAAsB,CAhCtB,cAEA,sBACA,8CACA,6BAEA,iCAQA,0BAPA,IANA,EAMA,MAAkC,IAClC,GACA,sBACA,mBACA,CACA,CAIA,iCACA,6BACA,cACA,oBACA,2BACA,4BACA,CACA,aACA,8BAEA,QACA,2CACA,mBAEA,kBACA,gCCxDA,SAASj7B,EAAEF,CAAC,EAAyB,YAAvB,OAAO08B,eAA2BA,eAAe18B,GAAGkC,QAAQM,OAAO,GAAGD,IAAI,CAACvC,GAAGoL,KAAK,CAACjL,GAAG8C,WAAW,KAAK,MAAM9C,CAAC,GAAG,mCCA/H,iBAAqD,uECCrD,cACA,QACA,CACA,gBACA,aAAiC,KACjC,SACA,KA0DA,MAzDA,CACA,gBACA,KACA,uHAEA,SACA,cAEA,CACA,CAAS,CACT,sBACA,aAEA,OADA,UACA,WACA,uBAAsD,aAAoB,CAC1E,CACA,CAAS,CACT,6BAEA,IADA,KACA,WACA,QACA,KACA,YACA,CACA,GACA,iBAAqC,YAAe,CACpD,kBAAsC,SAAgB,CAEtD,CAAS,CACT,yBACA,KACA,SACA,aACA,QACA,KACA,aACA,GACA,CACA,iBACA,QACA,KACA,YACA,EACA,aAAsC,kCACtC,IACA,GACA,iBACA,UACA,GACA,CAAiB,CACjB,mBAEA,OADA,cACA,CACA,CAAiB,CAEjB,CAAS,CAGT,CACO,gBAEP,OADA,aAAiC,KACjC,MACA,CAEO,cACP,aAA8B,MAC9B,cAEA,OADA,UAAqB,QAAQ,EAAG,gBAAyB,IACzD,CACA,8BC1EA,kBACA,OACA,UACA,qBACA,wBACA,CACA,CARA,qCAA6C,CAAE,SAAa,EAAC,EAC7D,eAAuB,QA0BvB,iBAAuB,CAlBvB,YACA,8BACA,sBACA,gBAEA,qCACA,gBAEA,oBACA,gBAEA,qBACA,oBACA,gBAEA,gBACA,qBACA,8BC1BA,qCAA6C,CAAE,SAAa,EAAC,EAC7D,cAAsB,QACtB,mBAEA,gBACA,OAAa,+BACb,CAgBA,gBAAsB,CAftB,kBACA,mBACA,SAEA,aACA,SAEA,SAXA,IAYA,SAEA,UACA,SAEA,QACA,+DCQO,SAASw8B,EAAYr8B,CAAS,CAAEC,CAAW,CAAEC,CAAO,EACzD,GAAM,CAACC,EAAYC,EAAa,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,CAAcA,CAC/CH,GAASI,GACTN,EACAC,GAEF,OACEE,EAAWI,WAAW,KAAOH,EAAaG,WAAW,IACrDJ,EAAWwF,QAAQ,KAAOvF,EAAauF,QAAQ,EAEnD,aCpBA,UAZA,cACA,iDAIA,eAIA,WACA,aCDA,UAVA,YACA,SACA,gBAKA,OAHA,wBACA,aACG,EACH,CACA,mBCfA,MAAe,EAAQ,KAAa,EACpC,EAAgB,EAAQ,KAAc,CADhB,CAEtB,EAAgB,EAAQ,KAAc,CADf,CAEvB,EAAe,EAAQ,KAAa,CADb,CAEvB,EAAiB,EAAQ,KAAe,CADlB,CAEtB,EAAsB,EAAQ,KAAoB,CAD1B,CAExB,EAAe,EAAQ,KAAa,CADP,CAE7B,EAAmB,EAAQ,KAAiB,CADtB,CAkDtB,UAjD0B,EA2B1B,cACA,SACA,WACA,SAEA,SACA,kBAGA,OAFA,SACA,kBACA,CACA,CAAG,EACH,YACA,GACA,aAGA,IADA,eACA,KACA,UAEA,QACA,CAAC,8BCrDD,qCAA6C,CAAE,SAAa,EAC5D,OAAa,QAOb,OAAa,CANb,mBACA,EAGA,8BAFA,IAGA,gECYO,SAAS22B,EAAQ77B,CAAI,CAAE87B,CAAa,EACzC,MAAO,CAAC/2B,CAAAA,EAAAA,EAAAA,CAAAA,CAAMA,CAAC/E,GAAQ,CAAC+E,CAAAA,EAAAA,EAAAA,CAAAA,CAAMA,CAAC+2B,EACjC,mBCtBA,MAAkB,EAAQ,KAAgB,EAkC1C,UAlCyB,SA8BzB,KACA,aACA,mBChCA,MAAgB,EAAQ,KAAc,EAsCtC,UAtCuB,EACM,KAAmB,EAiChD,UAjC4B,CAiC5B,KACA,QACA,CAAC,kJCjCD,kBACA,IAYA,EAZA,CACA,YACA,WACA,CAAI,EACJ,EAAmB,QAAW,IAC9B,EAAwB,QAAgB,IACxC,EAAsB,QAAa,IACnC,EAAe,QAAO,IACtB,UACA,0BACA,4BACA,gBAEA,UACA,UACA,GACA,IACA,gBAEA,KACA,cACA,GACA,IACA,gBAEA,KACA,aACA,GACA,cACA,GACA,EACA,KACA,YACA,GACA,cACA,GACA,EACA,KACA,SACA,GACA,MACA,MAEA,CACA,OAAU,QAAY,KACtB,YACA,oBACA,KACA,WACA,mBAEA,CACA,QACA,CASA,qBACA,IACA,qBACA,sBACA,gBACA,WACA,CAAI,EACJ,oBACA,0CACA,2BACA,YACA,WACA,UACA,CAAG,EACH,CACA,IACA,IACA,CAAI,SACJ,IACA,KACA,IACA,YAAkB,WAA4B,KAC9C,IACA,OACA,KACA,CAAM,KACN,CACA,IACA,IACA,OACA,QACA,CAAM,SACN,IACA,IACA,mBACA,YACA,WACA,iBACA,QACA,WACA,UACA,YACA,UACA,CACA,CAAK,EACL,cACA,cACA,GACA,KACA,KACA,QACA,KAEA,EACA,WACA,IACA,qBACA,aACA,gBAEA,SACA,yCACA,YACA,WACA,UACA,CAAW,WAEX,CACA,IACA,IACA,CAAU,UAEV,KAEA,CACA,OACA,IACA,IACA,YACA,WACA,gBACA,CACA,EAUA,sBACA,KACA,aACA,OAEA,IACA,IACA,IACA,WACA,QACA,WACA,WACA,CAAI,EACJ,CACA,+BACA,0BACA,4BACA,iBACA,YACA,CAAM,QAAQ,MACd,EAAwB,QAAgB,IAExC,MADA,sCACA,GACA,EAA6B,QAAgB,0BAC7C,oKACA,WACA,eACA,UACA,CAAG,GACH,kBACA,IACA,IACA,uBACA,0BACI,YACJ,uEACA,mGACA,IACA,GACA,EAAI,EAIwB,QAAgB,wHAC5C,WACA,OACA,eACA,UACA,CAAG,KACH,OACA,4BACA,wCACA,gCACA,oCAEA,CAyTA,gBACA,OACA,mBACA,sBACA,yBACA,oBAEA,CACA,cACA,OAAS,IAAK,iBACd,CAiMA,sBACA,IACA,YACA,WACA,WACA,CAAI,EACJ,mDACA,EAAe,QAAO,IACtB,EAAoB,QAAY,IAChC,EAAqB,cAAW,IAChC,kCACA,YACA,EAAmB,QAAQ,MAG3B,CACA,WACA,YACA,gBACA,CAAI,oBACJ,WACA,YACA,kBACA,EAAI,CACJ,uBACA,yBACA,+BAKA,OAHA,uBACA,qBAEA,GACA,MACA,KACA,EAAI,CACJ,MACA,KACA,CACA,gBC1vBA,cACA,MAAc,QAAgB,IAG9B,yBACA,0BACA,EAAoB,QAAa,IACjC,oBACA,qBACA,EAAyB,QAAK,SAA2B,QAAK,QAK9D,OAJA,IACA,IACA,KAEA,CACA,QACA,SACA,GACA,CACA,CAEA,cACA,MAAU,QAAS,uBAGnB,cACA,WACA,IAAO,QAAa,IACpB,MAAW,QAAY,IAEvB,gCACA,CACA,QACA,SACA,IACA,CAAI,KACJ,KAAe,QAAK,qBACpB,KAAe,QAAK,uBAUpB,OANA,uBACA,MAEA,uBACA,MAEA,CACA,IACA,GACA,CACA,CAEA,MAA+B,QAAY,IAC3C,cACA,MAAc,QAAS,UAChB,QAAQ,qBAGf,CACA,8BACA,8BAJA,CAMA,CAWA,wBAVA,CAWA,aACA,OAEA,YACA,OAEA,gCACA,OACA,EAAc,QAAY,IAC1B,IACA,EACU,QAAS,KACnB,SAGA,QAGA,OA5BA,UADA,EA6BA,IA3BA,OA2BA,GAzBA,KAyBA,IAzBmE,QAAS,CAyB5E,EAzB4E,GAG5E,GAsBA,KAA2H,QAAY,IACvI,mBACA,kBACA,cACA,eACA,MACA,MAAgB,QAAS,IACzB,KAAsC,QAAS,IAAiB,QAAS,MACzE,IACA,EAAwB,QAAe,IACvC,mBACA,WACA,4BACA,EAAkB,QAAgB,IAClC,sDACA,mDACA,OACA,OACA,OACA,OACA,KACA,KACA,EAAmB,QAAS,IAC5B,EAAsB,QAAe,GACrC,CACA,CACA,MAAS,QAAgB,EACzB,QACA,SACA,IACA,GACA,CAAG,CACH,CAIA,gBACA,MAAqB,QAAa,sBAClC,EAGA,SAFA,EAAiC,QAAkB,WAGnD,CAEA,kBACA,YACA,OAEA,gCAKA,OACA,EALA,yBAEA,QAIA,EAHA,kBAKA,CA6GA,kBACA,MACA,kBACA,EA7CA,cACA,MAAc,QAAS,IACvB,EAAe,QAAkB,IACjC,mBACA,gBACA,iBACA,IACA,IACA,MACA,UACA,WACA,MAAgC,QAAQ,GACxC,uBACA,eACA,cAEA,CACA,OACA,QACA,SACA,IACA,GACA,CACA,EAsBA,UACI,kBACJ,EAlEA,YACA,MAAe,QAAkB,IACjC,EAAiB,QAAa,IAC9B,uBACA,EAAgB,QAAG,0DACnB,EAAiB,QAAG,8DACpB,qBACA,eAIA,MAHsB,QAAhB,QAAgB,eACtB,IAAS,QAAG,iCAEZ,CACA,QACA,SACA,IACA,GACA,CACA,EAiD2B,QAAkB,UACzC,GAAS,QAAS,IACtB,WAvBA,KACA,0BACA,oBACA,sBACA,EAAgB,QAAa,SAAgC,QAAY,IACzE,oBACA,qBAGA,OACA,QACA,SACA,EALA,MAMA,EALA,MAOA,EAQA,SACI,CACJ,WACA,GACA,UACA,UACA,cACA,gBAEA,CACA,MAAS,QAAgB,GACzB,CAqHA,cACA,MAAyB,WAAhB,QAAgB,aAGzB,gBACA,IAAO,QAAa,KAA6B,UAAhB,QAAgB,aACjD,YAEA,KACA,YAEA,qBASA,MAHM,QAAkB,SACxB,yBAEA,CACA,CAIA,gBACA,MAAc,QAAS,IACvB,GAAM,QAAU,IAChB,SAEA,IAAO,QAAa,KACpB,MAA0B,QAAa,IACvC,SAA+B,QAAqB,MACpD,GAAU,QAAS,WACnB,SAEA,EAAwB,QAAa,GACrC,CACA,QACA,CACA,aACA,QAAyB,QAAc,WACvC,gBAEA,GAAsB,QAAqB,YAAuD,QAAiB,IACnH,EAEA,GAAyB,QAAkB,MAC3C,CAEA,wBACA,8BACA,qBACA,sBACA,OACA,UA1FA,gBACA,MAAkC,QAAa,IAC/C,EAA0B,QAAkB,IAC5C,cACA,cACA,GACA,aACA,WACA,EACA,EAAkB,QAAY,IAC9B,cAIA,IAHmB,SAAX,QAAW,KAA6B,QAAiB,MACjE,GAAe,QAAa,KAE5B,GACA,iBACA,sBACA,qBACM,OAGN,WAGA,eAAwH,QAAY,IAApI,OAGA,OACA,EAHA,4BAIA,EAHA,0BAIA,cACA,gBAEA,EAyDA,4CACA,UACA,IACA,IACA,cACA,gBAEA,CACA,EAMA,GACA,sDAxTA,YACA,IACA,WACA,OACA,eACA,WACA,CAAI,EACJ,cACA,EAA0B,QAAkB,IAC5C,OAA8B,QAAU,aACxC,eACA,SAEA,OACA,aACA,WACA,EACA,EAAc,QAAY,IAC1B,EAAkB,QAAY,IAC9B,EAAkC,QAAa,IAC/C,kBACQ,iBAAW,KAA6B,QAAiB,MACjE,GAAe,QAAa,KAEpB,QAAa,MACrB,WACA,OACA,qBACA,oBAGA,eAA8H,QAAY,IAA1I,UACA,OACA,kBACA,oBACA,mCACA,kCAEA,EAmRA,kBAAoB,MACpB,gBAhJA,YACA,IACA,UACA,WACA,eACA,WACA,CAAI,EAEJ,MADA,wBAAsE,QAAU,OAxChF,cACA,eACA,KACA,SAEA,MAAe,QAAoB,oBAAkC,QAAS,KAAmB,SAAX,QAAW,KACjG,OACA,EAAyB,kBAAgB,aACzC,IAAqC,QAAa,MAGlD,KAAS,QAAS,MAAkB,QAAqB,MACzD,MAA0B,QAAgB,IAC1C,EAAoC,QAAiB,IACrD,yBACA,SAEA,qFAAkT,QAAiB,kBA5BnU,OACA,MAAqB,QAAa,UAClC,UAAkC,QAAS,KAAgB,QAAqB,OAGvD,UAAhB,QAAgB,qBACzB,EAsBmU,MAGnU,qBAGA,IAEA,EAAkB,QAAa,GAC/B,CAEA,OADA,WACA,CACA,EAWgF,wBAChF,GACA,OACA,mBACA,eAKA,OAJA,MAAkB,QAAG,cACrB,QAAoB,QAAG,kBACvB,SAAqB,QAAG,oBACxB,OAAmB,QAAG,gBACtB,CACA,CAAG,WACH,OACA,qBACA,sBACA,SACA,QAEA,EAyHA,kBACA,kBACA,eArRA,YACA,qCACA,EAoRA,cA1HA,YACA,IACA,QACA,SACA,CAAI,KACJ,OACA,QACA,QACA,CACA,EAkHA,WACA,SAAW,MACX,MAdA,YACA,MAAyB,QAAhB,QAAgB,cAczB,EAEA,gBACA,oEAmGA,wBA0CA,CAzCA,aACA,OAEA,IACA,oBACA,oBACA,kDACA,sDACA,oBACA,CAAI,EACJ,OACA,aAA0E,QAAoB,UAAwB,QAAoB,QAC1I,cACA,kCACA,UACA,CAAK,EACL,iCACA,CAAG,EACH,WAlHA,cACA,IACA,EADA,OAEA,EAAe,QAAkB,IACjC,aACA,MACA,gBACA,4BACA,MACA,CA2EA,OA1EA,gBACA,YACA,OAEA,YACA,MAEA,IACA,gCACA,CACA,OACA,MACA,QACA,SACA,CAAM,EAIN,GAHA,GACA,IAEA,OACA,OAEA,MAAqB,QAAK,IAC1B,EAAuB,QAAK,sBAI5B,GACA,WAFA,mBAFwB,QAAK,uBAE7B,OADsB,QAAK,IAC3B,KAGA,UAAiB,QAAG,GAAI,QAAG,SAC3B,EACA,KACA,cACA,6BACA,UACA,MACA,WAEA,EAOA,QAJA,kBACA,UACA,CAAW,KAIX,CACA,uCAQA,IAEA,IACA,CAIA,IACA,8BACA,KAEA,qBACO,CACP,CAAM,SACN,+BACA,CACA,YACA,EACA,IACA,CACA,EA6BA,UACA,KACA,OACA,IACA,yBACA,SACA,qBAGA,eACA,wBACA,6BACA,KACA,0BACA,CAAS,GAET,GACA,CAAK,EACL,OACA,aAEA,cAGA,yBACA,GACA,SAEA,IACA,WACA,YACA,IAEA,IACA,0BACA,IACA,IACA,KACA,MACA,cACA,qCACA,oCACA,CAAK,EACL,aACA,4BACA,OACA,GACA,uBAEA,CACA,CAUA,IAAM,EAAiB,EASjB,ED2GN,YAIA,OAHA,CC5GY,GAAG,CD4Gf,KC5GuB,ED6GvB,MAEA,CACA,cACA,UACA,YACA,QACA,IACA,IACA,IACA,YACA,iBACA,CAAQ,EACR,sBAIA,kFACA,GAEA,CACA,QACA,QACA,MACA,KACA,WACA,CACA,CACA,CACA,CACA,EC5HM,EDmIN,YAIA,OAHA,GCpIc,EDoId,GCpIqB,CDoIrB,GACA,OAEA,CACA,aACA,UACA,YACA,IACA,IACA,IACA,YACA,CAAQ,EACR,CACA,cACA,eACA,WACA,OACA,IACA,IACA,IACA,CAAc,EACd,OACA,IACA,GACA,CACA,CACA,CAAS,CACT,KACA,CAAQ,CAAE,OAAQ,MAClB,GACA,IACA,GACA,EACA,eACA,EAAwB,QAAW,CAAC,QAAO,KAC3C,EAAuB,QAAe,IACtC,OACA,OACA,MACA,2BACA,2BACA,SACA,SACA,EAAwB,QAAK,OAC7B,CACA,MACA,2BACA,2BACA,SACA,SACA,EAAyB,QAAK,OAC9B,CACA,YACA,KACA,MACA,KACA,CAAO,EACP,OACA,KACA,MACA,QACA,QACA,SACA,MACA,KACA,CACA,CACA,CACA,CACA,CACA,EClMM,ED9RN,YAIA,MC0RU,CD7RV,EC6Ra,GD7Rb,CC6RmB,GD7RnB,GACA,OAEA,CACA,YACA,UACA,gBACA,IAqDA,IAyBA,EA7EA,IACA,YACA,iBACA,QACA,mBACA,WACA,WACA,CAAQ,EACR,CACA,cACA,eACA,qBACA,6BACA,mCACA,mBACA,KACA,CAAQ,CAAE,OAAQ,MAMlB,wCACA,SAEA,MAAmB,QAAO,IAC1B,EAA8B,QAAW,IACzC,EAA8B,QAAO,QACrC,mDACA,aAAsG,QAAoB,KAAsB,QAAqB,KACrK,YACA,QACA,UAAmC,QAAyB,WAE5D,eACA,eACA,KACA,4CAIA,GAHA,GACA,aAEA,GACA,MAAsB,QAAiB,QACvC,uBACA,CAOA,GANA,SACA,YACA,WACA,CAAO,EAGP,mBAEA,+CACA,OACA,KAEA,OACA,MACA,QACA,WACA,CAAa,CACb,OACA,WACA,CACA,EAKA,gHAGA,MACA,UACA,cACA,CAEA,MASiB,MATjB,gBACA,MACA,MAA4C,QAAW,cACvD,cAGA,OACA,CACA,QACA,CAAiB,+GACjB,GACA,MAEA,KACA,CACA,uBACA,GAEA,CAEA,SACA,OACA,OACA,WACA,CACA,CAEA,CACA,QACA,CACA,CACA,ECgLM,EDsQN,YAIA,MC1QU,CDuQV,ECvQa,GDuQb,CCvQmB,GDuQnB,GACA,OAEA,CACA,YACA,UACA,gBACA,QAmBA,EACA,EAnBA,IACA,YACA,QACA,WACA,WACA,CAAQ,EACR,CACA,cAAwB,CACxB,KACA,CAAQ,CAAE,OAAQ,MAClB,eACA,EAAmB,QAAO,IAC1B,EAAwB,QAAY,IACpC,EAAiC,MAAX,QAAW,IACjC,CACA,QACA,SACA,CAAQ,WAGR,yBACA,IACA,wFAEA,IACA,4BAEA,uBACA,mBACA,EAAsC,QAAG,WACzC,EAAqC,QAAG,WACxC,0BACA,IACA,IAOA,GANA,+CACA,MAEA,+CACA,MAEA,OACA,MAAqB,QAAG,WACxB,EAAqB,QAAG,YACxB,EAAqB,QAAG,UACxB,EAAqB,QAAG,aACxB,EACA,wBAAiF,QAAG,kBAEpF,wBAAmF,QAAG,iBAEtF,CACA,SACA,KACA,iBACA,iBACA,CAAO,EACP,+CACA,0BACA,CACA,OACA,QACA,CACA,EAEA,EACA,CACA,CACA,EC3UM,EDrKN,YAIA,MCiKU,CDpKV,ECoKa,GDpKb,CCoKmB,GDpKnB,GACA,OAEA,CACA,YACA,UACA,YACA,IACA,QACA,CAAQ,EACR,CACA,6BACA,KACA,CAAQ,CAAE,OAAQ,MAClB,UACA,sBACA,CAKA,QAJA,WACA,KACA,0BACA,CAAa,EACb,aACA,OACA,MACA,yBACA,oBACA,CACA,CACA,CACA,cACA,CAKA,QAJA,WACA,KACA,cACA,CAAa,EACb,YACA,OACA,MACA,iBACA,YACA,CACA,CACA,CACA,QAEA,QAEA,CACA,CACA,CACA,ECyHM,ED9eN,KACA,aACA,CC4eW,GAAG,ID5ed,CC4eqB,CD3erB,YACA,IACA,IACA,IACA,YACA,QACA,WACA,WACA,iBACA,CAAM,EAEN,CACA,UACA,YACA,CAAM,CAAE,OAAQ,UAChB,WACA,SAEA,MAA0B,QAAgB,IAC1C,GACA,IACA,GACA,EACA,EAAiB,QAAgB,IACjC,EAAmB,QAAa,IAChC,2BACA,UAGA,iCACA,mDACA,sBACA,8DACA,WAGA,oDACA,iCAMA,mBACA,EAAuB,QAAG,GAjB1B,eAiB0B,IAC1B,EAAuB,QAAG,GAjB1B,mBAiB0B,IAK1B,WACA,aAZA,UAaA,EAAmB,QAAK,CAHxB,EAGwB,KAMxB,YAAqD,cAAY,gCATjE,EASiE,cACjE,MAVA,EAUA,EAVA,EAUA,MACA,OACA,WACA,MACA,MACA,mBACA,OACA,iBACA,CAAS,CACF,CACP,OACA,CACA,CACA,CAAC,EC+aK,EDoKN,YAIA,OAHA,QCrKmB,CDqKnB,GACA,MCtK+B,CDwK/B,CACA,UACA,MACA,IACA,IACA,IACA,YACA,QACA,iBACA,CAAQ,EACR,CACA,WACA,cACA,eACA,CAAU,QAAQ,MAClB,GACA,IACA,GACA,EACA,EAAwB,QAAW,IACnC,EAAuB,QAAe,IACtC,OACA,OACA,EAAwB,QAAQ,MAChC,sBACA,WACA,WACA,EAAQ,CACR,WACA,YACA,MAEA,MACA,+BACA,0CACA,2CACA,IACA,IACU,KACV,KAEA,CACA,MACA,QACA,+BACA,0BAAsD,QAAO,KAC7D,0FACA,2FACA,KACA,IACU,KACV,KAEA,CACA,OACA,MACA,KACA,CACA,CACA,CACA,EC9NM,EAAe,UAIrB,cACA,GACA,EANqB,OAMrB,EACA,MAEA,GACA,cACA,IACA,EACA,OAAS,EAAiB,KAC1B,KACA,GAF0B,MAE1B,CACA,CAAG,CACH,aCztBA,UAJA,YACA,QACA,aCAA,UALA,YAEA,OADA,oBAbA,6BAcA,uBCfA,MAAiB,EAAQ,KAAe,EASxC,EAHA,QANwB,QAMxB,CAGA,eAgFA,UAjEA,sBACA,MAtBA,EAsBA,E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sBACA,QAEA,aCAA,UAVA,YACA,SACA,gBAKA,OAHA,sBACA,QACA,CAAG,EACH,CACA,2HCTa2N,qCAAAA,KAAN,IAAMA,EAAkBF,aAJb,QAIaA,OAAK,CAACsvB,aAAa,CAAmB,oCCNrE,aACA,gCACA,CACA,qBACA,KACA,+BAKA,WACA,CACA,cACA,MACA,uEACA,CACA,cACA,MACA,6FAEA,oBACA,OAGA,2CACA,CACA,oBACA,OAGA,iDACA,CACA,oBACA,OAGA,yDACA,CACA,oBACA,uCAGA,uDACA,CACA,cACA,IACA,WACA,YACA,YACA,UACA,CAAI,KACJ,uFACA,CACA,cACA,wCACA,CACA,cACA,0CACA,IACA,mBACA,CAAM,SACN,QACA,CACA,CAAG,CACH,CACA,cACA,UACA,cAIA,yZACA,CACA,cACA,WACA,mBACA,QACA,SACM,QACN,MAEA,MACA,CACA,WACA,CACA,mBACA,yCACA,8CACA,CACA,cACA,gDACA,CACA,cACA,+BACA,CACA,qBACA,KACA,CACA,wBACA,uBAGA,CACA,qBACA,oBAEA,CACA,cACA,iBACA,SAEA,MAEA,gBAEA,cAEA,cAEA,KACA,oBACA,CA4BA,cACA,oEACA,6IAnBA,kBACA,KACA,aACA,OAEA,YACA,OAEA,eAlBA,KACA,kBACA,KACA,4CAEA,WACA,EAEA,IACA,EASA,GACA,gDACA,OACA,MACA,WACA,8DACA,CACA,4BACA,uCCpJA,MAAY,EAAQ,KAAU,EAC9B,EAAkB,EAAQ,KAAgB,CADvB,CAEnB,EAAiB,EAAQ,IAAe,EACxC,EAAmB,EAAQ,KAAiB,EADpB,EAEX,EAAQ,KAAW,CADN,CAE1B,EAAc,EAAQ,KAAW,CADb,CAEpB,EAAe,EAAQ,KAAY,CADd,CAErB,EAAmB,EAAQ,KAAgB,CADrB,CAOtB,UAN0B,aAO1B,mBACA,oBAMA,SAHA,UAGA,eA6DA,UA7CA,sBACA,WACA,OACA,WACA,WAEA,WACA,WAEA,WACA,OACA,OAEA,YACA,SACA,SAEA,KACA,IACA,CACA,SAEA,OADA,aACA,QACA,eACA,iBAEA,WACA,iCACA,6BAEA,SACA,oBACA,gBAGA,OADA,aACA,YACA,CACA,OACA,MAGA,aACA,eACA,mFE7EA,EAAqB,SAAS,8KAC9B,sCACA,gBACA,MAAW,QAAO,kDAClB,6CACA,CAAK,IACL,EACA,gBACA,aAEA,yFACA,8BAEA,KAEO,gBACP,8BAEA,IADA,EACA,SACA,0CAA2G,cAAmD,GAC9J,gBAEA,EAEA,aACc,QAAO,sDAA8E,aAAyB,EAC5H,GACA,CAAK,IACL,EAKO,cACP,oCAAyD,IAAU,OACnE,MAAW,QAAO,IAClB,gBAA+B,cAA+B,EAC9D,qBAAwC,mBAA2B,IACnE,gECZO,SAASC,EAAaj8B,CAAI,CAAEP,CAAO,EACxC,IAAMqF,EAAQC,CAAAA,EAAAA,EAAAA,CAAAA,CAAMA,CAAC/E,EAAMP,GAASI,IAGpC,OAFAiF,EAAMmB,OAAO,CAAC,GACdnB,EAAMQ,QAAQ,CAAC,EAAG,EAAG,EAAG,GACjBR,CACT,iGCtBO,uBAEP,aAAoC,EAAgB,OAAgB,CAAC,QAAQ,qBAC7E,yCAGW,OAAmB,yBAb9B,EAcA,MAAe,QAAQ,QAdvB,EAcuB,EAbvB,EAAmB,QAAO,gDAA4D,OAFjC,IAEiC,EAA2C,EAcjI,CAAK,CACL,oEClBO,kBAEP,QADA,kBACA,IAAoB,WAAc,IAClC,UAEA,QACA,EACO,cAA6B,+BAC7B,cAA8B,wDCgCrC,UAnBA,YAKA,IAJA,IAGA,EAHA,IACA,KACA,aAEA,MACA,2BACA,GACA,OACA,GACA,WAGA,CAHsC,CAGtC,GACA,KACA,IAEA,cACA,gICzCA,cAGA,kCACA,SAEA,4CACA,2BAGA,qFACA,EACA,cAEA,yEAEA,kBACA,cAEA,cAEA,yDASO,gBACP,IAJA,IAIA,WACA,cACA,SAEA,OARA,EAQA,EARA,EAQA,iBAPA,kBALgC,yBAKhC,SASA,OADA,WACA,CACA,EAIO,gBACP,IAJA,EAIA,WACA,cACA,SAEA,OARA,EAQA,iBAPA,CAOA,IAPA,GAOA,IAPA,IAOA,IAPA,IAOA,KAEA,OADA,WACA,CACA,EACO,cAEP,kBAGO,cAA2C,2BAC3C,cACP,+BAEO,cACP,eANmD,oBAMnD,mCACA,EACO,cAEP,+BADA,eAAsC,IAAkB,EAExD,EACO,cAAgC,MAAQ,gEACxC,cAAoC,aACpC,cAA+B,sBC1DtC,UAJA,cACA,eACA,sCCTA,mEACA,kBACA,2BAAmC,6BAAoC,aAAgB,CACvF,CAAC,mBACD,kBACA,UACC,EACD,8DACA,mCAA0C,sBAA4B,CACtE,CAAC,eACD,YACA,CAAC,CAQD,EAPA,sCACA,4BACA,SACA,6FAEA,OADA,OACA,EACA,EACkC,EAAQ,KAAkB,GAC5D,EAAwB,EAAQ,KADS,EAEzC,EAAoB,EAAQ,KAAe,CADZ,CAE/B,EAAwB,EAAQ,KAAmB,CADxB,CAE3B,EAAyB,EAAQ,KAAoB,CADtB,CAE/B,EAAwB,EAAQ,KAAmB,CADnB,CAEhC,EAAY,EAAQ,KAAO,CADI,CAE/B,EAAoB,EAAQ,KAAe,CADxB,GAYnB,QAX2B,CAE3B,iBACA,gCACA,oBACA,gCACA,kCACA,gCACA,UACA,uBACA","sources":["webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-use-escape-keydown@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.5_@types+react-dom@18.3.1_@types+react@18.3.18_re_bd781bc14648a6d15f1c145f415e39bc/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-latest-value.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameYear.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addYears.js","webpack://_N_E/../../../src/shared/lib/dynamic.tsx","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalByTag.js","webpack://_N_E/../../node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","webpack://_N_E/../../node_modules/.pnpm/react-clientside-effect@1.2.7_react@18.3.1/node_modules/react-clientside-effect/lib/index.es.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js","webpack://_N_E/../../node_modules/.pnpm/@floating-ui+react-dom@2.1.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/field/field.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDaysInMonth.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachDayOfInterval.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-collection@1.1.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom_60bb3e7f45950e429728cefacc549341/node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_customOmitClone.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/flatten.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/commands.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isFirstDayOfMonth.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-slot@1.1.2_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/class-names.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/render.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/disabled.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.2_patch_hash=07e1fd26a62db1cdbcd60041e806c1e67bc20996d8_4bcca18067b3b2b21c78bc6e68b91f9b/node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@tanstack+query-core@5.56.2/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","webpack://_N_E/../../node_modules/.pnpm/@tanstack+react-query@5.56.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useMutation.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/next@15.2.3_@babel+core@7.26.0_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1_sass@1.85.1/node_modules/next/legacy/image.js","webpack://_N_E/../../../src/shared/lib/loadable.shared-runtime.tsx","webpack://_N_E/../../node_modules/.pnpm/next@15.2.3_@babel+core@7.26.0_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1_sass@1.85.1/node_modules/next/head.js","webpack://_N_E/../../src/client/image-component.tsx","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/solver.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusSolver.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/moveFocusInside.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js","webpack://_N_E/../../../src/shared/lib/image-external.tsx","webpack://_N_E/../../node_modules/.pnpm/markdown-to-jsx@7.1.5_react@18.3.1/node_modules/markdown-to-jsx/dist/index.modern.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subMonths.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/lib/parse-date.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/constants.js","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/lib/card-types.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/form.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/hidden.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/form-fields.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/lib/add-matching-cards-to-results.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastDayOfWeek.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js","webpack://_N_E/../../node_modules/.pnpm/next@15.2.3_@babel+core@7.26.0_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1_sass@1.85.1/node_modules/next/image.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqual.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusables.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-popover@1.1.6_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-popover/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/expiration-year.js","webpack://_N_E/../../../src/client/legacy/image.tsx","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachMonthOfInterval.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFlatten.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-primitive@2.0.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/safe.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeInterval.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-popper@1.2.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_SetCache.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.6_@types+react-dom@18.3.1_@types+react@18.3.18_react-d_99314c2e38e888e1077d3e0f4dc516ab/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_flatRest.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheHas.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/lib/is-array.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/id.js","webpack://_N_E/../../node_modules/.pnpm/aria-hidden@1.2.4/node_modules/aria-hidden/dist/es2015/index.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-presence@1.1.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js","webpack://_N_E/../../../src/shared/lib/image-blur-svg.ts","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalArrays.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/card-number.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-portal@1.1.4_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/label/label.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subDays.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/return-focus.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDay.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/lib/find-best-match.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMonths.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arraySome.js","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/lib/matches.js","webpack://_N_E/../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.18_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://_N_E/../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.18_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://_N_E/../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.18_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/env.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-d_02dc9a4e12418433f081a293d26a1b8b/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-menu@2.1.6_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-menu/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.6_@types+react-dom@18.3.1_@types+react@18.3.18_react-_a3eca0ae8a030d3fe2cb3bb8954216c2/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfMonth.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/postal-code.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isFlattenable.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isEqual.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/medium.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/scope.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/util.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://_N_E/../../node_modules/.pnpm/react-focus-lock@2.13.6_@types+react@18.3.18_react@18.3.1/node_modules/react-focus-lock/dist/es2015/index.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/sibling.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js","webpack://_N_E/../../node_modules/.pnpm/react-hook-form@7.54.2_react@18.3.1/node_modules/react-hook-form/dist/index.esm.mjs","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/lib/is-valid-input-type.js","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/index.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isWithinInterval.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://_N_E/../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.18_react@18.3.1/node_modules/use-sidecar/dist/es2015/exports.js","webpack://_N_E/../../node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js","webpack://_N_E/../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://_N_E/../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.js","webpack://_N_E/../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/component.js","webpack://_N_E/../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/index.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/index.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://_N_E/../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://_N_E/../../../src/shared/lib/get-img-props.ts","webpack://_N_E/../../node_modules/.pnpm/@react-aria+utils@3.27.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/platform.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+utils@3.27.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+utils@3.27.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+interactions@3.23.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocusVisible.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+utils@3.27.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+utils@3.27.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useEffectEvent.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+interactions@3.23.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/utils.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+interactions@3.23.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocus.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+interactions@3.23.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocusWithin.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+focus@3.19.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/focus/dist/useFocusRing.mjs","webpack://_N_E/../../node_modules/.pnpm/@react-aria+interactions@3.23.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useHover.mjs","webpack://_N_E/../../node_modules/.pnpm/@tanstack+virtual-core@3.13.0/node_modules/@tanstack/virtual-core/dist/esm/utils.js","webpack://_N_E/../../node_modules/.pnpm/@tanstack+virtual-core@3.13.0/node_modules/@tanstack/virtual-core/dist/esm/index.js","webpack://_N_E/../../node_modules/.pnpm/@tanstack+react-virtual@3.13.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@tanstack/react-virtual/dist/esm/index.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-active-press.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-by-comparator.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-controllable.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-default-value.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-element-size.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/default-map.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/store.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-store.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-inert-others.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/focus-management.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/platform.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-document-event.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-window-event.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-outside-click.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-owner.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event-listener.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-refocusable-input.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-flags.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-transition.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-watch.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/floating.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/frozen.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/open-closed.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/document-ready.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/active-element-history.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/bugs.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/calculate-active-index.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/keyboard.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/mouse.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/portal-force-root.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/portal/portal.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/combobox/combobox.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/expiration-date.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/micro-task.js","webpack://_N_E/../../node_modules/.pnpm/next@15.2.3_@babel+core@7.26.0_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1_sass@1.85.1/node_modules/next/dynamic.js","webpack://_N_E/../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.18_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/expiration-month.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/cardholder-name.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameMonth.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapToArray.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/omit.js","webpack://_N_E/../../node_modules/.pnpm/credit-card-type@9.1.0/node_modules/credit-card-type/dist/lib/clone.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isAfter.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqual.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/merge.js","webpack://_N_E/../../node_modules/.pnpm/@floating-ui+core@1.6.9/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://_N_E/../../node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheAdd.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalObjects.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js","webpack://_N_E/../../../src/shared/lib/image-loader.ts","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/cvv.js","webpack://_N_E/../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.6_@types+react-dom@18.3.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/description/description.js","webpack://_N_E/../../node_modules/.pnpm/@headlessui+react@2.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-disposables.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToArray.js","webpack://_N_E/../../../src/shared/lib/loadable-context.shared-runtime.ts","webpack://_N_E/../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqualDeep.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://_N_E/../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfMonth.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusInside.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/array.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/luhn-10.js","webpack://_N_E/../../node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/is.js","webpack://_N_E/../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cacheHas.js","webpack://_N_E/../../node_modules/.pnpm/card-validator@8.1.1/node_modules/card-validator/dist/index.js"],"sourcesContent":["import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * checks if focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n *\n * This is a utility function coupled with {@link FOCUS_ALLOW} constant\n *\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dismissable-layer/src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","import{useRef as t}from\"react\";import{useIsoMorphicEffect as o}from'./use-iso-morphic-effect.js';function s(e){let r=t(e);return o(()=>{r.current=e},[e]),r}export{s as useLatestValue};\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link isSameYear} function options.\n */\n\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same year\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport function isSameYear(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return laterDate_.getFullYear() === earlierDate_.getFullYear();\n}\n\n// Fallback for modularized imports:\nexport default isSameYear;\n","import { addMonths } from \"./addMonths.js\";\n\n/**\n * The {@link addYears} function options.\n */\n\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The date to be changed\n * @param amount - The amount of years to be added.\n * @param options - The options\n *\n * @returns The new date with the years added\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\nexport function addYears(date, amount, options) {\n return addMonths(date, amount * 12, options);\n}\n\n// Fallback for modularized imports:\nexport default addYears;\n","import React from 'react'\nimport Loadable from './loadable.shared-runtime'\n\nconst isServerSide = typeof window === 'undefined'\n\ntype ComponentModule<P = {}> = { default: React.ComponentType<P> }\n\nexport declare type LoaderComponent<P = {}> = Promise<\n React.ComponentType<P> | ComponentModule<P>\n>\n\nexport declare type Loader<P = {}> =\n | (() => LoaderComponent<P>)\n | LoaderComponent<P>\n\nexport type LoaderMap = { [module: string]: () => Loader<any> }\n\nexport type LoadableGeneratedOptions = {\n webpack?(): any\n modules?(): LoaderMap\n}\n\nexport type DynamicOptionsLoadingProps = {\n error?: Error | null\n isLoading?: boolean\n pastDelay?: boolean\n retry?: () => void\n timedOut?: boolean\n}\n\n// Normalize loader to return the module as form { default: Component } for `React.lazy`.\n// Also for backward compatible since next/dynamic allows to resolve a component directly with loader\n// Client component reference proxy need to be converted to a module.\nfunction convertModule<P>(mod: React.ComponentType<P> | ComponentModule<P>) {\n return { default: (mod as ComponentModule<P>)?.default || mod }\n}\n\nexport type DynamicOptions<P = {}> = LoadableGeneratedOptions & {\n loading?: (loadingProps: DynamicOptionsLoadingProps) => React.ReactNode\n loader?: Loader<P> | LoaderMap\n loadableGenerated?: LoadableGeneratedOptions\n ssr?: boolean\n}\n\nexport type LoadableOptions<P = {}> = DynamicOptions<P>\n\nexport type LoadableFn<P = {}> = (\n opts: LoadableOptions<P>\n) => React.ComponentType<P>\n\nexport type LoadableComponent<P = {}> = React.ComponentType<P>\n\nexport function noSSR<P = {}>(\n LoadableInitializer: LoadableFn<P>,\n loadableOptions: DynamicOptions<P>\n): React.ComponentType<P> {\n // Removing webpack and modules means react-loadable won't try preloading\n delete loadableOptions.webpack\n delete loadableOptions.modules\n\n // This check is necessary to prevent react-loadable from initializing on the server\n if (!isServerSide) {\n return LoadableInitializer(loadableOptions)\n }\n\n const Loading = loadableOptions.loading!\n // This will only be rendered on the server side\n return () => (\n <Loading error={null} isLoading pastDelay={false} timedOut={false} />\n )\n}\n\n/**\n * This function lets you dynamically import a component.\n * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.\n *\n * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)\n */\nexport default function dynamic<P = {}>(\n dynamicOptions: DynamicOptions<P> | Loader<P>,\n options?: DynamicOptions<P>\n): React.ComponentType<P> {\n let loadableFn = Loadable as LoadableFn<P>\n\n let loadableOptions: LoadableOptions<P> = {\n // A loading component is not required, so we default it\n loading: ({ error, isLoading, pastDelay }) => {\n if (!pastDelay) return null\n if (process.env.NODE_ENV !== 'production') {\n if (isLoading) {\n return null\n }\n if (error) {\n return (\n <p>\n {error.message}\n <br />\n {error.stack}\n </p>\n )\n }\n }\n return null\n },\n }\n\n // Support for direct import(), eg: dynamic(import('../hello-world'))\n // Note that this is only kept for the edge case where someone is passing in a promise as first argument\n // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))\n // To make sure we don't execute the import without rendering first\n if (dynamicOptions instanceof Promise) {\n loadableOptions.loader = () => dynamicOptions\n // Support for having import as a function, eg: dynamic(() => import('../hello-world'))\n } else if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions\n // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})\n } else if (typeof dynamicOptions === 'object') {\n loadableOptions = { ...loadableOptions, ...dynamicOptions }\n }\n\n // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})\n loadableOptions = { ...loadableOptions, ...options }\n\n const loaderFn = loadableOptions.loader as () => LoaderComponent<P>\n const loader = () =>\n loaderFn != null\n ? loaderFn().then(convertModule)\n : Promise.resolve(convertModule(() => null))\n\n // coming from build/babel/plugins/react-loadable-plugin.js\n if (loadableOptions.loadableGenerated) {\n loadableOptions = {\n ...loadableOptions,\n ...loadableOptions.loadableGenerated,\n }\n delete loadableOptions.loadableGenerated\n }\n\n // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).\n if (typeof loadableOptions.ssr === 'boolean' && !loadableOptions.ssr) {\n delete loadableOptions.webpack\n delete loadableOptions.modules\n\n return noSSR(loadableFn, loadableOptions)\n }\n\n return loadableFn({ ...loadableOptions, loader: loader as Loader<P> })\n}\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","import{microTask as i}from'./micro-task.js';function o(){let n=[],r={addEventListener(e,t,s,a){return e.addEventListener(t,s,a),r.add(()=>e.removeEventListener(t,s,a))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return r.add(()=>cancelAnimationFrame(t))},nextFrame(...e){return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e))},setTimeout(...e){let t=setTimeout(...e);return r.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return i(()=>{t.current&&e[0]()}),r.add(()=>{t.current=!1})},style(e,t,s){let a=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:s}),this.add(()=>{Object.assign(e.style,{[t]:a})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return n.includes(e)||n.push(e),()=>{let t=n.indexOf(e);if(t>=0)for(let s of n.splice(t,1))s()}},dispose(){for(let e of n.splice(0))e()}};return r}export{o as disposables};\n","import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","\"use client\";import r,{useMemo as f}from\"react\";import{useId as P}from'../../hooks/use-id.js';import{DisabledProvider as y,useDisabled as u}from'../../internal/disabled.js';import{FormFieldsProvider as D}from'../../internal/form-fields.js';import{IdProvider as v}from'../../internal/id.js';import{forwardRefWithAs as b,useRender as E}from'../../utils/render.js';import{useDescriptions as A}from'../description/description.js';import{useLabels as L}from'../label/label.js';let _=\"div\";function c(d,l){let t=`headlessui-control-${P()}`,[s,p]=L(),[n,a]=A(),m=u(),{disabled:e=m||!1,...i}=d,o=f(()=>({disabled:e}),[e]),F={ref:l,disabled:e||void 0,\"aria-disabled\":e||void 0},T=E();return r.createElement(y,{value:e},r.createElement(p,{value:s},r.createElement(a,{value:n},r.createElement(v,{id:t},T({ourProps:F,theirProps:{...i,children:r.createElement(D,null,typeof i.children==\"function\"?i.children(o):i.children)},slot:o,defaultTag:_,name:\"Field\"})))))}let H=b(c);export{H as Field};\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDaysInMonth} function options.\n */\n\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date, considering the context if provided.\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The number of days in a month\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\nexport function getDaysInMonth(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n const monthIndex = _date.getMonth();\n const lastDayOfMonth = constructFrom(_date, 0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}\n\n// Fallback for modularized imports:\nexport default getDaysInMonth;\n","import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * The {@link eachDayOfInterval} function result type. It resolves the proper data type.\n * It uses the first argument date object type, starting from the date argument,\n * then the start interval date, and finally the end interval date. If\n * a context function is passed, it uses the context function return type.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setDate(date.getDate() + step);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import{useEffect as f,useLayoutEffect as c}from\"react\";import{env as i}from'../utils/env.js';let n=(e,t)=>{i.isServer?f(e,t):c(e,t)};export{n as useIsoMorphicEffect};\n","\"use client\";\n\n// packages/react/collection/src/collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","export var focusOn = function (target, focusOptions) {\n if (!target) {\n // not clear how, but is possible https://github.com/theKashey/focus-lock/issues/53\n return;\n }\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link isFirstDayOfMonth} function options.\n */\n\n/**\n * @name isFirstDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the first day of a month?\n *\n * @description\n * Is the given date the first day of a month?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is the first day of a month\n *\n * @example\n * // Is 1 September 2014 the first day of a month?\n * const result = isFirstDayOfMonth(new Date(2014, 8, 1))\n * //=> true\n */\nexport function isFirstDayOfMonth(date, options) {\n return toDate(date, options?.in).getDate() === 1;\n}\n\n// Fallback for modularized imports:\nexport default isFirstDayOfMonth;\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","function t(...r){return Array.from(new Set(r.flatMap(n=>typeof n==\"string\"?n.split(\" \"):[]))).filter(Boolean).join(\" \")}export{t as classNames};\n","import E,{Fragment as b,cloneElement as j,createElement as v,forwardRef as S,isValidElement as w,useCallback as x,useRef as k}from\"react\";import{classNames as N}from'./class-names.js';import{match as M}from'./match.js';var O=(a=>(a[a.None=0]=\"None\",a[a.RenderStrategy=1]=\"RenderStrategy\",a[a.Static=2]=\"Static\",a))(O||{}),A=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(A||{});function L(){let n=U();return x(r=>C({mergeRefs:n,...r}),[n])}function C({ourProps:n,theirProps:r,slot:e,defaultTag:a,features:s,visible:t=!0,name:l,mergeRefs:i}){i=i!=null?i:$;let o=P(r,n);if(t)return F(o,e,a,l,i);let y=s!=null?s:0;if(y&2){let{static:f=!1,...u}=o;if(f)return F(u,e,a,l,i)}if(y&1){let{unmount:f=!0,...u}=o;return M(f?0:1,{[0](){return null},[1](){return F({...u,hidden:!0,style:{display:\"none\"}},e,a,l,i)}})}return F(o,e,a,l,i)}function F(n,r={},e,a,s){let{as:t=e,children:l,refName:i=\"ref\",...o}=h(n,[\"unmount\",\"static\"]),y=n.ref!==void 0?{[i]:n.ref}:{},f=typeof l==\"function\"?l(r):l;\"className\"in o&&o.className&&typeof o.className==\"function\"&&(o.className=o.className(r)),o[\"aria-labelledby\"]&&o[\"aria-labelledby\"]===o.id&&(o[\"aria-labelledby\"]=void 0);let u={};if(r){let d=!1,p=[];for(let[c,T]of Object.entries(r))typeof T==\"boolean\"&&(d=!0),T===!0&&p.push(c.replace(/([A-Z])/g,g=>`-${g.toLowerCase()}`));if(d){u[\"data-headlessui-state\"]=p.join(\" \");for(let c of p)u[`data-${c}`]=\"\"}}if(t===b&&(Object.keys(m(o)).length>0||Object.keys(m(u)).length>0))if(!w(f)||Array.isArray(f)&&f.length>1){if(Object.keys(m(o)).length>0)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${a} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(m(o)).concat(Object.keys(m(u))).map(d=>` - ${d}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(d=>` - ${d}`).join(`\n`)].join(`\n`))}else{let d=f.props,p=d==null?void 0:d.className,c=typeof p==\"function\"?(...R)=>N(p(...R),o.className):N(p,o.className),T=c?{className:c}:{},g=P(f.props,m(h(o,[\"ref\"])));for(let R in u)R in g&&delete u[R];return j(f,Object.assign({},g,u,y,{ref:s(H(f),y.ref)},T))}return v(t,Object.assign({},h(o,[\"ref\"]),t!==b&&y,t!==b&&u),f)}function U(){let n=k([]),r=x(e=>{for(let a of n.current)a!=null&&(typeof a==\"function\"?a(e):a.current=e)},[]);return(...e)=>{if(!e.every(a=>a==null))return n.current=e,r}}function $(...n){return n.every(r=>r==null)?void 0:r=>{for(let e of n)e!=null&&(typeof e==\"function\"?e(r):e.current=r)}}function P(...n){var a;if(n.length===0)return{};if(n.length===1)return n[0];let r={},e={};for(let s of n)for(let t in s)t.startsWith(\"on\")&&typeof s[t]==\"function\"?((a=e[t])!=null||(e[t]=[]),e[t].push(s[t])):r[t]=s[t];if(r.disabled||r[\"aria-disabled\"])for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s)&&(e[s]=[t=>{var l;return(l=t==null?void 0:t.preventDefault)==null?void 0:l.call(t)}]);for(let s in e)Object.assign(r,{[s](t,...l){let i=e[s];for(let o of i){if((t instanceof Event||(t==null?void 0:t.nativeEvent)instanceof Event)&&t.defaultPrevented)return;o(t,...l)}}});return r}function _(...n){var a;if(n.length===0)return{};if(n.length===1)return n[0];let r={},e={};for(let s of n)for(let t in s)t.startsWith(\"on\")&&typeof s[t]==\"function\"?((a=e[t])!=null||(e[t]=[]),e[t].push(s[t])):r[t]=s[t];for(let s in e)Object.assign(r,{[s](...t){let l=e[s];for(let i of l)i==null||i(...t)}});return r}function K(n){var r;return Object.assign(S(n),{displayName:(r=n.displayName)!=null?r:n.name})}function m(n){let r=Object.assign({},n);for(let e in r)r[e]===void 0&&delete r[e];return r}function h(n,r=[]){let e=Object.assign({},n);for(let a of r)a in e&&delete e[a];return e}function H(n){return E.version.split(\".\")[0]>=\"19\"?n.props.ref:n.ref}export{O as RenderFeatures,A as RenderStrategy,m as compact,K as forwardRefWithAs,_ as mergeProps,L as useRender};\n","import n,{createContext as r,useContext as i}from\"react\";let e=r(void 0);function a(){return i(e)}function l({value:t,children:o}){return n.createElement(e.Provider,{value:t},o)}export{l as DisabledProvider,a as useDisabled};\n","\"use client\";\n\n// packages/react/focus-scope/src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n if (document.activeElement !== document.body) return;\n if (noElementsRemoved(mutations)) return;\n const lastFocusedElementStillInContainer = container?.contains(\n lastFocusedElementRef.current\n );\n if (lastFocusedElementStillInContainer) return;\n\n focus(container);\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\nfunction noElementsRemoved(mutations) {\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) {\n return false;\n }\n }\n return true;\n} \nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const context = this.#currentResult.context;\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(action.data, variables, context);\n this.#mutateOptions.onSettled?.(action.data, null, variables, context);\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(action.error, variables, context);\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport { MutationObserver, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { noop, shouldThrowError } from \"./utils.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","module.exports = require('../dist/client/legacy/image')\n","// TODO: Remove use of `any` type.\n/**\n@copyright (c) 2017-present James Kyle <me@thejameskyle.com>\n MIT License\n Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n The above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE\n*/\n// https://github.com/jamiebuilds/react-loadable/blob/v5.5.0/src/index.js\n// Modified to be compatible with webpack 4 / Next.js\n\nimport React from 'react'\nimport { LoadableContext } from './loadable-context.shared-runtime'\n\nfunction resolve(obj: any) {\n return obj && obj.default ? obj.default : obj\n}\n\nconst ALL_INITIALIZERS: any[] = []\nconst READY_INITIALIZERS: any[] = []\nlet initialized = false\n\nfunction load(loader: any) {\n let promise = loader()\n\n let state: any = {\n loading: true,\n loaded: null,\n error: null,\n }\n\n state.promise = promise\n .then((loaded: any) => {\n state.loading = false\n state.loaded = loaded\n return loaded\n })\n .catch((err: any) => {\n state.loading = false\n state.error = err\n throw err\n })\n\n return state\n}\n\nfunction createLoadableComponent(loadFn: any, options: any) {\n let opts = Object.assign(\n {\n loader: null,\n loading: null,\n delay: 200,\n timeout: null,\n webpack: null,\n modules: null,\n },\n options\n )\n\n /** @type LoadableSubscription */\n let subscription: any = null\n function init() {\n if (!subscription) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const sub = new LoadableSubscription(loadFn, opts)\n subscription = {\n getCurrentValue: sub.getCurrentValue.bind(sub),\n subscribe: sub.subscribe.bind(sub),\n retry: sub.retry.bind(sub),\n promise: sub.promise.bind(sub),\n }\n }\n return subscription.promise()\n }\n\n // Server only\n if (typeof window === 'undefined') {\n ALL_INITIALIZERS.push(init)\n }\n\n // Client only\n if (!initialized && typeof window !== 'undefined') {\n // require.resolveWeak check is needed for environments that don't have it available like Jest\n const moduleIds =\n opts.webpack && typeof (require as any).resolveWeak === 'function'\n ? opts.webpack()\n : opts.modules\n if (moduleIds) {\n READY_INITIALIZERS.push((ids: any) => {\n for (const moduleId of moduleIds) {\n if (ids.includes(moduleId)) {\n return init()\n }\n }\n })\n }\n }\n\n function useLoadableModule() {\n init()\n\n const context = React.useContext(LoadableContext)\n if (context && Array.isArray(opts.modules)) {\n opts.modules.forEach((moduleName: any) => {\n context(moduleName)\n })\n }\n }\n\n function LoadableComponent(props: any, ref: any) {\n useLoadableModule()\n\n const state = (React as any).useSyncExternalStore(\n subscription.subscribe,\n subscription.getCurrentValue,\n subscription.getCurrentValue\n )\n\n React.useImperativeHandle(\n ref,\n () => ({\n retry: subscription.retry,\n }),\n []\n )\n\n return React.useMemo(() => {\n if (state.loading || state.error) {\n return React.createElement(opts.loading, {\n isLoading: state.loading,\n pastDelay: state.pastDelay,\n timedOut: state.timedOut,\n error: state.error,\n retry: subscription.retry,\n })\n } else if (state.loaded) {\n return React.createElement(resolve(state.loaded), props)\n } else {\n return null\n }\n }, [props, state])\n }\n\n LoadableComponent.preload = () => init()\n LoadableComponent.displayName = 'LoadableComponent'\n\n return React.forwardRef(LoadableComponent)\n}\n\nclass LoadableSubscription {\n _loadFn: any\n _opts: any\n _callbacks: any\n _delay: any\n _timeout: any\n _res: any\n _state: any\n constructor(loadFn: any, opts: any) {\n this._loadFn = loadFn\n this._opts = opts\n this._callbacks = new Set()\n this._delay = null\n this._timeout = null\n\n this.retry()\n }\n\n promise() {\n return this._res.promise\n }\n\n retry() {\n this._clearTimeouts()\n this._res = this._loadFn(this._opts.loader)\n\n this._state = {\n pastDelay: false,\n timedOut: false,\n }\n\n const { _res: res, _opts: opts } = this\n\n if (res.loading) {\n if (typeof opts.delay === 'number') {\n if (opts.delay === 0) {\n this._state.pastDelay = true\n } else {\n this._delay = setTimeout(() => {\n this._update({\n pastDelay: true,\n })\n }, opts.delay)\n }\n }\n\n if (typeof opts.timeout === 'number') {\n this._timeout = setTimeout(() => {\n this._update({ timedOut: true })\n }, opts.timeout)\n }\n }\n\n this._res.promise\n .then(() => {\n this._update({})\n this._clearTimeouts()\n })\n .catch((_err: any) => {\n this._update({})\n this._clearTimeouts()\n })\n this._update({})\n }\n\n _update(partial: any) {\n this._state = {\n ...this._state,\n error: this._res.error,\n loaded: this._res.loaded,\n loading: this._res.loading,\n ...partial,\n }\n this._callbacks.forEach((callback: any) => callback())\n }\n\n _clearTimeouts() {\n clearTimeout(this._delay)\n clearTimeout(this._timeout)\n }\n\n getCurrentValue() {\n return this._state\n }\n\n subscribe(callback: any) {\n this._callbacks.add(callback)\n return () => {\n this._callbacks.delete(callback)\n }\n }\n}\n\nfunction Loadable(opts: any) {\n return createLoadableComponent(load, opts)\n}\n\nfunction flushInitializers(initializers: any, ids?: any): any {\n let promises = []\n\n while (initializers.length) {\n let init = initializers.pop()\n promises.push(init(ids))\n }\n\n return Promise.all(promises).then(() => {\n if (initializers.length) {\n return flushInitializers(initializers, ids)\n }\n })\n}\n\nLoadable.preloadAll = () => {\n return new Promise((resolveInitializers, reject) => {\n flushInitializers(ALL_INITIALIZERS).then(resolveInitializers, reject)\n })\n}\n\nLoadable.preloadReady = (ids: (string | number)[] = []): Promise<void> => {\n return new Promise<void>((resolvePreload) => {\n const res = () => {\n initialized = true\n return resolvePreload()\n }\n // We always will resolve, errors should be handled within loading UIs.\n flushInitializers(READY_INITIALIZERS, ids).then(res, res)\n })\n}\n\ndeclare global {\n interface Window {\n __NEXT_PRELOADREADY?: (ids?: (string | number)[]) => Promise<void>\n }\n}\n\nif (typeof window !== 'undefined') {\n window.__NEXT_PRELOADREADY = Loadable.preloadReady\n}\n\nexport default Loadable\n","module.exports = require('./dist/shared/lib/head')\n","'use client'\n\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useContext,\n useMemo,\n useState,\n forwardRef,\n use,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport Head from '../shared/lib/head'\nimport { getImgProps } from '../shared/lib/get-img-props'\nimport type {\n ImageProps,\n ImgProps,\n OnLoad,\n OnLoadingComplete,\n PlaceholderValue,\n} from '../shared/lib/get-img-props'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n} from '../shared/lib/image-config'\nimport { imageConfigDefault } from '../shared/lib/image-config'\nimport { ImageConfigContext } from '../shared/lib/image-config-context.shared-runtime'\nimport { warnOnce } from '../shared/lib/utils/warn-once'\nimport { RouterContext } from '../shared/lib/router-context.shared-runtime'\n\n// @ts-ignore - This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\nimport { useMergedRef } from './use-merged-ref'\n\n// This is replaced by webpack define plugin\nconst configEnv = process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete\n\nif (typeof window === 'undefined') {\n ;(globalThis as any).__NEXT_IMAGE_IMPORTED = true\n}\n\nexport type { ImageLoaderProps }\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\ntype ImgElementWithDataProp = HTMLImageElement & {\n 'data-loaded-src': string | undefined\n}\n\ntype ImageElementProps = ImgProps & {\n unoptimized: boolean\n placeholder: PlaceholderValue\n onLoadRef: React.MutableRefObject<OnLoad | undefined>\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>\n setBlurComplete: (b: boolean) => void\n setShowAltText: (b: boolean) => void\n sizesInput: string | undefined\n}\n\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(\n img: ImgElementWithDataProp,\n placeholder: PlaceholderValue,\n onLoadRef: React.MutableRefObject<OnLoad | undefined>,\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>,\n setBlurComplete: (b: boolean) => void,\n unoptimized: boolean,\n sizesInput: string | undefined\n) {\n const src = img?.src\n if (!img || img['data-loaded-src'] === src) {\n return\n }\n img['data-loaded-src'] = src\n const p = 'decode' in img ? img.decode() : Promise.resolve()\n p.catch(() => {}).then(() => {\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return\n }\n if (placeholder !== 'empty') {\n setBlurComplete(true)\n }\n if (onLoadRef?.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load')\n Object.defineProperty(event, 'target', { writable: false, value: img })\n let prevented = false\n let stopped = false\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: () => prevented,\n isPropagationStopped: () => stopped,\n persist: () => {},\n preventDefault: () => {\n prevented = true\n event.preventDefault()\n },\n stopPropagation: () => {\n stopped = true\n event.stopPropagation()\n },\n })\n }\n if (onLoadingCompleteRef?.current) {\n onLoadingCompleteRef.current(img)\n }\n if (process.env.NODE_ENV !== 'production') {\n const origSrc = new URL(src, 'http://n').searchParams.get('url') || src\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!sizesInput || sizesInput === '100vw')) {\n let widthViewportRatio =\n img.getBoundingClientRect().width / window.innerWidth\n if (widthViewportRatio < 0.6) {\n if (sizesInput === '100vw') {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n } else {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement)\n const valid = ['absolute', 'fixed', 'relative']\n if (!valid.includes(position)) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and parent element with invalid \"position\". Provided \"${position}\" should be one of ${valid\n .map(String)\n .join(',')}.`\n )\n }\n }\n if (img.height === 0) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.`\n )\n }\n }\n\n const heightModified =\n img.height.toString() !== img.getAttribute('height')\n const widthModified = img.width.toString() !== img.getAttribute('width')\n if (\n (heightModified && !widthModified) ||\n (!heightModified && widthModified)\n ) {\n warnOnce(\n `Image with src \"${origSrc}\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles 'width: \"auto\"' or 'height: \"auto\"' to maintain the aspect ratio.`\n )\n }\n }\n })\n}\n\nfunction getDynamicProps(\n fetchPriority?: string\n): Record<string, string | undefined> {\n if (Boolean(use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return { fetchPriority }\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return { fetchpriority: fetchPriority }\n}\n\nconst ImageElement = forwardRef<HTMLImageElement | null, ImageElementProps>(\n (\n {\n src,\n srcSet,\n sizes,\n height,\n width,\n decoding,\n className,\n style,\n fetchPriority,\n placeholder,\n loading,\n unoptimized,\n fill,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n setShowAltText,\n sizesInput,\n onLoad,\n onError,\n ...rest\n },\n forwardedRef\n ) => {\n const ownRef = useCallback(\n (img: ImgElementWithDataProp | null) => {\n if (!img) {\n return\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n console.error(`Image is missing required \"src\" property:`, img)\n }\n if (img.getAttribute('alt') === null) {\n console.error(\n `Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.`\n )\n }\n }\n if (img.complete) {\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }\n },\n [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n ]\n )\n\n const ref = useMergedRef(forwardedRef, ownRef)\n\n return (\n <img\n {...rest}\n {...getDynamicProps(fetchPriority)}\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading={loading}\n width={width}\n height={height}\n decoding={decoding}\n data-nimg={fill ? 'fill' : '1'}\n className={className}\n style={style}\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes={sizes}\n srcSet={srcSet}\n src={src}\n ref={ref}\n onLoad={(event) => {\n const img = event.currentTarget as ImgElementWithDataProp\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }}\n onError={(event) => {\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true)\n if (placeholder !== 'empty') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true)\n }\n if (onError) {\n onError(event)\n }\n }}\n />\n )\n }\n)\n\nfunction ImagePreload({\n isAppRouter,\n imgAttributes,\n}: {\n isAppRouter: boolean\n imgAttributes: ImgProps\n}) {\n const opts = {\n as: 'image',\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority),\n }\n\n if (isAppRouter && ReactDOM.preload) {\n // See https://github.com/facebook/react/pull/26940\n ReactDOM.preload(\n imgAttributes.src,\n // @ts-expect-error TODO: upgrade to `@types/react-dom@18.3.x`\n opts\n )\n return null\n }\n\n return (\n <Head>\n <link\n key={\n '__nimg-' +\n imgAttributes.src +\n imgAttributes.srcSet +\n imgAttributes.sizes\n }\n rel=\"preload\"\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href={imgAttributes.srcSet ? undefined : imgAttributes.src}\n {...opts}\n />\n </Head>\n )\n}\n\n/**\n * The `Image` component is used to optimize images.\n *\n * Read more: [Next.js docs: `Image`](https://nextjs.org/docs/app/api-reference/components/image)\n */\nexport const Image = forwardRef<HTMLImageElement | null, ImageProps>(\n (props, forwardedRef) => {\n const pagesRouter = useContext(RouterContext)\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter\n\n const configContext = useContext(ImageConfigContext)\n const config = useMemo(() => {\n const c = configEnv || configContext || imageConfigDefault\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n const qualities = c.qualities?.sort((a, b) => a - b)\n return { ...c, allSizes, deviceSizes, qualities }\n }, [configContext])\n\n const { onLoad, onLoadingComplete } = props\n const onLoadRef = useRef(onLoad)\n\n useEffect(() => {\n onLoadRef.current = onLoad\n }, [onLoad])\n\n const onLoadingCompleteRef = useRef(onLoadingComplete)\n\n useEffect(() => {\n onLoadingCompleteRef.current = onLoadingComplete\n }, [onLoadingComplete])\n\n const [blurComplete, setBlurComplete] = useState(false)\n const [showAltText, setShowAltText] = useState(false)\n\n const { props: imgAttributes, meta: imgMeta } = getImgProps(props, {\n defaultLoader,\n imgConf: config,\n blurComplete,\n showAltText,\n })\n\n return (\n <>\n {\n <ImageElement\n {...imgAttributes}\n unoptimized={imgMeta.unoptimized}\n placeholder={imgMeta.placeholder}\n fill={imgMeta.fill}\n onLoadRef={onLoadRef}\n onLoadingCompleteRef={onLoadingCompleteRef}\n setBlurComplete={setBlurComplete}\n setShowAltText={setShowAltText}\n sizesInput={props.sizes}\n ref={forwardedRef}\n />\n }\n {imgMeta.priority ? (\n <ImagePreload\n isAppRouter={isAppRouter}\n imgAttributes={imgAttributes}\n />\n ) : null}\n </>\n )\n }\n)\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var aTab = Math.max(0, a.tabIndex);\n var bTab = Math.max(0, b.tabIndex);\n var tabDiff = aTab - bTab;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!aTab) {\n return 1;\n }\n if (!bTab) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nvar getTabIndex = function (node) {\n if (node.tabIndex < 0) {\n // all \"focusable\" elements are already preselected\n // but some might have implicit negative tabIndex\n // return 0 for <audio without tabIndex attribute - it is \"tabbable\"\n if (!node.hasAttribute('tabindex')) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) {\n var tabIndex = getTabIndex(node);\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : tabIndex,\n };\n })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, node) {\n return nodes.indexOf(correctNode(node, nodes));\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes - used to control \"return focus\"\n * @param innerTabbables - used to control \"autofocus\"\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, innerTabbables, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n // no active focus (or focus is on the body)\n if (activeIndex === -1) {\n // known fallback\n if (lastNodeInside !== -1) {\n return lastNodeInside;\n }\n return NEW_FOCUS;\n }\n // new focus, nothing to calculate\n if (lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var currentFocusableIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var previousFocusableIndex = lastNode ? correctedNodes.indexOf(lastNode) : currentFocusableIndex;\n var tabbableNodes = correctedNodes.filter(function (node) { return node.tabIndex >= 0; });\n var currentTabbableIndex = activeElement !== undefined ? tabbableNodes.indexOf(activeElement) : -1;\n var previousTabbableIndex = lastNode ? tabbableNodes.indexOf(lastNode) : currentTabbableIndex;\n var focusIndexDiff = currentTabbableIndex >= 0 && previousTabbableIndex >= 0\n ? // old/new are tabbables, measure distance in tabbable space\n previousTabbableIndex - currentTabbableIndex\n : // or else measure in focusable space\n previousFocusableIndex - currentFocusableIndex;\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // no tabbable elements, autofocus is not possible\n if (innerTabbables.length === 0) {\n // an edge case with no tabbable elements\n // return the last focusable one\n // with some probability this will prevent focus from cycling across the lock, but there is no tabbale elements to cycle to\n return lastNodeInside;\n }\n var returnFirstNode = pickFocusable(innerNodes, innerTabbables[0]);\n var returnLastNode = pickFocusable(innerNodes, innerTabbables[innerTabbables.length - 1]);\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(focusIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getFocusableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * contains the main logic of the `focus-lock` package.\n *\n * ! you probably dont need this function !\n *\n * given top node(s) and the last active element returns the element to be focused next\n * @returns element which should be focused to move focus inside\n * @param topNode\n * @param lastNode\n */\nexport var focusSolver = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getFocusableNodes(entries, visibilityCache);\n var innerElements = anyFocusable.filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n return undefined;\n }\n var outerNodes = getFocusableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n // collect inner focusable and separately tabbables\n var innerFocusables = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var innerTabbable = orderedInnerElements.filter(function (_a) {\n var tabIndex = _a.tabIndex;\n return tabIndex >= 0;\n }).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerFocusables, innerTabbable, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = \n // first try only tabbable, and the fallback to all focusable, as long as at least one element should be picked for focus\n pickAutofocus(anyFocusable, innerTabbable, allParentAutofocusables(entries, visibilityCache)) ||\n pickAutofocus(anyFocusable, innerFocusables, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { focusOn } from './commands';\nimport { focusSolver } from './focusSolver';\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * The main functionality of the focus-lock package\n *\n * Contains focus at a given node.\n * The last focused element will help to determine which element(first or last) should be focused.\n * The found element will be focused.\n *\n * This is one time action (move), not a persistent focus-lock\n *\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @see {@link focusSolver} for the same functionality without autofocus\n */\nexport var moveFocusInside = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = focusSolver(topNode, lastNode);\n // global local side effect to countain recursive lock activation and resolve focus-fighting\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n /** +FOCUS-FIGHTING prevention **/\n if (guardCount > 2) {\n // we have recursive entered back the lock activation\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","import type { ImageConfigComplete, ImageLoaderProps } from './image-config'\nimport type { ImageProps, ImageLoader, StaticImageData } from './get-img-props'\n\nimport { getImgProps } from './get-img-props'\nimport { Image } from '../../client/image-component'\n\n// @ts-ignore - This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\n\n/**\n * For more advanced use cases, you can call `getImageProps()`\n * to get the props that would be passed to the underlying `<img>` element,\n * and instead pass to them to another component, style, canvas, etc.\n *\n * Read more: [Next.js docs: `getImageProps`](https://nextjs.org/docs/app/api-reference/components/image#getimageprops)\n */\nexport function getImageProps(imgProps: ImageProps) {\n const { props } = getImgProps(imgProps, {\n defaultLoader,\n // This is replaced by webpack define plugin\n imgConf: process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete,\n })\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)) {\n if (value === undefined) {\n delete props[key as keyof typeof props]\n }\n }\n return { props }\n}\n\nexport default Image\n\nexport type { ImageProps, ImageLoaderProps, ImageLoader, StaticImageData }\n","import t from\"react\";function e(){return(e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}var n=/[\\'\\\"]/;const r=[\"children\",\"options\"],o={accesskey:\"accessKey\",allowfullscreen:\"allowFullScreen\",allowtransparency:\"allowTransparency\",autocomplete:\"autoComplete\",autofocus:\"autoFocus\",autoplay:\"autoPlay\",cellpadding:\"cellPadding\",cellspacing:\"cellSpacing\",charset:\"charSet\",class:\"className\",classid:\"classId\",colspan:\"colSpan\",contenteditable:\"contentEditable\",contextmenu:\"contextMenu\",crossorigin:\"crossOrigin\",enctype:\"encType\",for:\"htmlFor\",formaction:\"formAction\",formenctype:\"formEncType\",formmethod:\"formMethod\",formnovalidate:\"formNoValidate\",formtarget:\"formTarget\",frameborder:\"frameBorder\",hreflang:\"hrefLang\",inputmode:\"inputMode\",keyparams:\"keyParams\",keytype:\"keyType\",marginheight:\"marginHeight\",marginwidth:\"marginWidth\",maxlength:\"maxLength\",mediagroup:\"mediaGroup\",minlength:\"minLength\",novalidate:\"noValidate\",radiogroup:\"radioGroup\",readonly:\"readOnly\",rowspan:\"rowSpan\",spellcheck:\"spellCheck\",srcdoc:\"srcDoc\",srclang:\"srcLang\",srcset:\"srcSet\",tabindex:\"tabIndex\",usemap:\"useMap\"},a={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",nbsp:\" \",quot:\"“\"},c=[\"style\",\"script\"],s=/([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi,i=/mailto:/i,l=/\\n{2,}$/,u=/^( *>[^\\n]+(\\n[^\\n]+)*\\n*)+\\n{2,}/,_=/^ *> ?/gm,f=/^ {2,}\\n/,d=/^(?:( *[-*_]) *){3,}(?:\\n *)+\\n/,p=/^\\s*(`{3,}|~{3,}) *(\\S+)? *\\n([\\s\\S]+?)\\s*\\1 *(?:\\n *)+\\n?/,m=/^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/,g=/^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,y=/^(?:\\n *)*\\n/,h=/\\r\\n?/g,k=/^\\[\\^([^\\]]+)](:.*)\\n/,x=/^\\[\\^([^\\]]+)]/,b=/\\f/g,v=/^\\s*?\\[(x|\\s)\\]/,$=/^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/,S=/^([^\\n]+)\\n *(=|-){3,} *(?:\\n *)+\\n/,w=/^ *(?!<[a-z][^ >/]* ?\\/>)<([a-z][^ >/]*) ?([^>]*)\\/{0}>\\n?(\\s*(?:<\\1[^>]*?>[\\s\\S]*?<\\/\\1>|(?!<\\1)[\\s\\S])*?)<\\/\\1>\\n*/i,z=/&([a-z]+);/g,E=/^<!--[\\s\\S]*?(?:-->)/,A=/^(data|aria|x)-[a-z_][a-z\\d_.-]*$/,R=/^ *<([a-z][a-z0-9:]*)(?:\\s+((?:<.*?>|[^>])*))?\\/?>(?!<\\/\\1>)(\\s*\\n)?/i,I=/^\\{.*\\}$/,M=/^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,O=/^<([^ >]+@[^ >]+)>/,B=/^<([^ >]+:\\/[^ >]+)>/,L=/ *\\n+$/,T=/(?:^|\\n)( *)$/,j=/-([a-z])?/gi,C=/^(.*\\|?.*)\\n *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:.*\\|.*\\n)*)\\n?/,D=/^((?:[^\\n]|\\n(?! *\\n))+)(?:\\n *)+\\n/,N=/^\\[([^\\]]*)\\]:\\s*(\\S+)\\s*(\"([^\"]*)\")?/,Z=/^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,F=/^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,P=/(\\[|\\])/g,G=/(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/,H=/\\t/g,q=/^ *\\| */,U=/(^ *\\||\\| *$)/g,V=/ *$/,W=/^ *:-+: *$/,K=/^ *:-+ *$/,Q=/^ *-+: *$/,X=/^([*_])\\1((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1\\1(?!\\1)/,J=/^([*_])((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1(?!\\1|\\w)/,Y=/^~~((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,tt=/^\\\\([^0-9A-Za-z\\s])/,et=/^[\\s\\S]+?(?=[^0-9A-Z\\s\\u00c0-\\uffff&;.()'\"]|\\d+\\.|\\n\\n| {2,}\\n|\\w+:\\S|$)/i,nt=/(^\\n+|\\n+$|\\s+$)/g,rt=/^([ \\t]*)/,ot=/\\\\([^0-9A-Z\\s])/gi,at=new RegExp(\"^( *)((?:[*+-]|\\\\d+\\\\.)) +\"),ct=new RegExp(\"( *)((?:[*+-]|\\\\d+\\\\.)) +[^\\\\n]*(?:\\\\n(?!\\\\1(?:[*+-]|\\\\d+\\\\.) )[^\\\\n]*)*(\\\\n|$)\",\"gm\"),st=new RegExp(\"^( *)((?:[*+-]|\\\\d+\\\\.)) [\\\\s\\\\S]+?(?:\\\\n{2,}(?! )(?!\\\\1(?:[*+-]|\\\\d+\\\\.) (?!(?:[*+-]|\\\\d+\\\\.) ))\\\\n*|\\\\s*\\\\n*$)\"),it=\"(?:\\\\[[^\\\\]]*\\\\]|[^\\\\[\\\\]]|\\\\](?=[^\\\\[]*\\\\]))*\",lt=new RegExp(\"^\\\\[(\"+it+\")\\\\]\\\\(\\\\s*<?((?:[^\\\\s\\\\\\\\]|\\\\\\\\.)*?)>?(?:\\\\s+['\\\"]([\\\\s\\\\S]*?)['\\\"])?\\\\s*\\\\)\"),ut=new RegExp(\"^!\\\\[(\"+it+\")\\\\]\\\\(\\\\s*<?((?:[^\\\\s\\\\\\\\]|\\\\\\\\.)*?)>?(?:\\\\s+['\\\"]([\\\\s\\\\S]*?)['\\\"])?\\\\s*\\\\)\"),_t=[u,m,p,$,S,w,E,R,ct,st,C,D];function ft(t){return t.replace(/[ÀÃÂÃÄÅà áâãäåæÆ]/g,\"a\").replace(/[çÇ]/g,\"c\").replace(/[ðÃ]/g,\"d\").replace(/[ÈÉÊËéèêë]/g,\"e\").replace(/[ÃïÎîÃÃÌì]/g,\"i\").replace(/[Ññ]/g,\"n\").replace(/[øØœŒÕõÔôÓóÒò]/g,\"o\").replace(/[ÜüÛûÚúÙù]/g,\"u\").replace(/[ŸÿÃý]/g,\"y\").replace(/[^a-z0-9- ]/gi,\"\").replace(/ /gi,\"-\").toLowerCase()}function dt(t){return Q.test(t)?\"right\":W.test(t)?\"center\":K.test(t)?\"left\":null}function pt(t,e,n){const r=n.t;n.t=!0;const o=e(t.trim(),n);n.t=r;let a=[[]];return o.forEach(function(t,e){\"tableSeparator\"===t.type?0!==e&&e!==o.length-1&&a.push([]):(\"text\"!==t.type||null!=o[e+1]&&\"tableSeparator\"!==o[e+1].type||(t.content=t.content.replace(V,\"\")),a[a.length-1].push(t))}),a}function mt(t,e,n){n.o=!0;const r=pt(t[1],e,n),o=t[2].replace(U,\"\").split(\"|\").map(dt),a=function(t,e,n){return t.trim().split(\"\\n\").map(function(t){return pt(t,e,n)})}(t[3],e,n);return n.o=!1,{align:o,cells:a,header:r,type:\"table\"}}function gt(t,e){return null==t.align[e]?{}:{textAlign:t.align[e]}}function yt(t){return function(e,n){return n.o?t.exec(e):null}}function ht(t){return function(e,n){return n.o||n.i?t.exec(e):null}}function kt(t){return function(e,n){return n.o||n.i?null:t.exec(e)}}function xt(t){return function(e){return t.exec(e)}}function bt(t){try{if(decodeURIComponent(t).replace(/[^A-Za-z0-9/:]/g,\"\").match(/^\\s*(javascript|vbscript|data):/i))return null}catch(t){return null}return t}function vt(t){return t.replace(ot,\"$1\")}function $t(t,e,n){const r=n.o||!1,o=n.i||!1;n.o=!0,n.i=!0;const a=t(e,n);return n.o=r,n.i=o,a}function St(t,e,n){const r=n.o||!1,o=n.i||!1;n.o=!1,n.i=!0;const a=t(e,n);return n.o=r,n.i=o,a}function wt(t,e,n){return n.o=!1,t(e+\"\\n\\n\",n)}const zt=(t,e,n)=>({content:$t(e,t[1],n)});function Et(){return{}}function At(){return null}function Rt(...t){return t.filter(Boolean).join(\" \")}function It(t,e,n){let r=t;const o=e.split(\".\");for(;o.length&&(r=r[o[0]],void 0!==r);)o.shift();return r||n}var Mt;function Ot(r,U={}){U.overrides=U.overrides||{},U.slugify=U.slugify||ft,U.namedCodesToUnicode=U.namedCodesToUnicode?e({},a,U.namedCodesToUnicode):a;const V=U.createElement||t.createElement;function W(t,n,...r){const o=It(U.overrides,`${t}.props`,{});return V(function(t,e){const n=It(e,t);return n?\"function\"==typeof n||\"object\"==typeof n&&\"render\"in n?n:It(e,`${t}.component`,t):t}(t,U.overrides),e({},n,o,{className:Rt(null==n?void 0:n.className,o.className)||void 0}),...r)}function K(e){let n=!1;U.forceInline?n=!0:U.forceBlock||(n=!1===G.test(e));const r=Ot(pt(n?e:`${e.replace(nt,\"\")}\\n\\n`,{o:n}));if(null===U.wrapper)return r;const o=U.wrapper||(n?\"span\":\"div\");let a;if(r.length>1||U.forceWrapper)a=r;else{if(1===r.length)return a=r[0],\"string\"==typeof a?W(\"span\",{key:\"outer\"},a):a;a=null}return t.createElement(o,{key:\"outer\"},a)}function Q(e){const r=e.match(s);return r?r.reduce(function(e,r,a){const c=r.indexOf(\"=\");if(-1!==c){const s=function(t){return-1!==t.indexOf(\"-\")&&null===t.match(A)&&(t=t.replace(j,function(t,e){return e.toUpperCase()})),t}(r.slice(0,c)).trim(),i=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}(r.slice(c+1).trim()),l=o[s]||s,u=e[l]=function(t,e){return\"style\"===t?e.split(/;\\s?/).reduce(function(t,e){const n=e.slice(0,e.indexOf(\":\"));return t[n.replace(/(-[a-z])/g,t=>t[1].toUpperCase())]=e.slice(n.length+1).trim(),t},{}):\"href\"===t?bt(e):(e.match(I)&&(e=e.slice(1,e.length-1)),\"true\"===e||\"false\"!==e&&e)}(s,i);\"string\"==typeof u&&(w.test(u)||R.test(u))&&(e[l]=t.cloneElement(K(u.trim()),{key:a}))}else\"style\"!==r&&(e[o[r]||r]=!0);return e},{}):void 0}const ot=[],it={},dt={blockQuote:{l:kt(u),u:Mt.HIGH,_:(t,e,n)=>({content:e(t[0].replace(_,\"\"),n)}),p:(t,e,n)=>W(\"blockquote\",{key:n.m},e(t.content,n))},breakLine:{l:xt(f),u:Mt.HIGH,_:Et,p:(t,e,n)=>W(\"br\",{key:n.m})},breakThematic:{l:kt(d),u:Mt.HIGH,_:Et,p:(t,e,n)=>W(\"hr\",{key:n.m})},codeBlock:{l:kt(m),u:Mt.MAX,_:t=>({content:t[0].replace(/^ {4}/gm,\"\").replace(/\\n+$/,\"\"),lang:void 0}),p:(t,e,n)=>W(\"pre\",{key:n.m},W(\"code\",{className:t.lang?`lang-${t.lang}`:\"\"},t.content))},codeFenced:{l:kt(p),u:Mt.MAX,_:t=>({content:t[3],lang:t[2]||void 0,type:\"codeBlock\"})},codeInline:{l:ht(g),u:Mt.LOW,_:t=>({content:t[2]}),p:(t,e,n)=>W(\"code\",{key:n.m},t.content)},footnote:{l:kt(k),u:Mt.MAX,_:t=>(ot.push({footnote:t[2],identifier:t[1]}),{}),p:At},footnoteReference:{l:yt(x),u:Mt.HIGH,_:t=>({content:t[1],target:`#${U.slugify(t[1])}`}),p:(t,e,n)=>W(\"a\",{key:n.m,href:bt(t.target)},W(\"sup\",{key:n.m},t.content))},gfmTask:{l:yt(v),u:Mt.HIGH,_:t=>({completed:\"x\"===t[1].toLowerCase()}),p:(t,e,n)=>W(\"input\",{checked:t.completed,key:n.m,readOnly:!0,type:\"checkbox\"})},heading:{l:kt($),u:Mt.HIGH,_:(t,e,n)=>({content:$t(e,t[2],n),id:U.slugify(t[2]),level:t[1].length}),p:(t,e,n)=>(t.tag=`h${t.level}`,W(t.tag,{id:t.id,key:n.m},e(t.content,n)))},headingSetext:{l:kt(S),u:Mt.MAX,_:(t,e,n)=>({content:$t(e,t[1],n),level:\"=\"===t[2]?1:2,type:\"heading\"})},htmlComment:{l:xt(E),u:Mt.HIGH,_:()=>({}),p:At},image:{l:ht(ut),u:Mt.HIGH,_:t=>({alt:t[1],target:vt(t[2]),title:t[3]}),p:(t,e,n)=>W(\"img\",{key:n.m,alt:t.alt||void 0,title:t.title||void 0,src:bt(t.target)})},link:{l:yt(lt),u:Mt.LOW,_:(t,e,n)=>({content:St(e,t[1],n),target:vt(t[2]),title:t[3]}),p:(t,e,n)=>W(\"a\",{key:n.m,href:bt(t.target),title:t.title},e(t.content,n))},linkAngleBraceStyleDetector:{l:yt(B),u:Mt.MAX,_:t=>({content:[{content:t[1],type:\"text\"}],target:t[1],type:\"link\"})},linkBareUrlDetector:{l:(t,e)=>e.g?null:yt(M)(t,e),u:Mt.MAX,_:t=>({content:[{content:t[1],type:\"text\"}],target:t[1],title:void 0,type:\"link\"})},linkMailtoDetector:{l:yt(O),u:Mt.MAX,_(t){let e=t[1],n=t[1];return i.test(n)||(n=\"mailto:\"+n),{content:[{content:e.replace(\"mailto:\",\"\"),type:\"text\"}],target:n,type:\"link\"}}},list:{l(t,e,n){const r=T.exec(n);return!r||!e.h&&e.o?null:st.exec(t=r[1]+t)},u:Mt.HIGH,_(t,e,n){const r=t[2],o=r.length>1,a=o?+r:void 0,c=t[0].replace(l,\"\\n\").match(ct);let s=!1;return{items:c.map(function(t,r){const o=at.exec(t)[0].length,a=new RegExp(\"^ {1,\"+o+\"}\",\"gm\"),i=t.replace(a,\"\").replace(at,\"\"),l=r===c.length-1,u=-1!==i.indexOf(\"\\n\\n\")||l&&s;s=u;const _=n.o,f=n.h;let d;n.h=!0,u?(n.o=!1,d=i.replace(L,\"\\n\\n\")):(n.o=!0,d=i.replace(L,\"\"));const p=e(d,n);return n.o=_,n.h=f,p}),ordered:o,start:a}},p:(t,e,n)=>W(t.ordered?\"ol\":\"ul\",{key:n.m,start:t.start},t.items.map(function(t,r){return W(\"li\",{key:r},e(t,n))}))},newlineCoalescer:{l:kt(y),u:Mt.LOW,_:Et,p:()=>\"\\n\"},paragraph:{l:kt(D),u:Mt.LOW,_:zt,p:(t,e,n)=>W(\"p\",{key:n.m},e(t.content,n))},ref:{l:yt(N),u:Mt.MAX,_:t=>(it[t[1]]={target:t[2],title:t[4]},{}),p:At},refImage:{l:ht(Z),u:Mt.MAX,_:t=>({alt:t[1]||void 0,ref:t[2]}),p:(t,e,n)=>W(\"img\",{key:n.m,alt:t.alt,src:bt(it[t.ref].target),title:it[t.ref].title})},refLink:{l:yt(F),u:Mt.MAX,_:(t,e,n)=>({content:e(t[1],n),fallbackContent:e(t[0].replace(P,\"\\\\$1\"),n),ref:t[2]}),p:(t,e,n)=>it[t.ref]?W(\"a\",{key:n.m,href:bt(it[t.ref].target),title:it[t.ref].title},e(t.content,n)):W(\"span\",{key:n.m},e(t.fallbackContent,n))},table:{l:kt(C),u:Mt.HIGH,_:mt,p:(t,e,n)=>W(\"table\",{key:n.m},W(\"thead\",null,W(\"tr\",null,t.header.map(function(r,o){return W(\"th\",{key:o,style:gt(t,o)},e(r,n))}))),W(\"tbody\",null,t.cells.map(function(r,o){return W(\"tr\",{key:o},r.map(function(r,o){return W(\"td\",{key:o,style:gt(t,o)},e(r,n))}))})))},tableSeparator:{l:function(t,e){return e.t?q.exec(t):null},u:Mt.HIGH,_:function(){return{type:\"tableSeparator\"}},p:()=>\" | \"},text:{l:xt(et),u:Mt.MIN,_:t=>({content:t[0].replace(z,(t,e)=>U.namedCodesToUnicode[e]?U.namedCodesToUnicode[e]:t)}),p:t=>t.content},textBolded:{l:ht(X),u:Mt.MED,_:(t,e,n)=>({content:e(t[2],n)}),p:(t,e,n)=>W(\"strong\",{key:n.m},e(t.content,n))},textEmphasized:{l:ht(J),u:Mt.LOW,_:(t,e,n)=>({content:e(t[2],n)}),p:(t,e,n)=>W(\"em\",{key:n.m},e(t.content,n))},textEscaped:{l:ht(tt),u:Mt.HIGH,_:t=>({content:t[1],type:\"text\"})},textStrikethroughed:{l:ht(Y),u:Mt.LOW,_:zt,p:(t,e,n)=>W(\"del\",{key:n.m},e(t.content,n))}};!0!==U.disableParsingRawHTML&&(dt.htmlBlock={l:xt(w),u:Mt.HIGH,_(t,e,n){const[,r]=t[3].match(rt),o=new RegExp(`^${r}`,\"gm\"),a=t[3].replace(o,\"\"),s=(i=a,_t.some(t=>t.test(i))?wt:$t);var i;const l=t[1].toLowerCase(),u=-1!==c.indexOf(l);n.g=n.g||\"a\"===l;const _=u?t[3]:s(e,a,n);return n.g=!1,{attrs:Q(t[2]),content:_,noInnerParse:u,tag:u?l:t[1]}},p:(t,n,r)=>W(t.tag,e({key:r.m},t.attrs),t.noInnerParse?t.content:n(t.content,r))},dt.htmlSelfClosing={l:xt(R),u:Mt.HIGH,_:t=>({attrs:Q(t[2]||\"\"),tag:t[1]}),p:(t,n,r)=>W(t.tag,e({},t.attrs,{key:r.m}))});const pt=function(t){let e=Object.keys(t);function n(r,o){let a=[],c=\"\";for(;r;){let s=0;for(;s<e.length;){const i=e[s],l=t[i],u=l.l(r,o,c);if(u){const t=u[0];r=r.substring(t.length);const e=l._(u,n,o);null==e.type&&(e.type=i),a.push(e),c=t;break}s++}}return a}return e.sort(function(e,n){let r=t[e].u,o=t[n].u;return r!==o?r-o:e<n?-1:1}),function(t,e){return n(function(t){return t.replace(h,\"\\n\").replace(b,\"\").replace(H,\" \")}(t),e)}}(dt),Ot=(Bt=function(t){return function(e,n,r){return t[e.type].p(e,n,r)}}(dt),function t(e,n={}){if(Array.isArray(e)){const r=n.m,o=[];let a=!1;for(let r=0;r<e.length;r++){n.m=r;const c=t(e[r],n),s=\"string\"==typeof c;s&&a?o[o.length-1]+=c:o.push(c),a=s}return n.m=r,o}return Bt(e,t,n)});var Bt;const Lt=K(r);return ot.length&&Lt.props.children.push(W(\"footer\",{key:\"footer\"},ot.map(function(t){return W(\"div\",{id:U.slugify(t.identifier),key:t.identifier},t.identifier,Ot(pt(t.footnote,{o:!0})))}))),Lt}!function(t){t[t.MAX=0]=\"MAX\",t[t.HIGH=1]=\"HIGH\",t[t.MED=2]=\"MED\",t[t.LOW=3]=\"LOW\",t[t.MIN=4]=\"MIN\"}(Mt||(Mt={}));export default e=>{let{children:n,options:o}=e,a=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r<a.length;r++)e.indexOf(n=a[r])>=0||(o[n]=t[n]);return o}(e,r);return t.cloneElement(Ot(n,o),a)};export{Ot as compiler};\n//# sourceMappingURL=index.modern.js.map\n","import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseDate = void 0;\nvar expiration_year_1 = require(\"../expiration-year\");\nvar is_array_1 = require(\"./is-array\");\nfunction getNumberOfMonthDigitsInDateString(dateString) {\n var firstCharacter = Number(dateString[0]);\n var assumedYear;\n /*\n if the first character in the string starts with `0`,\n we know that the month will be 2 digits.\n \n '0122' => {month: '01', year: '22'}\n */\n if (firstCharacter === 0) {\n return 2;\n }\n /*\n if the first character in the string starts with\n number greater than 1, it must be a 1 digit month\n \n '322' => {month: '3', year: '22'}\n */\n if (firstCharacter > 1) {\n return 1;\n }\n /*\n if the first 2 characters make up a number between\n 13-19, we know that the month portion must be 1\n \n '139' => {month: '1', year: '39'}\n */\n if (firstCharacter === 1 && Number(dateString[1]) > 2) {\n return 1;\n }\n /*\n if the first 2 characters make up a number between\n 10-12, we check if the year portion would be considered\n valid if we assumed that the month was 1. If it is\n not potentially valid, we assume the month must have\n 2 digits.\n \n '109' => {month: '10', year: '9'}\n '120' => {month: '1', year: '20'} // when checked in the year 2019\n '120' => {month: '12', year: '0'} // when checked in the year 2021\n */\n if (firstCharacter === 1) {\n assumedYear = dateString.substr(1);\n return expiration_year_1.expirationYear(assumedYear).isPotentiallyValid ? 1 : 2;\n }\n /*\n If the length of the value is exactly 5 characters,\n we assume a full year was passed in, meaning the remaining\n single leading digit must be the month value.\n \n '12202' => {month: '1', year: '2202'}\n */\n if (dateString.length === 5) {\n return 1;\n }\n /*\n If the length of the value is more than five characters,\n we assume a full year was passed in addition to the month\n and therefore the month portion must be 2 digits.\n \n '112020' => {month: '11', year: '2020'}\n */\n if (dateString.length > 5) {\n return 2;\n }\n /*\n By default, the month value is the first value\n */\n return 1;\n}\nfunction parseDate(datestring) {\n var date;\n if (/^\\d{4}-\\d{1,2}$/.test(datestring)) {\n date = datestring.split(\"-\").reverse();\n }\n else if (/\\//.test(datestring)) {\n date = datestring.split(/\\s*\\/\\s*/g);\n }\n else if (/\\s/.test(datestring)) {\n date = datestring.split(/ +/g);\n }\n if (is_array_1.isArray(date)) {\n return {\n month: date[0] || \"\",\n year: date.slice(1).join(),\n };\n }\n var numberOfDigitsInMonth = getNumberOfMonthDigitsInDateString(datestring);\n var month = datestring.substr(0, numberOfDigitsInMonth);\n return {\n month: month,\n year: datestring.substr(month.length),\n };\n}\nexports.parseDate = parseDate;\n","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","\"use strict\";\nvar cardTypes = {\n visa: {\n niceType: \"Visa\",\n type: \"visa\",\n patterns: [4],\n gaps: [4, 8, 12],\n lengths: [16, 18, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n mastercard: {\n niceType: \"Mastercard\",\n type: \"mastercard\",\n patterns: [[51, 55], [2221, 2229], [223, 229], [23, 26], [270, 271], 2720],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n \"american-express\": {\n niceType: \"American Express\",\n type: \"american-express\",\n patterns: [34, 37],\n gaps: [4, 10],\n lengths: [15],\n code: {\n name: \"CID\",\n size: 4,\n },\n },\n \"diners-club\": {\n niceType: \"Diners Club\",\n type: \"diners-club\",\n patterns: [[300, 305], 36, 38, 39],\n gaps: [4, 10],\n lengths: [14, 16, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n discover: {\n niceType: \"Discover\",\n type: \"discover\",\n patterns: [6011, [644, 649], 65],\n gaps: [4, 8, 12],\n lengths: [16, 19],\n code: {\n name: \"CID\",\n size: 3,\n },\n },\n jcb: {\n niceType: \"JCB\",\n type: \"jcb\",\n patterns: [2131, 1800, [3528, 3589]],\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n unionpay: {\n niceType: \"UnionPay\",\n type: \"unionpay\",\n patterns: [\n 620,\n [624, 626],\n [62100, 62182],\n [62184, 62187],\n [62185, 62197],\n [62200, 62205],\n [622010, 622999],\n 622018,\n [622019, 622999],\n [62207, 62209],\n [622126, 622925],\n [623, 626],\n 6270,\n 6272,\n 6276,\n [627700, 627779],\n [627781, 627799],\n [6282, 6289],\n 6291,\n 6292,\n 810,\n [8110, 8131],\n [8132, 8151],\n [8152, 8163],\n [8164, 8171],\n ],\n gaps: [4, 8, 12],\n lengths: [14, 15, 16, 17, 18, 19],\n code: {\n name: \"CVN\",\n size: 3,\n },\n },\n maestro: {\n niceType: \"Maestro\",\n type: \"maestro\",\n patterns: [\n 493698,\n [500000, 504174],\n [504176, 506698],\n [506779, 508999],\n [56, 59],\n 63,\n 67,\n 6,\n ],\n gaps: [4, 8, 12],\n lengths: [12, 13, 14, 15, 16, 17, 18, 19],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n elo: {\n niceType: \"Elo\",\n type: \"elo\",\n patterns: [\n 401178,\n 401179,\n 438935,\n 457631,\n 457632,\n 431274,\n 451416,\n 457393,\n 504175,\n [506699, 506778],\n [509000, 509999],\n 627780,\n 636297,\n 636368,\n [650031, 650033],\n [650035, 650051],\n [650405, 650439],\n [650485, 650538],\n [650541, 650598],\n [650700, 650718],\n [650720, 650727],\n [650901, 650978],\n [651652, 651679],\n [655000, 655019],\n [655021, 655058],\n ],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVE\",\n size: 3,\n },\n },\n mir: {\n niceType: \"Mir\",\n type: \"mir\",\n patterns: [[2200, 2204]],\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: \"CVP2\",\n size: 3,\n },\n },\n hiper: {\n niceType: \"Hiper\",\n type: \"hiper\",\n patterns: [637095, 63737423, 63743358, 637568, 637599, 637609, 637612],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n hipercard: {\n niceType: \"Hipercard\",\n type: \"hipercard\",\n patterns: [606282],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n};\nmodule.exports = cardTypes;\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * !__WARNING__! Low level API.\n * @returns all tabbable nodes\n *\n * @see {@link getFocusableNodes} to get any focusable element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * !__WARNING__! Low level API.\n *\n * @returns anything \"focusable\", not only tabbable. The difference is in `tabIndex=-1`\n * (without guards, as long as they are not expected to be ever focused)\n *\n * @see {@link getTabbableNodes} to get only tabble nodes element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getFocusableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node - node or nodes to look inside\n * @returns Element[]\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","function e(i={},s=null,t=[]){for(let[r,n]of Object.entries(i))o(t,f(s,r),n);return t}function f(i,s){return i?i+\"[\"+s+\"]\":s}function o(i,s,t){if(Array.isArray(t))for(let[r,n]of t.entries())o(i,f(s,r.toString()),n);else t instanceof Date?i.push([s,t.toISOString()]):typeof t==\"boolean\"?i.push([s,t?\"1\":\"0\"]):typeof t==\"string\"?i.push([s,t]):typeof t==\"number\"?i.push([s,`${t}`]):t==null?i.push([s,\"\"]):e(t,s,i)}function p(i){var t,r;let s=(t=i==null?void 0:i.form)!=null?t:i.closest(\"form\");if(s){for(let n of s.elements)if(n!==i&&(n.tagName===\"INPUT\"&&n.type===\"submit\"||n.tagName===\"BUTTON\"&&n.type===\"submit\"||n.nodeName===\"INPUT\"&&n.type===\"image\")){n.click();return}(r=s.requestSubmit)==null||r.call(s)}}export{p as attemptSubmit,e as objectToFormEntries};\n","import{forwardRefWithAs as i,useRender as p}from'../utils/render.js';let a=\"span\";var s=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(s||{});function l(t,r){var n;let{features:d=1,...e}=t,o={ref:r,\"aria-hidden\":(d&2)===2?!0:(n=e[\"aria-hidden\"])!=null?n:void 0,hidden:(d&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(d&4)===4&&(d&2)!==2&&{display:\"none\"}}};return p()({ourProps:o,theirProps:e,slot:{},defaultTag:a,name:\"Hidden\"})}let f=i(l);export{f as Hidden,s as HiddenFeatures};\n","import o,{createContext as H,useContext as E,useEffect as m,useState as u}from\"react\";import{createPortal as g}from\"react-dom\";import{useDisposables as h}from'../hooks/use-disposables.js';import{objectToFormEntries as x}from'../utils/form.js';import{compact as y}from'../utils/render.js';import{Hidden as l,HiddenFeatures as d}from'./hidden.js';let f=H(null);function W(t){let[e,r]=u(null);return o.createElement(f.Provider,{value:{target:e}},t.children,o.createElement(l,{features:d.Hidden,ref:r}))}function c({children:t}){let e=E(f);if(!e)return o.createElement(o.Fragment,null,t);let{target:r}=e;return r?g(o.createElement(o.Fragment,null,t),r):null}function j({data:t,form:e,disabled:r,onReset:n,overrides:F}){let[i,a]=u(null),p=h();return m(()=>{if(n&&i)return p.addEventListener(i,\"reset\",n)},[i,e,n]),o.createElement(c,null,o.createElement(C,{setForm:a,formId:e}),x(t).map(([s,v])=>o.createElement(l,{features:d.Hidden,...y({key:s,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:e,disabled:r,name:s,value:v,...F})})))}function C({setForm:t,formId:e}){return m(()=>{if(e){let r=document.getElementById(e);r&&t(r)}},[t,e]),e?null:o.createElement(l,{features:d.Hidden,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,ref:r=>{if(!r)return;let n=r.closest(\"form\");n&&t(n)}})}export{j as FormFields,W as FormFieldsProvider,c as HoistFormFields};\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addMatchingCardsToResults = void 0;\nvar clone_1 = require(\"./clone\");\nvar matches_1 = require(\"./matches\");\nfunction addMatchingCardsToResults(cardNumber, cardConfiguration, results) {\n var i, patternLength;\n for (i = 0; i < cardConfiguration.patterns.length; i++) {\n var pattern = cardConfiguration.patterns[i];\n if (!matches_1.matches(cardNumber, pattern)) {\n continue;\n }\n var clonedCardConfiguration = clone_1.clone(cardConfiguration);\n if (Array.isArray(pattern)) {\n patternLength = String(pattern[0]).length;\n }\n else {\n patternLength = String(pattern).length;\n }\n if (cardNumber.length >= patternLength) {\n clonedCardConfiguration.matchStrength = patternLength;\n }\n results.push(clonedCardConfiguration);\n break;\n }\n}\nexports.addMatchingCardsToResults = addMatchingCardsToResults;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link lastDayOfWeek} function options.\n */\n\n/**\n * @name lastDayOfWeek\n * @category Week Helpers\n * @summary Return the last day of a week for the given date.\n *\n * @description\n * Return the last day of a week for the given date.\n * The result will be in the local timezone unless a context is specified.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The last day of a week\n */\nexport function lastDayOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n\n _date.setHours(0, 0, 0, 0);\n _date.setDate(_date.getDate() + diff);\n\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default lastDayOfWeek;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","module.exports = require('./dist/shared/lib/image-external')\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","import { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\nimport { orderByTabIndex } from './utils/tabOrder';\nimport { getFocusables } from './utils/tabUtils';\n/**\n * traverses all related nodes (including groups) returning a list of all nodes(outer and internal) with meta information\n * This is low-level API!\n * @returns list of focusable elements inside a given top(!) node.\n * @see {@link getFocusableNodes} providing a simpler API\n */\nexport var expandFocusableNodes = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = orderByTabIndex(getFocusables([commonParent], true), true, true);\n var innerElements = getFocusables(entries, false);\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","\"use client\";\n\n// packages/react/popover/src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expirationYear = void 0;\nvar DEFAULT_VALID_NUMBER_OF_YEARS_IN_THE_FUTURE = 19;\nfunction verification(isValid, isPotentiallyValid, isCurrentYear) {\n return {\n isValid: isValid,\n isPotentiallyValid: isPotentiallyValid,\n isCurrentYear: isCurrentYear || false,\n };\n}\nfunction expirationYear(value, maxElapsedYear) {\n if (maxElapsedYear === void 0) { maxElapsedYear = DEFAULT_VALID_NUMBER_OF_YEARS_IN_THE_FUTURE; }\n var isCurrentYear;\n if (typeof value !== \"string\") {\n return verification(false, false);\n }\n if (value.replace(/\\s/g, \"\") === \"\") {\n return verification(false, true);\n }\n if (!/^\\d*$/.test(value)) {\n return verification(false, false);\n }\n var len = value.length;\n if (len < 2) {\n return verification(false, true);\n }\n var currentYear = new Date().getFullYear();\n if (len === 3) {\n // 20x === 20x\n var firstTwo = value.slice(0, 2);\n var currentFirstTwo = String(currentYear).slice(0, 2);\n return verification(false, firstTwo === currentFirstTwo);\n }\n if (len > 4) {\n return verification(false, false);\n }\n var numericValue = parseInt(value, 10);\n var twoDigitYear = Number(String(currentYear).substr(2, 2));\n var valid = false;\n if (len === 2) {\n if (String(currentYear).substr(0, 2) === value) {\n return verification(false, true);\n }\n isCurrentYear = twoDigitYear === numericValue;\n valid =\n numericValue >= twoDigitYear &&\n numericValue <= twoDigitYear + maxElapsedYear;\n }\n else if (len === 4) {\n isCurrentYear = currentYear === numericValue;\n valid =\n numericValue >= currentYear &&\n numericValue <= currentYear + maxElapsedYear;\n }\n return verification(valid, valid, isCurrentYear);\n}\nexports.expirationYear = expirationYear;\n","'use client'\n\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useContext,\n useMemo,\n useState,\n type JSX,\n} from 'react'\nimport * as ReactDOM from 'react-dom'\nimport Head from '../../shared/lib/head'\nimport {\n imageConfigDefault,\n VALID_LOADERS,\n} from '../../shared/lib/image-config'\nimport type {\n ImageConfigComplete,\n LoaderValue,\n} from '../../shared/lib/image-config'\nimport { useIntersection } from '../use-intersection'\nimport { ImageConfigContext } from '../../shared/lib/image-config-context.shared-runtime'\nimport { warnOnce } from '../../shared/lib/utils/warn-once'\nimport { normalizePathTrailingSlash } from '../normalize-trailing-slash'\n\nfunction normalizeSrc(src: string): string {\n return src[0] === '/' ? src.slice(1) : src\n}\n\nconst supportsFloat = typeof ReactDOM.preload === 'function'\nconst DEFAULT_Q = 75\nconst configEnv = process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete\nconst loadedImageURLs = new Set<string>()\nconst allImgs = new Map<\n string,\n { src: string; priority: boolean; placeholder: string }\n>()\nlet perfObserver: PerformanceObserver | undefined\nconst emptyDataURL =\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n\nif (typeof window === 'undefined') {\n ;(globalThis as any).__NEXT_IMAGE_IMPORTED = true\n}\n\nconst VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const\ntype LoadingValue = (typeof VALID_LOADING_VALUES)[number]\ntype ImageConfig = ImageConfigComplete & { allSizes: number[] }\nexport type ImageLoader = (resolverProps: ImageLoaderProps) => string\n\nexport type ImageLoaderProps = {\n src: string\n width: number\n quality?: number\n}\n\n// Do not export - this is an internal type only\n// because `next.config.js` is only meant for the\n// built-in loaders, not for a custom loader() prop.\ntype ImageLoaderWithConfig = (\n resolverProps: ImageLoaderPropsWithConfig\n) => string\ntype ImageLoaderPropsWithConfig = ImageLoaderProps & {\n config: Readonly<ImageConfig>\n}\n\nfunction imgixLoader({\n config,\n src,\n width,\n quality,\n}: ImageLoaderPropsWithConfig): string {\n // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300\n const url = new URL(`${config.path}${normalizeSrc(src)}`)\n const params = url.searchParams\n\n // auto params can be combined with comma separation, or reiteration\n params.set('auto', params.getAll('auto').join(',') || 'format')\n params.set('fit', params.get('fit') || 'max')\n params.set('w', params.get('w') || width.toString())\n\n if (quality) {\n params.set('q', quality.toString())\n }\n\n return url.href\n}\n\nfunction akamaiLoader({\n config,\n src,\n width,\n}: ImageLoaderPropsWithConfig): string {\n return `${config.path}${normalizeSrc(src)}?imwidth=${width}`\n}\n\nfunction cloudinaryLoader({\n config,\n src,\n width,\n quality,\n}: ImageLoaderPropsWithConfig): string {\n // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit,q_auto/turtles.jpg\n const params = ['f_auto', 'c_limit', 'w_' + width, 'q_' + (quality || 'auto')]\n const paramsString = params.join(',') + '/'\n return `${config.path}${paramsString}${normalizeSrc(src)}`\n}\n\nfunction customLoader({ src }: ImageLoaderProps): string {\n throw new Error(\n `Image with src \"${src}\" is missing \"loader\" prop.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`\n )\n}\n\nfunction defaultLoader({\n config,\n src,\n width,\n quality,\n}: ImageLoaderPropsWithConfig): string {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = []\n\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src')\n if (!width) missingValues.push('width')\n\n if (missingValues.length > 0) {\n throw new Error(\n `Next Image Optimization requires ${missingValues.join(\n ', '\n )} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify(\n { src, width, quality }\n )}`\n )\n }\n\n if (src.startsWith('//')) {\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`\n )\n }\n\n if (src.startsWith('/') && config.localPatterns) {\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const {\n hasLocalMatch,\n } = require('../../shared/lib/match-local-pattern')\n if (!hasLocalMatch(config.localPatterns, src)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\` does not match \\`images.localPatterns\\` configured in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`\n )\n }\n }\n }\n\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc: URL\n try {\n parsedSrc = new URL(src)\n } catch (err) {\n console.error(err)\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`\n )\n }\n\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const {\n hasRemoteMatch,\n } = require('../../shared/lib/match-remote-pattern')\n if (!hasRemoteMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`\n )\n }\n }\n }\n\n if (quality && config.qualities && !config.qualities.includes(quality)) {\n throw new Error(\n `Invalid quality prop (${quality}) on \\`next/image\\` does not match \\`images.qualities\\` configured in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`\n )\n }\n }\n\n const q =\n quality ||\n config.qualities?.reduce((prev, cur) =>\n Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q) ? cur : prev\n ) ||\n DEFAULT_Q\n\n if (!config.dangerouslyAllowSVG && src.split('?', 1)[0].endsWith('.svg')) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n return src\n }\n\n return `${normalizePathTrailingSlash(config.path)}?url=${encodeURIComponent(\n src\n )}&w=${width}&q=${q}`\n}\n\nconst loaders = new Map<\n LoaderValue,\n (props: ImageLoaderPropsWithConfig) => string\n>([\n ['default', defaultLoader],\n ['imgix', imgixLoader],\n ['cloudinary', cloudinaryLoader],\n ['akamai', akamaiLoader],\n ['custom', customLoader],\n])\n\nconst VALID_LAYOUT_VALUES = [\n 'fill',\n 'fixed',\n 'intrinsic',\n 'responsive',\n undefined,\n] as const\ntype LayoutValue = (typeof VALID_LAYOUT_VALUES)[number]\n\ntype PlaceholderValue = 'blur' | 'empty'\n\ntype OnLoadingComplete = (result: {\n naturalWidth: number\n naturalHeight: number\n}) => void\n\ntype ImgElementStyle = NonNullable<JSX.IntrinsicElements['img']['style']>\n\ntype ImgElementWithDataProp = HTMLImageElement & {\n 'data-loaded-src': string | undefined\n}\n\nexport interface StaticImageData {\n src: string\n height: number\n width: number\n blurDataURL?: string\n}\n\ninterface StaticRequire {\n default: StaticImageData\n}\n\ntype StaticImport = StaticRequire | StaticImageData\n\ntype SafeNumber = number | `${number}`\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n typeof src === 'object' &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n )\n}\n\nexport type ImageProps = Omit<\n JSX.IntrinsicElements['img'],\n 'src' | 'srcSet' | 'ref' | 'width' | 'height' | 'loading'\n> & {\n src: string | StaticImport\n width?: SafeNumber\n height?: SafeNumber\n layout?: LayoutValue\n loader?: ImageLoader\n quality?: SafeNumber\n priority?: boolean\n loading?: LoadingValue\n lazyRoot?: React.RefObject<HTMLElement | null> | null\n lazyBoundary?: string\n placeholder?: PlaceholderValue\n blurDataURL?: string\n unoptimized?: boolean\n objectFit?: ImgElementStyle['objectFit']\n objectPosition?: ImgElementStyle['objectPosition']\n onLoadingComplete?: OnLoadingComplete\n}\n\ntype ImageElementProps = Omit<ImageProps, 'src' | 'loader'> & {\n srcString: string\n imgAttributes: GenImgAttrsResult\n heightInt: number | undefined\n widthInt: number | undefined\n qualityInt: number | undefined\n layout: LayoutValue\n imgStyle: ImgElementStyle\n blurStyle: ImgElementStyle\n isLazy: boolean\n loading: LoadingValue\n config: ImageConfig\n unoptimized: boolean\n loader: ImageLoaderWithConfig\n placeholder: PlaceholderValue\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>\n setBlurComplete: (b: boolean) => void\n setIntersection: (img: HTMLImageElement | null) => void\n isVisible: boolean\n noscriptSizes: string | undefined\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n layout: LayoutValue,\n sizes: string | undefined\n): { widths: number[]; kind: 'w' | 'x' } {\n if (sizes && (layout === 'fill' || layout === 'responsive')) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g\n const percentSizes = []\n for (let match; (match = viewportWidthRe.exec(sizes)); match) {\n percentSizes.push(parseInt(match[2]))\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: 'w',\n }\n }\n return { widths: allSizes, kind: 'w' }\n }\n if (\n typeof width !== 'number' ||\n layout === 'fill' ||\n layout === 'responsive'\n ) {\n return { widths: deviceSizes, kind: 'w' }\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1]\n )\n ),\n ]\n return { widths, kind: 'x' }\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig\n src: string\n unoptimized: boolean\n layout: LayoutValue\n loader: ImageLoaderWithConfig\n width?: number\n quality?: number\n sizes?: string\n}\n\ntype GenImgAttrsResult = {\n src: string\n srcSet: string | undefined\n sizes: string | undefined\n}\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n layout,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined }\n }\n\n const { widths, kind } = getWidths(config, width, layout, sizes)\n const last = widths.length - 1\n\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === 'w' ? w : i + 1\n }${kind}`\n )\n .join(', '),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n }\n}\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === 'number') {\n return x\n }\n if (typeof x === 'string') {\n return parseInt(x, 10)\n }\n return undefined\n}\n\nfunction defaultImageLoader(loaderProps: ImageLoaderPropsWithConfig) {\n const loaderKey = loaderProps.config?.loader || 'default'\n const load = loaders.get(loaderKey)\n if (load) {\n return load(loaderProps)\n }\n throw new Error(\n `Unknown \"loader\" found in \"next.config.js\". Expected: ${VALID_LOADERS.join(\n ', '\n )}. Received: ${loaderKey}`\n )\n}\n\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(\n img: ImgElementWithDataProp,\n src: string,\n layout: LayoutValue,\n placeholder: PlaceholderValue,\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>,\n setBlurComplete: (b: boolean) => void\n) {\n if (!img || img.src === emptyDataURL || img['data-loaded-src'] === src) {\n return\n }\n img['data-loaded-src'] = src\n const p = 'decode' in img ? img.decode() : Promise.resolve()\n p.catch(() => {}).then(() => {\n if (!img.parentNode) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return\n }\n loadedImageURLs.add(src)\n if (placeholder === 'blur') {\n setBlurComplete(true)\n }\n if (onLoadingCompleteRef?.current) {\n const { naturalWidth, naturalHeight } = img\n // Pass back read-only primitive values but not the\n // underlying DOM element because it could be misused.\n onLoadingCompleteRef.current({ naturalWidth, naturalHeight })\n }\n if (process.env.NODE_ENV !== 'production') {\n if (img.parentElement?.parentElement) {\n const parent = getComputedStyle(img.parentElement.parentElement)\n if (!parent.position) {\n // The parent has not been rendered to the dom yet and therefore it has no position. Skip the warnings for such cases.\n } else if (layout === 'responsive' && parent.display === 'flex') {\n warnOnce(\n `Image with src \"${src}\" may not render properly as a child of a flex container. Consider wrapping the image with a div to configure the width.`\n )\n } else if (\n layout === 'fill' &&\n parent.position !== 'relative' &&\n parent.position !== 'fixed' &&\n parent.position !== 'absolute'\n ) {\n warnOnce(\n `Image with src \"${src}\" may not render properly with a parent using position:\"${parent.position}\". Consider changing the parent style to position:\"relative\" with a width and height.`\n )\n }\n }\n }\n })\n}\n\nconst ImageElement = ({\n imgAttributes,\n heightInt,\n widthInt,\n qualityInt,\n layout,\n className,\n imgStyle,\n blurStyle,\n isLazy,\n placeholder,\n loading,\n srcString,\n config,\n unoptimized,\n loader,\n onLoadingCompleteRef,\n setBlurComplete,\n setIntersection,\n onLoad,\n onError,\n isVisible,\n noscriptSizes,\n ...rest\n}: ImageElementProps) => {\n loading = isLazy ? 'lazy' : loading\n return (\n <>\n <img\n {...rest}\n {...imgAttributes}\n decoding=\"async\"\n data-nimg={layout}\n className={className}\n style={{ ...imgStyle, ...blurStyle }}\n ref={useCallback(\n (img: ImgElementWithDataProp) => {\n if (process.env.NODE_ENV !== 'production') {\n if (img && !srcString) {\n console.error(`Image is missing required \"src\" property:`, img)\n }\n }\n setIntersection(img)\n if (img?.complete) {\n handleLoading(\n img,\n srcString,\n layout,\n placeholder,\n onLoadingCompleteRef,\n setBlurComplete\n )\n }\n },\n [\n setIntersection,\n srcString,\n layout,\n placeholder,\n onLoadingCompleteRef,\n setBlurComplete,\n ]\n )}\n onLoad={(event) => {\n const img = event.currentTarget as ImgElementWithDataProp\n handleLoading(\n img,\n srcString,\n layout,\n placeholder,\n onLoadingCompleteRef,\n setBlurComplete\n )\n if (onLoad) {\n onLoad(event)\n }\n }}\n onError={(event) => {\n if (placeholder === 'blur') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true)\n }\n if (onError) {\n onError(event)\n }\n }}\n />\n {(isLazy || placeholder === 'blur') && (\n <noscript>\n <img\n {...rest}\n // @ts-ignore - TODO: upgrade to `@types/react@17`\n loading={loading}\n decoding=\"async\"\n data-nimg={layout}\n style={imgStyle}\n className={className}\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n {...generateImgAttrs({\n config,\n src: srcString,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes: noscriptSizes,\n loader,\n })}\n />\n </noscript>\n )}\n </>\n )\n}\n\nexport default function Image({\n src,\n sizes,\n unoptimized = false,\n priority = false,\n loading,\n lazyRoot = null,\n lazyBoundary,\n className,\n quality,\n width,\n height,\n style,\n objectFit,\n objectPosition,\n onLoadingComplete,\n placeholder = 'empty',\n blurDataURL,\n ...all\n}: ImageProps) {\n const configContext = useContext(ImageConfigContext)\n const config: ImageConfig = useMemo(() => {\n const c = configEnv || configContext || imageConfigDefault\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n const qualities = c.qualities?.sort((a, b) => a - b)\n return { ...c, allSizes, deviceSizes, qualities }\n }, [configContext])\n\n let rest: Partial<ImageProps> = all\n let layout: NonNullable<LayoutValue> = sizes ? 'responsive' : 'intrinsic'\n if ('layout' in rest) {\n // Override default layout if the user specified one:\n if (rest.layout) layout = rest.layout\n\n // Remove property so it's not spread on <img>:\n delete rest.layout\n }\n\n let loader: ImageLoaderWithConfig = defaultImageLoader\n if ('loader' in rest) {\n if (rest.loader) {\n const customImageLoader = rest.loader\n loader = (obj) => {\n const { config: _, ...opts } = obj\n // The config object is internal only so we must\n // not pass it to the user-defined loader()\n return customImageLoader(opts)\n }\n }\n // Remove property so it's not spread on <img>\n delete rest.loader\n }\n\n let staticSrc = ''\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n blurDataURL = blurDataURL || staticImageData.blurDataURL\n staticSrc = staticImageData.src\n if (!layout || layout !== 'fill') {\n height = height || staticImageData.height\n width = width || staticImageData.width\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc\n\n let isLazy =\n !priority && (loading === 'lazy' || typeof loading === 'undefined')\n if (src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true\n isLazy = false\n }\n if (typeof window !== 'undefined' && loadedImageURLs.has(src)) {\n isLazy = false\n }\n if (config.unoptimized) {\n unoptimized = true\n }\n\n const [blurComplete, setBlurComplete] = useState(false)\n const [setIntersection, isIntersected, resetIntersected] =\n useIntersection<HTMLImageElement>({\n rootRef: lazyRoot,\n rootMargin: lazyBoundary || '200px',\n disabled: !isLazy,\n })\n const isVisible = !isLazy || isIntersected\n\n const wrapperStyle: JSX.IntrinsicElements['span']['style'] = {\n boxSizing: 'border-box',\n display: 'block',\n overflow: 'hidden',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0,\n }\n const sizerStyle: JSX.IntrinsicElements['span']['style'] = {\n boxSizing: 'border-box',\n display: 'block',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0,\n }\n let hasSizer = false\n let sizerSvgUrl: string | undefined\n const layoutStyle: ImgElementStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n\n boxSizing: 'border-box',\n padding: 0,\n border: 'none',\n margin: 'auto',\n\n display: 'block',\n width: 0,\n height: 0,\n minWidth: '100%',\n maxWidth: '100%',\n minHeight: '100%',\n maxHeight: '100%',\n\n objectFit,\n objectPosition,\n }\n\n let widthInt = getInt(width)\n let heightInt = getInt(height)\n const qualityInt = getInt(quality)\n\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n widthInt = widthInt || 1\n heightInt = heightInt || 1\n unoptimized = true\n } else {\n if (!VALID_LAYOUT_VALUES.includes(layout)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"layout\" property. Provided \"${layout}\" should be one of ${VALID_LAYOUT_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n\n if (\n (typeof widthInt !== 'undefined' && isNaN(widthInt)) ||\n (typeof heightInt !== 'undefined' && isNaN(heightInt))\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" or \"height\" property. These should be numeric values.`\n )\n }\n if (layout === 'fill' && (width || height)) {\n warnOnce(\n `Image with src \"${src}\" and \"layout='fill'\" has unused properties assigned. Please remove \"width\" and \"height\".`\n )\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (priority && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (sizes && layout !== 'fill' && layout !== 'responsive') {\n warnOnce(\n `Image with src \"${src}\" has \"sizes\" property but it will be ignored. Only use \"sizes\" with \"layout='fill'\" or \"layout='responsive'\"`\n )\n }\n if (placeholder === 'blur') {\n if (layout !== 'fill' && (widthInt || 0) * (heightInt || 0) < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder='blur'\" property to improve performance.`\n )\n }\n if (!blurDataURL) {\n const VALID_BLUR_EXT = ['jpeg', 'png', 'webp', 'avif'] // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n ','\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`\n )\n }\n }\n if ('ref' in rest) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoadingComplete\" property instead.`\n )\n }\n\n if (!unoptimized && loader !== defaultImageLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n })\n let url: URL | undefined\n try {\n url = new URL(urlStr)\n } catch (err) {}\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`\n )\n }\n }\n\n if (style) {\n let overwrittenStyles = Object.keys(style).filter(\n (key) => key in layoutStyle\n )\n if (overwrittenStyles.length) {\n warnOnce(\n `Image with src ${src} is assigned the following styles, which are overwritten by automatically-generated styles: ${overwrittenStyles.join(\n ', '\n )}`\n )\n }\n }\n\n if (\n typeof window !== 'undefined' &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || ''\n const lcpImage = allImgs.get(imgSrc)\n if (\n lcpImage &&\n !lcpImage.priority &&\n lcpImage.placeholder !== 'blur' &&\n !lcpImage.src.startsWith('data:') &&\n !lcpImage.src.startsWith('blob:')\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/api-reference/next/legacy/image#priority`\n )\n }\n }\n })\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true,\n })\n } catch (err) {\n // Log error but don't crash the app\n console.error(err)\n }\n }\n }\n }\n const imgStyle = Object.assign({}, style, layoutStyle)\n const blurStyle =\n placeholder === 'blur' && !blurComplete\n ? {\n backgroundSize: objectFit || 'cover',\n backgroundPosition: objectPosition || '0% 0%',\n filter: 'blur(20px)',\n backgroundImage: `url(\"${blurDataURL}\")`,\n }\n : {}\n if (layout === 'fill') {\n // <Image src=\"i.png\" layout=\"fill\" />\n wrapperStyle.display = 'block'\n wrapperStyle.position = 'absolute'\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (\n typeof widthInt !== 'undefined' &&\n typeof heightInt !== 'undefined'\n ) {\n // <Image src=\"i.png\" width=\"100\" height=\"100\" />\n const quotient = heightInt / widthInt\n const paddingTop = isNaN(quotient) ? '100%' : `${quotient * 100}%`\n if (layout === 'responsive') {\n // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"responsive\" />\n wrapperStyle.display = 'block'\n wrapperStyle.position = 'relative'\n hasSizer = true\n sizerStyle.paddingTop = paddingTop\n } else if (layout === 'intrinsic') {\n // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"intrinsic\" />\n wrapperStyle.display = 'inline-block'\n wrapperStyle.position = 'relative'\n wrapperStyle.maxWidth = '100%'\n hasSizer = true\n sizerStyle.maxWidth = '100%'\n sizerSvgUrl = `data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27${widthInt}%27%20height=%27${heightInt}%27/%3e`\n } else if (layout === 'fixed') {\n // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"fixed\" />\n wrapperStyle.display = 'inline-block'\n wrapperStyle.position = 'relative'\n wrapperStyle.width = widthInt\n wrapperStyle.height = heightInt\n }\n } else {\n // <Image src=\"i.png\" />\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `Image with src \"${src}\" must use \"width\" and \"height\" properties or \"layout='fill'\" property.`\n )\n }\n }\n\n let imgAttributes: GenImgAttrsResult = {\n src: emptyDataURL,\n srcSet: undefined,\n sizes: undefined,\n }\n\n if (isVisible) {\n imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n })\n }\n\n let srcString: string = src\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl: URL\n try {\n fullUrl = new URL(imgAttributes.src)\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href)\n }\n allImgs.set(fullUrl.href, { src, priority, placeholder })\n }\n }\n\n const linkProps:\n | React.DetailedHTMLProps<\n React.LinkHTMLAttributes<HTMLLinkElement>,\n HTMLLinkElement\n >\n | undefined = supportsFloat\n ? undefined\n : {\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: rest.crossOrigin,\n referrerPolicy: rest.referrerPolicy,\n }\n\n const useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n const onLoadingCompleteRef = useRef(onLoadingComplete)\n\n const previousImageSrc = useRef<string | StaticImport>(src)\n useEffect(() => {\n onLoadingCompleteRef.current = onLoadingComplete\n }, [onLoadingComplete])\n\n useLayoutEffect(() => {\n if (previousImageSrc.current !== src) {\n resetIntersected()\n previousImageSrc.current = src\n }\n }, [resetIntersected, src])\n\n const imgElementArgs = {\n isLazy,\n imgAttributes,\n heightInt,\n widthInt,\n qualityInt,\n layout,\n className,\n imgStyle,\n blurStyle,\n loading,\n config,\n unoptimized,\n placeholder,\n loader,\n srcString,\n onLoadingCompleteRef,\n setBlurComplete,\n setIntersection,\n isVisible,\n noscriptSizes: sizes,\n ...rest,\n }\n return (\n <>\n <span style={wrapperStyle}>\n {hasSizer ? (\n <span style={sizerStyle}>\n {sizerSvgUrl ? (\n <img\n style={{\n display: 'block',\n maxWidth: '100%',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0,\n }}\n alt=\"\"\n aria-hidden={true}\n src={sizerSvgUrl}\n />\n ) : null}\n </span>\n ) : null}\n <ImageElement {...imgElementArgs} />\n </span>\n {!supportsFloat && priority ? (\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n <Head>\n <link\n key={\n '__nimg-' +\n imgAttributes.src +\n imgAttributes.srcSet +\n imgAttributes.sizes\n }\n rel=\"preload\"\n as=\"image\"\n href={imgAttributes.srcSet ? undefined : imgAttributes.src}\n {...linkProps}\n />\n </Head>\n ) : null}\n </>\n )\n}\n","import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachMonthOfInterval} function options.\n */\n\n/**\n * The {@link eachMonthOfInterval} function result type. It resolves the proper data type.\n */\n\n/**\n * @name eachMonthOfInterval\n * @category Interval Helpers\n * @summary Return the array of months within the specified time interval.\n *\n * @description\n * Return the array of months within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of months from the month of the interval start to the month of the interval end\n *\n * @example\n * // Each month between 6 February 2014 and 10 August 2014:\n * const result = eachMonthOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2014, 7, 10)\n * })\n * //=> [\n * // Sat Feb 01 2014 00:00:00,\n * // Sat Mar 01 2014 00:00:00,\n * // Tue Apr 01 2014 00:00:00,\n * // Thu May 01 2014 00:00:00,\n * // Sun Jun 01 2014 00:00:00,\n * // Tue Jul 01 2014 00:00:00,\n * // Fri Aug 01 2014 00:00:00\n * // ]\n */\nexport function eachMonthOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n date.setDate(1);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setMonth(date.getMonth() + step);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachMonthOfInterval;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\n/**\n * returns current active element. If the active element is a \"container\" itself(shadowRoot or iframe) returns active element inside it\n * @param [inDocument]\n */\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","import { normalizeDates } from \"./normalizeDates.js\";\n\nexport function normalizeInterval(context, interval) {\n const [start, end] = normalizeDates(context, interval.start, interval.end);\n return { start, end };\n}\n","// packages/react/arrow/src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/useSize.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/popper/src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","\"use client\";\n\n// packages/react/alert-dialog/src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Slottable } from \"@radix-ui/react-slot\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = (props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n};\nAlertDialog.displayName = ROOT_NAME;\nvar TRIGGER_NAME = \"AlertDialogTrigger\";\nvar AlertDialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }\n);\nAlertDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"AlertDialogPortal\";\nvar AlertDialogPortal = (props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n};\nAlertDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"AlertDialogOverlay\";\nvar AlertDialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }\n);\nAlertDialogOverlay.displayName = OVERLAY_NAME;\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar AlertDialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(\n DialogPrimitive.WarningProvider,\n {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"alert-dialog\",\n children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef })\n ]\n }\n ) })\n }\n );\n }\n);\nAlertDialogContent.displayName = CONTENT_NAME;\nvar TITLE_NAME = \"AlertDialogTitle\";\nvar AlertDialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }\n);\nAlertDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"AlertDialogDescription\";\nvar AlertDialogDescription = React.forwardRef((props, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n});\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"AlertDialogAction\";\nvar AlertDialogAction = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }\n);\nAlertDialogAction.displayName = ACTION_NAME;\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }\n);\nAlertDialogCancel.displayName = CANCEL_NAME;\nvar DescriptionWarning = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute(\"aria-describedby\")\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n return null;\n};\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","\"use strict\";\n// Polyfill taken from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray#Polyfill>.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArray = void 0;\nexports.isArray = Array.isArray ||\n function (arg) {\n return Object.prototype.toString.call(arg) === \"[object Array]\";\n };\n","import n,{createContext as d,useContext as i}from\"react\";let e=d(void 0);function u(){return i(e)}function f({id:t,children:r}){return n.createElement(e.Provider,{value:t},r)}export{f as IdProvider,u as useProvidedId};\n","var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */\nexport function getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL,\n objectFit,\n}: {\n widthInt?: number\n heightInt?: number\n blurWidth?: number\n blurHeight?: number\n blurDataURL: string\n objectFit?: string\n}): string {\n const std = 20\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt\n\n const viewBox =\n svgWidth && svgHeight ? `viewBox='0 0 ${svgWidth} ${svgHeight}'` : ''\n const preserveAspectRatio = viewBox\n ? 'none'\n : objectFit === 'contain'\n ? 'xMidYMid'\n : objectFit === 'cover'\n ? 'xMidYMid slice'\n : 'none'\n\n return `%3Csvg xmlns='http://www.w3.org/2000/svg' ${viewBox}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${preserveAspectRatio}' style='filter: url(%23b);' href='${blurDataURL}'/%3E%3C/svg%3E`\n}\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cardNumber = void 0;\nvar luhn10 = require(\"./luhn-10\");\nvar getCardTypes = require(\"credit-card-type\");\nfunction verification(card, isPotentiallyValid, isValid) {\n return {\n card: card,\n isPotentiallyValid: isPotentiallyValid,\n isValid: isValid,\n };\n}\nfunction cardNumber(value, options) {\n if (options === void 0) { options = {}; }\n var isPotentiallyValid, isValid, maxLength;\n if (typeof value !== \"string\" && typeof value !== \"number\") {\n return verification(null, false, false);\n }\n var testCardValue = String(value).replace(/-|\\s/g, \"\");\n if (!/^\\d*$/.test(testCardValue)) {\n return verification(null, false, false);\n }\n var potentialTypes = getCardTypes(testCardValue);\n if (potentialTypes.length === 0) {\n return verification(null, false, false);\n }\n else if (potentialTypes.length !== 1) {\n return verification(null, true, false);\n }\n var cardType = potentialTypes[0];\n if (options.maxLength && testCardValue.length > options.maxLength) {\n return verification(cardType, false, false);\n }\n if (cardType.type === getCardTypes.types.UNIONPAY &&\n options.luhnValidateUnionPay !== true) {\n isValid = true;\n }\n else {\n isValid = luhn10(testCardValue);\n }\n maxLength = Math.max.apply(null, cardType.lengths);\n if (options.maxLength) {\n maxLength = Math.min(options.maxLength, maxLength);\n }\n for (var i = 0; i < cardType.lengths.length; i++) {\n if (cardType.lengths[i] === testCardValue.length) {\n isPotentiallyValid = testCardValue.length < maxLength || isValid;\n return verification(cardType, isPotentiallyValid, isValid);\n }\n }\n return verification(cardType, testCardValue.length < maxLength, false);\n}\nexports.cardNumber = cardNumber;\n","// packages/react/direction/src/Direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/portal/src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";import R,{createContext as k,useContext as h,useMemo as T,useState as D}from\"react\";import{useEvent as v}from'../../hooks/use-event.js';import{useId as _}from'../../hooks/use-id.js';import{useIsoMorphicEffect as A}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as B}from'../../hooks/use-sync-refs.js';import{useDisabled as F}from'../../internal/disabled.js';import{useProvidedId as S}from'../../internal/id.js';import{forwardRefWithAs as M,useRender as H}from'../../utils/render.js';let c=k(null);c.displayName=\"LabelContext\";function P(){let r=h(c);if(r===null){let l=new Error(\"You used a <Label /> component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(l,P),l}return r}function I(r){var a,e,o;let l=(e=(a=h(c))==null?void 0:a.value)!=null?e:void 0;return((o=r==null?void 0:r.length)!=null?o:0)>0?[l,...r].filter(Boolean).join(\" \"):l}function K({inherit:r=!1}={}){let l=I(),[a,e]=D([]),o=r?[l,...a].filter(Boolean):a;return[o.length>0?o.join(\" \"):void 0,T(()=>function(t){let s=v(i=>(e(p=>[...p,i]),()=>e(p=>{let u=p.slice(),d=u.indexOf(i);return d!==-1&&u.splice(d,1),u}))),m=T(()=>({register:s,slot:t.slot,name:t.name,props:t.props,value:t.value}),[s,t.slot,t.name,t.props,t.value]);return R.createElement(c.Provider,{value:m},t.children)},[e])]}let N=\"label\";function G(r,l){var y;let a=_(),e=P(),o=S(),g=F(),{id:t=`headlessui-label-${a}`,htmlFor:s=o!=null?o:(y=e.props)==null?void 0:y.htmlFor,passive:m=!1,...i}=r,p=B(l);A(()=>e.register(t),[t,e.register]);let u=v(L=>{let b=L.currentTarget;if(b instanceof HTMLLabelElement&&L.preventDefault(),e.props&&\"onClick\"in e.props&&typeof e.props.onClick==\"function\"&&e.props.onClick(L),b instanceof HTMLLabelElement){let n=document.getElementById(b.htmlFor);if(n){let E=n.getAttribute(\"disabled\");if(E===\"true\"||E===\"\")return;let x=n.getAttribute(\"aria-disabled\");if(x===\"true\"||x===\"\")return;(n instanceof HTMLInputElement&&(n.type===\"radio\"||n.type===\"checkbox\")||n.role===\"radio\"||n.role===\"checkbox\"||n.role===\"switch\")&&n.click(),n.focus({preventScroll:!0})}}}),d=g||!1,C=T(()=>({...e.slot,disabled:d}),[e.slot,d]),f={ref:p,...e.props,id:t,htmlFor:s,onClick:u};return m&&(\"onClick\"in f&&(delete f.htmlFor,delete f.onClick),\"onClick\"in i&&delete i.onClick),H()({ourProps:f,theirProps:i,slot:C,defaultTag:s?N:\"div\",name:e.name||\"Label\"})}let U=M(G),Q=Object.assign(U,{});export{Q as Label,P as useLabelContext,I as useLabelledBy,K as useLabels};\n","import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link subDays} function options.\n */\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount, options) {\n return addDays(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","import { getTabbableNodes } from './utils/DOMutils';\nfunction weakRef(value) {\n if (!value)\n return null;\n // #68 Safari 14.1 dont have it yet\n // FIXME: remove in 2025\n if (typeof WeakRef === 'undefined') {\n return function () { return value || null; };\n }\n var w = value ? new WeakRef(value) : null;\n return function () { return (w === null || w === void 0 ? void 0 : w.deref()) || null; };\n}\nexport var recordElementLocation = function (element) {\n if (!element) {\n return null;\n }\n var stack = [];\n var currentElement = element;\n while (currentElement && currentElement !== document.body) {\n stack.push({\n current: weakRef(currentElement),\n parent: weakRef(currentElement.parentElement),\n left: weakRef(currentElement.previousElementSibling),\n right: weakRef(currentElement.nextElementSibling),\n });\n currentElement = currentElement.parentElement;\n }\n return {\n element: weakRef(element),\n stack: stack,\n ownerDocument: element.ownerDocument,\n };\n};\nvar restoreFocusTo = function (location) {\n var _a, _b, _c, _d, _e;\n if (!location) {\n return undefined;\n }\n var stack = location.stack, ownerDocument = location.ownerDocument;\n var visibilityCache = new Map();\n for (var _i = 0, stack_1 = stack; _i < stack_1.length; _i++) {\n var line = stack_1[_i];\n var parent_1 = (_a = line.parent) === null || _a === void 0 ? void 0 : _a.call(line);\n // is it still here?\n if (parent_1 && ownerDocument.contains(parent_1)) {\n var left = (_b = line.left) === null || _b === void 0 ? void 0 : _b.call(line);\n var savedCurrent = line.current();\n var current = parent_1.contains(savedCurrent) ? savedCurrent : undefined;\n var right = (_c = line.right) === null || _c === void 0 ? void 0 : _c.call(line);\n var focusables = getTabbableNodes([parent_1], visibilityCache);\n var aim = \n // that is element itself\n (_e = (_d = current !== null && current !== void 0 ? current : \n // or something in it's place\n left === null || left === void 0 ? void 0 : left.nextElementSibling) !== null && _d !== void 0 ? _d : \n // or somebody to the right, still close enough\n right) !== null && _e !== void 0 ? _e : \n // or somebody to the left, something?\n left;\n while (aim) {\n for (var _f = 0, focusables_1 = focusables; _f < focusables_1.length; _f++) {\n var focusable = focusables_1[_f];\n if (aim === null || aim === void 0 ? void 0 : aim.contains(focusable.node)) {\n return focusable.node;\n }\n }\n aim = aim.nextElementSibling;\n }\n if (focusables.length) {\n // if parent contains a focusable - move there\n return focusables[0].node;\n }\n }\n }\n // nothing matched\n return undefined;\n};\n/**\n * Captures the current focused element to restore focus as close as possible in the future\n * Handles situations where the focused element is removed from the DOM or no longer focusable\n * moving focus to the closest focusable element\n * @param targetElement - element where focus should be restored\n * @returns a function returning a new element to focus\n */\nexport var captureFocusRestore = function (targetElement) {\n var location = recordElementLocation(targetElement);\n return function () {\n return restoreFocusTo(location);\n };\n};\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDay} function options.\n */\n\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of week, 0 represents Sunday\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport function getDay(date, options) {\n return toDate(date, options?.in).getDay();\n}\n\n// Fallback for modularized imports:\nexport default getDay;\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","import{useEffect as l,useRef as i}from\"react\";import{useEvent as r}from'./use-event.js';let u=Symbol();function T(t,n=!0){return Object.assign(t,{[u]:n})}function y(...t){let n=i(t);l(()=>{n.current=t},[t]);let c=r(e=>{for(let o of n.current)o!=null&&(typeof o==\"function\"?o(e):o.current=e)});return t.every(e=>e==null||(e==null?void 0:e[u]))?void 0:c}export{T as optionalRef,y as useSyncRefs};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findBestMatch = void 0;\nfunction hasEnoughResultsToDetermineBestMatch(results) {\n var numberOfResultsWithMaxStrengthProperty = results.filter(function (result) { return result.matchStrength; }).length;\n /*\n * if all possible results have a maxStrength property that means the card\n * number is sufficiently long enough to determine conclusively what the card\n * type is\n * */\n return (numberOfResultsWithMaxStrengthProperty > 0 &&\n numberOfResultsWithMaxStrengthProperty === results.length);\n}\nfunction findBestMatch(results) {\n if (!hasEnoughResultsToDetermineBestMatch(results)) {\n return null;\n }\n return results.reduce(function (bestMatch, result) {\n if (!bestMatch) {\n return result;\n }\n /*\n * If the current best match pattern is less specific than this result, set\n * the result as the new best match\n * */\n if (Number(bestMatch.matchStrength) < Number(result.matchStrength)) {\n return result;\n }\n return bestMatch;\n });\n}\nexports.findBestMatch = findBestMatch;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addMonths} function options.\n */\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n * @param options - The options object\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(options?.in || date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","\"use strict\";\n/*\n * Adapted from https://github.com/polvo-labs/card-type/blob/aaab11f80fa1939bccc8f24905a06ae3cd864356/src/cardType.js#L37-L42\n * */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matches = void 0;\nfunction matchesRange(cardNumber, min, max) {\n var maxLengthToCheck = String(min).length;\n var substr = cardNumber.substr(0, maxLengthToCheck);\n var integerRepresentationOfCardNumber = parseInt(substr, 10);\n min = parseInt(String(min).substr(0, substr.length), 10);\n max = parseInt(String(max).substr(0, substr.length), 10);\n return (integerRepresentationOfCardNumber >= min &&\n integerRepresentationOfCardNumber <= max);\n}\nfunction matchesPattern(cardNumber, pattern) {\n pattern = String(pattern);\n return (pattern.substring(0, cardNumber.length) ===\n cardNumber.substring(0, pattern.length));\n}\nfunction matches(cardNumber, pattern) {\n if (Array.isArray(pattern)) {\n return matchesRange(cardNumber, pattern[0], pattern[1]);\n }\n return matchesPattern(cardNumber, pattern);\n}\nexports.matches = matches;\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\n","var i=Object.defineProperty;var d=(t,e,n)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var r=(t,e,n)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,n),n);class o{constructor(){r(this,\"current\",this.detect());r(this,\"handoffState\",\"pending\");r(this,\"currentId\",0)}set(e){this.current!==e&&(this.handoffState=\"pending\",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}}let s=new o;export{s as env};\n","\"use client\";\n\n// packages/react/roving-focus/src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n })\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/menu/src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dropdown-menu/src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfMonth} function options.\n */\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postalCode = void 0;\nvar DEFAULT_MIN_POSTAL_CODE_LENGTH = 3;\nfunction verification(isValid, isPotentiallyValid) {\n return { isValid: isValid, isPotentiallyValid: isPotentiallyValid };\n}\nfunction postalCode(value, options) {\n if (options === void 0) { options = {}; }\n var minLength = options.minLength || DEFAULT_MIN_POSTAL_CODE_LENGTH;\n if (typeof value !== \"string\") {\n return verification(false, false);\n }\n else if (value.length < minLength) {\n return verification(false, true);\n }\n return verification(true, true);\n}\nexports.postalCode = postalCode;\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The dates are equal\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport function isEqual(leftDate, rightDate) {\n return +toDate(leftDate) === +toDate(rightDate);\n}\n\n// Fallback for modularized imports:\nexport default isEqual;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\nvar InFocusGuard = function InFocusGuard(_ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? null : _ref$children;\n return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nexport default InFocusGuard;","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true,\n ssr: typeof document !== 'undefined'\n});","import { createContext } from 'react';\nexport var focusScope = /*#__PURE__*/createContext(undefined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { forwardRef, useRef, useState, useCallback, useEffect, useMemo, Fragment } from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport { FOCUS_DISABLED, FOCUS_GROUP } from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nimport { focusScope } from './scope';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n var _useState = useState(),\n realObserved = _useState[0],\n setObserved = _useState[1];\n var observed = useRef();\n var isActive = useRef(false);\n var originalFocusedElement = useRef(null);\n var _useState2 = useState({}),\n update = _useState2[1];\n var children = props.children,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$noFocusGuards = props.noFocusGuards,\n noFocusGuards = _props$noFocusGuards === void 0 ? false : _props$noFocusGuards,\n _props$persistentFocu = props.persistentFocus,\n persistentFocus = _props$persistentFocu === void 0 ? false : _props$persistentFocu,\n _props$crossFrame = props.crossFrame,\n crossFrame = _props$crossFrame === void 0 ? true : _props$crossFrame,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n _props$returnFocus = props.returnFocus,\n shouldReturnFocus = _props$returnFocus === void 0 ? false : _props$returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n var _useState3 = useState({}),\n id = _useState3[0];\n var onActivation = useCallback(function (_ref) {\n var captureFocusRestore = _ref.captureFocusRestore;\n if (!originalFocusedElement.current) {\n var _document;\n var activeElement = (_document = document) == null ? void 0 : _document.activeElement;\n originalFocusedElement.current = activeElement;\n if (activeElement !== document.body) {\n originalFocusedElement.current = captureFocusRestore(activeElement);\n }\n }\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n isActive.current = true;\n update();\n }, [onActivationCallback]);\n var onDeactivation = useCallback(function () {\n isActive.current = false;\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n update();\n }, [onDeactivationCallback]);\n var returnFocus = useCallback(function (allowDefer) {\n var focusRestore = originalFocusedElement.current;\n if (focusRestore) {\n var returnFocusTo = (typeof focusRestore === 'function' ? focusRestore() : focusRestore) || document.body;\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n if (allowDefer) {\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]);\n var onFocus = useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium;\n var setObserveNode = useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n useEffect(function () {\n if (!observed.current && typeof Container !== 'string') {\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n var lockProps = _extends((_extends2 = {}, _extends2[FOCUS_DISABLED] = disabled && 'disabled', _extends2[FOCUS_GROUP] = group, _extends2), containerProps);\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n var focusScopeValue = useMemo(function () {\n return {\n observed: observed,\n shards: shards,\n enabled: !disabled,\n active: isActive.current\n };\n }, [disabled, isActive.current, shards, realObserved]);\n return /*#__PURE__*/React.createElement(Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions,\n noFocusGuards: noFocusGuards\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), /*#__PURE__*/React.createElement(focusScope.Provider, {\n value: focusScopeValue\n }, children)), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nexport default FocusLock;","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};\nexport var extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport { moveFocusInside, focusInside, focusIsHidden, expandFocusableNodes, getFocusableNodes, focusNextElement, focusPrevElement, focusFirstElement, focusLastElement, captureFocusRestore } from 'focus-lock';\nimport { deferAction, extractRef } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar tryRestoreFocus = function tryRestoreFocus() {\n return null;\n};\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\nvar windowFocused = false;\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n do {\n var item = allNodes[i];\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n return;\n }\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n return Boolean(focusWasOutsideWindow);\n }\n return focusWasOutsideWindow === 'meanwhile';\n};\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && (el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\nvar getNodeFocusables = function getNodeFocusables(nodes) {\n return getFocusableNodes(nodes, new Map());\n};\nvar isNotFocusable = function isNotFocusable(node) {\n return !getNodeFocusables([node.parentNode]).some(function (el) {\n return el.node === node;\n });\n};\nvar activateTrap = function activateTrap() {\n var result = false;\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions,\n noFocusGuards = _lastActiveTrap.noFocusGuards;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n if (focusOnBody() && lastActiveFocus && lastActiveFocus !== document.body) {\n if (!document.body.contains(lastActiveFocus) || isNotFocusable(lastActiveFocus)) {\n var newTarget = tryRestoreFocus();\n if (newTarget) {\n newTarget.focus();\n }\n }\n }\n var activeElement = document && document.activeElement;\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n var shouldForceRestoreFocus = function shouldForceRestoreFocus() {\n if (!focusWasOutside(crossFrame) || !noFocusGuards || !lastActiveFocus || windowFocused) {\n return false;\n }\n var nodes = getNodeFocusables(workingArea);\n var lastIndex = nodes.findIndex(function (_ref) {\n var node = _ref.node;\n return node === lastActiveFocus;\n });\n return lastIndex === 0 || lastIndex === nodes.length - 1;\n };\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || shouldForceRestoreFocus() || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n if (activeElement.blur) {\n activeElement.blur();\n }\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n lastActiveFocus = document && document.activeElement;\n if (lastActiveFocus !== document.body) {\n tryRestoreFocus = captureFocusRestore(lastActiveFocus);\n }\n focusWasOutsideWindow = false;\n }\n }\n if (document && activeElement !== document.activeElement && document.querySelector('[data-focus-auto-guard]')) {\n var newActiveElement = document && document.activeElement;\n var allNodes = expandFocusableNodes(workingArea);\n var focusedIndex = allNodes.map(function (_ref2) {\n var node = _ref2.node;\n return node;\n }).indexOf(newActiveElement);\n if (focusedIndex > -1) {\n allNodes.filter(function (_ref3) {\n var guard = _ref3.guard,\n node = _ref3.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref4) {\n var node = _ref4.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n return result;\n};\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n event.stopPropagation();\n event.preventDefault();\n }\n};\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\nvar onFocus = function onFocus(event) {\n var source = event.target;\n var currentNode = event.currentTarget;\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\nvar FocusTrap = function FocusTrap(_ref5) {\n var children = _ref5.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\nvar onWindowFocus = function onWindowFocus() {\n windowFocused = true;\n};\nvar onWindowBlur = function onWindowBlur() {\n windowFocused = false;\n focusWasOutsideWindow = 'just';\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\n};\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('focus', onWindowFocus);\n window.addEventListener('blur', onWindowBlur);\n};\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('focus', onWindowFocus);\n window.removeEventListener('blur', onWindowBlur);\n};\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref6) {\n var disabled = _ref6.disabled;\n return !disabled;\n });\n}\nvar focusLockAPI = {\n moveFocusInside: moveFocusInside,\n focusInside: focusInside,\n focusNextElement: focusNextElement,\n focusPrevElement: focusPrevElement,\n focusFirstElement: focusFirstElement,\n focusLastElement: focusLastElement,\n captureFocusRestore: captureFocusRestore\n};\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation();\n if (!traps.filter(function (_ref7) {\n var id = _ref7.id;\n return id === lastTrap.id;\n }).length) {\n lastTrap.returnFocus(!trap);\n }\n }\n if (trap) {\n lastActiveFocus = null;\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation(focusLockAPI);\n }\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n}\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb(focusLockAPI);\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { forwardRef } from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\nvar FocusLockCombination = /*#__PURE__*/forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","import { focusOn } from './commands';\nimport { getTabbableNodes, contains, getFocusableNodes } from './utils/DOMutils';\nimport { asArray } from './utils/array';\n/**\n * for a given `element` in a given `scope` returns focusable siblings\n * @param element - base element\n * @param scope - common parent. Can be document, but better to narrow it down for performance reasons\n * @returns {prev,next} - references to a focusable element before and after\n * @returns undefined - if operation is not applicable\n */\nexport var getRelativeFocusable = function (element, scope, useTabbables) {\n if (!element || !scope) {\n console.error('no element or scope given');\n return {};\n }\n var shards = asArray(scope);\n if (shards.every(function (shard) { return !contains(shard, element); })) {\n console.error('Active element is not contained in the scope');\n return {};\n }\n var focusables = useTabbables\n ? getTabbableNodes(shards, new Map())\n : getFocusableNodes(shards, new Map());\n var current = focusables.findIndex(function (_a) {\n var node = _a.node;\n return node === element;\n });\n if (current === -1) {\n // an edge case, when anchor element is not found\n return undefined;\n }\n return {\n prev: focusables[current - 1],\n next: focusables[current + 1],\n first: focusables[0],\n last: focusables[focusables.length - 1],\n };\n};\nvar getBoundary = function (shards, useTabbables) {\n var set = useTabbables\n ? getTabbableNodes(asArray(shards), new Map())\n : getFocusableNodes(asArray(shards), new Map());\n return {\n first: set[0],\n last: set[set.length - 1],\n };\n};\nvar defaultOptions = function (options) {\n return Object.assign({\n scope: document.body,\n cycle: true,\n onlyTabbable: true,\n }, options);\n};\nvar moveFocus = function (fromElement, options, cb) {\n if (options === void 0) { options = {}; }\n var newOptions = defaultOptions(options);\n var solution = getRelativeFocusable(fromElement, newOptions.scope, newOptions.onlyTabbable);\n if (!solution) {\n return;\n }\n var target = cb(solution, newOptions.cycle);\n if (target) {\n focusOn(target.node, newOptions.focusOptions);\n }\n};\n/**\n * focuses next element in the tab-order\n * @param fromElement - common parent to scope active element search or tab cycle order\n * @param {FocusNextOptions} [options] - focus options\n */\nexport var focusNextElement = function (fromElement, options) {\n if (options === void 0) { options = {}; }\n moveFocus(fromElement, options, function (_a, cycle) {\n var next = _a.next, first = _a.first;\n return next || (cycle && first);\n });\n};\n/**\n * focuses prev element in the tab order\n * @param fromElement - common parent to scope active element search or tab cycle order\n * @param {FocusNextOptions} [options] - focus options\n */\nexport var focusPrevElement = function (fromElement, options) {\n if (options === void 0) { options = {}; }\n moveFocus(fromElement, options, function (_a, cycle) {\n var prev = _a.prev, last = _a.last;\n return prev || (cycle && last);\n });\n};\nvar pickBoundary = function (scope, options, what) {\n var _a;\n var boundary = getBoundary(scope, (_a = options.onlyTabbable) !== null && _a !== void 0 ? _a : true);\n var node = boundary[what];\n if (node) {\n focusOn(node.node, options.focusOptions);\n }\n};\n/**\n * focuses first element in the tab-order\n * @param {FocusNextOptions} options - focus options\n */\nexport var focusFirstElement = function (scope, options) {\n if (options === void 0) { options = {}; }\n pickBoundary(scope, options, 'first');\n};\n/**\n * focuses last element in the tab order\n * @param {FocusNextOptions} options - focus options\n */\nexport var focusLastElement = function (scope, options) {\n if (options === void 0) { options = {}; }\n pickBoundary(scope, options, 'last');\n};\n","\"use client\";\n\n// packages/react/focus-guards/src/FocusGuards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\nfunction useFocusGuards() {\n React.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count++;\n return () => {\n if (count === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\nvar Root = FocusGuards;\nexport {\n FocusGuards,\n Root,\n useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return React.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n const fieldState = React.useMemo(() => Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }), [formState, name]);\n const field = React.useMemo(() => ({\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: (event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }),\n onBlur: () => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }),\n ref: (elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n }), [\n name,\n control._formValues,\n disabled,\n formState.disabled,\n value,\n control._fields,\n ]);\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n !isArrayField && control.register(name);\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n });\n }, [disabled, name, control]);\n return React.useMemo(() => ({\n field,\n formState,\n fieldState,\n }), [field, formState, fieldState]);\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst flatten = (obj) => {\n const output = {};\n for (const key of Object.keys(obj)) {\n if (isObjectType(obj[key]) && obj[key] !== null) {\n const nested = flatten(obj[key]);\n for (const nestedKey of Object.keys(nested)) {\n output[`${key}.${nestedKey}`] = nested[nestedKey];\n }\n }\n else {\n output[key] = obj[key];\n }\n }\n return output;\n};\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n const flattenFormValues = flatten(control._formValues);\n for (const key in flattenFormValues) {\n formData.append(key, flattenFormValues[key]);\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(String(action), {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n return true;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n return true;\n }\n else {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n }\n else if (isObject(currentField)) {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n }\n }\n return;\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, disabledFieldNames, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabledFieldNames.has(name)) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n rules &&\n control.register(name, rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n !Array.isArray(get(control._fields, name)) &&\n set(control._fields, name, undefined);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._names.disabled, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nconst ASYNC_FUNCTION = 'AsyncFunction';\nvar hasPromiseValidation = (fieldReference) => !!fieldReference &&\n !!fieldReference.validate &&\n !!((isFunction(fieldReference.validate) &&\n fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||\n (isObject(fieldReference.validate) &&\n Object.values(fieldReference.validate).find((validateFunction) => validateFunction.constructor.name === ASYNC_FUNCTION)));\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n disabled: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (!_options.disabled && (_proxyFormState.isValid || shouldUpdateValid)) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (!_options.disabled &&\n (_proxyFormState.isValidating || _proxyFormState.validatingFields)) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method && !_options.disabled) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n if (!_options.disabled) {\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n }\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (_options.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(_options.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const isPromiseFunction = field._f && hasPromiseValidation(field._f);\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([name], true);\n }\n const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([name]);\n }\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => !_options.disabled &&\n (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n isObject(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||\n deepEqual(fieldValue, get(_formValues, name, fieldValue));\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n if (_proxyFormState.isValid) {\n if (_options.mode === 'onBlur' && isBlurEvent) {\n _updateValid();\n }\n else if (!isBlurEvent) {\n _updateValid();\n }\n }\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, }) => {\n if ((isBoolean(disabled) && _state.mount) ||\n !!disabled ||\n _names.disabled.has(name)) {\n disabled ? _names.disabled.add(name) : _names.disabled.delete(name);\n updateTouchAndDirty(name, getFieldValue(field ? field._f : get(fields, name)._f), false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: isBoolean(options.disabled)\n ? options.disabled\n : _options.disabled,\n name,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined\n ? { disabled: options.disabled || _options.disabled }\n : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n if (_names.disabled.size) {\n for (const name of _names.disabled) {\n set(fieldValues, name, undefined);\n }\n }\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n const fieldsToCheck = new Set([\n ..._names.mount,\n ...Object.keys(getDirtyFields(_defaultValues, _formValues)),\n ]);\n for (const fieldName of Array.from(fieldsToCheck)) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = _options.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n disabled: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!_options.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect &&\n isFunction(fieldRef.select) &&\n fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef(undefined);\n const _values = React.useRef(undefined);\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidInputType = void 0;\nfunction isValidInputType(cardNumber) {\n return typeof cardNumber === \"string\" || cardNumber instanceof String;\n}\nexports.isValidInputType = isValidInputType;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar cardTypes = require(\"./lib/card-types\");\nvar add_matching_cards_to_results_1 = require(\"./lib/add-matching-cards-to-results\");\nvar is_valid_input_type_1 = require(\"./lib/is-valid-input-type\");\nvar find_best_match_1 = require(\"./lib/find-best-match\");\nvar clone_1 = require(\"./lib/clone\");\nvar customCards = {};\nvar cardNames = {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n AMERICAN_EXPRESS: \"american-express\",\n DINERS_CLUB: \"diners-club\",\n DISCOVER: \"discover\",\n JCB: \"jcb\",\n UNIONPAY: \"unionpay\",\n MAESTRO: \"maestro\",\n ELO: \"elo\",\n MIR: \"mir\",\n HIPER: \"hiper\",\n HIPERCARD: \"hipercard\",\n};\nvar ORIGINAL_TEST_ORDER = [\n cardNames.VISA,\n cardNames.MASTERCARD,\n cardNames.AMERICAN_EXPRESS,\n cardNames.DINERS_CLUB,\n cardNames.DISCOVER,\n cardNames.JCB,\n cardNames.UNIONPAY,\n cardNames.MAESTRO,\n cardNames.ELO,\n cardNames.MIR,\n cardNames.HIPER,\n cardNames.HIPERCARD,\n];\nvar testOrder = clone_1.clone(ORIGINAL_TEST_ORDER);\nfunction findType(cardType) {\n return customCards[cardType] || cardTypes[cardType];\n}\nfunction getAllCardTypes() {\n return testOrder.map(function (cardType) { return clone_1.clone(findType(cardType)); });\n}\nfunction getCardPosition(name, ignoreErrorForNotExisting) {\n if (ignoreErrorForNotExisting === void 0) { ignoreErrorForNotExisting = false; }\n var position = testOrder.indexOf(name);\n if (!ignoreErrorForNotExisting && position === -1) {\n throw new Error('\"' + name + '\" is not a supported card type.');\n }\n return position;\n}\nfunction creditCardType(cardNumber) {\n var results = [];\n if (!is_valid_input_type_1.isValidInputType(cardNumber)) {\n return results;\n }\n if (cardNumber.length === 0) {\n return getAllCardTypes();\n }\n testOrder.forEach(function (cardType) {\n var cardConfiguration = findType(cardType);\n add_matching_cards_to_results_1.addMatchingCardsToResults(cardNumber, cardConfiguration, results);\n });\n var bestMatch = find_best_match_1.findBestMatch(results);\n if (bestMatch) {\n return [bestMatch];\n }\n return results;\n}\ncreditCardType.getTypeInfo = function (cardType) {\n return clone_1.clone(findType(cardType));\n};\ncreditCardType.removeCard = function (name) {\n var position = getCardPosition(name);\n testOrder.splice(position, 1);\n};\ncreditCardType.addCard = function (config) {\n var existingCardPosition = getCardPosition(config.type, true);\n customCards[config.type] = config;\n if (existingCardPosition === -1) {\n testOrder.push(config.type);\n }\n};\ncreditCardType.updateCard = function (cardType, updates) {\n var originalObject = customCards[cardType] || cardTypes[cardType];\n if (!originalObject) {\n throw new Error(\"\\\"\" + cardType + \"\\\" is not a recognized type. Use `addCard` instead.'\");\n }\n if (updates.type && originalObject.type !== updates.type) {\n throw new Error(\"Cannot overwrite type parameter.\");\n }\n var clonedCard = clone_1.clone(originalObject);\n clonedCard = __assign(__assign({}, clonedCard), updates);\n customCards[clonedCard.type] = clonedCard;\n};\ncreditCardType.changeOrder = function (name, position) {\n var currentPosition = getCardPosition(name);\n testOrder.splice(currentPosition, 1);\n testOrder.splice(position, 0, name);\n};\ncreditCardType.resetModifications = function () {\n testOrder = clone_1.clone(ORIGINAL_TEST_ORDER);\n customCards = {};\n};\ncreditCardType.types = cardNames;\nmodule.exports = creditCardType;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link isWithinInterval} function options.\n */\n\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param date - The date to check\n * @param interval - The interval to check\n * @param options - An object with options\n *\n * @returns The date is within the interval\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * // => true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * // => false\n *\n * @example\n * // For date equal to the interval start:\n * isWithinInterval(date, { start, end: date })\n * // => true\n *\n * @example\n * // For date equal to the interval end:\n * isWithinInterval(date, { start: date, end })\n * // => true\n */\nexport function isWithinInterval(date, interval, options) {\n const time = +toDate(date, options?.in);\n const [startTime, endTime] = [\n +toDate(interval.start, options?.in),\n +toDate(interval.end, options?.in),\n ].sort((a, b) => a - b);\n\n return time >= startTime && time <= endTime;\n}\n\n// Fallback for modularized imports:\nexport default isWithinInterval;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n","export { styleSingleton } from './component';\nexport { stylesheetSingleton } from './singleton';\nexport { styleHookSingleton } from './hook';\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function () {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n React.useEffect(function () {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function () {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n }\n else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n useLockAttribute();\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of <Style\n */\n var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","import { RemoveScrollBar } from './component';\nimport { zeroRightClassName, fullWidthClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nexport { RemoveScrollBar, zeroRightClassName, fullWidthClassName, noScrollbarsClassName, removedBarSizeVariable, getGapWidth, };\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","import { warnOnce } from './utils/warn-once'\nimport { getImageBlurSvg } from './image-blur-svg'\nimport { imageConfigDefault } from './image-config'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n ImageLoaderPropsWithConfig,\n} from './image-config'\n\nimport type { JSX } from 'react'\n\nexport interface StaticImageData {\n src: string\n height: number\n width: number\n blurDataURL?: string\n blurWidth?: number\n blurHeight?: number\n}\n\nexport interface StaticRequire {\n default: StaticImageData\n}\n\nexport type StaticImport = StaticRequire | StaticImageData\n\nexport type ImageProps = Omit<\n JSX.IntrinsicElements['img'],\n 'src' | 'srcSet' | 'ref' | 'alt' | 'width' | 'height' | 'loading'\n> & {\n src: string | StaticImport\n alt: string\n width?: number | `${number}`\n height?: number | `${number}`\n fill?: boolean\n loader?: ImageLoader\n quality?: number | `${number}`\n priority?: boolean\n loading?: LoadingValue\n placeholder?: PlaceholderValue\n blurDataURL?: string\n unoptimized?: boolean\n overrideSrc?: string\n /**\n * @deprecated Use `onLoad` instead.\n * @see https://nextjs.org/docs/app/api-reference/components/image#onload\n */\n onLoadingComplete?: OnLoadingComplete\n /**\n * @deprecated Use `fill` prop instead of `layout=\"fill\"` or change import to `next/legacy/image`.\n * @see https://nextjs.org/docs/api-reference/next/legacy/image\n */\n layout?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectFit?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectPosition?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyBoundary?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyRoot?: string\n}\n\nexport type ImgProps = Omit<ImageProps, 'src' | 'loader'> & {\n loading: LoadingValue\n width: number | undefined\n height: number | undefined\n style: NonNullable<JSX.IntrinsicElements['img']['style']>\n sizes: string | undefined\n srcSet: string | undefined\n src: string\n}\n\nconst VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const\ntype LoadingValue = (typeof VALID_LOADING_VALUES)[number]\ntype ImageConfig = ImageConfigComplete & {\n allSizes: number[]\n output?: 'standalone' | 'export'\n}\n\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\n// Do not export - this is an internal type only\n// because `next.config.js` is only meant for the\n// built-in loaders, not for a custom loader() prop.\ntype ImageLoaderWithConfig = (p: ImageLoaderPropsWithConfig) => string\n\nexport type PlaceholderValue = 'blur' | 'empty' | `data:image/${string}`\nexport type OnLoad = React.ReactEventHandler<HTMLImageElement> | undefined\nexport type OnLoadingComplete = (img: HTMLImageElement) => void\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n !!src &&\n typeof src === 'object' &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n )\n}\n\nconst allImgs = new Map<\n string,\n { src: string; priority: boolean; placeholder: PlaceholderValue }\n>()\nlet perfObserver: PerformanceObserver | undefined\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === 'undefined') {\n return x\n }\n if (typeof x === 'number') {\n return Number.isFinite(x) ? x : NaN\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10)\n }\n return NaN\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n sizes: string | undefined\n): { widths: number[]; kind: 'w' | 'x' } {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g\n const percentSizes = []\n for (let match; (match = viewportWidthRe.exec(sizes)); match) {\n percentSizes.push(parseInt(match[2]))\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: 'w',\n }\n }\n return { widths: allSizes, kind: 'w' }\n }\n if (typeof width !== 'number') {\n return { widths: deviceSizes, kind: 'w' }\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1]\n )\n ),\n ]\n return { widths, kind: 'x' }\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig\n src: string\n unoptimized: boolean\n loader: ImageLoaderWithConfig\n width?: number\n quality?: number\n sizes?: string\n}\n\ntype GenImgAttrsResult = {\n src: string\n srcSet: string | undefined\n sizes: string | undefined\n}\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined }\n }\n\n const { widths, kind } = getWidths(config, width, sizes)\n const last = widths.length - 1\n\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === 'w' ? w : i + 1\n }${kind}`\n )\n .join(', '),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n }\n}\n\n/**\n * A shared function, used on both client and server, to generate the props for <img>.\n */\nexport function getImgProps(\n {\n src,\n sizes,\n unoptimized = false,\n priority = false,\n loading,\n className,\n quality,\n width,\n height,\n fill = false,\n style,\n overrideSrc,\n onLoad,\n onLoadingComplete,\n placeholder = 'empty',\n blurDataURL,\n fetchPriority,\n decoding = 'async',\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n ...rest\n }: ImageProps,\n _state: {\n defaultLoader: ImageLoaderWithConfig\n imgConf: ImageConfigComplete\n showAltText?: boolean\n blurComplete?: boolean\n }\n): {\n props: ImgProps\n meta: {\n unoptimized: boolean\n priority: boolean\n placeholder: NonNullable<ImageProps['placeholder']>\n fill: boolean\n }\n} {\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state\n let config: ImageConfig\n let c = imgConf || imageConfigDefault\n if ('allSizes' in c) {\n config = c as ImageConfig\n } else {\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n const qualities = c.qualities?.sort((a, b) => a - b)\n config = { ...c, allSizes, deviceSizes, qualities }\n }\n\n if (typeof defaultLoader === 'undefined') {\n throw new Error(\n 'images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config'\n )\n }\n let loader: ImageLoaderWithConfig = rest.loader || defaultLoader\n\n // Remove property so it's not spread on <img> element\n delete rest.loader\n delete (rest as any).srcSet\n\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader\n\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw new Error(\n `Image with src \"${src}\" is missing \"loader\" prop.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`\n )\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader as ImageLoader\n loader = (obj) => {\n const { config: _, ...opts } = obj\n return customImageLoader(opts)\n }\n }\n\n if (layout) {\n if (layout === 'fill') {\n fill = true\n }\n const layoutToStyle: Record<string, Record<string, string> | undefined> = {\n intrinsic: { maxWidth: '100%', height: 'auto' },\n responsive: { width: '100%', height: 'auto' },\n }\n const layoutToSizes: Record<string, string | undefined> = {\n responsive: '100vw',\n fill: '100vw',\n }\n const layoutStyle = layoutToStyle[layout]\n if (layoutStyle) {\n style = { ...style, ...layoutStyle }\n }\n const layoutSizes = layoutToSizes[layout]\n if (layoutSizes && !sizes) {\n sizes = layoutSizes\n }\n }\n\n let staticSrc = ''\n let widthInt = getInt(width)\n let heightInt = getInt(height)\n let blurWidth: number | undefined\n let blurHeight: number | undefined\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n\n blurWidth = staticImageData.blurWidth\n blurHeight = staticImageData.blurHeight\n blurDataURL = blurDataURL || staticImageData.blurDataURL\n staticSrc = staticImageData.src\n\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width\n heightInt = staticImageData.height\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width\n heightInt = Math.round(staticImageData.height * ratio)\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height\n widthInt = Math.round(staticImageData.width * ratio)\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc\n\n let isLazy =\n !priority && (loading === 'lazy' || typeof loading === 'undefined')\n if (!src || src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true\n isLazy = false\n }\n if (config.unoptimized) {\n unoptimized = true\n }\n if (\n isDefaultLoader &&\n !config.dangerouslyAllowSVG &&\n src.split('?', 1)[0].endsWith('.svg')\n ) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true\n }\n\n const qualityInt = getInt(quality)\n\n if (process.env.NODE_ENV !== 'production') {\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw new Error(\n `Image Optimization using the default loader is not compatible with \\`{ output: 'export' }\\`.\n Possible solutions:\n - Remove \\`{ output: 'export' }\\` and run \"next start\" to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true\n } else {\n if (fill) {\n if (width) {\n throw new Error(\n `Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (height) {\n throw new Error(\n `Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (style?.position && style.position !== 'absolute') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`\n )\n }\n if (style?.width && style.width !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`\n )\n }\n if (style?.height && style.height !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`\n )\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"width\" property.`\n )\n } else if (isNaN(widthInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${width}\".`\n )\n }\n if (typeof heightInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"height\" property.`\n )\n } else if (isNaN(heightInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${height}\".`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (priority && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (\n placeholder !== 'empty' &&\n placeholder !== 'blur' &&\n !placeholder.startsWith('data:image/')\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"placeholder\" property \"${placeholder}\".`\n )\n }\n if (placeholder !== 'empty') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.`\n )\n }\n }\n if (placeholder === 'blur' && !blurDataURL) {\n const VALID_BLUR_EXT = ['jpeg', 'png', 'webp', 'avif'] // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n ','\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`\n )\n }\n if ('ref' in rest) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.`\n )\n }\n\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n })\n let url: URL | undefined\n try {\n url = new URL(urlStr)\n } catch (err) {}\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`\n )\n }\n }\n\n if (onLoadingComplete) {\n warnOnce(\n `Image with src \"${src}\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.`\n )\n }\n\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n })) {\n if (legacyValue) {\n warnOnce(\n `Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`\n )\n }\n }\n\n if (\n typeof window !== 'undefined' &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || ''\n const lcpImage = allImgs.get(imgSrc)\n if (\n lcpImage &&\n !lcpImage.priority &&\n lcpImage.placeholder === 'empty' &&\n !lcpImage.src.startsWith('data:') &&\n !lcpImage.src.startsWith('blob:')\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority`\n )\n }\n }\n })\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true,\n })\n } catch (err) {\n // Log error but don't crash the app\n console.error(err)\n }\n }\n }\n const imgStyle = Object.assign(\n fill\n ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition,\n }\n : {},\n showAltText ? {} : { color: 'transparent' },\n style\n )\n\n const backgroundImage =\n !blurComplete && placeholder !== 'empty'\n ? placeholder === 'blur'\n ? `url(\"data:image/svg+xml;charset=utf-8,${getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || '', // assume not undefined\n objectFit: imgStyle.objectFit,\n })}\")`\n : `url(\"${placeholder}\")` // assume `data:image/`\n : null\n\n let placeholderStyle = backgroundImage\n ? {\n backgroundSize: imgStyle.objectFit || 'cover',\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage,\n }\n : {}\n\n if (process.env.NODE_ENV === 'development') {\n if (\n placeholderStyle.backgroundImage &&\n placeholder === 'blur' &&\n blurDataURL?.startsWith('/')\n ) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = `url(\"${blurDataURL}\")`\n }\n }\n\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n })\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl: URL\n try {\n fullUrl = new URL(imgAttributes.src)\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href)\n }\n allImgs.set(fullUrl.href, { src, priority, placeholder })\n }\n }\n\n const props: ImgProps = {\n ...rest,\n loading: isLazy ? 'lazy' : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding,\n className,\n style: { ...imgStyle, ...placeholderStyle },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src,\n }\n const meta = { unoptimized, priority, placeholder, fill }\n return { props, meta }\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$var$cached(fn) {\n let res = null;\n return ()=>{\n if (res == null) res = fn();\n return res;\n };\n}\nconst $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n});\nconst $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n});\nconst $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n});\nconst $c87311424ea30a05$export$e1865c3bedcd822b = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n});\nconst $c87311424ea30a05$export$78551043582a6a98 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n});\nconst $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n});\nconst $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n});\nconst $c87311424ea30a05$export$b7d78993b74f766d = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n});\n\n\nexport {$c87311424ea30a05$export$9ac100e40613ea10 as isMac, $c87311424ea30a05$export$186c6964ca17d99 as isIPhone, $c87311424ea30a05$export$7bef049ce92e4224 as isIPad, $c87311424ea30a05$export$fedb369cb70207f1 as isIOS, $c87311424ea30a05$export$e1865c3bedcd822b as isAppleDevice, $c87311424ea30a05$export$78551043582a6a98 as isWebKit, $c87311424ea30a05$export$6446a186d09e379e as isChrome, $c87311424ea30a05$export$a11b0059900ceec8 as isAndroid, $c87311424ea30a05$export$b7d78993b74f766d as isFirefox};\n//# sourceMappingURL=platform.module.js.map\n","import {isAndroid as $c87311424ea30a05$export$a11b0059900ceec8} from \"./platform.mjs\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\nexport {$6a7db85432448f7f$export$60278871457622de as isVirtualClick, $6a7db85432448f7f$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=isVirtualEvent.module.js.map\n","const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\nexport {$431fbd86ca7dc216$export$b204af158042fbac as getOwnerDocument, $431fbd86ca7dc216$export$f21a1ffae260145a as getOwnerWindow};\n//# sourceMappingURL=domHelpers.module.js.map\n","import {isMac as $28AnR$isMac, isVirtualClick as $28AnR$isVirtualClick, getOwnerWindow as $28AnR$getOwnerWindow, getOwnerDocument as $28AnR$getOwnerDocument} from \"@react-aria/utils\";\nimport {useState as $28AnR$useState, useEffect as $28AnR$useEffect} from \"react\";\nimport {useIsSSR as $28AnR$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, $28AnR$isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, $28AnR$isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, $28AnR$getOwnerWindow)(element))) return;\n const windowObject = (0, $28AnR$getOwnerWindow)(element);\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, $28AnR$getOwnerWindow)(element);\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, $28AnR$useState)($507fabe10e71c6fb$var$currentModality);\n (0, $28AnR$useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, $28AnR$useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n var _e_target;\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, $28AnR$useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, $28AnR$useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\nexport {$507fabe10e71c6fb$export$d90243b58daecda7 as hasSetupGlobalListeners, $507fabe10e71c6fb$export$2f1888112f558a7d as addWindowFocusTracking, $507fabe10e71c6fb$export$b9b3dfddab17db27 as isFocusVisible, $507fabe10e71c6fb$export$630ff653c5ada6a9 as getInteractionModality, $507fabe10e71c6fb$export$8397ddfc504fdb9a as setInteractionModality, $507fabe10e71c6fb$export$98e20ec92f614cfe as useInteractionModality, $507fabe10e71c6fb$export$ffd9e5021c1fb2d6 as useFocusVisible, $507fabe10e71c6fb$export$ec71b4b83ac08ec3 as useFocusVisibleListener};\n//# sourceMappingURL=useFocusVisible.module.js.map\n","import $HgANd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $HgANd$react).useLayoutEffect : ()=>{};\n\n\nexport {$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $lmaYr$useRef, useCallback as $lmaYr$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, $lmaYr$useRef)(null);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $lmaYr$useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\nexport {$8ae05eaa5c114e9c$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.module.js.map\n","import {useRef as $6dfIe$useRef, useCallback as $6dfIe$useCallback} from \"react\";\nimport {useLayoutEffect as $6dfIe$useLayoutEffect, useEffectEvent as $6dfIe$useEffectEvent} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, $6dfIe$useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n (0, $6dfIe$useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n let dispatchBlur = (0, $6dfIe$useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n });\n // This function is called during a React onFocus event.\n return (0, $6dfIe$useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n dispatchBlur\n ]);\n}\n\n\nexport {$8a9cb279dc87e130$export$905e7fc544a71f36 as SyntheticFocusEvent, $8a9cb279dc87e130$export$715c682d09d639cc as useSyntheticBlurEvent};\n//# sourceMappingURL=utils.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $hf0lj$useCallback} from \"react\";\nimport {getOwnerDocument as $hf0lj$getOwnerDocument} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, $hf0lj$useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $hf0lj$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, $hf0lj$getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\nexport {$a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useRef as $3b9Q0$useRef, useCallback as $3b9Q0$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, $3b9Q0$useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, $3b9Q0$useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n let onFocus = (0, $3b9Q0$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n if (!state.current.isFocusWithin && document.activeElement === e.target) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These should not have been null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\nexport {$9ab94262bd0047c7$export$420e68273165f4ec as useFocusWithin};\n//# sourceMappingURL=useFocusWithin.module.js.map\n","import {isFocusVisible as $isWE5$isFocusVisible, useFocusVisibleListener as $isWE5$useFocusVisibleListener, useFocus as $isWE5$useFocus, useFocusWithin as $isWE5$useFocusWithin} from \"@react-aria/interactions\";\nimport {useRef as $isWE5$useRef, useState as $isWE5$useState, useCallback as $isWE5$useCallback} from \"react\";\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, $isWE5$useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, $isWE5$isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, $isWE5$useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, $isWE5$useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, $isWE5$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, $isWE5$useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, $isWE5$useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, $isWE5$useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, $isWE5$useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\nexport {$f7dceffc5ad7768b$export$4e328f61c538687f as useFocusRing};\n//# sourceMappingURL=useFocusRing.module.js.map\n","import {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n let state = (0, $AWxnT$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, $AWxnT$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n return () => {\n var _a, _b, _c, _d;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%câ± ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(element.getBoundingClientRect());\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n const { horizontal, isRtl } = instance.options;\n offset = horizontal ? element[\"scrollLeft\"] * (isRtl && -1 || 1) : element[\"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return Math.round(\n element.getBoundingClientRect()[instance.options.horizontal ? \"width\" : \"height\"]\n );\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n this._measureElement(entry.target, entry);\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: true,\n useAnimationFrameWithResizeObserver: false,\n ...opts2\n };\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n this.maybeNotify();\n })\n );\n }\n };\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled) => {\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n return [];\n }\n if (this.measurementsCache.length === 0) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [this.getMeasurements(), this.getSize(), this.getScrollOffset()],\n (measurements, outerSize, scrollOffset) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const key = item.key;\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if (node.isConnected) {\n this.resizeItem(index, this.options.measureElement(node, entry, this));\n }\n };\n this.resizeItem = (index, size) => {\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key);\n }\n });\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getOffsetForAlignment = (toOffset, align) => {\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (toOffset >= scrollOffset + size) {\n align = \"end\";\n }\n }\n if (align === \"end\") {\n toOffset -= size;\n }\n const scrollSizeProp = this.options.horizontal ? \"scrollWidth\" : \"scrollHeight\";\n const scrollSize = this.scrollElement ? \"document\" in this.scrollElement ? this.scrollElement.document.documentElement[scrollSizeProp] : this.scrollElement[scrollSizeProp] : 0;\n const maxOffset = scrollSize - size;\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const item = this.measurementsCache[index];\n if (!item) {\n return void 0;\n }\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n const centerOffset = item.start - this.options.scrollPaddingStart + (item.size - size) / 2;\n switch (align) {\n case \"center\":\n return [this.getOffsetForAlignment(centerOffset, align), align];\n case \"end\":\n return [\n this.getOffsetForAlignment(\n item.end + this.options.scrollPaddingEnd,\n align\n ),\n align\n ];\n default:\n return [\n this.getOffsetForAlignment(\n item.start - this.options.scrollPaddingStart,\n align\n ),\n align\n ];\n }\n };\n this.isDynamicMode = () => this.elementsCache.size > 0;\n this.cancelScrollToIndex = () => {\n if (this.scrollToIndexTimeoutId !== null && this.targetWindow) {\n this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);\n this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n const offsetAndAlign = this.getOffsetForIndex(index, initialAlign);\n if (!offsetAndAlign) return;\n const [offset, align] = offsetAndAlign;\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n if (behavior !== \"smooth\" && this.isDynamicMode() && this.targetWindow) {\n this.scrollToIndexTimeoutId = this.targetWindow.setTimeout(() => {\n this.scrollToIndexTimeoutId = null;\n const elementInDOM = this.elementsCache.has(\n this.options.getItemKey(index)\n );\n if (elementInDOM) {\n const [latestOffset] = notUndefined(\n this.getOffsetForIndex(index, align)\n );\n if (!approxEqual(latestOffset, this.getScrollOffset())) {\n this.scrollToIndex(index, { align, behavior });\n }\n } else {\n this.scrollToIndex(index, { align, behavior });\n }\n });\n }\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getScrollOffset() + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else {\n end = this.options.lanes === 1 ? ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0 : Math.max(\n ...measurements.slice(-this.options.lanes).map((m) => m.end)\n );\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.notify(false);\n };\n this.setOptions(opts);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset\n}) {\n const count = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { observeElementRect, observeElementOffset, elementScroll, observeWindowRect, observeWindowOffset, windowScroll, Virtualizer } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nconst useIsomorphicLayoutEffect = typeof document !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction useVirtualizerBase(options) {\n const rerender = React.useReducer(() => ({}), {})[1];\n const resolvedOptions = {\n ...options,\n onChange: (instance2, sync) => {\n var _a;\n if (sync) {\n flushSync(rerender);\n } else {\n rerender();\n }\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance2, sync);\n }\n };\n const [instance] = React.useState(\n () => new Virtualizer(resolvedOptions)\n );\n instance.setOptions(resolvedOptions);\n useIsomorphicLayoutEffect(() => {\n return instance._didMount();\n }, []);\n useIsomorphicLayoutEffect(() => {\n return instance._willUpdate();\n });\n return instance;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n","import{env as n}from'./env.js';function u(r){return n.isServer?null:r instanceof Node?r.ownerDocument:r!=null&&r.hasOwnProperty(\"current\")&&r.current instanceof Node?r.current.ownerDocument:document}export{u as getOwnerDocument};\n","import{useRef as a,useState as m}from\"react\";import{getOwnerDocument as d}from'../utils/owner.js';import{useDisposables as g}from'./use-disposables.js';import{useEvent as u}from'./use-event.js';function E(e){let t=e.width/2,n=e.height/2;return{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function P(e,t){return!(!e||!t||e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom)}function w({disabled:e=!1}={}){let t=a(null),[n,l]=m(!1),r=g(),o=u(()=>{t.current=null,l(!1),r.dispose()}),f=u(s=>{if(r.dispose(),t.current===null){t.current=s.currentTarget,l(!0);{let i=d(s.currentTarget);r.addEventListener(i,\"pointerup\",o,!1),r.addEventListener(i,\"pointermove\",c=>{if(t.current){let p=E(c);l(P(p,t.current.getBoundingClientRect()))}},!1),r.addEventListener(i,\"pointercancel\",o,!1)}}});return{pressed:n,pressProps:e?{}:{onPointerDown:f,onPointerUp:o,onClick:o}}}export{w as useActivePress};\n","import{useCallback as n}from\"react\";function l(e,r){return e!==null&&r!==null&&typeof e==\"object\"&&typeof r==\"object\"&&\"id\"in e&&\"id\"in r?e.id===r.id:e===r}function u(e=l){return n((r,t)=>{if(typeof e==\"string\"){let o=e;return(r==null?void 0:r[o])===(t==null?void 0:t[o])}return e(r,t)},[e])}export{u as useByComparator};\n","import{useRef as o,useState as f}from\"react\";import{useEvent as a}from'./use-event.js';function T(l,r,c){let[i,s]=f(c),e=l!==void 0,t=o(e),u=o(!1),d=o(!1);return e&&!t.current&&!u.current?(u.current=!0,t.current=e,console.error(\"A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.\")):!e&&t.current&&!d.current&&(d.current=!0,t.current=e,console.error(\"A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.\")),[e?l:i,a(n=>(e||s(n),r==null?void 0:r(n)))]}export{T as useControllable};\n","import{useState as u}from\"react\";function l(e){let[t]=u(e);return t}export{l as useDefaultValue};\n","import{useMemo as o,useReducer as h}from\"react\";import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';function f(e){if(e===null)return{width:0,height:0};let{width:t,height:r}=e.getBoundingClientRect();return{width:t,height:r}}function d(e,t=!1){let[r,u]=h(()=>({}),{}),i=o(()=>f(e),[e,r]);return s(()=>{if(!e)return;let n=new ResizeObserver(u);return n.observe(e),()=>{n.disconnect()}},[e]),t?{width:`${i.width}px`,height:`${i.height}px`}:i}export{d as useElementSize};\n","class a extends Map{constructor(t){super();this.factory=t}get(t){let e=super.get(t);return e===void 0&&(e=this.factory(t),this.set(t,e)),e}}export{a as DefaultMap};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","import{useSyncExternalStore as e}from\"react\";function o(t){return e(t.subscribe,t.getSnapshot,t.getSnapshot)}export{o as useStore};\n","import{useId as n}from\"react\";import{DefaultMap as f}from'../utils/default-map.js';import{createStore as u}from'../utils/store.js';import{useIsoMorphicEffect as c}from'./use-iso-morphic-effect.js';import{useStore as l}from'./use-store.js';let p=new f(()=>u(()=>[],{ADD(r){return this.includes(r)?this:[...this,r]},REMOVE(r){let e=this.indexOf(r);if(e===-1)return this;let t=this.slice();return t.splice(e,1),t}}));function x(r,e){let t=p.get(e),i=n(),h=l(t);if(c(()=>{if(r)return t.dispatch(\"ADD\",i),()=>t.dispatch(\"REMOVE\",i)},[t,r]),!r)return!1;let s=h.indexOf(i),o=h.length;return s===-1&&(s=o,o+=1),s===o-1}export{x as useIsTopLayer};\n","import{disposables as M}from'../utils/disposables.js';import{getOwnerDocument as b}from'../utils/owner.js';import{useIsTopLayer as L}from'./use-is-top-layer.js';import{useIsoMorphicEffect as T}from'./use-iso-morphic-effect.js';let f=new Map,u=new Map;function h(t){var e;let r=(e=u.get(t))!=null?e:0;return u.set(t,r+1),r!==0?()=>m(t):(f.set(t,{\"aria-hidden\":t.getAttribute(\"aria-hidden\"),inert:t.inert}),t.setAttribute(\"aria-hidden\",\"true\"),t.inert=!0,()=>m(t))}function m(t){var i;let r=(i=u.get(t))!=null?i:1;if(r===1?u.delete(t):u.set(t,r-1),r!==1)return;let e=f.get(t);e&&(e[\"aria-hidden\"]===null?t.removeAttribute(\"aria-hidden\"):t.setAttribute(\"aria-hidden\",e[\"aria-hidden\"]),t.inert=e.inert,f.delete(t))}function y(t,{allowed:r,disallowed:e}={}){let i=L(t,\"inert-others\");T(()=>{var d,c;if(!i)return;let a=M();for(let n of(d=e==null?void 0:e())!=null?d:[])n&&a.add(h(n));let s=(c=r==null?void 0:r())!=null?c:[];for(let n of s){if(!n)continue;let l=b(n);if(!l)continue;let o=n.parentElement;for(;o&&o!==l.body;){for(let p of o.children)s.some(E=>p.contains(E))||a.add(h(p));o=o.parentElement}}return a.dispose},[i,r,e])}export{y as useInertOthers};\n","import{useEffect as o}from\"react\";import{disposables as u}from'../utils/disposables.js';import{useLatestValue as c}from'./use-latest-value.js';function m(s,n,l){let i=c(t=>{let e=t.getBoundingClientRect();e.x===0&&e.y===0&&e.width===0&&e.height===0&&l()});o(()=>{if(!s)return;let t=n===null?null:n instanceof HTMLElement?n:n.current;if(!t)return;let e=u();if(typeof ResizeObserver!=\"undefined\"){let r=new ResizeObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect())}if(typeof IntersectionObserver!=\"undefined\"){let r=new IntersectionObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect())}return()=>e.dispose()},[n,i,s])}export{m as useOnDisappear};\n","import{disposables as N}from'./disposables.js';import{match as L}from'./match.js';import{getOwnerDocument as E}from'./owner.js';let f=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\"),p=[\"[data-autofocus]\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var F=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n[n.AutoFocus=64]=\"AutoFocus\",n))(F||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),y=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(y||{});function b(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(f)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}function S(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(p)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function A(e,r=0){var t;return e===((t=E(e))==null?void 0:t.body)?!1:L(r,{[0](){return e.matches(f)},[1](){let u=e;for(;u!==null;){if(u.matches(f))return!0;u=u.parentElement}return!1}})}function G(e){let r=E(e);N().nextFrame(()=>{r&&!A(r.activeElement,0)&&I(e)})}var H=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(H||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function I(e){e==null||e.focus({preventScroll:!0})}let w=[\"textarea\",\"input\"].join(\",\");function O(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,w))!=null?t:!1}function _(e,r=t=>t){return e.slice().sort((t,u)=>{let o=r(t),c=r(u);if(o===null||c===null)return 0;let l=o.compareDocumentPosition(c);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function j(e,r){return P(b(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:u=null,skipElements:o=[]}={}){let c=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,l=Array.isArray(e)?t?_(e):e:r&64?S(e):b(e);o.length>0&&l.length>1&&(l=l.filter(s=>!o.some(a=>a!=null&&\"current\"in a?(a==null?void 0:a.current)===s:a===s))),u=u!=null?u:c.activeElement;let n=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),x=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,l.indexOf(u))-1;if(r&4)return Math.max(0,l.indexOf(u))+1;if(r&8)return l.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),M=r&32?{preventScroll:!0}:{},m=0,d=l.length,i;do{if(m>=d||m+d<=0)return 0;let s=x+m;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}i=l[s],i==null||i.focus(M),m+=n}while(i!==c.activeElement);return r&6&&O(i)&&i.select(),2}export{F as Focus,T as FocusResult,h as FocusableMode,I as focusElement,j as focusFrom,P as focusIn,f as focusableSelector,S as getAutoFocusableElements,b as getFocusableElements,A as isFocusableElement,G as restoreFocusIfNecessary,_ as sortByDomNode};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{useEffect as c}from\"react\";import{useLatestValue as a}from'./use-latest-value.js';function i(t,e,o,n){let u=a(o);c(()=>{if(!t)return;function r(m){u.current(m)}return document.addEventListener(e,r,n),()=>document.removeEventListener(e,r,n)},[t,e,n])}export{i as useDocumentEvent};\n","import{useEffect as a}from\"react\";import{useLatestValue as f}from'./use-latest-value.js';function s(t,e,o,n){let i=f(o);a(()=>{if(!t)return;function r(d){i.current(d)}return window.addEventListener(e,r,n),()=>window.removeEventListener(e,r,n)},[t,e,n])}export{s as useWindowEvent};\n","import{useCallback as T,useRef as d}from\"react\";import{FocusableMode as y,isFocusableElement as M}from'../utils/focus-management.js';import{isMobile as g}from'../utils/platform.js';import{useDocumentEvent as c}from'./use-document-event.js';import{useIsTopLayer as L}from'./use-is-top-layer.js';import{useLatestValue as b}from'./use-latest-value.js';import{useWindowEvent as P}from'./use-window-event.js';const E=30;function R(p,f,C){let u=L(p,\"outside-click\"),m=b(C),s=T(function(e,n){if(e.defaultPrevented)return;let r=n(e);if(r===null||!r.getRootNode().contains(r)||!r.isConnected)return;let h=function l(o){return typeof o==\"function\"?l(o()):Array.isArray(o)||o instanceof Set?o:[o]}(f);for(let l of h)if(l!==null&&(l.contains(r)||e.composed&&e.composedPath().includes(l)))return;return!M(r,y.Loose)&&r.tabIndex!==-1&&e.preventDefault(),m.current(e,r)},[m,f]),i=d(null);c(u,\"pointerdown\",t=>{var e,n;i.current=((n=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:n[0])||t.target},!0),c(u,\"mousedown\",t=>{var e,n;i.current=((n=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:n[0])||t.target},!0),c(u,\"click\",t=>{g()||i.current&&(s(t,()=>i.current),i.current=null)},!0);let a=d({x:0,y:0});c(u,\"touchstart\",t=>{a.current.x=t.touches[0].clientX,a.current.y=t.touches[0].clientY},!0),c(u,\"touchend\",t=>{let e={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY};if(!(Math.abs(e.x-a.current.x)>=E||Math.abs(e.y-a.current.y)>=E))return s(t,()=>t.target instanceof HTMLElement?t.target:null)},!0),P(u,\"blur\",t=>s(t,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{R as useOutsideClick};\n","import{useMemo as t}from\"react\";import{getOwnerDocument as o}from'../utils/owner.js';function n(...e){return t(()=>o(...e),[...e])}export{n as useOwnerDocument};\n","import{useEffect as d}from\"react\";import{useLatestValue as s}from'./use-latest-value.js';function E(n,e,a,t){let i=s(a);d(()=>{n=n!=null?n:window;function r(o){i.current(o)}return n.addEventListener(e,r,t),()=>n.removeEventListener(e,r,t)},[n,e,t])}export{E as useEventListener};\n","import{useRef as r}from\"react\";import{useEvent as u}from'./use-event.js';import{useEventListener as o}from'./use-event-listener.js';function i(e){let n=r({value:\"\",selectionStart:null,selectionEnd:null});return o(e,\"blur\",l=>{let t=l.target;t instanceof HTMLInputElement&&(n.current={value:t.value,selectionStart:t.selectionStart,selectionEnd:t.selectionEnd})}),u(()=>{if(document.activeElement!==e&&e instanceof HTMLInputElement&&e.isConnected){if(e.focus({preventScroll:!0}),e.value!==n.current.value)e.setSelectionRange(e.value.length,e.value.length);else{let{selectionStart:l,selectionEnd:t}=n.current;l!==null&&t!==null&&e.setSelectionRange(l,t)}n.current={value:\"\",selectionStart:null,selectionEnd:null}}})}export{i as useRefocusableInput};\n","import{useMemo as a}from\"react\";function e(t,u){return a(()=>{var n;if(t.type)return t.type;let r=(n=t.as)!=null?n:\"button\";if(typeof r==\"string\"&&r.toLowerCase()===\"button\"||(u==null?void 0:u.tagName)===\"BUTTON\"&&!u.hasAttribute(\"type\"))return\"button\"},[t.type,t.as,u])}export{e as useResolveButtonType};\n","function d(){let r;return{before({doc:e}){var l;let o=e.documentElement,t=(l=e.defaultView)!=null?l:window;r=Math.max(0,t.innerWidth-o.clientWidth)},after({doc:e,d:o}){let t=e.documentElement,l=Math.max(0,t.clientWidth-t.offsetWidth),n=Math.max(0,r-l);o.style(t,\"paddingRight\",`${n}px`)}}}export{d as adjustScrollbarPadding};\n","import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function d(){return u()?{before({doc:r,d:n,meta:c}){function o(a){return c.containers.flatMap(l=>l()).some(l=>l.contains(a))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!==\"auto\"){let t=m();t.style(r.documentElement,\"scrollBehavior\",\"auto\"),n.add(()=>n.microTask(()=>t.dispose()))}let a=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,\"click\",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest(\"a\");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!o(i)&&(l=i)}catch{}},!0),n.addEventListener(r,\"touchstart\",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&o(e.parentElement);)e=e.parentElement;n.style(e,\"overscrollBehavior\",\"contain\")}else n.style(t.target,\"touchAction\",\"none\")}),n.addEventListener(r,\"touchmove\",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName===\"INPUT\")return;if(o(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==\"\"&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===\"\"&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),l&&l.isConnected&&(l.scrollIntoView({block:\"nearest\"}),l=null)})})}}:{}}export{d as handleIOSLocking};\n","function r(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{r as preventScroll};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","import{useStore as s}from'../../hooks/use-store.js';import{useIsoMorphicEffect as u}from'../use-iso-morphic-effect.js';import{overflows as t}from'./overflow-store.js';function a(r,e,n=()=>({containers:[]})){let f=s(t),o=e?f.get(e):void 0,i=o?o.count>0:!1;return u(()=>{if(!(!e||!r))return t.dispatch(\"PUSH\",e,n),()=>t.dispatch(\"POP\",e,n)},[r,e]),i}export{a as useDocumentOverflowLockedEffect};\n","import{useDocumentOverflowLockedEffect as l}from'./document-overflow/use-document-overflow.js';import{useIsTopLayer as m}from'./use-is-top-layer.js';function f(e,c,n=()=>[document.body]){let r=m(e,\"scroll-lock\");l(r,c,t=>{var o;return{containers:[...(o=t.containers)!=null?o:[],n]}})}export{f as useScrollLock};\n","import{useRef as o}from\"react\";function t(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(r){let n=t(r);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(r){e.current=t(r)}}}export{u as useTrackedPointer};\n","import{useCallback as r,useState as b}from\"react\";function c(u=0){let[t,l]=b(u),g=r(e=>l(e),[t]),s=r(e=>l(a=>a|e),[t]),m=r(e=>(t&e)===e,[t]),n=r(e=>l(a=>a&~e),[l]),F=r(e=>l(a=>a^e),[l]);return{flags:t,setFlag:g,addFlag:s,hasFlag:m,removeFlag:n,toggleFlag:F}}export{c as useFlags};\n","var T,b;import{useRef as c,useState as S}from\"react\";import{disposables as m}from'../utils/disposables.js';import{useDisposables as g}from'./use-disposables.js';import{useFlags as y}from'./use-flags.js';import{useIsoMorphicEffect as A}from'./use-iso-morphic-effect.js';typeof process!=\"undefined\"&&typeof globalThis!=\"undefined\"&&typeof Element!=\"undefined\"&&((T=process==null?void 0:process.env)==null?void 0:T[\"NODE_ENV\"])===\"test\"&&typeof((b=Element==null?void 0:Element.prototype)==null?void 0:b.getAnimations)==\"undefined\"&&(Element.prototype.getAnimations=function(){return console.warn([\"Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.\",\"Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.\",\"\",\"Example usage:\",\"```js\",\"import { mockAnimationsApi } from 'jsdom-testing-mocks'\",\"mockAnimationsApi()\",\"```\"].join(`\n`)),[]});var L=(r=>(r[r.None=0]=\"None\",r[r.Closed=1]=\"Closed\",r[r.Enter=2]=\"Enter\",r[r.Leave=4]=\"Leave\",r))(L||{});function R(t){let n={};for(let e in t)t[e]===!0&&(n[`data-${e}`]=\"\");return n}function x(t,n,e,i){let[r,o]=S(e),{hasFlag:s,addFlag:a,removeFlag:l}=y(t&&r?3:0),u=c(!1),f=c(!1),E=g();return A(()=>{var d;if(t){if(e&&o(!0),!n){e&&a(3);return}return(d=i==null?void 0:i.start)==null||d.call(i,e),C(n,{inFlight:u,prepare(){f.current?f.current=!1:f.current=u.current,u.current=!0,!f.current&&(e?(a(3),l(4)):(a(4),l(2)))},run(){f.current?e?(l(3),a(4)):(l(4),a(3)):e?l(1):a(1)},done(){var p;f.current&&typeof n.getAnimations==\"function\"&&n.getAnimations().length>0||(u.current=!1,l(7),e||o(!1),(p=i==null?void 0:i.end)==null||p.call(i,e))}})}},[t,e,n,E]),t?[r,{closed:s(1),enter:s(2),leave:s(4),transition:s(2)||s(4)}]:[e,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function C(t,{prepare:n,run:e,done:i,inFlight:r}){let o=m();return j(t,{prepare:n,inFlight:r}),o.nextFrame(()=>{e(),o.requestAnimationFrame(()=>{o.add(M(t,i))})}),o.dispose}function M(t,n){var o,s;let e=m();if(!t)return e.dispose;let i=!1;e.add(()=>{i=!0});let r=(s=(o=t.getAnimations)==null?void 0:o.call(t).filter(a=>a instanceof CSSTransition))!=null?s:[];return r.length===0?(n(),e.dispose):(Promise.allSettled(r.map(a=>a.finished)).then(()=>{i||n()}),e.dispose)}function j(t,{inFlight:n,prepare:e}){if(n!=null&&n.current){e();return}let i=t.style.transition;t.style.transition=\"none\",e(),t.offsetHeight,t.style.transition=i}export{R as transitionDataAttributes,x as useTransition};\n","import{useEffect as T,useRef as E}from\"react\";import{getOwnerDocument as d}from'../utils/owner.js';import{useIsoMorphicEffect as N}from'./use-iso-morphic-effect.js';function F(c,{container:e,accept:t,walk:r}){let o=E(t),l=E(r);T(()=>{o.current=t,l.current=r},[t,r]),N(()=>{if(!e||!c)return;let n=d(e);if(!n)return;let f=o.current,p=l.current,i=Object.assign(m=>f(m),{acceptNode:f}),u=n.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,i,!1);for(;u.nextNode();)p(u.currentNode)},[e,c,o,l])}export{F as useTreeWalker};\n","import{useEffect as f,useRef as s}from\"react\";import{useEvent as i}from'./use-event.js';function m(u,t){let e=s([]),r=i(u);f(()=>{let o=[...e.current];for(let[a,l]of t.entries())if(e.current[a]!==l){let n=r(t,o);return e.current=t,n}},[r,...t])}export{m as useWatch};\n","import{autoUpdate as Z,flip as ee,inner as te,offset as ne,shift as le,size as re,useFloating as oe,useInnerOffset as ie,useInteractions as se}from\"@floating-ui/react\";import*as j from\"react\";import{createContext as _,useCallback as ae,useContext as R,useMemo as M,useRef as ue,useState as A}from\"react\";import{useDisposables as fe}from'../hooks/use-disposables.js';import{useEvent as z}from'../hooks/use-event.js';import{useIsoMorphicEffect as C}from'../hooks/use-iso-morphic-effect.js';let y=_({styles:void 0,setReference:()=>{},setFloating:()=>{},getReferenceProps:()=>({}),getFloatingProps:()=>({}),slot:{}});y.displayName=\"FloatingContext\";let H=_(null);H.displayName=\"PlacementContext\";function xe(e){return M(()=>e?typeof e==\"string\"?{to:e}:e:null,[e])}function ye(){return R(y).setReference}function Fe(){return R(y).getReferenceProps}function be(){let{getFloatingProps:e,slot:t}=R(y);return ae((...n)=>Object.assign({},e(...n),{\"data-anchor\":t.anchor}),[e,t])}function Re(e=null){e===!1&&(e=null),typeof e==\"string\"&&(e={to:e});let t=R(H),n=M(()=>e,[JSON.stringify(e,(r,o)=>{var u;return(u=o==null?void 0:o.outerHTML)!=null?u:o})]);C(()=>{t==null||t(n!=null?n:null)},[t,n]);let l=R(y);return M(()=>[l.setFloating,e?l.styles:{}],[l.setFloating,e,l.styles])}let q=4;function Me({children:e,enabled:t=!0}){let[n,l]=A(null),[r,o]=A(0),u=ue(null),[f,s]=A(null);pe(f);let i=t&&n!==null&&f!==null,{to:F=\"bottom\",gap:E=0,offset:v=0,padding:c=0,inner:P}=ce(n,f),[a,p=\"center\"]=F.split(\" \");C(()=>{i&&o(0)},[i]);let{refs:b,floatingStyles:w,context:g}=oe({open:i,placement:a===\"selection\"?p===\"center\"?\"bottom\":`bottom-${p}`:p===\"center\"?`${a}`:`${a}-${p}`,strategy:\"absolute\",transform:!1,middleware:[ne({mainAxis:a===\"selection\"?0:E,crossAxis:v}),le({padding:c}),a!==\"selection\"&&ee({padding:c}),a===\"selection\"&&P?te({...P,padding:c,overflowRef:u,offset:r,minItemsVisible:q,referenceOverflowThreshold:c,onFallbackChange(h){var O,W;if(!h)return;let d=g.elements.floating;if(!d)return;let T=parseFloat(getComputedStyle(d).scrollPaddingBottom)||0,$=Math.min(q,d.childElementCount),L=0,N=0;for(let m of(W=(O=g.elements.floating)==null?void 0:O.childNodes)!=null?W:[])if(m instanceof HTMLElement){let x=m.offsetTop,k=x+m.clientHeight+T,S=d.scrollTop,U=S+d.clientHeight;if(x>=S&&k<=U)$--;else{N=Math.max(0,Math.min(k,U)-Math.max(x,S)),L=m.clientHeight;break}}$>=1&&o(m=>{let x=L*$-N+T;return m>=x?m:x})}}):null,re({padding:c,apply({availableWidth:h,availableHeight:d,elements:T}){Object.assign(T.floating.style,{overflow:\"auto\",maxWidth:`${h}px`,maxHeight:`min(var(--anchor-max-height, 100vh), ${d}px)`})}})].filter(Boolean),whileElementsMounted:Z}),[I=a,B=p]=g.placement.split(\"-\");a===\"selection\"&&(I=\"selection\");let G=M(()=>({anchor:[I,B].filter(Boolean).join(\" \")}),[I,B]),K=ie(g,{overflowRef:u,onChange:o}),{getReferenceProps:Q,getFloatingProps:X}=se([K]),Y=z(h=>{s(h),b.setFloating(h)});return j.createElement(H.Provider,{value:l},j.createElement(y.Provider,{value:{setFloating:Y,setReference:b.setReference,styles:w,getReferenceProps:Q,getFloatingProps:X,slot:G}},e))}function pe(e){C(()=>{if(!e)return;let t=new MutationObserver(()=>{let n=window.getComputedStyle(e).maxHeight,l=parseFloat(n);if(isNaN(l))return;let r=parseInt(n);isNaN(r)||l!==r&&(e.style.maxHeight=`${Math.ceil(l)}px`)});return t.observe(e,{attributes:!0,attributeFilter:[\"style\"]}),()=>{t.disconnect()}},[e])}function ce(e,t){var o,u,f;let n=V((o=e==null?void 0:e.gap)!=null?o:\"var(--anchor-gap, 0)\",t),l=V((u=e==null?void 0:e.offset)!=null?u:\"var(--anchor-offset, 0)\",t),r=V((f=e==null?void 0:e.padding)!=null?f:\"var(--anchor-padding, 0)\",t);return{...e,gap:n,offset:l,padding:r}}function V(e,t,n=void 0){let l=fe(),r=z((s,i)=>{if(s==null)return[n,null];if(typeof s==\"number\")return[s,null];if(typeof s==\"string\"){if(!i)return[n,null];let F=J(s,i);return[F,E=>{let v=D(s);{let c=v.map(P=>window.getComputedStyle(i).getPropertyValue(P));l.requestAnimationFrame(function P(){l.nextFrame(P);let a=!1;for(let[b,w]of v.entries()){let g=window.getComputedStyle(i).getPropertyValue(w);if(c[b]!==g){c[b]=g,a=!0;break}}if(!a)return;let p=J(s,i);F!==p&&(E(p),F=p)})}return l.dispose}]}return[n,null]}),o=M(()=>r(e,t)[0],[e,t]),[u=o,f]=A();return C(()=>{let[s,i]=r(e,t);if(f(s),!!i)return i(f)},[e,t]),u}function D(e){let t=/var\\((.*)\\)/.exec(e);if(t){let n=t[1].indexOf(\",\");if(n===-1)return[t[1]];let l=t[1].slice(0,n).trim(),r=t[1].slice(n+1).trim();return r?[l,...D(r)]:[l]}return[]}function J(e,t){let n=document.createElement(\"div\");t.appendChild(n),n.style.setProperty(\"margin-top\",\"0px\",\"important\"),n.style.setProperty(\"margin-top\",e,\"important\");let l=parseFloat(window.getComputedStyle(n).marginTop)||0;return t.removeChild(n),l}export{Me as FloatingProvider,Re as useFloatingPanel,be as useFloatingPanelProps,ye as useFloatingReference,Fe as useFloatingReferenceProps,xe as useResolvedAnchor};\n","import r,{useState as u}from\"react\";function f({children:o,freeze:e}){let n=l(e,o);return r.createElement(r.Fragment,null,n)}function l(o,e){let[n,t]=u(e);return!o&&n!==e&&t(e),o?n:e}export{f as Frozen,l as useFrozenData};\n","import r,{createContext as l,useContext as d}from\"react\";let n=l(null);n.displayName=\"OpenClosedContext\";var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function u(){return d(n)}function c({value:o,children:t}){return r.createElement(n.Provider,{value:o},t)}function s({children:o}){return r.createElement(n.Provider,{value:null},o)}export{c as OpenClosedProvider,s as ResetOpenClosedProvider,i as State,u as useOpenClosed};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import{onDocumentReady as d}from'./document-ready.js';import{focusableSelector as u}from'./focus-management.js';let r=[];d(()=>{function e(t){if(!(t.target instanceof HTMLElement)||t.target===document.body||r[0]===t.target)return;let n=t.target;n=n.closest(u),r.unshift(n!=null?n:t.target),r=r.filter(o=>o!=null&&o.isConnected),r.splice(10)}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{r as history};\n","function r(n){let e=n.parentElement,l=null;for(;e&&!(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement&&(l=e),e=e.parentElement;let t=(e==null?void 0:e.getAttribute(\"disabled\"))===\"\";return t&&i(l)?!1:t}function i(n){if(!n)return!1;let e=n.previousElementSibling;for(;e!==null;){if(e instanceof HTMLLegendElement)return!1;e=e.previousElementSibling}return!0}export{r as isDisabledReactIssue7711};\n","function u(l){throw new Error(\"Unexpected object: \"+l)}var c=(i=>(i[i.First=0]=\"First\",i[i.Previous=1]=\"Previous\",i[i.Next=2]=\"Next\",i[i.Last=3]=\"Last\",i[i.Specific=4]=\"Specific\",i[i.Nothing=5]=\"Nothing\",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u(l)}}export{c as Focus,f as calculateActiveIndex};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","var g=(f=>(f[f.Left=0]=\"Left\",f[f.Right=2]=\"Right\",f))(g||{});export{g as MouseButton};\n","import{useEffect as u,useRef as n}from\"react\";import{microTask as o}from'../utils/micro-task.js';import{useEvent as f}from'./use-event.js';function c(t){let r=f(t),e=n(!1);u(()=>(e.current=!1,()=>{e.current=!0,o(()=>{e.current&&r()})}),[r])}export{c as useOnUnmount};\n","import*as t from\"react\";import{env as f}from'../utils/env.js';function s(){let r=typeof document==\"undefined\";return\"useSyncExternalStore\"in t?(o=>o.useSyncExternalStore)(t)(()=>()=>{},()=>!1,()=>!r):!1}function l(){let r=s(),[e,n]=t.useState(f.isHandoffComplete);return e&&f.isHandoffComplete===!1&&n(!1),t.useEffect(()=>{e!==!0&&n(!0)},[e]),t.useEffect(()=>f.handoff(),[]),r?!1:e}export{l as useServerHandoffComplete};\n","import t,{createContext as r,useContext as c}from\"react\";let e=r(!1);function a(){return c(e)}function l(o){return t.createElement(e.Provider,{value:o.force},o.children)}export{l as ForcePortalRoot,a as usePortalRoot};\n","\"use client\";import f,{Fragment as R,createContext as g,useContext as T,useEffect as E,useMemo as c,useRef as A,useState as G}from\"react\";import{createPortal as O}from\"react-dom\";import{useEvent as L}from'../../hooks/use-event.js';import{useIsoMorphicEffect as x}from'../../hooks/use-iso-morphic-effect.js';import{useOnUnmount as h}from'../../hooks/use-on-unmount.js';import{useOwnerDocument as _}from'../../hooks/use-owner.js';import{useServerHandoffComplete as F}from'../../hooks/use-server-handoff-complete.js';import{optionalRef as U,useSyncRefs as P}from'../../hooks/use-sync-refs.js';import{usePortalRoot as D}from'../../internal/portal-force-root.js';import{env as C}from'../../utils/env.js';import{forwardRefWithAs as m,useRender as d}from'../../utils/render.js';function N(u){let r=D(),n=T(v),e=_(u),[o,l]=G(()=>{var t;if(!r&&n!==null)return(t=n.current)!=null?t:null;if(C.isServer)return null;let p=e==null?void 0:e.getElementById(\"headlessui-portal-root\");if(p)return p;if(e===null)return null;let a=e.createElement(\"div\");return a.setAttribute(\"id\",\"headlessui-portal-root\"),e.body.appendChild(a)});return E(()=>{o!==null&&(e!=null&&e.body.contains(o)||e==null||e.body.appendChild(o))},[o,e]),E(()=>{r||n!==null&&l(n.current)},[n,l,r]),o}let M=R,S=m(function(r,n){let e=r,o=A(null),l=P(U(i=>{o.current=i}),n),p=_(o),a=N(o),[t]=G(()=>{var i;return C.isServer?null:(i=p==null?void 0:p.createElement(\"div\"))!=null?i:null}),s=T(y),b=F();x(()=>{!a||!t||a.contains(t)||(t.setAttribute(\"data-headlessui-portal\",\"\"),a.appendChild(t))},[a,t]),x(()=>{if(t&&s)return s.register(t)},[s,t]),h(()=>{var i;!a||!t||(t instanceof Node&&a.contains(t)&&a.removeChild(t),a.childNodes.length<=0&&((i=a.parentElement)==null||i.removeChild(a)))});let H=d();return b?!a||!t?null:O(H({ourProps:{ref:l},theirProps:e,slot:{},defaultTag:M,name:\"Portal\"}),t):null});function j(u,r){let n=P(r),{enabled:e=!0,...o}=u,l=d();return e?f.createElement(S,{...o,ref:n}):l({ourProps:{ref:n},theirProps:o,slot:{},defaultTag:M,name:\"Portal\"})}let W=R,v=g(null);function I(u,r){let{target:n,...e}=u,l={ref:P(r)},p=d();return f.createElement(v.Provider,{value:n},p({ourProps:l,theirProps:e,defaultTag:W,name:\"Popover.Group\"}))}let y=g(null);function te(){let u=T(y),r=A([]),n=L(l=>(r.current.push(l),u&&u.register(l),()=>e(l))),e=L(l=>{let p=r.current.indexOf(l);p!==-1&&r.current.splice(p,1),u&&u.unregister(l)}),o=c(()=>({register:n,unregister:e,portals:r}),[n,e,r]);return[r,c(()=>function({children:p}){return f.createElement(y.Provider,{value:o},p)},[o])]}let J=m(j),X=m(I),re=Object.assign(J,{Group:X});export{re as Portal,X as PortalGroup,te as useNestedPortals};\n","\"use client\";import{useFocusRing as Se}from\"@react-aria/focus\";import{useHover as Ie}from\"@react-aria/interactions\";import{useVirtualizer as He}from\"@tanstack/react-virtual\";import M,{Fragment as Pe,createContext as ce,createRef as Ue,useCallback as fe,useContext as Te,useMemo as W,useReducer as Ge,useRef as ee,useState as Ae}from\"react\";import{flushSync as te}from\"react-dom\";import{useActivePress as ze}from'../../hooks/use-active-press.js';import{useByComparator as Ke}from'../../hooks/use-by-comparator.js';import{useControllable as je}from'../../hooks/use-controllable.js';import{useDefaultValue as We}from'../../hooks/use-default-value.js';import{useDisposables as $e}from'../../hooks/use-disposables.js';import{useElementSize as Re}from'../../hooks/use-element-size.js';import{useEvent as c}from'../../hooks/use-event.js';import{useId as de}from'../../hooks/use-id.js';import{useInertOthers as Xe}from'../../hooks/use-inert-others.js';import{useIsoMorphicEffect as q}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as Je}from'../../hooks/use-latest-value.js';import{useOnDisappear as qe}from'../../hooks/use-on-disappear.js';import{useOutsideClick as Ye}from'../../hooks/use-outside-click.js';import{useOwnerDocument as _e}from'../../hooks/use-owner.js';import{useRefocusableInput as he}from'../../hooks/use-refocusable-input.js';import{useResolveButtonType as Qe}from'../../hooks/use-resolve-button-type.js';import{useScrollLock as Ze}from'../../hooks/use-scroll-lock.js';import{useSyncRefs as be}from'../../hooks/use-sync-refs.js';import{useTrackedPointer as et}from'../../hooks/use-tracked-pointer.js';import{transitionDataAttributes as tt,useTransition as ot}from'../../hooks/use-transition.js';import{useTreeWalker as nt}from'../../hooks/use-tree-walker.js';import{useWatch as Me}from'../../hooks/use-watch.js';import{useDisabled as rt}from'../../internal/disabled.js';import{FloatingProvider as it,useFloatingPanel as lt,useFloatingPanelProps as at,useFloatingReference as ut,useResolvedAnchor as pt}from'../../internal/floating.js';import{FormFields as st}from'../../internal/form-fields.js';import{Frozen as dt,useFrozenData as De}from'../../internal/frozen.js';import{useProvidedId as bt}from'../../internal/id.js';import{OpenClosedProvider as mt,State as me,useOpenClosed as ct}from'../../internal/open-closed.js';import{history as Fe}from'../../utils/active-element-history.js';import{isDisabledReactIssue7711 as ft}from'../../utils/bugs.js';import{Focus as A,calculateActiveIndex as Ve}from'../../utils/calculate-active-index.js';import{disposables as Le}from'../../utils/disposables.js';import{sortByDomNode as Tt}from'../../utils/focus-management.js';import{match as oe}from'../../utils/match.js';import{isMobile as xt}from'../../utils/platform.js';import{RenderFeatures as Be,forwardRefWithAs as re,mergeProps as xe,useRender as ie}from'../../utils/render.js';import{useDescribedBy as gt}from'../description/description.js';import{Keys as F}from'../keyboard.js';import{Label as vt,useLabelledBy as ge,useLabels as yt}from'../label/label.js';import{MouseButton as we}from'../mouse.js';import{Portal as Ot}from'../portal/portal.js';var Ct=(e=>(e[e.Open=0]=\"Open\",e[e.Closed=1]=\"Closed\",e))(Ct||{}),Et=(e=>(e[e.Single=0]=\"Single\",e[e.Multi=1]=\"Multi\",e))(Et||{}),St=(o=>(o[o.Pointer=0]=\"Pointer\",o[o.Focus=1]=\"Focus\",o[o.Other=2]=\"Other\",o))(St||{}),It=(l=>(l[l.OpenCombobox=0]=\"OpenCombobox\",l[l.CloseCombobox=1]=\"CloseCombobox\",l[l.GoToOption=2]=\"GoToOption\",l[l.SetTyping=3]=\"SetTyping\",l[l.RegisterOption=4]=\"RegisterOption\",l[l.UnregisterOption=5]=\"UnregisterOption\",l[l.SetActivationTrigger=6]=\"SetActivationTrigger\",l[l.UpdateVirtualConfiguration=7]=\"UpdateVirtualConfiguration\",l[l.SetInputElement=8]=\"SetInputElement\",l[l.SetButtonElement=9]=\"SetButtonElement\",l[l.SetOptionsElement=10]=\"SetOptionsElement\",l))(It||{});function ve(t,n=e=>e){let e=t.activeOptionIndex!==null?t.options[t.activeOptionIndex]:null,o=n(t.options.slice()),f=o.length>0&&o[0].dataRef.current.order!==null?o.sort((m,d)=>m.dataRef.current.order-d.dataRef.current.order):Tt(o,m=>m.dataRef.current.domRef.current),b=e?f.indexOf(e):null;return b===-1&&(b=null),{options:f,activeOptionIndex:b}}let Pt={[1](t){var n;return(n=t.dataRef.current)!=null&&n.disabled||t.comboboxState===1?t:{...t,activeOptionIndex:null,comboboxState:1,isTyping:!1,activationTrigger:2,__demoMode:!1}},[0](t){var n,e;if((n=t.dataRef.current)!=null&&n.disabled||t.comboboxState===0)return t;if((e=t.dataRef.current)!=null&&e.value){let o=t.dataRef.current.calculateIndex(t.dataRef.current.value);if(o!==-1)return{...t,activeOptionIndex:o,comboboxState:0,__demoMode:!1}}return{...t,comboboxState:0,__demoMode:!1}},[3](t,n){return t.isTyping===n.isTyping?t:{...t,isTyping:n.isTyping}},[2](t,n){var b,m,d,x;if((b=t.dataRef.current)!=null&&b.disabled||t.optionsElement&&!((m=t.dataRef.current)!=null&&m.optionsPropsRef.current.static)&&t.comboboxState===1)return t;if(t.virtual){let{options:i,disabled:r}=t.virtual,l=n.focus===A.Specific?n.idx:Ve(n,{resolveItems:()=>i,resolveActiveIndex:()=>{var R,s;return(s=(R=t.activeOptionIndex)!=null?R:i.findIndex(D=>!r(D)))!=null?s:null},resolveDisabled:r,resolveId(){throw new Error(\"Function not implemented.\")}}),S=(d=n.trigger)!=null?d:2;return t.activeOptionIndex===l&&t.activationTrigger===S?t:{...t,activeOptionIndex:l,activationTrigger:S,isTyping:!1,__demoMode:!1}}let e=ve(t);if(e.activeOptionIndex===null){let i=e.options.findIndex(r=>!r.dataRef.current.disabled);i!==-1&&(e.activeOptionIndex=i)}let o=n.focus===A.Specific?n.idx:Ve(n,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:i=>i.id,resolveDisabled:i=>i.dataRef.current.disabled}),f=(x=n.trigger)!=null?x:2;return t.activeOptionIndex===o&&t.activationTrigger===f?t:{...t,...e,isTyping:!1,activeOptionIndex:o,activationTrigger:f,__demoMode:!1}},[4]:(t,n)=>{var b,m,d;if((b=t.dataRef.current)!=null&&b.virtual)return{...t,options:[...t.options,n.payload]};let e=n.payload,o=ve(t,x=>(x.push(e),x));t.activeOptionIndex===null&&(m=t.dataRef.current)!=null&&m.isSelected(n.payload.dataRef.current.value)&&(o.activeOptionIndex=o.options.indexOf(e));let f={...t,...o,activationTrigger:2};return(d=t.dataRef.current)!=null&&d.__demoMode&&t.dataRef.current.value===void 0&&(f.activeOptionIndex=0),f},[5]:(t,n)=>{var o;if((o=t.dataRef.current)!=null&&o.virtual)return{...t,options:t.options.filter(f=>f.id!==n.id)};let e=ve(t,f=>{let b=f.findIndex(m=>m.id===n.id);return b!==-1&&f.splice(b,1),f});return{...t,...e,activationTrigger:2}},[6]:(t,n)=>t.activationTrigger===n.trigger?t:{...t,activationTrigger:n.trigger},[7]:(t,n)=>{var o,f;if(t.virtual===null)return{...t,virtual:{options:n.options,disabled:(o=n.disabled)!=null?o:()=>!1}};if(t.virtual.options===n.options&&t.virtual.disabled===n.disabled)return t;let e=t.activeOptionIndex;if(t.activeOptionIndex!==null){let b=n.options.indexOf(t.virtual.options[t.activeOptionIndex]);b!==-1?e=b:e=null}return{...t,activeOptionIndex:e,virtual:{options:n.options,disabled:(f=n.disabled)!=null?f:()=>!1}}},[8]:(t,n)=>t.inputElement===n.element?t:{...t,inputElement:n.element},[9]:(t,n)=>t.buttonElement===n.element?t:{...t,buttonElement:n.element},[10]:(t,n)=>t.optionsElement===n.element?t:{...t,optionsElement:n.element}},ye=ce(null);ye.displayName=\"ComboboxActionsContext\";function le(t){let n=Te(ye);if(n===null){let e=new Error(`<${t} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,le),e}return n}let Ne=ce(null);function At(t){let n=ne(\"VirtualProvider\"),{options:e}=n.virtual,[o,f]=W(()=>{let i=n.optionsElement;if(!i)return[0,0];let r=window.getComputedStyle(i);return[parseFloat(r.paddingBlockStart||r.paddingTop),parseFloat(r.paddingBlockEnd||r.paddingBottom)]},[n.optionsElement]),b=He({enabled:e.length!==0,scrollPaddingStart:o,scrollPaddingEnd:f,count:e.length,estimateSize(){return 40},getScrollElement(){return n.optionsElement},overscan:12}),[m,d]=Ae(0);q(()=>{d(i=>i+1)},[e]);let x=b.getVirtualItems();return x.length===0?null:M.createElement(Ne.Provider,{value:b},M.createElement(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${b.getTotalSize()}px`},ref:i=>{i&&n.activationTrigger!==0&&n.activeOptionIndex!==null&&e.length>n.activeOptionIndex&&b.scrollToIndex(n.activeOptionIndex)}},x.map(i=>{var r;return M.createElement(Pe,{key:i.key},M.cloneElement((r=t.children)==null?void 0:r.call(t,{...t.slot,option:e[i.index]}),{key:`${m}-${i.key}`,\"data-index\":i.index,\"aria-setsize\":e.length,\"aria-posinset\":i.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${i.start}px)`,overflowAnchor:\"none\"}}))})))}let ae=ce(null);ae.displayName=\"ComboboxDataContext\";function ne(t){let n=Te(ae);if(n===null){let e=new Error(`<${t} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,ne),e}return n}function Rt(t,n){return oe(n.type,Pt,t,n)}let _t=Pe;function ht(t,n){var Oe,Ce;let e=rt(),{value:o,defaultValue:f,onChange:b,form:m,name:d,by:x,disabled:i=e||!1,onClose:r,__demoMode:l=!1,multiple:S=!1,immediate:R=!1,virtual:s=null,nullable:D,...B}=t,_=We(f),[I=S?[]:void 0,O]=je(o,b,_),[P,g]=Ge(Rt,{dataRef:Ue(),comboboxState:l?0:1,isTyping:!1,options:[],virtual:s?{options:s.options,disabled:(Oe=s.disabled)!=null?Oe:()=>!1}:null,activeOptionIndex:null,activationTrigger:2,inputElement:null,buttonElement:null,optionsElement:null,__demoMode:l}),V=ee(!1),w=ee({static:!1,hold:!1}),T=Ke(x),$=c(p=>s?x===null?s.options.indexOf(p):s.options.findIndex(v=>T(v,p)):P.options.findIndex(v=>T(v.dataRef.current.value,p))),K=fe(p=>oe(u.mode,{[1]:()=>I.some(v=>T(v,p)),[0]:()=>T(I,p)}),[I]),Z=c(p=>P.activeOptionIndex===$(p)),u=W(()=>({...P,immediate:R,optionsPropsRef:w,value:I,defaultValue:_,disabled:i,mode:S?1:0,virtual:s?P.virtual:null,get activeOptionIndex(){if(V.current&&P.activeOptionIndex===null&&(s?s.options.length>0:P.options.length>0)){if(s){let v=s.options.findIndex(z=>{var se,Ee;return!((Ee=(se=s.disabled)==null?void 0:se.call(s,z))!=null&&Ee)});if(v!==-1)return v}let p=P.options.findIndex(v=>!v.dataRef.current.disabled);if(p!==-1)return p}return P.activeOptionIndex},calculateIndex:$,compare:T,isSelected:K,isActive:Z}),[I,_,i,S,l,P,s]);q(()=>{var p;s&&g({type:7,options:s.options,disabled:(p=s.disabled)!=null?p:null})},[s,s==null?void 0:s.options,s==null?void 0:s.disabled]),q(()=>{P.dataRef.current=u},[u]);let X=u.comboboxState===0;Ye(X,[u.buttonElement,u.inputElement,u.optionsElement],()=>C.closeCombobox());let N=W(()=>{var p,v,z;return{open:u.comboboxState===0,disabled:i,activeIndex:u.activeOptionIndex,activeOption:u.activeOptionIndex===null?null:u.virtual?u.virtual.options[(p=u.activeOptionIndex)!=null?p:0]:(z=(v=u.options[u.activeOptionIndex])==null?void 0:v.dataRef.current.value)!=null?z:null,value:I}},[u,i,I]),U=c(()=>{if(u.activeOptionIndex!==null){if(C.setIsTyping(!1),u.virtual)j(u.virtual.options[u.activeOptionIndex]);else{let{dataRef:p}=u.options[u.activeOptionIndex];j(p.current.value)}C.goToOption(A.Specific,u.activeOptionIndex)}}),y=c(()=>{g({type:0}),V.current=!0}),G=c(()=>{g({type:1}),V.current=!1,r==null||r()}),ue=c(p=>{g({type:3,isTyping:p})}),Y=c((p,v,z)=>(V.current=!1,p===A.Specific?g({type:2,focus:A.Specific,idx:v,trigger:z}):g({type:2,focus:p,trigger:z}))),Q=c((p,v)=>(g({type:4,payload:{id:p,dataRef:v}}),()=>{u.isActive(v.current.value)&&(V.current=!0),g({type:5,id:p})})),j=c(p=>oe(u.mode,{[0](){return O==null?void 0:O(p)},[1](){let v=u.value.slice(),z=v.findIndex(se=>T(se,p));return z===-1?v.push(p):v.splice(z,1),O==null?void 0:O(v)}})),h=c(p=>{g({type:6,trigger:p})}),pe=c(p=>{g({type:8,element:p})}),a=c(p=>{g({type:9,element:p})}),k=c(p=>{g({type:10,element:p})}),C=W(()=>({onChange:j,registerOption:Q,goToOption:Y,setIsTyping:ue,closeCombobox:G,openCombobox:y,setActivationTrigger:h,selectActiveOption:U,setInputElement:pe,setButtonElement:a,setOptionsElement:k}),[]),[H,E]=yt(),L=n===null?{}:{ref:n},J=fe(()=>{if(_!==void 0)return O==null?void 0:O(_)},[O,_]),ke=ie();return M.createElement(E,{value:H,props:{htmlFor:(Ce=u.inputElement)==null?void 0:Ce.id},slot:{open:u.comboboxState===0,disabled:i}},M.createElement(it,null,M.createElement(ye.Provider,{value:C},M.createElement(ae.Provider,{value:u},M.createElement(mt,{value:oe(u.comboboxState,{[0]:me.Open,[1]:me.Closed})},d!=null&&M.createElement(st,{disabled:i,data:I!=null?{[d]:I}:{},form:m,onReset:J}),ke({ourProps:L,theirProps:B,slot:N,defaultTag:_t,name:\"Combobox\"}))))))}let Mt=\"input\";function Dt(t,n){var Y,Q,j,h,pe;let e=ne(\"Combobox.Input\"),o=le(\"Combobox.Input\"),f=de(),b=bt(),{id:m=b||`headlessui-combobox-input-${f}`,onChange:d,displayValue:x,disabled:i=e.disabled||!1,autoFocus:r=!1,type:l=\"text\",...S}=t,R=ee(null),s=be(R,n,ut(),o.setInputElement),D=_e(e.inputElement),B=$e(),_=c(()=>{o.onChange(null),e.optionsElement&&(e.optionsElement.scrollTop=0),o.goToOption(A.Nothing)}),I=W(()=>{var a;return typeof x==\"function\"&&e.value!==void 0?(a=x(e.value))!=null?a:\"\":typeof e.value==\"string\"?e.value:\"\"},[e.value,x]);Me(([a,k],[C,H])=>{if(e.isTyping)return;let E=R.current;E&&((H===0&&k===1||a!==C)&&(E.value=a),requestAnimationFrame(()=>{if(e.isTyping||!E||(D==null?void 0:D.activeElement)!==E)return;let{selectionStart:L,selectionEnd:J}=E;Math.abs((J!=null?J:0)-(L!=null?L:0))===0&&L===0&&E.setSelectionRange(E.value.length,E.value.length)}))},[I,e.comboboxState,D,e.isTyping]),Me(([a],[k])=>{if(a===0&&k===1){if(e.isTyping)return;let C=R.current;if(!C)return;let H=C.value,{selectionStart:E,selectionEnd:L,selectionDirection:J}=C;C.value=\"\",C.value=H,J!==null?C.setSelectionRange(E,L,J):C.setSelectionRange(E,L)}},[e.comboboxState]);let O=ee(!1),P=c(()=>{O.current=!0}),g=c(()=>{B.nextFrame(()=>{O.current=!1})}),V=c(a=>{switch(o.setIsTyping(!0),a.key){case F.Enter:if(e.comboboxState!==0||O.current)return;if(a.preventDefault(),a.stopPropagation(),e.activeOptionIndex===null){o.closeCombobox();return}o.selectActiveOption(),e.mode===0&&o.closeCombobox();break;case F.ArrowDown:return a.preventDefault(),a.stopPropagation(),oe(e.comboboxState,{[0]:()=>o.goToOption(A.Next),[1]:()=>o.openCombobox()});case F.ArrowUp:return a.preventDefault(),a.stopPropagation(),oe(e.comboboxState,{[0]:()=>o.goToOption(A.Previous),[1]:()=>{te(()=>o.openCombobox()),e.value||o.goToOption(A.Last)}});case F.Home:if(a.shiftKey)break;return a.preventDefault(),a.stopPropagation(),o.goToOption(A.First);case F.PageUp:return a.preventDefault(),a.stopPropagation(),o.goToOption(A.First);case F.End:if(a.shiftKey)break;return a.preventDefault(),a.stopPropagation(),o.goToOption(A.Last);case F.PageDown:return a.preventDefault(),a.stopPropagation(),o.goToOption(A.Last);case F.Escape:return e.comboboxState!==0?void 0:(a.preventDefault(),e.optionsElement&&!e.optionsPropsRef.current.static&&a.stopPropagation(),e.mode===0&&e.value===null&&_(),o.closeCombobox());case F.Tab:if(e.comboboxState!==0)return;e.mode===0&&e.activationTrigger!==1&&o.selectActiveOption(),o.closeCombobox();break}}),w=c(a=>{d==null||d(a),e.mode===0&&a.target.value===\"\"&&_(),o.openCombobox()}),T=c(a=>{var C,H,E;let k=(C=a.relatedTarget)!=null?C:Fe.find(L=>L!==a.currentTarget);if(!((H=e.optionsElement)!=null&&H.contains(k))&&!((E=e.buttonElement)!=null&&E.contains(k))&&e.comboboxState===0)return a.preventDefault(),e.mode===0&&e.value===null&&_(),o.closeCombobox()}),$=c(a=>{var C,H,E;let k=(C=a.relatedTarget)!=null?C:Fe.find(L=>L!==a.currentTarget);(H=e.buttonElement)!=null&&H.contains(k)||(E=e.optionsElement)!=null&&E.contains(k)||e.disabled||e.immediate&&e.comboboxState!==0&&B.microTask(()=>{te(()=>o.openCombobox()),o.setActivationTrigger(1)})}),K=ge(),Z=gt(),{isFocused:u,focusProps:X}=Se({autoFocus:r}),{isHovered:N,hoverProps:U}=Ie({isDisabled:i}),y=W(()=>({open:e.comboboxState===0,disabled:i,hover:N,focus:u,autofocus:r}),[e,N,u,r,i]),G=xe({ref:s,id:m,role:\"combobox\",type:l,\"aria-controls\":(Y=e.optionsElement)==null?void 0:Y.id,\"aria-expanded\":e.comboboxState===0,\"aria-activedescendant\":e.activeOptionIndex===null?void 0:e.virtual?(Q=e.options.find(a=>!a.dataRef.current.disabled&&e.compare(a.dataRef.current.value,e.virtual.options[e.activeOptionIndex])))==null?void 0:Q.id:(j=e.options[e.activeOptionIndex])==null?void 0:j.id,\"aria-labelledby\":K,\"aria-describedby\":Z,\"aria-autocomplete\":\"list\",defaultValue:(pe=(h=t.defaultValue)!=null?h:e.defaultValue!==void 0?x==null?void 0:x(e.defaultValue):null)!=null?pe:e.defaultValue,disabled:i||void 0,autoFocus:r,onCompositionStart:P,onCompositionEnd:g,onKeyDown:V,onChange:w,onFocus:$,onBlur:T},X,U);return ie()({ourProps:G,theirProps:S,slot:y,defaultTag:Mt,name:\"Combobox.Input\"})}let Ft=\"button\";function Vt(t,n){var w;let e=ne(\"Combobox.Button\"),o=le(\"Combobox.Button\"),f=be(n,o.setButtonElement),b=de(),{id:m=`headlessui-combobox-button-${b}`,disabled:d=e.disabled||!1,autoFocus:x=!1,...i}=t,r=he(e.inputElement),l=c(T=>{switch(T.key){case F.Space:case F.Enter:T.preventDefault(),T.stopPropagation(),e.comboboxState===1&&te(()=>o.openCombobox()),r();return;case F.ArrowDown:T.preventDefault(),T.stopPropagation(),e.comboboxState===1&&(te(()=>o.openCombobox()),e.value||o.goToOption(A.First)),r();return;case F.ArrowUp:T.preventDefault(),T.stopPropagation(),e.comboboxState===1&&(te(()=>o.openCombobox()),e.value||o.goToOption(A.Last)),r();return;case F.Escape:if(e.comboboxState!==0)return;T.preventDefault(),e.optionsElement&&!e.optionsPropsRef.current.static&&T.stopPropagation(),te(()=>o.closeCombobox()),r();return;default:return}}),S=c(T=>{T.preventDefault(),!ft(T.currentTarget)&&(T.button===we.Left&&(e.comboboxState===0?o.closeCombobox():o.openCombobox()),r())}),R=ge([m]),{isFocusVisible:s,focusProps:D}=Se({autoFocus:x}),{isHovered:B,hoverProps:_}=Ie({isDisabled:d}),{pressed:I,pressProps:O}=ze({disabled:d}),P=W(()=>({open:e.comboboxState===0,active:I||e.comboboxState===0,disabled:d,value:e.value,hover:B,focus:s}),[e,B,s,I,d]),g=xe({ref:f,id:m,type:Qe(t,e.buttonElement),tabIndex:-1,\"aria-haspopup\":\"listbox\",\"aria-controls\":(w=e.optionsElement)==null?void 0:w.id,\"aria-expanded\":e.comboboxState===0,\"aria-labelledby\":R,disabled:d||void 0,autoFocus:x,onMouseDown:S,onKeyDown:l},D,_,O);return ie()({ourProps:g,theirProps:i,slot:P,defaultTag:Ft,name:\"Combobox.Button\"})}let Lt=\"div\",Bt=Be.RenderStrategy|Be.Static;function wt(t,n){var Y,Q,j;let e=de(),{id:o=`headlessui-combobox-options-${e}`,hold:f=!1,anchor:b,portal:m=!1,modal:d=!0,transition:x=!1,...i}=t,r=ne(\"Combobox.Options\"),l=le(\"Combobox.Options\"),S=pt(b);S&&(m=!0);let[R,s]=lt(S),[D,B]=Ae(null),_=at(),I=be(n,S?R:null,l.setOptionsElement,B),O=_e(r.optionsElement),P=ct(),[g,V]=ot(x,D,P!==null?(P&me.Open)===me.Open:r.comboboxState===0);qe(g,r.inputElement,l.closeCombobox);let w=r.__demoMode?!1:d&&r.comboboxState===0;Ze(w,O);let T=r.__demoMode?!1:d&&r.comboboxState===0;Xe(T,{allowed:fe(()=>[r.inputElement,r.buttonElement,r.optionsElement],[r.inputElement,r.buttonElement,r.optionsElement])}),q(()=>{var h;r.optionsPropsRef.current.static=(h=t.static)!=null?h:!1},[r.optionsPropsRef,t.static]),q(()=>{r.optionsPropsRef.current.hold=f},[r.optionsPropsRef,f]),nt(r.comboboxState===0,{container:r.optionsElement,accept(h){return h.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:h.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(h){h.setAttribute(\"role\",\"none\")}});let $=ge([(Y=r.buttonElement)==null?void 0:Y.id]),K=W(()=>({open:r.comboboxState===0,option:void 0}),[r.comboboxState]),Z=c(()=>{l.setActivationTrigger(0)}),u=c(h=>{h.preventDefault(),l.setActivationTrigger(0)}),X=xe(S?_():{},{\"aria-labelledby\":$,role:\"listbox\",\"aria-multiselectable\":r.mode===1?!0:void 0,id:o,ref:I,style:{...i.style,...s,\"--input-width\":Re(r.inputElement,!0).width,\"--button-width\":Re(r.buttonElement,!0).width},onWheel:r.activationTrigger===0?void 0:Z,onMouseDown:u,...tt(V)}),N=g&&r.comboboxState===1,U=De(N,(Q=r.virtual)==null?void 0:Q.options),y=De(N,r.value),G=c(h=>r.compare(y,h));if(r.virtual){if(U===void 0)throw new Error(\"Missing `options` in virtual mode\");Object.assign(i,{children:M.createElement(ae.Provider,{value:U!==r.virtual.options?{...r,virtual:{...r.virtual,options:U}}:r},M.createElement(At,{slot:K},i.children))})}let ue=ie();return M.createElement(Ot,{enabled:m?t.static||g:!1},M.createElement(ae.Provider,{value:r.mode===1?r:{...r,isSelected:G}},ue({ourProps:X,theirProps:{...i,children:M.createElement(dt,{freeze:N},typeof i.children==\"function\"?(j=i.children)==null?void 0:j.call(i,K):i.children)},slot:K,defaultTag:Lt,features:Bt,visible:g,name:\"Combobox.Options\"})))}let Nt=\"div\";function kt(t,n){var u,X,N,U;let e=ne(\"Combobox.Option\"),o=le(\"Combobox.Option\"),f=de(),{id:b=`headlessui-combobox-option-${f}`,value:m,disabled:d=(N=(X=(u=e.virtual)==null?void 0:u.disabled)==null?void 0:X.call(u,m))!=null?N:!1,order:x=null,...i}=t,r=he(e.inputElement),l=e.virtual?e.activeOptionIndex===e.calculateIndex(m):e.activeOptionIndex===null?!1:((U=e.options[e.activeOptionIndex])==null?void 0:U.id)===b,S=e.isSelected(m),R=ee(null),s=Je({disabled:d,value:m,domRef:R,order:x}),D=Te(Ne),B=be(n,R,D?D.measureElement:null),_=c(()=>{o.setIsTyping(!1),o.onChange(m)});q(()=>o.registerOption(b,s),[s,b]);let I=ee(!(e.virtual||e.__demoMode));q(()=>{if(!e.virtual&&!e.__demoMode)return Le().requestAnimationFrame(()=>{I.current=!0})},[e.virtual,e.__demoMode]),q(()=>{if(I.current&&e.comboboxState===0&&l&&e.activationTrigger!==0)return Le().requestAnimationFrame(()=>{var y,G;(G=(y=R.current)==null?void 0:y.scrollIntoView)==null||G.call(y,{block:\"nearest\"})})},[R,l,e.comboboxState,e.activationTrigger,e.activeOptionIndex]);let O=c(y=>{y.preventDefault(),y.button===we.Left&&(d||(_(),xt()||requestAnimationFrame(()=>r()),e.mode===0&&o.closeCombobox()))}),P=c(()=>{if(d)return o.goToOption(A.Nothing);let y=e.calculateIndex(m);o.goToOption(A.Specific,y)}),g=et(),V=c(y=>g.update(y)),w=c(y=>{if(!g.wasMoved(y)||d||l)return;let G=e.calculateIndex(m);o.goToOption(A.Specific,G,0)}),T=c(y=>{g.wasMoved(y)&&(d||l&&(e.optionsPropsRef.current.hold||o.goToOption(A.Nothing)))}),$=W(()=>({active:l,focus:l,selected:S,disabled:d}),[l,S,d]),K={id:b,ref:B,role:\"option\",tabIndex:d===!0?void 0:-1,\"aria-disabled\":d===!0?!0:void 0,\"aria-selected\":S,disabled:void 0,onMouseDown:O,onFocus:P,onPointerEnter:V,onMouseEnter:V,onPointerMove:w,onMouseMove:w,onPointerLeave:T,onMouseLeave:T};return ie()({ourProps:K,theirProps:i,slot:$,defaultTag:Nt,name:\"Combobox.Option\"})}let Ht=re(ht),Ut=re(Vt),Gt=re(Dt),zt=vt,Kt=re(wt),jt=re(kt),Ho=Object.assign(Ht,{Input:Gt,Button:Ut,Label:zt,Options:Kt,Option:jt});export{Ho as Combobox,Ut as ComboboxButton,Gt as ComboboxInput,zt as ComboboxLabel,jt as ComboboxOption,Kt as ComboboxOptions};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expirationDate = void 0;\nvar parse_date_1 = require(\"./lib/parse-date\");\nvar expiration_month_1 = require(\"./expiration-month\");\nvar expiration_year_1 = require(\"./expiration-year\");\nfunction verification(isValid, isPotentiallyValid, month, year) {\n return {\n isValid: isValid,\n isPotentiallyValid: isPotentiallyValid,\n month: month,\n year: year,\n };\n}\nfunction expirationDate(value, maxElapsedYear) {\n var date;\n if (typeof value === \"string\") {\n value = value.replace(/^(\\d\\d) (\\d\\d(\\d\\d)?)$/, \"$1/$2\");\n date = parse_date_1.parseDate(String(value));\n }\n else if (value !== null && typeof value === \"object\") {\n var fullDate = __assign({}, value);\n date = {\n month: String(fullDate.month),\n year: String(fullDate.year),\n };\n }\n else {\n return verification(false, false, null, null);\n }\n var monthValid = expiration_month_1.expirationMonth(date.month);\n var yearValid = expiration_year_1.expirationYear(date.year, maxElapsedYear);\n if (monthValid.isValid) {\n if (yearValid.isCurrentYear) {\n var isValidForThisYear = monthValid.isValidForThisYear;\n return verification(isValidForThisYear, isValidForThisYear, date.month, date.year);\n }\n if (yearValid.isValid) {\n return verification(true, true, date.month, date.year);\n }\n }\n if (monthValid.isPotentiallyValid && yearValid.isPotentiallyValid) {\n return verification(false, true, null, null);\n }\n return verification(false, false, null, null);\n}\nexports.expirationDate = expirationDate;\n","function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","module.exports = require('./dist/shared/lib/dynamic')\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expirationMonth = void 0;\nfunction verification(isValid, isPotentiallyValid, isValidForThisYear) {\n return {\n isValid: isValid,\n isPotentiallyValid: isPotentiallyValid,\n isValidForThisYear: isValidForThisYear || false,\n };\n}\nfunction expirationMonth(value) {\n var currentMonth = new Date().getMonth() + 1;\n if (typeof value !== \"string\") {\n return verification(false, false);\n }\n if (value.replace(/\\s/g, \"\") === \"\" || value === \"0\") {\n return verification(false, true);\n }\n if (!/^\\d*$/.test(value)) {\n return verification(false, false);\n }\n var month = parseInt(value, 10);\n if (isNaN(Number(value))) {\n return verification(false, false);\n }\n var result = month > 0 && month < 13;\n return verification(result, result, result && month >= currentMonth);\n}\nexports.expirationMonth = expirationMonth;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cardholderName = void 0;\nvar CARD_NUMBER_REGEX = /^[\\d\\s-]*$/;\nvar MAX_LENGTH = 255;\nfunction verification(isValid, isPotentiallyValid) {\n return { isValid: isValid, isPotentiallyValid: isPotentiallyValid };\n}\nfunction cardholderName(value) {\n if (typeof value !== \"string\") {\n return verification(false, false);\n }\n if (value.length === 0) {\n return verification(false, true);\n }\n if (value.length > MAX_LENGTH) {\n return verification(false, false);\n }\n if (CARD_NUMBER_REGEX.test(value)) {\n return verification(false, true);\n }\n return verification(true, true);\n}\nexports.cardholderName = cardholderName;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link isSameMonth} function options.\n */\n\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same month (and year)\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport function isSameMonth(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n laterDate_.getFullYear() === earlierDate_.getFullYear() &&\n laterDate_.getMonth() === earlierDate_.getMonth()\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameMonth;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clone = void 0;\nfunction clone(originalObject) {\n if (!originalObject) {\n return null;\n }\n return JSON.parse(JSON.stringify(originalObject));\n}\nexports.clone = clone;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n return +toDate(date) > +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","import type { ImageLoaderPropsWithConfig } from './image-config'\n\nconst DEFAULT_Q = 75\n\nfunction defaultLoader({\n config,\n src,\n width,\n quality,\n}: ImageLoaderPropsWithConfig): string {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = []\n\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src')\n if (!width) missingValues.push('width')\n\n if (missingValues.length > 0) {\n throw new Error(\n `Next Image Optimization requires ${missingValues.join(\n ', '\n )} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify(\n { src, width, quality }\n )}`\n )\n }\n\n if (src.startsWith('//')) {\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`\n )\n }\n\n if (src.startsWith('/') && config.localPatterns) {\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const { hasLocalMatch } = require('./match-local-pattern')\n if (!hasLocalMatch(config.localPatterns, src)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\` does not match \\`images.localPatterns\\` configured in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`\n )\n }\n }\n }\n\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc: URL\n try {\n parsedSrc = new URL(src)\n } catch (err) {\n console.error(err)\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`\n )\n }\n\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const { hasRemoteMatch } = require('./match-remote-pattern')\n if (!hasRemoteMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`\n )\n }\n }\n }\n\n if (quality && config.qualities && !config.qualities.includes(quality)) {\n throw new Error(\n `Invalid quality prop (${quality}) on \\`next/image\\` does not match \\`images.qualities\\` configured in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`\n )\n }\n }\n\n const q =\n quality ||\n config.qualities?.reduce((prev, cur) =>\n Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q) ? cur : prev\n ) ||\n DEFAULT_Q\n\n return `${config.path}?url=${encodeURIComponent(src)}&w=${width}&q=${q}${\n src.startsWith('/_next/static/media/') && process.env.NEXT_DEPLOYMENT_ID\n ? `&dpl=${process.env.NEXT_DEPLOYMENT_ID}`\n : ''\n }`\n}\n\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true\n\nexport default defaultLoader\n","import a from\"react\";import{useLatestValue as n}from'./use-latest-value.js';let o=function(t){let e=n(t);return a.useCallback((...r)=>e.current(...r),[e])};export{o as useEvent};\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cvv = void 0;\nvar DEFAULT_LENGTH = 3;\nfunction includes(array, thing) {\n for (var i = 0; i < array.length; i++) {\n if (thing === array[i]) {\n return true;\n }\n }\n return false;\n}\nfunction max(array) {\n var maximum = DEFAULT_LENGTH;\n var i = 0;\n for (; i < array.length; i++) {\n maximum = array[i] > maximum ? array[i] : maximum;\n }\n return maximum;\n}\nfunction verification(isValid, isPotentiallyValid) {\n return { isValid: isValid, isPotentiallyValid: isPotentiallyValid };\n}\nfunction cvv(value, maxLength) {\n if (maxLength === void 0) { maxLength = DEFAULT_LENGTH; }\n maxLength = maxLength instanceof Array ? maxLength : [maxLength];\n if (typeof value !== \"string\") {\n return verification(false, false);\n }\n if (!/^\\d*$/.test(value)) {\n return verification(false, false);\n }\n if (includes(maxLength, value.length)) {\n return verification(true, true);\n }\n if (value.length < Math.min.apply(null, maxLength)) {\n return verification(false, true);\n }\n if (value.length > max(maxLength)) {\n return verification(false, false);\n }\n return verification(true, true);\n}\nexports.cvv = cvv;\n","\"use client\";\n\n// packages/react/dialog/src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","\"use client\";import m,{createContext as T,useContext as u,useMemo as c,useState as P}from\"react\";import{useEvent as g}from'../../hooks/use-event.js';import{useId as x}from'../../hooks/use-id.js';import{useIsoMorphicEffect as y}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as E}from'../../hooks/use-sync-refs.js';import{useDisabled as v}from'../../internal/disabled.js';import{forwardRefWithAs as R,useRender as I}from'../../utils/render.js';let a=T(null);a.displayName=\"DescriptionContext\";function f(){let r=u(a);if(r===null){let e=new Error(\"You used a <Description /> component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(e,f),e}return r}function U(){var r,e;return(e=(r=u(a))==null?void 0:r.value)!=null?e:void 0}function w(){let[r,e]=P([]);return[r.length>0?r.join(\" \"):void 0,c(()=>function(t){let i=g(n=>(e(s=>[...s,n]),()=>e(s=>{let o=s.slice(),p=o.indexOf(n);return p!==-1&&o.splice(p,1),o}))),l=c(()=>({register:i,slot:t.slot,name:t.name,props:t.props,value:t.value}),[i,t.slot,t.name,t.props,t.value]);return m.createElement(a.Provider,{value:l},t.children)},[e])]}let S=\"p\";function C(r,e){let d=x(),t=v(),{id:i=`headlessui-description-${d}`,...l}=r,n=f(),s=E(e);y(()=>n.register(i),[i,n.register]);let o=t||!1,p=c(()=>({...n.slot,disabled:o}),[n.slot,o]),D={ref:s,...n.props,id:i};return I()({ourProps:D,theirProps:l,slot:p,defaultTag:S,name:n.name||\"Description\"})}let _=R(C),H=Object.assign(_,{});export{H as Description,U as useDescribedBy,w as useDescriptions};\n","import{useEffect as s,useState as o}from\"react\";import{disposables as t}from'../utils/disposables.js';function p(){let[e]=o(t);return s(()=>()=>e.dispose(),[e]),e}export{p as useDisposables};\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","'use client'\n\nimport React from 'react'\n\ntype CaptureFn = (moduleName: string) => void\n\nexport const LoadableContext = React.createContext<CaptureFn | null>(null)\n\nif (process.env.NODE_ENV !== 'production') {\n LoadableContext.displayName = 'LoadableContext'\n}\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfMonth} function options.\n */\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date. The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments.\n * Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed,\n * or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes.\n * Supports nodes hidden inside shadowDom\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","/* eslint-disable */\n/*\n * Luhn algorithm implementation in JavaScript\n * Copyright (c) 2009 Nicholas C. Zakas\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\"use strict\";\nfunction luhn10(identifier) {\n var sum = 0;\n var alt = false;\n var i = identifier.length - 1;\n var num;\n while (i >= 0) {\n num = parseInt(identifier.charAt(i), 10);\n if (alt) {\n num *= 2;\n if (num > 9) {\n num = (num % 10) + 1; // eslint-disable-line no-extra-parens\n }\n }\n alt = !alt;\n sum += num;\n i--;\n }\n return sum % 10 === 0;\n}\nmodule.exports = luhn10;\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isInert = function (node) { return node.hasAttribute('inert'); };\n/**\n * @see https://github.com/testing-library/jest-dom/blob/main/src/to-be-visible.js\n */\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && !isInert(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar creditCardType = __importStar(require(\"credit-card-type\"));\nvar cardholder_name_1 = require(\"./cardholder-name\");\nvar card_number_1 = require(\"./card-number\");\nvar expiration_date_1 = require(\"./expiration-date\");\nvar expiration_month_1 = require(\"./expiration-month\");\nvar expiration_year_1 = require(\"./expiration-year\");\nvar cvv_1 = require(\"./cvv\");\nvar postal_code_1 = require(\"./postal-code\");\nvar cardValidator = {\n creditCardType: creditCardType,\n cardholderName: cardholder_name_1.cardholderName,\n number: card_number_1.cardNumber,\n expirationDate: expiration_date_1.expirationDate,\n expirationMonth: expiration_month_1.expirationMonth,\n expirationYear: expiration_year_1.expirationYear,\n cvv: cvv_1.cvv,\n postalCode: postal_code_1.postalCode,\n};\nmodule.exports = cardValidator;\n"],"names":["s","e","r","t","o","current","isSameYear","laterDate","earlierDate","options","laterDate_","earlierDate_","normalizeDates","in","getFullYear","addYears","date","amount","addMonths","dynamic","noSSR","convertModule","mod","default","LoadableInitializer","loadableOptions","webpack","modules","dynamicOptions","loadableFn","Loadable","loading","error","isLoading","pastDelay","Promise","loader","loaderFn","loadableGenerated","ssr","then","resolve","n","addEventListener","a","add","removeEventListener","requestAnimationFrame","cancelAnimationFrame","nextFrame","setTimeout","clearTimeout","microTask","i","style","getPropertyValue","Object","assign","group","dispose","includes","push","indexOf","splice","H","b","c","l","P","p","L","A","m","u","disabled","d","f","T","F","E","y","value","v","id","ourProps","ref","theirProps","children","D","slot","defaultTag","_","name","getDaysInMonth","_date","toDate","year","monthIndex","getMonth","lastDayOfMonth","constructFrom","setFullYear","setHours","getDate","eachDayOfInterval","interval","start","end","normalizeInterval","reversed","endTime","step","dates","setDate","reverse","isServer","isFirstDayOfMonth","Array","from","Set","flatMap","split","filter","Boolean","join","O","None","RenderStrategy","Static","Unmount","Hidden","U","k","x","every","C","features","visible","mergeRefs","$","static","unmount","M","hidden","display","as","refName","h","className","entries","replace","g","toLowerCase","keys","length","w","isArray","concat","map","props","R","N","j","startsWith","test","preventDefault","call","Event","nativeEvent","defaultPrevented","K","S","displayName","Provider","ALL_INITIALIZERS","READY_INITIALIZERS","initialized","load","promise","state","loaded","catch","err","LoadableSubscription","_res","retry","_clearTimeouts","_loadFn","_opts","_state","timedOut","res","opts","delay","_delay","_update","timeout","_timeout","partial","_callbacks","forEach","callback","getCurrentValue","subscribe","delete","constructor","loadFn","subscription","init","sub","bind","moduleIds","window","moduleId","ids","LoadableComponent","useLoadableModule","context","React","useContext","LoadableContext","moduleName","useSyncExternalStore","useImperativeHandle","useMemo","createElement","obj","preload","forwardRef","flushInitializers","initializers","promises","pop","all","preloadAll","resolveInitializers","reject","preloadReady","resolvePreload","__NEXT_PRELOADREADY","Image","configEnv","process","handleLoading","img","placeholder","onLoadRef","onLoadingCompleteRef","setBlurComplete","unoptimized","sizesInput","src","decode","parentElement","isConnected","event","defineProperty","writable","prevented","stopped","currentTarget","target","isDefaultPrevented","isPropagationStopped","persist","stopPropagation","getDynamicProps","fetchPriority","use","fetchpriority","ImageElement","forwardedRef","srcSet","sizes","height","width","decoding","fill","setShowAltText","onLoad","onError","rest","ownRef","useCallback","complete","useMergedRef","data-nimg","ImagePreload","isAppRouter","imgAttributes","imageSrcSet","imageSizes","crossOrigin","referrerPolicy","ReactDOM","Head","link","rel","href","undefined","pagesRouter","RouterContext","configContext","ImageConfigContext","config","imageConfigDefault","allSizes","deviceSizes","sort","qualities","onLoadingComplete","useRef","useEffect","blurComplete","useState","showAltText","meta","imgMeta","getImgProps","defaultLoader","imgConf","priority","getImageProps","imgProps","key","subMonths","Focusable","position","top","left","padding","margin","overflow","clip","whiteSpace","borderWidth","W","data","form","onReset","overrides","setForm","formId","toString","Date","toISOString","type","readOnly","document","getElementById","closest","lastDayOfWeek","defaultOptions","getDefaultOptions","weekStartsOn","locale","day","getDay","diff","normalizeSrc","slice","supportsFloat","loadedImageURLs","emptyDataURL","loaders","Map","quality","q","reduce","prev","cur","Math","abs","DEFAULT_Q","dangerouslyAllowSVG","endsWith","normalizePathTrailingSlash","path","encodeURIComponent","imgixLoader","url","URL","params","searchParams","set","getAll","get","cloudinaryLoader","paramsString","customLoader","isStaticRequire","generateImgAttrs","layout","widths","kind","getWidths","viewportWidthRe","percentSizes","match","exec","parseInt","smallestRatio","min","find","last","getInt","defaultImageLoader","loaderProps","loaderKey","VALID_LOADERS","parentNode","naturalWidth","naturalHeight","heightInt","widthInt","qualityInt","imgStyle","blurStyle","isLazy","srcString","setIntersection","isVisible","noscriptSizes","noscript","sizerSvgUrl","lazyRoot","lazyBoundary","objectFit","objectPosition","blurDataURL","customImageLoader","staticSrc","isStaticImport","isStaticImageData","staticImageData","JSON","stringify","Error","has","isIntersected","resetIntersected","useIntersection","rootRef","rootMargin","wrapperStyle","boxSizing","background","opacity","border","sizerStyle","hasSizer","layoutStyle","bottom","right","minWidth","maxWidth","minHeight","maxHeight","backgroundSize","backgroundPosition","backgroundImage","quotient","paddingTop","isNaN","linkProps","useLayoutEffect","previousImageSrc","imgElementArgs","span","alt","aria-hidden","eachMonthOfInterval","setMonth","getImageBlurSvg","blurWidth","blurHeight","svgWidth","svgHeight","viewBox","std","preserveAspectRatio","I","inherit","register","G","captureStackTrace","htmlFor","passive","B","HTMLLabelElement","onClick","getAttribute","HTMLInputElement","role","click","focus","preventScroll","subDays","addDays","Symbol","NaN","dayOfMonth","endOfDesiredMonth","getTime","daysInMonth","enumerable","configurable","detect","handoffState","currentId","reset","nextId","isClient","handoff","isHandoffComplete","endOfMonth","month","isEqual","leftDate","rightDate","isWithinInterval","time","startTime","Number","isFinite","overrideSrc","isDefaultLoader","intrinsic","responsive","layoutSizes","ratio","round","color","backgroundRepeat","placeholderStyle","Node","ownerDocument","hasOwnProperty","getBoundingClientRect","ResizeObserver","observe","disconnect","factory","getSnapshot","dispatch","ADD","REMOVE","inert","setAttribute","removeAttribute","First","Previous","Next","Last","WrapAround","NoScroll","AutoFocus","Overflow","Success","Underflow","Strict","Loose","Keyboard","Mouse","metaKey","altKey","ctrlKey","documentElement","dataset","headlessuiFocusVisible","detail","navigator","platform","maxTouchPoints","userAgent","selectionStart","selectionEnd","activeElement","setSelectionRange","PUSH","doc","count","POP","SCROLL_PREVENT","before","containers","some","contains","getComputedStyle","scrollBehavior","scrollY","pageYOffset","HTMLElement","hash","querySelector","tagName","headlessuiPortal","scrollHeight","clientHeight","scrollWidth","clientWidth","scrollTo","scrollIntoView","block","max","defaultView","innerWidth","after","offsetWidth","SCROLL_ALLOW","TEARDOWN","values","screenX","screenY","globalThis","Element","env","prototype","getAnimations","console","warn","Closed","Enter","Leave","styles","setReference","setFloating","getReferenceProps","getFloatingProps","Me","enabled","ue","MutationObserver","parseFloat","ceil","attributes","attributeFilter","to","gap","offset","inner","V","refs","floatingStyles","oe","open","placement","strategy","transform","middleware","ne","mainAxis","crossAxis","le","ee","te","overflowRef","minItemsVisible","referenceOverflowThreshold","onFallbackChange","elements","floating","scrollPaddingBottom","childElementCount","childNodes","offsetTop","scrollTop","re","apply","availableWidth","availableHeight","whileElementsMounted","Z","anchor","ie","onChange","Q","X","se","Y","z","fe","J","trim","appendChild","setProperty","marginTop","removeChild","freeze","Open","Closing","Opening","readyState","body","unshift","capture","Specific","Nothing","resolveItems","resolveActiveIndex","resolveDisabled","resolveId","Escape","Backspace","Delete","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End","PageUp","PageDown","Tab","Left","Right","Group","Ct","Et","Single","Multi","St","Pointer","Focus","Other","It","OpenCombobox","CloseCombobox","GoToOption","SetTyping","RegisterOption","UnregisterOption","SetActivationTrigger","UpdateVirtualConfiguration","SetInputElement","SetButtonElement","SetOptionsElement","ve","activeOptionIndex","dataRef","order","Tt","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","domRef","Pt","comboboxState","isTyping","activationTrigger","__demoMode","calculateIndex","optionsElement","optionsPropsRef","virtual","idx","Ve","findIndex","trigger","payload","isSelected","inputElement","element","buttonElement","ye","ce","Te","Ne","At","paddingBlockStart","paddingBlockEnd","paddingBottom","He","scrollPaddingStart","scrollPaddingEnd","estimateSize","getScrollElement","overscan","Ae","getVirtualItems","getTotalSize","scrollToIndex","Pe","option","index","overflowAnchor","ae","Rt","_t","Bt","Be","Ht","ht","Oe","Ce","rt","defaultValue","by","onClose","multiple","immediate","nullable","je","Ge","Ue","hold","Ke","mode","Ee","compare","isActive","closeCombobox","getRootNode","composed","composedPath","matches","touches","clientX","clientY","changedTouches","HTMLIFrameElement","activeIndex","activeOption","setIsTyping","goToOption","pe","registerOption","openCombobox","setActivationTrigger","selectActiveOption","setInputElement","setButtonElement","setOptionsElement","yt","ke","it","mt","me","st","Ut","Vt","be","de","autoFocus","he","Space","ft","HTMLFieldSetElement","HTMLLegendElement","previousElementSibling","button","we","ge","isFocusVisible","focusProps","Se","isHovered","hoverProps","Ie","isDisabled","pressed","pressProps","ze","onPointerDown","onPointerUp","active","hover","xe","Qe","hasAttribute","tabIndex","onMouseDown","onKeyDown","Ft","Gt","Dt","bt","displayValue","ut","_e","$e","selectionDirection","shiftKey","relatedTarget","Fe","gt","isFocused","autofocus","onCompositionStart","onCompositionEnd","onFocus","onBlur","Mt","zt","vt","Kt","wt","portal","modal","transition","pt","lt","Re","outerHTML","at","ct","ot","hasFlag","addFlag","removeFlag","flags","setFlag","toggleFlag","prepare","run","done","inFlight","offsetHeight","CSSTransition","allSettled","finished","closed","enter","leave","IntersectionObserver","Ze","allowed","Xe","disallowed","nt","container","accept","walk","acceptNode","createTreeWalker","NodeFilter","SHOW_ELEMENT","nextNode","currentNode","FILTER_REJECT","FILTER_SKIP","FILTER_ACCEPT","onWheel","tt","De","Ot","dt","Lt","jt","kt","Je","measureElement","Le","xt","et","wasMoved","update","selected","onPointerEnter","onMouseEnter","onPointerMove","onMouseMove","onPointerLeave","onMouseLeave","Nt","Ho","Input","Button","Label","Options","Option","queueMicrotask","isSameMonth","isAfter","dateToCompare","__next_img_default","createContext","startOfMonth"],"sourceRoot":"","ignoreList":[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,246,247,248,249,250,251,252,253,254,255,256]}