{"version":3,"file":"static/chunks/1862-e8f1206c5abb362b.js","mappings":"+LAKA,sCAGM,EAAG,SACH,EAAG,QADA,CAET,UADS,EACT,CACA,aACA,OACA,IACA,IACA,CAAC,CACD,GACA,aACA,aACA,aACA,YACA,EACA,GACA,YACA,WACA,EAIA,SAAS,EAAQ,KACjB,mBADiB,MACjB,QACA,CACA,SAAS,EAAO,GAChB,oBADgB,EAEhB,CACA,SAAS,EAAY,GACrB,uBAEA,EAHqB,OAGrB,KACA,qBACA,CACA,cACA,8BACA,CACA,SAAS,EAAW,GACpB,wBADoB,OACpB,CAAoC,EAAO,WAC3C,CAqBA,SAAS,EAA6B,GACtC,sCACA,CA6BA,GA/BsC,MA+BtC,KACA,kDACA,CAUA,SAAS,EAAgB,GACzB,yBATA,CACA,GAOyB,CAPzB,EACA,QACA,SACA,OACA,GAIA,IACA,MACA,QACA,SACA,MACA,CACA,CACA,SAAS,EAAgB,GACzB,IACA,IACA,IACA,QACA,SACA,CAAI,EACJ,OACA,QACA,SACA,MACA,OACA,UACA,WACA,IACA,GACA,CACA,CCpIA,kBACA,IAYA,EAZA,CACA,YACA,WACA,CAAI,EACJ,EAAmB,EAAW,GAC9B,EDuCA,EAAyB,ECvCe,IACxC,EAAsB,EAAa,EADX,CAExB,EAAe,EAAO,GACtB,CAFmC,CAEnC,ODoCoC,CCnCpC,UAFsB,GAEtB,aACA,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,EAAY,IACtB,YACA,YAFsB,EAEtB,MACA,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,CAAI,EAAU,KACd,EAAwB,EAAgB,GAExC,MADA,MAFc,OAEd,UADwC,IACxC,WACA,GACA,EAA6B,EAAgB,yBAC7C,OAD6C,CAC7C,4JACA,WACA,eACA,UACA,CAAG,GACH,kBACA,IACA,IACA,uBACA,0BACI,YACJ,uEACA,mGACA,IACA,GACA,EAAI,EAIwB,EAAgB,uHAC5C,WACA,OACA,eACA,UACA,CAAG,KACH,OACA,4BACA,wCACA,gCACA,oCAEA,CAyTA,gBACA,OACA,mBACA,sBACA,yBACA,oBAEA,CACA,cACA,OAAS,EAAK,gBACd,CAiMA,sBACA,IACA,YACA,WACA,WACA,CAAI,EACJ,mDACA,EAAe,EAAO,GACtB,EAAoB,EAAY,GAChC,EAAgC,MAAX,EAAW,GAFV,EAGtB,UAFgC,IAEhC,QADgC,CAChC,SACA,YACA,EAAmB,EAAQ,KAG3B,CACA,WACA,OAL2B,GAK3B,EACA,gBACA,CAAI,oBACJ,WACA,YACA,kBACA,EAAI,CACJ,uBACA,yBACA,+BAKA,OAHA,uBACA,qBAEA,GACA,MACA,KACA,EAAI,CACJ,MACA,KACA,CACA,CC/vBA,aACA,gCACA,CACA,qBACA,KACA,+BAKA,WACA,CACA,cACA,MACA,uEACA,CACA,cACA,MACA,4FACA,CACA,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,CAIA,cACA,0CACA,IACA,mBACA,CAAM,SACN,QACA,CACA,CAAG,CACH,CACA,cACA,UACA,cAIA,yZACA,CAaA,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,CAWA,kBACA,KACA,aACA,OAEA,YACA,OAEA,MAlBA,cACA,kBACA,KACA,4CAEA,WACA,EAEA,IACA,EASA,GACA,gDACA,OACA,MACA,WACA,8DACA,CACA,4BACA,CACA,cACA,oEACA,CClJA,cACA,MAAc,EAAgB,GAG9B,WAH8B,EAG9B,YACA,0BACA,EAAoB,EAAa,GACjC,QADiC,SACjC,GACA,qBACA,EAAyB,EAAK,QAA2B,EAAK,OAK9D,OAJA,IACA,IACA,KAEA,CACA,QACA,SACA,GACA,CACA,CAEA,cACA,SAAmB,sBAGnB,cACA,WACA,IAAO,EAAa,GACpB,OAAW,CADS,CACG,GAEvB,OAFuB,CAEvB,wBACA,CACA,QACA,SACA,IACA,CAAI,KACJ,KAAe,EAAK,oBACpB,KAAe,EAAK,sBAUpB,OANA,uBACA,MAEA,uBACA,MAEA,CACA,IACA,GACA,CACA,CAEA,MAA+B,EAAY,GAC3C,OAD2C,EAC3C,KACA,MAAc,EAAS,UACvB,KAAe,iBAGf,CACA,8BACA,8BAJA,CAMA,CAWA,wBAVA,CAWA,aACA,OAEA,YACA,OAEA,gCACA,OACA,EAAc,EAAY,GAC1B,IACA,EACU,CAHgB,CAGP,IACnB,GADmB,EACnB,IAGA,QAGA,OA5BA,UADA,EA6BA,IA3BA,OA2BA,GAzBA,SAAmE,EAyBnE,EAzB4E,GAG5E,EAH4E,CAyB5E,KAA2H,EAAY,GACvI,OADuI,EACvI,UACA,kBACA,cACA,eACA,MACA,MAAgB,EAAS,GACzB,IADyB,CACa,EAAS,GAAiB,EAAS,EAA1B,CAA0B,EACzE,EADyE,EAEzE,EAAwB,EAAe,GACvC,UADuC,CACvC,QACA,WACA,4BACA,EAAkB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ACA,MACA,WAEA,EAOA,QAJA,kBACA,UACA,CAAW,KAIX,CACA,wCAQA,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,aACA,IAEA,IACA,0BACA,IACA,IACA,KACA,MACA,cACA,qCACA,oCACA,CAAK,EACL,aACA,4BACA,OACA,GACA,uBAEA,CACA,CAmBA,IAAM,GF2GN,YAIA,OAHA,GE5Ge,EF4Gf,IE5GuB,GF6GvB,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,EE5HM,GFmIN,YAIA,MEvIW,CFoIX,EEpIc,GFoId,EEpIqB,EFoIrB,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,EAAU,KAClB,GACA,IACA,GACA,EACA,OALkB,CAKlB,OACA,EAAwB,EAAY,EAAO,IAC3C,EAAuB,EAAe,GACtC,OACA,GAFsC,CAEtC,CAH2C,CAG3C,CAHmC,GAInC,GACA,2BACA,2BACA,SACA,SACA,IAA6B,SAC7B,CACA,EAFwB,CAExB,GACA,CAH6B,GAG7B,uBACA,2BACA,SACA,SACA,IAA8B,SAC9B,CACA,GAFyB,CAEzB,IAF8B,EAE9B,EACA,KACA,MACA,KACA,CAAO,EACP,OACA,KACA,MACA,QACA,QACA,SACA,MACA,KACA,CACA,CACA,CACA,CACA,CACA,EElMM,GF9RN,YAIA,KE0RU,EF7RV,CE6Ra,IF7Rb,OACA,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,EAAU,KAMlB,wCACA,SAEA,MAAmB,EAAO,GAC1B,EAA8B,EAAW,GACzC,EAA8B,EAAO,OACrC,EAH0B,MAG1B,KAFyC,EAEzC,CADqC,CACrC,kCACA,aAAsG,EAAoB,IAAsB,SD7XhJ,GACA,EC4X0H,ED5X1H,KC4XqK,ED3XrK,OAAU,EAA6B,KAAgC,EAA6B,KC2XiE,IACrK,YACA,QACA,SD9XuC,CC8XJ,MD9XiE,GAsBpG,SACA,MAAoB,CCuWwC,CDvW5B,GAChC,WAnBA,OACA,uBACA,mBAGA,UACA,UACA,aACA,kBACA,YACA,YACA,YACA,SATA,iBACA,gBASA,SACA,SAEA,EAGyB,EAAO,kBAOhC,KAPgC,EAChC,IACA,oBACA,GACA,kBAAkC,GAA6B,GAG/D,CACA,EC8V4D,UAE5D,eACA,aDrW+D,ECsW/D,KACA,4CAIA,GAHA,GACA,aAEA,GACA,MAAsB,SDvZb,CAAiB,MAC1B,YACA,OCqZuC,IDnZvC,EAAoB,EAAY,CAJN,EAK1B,EAPA,IAOA,IACA,OACA,0EAIA,OAHA,8BACA,SAEA,UC4YuC,OACvC,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,EAAW,aACvD,cADuD,MAIvD,CACA,CACA,QACA,CAAiB,+GACjB,GACA,MAEA,KACA,CACA,uBACA,GAEA,CAEA,SACA,OACA,OACA,WACA,CACA,CAEA,CACA,QACA,CACA,CACA,EEgLM,GFsQN,YAIA,KE1QU,EFuQV,CEvQa,IAAM,IFuQnB,GACA,OAEA,CACA,YACA,UACA,gBACA,QAmBA,EACA,EAnBA,IACA,YACA,QACA,WACA,WACA,CAAQ,EACR,CACA,cAAwB,CACxB,KACA,CAAQ,EAAU,KAClB,eACA,EAAmB,EAAO,GAC1B,EAAwB,EAAY,GACpC,EAAiC,MAAX,EAAW,GACjC,CACA,QACA,GAJoC,IAIpC,EACA,CAAQ,KAJyB,KAIzB,CAGR,yBACA,IACA,wFAEA,IACA,4BAEA,uBACA,mBACA,EAAsC,EAAG,UACzC,EAAqC,EAAG,KADC,CACD,IACxC,SADwC,UACxC,OACA,IACA,IAOA,GANA,+CACA,MAEA,+CACA,MAEA,OACA,MAAqB,EAAG,UACxB,EAAqB,EAAG,KADA,EACA,IACxB,EAAqB,EAAG,IADA,CACA,IACxB,EAAqB,EAAG,MADA,EACA,IACxB,EACA,KAFwB,CAExB,kBAAiF,EAAG,iBAEpF,EAFoF,EAEpF,oBAAmF,EAAG,gBAEtF,CACA,EAHsF,IAGtF,GACA,KACA,iBACA,iBACA,CAAO,EACP,+CACA,0BACA,CACA,OACA,QACA,CACA,EAEA,EACA,CACA,CACA,EE3UM,GFrKN,YAIA,KEiKU,EFpKV,CEoKa,IFpKb,OACA,OAEA,CACA,YACA,UACA,YACA,IACA,QACA,CAAQ,EACR,CACA,6BACA,KACA,CAAQ,EAAU,KAClB,UACA,SAFkB,aAGlB,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,EEyHM,GF9eN,KACA,aACA,GE4ec,KF5ed,EACA,YACA,IACA,IACA,IACA,YACA,QACA,WACA,WACA,iBACA,CAAM,EAEN,CACA,UACA,YACA,CAAM,EAAU,SAChB,WACA,IAFgB,EAEhB,GAEA,MAA0B,EAAgB,GAC1C,GACA,IACA,GACA,EACA,EDtMA,ICsMiC,CAAhB,GACjB,EAAmB,EAAa,GANU,EAO1C,IAFiC,EACD,EAChC,iBACA,UAGA,iCACA,mDACA,sBACA,8DACA,WAGA,oDACA,iCAMA,mBACA,EAAuB,EAAG,EAjB1B,eAiB0B,IAC1B,EAAuB,EAAG,EAjB1B,iBAiB0B,MAK1B,WACA,aAZA,UAaA,EDxPS,ECqPT,EDrPoB,ECwPI,CAAL,CAAK,MAMxB,OD9PY,CC8PZ,EAAqD,CD9P9B,OC8P0C,+BATjE,EASiE,cACjE,MAVA,EAUA,EAVA,EAUA,MACA,OACA,WACA,MACA,MACA,mBACA,OACA,iBACA,CAAS,CACF,CACP,OACA,CACA,EACA,CAAC,CE+aK,GFoKN,YAIA,OAHA,IErKgB,CFqKhB,EErKmB,EFqKnB,GACA,OAEA,CACA,UACA,MACA,IACA,IACA,IACA,YACA,QACA,iBACA,CAAQ,EACR,CACA,WACA,cACA,eACA,CAAQ,EAAU,KAClB,GACA,IACA,GACA,EACA,EAAwB,EAAW,GALjB,EAMK,EAAe,GACtC,OACA,GAFsC,CAEtC,GACA,EAAwB,CAJW,CAIH,KAChC,mBADgC,EAChC,CACA,WACA,WACA,EAAQ,CACR,WACA,YACA,MAEA,MACA,+BACA,0CACA,2CACA,IACA,IACU,KACV,KAEA,CACA,MACA,QACA,+BACA,0BAAsD,EAAO,IAC7D,mBAD6D,QAC7D,+DACA,2FACA,KACA,IACU,KACV,KAEA,CACA,OACA,MACA,KACA,CACA,CACA,CACA,EE9NM,GAAe,UAIrB,cACA,GACA,CANqB,QAMrB,GACA,IACA,EACA,GACA,cACA,IACA,EACA,OAAS,EAAiB,KAC1B,KACA,GAF0B,MAE1B,CACA,CAAG,CACH,8DC1uBA,cACA,SAA0B,UAAc,SA+BxC,MA9BE,OAAe,MACjB,MACA,GAAgB,0CAA0D,EAC1E,iCAQA,EACA,EARA,sBAGA,UAFA,OAKA,WAGA,wBACA,sBACA,0BACA,eACA,eACU,IACV,gBACA,iBAEA,SAAkB,WAAe,CACjC,CAAO,EAEP,OADA,aAAwC,iBAAmB,EAC3D,kBACA,CACA,CADM,CACN,OAEA,CAAG,MACH,CACA,oCCpCA,gBAA4F,+BAA6D,EAAI,EAC7J,mBAEA,GADA,cACA,sDACA,CACA,6FCDA,EAAW,YAAgB,SAC3B,aAAU,QAAyB,EACnC,EAAwB,UAAc,YACtC,YACA,MACA,uBACA,WACA,MAIA,EAHA,EAAY,QAAc,YAA+B,UAAc,YACxD,gBAAoB,2BAKnC,MAA2B,SAAG,IAAc,oBAA2C,gBAAoB,IAAe,cAAkB,kBAA0C,CACtL,CACA,MAAyB,SAAG,IAAc,sBAA2C,CACrF,CAAC,EACD,qBACA,MAAgB,YAAgB,SAChC,IAAU,iBAAyB,EACnC,GAAM,gBAAoB,KAC1B,MAuCA,YACA,0DACA,mDACA,EACA,MAGA,GADA,mDACA,wCAEA,YAEA,kBACA,EAnDA,GACA,OAAW,cAAkB,IAC7B,YAcA,KACA,OAA0B,MAC1B,gBACA,WACA,OACA,mBAEA,KACA,cACA,QACA,OACA,EACQ,GACR,SAEM,YACN,MAAkC,WAC5B,iBACN,sCAEA,CACA,OAAW,UACX,EApCA,WAEA,MAA0B,OAAW,OACrC,CAAK,CACL,CACA,OAAS,UAAc,YAAuB,UAAc,gBAC5D,CAAC,EACD,0BACA,iBAAmB,EAAU,GACJ,SAAG,CAAC,UAAQ,WAAI,EAAU,EAEnD,cACA,OAAS,gBAAoB,eAC7B,CClBA,MAlBA,CACA,IACA,SACA,MACA,OACA,KACA,KACA,MACA,QACA,QACA,KACA,MACA,KACA,IACA,OACA,MACA,KACA,CACA,eACA,MAAe,YAAgB,SAC/B,IAAY,gBAA6B,EACzC,IAA2B,EAAI,EAI/B,MAHA,4BACA,oCAE2B,SAAG,IAAS,WAAsC,CAC7E,CAAG,EAEH,OADA,2BAAkC,EAAK,EACvC,CAAW,WACX,CAAC,GAAI,EACL,gBACA,GAAc,WAAkB,wBAChC,4FGvBA,aFbA,yCAAuE,MAAkC,EAAI,EAC7G,mBAEA,GADA,OACA,4BACA,aAEA,CACA,0BCWA,mBACA,SAqBA,OACA,eACa,eAAmB,KAEhC,mBACA,gBACA,OAAa,SAAa,CAC1B,MAAiB,WAAW,EAAU,IAAM,cAC5C,MAEA,CACA,EAEA,OADA,cACA,CAjCA,cACA,MAAwB,eAAmB,IAC3C,WAEA,cACA,UAAc,mBAA8B,EAC5C,eACA,EAAoB,SAAa,yBACjC,MAA6B,SAAG,mBAAqB,aAAiB,CACtE,QANA,WAcA,2BACA,GARA,cACA,mBACA,EAAsB,YAAgB,IACtC,cACA,sBACA,kBAA2B,EAAa,2BAA2B,EAAkB,IACrF,EAEA,EAeA,SAEA,MACA,WACA,yBACA,WACA,iBACA,aACA,sBACA,CAAK,EACL,mBACA,4BAA2D,cAAqB,IAEhF,MADA,IACA,WAAkD,EAAU,GAC5D,OAAiB,UACjB,CAAO,GAAI,EACX,OAAa,SAAa,OAAU,WAAW,YAAoB,MAAgB,KACnF,CACA,EAEA,OADA,wBACA,CACA,EArBA,QACA,mCC5CA,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,MAvCI,OAAgB,KACpB,sBAEA,OACA,yBACA,mBACA,KAEA,CAAK,IACD,WAAe,MACnB,KAUA,OATA,IACA,oDACA,6BACA,mCAEA,iDAEA,gB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CA,aACA,gBACA,SACA,SACA,mBACA,SAAsC,SAAG,CAC3B,IAAS,KACvB,CACA,cACA,eACA,KACA,MACA,OACA,WAGA,yBACA,CACA,EAEA,EAEA,EAEA,EAEA,iBACA,oBACA,GACA,aACA,aACA,aACA,YACA,EACA,EAAkB,YAAgB,eAClC,kBAAU,QAA+B,EACzC,SACA,kBACA,MAIoB,SAAG,CACvB,OACA,CACA,oBACA,OACA,oBACA,cACA,aACA,MACA,iBACA,OACA,YACA,kBACA,aACA,CAAW,eACX,WACA,uBACA,uDACA,wBACA,qDACA,CAAW,eACX,4CACA,CAAS,CACT,SAAkC,SAAG,CDjN7B,ECmNR,CACA,KACA,MACA,OACA,WAEA,eACA,CACA,EAEA,EAGA,CAAC,EAED,cACA,eACA,CAHA,gBAIA,WACA,uBACA,UACA,MACA,cAAY,4BAAmC,EAC/C,4BAEA,EADA,EACA,eACA,EAFA,EAEA,gBACA,WACA,GAA2B,mCAAyC,IACpE,sBACA,sBACA,KACA,KAcA,MAbA,cACA,SAA4C,EAAa,IACzD,KAAa,GAAa,KACpB,WACN,SAA4C,EAAa,IACzD,KAAa,oBAAoC,KAC3C,aACN,KAAa,GAAa,IAC1B,SAA4C,EAAa,KACnD,aACN,KAAa,mBAAmC,IAChD,SAA4C,EAAa,KAEzD,CAAa,QAAQ,OACrB,EACA,CAAC,CACD,cACA,+BACA,2BClRA,EAAa,YAAgB,SAC7B,IAAU,kBAA2C,EACrD,MAAgC,UAAc,KAC5C,OAAe,eACjB,uCACA,SAAqB,cAAqB,CAAiB,SAAG,CAAC,IAAS,MAAQ,WAAmC,SACnH,CAAC,EACD,cARA,SCUA,WACA,YAAU,cAAoB,EAC9B,WAOA,OAjBA,IAkBA,SAA0B,UAAe,GACzC,EAAoB,QAAa,GAAG,EACpC,EAAyB,QAAa,IACtC,EAA+B,QAAa,SAE5C,OAvBA,EAsBA,wBAtBA,EAuBA,CACA,SACA,oBACA,gCACA,CAAK,CACL,kBACA,gBACA,yBACA,CAAK,CACL,WACA,eACA,CACA,CAAG,CAlCM,YAAgB,QAEzB,CADA,QACA,EACG,IAoFH,OApDE,WAA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AlBI,WAFgD,GAEhD,CAAgB,MACpB,UACA,sBAIA,EA5NA,gCA4NA,EAHA,CACA,eACA,EACA,CACA,WACA,CAAiB,CAEjB,EAEA,OADA,gCACA,sCAEA,CAAK,EACL,EACA,EACA,EACA,CACA,gCAEA,8BACA,CACA,EA1MA,IACA,eACA,IACA,WACA,0BAGA,cACA,cACA,iCACA,CAAK,IAqDL,OApDI,SD3DJ,gCC2D2B,OD3D3B,UACA,MAA4B,EAAqB,GAC7C,eAAgB,MACpB,UACA,KAHiD,MAGjD,WACA,EAEA,OADA,gCACA,sCAEA,CAAK,EACL,EACA,EACA,CACA,EC8C2B,IAC3B,sBAEA,cACA,yBACA,mBACA,KAEA,CAAK,IACD,eAAgB,MACpB,KAUA,OATA,IACA,oDACA,6BACA,mCAEA,iDAEA,gBACA,IACA,KACA,oFACA,CACA,CAAK,EACL,EACA,EACA,EACA,EACA,EAMM,eAAgB,KACtB,KACA,IACA,mBACA,mDACA,IACA,EACK,CACL,EACA,EACA,EACI,eAAgB,MACpB,cAAyC,EAGzC,OADA,+BACA,qCAEA,CAAK,KACoB,mBAAoB,CAAC,EAAgB,IAAM,OAAoC,GAAG,IAC3G,MACA,OACA,QAH8D,MAG9D,yBACA,WACS,CACT,eAAwB,OAA2B,oCACnD,cAAuB,OAA2B,kCAClD,qBAA8B,OAA2B,+CACzD,CAAK,EACL,CAAC,EAkID,aACA,yBACA,yBACA,CACA,kBAAqF,WAAqB,EAC1G,6BACA,qBACA,WACA,cACA,QACA,CAAK,EAIL,GAHA,2BACA,OACA,CAAK,EACL,EAAoD,GH1LpC,KG0LE,SH1LF,CAAgB,KG0LoB,EH1LpB,cG0LoB,SACpD,CADoD,CACpD,gBACA,wIC5QA,+BAA8C,iBAAe,CAAG,WAAS,CAIzE,oBAUA,EACA,EACA,EAXA,SACA,SAEA,sBACA,SAEA,qDACA,SAKA,6BACA,qBAEA,GADA,eACA,kBACA,QAAuB,EAAU,CAAV,KACvB,iBACA,SAGA,QACA,CAGA,GADA,GADA,mBACA,UACA,sBACA,SAEA,QAAqB,EAAU,CAAV,KACrB,QAAa,6BACb,SAGA,QAAqB,EAAU,CAAV,KAAU,CAC/B,WACA,gCAGA,cACA,QAEA,CACA,QACA,CACA,iBACA,CAEA,oBACA,2BACA,EAEA,sCACA,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,4BAEA,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,GAAG,YACH,CAQA,SAIA,EACA,aACA,UACA,MACA,IAC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B,gBACA,iBAEA,GACA,QACA,QACA,CAAiB,CACjB,CAAa,EAIb,OAHA,aACA,gBACA,CAAa,EACb,kBAEA,CAEA,CAFU,CAEV,OACA,CAAK,EACL,EACA,EACA,CACA,ECgCoC,GACpC,oDACA,qDAEA,wBACA,MACA,QACA,SACA,OACA,MAEA,sBACA,EACA,CACA,aACA,GACA,UACA,qBAEA,aACA,EACA,CAAY,sEAAsI,QAAkB,EAEpK,iBACA,UArBA,0BAsBA,6BAC4B,QAAiB,OAC7C,2BACA,CAAa,EAGb,UACA,mBACS,CACT,YACY,QAAa,EACzB,aACA,eACA,CAAa,EACb,GAA+B,QAAY,EAC3C,YACA,aACA,sBAAgD,QAAiB,UACjE,KACa,EACb,GAA+B,QAAW,EAC1C,KACa,EACD,QAAW,EACvB,KACA,QAA0B,sDAAwG,IAClI,IAA4B,kBAA6C,YACzE,mBACA,kDAAkF,EAAe,KACjG,mDAAmF,EAAgB,KACnG,+CAA+E,EAAY,KAC3F,gDAAgF,EAAa,IAC7F,CACA,CAAa,EACb,GAAqB,QAAY,EACjC,UACA,SACA,CAAa,EACb,GACA,aACA,aACA,CAAa,EACb,GAAgC,QAAW,EAC3C,2BACA,KACa,EACb,CACK,EACL,aACA,GHtJA,SAAa,CAAyC,EACtD,MAAwB,YAAa,IAIrC,MAHI,MGoJ0C,QHpJ1C,CAFkD,CAElC,KACpB,WACA,CAAK,EACM,CADH,EACG,UAAc,cACzB,MACA,6DACA,EACA,GACA,EG4I8C,GAC1C,EAAsB,KAC1B,mBACA,CAAK,EACL,EACA,GACA,EACA,KAN0B,EAM1B,2CACA,8CACA,+DACA,QAA8C,cAAe,GAM7D,OALI,EAAsB,KAC1B,kCAD0B,KAC1B,CACA,CAAK,EACL,EACA,EACyB,mBAAoB,QAC7C,kBACA,uCACA,OACA,KACA,8CAEA,uBACA,UACA,mCACA,qDACA,qDACA,UACA,EAAU,IAEV,MACK,CAAgB,mBAAoB,IACzC,QACA,cACA,gBACA,UACA,UACA,kBACA,CAAK,CAAgB,mBAAoB,CAAC,EAAgB,IAAM,OAAoC,EACpG,eACA,eACA,CAAK,IAC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AyB,YAAa,IACtC,EAA0B,YAAa,IACvC,EAA4B,YAAa,KACzC,EAAsC,YAAa,KACnD,ShBnCA,UAAoD,8BgBmCW,EhBnCX,OAAsE,EAC1H,kBAwBA,CAAsD,yBAAgD,EACtG,MAA8B,cAAe,IAC7C,MACA,EAAyB,YAAa,IACtC,EAAyB,EAAqB,GAW9C,MAVI,eAAgB,MACpB,SAF8C,GAE9C,IACA,KACA,YAEA,CAAK,EACL,EACA,EACA,EACA,EACA,CACA,EAxCA,CACA,cACA,UACA,CAAK,EACL,aACA,QACA,EAAyB,EAAqB,GAa9C,OACA,EAbqB,iBAAkB,KACvC,MAEA,2BADA,EACA,KACA,WACA,EAAU,QACV,CAAK,EACL,EACA,EACA,EACA,EACA,EAIA,EgBY+D,CAC/D,OACA,cACA,UACA,CAAK,EACL,EAAuB,iBAAkB,MACzC,wBACA,sCACA,EACA,CAAK,EACL,EACA,EACA,EACA,EAAwB,iBAAkB,MAC1C,wBACA,6DACA,GACA,CAAK,EACL,EACA,EACA,EACA,EAA0B,iBAAkB,WAC5C,CACA,EACA,EAOA,CAPQ,KACJ,eAAgB,KACpB,KACA,wBACA,uBACA,EACK,IACoB,mBAAoB,KAC7C,QACA,OACA,eACA,SACA,UACA,YACA,kBACA,2BACA,CAAK,CAAgB,mBAAoB,CAAC,EAAW,KACrD,EA0LA,MACA,GAxJA,IACA,IAAY,eArCyC,EAqCzC,uCAA2G,EACvH,WACA,MAAyB,mBAAoB,KAC7C,QACA,YACA,CAAK,CAAgB,mBAAoB,CAAC,GAAe,EACzD,kBACK,CAAgB,mBAAoB,CAAC,EAAa,CACvD,WACA,WACA,CAAK,KACL,EA6IA,QAjJuD,gCC5HvD,aACA,wDACA,YAAoB,mBAAsB,KAC1C,mBACA,mBAA0B,sCAC1B,CACA,QACA,EAAG,sBACH,mDCoBA,mBACA,SAmCA,OACA,eACiC,mBAAoB,KAErD,mBACA,+BACA,MAAmB,aAAc,OACjC,WAA+B,EAAU,IACzC,KACA,KACA,CACA,EAAiB,CACjB,CACA,EACA,EACA,CACA,CACA,EAEA,OADA,cACA,CAnDA,cACA,MAA0C,mBAAoB,IAC9D,WAKA,cACA,IAAoB,yBAAiD,EACrE,8BAEA,EAA0B,SAF0F,GAE1F,CAAc,OACxC,kBACA,MAAiC,mBAAoB,aACrD,OACA,CAAa,GACb,QAbA,MACA,EACA,EACA,CAkBA,2BACA,CACA,EATA,cACA,kCACA,EAA4B,gBAAiB,IAC7C,cACA,sBACA,eADqE,CACrE,EAAiC,EAAa,2BAA2B,EAAkB,IAC3F,EAKA,EAyBA,SAKA,MACA,WACA,yBACA,WACA,iBACA,aACA,sBACA,CAAa,EAEb,mBACA,mBAAiE,uBAA4C,IAK7G,MADA,IACA,WAA0D,EAAU,GACpE,OACA,KACA,KAEA,CAAa,GAAI,EACjB,MAAmB,aAAc,OACjC,WAA+B,YAAoB,IACnD,EAAiB,CACjB,CACA,EACA,CACA,CACA,EAEA,OADA,wBACA,CACA,EApCA,QACA,AACA","sources":["webpack://_N_E/../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://_N_E/../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://_N_E/../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://_N_E/../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://_N_E/../../node_modules/@radix-ui/react-popover/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-presence/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-presence/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://_N_E/../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/react-hover-card/dist/index.mjs","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/../../node_modules/@radix-ui/react-context/dist/index.mjs"],"sourcesContent":["/**\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","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","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","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 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 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 `` and `` 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 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 element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the 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