{"version":3,"file":"js/552.8ee88e96.js","mappings":"qUACIA,EAAAA,EAAAA,IAqCYC,EAAAA,EAAA,CArCDC,MAAA,GAAMC,GAAG,gBAAgBC,MAAM,oBAAoBC,IAAA,GAAIC,OAAO,Q,mBACrE,IAmCI,EAnCJC,EAAAA,EAAAA,IAmCIC,EAAAA,EAAA,M,kBAlCJ,IAQQ,EARRD,EAAAA,EAAAA,IAQQE,EAAAA,EAAA,CARDC,KAAK,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,K,mBACpC,IAMc,EANdP,EAAAA,EAAAA,IAMcQ,EAAAA,EAAA,M,kBALV,IAIQ,EAJRR,EAAAA,EAAAA,IAIQC,EAAAA,EAAA,M,kBAHJ,IAEQ,EAFRD,EAAAA,EAAAA,IAEQE,EAAAA,EAAA,CAFDC,KAAK,MAAI,C,kBACZ,IAA8G,EAA9GM,EAAAA,EAAAA,GAA8G,OAAzGC,IAAA,GAAId,GAAG,UAAUC,MAAM,OAAOc,MAAA,qBAA0BC,IAAKC,EAAQ,O,+CAK1Fb,EAAAA,EAAAA,IAEQE,EAAAA,EAAA,CAFDC,KAAK,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,OAGxCP,EAAAA,EAAAA,IAqBQE,EAAAA,EAAA,CArBDC,KAAK,KAAG,C,kBACP,IAmBQ,EAnBRH,EAAAA,EAAAA,IAmBQC,EAAAA,EAAA,M,kBAlBJ,IAiBQ,EAjBRD,EAAAA,EAAAA,IAiBQE,EAAAA,EAAA,CAjBDC,KAAK,KAAKN,MAAM,sC,mBACnB,IAeS,EAfTG,EAAAA,EAAAA,IAeSc,EAAAA,EAAA,CAdL,oBAAa,CAEIC,WAASC,EAAAA,EAAAA,KACtB,EAD0BC,WAAK,EAC/BjB,EAAAA,EAAAA,IAEQkB,EAAAA,GAFRC,EAAAA,EAAAA,IAEQ,CAFDC,KAAA,GAAKvB,MAAM,oBAA2BoB,EAAK,CAAGN,MAAK,gBAAqBU,EAAAC,WAAa,EAAH,uB,mBACrF,IAAyB,EAAzBtB,EAAAA,EAAAA,IAAyBuB,EAAAA,EAAA,M,kBAAjB,IAAQ,UAAR,e,mDAGhB,IAMS,EANTvB,EAAAA,EAAAA,IAMSwB,EAAAA,EAAA,CAND3B,MAAM,4BAA0B,C,kBACpC,IAII,EAJJY,EAAAA,EAAAA,GAII,KAJAgB,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEC,EAAAC,eAAe,mB,EAC1B7B,EAAAA,EAAAA,IAEc8B,EAAAA,EAAA,CAFAjC,MAAM,gDAA8C,C,kBAAC,IAEnE,UAFmE,uB,uEAanG,OACIkC,KAAM,oBACNd,MAAM,CACFK,WAAYU,QAEhBC,QAAQ,CACJJ,eAAeK,GACA,kBAARA,GACAC,OAAOC,KAAK,kBAEnB,I,QC9CR,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2LCAO,MAAMC,GAAyBC,EAAAA,EAAAA,GAAa,CACjDC,KAAMC,WAEHC,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,MACF,iBAOUC,GAAgBC,EAAAA,EAAAA,KAAAA,CAAuC,CAClEf,KAAM,gBAENd,MAAOsB,IAEPQ,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EAuBrB,OAtBAE,EAAAA,EAAAA,IAAU,KACR,MAAMC,KAAaF,EAAMG,SAAWH,EAAMR,MAAQxB,EAAMwB,MAExD,OAAAzC,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEW,CACL,kBACApC,EAAMpB,OACP,MACOoB,EAAMN,OAAK,CAAAyC,QAAAA,IAAA,CAEjBD,IAAOnD,EAAAA,EAAAA,IAAA,8CAEHiD,EAAMR,KAAOQ,EAAMR,OAASxB,EAAMwB,KAElCQ,EAAMG,gBAEX,IAKA,CAAC,CACV,I,0HCrBF,MAAME,EAAmB,CAAC,KAAM,YAAa,UAAW,cAAe,WAI1DC,GAAoBf,EAAAA,EAAAA,GAAa,CAC5CgB,SAAUC,QACVC,SAAUD,QACVE,MAAOjB,OACPkB,QAAS,CACPC,KAAMnB,OACNU,QAAS,UACTU,UAAYC,GAAWT,EAAiBU,SAASD,IAEnDE,SAAUR,QACVS,gBAAiB,CACfL,KAAM,CAAC7B,OAAQU,QACfU,QAAS,IAEXe,KAAMV,QACNW,SAAUX,QACV1D,OAAQ,CACN8D,KAAM,CAAC7B,OAAQU,QACfU,QAAS,IAEXiB,MAAO3B,OACP4B,MAAO5B,WAEJ6B,EAAAA,EAAAA,SACA5B,EAAAA,EAAAA,SACA6B,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACA7B,EAAAA,EAAAA,GAAa,CAAES,IAAK,eACpBqB,EAAAA,EAAAA,OACF,YAWUC,GAAW7B,EAAAA,EAAAA,KAAAA,CAAkC,CACxDf,KAAM,WAENd,MAAOsC,IAEPR,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,uBAAE4B,EAAsB,sBAAEC,IAA0BC,EAAAA,EAAAA,KAAmBC,EAAAA,EAAAA,IAAM9D,EAAO,WACpF,cAAE+D,IAAkBC,EAAAA,EAAAA,GAAUhE,IAC9B,iBAAEiE,IAAqBC,EAAAA,EAAAA,GAAalE,IACpC,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWpE,IAChC,aAAEqE,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,WAAEuE,IAAeC,EAAAA,EAAAA,MAEjBC,GAAaC,EAAAA,EAAAA,OAAc1E,EAAMgD,WAAYhB,EAAM2C,gBACnDC,GAAgBC,EAAAA,EAAAA,KAAS,IAAMC,SACnC/D,OAAOf,EAAMlB,SACM,cAAlBkB,EAAM2C,QAA0B5B,OAAOf,EAAMlB,QAAU,IACrC,gBAAlBkB,EAAM2C,QAA4B,EAAI,IACpB,YAAlB3C,EAAM2C,QAAwB,GAAK,GACnC,MACGM,GAAkB4B,EAAAA,EAAAA,KAAS,IAAMJ,EAAWM,MAC9CD,SACA/D,OAAOf,EAAMiD,kBACM,cAAlBjD,EAAM2C,QAA0B5B,OAAOf,EAAMiD,iBAAmB,IAC9C,gBAAlBjD,EAAM2C,QAA4B,EAAI,IACpB,YAAlB3C,EAAM2C,QAAwB,EAAI,GAClC,IACD,IAuHJ,OApHAqC,EAAAA,EAAAA,IAAgB,CACdC,KAAM,CACJC,QAAS,WAIbjD,EAAAA,EAAAA,IAAU,KACR,MAAMkD,KAAcnF,EAAMqD,QAASrB,EAAMqB,OACnC+B,KAAcpD,EAAMoB,QAASpD,EAAMoD,OAEnCuB,EAAY3C,EAAM2C,cAGxB,OAFAF,EAAWM,SAAW/E,EAAMgD,WAAY2B,IAExC5F,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEW,CACL,YACA,CACE,sBAAuBpC,EAAMuC,SAC7B,sBAAuBvC,EAAMyC,SAC7B,kBAAmBzC,EAAMkD,KACzB,sBAAuBlD,EAAMmD,SAC7B,CAAE,sBAAqBnD,EAAM2C,YAAY,GAE3CgB,EAAuBoB,MACvBhB,EAAcgB,MACdd,EAAiBc,MACjBZ,EAAeY,MACfV,EAAaU,MACbR,EAAWQ,MACX/E,EAAMpB,OACP,MACM,CACLgF,EAAsBmB,MACtB/E,EAAMN,QACP,CAAAyC,QAAAA,IAAA,CAECiD,IAAQrG,EAAAA,EAAAA,IAAA,8CAEHiD,EAAMoB,OAIYrE,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,gCAKLrF,EAAMoD,MAAK,SACb,CACRkC,KAAM,CACJC,OAAO,EACP5F,IAAKK,EAAMoD,SAGGpB,EAAMoB,QAhBdrE,EAAAA,EAAAA,IAAAuG,EAAAA,EAAA,8BAIJtF,EAAMoD,OAAK,SAgBxBrE,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,UAGW,CACRG,MAAO,CACL1G,QAAQ2G,EAAAA,EAAAA,IAAcb,EAAcG,UAEvC,CAAA5C,QAAAA,IAAA,EAAApD,EAAAA,EAAAA,IAAA,wCAIQ,CAAED,QAAQ2G,EAAAA,EAAAA,IAAcb,EAAcG,SAAQ,CAEnD/C,EAAM0D,UAAO3G,EAAAA,EAAAA,IAAA,oCAETiD,EAAM0D,cAIVP,IAAQpG,EAAAA,EAAAA,IAAA6C,EAAA,kBAC0B5B,EAAMqD,OAAK,CACxC7B,KAAMQ,EAAMqB,QAIjBrB,EAAMG,YAENH,EAAM2D,SAAM5G,EAAAA,EAAAA,IAAA,mCAERiD,EAAM2D,mBAEX5G,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,UAKO,CACRG,MAAO,CACL1G,QAAQ2G,EAAAA,EAAAA,IAAcxC,EAAgB8B,UAEzC,CAAA5C,QAAAA,IAAA,EAAApD,EAAAA,EAAAA,IAAA6G,EAAAA,GAAA,MAAAzD,QAAAA,IAAA,CAGGsC,EAAWM,QAAKhG,EAAAA,EAAAA,IAAA,0CAGP,CAAED,QAAQ2G,EAAAA,EAAAA,IAAcxC,EAAgB8B,SAAQ,CAErDJ,YAEL,IAOJ,CACLC,gBACA3B,kBAEJ,I,kCCnMK,MAAM4C,GAAkBtE,EAAAA,EAAAA,GAAa,CAC1CuE,aAAc,CACZlD,KAAMnB,QAERsE,gBAAiB,CACfnD,KAAM,CAACnB,OAAQV,QACfoB,QAAS,MAEV,UAMI,SAAS6D,EACdhG,GAEA,IADAiG,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEzB,MAAM,UAAEG,GAAcJ,EACtB,IAAIK,EAAiB,EACrB,MAAMC,GAASC,EAAAA,EAAAA,IAA6B,MACtCC,GAAgB/B,EAAAA,EAAAA,IAAW,GAC3BgC,GAAchC,EAAAA,EAAAA,IAAW,GACzBiC,GAAmBjC,EAAAA,EAAAA,IAAW,GAC9BkC,GAAiBlC,EAAAA,EAAAA,KAAW,GAC5BmC,GAAgBnC,EAAAA,EAAAA,KAAW,GAE3BqB,GAAkBlB,EAAAA,EAAAA,KAAS,IACxB9D,OAAOf,EAAM+F,mBAOhBe,GAAcjC,EAAAA,EAAAA,KAAS,KACpBkC,EAAAA,EAAAA,KAAQhB,EAAgBhB,MAAQ0B,EAAc1B,OAASgB,EAAgBhB,OAAU,KAGpFiC,EAAWA,KACf,MAAMC,EAAWV,EAAOxB,OAEnBkC,GAAaZ,IAAcA,EAAUtB,QAE1CuB,EAAiBG,EAAc1B,MAC/B0B,EAAc1B,MAAS,WAAYkC,EAAYA,EAASC,YAAcD,EAASE,UAE/EN,EAAc9B,MAAQ0B,EAAc1B,MAAQuB,EAC5CK,EAAiB5B,MAAQqC,KAAKC,IAAIZ,EAAc1B,MAAQgB,EAAgBhB,OAAM,EAoChF,OAjCAuC,EAAAA,EAAAA,IAAMT,GAAe,KACnBH,EAAY3B,MAAQ2B,EAAY3B,OAAS0B,EAAc1B,KAAK,KAG9DuC,EAAAA,EAAAA,IAAMV,GAAgB,KACpBF,EAAY3B,MAAQ,CAAC,KAGvBwC,EAAAA,EAAAA,KAAU,MACRD,EAAAA,EAAAA,KAAM,IAAMtH,EAAM8F,eAAcA,IAC9B,MAAM0B,EAAY1B,EAAe2B,SAASC,cAAc5B,GAAgB5E,OAEnEsG,EAKDA,IAAcjB,EAAOxB,QAEzBwB,EAAOxB,OAAO4C,oBAAoB,SAAUX,GAC5CT,EAAOxB,MAAQyC,EACfjB,EAAOxB,MAAM6C,iBAAiB,SAAUZ,EAAU,CAAEa,SAAS,MAR3DC,EAAAA,EAAAA,IAAa,4CAA2ChC,IAQU,GACnE,CAAEiC,WAAW,GAAO,KAGzBC,EAAAA,EAAAA,KAAgB,KACdzB,EAAOxB,OAAO4C,oBAAoB,SAAUX,EAAS,IAKvDX,IAAaiB,EAAAA,EAAAA,IAAMjB,EAAWW,EAAU,CAAEe,WAAW,IAE9C,CACLhC,kBACAU,gBACAE,mBACAC,iBACAE,cAKAD,gBACAH,cAEJ,C,wBCtGO,MAAMuB,GAAmB1G,EAAAA,EAAAA,GAAa,CAC3C2G,eAAgBzG,OAChB0G,WAAY,CACVvF,KAAMJ,QACNL,SAAS,GAEXiG,SAAU,CACRxF,KAAMnB,OACNU,QAAS,MACTU,UAAYkC,GAAe,CAAC,MAAO,UAAUhC,SAASgC,OAGrDzC,QACA+F,EAAAA,EAAAA,SACAxC,IAEH/G,OAAQ,CACN8D,KAAM,CAAC7B,OAAQU,QACfU,QAAS,KAEV,WAEUmG,GAAUzG,EAAAA,EAAAA,KAAAA,CAAkC,CACvDf,KAAM,UAENd,MAAOiI,IAEPM,MAAO,CACL,oBAAsBxD,IAAmB,GAG3CjD,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAMyG,GAAchC,EAAAA,EAAAA,MACdiC,GAAWC,EAAAA,EAAAA,GAAgB1I,EAAO,cAClCkI,GAAiBrD,EAAAA,EAAAA,KAAS,KAC9B,MAAM8D,EAAW,IAAIC,IAAI5I,EAAMkI,gBAAgBW,MAAM,MAAQ,IAC7D,MAAO,CACLC,KAAMH,EAASI,IAAI,QAEnBC,SAAUL,EAASI,IAAI,YACvBtG,SAAUkG,EAASI,IAAI,YACvBE,QAASN,EAASI,IAAI,WACtBG,UAAWP,EAASI,IAAI,cAEzB,IAEG1C,GAAYxB,EAAAA,EAAAA,KAAS,KACzB,MAAM8D,EAAWT,EAAenD,MAChC,OACE4D,EAASG,MAETH,EAASK,UACTL,EAASlG,UACTkG,EAASM,SACTN,EAASO,YAERT,EAAS1D,KAAK,KAGb,cACJ0B,EAAa,gBACbV,EAAe,cACfc,EAAa,YACbC,GACEd,EAAUhG,EAAO,CAAEqG,cAEjB8C,GAActE,EAAAA,EAAAA,KAAS,IAAM7E,EAAMyC,UACvCyF,EAAenD,MAAMtC,WACpByF,EAAenD,MAAMiE,SAAWlC,EAAY/B,MAAQ,EAA0B,IAAtB+B,EAAY/B,SAEjEqE,GAASvE,EAAAA,EAAAA,KAAS,IAAM7E,EAAMkD,MAClCgF,EAAenD,MAAMkE,UACpBf,EAAenD,MAAMiE,SAAWvC,EAAc1B,MAAQ,EAA4B,IAAxB0B,EAAc1B,SAErEsE,GAAUxE,EAAAA,EAAAA,KAAS,IACvBqD,EAAenD,MAAMmE,UAChBhB,EAAenD,MAAMiE,SAAW,EAAIlC,EAAY/B,MAAQ+B,EAAY/B,WACrEqB,IAEAtH,GAAS+F,EAAAA,EAAAA,KAAS,KACtB,GAAIqD,EAAenD,MAAM+D,MAAQZ,EAAenD,MAAMiE,SAAU,OAAO,EAEvE,MAAMlK,EAAS0J,EAAYzD,OAAOH,eAAiB,EAC7C3B,EAAkBuF,EAAYzD,OAAO9B,iBAAmB,EAE9D,OAAQnE,EAASmE,CAAe,KAGlCqG,EAAAA,EAAAA,IAAezE,EAAAA,EAAAA,KAAS,MAAQ7E,EAAMkI,kBAAiB,MACrDqB,EAAAA,EAAAA,KAAY,KACNrB,EAAenD,MAAM+D,KACnBZ,EAAenD,MAAMiE,SACvBP,EAAS1D,MAAQ0B,EAAc1B,MAAQgB,EAAgBhB,MAEvD0D,EAAS1D,MAAQ8B,EAAc9B,OAAU0B,EAAc1B,MAAQgB,EAAgBhB,MAGjF0D,EAAS1D,OAAQ,CACnB,GACA,IAGJ,MAAM,cAAEyE,IAAkBC,EAAAA,EAAAA,MACpB,iBAAEC,IAAqBC,EAAAA,EAAAA,IAAc,CACzChL,GAAIqB,EAAMc,KACV8I,OAAO/E,EAAAA,EAAAA,KAAS,IAAMC,SAAS9E,EAAM4J,MAAO,MAC5CC,UAAU/F,EAAAA,EAAAA,IAAM9D,EAAO,YACvB8J,WAAYhL,EACZiL,aAAarF,EAAAA,EAAAA,SAAW0B,GACxB4D,OAAQvB,EACRlG,UAAUuB,EAAAA,EAAAA,IAAM9D,EAAO,cAiCzB,OA9BAiC,EAAAA,EAAAA,IAAU,KACR,MAAMgI,EAAevG,EAASwG,YAAYlK,GAE1C,OAAAjB,EAAAA,EAAAA,IAAA2E,GAAAxD,EAAAA,EAAAA,IAAA,KAEUsI,EAAW,MACV,CACL,YACA,CACE,oBAAwC,WAAnBxI,EAAMoI,UAE7BpI,EAAMpB,OACP,MACM,CACL,IACK8K,EAAiB3E,MACpB,4BAA6BsE,EAAQtE,MACrCjG,YAAQsH,KACLoD,EAAczE,OAEnB/E,EAAMN,QAEHuK,EAAY,UACNd,EAAYpE,MAAK,KACrBqE,EAAOrE,QACJ/C,EAAK,IAKd,CAAC,CACV,G,sMCjJK,MAAMmI,GAAmB5I,EAAAA,EAAAA,GAAa,CAC3C6I,MAAO5H,QACP6H,IAAK7H,QACLrC,KAAMmK,EAAAA,GACNlH,MAAO3B,OACPD,KAAMC,WAEHC,EAAAA,EAAAA,SACA6I,EAAAA,EAAAA,SACA/G,EAAAA,EAAAA,SACAgH,EAAAA,EAAAA,SACA7I,EAAAA,EAAAA,SACA8B,EAAAA,EAAAA,UACAgH,EAAAA,EAAAA,IAAiB,CAAEvF,QAAS,UAC9B,WAEUwF,GAAU7I,EAAAA,EAAAA,KAAAA,CAAmB,CACxCf,KAAM,UAENd,MAAOmK,IAEPrI,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,aAAEsC,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,aAAE2K,EAAY,YAAEC,EAAW,eAAEC,IAAmBC,EAAAA,EAAAA,IAAW9K,IAC3D,eAAE+K,IAAmBC,EAAAA,EAAAA,GAAWhL,IAChC,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWpE,IAChC,YAAEiL,EAAW,WAAEC,IAAeC,EAAAA,EAAAA,GAAQnL,GAmC5C,OAjCAiC,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEC,CACL,WACA,CACE,kBAAmBpC,EAAMoK,MACzB,gBAAiBpK,EAAMqK,KAEzBhG,EAAaU,MACb4F,EAAa5F,MACbgG,EAAehG,MACfZ,EAAeY,MACfkG,EAAYlG,MACZ8F,EAAe9F,MACf/E,EAAMpB,OACP,MACM,CACLgM,EAAY7F,MACZmG,EAAWnG,MACX/E,EAAMN,QACP,CAAAyC,QAAAA,IAAA,CAECnC,EAAMoD,OAAKrE,EAAAA,EAAAA,IAAAuG,EAAAA,EAAA,iBACgBtF,EAAMoD,MAAK,uBACpCpD,EAAMG,MAAIpB,EAAAA,EAAAA,IAAAqM,EAAAA,EAAA,iBACkBpL,EAAMG,MAAI,MACpC6B,EAAMG,aAAenC,EAAMwB,MAG/B6J,EAAAA,EAAAA,KAAY,EAAO,iBAIlB,CAAC,CACV,G,mOC5EK,SAASC,EAAeC,EAAeC,IAC5ClE,EAAAA,EAAAA,KAAM,IAAMiE,EAAK9C,UAAU1D,QAAO0D,IAC5B8C,EAAKE,OAAO1G,OAAS0D,GAAY+C,IACnCE,EAAAA,EAAAA,KAAS,KACPF,GAAO,EAAK,GAEhB,GACC,CACDzD,WAAW,GAEf,C,oFC8BO,MAAM4D,GAAgBpK,EAAAA,EAAAA,GAAa,CACxCyI,OAAQ,CACNpH,KAAMJ,QACNL,aAASiE,GAEXwF,OAAQ,CACNhJ,KAAM,KACNT,QAAS0J,EAAAA,IAEX3I,KAAMV,QACNrC,KAAM,CAACqC,QAASf,OAAQqK,SAAUC,QAClCC,YAAa1B,EAAAA,GACb2B,WAAY3B,EAAAA,GAEZ4B,MAAO1J,QACP2J,KAAM3J,QACN4J,QAAS5J,QAET6J,OAAQ,CACNzJ,KAAM,CAACJ,QAASuJ,QAChB5J,SAAS,GAGXX,KAAMC,WAEH6B,EAAAA,EAAAA,SACA5B,EAAAA,EAAAA,SACA6I,EAAAA,EAAAA,SACA+B,EAAAA,EAAAA,SACA/I,EAAAA,EAAAA,SACAgJ,EAAAA,EAAAA,UACAC,EAAAA,EAAAA,UACAC,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACAlJ,EAAAA,EAAAA,SACAmJ,EAAAA,EAAAA,UACAnC,EAAAA,EAAAA,SACA7I,EAAAA,EAAAA,GAAa,CAAES,IAAK,eACpBqB,EAAAA,EAAAA,UACAgH,EAAAA,EAAAA,IAAiB,CAAEvF,QAAS,cAC9B,QAEUD,GAAOpD,EAAAA,EAAAA,KAAAA,CAA8B,CAChDf,KAAM,OAEN8L,WAAY,CAAEC,OAAMA,EAAAA,GAEpB7M,MAAO2L,IAEPpD,MAAO,CACL,iBAAmBuE,IAA4B,GAGjDhL,MAAO9B,EAAK+B,GAAoB,IAAlB,MAAEgL,EAAK,MAAE/K,GAAOD,EAC5B,MAAM,aAAEsC,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,cAAE+D,IAAkBC,EAAAA,EAAAA,GAAUhE,IAC9B,aAAE2K,EAAY,YAAEC,EAAW,eAAEC,IAAmBC,EAAAA,EAAAA,IAAW9K,IAC3D,eAAE+K,IAAmBC,EAAAA,EAAAA,GAAWhL,IAChC,gBAAEgN,IAAoBC,EAAAA,EAAAA,GAAajN,IACnC,iBAAEiE,IAAqBC,EAAAA,EAAAA,GAAalE,IACpC,cAAEkN,IAAkBC,EAAAA,EAAAA,IAAUnN,IAC9B,eAAEoN,IAAmBC,EAAAA,EAAAA,GAAYrN,IACjC,gBAAEsN,IAAoBC,EAAAA,EAAAA,GAAYvN,IAClC,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWpE,IAChC,YAAEiL,EAAW,WAAEC,IAAeC,EAAAA,EAAAA,GAAQnL,GACtCwN,GAAQC,EAAAA,EAAAA,IAAazN,EAAOA,EAAM4L,QAAQ,GAC1CL,GAAOmC,EAAAA,EAAAA,IAAQ1N,EAAO+M,GAEtBtE,GAAW5D,EAAAA,EAAAA,KAAS,SACHuB,IAAjBpG,EAAMgK,OACDhK,EAAMgK,OAGXuB,EAAKE,OAAO1G,MACPwG,EAAK9C,UAAU1D,MAGjByI,GAAOG,WAAW5I,QAErB6I,GAAa/I,EAAAA,EAAAA,KAAS,IAAM2I,GAAOK,SAAS9I,OAAS/E,EAAM6N,WAC3DC,GAAajJ,EAAAA,EAAAA,KAAS,IACD,aAAlB7E,EAAMkF,WAA4BlF,EAAM6N,UAAY7N,EAAMkD,MAAQlD,EAAM+N,UAE3EC,GAAYnJ,EAAAA,EAAAA,KAAS,KACzB,QAAoBuB,IAAhBpG,EAAM+E,OAA8C,kBAAhB/E,EAAM+E,MAE9C,OAAOgH,OAAO/L,EAAM+E,SAAW/E,EAAM+E,MACjCkJ,KAAKC,UAAUlO,EAAM+E,MAAO,KAAM,GAClC/E,EAAM+E,KAAK,IAGjB,SAASvE,EAAS2N,GAEdP,EAAW7I,OACVwG,EAAKE,OAAO1G,QACXoJ,EAAEC,SACFD,EAAEE,SACFF,EAAEG,UACY,IAAbH,EAAEI,QACc,WAAjBxB,EAAMxG,UAIVgF,EAAKiD,WAAWL,GAChBX,GAAOiB,SACT,CA+IA,OA7IAnD,EAAcC,EAAMiC,GAAOhC,SAE3BvJ,EAAAA,EAAAA,IAAU,KACR,MAAMyM,EAAOnD,EAAKE,OAAO1G,MAAS,IAAM/E,EAAMoC,IACxCuM,KAAgB3O,EAAMgM,cAAehK,EAAM0D,SAC3CkJ,KAAe5O,EAAMiM,aAAcjK,EAAM2D,QACzCkJ,KAAa7O,EAAMG,OAAuB,IAAfH,EAAMG,MACjC2O,EACHtB,GAAOG,WAAW5I,SAAWwG,EAAKE,OAAO1G,OAASwG,EAAK9C,UAAU1D,SAChEyI,GAASjC,EAAK9C,UAAU1D,MAG5B,OAAAgK,EAAAA,EAAAA,KAAAhQ,EAAAA,EAAAA,IAAA2P,EAAA,MAEmB,MAARA,OAActI,EAAY,SAAQ,MAClC,CACL,QACAoH,GAAOwB,cAAcjK,MACrB,CACE,gBAAiB0D,EAAS1D,MAC1B,eAAgB/E,EAAMkM,MACtB,kBAAmB0B,EAAW7I,MAC9B,kBAAmB+I,EAAW/I,MAC9B,cAAe/E,EAAMkD,KACrB,gBAAiBlD,EAAMG,KACvB,iBAAkBH,EAAMiP,QACxB,cAAejP,EAAMmM,KACrB,iBAAkBnM,EAAMoM,SAE1B/H,EAAaU,MACbhB,EAAcgB,MACd+J,EAAWnE,EAAa5F,WAAQqB,EAChC2E,EAAehG,MACfd,EAAiBc,MACjBmI,EAAcnI,MACduI,EAAgBvI,MAChBZ,EAAeY,MACfkG,EAAYlG,MACZ8F,EAAe9F,MACf/E,EAAMpB,OACP,MACM,CACLkQ,EAAWlE,EAAY7F,WAAQqB,EAC/B4G,EAAgBjI,MAChBqI,EAAerI,MACfmG,EAAWnG,MACX/E,EAAMN,OACP,SACUkO,EAAW7I,YAASqB,EAAS,KACjCmF,EAAK2D,KAAKnK,MAAK,QAMZvE,EAAO,MACTwN,EAAUjJ,OAAK,CAAA5C,QAAAA,IAAA,EAErBkJ,EAAAA,EAAAA,KAAY,EAAM,UAEjBrL,EAAMG,MAAQwO,IAAU5P,EAAAA,EAAAA,IAAA,+CAEpBiD,EAAM0D,SAGmB3G,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,kCAKZrF,EAAMgM,YAAW,SACnB,CACRZ,MAAO,CACLjL,KAAMH,EAAMgM,eAGEhK,EAAM0D,UAdZ3G,EAAAA,EAAAA,IAAAqM,EAAAA,EAAA,yBAGLpL,EAAMgM,aAAW,SAe/BjN,EAAAA,EAAAA,IAAA,yDAGKiD,EAAMG,SAAW0M,GAAO9P,EAAAA,EAAAA,IAAAqM,EAAAA,EAAA,yBAGjBpL,EAAMG,MAAI,OAAApB,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,kCAKLwJ,EAAO,SACT,CACRzD,MAAO,CACLjL,KAAMH,EAAMG,QAEf,CAAAgC,QAAAA,IAAA,CAECH,EAAMG,aAAenC,EAAMwB,WAKhCxB,EAAMG,MAAQyO,IAAS7P,EAAAA,EAAAA,IAAA,6CAEnBiD,EAAM2D,QAGkB5G,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,iCAKXrF,EAAMiM,WAAU,SAClB,CACRb,MAAO,CACLjL,KAAMH,EAAMiM,cAGEjK,EAAM2D,SAdb5G,EAAAA,EAAAA,IAAAqM,EAAAA,EAAA,wBAGJpL,EAAMiM,YAAU,UAiB3BjM,EAAMiP,UAAOlQ,EAAAA,EAAAA,IAAA,6CAEXiD,EAAMmN,aAAUpQ,EAAAA,EAAAA,IAAAqQ,EAAAA,EAAA,OAEmB,mBAAlBpP,EAAMiP,aAAwB7I,EAAYpG,EAAMiP,QAAO,iDAO7E,GAAAI,EAAAA,EAAAA,IAAA,WArFEzB,EAAW7I,OAAS/E,EAAMqM,OAC3B,OAAI,IAyFL,CAAC,CACV,G,wMCrRK,MAAMiD,GAAqB/N,EAAAA,EAAAA,GAAa,CAC7CgO,QAAS/M,YAENc,EAAAA,EAAAA,SACA5B,EAAAA,EAAAA,SACA6I,EAAAA,EAAAA,SACAhH,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACA7B,EAAAA,EAAAA,SACA8B,EAAAA,EAAAA,UACAgH,EAAAA,EAAAA,OACF,aAEU+E,GAAY3N,EAAAA,EAAAA,KAAAA,CAAmB,CAC1Cf,KAAM,YAENd,MAAOsP,IAEPxN,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,aAAEsC,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,eAAE+K,IAAmBC,EAAAA,EAAAA,GAAWhL,IAChC,cAAE+D,IAAkBC,EAAAA,EAAAA,GAAUhE,IAC9B,iBAAEiE,IAAqBC,EAAAA,EAAAA,GAAalE,IACpC,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWpE,IAEtCgF,EAAAA,EAAAA,IAAgB,CACdC,KAAM,CACJnG,OAAQ,OACR4D,OAAOoB,EAAAA,EAAAA,IAAM9D,EAAO,SACpB2C,SAASmB,EAAAA,EAAAA,IAAM9D,EAAO,WACtBkD,MAAM,EACNgC,SAASpB,EAAAA,EAAAA,IAAM9D,EAAO,eAI1BiC,EAAAA,EAAAA,IAAU,KACRlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEW,CACL,cACA,CACE,uBAAwBpC,EAAMuP,SAEhClL,EAAaU,MACbhB,EAAcgB,MACdgG,EAAehG,MACfd,EAAiBc,MACjBZ,EAAeY,MACf/E,EAAMpB,OACP,MACOoB,EAAMN,OACJsC,IAIlB,I,cCrDK,MAAM6J,EAA+C4D,OAAOC,IAAI,wBAM1DC,GAAsBpO,EAAAA,EAAAA,GAAa,IAC3C+N,QACAM,EAAAA,EAAAA,OACF,eAEuB/N,EAAAA,EAAAA,KAAAA,CAMuB,CAC/Cf,KAAM,aAENd,MAAO2P,IAEPpH,MAAO,CACL,oBAAsBxD,IAAe,GAGvCjD,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,WAAE4L,EAAU,KAAEkC,EAAI,KAAEC,EAAI,OAAEtE,EAAM,SAAEuE,IAAaC,EAAAA,EAAAA,IAAShQ,EAAO6L,GAyBrE,OAvBA5J,EAAAA,EAAAA,IAAU,KACR,MAAMgO,EAAgBT,EAAUtF,YAAYlK,GAE5C,OAAAjB,EAAAA,EAAAA,IAAAyQ,GAAAtP,EAAAA,EAAAA,IAAA,OAEW,CACL,eACAF,EAAMpB,QAEHqR,EAAa,OACVjQ,EAAMN,QAAK,CAAAyC,QAAAA,IAAA,CAEjBH,EAAMG,UAAU,CAChBwL,aACAkC,OACAC,OACAtE,SACAuE,eACA,IAKD,CACLF,OACAC,OACAtE,SAEJ,G,kGClEK,MAAM0E,GAA6B3O,EAAAA,EAAAA,GAAa,CACrD4O,SAAUpE,OACV8B,SAAUrL,QACV4N,MAAO,CAACrP,OAAQU,QAChB4O,KAAM,CAAC7N,QAASf,QAChB6O,OAAQ9N,SACP,qBAEU6C,GAAoBxD,EAAAA,EAAAA,KAAiB,EAAjBA,CAAwB,CACvDf,KAAM,oBAENd,MAAOkQ,IAEPpO,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,SAAEoO,EAAQ,SAAEtC,EAAQ,MAAEuC,EAAK,KAAEC,EAAI,OAAEC,IAAWC,EAAAA,EAAAA,IAAOvQ,GAS3D,OAPAgF,EAAAA,EAAAA,IAAgBmL,EAAU,CACxBC,QACAC,OACAC,SACAzC,aAGK,IAAM7L,EAAMG,WACrB,G,gJChBF,MAAMqO,EAAkB,KACfC,EAAAA,GAAAA,QAAmB,CAACzQ,EAAO8M,KAChC9M,EAAM8M,GAAO,CACXlK,KAAM,CAACJ,QAASf,OAAQV,QACxBoB,SAAS,GAEJnC,IACN,CAAC,GAPkB,GAUlB0Q,EAAc,KACXD,EAAAA,GAAAA,QAAmB,CAACzQ,EAAO8M,KAChC,MAAM6D,EAAa,UAAWC,EAAAA,EAAAA,IAAW9D,GAKzC,OAJA9M,EAAM2Q,GAAa,CACjB/N,KAAM,CAACnB,OAAQV,QACfoB,QAAS,MAEJnC,CAAK,GACX,CAAC,GARc,GAWd6Q,EAAa,KACVJ,EAAAA,GAAAA,QAAmB,CAACzQ,EAAO8M,KAChC,MAAMgE,EAAY,SAAUF,EAAAA,EAAAA,IAAW9D,GAKvC,OAJA9M,EAAM8Q,GAAY,CAChBlO,KAAM,CAACnB,OAAQV,QACfoB,QAAS,MAEJnC,CAAK,GACX,CAAC,GARa,GAWb+Q,EAAU,CACdC,IAAKjF,OAAOkF,KAAKT,GACjBU,OAAQnF,OAAOkF,KAAKP,GACpB9G,MAAOmC,OAAOkF,KAAKJ,IAGrB,SAASM,EAAiBvO,EAA4BwO,EAActE,GAClE,IAAIuE,EAAoBzO,EACxB,GAAW,MAAPkK,IAAuB,IAARA,EAAnB,CAGA,GAAIsE,EAAM,CACR,MAAME,EAAaF,EAAKG,QAAQ3O,EAAM,IACtCyO,GAAc,IAAGC,GACnB,CAOA,MANa,QAAT1O,IACFyO,EAAY,KAAOA,GAKR,QAATzO,GAA2B,KAARkK,IAAsB,IAARA,GAKrCuE,GAAc,IAAGvE,IACVuE,EAAUG,eAJRH,EAAUG,aAbnB,CAkBF,CAEA,MAAMC,EAAoB,CAAC,OAAQ,QAAS,MAAO,SAAU,WAAY,WAE5DC,GAAgBnQ,EAAAA,EAAAA,GAAa,CACxCrC,KAAM,CACJ0D,KAAM,CAACJ,QAASf,OAAQV,QACxBoB,SAAS,MAERqO,EACHU,OAAQ,CACNtO,KAAM,CAACnB,OAAQV,QACfoB,QAAS,SAERuO,EACH9G,MAAO,CACLhH,KAAM,CAACnB,OAAQV,QACfoB,QAAS,SAER0O,EACHc,UAAW,CACT/O,KAAMnB,OACNU,QAAS,KACTU,UAAY+O,GAAaH,EAAkB1O,SAAS6O,QAGnDlQ,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,MACF,QAEUkQ,GAAOhQ,EAAAA,EAAAA,KAAAA,CAAmB,CACrCf,KAAM,OAENd,MAAO0R,IAEP5P,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM+P,GAAUjN,EAAAA,EAAAA,KAAS,KACvB,MAAMkN,EAAmB,GAGzB,IAAInP,EACJ,IAAKA,KAAQmO,EACXA,EAAQnO,GAAMoP,SAAQZ,IACpB,MAAMrM,EAAoC/E,EAAcoR,GAClDC,EAAYF,EAAgBvO,EAAMwO,EAAMrM,GAC1CsM,GAAWU,EAAWE,KAAKZ,EAAU,IAI7C,MAAMa,EAAgBH,EAAUI,MAAKd,GAAaA,EAAUe,WAAW,YAWvE,OATAL,EAAUE,KAAK,CAEb,SAAUC,IAAkBlS,EAAMd,KAClC,CAAE,SAAQc,EAAMd,QAASc,EAAMd,KAC/B,CAAE,UAASc,EAAMkR,UAAWlR,EAAMkR,OAClC,CAAE,SAAQlR,EAAM4J,SAAU5J,EAAM4J,MAChC,CAAE,cAAa5J,EAAM2R,aAAc3R,EAAM2R,YAGpCI,CAAS,IAGlB,MAAO,KAAMM,EAAAA,EAAAA,GAAErS,EAAMoC,IAAK,CACxBxD,MAAO,CACLkT,EAAQ/M,MACR/E,EAAMpB,OAERc,MAAOM,EAAMN,OACZsC,EAAMG,YACX,G,2IC1IK,MAAMmQ,GAAsB/Q,EAAAA,EAAAA,GAAa,CAC9CgR,MAAO,CACL3P,KAAMJ,QACNL,SAAS,OAGRT,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,MACF,cAEU6Q,GAAa3Q,EAAAA,EAAAA,KAAAA,CAAmB,CAC3Cf,KAAM,aAENd,MAAOsS,IAEPxQ,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,WAAEwC,IAAeC,EAAAA,EAAAA,MAevB,OAbAvC,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEC,CACL,cACA,CAAE,qBAAsBpC,EAAMuS,OAC9BhO,EAAWQ,MACX/E,EAAMpB,OACP,MACOoB,EAAMN,OACJsC,KAIP,CAAC,CACV,G,gJC3BF,MAAMyQ,EAAY,CAAC,QAAS,MAAO,UAM7BC,EAAQ,CAAC,gBAAiB,eAAgB,gBAEhD,SAASC,EAGNC,EAAgBC,GACjB,OAAOpC,EAAAA,GAAAA,QAAmB,CAACzQ,EAAO8M,KAChC,MAAMgG,EAAYF,GAAShC,EAAAA,EAAAA,IAAW9D,GAEtC,OADA9M,EAAM8S,GAAaD,IACZ7S,CAAK,GACX,CAAC,EACN,CAEA,MAAM+S,EAAe,IAAIN,EAAW,WAAY,WAE1CO,EAAkBpB,GAAamB,EAAahQ,SAAS6O,GACrDqB,EAAaN,EAA0C,SAAS,KAAM,CAC1E/P,KAAMnB,OACNU,QAAS,KACTU,UAAWmQ,MAGPE,EAAiB,IAAIT,KAAcC,GAEnCS,EAAoBvB,GAAasB,EAAenQ,SAAS6O,GACzDwB,EAAeT,EAA8C,WAAW,KAAM,CAClF/P,KAAMnB,OACNU,QAAS,KACTU,UAAWsQ,MAGPE,EAAuB,IAAIZ,KAAcC,EAAO,WAEhDY,EAAyB1B,GAAayB,EAAqBtQ,SAAS6O,GACpE2B,EAAoBZ,EAAwD,gBAAgB,KAAM,CACtG/P,KAAMnB,OACNU,QAAS,KACTU,UAAWyQ,MAGPvC,EAAU,CACdyC,MAAOzH,OAAOkF,KAAKgC,GACnBQ,QAAS1H,OAAOkF,KAAKmC,GACrBM,aAAc3H,OAAOkF,KAAKsC,IAGtBI,EAAW,CACfH,MAAO,QACPC,QAAS,UACTC,aAAc,iBAGhB,SAASvC,EAAiBvO,EAA4BwO,EAActE,GAClE,IAAIuE,EAAYsC,EAAS/Q,GACzB,GAAW,MAAPkK,EAAJ,CAGA,GAAIsE,EAAM,CAER,MAAME,EAAaF,EAAKG,QAAQ3O,EAAM,IACtCyO,GAAc,IAAGC,GACnB,CAGA,OADAD,GAAc,IAAGvE,IACVuE,EAAUG,aARjB,CASF,CAEO,MAAMoC,GAAgBrS,EAAAA,EAAAA,GAAa,CACxCsS,MAAOrR,QACPsR,UAAWtR,QACXgR,MAAO,CACL5Q,KAAMnB,OACNU,QAAS,KACTU,UAAWmQ,MAEVC,EACHQ,QAAS,CACP7Q,KAAMnB,OACNU,QAAS,KACTU,UAAWsQ,MAEVC,EACHM,aAAc,CACZ9Q,KAAMnB,OACNU,QAAS,KACTU,UAAWyQ,MAGVC,MACA7R,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,MACF,QAEUoS,GAAOlS,EAAAA,EAAAA,KAAAA,CAAmB,CACrCf,KAAM,OAENd,MAAO4T,IAEP9R,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM+P,GAAUjN,EAAAA,EAAAA,KAAS,KACvB,MAAMkN,EAAmB,GAGzB,IAAInP,EACJ,IAAKA,KAAQmO,EACXA,EAAQnO,GAAMoP,SAAQZ,IACpB,MAAMrM,EAAiB/E,EAAcoR,GAC/BC,EAAYF,EAAgBvO,EAAMwO,EAAMrM,GAC1CsM,GAAWU,EAAWE,KAAKZ,EAAU,IAY7C,OARAU,EAAUE,KAAK,CACb,oBAAqBjS,EAAM8T,UAC3B,eAAgB9T,EAAM6T,MACtB,CAAE,SAAQ7T,EAAMwT,SAAUxT,EAAMwT,MAChC,CAAE,WAAUxT,EAAMyT,WAAYzT,EAAMyT,QACpC,CAAE,iBAAgBzT,EAAM0T,gBAAiB1T,EAAM0T,eAG1C3B,CAAS,IAGlB,MAAO,KAAMM,EAAAA,EAAAA,GAAErS,EAAMoC,IAAK,CACxBxD,MAAO,CACL,QACAkT,EAAQ/M,MACR/E,EAAMpB,OAERc,MAAOM,EAAMN,OACZsC,EAAMG,YACX,G,kLC1IK,MAAM6R,GAAiBzS,EAAAA,EAAAA,GAAa,CACzCmB,MAAOjB,OACP2I,MAAO5H,QACP6H,IAAK7H,QACLrC,KAAMmK,EAAAA,OAEH5I,EAAAA,EAAAA,SACA8I,EAAAA,EAAAA,SACA7I,EAAAA,EAAAA,GAAa,CAAES,IAAK,UACpBqB,EAAAA,EAAAA,OACF,SAEU2H,GAAQvJ,EAAAA,EAAAA,KAAAA,CAAmB,CACtCf,KAAM,QAENd,MAAOgU,IAEPlS,MAAO9B,EAAK+B,GAAoB,IAAlB,MAAEgL,EAAK,MAAE/K,GAAOD,EAC5B,MAAMkS,GAAWzN,EAAAA,EAAAA,OAEX,aAAEnC,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,SAAEkU,IAAaC,EAAAA,EAAAA,KAAQtP,EAAAA,EAAAA,KAAS,IAAMoP,EAASlP,OAAS/E,EAAMG,SAC9D,YAAE8K,IAAgBE,EAAAA,EAAAA,GAAQnL,IAC1B,iBAAEoU,EAAgB,gBAAEC,IAAoBC,EAAAA,EAAAA,KAAaxQ,EAAAA,EAAAA,IAAM9D,EAAO,UA4CxE,OA1CAiC,EAAAA,EAAAA,IAAU,KACR,MAAMsS,EAAYvS,EAAMG,YAOxB,OANIoS,IACFN,EAASlP,OAAQyP,EAAAA,EAAAA,IAAiBD,GAAWE,QAAOC,GAClDA,EAAK9R,OAAS+R,EAAAA,IAAQD,EAAKE,UAAqC,kBAAlBF,EAAKE,WACnD,IAAIA,WAGR7V,EAAAA,EAAAA,IAAAmV,EAAAnP,MAAA8P,UAAA,KAEU7U,EAAMoC,IAAG,KACR8R,EAASnP,MAAM5E,KAAI,MACnB,CACL,SACA,cACAkE,EAAaU,MACbkG,EAAYlG,MACZqP,EAAiBrP,MACjB,CACE,sBAAuBgI,EAAMvM,QAC7B,gBAAiBR,EAAMoK,MACvB,cAAepK,EAAMqK,KAEvBrK,EAAMpB,OACP,MACM,CACJqM,EAAYlG,WAIRqB,EAJiB,CACpB0O,UAAUrP,EAAAA,EAAAA,IAAczF,EAAM+U,MAC9BjW,QAAQ2G,EAAAA,EAAAA,IAAczF,EAAM+U,MAC5BC,OAAOvP,EAAAA,EAAAA,IAAczF,EAAM+U,OAE7BV,EAAgBtP,MAChB/E,EAAMN,OACP,KACMqN,EAAMvM,QAAU,cAAW4F,EAAS,eAC5B2G,EAAMvM,SAAO,CAAA2B,QAAAA,IAAA,CAE1BoS,IAAS,IAKV,CAAC,CACV,G,uHCnEK,SAASU,EAAiBjV,GAC/B,MAAO,CACLkV,cAAcrQ,EAAAA,EAAAA,KAAS,KACrB,MAAMsQ,EAAQpU,OAAOf,EAAMoV,aAE3B,OAAOD,EACH,CAAEE,cAAe5T,OAAO,EAAI0T,EAAQ,KAAO,UAC3C/O,CAAS,IAGnB,CAEO,MAAMkP,GAAuB/T,EAAAA,EAAAA,GAAa,CAC/C6T,YAAa,CAAC3T,OAAQV,QACtBwU,aAAc9T,OACd+T,OAAQhT,YAELd,EAAAA,EAAAA,SACA4K,EAAAA,EAAAA,MACF,eAEUmJ,GAAc5T,EAAAA,EAAAA,KAAAA,CAAqC,CAC9Df,KAAM,cAENd,MAAOsV,IAEPxT,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,aAAEmT,GAAiBD,EAAgBjV,IACnC,gBAAEgN,IAAoBC,EAAAA,EAAAA,GAAajN,GAwBzC,OAtBAiC,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAC,MAAD,OAEC,CACL,eACA,CAAE,uBAAwBiB,EAAMwV,QAChCxV,EAAMpB,OACP,MACM,CACLoO,EAAgBjI,MAChB/E,EAAMN,QACP,EAAAX,EAAAA,EAAAA,IAAA,yCAEwCmW,EAAanQ,OAAK,MAEzD/C,EAAM0T,eAEN1T,EAAMG,UAAOpD,EAAAA,EAAAA,IAAA,aACD,CAAC,wBAAyBiB,EAAMuV,eAAa,CAAIvT,EAAMG,gBAKlE,CAAC,CACV,I,wBC/CF,SAASwT,EAASC,EAAiBC,GACjC,IAAKC,EAAAA,GAAuB,OAE5B,MAAMC,EAAYF,EAAQE,WAAa,CAAC,EAClChR,EAAQ8Q,EAAQ9Q,OAChB,QAAEiR,EAAO,QAAEC,GAA6B,kBAAVlR,EAChCA,EACA,CAAEiR,QAASjR,EAAOkR,QAAS,CAAC,GAE1BC,EAAW,IAAIC,sBAAqB,WAGrC,IAFHC,EAAoClQ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACvCgQ,EAA8BhQ,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAE9B,MAAMiQ,EAAWT,EAAGS,WAAWR,EAAQS,SAAUC,EAAEC,KACnD,IAAKH,EAAU,OAEf,MAAMI,EAAiBL,EAAQjE,MAAKuE,GAASA,EAAMD,kBAKjDT,GACGD,EAAUY,QACXN,EAASO,MAERb,EAAUc,OACXJ,IACAJ,EAASO,MAGXZ,EAAQS,EAAgBL,EAASF,GAG/BO,GAAkBV,EAAUc,KAAMC,EAAUlB,EAAIC,GAC/CQ,EAASO,MAAO,CACvB,GAAGX,GAEHL,EAAGS,SAAWtK,OAAO6J,EAAGS,UACxBT,EAAGS,SAAUR,EAAQS,SAAUC,EAAEC,KAAO,CAAEI,MAAM,EAAOV,YAEvDA,EAASa,QAAQnB,EACnB,CAEA,SAASkB,EAAWlB,EAAiBC,GACnC,MAAMkB,EAAUnB,EAAGS,WAAWR,EAAQS,SAAUC,EAAEC,KAC7CO,IAELA,EAAQb,SAASc,UAAUpB,UACpBA,EAAGS,SAAUR,EAAQS,SAAUC,EAAEC,KAC1C,CAEO,MAAMS,EAAY,CACvBtB,UACAmB,aAGF,Q,uCC1BO,MAAMI,GAAgB3V,EAAAA,EAAAA,GAAa,CACxC4V,IAAK1V,OACL8D,MAAO/C,QACP4U,UAAW,CACTxU,KAAM,CAACJ,QAASf,QAChBU,aAASiE,GAEXiR,MAAO7U,QACP8U,SAAU7V,OACV8V,QAAS9V,OACTwU,QAAS,CACPrT,KAAMmJ,OAGN5J,QAASA,KAAA,CACPkO,UAAMjK,EACNoR,gBAAYpR,EACZqR,eAAWrR,KAGfsR,MAAOjW,OACP9B,IAAK,CACHiD,KAAM,CAACnB,OAAQsK,QACf5J,QAAS,IAEXwV,YAAalW,OACbmW,eAAgBnW,OAUhBoW,OAAQpW,OACRoI,SAAUpI,UAEP6T,QACA5T,EAAAA,EAAAA,SACAoW,EAAAA,EAAAA,MACF,QAEUxS,GAAOzD,EAAAA,EAAAA,KAAAA,CAA8B,CAChDf,KAAM,OAEN8L,WAAY,CAAEmL,UAASA,GAEvB/X,MAAOkX,IAEP3O,MAAO,CACLyP,UAAYjT,IAA8B,EAC1CkT,KAAOlT,IAA8B,EACrCmT,MAAQnT,IAA8B,GAGxCjD,MAAO9B,EAAK+B,GAAmB,IAAjB,KAAEoW,EAAI,MAAEnW,GAAOD,EAC3B,MAAMqW,GAAKC,EAAAA,EAAAA,IAAmB,QAExBC,GAAa5T,EAAAA,EAAAA,IAAW,IACxBtB,GAAQoD,EAAAA,EAAAA,MACR+R,GAAQ7T,EAAAA,EAAAA,IAAoD1E,EAAMqX,MAAQ,UAAY,QACtFmB,GAAe9T,EAAAA,EAAAA,MACf+T,GAAgB/T,EAAAA,EAAAA,MAEhBgU,GAAgB7T,EAAAA,EAAAA,KAAoB,IACjC7E,EAAML,KAA4B,kBAAdK,EAAML,IAC7B,CACAA,IAAKK,EAAML,IAAIA,IACfkY,OAAQ7X,EAAM6X,QAAU7X,EAAML,IAAIkY,OAClCN,QAASvX,EAAMuX,SAAWvX,EAAML,IAAI4X,QACpCoB,OAAQ5X,OAAOf,EAAMoV,aAAepV,EAAML,IAAIgZ,QAAU,IACtD,CACFhZ,IAAKK,EAAML,IACXkY,OAAQ7X,EAAM6X,OACdN,QAASvX,EAAMuX,QACfoB,OAAQ5X,OAAOf,EAAMoV,aAAe,MAGpCA,GAAcvQ,EAAAA,EAAAA,KAAS,IACpB6T,EAAc3T,MAAM4T,QAAUH,EAAazT,MAAS0T,EAAc1T,OAAU,IAgBrF,SAAS6R,EAAMH,GACb,KAAIzW,EAAMqX,QAASZ,MAEjBX,EAAAA,IACCW,GACAzW,EAAMqX,OAHT,CAQA,GAFAkB,EAAMxT,MAAQ,UAEV2T,EAAc3T,MAAMwS,QAAS,CAC/B,MAAMqB,EAAU,IAAIC,MACpBD,EAAQjZ,IAAM+Y,EAAc3T,MAAMwS,QAClCuB,EAAYF,EAAS,KACvB,CAEKF,EAAc3T,MAAMpF,MAEzB+L,EAAAA,EAAAA,KAAS,KACPyM,EAAK,YAAa/U,EAAM2B,OAAOuT,YAAcI,EAAc3T,MAAMpF,KAEjEoZ,YAAW,KACT,IAAIX,EAAGY,YAEP,GAAI5V,EAAM2B,OAAOkU,SAAU,CAKzB,GAJK7V,EAAM2B,MAAMyT,cACfU,IAGkB,UAAhBX,EAAMxT,MAAmB,OAExBqQ,EAAYrQ,OAAO+T,EAAY1V,EAAM2B,MAAO,MAC7B,YAAhBwT,EAAMxT,OAAqBoU,GACjC,MACO/D,EAAYrQ,OAAO+T,EAAY1V,EAAM2B,OAC1CqU,GACF,GACA,GA/BI,CAiCV,CAEA,SAASD,IACHf,EAAGY,cAEPI,IACAN,EAAY1V,EAAM2B,OAClBwT,EAAMxT,MAAQ,SACdoT,EAAK,OAAQ/U,EAAM2B,OAAOuT,YAAcI,EAAc3T,MAAMpF,KAC9D,CAEA,SAASuZ,IACHd,EAAGY,cAEPT,EAAMxT,MAAQ,QACdoT,EAAK,QAAS/U,EAAM2B,OAAOuT,YAAcI,EAAc3T,MAAMpF,KAC/D,CAEA,SAASyZ,IACP,MAAMC,EAAMjW,EAAM2B,MACdsU,IAAKf,EAAWvT,MAAQsU,EAAIf,YAAce,EAAI1Z,IACpD,EAzEA2H,EAAAA,EAAAA,KAAM,IAAMtH,EAAML,MAAK,KACrBiX,EAAqB,SAAhB2B,EAAMxT,MAAiB,KAE9BuC,EAAAA,EAAAA,IAAM8N,GAAa,CAACtI,EAAKwM,MAClBxM,GAAOwM,GAAUlW,EAAM2B,OAC1B+T,EAAY1V,EAAM2B,MACpB,KAKFwU,EAAAA,EAAAA,KAAc,IAAM3C,MAgEpB,IAAI4C,GAAS,EAMb,SAASV,EAAaO,GAAqD,IAA9BI,EAAsBvT,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IACpE,MAAMwT,EAAOA,KAEX,GADAC,aAAaH,GACTpB,EAAGY,YAAa,OAEpB,MAAQP,cAAemB,EAAWpB,aAAcqB,GAAaR,EAEzDO,GAAaC,GACfrB,EAAazT,MAAQ8U,EACrBpB,EAAc1T,MAAQ6U,GACZP,EAAIJ,UAA4B,YAAhBV,EAAMxT,OAAkC,MAAX0U,GAE9CJ,EAAIf,WAAWwB,SAAS,SAAWT,EAAIf,WAAWlG,WAAW,yBACtEoG,EAAazT,MAAQ,EACrB0T,EAAc1T,MAAQ,GAHtByU,EAAQtY,OAAO6X,WAAWW,EAAMD,EAIlC,EAGFC,GACF,EAvBA1R,EAAAA,EAAAA,KAAgB,KACd2R,aAAaH,EAAM,IAwBrB,MAAMO,GAAiBlV,EAAAA,EAAAA,KAAS,KAAM,CACpC,oBAAqB7E,EAAMuF,MAC3B,uBAAwBvF,EAAMuF,UAG1ByU,EAAUA,KACd,IAAKtB,EAAc3T,MAAMpF,KAAuB,SAAhB4Y,EAAMxT,MAAkB,OAAO,KAE/D,MAAMsU,GAAGta,EAAAA,EAAAA,IAAA,aAEE,CAAC,aAAcgb,EAAehV,OAAM,MACpC,CAAEkV,eAAgBja,EAAM6J,UAAU,IACnC6O,EAAc3T,MAAMpF,IAAG,OACpB+Y,EAAc3T,MAAM8S,OAAM,IAC7B7X,EAAMmX,IAAG,YACDnX,EAAM2X,YAAW,eACd3X,EAAM4X,eAAc,UACzB5X,EAAMoX,UAAS,MACnBpX,EAAM0X,MAAK,IACbtU,EAAK,OACF+V,EAAM,QACLD,GAAO,MAIfgB,EAAUlY,EAAMkY,YAEtB,OAAAnb,EAAAA,EAAAA,IAAAob,EAAAA,EAAA,YACgCna,EAAMoa,WAAU,YAAAjY,QAAAA,IAAA,EAE1CkY,EAAAA,EAAAA,IACEH,GAAOnb,EAAAA,EAAAA,IAAA,oCAC+Bmb,EAAWb,IAC7CA,EACJ,CAAC,CAACiB,EAAAA,GAAuB,WAAhB/B,EAAMxT,WAChB,EAMHwV,EAAiBA,KAAAxb,EAAAA,EAAAA,IAAAob,EAAAA,EAAA,YACSna,EAAMoa,YAAU,CAAAjY,QAAAA,IAAA,CAC1CuW,EAAc3T,MAAMwS,SAA2B,WAAhBgB,EAAMxT,QAAkBhG,EAAAA,EAAAA,IAAA,aAE9C,CAAC,aAAc,sBAAuBgb,EAAehV,OAAM,MAC3D,CAAEkV,eAAgBja,EAAM6J,UAAU,IACnC6O,EAAc3T,MAAMwS,QAAO,IAC3BvX,EAAMmX,IAAG,YACDnX,EAAM2X,YAAW,eACd3X,EAAM4X,eAAc,UACzB5X,EAAMoX,WAAS,SAM7BoD,EAAgBA,IACfxY,EAAMyY,aAEX1b,EAAAA,EAAAA,IAAAob,EAAAA,EAAA,YACgCna,EAAMoa,WAAU,YAAAjY,QAAAA,IAAA,EACzB,YAAhBoW,EAAMxT,OAAwC,UAAhBwT,EAAMxT,QAAsB/C,EAAMkW,SAAMnZ,EAAAA,EAAAA,IAAA,oCACvCiD,EAAMyY,mBALb,KAW3BC,EAAUA,IACT1Y,EAAMkW,OAEXnZ,EAAAA,EAAAA,IAAAob,EAAAA,EAAA,YACgCna,EAAMoa,WAAU,YAAAjY,QAAAA,IAAA,CAC1B,UAAhBoW,EAAMxT,QAAiBhG,EAAAA,EAAAA,IAAA,8BACKiD,EAAMkW,aALf,KAWrByC,EAAaA,IACZ3a,EAAMsX,UAEXvY,EAAAA,EAAAA,IAAA,qCAA2C,CAAE6b,gBAAkB,mBAAkB5a,EAAMsX,cAAa,MAFxE,KAKxBuD,GAAWnW,EAAAA,EAAAA,KAAW,GAC5B,CACE,MAAMoW,GAAOxT,EAAAA,EAAAA,IAAM8N,GAAatI,IAC1BA,IAEFiO,uBAAsB,KACpBA,uBAAsB,KACpBF,EAAS9V,OAAQ,CAAI,GACrB,IAEJ+V,IACF,GAEJ,CAsCA,OApCA7Y,EAAAA,EAAAA,IAAU,KACR,MAAM+Y,EAAkBvF,EAAYvL,YAAYlK,GAChD,OAAA+O,EAAAA,EAAAA,KAAAhQ,EAAAA,EAAAA,IAAA0W,GAAAvV,EAAAA,EAAAA,IAAA,OAEW,CACL,QACA,CAAE,kBAAmB2a,EAAS9V,OAC9B/E,EAAMpB,OACP,MACM,CACL,CAAEoW,OAAOvP,EAAAA,EAAAA,IAA8B,SAAhBzF,EAAMgV,MAAmBwD,EAAazT,MAAQ/E,EAAMgV,QAC3EhV,EAAMN,QAEHsb,EAAe,aACN5F,EAAYrQ,MAAK,aAClB/E,EAAMmX,IAAG,KACfnX,EAAMmX,IAAM,WAAQ/Q,IAAS,CAMpCsP,WAAYA,KAAA3W,EAAAA,EAAAA,IAAAkc,EAAAA,GAAA,OAAAlc,EAAAA,EAAAA,IAAAib,EAAA,YAAAjb,EAAAA,EAAAA,IAAAwb,EAAA,YAAAxb,EAAAA,EAAAA,IAAA4b,EAAA,YAAA5b,EAAAA,EAAAA,IAAAyb,EAAA,YAAAzb,EAAAA,EAAAA,IAAA2b,EAAA,aASZvY,QAASH,EAAMG,UAAO,GAAAkN,EAAAA,EAAAA,IAAA,aAdR,CACZ2G,QAASY,EACTX,QAASjW,EAAMiW,SACd,KAAM,CAAFY,MAAA,SAgBN,CACLyB,aACAlV,QACAmV,QACAC,eACAC,gBAEJ,G,uNCzWF,MAAMyC,GAAsBC,EAAAA,EAAAA,IAAgB,CAC1Cra,KAAM,sBAENgB,MAAOsZ,EAACrZ,GAAa,IAAX,MAAEC,GAAOD,EAGjB,OAFAsZ,EAAAA,EAAAA,MAEO,IAAMrZ,EAAMG,WACrB,IAGWmZ,GAAsB/Z,EAAAA,EAAAA,GAAa,CAE9Cga,YAAa9Z,OACb+Z,UAAW/Z,OACXiB,MAAOjB,OACPga,aAAc,CACZ7Y,KAAM0H,EAAAA,GACNnI,QAAS,aAEXuZ,WAAY,CACV9Y,KAAM0H,EAAAA,GACNnI,QAAS,WAEX6J,YAAa1B,EAAAA,GACb2B,WAAY3B,EAAAA,GACZiI,MAAO/P,QACPmZ,SAAUnZ,QACVa,MAAO5B,OACPsD,MAAO,SAEJrD,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,MACF,cAEUia,GAAa/Z,EAAAA,EAAAA,KAAAA,CAAoC,CAC5Df,KAAM,aAENd,MAAOsb,IAEPxZ,MAAO9B,EAAK6b,GAAa,IAAX,MAAE7Z,GAAO6Z,EACrB,MAAM,OAAEC,EAAM,KAAE3a,EAAMxC,GAAIod,IAAQC,EAAAA,EAAAA,KAAclY,EAAAA,EAAAA,IAAM9D,EAAO,UAAU,GACjErB,GAAKkG,EAAAA,EAAAA,KAAS,IAAO,oBAAmBpD,OAAOsa,EAAIhX,WACnDkX,GAAOC,EAAAA,EAAAA,OACP,SAAErB,IAAapR,EAAAA,EAAAA,KAErB,SAASjJ,EAAS2N,GAChBhN,GAAM2a,EAAO/W,MAAOoJ,EACtB,CAEA,MAAMgO,GAAiBtX,EAAAA,EAAAA,KAAS,KAAM,CACpCrE,UACA5B,MAAO,uBACPD,GAAIA,EAAGoG,UAGHqX,GAAavX,EAAAA,EAAAA,KAAS,IAAMiX,EAAO/W,MAAQ/E,EAAMyb,aAAezb,EAAM0b,aACtEW,GAAoBxX,EAAAA,EAAAA,KAAS,KAAM,CACvCyX,UAAW,CACTtS,OAAQ8R,EAAO/W,MACfwW,YAAavb,EAAMub,YACnBC,UAAWxb,EAAMwb,UACjB9Y,MAAO1C,EAAM0C,MACbsJ,YAAahM,EAAMgM,aAAgBhM,EAAM2b,UAAYS,EAAWrX,MAChEkH,WAAYjM,EAAMiM,aAAgBjM,EAAM2b,UAAYS,EAAWrX,MAC/D1B,MAAOrD,EAAMqD,MACb0B,MAAO/E,EAAM+E,WAkCjB,OA9BA9C,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEC,CACL,eACA,CACE,wBAAyB6Z,GAAMtN,WAAW5J,MAC1C,sBAAuB/E,EAAMuS,MAC7B,yBAA0BvS,EAAM2b,SAChC,qBAAsBG,EAAO/W,OAE/B/E,EAAMpB,OACP,MACOoB,EAAMN,OAAK,CAAAyC,QAAAA,IAAA,CAEjBH,EAAMlC,YAASf,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,UACegX,EAAkBtX,OAAK,CAAA5C,QAAAA,IAAA,EAAApD,EAAAA,EAAAA,IAAAmc,EAAA,MAAA/Y,QAAAA,IAAA,CAE/CH,EAAMlC,UAAU,CAAEE,MAAOmc,EAAepX,MAAO+W,OAAQA,EAAO/W,eAGrEhG,EAAAA,EAAAA,IAAAob,EAAAA,EAAA,YAE4B,CAAEtF,UAAWjP,EAAAA,IAAmB,UAAciV,EAAS9V,OAAK,CAAA5C,QAAAA,IAAA,EAAA4M,EAAAA,EAAAA,KAAAhQ,EAAAA,EAAAA,IAAA,kEACvBJ,EAAGoG,OAAK,CACpE/C,EAAMG,cAAW,EAAAoa,EAAAA,GAD+DT,EAAO/W,iBAO1F,CAAC,CACV,I,wBCjHK,MAAMyX,GAA0Bjb,EAAAA,EAAAA,GAAa,CAClDmB,MAAOjB,OACPgb,MAAOja,QACPka,OAAQla,QACRa,MAAO5B,WAEJC,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,MACF,kBAEUgb,GAAiB9a,EAAAA,EAAAA,KAAAA,CAAmB,CAC/Cf,KAAM,iBAENd,MAAOwc,IAEP1a,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,iBAAEqS,EAAgB,gBAAEC,IAAoBC,EAAAA,EAAAA,KAAaxQ,EAAAA,EAAAA,IAAM9D,EAAO,UA8BxE,OA5BAiC,EAAAA,EAAAA,IAAU,KACR,MAAMC,KAAaF,EAAMG,UAAWnC,EAAMqD,OAE1C,OAAAtE,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEW,CACL,mBACA,CACE,0BAA2BpC,EAAMyc,MACjC,2BAA4Bzc,EAAM0c,QAEpCtI,EAAiBrP,MACjB/E,EAAMpB,OACP,MACM,CACL,CAAEyV,mBACFrU,EAAMN,QACP,CAAAyC,QAAAA,IAAA,CAECD,IAAOnD,EAAAA,EAAAA,IAAA,wCAEHiD,EAAMG,aAAenC,EAAMqD,UAEhC,IAKA,CAAC,CACV,I,uBCzCK,MAAMuZ,GAAoBrb,EAAAA,EAAAA,GAAa,CAC5CmB,MAAOjB,OACPgb,MAAOja,QACP2D,OAAQ,CAACpF,OAAQU,QACjBob,UAAW,CAAC9b,OAAQU,QACpBqb,SAAUta,YAEPd,EAAAA,EAAAA,SACA+B,EAAAA,EAAAA,OACF,YAEUsZ,GAAWlb,EAAAA,EAAAA,KAAAA,CAAmB,CACzCf,KAAM,WAENd,MAAO4c,IAEP9a,MAAO9B,EAAK+B,GAAa,IAAX,MAAEgL,GAAOhL,EACrB,MAAM,aAAEsC,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,iBAAEoU,EAAgB,gBAAEC,IAAoBC,EAAAA,EAAAA,KAAaxQ,EAAAA,EAAAA,IAAM9D,EAAO,UAClEgd,GAAgBnY,EAAAA,EAAAA,KAAS,KAC7B,MAAMoY,EAAwB,CAAC,EAU/B,OARIjd,EAAMmG,SACR8W,EAAOjd,EAAM8c,SAAW,YAAc,aAAcrX,EAAAA,EAAAA,IAAczF,EAAMmG,SAGtEnG,EAAM6c,YACRI,EAAOjd,EAAM8c,SAAW,mBAAqB,mBAAoBrX,EAAAA,EAAAA,IAAczF,EAAM6c,YAGhFI,CAAM,IA6Bf,OA1BAhb,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAC,KAAD,OAEC,CACL,CACE,aAAa,EACb,mBAAoBiB,EAAMyc,MAC1B,sBAAuBzc,EAAM8c,UAE/BzY,EAAaU,MACbqP,EAAiBrP,MACjB/E,EAAMpB,OACP,MACM,CACLoe,EAAcjY,MACdsP,EAAgBtP,MAChB/E,EAAMN,OACP,mBAEEqN,EAAMmQ,MAAuB,cAAfnQ,EAAMmQ,UAEjB9W,EADApG,EAAM8c,SAAW,WAAa,aACrB,KAEP,GAAE/P,EAAMmQ,MAAQ,eAAa,QAIlC,CAAC,CACV,ICjDWC,GAAyB5b,EAAAA,EAAAA,GAAa,CACjD6b,MAAOC,MACPC,aAAc9a,SACb,iBAEU+a,GAAgB1b,EAAAA,EAAAA,KAAAA,CAMoB,CAC/Cf,KAAM,gBAENd,MAAOmd,IAEPrb,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EAGrB,OAFAyb,EAAAA,EAAAA,MAEO,IAAMxb,EAAMG,aAAenC,EAAMod,OAAOK,KAAI5B,IAAqD,IAApD,SAAEjH,EAAU5U,MAAO0d,EAAS,KAAE9a,EAAM+a,IAAKC,GAAM/B,EACjG,GAAa,YAATjZ,EACF,OAAOZ,EAAM6b,UAAU,CAAE7d,MAAO0d,MAAY3e,EAAAA,EAAAA,IAAAge,EAC3BW,EAAS,MAI5B,GAAa,cAAT9a,EACF,OAAOZ,EAAM8b,YAAY,CAAE9d,MAAO0d,MAAY3e,EAAAA,EAAAA,IAAA4d,EACvBe,EAAS,MAIlC,MAAMK,EAAgB,CACpBC,SAAUhc,EAAMgc,SAAYC,GAAmBjc,EAAMgc,WAAW,IAAKC,EAAWL,cAAUxX,EAC1FV,QAAS1D,EAAM0D,QAAWuY,GAAmBjc,EAAM0D,UAAU,IAAKuY,EAAWL,cAAUxX,EACvFT,OAAQ3D,EAAM2D,OAAUsY,GAAmBjc,EAAM2D,SAAS,IAAKsY,EAAWL,cAAUxX,EACpF/C,MAAOrB,EAAMqB,MAAS4a,GAAmBjc,EAAMqB,QAAQ,IAAK4a,EAAWL,cAAUxX,GAG7E8X,EAAiBtC,EAAW1R,YAAYwT,GAE9C,OAAO9I,GAAQ7V,EAAAA,EAAAA,IAAA6c,GAAA1b,EAAAA,EAAAA,IAAA,OAEHwd,GAAW3Y,OACdmZ,GAAc,CAGjBpe,UAAWqe,IAA+B,IAA5Bne,MAAOmc,GAAgBgC,EACnC,MAAMC,EAAgB,IACjBV,KACAvB,EACHpX,MAAO/E,EAAMsd,aAAeM,EAAOF,EAAU3Y,OAG/C,OAAO/C,EAAMqc,OACTrc,EAAMqc,OAAO,CAAEre,MAAOoe,KAAgBrf,EAAAA,EAAAA,IAAAud,EAAAA,EAEtB8B,EAA0BL,EAC3C,EAEL5b,QAASA,KAAApD,EAAAA,EAAAA,IAAAwe,EAAA,OACgB3I,GAAqB5S,KAKlDA,EAAM4b,KAAO5b,EAAM4b,KAAK,CAAE5d,MAAO0d,KAAY3e,EAAAA,EAAAA,IAAAud,EAAAA,GAAApc,EAAAA,EAAAA,IAEpCwd,EAAS,OACN1d,EAAMsd,aAAeM,EAAOF,EAAU3Y,QACpCgZ,EAGf,GAEL,I,sDCvEK,MAAMO,GAAiB/c,EAAAA,EAAAA,GAAa,CACzC6b,MAAO,CACLxa,KAAMya,MACNlb,QAASA,IAAO,IAElBoc,UAAW,CACT3b,KAAM,CAACnB,OAAQ4b,MAAOvR,UACtB3J,QAAS,SAEXqc,UAAW,CACT5b,KAAM,CAACnB,OAAQ4b,MAAOvR,UACtB3J,QAAS,SAEXsc,aAAc,CACZ7b,KAAM,CAACJ,QAASf,OAAQ4b,MAAOvR,UAC/B3J,QAAS,YAEXub,UAAW,CACT9a,KAAM,CAACJ,QAASf,OAAQ4b,MAAOvR,UAC/B3J,QAAS,SAEXmb,aAAc9a,QACdkc,gBAAiB,CACf9b,KAAMkJ,SACN3J,QAASwc,EAAAA,KAEV,c,wBCpBH,SAASC,EAAa7Z,GACpB,MAAwB,kBAAVA,GAAuC,kBAAVA,GAAuC,mBAAVA,CAC1E,CAEA,SAAS8Z,EAAe7e,EAAyC4d,GAC/D,MAAMhb,GAAOkc,EAAAA,EAAAA,IAAoBlB,EAAM5d,EAAM+e,SAAU,QACjD1b,EAAQub,EAAYhB,GAAQA,GAAOkB,EAAAA,EAAAA,IAAoBlB,EAAM5d,EAAMue,WACnExZ,GAAQ+Z,EAAAA,EAAAA,IAAoBlB,EAAM5d,EAAMwe,eAAWpY,GACnDwO,GAAWkK,EAAAA,EAAAA,IAAoBlB,EAAM5d,EAAMye,cAC3Cf,GAAgC,IAApB1d,EAAM0d,WACpBsB,EAAAA,EAAAA,IAAKpB,EAAM,CAAC,cACZkB,EAAAA,EAAAA,IAAoBlB,EAAM5d,EAAM0d,WAE9BuB,EAAS,CACb5b,QACA0B,WACG2Y,GAGL,MAAO,CACL9a,OACAS,MAAO4b,EAAO5b,MACd0B,MAAOka,EAAOla,MACd/E,MAAOif,EACPrK,SAAmB,SAAThS,GAAmBgS,EAAWsK,EAAelf,EAAO4U,QAAYxO,EAC1EuX,IAAKC,EAET,CAEA,SAASsB,EAAgBlf,EAAyCod,GAChE,MAAM+B,EAA4B,GAElC,IAAK,MAAMvB,KAAQR,EACjB+B,EAAMlN,KAAK4M,EAAc7e,EAAO4d,IAGlC,OAAOuB,CACT,CAEA,SAASC,EAAcpf,GACrB,MAAMod,GAAQvY,EAAAA,EAAAA,KAAS,IAAMqa,EAAelf,EAAOA,EAAMod,SAEzD,MAAO,CAAEA,QACX,CAEO,MAAMiC,GAAiB9d,EAAAA,EAAAA,GAAa,CACzCia,UAAW/Z,OAEX8Z,YAAa9Z,OACb6d,YAAa7d,OACb8d,QAAS9d,OACToM,SAAUrL,QACVgd,MAAO,CACL5c,KAAM,CAACJ,QAASf,QAChBU,QAAS,OAEXgK,KAAM3J,QACNid,IAAKjd,YAEFkd,EAAAA,EAAAA,IAAgB,CACjBC,eAAgB,cAChBC,aAAc,aAEbtc,EAAAA,EAAAA,SACA5B,EAAAA,EAAAA,SACA6I,EAAAA,EAAAA,SACA+B,EAAAA,EAAAA,SACA/I,EAAAA,EAAAA,KACHwb,SAAU,CACRnc,KAAMnB,OACNU,QAAS,WAERmc,QACA9a,EAAAA,EAAAA,SACA7B,EAAAA,EAAAA,SACA8B,EAAAA,EAAAA,UACAgH,EAAAA,EAAAA,IAAiB,CAAEvF,QAAS,UAC9B,SAIU2a,GAAQhe,EAAAA,EAAAA,KAAAA,CAiB4B,CAC/Cf,KAAM,QAENd,MAAOqf,IAEP9W,MAAO,CACL,kBAAoBxD,IAAqB,EACzC,gBAAkBA,IAAqB,EACvC,aAAeA,IAA4D,EAC3E,eAAiBA,IAA4D,GAG/EjD,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,MAAEqb,GAAUgC,EAAapf,IACzB,aAAEqE,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,uBAAE2D,EAAsB,sBAAEC,IAA0BC,EAAAA,EAAAA,KAAmBC,EAAAA,EAAAA,IAAM9D,EAAO,aACpF,cAAE+D,IAAkBC,EAAAA,EAAAA,GAAUhE,IAC9B,eAAE+K,IAAmBC,EAAAA,EAAAA,GAAWhL,IAChC,gBAAEgN,IAAoBC,EAAAA,EAAAA,GAAajN,IACnC,iBAAEiE,IAAqBC,EAAAA,EAAAA,GAAalE,IACpC,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWpE,IAChC,KAAEmB,EAAI,OAAEqK,IAAWsU,EAAAA,EAAAA,IAAU9f,GAC7B+f,GAAclb,EAAAA,EAAAA,KAAS,IAAM7E,EAAMwf,MAAS,WAAUxf,EAAMwf,kBAAepZ,IAC3EmV,GAAczX,EAAAA,EAAAA,IAAM9D,EAAO,eAC3Bwb,GAAY1X,EAAAA,EAAAA,IAAM9D,EAAO,aACzB0C,GAAQoB,EAAAA,EAAAA,IAAM9D,EAAO,UAE3Bwd,EAAAA,EAAAA,OAEAxY,EAAAA,EAAAA,IAAgB,CACd4W,WAAY,CACVL,cACAC,YACA9Y,SAEF4Z,UAAW,CACTgD,aAAaxb,EAAAA,EAAAA,IAAM9D,EAAO,eAC1Bub,cACAC,YACA9Y,QACAC,SAASmB,EAAAA,EAAAA,IAAM9D,EAAO,WACtB6N,UAAU/J,EAAAA,EAAAA,IAAM9D,EAAO,YACvBwf,OAAO1b,EAAAA,EAAAA,IAAM9D,EAAO,SACpByf,KAAK3b,EAAAA,EAAAA,IAAM9D,EAAO,OAClBmM,MAAMrI,EAAAA,EAAAA,IAAM9D,EAAO,QACnBkF,SAASpB,EAAAA,EAAAA,IAAM9D,EAAO,cAI1B,MAAMggB,GAAYtb,EAAAA,EAAAA,KAAW,GACvBub,GAAazZ,EAAAA,EAAAA,MACnB,SAAS0Z,EAAW/R,GAClB6R,EAAUjb,OAAQ,CACpB,CAEA,SAASob,EAAYhS,GACnB6R,EAAUjb,OAAQ,CACpB,CAEA,SAASqb,EAASjS,GAEb6R,EAAUjb,OACToJ,EAAEkS,eAAiBJ,EAAWlb,OAAOub,SAASnS,EAAEkS,gBAClDE,GACJ,CAEA,SAASC,EAAWrS,GAClB,GAAK8R,EAAWlb,MAAhB,CAEA,GAAc,cAAVoJ,EAAEsS,IACJF,EAAM,aACD,GAAc,YAAVpS,EAAEsS,IACXF,EAAM,aACD,GAAc,SAAVpS,EAAEsS,IACXF,EAAM,aACD,IAAc,QAAVpS,EAAEsS,IAGX,OAFAF,EAAM,OAGR,CAEApS,EAAEuS,gBAd2B,CAe/B,CAEA,SAASH,EAAOnY,GACd,GAAI6X,EAAWlb,MACb,OAAO4b,EAAAA,EAAAA,IAAWV,EAAWlb,MAAOqD,EAExC,CA2CA,OAzCAnG,EAAAA,EAAAA,IAAU,KACRlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,KAEU6d,EAAU,MACT,CACL,SACA,CACE,mBAAoBjgB,EAAM6N,SAC1B,cAAe7N,EAAMyf,KAEvBpb,EAAaU,MACbpB,EAAuBoB,MACvBhB,EAAcgB,MACdgG,EAAehG,MACfd,EAAiBc,MACjBgb,EAAYhb,MACZZ,EAAeY,MACf/E,EAAMpB,OACP,MACM,CACLgF,EAAsBmB,MACtBiI,EAAgBjI,MAChB/E,EAAMN,OACP,SACWM,EAAM6N,UAAYmS,EAAUjb,OAAU,EAAI,EAAC,4CAE/BqB,EAAS,UACrB8Z,EAAS,WACRC,EAAU,QACbC,EAAO,UACLI,GAAS,CAAAre,QAAAA,IAAA,EAAApD,EAAAA,EAAAA,IAAAwe,EAAA,OAGXH,EAAMrY,MAAK,aACJ/E,EAAMsd,cACXtb,QAMX,CACLb,OACAqK,SACA+U,QAEJ,G,+EC3QK,MAAMK,GAAoBC,EAAAA,EAAAA,GAAuB,wBCA3CC,GAAiBD,EAAAA,EAAAA,GAAuB,qB,6NCwD9C,MAAME,GAAqBxf,EAAAA,EAAAA,GAAa,CAC7CyI,OAAQ,CACNpH,KAAMJ,QACNL,aAASiE,GAEXkZ,YAAa7d,OAEb8Z,YAAa9Z,OACbuf,aAAcvf,OACdwK,WAAY3B,EAAAA,GACZkR,UAAW/Z,OACXoM,SAAUrL,QACVgd,MAAO/d,OACP8J,KAAM,CACJ3I,KAAMJ,QACNL,aAASiE,GAEXqZ,IAAKjd,QACLye,cAAexf,OACfuK,YAAa1B,EAAAA,GACb+B,OAAQ,CACNzJ,KAAM,CAACJ,QAASuJ,QAChB5J,SAAS,GAEXgK,KAAM3J,QACNwb,SAAU,CAACvc,OAAQV,QACnBsC,MAAO,CAAC5B,OAAQV,QAChBgE,MAAO,KAEPvE,SAAS0gB,EAAAA,EAAAA,MACTC,aAAaD,EAAAA,EAAAA,UAEV5d,EAAAA,EAAAA,SACA5B,EAAAA,EAAAA,SACA6I,EAAAA,EAAAA,SACA+B,EAAAA,EAAAA,SACA/I,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACAmJ,EAAAA,EAAAA,UACAhL,EAAAA,EAAAA,SACA8B,EAAAA,EAAAA,UACAgH,EAAAA,EAAAA,IAAiB,CAAEvF,QAAS,UAC9B,aAEUoX,GAAYza,EAAAA,EAAAA,KAAAA,CAAmC,CAC1Df,KAAM,YAEN8L,WAAY,CAAEC,OAAMA,EAAAA,GAEpB7M,MAAO+gB,IAEPxY,MAAO,CACL6Y,MAAQjT,IAAkC,GAG5CrM,MAAO9B,EAAK+B,GAA0B,IAAxB,MAAEgL,EAAK,MAAE/K,EAAK,KAAEmW,GAAMpW,EAClC,MAAMwJ,GAAOmC,EAAAA,EAAAA,IAAQ1N,EAAO+M,GACtBpO,GAAKkG,EAAAA,EAAAA,KAAS,SAAsBuB,IAAhBpG,EAAM+E,MAAsBwG,EAAK2D,KAAKnK,MAAQ/E,EAAM+E,SACxE,OAAEyG,EAAM,WAAEmC,EAAU,gBAAE0T,EAAe,iBAAEC,EAAgB,KAAEjR,EAAI,OAAEkR,EAAM,aAAEC,IAAiBxF,EAAAA,EAAAA,IAAcrd,GAAI,GAC1Gsd,GAAOC,EAAAA,EAAAA,MACPzT,GAAW5D,EAAAA,EAAAA,KAAS,KACP,IAAjB7E,EAAMgK,SACLhK,EAAMgK,QAAUuB,EAAK9C,UAAU1D,OAAS4I,EAAW5I,SAEhD0G,GAAS5G,EAAAA,EAAAA,KAAS,KAAqB,IAAf7E,EAAMuL,MAAkBA,EAAKE,OAAO1G,QAC5D0c,GAAc5c,EAAAA,EAAAA,KAAS,KAC1B7E,EAAM6N,WACQ,IAAf7N,EAAMuL,OACLvL,EAAMuL,MAAQA,EAAKkW,YAAY1c,OAAyB,MAAf/E,EAAM+E,SAAmBkX,KAG/DyF,GAAe7c,EAAAA,EAAAA,KAAS,IAAM7E,EAAM2hB,SAAW3hB,EAAMyf,MACrD/c,GAAQmC,EAAAA,EAAAA,KAAS,IAAM7E,EAAM0C,OAAS1C,EAAMub,cAC5CqG,GAAe/c,EAAAA,EAAAA,KAAS,KAAM,CAClCnC,MAAO+F,EAAS1D,MAAQrC,EAAMqC,OAAS/E,EAAMwb,UAAYxb,EAAMwb,UAC/DtW,QAASlF,EAAMkF,aAGjBoC,EAAAA,EAAAA,KAAM,IAAMiE,EAAK9C,UAAU1D,QAAO+H,IAC5BA,GAAuB,MAAhByU,EAAOxc,OAChBsL,EAAKlP,KAAKogB,EAAOxc,OAAO,GAGtB+H,GACF0U,EAAa1U,EACf,GACC,CAAE/E,WAAW,IAEhB,MAAM,aAAE1D,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,cAAE+D,IAAkBC,EAAAA,EAAAA,GAAUhE,IAC9B,aAAE2K,EAAY,YAAEC,EAAW,eAAEC,IAAmBC,EAAAA,EAAAA,IAAW8W,IAC3D,eAAE7W,IAAmBC,EAAAA,EAAAA,GAAWhL,IAChC,gBAAEgN,IAAoBC,EAAAA,EAAAA,GAAajN,IACnC,iBAAEiE,IAAqBC,EAAAA,EAAAA,GAAalE,IACpC,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWsd,GAChC3B,GAAclb,EAAAA,EAAAA,KAAS,IAAM7E,EAAMwf,MAAS,gBAAexf,EAAMwf,kBAAepZ,IAEhF6X,GAAYpZ,EAAAA,EAAAA,KAAS,KAAM,CAC/B4D,SAAUA,EAAS1D,MACnByG,SACAmC,WAAYA,EAAW5I,MACvBsc,gBAAiBA,EAAgBtc,UAGnC,SAASvE,EAAS2N,GAChBgK,EAAK,QAAShK,IAEVmT,GAAqBG,EAAY1c,QAErCwG,EAAKiD,WAAWL,GACD,MAAfnO,EAAM+E,OAAiByG,GAAQmC,EAAW5I,MAAOoJ,GACnD,CAEA,SAAS0T,EAAW1T,GACJ,UAAVA,EAAEsS,KAA6B,MAAVtS,EAAEsS,MACzBtS,EAAEuS,iBACFlgB,EAAQ2N,GAEZ,CAoKA,OAlKAlM,EAAAA,EAAAA,IAAU,KACR,MAAMyM,EAAMjD,EAAO1G,MAAQ,IAAM/E,EAAMoC,IACjC+C,EAAYnD,EAAMqB,OAAwB,MAAfrD,EAAMqD,MACjCye,EAAe9f,EAAMgc,UAA8B,MAAlBhe,EAAMge,SACvC+D,KAAoB/hB,EAAMghB,eAAgBhhB,EAAMiM,YAChD2C,KAAemT,IAAkB/f,EAAM2D,QACvCqc,KAAqBhiB,EAAMihB,gBAAiBjhB,EAAMgM,aAClD2C,KAAgBqT,IAAmBhgB,EAAM0D,SAQ/C,OANAuW,GAAMgG,iBAAiBtT,GAEnB3O,EAAMub,cACR2G,EAAAA,EAAAA,IAAU,eAAgB,CAAC,QAAS,gBAGtCnT,EAAAA,EAAAA,KAAAhQ,EAAAA,EAAAA,IAAA2P,EAAA,OAEW,CACL,cACA,CACE,sBAAuBjG,EAAS1D,MAChC,wBAAyB/E,EAAM6N,SAC/B,oBAAqB4T,EAAY1c,MACjC,mBAAoB/E,EAAMyf,IAC1B,wBAAyB9Q,GAAcsN,GAAMtN,WAAW5J,MACxD,oBAAqB/E,EAAMmM,KAC3B,CAAE,GAAEnM,EAAMsf,eAAgBtf,EAAMsf,aAAe7W,EAAS1D,OAE1DV,EAAaU,MACbhB,EAAcgB,MACd4F,EAAa5F,MACbgG,EAAehG,MACfd,EAAiBc,MACjBgb,EAAYhb,MACZZ,EAAeY,MACf8F,EAAe9F,MACf/E,EAAMpB,OACP,MACM,CACLgM,EAAY7F,MACZiI,EAAgBjI,MAChB/E,EAAMN,OACP,KACM6L,EAAK2D,KAAKnK,MAAK,SACX0c,EAAY1c,MAASkX,GAAQ,EAAI,OAAK7V,EAAS,QAChD5F,EAAO,UACLihB,EAAY1c,QAAU0G,EAAO1G,OAAS8c,GAAS,CAAA1f,QAAAA,IAAA,EAGzDkJ,EAAAA,EAAAA,IAAYoW,EAAY1c,OAAS0D,EAAS1D,MAAO,eAEjD4J,IAAU5P,EAAAA,EAAAA,IAAA,oDAELiD,EAAM0D,SAgBJ3G,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,kCAKW2c,EAAe,SACjB,CACRtX,QAAS,CACP/H,QAAS3C,EAAM2C,QACfS,MAAOpD,EAAMihB,eAEf7V,MAAO,CACLzI,QAAS3C,EAAM2C,QACfxC,KAAMH,EAAMgM,aAEdmW,gBAAiB,CACf/X,OAAO,KAEV,CAAAjI,QAAAA,IAAA,CAECH,EAAM0D,UAAUuY,EAAUlZ,WApChBhG,EAAAA,EAAAA,IAAAkc,EAAAA,GAAA,MAEVjb,EAAMihB,gBAAaliB,EAAAA,EAAAA,IAAA2L,EAAAA,EAAA,8BAGP1K,EAAM2C,QAAO,MACf3C,EAAMihB,eAAa,MAI7BjhB,EAAMgM,cAAWjN,EAAAA,EAAAA,IAAAqM,EAAAA,EAAA,4BAGLpL,EAAM2C,QAAO,KAChB3C,EAAMgM,aAAW,SAwB/BjN,EAAAA,EAAAA,IAAA,6CAIJA,EAAAA,EAAAA,IAAA,6DAGGoG,IAAQpG,EAAAA,EAAAA,IAAA+hB,EAAA,eAAA3e,QAAAA,IAAA,CAEJH,EAAMqB,QAAQ,CAAEA,MAAOrD,EAAMqD,SAAYrD,EAAMqD,SAInDye,IAAW/iB,EAAAA,EAAAA,IAAA6hB,EAAA,kBAAAze,QAAAA,IAAA,CAEPH,EAAMgc,WAAW,CAAEA,SAAUhe,EAAMge,YAAehe,EAAMge,YAI5Dhc,EAAMG,UAAU8b,EAAUlZ,SAG5B6J,IAAS7P,EAAAA,EAAAA,IAAA,kDAEJiD,EAAM2D,QAgBJ5G,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,iCAKW0c,EAAc,SAChB,CACRrX,QAAS,CACP/H,QAAS3C,EAAM2C,QACfS,MAAOpD,EAAMghB,cAEf5V,MAAO,CACLzI,QAAS3C,EAAM2C,QACfxC,KAAMH,EAAMiM,YAEdkW,gBAAiB,CACf9X,KAAK,KAER,CAAAlI,QAAAA,IAAA,CAECH,EAAM2D,SAASsY,EAAUlZ,WApChBhG,EAAAA,EAAAA,IAAAkc,EAAAA,GAAA,MAETjb,EAAMiM,aAAUlN,EAAAA,EAAAA,IAAAqM,EAAAA,EAAA,2BAGJpL,EAAM2C,QAAO,KAChB3C,EAAMiM,YAAU,MAIzBjM,EAAMghB,eAAYjiB,EAAAA,EAAAA,IAAA2L,EAAAA,EAAA,6BAGN1K,EAAM2C,QAAO,MACf3C,EAAMghB,cAAY,SAwBjCjiB,EAAAA,EAAAA,IAAA,+CAIJ,GAAAsQ,EAAAA,EAAAA,IAAA,UA9GUoS,EAAY1c,OAAS/E,EAAMqM,SAAM,IAmH3C,CAAC,CACV,G,wGC/UiDoD,OAAOC,IAAI,iBAavD,MAAM0S,EAGR3S,OAAOC,IAAI,gBAET,SAAS8N,IACd,MAAM+D,GAASc,EAAAA,EAAAA,IAAOD,EAAS,CAAEzT,YAAYjK,EAAAA,EAAAA,KAAW,GAAQud,iBAAkBA,IAAM,OAElFK,EAAO,CACX3T,YAAYjK,EAAAA,EAAAA,KAAW,GACvBud,iBAAmBld,IACbA,IAAOud,EAAK3T,WAAW5J,MAAQA,EAAK,GAM5C,OAFAwd,EAAAA,EAAAA,IAAQH,EAASE,GAEVf,CACT,CAEO,SAASrF,IACd,OAAOmG,EAAAA,EAAAA,IAAOD,EAAS,KACzB,C,2IC9BO,MAAMI,GAAiBjhB,EAAAA,EAAAA,GAAa,CACzCkhB,WAAYjgB,YAETd,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,GAAa,CAAES,IAAK,UACtB,SAEUsgB,GAAQ7gB,EAAAA,EAAAA,KAAAA,CAAmB,CACtCf,KAAM,QAENd,MAAOwiB,IAEP1gB,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM,WAAE4gB,IAAeC,EAAAA,EAAAA,OACjB,cAAEpZ,IAAkBC,EAAAA,EAAAA,KA0B1B,OAxBAxH,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,OAEC,CACL,SACA,CAAE,qBAAsBpC,EAAMyiB,YAC9BziB,EAAMpB,OACP,MACM,CACL+jB,EAAW5d,MACXyE,EAAczE,MACd/E,EAAMN,QACP,CAAAyC,QAAAA,IAAA,CAECnC,EAAMyiB,YAAU1jB,EAAAA,EAAAA,IAAA,kCAGViD,EAAMG,cAGVH,EAAMG,iBAKP,CAAC,CACV,G,iICrCK,MAAM0gB,GAA6BthB,EAAAA,EAAAA,GAAa,CACrDgF,OAAQ,CAACwF,OAAQsR,QAChB,uBAEUyF,GAAoBjhB,EAAAA,EAAAA,KAAAA,CAAmB,CAClDf,KAAM,oBAENd,MAAO6iB,IAEP/gB,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAMghB,EAAY,CAChBC,cAAepN,GACZA,EAAmBlW,MAAMujB,cAAgB,OACxCrN,EAAmBlW,MAAMwjB,WAAa,QAC1C,EACAC,cAAevN,EAAawN,SACpB,IAAIC,SAAQC,GAAWvI,sBAAsBuI,WAC7C,IAAID,SAAQC,GAAWvI,sBAAsBuI,KACjD1N,EAAmBlW,MAAMwjB,WAAa,GAExC,MAAM,EAAEK,EAAC,EAAEC,EAAC,GAAEC,EAAE,GAAEC,EAAE,MAAEC,GAAUC,EAAc5jB,EAAMuG,OAASqP,GAEvDiO,GAAYC,EAAAA,EAAAA,GAAQlO,EAAI,CAC5B,CAAEmO,UAAY,aAAYR,QAAQC,cAAcC,MAAOC,KAAOra,QAAS,GACvE,CAAC,GACA,CACD2a,SAAU,IAAML,EAChBM,OAAQC,EAAAA,KAEVC,EAAYvO,IAAK5D,SAAQ4D,KACvBkO,EAAAA,EAAAA,GAAQlO,EAAI,CACV,CAAEvM,QAAS,GACX,CAAEA,QAAS,EAAG6H,OAAQ,KACtB,CAAC,GACA,CACD8S,SAAU,IAAUL,EACpBM,OAAQG,EAAAA,IACR,IAEJP,EAAUQ,SAASC,MAAK,IAAMlB,KAChC,EACAmB,aAAc3O,GACXA,EAAmBlW,MAAM8kB,eAAe,iBAC3C,EACAC,cAAe7O,GACZA,EAAmBlW,MAAMujB,cAAgB,MAC5C,EACAE,cAAevN,EAAawN,SACpB,IAAIC,SAAQC,GAAWvI,sBAAsBuI,KAEnD,MAAM,EAAEC,EAAC,EAAEC,EAAC,GAAEC,EAAE,GAAEC,EAAE,MAAEC,GAAUC,EAAc5jB,EAAMuG,OAASqP,GAEvDiO,GAAYC,EAAAA,EAAAA,GAAQlO,EAAI,CAC5B,CAAC,EACD,CAAEmO,UAAY,aAAYR,QAAQC,cAAcC,MAAOC,KAAOra,QAAS,IACtE,CACD2a,SAAU,IAAML,EAChBM,OAAQS,EAAAA,KAEVb,EAAUQ,SAASC,MAAK,IAAMlB,MAC9Be,EAAYvO,IAAK5D,SAAQ4D,KACvBkO,EAAAA,EAAAA,GAAQlO,EAAI,CACV,CAAC,EACD,CAAEvM,QAAS,EAAG6H,OAAQ,IACtB,CAAE7H,QAAS,IACV,CACD2a,SAAU,IAAUL,EACpBM,OAAQG,EAAAA,IACR,GAEN,EACAO,aAAc/O,GACXA,EAAmBlW,MAAM8kB,eAAe,iBAC3C,GAGF,MAAO,IACExkB,EAAMuG,QAAMxH,EAAAA,EAAAA,IAAA6lB,EAAAA,IAAA1kB,EAAAA,EAAAA,IAAA,2BAIR6iB,EAAS,MACR,IACI/gB,IAAKjD,EAAAA,EAAAA,IAAA6lB,EAAAA,GAAA,2BAG8B5iB,EAEvD,IAIF,SAASmiB,EAAavO,GACpB,MAAMiP,EAAMjP,EAAGlO,cAAc,0DAA0DkN,SACvF,OAAOiQ,GAAO,IAAIA,EACpB,CAEA,SAASjB,EAAerd,EAA8CqP,GACpE,MAAMkP,GAAYC,EAAAA,EAAAA,IAAaxe,GACzBye,GAAQC,EAAAA,EAAAA,GAAkBrP,IACzBsP,EAASC,GAAWC,iBAAiBxP,GAAIyP,gBAAgBxc,MAAM,KAAK4U,KAAI3a,GAAKwiB,WAAWxiB,MAExFyiB,EAAYC,GAAgBJ,iBAAiBxP,GAAI6P,iBAAiB,6BAA6B5c,MAAM,KAE5G,IAAI6c,EAAUZ,EAAUa,KAAOb,EAAU9P,MAAQ,EAC9B,SAAfuQ,GAA0C,SAAjBC,EAC3BE,GAAWZ,EAAU9P,MAAQ,EACL,UAAfuQ,GAA2C,UAAjBC,IACnCE,GAAWZ,EAAU9P,MAAQ,GAG/B,IAAI4Q,EAAUd,EAAUe,IAAMf,EAAUhmB,OAAS,EAC9B,QAAfymB,GAAyC,QAAjBC,EAC1BI,GAAWd,EAAUhmB,OAAS,EACN,WAAfymB,GAA4C,WAAjBC,IACpCI,GAAWd,EAAUhmB,OAAS,GAGhC,MAAMgnB,EAAMhB,EAAU9P,MAAQgQ,EAAMhQ,MAC9B+Q,EAAMjB,EAAUhmB,OAASkmB,EAAMlmB,OAC/BknB,EAAO5e,KAAK6e,IAAI,EAAGH,EAAKC,GACxBtC,EAAKqC,EAAME,GAAQ,EACnBtC,EAAKqC,EAAMC,GAAQ,EAGnBE,EAAOlB,EAAMhQ,MAAQgQ,EAAMlmB,QAAWoC,OAAOilB,WAAajlB,OAAOklB,aACjEzC,EAAQuC,EAAM,IAChB9e,KAAKif,IAAI,IAAoB,IAAdH,EAAM,KAAa,GAClC,EAEJ,MAAO,CACL3C,EAAGmC,GAAWR,EAAUF,EAAMW,MAC9BnC,EAAGoC,GAAWT,EAAUH,EAAMa,KAC9BpC,KACAC,KACAC,QAEJ,C,sGClIO,MAAM2C,GAAiB/kB,EAAAA,EAAAA,GAAa,CAGzC5C,GAAI8C,WAEDud,EAAAA,EAAAA,KAAKuH,EAAAA,EAAAA,GAAkB,CACxBC,WAAY,IACZC,qBAAqB,EACrBC,iBAAkB,YAClBC,UAAW,IACXC,OAAO,EACPC,eAAgB,aAChBzM,WAAY,CAAEvF,UAAWiO,KACvB,CAAC,cACJ,SAEUgE,GAAQjlB,EAAAA,EAAAA,KAAAA,CAAiC,CACpDf,KAAM,QAENd,MAAOsmB,IAEP/d,MAAO,CACL,oBAAsBxD,IAAmB,GAG3CjD,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAM0G,GAAWC,EAAAA,EAAAA,GAAgB1I,EAAO,eAClC,QAAE+mB,IAAYC,EAAAA,EAAAA,KAEdxQ,GAAMyQ,EAAAA,EAAAA,MACNtoB,GAAKkG,EAAAA,EAAAA,KAAS,IAAM7E,EAAMrB,IAAO,UAAS6X,MAE1C0Q,GAAU1gB,EAAAA,EAAAA,MAEV+a,GAASc,EAAAA,EAAAA,IAAO8E,EAAAA,EAAa,MAC7BC,GAAe1iB,EAAAA,EAAAA,IAAW,GAkBhCye,eAAekE,EAAWlZ,GACxB,MAAMmZ,EAASnZ,EAAEkS,cACXkH,EAAQpZ,EAAE5H,OAIhB,SAFMmF,EAAAA,EAAAA,MAGJjD,EAAS1D,OACTuiB,IAAWC,GACXL,EAAQniB,OAAOyiB,WAEfN,EAAQniB,OAAO0iB,YAEd,CAAChgB,SAAUyf,EAAQniB,MAAMyiB,WAAWzkB,SAASwkB,KAE7CL,EAAQniB,MAAMyiB,UAAUlH,SAASiH,GAClC,CACA,MAAMG,GAAYC,EAAAA,EAAAA,IAAkBT,EAAQniB,MAAMyiB,WAClDE,EAAU,IAAInH,OAChB,CACF,CAYA,SAASqH,IACPrG,GAAQsG,cACV,CAEA,SAASrH,EAAWrS,GAClB,IAAInO,EAAM6N,UAEI,QAAVM,EAAEsS,IAAe,CACnB,MAAMqH,GAAcC,EAAAA,EAAAA,KAClBJ,EAAAA,EAAAA,IAAkBT,EAAQniB,OAAOyiB,WAAsB,GACvDrZ,EAAEG,SAAW,OAAS,QACrBsH,GAAoBA,EAAGoS,UAAY,IAEjCF,IACHrf,EAAS1D,OAAQ,EACjBmiB,EAAQniB,OAAOkjB,aAAa1H,QAEhC,CACF,CAEA,SAAS2H,EAAoB/Z,GAC3B,GAAInO,EAAM6N,SAAU,OAEpB,MAAM+H,EAAKsR,EAAQniB,OAAOyiB,UACtB5R,GAAMnN,EAAS1D,MACH,cAAVoJ,EAAEsS,KACJtS,EAAEuS,kBACFC,EAAAA,EAAAA,IAAW/K,EAAI,SACI,YAAVzH,EAAEsS,MACXtS,EAAEuS,kBACFC,EAAAA,EAAAA,IAAW/K,EAAI,SAER,CAAC,YAAa,WAAW7S,SAASoL,EAAEsS,OAC7ChY,EAAS1D,OAAQ,EACjBoJ,EAAEuS,iBACF3H,YAAW,IAAMA,YAAW,IAAMmP,EAAmB/Z,OAEzD,EAtFAoU,EAAAA,EAAAA,IAAQ4E,EAAAA,EAAa,CACnBgB,aACIf,EAAariB,KACjB,EACAqjB,eACIhB,EAAariB,KACjB,EACA8iB,eACE9O,YAAW,KACJqO,EAAariB,QAChB0D,EAAS1D,OAAQ,EACjBwc,GAAQsG,eACV,GACC,GACL,KAyBFvgB,EAAAA,EAAAA,IAAMmB,GAAUqE,IACVA,GACFyU,GAAQ4G,WACR1gB,SAASG,iBAAiB,UAAWyf,EAAW,CAAExQ,MAAM,MAExD0K,GAAQ6G,aACR3gB,SAASE,oBAAoB,UAAW0f,GAC1C,IA0CF,MAAMlL,GAAiBtX,EAAAA,EAAAA,KAAS,KAC9BwjB,EAAAA,EAAAA,IAAW,CACT,gBAAiB,OACjB,gBAAiB5mB,OAAOgH,EAAS1D,OACjC,YAAapG,EAAGoG,MAChByb,UAAW0H,GACVloB,EAAMmc,kBAkCX,OA/BAla,EAAAA,EAAAA,IAAU,KACR,MAAMqmB,EAAeC,EAAAA,EAAAA,YAAqBvoB,GAE1C,OAAAjB,EAAAA,EAAAA,IAAAwpB,EAAAA,GAAAroB,EAAAA,EAAAA,IAAA,KAEUgnB,EAAO,MACN,CACL,SACAlnB,EAAMpB,OACP,MACOoB,EAAMN,OACT4oB,EAAY,YACP7f,EAAS1D,MAAK,sBAAArE,GAAd+H,EAAS1D,MAAKrE,EAAA,2BAEPyb,EAAepX,MAAK,kBACnB6iB,EAAc,UACpBpH,GACPuG,GAAO,CAGVjnB,UAAWkC,EAAMlC,UACjBqC,QAAS,mBAAAqmB,EAAAtiB,UAAAC,OAAIF,EAAI,IAAAoX,MAAAmL,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJxiB,EAAIwiB,GAAAviB,UAAAuiB,GAAA,OAAA1pB,EAAAA,EAAAA,IAAAsG,EAAAA,EAAA,gBAAAlD,QAAAA,IAAK,CAEhBH,EAAMG,aAAa8D,KAAK,GAE7B,KAMFyiB,EAAAA,EAAAA,GAAY,CAAE/pB,KAAIgqB,gBAAevB,GAAgBF,EAC1D,G,uDCnLK,MAAMC,EAAyC1X,OAAOC,IAAI,iB,qICI1D,SAASkZ,EAAmBC,EAAqB3X,GACtD,MAAO,CACLqS,EAAGsF,EAAMtF,EAAIrS,EAAOqS,EACpBC,EAAGqF,EAAMrF,EAAItS,EAAOsS,EAExB,CAWO,SAASsF,EAA4BC,EAAMC,GAChD,MAAO,CACLzF,EAAGwF,EAAExF,EAAIyF,EAAEzF,EACXC,EAAGuF,EAAEvF,EAAIwF,EAAExF,EAEf,CAGO,SAASyF,EAAeC,EAAsBC,GACnD,GAAoB,QAAhBD,EAAOE,MAAkC,WAAhBF,EAAOE,KAAmB,CACrD,MAAM,KAAEA,EAAI,MAAE5V,GAAU0V,EAElB3F,EACM,SAAV/P,EAAmB,EACP,WAAVA,EAAqB2V,EAAInU,MAAQ,EACvB,UAAVxB,EAAoB2V,EAAInU,MACxBxB,EACEgQ,EACK,QAAT4F,EAAiB,EACN,WAATA,EAAoBD,EAAIrqB,OACxBsqB,EAEJ,OAAOR,EAAkB,CAAErF,IAAGC,KAAqB2F,EACrD,CAAO,GAAoB,SAAhBD,EAAOE,MAAmC,UAAhBF,EAAOE,KAAkB,CAC5D,MAAM,KAAEA,EAAI,MAAE5V,GAAU0V,EAElB3F,EACK,SAAT6F,EAAkB,EACP,UAATA,EAAmBD,EAAInU,MACvBoU,EACE5F,EACM,QAAVhQ,EAAkB,EACN,WAAVA,EAAqB2V,EAAIrqB,OAAS,EACxB,WAAV0U,EAAqB2V,EAAIrqB,OACzB0U,EAEJ,OAAOoV,EAAkB,CAAErF,IAAGC,KAAqB2F,EACrD,CAEA,OAAOP,EAAkB,CACvBrF,EAAG4F,EAAInU,MAAQ,EACfwO,EAAG2F,EAAIrqB,OAAS,GACCqqB,EACrB,C,kCCxEO,SAASE,EAAiBzT,GAC/B,MAAOA,EAAI,CACT,GAA6C,UAAzC1U,OAAOkkB,iBAAiBxP,GAAI/L,SAC9B,OAAO,EAET+L,EAAKA,EAAG0T,YACV,CACA,OAAO,CACT,C,uBCRO,SAASC,EAAiB3T,GAAyC,IAAvB4T,EAAatjB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAC9D,MAAO0P,EAAI,CACT,GAAI4T,EAAgBC,EAAwB7T,GAAM8T,EAAa9T,GAAK,OAAOA,EAC3EA,EAAKA,EAAG+T,aACV,CAEA,OAAOliB,SAASmiB,gBAClB,CAEO,SAASC,EAAkBjU,EAAqBkU,GACrD,MAAMC,EAA0B,GAEhC,GAAID,GAAUlU,IAAOkU,EAAOxJ,SAAS1K,GAAK,OAAOmU,EAEjD,MAAOnU,EAAI,CAET,GADI8T,EAAa9T,IAAKmU,EAAS9X,KAAK2D,GAChCA,IAAOkU,EAAQ,MACnBlU,EAAKA,EAAG+T,aACV,CAEA,OAAOI,CACT,CAEO,SAASL,EAAc9T,GAC5B,IAAKA,GAAMA,EAAGoU,WAAaC,KAAKC,aAAc,OAAO,EAErD,MAAMxqB,EAAQwB,OAAOkkB,iBAAiBxP,GACtC,MAA2B,WAApBlW,EAAMyqB,WAA+C,SAApBzqB,EAAMyqB,WAAwBvU,EAAGwU,aAAexU,EAAGyU,YAC7F,CAEA,SAASZ,EAAyB7T,GAChC,IAAKA,GAAMA,EAAGoU,WAAaC,KAAKC,aAAc,OAAO,EAErD,MAAMxqB,EAAQwB,OAAOkkB,iBAAiBxP,GACtC,MAAO,CAAC,SAAU,QAAQ7S,SAASrD,EAAMyqB,UAC3C,C,wBCMA,MAAMG,EAAqB,CACzBC,OAAQC,EACRC,UAAWC,GAcAC,GAA4BppB,EAAAA,EAAAA,GAAa,CACpDmlB,iBAAkB,CAChB9jB,KAAM,CAACnB,OAAQqK,UACf3J,QAAS,SACTU,UAAYiK,GAA4B,oBAARA,GAAsBA,KAAOwd,GAE/DliB,SAAU,CACRxF,KAAMnB,OACNU,QAAS,UAEXyoB,OAAQ,CACNhoB,KAAMnB,OACNU,QAAS,QAEX+O,OAAQ,CAACnQ,OAAQU,OAAQ4b,QACxB,gCAEI,SAASwN,EACd7qB,EACAsiB,GAEA,MAAMwI,GAAgBtkB,EAAAA,EAAAA,IAAI,CAAC,GACrBukB,GAAiBvkB,EAAAA,EAAAA,MAoBvB,SAASwkB,EAAU7c,GACjB4c,EAAehmB,QAAQoJ,EACzB,CAEA,OAtBI8c,EAAAA,KACF3hB,EAAAA,EAAAA,IAAe,OAASgZ,EAAK7Z,SAAS1D,QAAS/E,EAAM0mB,oBAAmBtW,KACtE9I,EAAAA,EAAAA,KAAM,IAAMtH,EAAM0mB,kBAAkBtW,IACpC8a,EAAAA,EAAAA,KAAe,KACbhqB,OAAOyG,oBAAoB,SAAUqjB,GACrCD,EAAehmB,WAAQqB,CAAS,IAGlClF,OAAO0G,iBAAiB,SAAUojB,EAAU,CAAEnjB,SAAS,IAEjB,oBAA3B7H,EAAM0mB,iBACfqE,EAAehmB,MAAQ/E,EAAM0mB,iBAAiBpE,EAAMtiB,EAAO8qB,IAAgBC,eAE3EA,EAAehmB,MAAQulB,EAAmBtqB,EAAM0mB,kBAAkBpE,EAAMtiB,EAAO8qB,IAAgBC,cACjG,IAQG,CACLD,gBACAC,iBAEJ,CAEA,SAASP,IACP,CAIF,SAASW,EAAkBvV,EAAiBwV,GAetCA,EACFxV,EAAGlW,MAAM8kB,eAAe,QAExB5O,EAAGlW,MAAM8kB,eAAe,SAI1B,MAAM6G,GAAapG,EAAAA,EAAAA,GAAkBrP,GAerC,OAbIwV,EACFC,EAAW9H,GAAK+B,WAAW1P,EAAGlW,MAAM4rB,OAAS,GAE7CD,EAAW9H,GAAK+B,WAAW1P,EAAGlW,MAAMimB,MAAQ,GAE9C0F,EAAW7H,GAAK8B,WAAW1P,EAAGlW,MAAMmmB,KAAO,GAQpCwF,CACT,CAEA,SAASX,EAA2BpI,EAA4BtiB,EAAsB8qB,GACpF,MAAMS,EAAiBlO,MAAMmO,QAAQlJ,EAAK/b,OAAOxB,QAAUskB,EAAgB/G,EAAK/b,OAAOxB,OACnFwmB,GACFxf,OAAO0f,OAAOX,EAAc/lB,MAAO,CACjC8E,SAAU,QACVgc,IAAK,EACL,CAACvD,EAAK8I,MAAMrmB,MAAQ,QAAU,QAAS,IAI3C,MAAM,gBAAE2mB,EAAe,gBAAEC,IAAoBC,EAAAA,EAAAA,KAAiB,KAC5D,MAAMC,GAAeC,EAAAA,EAAAA,IAAY9rB,EAAMoI,SAAUka,EAAK8I,MAAMrmB,OACtDgnB,EACa,YAAjB/rB,EAAM4qB,OAAuBiB,EACV,SAAjB7rB,EAAM4qB,QAAoBoB,EAAAA,EAAAA,IAASH,IACnCC,EAAAA,EAAAA,IAAY9rB,EAAM4qB,OAAQtI,EAAK8I,MAAMrmB,OAGzC,OAAI8mB,EAAazC,OAAS2C,EAAa3C,MAAQyC,EAAarY,SAAUyY,EAAAA,EAAAA,IAAUF,GAAcvY,MACrF,CACLkY,iBAAiBQ,EAAAA,EAAAA,IAAWL,GAC5BF,iBAAiBO,EAAAA,EAAAA,IAAWH,IAGvB,CACLL,gBAAiBG,EACjBF,gBAAiBI,EAErB,KAGKI,EAAUC,EAAWC,EAAUC,GACnC,CAAC,WAAY,YAAa,WAAY,aAAuB7O,KAAIgD,IACzD5b,EAAAA,EAAAA,KAAS,KACd,MAAMiI,EAAMwY,WAAWtlB,EAAMygB,IAC7B,OAAO8L,MAAMzf,GAAO0f,IAAW1f,CAAG,MAIlCoE,GAASrM,EAAAA,EAAAA,KAAS,KACtB,GAAIwY,MAAMmO,QAAQxrB,EAAMkR,QACtB,OAAOlR,EAAMkR,OAEf,GAA4B,kBAAjBlR,EAAMkR,OAAqB,CACpC,MAAMA,EAASlR,EAAMkR,OAAOrI,MAAM,KAAK4U,IAAI6H,YAE3C,OADIpU,EAAO/K,OAAS,GAAG+K,EAAOe,KAAK,GAC5Bf,CACT,CACA,MAA+B,kBAAjBlR,EAAMkR,OAAsB,CAAClR,EAAMkR,OAAQ,GAAK,CAAC,EAAG,EAAE,IAGtE,IAAI6F,GAAU,EACd,MAAMb,EAAW,IAAIuW,gBAAe,KAC9B1V,GAASgU,GAAgB,IAkB/B,SAASA,IAMP,GALAhU,GAAU,EACVgE,uBAAsB,KACpBA,uBAAsB,IAAMhE,GAAU,GAAK,KAGxCuL,EAAK/b,OAAOxB,QAAUud,EAAKkF,UAAUziB,MAAO,OAEjD,MAAM+f,GAAYC,EAAAA,EAAAA,IAAazC,EAAK/b,OAAOxB,OACrCsmB,EAAaF,EAAiB7I,EAAKkF,UAAUziB,MAAOud,EAAK8I,MAAMrmB,OAC/D2nB,EAAgB7C,EAAiBvH,EAAKkF,UAAUziB,OAChD4nB,EAAiB,GAElBD,EAAcvmB,SACjBumB,EAAcza,KAAKxK,SAASmlB,iBACtBtK,EAAKkF,UAAUziB,MAAMrF,MAAMmmB,KAAOvD,EAAKkF,UAAUziB,MAAMrF,MAAMimB,OACjE0F,EAAW9H,GAAK+B,WAAW7d,SAASmlB,gBAAgBltB,MAAM+lB,iBAAiB,sBAAwB,GACnG4F,EAAW7H,GAAK8B,WAAW7d,SAASmlB,gBAAgBltB,MAAM+lB,iBAAiB,sBAAwB,KAIvG,MAAMoH,EAAWH,EAAcI,QAAY,CAAC3D,EAAsBvT,KAChE,MAAMmX,EAAOnX,EAAGoX,wBACVC,EAAY,IAAIC,EAAAA,GAAI,CACxB3J,EAAG3N,IAAOnO,SAASmlB,gBAAkB,EAAIG,EAAKxJ,EAC9CC,EAAG5N,IAAOnO,SAASmlB,gBAAkB,EAAIG,EAAKvJ,EAC9CxO,MAAOY,EAAGuX,YACVruB,OAAQ8W,EAAGyU,eAGb,OAAIlB,EACK,IAAI+D,EAAAA,GAAI,CACb3J,EAAGnc,KAAK6e,IAAIkD,EAAIxD,KAAMsH,EAAUtH,MAChCnC,EAAGpc,KAAK6e,IAAIkD,EAAItD,IAAKoH,EAAUpH,KAC/B7Q,MAAO5N,KAAKif,IAAI8C,EAAImC,MAAO2B,EAAU3B,OAASlkB,KAAK6e,IAAIkD,EAAIxD,KAAMsH,EAAUtH,MAC3E7mB,OAAQsI,KAAKif,IAAI8C,EAAIiE,OAAQH,EAAUG,QAAUhmB,KAAK6e,IAAIkD,EAAItD,IAAKoH,EAAUpH,OAG1EoH,CAAS,QACf7mB,GACHymB,EAAStJ,GAAKoJ,EACdE,EAASrJ,GAAKmJ,EACdE,EAAS7X,OAA0B,EAAjB2X,EAClBE,EAAS/tB,QAA2B,EAAjB6tB,EAEnB,IAAIU,EAAY,CACdnE,OAAQwC,EAAgB3mB,MACxB6lB,OAAQe,EAAgB5mB,OAG1B,SAASuoB,EAAeC,GACtB,MAAMpE,EAAM,IAAI+D,EAAAA,GAAI7B,GACdmC,EAAcvE,EAAcsE,EAAWrE,OAAQpE,GAC/C2I,EAAexE,EAAcsE,EAAW3C,OAAQzB,GAEtD,IAAI,EAAE5F,EAAC,EAAEC,GAAMsF,EAAU0E,EAAaC,GAEtC,OAAQF,EAAWrE,OAAOE,MACxB,IAAK,MAAO5F,GAAKtS,EAAOnM,MAAM,GAAI,MAClC,IAAK,SAAUye,GAAKtS,EAAOnM,MAAM,GAAI,MACrC,IAAK,OAAQwe,GAAKrS,EAAOnM,MAAM,GAAI,MACnC,IAAK,QAASwe,GAAKrS,EAAOnM,MAAM,GAAI,MAGtC,OAAQwoB,EAAWrE,OAAO1V,OACxB,IAAK,MAAOgQ,GAAKtS,EAAOnM,MAAM,GAAI,MAClC,IAAK,SAAUye,GAAKtS,EAAOnM,MAAM,GAAI,MACrC,IAAK,OAAQwe,GAAKrS,EAAOnM,MAAM,GAAI,MACnC,IAAK,QAASwe,GAAKrS,EAAOnM,MAAM,GAAI,MAGtCokB,EAAI5F,GAAKA,EACT4F,EAAI3F,GAAKA,EAET2F,EAAInU,MAAQ5N,KAAKif,IAAI8C,EAAInU,MAAOqX,EAAStnB,OACzCokB,EAAIrqB,OAASsI,KAAKif,IAAI8C,EAAIrqB,OAAQwtB,EAAUvnB,OAE5C,MAAM2oB,GAAYC,EAAAA,EAAAA,IAAYxE,EAAK0D,GAEnC,MAAO,CAAEa,YAAWnK,IAAGC,IACzB,CAEA,IAAID,EAAI,EAAOC,EAAI,EACnB,MAAMoK,EAAY,CAAErK,EAAG,EAAGC,EAAG,GACvBqK,EAAU,CAAEtK,GAAG,EAAOC,GAAG,GAC/B,IAAIsK,GAAU,EACd,MAAO,EAAM,CACX,GAAIA,IAAW,GAAI,EACjBC,EAAAA,EAAAA,IAAa,uDACb,KACF,CAEA,MAAQxK,EAAGyK,EAAIxK,EAAGyK,EAAE,UAAEP,GAAcJ,EAAcD,GAElD9J,GAAKyK,EACLxK,GAAKyK,EAEL5C,EAAW9H,GAAKyK,EAChB3C,EAAW7H,GAAKyK,EAGhB,CACE,MAAMC,GAAOC,EAAAA,EAAAA,IAAQd,EAAUnE,QACzBkF,EAAeV,EAAUnK,EAAE+D,QAAUoG,EAAUnK,EAAEgE,MACjD8G,EAAeX,EAAUlK,EAAE8D,QAAUoG,EAAUlK,EAAE+D,MAEvD,IAAInX,GAAQ,EAwBZ,GAvBC,CAAC,IAAK,KAAK4B,SAAQyO,IAClB,GACW,MAARA,GAAe2N,IAAiBP,EAAQtK,GAChC,MAAR9C,GAAe4N,IAAiBR,EAAQrK,EACzC,CACA,MAAM8K,EAAe,CAAEpF,OAAQ,IAAKmE,EAAUnE,QAAU0B,OAAQ,IAAKyC,EAAUzC,SACzE2D,EAAe,MAAR9N,EACA,MAATyN,EAAejC,EAAAA,GAAYD,EAAAA,GAClB,MAATkC,EAAelC,EAAAA,GAAWC,EAAAA,GAC9BqC,EAAapF,OAASqF,EAAKD,EAAapF,QACxCoF,EAAa1D,OAAS2D,EAAKD,EAAa1D,QACxC,MAAQ8C,UAAWc,GAAiBlB,EAAcgB,IAE/CE,EAAa/N,GAAK6G,QAAUoG,EAAUjN,GAAK6G,QAC1CkH,EAAa/N,GAAK8G,OAASmG,EAAUjN,GAAK8G,OAC3CiH,EAAa/N,GAAK6G,OAASkH,EAAa/N,GAAK8G,OAC3CmG,EAAUjN,GAAK6G,OAASoG,EAAUjN,GAAK8G,OAAS,KAEnD8F,EAAYiB,EACZle,EAAQyd,EAAQpN,IAAO,EAE3B,KAEErQ,EAAO,QACb,CAGIsd,EAAUnK,EAAE+D,SACd/D,GAAKmK,EAAUnK,EAAE+D,OACjB+D,EAAW9H,GAAKmK,EAAUnK,EAAE+D,QAE1BoG,EAAUnK,EAAEgE,QACdhE,GAAKmK,EAAUnK,EAAEgE,MACjB8D,EAAW9H,GAAKmK,EAAUnK,EAAEgE,OAE1BmG,EAAUlK,EAAE8D,SACd9D,GAAKkK,EAAUlK,EAAE8D,OACjB+D,EAAW7H,GAAKkK,EAAUlK,EAAE8D,QAE1BoG,EAAUlK,EAAE+D,QACd/D,GAAKkK,EAAUlK,EAAE+D,MACjB8D,EAAW7H,GAAKkK,EAAUlK,EAAE+D,OAI9B,CACE,MAAMmG,GAAYC,EAAAA,EAAAA,IAAYtC,EAAYwB,GAC1Ce,EAAUrK,EAAIsJ,EAAS7X,MAAQ0Y,EAAUnK,EAAE+D,OAASoG,EAAUnK,EAAEgE,MAChEqG,EAAUpK,EAAIqJ,EAAS/tB,OAAS4uB,EAAUlK,EAAE8D,OAASoG,EAAUlK,EAAE+D,MAEjEhE,GAAKmK,EAAUnK,EAAE+D,OACjB+D,EAAW9H,GAAKmK,EAAUnK,EAAE+D,OAC5B9D,GAAKkK,EAAUlK,EAAE8D,OACjB+D,EAAW7H,GAAKkK,EAAUlK,EAAE8D,MAC9B,CAEA,KACF,CAEA,MAAM4G,GAAOC,EAAAA,EAAAA,IAAQd,EAAUnE,QAc/B,OAZAnd,OAAO0f,OAAOX,EAAc/lB,MAAO,CACjC,4BAA8B,GAAEsoB,EAAUnE,OAAOE,QAAQiE,EAAUnE,OAAO1V,QAC1E6R,gBAAkB,GAAEgI,EAAUzC,OAAOxB,QAAQiE,EAAUzC,OAAOpX,QAE9DqS,KAAKpgB,EAAAA,EAAAA,IAAcgpB,EAAWjL,IAC9BmC,KAAMrD,EAAK8I,MAAMrmB,WAAQqB,GAAYX,EAAAA,EAAAA,IAAcgpB,EAAWlL,IAC9D+H,MAAOhJ,EAAK8I,MAAMrmB,OAAQU,EAAAA,EAAAA,IAAcgpB,GAAYlL,SAAMnd,EAC1D+lB,UAAU1mB,EAAAA,EAAAA,IAAuB,MAATyoB,EAAe9mB,KAAKif,IAAI8F,EAASpnB,MAAO+f,EAAU9P,OAASmX,EAASpnB,OAC5FsnB,UAAU5mB,EAAAA,EAAAA,IAAcipB,GAAU3nB,EAAAA,EAAAA,IAAM6mB,EAAUrK,EAAG4I,EAASpnB,QAAUynB,IAAW,EAAIL,EAASpnB,MAAOsnB,EAAStnB,SAChHunB,WAAW7mB,EAAAA,EAAAA,IAAcipB,GAAU3nB,EAAAA,EAAAA,IAAM6mB,EAAUpK,EAAG4I,EAAUrnB,QAAUynB,IAAW,EAAIJ,EAAUrnB,MAAOunB,EAAUvnB,WAG/G,CACL6oB,YACAvC,aAEJ,CAgCA,OAvOA/jB,EAAAA,EAAAA,IAAM,CAACgb,EAAK/b,OAAQ+b,EAAKkF,YAAY,CAAAzlB,EAAA8Z,KAA0D,IAAxDrU,EAAWmnB,GAAa5sB,GAAG6sB,EAAWC,GAAahT,EACpF+S,IAAcvR,MAAMmO,QAAQoD,IAAY1Y,EAASc,UAAU4X,GAC3DpnB,IAAc6V,MAAMmO,QAAQhkB,IAAY0O,EAASa,QAAQvP,GAEzDqnB,GAAc3Y,EAASc,UAAU6X,GACjCF,GAAczY,EAASa,QAAQ4X,EAAa,GAC/C,CACD5mB,WAAW,KAGbmjB,EAAAA,EAAAA,KAAe,KACbhV,EAAS4Y,YAAY,KA8LvBxnB,EAAAA,EAAAA,KACE,IAAM,CACJokB,EAAgB3mB,MAChB4mB,EAAgB5mB,MAChB/E,EAAMkR,OACNlR,EAAMmsB,SACNnsB,EAAMosB,UACNpsB,EAAMqsB,SACNrsB,EAAMssB,aAER,IAAMvB,OAGRrf,EAAAA,EAAAA,KAAS,KACP,MAAMqjB,EAAShE,IAIf,IAAKgE,EAAQ,OACb,MAAM,UAAEnB,EAAS,WAAEvC,GAAe0D,EAC9B1D,EAAWvsB,OAAS8uB,EAAUpK,GAChCzI,uBAAsB,KACpBgQ,IACAhQ,uBAAsB,KACpBgQ,GAAgB,GAChB,GAEN,IAGK,CAAEA,iBACX,CAEA,SAAS0D,EAAY3hB,GACnB,OAAO1F,KAAK4nB,MAAMliB,EAAMmiB,kBAAoBA,gBAC9C,CAEA,SAASP,EAAW5hB,GAClB,OAAO1F,KAAK8nB,KAAKpiB,EAAMmiB,kBAAoBA,gBAC7C,CClcA,IAAIE,GAAQ,EACZ,MAAMC,EAAS,GAMR,SAASC,EAAiBC,IAC1BH,GAASC,EAAOjpB,QACnBipB,EAAOnd,KAAKqd,GACZC,MAEAJ,GAAQ,EACRG,IACAC,IAEJ,CAEA,IAAIC,GAAO,EACX,SAASD,IACPE,qBAAqBD,GACrBA,EAAMzU,uBAAsB,KAC1B,MAAM2U,EAAQN,EAAOO,QACjBD,GAAOA,IAEPN,EAAOjpB,OAAQopB,IACdJ,GAAQ,CAAI,GAErB,CCVA,MAAMS,EAAmB,CACvBC,KAAM,KACNC,MAAOC,EACP7jB,MAAO8jB,EACPC,WAAYC,GAQDC,GAA0B5uB,EAAAA,EAAAA,GAAa,CAClDslB,eAAgB,CACdjkB,KAAM,CAACnB,OAAQqK,UACf3J,QAAS,QACTU,UAAYiK,GAA4B,oBAARA,GAAsBA,KAAO8iB,IAE9D,8BAEI,SAASQ,EACdpwB,EACAsiB,GAEA,IAAK2I,EAAAA,GAAY,OAEjB,IAAIoF,GACJ9mB,EAAAA,EAAAA,KAAY4Z,UACVkN,GAAOvV,OAEDwH,EAAK7Z,SAAS1D,OAAS/E,EAAM6mB,iBAEnCwJ,GAAQC,EAAAA,EAAAA,WACF5kB,EAAAA,EAAAA,MACN2kB,EAAMrmB,QAAUqmB,EAAMd,KAAI,KACY,oBAAzBvvB,EAAM6mB,eACf7mB,EAAM6mB,eAAevE,EAAMtiB,EAAOqwB,GAElCT,EAAiB5vB,EAAM6mB,kBAAkBvE,EAAMtiB,EAAOqwB,EACxD,IACA,KAGJnF,EAAAA,EAAAA,KAAe,KACbmF,GAAOvV,MAAM,GAEjB,CAEA,SAASiV,EAAqBzN,GAC5B,SAAStb,EAAUmH,GACjBmU,EAAK7Z,SAAS1D,OAAQ,CACxB,CAEAwrB,EAAWjO,EAAKrb,SAASlC,OAASud,EAAKkF,UAAUziB,MAAOiC,EAC1D,CAEA,SAASgpB,EAAqB1N,EAA0BtiB,GACtD,MAAMspB,EAAehH,EAAKjS,KAAKtL,OAAOukB,aAChCkH,EAAiB,IAAI,IAAI5nB,IAAI,IAC9BihB,EAAiBvH,EAAKrb,SAASlC,MAAO/E,EAAMywB,UAAYnH,OAAeljB,MACvEyjB,EAAiBvH,EAAKkF,UAAUziB,MAAO/E,EAAMywB,UAAYnH,OAAeljB,MACzEqO,QAAOmB,IAAOA,EAAG7D,UAAUuO,SAAS,8BAClCoQ,EAAiBxvB,OAAOilB,WAAa1e,SAASmlB,gBAAgB+D,YAE9DC,EAAmB,CAAChb,GAAM8T,EAAa9T,IAAOA,EAA3B,CAA+B0T,GAAgB7hB,SAASmlB,iBAC7EgE,GACFtO,EAAKjS,KAAKtL,MAAOgN,UAAU8e,IAAI,6BAGjCL,EAAexe,SAAQ,CAAC4D,EAAIkb,KAC1Blb,EAAGlW,MAAMqxB,YAAY,qBAAqBtrB,EAAAA,EAAAA,KAAemQ,EAAGob,aAC5Dpb,EAAGlW,MAAMqxB,YAAY,qBAAqBtrB,EAAAA,EAAAA,KAAemQ,EAAGzO,YAExDyO,IAAOnO,SAASmlB,iBAClBhX,EAAGlW,MAAMqxB,YAAY,wBAAwBtrB,EAAAA,EAAAA,IAAcirB,IAG7D9a,EAAG7D,UAAU8e,IAAI,2BAA2B,KAG9C3F,EAAAA,EAAAA,KAAe,KACbsF,EAAexe,SAAQ,CAAC4D,EAAIkb,KAC1B,MAAMvN,EAAI+B,WAAW1P,EAAGlW,MAAM+lB,iBAAiB,sBACzCjC,EAAI8B,WAAW1P,EAAGlW,MAAM+lB,iBAAiB,sBAE/C7P,EAAGlW,MAAM8kB,eAAe,qBACxB5O,EAAGlW,MAAM8kB,eAAe,qBACxB5O,EAAGlW,MAAM8kB,eAAe,wBACxB5O,EAAG7D,UAAUkf,OAAO,4BAEpBrb,EAAGob,YAAczN,EACjB3N,EAAGzO,WAAaqc,CAAC,IAEfoN,GACFtO,EAAKjS,KAAKtL,MAAOgN,UAAUkf,OAAO,4BACpC,GAEJ,CAEA,SAASf,EAA0B5N,EAA0BtiB,EAAsBqwB,GACjF,IAAIa,GAAO,EACP1B,GAAO,EACP2B,GAAO,EAEX,SAASC,EAAQjjB,GACfkhB,GAAgB,KACd,MAAMjlB,EAAQinB,YAAYC,MAC1BhP,EAAKyI,eAAehmB,QAAQoJ,GAC5B,MAAMojB,EAAOF,YAAYC,MAAQlnB,EACjC8mB,EAAOK,GAAQ,IAAO,IAAM,CAAC,GAEjC,CAEAJ,GAAsC,qBAAxBK,oBAAuClC,GAAiBA,IAAOkC,sBAAqB,KAChGnB,EAAMd,KAAI,KACRgB,EAAWjO,EAAKrb,SAASlC,OAASud,EAAKkF,UAAUziB,OAAOoJ,IAClD+iB,GAKFzB,qBAAqBD,GACrBA,EAAMzU,uBAAsB,KAC1ByU,EAAMzU,uBAAsB,KAC1BqW,EAAOjjB,EAAE,GACT,KAGJijB,EAAOjjB,EACT,GACA,GACF,KAGJ+c,EAAAA,EAAAA,KAAe,KACiB,qBAAvBuG,oBAAsCA,mBAAmBN,GAChE1B,qBAAqBD,EAAI,GAE7B,CAGA,SAASe,EAAY3a,EAA6B5O,GAChD,MAAMwpB,EAAiB,CAAC/oB,YAAaoiB,EAAiBjU,IACtD4a,EAAexe,SAAQ4D,IACrBA,EAAGhO,iBAAiB,SAAUZ,EAAU,CAAEa,SAAS,GAAO,KAG5DqjB,EAAAA,EAAAA,KAAe,KACbsF,EAAexe,SAAQ4D,IACrBA,EAAGjO,oBAAoB,SAAUX,EAAS,GAC1C,GAEN,C,cChKO,MAAM0qB,GAAiBnwB,EAAAA,EAAAA,GAAa,CACzCilB,WAAY,CAACzlB,OAAQU,QACrBklB,UAAW,CAAC5lB,OAAQU,SACnB,SAEI,SAASkwB,EAAU3xB,EAAmBsvB,GAC3C,MAAMsC,EAAoD,CAAC,EACrDC,EAAmBzgB,GAA2B,KAElD,IAAK6Z,EAAAA,GAAY,OAAO5H,QAAQC,SAAQ,GAExC,MAAMtZ,EAAkB,cAAToH,EAQf,OANAwgB,EAAOpL,YAActlB,OAAOyY,aAAaiY,EAAOpL,mBACzCoL,EAAOpL,WAEdoL,EAAOjL,WAAazlB,OAAOyY,aAAaiY,EAAOjL,kBACxCiL,EAAOjL,UAEP,IAAItD,SAAQC,IACjB,MAAMwO,EAAQhtB,SAAS9E,EAAMoR,IAAS,EAAG,IAEzCwgB,EAAOxgB,GAAQlQ,OAAO6X,YAAW,KAC/BuW,IAAKtlB,GACLsZ,EAAQtZ,EAAO,GACd8nB,EAAM,GACT,EAGJ,MAAO,CACLC,cAAeF,EAAgB,cAC/BG,aAAcH,EAAgB,aAElC,C,cCxCA,MAAMI,EAAW,IAAIC,QAEd,SAASC,EAAWvc,EAAiB5V,GAC1C+L,OAAOkF,KAAKjR,GAAOgS,SAAQogB,IACzB,IAAIC,EAAAA,EAAAA,IAAKD,GAAI,CACX,MAAMtxB,GAAOwxB,EAAAA,EAAAA,IAAUF,GACjBpc,EAAUic,EAASM,IAAI3c,GAC7B,GAAgB,MAAZ5V,EAAMoyB,GACRpc,GAAShE,SAAQlP,IACf,MAAO0vB,EAAGC,GAAM3vB,EACZ0vB,IAAM1xB,IACR8U,EAAGjO,oBAAoB7G,EAAM2xB,GAC7Bzc,EAAQ0c,OAAO5vB,GACjB,SAEG,IAAKkT,IAAY,IAAIA,IAAU7D,MAAKrP,GAAKA,EAAE,KAAOhC,GAAQgC,EAAE,KAAO9C,EAAMoyB,KAAK,CACnFxc,EAAGhO,iBAAiB9G,EAAMd,EAAMoyB,IAChC,MAAMO,EAAW3c,GAAW,IAAIpN,IAChC+pB,EAAS9B,IAAI,CAAC/vB,EAAMd,EAAMoyB,KACrBH,EAASlpB,IAAI6M,IAAKqc,EAASW,IAAIhd,EAAI+c,EAC1C,CACF,MACkB,MAAZ3yB,EAAMoyB,GACRxc,EAAGid,gBAAgBT,GAEnBxc,EAAGkd,aAAaV,EAAGpyB,EAAMoyB,GAE7B,GAEJ,CAEO,SAASW,EAAand,EAAiB5V,GAC5C+L,OAAOkF,KAAKjR,GAAOgS,SAAQogB,IACzB,IAAIC,EAAAA,EAAAA,IAAKD,GAAI,CACX,MAAMtxB,GAAOwxB,EAAAA,EAAAA,IAAUF,GACjBpc,EAAUic,EAASM,IAAI3c,GAC7BI,GAAShE,SAAQlP,IACf,MAAO0vB,EAAGC,GAAM3vB,EACZ0vB,IAAM1xB,IACR8U,EAAGjO,oBAAoB7G,EAAM2xB,GAC7Bzc,EAAQ0c,OAAO5vB,GACjB,GAEJ,MACE8S,EAAGid,gBAAgBT,EACrB,GAEJ,CCAO,MAAMY,GAAqBzxB,EAAAA,EAAAA,GAAa,CAC7CgF,OAAQ,CAAC9E,OAAQsK,QACjBjM,UAAW,CAAC2B,OAAQsK,QACpBoQ,eAAgB,CACdvZ,KAAMmJ,OACN5J,QAASA,KAAA,CAAS,IAGpB8wB,YAAa,CACXrwB,KAAMJ,QACNL,aAASiE,GAEX8sB,YAAa1wB,QACb2wB,YAAa,CACXvwB,KAAMJ,QACNL,aAASiE,GAGXqgB,oBAAqBjkB,WAElBkvB,KACF,sBAEI,SAAS0B,EACdpzB,EAAqB+B,GAErB,IADA,SAAE0G,EAAQ,MAAE4qB,GAAwDtxB,EAEpE,MAAMqW,GAAKC,EAAAA,EAAAA,IAAmB,gBACxB4P,GAAczhB,EAAAA,EAAAA,MAEpB,IAAI8sB,GAAY,EACZtT,GAAY,EACZuT,GAAa,EAEjB,MAAMJ,GAActuB,EAAAA,EAAAA,KAAS,IAAM7E,EAAMmzB,aAAqC,MAArBnzB,EAAMmzB,aAAuBnzB,EAAMkzB,cACtFD,GAAcpuB,EAAAA,EAAAA,KAAS,IAAM7E,EAAMizB,aAAqC,MAArBjzB,EAAMizB,cAAwBjzB,EAAMkzB,cAAgBC,EAAYpuB,SAEnH,aAAEitB,EAAY,cAAED,GAAkBJ,EAAS3xB,GAAO+E,IAEpDA,KACG/E,EAAMkzB,aAAeI,GACrBH,EAAYpuB,OAASib,IACjBhgB,EAAMkzB,aAAezqB,EAAS1D,QAAUsuB,EAAMtuB,QAEjD0D,EAAS1D,QAAUA,IACrBwuB,GAAa,GAEf9qB,EAAS1D,MAAQA,EACnB,IAGIyuB,GAAehtB,EAAAA,EAAAA,MACfitB,EAAkB,CACtBjzB,QAAU2N,IACRA,EAAEulB,kBACFzL,EAAYljB,MAASoJ,EAAEwlB,eAAiBxlB,EAAE5H,OACrCkC,EAAS1D,QACZyuB,EAAazuB,MAAQ,CAACoJ,EAAEylB,QAASzlB,EAAE0lB,UAErCprB,EAAS1D,OAAS0D,EAAS1D,KAAK,EAElC+uB,aAAe3lB,IACTA,EAAE4lB,oBAAoBC,mBAE1BV,GAAY,EACZrL,EAAYljB,MAASoJ,EAAEwlB,eAAiBxlB,EAAE5H,OAC1CyrB,IAAc,EAEhBiC,aAAe9lB,IACbmlB,GAAY,EACZvB,GAAe,EAEjB3R,QAAUjS,KAC2D,KAA/D+lB,EAAAA,EAAAA,IAAgB/lB,EAAE5H,OAAuB,oBAE7CyZ,GAAY,EACZ7R,EAAEulB,kBACFzL,EAAYljB,MAASoJ,EAAEwlB,eAAiBxlB,EAAE5H,OAE1CyrB,IAAc,EAEhBmC,OAAShmB,IACP6R,GAAY,EACZ7R,EAAEulB,kBAEF3B,GAAe,GAIbqC,GAAkBvvB,EAAAA,EAAAA,KAAS,KAC/B,MAAMwvB,EAA0C,CAAC,EAcjD,OAZIpB,EAAYluB,QACdsvB,EAAO7zB,QAAUizB,EAAgBjzB,SAE/BR,EAAMkzB,cACRmB,EAAOP,aAAeL,EAAgBK,aACtCO,EAAOJ,aAAeR,EAAgBQ,cAEpCd,EAAYpuB,QACdsvB,EAAOjU,QAAUqT,EAAgBrT,QACjCiU,EAAOF,OAASV,EAAgBU,QAG3BE,CAAM,IAGTC,GAAgBzvB,EAAAA,EAAAA,KAAS,KAC7B,MAAMwvB,EAAwC,CAAC,EAwB/C,GAtBIr0B,EAAMkzB,cACRmB,EAAOP,aAAe,KACpBR,GAAY,EACZtB,GAAc,EAEhBqC,EAAOJ,aAAe,KACpBX,GAAY,EACZvB,GAAe,GAIfoB,EAAYpuB,QACdsvB,EAAOnU,UAAY,KACjBF,GAAY,EACZgS,GAAc,EAEhBqC,EAAOlU,WAAa,KAClBH,GAAY,EACZ+R,GAAe,GAIf/xB,EAAMymB,oBAAqB,CAC7B,MAAM8N,GAAOlS,EAAAA,EAAAA,IAAO8E,EAAAA,EAAa,MACjCkN,EAAO7zB,QAAU,KACfiI,EAAS1D,OAAQ,EACjBwvB,GAAM1M,cAAc,CAExB,CAEA,OAAOwM,CAAM,IAGTG,GAAc3vB,EAAAA,EAAAA,KAAS,KAC3B,MAAMwvB,EAAwC,CAAC,EAgB/C,OAdIr0B,EAAMkzB,cACRmB,EAAOP,aAAe,KAChBP,IACFD,GAAY,EACZC,GAAa,EACbvB,IACF,EAEFqC,EAAOJ,aAAe,KACpBX,GAAY,EACZvB,GAAe,GAIZsC,CAAM,KAGf/sB,EAAAA,EAAAA,IAAM+rB,GAAOvmB,KACPA,KACD9M,EAAMkzB,aAAgBI,GAAeH,EAAYpuB,OAAUib,MAC3DmT,EAAYpuB,OAAUib,GAAehgB,EAAMkzB,aAAgBI,KAE5D7qB,EAAS1D,OAAQ,EACnB,KAGFuC,EAAAA,EAAAA,IAAMmB,GAAUqE,IACTA,GACHiM,YAAW,KACTya,EAAazuB,WAAQqB,CAAS,GAElC,GACC,CAAEquB,MAAO,SAEZ,MAAMC,GAAeluB,EAAAA,EAAAA,OACrB+C,EAAAA,EAAAA,KAAY,KACLmrB,EAAa3vB,QAElB2G,EAAAA,EAAAA,KAAS,KACPuc,EAAYljB,OAAQ4vB,EAAAA,EAAAA,IAAWD,EAAa3vB,MAAM,GAClD,IAGJ,MAAM6vB,GAAYpuB,EAAAA,EAAAA,MACZD,GAAS1B,EAAAA,EAAAA,KAAS,IACD,WAAjB7E,EAAMuG,QAAuBitB,EAAazuB,MAAcyuB,EAAazuB,MACrE6vB,EAAU7vB,OAAc4vB,EAAAA,EAAAA,IAAWC,EAAU7vB,OAC1C8vB,EAAU70B,EAAMuG,OAAQ6R,IAAO6P,EAAYljB,QAE9CkC,GAAWpC,EAAAA,EAAAA,KAAS,IACjBwY,MAAMmO,QAAQjlB,EAAOxB,YACxBqB,EACAG,EAAOxB,QAGb,IAAIsrB,EAgBJ,OAfA/oB,EAAAA,EAAAA,KAAM,MAAQtH,EAAMF,YAAWgN,IACzBA,GAAOme,EAAAA,IACToF,GAAQC,EAAAA,EAAAA,KACRD,EAAMd,KAAI,KACRuF,EAAc90B,EAAOoY,EAAI,CAAE6P,cAAamM,mBAAkB,KAEnD/D,GACTA,EAAMvV,MACR,GACC,CAAE2Z,MAAO,OAAQ1sB,WAAW,KAE/BmjB,EAAAA,EAAAA,KAAe,KACbmF,GAAOvV,MAAM,IAGR,CAAEmN,cAAayM,eAAcnuB,SAAQU,WAAU2tB,YAAWR,kBAAiBE,gBAAeE,cACnG,CAEA,SAASM,EACP90B,EACAoY,EAA6ByD,GAE7B,IADA,YAAEoM,EAAW,gBAAEmM,GAA2FvY,EAoB1G,SAASkZ,IAAwE,IAApDnf,EAAE1P,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG8uB,IAAgB/V,EAAM/Y,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGlG,EAAMmc,eAC1DvG,GAELuc,EAAUvc,GAAIyS,EAAAA,EAAAA,IAAW+L,EAAgBrvB,MAAOka,GAClD,CAEA,SAASgW,IAA0E,IAApDrf,EAAE1P,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG8uB,IAAgB/V,EAAM/Y,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGlG,EAAMmc,eAC5DvG,GAELmd,EAAYnd,GAAIyS,EAAAA,EAAAA,IAAW+L,EAAgBrvB,MAAOka,GACpD,CAEA,SAAS+V,IAAmE,IAArDE,EAAQhvB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGlG,EAAMF,UACtC,MAAMA,EAAY+0B,EAAUK,EAAU9c,GAKtC,OAFA6P,EAAYljB,MAAQjF,GAAWkqB,WAAaC,KAAKC,aAAepqB,OAAYsG,EAErE6hB,EAAYljB,KACrB,EArCAuC,EAAAA,EAAAA,KAAM,IAAMtH,EAAMF,YAAW,CAACgN,EAAKwM,KACjC,GAAIA,GAAUxM,IAAQwM,EAAQ,CAC5B,MAAMxZ,EAAYk1B,EAAa1b,GAC/BxZ,GAAam1B,EAAqBn1B,EACpC,CACIgN,IACFpB,EAAAA,EAAAA,KAAS,IAAMqpB,KACjB,GACC,CAAEhtB,WAAW,KAEhBT,EAAAA,EAAAA,KAAM,IAAMtH,EAAMmc,iBAAgB,KAChC4Y,GAAoB,KAGtB7J,EAAAA,EAAAA,KAAe,KACb+J,GAAsB,GAuB1B,CAEA,SAASJ,EACPK,EACA9c,GAEA,IAAK8c,EAAU,OAEf,IAAI3uB,EACJ,GAAiB,WAAb2uB,EAAuB,CACzB,IAAItf,EAAKwC,GAAI+c,OAAOC,KAAKC,WACzB,MAAOzf,GAAI0f,aAAa,qBACtB1f,EAAKA,EAAGyf,WAEV9uB,EAASqP,CACX,MAEErP,EAF6B,kBAAb2uB,EAEPztB,SAASC,cAAcwtB,GACvB,QAASA,EAETA,EAASE,IAGTF,EAGX,OAAO3uB,CACT,C,+CC7UO,SAASgvB,KACd,IAAKtK,EAAAA,GAAY,OAAOvmB,EAAAA,EAAAA,KAAW,GAEnC,MAAM,IAAE8wB,IAAQC,EAAAA,GAAAA,MAEhB,GAAID,EAAK,CACP,MAAME,GAAYhxB,EAAAA,EAAAA,KAAW,GAI7B,OAHA6C,EAAAA,EAAAA,KAAU,KACRmuB,EAAU3wB,OAAQ,CAAI,IAEjB2wB,CACT,CACE,OAAOhxB,EAAAA,EAAAA,KAAW,EAEtB,CCdO,MAAMixB,IAAgBp0B,EAAAA,EAAAA,GAAa,CACxC8V,MAAO7U,SACN,QAEI,SAASozB,GAAS51B,EAA2BgK,GAClD,MAAM6Q,GAAWnW,EAAAA,EAAAA,KAAW,GACtBmxB,GAAahxB,EAAAA,EAAAA,KAAS,IAAMgW,EAAS9V,OAAS/E,EAAMqX,OAASrN,EAAOjF,QAI1E,SAAS4f,IACF3kB,EAAMqX,QAAOwD,EAAS9V,OAAQ,EACrC,CAEA,OANAuC,EAAAA,EAAAA,IAAM0C,GAAQ,IAAM6Q,EAAS9V,OAAQ,IAM9B,CAAE8V,WAAUgb,aAAYlR,eACjC,C,gDCZA,MAAMmR,GAA0CrmB,OAAOC,IAAI,iBAMrDqmB,IAAcC,EAAAA,EAAAA,IAA0C,IAEvD,SAASC,GACdxtB,EACAytB,EACAC,GAEA,MAAM/d,GAAKC,EAAAA,EAAAA,IAAmB,YACxB+d,GAAoBD,EAEpB5U,GAASc,EAAAA,EAAAA,IAAOyT,QAAa1vB,GAC7BiwB,GAAsBL,EAAAA,EAAAA,IAAS,CACnCM,eAAgB,IAAI1tB,OAEtB2Z,EAAAA,EAAAA,IAAQuT,GAAaO,GAErB,MAAME,GAAU7xB,EAAAA,EAAAA,KAAYwxB,EAAOnxB,QACnCuE,EAAAA,EAAAA,GAAeb,GAAU,KACvB,MAAM+tB,EAAaT,GAAYU,IAAI,KAAK,GACxCF,EAAQxxB,MAAQyxB,EAAaA,EAAa,IAAMN,EAAOnxB,MAEnDqxB,GACFL,GAAY9jB,KAAK,CAACmG,EAAG5B,IAAK+f,EAAQxxB,QAGpCwc,GAAQ+U,eAAezF,IAAIzY,EAAG5B,MAE9B0U,EAAAA,EAAAA,KAAe,KACb,GAAIkL,EAAkB,CACpB,MAAMM,GAAMC,EAAAA,EAAAA,IAAMZ,IAAaa,WAAU9zB,GAAKA,EAAE,KAAOsV,EAAG5B,MAC1Duf,GAAYc,OAAOH,EAAK,EAC1B,CAEAnV,GAAQ+U,eAAe5D,OAAOta,EAAG5B,IAAI,GACrC,IAGJ,MAAMiR,GAAY/iB,EAAAA,EAAAA,KAAW,GACzB0xB,IACF7sB,EAAAA,EAAAA,KAAY,KACV,MAAMutB,EAASf,GAAYU,IAAI,KAAK,KAAOre,EAAG5B,IAC9CuC,YAAW,IAAM0O,EAAU1iB,MAAQ+xB,GAAO,IAI9C,MAAMC,GAAWlyB,EAAAA,EAAAA,KAAS,KAAOwxB,EAAMC,eAAevhB,OAEtD,MAAO,CACL0S,WAAWuP,EAAAA,EAAAA,IAASvP,GACpBsP,WACAE,aAAapyB,EAAAA,EAAAA,KAAS,KAAM,CAAGqxB,OAAQK,EAAQxxB,UAEnD,CC7DO,SAASmyB,GAAa3wB,GAC3B,MAAM4wB,GAAiBtyB,EAAAA,EAAAA,KAAS,KAC9B,MAAMuyB,EAAU7wB,EAAOxB,MAEvB,IAAgB,IAAZqyB,IAAqBnM,EAAAA,GAAY,OAErC,MAAMoM,GACQ,IAAZD,EAAoB3vB,SAAS6vB,KACR,kBAAZF,EAAuB3vB,SAASC,cAAc0vB,GACrDA,EAEJ,GAAqB,MAAjBC,EAEF,YADAE,EAAAA,EAAAA,IAAM,2BAA0BH,KAIlC,IAAII,EAAYH,EAAc3vB,cAAc,iCAQ5C,OANK8vB,IACHA,EAAY/vB,SAASgwB,cAAc,OACnCD,EAAUnmB,UAAY,sBACtBgmB,EAAcK,YAAYF,IAGrBA,CAAS,IAGlB,MAAO,CAAEL,iBACX,C,0BC9BO,SAASQ,GAAcjjB,GAE5B,GAAgC,oBAArBA,EAAKkjB,YAA4B,CAE1C,MAAOljB,EAAK2gB,WAAY3gB,EAAOA,EAAK2gB,WAGpC,OAAI3gB,IAASjN,SAAiB,KAEvBA,QACT,CAEA,MAAM4I,EAAOqE,EAAKkjB,cAGlB,OAAIvnB,IAAS5I,UAAY4I,EAAKunB,YAAY,CAAEC,UAAU,MAAYpwB,SAAiB,KAE5E4I,CACT,CCPA,SAASynB,KACP,OAAO,CACT,CAEA,SAASC,GAAY5pB,EAAeyH,EAAiBC,GAKnD,IAAK1H,IAAmC,IAA9B6pB,GAAc7pB,EAAG0H,GAAoB,OAAO,EAKtD,MAAMxF,EAAOsnB,GAAa/hB,GAC1B,GACwB,qBAAfqiB,YACP5nB,aAAgB4nB,YAChB5nB,EAAK6nB,OAAS/pB,EAAE5H,OAChB,OAAO,EAIT,MAAMwjB,GAAsC,kBAAlBlU,EAAQ9Q,OAAsB8Q,EAAQ9Q,MAAMozB,SAAO,KAAY,OASzF,OAPApO,EAAS9X,KAAK2D,IAONmU,EAAS5X,MAAKyD,GAAMA,GAAI0K,SAASnS,EAAE5H,SAC7C,CAEA,SAASyxB,GAAe7pB,EAAe0H,GACrC,MAAMpN,EAAqC,kBAAlBoN,EAAQ9Q,OAAsB8Q,EAAQ9Q,MAAMqzB,kBAAqBN,GAE1F,OAAOrvB,EAAS0F,EAClB,CAEA,SAASkqB,GAAWlqB,EAAeyH,EAAiBC,GAClD,MAAMG,EAAmC,oBAAlBH,EAAQ9Q,MAAuB8Q,EAAQ9Q,MAAQ8Q,EAAQ9Q,MAAMiR,QAEpFJ,EAAG0iB,cAAeC,yBAA2BR,GAAW5pB,EAAGyH,EAAIC,IAAYkD,YAAW,KACpFif,GAAc7pB,EAAG0H,IAAYG,GAAWA,EAAQ7H,EAAE,GACjD,EACL,CAEA,SAASqqB,GAAc5iB,EAAiB6iB,GACtC,MAAMpoB,EAAOsnB,GAAa/hB,GAE1B6iB,EAAShxB,UAEiB,qBAAfwwB,YAA8B5nB,aAAgB4nB,YACvDQ,EAASpoB,EAEb,CAEO,MAAMqoB,GAAe,CAM1B/iB,QAASC,EAAiBC,GACxB,MAAMrV,EAAW2N,GAAakqB,GAAUlqB,EAAiByH,EAAIC,GACvD8iB,EAAexqB,IACnByH,EAAG0iB,cAAeC,wBAA0BR,GAAW5pB,EAAiByH,EAAIC,EAAQ,EAGtF2iB,GAAa5iB,GAAK/W,IAChBA,EAAI+I,iBAAiB,QAASpH,GAAS,GACvC3B,EAAI+I,iBAAiB,YAAa+wB,GAAa,EAAK,IAGjD/iB,EAAG0iB,gBACN1iB,EAAG0iB,cAAgB,CACjBC,yBAAyB,IAI7B3iB,EAAG0iB,cAAcziB,EAAQS,SAAUC,EAAEC,KAAO,CAC1ChW,UACAm4B,cAEJ,EAEA7hB,UAAWlB,EAAiBC,GACrBD,EAAG0iB,gBAERE,GAAa5iB,GAAK/W,IAChB,IAAKA,IAAQ+W,EAAG0iB,gBAAgBziB,EAAQS,SAAUC,EAAEC,KAAM,OAE1D,MAAM,QAAEhW,EAAO,YAAEm4B,GAAgB/iB,EAAG0iB,cAAcziB,EAAQS,SAAUC,EAAEC,KAEtE3X,EAAI8I,oBAAoB,QAASnH,GAAS,GAC1C3B,EAAI8I,oBAAoB,YAAagxB,GAAa,EAAK,WAGlD/iB,EAAG0iB,cAAcziB,EAAQS,SAAUC,EAAEC,KAC9C,GAGF,I,iCCjEA,SAASoiB,GAAO54B,GACd,MAAM,WAAEmI,EAAU,MAAEzF,KAAUm2B,GAAS74B,EACvC,OAAAjB,EAAAA,EAAAA,IAAA6lB,EAAAA,GAAA,oCAAAziB,QAAAA,IAAA,CAEMnC,EAAMmI,aAAUpJ,EAAAA,EAAAA,IAAA,OAAAmB,EAAAA,EAAAA,IAAA,OAEP,CACL,mBACAF,EAAM0C,MAAMiB,uBAAuBoB,OACpC,MACO/E,EAAM0C,MAAMkB,sBAAsBmB,OACrC8zB,GAAI,QAKnB,CAOO,MAAMtS,IAAoBhlB,EAAAA,EAAAA,GAAa,CAC5CgB,SAAUC,QACVs2B,OAAQ,CAACt2B,QAASf,OAAQsK,QAC1BgtB,YAAa,CACXn2B,KAAMJ,QACNL,SAAS,GAEXsuB,UAAWjuB,QACX+S,aAAc,KACdyjB,aAAc,KACdnrB,SAAUrL,QACVy2B,iBAAkBz2B,QAClB2F,WAAY3F,QACZ02B,WAAY12B,QACZokB,MAAO,CACLhkB,KAAM,CAACJ,QAASf,QAChBU,SAAS,GAEX+zB,OAAQ,CACNtzB,KAAM,CAAC7B,OAAQU,QACfU,QAAS,QAGR6wB,QACAtxB,EAAAA,GAAAA,SACA4K,EAAAA,GAAAA,QACAqpB,QACAhL,OACAwF,QACA1sB,EAAAA,GAAAA,UACAqU,EAAAA,GAAAA,MACF,YAEUyQ,IAAW1mB,EAAAA,GAAAA,KAAAA,CAAiC,CACvDf,KAAM,WAEN8L,WAAY,CAAE8rB,aAAYA,IAE1BS,cAAc,EAEdn5B,MAAO,CACLo5B,oBAAqB52B,WAElB+jB,MAGLhe,MAAO,CACL,gBAAkB4F,IAAkB,EACpC,oBAAsBpJ,IAAmB,EACzCs0B,WAAYA,KAAM,GAGpBv3B,MAAO9B,EAAK+B,GAA0B,IAAxB,MAAEC,EAAK,MAAE+K,EAAK,KAAEoL,GAAMpW,EAClC,MAAMu3B,GAAQ5wB,EAAAA,GAAAA,GAAgB1I,EAAO,cAC/ByI,GAAW5D,EAAAA,EAAAA,IAAS,CACxB0tB,IAAKA,IAAM+G,EAAMv0B,MACjB6tB,IAAK9vB,IACGA,GAAK9C,EAAM6N,WAAWyrB,EAAMv0B,MAAQjC,EAAC,KAGzC,eAAEq0B,GAAmBD,IAAYryB,EAAAA,EAAAA,KAAS,IAAM7E,EAAM84B,QAAU94B,EAAMywB,cACtE,aAAEpsB,IAAiBC,EAAAA,GAAAA,IAAatE,IAChC,WAAEuE,EAAU,MAAE6mB,IAAU5mB,EAAAA,GAAAA,OACxB,WAAEqxB,EAAU,aAAElR,GAAiBiR,GAAQ51B,EAAOyI,GAC9C8wB,GAAa11B,EAAAA,EAAAA,KAAmBgB,EAAAA,EAAAA,KAAS,IACf,kBAAhB7E,EAAM4mB,MAAqB5mB,EAAM4mB,MAAQ,SAEnD,UAAEa,EAAS,SAAEsP,EAAQ,YAAEE,GAAgBhB,GAASxtB,GAAU3E,EAAAA,EAAAA,IAAM9D,EAAO,UAAWA,EAAMo5B,sBACxF,YACJnR,EAAW,aAAEyM,EAAY,OACzBnuB,EAAM,SAAEU,EAAQ,UAAE2tB,EAAS,gBAC3BR,EAAe,cACfE,EAAa,YACbE,GACEpB,EAAapzB,EAAO,CAAEyI,WAAU4qB,MAAO0D,KACrC,gBAAE/pB,IAAoBC,EAAAA,GAAAA,GAAajN,GACnC01B,EAAYH,MACZ,QAAExO,IAAYC,EAAAA,GAAAA,MAEpB1f,EAAAA,EAAAA,KAAM,IAAMtH,EAAM6N,WAAU/K,IACtBA,IAAG2F,EAAS1D,OAAQ,EAAK,IAG/B,MAAMsL,GAAO7J,EAAAA,EAAAA,MACPghB,GAAYhhB,EAAAA,EAAAA,OACZ,cAAEskB,EAAa,eAAEC,GAAmBF,EAAsB7qB,EAAO,CACrEorB,QACA5D,YACAjhB,SACAkC,aAUF,SAASmf,EAAgBzZ,GACvBgK,EAAK,gBAAiBhK,GAEjBnO,EAAMk5B,WACNM,IADkB/wB,EAAS1D,OAAQ,CAE1C,CAEA,SAASqzB,IACP,OAAO3vB,EAAS1D,OAAS0iB,EAAU1iB,KACrC,CAUA,SAASyb,EAAWrS,GACJ,WAAVA,EAAEsS,KAAoBgH,EAAU1iB,QAC7B/E,EAAMk5B,WAKJM,KAJL/wB,EAAS1D,OAAQ,EACbyiB,EAAUziB,OAAOub,SAAS7Y,SAASgyB,gBACrCxR,EAAYljB,OAAOwb,SAI3B,CApCA6P,EAAoBpwB,EAAO,CACzBqQ,OACAmX,YACAvgB,WACAwB,WACAsiB,mBAcFE,EAAAA,KAAc3jB,EAAAA,EAAAA,IAAMmB,GAAUqE,IACxBA,EACF5L,OAAO0G,iBAAiB,UAAW4Y,GAEnCtf,OAAOyG,oBAAoB,UAAW6Y,EACxC,GACC,CAAEzY,WAAW,IAahB,MAAM2xB,GAASC,EAAAA,GAAAA,OACfrwB,EAAAA,EAAAA,IAAe,IAAMtJ,EAAM+4B,cAAa,MACtCa,EAAAA,GAAAA,IAAcF,GAAQ7pB,IAChB4X,EAAU1iB,OAAS0D,EAAS1D,OAC9B8K,GAAK,GACA7P,EAAMk5B,WACNM,IADkB/wB,EAAS1D,OAAQ,GAGxC8K,GACF,GACA,IAGJ,MAAMgW,GAAMrf,EAAAA,EAAAA,MAWZ,SAASgzB,IACHx5B,EAAMi5B,kBAEVzR,EAAUziB,QAAS+e,EAAAA,EAAAA,GAAQ0D,EAAUziB,MAAO,CAC1C,CAAEsgB,gBAAiB,UACnB,CAAEtB,UAAW,eACb,CAAEsB,gBAAiB,WAClB,CACDrB,SAAU,IACVC,OAAQG,GAAAA,IAEZ,CA0EA,OA/FA9c,EAAAA,EAAAA,KAAM,IAAMmB,EAAS1D,QAAU/E,EAAMuC,UAAYvC,EAAMywB,YAAsC,MAAxB0G,EAAepyB,QAAe+H,IACjG,GAAIA,EAAK,CACP,MAAM+sB,EAAetQ,EAAgBlZ,EAAKtL,OACtC80B,GAAgBA,IAAiBpyB,SAASmiB,mBAC5C/D,EAAI9gB,MAAQ80B,EAAa1yB,UAE7B,MAiBFlF,EAAAA,GAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAkc,EAAAA,GAAA,MAEJjZ,EAAMlC,YAAY,CAClB2I,SAAUA,EAAS1D,MACnB/E,OAAOqoB,EAAAA,EAAAA,IAAW,CAChB7hB,IAAKkuB,EACLE,aACCR,EAAgBrvB,MAAO/E,EAAMmc,kBAGhCuZ,EAAU3wB,OAAS8wB,EAAW9wB,QAAKhG,EAAAA,EAAAA,IAAA+6B,EAAAA,GAAA,WAErB3C,EAAepyB,MAAK,GAC3BoyB,EAAepyB,OAAK,CAAA5C,QAAAA,IAAA,EAAApD,EAAAA,EAAAA,IAAA,OAAAmB,EAAAA,EAAAA,IAAA,OAGhB,CACL,YACA,CACE,sBAAuBF,EAAMuC,UAAYvC,EAAMywB,UAC/C,oBAAqBhoB,EAAS1D,MAC9B,uBAAwB/E,EAAMywB,WAEhCpsB,EAAaU,MACbR,EAAWQ,MACX/E,EAAMpB,OACP,MACM,CACLq4B,EAAYlyB,MACZ,CAAE8gB,KAAKpgB,EAAAA,EAAAA,IAAcogB,EAAI9gB,QACzB/E,EAAMN,OACP,IACK2Q,GACD0W,EACAha,GAAK,EAAAhO,EAAAA,EAAAA,IAAA65B,IAAA14B,EAAAA,EAAAA,IAAA,OAGAq5B,EAAU,WACL9wB,EAAS1D,SAAW/E,EAAM4mB,OAClC4N,EAAYzvB,OAAK,OAAAhG,EAAAA,EAAAA,IAAAob,GAAAA,EAAA,mCAKTna,EAAMoa,WAAU,OACpB7T,EAAOxB,MAAK,aACN4f,KAAQA,IAAgBxM,EAAK,aAAa,GAAE,CAAAhW,QAAAA,IAAA,EAAA4M,EAAAA,EAAAA,KAAAhQ,EAAAA,EAAAA,IAAA,OAAAmB,EAAAA,EAAAA,IAAA,KAGnDsnB,EAAS,MAGR,CACL,qBACAxnB,EAAMuV,cACP,MACM,CACLvI,EAAgBjI,MAChB+lB,EAAc/lB,QAEXuvB,EAAcvvB,MACd/E,EAAMg5B,cAAY,CAErBh3B,EAAMG,UAAU,CAAEsG,eAAW,EAAA8T,EAAAA,GAbtB9T,EAAS1D,OAAK,EAAAsK,EAAAA,EAAAA,IAAA,iBACN,CAAE2G,QAAS4R,EAAgBwQ,mBAAkBD,QAASA,IAAM,CAAClQ,EAAYljB,uBAqBjG,CACLkjB,cACA1hB,SACAizB,eACAhS,YACAC,YACAsP,WACAhM,iBAEJ,G,4LClTK,MAAMgP,GAA6Bx4B,EAAAA,EAAAA,GAAa,CACrDge,QAAS9d,OACTiB,MAAOjB,OACPu4B,cAAe,CAACx3B,QAASf,QACzB0G,WAAY,CACVvF,KAAM,CAAC7B,OAAQU,QACfU,QAAS,GAEX83B,OAAQ,CACNr3B,KAAM,CAAC7B,OAAQU,QACfU,QAAS,GAEX6S,MAAO,CACLpS,KAAM,CAAC7B,OAAQU,QACfU,QAAS,OAGRT,EAAAA,EAAAA,SACA8I,EAAAA,EAAAA,SACA7I,EAAAA,EAAAA,GAAa,CAAES,IAAK,YACpBqB,EAAAA,EAAAA,OACF,qBAMU2L,GAAoBvN,EAAAA,EAAAA,KAAAA,CAA2C,CAC1Ef,KAAM,oBAENd,MAAO+5B,IAEPj4B,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAMm4B,EAAwB,GACxBC,EAAgB,EAAI/yB,KAAKgzB,GAAKF,EAE9B7pB,GAAO7J,EAAAA,EAAAA,OAEP,aAAEnC,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,YAAEiL,EAAW,WAAEC,IAAeC,EAAAA,EAAAA,GAAQnL,IACtC,iBAAEoU,EAAgB,gBAAEC,IAAoBC,EAAAA,EAAAA,KAAaxQ,EAAAA,EAAAA,IAAM9D,EAAO,WAChEoU,iBAAkBimB,EAAsBhmB,gBAAiBimB,IAAwBhmB,EAAAA,EAAAA,KAAaxQ,EAAAA,EAAAA,IAAM9D,EAAO,aAC7G,gBAAEu6B,EAAe,eAAE9jB,IAAmB+jB,EAAAA,EAAAA,MACtC,UAAEC,EAAS,YAAEC,IAAgBC,EAAAA,EAAAA,KAE7BC,GAAkB/1B,EAAAA,EAAAA,KAAS,IAAMuC,KAAK6e,IAAI,EAAG7e,KAAKif,IAAI,IAAKf,WAAWtlB,EAAMmI,gBAC5E6M,GAAQnQ,EAAAA,EAAAA,KAAS,IAAM9D,OAAOf,EAAMgV,SACpCD,GAAOlQ,EAAAA,EAAAA,KAAS,IAEbqG,EAAWnG,MACdhE,OAAOf,EAAM+U,MACb2lB,EAAY31B,MACV21B,EAAY31B,MAAMiQ,MAClB5N,KAAK6e,IAAIjR,EAAMjQ,MAAO,MAExB81B,GAAWh2B,EAAAA,EAAAA,KAAS,IAAOq1B,GAAyB,EAAIllB,EAAMjQ,MAAQgQ,EAAKhQ,OAAU,IACrF+1B,GAAcj2B,EAAAA,EAAAA,KAAS,IAAMmQ,EAAMjQ,MAAQgQ,EAAKhQ,MAAQ81B,EAAS91B,QACjEg2B,GAAmBl2B,EAAAA,EAAAA,KAAS,KAAMY,EAAAA,EAAAA,KAAgB,IAAMm1B,EAAgB71B,OAAS,IAAOo1B,KA0E9F,OAxEA5wB,EAAAA,EAAAA,KAAY,KACVgxB,EAAgBx1B,MAAQsL,EAAKtL,MAC7B01B,EAAU11B,MAAQsL,EAAKtL,KAAK,KAG9B9C,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,KAEAiO,EAAI,MACH,CACL,sBACA,CACE,uCAAwCrQ,EAAMg6B,cAC9C,+BAAgCvjB,EAAe1R,MAC/C,sCAA+D,mBAAxB/E,EAAMg6B,eAE/C31B,EAAaU,MACbkG,EAAYlG,MACZqP,EAAiBrP,MACjB/E,EAAMpB,OACP,MACM,CACLsM,EAAWnG,MACXsP,EAAgBtP,MAChB/E,EAAMN,OACP,6EAIeM,EAAMg6B,mBAAgB5zB,EAAYw0B,EAAgB71B,OAAK,CAAA5C,QAAAA,IAAA,EAAApD,EAAAA,EAAAA,IAAA,aAG9D,CACLglB,UAAY,wBAAuBhjB,OAAOf,EAAMi6B,gBACjD,2CAEU,OAAMY,EAAS91B,SAAS81B,EAAS91B,SAAO,EAAAhG,EAAAA,EAAAA,IAAA,gBAG1C,CACL,gCACAs7B,EAAqBt1B,OACtB,MACOu1B,EAAoBv1B,MAAK,uCAI7Bm1B,EAAqB,eACVY,EAAY/1B,MAAK,mBACbo1B,EAAa,oBACZ,GAAC,OAAAp7B,EAAAA,EAAAA,IAAA,sFAQjBm7B,EAAqB,eACVY,EAAY/1B,MAAK,mBACbo1B,EAAa,oBACZY,EAAiBh2B,OAAK,QAI5C/C,EAAMG,UAAOpD,EAAAA,EAAAA,IAAA,8CAETiD,EAAMG,QAAQ,CAAE4C,MAAO61B,EAAgB71B,eAM1C,CAAC,CACV,G,oJChJK,MAAM+S,GAAsBvW,EAAAA,EAAAA,GAAa,CAC9CsM,SAAUrL,QACVgL,MAAOhL,QACPw4B,YAAax4B,QACby4B,cAAez4B,QACf04B,KAAMz5B,OACNmpB,OAAQnpB,QACP,cAEI,SAAS05B,EACdr6B,EACA8pB,EACAsQ,GAEA,OAAOr5B,EAAAA,EAAAA,KAAAA,CAAmB,CACxBf,OAEAd,MAAO8X,EAAoB,CACzBojB,OACAtQ,WAGF9oB,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAMghB,EAAY,CAChBC,cAAepN,GACT5V,EAAM4qB,SACRhV,EAAGlW,MAAM2lB,gBAAkBrlB,EAAM4qB,OAErC,EACAwQ,QAASxlB,GACP,GAAI5V,EAAMi7B,cAAe,CACvB,MAAM,UAAEI,EAAS,WAAEC,EAAU,YAAE3K,EAAW,aAAE4K,GAAiB3lB,EAC7DA,EAAG4lB,yBAA2B,CAC5B3xB,SAAU+L,EAAGlW,MAAMmK,SACnBgc,IAAKjQ,EAAGlW,MAAMmmB,IACdF,KAAM/P,EAAGlW,MAAMimB,KACf3Q,MAAOY,EAAGlW,MAAMsV,MAChBlW,OAAQ8W,EAAGlW,MAAMZ,QAEnB8W,EAAGlW,MAAMmK,SAAW,WACpB+L,EAAGlW,MAAMmmB,IAAO,GAAEwV,MAClBzlB,EAAGlW,MAAMimB,KAAQ,GAAE2V,MACnB1lB,EAAGlW,MAAMsV,MAAS,GAAE2b,MACpB/a,EAAGlW,MAAMZ,OAAU,GAAEy8B,KACvB,CAEIv7B,EAAMg7B,aACRplB,EAAGlW,MAAMqxB,YAAY,UAAW,OAAQ,YAE5C,EACApM,aAAc/O,GACZ,GAAI5V,EAAMi7B,eAAiBrlB,GAAI4lB,yBAA0B,CACvD,MAAM,SAAE3xB,EAAQ,IAAEgc,EAAG,KAAEF,EAAI,MAAE3Q,EAAK,OAAElW,GAAW8W,EAAG4lB,gCAC3C5lB,EAAG4lB,yBACV5lB,EAAGlW,MAAMmK,SAAWA,GAAY,GAChC+L,EAAGlW,MAAMmmB,IAAMA,GAAO,GACtBjQ,EAAGlW,MAAMimB,KAAOA,GAAQ,GACxB/P,EAAGlW,MAAMsV,MAAQA,GAAS,GAC1BY,EAAGlW,MAAMZ,OAASA,GAAU,EAC9B,CACF,GAGF,MAAO,KACL,MAAMsD,EAAMpC,EAAMwN,MAAQiuB,EAAAA,GAAkB7W,EAAAA,GAE5C,OAAOvS,EAAAA,EAAAA,GAAEjQ,EAA4B,CACnCtB,KAAMd,EAAM6N,SAAW,GAAK/M,EAC5B46B,KAAM17B,EAAM6N,YACR7N,EAAMwN,WAAQpH,EAAY,CAAE80B,KAAMl7B,EAAMk7B,SACxCl7B,EAAM6N,SAAW,CAAC,EAAIkV,GACzB/gB,EAAMG,QAAQ,CAErB,GAEJ,CAEO,SAASw5B,EACd76B,EACAiiB,GAEA,IADAmY,EAAIh1B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAEP,OAAOrE,EAAAA,EAAAA,KAAAA,CAAmB,CACxBf,OAEAd,MAAO,CACLk7B,KAAM,CACJt4B,KAAMnB,OACNU,QAAS+4B,GAEXrtB,SAAUrL,SAGZV,MAAO9B,EAAK6b,GAAa,IAAX,MAAE7Z,GAAO6Z,EACrB,MAAO,KACExJ,EAAAA,EAAAA,GAAEuS,EAAAA,GAAY,CACnB9jB,KAAMd,EAAM6N,SAAW,GAAK/M,EAC5B46B,KAAM17B,EAAM6N,YAER7N,EAAM6N,SAAW,CAAC,EAAIkV,GACzB/gB,EAAMG,QAEb,GAEJ,C,cClGe,SAAS,IAAsC,IAArCy5B,EAAmB11B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIqd,EAACrd,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAClD,MAAM21B,EAAetY,EAAI,QAAU,SAC7BuY,GAAiBC,EAAAA,EAAAA,IAAU,UAASF,KAE1C,MAAO,CACL7Y,cAAepN,GACbA,EAAGomB,QAAUpmB,EAAGyf,WAChBzf,EAAGqmB,cAAgB,CACjB7hB,WAAYxE,EAAGlW,MAAM0a,WACrB8hB,SAAUtmB,EAAGlW,MAAMw8B,SACnB,CAACL,GAAejmB,EAAGlW,MAAMm8B,GAE7B,EAEAM,QAASvmB,GACP,MAAMwmB,EAAexmB,EAAGqmB,cAExBrmB,EAAGlW,MAAMqxB,YAAY,aAAc,OAAQ,aAE3Cnb,EAAGlW,MAAMw8B,SAAW,SACpB,MAAMhrB,EAAU,GAAE0E,EAAGkmB,OAErBlmB,EAAGlW,MAAMm8B,GAAgB,IAEpBjmB,EAAG2lB,aAER3lB,EAAGlW,MAAM0a,WAAagiB,EAAahiB,WAE/BwhB,GAAuBhmB,EAAGomB,SAC5BpmB,EAAGomB,QAAQjqB,UAAU8e,IAAI+K,GAG3B7gB,uBAAsB,KACpBnF,EAAGlW,MAAMm8B,GAAgB3qB,CAAM,GAEnC,EAEAqT,aAAc8X,EACdC,iBAAkBD,EAElBjB,QAASxlB,GACPA,EAAGqmB,cAAgB,CACjB7hB,WAAY,GACZ8hB,SAAUtmB,EAAGlW,MAAMw8B,SACnB,CAACL,GAAejmB,EAAGlW,MAAMm8B,IAG3BjmB,EAAGlW,MAAMw8B,SAAW,SACpBtmB,EAAGlW,MAAMm8B,GAAiB,GAAEjmB,EAAGkmB,OAC1BlmB,EAAG2lB,aAERxgB,uBAAsB,IAAOnF,EAAGlW,MAAMm8B,GAAgB,KACxD,EAEAlX,eACA4X,iBAAkB5X,GAGpB,SAASA,EAAc/O,GACjBgmB,GAAuBhmB,EAAGomB,SAC5BpmB,EAAGomB,QAAQjqB,UAAUkf,OAAO2K,GAE9BS,EAAYzmB,EACd,CAEA,SAASymB,EAAazmB,GACpB,MAAMb,EAAOa,EAAGqmB,cAAeJ,GAC/BjmB,EAAGlW,MAAMw8B,SAAWtmB,EAAGqmB,cAAeC,SAC1B,MAARnnB,IAAca,EAAGlW,MAAMm8B,GAAgB9mB,UACpCa,EAAGqmB,aACZ,CACF,CC5E8Bd,EAAoB,iBAAkB,gBAAiB,UAG9CA,EAAoB,4BACvBA,EAAoB,yBACzBA,EAAoB,mBAL5C,MAMMqB,EAAmBrB,EAAoB,oBAOvCsB,GANqBtB,EAAoB,uBACbA,EAAoB,+BAC3BA,EAAoB,uBACbA,EAAoB,+BAC5BA,EAAoB,sBACbA,EAAoB,8BAC3BA,EAAoB,uBAIxCv1B,GAH2Bu1B,EAAoB,8BAG3BQ,EAA2B,oBAAqBe,MAC/Cf,EAA2B,sBAAuBe,EAA0B,IAAI,G,iIChB3G,MAAMp5B,GAAkB/B,EAAAA,EAAAA,GAAa,CAC1CwM,OAAQ,CAACvL,QAASzB,OAAQU,SACzB,UAEI,SAASuC,EACdhE,GAEA,IADAc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,MAAM54B,GAAgBc,EAAAA,EAAAA,KAAS,KAC7B,MAAMkJ,GAAS6uB,EAAAA,EAAAA,IAAM58B,GAASA,EAAM+E,MAAQ/E,EAAM+N,OAC5C+D,EAAoB,GAE1B,IAAe,IAAX/D,GAA8B,KAAXA,EACrB+D,EAAQG,KAAM,GAAEnR,kBACX,GACa,kBAAXiN,GACI,IAAXA,EAEA,IAAK,MAAMhJ,KAAStD,OAAOsM,GAAQlF,MAAM,KACvCiJ,EAAQG,KAAM,UAASlN,KAI3B,OAAO+M,CAAO,IAGhB,MAAO,CAAE/N,gBACX,C,0JCjBO,SAAS84B,EAAUC,GACxB,OAAOlR,EAAAA,EAAAA,KAAiB,KACtB,MAAM9Z,EAAoB,GACpBmL,EAAwB,CAAC,EAE/B,GAAI6f,EAAO/3B,MAAMg4B,WACf,IAAIC,EAAAA,EAAAA,IAAWF,EAAO/3B,MAAMg4B,aAG1B,GAFA9f,EAAOggB,gBAAkBH,EAAO/3B,MAAMg4B,YAEjCD,EAAO/3B,MAAMvD,OAAQ07B,EAAAA,EAAAA,IAAgBJ,EAAO/3B,MAAMg4B,YAAa,CAClE,MAAME,GAAkBE,EAAAA,EAAAA,IAAWL,EAAO/3B,MAAMg4B,YAChD,GAAyB,MAArBE,EAAgBlU,GAAmC,IAAtBkU,EAAgBlU,EAAS,CACxD,MAAMqU,GAAYC,EAAAA,EAAAA,IAAcJ,GAEhChgB,EAAOva,MAAQ06B,EACfngB,EAAOqgB,WAAaF,CACtB,CACF,OAEAtrB,EAAQG,KAAM,MAAK6qB,EAAO/3B,MAAMg4B,cAapC,OATID,EAAO/3B,MAAMvD,QACXw7B,EAAAA,EAAAA,IAAWF,EAAO/3B,MAAMvD,OAC1Byb,EAAOva,MAAQo6B,EAAO/3B,MAAMvD,KAC5Byb,EAAOqgB,WAAaR,EAAO/3B,MAAMvD,MAEjCsQ,EAAQG,KAAM,QAAO6qB,EAAO/3B,MAAMvD,SAI/B,CAAEmJ,aAAcmH,EAASlH,YAAaqS,EAAQ,GAEzD,CAIO,SAAS3I,EACdtU,EACAc,GAEA,MAAMg8B,GAASj4B,EAAAA,EAAAA,KAAS,KAAM,CAC5BrD,MAAMo7B,EAAAA,EAAAA,IAAM58B,GAASA,EAAM+E,MAASjE,EAAOd,EAAMc,GAAQ,UAIzD6J,aAAcyJ,EACdxJ,YAAayJ,GACXwoB,EAASC,GAEb,MAAO,CAAE1oB,mBAAkBC,kBAC7B,CAIO,SAASxQ,EACd7D,EACAc,GAEA,MAAMg8B,GAASj4B,EAAAA,EAAAA,KAAS,KAAM,CAC5Bk4B,YAAYH,EAAAA,EAAAA,IAAM58B,GAASA,EAAM+E,MAASjE,EAAOd,EAAMc,GAAQ,UAI/D6J,aAAchH,EACdiH,YAAahH,GACXi5B,EAASC,GAEb,MAAO,CAAEn5B,yBAAwBC,wBACnC,C,gHCnFA,MAAMvB,EAAmB,CAAC,KAAM,UAAW,cAAe,WAW7CkI,GAAmBhJ,EAAAA,EAAAA,GAAa,CAC3CoB,QAAS,CACPC,KAAMnB,OACNU,QAAS,UACTU,UAAYC,GAAWT,EAAiBU,SAASD,KAElD,WAEI,SAASkI,EACdhL,GAEA,IADAc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,MAAM5xB,GAAiBlG,EAAAA,EAAAA,KAAS,IACtB,GAAE/D,cAAiBd,EAAM2C,YAGnC,MAAO,CAAEoI,iBACX,C,+GCpBO,MAAMuB,GAAqB/K,EAAAA,EAAAA,GAAa,CAC7CzC,OAAQ,CAACiC,OAAQU,QACjB6qB,UAAW,CAACvrB,OAAQU,QACpB4qB,SAAU,CAACtrB,OAAQU,QACnB2qB,UAAW,CAACrrB,OAAQU,QACpB0qB,SAAU,CAACprB,OAAQU,QACnBuT,MAAO,CAACjU,OAAQU,SACf,aAEI,SAASwL,EAAcjN,GAC5B,MAAMgN,GAAkBnI,EAAAA,EAAAA,KAAS,KAAM,CACrC/F,QAAQ2G,EAAAA,EAAAA,IAAczF,EAAMlB,QAC5BwtB,WAAW7mB,EAAAA,EAAAA,IAAczF,EAAMssB,WAC/BD,UAAU5mB,EAAAA,EAAAA,IAAczF,EAAMqsB,UAC9BD,WAAW3mB,EAAAA,EAAAA,IAAczF,EAAMosB,WAC/BD,UAAU1mB,EAAAA,EAAAA,IAAczF,EAAMmsB,UAC9BnX,OAAOvP,EAAAA,EAAAA,IAAczF,EAAMgV,WAG7B,MAAO,CAAEhI,kBACX,C,uHCxBO,MAAMzJ,GAAqBhC,EAAAA,EAAAA,GAAa,CAC7Cg8B,UAAW,CACT36B,KAAM,CAAC7B,OAAQU,QACfoB,UAAWC,GACT,MAAMiC,EAAQD,SAAShC,GAEvB,OACGypB,MAAMxnB,IACPA,GAAS,GAGTA,GAAS,EAEb,IAED,aAMI,SAASb,EAAclE,GAC5B,MAAMiE,GAAmBY,EAAAA,EAAAA,KAAS,KAChC,MAAM04B,GAAYX,EAAAA,EAAAA,IAAM58B,GAASA,EAAM+E,MAAQ/E,EAAMu9B,UAC/CzrB,EAAoB,GAE1B,OAAiB,MAAbyrB,GAEJzrB,EAAQG,KAAM,aAAYsrB,KAFIzrB,CAIhB,IAGhB,MAAO,CAAE7N,mBACX,C,8DCzCA,MAAMu5B,EAAO/tB,OAAO,kBAOpB,SAASguB,EAAeC,EAAUjd,GAChC,IAAIkd,EAAaD,EACjB,MAAOC,EAAY,CACjB,MAAMC,EAAaC,QAAQC,yBAAyBH,EAAYld,GAChE,GAAImd,EAAY,OAAOA,EACvBD,EAAa5xB,OAAOgyB,eAAeJ,EACrC,CAEF,CAEO,SAASjV,EACdniB,GAE+G,QAAAiiB,EAAAtiB,UAAAC,OAD5G63B,EAAI,IAAA3gB,MAAAmL,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJuV,EAAIvV,EAAA,GAAAviB,UAAAuiB,GAIP,OAFCliB,EAAei3B,GAAQQ,EAEjB,IAAIC,MAAM13B,EAAQ,CACvBgsB,IAAKhsB,EAAQka,GACX,GAAIod,QAAQ90B,IAAIxC,EAAQka,GACtB,OAAOod,QAAQtL,IAAIhsB,EAAQka,GAI7B,GAAmB,kBAARA,IAAoBA,EAAIrO,WAAW,OAAQqO,EAAIrO,WAAW,MAErE,IAAK,MAAM5L,KAAOw3B,EAChB,GAAIx3B,EAAIzB,OAAS84B,QAAQ90B,IAAIvC,EAAIzB,MAAO0b,GAAM,CAC5C,MAAM3T,EAAM+wB,QAAQtL,IAAI/rB,EAAIzB,MAAO0b,GACnC,MAAsB,oBAAR3T,EACVA,EAAIoxB,KAAK13B,EAAIzB,OACb+H,CACN,CAEJ,EACA/D,IAAKxC,EAAQka,GACX,GAAIod,QAAQ90B,IAAIxC,EAAQka,GACtB,OAAO,EAIT,GAAmB,kBAARA,GAAoBA,EAAIrO,WAAW,MAAQqO,EAAIrO,WAAW,MAAO,OAAO,EAEnF,IAAK,MAAM5L,KAAOw3B,EAChB,GAAIx3B,EAAIzB,OAAS84B,QAAQ90B,IAAIvC,EAAIzB,MAAO0b,GACtC,OAAO,EAGX,OAAO,CACT,EACAmS,IAAKrsB,EAAQka,EAAK1b,GAChB,GAAI84B,QAAQ90B,IAAIxC,EAAQka,GACtB,OAAOod,QAAQjL,IAAIrsB,EAAQka,EAAK1b,GAIlC,GAAmB,kBAAR0b,GAAoBA,EAAIrO,WAAW,MAAQqO,EAAIrO,WAAW,MAAO,OAAO,EAEnF,IAAK,MAAM5L,KAAOw3B,EAChB,GAAIx3B,EAAIzB,OAAS84B,QAAQ90B,IAAIvC,EAAIzB,MAAO0b,GACtC,OAAOod,QAAQjL,IAAIpsB,EAAIzB,MAAO0b,EAAK1b,GAIvC,OAAO,CACT,EACA+4B,yBAA0Bv3B,EAAQka,GAChC,MAAMmd,EAAaC,QAAQC,yBAAyBv3B,EAAQka,GAC5D,GAAImd,EAAY,OAAOA,EAGvB,GAAmB,kBAARnd,IAAoBA,EAAIrO,WAAW,OAAQqO,EAAIrO,WAAW,MAArE,CAGA,IAAK,MAAM5L,KAAOw3B,EAAM,CACtB,IAAKx3B,EAAIzB,MAAO,SAChB,MAAM64B,EAAaH,EAAcj3B,EAAIzB,MAAO0b,KAAS,MAAOja,EAAIzB,MAAQ04B,EAAcj3B,EAAIzB,MAAMqW,GAAG+iB,WAAY1d,QAAOra,GACtH,GAAIw3B,EAAY,OAAOA,CACzB,CAGA,IAAK,MAAMp3B,KAAOw3B,EAAM,CACtB,MAAMI,EAAY53B,EAAIzB,OAAUyB,EAAIzB,MAAcy4B,GAClD,IAAKY,EAAW,SAChB,MAAMC,EAAQD,EAAUE,QACxB,MAAOD,EAAMl4B,OAAQ,CACnB,MAAMK,EAAM63B,EAAM1O,QACZiO,EAAaH,EAAcj3B,EAAIzB,MAAO0b,GAC5C,GAAImd,EAAY,OAAOA,EACvB,MAAMQ,EAAY53B,EAAIzB,OAAUyB,EAAIzB,MAAcy4B,GAC9CY,GAAWC,EAAMpsB,QAAQmsB,EAC/B,CACF,CArBkF,CAwBpF,GAEJ,C,gNCnDO,MAAMxuB,GAAiBrO,EAAAA,EAAAA,GAAa,CACzC4G,WAAY,CACVvF,KAAM,KACNT,aAASiE,GAEXm4B,SAAU/7B,QACVg8B,UAAW,CAACh8B,QAASf,QACrBwkB,IAAKllB,OACLiO,cAAevN,OACfoM,SAAUrL,SACT,SAEU+J,GAAqBhL,EAAAA,EAAAA,GAAa,CAC7CwD,MAAO,KACP8I,SAAUrL,QACVwM,cAAevN,QACd,cAiBI,SAASgM,EACdzN,EACAy+B,GAEyB,IADzBC,IAAQx4B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAER,MAAMkS,GAAKC,EAAAA,EAAAA,IAAmB,gBAE9B,IAAKD,EACH,MAAM,IAAIumB,MACR,oFAIJ,MAAMhgC,GAAKsoB,EAAAA,EAAAA,OAEX1E,EAAAA,EAAAA,IAAQ9S,OAAOC,IAAK,GAAE+uB,EAAUG,kBAAmBjgC,GAEnD,MAAM6O,GAAQ6U,EAAAA,EAAAA,IAAOoc,EAAW,MAEhC,IAAKjxB,EAAO,CACV,IAAKkxB,EAAU,OAAOlxB,EAEtB,MAAM,IAAImxB,MAAO,2DAA0DF,EAAUG,cACvF,CAEA,MAAM75B,GAAQjB,EAAAA,EAAAA,IAAM9D,EAAO,SACrB6N,GAAWhJ,EAAAA,EAAAA,KAAS,OAAS2I,EAAMK,SAAS9I,QAAS/E,EAAM6N,YAEjEL,EAAM2a,SAAS,CACbxpB,KACAoG,QACA8I,YACCuK,IAEHpQ,EAAAA,EAAAA,KAAgB,KACdwF,EAAM4a,WAAWzpB,EAAG,IAGtB,MAAMgP,GAAa9I,EAAAA,EAAAA,KAAS,IACnB2I,EAAMG,WAAWhP,KAGpBqQ,GAAgBnK,EAAAA,EAAAA,KAAS,IAAM8I,EAAW5I,OAAS,CAACyI,EAAMwB,cAAcjK,MAAO/E,EAAMgP,iBAM3F,OAJA1H,EAAAA,EAAAA,IAAMqG,GAAY5I,IAChBqT,EAAGD,KAAK,iBAAkB,CAAEpT,SAAQ,IAG/B,CACLpG,KACAgP,aACAc,OAAQA,IAAMjB,EAAMhC,OAAO7M,GAAKgP,EAAW5I,OAC3CyG,OAASzG,GAAmByI,EAAMhC,OAAO7M,EAAIoG,GAC7CiK,gBACAjK,QACA8I,WACAL,QAEJ,CAEO,SAASwC,EACdhQ,EACAy+B,GAEA,IAAIzlB,GAAc,EAClB,MAAMoE,GAAQ4Y,EAAAA,EAAAA,IAAsB,IAC9BjmB,GAAWrH,EAAAA,EAAAA,GACf1I,EACA,aACA,IACA8C,GACW,MAALA,EAAkB,GAEf+7B,EAAOzhB,GAAO0hB,EAAAA,EAAAA,IAAYh8B,MAEnCA,IACE,MAAMi8B,EAAMC,EAAU5hB,EAAOta,GAE7B,OAAO9C,EAAMu+B,SAAWQ,EAAMA,EAAI,EAAE,IAIlCE,GAAU5mB,EAAAA,EAAAA,IAAmB,YAEnC,SAAS8P,EAAUvK,EAAiBxF,GAElC,MAAM8mB,EAAYthB,EAEZ6C,EAAMhR,OAAOC,IAAK,GAAE+uB,EAAUG,kBAC9BhqB,GAAWuqB,EAAAA,EAAAA,IAAwB1e,EAAKwe,GAASG,OACjDC,EAAQzqB,EAAS0qB,QAAQlnB,GAE3BinB,GAAS,EACXjiB,EAAMyZ,OAAOwI,EAAO,EAAGH,GAEvB9hB,EAAMnL,KAAKitB,EAEf,CAEA,SAAS9W,EAAYzpB,GACnB,GAAIqa,EAAa,OAMjBumB,IAEA,MAAMF,EAAQjiB,EAAMwZ,WAAUhZ,GAAQA,EAAKjf,KAAOA,IAClDye,EAAMyZ,OAAOwI,EAAO,EACtB,CAGA,SAASE,IACP,MAAM3hB,EAAOR,EAAMoiB,MAAK5hB,IAASA,EAAK/P,WAClC+P,GAA4B,UAApB5d,EAAMw+B,YAA0BzuB,EAAShL,MAAMoB,SACzD4J,EAAShL,MAAQ,CAAC6Y,EAAKjf,IAE3B,CAUA,SAAS6M,EAAQ7M,EAAYoG,GAC3B,MAAM6Y,EAAOR,EAAMoiB,MAAK5hB,GAAQA,EAAKjf,KAAOA,IAC5C,IAAIoG,IAAS6Y,GAAM/P,SAEnB,GAAI7N,EAAMu+B,SAAU,CAClB,MAAMkB,EAAgB1vB,EAAShL,MAAMu5B,QAC/Be,EAAQI,EAAc7I,WAAU9zB,GAAKA,IAAMnE,IAC3CgP,GAAc0xB,EAMpB,GALAt6B,EAAQA,IAAU4I,EAMhBA,GACA3N,EAAMw+B,WACNiB,EAAct5B,QAAU,EACxB,OAIF,IACGwH,GACY,MAAb3N,EAAMimB,KACNwZ,EAAct5B,OAAS,EAAInG,EAAMimB,IACjC,OAEEoZ,EAAQ,GAAKt6B,EAAO06B,EAAcxtB,KAAKtT,GAClC0gC,GAAS,IAAMt6B,GAAO06B,EAAc5I,OAAOwI,EAAO,GAE3DtvB,EAAShL,MAAQ06B,CACnB,KAAO,CACL,MAAM9xB,EAAaoC,EAAShL,MAAMhC,SAASpE,GAC3C,GAAIqB,EAAMw+B,WAAa7wB,EAAY,OAEnCoC,EAAShL,MAASA,IAAU4I,EAAc,CAAChP,GAAM,EACnD,CACF,CAEA,SAAS+gC,EAAMxuB,GAIb,GAFIlR,EAAMu+B,WAAUz2B,EAAAA,EAAAA,IAAY,2DAE3BiI,EAAShL,MAAMoB,OAGb,CACL,MAAMw5B,EAAY5vB,EAAShL,MAAM,GAC3B66B,EAAexiB,EAAMwZ,WAAU9F,GAAKA,EAAEnyB,KAAOghC,IAEnD,IAAIE,GAAYD,EAAe1uB,GAAUkM,EAAMjX,OAC3C25B,EAAU1iB,EAAMyiB,GAEpB,MAAOC,EAAQjyB,UAAYgyB,IAAaD,EACtCC,GAAYA,EAAW3uB,GAAUkM,EAAMjX,OACvC25B,EAAU1iB,EAAMyiB,GAGlB,GAAIC,EAAQjyB,SAAU,OAEtBkC,EAAShL,MAAQ,CAACqY,EAAMyiB,GAAUlhC,GACpC,KAlB4B,CAC1B,MAAMif,EAAOR,EAAMoiB,MAAK5hB,IAASA,EAAK/P,WACtC+P,IAAS7N,EAAShL,MAAQ,CAAC6Y,EAAKjf,IAClC,CAgBF,EAtEA4I,EAAAA,EAAAA,KAAU,KACRg4B,GAAqB,KAGvBv3B,EAAAA,EAAAA,KAAgB,KACdgR,GAAc,CAAI,IAmEpB,MAAMT,EAAsB,CAC1B4P,WACAC,aACArY,WACAvE,SACAqC,UAAU/J,EAAAA,EAAAA,IAAM9D,EAAO,YACvB8P,KAAMA,IAAM4vB,EAAKtiB,EAAMjX,OAAS,GAChC0J,KAAMA,IAAM6vB,EAAK,GACjB/xB,WAAahP,GAAeoR,EAAShL,MAAMhC,SAASpE,GACpDqQ,eAAenK,EAAAA,EAAAA,KAAS,IAAM7E,EAAMgP,gBACpCoO,OAAOvY,EAAAA,EAAAA,KAAS,IAAMuY,IACtB2iB,aAAeh7B,GAAmBg7B,EAAa3iB,EAAOrY,IAKxD,OAFAwd,EAAAA,EAAAA,IAAQkc,EAAWlmB,GAEZA,CACT,CAEA,SAASwnB,EAAc3iB,EAA+BrY,GACpD,MAAMi7B,EAAMnB,EAAOzhB,EAAO,CAACrY,IAE3B,OAAKi7B,EAAI75B,OAEFiX,EAAMwZ,WAAUhZ,GAAQA,EAAKjf,KAAOqhC,EAAI,MAFtB,CAG3B,CAEA,SAASnB,EAAQzhB,EAA+BjV,GAC9C,MAAM63B,EAAgB,GAatB,OAXA73B,EAAW6J,SAAQjN,IACjB,MAAM6Y,EAAOR,EAAMoiB,MAAK5hB,IAAQe,EAAAA,EAAAA,IAAU5Z,EAAO6Y,EAAK7Y,SAChDk7B,EAAc7iB,EAAMrY,GAEP,MAAf6Y,GAAM7Y,MACRi7B,EAAI/tB,KAAK2L,EAAKjf,IACU,MAAfshC,GACTD,EAAI/tB,KAAKguB,EAAYthC,GACvB,IAGKqhC,CACT,CAEA,SAAShB,EAAW5hB,EAA+B4iB,GACjD,MAAME,EAAoB,GAU1B,OARAF,EAAIhuB,SAAQrT,IACV,MAAMwhC,EAAY/iB,EAAMwZ,WAAUhZ,GAAQA,EAAKjf,KAAOA,IACtD,IAAKwhC,EAAW,CACd,MAAMviB,EAAOR,EAAM+iB,GACnBD,EAAOjuB,KAAmB,MAAd2L,EAAK7Y,MAAgB6Y,EAAK7Y,MAAQo7B,EAChD,KAGKD,CACT,C,yFC7UO,SAAS1F,EAAyB/B,EAAyCxiB,GAChF,MAAMskB,GAAkB/zB,EAAAA,EAAAA,MAClBiQ,GAAiB/R,EAAAA,EAAAA,KAAW,GAElC,GAAIoR,EAAAA,GAAuB,CACzB,MAAMI,EAAW,IAAIC,sBAAsBC,IACzCqiB,IAAWriB,EAASF,GAEpBO,EAAe1R,QAAUqR,EAAQopB,MAAK9oB,GAASA,EAAMD,gBAAe,GACnER,IAEHjO,EAAAA,EAAAA,KAAgB,KACdkO,EAAS4Y,YAAY,KAGvBxnB,EAAAA,EAAAA,IAAMizB,GAAiB,CAAC6F,EAAUC,KAC5BA,IACFnqB,EAASc,UAAUqpB,GACnB5pB,EAAe1R,OAAQ,GAGrBq7B,GAAUlqB,EAASa,QAAQqpB,EAAS,GACvC,CACD3L,MAAO,QAEX,CAEA,MAAO,CAAE8F,kBAAiB9jB,iBAC5B,C,iQCVO,MAAM6pB,GAA2B/+B,EAAAA,EAAAA,GAAa,CACnDgB,SAAUC,QACVwH,OAAQ,CACNpH,KAAMJ,QACNL,SAAS,GAEXod,QAAS9d,OACT8+B,UAAW,CAACx/B,OAAQU,QACpB++B,YAAa,CACX59B,KAAM,CAAC7B,OAAQU,QACfU,QAAS,GAEXs+B,UAAWj+B,QACXE,MAAOjB,OACP3C,OAAQ,CACN8D,KAAM,CAAC7B,OAAQU,QACfU,QAAS,GAEX63B,cAAex3B,QACfyjB,IAAK,CACHrjB,KAAM,CAAC7B,OAAQU,QACfU,QAAS,KAEXgG,WAAY,CACVvF,KAAM,CAAC7B,OAAQU,QACfU,QAAS,GAEXu+B,QAASl+B,QACTm+B,OAAQn+B,QACRo+B,QAASp+B,QACTq+B,WAAYr+B,YAETd,EAAAA,EAAAA,SACA+K,EAAAA,EAAAA,GAAkB,CAAErE,SAAU,YAC9B5E,EAAAA,EAAAA,SACA7B,EAAAA,EAAAA,SACA8B,EAAAA,EAAAA,OACF,mBAEUq9B,GAAkBj/B,EAAAA,EAAAA,KAAAA,CAAyC,CACtEf,KAAM,kBAENd,MAAOsgC,IAEP/3B,MAAO,CACL,oBAAsBxD,IAAkB,GAG1CjD,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAMg/B,GAAWr4B,EAAAA,EAAAA,GAAgB1I,EAAO,eAClC,MAAEorB,EAAK,WAAE7mB,IAAeC,EAAAA,EAAAA,OACxB,aAAEH,IAAiBC,EAAAA,EAAAA,IAAatE,IAChC,eAAEoN,IAAmBC,EAAAA,EAAAA,GAAYrN,IACjC,iBAAEoU,EAAgB,gBAAEC,IAAoBC,EAAAA,EAAAA,IAAatU,EAAO,UAC5D,uBAAE2D,EAAsB,sBAAEC,IAA0BC,EAAAA,EAAAA,KAAmBgB,EAAAA,EAAAA,KAAS,IAAM7E,EAAMuf,SAAWvf,EAAM0C,UAC3GiB,uBAAwBq9B,EAAiBp9B,sBAAuBq9B,IAAmBp9B,EAAAA,EAAAA,IAAmB7D,EAAO,UAC/G,eAAEmE,IAAmBC,EAAAA,EAAAA,GAAWpE,IAChC,gBAAEu6B,EAAe,eAAE9jB,IAAmB+jB,EAAAA,EAAAA,KAEtCvU,GAAMphB,EAAAA,EAAAA,KAAS,IAAMC,SAAS9E,EAAMimB,IAAK,MACzCnnB,GAAS+F,EAAAA,EAAAA,KAAS,IAAMC,SAAS9E,EAAMlB,OAAQ,MAC/CoiC,GAAmBr8B,EAAAA,EAAAA,KAAS,IAAMygB,WAAWtlB,EAAMwgC,aAAeva,EAAIlhB,MAAQ,MAC9E61B,GAAkB/1B,EAAAA,EAAAA,KAAS,IAAMygB,WAAWyb,EAASh8B,OAASkhB,EAAIlhB,MAAQ,MAC1Eo8B,GAAat8B,EAAAA,EAAAA,KAAS,IAAMumB,EAAMrmB,QAAU/E,EAAM0gC,UAClDtmB,GAAavV,EAAAA,EAAAA,KAAS,IAAM7E,EAAMg6B,cAAgB,kBAAoB,uBACtE3wB,GAAUxE,EAAAA,EAAAA,KAAS,IACG,MAAnB7E,EAAMugC,UACTvgC,EAAMugC,UACNjb,WAAWtlB,EAAMugC,aAGvB,SAASa,EAAajzB,GACpB,IAAKosB,EAAgBx1B,MAAO,OAE5B,MAAM,KAAE4gB,EAAI,MAAE2F,EAAK,MAAEtW,GAAUulB,EAAgBx1B,MAAMioB,wBAC/CjoB,EAAQo8B,EAAWp8B,MAASiQ,EAAQ7G,EAAEylB,SAAYtI,EAAQtW,GAAS7G,EAAEylB,QAAUjO,EAErFob,EAASh8B,MAAQqC,KAAK4nB,MAAMjqB,EAAQiQ,EAAQiR,EAAIlhB,MAClD,CA2GA,OAzGA9C,EAAAA,EAAAA,IAAU,KAAAlD,EAAAA,EAAAA,IAAAiB,EAAAoC,IAAA,KAEAm4B,EAAe,MACd,CACL,oBACA,CACE,8BAA+Bv6B,EAAMuC,SACrC,4BAA6BvC,EAAMgK,QAAUyM,EAAe1R,MAC5D,6BAA8Bo8B,EAAWp8B,MACzC,6BAA8B/E,EAAM2hB,QACpC,iCAAkC3hB,EAAM6gC,WACxC,6BAA8B7gC,EAAM4gC,SAEtCz8B,EAAeY,MACfV,EAAaU,MACbR,EAAWQ,MACX/E,EAAMpB,OACP,MACM,CACL,CACEwuB,OAA2B,WAAnBptB,EAAMoI,SAAwB,OAAIhC,EAC1Cyf,IAAwB,QAAnB7lB,EAAMoI,SAAqB,OAAIhC,EACpCtH,OAAQkB,EAAMgK,QAASvE,EAAAA,EAAAA,IAAc3G,EAAOiG,OAAS,EACrD,8BAA8BU,EAAAA,EAAAA,IAAc3G,EAAOiG,UAChDqI,EAAerI,OAEpB/E,EAAMN,OACP,iCAEaM,EAAMgK,OAAS,QAAU,OAAM,oCAE7BhK,EAAMimB,IAAG,gBACTjmB,EAAMg6B,mBAAgB5zB,EAAYw0B,EAAgB71B,MAAK,QAC7D/E,EAAMygC,WAAaW,GAAW,CAAAj/B,QAAAA,IAAA,CAEtCnC,EAAM2gC,SAAM5hC,EAAAA,EAAAA,IAAA,0BAGH,CACL,4BACAqV,EAAiBrP,OAClB,MACM,IACFsP,EAAgBtP,MACnB,CAACo8B,EAAWp8B,MAAQ,OAAS,UAAUU,EAAAA,EAAAA,KAAe3G,EAAOiG,OAC7Ds8B,UAAY,IAAE57B,EAAAA,EAAAA,IAAc3G,EAAOiG,MAAQ,YAC3CsE,QAASA,EAAQtE,MACjB8gB,IAAM,eAAapgB,EAAAA,EAAAA,IAAc3G,EAAOiG,MAAQ,MAChDiQ,OAAOvP,EAAAA,EAAAA,IAAc,IAAMy7B,EAAiBn8B,MAAO,KACnD,iCAAiCU,EAAAA,EAAAA,IAAc3G,EAAOiG,OAASo8B,EAAWp8B,MAAQ,GAAK,MACxF,OAEJhG,EAAAA,EAAAA,IAAA,aAGQ,CACL,gCACA4E,EAAuBoB,OACxB,MACM,CACLnB,EAAsBmB,MACtB,CACEsE,QAASA,EAAQtE,MACjBiQ,OAAOvP,EAAAA,EAAAA,IAAgBzF,EAAM2gC,OAAeO,EAAiBn8B,MAAvB,IAA+B,QAExE,OAAAhG,EAAAA,EAAAA,IAAA6lB,EAAAA,GAAA,MAGgBxK,EAAWrV,OAAK,CAAA5C,QAAAA,IAAA,CAC9BnC,EAAMg6B,eASJj7B,EAAAA,EAAAA,IAAA,kDAIA,CAAC,OAAQ,SAAS0e,KAAI6jB,IAAGviC,EAAAA,EAAAA,IAAA,WAEhBuiC,EAAG,MACF,CACL,mCACAA,EACAN,EAAgBj8B,OACjB,MACOk8B,EAAel8B,OAAK,WArBdhG,EAAAA,EAAAA,IAAA,aAEX,CACL,iCACAiiC,EAAgBj8B,OACjB,MACM,CACLk8B,EAAel8B,MACf,CAAEiQ,OAAOvP,EAAAA,EAAAA,IAAcm1B,EAAgB71B,MAAO,QAC/C,SAmBL/C,EAAMG,UAAOpD,EAAAA,EAAAA,IAAA,4CAETiD,EAAMG,QAAQ,CAAE4C,MAAO61B,EAAgB71B,MAAOw8B,OAAQL,EAAiBn8B,eAM1E,CAAC,CACV,I,cC3LK,MAAMyH,GAAkBjL,EAAAA,EAAAA,GAAa,CAC1C0N,QAAS,CAACzM,QAASf,SAClB,UAEI,SAAS0L,EACdnN,GAEA,IADAc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,MAAMzvB,GAAgBrI,EAAAA,EAAAA,KAAS,KAAM,CACnC,CAAE,GAAE/D,cAAkBd,EAAMiP,YAG9B,MAAO,CAAE/B,gBACX,CAEO,SAASs0B,EACdxhC,EAOG+B,GAEH,IADA,MAAEC,GAAqBD,EAEvB,OAAAhD,EAAAA,EAAAA,IAAA,aACgB,GAAEiB,EAAMc,gBAAc,CAChCkB,EAAMG,UAAU,CAChBO,MAAO1C,EAAM0C,MACb+F,SAAUzI,EAAMgK,WACGjL,EAAAA,EAAAA,IAAA+hC,EAAA,UAEN9gC,EAAMuC,SAAQ,OAChBvC,EAAMgK,OAAM,MACbhK,EAAM0C,MAAK,oCAO7B,C,0HCpDA,MAAM++B,EAAc,CAClBC,OAAQ,SACR7b,IAAK,SACLuH,OAAQ,MACRzH,KAAM,QACN2F,MAAO,QAOI7e,GAAoBlL,EAAAA,EAAAA,GAAa,CAC5C6G,SAAU3G,QACT,YAEI,SAAS4L,EAAarN,GAA2E,IAArD2hC,EAAQz7B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAAUgL,EAAiChL,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EACpG,MAAM,MAAEglB,IAAU5mB,EAAAA,EAAAA,MAEZ4I,GAAiBvI,EAAAA,EAAAA,KAAS,KAC9B,IAAK7E,EAAMoI,SAAU,MAAO,CAAC,EAE7B,MAAM,KAAEghB,EAAI,MAAE5V,IAAUsY,EAAAA,EAAAA,IACtB9rB,EAAMoI,SAASS,MAAM,KAAK1C,OAAS,EAC/BnG,EAAMoI,SACL,GAAEpI,EAAMoI,kBACbgjB,EAAMrmB,OAGR,SAAS+jB,EAAWM,GAClB,OAAOlY,EACHA,EAAOkY,GACP,CACN,CAEA,MAAMnM,EAAS,CAAC,EA4BhB,MA1Ba,WAATmM,IACEuY,EAAU1kB,EAAOwkB,EAAYrY,IAAU,eAAcN,EAAUM,QAC9DnM,EAAOmM,GAAQ,GAER,WAAV5V,EACEmuB,EAAU1kB,EAAOwkB,EAAYjuB,IAAW,eAAcsV,EAAUtV,QAC/DyJ,EAAOzJ,GAAS,GAER,WAAT4V,EAAmBnM,EAAO4I,IAAM5I,EAAO0I,KAAO,MAEhD1I,EAAQ,CACN4I,IAAK,OACLuH,OAAQ,OACRzH,KAAM,MACN2F,MAAO,OACGlC,IAAS,MAEvBnM,EAAO8G,UAAY,CACjB8B,IAAK,mBACLuH,OAAQ,mBACRzH,KAAM,mBACN2F,MAAO,mBACPoW,OAAQ,yBACRtY,IAGGnM,CAAM,IAGf,MAAO,CAAE7P,iBACX,C,iLCtDO,MAAMw0B,EAAmC,CAC9CzgC,KAAMY,IAAoC,IAAnC,GAAEpD,EAAE,MAAEoG,EAAK,OAAE88B,EAAM,QAAEC,GAAS//B,EACnC,GAAIgD,EAAO,CACT,MAAMg9B,EAAY,IAAIn5B,IACtBm5B,EAAUlR,IAAIlyB,GAEd,IAAI4iB,EAASugB,EAAQvP,IAAI5zB,GAEzB,MAAiB,MAAV4iB,EACLwgB,EAAUlR,IAAItP,GACdA,EAASugB,EAAQvP,IAAIhR,GAGvB,OAAOwgB,CACT,CAEE,OADAF,EAAOnP,OAAO/zB,GACPkjC,CACT,EAEFr2B,OAAQA,IAAM,MAGHw2B,EAAqC,CAChD7gC,KAAM0a,IAAoC,IAAnC,GAAEld,EAAE,MAAEoG,EAAK,OAAE88B,EAAM,QAAEC,GAASjmB,EACnC,GAAI9W,EAAO,CACT,IAAIwc,EAASugB,EAAQvP,IAAI5zB,GACzBkjC,EAAOhR,IAAIlyB,GAEX,MAAiB,MAAV4iB,GAAkBA,IAAW5iB,EAClCkjC,EAAOhR,IAAItP,GACXA,EAASugB,EAAQvP,IAAIhR,GAGvB,OAAOsgB,CACT,CAGA,OAFEA,EAAOnP,OAAO/zB,GAETkjC,CAAM,EAEfr2B,OAAQA,IAAM,MAGHy2B,EAAiC,CAC5C9gC,KAAM6gC,EAAqB7gC,KAC3BqK,OAAQ2S,IAAoC,IAAnC,GAAExf,EAAE,MAAEoG,EAAK,OAAE88B,EAAM,QAAEC,GAAS3jB,EACrC,IAAKpZ,EAAO,OAAO88B,EAEnB,MAAMK,EAAkB,GAExB,IAAI3gB,EAASugB,EAAQvP,IAAI5zB,GAEzB,MAAiB,MAAV4iB,EACL2gB,EAAKjwB,KAAKsP,GACVA,EAASugB,EAAQvP,IAAIhR,GAGvB,OAAO,IAAI3Y,IAAIs5B,EAAK,GCjDXC,EAA6B3D,IACxC,MAAM4D,EAA2B,CAC/B52B,OAAQzJ,IAA6B,IAA5B,GAAEpD,EAAE,MAAEoG,EAAK,SAAEgL,GAAUhO,EAK9B,GAJApD,GAAKg4B,EAAAA,EAAAA,IAAMh4B,GAIP6/B,IAAcz5B,EAAO,CACvB,MAAMs9B,EAAKhlB,MAAMilB,KAAKvyB,EAASqG,WAAW0W,QAAO,CAACiS,EAAGljB,KAAA,IAAG4E,EAAK1b,GAAM8W,EAAA,MAAe,OAAV9W,EAAiB,IAAIg6B,EAAKte,GAAOse,CAAG,GAAE,IAC9G,GAAkB,IAAdsD,EAAGl8B,QAAgBk8B,EAAG,KAAO1jC,EAAI,OAAOoR,CAC9C,CAIA,OAFAA,EAAS6iB,IAAIj0B,EAAIoG,EAAQ,KAAO,OAEzBgL,CAAQ,EAEjBwyB,GAAIA,CAACz/B,EAAG8R,EAAUktB,KAChB,IAAIrkB,EAAM,IAAI+kB,IAEd,IAAK,MAAM7jC,KAAOmE,GAAK,GACrB2a,EAAM2kB,EAAS52B,OAAO,CACpB7M,KACAoG,OAAO,EACPgL,SAAU,IAAIyyB,IAAI/kB,GAClB7I,WACAktB,YAIJ,OAAOrkB,CAAG,EAEZglB,IAAK3/B,IACH,MAAMi8B,EAAM,GAEZ,IAAK,MAAOte,EAAK1b,KAAUjC,EAAEsT,UACb,OAAVrR,GAAgBg6B,EAAI9sB,KAAKwO,GAG/B,OAAOse,CAAG,GAId,OAAOqD,CAAQ,EAGJM,EAAmClE,IAC9C,MAAMmE,EAAiBR,EAA0B3D,GAE3C4D,EAA2B,CAC/B52B,OAAQ2S,IAA+B,IAA9B,SAAEpO,EAAQ,GAAEpR,KAAOk6B,GAAM1a,EAChCxf,GAAKg4B,EAAAA,EAAAA,IAAMh4B,GACX,MAAMikC,EAAiB7yB,EAAShH,IAAIpK,GAAM,IAAI6jC,IAAI,CAAC,CAAC7jC,EAAIoR,EAASwiB,IAAI5zB,MAAU,IAAI6jC,IACnF,OAAOG,EAAen3B,OAAO,IAAKqtB,EAAMl6B,KAAIoR,SAAU6yB,GAAiB,EAEzEL,GAAIA,CAACz/B,EAAG8R,EAAUktB,KAChB,IAAIrkB,EAAM,IAAI+kB,IAMd,OAJI1/B,GAAGqD,SACLsX,EAAMklB,EAAeJ,GAAGz/B,EAAEw7B,MAAM,EAAG,GAAI1pB,EAAUktB,IAG5CrkB,CAAG,EAEZglB,IAAKA,CAAC3/B,EAAG8R,EAAUktB,IACVa,EAAeF,IAAI3/B,EAAG8R,EAAUktB,IAI3C,OAAOM,CAAQ,EAGJS,EAAsBrE,IACjC,MAAMmE,EAAiBR,EAA0B3D,GAE3C4D,EAA2B,CAC/B52B,OAAQs3B,IAAyC,IAAxC,GAAEnkC,EAAE,SAAEoR,EAAQ,SAAE6E,KAAaikB,GAAMiK,EAE1C,OADAnkC,GAAKg4B,EAAAA,EAAAA,IAAMh4B,GACPiW,EAAS7L,IAAIpK,GAAYoR,EAEtB4yB,EAAen3B,OAAO,CAAE7M,KAAIoR,WAAU6E,cAAaikB,GAAO,EAEnE0J,GAAII,EAAeJ,GACnBE,IAAKE,EAAeF,KAGtB,OAAOL,CAAQ,EAGJW,EAA4BvE,IACvC,MAAMmE,EAAiBD,EAAgClE,GAEjD4D,EAA2B,CAC/B52B,OAAQw3B,IAAyC,IAAxC,GAAErkC,EAAE,SAAEoR,EAAQ,SAAE6E,KAAaikB,GAAMmK,EAE1C,OADArkC,GAAKg4B,EAAAA,EAAAA,IAAMh4B,GACPiW,EAAS7L,IAAIpK,GAAYoR,EAEtB4yB,EAAen3B,OAAO,CAAE7M,KAAIoR,WAAU6E,cAAaikB,GAAO,EAEnE0J,GAAII,EAAeJ,GACnBE,IAAKE,EAAeF,KAGtB,OAAOL,CAAQ,EAGJa,EAAyBzE,IACpC,MAAM4D,EAA2B,CAC/B52B,OAAQ03B,IAAgD,IAA/C,GAAEvkC,EAAE,MAAEoG,EAAK,SAAEgL,EAAQ,SAAE6E,EAAQ,QAAEktB,GAASoB,EACjDvkC,GAAKg4B,EAAAA,EAAAA,IAAMh4B,GACX,MAAMwkC,EAAW,IAAIX,IAAIzyB,GAEnBqN,EAAQ,CAACze,GAEf,MAAOye,EAAMjX,OAAQ,CACnB,MAAMyX,EAAOR,EAAMuS,QAEnB5f,EAAS6iB,IAAIhV,EAAM7Y,EAAQ,KAAO,OAE9B6P,EAAS7L,IAAI6U,IACfR,EAAMnL,QAAQ2C,EAAS2d,IAAI3U,GAE/B,CAEA,IAAI2D,EAASugB,EAAQvP,IAAI5zB,GAEzB,MAAO4iB,EAAQ,CACb,MAAM6hB,EAAcxuB,EAAS2d,IAAIhR,GAC3B8hB,EAAgBD,EAAYE,OAAMC,GAA6B,OAAtBxzB,EAASwiB,IAAIgR,KACtDC,EAAeJ,EAAYE,OAAMC,IAAQxzB,EAAShH,IAAIw6B,IAA8B,QAAtBxzB,EAASwiB,IAAIgR,KAEjFxzB,EAAS6iB,IAAIrR,EAAQ8hB,EAAgB,KAAOG,EAAe,MAAQ,iBAEnEjiB,EAASugB,EAAQvP,IAAIhR,EACvB,CAIA,GAAIid,IAAcz5B,EAAO,CACvB,MAAMs9B,EAAKhlB,MAAMilB,KAAKvyB,EAASqG,WAAW0W,QAAO,CAACiS,EAAG0E,KAAA,IAAGhjB,EAAK1b,GAAM0+B,EAAA,MAAe,OAAV1+B,EAAiB,IAAIg6B,EAAKte,GAAOse,CAAG,GAAE,IAC9G,GAAkB,IAAdsD,EAAGl8B,OAAc,OAAOg9B,CAC9B,CAEA,OAAOpzB,CAAQ,EAEjBwyB,GAAIA,CAACz/B,EAAG8R,EAAUktB,KAChB,IAAIrkB,EAAM,IAAI+kB,IAEd,IAAK,MAAM7jC,KAAOmE,GAAK,GACrB2a,EAAM2kB,EAAS52B,OAAO,CACpB7M,KACAoG,OAAO,EACPgL,SAAU,IAAIyyB,IAAI/kB,GAClB7I,WACAktB,YAIJ,OAAOrkB,CAAG,EAEZglB,IAAKA,CAAC3/B,EAAG8R,KACP,MAAMmqB,EAAM,GAEZ,IAAK,MAAOte,EAAK1b,KAAUjC,EAAEsT,UACb,OAAVrR,GAAmB6P,EAAS7L,IAAI0X,IAAMse,EAAI9sB,KAAKwO,GAGrD,OAAOse,CAAG,GAId,OAAOqD,CAAQ,E,wBCtJV,MAAMsB,EAA6Cj0B,OAAOC,IAAI,kBAExDi0B,EAA6B,CACxChlC,IAAI+F,EAAAA,EAAAA,MACJ2L,KAAM,CACJ8X,SAAUA,IAAM,KAChBC,WAAYA,IAAM,KAClB0Z,SAASt7B,EAAAA,EAAAA,IAAI,IAAIg8B,KACjB5tB,UAAUpO,EAAAA,EAAAA,IAAI,IAAIg8B,KAClBrhC,KAAMA,IAAM,KACZqgB,aAAcA,IAAM,KACpBhW,OAAQA,IAAM,KACdq2B,QAAQr7B,EAAAA,EAAAA,IAAI,IAAIoC,KAChBmH,UAAUvJ,EAAAA,EAAAA,IAAI,IAAIg8B,KAClBoB,gBAAgBp9B,EAAAA,EAAAA,IAAI,MAIXkZ,GAAkBne,EAAAA,EAAAA,GAAa,CAC1Coe,eAAgB,CAACle,OAAQqK,UACzB8T,aAAc,CAACne,OAAQsK,QACvB81B,OAAQxkB,MACRtN,SAAUsN,MACVmhB,UAAWh8B,SACV,UAEUsd,EAAa9f,IACxB,IAAIgZ,GAAc,EAClB,MAAMpE,GAAWpO,EAAAA,EAAAA,IAAI,IAAIg8B,KACnBV,GAAUt7B,EAAAA,EAAAA,IAAI,IAAIg8B,KAElBX,GAASn5B,EAAAA,EAAAA,GAAgB1I,EAAO,SAAUA,EAAM6hC,QAAQ/+B,GAAK,IAAI8F,IAAI9F,KAAIA,GAAK,IAAIA,EAAEo9B,YAEpFvgB,GAAiB9a,EAAAA,EAAAA,KAAS,KAC9B,GAAoC,kBAAzB7E,EAAM2f,eAA6B,OAAO3f,EAAM2f,eAE3D,OAAQ3f,EAAM2f,gBACZ,IAAK,cAAe,OAAOojB,EAAyB/iC,EAAMw+B,WAC1D,IAAK,OAAQ,OAAOqE,EAAmB7iC,EAAMw+B,WAC7C,IAAK,cAAe,OAAO2D,EAA0BniC,EAAMw+B,WAC3D,IAAK,qBAAsB,OAAOkE,EAAgC1iC,EAAMw+B,WACxE,IAAK,UACL,QAAS,OAAOyE,EAAsBjjC,EAAMw+B,WAC9C,IAGI5e,GAAe/a,EAAAA,EAAAA,KAAS,KAC5B,GAAkC,kBAAvB7E,EAAM4f,aAA2B,OAAO5f,EAAM4f,aAEzD,OAAQ5f,EAAM4f,cACZ,IAAK,OAAQ,OAAOqiB,EACpB,IAAK,SAAU,OAAOL,EACtB,IAAK,WACL,QAAS,OAAOI,EAClB,IAGIjyB,GAAWrH,EAAAA,EAAAA,GACf1I,EACA,WACAA,EAAM+P,UACNjN,GAAK6c,EAAe5a,MAAMw9B,GAAGz/B,EAAG8R,EAAS7P,MAAO+8B,EAAQ/8B,SACxDjC,GAAK6c,EAAe5a,MAAM09B,IAAI3/B,EAAG8R,EAAS7P,MAAO+8B,EAAQ/8B,SAO3D,SAAS8+B,EAASllC,GAChB,MAAMujC,EAAkB,GACxB,IAAI3gB,EAAkB5iB,EAEtB,MAAiB,MAAV4iB,EACL2gB,EAAK4B,QAAQviB,GACbA,EAASugB,EAAQ/8B,MAAMwtB,IAAIhR,GAG7B,OAAO2gB,CACT,EAdAl6B,EAAAA,EAAAA,KAAgB,KACdgR,GAAc,CAAI,IAepB,MAAMZ,GAAKC,EAAAA,EAAAA,IAAmB,UAExB0rB,EAAwB,CAC5BplC,IAAI+F,EAAAA,EAAAA,MACJ2L,KAAM,CACJwxB,SACA9xB,WACA6zB,gBAAgB/+B,EAAAA,EAAAA,KAAS,KACvB,MAAMk6B,EAAM,GAEZ,IAAK,MAAOte,EAAK1b,KAAUgL,EAAShL,MAAMqR,UAC1B,OAAVrR,GAAgBg6B,EAAI9sB,KAAKwO,GAG/B,OAAOse,CAAG,IAEZ5W,SAAUA,CAACxpB,EAAIqlC,EAAUC,KACvBD,GAAYrlC,IAAOqlC,GAAYlC,EAAQ/8B,MAAM6tB,IAAIj0B,EAAIqlC,GAErDC,GAAWrvB,EAAS7P,MAAM6tB,IAAIj0B,EAAI,IAElB,MAAZqlC,GACFpvB,EAAS7P,MAAM6tB,IAAIoR,EAAU,IAAIpvB,EAAS7P,MAAMwtB,IAAIyR,IAAa,GAAIrlC,GACvE,EAEFypB,WAAYzpB,IACV,GAAIqa,EAAa,OAEjBpE,EAAS7P,MAAM2tB,OAAO/zB,GACtB,MAAM4iB,EAASugB,EAAQ/8B,MAAMwtB,IAAI5zB,GACjC,GAAI4iB,EAAQ,CACV,MAAMtF,EAAOrH,EAAS7P,MAAMwtB,IAAIhR,IAAW,GAC3C3M,EAAS7P,MAAM6tB,IAAIrR,EAAQtF,EAAKxH,QAAOyvB,GAASA,IAAUvlC,IAC5D,CACAmjC,EAAQ/8B,MAAM2tB,OAAO/zB,GACrBkjC,EAAO98B,MAAM2tB,OAAO/zB,EAAG,EAEzBwC,KAAMA,CAACxC,EAAIoG,EAAOo/B,KAChB/rB,EAAGD,KAAK,aAAc,CAAExZ,KAAIoG,QAAOm9B,KAAM2B,EAAQllC,GAAKwlC,UAEtD,MAAMpC,EAAYniB,EAAa7a,MAAM5D,KAAK,CACxCxC,KACAoG,QACA88B,OAAQ,IAAIj5B,IAAIi5B,EAAO98B,OACvB6P,SAAUA,EAAS7P,MACnB+8B,QAASA,EAAQ/8B,MACjBo/B,UAGFpC,IAAcF,EAAO98B,MAAQg9B,EAAU,EAEzCvgB,aAAcA,CAAC7iB,EAAIoG,EAAOo/B,KACxB,MAAMpC,EAAYniB,EAAa7a,MAAMyG,OAAO,CAC1C7M,KACAoG,QACAgL,SAAU,IAAIyyB,IAAIzyB,EAAShL,OAC3B88B,OAAQ,IAAIj5B,IAAIi5B,EAAO98B,OACvB6P,SAAUA,EAAS7P,MACnB+8B,QAASA,EAAQ/8B,MACjBo/B,UAEFpC,IAAcF,EAAO98B,MAAQg9B,EAAU,EAEzCv2B,OAAQA,CAAC7M,EAAIoG,EAAOo/B,KAClB/rB,EAAGD,KAAK,eAAgB,CAAExZ,KAAIoG,QAAOm9B,KAAM2B,EAAQllC,GAAKwlC,UAExD,MAAMC,EAAczkB,EAAe5a,MAAMyG,OAAO,CAC9C7M,KACAoG,QACAgL,SAAU,IAAIyyB,IAAIzyB,EAAShL,OAC3B6P,SAAUA,EAAS7P,MACnB+8B,QAASA,EAAQ/8B,MACjBo/B,UAEFC,IAAgBr0B,EAAShL,MAAQq/B,GAEjCL,EAAO1zB,KAAKmR,aAAa7iB,EAAIoG,EAAOo/B,EAAM,EAE5CvvB,WACAktB,YAMJ,OAFAvf,EAAAA,EAAAA,IAAQmhB,EAAeK,GAEhBA,EAAO1zB,IAAI,EAGP2L,EAAgBA,CAACrd,EAAkBslC,KAC9C,MAAM1iB,GAASc,EAAAA,EAAAA,IAAOqhB,EAAeC,GAE/BU,EAAY50B,QAAOwX,EAAAA,EAAAA,OACnBqd,GAAaz/B,EAAAA,EAAAA,KAAS,SAAmBuB,IAAbzH,EAAGoG,MAAsBpG,EAAGoG,MAAQs/B,IAEhEzmB,EAAO,IACR2D,EACH5iB,GAAI2lC,EACJnjC,KAAMA,CAACA,EAAegN,IAAaoT,EAAOlR,KAAKlP,KAAKmjC,EAAWv/B,MAAO5D,EAAMgN,GAC5EqT,aAAcA,CAACrgB,EAAegN,IAAcoT,EAAOlR,KAAKmR,aAAa8iB,EAAWv/B,MAAO5D,EAAMgN,GAC7F2N,QAAQjX,EAAAA,EAAAA,KAAS,IAAM0c,EAAOlR,KAAKwxB,OAAO98B,MAAMgE,IAAIu7B,EAAWv/B,SAC/Dwc,QAAQ1c,EAAAA,EAAAA,KAAS,IAAM0c,EAAOlR,KAAKyxB,QAAQ/8B,MAAMwtB,IAAI+R,EAAWv/B,SAChEyG,OAAQA,CAACuE,EAAmB5B,IAAcoT,EAAOlR,KAAK7E,OAAO84B,EAAWv/B,MAAOgL,EAAU5B,GACzFR,YAAY9I,EAAAA,EAAAA,KAAS,IAAkE,OAA5D0c,EAAOlR,KAAKN,SAAShL,MAAMwtB,KAAIoE,EAAAA,EAAAA,IAAM2N,EAAWv/B,UAC3Esc,iBAAiBxc,EAAAA,EAAAA,KAAS,IAA2D,kBAArD0c,EAAOlR,KAAKN,SAAShL,MAAMwtB,IAAI+R,EAAWv/B,SAC1Ew/B,QAAQ1/B,EAAAA,EAAAA,KAAS,KAAO0c,EAAOlR,KAAKuE,SAAS7P,MAAMwtB,IAAI+R,EAAWv/B,SAClEuc,iBAAkBC,EAAOD,kBAW3B,OARCC,EAAOD,kBAAoBC,EAAOlR,KAAK8X,SAASmc,EAAWv/B,MAAOwc,EAAO5iB,GAAGoG,MAAOk/B,IAEpFj8B,EAAAA,EAAAA,KAAgB,MACbuZ,EAAOD,kBAAoBC,EAAOlR,KAAK+X,WAAWkc,EAAWv/B,MAAM,IAGtEk/B,IAAW1hB,EAAAA,EAAAA,IAAQmhB,EAAe9lB,GAE3BA,CAAI,EAGAvC,EAA0BA,KACrC,MAAMkG,GAASc,EAAAA,EAAAA,IAAOqhB,EAAeC,IAErCphB,EAAAA,EAAAA,IAAQmhB,EAAe,IAAKniB,EAAQD,kBAAkB,GAAO,C,+GCvP/D,MAAMkjB,EAAiB,CAAC,SAAU,WAAY,QAAS,WAAY,UAStD93B,GAAoBnL,EAAAA,EAAAA,GAAa,CAC5CsI,SAAU,CACRjH,KAAMnB,OACNoB,UAAuCC,GAAW0hC,EAAezhC,SAASD,KAE3E,YAEI,SAASyK,EACdvN,GAEA,IADAc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,MAAMrvB,GAAkBzI,EAAAA,EAAAA,KAAS,IACxB7E,EAAM6J,SAAY,GAAE/I,MAASd,EAAM6J,gBAAazD,IAGzD,MAAO,CAAEkH,kBACX,C,iICbO,MAAM9J,GAAmBjC,EAAAA,EAAAA,GAAa,CAC3CogB,QAAS,CACP/e,KAAM,CAACJ,QAASzB,OAAQU,QACxBU,aAASiE,IAEV,WAEI,SAAShC,EACdpE,GAEa,IADbc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,MAAMx4B,GAAiBU,EAAAA,EAAAA,KAAS,KAC9B,MAAM8c,GAAUib,EAAAA,EAAAA,IAAM58B,GAASA,EAAM+E,MAAQ/E,EAAM2hB,QAC7C7P,EAAoB,GAE1B,IAAgB,IAAZ6P,GAAgC,KAAZA,EACtB7P,EAAQG,KAAM,GAAEnR,mBACX,GACc,kBAAZ6gB,GACK,IAAZA,EAEA,IAAK,MAAM5c,KAAStD,OAAOkgB,GAAS9Y,MAAM,KACxCiJ,EAAQG,KAAM,WAAUlN,KAI5B,OAAO+M,CAAO,IAGhB,MAAO,CAAE3N,iBACX,C,+LC1BO,SAASsgC,IACd,MAAMrsB,GAAKC,EAAAA,EAAAA,IAAmB,YAE9B,OAAOxT,EAAAA,EAAAA,KAAS,IAAMuT,GAAI+c,OAAOuP,QACnC,CAEO,SAAS/K,IACd,OAAOthB,EAAAA,EAAAA,IAAmB,cAAc8c,OAAOwP,OACjD,CAoBO,SAASj3B,EAAS1N,EAAkC+M,GACzD,MAAM63B,GAAaC,EAAAA,EAAAA,IAAwB,cAErCp5B,GAAS5G,EAAAA,EAAAA,KAAS,OAAS7E,EAAMkP,OAAQlP,EAAM8kC,MAC/CrjB,GAAc5c,EAAAA,EAAAA,KAAS,IACpB4G,GAAQ1G,QAASggC,EAAAA,EAAAA,IAASh4B,EAAO,WAAYg4B,EAAAA,EAAAA,IAAS/kC,EAAO,WAGtE,GAA0B,kBAAf4kC,EACT,MAAO,CACLn5B,SACAgW,cACAvS,MAAMpL,EAAAA,EAAAA,IAAM9D,EAAO,SAIvB,MAAMuL,EAAOvL,EAAM8kC,GAAKF,EAAWl3B,QAAQ1N,QAA2BoG,EAChE4+B,EAAQP,IAEd,MAAO,CACLh5B,SACAgW,cACAujB,MAAOz5B,GAAMy5B,MACbx2B,SAAUjD,GAAMiD,SAChB/F,SAAU8C,IAAQ1G,EAAAA,EAAAA,KAAS,IACpB7E,EAAMilC,MACND,EAAMjgC,MAEJwG,EAAK25B,eAAengC,QAAS4Z,EAAAA,EAAAA,IAAUpT,EAAKy5B,MAAMjgC,MAAMogC,MAAOH,EAAMjgC,MAAMogC,OAFzD55B,EAAK25B,eAAengC,MADpBwG,EAAK9C,UAAU1D,QAK1CmK,MAAMrK,EAAAA,EAAAA,KAAS,IAAM7E,EAAM8kC,GAAKv5B,GAAMy5B,MAAMjgC,MAAMmK,KAAOlP,EAAMkP,OAEnE,CAEO,MAAMvC,GAAkBpL,EAAAA,EAAAA,GAAa,CAC1C2N,KAAMzN,OACN8P,QAAS/O,QACTsiC,GAAI,CAACrjC,OAAQsK,QACbk5B,MAAOziC,SACN,UAEH,IAAI4iC,GAAe,EACZ,SAASxL,EAAeF,EAA4BpK,GACzD,IACI+V,EACAC,EAFAC,GAAS,EA0Bb,SAASC,EAAYr3B,GACfA,EAAEoK,OAAOktB,WAEbF,GAAS,EACTxsB,YAAW,IAAOwsB,GAAS,IAC7B,CA3BIta,EAAAA,MACFvf,EAAAA,EAAAA,KAAS,KACPxK,OAAO0G,iBAAiB,WAAY49B,GACpCH,EAAe3L,GAAQgM,YAAW,CAACZ,EAAIxC,EAAMzyB,KACtCu1B,EAGHG,EAASjW,EAAGzf,GAAQA,IAFpBkJ,YAAW,IAAMwsB,EAASjW,EAAGzf,GAAQA,MAIvCu1B,GAAe,CAAI,IAErBE,EAAc5L,GAAQiM,WAAU,KAC9BP,GAAe,CAAK,GACpB,KAEJla,EAAAA,EAAAA,KAAe,KACbhqB,OAAOyG,oBAAoB,WAAY69B,GACvCH,MACAC,KAAe,IAUrB,C,qEC3HO,SAASte,IACd,MAAM5O,GAAKC,EAAAA,EAAAA,IAAmB,cAExB0O,EAAU3O,EAAIgnB,MAAMrY,QAE1B,MAAO,CAAEA,QAASA,EAAU,CAAE,CAACA,GAAU,SAAO3gB,EAClD,C,+GCLA,MAAMw/B,EAAkB,CAAC,UAAW,QAAS,UAAW,QAAS,WAOpDp7B,GAAgBjJ,EAAAA,EAAAA,GAAa,CACxCwT,KAAM,CACJnS,KAAM,CAACnB,OAAQV,QACfoB,QAAS,YAEV,QAEI,SAASgJ,EACdnL,GAEA,IADAc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,OAAO/Q,EAAAA,EAAAA,KAAiB,KACtB,IAAI3gB,EACAC,EASJ,OARInI,EAAAA,EAAAA,IAAS6iC,EAAiB5lC,EAAM+U,MAClC9J,EAAe,GAAEnK,WAAcd,EAAM+U,OAC5B/U,EAAM+U,OACf7J,EAAa,CACX8J,OAAOvP,EAAAA,EAAAA,IAAczF,EAAM+U,MAC3BjW,QAAQ2G,EAAAA,EAAAA,IAAczF,EAAM+U,QAGzB,CAAE9J,cAAaC,aAAY,GAEtC,C,+EC/BO,SAASzB,IACd,MAAMoR,GAAWnW,EAAAA,EAAAA,KAAW,IAE5B6C,EAAAA,EAAAA,KAAU,KACRrG,OAAO6Z,uBAAsB,KAC3BF,EAAS9V,OAAQ,CAAI,GACrB,IAGJ,MAAMyE,GAAgB3E,EAAAA,EAAAA,KAAS,IAAOgW,EAAS9V,WAE1CqB,EAFmD,CACtDgU,WAAY,qBAGd,MAAO,CAAE5Q,gBAAeqR,UAAUmc,EAAAA,EAAAA,IAASnc,GAC7C,C,qECTO,MAAMlZ,GAAeJ,EAAAA,EAAAA,GAAa,CACvCa,IAAK,CACHQ,KAAMnB,OACNU,QAAS,QAEV,M,gHCPI,MAAM2V,GAAsBvW,EAAAA,EAAAA,GAAa,CAC9C6Y,WAAY,CACVxX,KAAM,CAACJ,QAASf,OAAQsK,QACxB5J,QAAS,kBACTU,UAAWiK,IAAe,IAARA,IAEnB,cAOUqN,EAA6DA,CAACna,EAAK+B,KAAgB,IAAd,MAAEC,GAAOD,EACzF,MAAM,WAAEqY,EAAU,SAAEvM,KAAagrB,GAAS74B,GAEpC,UAAE6U,EAAY+P,EAAAA,MAAeihB,GAAsC,kBAAfzrB,EAA0BA,EAAa,CAAC,EAElG,OAAO/H,EAAAA,EAAAA,GACLwC,GACAwT,EAAAA,EAAAA,IAAiC,kBAAfjO,EACd,CAAEtZ,KAAM+M,EAAW,GAAKuM,GACxByrB,EACJhN,EACA,CAAEhrB,aACF7L,EACD,C,8JCtBI,MAAM8jC,EAAkB,CAC7B,WACA,OACA,QACA,WACA,OACA,SAUK,SAASz6B,EAAaoW,EAAsB3gB,GACjD,OAAA/B,EAAAA,EAAAA,IAAAkc,EAAAA,GAAA,MAEMwG,IAAW1iB,EAAAA,EAAAA,IAAA,4BAAiC,GAAE+B,cAAe,OAAK/B,EAAAA,EAAAA,IAAA,6BAEtC,GAAE+B,eAAgB,OAGtD,CAEO,MAAM2J,GAAmBlJ,EAAAA,EAAAA,GAAa,CAC3CmB,MAAOjB,OACPyD,QAAS,CACPtC,KAAMnB,OACNU,QAAS,WACTU,UAAYC,GAAWgjC,EAAgB/iC,SAASD,KAEjD,WAEI,SAASgI,EACd9K,GAEA,IADAc,EAAIoF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAGy2B,EAAAA,EAAAA,MAEP,MAAM9xB,GAAiBhG,EAAAA,EAAAA,KAAS,KAC9B,MAAM,QAAEK,IAAY6gC,EAAAA,EAAAA,IAAM/lC,GAC1B,MAAQ,GAAEc,cAAiBoE,GAAS,KAGhC,aAAEyF,EAAY,YAAEC,IAAgBiyB,EAAAA,EAAAA,KAASh4B,EAAAA,EAAAA,KAAS,KACtD,MAAM,QAAEK,EAAO,MAAExC,IAAUqjC,EAAAA,EAAAA,IAAM/lC,GACjC,MAAO,CACL,CAAC,CAAC,WAAY,QAAQ+C,SAASmC,GAAW,aAAe,QAASxC,EACnE,KAGH,MAAO,CAAEiI,eAAcC,cAAaC,iBACtC,C,oECpDA,MAAMm7B,EAAav2B,OAAO,cAIpBw2B,EAAe,GAErB,SAASliB,EAAWnO,EAAiB7Q,GACnC6Q,EAAGlW,MAAMqkB,UAAYhf,EACrB6Q,EAAGlW,MAAMwmC,gBAAkBnhC,CAC7B,CAiBA,SAASohC,EAAch4B,GACrB,MAA8B,eAAvBA,EAAEi4B,YAAYtlC,IACvB,CAEA,SAASulC,EAAiBl4B,GACxB,MAA8B,kBAAvBA,EAAEi4B,YAAYtlC,IACvB,CAEA,MAAMwlC,EAAY,SAChBn4B,EACAyH,GAEG,IADH7Q,EAAoBmB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEpBqgC,EAAS,EACTC,EAAS,EAEb,IAAKH,EAAgBl4B,GAAI,CACvB,MAAM+C,EAAS0E,EAAGoX,wBACZzmB,EAAS4/B,EAAah4B,GAAKA,EAAEs4B,QAAQt4B,EAAEs4B,QAAQtgC,OAAS,GAAKgI,EAEnEo4B,EAAShgC,EAAOqtB,QAAU1iB,EAAOyU,KACjC6gB,EAASjgC,EAAOstB,QAAU3iB,EAAO2U,GACnC,CAEA,IAAI6gB,EAAS,EACTC,EAAQ,GACR/wB,EAAGgxB,SAASC,QACdF,EAAQ,IACRD,EAAS9wB,EAAGuX,YAAc,EAC1BuZ,EAAS3hC,EAAM28B,OAASgF,EAASA,EAASt/B,KAAK0/B,MAAMP,EAASG,IAAW,GAAKF,EAASE,IAAW,GAAK,GAEvGA,EAASt/B,KAAK0/B,KAAKlxB,EAAGuX,aAAe,EAAIvX,EAAGyU,cAAgB,GAAK,EAGnE,MAAM0c,GAAcnxB,EAAGuX,YAAwB,EAATuZ,GAAe,EAApC,KACXM,GAAcpxB,EAAGyU,aAAyB,EAATqc,GAAe,EAArC,KAEXnjB,EAAIxe,EAAM28B,OAASqF,EAAaR,EAASG,EAAX,KAC9BljB,EAAIze,EAAM28B,OAASsF,EAAaR,EAASE,EAAX,KAEpC,MAAO,CAAEA,SAAQC,QAAOpjB,IAAGC,IAAGujB,UAASC,UACzC,EAEMC,EAAU,CAEdC,KACE/4B,EACAyH,GAEA,IADA7Q,EAAoBmB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAExB,IAAK0P,GAAIgxB,SAASO,QAChB,OAGF,MAAM3P,EAAY/vB,SAASgwB,cAAc,QACnC5T,EAAYpc,SAASgwB,cAAc,QAEzCD,EAAUE,YAAY7T,GACtB2T,EAAUnmB,UAAY,sBAElBtM,EAAMnG,QACR44B,EAAUnmB,WAAc,IAAGtM,EAAMnG,SAGnC,MAAM,OAAE8nC,EAAM,MAAEC,EAAK,EAAEpjB,EAAC,EAAEC,EAAC,QAAEujB,EAAO,QAAEC,GAAYV,EAAUn4B,EAAGyH,EAAI7Q,GAE7DgQ,EAAmB,EAAT2xB,EAAF,KACd7iB,EAAUxS,UAAY,sBACtBwS,EAAUnkB,MAAMsV,MAAQD,EACxB8O,EAAUnkB,MAAMZ,OAASiW,EAEzBa,EAAG8hB,YAAYF,GAEf,MAAM3yB,EAAW3D,OAAOkkB,iBAAiBxP,GACrC/Q,GAAkC,WAAtBA,EAASgF,WACvB+L,EAAGlW,MAAMmK,SAAW,WACpB+L,EAAGwxB,QAAQC,iBAAmB,UAGhCxjB,EAAU9R,UAAU8e,IAAI,8BACxBhN,EAAU9R,UAAU8e,IAAI,gCACxB9M,EAAUF,EAAY,aAAYN,MAAMC,cAAcmjB,KAASA,KAASA,MACxE9iB,EAAUujB,QAAQE,UAAY7lC,OAAO4vB,YAAYC,OAEjDvY,YAAW,KACT8K,EAAU9R,UAAUkf,OAAO,8BAC3BpN,EAAU9R,UAAU8e,IAAI,2BACxB9M,EAAUF,EAAY,aAAYkjB,MAAYC,oBAA0B,GACvE,EACL,EAEAl+B,KAAM8M,GACJ,IAAKA,GAAIgxB,SAASO,QAAS,OAE3B,MAAMF,EAAUrxB,EAAG2xB,uBAAuB,uBAE1C,GAAuB,IAAnBN,EAAQ9gC,OAAc,OAC1B,MAAM0d,EAAYojB,EAAQA,EAAQ9gC,OAAS,GAE3C,GAAI0d,EAAUujB,QAAQI,SAAU,OAC3B3jB,EAAUujB,QAAQI,SAAW,OAElC,MAAMC,EAAOpW,YAAYC,MAAQvwB,OAAO8iB,EAAUujB,QAAQE,WACpDxV,EAAQ1qB,KAAK6e,IAAI,IAAMwhB,EAAM,GAEnC1uB,YAAW,KACT8K,EAAU9R,UAAUkf,OAAO,2BAC3BpN,EAAU9R,UAAU8e,IAAI,4BAExB9X,YAAW,KACT,MAAMkuB,EAAUrxB,EAAG2xB,uBAAuB,uBACnB,IAAnBN,EAAQ9gC,QAAgByP,EAAGwxB,QAAQC,mBACrCzxB,EAAGlW,MAAMmK,SAAW+L,EAAGwxB,QAAQC,wBACxBzxB,EAAGwxB,QAAQC,kBAGhBxjB,EAAUwR,YAAYA,aAAezf,GAAIA,EAAG8xB,YAAY7jB,EAAUwR,WAAW,GAChF,IAAI,GACNvD,EACL,GAGF,SAAS6V,EAAiB5iC,GACxB,MAAwB,qBAAVA,KAA2BA,CAC3C,CAEA,SAAS6iC,EAAYz5B,GACnB,MAAMpJ,EAAuB,CAAC,EACxB8iC,EAAU15B,EAAEwlB,cAElB,GAAKkU,GAASjB,UAAWiB,EAAQjB,QAAQkB,UAAW35B,EAAE63B,GAAtD,CAKA,GAFA73B,EAAE63B,IAAc,EAEZG,EAAah4B,GACf05B,EAAQjB,QAAQkB,SAAU,EAC1BD,EAAQjB,QAAQmB,SAAU,OAM1B,GAAIF,EAAQjB,QAAQmB,QAAS,OAQ/B,GALAhjC,EAAM28B,OAASmG,EAAQjB,QAAQoB,UAAY3B,EAAgBl4B,GACvD05B,EAAQjB,QAAQhoC,QAClBmG,EAAMnG,MAAQipC,EAAQjB,QAAQhoC,OAG5BunC,EAAah4B,GAAI,CAEnB,GAAI05B,EAAQjB,QAAQqB,gBAAiB,OAErCJ,EAAQjB,QAAQqB,gBAAkB,KAChChB,EAAQC,KAAK/4B,EAAG05B,EAAS9iC,EAAM,EAEjC8iC,EAAQjB,QAAQsB,UAAYhnC,OAAO6X,YAAW,KACxC8uB,GAASjB,SAASqB,kBACpBJ,EAAQjB,QAAQqB,kBAChBJ,EAAQjB,QAAQqB,gBAAkB,KACpC,GACChC,EACL,MACEgB,EAAQC,KAAK/4B,EAAG05B,EAAS9iC,EAnC8C,CAqC3E,CAEA,SAASojC,EAAYh6B,GACnBA,EAAE63B,IAAc,CAClB,CAEA,SAASoC,EAAYj6B,GACnB,MAAM05B,EAAU15B,EAAEwlB,cAClB,GAAKkU,GAASjB,QAAd,CAMA,GAJA1lC,OAAOyY,aAAakuB,EAAQjB,QAAQsB,WAIrB,aAAX/5B,EAAEvL,MAAuBilC,EAAQjB,QAAQqB,gBAQ3C,OAPAJ,EAAQjB,QAAQqB,kBAChBJ,EAAQjB,QAAQqB,gBAAkB,UAGlCJ,EAAQjB,QAAQsB,UAAYhnC,OAAO6X,YAAW,KAC5CqvB,EAAWj6B,EAAE,KAKjBjN,OAAO6X,YAAW,KACZ8uB,EAAQjB,UACViB,EAAQjB,QAAQkB,SAAU,EAC5B,IAEFb,EAAQn+B,KAAK++B,EAtBgB,CAuB/B,CAEA,SAASQ,EAAkBl6B,GACzB,MAAM05B,EAAU15B,EAAEwlB,cAEbkU,GAASjB,UAEViB,EAAQjB,QAAQqB,kBAClBJ,EAAQjB,QAAQqB,gBAAkB,MAGpC/mC,OAAOyY,aAAakuB,EAAQjB,QAAQsB,WACtC,CAEA,IAAII,GAAiB,EAErB,SAASC,EAAoBp6B,GACtBm6B,GAAmBn6B,EAAEq6B,UAAYC,EAAAA,GAAAA,OAAkBt6B,EAAEq6B,UAAYC,EAAAA,GAAAA,QACpEH,GAAiB,EACjBV,EAAWz5B,GAEf,CAEA,SAASu6B,EAAoBv6B,GAC3Bm6B,GAAiB,EACjBF,EAAWj6B,EACb,CAEA,SAASw6B,EAAiBx6B,GACpBm6B,IACFA,GAAiB,EACjBF,EAAWj6B,GAEf,CAEA,SAASy6B,EAAchzB,EAAiBC,EAAiCgzB,GACvE,MAAM,MAAE9jC,EAAK,UAAEgR,GAAcF,EACvBsxB,EAAUQ,EAAgB5iC,GAahC,GAZKoiC,GACHF,EAAQn+B,KAAK8M,GAGfA,EAAGgxB,QAAUhxB,EAAGgxB,SAAW,CAAC,EAC5BhxB,EAAGgxB,QAAQO,QAAUA,EACrBvxB,EAAGgxB,QAAQoB,SAAWjyB,EAAU2rB,OAChC9rB,EAAGgxB,QAAQC,OAAS9wB,EAAU8wB,QAC1BiC,EAAAA,EAAAA,IAAS/jC,IAAUA,EAAMnG,QAC3BgX,EAAGgxB,QAAQhoC,MAAQmG,EAAMnG,OAGvBuoC,IAAY0B,EAAY,CAC1B,GAAI9yB,EAAU+E,KAGZ,OAFAlF,EAAGhO,iBAAiB,aAAcugC,EAAY,CAAEtgC,SAAS,SACzD+N,EAAGhO,iBAAiB,YAAaugC,GAInCvyB,EAAGhO,iBAAiB,aAAcggC,EAAY,CAAE//B,SAAS,IACzD+N,EAAGhO,iBAAiB,WAAYwgC,EAAY,CAAEvgC,SAAS,IACvD+N,EAAGhO,iBAAiB,YAAaygC,EAAkB,CAAExgC,SAAS,IAC9D+N,EAAGhO,iBAAiB,cAAewgC,GAEnCxyB,EAAGhO,iBAAiB,YAAaggC,GACjChyB,EAAGhO,iBAAiB,UAAWwgC,GAC/BxyB,EAAGhO,iBAAiB,aAAcwgC,GAElCxyB,EAAGhO,iBAAiB,UAAW2gC,GAC/B3yB,EAAGhO,iBAAiB,QAAS8gC,GAE7B9yB,EAAGhO,iBAAiB,OAAQ+gC,GAG5B/yB,EAAGhO,iBAAiB,YAAawgC,EAAY,CAAEvgC,SAAS,GAC1D,MAAYs/B,GAAW0B,GACrBE,EAAgBnzB,EAEpB,CAEA,SAASmzB,EAAiBnzB,GACxBA,EAAGjO,oBAAoB,YAAaigC,GACpChyB,EAAGjO,oBAAoB,aAAcigC,GACrChyB,EAAGjO,oBAAoB,WAAYygC,GACnCxyB,EAAGjO,oBAAoB,YAAa0gC,GACpCzyB,EAAGjO,oBAAoB,cAAeygC,GACtCxyB,EAAGjO,oBAAoB,UAAWygC,GAClCxyB,EAAGjO,oBAAoB,aAAcygC,GACrCxyB,EAAGjO,oBAAoB,UAAW4gC,GAClC3yB,EAAGjO,oBAAoB,QAAS+gC,GAChC9yB,EAAGjO,oBAAoB,YAAaygC,GACpCxyB,EAAGjO,oBAAoB,OAAQghC,EACjC,CAEA,SAAShzB,EAASC,EAAiBC,GACjC+yB,EAAahzB,EAAIC,GAAS,EAC5B,CAEA,SAASiB,EAAWlB,UACXA,EAAGgxB,QACVmC,EAAgBnzB,EAClB,CAEA,SAASozB,EAASpzB,EAAiBC,GACjC,GAAIA,EAAQ9Q,QAAU8Q,EAAQwqB,SAC5B,OAGF,MAAMwI,EAAalB,EAAgB9xB,EAAQwqB,UAC3CuI,EAAahzB,EAAIC,EAASgzB,EAC5B,CAEO,MAAMh8B,EAAS,CACpB8I,UACAmB,YACAkyB,U,6LCzVF,MAAM98B,EAAQ,CAAC,MAAO,UAChBsJ,EAAS,CAAC,QAAS,MAAO,OAAQ,SAgBjC,SAASsW,EAAa5C,EAAgBkC,GAC3C,IAAKhC,EAAM5V,GAAS0V,EAAOrgB,MAAM,KAQjC,OAPK2K,IACHA,GACEzQ,EAAAA,EAAAA,IAASmJ,EAAOkd,GAAQ,SACtBrmB,EAAAA,EAAAA,IAASyS,EAAQ4T,GAAQ,MACzB,UAGC,CACLA,KAAM6f,EAAW7f,EAAMgC,GACvB5X,MAAOy1B,EAAWz1B,EAAO4X,GAE7B,CAEO,SAAS6d,EAAYr3B,EAAkCwZ,GAC5D,MAAY,UAARxZ,EAAwBwZ,EAAQ,QAAU,OAClC,QAARxZ,EAAsBwZ,EAAQ,OAAS,QACpCxZ,CACT,CAEO,SAASoa,EAAU9C,GACxB,MAAO,CACLE,KAAM,CACJsY,OAAQ,SACR7b,IAAK,SACLuH,OAAQ,MACRzH,KAAM,QACN2F,MAAO,QACPpC,EAAOE,MACT5V,MAAO0V,EAAO1V,MAElB,CAEO,SAASyY,EAAW/C,GACzB,MAAO,CACLE,KAAMF,EAAOE,KACb5V,MAAO,CACLkuB,OAAQ,SACR7b,IAAK,SACLuH,OAAQ,MACRzH,KAAM,QACN2F,MAAO,QACPpC,EAAO1V,OAEb,CAEO,SAAS0Y,EAAYhD,GAC1B,MAAO,CACLE,KAAMF,EAAO1V,MACbA,MAAO0V,EAAOE,KAElB,CAEO,SAAS+E,EAASjF,GACvB,OAAOnmB,EAAAA,EAAAA,IAASmJ,EAAOgd,EAAOE,MAAQ,IAAM,GAC9C,C,4FCxEO,SAASnE,EAAmBrP,GACjC,MAAMmX,EAAOnX,EAAGoX,wBACVttB,EAAQ0lB,iBAAiBxP,GACzBszB,EAAKxpC,EAAMqkB,UAEjB,GAAImlB,EAAI,CACN,IAAIC,EAAI1lB,EAAIC,EAAI0lB,EAAIC,EACpB,GAAIH,EAAG92B,WAAW,aAChB+2B,EAAKD,EAAG5K,MAAM,GAAI,GAAGz1B,MAAM,MAC3B4a,GAAM0lB,EAAG,GACTzlB,GAAMylB,EAAG,GACTC,GAAMD,EAAG,IACTE,GAAMF,EAAG,QACJ,KAAID,EAAG92B,WAAW,WAOvB,OAAO,IAAI8a,EAAAA,GAAIH,GANfoc,EAAKD,EAAG5K,MAAM,GAAI,GAAGz1B,MAAM,MAC3B4a,GAAM0lB,EAAG,GACTzlB,GAAMylB,EAAG,GACTC,GAAMD,EAAG,GACTE,GAAMF,EAAG,EAGX,CAEA,MAAMrE,EAAKplC,EAAM2lB,gBACX9B,EAAIwJ,EAAKxJ,EAAI6lB,GAAM,EAAI3lB,GAAM6B,WAAWwf,GACxCthB,EAAIuJ,EAAKvJ,EAAI6lB,GAAM,EAAI3lB,GAAM4B,WAAWwf,EAAGxG,MAAMwG,EAAGxF,QAAQ,KAAO,IACnEgK,EAAI7lB,EAAKsJ,EAAK/X,MAAQyO,EAAK7N,EAAG+a,YAAc,EAC5Cte,EAAIqR,EAAKqJ,EAAKjuB,OAAS4kB,EAAK9N,EAAG2lB,aAAe,EAEpD,OAAO,IAAIrO,EAAAA,GAAI,CAAE3J,IAAGC,IAAGxO,MAAOs0B,EAAGxqC,OAAQuT,GAC3C,CACE,OAAO,IAAI6a,EAAAA,GAAIH,EAEnB,CAEO,SAASjJ,EACdlO,EACA2zB,EACAtzB,GAEA,GAA0B,qBAAfL,EAAGkO,QAAyB,MAAO,CAAEO,SAAUhB,QAAQC,WAElE,IAAIO,EACJ,IACEA,EAAYjO,EAAGkO,QAAQylB,EAAWtzB,EAGpC,CAFE,MAAOuzB,GACP,MAAO,CAAEnlB,SAAUhB,QAAQC,UAC7B,CAUA,MARkC,qBAAvBO,EAAUQ,WAClBR,EAAkBQ,SAAW,IAAIhB,SAAQC,IACxCO,EAAU4lB,SAAW,KACnBnmB,EAAQO,EAAU,CACnB,KAIEA,CACT,C,wGC9DO,MAAMqJ,EAMXkZ,YAAWrkC,GAKR,IALU,EAAEwhB,EAAC,EAAEC,EAAC,MAAExO,EAAK,OAAElW,GAK3BiD,EACC2nC,KAAKnmB,EAAIA,EACTmmB,KAAKlmB,EAAIA,EACTkmB,KAAK10B,MAAQA,EACb00B,KAAK5qC,OAASA,CAChB,CAEI+mB,UAAS,OAAO6jB,KAAKlmB,CAAE,CACvB4J,aAAY,OAAOsc,KAAKlmB,EAAIkmB,KAAK5qC,MAAO,CACxC6mB,WAAU,OAAO+jB,KAAKnmB,CAAE,CACxB+H,YAAW,OAAOoe,KAAKnmB,EAAImmB,KAAK10B,KAAM,EAGrC,SAAS2Y,EAAa5E,EAAQC,GACnC,MAAO,CACLzF,EAAG,CACD+D,OAAQlgB,KAAK6e,IAAI,EAAG+C,EAAErD,KAAOoD,EAAEpD,MAC/B4B,MAAOngB,KAAK6e,IAAI,EAAG8C,EAAEuC,MAAQtC,EAAEsC,QAEjC9H,EAAG,CACD8D,OAAQlgB,KAAK6e,IAAI,EAAG+C,EAAEnD,IAAMkD,EAAElD,KAC9B0B,MAAOngB,KAAK6e,IAAI,EAAG8C,EAAEqE,OAASpE,EAAEoE,SAGtC,CAEO,SAASrI,EAAcxe,GAC5B,OAAI8W,MAAMmO,QAAQjlB,GACT,IAAI2mB,EAAI,CACb3J,EAAGhd,EAAO,GACVid,EAAGjd,EAAO,GACVyO,MAAO,EACPlW,OAAQ,IAGHyH,EAAOymB,uBAElB,C,mGCzCO,SAASnM,EACd8oB,GAGA,IAFAvnC,EAAG8D,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,MACNpF,EAAaoF,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAEb,OAAOvE,EAAAA,EAAAA,KAAAA,CAAmB,CACxBf,KAAMA,IAAQ8P,EAAAA,EAAAA,KAAWmrB,EAAAA,EAAAA,IAAS4N,EAAMp4B,QAAQ,MAAO,OAEvDvR,MAAO,CACLoC,IAAK,CACHQ,KAAMnB,OACNU,QAASC,OAGRV,EAAAA,EAAAA,MAGLI,MAAO9B,EAAK+B,GAAa,IAAX,MAAEC,GAAOD,EACrB,MAAO,KACEsQ,EAAAA,EAAAA,GAAErS,EAAMoC,IAAK,CAClBxD,MAAO,CAAC+qC,EAAO3pC,EAAMpB,OACrBc,MAAOM,EAAMN,OACZsC,EAAMG,YAEb,GAEJ,C,wGCjCO,MAAMiiB,EAAiB,+BACjBF,EAAoB,+BACpBQ,EAAoB,4B","sources":["webpack://microsite/./src/components/HeaderComponents/OSHeaderComponent.vue","webpack://microsite/./src/components/HeaderComponents/OSHeaderComponent.vue?87d4","webpack://microsite/../../../src/components/VToolbar/VToolbarTitle.tsx","webpack://microsite/../../../src/components/VToolbar/VToolbar.tsx","webpack://microsite/../composables/scroll.ts","webpack://microsite/../../../src/components/VAppBar/VAppBar.tsx","webpack://microsite/../../../src/components/VAvatar/VAvatar.tsx","webpack://microsite/../composables/selectLink.ts","webpack://microsite/../../../src/components/VBtn/VBtn.tsx","webpack://microsite/../../../src/components/VBtnGroup/VBtnGroup.tsx","webpack://microsite/../../../src/components/VBtnToggle/VBtnToggle.tsx","webpack://microsite/../../../src/components/VDefaultsProvider/VDefaultsProvider.tsx","webpack://microsite/../../../src/components/VGrid/VCol.ts","webpack://microsite/../../../src/components/VGrid/VContainer.tsx","webpack://microsite/../../../src/components/VGrid/VRow.ts","webpack://microsite/../../../src/components/VIcon/VIcon.tsx","webpack://microsite/../../../src/components/VResponsive/VResponsive.tsx","webpack://microsite/../../../src/directives/intersect/index.ts","webpack://microsite/../../../src/components/VImg/VImg.tsx","webpack://microsite/../../../src/components/VList/VListGroup.tsx","webpack://microsite/../../../src/components/VList/VListSubheader.tsx","webpack://microsite/../../../src/components/VDivider/VDivider.tsx","webpack://microsite/../../../src/components/VList/VListChildren.tsx","webpack://microsite/../composables/list-items.ts","webpack://microsite/../../../src/components/VList/VList.tsx","webpack://microsite/../../../src/components/VList/VListItemSubtitle.ts","webpack://microsite/../../../src/components/VList/VListItemTitle.ts","webpack://microsite/../../../src/components/VList/VListItem.tsx","webpack://microsite/../../../src/components/VList/list.ts","webpack://microsite/../../../src/components/VMain/VMain.tsx","webpack://microsite/../../../src/components/transitions/dialog-transition.tsx","webpack://microsite/../../../src/components/VMenu/VMenu.tsx","webpack://microsite/../../../src/components/VMenu/shared.ts","webpack://microsite/../../../../src/components/VOverlay/util/point.ts","webpack://microsite/../util/isFixedPosition.ts","webpack://microsite/../util/getScrollParent.ts","webpack://microsite/../../../src/components/VOverlay/locationStrategies.ts","webpack://microsite/../../../src/components/VOverlay/requestNewFrame.ts","webpack://microsite/../../../src/components/VOverlay/scrollStrategies.ts","webpack://microsite/../composables/delay.ts","webpack://microsite/../util/bindProps.ts","webpack://microsite/../../../src/components/VOverlay/useActivator.tsx","webpack://microsite/../composables/hydration.ts","webpack://microsite/../composables/lazy.ts","webpack://microsite/../composables/stack.ts","webpack://microsite/../composables/teleport.ts","webpack://microsite/../util/dom.ts","webpack://microsite/../../../src/directives/click-outside/index.ts","webpack://microsite/../../../src/components/VOverlay/VOverlay.tsx","webpack://microsite/../../../src/components/VProgressCircular/VProgressCircular.tsx","webpack://microsite/../../../src/components/transitions/createTransition.ts","webpack://microsite/../../../src/components/transitions/expand-transition.ts","webpack://microsite/../../../src/components/transitions/index.ts","webpack://microsite/../composables/border.ts","webpack://microsite/../composables/color.ts","webpack://microsite/../composables/density.ts","webpack://microsite/../composables/dimensions.ts","webpack://microsite/../composables/elevation.ts","webpack://microsite/../composables/forwardRefs.ts","webpack://microsite/../composables/group.ts","webpack://microsite/../composables/intersectionObserver.ts","webpack://microsite/../../../src/components/VProgressLinear/VProgressLinear.tsx","webpack://microsite/../composables/loader.tsx","webpack://microsite/../composables/location.ts","webpack://microsite/../../../src/composables/nested/openStrategies.ts","webpack://microsite/../../../src/composables/nested/selectStrategies.ts","webpack://microsite/../../../src/composables/nested/nested.ts","webpack://microsite/../composables/position.ts","webpack://microsite/../composables/rounded.ts","webpack://microsite/../composables/router.tsx","webpack://microsite/../composables/scopeId.ts","webpack://microsite/../composables/size.ts","webpack://microsite/../composables/ssrBoot.ts","webpack://microsite/../composables/tag.ts","webpack://microsite/../composables/transition.ts","webpack://microsite/../composables/variant.tsx","webpack://microsite/../../../src/directives/ripple/index.ts","webpack://microsite/../util/anchor.ts","webpack://microsite/../util/animation.ts","webpack://microsite/../util/box.ts","webpack://microsite/../util/createSimpleFunctional.ts","webpack://microsite/../util/easing.ts"],"sourcesContent":["\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mdi-menu\n \n \n \n \n \n Privacy Policy\n \n \n \n \n \n \n \n \n \n\n\n\n","import { render } from \"./OSHeaderComponent.vue?vue&type=template&id=c268946e\"\nimport script from \"./OSHeaderComponent.vue?vue&type=script&lang=js\"\nexport * from \"./OSHeaderComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/codebuild/output/src2505458926/src/LetMC.PropertyMicroSite/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVToolbarTitleProps = propsFactory({\n text: String,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VToolbarTitle')\n\nexport type VToolbarTitleSlots = {\n default: never\n text: never\n}\n\nexport const VToolbarTitle = genericComponent()({\n name: 'VToolbarTitle',\n\n props: makeVToolbarTitleProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n \n { hasText && (\n \n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n \n )}\n \n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType\n","// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n \n { hasImage && (\n \n { !slots.image ? (\n \n ) : (\n \n )}\n \n )}\n\n \n \n { slots.prepend && (\n \n { slots.prepend?.() }\n \n )}\n\n { hasTitle && (\n \n {{ text: slots.title }}\n \n )}\n\n { slots.default?.() }\n\n { slots.append && (\n \n { slots.append?.() }\n \n )}\n \n \n\n \n \n { isExtended.value && (\n \n { extension }\n \n )}\n \n \n \n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType\n","// Utilities\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { clamp, consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport interface ScrollProps {\n scrollTarget?: string\n scrollThreshold?: string | number\n}\n\nexport interface ThresholdMetCallbackData {\n isScrollingUp: boolean\n currentThreshold: number\n savedScroll: Ref\n}\n\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String,\n },\n scrollThreshold: {\n type: [String, Number],\n default: 300,\n },\n}, 'scroll')\n\nexport interface ScrollArguments {\n canScroll?: Readonly>\n}\n\nexport function useScroll (\n props: ScrollProps,\n args: ScrollArguments = {},\n) {\n const { canScroll } = args\n let previousScroll = 0\n const target = ref(null)\n const currentScroll = shallowRef(0)\n const savedScroll = shallowRef(0)\n const currentThreshold = shallowRef(0)\n const isScrollActive = shallowRef(false)\n const isScrollingUp = shallowRef(false)\n\n const scrollThreshold = computed(() => {\n return Number(props.scrollThreshold)\n })\n\n /**\n * 1: at top\n * 0: at threshold\n */\n const scrollRatio = computed(() => {\n return clamp(((scrollThreshold.value - currentScroll.value) / scrollThreshold.value) || 0)\n })\n\n const onScroll = () => {\n const targetEl = target.value\n\n if (!targetEl || (canScroll && !canScroll.value)) return\n\n previousScroll = currentScroll.value\n currentScroll.value = ('window' in targetEl) ? targetEl.pageYOffset : targetEl.scrollTop\n\n isScrollingUp.value = currentScroll.value < previousScroll\n currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value)\n }\n\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value\n })\n\n watch(isScrollActive, () => {\n savedScroll.value = 0\n })\n\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window\n\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`)\n return\n }\n\n if (newTarget === target.value) return\n\n target.value?.removeEventListener('scroll', onScroll)\n target.value = newTarget\n target.value.addEventListener('scroll', onScroll, { passive: true })\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll)\n })\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, { immediate: true })\n\n return {\n scrollThreshold,\n currentScroll,\n currentThreshold,\n isScrollActive,\n scrollRatio,\n\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll,\n }\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String as PropType<'hide' | 'inverted' | 'collapse' | 'elevate' | 'fade-image' | (string & {})>,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n}, 'VAppBar')\n\nexport const VAppBar = genericComponent()({\n name: 'VAppBar',\n\n props: makeVAppBarProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n // fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n // behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0\n\n const height = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (scrollBehavior.value.hide) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n })\n })\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const toolbarProps = VToolbar.filterProps(props)\n\n return (\n \n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAvatar')\n\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n \n { props.image\n ? ()\n : props.icon\n ? ()\n : slots.default?.() ?? props.text\n }\n\n { genOverlays(false, 'v-avatar') }\n \n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType\n","// Utilities\nimport { nextTick, watch } from 'vue'\n\n// Types\nimport type { UseLink } from './router'\n\nexport function useSelectLink (link: UseLink, select?: (value: boolean, e?: Event) => void) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive && select) {\n nextTick(() => {\n select(true)\n })\n }\n }, {\n immediate: true,\n })\n}\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType,\n default: true,\n },\n\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent()({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n const hasColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n\n return (\n \n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n \n { !slots.prepend ? (\n \n ) : (\n \n )}\n \n )}\n\n \n { (!slots.default && hasIcon) ? (\n \n ) : (\n \n { slots.default?.() ?? props.text }\n \n )}\n \n\n { !props.icon && hasAppend && (\n \n { !slots.append ? (\n \n ) : (\n \n )}\n \n )}\n\n { !!props.loading && (\n \n { slots.loader?.() ?? (\n \n )}\n \n )}\n \n )\n })\n\n return {}\n },\n})\n\nexport type VBtn = InstanceType\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBtnGroupProps = propsFactory({\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n}, 'VBtnGroup')\n\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n\n props: makeVBtnGroupProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n \n )\n })\n },\n})\n\nexport type VBtnGroup = InstanceType\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { makeVBtnGroupProps, VBtnGroup } from '@/components/VBtnGroup/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\nimport type { GenericProps } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick {}\n\nexport const VBtnToggleSymbol: InjectionKey = Symbol.for('vuetify:v-btn-toggle')\n\ntype VBtnToggleSlots = {\n default: DefaultBtnToggleSlot\n}\n\nexport const makeVBtnToggleProps = propsFactory({\n ...makeVBtnGroupProps(),\n ...makeGroupProps(),\n}, 'VBtnToggle')\n\nexport const VBtnToggle = genericComponent(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VBtnToggleSlots,\n) => GenericProps>()({\n name: 'VBtnToggle',\n\n props: makeVBtnToggleProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => {\n const btnGroupProps = VBtnGroup.filterProps(props)\n\n return (\n \n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n })}\n \n )\n })\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n\nexport type VBtnToggle = InstanceType\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { toRefs } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport const makeVDefaultsProviderProps = propsFactory({\n defaults: Object as PropType,\n disabled: Boolean,\n reset: [Number, String],\n root: [Boolean, String],\n scoped: Boolean,\n}, 'VDefaultsProvider')\n\nexport const VDefaultsProvider = genericComponent(false)({\n name: 'VDefaultsProvider',\n\n props: makeVDefaultsProviderProps(),\n\n setup (props, { slots }) {\n const { defaults, disabled, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n disabled,\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VDefaultsProvider = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { breakpoints } from '@/composables/display'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { Prop, PropType } from 'vue'\nimport type { Breakpoint } from '@/composables/display'\n\ntype BreakpointOffset = `offset${Capitalize}`\ntype BreakpointOrder = `order${Capitalize}`\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n const offsetKey = ('offset' + capitalize(val)) as BreakpointOffset\n props[offsetKey] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n const orderKey = ('order' + capitalize(val)) as BreakpointOrder\n props[orderKey] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'] as const\n\nexport const makeVColProps = propsFactory({\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String as PropType,\n default: null,\n validator: (str: any) => ALIGN_SELF_VALUES.includes(str),\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VCol')\n\nexport const VCol = genericComponent()({\n name: 'VCol',\n\n props: makeVColProps(),\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: [\n classes.value,\n props.class,\n ],\n style: props.style,\n }, slots.default?.())\n },\n})\n\nexport type VCol = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VContainer')\n\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n\n props: makeVContainerProps(),\n\n setup (props, { slots }) {\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { breakpoints } from '@/composables/display'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { Prop, PropType } from 'vue'\nimport type { Breakpoint } from '@/composables/display'\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\ntype BreakpointAlign = `align${Capitalize}`\ntype BreakpointJustify = `justify${Capitalize}`\ntype BreakpointAlignContent = `alignContent${Capitalize}`\n\nconst SPACE = ['space-between', 'space-around', 'space-evenly'] as const\n\nfunction makeRowProps <\n Name extends BreakpointAlign | BreakpointJustify | BreakpointAlignContent,\n Type,\n> (prefix: string, def: () => Prop) {\n return breakpoints.reduce((props, val) => {\n const prefixKey = prefix + capitalize(val) as Name\n props[prefixKey] = def()\n return props\n }, {} as Record>)\n}\n\nconst ALIGN_VALUES = [...ALIGNMENT, 'baseline', 'stretch'] as const\ntype AlignValue = typeof ALIGN_VALUES[number]\nconst alignValidator = (str: any) => ALIGN_VALUES.includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String as PropType,\n default: null,\n validator: alignValidator,\n}))\n\nconst JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE] as const\ntype JustifyValue = typeof JUSTIFY_VALUES[number]\nconst justifyValidator = (str: any) => JUSTIFY_VALUES.includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String as PropType,\n default: null,\n validator: justifyValidator,\n}))\n\nconst ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, 'stretch'] as const\ntype AlignContentValue = typeof ALIGN_CONTENT_VALUES[number]\nconst alignContentValidator = (str: any) => ALIGN_CONTENT_VALUES.includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String as PropType,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const makeVRowProps = propsFactory({\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String as PropType,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String as PropType,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String as PropType,\n default: null,\n validator: alignContentValidator,\n },\n\n ...alignContentProps,\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VRow')\n\nexport const VRow = genericComponent()({\n name: 'VRow',\n\n props: makeVRowProps(),\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: [\n 'v-row',\n classes.value,\n props.class,\n ],\n style: props.style,\n }, slots.default?.())\n },\n})\n\nexport type VRow = InstanceType\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, Text, toRef } from 'vue'\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'VIcon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = ref()\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(computed(() => slotIcon.value || props.icon))\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n\n return (\n \n { slotValue }\n \n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: never\n additional: never\n}\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: String,\n inline: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VResponsive')\n\nexport const VResponsive = genericComponent()({\n name: 'VResponsive',\n\n props: makeVResponsiveProps(),\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n \n \n\n { slots.additional?.() }\n\n { slots.default && (\n { slots.default() }\n )}\n \n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType\n","// Utilities\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n onBeforeUnmount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n draggable: {\n type: [Boolean, String] as PropType,\n default: undefined,\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n crossorigin: String as PropType<'' | 'anonymous' | 'use-credentials'>,\n referrerpolicy: String as PropType<\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url'\n >,\n srcset: String,\n position: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'VImg')\n\nexport const VImg = genericComponent()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const vm = getCurrentInstance('VImg')\n\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef()\n const naturalHeight = shallowRef()\n\n const normalisedSrc = computed(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n setTimeout(() => {\n if (vm.isUnmounted) return\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n if (state.value === 'loading') onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n })\n }\n\n function onLoad () {\n if (vm.isUnmounted) return\n\n getSrc()\n pollForSize(image.value!)\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n if (vm.isUnmounted) return\n\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n\n onBeforeUnmount(() => {\n clearTimeout(timer)\n })\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n if (vm.isUnmounted) return\n\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n \n )\n\n const sources = slots.sources?.()\n\n return (\n \n {\n withDirectives(\n sources\n ? { sources }{ img }\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n \n )\n }\n\n const __preloadImage = () => (\n \n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n \n )}\n \n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n \n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n { slots.placeholder() }\n }\n \n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n \n { state.value === 'error' &&\n { slots.error() }\n }\n \n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return \n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const responsiveProps = VResponsive.filterProps(props)\n return (\n {{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n >\n ),\n default: slots.default,\n }}\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useList } from './list'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VListGroupSlots = {\n default: never\n activator: { isOpen: boolean, props: Record }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const makeVListGroupProps = propsFactory({\n /* @deprecated */\n activeColor: String,\n baseColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n title: String,\n value: null,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListGroup')\n\nexport const VListGroup = genericComponent()({\n name: 'VListGroup',\n\n props: makeVListGroupProps(),\n\n setup (props, { slots }) {\n const { isOpen, open, id: _id } = useNestedItem(toRef(props, 'value'), true)\n const id = computed(() => `v-list-group--id-${String(_id.value)}`)\n const list = useList()\n const { isBooted } = useSsrBoot()\n\n function onClick (e: Event) {\n open(!isOpen.value, e)\n }\n\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value,\n }))\n\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon)\n const activatorDefaults = computed(() => ({\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n baseColor: props.baseColor,\n color: props.color,\n prependIcon: props.prependIcon || (props.subgroup && toggleIcon.value),\n appendIcon: props.appendIcon || (!props.subgroup && toggleIcon.value),\n title: props.title,\n value: props.value,\n },\n }))\n\n useRender(() => (\n \n { slots.activator && (\n \n \n { slots.activator({ props: activatorProps.value, isOpen: isOpen.value }) }\n \n \n )}\n\n \n \n { slots.default?.() }\n \n \n \n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType\n","// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVListSubheaderProps = propsFactory({\n color: String,\n inset: Boolean,\n sticky: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListSubheader')\n\nexport const VListSubheader = genericComponent()({\n name: 'VListSubheader',\n\n props: makeVListSubheaderProps(),\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const hasText = !!(slots.default || props.title)\n\n return (\n \n { hasText && (\n \n { slots.default?.() ?? props.title }\n \n )}\n \n )\n })\n\n return {}\n },\n})\n\nexport type VListSubheader = InstanceType\n","// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType\n","// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '../VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots = {\n [K in keyof Omit]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType,\n returnObject: Boolean,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent(\n props: {\n items?: readonly T[]\n returnObject?: boolean\n },\n slots: VListChildrenSlots\n) => GenericProps>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n \n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n \n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const listGroupProps = VListGroup.filterProps(itemProps)\n\n return children ? (\n \n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value,\n }\n\n return slots.header\n ? slots.header({ props: listItemProps })\n : (\n \n )\n },\n default: () => (\n \n ),\n }}\n \n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n \n )\n )\n })\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { deepEqual, getPropertyFromItem, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport interface ListItem extends InternalItem {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: {\n type: Function as PropType,\n default: deepEqual,\n },\n}, 'list-items')\n\nexport function transformItem (props: Omit, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit, items: ItemProps['items']) {\n const array: ListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n function transformIn (value: any[]): ListItem[] {\n if (!hasNullItem.value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n value = value.filter(v => v !== null)\n }\n\n return value.map(v => {\n if (props.returnObject && typeof v === 'string') {\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n return transformItem(props, v)\n }\n return items.value.find(item => props.valueComparator(v, item.value)) || transformItem(props, v)\n })\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport { focusChild, genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem extends ListItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent(\n props: {\n items?: T\n itemTitle?: SelectItemKey>\n itemValue?: SelectItemKey>\n itemChildren?: SelectItemKey>\n itemProps?: SelectItemKey>\n selected?: readonly S[]\n 'onUpdate:selected'?: (value: S[]) => void\n opened?: readonly O[]\n 'onUpdate:opened'?: (value: O[]) => void\n },\n slots: VListChildrenSlots>\n) => GenericProps>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown[]) => true,\n 'update:opened': (value: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n slim: toRef(props, 'slim'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n \n \n \n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n\nexport type VListItemSubtitle = InstanceType\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n\nexport type VListItemTitle = InstanceType\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ntype ListItemSlot = {\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType,\n default: true,\n },\n slim: Boolean,\n subtitle: [String, Number],\n title: [String, Number],\n value: null,\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent, openOnSelect } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || isSelected.value)\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!list))\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const color = computed(() => props.color ?? props.activeColor)\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (isGroupActivator || !isClickable.value) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n \n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n \n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n \n )}\n\n { props.prependIcon && (\n \n )}\n >\n ) : (\n \n { slots.prepend?.(slotProps.value) }\n \n )}\n\n \n \n )}\n\n \n { hasTitle && (\n \n { slots.title?.({ title: props.title }) ?? props.title }\n \n )}\n\n { hasSubtitle && (\n \n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n \n )}\n\n { slots.default?.(slotProps.value) }\n \n\n { hasAppend && (\n \n { !slots.append ? (\n <>\n { props.appendIcon && (\n \n )}\n\n { props.appendAvatar && (\n \n )}\n >\n ) : (\n \n { slots.append?.(slotProps.value) }\n \n )}\n\n \n \n )}\n \n )\n })\n\n return {}\n },\n})\n\nexport type VListItem = InstanceType\n","// Utilities\nimport { computed, inject, provide, shallowRef } from 'vue'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\n// Depth\nexport const DepthKey: InjectionKey> = Symbol.for('vuetify:depth')\n\nexport function useDepth (hasPrepend?: Ref) {\n const parent = inject(DepthKey, shallowRef(-1))\n\n const depth = computed(() => parent.value + 1 + (hasPrepend?.value ? 1 : 0))\n\n provide(DepthKey, depth)\n\n return depth\n}\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport function createList () {\n const parent = inject(ListKey, { hasPrepend: shallowRef(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: shallowRef(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport function useList () {\n return inject(ListKey, null)\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps({ tag: 'main' }),\n}, 'VMain')\n\nexport const VMain = genericComponent()({\n name: 'VMain',\n\n props: makeVMainProps(),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n useRender(() => (\n \n { props.scrollable\n ? (\n \n { slots.default?.() }\n \n )\n : slots.default?.()\n }\n \n ))\n\n return {}\n },\n})\n\nexport type VMain = InstanceType\n","// Utilities\nimport { Transition } from 'vue'\nimport {\n acceleratedEasing,\n animate,\n deceleratedEasing,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n} from '@/util'\nimport { getTargetBox } from '@/util/box'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDialogTransitionProps = propsFactory({\n target: [Object, Array] as PropType,\n}, 'v-dialog-transition')\n\nexport const VDialogTransition = genericComponent()({\n name: 'VDialogTransition',\n\n props: makeVDialogTransitionProps(),\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n ;(el as HTMLElement).style.visibility = 'hidden'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n ;(el as HTMLElement).style.visibility = ''\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n {},\n ], {\n duration: 225 * speed,\n easing: deceleratedEasing,\n })\n getChildren(el)?.forEach(el => {\n animate(el, [\n { opacity: 0 },\n { opacity: 0, offset: 0.33 },\n {},\n ], {\n duration: 225 * 2 * speed,\n easing: standardEasing,\n })\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n {},\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n ], {\n duration: 125 * speed,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n getChildren(el)?.forEach(el => {\n animate(el, [\n {},\n { opacity: 0, offset: 0.2 },\n { opacity: 0 },\n ], {\n duration: 125 * 2 * speed,\n easing: standardEasing,\n })\n })\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n \n )\n : \n }\n },\n})\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren (el: Element) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children\n return els && [...els]\n}\n\nfunction getDimensions (target: HTMLElement | [x: number, y: number], el: HTMLElement) {\n const targetBox = getTargetBox(target)\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n const tsx = targetBox.width / elBox.width\n const tsy = targetBox.height / elBox.height\n const maxs = Math.max(1, tsx, tsy)\n const sx = tsx / maxs || 0\n const sy = tsy / maxs || 0\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = (elBox.width * elBox.height) / (window.innerWidth * window.innerHeight)\n const speed = asa > 0.12\n ? Math.min(1.5, (asa - 0.12) * 10 + 1)\n : 1\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed,\n }\n}\n\nexport type VDialogTransition = InstanceType\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport { focusableChildren, focusChild, genericComponent, getNextElement, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents () {\n setTimeout(() => {\n if (!openChildren.value) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside () {\n parent?.closeParents()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab') {\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n \n {{\n activator: slots.activator,\n default: (...args) => (\n \n { slots.default?.(...args) }\n \n ),\n }}\n \n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType\n","// Types\nimport type { InjectionKey } from 'vue'\n\ninterface MenuProvide {\n register (): void\n unregister (): void\n closeParents (): void\n}\n\nexport const VMenuSymbol: InjectionKey = Symbol.for('vuetify:v-menu')\n","// Types\nimport type { ParsedAnchor } from '@/util'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'left' ? 0\n : align === 'center' ? box.width / 2\n : align === 'right' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'left' || anchor.side === 'right') {\n const { side, align } = anchor\n\n const x: number =\n side === 'left' ? 0\n : side === 'right' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","export function getScrollParent (el?: HTMLElement, includeHidden = false) {\n while (el) {\n if (includeHidden ? isPotentiallyScrollable(el) : hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: Element | null, stopAt?: Element | null) {\n const elements: HTMLElement[] = []\n\n if (stopAt && el && !stopAt.contains(el)) return elements\n\n while (el) {\n if (hasScrollbar(el)) elements.push(el as HTMLElement)\n if (el === stopAt) break\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n\nfunction isPotentiallyScrollable (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['scroll', 'auto'].includes(style.overflowY)\n}\n","// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, watch } from 'vue'\nimport { anchorToPoint, getOffset } from './util/point'\nimport {\n clamp,\n consoleError,\n convertToUnit,\n destructComputed,\n flipAlign,\n flipCorner,\n flipSide,\n getAxis,\n getScrollParents,\n IN_BROWSER,\n isFixedPosition,\n nullifyTransforms,\n parseAnchor,\n propsFactory,\n} from '@/util'\nimport { Box, getOverflow, getTargetBox } from '@/util/box'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { Anchor } from '@/util'\n\nexport interface LocationStrategyData {\n contentEl: Ref\n target: Ref\n isActive: Ref\n isRtl: Ref\n}\n\ntype LocationStrategyFn = (\n data: LocationStrategyData,\n props: StrategyProps,\n contentStyles: Ref>\n) => undefined | { updateLocation: (e: Event) => void }\n\nconst locationStrategies = {\n static: staticLocationStrategy, // specific viewport position, usually centered\n connected: connectedLocationStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n locationStrategy: keyof typeof locationStrategies | LocationStrategyFn\n location: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string | number[]\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makeLocationStrategyProps = propsFactory({\n locationStrategy: {\n type: [String, Function] as PropType,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in locationStrategies,\n },\n location: {\n type: String as PropType,\n default: 'bottom',\n },\n origin: {\n type: String as PropType,\n default: 'auto',\n },\n offset: [Number, String, Array] as PropType,\n}, 'VOverlay-location-strategies')\n\nexport function useLocationStrategies (\n props: StrategyProps,\n data: LocationStrategyData\n) {\n const contentStyles = ref({})\n const updateLocation = ref<(e: Event) => void>()\n\n if (IN_BROWSER) {\n useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {\n watch(() => props.locationStrategy, reset)\n onScopeDispose(() => {\n window.removeEventListener('resize', onResize)\n updateLocation.value = undefined\n })\n\n window.addEventListener('resize', onResize, { passive: true })\n\n if (typeof props.locationStrategy === 'function') {\n updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation\n } else {\n updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation\n }\n })\n }\n\n function onResize (e: Event) {\n updateLocation.value?.(e)\n }\n\n return {\n contentStyles,\n updateLocation,\n }\n}\n\nfunction staticLocationStrategy () {\n // TODO\n}\n\n/** Get size of element ignoring max-width/max-height */\nfunction getIntrinsicSize (el: HTMLElement, isRtl: boolean) {\n // const scrollables = new Map()\n // el.querySelectorAll('*').forEach(el => {\n // const x = el.scrollLeft\n // const y = el.scrollTop\n // if (x || y) {\n // scrollables.set(el, [x, y])\n // }\n // })\n\n // const initialMaxWidth = el.style.maxWidth\n // const initialMaxHeight = el.style.maxHeight\n // el.style.removeProperty('max-width')\n // el.style.removeProperty('max-height')\n\n if (isRtl) {\n el.style.removeProperty('left')\n } else {\n el.style.removeProperty('right')\n }\n\n /* eslint-disable-next-line sonarjs/prefer-immediate-return */\n const contentBox = nullifyTransforms(el)\n\n if (isRtl) {\n contentBox.x += parseFloat(el.style.right || 0)\n } else {\n contentBox.x -= parseFloat(el.style.left || 0)\n }\n contentBox.y -= parseFloat(el.style.top || 0)\n\n // el.style.maxWidth = initialMaxWidth\n // el.style.maxHeight = initialMaxHeight\n // scrollables.forEach((position, el) => {\n // el.scrollTo(...position)\n // })\n\n return contentBox\n}\n\nfunction connectedLocationStrategy (data: LocationStrategyData, props: StrategyProps, contentStyles: Ref>) {\n const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n top: 0,\n [data.isRtl.value ? 'right' : 'left']: 0,\n })\n }\n\n const { preferredAnchor, preferredOrigin } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value)\n const parsedOrigin =\n props.origin === 'overlap' ? parsedAnchor\n : props.origin === 'auto' ? flipSide(parsedAnchor)\n : parseAnchor(props.origin, data.isRtl.value)\n\n // Some combinations of props may produce an invalid origin\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin),\n }\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin,\n }\n }\n })\n\n const [minWidth, minHeight, maxWidth, maxHeight] =\n (['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const).map(key => {\n return computed(() => {\n const val = parseFloat(props[key]!)\n return isNaN(val) ? Infinity : val\n })\n })\n\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat)\n if (offset.length < 2) offset.push(0)\n return offset\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0]\n })\n\n let observe = false\n const observer = new ResizeObserver(() => {\n if (observe) updateLocation()\n })\n\n watch([data.target, data.contentEl], ([newTarget, newContentEl], [oldTarget, oldContentEl]) => {\n if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget)\n if (newTarget && !Array.isArray(newTarget)) observer.observe(newTarget)\n\n if (oldContentEl) observer.unobserve(oldContentEl)\n if (newContentEl) observer.observe(newContentEl)\n }, {\n immediate: true,\n })\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n\n // eslint-disable-next-line max-statements\n function updateLocation () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n if (!data.target.value || !data.contentEl.value) return\n\n const targetBox = getTargetBox(data.target.value)\n const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value)\n const scrollParents = getScrollParents(data.contentEl.value)\n const viewportMargin = 12\n\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement)\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0)\n contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0)\n }\n }\n\n const viewport = scrollParents.reduce((box: Box | undefined, el) => {\n const rect = el.getBoundingClientRect()\n const scrollBox = new Box({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n })\n\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top),\n })\n }\n return scrollBox\n }, undefined!)\n viewport.x += viewportMargin\n viewport.y += viewportMargin\n viewport.width -= viewportMargin * 2\n viewport.height -= viewportMargin * 2\n\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value,\n }\n\n function checkOverflow (_placement: typeof placement) {\n const box = new Box(contentBox)\n const targetPoint = anchorToPoint(_placement.anchor, targetBox)\n const contentPoint = anchorToPoint(_placement.origin, box)\n\n let { x, y } = getOffset(targetPoint, contentPoint)\n\n switch (_placement.anchor.side) {\n case 'top': y -= offset.value[0]; break\n case 'bottom': y += offset.value[0]; break\n case 'left': x -= offset.value[0]; break\n case 'right': x += offset.value[0]; break\n }\n\n switch (_placement.anchor.align) {\n case 'top': y -= offset.value[1]; break\n case 'bottom': y += offset.value[1]; break\n case 'left': x -= offset.value[1]; break\n case 'right': x += offset.value[1]; break\n }\n\n box.x += x\n box.y += y\n\n box.width = Math.min(box.width, maxWidth.value)\n box.height = Math.min(box.height, maxHeight.value)\n\n const overflows = getOverflow(box, viewport)\n\n return { overflows, x, y }\n }\n\n let x = 0; let y = 0\n const available = { x: 0, y: 0 }\n const flipped = { x: false, y: false }\n let resets = -1\n while (true) {\n if (resets++ > 10) {\n consoleError('Infinite loop detected in connectedLocationStrategy')\n break\n }\n\n const { x: _x, y: _y, overflows } = checkOverflow(placement)\n\n x += _x\n y += _y\n\n contentBox.x += _x\n contentBox.y += _y\n\n // flip\n {\n const axis = getAxis(placement.anchor)\n const hasOverflowX = overflows.x.before || overflows.x.after\n const hasOverflowY = overflows.y.before || overflows.y.after\n\n let reset = false\n ;['x', 'y'].forEach(key => {\n if (\n (key === 'x' && hasOverflowX && !flipped.x) ||\n (key === 'y' && hasOverflowY && !flipped.y)\n ) {\n const newPlacement = { anchor: { ...placement.anchor }, origin: { ...placement.origin } }\n const flip = key === 'x'\n ? axis === 'y' ? flipAlign : flipSide\n : axis === 'y' ? flipSide : flipAlign\n newPlacement.anchor = flip(newPlacement.anchor)\n newPlacement.origin = flip(newPlacement.origin)\n const { overflows: newOverflows } = checkOverflow(newPlacement)\n if (\n (newOverflows[key].before <= overflows[key].before &&\n newOverflows[key].after <= overflows[key].after) ||\n (newOverflows[key].before + newOverflows[key].after <\n (overflows[key].before + overflows[key].after) / 2)\n ) {\n placement = newPlacement\n reset = flipped[key] = true\n }\n }\n })\n if (reset) continue\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before\n contentBox.x += overflows.x.before\n }\n if (overflows.x.after) {\n x -= overflows.x.after\n contentBox.x -= overflows.x.after\n }\n if (overflows.y.before) {\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n if (overflows.y.after) {\n y -= overflows.y.after\n contentBox.y -= overflows.y.after\n }\n\n // size\n {\n const overflows = getOverflow(contentBox, viewport)\n available.x = viewport.width - overflows.x.before - overflows.x.after\n available.y = viewport.height - overflows.y.before - overflows.y.after\n\n x += overflows.x.before\n contentBox.x += overflows.x.before\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n\n break\n }\n\n const axis = getAxis(placement.anchor)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: data.isRtl.value ? undefined : convertToUnit(pixelRound(x)),\n right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : undefined,\n minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),\n maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),\n maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value))),\n })\n\n return {\n available,\n contentBox,\n }\n }\n\n watch(\n () => [\n preferredAnchor.value,\n preferredOrigin.value,\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateLocation(),\n )\n\n nextTick(() => {\n const result = updateLocation()\n\n // TODO: overflowing content should only require a single updateLocation call\n // Icky hack to make sure the content is positioned consistently\n if (!result) return\n const { available, contentBox } = result\n if (contentBox.height > available.y) {\n requestAnimationFrame(() => {\n updateLocation()\n requestAnimationFrame(() => {\n updateLocation()\n })\n })\n }\n })\n\n return { updateLocation }\n}\n\nfunction pixelRound (val: number) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio\n}\n\nfunction pixelCeil (val: number) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref\n contentEl: Ref\n targetEl: Ref\n isActive: Ref\n updateLocation: Ref<((e: Event) => void) | undefined>\n}\n\ntype ScrollStrategyFn = (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) => void\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\nexport interface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn\n contained: boolean | undefined\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n}, 'VOverlay-scroll-strategies')\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.active && scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope!)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!)\n }\n })\n })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.targetEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData, props: StrategyProps) {\n const offsetParent = data.root.value?.offsetParent\n const scrollElements = [...new Set([\n ...getScrollParents(data.targetEl.value, props.contained ? offsetParent : undefined),\n ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft))\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop))\n\n if (el !== document.documentElement) {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n }\n\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'))\n\n el.style.removeProperty('--v-body-scroll-x')\n el.style.removeProperty('--v-body-scroll-y')\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n\n el.scrollLeft = -x\n el.scrollTop = -y\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) {\n let slow = false\n let raf = -1\n let ric = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updateLocation.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n ric = (typeof requestIdleCallback === 'undefined' ? (cb: Function) => cb() : requestIdleCallback)(() => {\n scope.run(() => {\n bindScroll(data.targetEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n })\n })\n\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric)\n cancelAnimationFrame(raf)\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","// Utilities\nimport { eventName, isOn } from '@/util/helpers'\n\nconst handlers = new WeakMap void]>>()\n\nexport function bindProps (el: HTMLElement, props: Record) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k)\n const handler = handlers.get(el)\n if (props[k] == null) {\n handler?.forEach(v => {\n const [n, fn] = v\n if (n === name) {\n el.removeEventListener(name, fn)\n handler.delete(v)\n }\n })\n } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {\n el.addEventListener(name, props[k])\n const _handler = handler || new Set()\n _handler.add([name, props[k]])\n if (!handlers.has(el)) handlers.set(el, _handler)\n }\n } else {\n if (props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, props[k])\n }\n }\n })\n}\n\nexport function unbindProps (el: HTMLElement, props: Record) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k)\n const handler = handlers.get(el)\n handler?.forEach(v => {\n const [n, fn] = v\n if (n === name) {\n el.removeEventListener(name, fn)\n handler.delete(v)\n }\n })\n } else {\n el.removeAttribute(k)\n }\n })\n}\n","// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n refElement,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n target: 'parent' | 'cursor' | (string & {}) | Element | ComponentPublicInstance | [x: number, y: number] | undefined\n activator: 'parent' | (string & {}) | Element | ComponentPublicInstance | undefined\n activatorProps: Record\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n target: [String, Object] as PropType,\n activator: [String, Object] as PropType,\n activatorProps: {\n type: Object as PropType,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref, isTop: Ref }\n) {\n const vm = getCurrentInstance('useActivator')\n const activatorEl = ref()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const cursorTarget = ref<[x: number, y: number]>()\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY]\n }\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined\n })\n }\n }, { flush: 'post' })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value)\n })\n })\n\n const targetRef = ref()\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value\n if (targetRef.value) return refElement(targetRef.value)\n return getTarget(props.target, vm) || activatorEl.value\n })\n const targetEl = computed(() => {\n return Array.isArray(target.value)\n ? undefined\n : target.value\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, target, targetEl, targetRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n const activator = getTarget(selector, vm)\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined\n\n return activatorEl.value\n }\n}\n\nfunction getTarget (\n selector: T,\n vm: ComponentInternalInstance\n): HTMLElement | undefined | (T extends any[] ? [x: number, y: number] : never) {\n if (!selector) return\n\n let target\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n target = el\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el\n } else {\n // HTMLElement | Element | [x, y]\n target = selector\n }\n\n return target\n}\n","// Composables\nimport { useDisplay } from '@/composables/display'\n\n// Utilities\nimport { onMounted, shallowRef } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\nexport function useHydration () {\n if (!IN_BROWSER) return shallowRef(false)\n\n const { ssr } = useDisplay()\n\n if (ssr) {\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n return isMounted\n } else {\n return shallowRef(true)\n }\n}\n","// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref) {\n const isBooted = shallowRef(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, inject, onScopeDispose, provide, reactive, readonly, shallowRef, toRaw, watchEffect } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nconst StackSymbol: InjectionKey = Symbol.for('vuetify:stack')\n\ninterface StackProvide {\n activeChildren: Set\n}\n\nconst globalStack = reactive<[uid: number, zIndex: number][]>([])\n\nexport function useStack (\n isActive: Readonly>,\n zIndex: Readonly>,\n disableGlobalStack: boolean\n) {\n const vm = getCurrentInstance('useStack')\n const createStackEntry = !disableGlobalStack\n\n const parent = inject(StackSymbol, undefined)\n const stack: StackProvide = reactive({\n activeChildren: new Set(),\n })\n provide(StackSymbol, stack)\n\n const _zIndex = shallowRef(+zIndex.value)\n useToggleScope(isActive, () => {\n const lastZIndex = globalStack.at(-1)?.[1]\n _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value\n\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value])\n }\n\n parent?.activeChildren.add(vm.uid)\n\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = toRaw(globalStack).findIndex(v => v[0] === vm.uid)\n globalStack.splice(idx, 1)\n }\n\n parent?.activeChildren.delete(vm.uid)\n })\n })\n\n const globalTop = shallowRef(true)\n if (createStackEntry) {\n watchEffect(() => {\n const _isTop = globalStack.at(-1)?.[0] === vm.uid\n setTimeout(() => globalTop.value = _isTop)\n })\n }\n\n const localTop = computed(() => !stack.activeChildren.size)\n\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: computed(() => ({ zIndex: _zIndex.value })),\n }\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n let container = targetElement.querySelector(':scope > .v-overlay-container')\n\n if (!container) {\n container = document.createElement('div')\n container.className = 'v-overlay-container'\n targetElement.appendChild(container)\n }\n\n return container\n })\n\n return { teleportTarget }\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","// Utilities\nimport { attachedRoot } from '@/util'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: false,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n \n { props.modelValue && (\n \n )}\n \n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref }\n activator: { isActive: boolean, props: Record }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref()\n const contentEl = ref()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && globalTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n targetRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n \n \n \n { onAfterLeave(); emit('afterLeave') } }\n >\n [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n \n \n \n \n )}\n >\n ))\n\n return {\n activatorEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n}, 'VProgressCircular')\n\ntype VProgressCircularSlots = {\n default: { value: number }\n}\n\nexport const VProgressCircular = genericComponent()({\n name: 'VProgressCircular',\n\n props: makeVProgressCircularProps(),\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const root = ref()\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n const { resizeRef, contentRect } = useResizeObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value\n ? Number(props.size)\n : contentRect.value\n ? contentRect.value.width\n : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n watchEffect(() => {\n intersectionRef.value = root.value\n resizeRef.value = root.value\n })\n\n useRender(() => (\n \n \n \n\n \n \n\n { slots.default && (\n \n { slots.default({ value: normalizedValue.value }) }\n \n )}\n \n ))\n\n return {}\n },\n})\n\nexport type VProgressCircular = InstanceType\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { FunctionalComponent, PropType } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n disabled: Boolean,\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: String,\n origin: String,\n}, 'transition')\n\nexport function createCssTransition (\n name: string,\n origin?: string,\n mode?: string\n) {\n return genericComponent()({\n name,\n\n props: makeTransitionProps({\n mode,\n origin,\n }),\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: HTMLElement) {\n if (props.origin) {\n el.style.transformOrigin = props.origin\n }\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }\n\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.group ? undefined : { mode: props.mode }),\n ...(props.disabled ? {} : functions),\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record,\n mode = 'in-out'\n) {\n return genericComponent()({\n name,\n\n props: {\n mode: {\n type: String as PropType<'in-out' | 'out-in' | 'default'>,\n default: mode,\n },\n disabled: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...(props.disabled ? {} : functions),\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n\nexport type VFabTransition = InstanceType\nexport type VDialogBottomTransition = InstanceType\nexport type VDialogTopTransition = InstanceType\nexport type VFadeTransition = InstanceType\nexport type VScaleTransition = InstanceType\nexport type VScrollXTransition = InstanceType\nexport type VScrollXReverseTransition = InstanceType\nexport type VScrollYTransition = InstanceType\nexport type VScrollYReverseTransition = InstanceType\nexport type VSlideXTransition = InstanceType\nexport type VSlideXReverseTransition = InstanceType\nexport type VSlideYTransition = InstanceType\nexport type VSlideYReverseTransition = InstanceType\nexport type VExpandTransition = InstanceType\nexport type VExpandXTransition = InstanceType\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const border = isRef(props) ? props.value : props.border\n const classes: string[] = []\n\n if (border === true || border === '') {\n classes.push(`${name}--border`)\n } else if (\n typeof border === 'string' ||\n border === 0\n ) {\n for (const value of String(border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { destructComputed, getForeground, isCssColor, isParsableColor, parseColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref\n textColorStyles: Ref\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref\n backgroundColorStyles: Ref\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n return destructComputed(() => {\n const classes: string[] = []\n const styles: CSSProperties = {}\n\n if (colors.value.background) {\n if (isCssColor(colors.value.background)) {\n styles.backgroundColor = colors.value.background\n\n if (!colors.value.text && isParsableColor(colors.value.background)) {\n const backgroundColor = parseColor(colors.value.background)\n if (backgroundColor.a == null || backgroundColor.a === 1) {\n const textColor = getForeground(backgroundColor)\n\n styles.color = textColor\n styles.caretColor = textColor\n }\n }\n } else {\n classes.push(`bg-${colors.value.background}`)\n }\n }\n\n if (colors.value.text) {\n if (isCssColor(colors.value.text)) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n } else {\n classes.push(`text-${colors.value.text}`)\n }\n }\n\n return { colorClasses: classes, colorStyles: styles }\n })\n}\n\nexport function useTextColor (color: Ref): TextColorData\nexport function useTextColor , K extends string> (props: T, name: K): TextColorData\nexport function useTextColor , K extends string> (\n props: T | Ref,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref): BackgroundColorData\nexport function useBackgroundColor , K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor , K extends string> (\n props: T | Ref,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\n// typeof allowedDensities[number] evalutes to any\n// when generating api types for whatever reason.\nexport type Density = null | 'default' | 'comfortable' | 'compact'\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref\n}\n\nexport function useElevation (props: ElevationProps | Ref): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Types\nimport type { ComponentPublicInstance, Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nconst Refs = Symbol('Forwarded refs')\n\n/** Omit properties starting with P */\ntype OmitPrefix = [Extract] extends [never] ? T : Omit\n\ntype OmitProps = T extends { $props: any } ? Omit : T\n\nfunction getDescriptor (obj: any, key: PropertyKey) {\n let currentObj = obj\n while (currentObj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key)\n if (descriptor) return descriptor\n currentObj = Object.getPrototypeOf(currentObj)\n }\n return undefined\n}\n\nexport function forwardRefs | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnionToIntersection<{ [K in keyof U]: OmitPrefix>>, '$'> }[number]> {\n (target as any)[Refs] = refs\n\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n const val = Reflect.get(ref.value, key)\n return typeof val === 'function'\n ? val.bind(ref.value)\n : val\n }\n }\n },\n has (target, key) {\n if (Reflect.has(target, key)) {\n return true\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return true\n }\n }\n return false\n },\n set (target, key, value) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value)\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.set(ref.value, key, value)\n }\n }\n\n return false\n },\n getOwnPropertyDescriptor (target, key) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, key)\n if (descriptor) return descriptor\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return\n\n // Check each ref's own properties\n for (const ref of refs) {\n if (!ref.value) continue\n const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined)\n if (descriptor) return descriptor\n }\n\n // Recursive search up each ref's prototype\n for (const ref of refs) {\n const childRefs = ref.value && (ref.value as any)[Refs]\n if (!childRefs) continue\n const queue = childRefs.slice()\n while (queue.length) {\n const ref = queue.shift()\n const descriptor = getDescriptor(ref.value, key)\n if (descriptor) return descriptor\n const childRefs = ref.value && (ref.value as any)[Refs]\n if (childRefs) queue.push(...childRefs)\n }\n }\n\n return undefined\n },\n }) as any\n}\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\nimport type { EventProp } from '@/util'\n\nexport interface GroupItem {\n id: number\n value: Ref\n disabled: Ref\n}\n\nexport interface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': EventProp<[unknown]> | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref\n getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\n value: Ref\n disabled: Ref\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\nexport interface GroupItemProps extends ExtractPropTypes> {\n 'onGroup:selected': EventProp<[{ value: boolean }]> | undefined\n}\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const value = toRef(props, 'value')\n const disabled = computed(() => !!(group.disabled.value || props.disabled))\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass])\n\n watch(isSelected, value => {\n vm.emit('group:selected', { value })\n })\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey\n) {\n let isUnmounted = false\n const items = reactive([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef\n\n const key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n isSelected &&\n props.mandatory &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (value ?? !isSelected) ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state: GroupProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\n}\n\nfunction getIds (items: UnwrapRef, modelValue: any[]) {\n const ids: number[] = []\n\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value))\n const itemByIndex = items[value]\n\n if (item?.value != null) {\n ids.push(item.id)\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id)\n }\n })\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef, ids: any[]) {\n const values: unknown[] = []\n\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id)\n if (~itemIndex) {\n const item = items[itemIndex]\n values.push(item.value != null ? item.value : itemIndex)\n }\n })\n\n return values\n}\n","// Utilities\nimport { onBeforeUnmount, ref, shallowRef, watch } from 'vue'\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback, options?: IntersectionObserverInit) {\n const intersectionRef = ref()\n const isIntersecting = shallowRef(false)\n\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n }, options)\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, Transition } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n useRender(() => (\n \n { props.stream && (\n \n )}\n\n \n\n \n { !props.indeterminate ? (\n \n ) : (\n \n {['long', 'short'].map(bar => (\n \n ))}\n \n )}\n \n\n { slots.default && (\n \n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n \n )}\n \n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n absolute?: boolean\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes>,\n { slots }: SetupContext,\n) {\n return (\n \n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n \n )}\n \n )\n}\n","// Composables\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n","export type OpenStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set\n children: Map\n parents: Map\n event?: Event\n}) => Set\n\nexport type OpenSelectStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set\n selected: Map\n children: Map\n parents: Map\n event?: Event\n}) => Set | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: unknown[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n","/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type SelectStrategyFn = (data: {\n id: unknown\n value: boolean\n selected: Map\n children: Map\n parents: Map\n event?: Event\n}) => Map\n\nexport type SelectStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map,\n parents: Map,\n) => Map\n\nexport type SelectStrategyTransformOutFn = (\n v: Map,\n children: Map,\n parents: Map,\n) => unknown[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n id = toRaw(id)\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n id = toRaw(id)\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n","// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: readonly unknown[] | undefined\n opened: readonly unknown[] | undefined\n mandatory: boolean\n 'onUpdate:selected': EventProp<[unknown[]]> | undefined\n 'onUpdate:opened': EventProp<[unknown[]]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref\n isGroupActivator?: boolean\n root: {\n children: Ref>\n parents: Ref>\n opened: Ref>\n selected: Ref