{"version":3,"mappings":";smBAKA,MAAMA,GAAiB,CAAC,OAAQ,iBAAkB,QAAS,OAAQ,MAAM,EACnEC,GAAY,CAChB,KAAM,yBACN,aAAc,GACd,MAAO,CACL,KAAM,aACN,MAAO,mBACX,EACE,MAAO,CAML,MAAO,CACL,KAAM,KACN,QAAS,MACf,EAOI,WAAY,CACV,KAAM,KACN,QAAS,IACf,EAII,GAAI,CACF,KAAM,OACN,QAAS,IAAM,oBAAsBC,EAAW,EAChD,UAAYC,GAAOA,EAAG,KAAI,IAAO,EACvC,EAMI,KAAM,CACJ,KAAM,OACN,QAAS,OACT,SAAWC,GAASJ,GAAe,SAASI,CAAI,CACtD,EAKI,MAAO,CACL,KAAM,OACN,QAAS,sBACf,EAKI,IAAK,CACH,KAAM,CAAC,QAAS,IAAI,EACpB,QAAS,IACf,EAKI,IAAK,CACH,KAAM,CAAC,QAAS,IAAI,EACpB,QAAS,IACf,EAMI,UAAW,CACT,KAAM,QACN,QAAS,EACf,EAKI,WAAY,CACV,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,EACf,CACA,EACE,MAAO,CAML,QAMA,oBAEA,oBACJ,EACE,OAAQ,CAEN,MAAO,CACL,MAFYC,EAAkB,QAAS,OAAO,CAGpD,CACE,EACA,SAAU,CACR,gBAAiB,CACf,OAAO,KAAK,YAAY,KAAK,KAAK,CACpC,EACA,cAAe,CACb,OAAI,KAAK,IACA,KAAK,YAAY,KAAK,GAAG,EAE3B,EACT,EACA,cAAe,CACb,OAAI,KAAK,IACA,KAAK,YAAY,KAAK,GAAG,EAE3B,EACT,EACA,WAAY,CACV,MAAO,CACL,GAAG,KAAK,WAMR,MAAQC,GAAW,CACjB,GAAI,MAAMA,EAAO,OAAO,aAAa,EACnC,KAAK,MAAQ,aACJ,KAAK,OAAS,OAAQ,CAC/B,MAAMC,EAAOD,EAAO,OAAO,MAC3B,GAAI,KAAK,QAAU,GAAI,CACrB,KAAM,CAAE,KAAAE,EAAM,GAAAC,EAAI,GAAAC,CAAE,EAAK,KAAK,gBAAgC,IAAI,IAAM,EACxE,KAAK,MAAwB,IAAI,KAAK,GAAGF,CAAI,IAAIC,CAAE,IAAIC,CAAE,IAAIH,CAAI,EAAE,CACrE,KAAO,CACL,KAAM,CAAE,KAAAC,EAAM,GAAAC,EAAI,GAAAC,CAAE,EAAK,KAAK,gBAAgB,KAAK,KAAK,EACxD,KAAK,MAAwB,IAAI,KAAK,GAAGF,CAAI,IAAIC,CAAE,IAAIC,CAAE,IAAIH,CAAI,EAAE,CACrE,CACF,SAAW,KAAK,OAAS,QAAS,CAChC,MAAME,GAAM,IAAI,KAAKH,EAAO,OAAO,KAAK,EAAE,SAAQ,EAAK,GAAG,SAAQ,EAAG,SAAS,EAAG,GAAG,EACpF,GAAI,KAAK,QAAU,GAAI,CACrB,KAAM,CAAE,KAAAE,EAAM,GAAAE,EAAI,GAAAC,EAAI,GAAAC,CAAE,EAAK,KAAK,gBAAgC,IAAI,IAAM,EAC5E,KAAK,MAAwB,IAAI,KAAK,GAAGJ,CAAI,IAAIC,CAAE,IAAIC,CAAE,IAAIC,CAAE,IAAIC,CAAE,EAAE,CACzE,KAAO,CACL,KAAM,CAAE,KAAAJ,EAAM,GAAAE,EAAI,GAAAC,EAAI,GAAAC,CAAE,EAAK,KAAK,gBAAgB,KAAK,KAAK,EAC5D,KAAK,MAAwB,IAAI,KAAK,GAAGJ,CAAI,IAAIC,CAAE,IAAIC,CAAE,IAAIC,CAAE,IAAIC,CAAE,EAAE,CACzE,CACF,KAAO,CACL,MAAMC,EAAwB,IAAI,KAAKP,EAAO,OAAO,aAAa,EAAE,oBAAsB,IAAM,GAC1FQ,EAAwBR,EAAO,OAAO,cAAgBO,EAC5D,KAAK,MAAQ,IAAI,KAAKC,CAAqB,CAC7C,CACF,CACR,CACI,CACJ,EACE,QAAS,CAOP,gBAAgBC,EAAO,CACrB,GAAIA,aAAiB,KAAM,CACzB,MAAMP,EAAOO,EAAM,YAAW,EAAG,SAAQ,EAAG,SAAS,EAAG,GAAG,EACrDN,GAAMM,EAAM,SAAQ,EAAK,GAAG,WAAW,SAAS,EAAG,GAAG,EACtDL,EAAKK,EAAM,QAAO,EAAG,SAAQ,EAAG,SAAS,EAAG,GAAG,EAC/CJ,EAAKI,EAAM,SAAQ,EAAG,SAAQ,EAAG,SAAS,EAAG,GAAG,EAChDH,EAAKG,EAAM,WAAU,EAAG,SAAQ,EAAG,SAAS,EAAG,GAAG,EACxD,MAAO,CAAE,KAAAP,EAAM,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,CAAE,CAC/B,CACF,EAOA,YAAYG,EAAO,CACjB,GAAIA,aAAiB,KAAM,CACzB,KAAM,CAAE,KAAAP,EAAM,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,GAAO,KAAK,gBAAgBG,CAAK,EAC3D,GAAI,KAAK,OAAS,iBAChB,MAAO,GAAGP,CAAI,IAAIC,CAAE,IAAIC,CAAE,IAAIC,CAAE,IAAIC,CAAE,GACjC,GAAI,KAAK,OAAS,OACvB,MAAO,GAAGJ,CAAI,IAAIC,CAAE,IAAIC,CAAE,GACrB,GAAI,KAAK,OAAS,QACvB,MAAO,GAAGF,CAAI,IAAIC,CAAE,GACf,GAAI,KAAK,OAAS,OACvB,MAAO,GAAGE,CAAE,IAAIC,CAAE,GACb,GAAI,KAAK,OAAS,OAAQ,CAC/B,MAAMI,EAAY,IAAI,KAAKR,EAAM,EAAG,CAAC,EAC/BS,EAA2B,KAAK,OAAOF,EAAQC,IAAc,KAAU,GAAK,IAAI,EAChFE,EAAa,KAAK,KAAKD,EAA2B,CAAC,EACzD,MAAO,GAAGT,CAAI,KAAKU,CAAU,EAC/B,CACF,YACS,EAEX,CACJ,CACA,EACA,IAAIC,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,MAAO,CAAE,YAAa,wBAAwB,EAAI,CAACA,EAAG,QAAS,CAAE,YAAa,gCAAiC,MAAO,CAAE,kBAAmBD,EAAI,SAAS,EAAI,MAAO,CAAE,IAAOA,EAAI,EAAE,GAAM,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,KAAK,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,QAASD,EAAI,GAAGA,EAAI,GAAG,CAAE,YAAa,gCAAiC,MAAOA,EAAI,WAAY,MAAO,CAAE,GAAMA,EAAI,GAAI,KAAQA,EAAI,KAAM,IAAOA,EAAI,aAAc,IAAOA,EAAI,cAAgB,SAAU,CAAE,MAASA,EAAI,cAAc,CAAE,EAAI,QAASA,EAAI,OAAQ,EAAK,EAAGA,EAAI,SAAS,CAAC,CAAC,CAAC,CACtgB,EACIE,GAAuB,GACvBC,GAAgCC,EAClCvB,GACAkB,GACAG,GACA,GACA,KACA,UACF,EACA,MAAMG,EAAyBF,GAAc,QAC7CG,EAAeD,CAAsB,EC1NrC,MAAME,GAAc,CAClB,KAAM,UACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAkB,CACpC,IAAIR,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,gCAAiC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASd,EAAQ,CACpM,OAAOc,EAAI,MAAM,QAASd,CAAM,CAClC,EAAG,EAAI,OAAQc,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,mPAAmP,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACzhB,EACIS,GAAyB,GACzBC,GAAkCN,EACpCG,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAME,GAAUD,GAAgB,QAC1BE,GAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAmB,CACrC,IAAIb,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,oCAAqC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASd,EAAQ,CACxM,OAAOc,EAAI,MAAM,QAASd,CAAM,CAClC,EAAG,EAAI,OAAQc,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,kkBAAkkB,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACx2B,EACIc,GAAyB,GACzBC,GAAkCX,EACpCQ,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAME,GAAaD,GAAgB,QACnCE,EAASC,CAAG,EACZ,MAAMC,GAAiBC,EAAU,OAAQ,eAAgB,EAAE,EAAE,iBAAmB,KAC1EC,GAAoB,IAAI,IAAI,OAAO,KAAKC,EAAa,KAAK,CAAC,EAC3DzC,GAAY,CAChB,KAAM,kBACN,WAAY,CACV,aAAAyC,EACA,QAAAX,GACA,WAAAK,EACJ,EAEE,aAAc,GACd,MAAO,CACL,KAAM,aACN,MAAO,mBACX,EACE,MAAO,CAML,IAAK,GAEL,GAAGM,EAAa,MAKhB,mBAAoB,CAClB,KAAM,QAEN,QAAS,EACf,EAII,oBAAqB,OASrB,sBAAuB,CACrB,KAAM,QACN,QAAS,EACf,EAKI,UAAW,CACT,KAAM,OACN,QAAS,MACf,EAKI,UAAW,CACT,KAAM,OACN,QAAS,IACf,EAQI,OAAQ,CACN,KAAM,QACN,QAAS,EACf,EAKI,QAAS,CACP,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAO,CACL,QACA,UAMA,eAOA,oBAEA,qBAMA,gBACJ,EACE,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CACrB,MAAMC,EAAQxC,EAAkB,QAAS,cAAc,EACjDyC,EAAaC,EAAUJ,EAAO,UAAWC,EAAM,CAAE,QAAS,GAAM,EACtE,MAAO,CACL,EAAAI,EACA,MAAAH,EACA,WAAAC,CACN,CACE,EACA,MAAO,CACL,MAAO,CACL,oBAAqB,GACrB,QAAS,IACf,CACE,EACA,SAAU,CACR,eAAgB,CACd,OAAO,KAAK,OAAS,KAAK,UAAY,EACxC,EACA,iBAAkB,CAChB,OAAO,KAAK,SAAW,KAAK,UAAY,EAC1C,EACA,oBAAqB,CACnB,OAAI,KAAK,WAAW,OAAS,EACpB,KAAK,WAEP,KAAK,mBACd,EACA,OAAQ,CACN,KAAM,CAAE,UAAAG,CAAS,EAAK,KACtB,MAAO,CACL,UAAWA,IAAc,KAAK,sBAAwBV,IAAgB,UAAY,OAC1F,CACI,EACA,6BAA8B,CAC5B,OAAO,KAAK,WAAaS,EAAE,eAAe,EAAIA,EAAE,eAAe,CACjE,EACA,wBAAyB,CACvB,MAAO,CAEL,GAAG,KAAK,OAER,GAAG,OAAO,YAAY,OAAO,QAAQ,KAAK,MAAM,EAAE,OAAO,CAAC,CAACE,CAAG,IAAMT,GAAkB,IAAIS,CAAG,CAAC,CAAC,CACvG,CACI,CACJ,EACE,MAAO,CACL,MAAMC,EAAU,CACd,KAAK,QAAU,OACf,KAAK,oBAAsB,GACvBA,GAAY,KAAK,uBACnB,KAAK,cAAcA,CAAQ,CAE/B,CACJ,EACE,QAAS,CAMP,OAAQ,CACN,KAAK,MAAM,WAAW,MAAK,CAC7B,EAMA,QAAS,CACP,KAAK,MAAM,WAAW,OAAM,CAC9B,EACA,YAAYC,EAAO,CACjB,KAAK,MAAQA,EAAM,OAAO,KAC5B,EACA,kBAAmB,CACjB,KAAK,WAAa,CAAC,KAAK,UAC1B,EACA,cAAeC,EAAS,eAAeC,EAAU,CAC/C,GAAI,CACF,KAAM,CAAE,KAAAC,GAAS,MAAMC,EAAM,KAAKC,EAAe,sCAAsC,EAAG,CAAE,SAAAH,EAAU,EAEtG,GADA,KAAK,QAAUC,EAAK,IAAI,KAAK,OACzBA,EAAK,IAAI,KAAK,OAAQ,CACxB,KAAK,oBAAsBP,EAAE,oBAAoB,EACjD,KAAK,MAAM,OAAO,EAClB,MACF,CACA,KAAK,oBAAsBO,EAAK,IAAI,KAAK,OACzC,KAAK,MAAM,SAAS,CACtB,OAASG,EAAG,CACVC,EAAO,MAAM,oCAAqCD,CAAC,CACrD,CACF,EAAG,GAAG,CACV,CACA,EACA,IAAIvC,GAAc,UAAmB,CACnC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,eAAgBD,EAAI,GAAGA,EAAI,GAAG,CAAE,IAAK,aAAc,MAAO,CAAE,KAAQA,EAAI,YAAcA,EAAI,OAAS,OAAS,WAAY,wBAAyBA,EAAI,4BAA6B,cAAeA,EAAI,mBAAoB,MAASA,EAAI,cAAe,QAAWA,EAAI,gBAAiB,UAAaA,EAAI,MAAM,UAAW,cAAe,CAAE,qCAAsC,CAACA,EAAI,YAAcA,EAAI,MAAM,CAAE,EAAI,GAAI,CAAE,wBAAyBA,EAAI,iBAAkB,MAASA,EAAI,WAAW,EAAI,YAAaA,EAAI,GAAG,CAAGA,EAAI,aAAa,MAAUA,EAAI,OAAO,SAAaA,EAAI,aAAa,QAAU,CAAE,IAAK,OAAQ,GAAI,UAAW,CAC7mB,MAAO,CAACA,EAAI,GAAG,OAAQ,UAAW,CAChC,MAAO,CAACA,EAAI,GAAG,SAAS,CAAC,CAC3B,CAAC,CAAC,CACJ,EAAG,MAAO,IAAS,KAAM,CAAE,IAAK,uBAAwB,GAAI,UAAW,CACrE,MAAO,CAACA,EAAI,WAAaC,EAAG,aAAc,CAAE,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,EAAIA,EAAG,UAAW,CAAE,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,CAAC,CACjH,EAAG,MAAO,EAAI,CAAE,EAAG,KAAM,EAAI,CAAC,EAAI,eAAgBD,EAAI,uBAAwB,EAAK,EAAGA,EAAI,UAAU,CAAC,CACvG,EACIE,GAAuB,GACvBC,GAAgCC,EAClCvB,GACAkB,GACAG,GACA,GACA,KACA,UACF,EACA,MAAMsC,GAAkBrC,GAAc,QCpStCc,EAASwB,CAAG,EACZ,MAAM5D,GAAY,CAChB,KAAM,gBACN,WAAY,CACV,uBAAAwB,EACA,gBAAAmC,GACA,YAAAE,GAEA,cAAeC,EAAqB,IAAKC,EAAA,IAAC,OAAO,oCAAiC,+DAAC,EACnF,iBAAkBD,EAAqB,IAAKC,EAAA,IAAC,OAAO,uCAAoC,yEAAC,EACzF,SAAUD,EAAqB,UAAM,OAAO,4BAA4B,OAAAE,KAAA,iEAAC,CAC7E,EACE,OAAQ,CAACC,EAAiB,EAC1B,MAAO,CACL,KAAM,aACN,MAAO,mBACX,EACE,MAAO,CAIL,GAAI,CACF,KAAM,OACN,QAAS,IAAM,UAAYhE,EAAW,EACtC,UAAYC,GAAOA,EAAG,KAAI,IAAO,EACvC,EAII,QAAS,CACP,KAAM,OACN,QAAS,IAAM,gBAAkBD,EAAW,EAC5C,UAAYC,GAAOA,EAAG,KAAI,IAAO,EACvC,EAII,KAAM,CACJ,KAAM,OACN,QAAS,EACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,OACT,UAAUgE,EAAM,CACd,MAAO,CACL,OACA,iBACA,QACA,cACA,SACA,WACA,SACA,MACA,OACA,OACA,MACA,OACA,QACA,OACV,EAAU,QAAQA,CAAI,EAAI,EACpB,CACN,EAII,uBAAwB,CACtB,KAAM,OACN,QAAS,qBACf,EAII,eAAgB,CACd,KAAM,QACN,QAAS,EACf,EAII,MAAO,CACL,KAAM,OACN,QAAS,IACf,EAKI,aAAc,CACZ,KAAM,QAEN,QAAS,EACf,EAMI,MAAO,CACL,KAAM,CAAC,OAAQ,KAAM,OAAQ,KAAK,EAClC,QAAS,MACf,EAII,WAAY,CACV,KAAM,CAAC,OAAQ,KAAM,OAAQ,KAAK,EAClC,QAAS,EACf,EAII,SAAU,CACR,KAAM,QACN,QAAS,EACf,EAII,UAAW,CACT,KAAM,OACN,QAAS,EACf,EAMI,WAAY,CACV,KAAM,QAEN,QAAS,IACf,EAII,mBAAoB,CAClB,KAAM,QAEN,QAAS,EACf,EAII,oBAAqB,CACnB,KAAM,OACN,QAASnB,EAAE,QAAQ,CACzB,CACA,EACE,MAAO,CACL,QACA,SACA,SAMA,eAOA,oBAEA,oBACJ,EACE,OAAQ,CAEN,MAAO,CACL,MAFY3C,EAAkB,QAAS,cAAc,CAG3D,CACE,EACA,SAAU,CACR,WAAY,CACV,GAAI,CACF,OAAO,IAAI,IAAI,KAAK,IAAI,CAC1B,MAAQ,CACN,MAAO,EACT,CACF,EACA,mBAAoB,CAClB,OAAO,KAAK,OAAS,aACvB,EACA,sBAAuB,CACrB,OAAQ,KAAK,KAAI,CACf,IAAK,OACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,iBACH,OAAO,KAAK,IACtB,CACM,MAAO,EACT,EACA,gBAAiB,CACf,GAAI,CAAC,KAAK,eACR,OAAQ,KAAK,KAAI,CACf,IAAK,OACL,IAAK,QACL,IAAK,OACH,OAAO,KAAK,KACd,IAAK,iBACH,MAAO,UACnB,CAEM,MAAO,EACT,EAMA,aAAc,CACZ,MAAO,CAAC,KAAK,QACf,CACJ,EACE,QAAS,CAEP,SAAU,CACJ,KAAK,MAAM,gBAAkB,KAAK,MAAM,eAAe,MAAM,YAC/D,KAAK,MAAM,eAAe,MAAM,WAAW,WAAU,CAEzD,EACA,QAAQ+C,EAAO,CACb,KAAK,MAAM,QAASA,CAAK,EACzB,KAAK,MAAQA,EAAM,OAASA,EAAM,OAAO,MAAQA,CACnD,EACA,SAASA,EAAO,CAGd,GAFAA,EAAM,eAAc,EACpBA,EAAM,gBAAe,EACjB,CAAC,KAAK,SACR,KAAK,MAAM,SAAUA,CAAK,MAE1B,OAAO,EAEX,EACA,SAASA,EAAO,CACd,KAAK,MAAM,SAAUA,CAAK,CAC5B,CACJ,CACA,EACA,IAAIjC,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,KAAM,CAAE,YAAa,SAAU,MAAO,CAAE,mBAAoBD,EAAI,QAAQ,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,YAAa,eAAgB,MAAO,CACxI,gCAAiCD,EAAI,SACrC,8BAA+BA,EAAI,cAAgBA,EAAI,KAC3D,EAAK,GAAI,CAAE,WAAcA,EAAI,OAAO,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,YAAa,4BAA4B,EAAI,CAACD,EAAI,GAAG,OAAQ,UAAW,CAC5H,MAAO,CAACC,EAAG,OAAQ,CAAE,YAAa,qBAAsB,MAAO,CAACD,EAAI,UAAY,0BAA4BA,EAAI,IAAI,EAAG,MAAO,CAAE,gBAAiBA,EAAI,UAAY,OAAOA,EAAI,IAAI,IAAM,IAAI,EAAI,MAAO,CAAE,cAAe,MAAM,CAAE,CAAE,CAAC,CACnO,CAAC,CAAC,EAAG,CAAC,EAAGC,EAAG,OAAQ,CAAE,IAAK,OAAQ,YAAa,qBAAsB,MAAO,CAAE,SAAYD,EAAI,QAAQ,EAAI,GAAI,CAAE,OAAU,SAASd,EAAQ,CAC1I,OAAAA,EAAO,eAAc,EACdc,EAAI,SAAS,MAAM,KAAM,SAAS,CAC3C,CAAC,CAAE,EAAI,CAACC,EAAG,MAAO,CAAE,YAAa,yBAAyB,EAAI,CAACD,EAAI,OAASA,EAAI,cAAgB,CAACA,EAAI,eAAiBC,EAAG,QAAS,CAAE,YAAa,2BAA4B,MAAO,CAAE,mCAAoC,CAACD,EAAI,YAAY,EAAI,MAAO,CAAE,IAAOA,EAAI,OAAO,CAAE,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,KAAK,EAAI,GAAG,CAAC,CAAC,EAAIA,EAAI,GAAE,EAAIC,EAAG,MAAO,CAAE,YAAa,+BAA+B,EAAI,CAACD,EAAI,eAAiBC,EAAG,mBAAoBD,EAAI,GAAG,CAAE,IAAK,iBAAkB,YAAa,+BAAgC,YAAa,CAAE,UAAW,aAAa,EAAI,MAAO,CAAE,MAASA,EAAI,MAAO,YAAeA,EAAI,KAAM,SAAYA,EAAI,SAAU,KAAQA,EAAI,eAAgB,cAAe,CAAC,WAAY,CAAE,UAAWA,EAAI,WAAW,CAAE,CAAC,EAAI,GAAI,CAAE,MAASA,EAAI,QAAS,OAAUA,EAAI,QAAQ,CAAE,EAAI,mBAAoBA,EAAI,OAAQ,EAAK,CAAC,EAAIA,EAAI,eAAiBC,EAAG,yBAA0BD,EAAI,GAAG,CAAE,YAAa,+BAAgC,MAAO,CAAE,GAAMA,EAAI,uBAAwB,MAASA,EAAI,MAAO,MAASA,EAAI,MAAO,KAAQA,EAAI,qBAAsB,cAAe,CAAE,UAAWA,EAAI,WAAW,CAAE,EAAI,GAAI,CAAE,qBAAsB,SAASd,EAAQ,CAC5mCc,EAAI,MAAQd,CACd,EAAG,OAAU,SAASA,EAAQ,CAC5B,OAAOc,EAAI,MAAM,SAAUd,CAAM,CACnC,CAAC,CAAE,EAAI,yBAA0Bc,EAAI,OAAQ,EAAK,CAAC,EAAIA,EAAI,kBAAoBC,EAAG,WAAYD,EAAI,GAAGA,EAAI,GAAG,CAAE,YAAa,sBAAuB,MAAO,CAAE,MAASA,EAAI,MAAO,YAAeA,EAAI,KAAM,SAAYA,EAAI,SAAU,iBAAkBA,EAAI,OAAO,cAAgBA,EAAI,OAAO,gBAAgB,GAAK,GAAO,cAAe,CAAE,UAAWA,EAAI,WAAW,EAAI,EAAI,WAAYA,EAAI,OAAQ,EAAK,EAAGA,EAAI,UAAU,CAAC,EAAIA,EAAI,OAAS,WAAaC,EAAG,kBAAmBD,EAAI,GAAGA,EAAI,GAAG,CAAE,MAAO,CAAE,GAAMA,EAAI,QAAS,MAASA,EAAI,MAAO,MAASA,EAAI,MAAO,gBAAiB,CAACA,EAAI,OAASA,EAAI,aAAc,YAAeA,EAAI,KAAM,SAAYA,EAAI,SAAU,cAAe,CAAE,UAAWA,EAAI,WAAW,EAAI,uBAAwBA,EAAI,oBAAsB,CAACA,EAAI,UAAY,GAAI,CAAE,MAASA,EAAI,QAAS,OAAUA,EAAI,QAAQ,CAAE,EAAI,kBAAmBA,EAAI,OAAQ,EAAK,EAAGA,EAAI,UAAU,CAAC,EAAIA,EAAI,OAAS,QAAUC,EAAG,MAAO,CAAE,YAAa,2BAA6B,CAACD,EAAI,OAASA,EAAI,OAAS,QAAUC,EAAG,QAAS,CAAE,YAAa,2BAA4B,MAAO,CAAE,mCAAoC,CAACD,EAAI,cAAgB,MAAO,CAAE,IAAOA,EAAI,OAAO,GAAM,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,KAAK,EAAI,GAAG,CAAC,CAAC,EAAIA,EAAI,GAAE,EAAIC,EAAG,MAAO,CAAE,YAAa,+BAA+B,EAAI,CAACA,EAAG,gBAAiBD,EAAI,GAAGA,EAAI,GAAG,CAAE,YAAa,uBAAwB,MAAO,CAAE,GAAM,UAAW,MAASA,EAAI,KAAK,EAAI,GAAI,CAAE,qBAAsBA,EAAI,QAAS,OAAU,SAASd,EAAQ,CACj6C,OAAOc,EAAI,MAAM,KAAK,cAAa,CACrC,CAAC,CAAE,EAAI,gBAAiBA,EAAI,OAAQ,EAAK,EAAGA,EAAI,UAAU,EAAG,CAACC,EAAG,SAAU,CAAE,YAAa,uBAAwB,MAAO,CAAE,UAAWD,EAAI,aAAe,MAAO,CAAE,mBAAoBA,EAAI,MAAO,CAAE,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,EAAIC,EAAG,cAAeD,EAAI,GAAGA,EAAI,GAAG,CAAE,MAAO,CAAE,GAAMA,EAAI,QAAS,MAASA,EAAI,MAAO,MAASA,EAAI,MAAO,gBAAiB,CAACA,EAAI,OAASA,EAAI,aAAc,YAAeA,EAAI,KAAM,SAAYA,EAAI,SAAU,cAAe,CAAE,UAAWA,EAAI,aAAe,KAAQA,EAAI,KAAM,uBAAwB,aAAc,wBAAyBA,EAAI,oBAAqB,uBAAwBA,EAAI,oBAAsB,CAACA,EAAI,QAAQ,EAAI,GAAI,CAAE,wBAAyB,SAASd,EAAQ,CACpqB,OAAOc,EAAI,MAAM,KAAK,cAAa,CACrC,EAAG,MAASA,EAAI,QAAS,OAAUA,EAAI,QAAQ,GAAM,cAAeA,EAAI,OAAQ,EAAK,EAAGA,EAAI,UAAU,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtH,EACIE,GAAuB,GACvBC,GAAgCC,EAClCvB,GACAkB,GACAG,GACA,GACA,KACA,UACF,EACK,MAAC8C,GAAgB7C,GAAc,QCzR9BS,GAAc,CAClB,KAAM,mBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAkB,CACpC,IAAIb,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,0CAA2C,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASd,EAAQ,CAC9M,OAAOc,EAAI,MAAM,QAASd,CAAM,CAClC,EAAG,EAAI,OAAQc,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,6DAA6D,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACnW,EACIc,GAAyB,GACzBC,GAAkCX,EACpCQ,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAMmC,GAAelC,GAAgB,QAC/BlC,GAAY,CAChB,KAAM,eACN,WAAY,CACV,UAAAqE,EACA,aAAAD,GACA,SAAAE,EACJ,EACE,aAAc,GACd,MAAO,CAIL,KAAM,CACJ,KAAM,OACN,SAAU,EAChB,EAII,MAAO,CACL,KAAM,OACN,QAAS,IACf,EAMI,GAAI,CACF,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,MACf,EAMI,MAAO,CACL,KAAM,QACN,QAAS,EACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,MACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,EACf,EAII,cAAe,CACb,KAAM,QACN,QAAS,EACf,EAII,YAAa,CACX,KAAM,QACN,QAAS,EACf,EAII,UAAW,CACT,KAAM,QACN,QAAS,EACf,EAII,KAAM,CACJ,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAO,CACL,cACA,SACJ,EACE,OAAQ,CACN,MAAMC,EAAUC,GAAe,EAC/B,MAAO,CACL,iBAAkB,6BAA6BD,CAAO,KACtD,QAAAA,CACN,CACE,EACA,MAAO,CACL,MAAO,CAIL,SAAU,EAChB,CACE,EACA,SAAU,CAIR,gBAAiB,CACf,OAAO,KAAK,GAAK,CAAE,GAAI,KAAK,GAAI,MAAO,KAAK,MAAO,GAAG,KAAK,MAAM,EAAK,KAAK,KAAO,CAAE,KAAM,KAAK,KAAM,GAAG,KAAK,QAAW,KAAK,MAC/H,CACJ,EACE,QAAS,CAOP,aAAaE,EAAM,CACjB,KAAK,MAAM,cAAeA,CAAI,CAChC,EAQA,QAAQhB,EAAG,CACT,OAAI,KAAK,cAGT,KAAK,MAAM,UAAWA,EAAG,KAAK,IAAM,KAAK,IAAI,EAC7C,KAAK,QAAQ,MAAM,UAAWA,EAAG,KAAK,IAAM,KAAK,IAAI,EACrD,KAAK,SAAW,IACT,EACT,EAIA,WAAY,CACN,KAAK,cAGT,KAAK,SAAW,GAClB,EAMA,UAAUA,EAAG,CACP,KAAK,aAGLA,EAAE,OAAO,SAASA,EAAE,aAAa,GAAK,KAAK,MAAM,MAAM,SAASA,EAAE,aAAa,IAGnF,KAAK,SAAW,GAClB,CACJ,CACA,EACA,IAAIvC,GAAc,UAAmB,CACnC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,KAAM,CAAE,IAAK,QAAS,YAAa,YAAa,MAAO,CAAE,qBAAsBD,EAAI,UAAY,MAAO,CAAE,gBAAiBA,EAAI,QAAS,UAAa,OAAO,EAAI,GAAI,CAAE,UAAa,SAASd,EAAQ,CAC1M,OAAAA,EAAO,eAAc,GACb,IAAM,CACd,GAAG,MAAM,KAAM,SAAS,CAC1B,EAAG,KAAQ,SAASA,EAAQ,CAC1B,OAAAA,EAAO,eAAc,EACdc,EAAI,QAAQ,MAAM,KAAM,SAAS,CAC1C,EAAG,SAAY,SAASd,EAAQ,CAC9B,OAAAA,EAAO,eAAc,GACb,IAAM,CACd,GAAG,MAAM,KAAM,SAAS,CAC1B,EAAG,UAAac,EAAI,UAAW,UAAaA,EAAI,SAAS,GAAM,EAAEA,EAAI,MAAQA,EAAI,MAAQA,EAAI,OAAO,OAAS,CAACA,EAAI,OAAO,QAAUC,EAAG,WAAYD,EAAI,GAAGA,EAAI,GAAG,CAAE,MAAO,CAAE,aAAcA,EAAI,KAAOA,EAAI,KAAO,OAAQ,MAASA,EAAI,MAAO,QAAW,UAAU,EAAI,YAAaA,EAAI,GAAG,CAACA,EAAI,OAAO,MAAQA,EAAI,KAAO,CAAE,IAAK,OAAQ,GAAI,UAAW,CACnV,MAAO,CAACA,EAAI,GAAG,OAAQ,UAAW,CAChC,MAAO,CAACC,EAAG,OAAQ,CAAE,YAAa,OAAQ,MAAOD,EAAI,IAAI,CAAE,CAAC,CAC9D,CAAC,CAAC,CACJ,EAAG,MAAO,EAAI,EAAK,KAAM,EAAEA,EAAI,OAAO,MAAQA,EAAI,OAASA,EAAI,cAAgB,CAAE,IAAK,UAAW,GAAI,UAAW,CAC9G,MAAO,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,IAAI,EAAI,GAAG,CAAC,CAC9C,EAAG,MAAO,EAAI,EAAK,IAAI,EAAG,KAAM,EAAI,CAAC,EAAI,WAAYA,EAAI,eAAgB,EAAK,EAAGA,EAAI,UAAU,CAAC,EAAIA,EAAI,GAAE,EAAIA,EAAI,OAAO,QAAUC,EAAG,YAAa,CAAE,IAAK,UAAW,MAAO,CAAE,aAAcD,EAAI,UAAW,KAAQA,EAAI,KAAM,YAAaA,EAAI,KAAM,MAASA,EAAI,MAAO,aAAc,GAAM,UAAaA,EAAI,iBAAkB,QAAW,UAAU,EAAI,GAAI,CAAE,cAAeA,EAAI,YAAY,EAAI,YAAaA,EAAI,GAAG,CAAC,CAAE,IAAK,OAAQ,GAAI,UAAW,CAClb,MAAO,CAACA,EAAI,GAAG,WAAW,CAAC,CAC7B,EAAG,MAAO,GAAM,EAAG,KAAM,EAAI,GAAK,CAACA,EAAI,GAAG,SAAS,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,EAAIC,EAAG,eAAgB,CAAE,YAAa,uBAAwB,MAAO,CAAE,KAAQ,EAAE,EAAI,CAAC,EAAG,CAAC,CAC9J,EACIC,GAAuB,GACvBC,GAAgCC,EAClCvB,GACAkB,GACAG,GACA,GACA,KACA,UACF,EACK,MAACqD,GAAepD,GAAc,QCxOnC,IAAIqD,EAAe,OAAM,EAErBC,EAAc,OAAM,EAEpBC,EAAsB,OAAM,EAE5BC,EAAqB,OAAM,EAE3BC,EAAS,SAAgBC,EAAM,CAC/B,MAAO,SAAUA,CACrB,EAEIC,GAAuB,CACvB,IAAK,UAAe,CAChB,OAAO,KAAKL,CAAW,GAAK,KAAK,aACrC,EACA,aAAc,EAClB,EAEIM,EAAkB,SAAyBF,EAAMG,EAAY,CACzDP,KAAeI,IAGnBA,EAAKJ,CAAW,EAAIO,EACpB,OAAO,eAAeH,EAAM,aAAcC,EAAoB,EAClE,EAEIG,GAAwB,CACxB,IAAK,UAAe,CAChB,IAAIC,EAAa,KAAK,WAAW,WAC7BC,EAAQD,EAAW,QAAQ,IAAI,EACnC,OAAIC,EAAQ,IACDD,EAAWC,EAAQ,CAAC,GAAK,IAGxC,CACJ,EAEIC,EAAmB,SAA0BP,EAAM,CAC/CH,KAAuBG,IAG3BA,EAAKH,CAAmB,EAAI,GAC5B,OAAO,eAAeG,EAAM,cAAeI,EAAqB,EACpE,EAEII,GAAiB,SAAwBR,EAAMS,EAAY,CAC3D,KAAOT,EAAK,aAAeS,GAAY,CACnC,IAAIC,EAAQV,EAAMW,EAAaD,EAAM,WACjCC,IACAX,EAAOW,EAEf,CACA,OAAOX,CACX,EAEIY,EAEAC,EAA6B,SAAoCb,EAAM,CACvE,GAAI,CAACY,EAAe,CAChB,IAAIE,EAAwB,OAAO,yBAAyB,KAAK,UAAW,YAAY,EACxFF,EAAgBE,EAAsB,GAC1C,CACA,IAAIC,EAAiBH,EAAc,MAAMZ,CAAI,EACzCK,EAAa,MAAM,KAAKU,CAAc,EAAE,KAAK,SAASC,EAAW,CACjE,OAAOR,GAAeQ,EAAWhB,CAAI,CACzC,EAAC,EACD,OAAOK,EAAW,QAAQ,SAASW,EAAWV,EAAO,CACjD,OAAOU,IAAcX,EAAWC,EAAQ,CAAC,CAC7C,EAAC,CACL,EAEIW,GAAuB,CACvB,IAAK,UAAe,CAChB,OAAO,KAAK,MAAQJ,EAA2B,IAAI,CACvD,CACJ,EAEIK,GAAuB,CACvB,IAAK,UAAe,CAChB,OAAO,KAAK,WAAW,CAAC,GAAK,IACjC,CACJ,EAEA,SAASC,IAAgB,CACrB,OAAO,KAAK,WAAW,OAAS,CACpC,CAEA,IAAIC,EAAkB,SAAyBpB,EAAM,CAC7CF,KAAsBE,IAG1BA,EAAKF,CAAkB,EAAI,GAC3B,OAAO,iBAAiBE,EAAM,CAC1B,WAAYiB,GACZ,WAAYC,EACpB,CAAK,EACDlB,EAAK,cAAgBmB,GACzB,EAEA,SAASE,IAAS,CACd,IAAIC,GACHA,EAAc,KAAK,KAAK,CAAC,GAAG,OAAO,MAAMA,EAAa,SAAS,CACpE,CAEA,SAASC,IAAS,CACd,IAAIC,EAAO,KAAK,KACZC,EAAUD,EAAK,OAAO,EAAGA,EAAK,MAAM,EACxCC,EAAQ,SAAS,SAASzB,EAAM,CAC5BA,EAAK,OAAM,CACf,EAAC,CACL,CAEA,IAAI0B,GAAuB,SAASA,EAAqBC,EAAU,CAC/D,IAAIC,EACJ,OAAQA,EAAmB,MAAM,WAAW,OAAO,MAAMA,EAAkBD,EAAS,KAAK,SAASX,EAAW,CACzG,OAAOjB,EAAOiB,CAAS,EAAIU,EAAqBV,EAAU,IAAI,EAAIA,CACtE,GAAG,CACP,EAEIa,GAAiB,SAAwB7B,EAAM8B,EAAkB,CACjE,IAAIC,EAAc/B,EAAKL,CAAY,EACnCmC,EAAiB,OAAOC,CAAW,EACnC7B,EAAgB6B,EAAa/B,CAAI,EACjCA,EAAK,KAAK,QAAQ+B,CAAW,CACjC,EAEA,SAASC,EAAYhC,EAAM,CACvB,GAAID,EAAO,IAAI,EAAG,CACd,IAAIkC,EAAqB,KAAK,KAAK,QAAQjC,CAAI,EAC/C,GAAIiC,EAAqB,GAAI,CACzB,IAAIC,EAAoB,KAAK,KAAK,OAAOD,EAAoB,CAAC,EAAGE,EAAcD,EAAkB,CAAC,EAC9F,KAAK,KAAK,SAAW,GACrBL,GAAe,KAAMM,CAAW,EAEpCnC,EAAK,OAAM,CACf,CACJ,KAAO,CACH,IAAI2B,EAAWd,EAA2B,IAAI,EAC1CuB,EAAWT,EAAS,QAAQ3B,CAAI,EAChCoC,EAAW,IACXpC,EAAK,OAAM,CAEnB,CACA,OAAOA,CACX,CAEA,SAASqC,EAAaC,EAAYR,EAAkB,CAChD,IAAIS,EAAQ,KACRC,EAAcF,EAAW,MAAQ,CAAEA,CAAU,EACjD,GAAIvC,EAAO,IAAI,EAAG,CACd,GAAIuC,EAAW1C,CAAW,IAAM,MAAQ0C,EAAW,cAC/C,OAAOA,EAEX,IAAIG,EAAQ,KAAK,KACjB,GAAIX,EAAkB,CAClB,IAAIxB,EAAQmC,EAAM,QAAQX,CAAgB,EACtCxB,EAAQ,KACRmC,EAAM,OAAO,MAAMA,EAAO,CAAEnC,EAAO,CAAC,EAAG,OAAOkC,CAAW,CAAC,EAC1DV,EAAiB,OAAO,MAAMA,EAAkBU,CAAW,EAEnE,KAAO,CACH,IAAIE,EAAYD,EAAMA,EAAM,OAAS,CAAC,EACtCA,EAAM,KAAK,MAAMA,EAAOD,CAAW,EACnCE,EAAU,MAAM,MAAMA,EAAWF,CAAW,CAChD,CACAG,EAAkB,IAAI,CAC1B,MAAWb,EACH,KAAK,WAAW,SAASA,CAAgB,GACzCA,EAAiB,OAAO,MAAMA,EAAkBU,CAAW,EAG/D,KAAK,OAAO,MAAM,KAAMA,CAAW,EAEvCA,EAAY,SAAS,SAASxC,EAAM,CAChCE,EAAgBF,EAAMuC,CAAK,CAC/B,EAAC,EACD,IAAIK,EAAWJ,EAAYA,EAAY,OAAS,CAAC,EACjD,OAAAjC,EAAiBqC,CAAQ,EAClBN,CACX,CAEA,SAASO,GAAY7C,EAAM,CACvB,GAAIA,EAAKJ,CAAW,IAAM,MAAQI,EAAK,cACnC,OAAOA,EAEX,IAAIwB,EAAO,KAAK,KACZsB,EAAYtB,EAAKA,EAAK,OAAS,CAAC,EACpC,OAAAsB,EAAU,MAAM9C,CAAI,EACpBE,EAAgBF,EAAM,IAAI,EAC1B2C,EAAkB,IAAI,EACtBnB,EAAK,KAAKxB,CAAI,EACPA,CACX,CAEA,IAAI2C,EAAoB,SAA2B3C,EAAM,CACrD,IAAI+B,EAAc/B,EAAKL,CAAY,EAC/BK,EAAK,KAAK,CAAC,IAAM+B,IACjB/B,EAAK,KAAK,MAAK,EACf+B,EAAY,OAAM,EAE1B,EAEIgB,GAAsB,CACtB,IAAK,SAAaC,EAAY,CAC1B,IAAIC,EAAS,KAMb,GALI,KAAK,KAAK,CAAC,IAAM,KAAKtD,CAAY,GAClC,KAAK,KAAK,MAAK,EAAG,SAAS,SAASuD,EAAO,CACvC,OAAOD,EAAO,YAAYC,CAAK,CACnC,EAAC,EAEDF,EAAY,CACZ,IAAIG,EAAS,SAAS,cAAc,KAAK,EACzCA,EAAO,UAAYH,EACnB,MAAM,KAAKG,EAAO,UAAU,EAAE,SAAS,SAASnD,EAAM,CAClDiD,EAAO,YAAYjD,CAAI,CAC3B,EAAC,CACL,CACJ,EACA,IAAK,UAAe,CAChB,MAAO,EACX,CACJ,EAEIwB,GAAO,CACP,SAAU,SAAkB4B,EAAS,CACjC,IAAIzC,EAAayC,EAAQ,WAAYC,EAAcD,EAAQ,YAAaE,EAAkBF,EAAQ,gBAC9F/C,EAAa,MAAM,KAAK+C,EAAQ,UAAU,EAC1CrB,EAAc,SAAS,cAAc,EAAE,EACvC1B,EAAW,SAAW,GACtBA,EAAW,KAAK0B,CAAW,EAE/BqB,EAAQ,KAAO/C,EACf+C,EAAQzD,CAAY,EAAIoC,EACxB,IAAIwB,EAAW,SAAS,uBAAsB,EAC9CA,EAAS,OAAO,MAAMA,EAAU7B,GAAqBrB,CAAU,CAAC,EAChE+C,EAAQ,YAAYG,CAAQ,EAC5BlD,EAAW,SAAS,SAASL,EAAM,CAC/BE,EAAgBF,EAAMoD,CAAO,EAC7B7C,EAAiBP,CAAI,CACzB,EAAC,EACDoB,EAAgBgC,CAAO,EACvB,OAAO,OAAOA,EAAS,CACnB,OAAQ7B,GACR,YAAasB,GACb,aAAcR,EACd,YAAaL,EACb,OAAQX,EACpB,CAAS,EACD,OAAO,eAAe+B,EAAS,YAAaL,EAAmB,EAC3DpC,IACA,OAAO,OAAOA,EAAY,CACtB,YAAaqB,EACb,aAAcK,CAC9B,CAAa,EACDnC,EAAgBkD,EAASzC,CAAU,EACnCS,EAAgBT,CAAU,GAE1B0C,GACA9C,EAAiB6C,CAAO,EAExBE,GACA/C,EAAiB+C,CAAe,CAExC,EACA,OAAQ,SAAgBF,EAAS,CAC7BA,EAAQ,OAAM,CAClB,CACJ,EAEIG,GAAW,CACX,KAAM,WACN,WAAY,CACR,KAAM/B,EACd,EACI,OAAQ,SAAgBgC,EAAG,CACvB,OAAOA,EAAE,MAAO,CACZ,WAAY,CAAE,CACV,KAAM,MACtB,CAAa,CACb,EAAW,KAAK,OAAO,OAAU,CAC7B,CACJ,EC/QA,MAAMzG,GAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAkB,CACpC,IAAIb,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,mCAAoC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASd,EAAQ,CACvM,OAAOc,EAAI,MAAM,QAASd,CAAM,CAClC,EAAG,EAAI,OAAQc,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,+FAA+F,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACrY,EACIc,GAAyB,GACzBC,GAAkCX,EACpCQ,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAMwG,GAAavG,GAAgB,QACnC,SAASwG,EAAaC,EAAOC,EAASC,EAAI,CACxC,GAAIF,IAAU,OAGd,QAASrD,EAAQqD,EAAM,OAAS,EAAGrD,GAAS,EAAGA,IAAS,CACtD,MAAMN,EAAO2D,EAAMrD,CAAK,EAClBwD,EAAgB,CAAC9D,EAAK,kBAAoBA,EAAK,KAAO4D,EAAQ,QAAQ5D,EAAK,GAAG,IAAM,GACpF+D,EAAiB,CAAC,CAAC/D,EAAK,kBAAoB,OAAOA,EAAK,iBAAiB,KAAQ,SACjFgE,EAAuBD,GAAkBH,EAAQ,QAAQ5D,EAAK,iBAAiB,GAAG,IAAM,IAC1F8D,GAAiB,CAACC,GAAkBC,MAClCF,GAAiBE,IACnBC,EAAI,KAAK,KAAK,GAAGH,EAAgB9D,EAAK,IAAMA,EAAK,iBAAiB,GAAG,8BAA8B6D,EAAG,SAAS,IAAI,aAAcA,CAAE,EAErIF,EAAM,OAAOrD,EAAO,CAAC,EAEzB,CACF,CACA,MAAM4D,EAAa,YACblJ,GAAY,CAChB,KAAM,gBACN,WAAY,CACV,UAAAqE,EACA,eAAA8E,GACA,eAAAC,GACA,aAAAC,GACA,aAAA3E,GACA,WAAA+D,EACJ,EACE,MAAO,CAIL,SAAU,CACR,KAAM,OACN,QAAS,WACf,EAII,UAAW,CACT,KAAM,OACN,QAAS,IACf,CACA,EACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,CAKL,cAAe,GAKf,oBAAqB,CAEnB,KAAM,GACN,UAAW,GAEX,YAAa,GAEb,KAAM,EACd,EACM,gBAAiB,EACvB,CACE,EACA,aAAc,CACZC,EAAa,KAAK,OAAO,QAAS,CAAC,cAAc,EAAG,IAAI,CAC1D,EACA,cAAe,CACbA,EAAa,KAAK,OAAO,QAAS,CAAC,cAAc,EAAG,IAAI,CAC1D,EACA,SAAU,CACR,OAAO,iBAAiB,SAAUtF,EAAS,IAAM,CAC/C,KAAK,mBAAkB,CACzB,EAAG,GAAG,CAAC,EACPkG,EAAU,qBAAsB,KAAK,aAAa,CACpD,EACA,SAAU,CACR,KAAK,mBAAkB,CACzB,EACA,SAAU,CACR,KAAK,cAAa,EAClB,KAAK,UAAU,IAAM,CACnB,KAAK,WAAU,CACjB,CAAC,CACH,EACA,eAAgB,CACd,OAAO,oBAAoB,SAAU,KAAK,kBAAkB,EAC5DC,EAAY,qBAAsB,KAAK,aAAa,CACtD,EACA,QAAS,CAMP,aAAa9F,EAAG,CACV,KAAK,MAAM,kBAAkB,IAAI,SAASA,EAAE,aAAa,IAG7D,KAAK,oBAAoB,KAAO,GAClC,EAIA,MAAM,eAAgB,CACpB,MAAM,KAAK,UAAS,EACpB,KAAK,mBAAkB,CACzB,EAKA,oBAAqB,CACnB,GAAI,CAAC,KAAK,MAAM,UACd,OAEF,MAAM+F,EAAc,OAAO,OAAO,KAAK,eAAe,EAChDC,EAAWD,EAAY,OACvBE,EAAgB,GAChBC,EAAiB,KAAK,MAAM,UAAU,YAC5C,IAAIC,EAAa,KAAK,cAAcJ,CAAW,EAC3C,KAAK,MAAM,sBACbI,GAAc,KAAK,MAAM,oBAAoB,aAE/C,IAAIC,EAAWD,EAAaD,EAC5BE,GAAYA,EAAW,EAAI,GAAK,EAChC,IAAIC,EAAI,EACR,MAAMC,EAAa,KAAK,MAAMN,EAAW,CAAC,EAC1C,KAAOI,EAAW,GAAKC,EAAIL,EAAW,GAAG,CACvC,MAAMO,EAAeD,GAAcD,EAAI,EAAIA,EAAI,EAAIA,GAAK,EAAI,KAAK,IAAI,GAAIA,EAAIL,EAAW,CAAC,EACzFI,GAAY,KAAK,SAASL,EAAYQ,CAAY,GAAG,IAAKA,IAAiBR,EAAY,OAAS,CAAC,EACjGE,EAAc,KAAKM,CAAY,EAC/BF,GACF,CACK,KAAK,YAAY,KAAK,cAAeJ,EAAc,KAAK,CAACO,EAAGC,IAAMD,EAAIC,CAAC,CAAC,IAC3E,KAAK,cAAgBR,EAEzB,EASA,YAAYO,EAAGC,EAAG,CAChB,GAAID,EAAE,SAAWC,EAAE,OACjB,MAAO,GAET,GAAID,IAAMC,EACR,MAAO,GAET,GAAID,IAAM,MAAQC,IAAM,KACtB,MAAO,GAET,QAAS,EAAI,EAAG,EAAID,EAAE,OAAQ,EAAE,EAC9B,GAAIA,EAAE,CAAC,IAAMC,EAAE,CAAC,EACd,MAAO,GAGX,MAAO,EACT,EAOA,cAAcV,EAAa,CACzB,OAAOA,EAAY,OAAO,CAACW,EAAOC,EAAO9E,IAAU6E,EAAQ,KAAK,SAASC,GAAO,IAAK9E,IAAUkE,EAAY,OAAS,CAAC,EAAG,CAAC,CAC3H,EAQA,SAASa,EAAIC,EAAQ,CACnB,GAAI,CAACD,GAAI,UACP,MAAO,GAET,MAAME,EAAOF,EAAG,UAAU,SAAS,GAAGnB,CAAU,UAAU,EAC1DmB,EAAG,MAAM,SAAW,OAChBC,IACFD,EAAG,MAAM,SAAW,SAEtBA,EAAG,UAAU,OAAO,GAAGnB,CAAU,UAAU,EAC3C,MAAMsB,EAAIH,EAAG,YACb,OAAIE,GACFF,EAAG,UAAU,IAAI,GAAGnB,CAAU,UAAU,EAE1CmB,EAAG,MAAM,SAAW,GACpBA,EAAG,MAAM,SAAW,GACbG,CACT,EAOA,eAAe/G,EAAG,CAChB,OAAIA,EAAE,gBACJA,EAAE,eAAc,EAEX,EACT,EAQA,UAAUA,EAAG,CACX,OAAO,KAAK,eAAeA,CAAC,CAC9B,EASA,QAAQA,EAAGgH,EAAMC,EAAU,CACzB,OAAKA,GACH,KAAK,MAAM,UAAWjH,EAAGgH,CAAI,EAE/B,KAAK,oBAAoB,KAAO,GACjB,SAAS,iBAAiB,IAAIvB,CAAU,EAAE,EAClD,QAASyB,GAAM,CACpBA,EAAE,UAAU,OAAO,GAAGzB,CAAU,WAAW,CAC7C,CAAC,EACM,KAAK,eAAezF,CAAC,CAC9B,EAOA,SAASA,EAAG,CACV,OAAO,KAAK,eAAeA,CAAC,CAC9B,EAOA,UAAUA,EAAGiH,EAAU,CACrB,GAAI,CAAAA,GAGAjH,EAAE,OAAO,QAAS,CACpB,MAAMmH,EAASnH,EAAE,OAAO,QAAQ,IAAIyF,CAAU,EAAE,EAC5C0B,EAAO,WAAaA,EAAO,UAAU,SAAS1B,CAAU,IAC3C,SAAS,iBAAiB,IAAIA,CAAU,EAAE,EAClD,QAASyB,GAAM,CACpBA,EAAE,UAAU,OAAO,GAAGzB,CAAU,WAAW,CAC7C,CAAC,EACD0B,EAAO,UAAU,IAAI,GAAG1B,CAAU,WAAW,EAEjD,CACF,EAOA,UAAUzF,EAAGiH,EAAU,CACrB,GAAI,CAAAA,GAGA,CAAAjH,EAAE,OAAO,SAASA,EAAE,aAAa,GAGjCA,EAAE,OAAO,QAAS,CACpB,MAAMmH,EAASnH,EAAE,OAAO,QAAQ,IAAIyF,CAAU,EAAE,EAChD,GAAI0B,EAAO,SAASnH,EAAE,aAAa,EACjC,OAEEmH,EAAO,WAAaA,EAAO,UAAU,SAAS1B,CAAU,GAC1D0B,EAAO,UAAU,OAAO,GAAG1B,CAAU,WAAW,CAEpD,CACF,EAKA,YAAa,CACI,OAAO,OAAO,KAAK,eAAe,EAC1C,QAAQ,CAACkB,EAAON,IAAM,CACvBM,GAAO,KAAK,YACV,KAAK,cAAc,SAASN,CAAC,EAC/BM,EAAM,IAAI,UAAU,IAAI,GAAGlB,CAAU,UAAU,EAE/CkB,EAAM,IAAI,UAAU,OAAO,GAAGlB,CAAU,UAAU,EAGxD,CAAC,CACH,EACA,aAAa2B,EAAO,CAClB,OAAQA,GAAO,kBAAkB,KAAOA,GAAO,KAAO,IAAI,SAAS,cAAc,CACnF,CACJ,EAOE,OAAOrC,EAAG,CACR,MAAMgB,EAAc,GAcpB,GAbA,KAAK,OAAO,QAAQ,QAASqB,GAAU,CACrC,GAAI,KAAK,aAAaA,CAAK,EAAG,CAC5BrB,EAAY,KAAKqB,CAAK,EACtB,MACF,CACIA,GAAO,OAASC,IAClBD,GAAO,UAAU,UAAW3C,GAAU,CAChC,KAAK,aAAaA,CAAK,GACzBsB,EAAY,KAAKtB,CAAK,CAE1B,CAAC,CAEL,CAAC,EACGsB,EAAY,SAAW,EACzB,OAEFP,EAAI,IAAIO,EAAY,CAAC,EAAE,iBAAiB,UAAW,OAAQ,KAAK,QAAQ,EACxEP,EAAI,IAAIO,EAAY,CAAC,EAAE,iBAAiB,UAAW,MAAO,aAAa,EACvE,MAAMuB,EAAkB,GACxBvB,EAAY,QAAQ,CAACY,EAAO9E,IAAU,CACpC2D,EAAI,IAAImB,EAAO,MAAO,SAAS9E,CAAK,EAAE,EACtCyF,EAAgBzF,CAAK,EAAI8E,CAC3B,CAAC,EACD,IAAIY,EACJ,GAAI,CAAC,KAAK,cAAc,OACtBA,EAASxB,MACJ,CACLwB,EAASxB,EAAY,MAAM,EAAG,KAAK,MAAMA,EAAY,OAAS,CAAC,CAAC,EAChEwB,EAAO,KAAKxC,EAAE,eAAgB,CAC5B,MAAO,WACP,MAAO,KAAK,oBACZ,MAAO,CAGL,cAAe,EACzB,EAEQ,IAAK,oBACL,IAAK,uBAEL,SAAU,CACR,UAAW,KAAK,UAChB,UAAW,IAAM,CACf,KAAK,oBAAoB,KAAO,EAClC,EACA,UAAW,KAAK,YAC1B,EACQ,GAAI,CAGF,cAAgB/D,GAAS,CACvB,KAAK,oBAAoB,KAAOA,CAClC,CACV,CAEA,EAAS,KAAK,cAAc,OAAQa,GAAUA,GAASkE,EAAY,OAAS,CAAC,EAAE,IAAKlE,GAAU,CACtF,MAAM8E,EAAQZ,EAAYlE,CAAK,EACzB2F,EAAKb,EAAM,iBAAiB,UAAU,GACtCc,EAAOd,EAAM,iBAAiB,UAAU,KACxCM,EAAWN,EAAM,iBAAiB,UAAU,YAC5Ce,EAAQf,EAAM,iBAAiB,UAAU,MACzCjK,EAAOiK,EAAM,iBAAiB,UAAU,KAC9C,IAAIhC,EAAU,iBACVqC,EAAO,GACPS,IACF9C,EAAU,eACVqC,EAAOS,GAELD,IACF7C,EAAU,iBACVqC,EAAOQ,GAET,MAAMG,EAAa5C,EAAE,aAAc,CACjC,MAAO,CACL,KAAM,EAClB,EACU,KAAM,MAChB,CAAS,EACD,OAAOA,EAAEJ,EAAS,CAChB,MAAOc,EACP,MAAO,CACL,KAAMgC,GAAQ,KACd,MAAAC,EACA,GAAIF,GAAM,IACtB,EAEU,MAAO,CACL,UAAW,EACvB,EACU,GAAI,CACF,GAAGb,EAAM,iBAAiB,SACtC,EAEU,SAAU,CACR,UAAW,KAAK,UAChB,KAAO/J,GAAW,KAAK,QAAQA,EAAQoK,EAAMC,CAAQ,EACrD,SAAU,KAAK,SACf,UAAYrK,GAAW,KAAK,UAAUA,EAAQqK,CAAQ,EACtD,UAAYrK,GAAW,KAAK,UAAUA,EAAQqK,CAAQ,CAClE,CACA,EAAW,CAACU,EAAYjL,CAAI,CAAC,CACvB,CAAC,CAAC,CAAC,EACH,MAAMkL,EAAU7B,EAAY,MAAM,KAAK,MAAMA,EAAY,OAAS,CAAC,CAAC,EACpEwB,EAASA,EAAO,OAAOK,CAAO,CAChC,CACA,MAAMC,EAAU,CAAC9C,EAAE,MAAO,CAAE,MAAO,CAAE,aAAc,KAAK,SAAS,CAAE,EAAI,CAACA,EAAE,KAAM,CAAE,MAAO,oBAAoB,EAAI,CAACwC,CAAM,CAAC,CAAC,CAAC,CAAC,EAC5H,OAAI,KAAK,OAAO,SACdM,EAAQ,KAAK9C,EAAE,MAAO,CAAE,MAAO,sBAAuB,IAAK,qBAAqB,EAAI,KAAK,OAAO,OAAO,CAAC,EAE1G,KAAK,gBAAkBuC,EAChBvC,EAAE,MAAO,CAAE,MAAO,CAAC,aAAc,CAAE,wBAAyB,KAAK,cAAc,SAAWgB,EAAY,OAAS,CAAC,CAAE,EAAG,IAAK,WAAW,EAAI8B,CAAO,CACzJ,CACF,EACMpK,GAAc,KACdG,GAAuB,KAC7B,IAAIC,GAAgCC,EAClCvB,GACAkB,GACAG,GACA,GACA,KACA,UACF,EACK,MAACkK,GAAgBjK,GAAc","names":["inputDateTypes","_sfc_main","GenRandomId","id","name","useModelMigration","$event","time","yyyy","MM","dd","hh","mm","timezoneOffsetSeconds","inputDateWithTimezone","value","startDate","daysSinceBeginningOfYear","weekNumber","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcDateTimePickerNative","ScopeComponent","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","IconEye","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","IconEyeOff","register","t28","passwordPolicy","loadState","NcInputFieldProps","NcInputField","props","emit","model","visibility","useVModel","t","minlength","key","newValue","event","debounce","password","data","axios","generateOcsUrl","e","logger","NcPasswordField","t50","NcTextField","defineAsyncComponent","__vitePreload","n","ActionGlobalMixin","type","NcActionInput","ChevronRight","NcActions","NcButton","crumbId","createElementId","open","NcBreadcrumb","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","node","parentNodeDescriptor","patchParentNode","fakeParent","nextSiblingDescriptor","childNodes","index","patchNextSibling","getTopFragment","fromParent","_node","parentNode","getChildNodes","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","childNodesDescriptor","firstChildDescriptor","hasChildNodes","patchChildNodes","before","_this$frag$","remove","frag","removed","getFragmentLeafNodes","children","_Array$prototype","addPlaceholder","insertBeforeNode","placeholder","removeChild","hasChildInFragment","_this$frag$splice","removedNode","hasChild","insertBefore","insertNode","_this","insertNodes","_frag","_lastNode","removePlaceholder","lastNode","appendChild","lastChild","innerHTMLDescriptor","htmlString","_this2","child","domify","element","nextSibling","previousSibling","fragment","h","IconFolder","ValidateSlot","slots","allowed","vm","isHtmlElement","isVueComponent","isForbiddenComponent","Vue","crumbClass","NcActionButton","NcActionRouter","NcActionLink","subscribe","unsubscribe","breadcrumbs","nrCrumbs","hiddenIndices","availableWidth","totalWidth","overflow","i","startIndex","currentIndex","a","b","width","crumb","el","isLast","hide","w","path","disabled","f","target","vnode","Fragment","breadcrumbsRefs","crumbs","to","href","title","folderIcon","crumbs2","wrapper","NcBreadcrumbs"],"ignoreList":[0,1,2,3,4,5],"sources":["../node_modules/@nextcloud/vue/dist/Components/NcDateTimePickerNative.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPasswordField-D4OFjLza.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionInput-BoKGVBu8.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb-D8xA3KcG.mjs","../node_modules/vue-frag/dist/frag.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs-CesoXxTs.mjs"],"sourcesContent":["import '../assets/NcDateTimePickerNative-ZqMiOh_m.css';\nimport { u as useModelMigration } from \"../chunks/useModelMigration-EhAWvqDD.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-77Az-4PS.mjs\";\nconst inputDateTypes = [\"date\", \"datetime-local\", \"month\", \"time\", \"week\"];\nconst _sfc_main = {\n  name: \"NcDateTimePickerNative\",\n  inheritAttrs: false,\n  model: {\n    prop: \"modelValue\",\n    event: \"update:modelValue\"\n  },\n  props: {\n    /**\n     * Removed in v9 - use `modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    value: {\n      type: Date,\n      default: void 0\n    },\n    /**\n     * The date is – like the `Date` object in JavaScript – tied to UTC.\n     * The selected time zone does not have an influence of the selected time and date value.\n     * You have to translate the time yourself when you want to factor in time zones.\n     * Pass null to clear the input field.\n     */\n    modelValue: {\n      type: Date,\n      default: null\n    },\n    /**\n     * id attribute of the input field\n     */\n    id: {\n      type: String,\n      default: () => \"date-time-picker-\" + GenRandomId(),\n      validator: (id) => id.trim() !== \"\"\n    },\n    /**\n     * type attribute of the input field\n     * default type: String\n     * The type of the input element, it can be `date`, `datetime-local`, `month`, `time`, `week`\n     */\n    type: {\n      type: String,\n      default: \"date\",\n      validate: (name) => inputDateTypes.includes(name)\n    },\n    /**\n     * text inside the label element\n     * default type: String\n     */\n    label: {\n      type: String,\n      default: \"Please choose a date\"\n    },\n    /**\n     * min attribute of the input field\n     * default type: null\n     */\n    min: {\n      type: [Boolean, Date],\n      default: null\n    },\n    /**\n     * max attribute of the input field\n     * default type: null\n     */\n    max: {\n      type: [Boolean, Date],\n      default: null\n    },\n    /**\n     * Flag to hide the label\n     * default type: String\n     * The hidden input label for accessibility purposes.\n     */\n    hideLabel: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Class to add to the input field.\n     * Necessary to use NcDateTimePickerNative in the NcActionInput component.\n     */\n    inputClass: {\n      type: [Object, String],\n      default: \"\"\n    }\n  },\n  emits: [\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    \"input\",\n    /**\n     * Emitted when the input value changes\n     *\n     * @return {Date} new chosen Date()\n     */\n    \"update:modelValue\",\n    /** Same as update:modelValue for Vue 2 compatibility */\n    \"update:model-value\"\n  ],\n  setup() {\n    const model = useModelMigration(\"value\", \"input\");\n    return {\n      model\n    };\n  },\n  computed: {\n    formattedValue() {\n      return this.formatValue(this.model);\n    },\n    formattedMin() {\n      if (this.min) {\n        return this.formatValue(this.min);\n      }\n      return false;\n    },\n    formattedMax() {\n      if (this.max) {\n        return this.formatValue(this.max);\n      }\n      return false;\n    },\n    listeners() {\n      return {\n        ...this.$listeners,\n        /**\n         * Handle the input event\n         *\n         * @param {InputEvent} $event input event payloads\n         */\n        input: ($event) => {\n          if (isNaN($event.target.valueAsNumber)) {\n            this.model = null;\n          } else if (this.type === \"time\") {\n            const time = $event.target.value;\n            if (this.model === \"\") {\n              const { yyyy, MM, dd } = this.getReadableDate(/* @__PURE__ */ new Date());\n              this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${time}`);\n            } else {\n              const { yyyy, MM, dd } = this.getReadableDate(this.model);\n              this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${time}`);\n            }\n          } else if (this.type === \"month\") {\n            const MM = (new Date($event.target.value).getMonth() + 1).toString().padStart(2, \"0\");\n            if (this.model === \"\") {\n              const { yyyy, dd, hh, mm } = this.getReadableDate(/* @__PURE__ */ new Date());\n              this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\n            } else {\n              const { yyyy, dd, hh, mm } = this.getReadableDate(this.model);\n              this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\n            }\n          } else {\n            const timezoneOffsetSeconds = new Date($event.target.valueAsNumber).getTimezoneOffset() * 1e3 * 60;\n            const inputDateWithTimezone = $event.target.valueAsNumber + timezoneOffsetSeconds;\n            this.model = new Date(inputDateWithTimezone);\n          }\n        }\n      };\n    }\n  },\n  methods: {\n    /**\n     * Returns Object with string values of a Date\n     *\n     * @param {Date} value The selected value\n     * @return {object|undefined}\n     */\n    getReadableDate(value) {\n      if (value instanceof Date) {\n        const yyyy = value.getFullYear().toString().padStart(4, \"0\");\n        const MM = (value.getMonth() + 1).toString().padStart(2, \"0\");\n        const dd = value.getDate().toString().padStart(2, \"0\");\n        const hh = value.getHours().toString().padStart(2, \"0\");\n        const mm = value.getMinutes().toString().padStart(2, \"0\");\n        return { yyyy, MM, dd, hh, mm };\n      }\n    },\n    /**\n     * Returns preformatted value for the input field\n     *\n     * @param {Date} value The selected value\n     * @return {string|undefined}\n     */\n    formatValue(value) {\n      if (value instanceof Date) {\n        const { yyyy, MM, dd, hh, mm } = this.getReadableDate(value);\n        if (this.type === \"datetime-local\") {\n          return `${yyyy}-${MM}-${dd}T${hh}:${mm}`;\n        } else if (this.type === \"date\") {\n          return `${yyyy}-${MM}-${dd}`;\n        } else if (this.type === \"month\") {\n          return `${yyyy}-${MM}`;\n        } else if (this.type === \"time\") {\n          return `${hh}:${mm}`;\n        } else if (this.type === \"week\") {\n          const startDate = new Date(yyyy, 0, 1);\n          const daysSinceBeginningOfYear = Math.floor((value - startDate) / (24 * 60 * 60 * 1e3));\n          const weekNumber = Math.ceil(daysSinceBeginningOfYear / 7);\n          return `${yyyy}-W${weekNumber}`;\n        }\n      } else {\n        return \"\";\n      }\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"div\", { staticClass: \"native-datetime-picker\" }, [_c(\"label\", { staticClass: \"native-datetime-picker--label\", class: { \"hidden-visually\": _vm.hideLabel }, attrs: { \"for\": _vm.id } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]), _c(\"input\", _vm._g(_vm._b({ staticClass: \"native-datetime-picker--input\", class: _vm.inputClass, attrs: { \"id\": _vm.id, \"type\": _vm.type, \"min\": _vm.formattedMin, \"max\": _vm.formattedMax }, domProps: { \"value\": _vm.formattedValue } }, \"input\", _vm.$attrs, false), _vm.listeners))]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"6c1feae8\"\n);\nconst NcDateTimePickerNative = __component__.exports;\nScopeComponent(NcDateTimePickerNative);\nexport {\n  NcDateTimePickerNative as default\n};\n//# sourceMappingURL=NcDateTimePickerNative.mjs.map\n","import '../assets/NcPasswordField-vrT0oftw.css';\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { useVModel } from \"@vueuse/core\";\nimport debounce from \"debounce\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcInputField } from \"./NcInputField-i4Z8nb4b.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, E as t28, a as t } from \"./_l10n-DVz9Qdzk.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main$2 = {\n  name: \"EyeIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$2 = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon eye-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$2,\n  _sfc_render$2,\n  _sfc_staticRenderFns$2,\n  false,\n  null,\n  null\n);\nconst IconEye = __component__$2.exports;\nconst _sfc_main$1 = {\n  name: \"EyeOffIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$1 = function render2() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon eye-off-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$1,\n  _sfc_render$1,\n  _sfc_staticRenderFns$1,\n  false,\n  null,\n  null\n);\nconst IconEyeOff = __component__$1.exports;\nregister(t28);\nconst passwordPolicy = loadState(\"core\", \"capabilities\", {}).password_policy || null;\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props));\nconst _sfc_main = {\n  name: \"NcPasswordField\",\n  components: {\n    NcInputField,\n    IconEye,\n    IconEyeOff\n  },\n  // Allow forwarding all attributes\n  inheritAttrs: false,\n  model: {\n    prop: \"modelValue\",\n    event: \"update:modelValue\"\n  },\n  props: {\n    /**\n     * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n     */\n    // Not an actual prop but needed to show in vue-styleguidist docs\n    // eslint-disable-next-line\n    \" \": {},\n    // Reuse all the props from NcInputField for better typing and documentation\n    ...NcInputField.props,\n    // Redefined props\n    /**\n     * Controls whether to display the trailing button.\n     */\n    showTrailingButton: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: true\n    },\n    /**\n     * Removed NcInputField props, defined only by this component\n     */\n    trailingButtonLabel: void 0,\n    // Custom props\n    /**\n     * Check if the user entered a valid password using the password_policy\n     * app if available.\n     *\n     * Warning: this doesn't replace server side checking and will do nothing\n     * if the password_policy app is disabled.\n     */\n    checkPasswordStrength: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * The minlength property defines the minimum number of characters\n     * (as UTF-16 code units) the user can enter\n     */\n    minlength: {\n      type: Number,\n      default: void 0\n    },\n    /**\n     * The maxlength property defines the maximum number of characters\n     * (as UTF-16 code units) the user can enter\n     */\n    maxlength: {\n      type: Number,\n      default: null\n    },\n    /**\n     * Render as input[type=text] that looks like password field.\n     * Allows to avoid unwanted password-specific browser behavior,\n     * such as save or generate password prompt.\n     * Useful for secret token fields.\n     * Note: autocomplete=\"off\" is ignored by browsers.\n     */\n    asText: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Visibility of the password.\n     * If this is set to `true` then the password will be shown to the user (input type will be set to `text`).\n     */\n    visible: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\n    \"valid\",\n    \"invalid\",\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    \"update:value\",\n    /**\n     * Triggers when the value inside the password field is\n     * updated.\n     *\n     * @property {string} The new value\n     */\n    \"update:modelValue\",\n    /** Same as update:modelValue for Vue 2 compatibility */\n    \"update:model-value\",\n    /**\n     * Updated visibility of the password\n     *\n     * @property {boolean} visible the new visibility state\n     */\n    \"update:visible\"\n  ],\n  setup(props, { emit }) {\n    const model = useModelMigration(\"value\", \"update:value\");\n    const visibility = useVModel(props, \"visible\", emit, { passive: true });\n    return {\n      t,\n      model,\n      visibility\n    };\n  },\n  data() {\n    return {\n      internalHelpMessage: \"\",\n      isValid: null\n    };\n  },\n  computed: {\n    computedError() {\n      return this.error || this.isValid === false;\n    },\n    computedSuccess() {\n      return this.success || this.isValid === true;\n    },\n    computedHelperText() {\n      if (this.helperText.length > 0) {\n        return this.helperText;\n      }\n      return this.internalHelpMessage;\n    },\n    rules() {\n      const { minlength } = this;\n      return {\n        minlength: minlength ?? (this.checkPasswordStrength ? passwordPolicy?.minLength : void 0)\n      };\n    },\n    trailingButtonLabelPassword() {\n      return this.visibility ? t(\"Hide password\") : t(\"Show password\");\n    },\n    propsAndAttrsToForward() {\n      return {\n        // Proxy all the HTML attributes\n        ...this.$attrs,\n        // Proxy original NcInputField's props\n        ...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key)))\n      };\n    }\n  },\n  watch: {\n    model(newValue) {\n      this.isValid = void 0;\n      this.internalHelpMessage = \"\";\n      if (newValue && this.checkPasswordStrength) {\n        this.checkPassword(newValue);\n      }\n    }\n  },\n  methods: {\n    /**\n     * Focus the input element\n     *\n     * @public\n     */\n    focus() {\n      this.$refs.inputField.focus();\n    },\n    /**\n     * Select all the text in the input\n     *\n     * @public\n     */\n    select() {\n      this.$refs.inputField.select();\n    },\n    handleInput(event) {\n      this.model = event.target.value;\n    },\n    toggleVisibility() {\n      this.visibility = !this.visibility;\n    },\n    checkPassword: debounce(async function(password) {\n      try {\n        const { data } = await axios.post(generateOcsUrl(\"apps/password_policy/api/v1/validate\"), { password });\n        this.isValid = data.ocs.data.passed;\n        if (data.ocs.data.passed) {\n          this.internalHelpMessage = t(\"Password is secure\");\n          this.$emit(\"valid\");\n          return;\n        }\n        this.internalHelpMessage = data.ocs.data.reason;\n        this.$emit(\"invalid\");\n      } catch (e) {\n        logger.error(\"Password policy returned an error\", e);\n      }\n    }, 500)\n  }\n};\nvar _sfc_render = function render3() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"NcInputField\", _vm._g(_vm._b({ ref: \"inputField\", attrs: { \"type\": _vm.visibility || _vm.asText ? \"text\" : \"password\", \"trailing-button-label\": _vm.trailingButtonLabelPassword, \"helper-text\": _vm.computedHelperText, \"error\": _vm.computedError, \"success\": _vm.computedSuccess, \"minlength\": _vm.rules.minlength, \"input-class\": { \"password-field__input--secure-text\": !_vm.visibility && _vm.asText } }, on: { \"trailing-button-click\": _vm.toggleVisibility, \"input\": _vm.handleInput }, scopedSlots: _vm._u([!!_vm.$scopedSlots.icon || !!_vm.$slots.default || !!_vm.$scopedSlots.default ? { key: \"icon\", fn: function() {\n    return [_vm._t(\"icon\", function() {\n      return [_vm._t(\"default\")];\n    })];\n  }, proxy: true } : null, { key: \"trailing-button-icon\", fn: function() {\n    return [_vm.visibility ? _c(\"IconEyeOff\", { attrs: { \"size\": 18 } }) : _c(\"IconEye\", { attrs: { \"size\": 18 } })];\n  }, proxy: true }], null, true) }, \"NcInputField\", _vm.propsAndAttrsToForward, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"0800cef1\"\n);\nconst NcPasswordField = __component__.exports;\nexport {\n  NcPasswordField as N\n};\n//# sourceMappingURL=NcPasswordField-D4OFjLza.mjs.map\n","import '../assets/NcActionInput-CPu4Btyq.css';\nimport { defineAsyncComponent } from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, j as t50, a as t } from \"./_l10n-DVz9Qdzk.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport NcDateTimePickerNative from \"../Components/NcDateTimePickerNative.mjs\";\nimport { N as NcPasswordField } from \"./NcPasswordField-D4OFjLza.mjs\";\nimport { N as NcTextField } from \"./NcTextField-Czr9S6YO.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t50);\nconst _sfc_main = {\n  name: \"NcActionInput\",\n  components: {\n    NcDateTimePickerNative,\n    NcPasswordField,\n    NcTextField,\n    // Lazy load components with more than 50kB bundle size impact\n    NcColorPicker: defineAsyncComponent(() => import(\"../Components/NcColorPicker.mjs\")),\n    NcDateTimePicker: defineAsyncComponent(() => import(\"../Components/NcDateTimePicker.mjs\")),\n    NcSelect: defineAsyncComponent(() => import(\"../Components/NcSelect.mjs\"))\n  },\n  mixins: [ActionGlobalMixin],\n  model: {\n    prop: \"modelValue\",\n    event: \"update:modelValue\"\n  },\n  props: {\n    /**\n     * id attribute of the checkbox element\n     */\n    id: {\n      type: String,\n      default: () => \"action-\" + GenRandomId(),\n      validator: (id) => id.trim() !== \"\"\n    },\n    /**\n     * id attribute of the text input element\n     */\n    inputId: {\n      type: String,\n      default: () => \"action-input-\" + GenRandomId(),\n      validator: (id) => id.trim() !== \"\"\n    },\n    /**\n     * Icon to show with the action, can be either a CSS class or an URL\n     */\n    icon: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * type attribute of the input field\n     */\n    type: {\n      type: String,\n      default: \"text\",\n      validator(type) {\n        return [\n          \"date\",\n          \"datetime-local\",\n          \"month\",\n          \"multiselect\",\n          \"number\",\n          \"password\",\n          \"search\",\n          \"tel\",\n          \"text\",\n          \"time\",\n          \"url\",\n          \"week\",\n          \"color\",\n          \"email\"\n        ].indexOf(type) > -1;\n      }\n    },\n    /**\n     * id attribute for the native date time picker\n     */\n    idNativeDateTimePicker: {\n      type: String,\n      default: \"date-time-picker_id\"\n    },\n    /**\n     * Flag to use a native date time picker\n     */\n    isNativePicker: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * The visible input label for accessibility purposes.\n     */\n    label: {\n      type: String,\n      default: null\n    },\n    /**\n     * If you want to show the label just above the\n     * input field, pass in `true` to this prop.\n     */\n    labelOutside: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: true\n    },\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    value: {\n      type: [String, Date, Number, Array],\n      default: void 0\n    },\n    /**\n     * value attribute of the input field\n     */\n    modelValue: {\n      type: [String, Date, Number, Array],\n      default: \"\"\n    },\n    /**\n     * disabled state of the input field\n     */\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * aria-label attribute of the input field\n     */\n    ariaLabel: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n     * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n     * otherwise root element will inherit incorrect aria-hidden.\n     */\n    ariaHidden: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: null\n    },\n    /**\n     * Attribute forwarded to the underlying NcPasswordField and NcTextField\n     */\n    showTrailingButton: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: true\n    },\n    /**\n     * Trailing button label forwarded to the underlying NcTextField\n     */\n    trailingButtonLabel: {\n      type: String,\n      default: t(\"Submit\")\n    }\n  },\n  emits: [\n    \"input\",\n    \"submit\",\n    \"change\",\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    \"update:value\",\n    /**\n     * Emitted when the inputs value changes\n     * ! DatetimePicker only send the value\n     *\n     * @type {string|Date}\n     */\n    \"update:modelValue\",\n    /** Same as `update:modelValue` but with a different event name */\n    \"update:model-value\"\n  ],\n  setup() {\n    const model = useModelMigration(\"value\", \"update:value\");\n    return {\n      model\n    };\n  },\n  computed: {\n    isIconUrl() {\n      try {\n        return new URL(this.icon);\n      } catch {\n        return false;\n      }\n    },\n    isMultiselectType() {\n      return this.type === \"multiselect\";\n    },\n    nativeDatePickerType() {\n      switch (this.type) {\n        case \"date\":\n        case \"month\":\n        case \"time\":\n        case \"week\":\n        case \"datetime-local\":\n          return this.type;\n      }\n      return false;\n    },\n    datePickerType() {\n      if (!this.isNativePicker) {\n        switch (this.type) {\n          case \"date\":\n          case \"month\":\n          case \"time\":\n            return this.type;\n          case \"datetime-local\":\n            return \"datetime\";\n        }\n      }\n      return false;\n    },\n    /**\n     * determines if the action is focusable\n     *\n     * @return {boolean} is the action focusable ?\n     */\n    isFocusable() {\n      return !this.disabled;\n    }\n  },\n  methods: {\n    // closing datepicker popup on mouseleave = unfocus\n    onLeave() {\n      if (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n        this.$refs.datetimepicker.$refs.datepicker.closePopup();\n      }\n    },\n    onInput(event) {\n      this.$emit(\"input\", event);\n      this.model = event.target ? event.target.value : event;\n    },\n    onSubmit(event) {\n      event.preventDefault();\n      event.stopPropagation();\n      if (!this.disabled) {\n        this.$emit(\"submit\", event);\n      } else {\n        return false;\n      }\n    },\n    onChange(event) {\n      this.$emit(\"change\", event);\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } }, [_c(\"span\", { staticClass: \"action-input\", class: {\n    \"action-input-picker--disabled\": _vm.disabled,\n    \"action-input--visible-label\": _vm.labelOutside && _vm.label\n  }, on: { \"mouseleave\": _vm.onLeave } }, [_c(\"span\", { staticClass: \"action-input__icon-wrapper\" }, [_vm._t(\"icon\", function() {\n    return [_c(\"span\", { staticClass: \"action-input__icon\", class: [_vm.isIconUrl ? \"action-input__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } })];\n  })], 2), _c(\"form\", { ref: \"form\", staticClass: \"action-input__form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n    $event.preventDefault();\n    return _vm.onSubmit.apply(null, arguments);\n  } } }, [_c(\"div\", { staticClass: \"action-input__container\" }, [_vm.label && _vm.labelOutside && !_vm.isNativePicker ? _c(\"label\", { staticClass: \"action-input__text-label\", class: { \"action-input__text-label--hidden\": !_vm.labelOutside }, attrs: { \"for\": _vm.inputId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { staticClass: \"action-input__input-container\" }, [_vm.datePickerType ? _c(\"NcDateTimePicker\", _vm._b({ ref: \"datetimepicker\", staticClass: \"action-input__datetimepicker\", staticStyle: { \"z-index\": \"99999999999\" }, attrs: { \"value\": _vm.model, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"type\": _vm.datePickerType, \"input-class\": [\"mx-input\", { focusable: _vm.isFocusable }] }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }, \"NcDateTimePicker\", _vm.$attrs, false)) : _vm.isNativePicker ? _c(\"NcDateTimePickerNative\", _vm._b({ staticClass: \"action-input__datetimepicker\", attrs: { \"id\": _vm.idNativeDateTimePicker, \"value\": _vm.model, \"label\": _vm.label, \"type\": _vm.nativeDatePickerType, \"input-class\": { focusable: _vm.isFocusable } }, on: { \"update:model-value\": function($event) {\n    _vm.model = $event;\n  }, \"change\": function($event) {\n    return _vm.$emit(\"change\", $event);\n  } } }, \"NcDateTimePickerNative\", _vm.$attrs, false)) : _vm.isMultiselectType ? _c(\"NcSelect\", _vm._g(_vm._b({ staticClass: \"action-input__multi\", attrs: { \"value\": _vm.model, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"append-to-body\": _vm.$attrs.appendToBody || _vm.$attrs[\"append-to-body\"] || false, \"input-class\": { focusable: _vm.isFocusable } } }, \"NcSelect\", _vm.$attrs, false), _vm.$listeners)) : _vm.type === \"password\" ? _c(\"NcPasswordField\", _vm._g(_vm._b({ attrs: { \"id\": _vm.inputId, \"value\": _vm.model, \"label\": _vm.label, \"label-outside\": !_vm.label || _vm.labelOutside, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"input-class\": { focusable: _vm.isFocusable }, \"show-trailing-button\": _vm.showTrailingButton && !_vm.disabled }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }, \"NcPasswordField\", _vm.$attrs, false), _vm.$listeners)) : _vm.type === \"color\" ? _c(\"div\", { staticClass: \"action-input__container\" }, [_vm.label && _vm.type === \"color\" ? _c(\"label\", { staticClass: \"action-input__text-label\", class: { \"action-input__text-label--hidden\": !_vm.labelOutside }, attrs: { \"for\": _vm.inputId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { staticClass: \"action-input__input-container\" }, [_c(\"NcColorPicker\", _vm._g(_vm._b({ staticClass: \"colorpicker__trigger\", attrs: { \"id\": \"inputId\", \"value\": _vm.model }, on: { \"update:model-value\": _vm.onInput, \"submit\": function($event) {\n    return _vm.$refs.form.requestSubmit();\n  } } }, \"NcColorPicker\", _vm.$attrs, false), _vm.$listeners), [_c(\"button\", { staticClass: \"colorpicker__preview\", class: { focusable: _vm.isFocusable }, style: { \"background-color\": _vm.model } })])], 1)]) : _c(\"NcTextField\", _vm._g(_vm._b({ attrs: { \"id\": _vm.inputId, \"value\": _vm.model, \"label\": _vm.label, \"label-outside\": !_vm.label || _vm.labelOutside, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"input-class\": { focusable: _vm.isFocusable }, \"type\": _vm.type, \"trailing-button-icon\": \"arrowRight\", \"trailing-button-label\": _vm.trailingButtonLabel, \"show-trailing-button\": _vm.showTrailingButton && !_vm.disabled }, on: { \"trailing-button-click\": function($event) {\n    return _vm.$refs.form.requestSubmit();\n  }, \"input\": _vm.onInput, \"change\": _vm.onChange } }, \"NcTextField\", _vm.$attrs, false), _vm.$listeners))], 1)])])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"90a59812\"\n);\nconst NcActionInput = __component__.exports;\nexport {\n  NcActionInput as N\n};\n//# sourceMappingURL=NcActionInput-BoKGVBu8.mjs.map\n","import '../assets/NcBreadcrumb-0xB19h6f.css';\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcButton } from \"./NcButton-CCWEL9Ci.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActions } from \"./NcActions-DbPerbGE.mjs\";\nconst _sfc_main$1 = {\n  name: \"ChevronRightIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$1 = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-right-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$1,\n  _sfc_render$1,\n  _sfc_staticRenderFns$1,\n  false,\n  null,\n  null\n);\nconst ChevronRight = __component__$1.exports;\nconst _sfc_main = {\n  name: \"NcBreadcrumb\",\n  components: {\n    NcActions,\n    ChevronRight,\n    NcButton\n  },\n  inheritAttrs: false,\n  props: {\n    /**\n     * The main text content of the entry.\n     */\n    name: {\n      type: String,\n      required: true\n    },\n    /**\n     * The title attribute of the element.\n     */\n    title: {\n      type: String,\n      default: null\n    },\n    /**\n     * Route Location the link should navigate to when clicked on.\n     *\n     * @see https://v3.router.vuejs.org/api/#to\n     */\n    to: {\n      type: [String, Object],\n      default: void 0\n    },\n    /**\n     * Match the complete route attributes (query and hash included)\n     *\n     * @see https://v3.router.vuejs.org/api/#exact\n     */\n    exact: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n     */\n    href: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).\n     */\n    icon: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.\n     */\n    forceIconText: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Disable dropping on this breadcrumb.\n     */\n    disableDrop: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Force the actions to display in a three dot menu\n     */\n    forceMenu: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Open state of the Actions menu\n     */\n    open: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\n    \"update:open\",\n    \"dropped\"\n  ],\n  setup() {\n    const crumbId = createElementId();\n    return {\n      actionsContainer: `.vue-crumb[data-crumb-id=\"${crumbId}\"]`,\n      crumbId\n    };\n  },\n  data() {\n    return {\n      /**\n       * Variable to track if we hover over the breadcrumb\n       */\n      hovering: false\n    };\n  },\n  computed: {\n    /**\n     * The attributes to pass to `router-link` or `a`\n     */\n    linkAttributes() {\n      return this.to ? { to: this.to, exact: this.exact, ...this.$attrs } : this.href ? { href: this.href, ...this.$attrs } : this.$attrs;\n    }\n  },\n  methods: {\n    /**\n     * Function to handle changing the open state of the Actions menu\n     * $emit the open state.\n     *\n     * @param {boolean} open The open state of the Actions menu\n     */\n    onOpenChange(open) {\n      this.$emit(\"update:open\", open);\n    },\n    /**\n     * Function to handle a drop on the breadcrumb.\n     * $emit the event and the path, remove the hovering state.\n     *\n     * @param {object} e The drop event\n     * @return {boolean}\n     */\n    dropped(e) {\n      if (this.disableDrop) {\n        return false;\n      }\n      this.$emit(\"dropped\", e, this.to || this.href);\n      this.$parent.$emit(\"dropped\", e, this.to || this.href);\n      this.hovering = false;\n      return false;\n    },\n    /**\n     * Add the hovering state on drag enter\n     */\n    dragEnter() {\n      if (this.disableDrop) {\n        return;\n      }\n      this.hovering = true;\n    },\n    /**\n     * Remove the hovering state on drag leave\n     *\n     * @param {object} e The drag leave event\n     */\n    dragLeave(e) {\n      if (this.disableDrop) {\n        return;\n      }\n      if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n        return;\n      }\n      this.hovering = false;\n    }\n  }\n};\nvar _sfc_render = function render2() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"li\", { ref: \"crumb\", staticClass: \"vue-crumb\", class: { \"vue-crumb--hovered\": _vm.hovering }, attrs: { \"data-crumb-id\": _vm.crumbId, \"draggable\": \"false\" }, on: { \"dragstart\": function($event) {\n    $event.preventDefault();\n    return (() => {\n    }).apply(null, arguments);\n  }, \"drop\": function($event) {\n    $event.preventDefault();\n    return _vm.dropped.apply(null, arguments);\n  }, \"dragover\": function($event) {\n    $event.preventDefault();\n    return (() => {\n    }).apply(null, arguments);\n  }, \"dragenter\": _vm.dragEnter, \"dragleave\": _vm.dragLeave } }, [(_vm.name || _vm.icon || _vm.$slots.icon) && !_vm.$slots.default ? _c(\"NcButton\", _vm._g(_vm._b({ attrs: { \"aria-label\": _vm.icon ? _vm.name : void 0, \"title\": _vm.title, \"variant\": \"tertiary\" }, scopedSlots: _vm._u([_vm.$slots.icon || _vm.icon ? { key: \"icon\", fn: function() {\n    return [_vm._t(\"icon\", function() {\n      return [_c(\"span\", { staticClass: \"icon\", class: _vm.icon })];\n    })];\n  }, proxy: true } : null, !(_vm.$slots.icon || _vm.icon) || _vm.forceIconText ? { key: \"default\", fn: function() {\n    return [_vm._v(\" \" + _vm._s(_vm.name) + \" \")];\n  }, proxy: true } : null], null, true) }, \"NcButton\", _vm.linkAttributes, false), _vm.$listeners)) : _vm._e(), _vm.$slots.default ? _c(\"NcActions\", { ref: \"actions\", attrs: { \"force-menu\": _vm.forceMenu, \"open\": _vm.open, \"menu-name\": _vm.name, \"title\": _vm.title, \"force-name\": true, \"container\": _vm.actionsContainer, \"variant\": \"tertiary\" }, on: { \"update:open\": _vm.onOpenChange }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n    return [_vm._t(\"menu-icon\")];\n  }, proxy: true }], null, true) }, [_vm._t(\"default\")], 2) : _vm._e(), _c(\"ChevronRight\", { staticClass: \"vue-crumb__separator\", attrs: { \"size\": 20 } })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"bc2f0c21\"\n);\nconst NcBreadcrumb = __component__.exports;\nexport {\n  NcBreadcrumb as N\n};\n//# sourceMappingURL=NcBreadcrumb-D8xA3KcG.mjs.map\n","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar $nextSiblingPatched = Symbol();\n\nvar $childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n    return \"frag\" in node;\n};\n\nvar parentNodeDescriptor = {\n    get: function get() {\n        return this[$fakeParent] || this.parentElement;\n    },\n    configurable: true\n};\n\nvar patchParentNode = function patchParentNode(node, fakeParent) {\n    if ($fakeParent in node) {\n        return;\n    }\n    node[$fakeParent] = fakeParent;\n    Object.defineProperty(node, \"parentNode\", parentNodeDescriptor);\n};\n\nvar nextSiblingDescriptor = {\n    get: function get() {\n        var childNodes = this.parentNode.childNodes;\n        var index = childNodes.indexOf(this);\n        if (index > -1) {\n            return childNodes[index + 1] || null;\n        }\n        return null;\n    }\n};\n\nvar patchNextSibling = function patchNextSibling(node) {\n    if ($nextSiblingPatched in node) {\n        return;\n    }\n    node[$nextSiblingPatched] = true;\n    Object.defineProperty(node, \"nextSibling\", nextSiblingDescriptor);\n};\n\nvar getTopFragment = function getTopFragment(node, fromParent) {\n    while (node.parentNode !== fromParent) {\n        var _node = node, parentNode = _node.parentNode;\n        if (parentNode) {\n            node = parentNode;\n        }\n    }\n    return node;\n};\n\nvar getChildNodes;\n\nvar getChildNodesWithFragments = function getChildNodesWithFragments(node) {\n    if (!getChildNodes) {\n        var _childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n        getChildNodes = _childNodesDescriptor.get;\n    }\n    var realChildNodes = getChildNodes.apply(node);\n    var childNodes = Array.from(realChildNodes).map((function(childNode) {\n        return getTopFragment(childNode, node);\n    }));\n    return childNodes.filter((function(childNode, index) {\n        return childNode !== childNodes[index - 1];\n    }));\n};\n\nvar childNodesDescriptor = {\n    get: function get() {\n        return this.frag || getChildNodesWithFragments(this);\n    }\n};\n\nvar firstChildDescriptor = {\n    get: function get() {\n        return this.childNodes[0] || null;\n    }\n};\n\nfunction hasChildNodes() {\n    return this.childNodes.length > 0;\n}\n\nvar patchChildNodes = function patchChildNodes(node) {\n    if ($childNodesPatched in node) {\n        return;\n    }\n    node[$childNodesPatched] = true;\n    Object.defineProperties(node, {\n        childNodes: childNodesDescriptor,\n        firstChild: firstChildDescriptor\n    });\n    node.hasChildNodes = hasChildNodes;\n};\n\nfunction before() {\n    var _this$frag$;\n    (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n    var frag = this.frag;\n    var removed = frag.splice(0, frag.length);\n    removed.forEach((function(node) {\n        node.remove();\n    }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n    var _Array$prototype;\n    return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n        return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n    })));\n};\n\nvar addPlaceholder = function addPlaceholder(node, insertBeforeNode) {\n    var placeholder = node[$placeholder];\n    insertBeforeNode.before(placeholder);\n    patchParentNode(placeholder, node);\n    node.frag.unshift(placeholder);\n};\n\nfunction removeChild(node) {\n    if (isFrag(this)) {\n        var hasChildInFragment = this.frag.indexOf(node);\n        if (hasChildInFragment > -1) {\n            var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n            if (this.frag.length === 0) {\n                addPlaceholder(this, removedNode);\n            }\n            node.remove();\n        }\n    } else {\n        var children = getChildNodesWithFragments(this);\n        var hasChild = children.indexOf(node);\n        if (hasChild > -1) {\n            node.remove();\n        }\n    }\n    return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n    var _this = this;\n    var insertNodes = insertNode.frag || [ insertNode ];\n    if (isFrag(this)) {\n        if (insertNode[$fakeParent] === this && insertNode.parentElement) {\n            return insertNode;\n        }\n        var _frag = this.frag;\n        if (insertBeforeNode) {\n            var index = _frag.indexOf(insertBeforeNode);\n            if (index > -1) {\n                _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n                insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n            }\n        } else {\n            var _lastNode = _frag[_frag.length - 1];\n            _frag.push.apply(_frag, insertNodes);\n            _lastNode.after.apply(_lastNode, insertNodes);\n        }\n        removePlaceholder(this);\n    } else if (insertBeforeNode) {\n        if (this.childNodes.includes(insertBeforeNode)) {\n            insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n        }\n    } else {\n        this.append.apply(this, insertNodes);\n    }\n    insertNodes.forEach((function(node) {\n        patchParentNode(node, _this);\n    }));\n    var lastNode = insertNodes[insertNodes.length - 1];\n    patchNextSibling(lastNode);\n    return insertNode;\n}\n\nfunction appendChild(node) {\n    if (node[$fakeParent] === this && node.parentElement) {\n        return node;\n    }\n    var frag = this.frag;\n    var lastChild = frag[frag.length - 1];\n    lastChild.after(node);\n    patchParentNode(node, this);\n    removePlaceholder(this);\n    frag.push(node);\n    return node;\n}\n\nvar removePlaceholder = function removePlaceholder(node) {\n    var placeholder = node[$placeholder];\n    if (node.frag[0] === placeholder) {\n        node.frag.shift();\n        placeholder.remove();\n    }\n};\n\nvar innerHTMLDescriptor = {\n    set: function set(htmlString) {\n        var _this2 = this;\n        if (this.frag[0] !== this[$placeholder]) {\n            this.frag.slice().forEach((function(child) {\n                return _this2.removeChild(child);\n            }));\n        }\n        if (htmlString) {\n            var domify = document.createElement(\"div\");\n            domify.innerHTML = htmlString;\n            Array.from(domify.childNodes).forEach((function(node) {\n                _this2.appendChild(node);\n            }));\n        }\n    },\n    get: function get() {\n        return \"\";\n    }\n};\n\nvar frag = {\n    inserted: function inserted(element) {\n        var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n        var childNodes = Array.from(element.childNodes);\n        var placeholder = document.createComment(\"\");\n        if (childNodes.length === 0) {\n            childNodes.push(placeholder);\n        }\n        element.frag = childNodes;\n        element[$placeholder] = placeholder;\n        var fragment = document.createDocumentFragment();\n        fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n        element.replaceWith(fragment);\n        childNodes.forEach((function(node) {\n            patchParentNode(node, element);\n            patchNextSibling(node);\n        }));\n        patchChildNodes(element);\n        Object.assign(element, {\n            remove: remove,\n            appendChild: appendChild,\n            insertBefore: insertBefore,\n            removeChild: removeChild,\n            before: before\n        });\n        Object.defineProperty(element, \"innerHTML\", innerHTMLDescriptor);\n        if (parentNode) {\n            Object.assign(parentNode, {\n                removeChild: removeChild,\n                insertBefore: insertBefore\n            });\n            patchParentNode(element, parentNode);\n            patchChildNodes(parentNode);\n        }\n        if (nextSibling) {\n            patchNextSibling(element);\n        }\n        if (previousSibling) {\n            patchNextSibling(previousSibling);\n        }\n    },\n    unbind: function unbind(element) {\n        element.remove();\n    }\n};\n\nvar fragment = {\n    name: \"Fragment\",\n    directives: {\n        frag: frag\n    },\n    render: function render(h) {\n        return h(\"div\", {\n            directives: [ {\n                name: \"frag\"\n            } ]\n        }, this.$slots[\"default\"]);\n    }\n};\n\nexport { fragment as Fragment, frag as default };\n","import '../assets/NcBreadcrumbs-Dt1zdHzR.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport Vue from \"vue\";\nimport { Fragment } from \"vue-frag\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-K4jUGMlW.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./NcActions-DbPerbGE.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb-D8xA3KcG.mjs\";\nconst _sfc_main$1 = {\n  name: \"FolderIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$1 = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$1,\n  _sfc_render$1,\n  _sfc_staticRenderFns$1,\n  false,\n  null,\n  null\n);\nconst IconFolder = __component__$1.exports;\nfunction ValidateSlot(slots, allowed, vm) {\n  if (slots === void 0) {\n    return;\n  }\n  for (let index = slots.length - 1; index >= 0; index--) {\n    const node = slots[index];\n    const isHtmlElement = !node.componentOptions && node.tag && allowed.indexOf(node.tag) === -1;\n    const isVueComponent = !!node.componentOptions && typeof node.componentOptions.tag === \"string\";\n    const isForbiddenComponent = isVueComponent && allowed.indexOf(node.componentOptions.tag) === -1;\n    if (isHtmlElement || !isVueComponent || isForbiddenComponent) {\n      if (isHtmlElement || isForbiddenComponent) {\n        Vue.util.warn(`${isHtmlElement ? node.tag : node.componentOptions.tag} is not allowed inside the ${vm.$options.name} component`, vm);\n      }\n      slots.splice(index, 1);\n    }\n  }\n}\nconst crumbClass = \"vue-crumb\";\nconst _sfc_main = {\n  name: \"NcBreadcrumbs\",\n  components: {\n    NcActions,\n    NcActionButton,\n    NcActionRouter,\n    NcActionLink,\n    NcBreadcrumb,\n    IconFolder\n  },\n  props: {\n    /**\n     * Set a css icon-class for the icon of the root breadcrumb to be used.\n     */\n    rootIcon: {\n      type: String,\n      default: \"icon-home\"\n    },\n    /**\n     * Set the aria-label of the nav element.\n     */\n    ariaLabel: {\n      type: String,\n      default: null\n    }\n  },\n  emits: [\"dropped\"],\n  data() {\n    return {\n      /**\n       * Array to track the hidden breadcrumbs by their index.\n       * Comparing two crumbs somehow does not work, so we use the indices.\n       */\n      hiddenIndices: [],\n      /**\n       * This is the props of the middle Action menu\n       * that show the ellipsised breadcrumbs\n       */\n      menuBreadcrumbProps: {\n        // Don't show a name for this breadcrumb, only the Actions menu\n        name: \"\",\n        forceMenu: true,\n        // Don't allow dropping directly on the actions breadcrumb\n        disableDrop: true,\n        // Is the menu open or not\n        open: false\n      },\n      breadcrumbsRefs: {}\n    };\n  },\n  beforeMount() {\n    ValidateSlot(this.$slots.default, [\"NcBreadcrumb\"], this);\n  },\n  beforeUpdate() {\n    ValidateSlot(this.$slots.default, [\"NcBreadcrumb\"], this);\n  },\n  created() {\n    window.addEventListener(\"resize\", debounce(() => {\n      this.handleWindowResize();\n    }, 100));\n    subscribe(\"navigation-toggled\", this.delayedResize);\n  },\n  mounted() {\n    this.handleWindowResize();\n  },\n  updated() {\n    this.delayedResize();\n    this.$nextTick(() => {\n      this.hideCrumbs();\n    });\n  },\n  beforeDestroy() {\n    window.removeEventListener(\"resize\", this.handleWindowResize);\n    unsubscribe(\"navigation-toggled\", this.delayedResize);\n  },\n  methods: {\n    /**\n     * Close the actions menu\n     *\n     * @param {object} e The event\n     */\n    closeActions(e) {\n      if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n        return;\n      }\n      this.menuBreadcrumbProps.open = false;\n    },\n    /**\n     * Call the resize function after a delay\n     */\n    async delayedResize() {\n      await this.$nextTick();\n      this.handleWindowResize();\n    },\n    /**\n     * Check the width of the breadcrumb and hide breadcrumbs\n     * if we overflow otherwise.\n     */\n    handleWindowResize() {\n      if (!this.$refs.container) {\n        return;\n      }\n      const breadcrumbs = Object.values(this.breadcrumbsRefs);\n      const nrCrumbs = breadcrumbs.length;\n      const hiddenIndices = [];\n      const availableWidth = this.$refs.container.offsetWidth;\n      let totalWidth = this.getTotalWidth(breadcrumbs);\n      if (this.$refs.breadcrumb__actions) {\n        totalWidth += this.$refs.breadcrumb__actions.offsetWidth;\n      }\n      let overflow = totalWidth - availableWidth;\n      overflow += overflow > 0 ? 64 : 0;\n      let i = 0;\n      const startIndex = Math.floor(nrCrumbs / 2);\n      while (overflow > 0 && i < nrCrumbs - 2) {\n        const currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2);\n        overflow -= this.getWidth(breadcrumbs[currentIndex]?.elm, currentIndex === breadcrumbs.length - 1);\n        hiddenIndices.push(currentIndex);\n        i++;\n      }\n      if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n        this.hiddenIndices = hiddenIndices;\n      }\n    },\n    /**\n     * Checks if two arrays are equal.\n     * Only works for primitive arrays, but that's enough here.\n     *\n     * @param {Array} a The first array\n     * @param {Array} b The second array\n     * @return {boolean} Wether the arrays are equal\n     */\n    arraysEqual(a, b) {\n      if (a.length !== b.length) {\n        return false;\n      }\n      if (a === b) {\n        return true;\n      }\n      if (a === null || b === null) {\n        return false;\n      }\n      for (let i = 0; i < a.length; ++i) {\n        if (a[i] !== b[i]) {\n          return false;\n        }\n      }\n      return true;\n    },\n    /**\n     * Calculates the total width of all breadcrumbs\n     *\n     * @param {Array} breadcrumbs All breadcrumbs\n     * @return {number} The total width\n     */\n    getTotalWidth(breadcrumbs) {\n      return breadcrumbs.reduce((width, crumb, index) => width + this.getWidth(crumb?.elm, index === breadcrumbs.length - 1), 0);\n    },\n    /**\n     * Calculates the width of the provided element\n     *\n     * @param {object} el The element\n     * @param {boolean} isLast Is this the last crumb\n     * @return {number} The width\n     */\n    getWidth(el, isLast) {\n      if (!el?.classList) {\n        return 0;\n      }\n      const hide = el.classList.contains(`${crumbClass}--hidden`);\n      el.style.minWidth = \"auto\";\n      if (isLast) {\n        el.style.maxWidth = \"210px\";\n      }\n      el.classList.remove(`${crumbClass}--hidden`);\n      const w = el.offsetWidth;\n      if (hide) {\n        el.classList.add(`${crumbClass}--hidden`);\n      }\n      el.style.minWidth = \"\";\n      el.style.maxWidth = \"\";\n      return w;\n    },\n    /**\n     * Prevents the default of a provided event\n     *\n     * @param {object} e The event\n     * @return {boolean}\n     */\n    preventDefault(e) {\n      if (e.preventDefault) {\n        e.preventDefault();\n      }\n      return false;\n    },\n    /**\n     * Handles the drag start.\n     * Prevents a breadcrumb from being draggable.\n     *\n     * @param {object} e The event\n     * @return {boolean}\n     */\n    dragStart(e) {\n      return this.preventDefault(e);\n    },\n    /**\n     * Handles when something is dropped on the breadcrumb.\n     *\n     * @param {object} e The drop event\n     * @param {string} path The path of the breadcrumb\n     * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n     * @return {boolean}\n     */\n    dropped(e, path, disabled) {\n      if (!disabled) {\n        this.$emit(\"dropped\", e, path);\n      }\n      this.menuBreadcrumbProps.open = false;\n      const crumbs = document.querySelectorAll(`.${crumbClass}`);\n      crumbs.forEach((f) => {\n        f.classList.remove(`${crumbClass}--hovered`);\n      });\n      return this.preventDefault(e);\n    },\n    /**\n     * Handles the drag over event\n     *\n     * @param {object} e The drag over event\n     * @return {boolean}\n     */\n    dragOver(e) {\n      return this.preventDefault(e);\n    },\n    /**\n     * Handles the drag enter event\n     *\n     * @param {object} e The drag over event\n     * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n     */\n    dragEnter(e, disabled) {\n      if (disabled) {\n        return;\n      }\n      if (e.target.closest) {\n        const target = e.target.closest(`.${crumbClass}`);\n        if (target.classList && target.classList.contains(crumbClass)) {\n          const crumbs = document.querySelectorAll(`.${crumbClass}`);\n          crumbs.forEach((f) => {\n            f.classList.remove(`${crumbClass}--hovered`);\n          });\n          target.classList.add(`${crumbClass}--hovered`);\n        }\n      }\n    },\n    /**\n     * Handles the drag leave event\n     *\n     * @param {object} e The drag leave event\n     * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n     */\n    dragLeave(e, disabled) {\n      if (disabled) {\n        return;\n      }\n      if (e.target.contains(e.relatedTarget)) {\n        return;\n      }\n      if (e.target.closest) {\n        const target = e.target.closest(`.${crumbClass}`);\n        if (target.contains(e.relatedTarget)) {\n          return;\n        }\n        if (target.classList && target.classList.contains(crumbClass)) {\n          target.classList.remove(`${crumbClass}--hovered`);\n        }\n      }\n    },\n    /**\n     * Check for each crumb if we have to hide it and\n     * add it to the array of all crumbs.\n     */\n    hideCrumbs() {\n      const crumbs = Object.values(this.breadcrumbsRefs);\n      crumbs.forEach((crumb, i) => {\n        if (crumb?.elm?.classList) {\n          if (this.hiddenIndices.includes(i)) {\n            crumb.elm.classList.add(`${crumbClass}--hidden`);\n          } else {\n            crumb.elm.classList.remove(`${crumbClass}--hidden`);\n          }\n        }\n      });\n    },\n    isBreadcrumb(vnode) {\n      return (vnode?.componentOptions?.tag || vnode?.tag || \"\").includes(\"NcBreadcrumb\");\n    }\n  },\n  /**\n   * The render function to display the component\n   *\n   * @param {Function} h The function to create VNodes\n   * @return {object|undefined} The created VNode\n   */\n  render(h) {\n    const breadcrumbs = [];\n    this.$slots.default.forEach((vnode) => {\n      if (this.isBreadcrumb(vnode)) {\n        breadcrumbs.push(vnode);\n        return;\n      }\n      if (vnode?.type === Fragment) {\n        vnode?.children?.forEach?.((child) => {\n          if (this.isBreadcrumb(child)) {\n            breadcrumbs.push(child);\n          }\n        });\n      }\n    });\n    if (breadcrumbs.length === 0) {\n      return;\n    }\n    Vue.set(breadcrumbs[0].componentOptions.propsData, \"icon\", this.rootIcon);\n    Vue.set(breadcrumbs[0].componentOptions.propsData, \"ref\", \"breadcrumbs\");\n    const breadcrumbsRefs = {};\n    breadcrumbs.forEach((crumb, index) => {\n      Vue.set(crumb, \"ref\", `crumb-${index}`);\n      breadcrumbsRefs[index] = crumb;\n    });\n    let crumbs;\n    if (!this.hiddenIndices.length) {\n      crumbs = breadcrumbs;\n    } else {\n      crumbs = breadcrumbs.slice(0, Math.round(breadcrumbs.length / 2));\n      crumbs.push(h(\"NcBreadcrumb\", {\n        class: \"dropdown\",\n        props: this.menuBreadcrumbProps,\n        attrs: {\n          // Hide the dropdown menu from screen-readers,\n          // since the crumbs in the menu are still in the list.\n          \"aria-hidden\": true\n        },\n        // Add a ref to the Actions menu\n        ref: \"actionsBreadcrumb\",\n        key: \"actions-breadcrumb-1\",\n        // Add handlers so the Actions menu opens on hover\n        nativeOn: {\n          dragstart: this.dragStart,\n          dragenter: () => {\n            this.menuBreadcrumbProps.open = true;\n          },\n          dragleave: this.closeActions\n        },\n        on: {\n          // Make sure we keep the same open state\n          // as the Actions component\n          \"update:open\": (open) => {\n            this.menuBreadcrumbProps.open = open;\n          }\n        }\n        // Add all hidden breadcrumbs as ActionRouter or ActionLink\n      }, this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n        const crumb = breadcrumbs[index];\n        const to = crumb.componentOptions.propsData.to;\n        const href = crumb.componentOptions.propsData.href;\n        const disabled = crumb.componentOptions.propsData.disableDrop;\n        const title = crumb.componentOptions.propsData.title;\n        const name = crumb.componentOptions.propsData.name;\n        let element = \"NcActionButton\";\n        let path = \"\";\n        if (href) {\n          element = \"NcActionLink\";\n          path = href;\n        }\n        if (to) {\n          element = \"NcActionRouter\";\n          path = to;\n        }\n        const folderIcon = h(\"IconFolder\", {\n          props: {\n            size: 20\n          },\n          slot: \"icon\"\n        });\n        return h(element, {\n          class: crumbClass,\n          props: {\n            href: href || null,\n            title,\n            to: to || null\n          },\n          // Prevent the breadcrumbs from being draggable\n          attrs: {\n            draggable: false\n          },\n          on: {\n            ...crumb.componentOptions.listeners\n          },\n          // Add the drag and drop handlers\n          nativeOn: {\n            dragstart: this.dragStart,\n            drop: ($event) => this.dropped($event, path, disabled),\n            dragover: this.dragOver,\n            dragenter: ($event) => this.dragEnter($event, disabled),\n            dragleave: ($event) => this.dragLeave($event, disabled)\n          }\n        }, [folderIcon, name]);\n      })));\n      const crumbs2 = breadcrumbs.slice(Math.round(breadcrumbs.length / 2));\n      crumbs = crumbs.concat(crumbs2);\n    }\n    const wrapper = [h(\"nav\", { attrs: { \"aria-label\": this.ariaLabel } }, [h(\"ul\", { class: \"breadcrumb__crumbs\" }, [crumbs])])];\n    if (this.$slots.actions) {\n      wrapper.push(h(\"div\", { class: \"breadcrumb__actions\", ref: \"breadcrumb__actions\" }, this.$slots.actions));\n    }\n    this.breadcrumbsRefs = breadcrumbsRefs;\n    return h(\"div\", { class: [\"breadcrumb\", { \"breadcrumb--collapsed\": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: \"container\" }, wrapper);\n  }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"8d4e090c\"\n);\nconst NcBreadcrumbs = __component__.exports;\nexport {\n  NcBreadcrumbs as N\n};\n//# sourceMappingURL=NcBreadcrumbs-CesoXxTs.mjs.map\n"],"file":"NcBreadcrumbs-CesoXxTs-DQcjiANF.chunk.mjs"}