{"version":3,"sources":["jsdelivr-header.js","/npm/@nuxt/scripts@1.2.1/dist/module.mjs"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNS,WAAY,gBAAmB,qBAC/B,WAAY,aAAc,eAAgB,cAAe,gBAAmB,iBAC5E,QAAS,oBAAqB,iBAAkB,WAAY,eAAgB,2BAA4B,SAAU,UAAW,gBAAiB,iBAAkB,kBAAmB,iBAAkB,WAAY,iBAAkB,YAAa,cAAe,eAAgB,cAAiB,mBAChS,SAAY,cACZ,KAAM,YAAe,eACrB,mBAAoB,oBAAuB,mBAC3C,iBAAkB,aAAc,YAAa,cAAiB,YAC9D,MAAO,WAAc,gBACrB,QAAS,SAAU,WAAY,gBAAmB,aAClD,kBAAqB,mBACvB,aAAc,mCACZ,KAAM,aAAgB,iBACtB,aAAc,aAAc,KAAM,qBAAsB,uBAAwB,0BAA2B,yBAA4B,oBACvI,mBAAsB,kBACtB,kBAAqB,kBACvB,QAAS,0BACP,WAAc,uBAChB,gBAAiB,sBACf,SAAY,eACZ,iBAAkB,SAAU,oBAAqB,qBAAsB,8BAA+B,gCAAmC,uBAC3I,sCAEP,MAAM,eAAiC,IAAI,IACrC,oBAAsB,QAC5B,SAAS,gBACP,MAAM,EAAO,aACb,OAAO,cAAc,CACnB,OAAQ,SAAS,CACf,KAAM,QAAQ,GAAM,QAAQ,SAAW,GAAI,uCAGjD,CACA,SAAS,yBAAyB,GAChC,MAAM,EAAO,UACP,EAAU,gBAChB,oBAAoB,CAClB,MAAO,EACP,QAAS,iBAAiB,SACjB,aAAa,MAAO,IACzB,MAAM,GAAa,EAAM,MAAQ,IAAI,MAAM,KAAK,IAAI,MAAM,IAAM,GAC1D,EAAW,EACX,EAAmB,eAAe,IAAI,KAAK,EAAe,IAChE,IAAK,GAAoB,aAA4B,MACnD,MAAM,YAAY,CAAE,WAAY,MAElC,GADA,UAAU,EAAO,eAAgB,yCAC7B,EAAiB,QACnB,OAAO,EAAiB,QAE1B,MAAM,EAAM,UAAU,IACtB,IAAI,QAAY,EAAQ,WAAW,GAKnC,OAJK,IACH,QAAY,MAAM,EAAiB,KAAK,KAAM,GAAM,EAAE,eAAe,KAAM,GAAM,OAAO,KAAK,UACvF,EAAQ,WAAW,EAAK,IAEzB,OAIT,EAAK,QAAQ,KACf,iBAAiB,QAAQ,EAAe,MAAO,CAC7C,MAAO,CACL,OAtCoB,WA0C1B,MAAM,EAAW,KAAK,EAAK,QAAQ,SAAU,QAAS,WAYtD,OAXA,EAAK,KAAK,eAAiB,IACzB,EAAY,eAAiB,GAC7B,EAAY,aAAa,KAAK,CAC5B,IAAK,EACL,OA/CsB,QAgDtB,QAAS,IAEX,EAAY,YAAc,CAAC,EAC3B,EAAY,UAAU,SAAW,GACjC,EAAY,UAAU,OAAO,KAAK,KAE7B,CACL,8BAEJ,CAEA,MAAM,kBAAoB,kBACpB,uBAAyB,KACzB,yBAA2B,4BACjC,eAAe,cAAc,EAAM,EAAU,CAAC,GAC5C,MAAM,aAAE,SAAuB,OAAO,uBAChC,QAAE,GAAY,2BAA2B,KACzC,EAAa,EAAQ,2BACD,WAAW,GAEnC,EAAK,KAAK,qBAAsB,MAAO,IACrC,MAAM,QAAa,OAAO,QAAQ,KAAM,GAAM,EAAE,SAAW,GAC3D,EAAO,YAAY,IAXC,kBAWsB,EAAK,EAAY,CAAE,KAAK,EAAM,QAAQ,OAGlF,iBAAkB,IAChB,EAAO,OAAS,EAAO,QAAU,CAAC,EAClC,EAAO,OAAO,MAAQ,EAAO,OAAO,OAAS,CAAC,EAC9C,EAAO,OAAO,MAjBM,mBAiBqB,CACvC,OAAQ,uCACR,cAAc,EACd,iBAAiB,EACjB,QAAU,GAAS,EAAK,QArBN,kBAqBiC,OAIrD,EAAQ,YACV,mBAAmB,GAErB,EAAa,CACX,KAAM,eACN,MAAO,UACP,KAAM,gBACN,KAAM,CACJ,KAAM,SACN,IAlCoB,oBAqC1B,CACA,SAAS,mBAAmB,GAC1B,IAAI,EAAe,CACjB,QAAS,CAAC,EACV,UAAW,GAEb,EAAK,KAAK,qBAAuB,IAC/B,EAAO,YAAY,IAAI,yBAA0B,CAAC,EAAK,KAIrD,GAHA,EAAI,UAAU,8BAA+B,KAC7C,EAAI,UAAU,+BAAgC,sBAC9C,EAAI,UAAU,+BAAgC,gBAC3B,YAAf,EAAI,OAGN,OAFA,EAAI,WAAa,SACjB,EAAI,MAGN,GAAmB,QAAf,EAAI,OAGN,OAFA,EAAI,UAAU,eAAgB,yBAC9B,EAAI,IAAI,KAAK,UAAU,IAGzB,GAAmB,SAAf,EAAI,OAAmB,CACzB,IAAI,EAAO,GAeX,OAdA,EAAI,GAAG,OAAS,IACd,GAAQ,EAAM,kBAEhB,EAAI,GAAG,MAAO,KACZ,IACE,MAAM,EAAO,KAAK,MAAM,GACxB,EAAe,IAAK,EAAM,UAAW,KAAK,OAC1C,EAAI,WAAa,IACjB,EAAI,IAAI,KACV,CAAE,MACA,EAAI,WAAa,IACjB,EAAI,IAAI,eACV,GAGJ,CACA,EAAI,WAAa,IACjB,EAAI,IAAI,yBAGd,CACA,SAAS,4BAA4B,GACnC,MAAM,EAAQ,OAAO,OAAO,GAC5B,OAAI,EAAM,MAAM,SACP,OACL,EAAM,KAAK,SACN,UACF,MACT,CACA,SAAS,mBAAmB,EAAK,EAAQ,EAAW,GAClD,MAAM,EAAU,EAAY,QACtB,EAAoB,CACxB,KAAM,EAAQ,GACd,YAAa,EAAQ,UACrB,WAAY,EAAQ,SACpB,SAAU,EAAQ,OAClB,WAAY,EAAQ,SACpB,WAAY,EAAQ,UAEhB,EAAO,EAAO,KACd,EAA0B,iBAAT,EAAoB,EAAK,MAAQ,EAAK,MAAQ,GAAQ,GAC7E,MAAO,CACL,YAAa,EACb,MAAO,EAAO,OAAS,EACvB,KAAM,EACN,SAAU,EAAO,UAAY,UAC7B,YACA,WAA0B,IAAf,EAAO,IAAgB,yBAA2B,2BAC7D,gBAAiB,EAAY,WAC7B,gBAAiB,EAAY,YAAY,YACzC,iBAAkB,EAAY,YAAY,OAC1C,QAAS,EACT,aAAc,4BAA4B,GAC1C,QAAS,IAAI,EAAY,SAE7B,CACA,SAAS,kBAAkB,EAAa,EAAc,GACpD,MAAM,EAA6B,IAAI,IACvC,IAAK,MAAM,KAAK,EACd,IAAK,MAAM,KAAK,EAAE,QAChB,EAAW,IAAI,GAEnB,MAAO,CACL,SAAS,EACT,cACA,YAAa,EACb,UACA,aAAc,EAAW,KAE7B,CAEA,MAAM,aAA4B,eAAb,SACrB,eAAe,gBAAgB,EAAM,EAAgB,GACnD,SAAU,mBAAmB,GAAM,MAAM,IAAM,MAC7C,OAAO,EAET,GADA,SAAS,KAAK,WAAW,gBACrB,KACF,OAAO,EACT,IAAuB,IAAnB,EAAQ,SAAsC,IAAnB,EAAQ,SAAqB,aAAc,CAMxE,UALsB,SAAS,OAAO,0BAA0B,aAAiB,CAC/E,KAAM,UACN,KAAM,UACN,SAAS,IAGT,OAAO,CACX,CACA,SAAS,KAAK,cAAc,QAC5B,IAGE,aAFM,IACN,SAAS,QAAQ,aAAa,MACvB,CACT,CAAE,MAAO,GAEP,OADA,SAAS,MAAM,IACR,CACT,CACF,CACA,MAAM,eAAiC,IAAI,IAC3C,SAAS,kBAAkB,EAAM,GAC/B,GAAI,eAAe,IAAI,GACrB,OACF,eAAe,IAAI,GACnB,MAAM,EAAO,aACb,OAAK,EAEE,gBAAgB,EAAM,UAC3B,MAAM,WAAE,SAAqB,OAAO,OAAO,eACrC,EAAW,SAAU,CAAC,MAAO,EAAM,QAAS,EAAK,QAAQ,WAC9D,CAAE,QAAS,EAAK,QAAQ,QAAS,YAAa,EAAK,QAAQ,cAAe,SAL7E,CAMF,CAEA,MAAM,OAAS,UAAU,iBAEnB,mBAAqB,CAAC,UAAW,QAAS,SAAU,aAC1D,SAAS,sBAAsB,GAC7B,OAAK,EAEE,OAAO,QAAQ,EAAO,SAAS,OAAO,EAAE,CAAE,KAA2B,aAAhB,GAAO,MAAqB,IAAI,EAAE,KAAS,GAD9F,EAEX,CACA,SAAS,8BAA8B,EAAU,GAC/C,IAAK,MAAM,KAAO,OAAO,KAAK,GAAW,CACvC,MAAM,EAAQ,EAAS,GACvB,GAAK,GAA0B,iBAAV,EAErB,GAAI,MAAM,QAAQ,GAAQ,CACxB,MAAM,EAAO,EAAM,GACnB,GAAI,GAAwB,iBAAT,GAAqB,0BAA2B,EAAM,CACvE,EAAK,2BAA2B,kHAChC,MAAM,EAAI,EACV,EAAE,QAAU,EAAE,6BACP,EAAE,qBACX,CACF,KAAO,CACL,MAAM,EAAM,EACR,0BAA2B,IAC7B,EAAK,2BAA2B,kHAChC,EAAI,QAAU,EAAI,6BACX,EAAI,uBAEb,MAAM,EAAK,EAAI,cACf,GAAI,GAAoB,iBAAP,GAAmB,0BAA2B,EAAI,CACjE,EAAK,2BAA2B,gIAChC,MAAM,EAAI,EACV,EAAE,QAAU,EAAE,6BACP,EAAE,qBACX,CACF,CACF,CACF,CACA,SAAS,wBAAwB,EAAU,EAAM,GAC/C,IAAK,MAAM,KAAO,OAAO,KAAK,GAAW,CACvC,MAAM,EAAQ,EAAS,GACvB,GAAK,EAIL,IAAc,IAAV,EAAJ,CASA,GAAc,eAAV,EACF,MAAM,IAAI,MACR,2BAA2B,qHAG/B,GAAc,SAAV,EACF,EAAS,GAAO,CAAC,CAAC,EAAG,CAAE,QAAS,SAAU,gBAAgB,SACrD,GAAI,MAAM,QAAQ,GAAQ,CAC/B,IAAK,EAAM,KAAO,EAAM,GAAI,QACnB,EAAS,GAChB,QACF,CACK,EAAM,KACT,EAAM,GAAK,CAAC,EAChB,MAAO,GAAqB,iBAAV,EAAoB,CACpC,MAAM,cAAE,KAAkB,GAAS,EAC7B,EAAQ,CAAC,EACT,EAAsB,CAAC,EACzB,GAA0C,iBAAlB,GAC1B,OAAO,OAAO,EAAqB,GACrC,IAAK,MAAO,EAAG,KAAM,OAAO,QAAQ,GAC9B,mBAAmB,SAAS,GAC9B,EAAoB,GAAK,EAEzB,EAAM,GAAK,EAEf,EAAS,GAAO,OAAO,KAAK,GAAqB,OAAS,EAAI,CAAC,EAAO,GAAuB,CAAC,EAChG,aACS,EAAS,EA7BlB,KARA,CACE,GAAI,GAAmB,IAAI,GAAM,CAC/B,EAAS,GAAO,CAAC,CAAC,GAClB,QACF,CACA,IAAO,2BAA2B,oFAClC,EAAS,GAAO,CAAC,CAAC,EAAG,CAAE,QAAS,eAElC,aAXS,EAAS,EA0CpB,CACF,CAEA,SAAS,MAAM,EAAI,EAAO,CAAC,GACzB,MAAM,OAAE,GAAW,SAAS,mBAAmB,cAAc,GAAI,OACjE,GAAI,EAAG,SAAS,UAAY,EAC1B,OAAO,EAET,IAAK,EACH,OAAO,EAET,MAAM,EAAQ,WAAW,GACzB,GAAI,EAAM,eACR,OAAO,EAET,GAAI,EAAM,QAAqB,gBAAX,IAA6B,EAAK,MAAQ,EAAK,KAAK,SAAS,WAC/E,OAAO,EAET,MAAM,EAAO,UAAW,EAAQ,SAAW,EAAM,KACjD,UAAM,QAAS,IAAU,EAAK,OAAS,EAAK,KAAK,SAAS,GAI5D,CACA,MAAM,QAAU,qBAChB,SAAS,KAAK,GACZ,MAAM,SAAE,GAAa,SAAS,mBAAmB,cAAc,GAAI,OACnE,OAAO,QAAQ,KAAK,EACtB,CAEA,MAAM,SAAW,QACjB,SAAS,0BACP,OAAO,eAAe,KACb,CACL,KAAM,6BACN,UAAW,CACT,OAAQ,CACN,GAAI,UAEN,OAAA,CAAQ,EAAM,GACZ,IAAK,MAAM,EAAI,CAAE,KAAM,CAAC,YACtB,OACF,IAAK,EAAK,SAAS,aACjB,OACF,IAAI,EACA,EAgCJ,OA/BA,aAAa,EAAM,EAAK,IACtB,GAAmB,wBAAf,EAAM,MAAwE,kBAAtC,EAAM,eAAe,IAAI,IAAI,KAA0B,CACjG,MAAM,EAAa,EAAM,aAAa,IAAI,GAC1C,IAAK,MAAM,KAAY,EAAW,WACV,aAAlB,EAAS,MAA6C,eAAtB,EAAS,IAAI,MAA+C,YAAtB,EAAS,IAAI,MAA8C,eAAxB,EAAS,MAAM,OAC1H,EAAW,EAGjB,CACA,GAAI,EAAU,CACZ,IACI,EADA,EAA0B,uBAAf,EAAM,KAAgC,EAAQ,KAW7D,GATmB,wBAAf,EAAM,MACkC,uBAAtC,EAAM,aAAa,IAAI,MAAM,OAC/B,EAAW,EAAM,aAAa,IAAI,KAClC,EAAuB,EAAM,aAAa,IAAI,MAAM,cAAc,IAGlE,IAAa,IACf,EAAyD,yBAAlC,EAAS,YAAY,IAAI,KAAkC,EAAS,YAAY,GAAK,MAE1G,EAAsB,CACxB,MAAM,EAAQ,GAAsB,MACT,sBAAvB,EAAM,QAAQ,OACuB,YAAnC,EAAM,UAAU,IAAI,MAAM,MAAyE,YAAnD,EAAM,UAAU,IAAI,MAAM,QAAQ,QAAQ,OAC5F,EAAY,GAGlB,CACF,IAEE,EACK,KAAK,MAAM,IAAI,MAAM,8EAD9B,CAGF,KAIR,CAEA,SAAS,gCAAgC,EAAa,GACpD,MAAM,EAAW,GAAS,WAAY,EACtC,MAAO,iIAIiB,KAAK,UAAU,shDAwCP,EAAW,mSAMjC,wZAaZ,CAEA,MAAM,kBAAoB,QACpB,mBAAqB,YACrB,sBAAwB,kLAC9B,SAAS,iBAAiB,EAAQ,GAChC,MAAwB,aAAjB,GAAQ,MAAmC,QAAZ,EAAI,KAAkC,eAAjB,GAAQ,MAAqC,SAAZ,EAAI,GAClG,CACA,SAAS,gBAAgB,EAAO,GAC9B,IAAK,MAAM,KAAE,EAAI,GAAE,KAAQ,EAAU,CACnC,MAAM,EAAgB,EAAK,WAAW,KAChC,EAAe,EAAK,QAAQ,KAC5B,EAAW,EAAe,EAAI,EAAK,MAAM,EAAG,GAAgB,EAC5D,EAAW,EAAe,EAAI,EAAK,MAAM,GAAgB,GAC/D,IAAK,EAAM,SAAS,GAClB,SACF,MAAM,EAAM,SAAS,GACrB,IAAI,GAAgB,EAChB,EAAgB,GACpB,GAAI,EAAI,KAAM,CAEZ,GADoB,EAAgB,EAAI,KAAK,SAAS,GAAY,EAAI,OAAS,EAC9D,CACf,MAAM,EAAW,EAAI,UAAY,EAAI,QAAU,KAAO,EAAI,MAAQ,IAC9D,GAAY,EAAS,WAAW,IAClC,GAAgB,EAChB,EAAgB,EAAS,MAAM,EAAS,SAC9B,IACV,GAAgB,EAChB,EAAgB,EAEpB,CACF,MAAO,GAAI,EAAM,WAAW,MAAO,CACjC,MAAM,EAAW,EAAM,MAAM,GAAG,MAAM,KAAK,GAE3C,GADoB,EAAgB,GAAU,SAAS,KAAa,EAAQ,IAAa,EACxE,CACf,MAAM,EAAY,EAAM,MAAM,GAAK,GAAU,QAAU,IACnD,GAAY,EAAU,WAAW,IACnC,GAAgB,EAChB,EAAgB,EAAU,MAAM,EAAS,SAC/B,IACV,GAAgB,EAChB,EAAgB,EAEpB,CACF,MAAO,GAAI,IAAa,EAAM,WAAW,IAAS,GAAiB,EAAM,SAAS,IAAQ,CACxF,MAAM,EAAY,EAAM,QAAQ,GAAQ,EAAK,OACvC,EAAW,EAAM,GAClB,GAAyB,MAAb,GAAiC,MAAb,GAAiC,MAAb,IACvD,GAAgB,EAChB,EAAgB,EAAM,MAAM,GAEhC,CACA,GAAI,EACF,MAAyB,MAAlB,GAAyB,EAAc,WAAW,MAAQ,EAAc,WAAW,KAAO,EAAK,EAAgB,QAAQ,EAAI,EAEtI,CACA,OAAO,IACT,CACA,MAAM,eAAiC,IAAI,IAAI,CAAC,SAAU,OAAQ,eAC5D,kBAAoC,IAAI,IAAI,CAAC,cACnD,SAAS,gBAAgB,EAAM,EAAc,EAAQ,GACnD,GAAI,EAAQ,GACV,OAAO,KACT,MAAM,EAAO,EAAa,eAAe,GACzC,IAAK,EACH,OAAO,EACT,GAAI,aAAgB,0BAClB,OAAO,KACT,GAAI,aAAgB,qBAAsB,CACxC,MAAM,EAAc,EAAK,aAAa,aACtC,IAAK,EACH,OAAO,KACT,IAAK,MAAM,KAAc,EAAa,CACpC,MAAM,EAAK,EAAW,GACtB,IAAK,GAAM,EAAG,OAAS,EACrB,SACF,MAAM,EAAO,EAAW,KACxB,IAAK,EACH,OAAO,KACT,GAAkB,eAAd,EAAK,KACP,OAAO,gBAAgB,EAAK,KAAM,EAAc,EAAQ,GAC1D,GAAkB,qBAAd,EAAK,MAAqD,eAAtB,EAAK,QAAQ,KAAuB,CAC1E,MAAM,EAAa,EAAK,SAAmC,YAAxB,EAAK,UAAU,MAAqD,iBAAxB,EAAK,SAAS,MAAqB,EAAK,SAAS,MAAQ,KAA+B,eAAxB,EAAK,UAAU,KAAwB,EAAK,SAAS,KAAO,KAC3M,IAAK,EACH,OAAO,KACT,MAAM,EAAY,gBAAgB,EAAK,OAAO,KAAM,EAAc,EAAQ,GAC1E,OAAK,IAED,eAAe,IAAI,IAA4B,aAAd,GAC5B,EAFA,IAIX,CACA,OAAO,IACT,CACF,CACA,OAAO,IACT,CACA,SAAS,oBAAoB,EAAQ,GACnC,GAAqB,qBAAjB,GAAQ,KACV,OAAO,KACT,MAAM,EAAW,EAAO,SAAqC,YAA1B,EAAO,UAAU,MAAuD,iBAA1B,EAAO,SAAS,MAAqB,EAAO,SAAS,MAAQ,KAAO,EAAO,UAAU,KACtK,IAAK,EACH,OAAO,KACT,MAAM,EAAM,EAAO,OACnB,IAAK,GAAoB,eAAb,EAAI,KACd,OAAO,KACT,MAAM,EAAW,gBAAgB,EAAI,KAAM,GAC3C,OAAK,EAEY,UAAb,GAAwB,eAAe,IAAI,GACtC,QACQ,eAAb,IAA8B,kBAAkB,IAAI,IAAa,eAAe,IAAI,KAEvE,eAAb,GAA0C,cAAb,EADxB,aAGQ,mBAAb,GAAiC,eAAe,IAAI,GAC/C,iBACQ,UAAb,GAAwB,eAAe,IAAI,GACtC,QACF,KAXE,IAYX,CACA,SAAS,qBAAqB,EAAS,EAAU,EAAU,EAAY,GACrE,MAAM,EAAI,IAAI,YAAY,GAC1B,SAAS,EAAkB,GACzB,MAAM,EAAO,EAAQ,EAAQ,GAC7B,OAAO,GAAQ,kBAAkB,KAAK,GAAQ,IAAM,EACtD,CACA,MAAM,EAAe,IAAI,aAAa,CAAE,sBAAsB,KACxD,QAAE,GAAY,aAAa,EAAS,EAAU,CAAE,iBA0KtD,OAzKA,EAAa,SACb,KAAK,EAAS,CACZ,eACA,KAAA,CAAM,EAAM,EAAQ,GAClB,GAAkB,YAAd,EAAK,MAA4C,iBAAf,EAAK,MAAoB,CAC7D,MAAM,EAAQ,EAAK,MACb,EAAY,gBAAgB,EAAO,GACzC,GAAkB,OAAd,EACF,OACF,MAAM,EAAQ,EAAQ,EAAK,OAC3B,GAAI,iBAAiB,EAAQ,GAC3B,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,EAAQ,EAAY,QACjD,GAAI,EAAM,WAAW,OAA0B,qBAAjB,GAAQ,MAAmD,MAApB,EAAO,SAAkB,CACnG,MAAM,EAAsB,UAAZ,EAAI,IAAkB,EAAO,KAAO,EAAO,MACrC,YAAlB,GAAS,MAA+C,iBAAlB,EAAQ,OAAsB,mBAAmB,KAAK,EAAQ,OACtG,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,GAAG,EAAkB,EAAO,8BAA8B,IAAQ,IAAY,KAEpH,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,GAAG,EAAkB,EAAK,8BAA8B,IAAQ,IAAY,IAElH,MACE,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,GAAG,EAAkB,EAAK,8BAA8B,IAAQ,IAAY,IAElH,CACA,GAAkB,oBAAd,EAAK,KAA4B,CACnC,MAAM,EAAS,EAAK,OACd,EAAc,EAAK,YACzB,GAA4B,IAAxB,GAAa,QAAmC,IAAnB,GAAQ,OAAc,CACrD,MAAM,EAAQ,EAAO,GAAG,OAAO,QAAU,EAAO,GAAG,OAAO,IAC1D,GAAqB,iBAAV,EACT,OACF,MAAM,EAAY,gBAAgB,EAAO,GACzC,GAAkB,OAAd,EACF,OACE,iBAAiB,EAAQ,GAC3B,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,KAAK,OAEvC,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,GAAG,EAAkB,EAAK,gCAAgC,MAEhG,MAAO,GAAI,GAAa,OAAS,GAAK,GAAQ,OAAS,EAAG,CACxD,MAAM,EAAa,EAAO,GACpB,EAAQ,EAAW,OAAO,QAAU,EAAW,OAAO,IAC5D,GAAqB,iBAAV,GAAsB,iBAAiB,EAAQ,GACxD,OACF,MAAM,EAAY,gBAAgB,EAAO,GACzC,GAAkB,OAAd,EACF,OACF,EAAE,UAAU,EAAK,MAAO,EAAW,IAAK,GAAG,EAAkB,EAAK,gCAAgC,IACpG,CACF,CACA,GAAkB,mBAAd,EAAK,OAA8B,GAAS,gBAAiB,CAC/D,MAAM,EAAS,EAAK,OAEd,GADuD,IAA9B,GAAS,kBAC0B,qBAAjB,GAAQ,KAA8B,EAAO,SAAqC,YAA1B,EAAO,UAAU,MAAuD,iBAA1B,EAAO,SAAS,MAAqB,EAAO,SAAS,MAAQ,KAAO,EAAO,UAAU,KAAO,KACnP,GAAuB,cAAnB,GAAkC,EAAO,OAAQ,CACnD,MAAM,EAAc,IAAI,yBACxB,GAA2B,eAAvB,EAAO,OAAO,KAQhB,YADA,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,GAPK,CACvC,MAAM,EAAO,EAAa,eAAe,EAAO,OAAO,MACvD,KAAI,aAAgB,sBAAwB,aAAgB,wBAE1D,YADA,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,EAGtC,CAIF,CACA,GAAuB,iBAAnB,EAAmC,CACrC,MAAM,EAAO,EAAK,UAClB,GAAqB,IAAjB,GAAM,QAAkC,YAAlB,EAAK,IAAI,MAAwC,8BAAlB,EAAK,GAAG,MAE/D,YADA,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,OAGtC,CACA,GAAqB,eAAjB,GAAQ,MAAyC,UAAhB,EAAO,KAG1C,YAFK,EAAa,eAAe,UAC/B,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,wBAG1C,MAAM,EAAS,oBAAoB,EAAQ,GAC3C,GAAe,UAAX,GAAiC,eAAX,EAExB,YADA,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,iBAAiB,KAGzD,GAAqB,qBAAjB,GAAQ,OAAgC,EAAO,UAAsC,eAA1B,EAAO,UAAU,MAAiD,eAAxB,EAAO,QAAQ,KAAuB,CAE5H,OADA,gBAAgB,EAAO,OAAO,KAAM,IAEnD,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,2BAE1C,CACF,CACA,MAAM,EAAoB,GAAY,OAAQ,GAAiB,4BAAX,EAAE,MACtD,GAAI,GAAmB,QAAwB,qBAAd,EAAK,MAAiD,MAAlB,EAAK,SAAkB,CAC1F,MAAM,EAAO,EAAK,KACZ,EAAQ,EAAK,MACnB,GAAoB,YAAhB,GAAO,MAAsC,IAAhB,EAAM,OAA8B,mBAAf,GAAM,MAAmD,qBAAtB,EAAK,QAAQ,KAA6B,CAEjI,GAAa,aADA,EAAK,OAAO,SAA0C,YAA/B,EAAK,OAAO,UAAU,MAA4D,iBAA/B,EAAK,OAAO,SAAS,MAAqB,EAAK,OAAO,SAAS,MAAQ,KAAO,EAAK,OAAO,UAAU,OACtI,IAA3B,EAAK,WAAW,OAAc,CACtD,MAAM,EAAM,EAAK,UAAU,GACT,YAAd,GAAK,MAA2C,iBAAd,EAAI,OAAsB,EAAkB,KAAM,GAAM,EAAI,MAAM,SAAS,EAAE,UACjH,EAAE,UAAU,EAAM,MAAO,EAAM,IAAK,KAExC,CACF,CACF,CACA,GAAI,GAAY,KAAM,GAAiB,sBAAX,EAAE,OAA+C,qBAAd,EAAK,MAA+B,EAAK,SAAU,CAChH,MAAM,EAAO,EAAK,SACZ,EAAM,EAAK,OACjB,GAAmB,YAAf,GAAM,MAAqC,IAAf,EAAK,OAA6B,mBAAd,GAAK,MAAkD,qBAArB,EAAI,QAAQ,KAA6B,CAE7H,GAAiB,WADA,EAAI,OAAO,SAAyC,YAA9B,EAAI,OAAO,UAAU,MAA2D,iBAA9B,EAAI,OAAO,SAAS,MAAqB,EAAI,OAAO,SAAS,MAAQ,KAAO,EAAI,OAAO,UAAU,OACpI,IAA1B,EAAI,WAAW,OAAc,CACvD,MAAM,EAAM,EAAI,UAAU,GAC1B,GAAkB,YAAd,GAAK,MAA2C,iBAAd,EAAI,MACxC,IAAK,MAAM,KAAS,EAAY,CAC9B,GAAmB,sBAAf,EAAM,MAAgC,EAAM,YAAc,EAAI,MAChE,SACF,MAAM,EAAU,EAAS,KAAM,GAAM,EAAE,OAAS,EAAM,YACtD,IAAK,EACH,SACF,MAAM,EAAY,EAAM,WAAa,GAAG,EAAQ,MAAM,EAAM,aAAe,EAAQ,GACnF,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,GAAG,EAAkB,EAAK,+BAA+B,KAC7F,CAEJ,CACF,CACF,CACA,GAAI,GAAY,KAAM,GAAiB,2BAAX,EAAE,OAAoD,qBAAd,EAAK,OAAgC,EAAK,SAAU,CACtH,MAAM,EAAM,EAAK,OACX,EAAO,EAAK,SAClB,GAAmB,eAAf,GAAM,MAAuC,WAAd,EAAK,MAAmC,kBAAd,GAAK,MAAiD,eAArB,EAAI,QAAQ,MAA6C,QAApB,EAAI,OAAO,MAAkB,EAAI,WAAW,QAAU,EACvL,IAAK,MAAM,KAAS,EAAY,CAC9B,GAAmB,2BAAf,EAAM,KACR,SACF,MAAM,EAAU,EAAS,KAAM,GAAM,EAAE,OAAS,EAAM,YACtD,GAAK,EAAL,CAEA,EAAE,UAAU,EAAK,MAAO,EAAK,IAAK,GAAG,EAAkB,EAAK,gCAAgC,EAAQ,QACpG,KAFU,CAGZ,CAEJ,CACA,GAAkB,kBAAd,EAAK,OAA6B,GAAS,gBAAiB,CAC9D,MAAM,EAAS,EAAK,OACpB,GAAqB,eAAjB,GAAQ,MAAyC,mBAAhB,EAAO,KAG1C,YAFK,EAAa,eAAe,mBAC/B,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,iCAG1C,GAAqB,eAAjB,GAAQ,MAAyC,UAAhB,EAAO,KAG1C,YAFK,EAAa,eAAe,UAC/B,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,wBAG1C,MAAM,EAAS,oBAAoB,EAAQ,GAC3C,GAAe,mBAAX,GAA0C,UAAX,EAEjC,YADA,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,iBAAiB,KAGzD,GAAqB,qBAAjB,GAAQ,MAAuD,eAAxB,EAAO,QAAQ,KAAuB,CAC/E,MAAM,EAAW,EAAO,SAAqC,YAA1B,EAAO,UAAU,MAAuD,iBAA1B,EAAO,SAAS,MAAqB,EAAO,SAAS,MAAQ,KAAO,EAAO,UAAU,KACtK,GAAiB,mBAAb,GAA8C,UAAb,EAAsB,CAExC,OADA,gBAAgB,EAAO,OAAO,KAAM,IAEnD,EAAE,UAAU,EAAO,MAAO,EAAO,IAAK,iBAAiB,IAE3D,CACF,CACF,CACF,IAEK,EAAE,UACX,CAEA,MAAM,iBAAmB,OACnB,qBAAuB,QACvB,OAAS,QACT,MAAQ,kBACR,QAAU,oBACV,aAAe,UACf,cAAgB,aACtB,SAAS,mBAAmB,EAAS,EAAY,UAE/C,MAAO,GAAG,KADG,WAAW,GAAW,OAAO,GAAS,OAAO,WAE5D,CACA,eAAe,eAAe,EAAS,EAAU,EAXxB,QAYvB,MAAM,EAAU,eAAe,IACzB,QAAa,EAAQ,QAAQ,GACnC,OAAK,IAAS,EAAK,WAGZ,KAAK,MAAQ,EAAK,UAAY,CACvC,CACA,SAAS,aAAa,GACpB,MAAO,GAAG,EAAE,WAAW,KAAO,IAAI,EAAE,MAAM,KAAO,MACnD,CACA,SAAS,cAAc,EAAU,EAAgB,oBAC/C,MAAM,EAAO,aAEP,EADS,GAAM,QAAQ,eAAe,KAAK,QAAU,GAAM,QAAQ,KAAK,QAAU,IAC9D,GAAM,QAAQ,IAAI,SAAW,GACvD,OAAO,QAAQ,QAAQ,EAAS,GAAgB,EAClD,CACA,SAAS,oBAAoB,EAAK,EAAgB,oBAChD,GAAI,YAAY,EAAK,CAAE,gBAAgB,IAAS,CAC9C,EAAM,EAAI,QAAQ,qBAAsB,YACxC,MAAM,EAAM,SAAS,GACf,EAAO,aAAa,KAAK,IAC/B,MAAO,CAAE,IAAK,cAAc,EAAM,GAAgB,SAAU,EAC9D,CACA,MAAO,CAAE,IAAK,EAChB,CACA,eAAe,eAAe,EAAM,EAAgB,EAAc,GAChE,MAAM,IAAE,EAAG,IAAE,EAAG,SAAE,EAAQ,cAAE,EAAa,UAAE,EAAS,cAAE,EAAa,WAAE,EAAU,gBAAE,EAAe,iBAAE,EAAgB,cAAE,GAAkB,EACtI,GAAI,IAAQ,IAAQ,EAClB,OAEF,MAAM,EAAU,gBAChB,IAAI,EACA,EACA,EAAO,EACP,GAAU,EACd,MAAM,KAAiB,GAAe,SAAU,GAAY,QACtD,EAAc,EAAc,IAAI,KAAK,CAAE,gBAAe,iBAAkB,GACxE,EAAW,EAAc,kBAAkB,EAAS,QAAQ,MAAO,GAAG,UAAsB,UAAU,IAE5G,IADwB,SAAuB,EAAQ,QAAQ,WAAoB,eAAe,EAAS,EAAU,GAEnH,QAAY,EAAQ,WAAW,GAC/B,EAAW,YACN,CAYL,GAXA,QAAY,OAAO,IAAI,EAAK,IAAK,EAAc,aAAc,gBAAiB,KAAK,MAAO,IACxF,IAAK,EAAE,GACL,MAAM,IAAI,MAAM,mBAAmB,WAAa,EAAE,WAEpD,EAAW,EAAE,QAAQ,IAAI,oBACzB,MAAM,EAAgB,EAAE,QAAQ,IAAI,kBAEpC,OADA,EAAO,EAAgB,OAAO,GAAiB,KAAO,EAC/C,OAAO,KAAK,EAAE,aAAe,EAAE,iBAExC,GAAU,QACJ,EAAQ,WAAW,UAAU,IAAY,GAC3C,GAAe,EAAK,CACtB,MACM,EAAY,qBADF,EAAI,SAAS,SACmB,EAAU,GAAiB,GAAI,EAAY,CAAE,kBAAiB,qBAC9G,EAAM,OAAO,KAAK,EAAW,SAC7B,OAAO,MAAM,WAAW,GAAe,QAAU,oBAAoB,GAAY,QAAU,oBAAoB,IACjH,OACM,EAAQ,WAAW,EAAU,SAC7B,EAAQ,QAAQ,eAAe,IAAY,CAC/C,UAAW,KAAK,MAChB,MACA,YAEJ,CACA,IAAK,EACH,OAEF,MACM,EAAiB,aADH,WAAW,UAAU,OAAO,GAAK,OAAO,OAAO,MAAM,EAAG,KAEtE,EAAY,cAAc,EAAgB,GAC1C,EAAgB,EAAY,mBAAmB,GAAmB,IAAd,EAAqB,SAAW,QAAkB,EAa5G,OAZA,EAAO,GAAQ,EAAI,OAAS,KACxB,GACF,OAAO,KAAK,sBAAsB,OAAO,KAAK,GAAG,OAAc,MAAmB,EAAK,QAAQ,SAAS,KAAY,EAAgB,KAAK,EAAc,MAAM,EAAG,UAAY,SAE9K,EAAe,IAAI,EAAW,CAC5B,QAAS,EACT,OACA,SAAU,QAAiB,EAC3B,MACA,SAAU,EACV,UAAW,IAEN,CAAE,IAAK,EAAW,SAAU,EACrC,CACA,SAAS,4BAA4B,EAAU,CAC7C,eAAgC,IAAI,MAEpC,MAAM,EAAO,WACP,eAAE,EAAiC,IAAI,KAAU,EACjD,EAAW,KAAK,EAAK,QAAQ,SAAU,QAAS,WAsBtD,OArBA,EAAK,MAAM,KAAK,aAAc,UAC5B,GAAI,EAAK,QAAQ,SACf,OAEF,MAAM,EAAU,IAAI,GACf,EAAQ,QAIb,OAAO,MAAM,mDACR,EAAK,QAAQ,WACV,IAAI,GAAG,EAAU,CAAE,WAAW,EAAM,OAAO,UAE7C,IAAI,MAAM,EAAU,CAAE,WAAW,UACjC,QAAQ,IAAI,EAAQ,IAAI,OAAQ,EAAK,MACrC,aAAmB,QAAU,EAAQ,iBAEnC,IAAI,UAAU,KAAK,EAAK,QAAQ,SAAU,QAAS,UAAW,EAAQ,UAAW,EAAQ,SAC/F,OAAO,MAAM,OAAO,KAAK,QAAkB,OAAc,QAAQ,EAAQ,SAAS,EAAQ,KAAK,QAAQ,SAAS,EAAQ,mBAZxH,OAAO,MAAM,yDAeV,eAAe,KACb,CACL,KAAM,mCACN,UAAW,CACT,OAAQ,CACN,GAAI,CACF,QAAS,CAAC,OAAQ,OAClB,QAAS,CAAC,WAGd,aAAM,CAAQ,EAAM,GAClB,IAAK,MAAM,EAAI,CAAE,KAAM,CAAC,WAAY,cAAiB,KAAK,GACxD,OACF,IAAK,EAAK,SAAS,aACjB,OACF,MAAM,EAAI,IAAI,YAAY,GACpB,EAAc,GACpB,aAAa,EAAM,EAAK,IACtB,MAAM,EAAa,EAAM,QAAQ,KACjC,IAAK,EACH,OACF,MAAM,EAA+B,cAAf,GAA8B,GAAY,WAAW,cAAgB,aAAa,KAAK,GAAY,OAAO,MAAQ,EAAW,WAAW,sBAAwB,EAAW,WAAW,kBAC5M,GAAmB,mBAAf,EAAM,MAAmD,eAAtB,EAAM,OAAO,MAAyB,EAAe,CAC1F,MAAM,EAAS,EAAM,QAAQ,KACvB,EAAO,EACb,IAAI,EACA,EAEA,EADA,EAAiB,CAAC,EAEtB,GAAe,cAAX,EAAwB,CAC1B,MAAM,EAAW,EAAO,QAAQ,cAAe,IAC/C,EAAc,EAAS,OAAS,EAAI,EAAS,OAAO,GAAG,cAAgB,EAAS,MAAM,QAAU,CAClG,CACA,GAAe,cAAX,GACF,GAAgC,YAA5B,EAAK,UAAU,IAAI,KACrB,EAAgB,EAAK,UAAU,QAC1B,GAAgC,qBAA5B,EAAK,UAAU,IAAI,KAA6B,CACzD,MAAM,EAAc,EAAK,UAAU,GAAG,WAAW,KAC9C,IAAuB,QAAhB,EAAE,KAAK,MAAmC,QAAjB,EAAE,KAAK,QAAsC,YAAlB,GAAG,MAAM,MAEvE,EAAgB,GAAa,KAC/B,MACK,CACL,MAAM,EAAe,EAAQ,SAAS,KAAM,GAAM,EAAE,OAAO,OAAS,GACpE,IAAK,EACH,OAEF,MAAM,EAAgB,iBAAiB,GACvC,IAAK,IAAkB,EAAa,IAClC,OACF,EAAiB,EAAQ,iBAAiB,GAAe,KAAO,CAAC,EACjE,MAAM,EAAS,CAAC,EAChB,GAAgC,qBAA5B,EAAK,UAAU,IAAI,KAA6B,CAClD,MAAM,EAAc,EAAK,UAAU,GACnC,IAAK,MAAM,KAAQ,EAAY,WACX,aAAd,EAAK,MAA2C,YAApB,EAAK,MAAM,MAAsB,EAAK,KAAO,SAAU,EAAK,MAC1F,EAAO,EAAK,IAAI,MAAQ,EAAK,MAAM,OAEvC,MAAM,EAAc,EAAK,UAAU,GAAG,WAAW,KAC9C,IAAuB,QAAhB,EAAE,KAAK,MAAmC,QAAjB,EAAE,KAAK,QAAsC,YAAlB,GAAG,MAAM,MAAiC,aAAX,EAAE,MAE3F,GAAa,OAAO,QACtB,EAAgB,GAAa,MAEjC,CACA,IAAK,EAAe,CAClB,MAAM,EAAgB,IAAK,KAAmB,GAE9C,GADA,EAAM,GAAiB,EAAc,IACzB,IAAR,EACF,QACG,GAAO,EAAa,MACvB,EAAM,EAAa,IACvB,CACF,CACA,IAAK,IAAkB,EAAK,CAI1B,GAHoD,qBAA5B,EAAK,UAAU,IAAI,MAA+B,EAAK,UAAU,GAAG,WAAW,KACpG,IAAuB,WAAhB,EAAE,KAAK,MAAsC,WAAjB,EAAE,KAAK,QAAkC,aAAX,EAAE,MAEjD,CACnB,MACM,EADmB,EAAK,UAAU,GACA,WAAW,KAChD,IAAuB,WAAhB,EAAE,KAAK,MAAsC,WAAjB,EAAE,KAAK,QAAkC,aAAX,EAAE,MAEtE,GAAI,GAAgD,YAA9B,EAAe,MAAM,KAAoB,CAC7D,MAAM,EAAc,EAAe,MAAM,OACrB,IAAhB,GAAwC,UAAhB,GAAmD,SAAxB,OAAO,IAC5D,EAAE,UAAU,EAAe,MAAM,MAAO,EAAe,MAAM,IAAK,gBAEtE,CACF,CACA,MACF,CACA,IAAI,GAAiB,KACnB,EAAM,GAAwC,iBAAzB,GAAe,OAAqB,GAAe,MACpE,GAAK,CACP,MAAM,EAA4B,cAAX,EAAyB,EAAQ,SAAS,KAAM,GAAO,EAAG,OAAO,OAAS,QAAe,EAChH,IAAI,IAAc,GAAgB,OAC9B,GAAgB,EAChB,GAAuB,EAC3B,GAAgC,qBAA5B,EAAK,UAAU,IAAI,KAA6B,CAClD,MAAM,EAAmB,EAAK,UAAU,GAClC,EAAiB,EAAiB,WAAW,KAChD,IAAuB,WAAhB,EAAE,KAAK,MAAsC,WAAjB,EAAE,KAAK,QAAkC,aAAX,EAAE,MAEtE,GAAI,GAAgD,YAA9B,EAAe,MAAM,KAAoB,CAC7D,GAAuB,EACvB,MAAM,EAAc,EAAe,MAAM,MACzC,IAAoB,IAAhB,GAAwC,UAAhB,GAAmD,SAAxB,OAAO,GAE5D,YADA,GAAY,GAGd,GAA2C,IAAvC,EAAiB,WAAW,OAC9B,EAAE,OAAO,EAAiB,MAAO,EAAiB,SAC7C,CACL,MAAM,EAAe,EAAiB,WAAW,KAC9C,GAAM,EAAE,MAAQ,EAAe,KAAkB,aAAX,EAAE,MAE3C,EAAE,OAAO,EAAe,MAAO,EAAe,EAAa,MAAQ,EAAe,IACpF,CACA,GAAY,EACZ,EAAgC,UAAhB,CAClB,CACF,CACA,MAAM,EAAgB,EAAK,UAAU,IAAI,YAAY,KAClD,GAAsB,kBAAhB,EAAE,KAAK,MAEV,EAAe,GAAe,MAAM,YAAY,KAAM,GACrC,aAAd,EAAK,MAA0C,WAAnB,EAAK,KAAK,MAAyC,YAApB,EAAK,MAAM,MAE/E,GAAI,EAAc,CAChB,GAAuB,EACvB,MAAM,EAAc,EAAa,MAAM,MACvC,GAA4B,IAAhB,GAAwC,UAAhB,GAAmD,SAAxB,OAAO,GACtE,EAAgC,UAAhB,CAClB,CACA,IAAK,QAAuE,IAA/C,GAAgB,eAAe,OAAmB,CAC7E,MAAM,EAAc,EAAe,cAAc,OACjD,GAA4B,IAAhB,GAAwC,UAAhB,GAAmD,SAAxB,OAAO,GACtE,EAAgC,UAAhB,CAClB,CACA,MAAM,EAAY,GAAe,MAAM,YAAY,KAAM,GAClC,aAAd,EAAK,MAA0C,UAAnB,EAAK,KAAK,MAAwC,YAApB,EAAK,MAAM,MAE9E,IAAI,GAA8C,IAA3B,GAAW,MAAM,MACxC,IAAK,GAAgD,qBAA5B,EAAK,UAAU,IAAI,KAA6B,CACvE,MAAM,EAAgB,EAAK,UAAU,GAAG,WAAW,KAChD,GAAiB,aAAX,EAAE,MAAuC,UAAhB,EAAE,KAAK,MAAqC,YAAjB,EAAE,MAAM,MAErE,GAAkD,IAA/B,GAAe,MAAM,KAC1C,CACA,IAAK,GAAgD,qBAA5B,EAAK,UAAU,IAAI,KAA6B,CACvE,MAAM,EAAe,EAAK,UAAU,GAAG,WAAW,KAC/C,GAAiB,aAAX,EAAE,MAAuC,UAAhB,EAAE,KAAK,MAAqC,YAAjB,EAAE,MAAM,MAErE,GAAiD,IAA9B,GAAc,MAAM,KACzC,CACA,GAAI,EAAW,CACb,MAAQ,IAAK,EAAI,SAAE,GAAa,oBAAoB,EAAK,EAAQ,eAC3D,EAAS,EAAQ,SAAS,KAAM,GAAO,EAAG,OAAO,OAAS,GAE1D,IADoB,GAAQ,MACgC,iBAAlB,GAAQ,MAAqB,EAAO,MAAQ,OAAmB,EACzG,GAAe,GAAoB,EAAiB,EAAQ,eAAe,QAAuB,EAClG,EAAgB,GAAa,SAAS,OAAQ,IAAY,EAAO,SAAS,MAAM,IAAK,IAAW,CACpG,KAAM,EACN,GAAI,GAAG,EAAQ,eAAe,OAE1B,EAAyC,iBAAnB,GAAQ,OAAsB,EAAO,YAAc,EACzE,EAAa,GAAa,YAAc,GAAc,WACtD,KAAqB,IAAe,EAAQ,kBAAkB,IAAI,MAAkB,EACpF,OAAiD,IAA9B,GAAa,SAAqD,iBAAxB,EAAY,UAAuB,EAAY,QAAQ,WAAY,GACtI,EAAY,KAAK,UACf,IAAI,EAAM,EACV,IACE,MAAM,QAAe,eAAe,CAAE,MAAK,MAAK,WAAU,gBAAe,gBAAe,aAAY,UAAW,EAAQ,UAAW,kBAAiB,mBAAkB,cAAe,EAAQ,eAAiB,EAAgB,EAAQ,aAAc,EAAQ,aACvP,IACF,EAAM,EAAO,IAEjB,CAAE,MAAO,GACP,IAAI,EAAQ,0BAGL,CACL,MAAM,EAAe,GAAG,SAAW,gBAKnC,MAJI,EAAa,SAAS,YAAc,EAAa,SAAS,YAAc,EAAa,SAAS,cAAgB,EAAa,SAAS,kBACtI,OAAO,MAAM,mEAAmE,MAAQ,KACxF,OAAO,MAAM,+IAET,CACR,CATE,OAAO,KAAK,uDAAuD,kCACnE,EAAM,CASV,CACI,IAAQ,IACN,GAAO,EAAI,WAAW,KACxB,OAAO,KAAK,oGAAoG,QAEhH,OAAO,KAAK,uDAAuD,OAEvE,MAAM,EAAa,EAAe,IAAI,GAChC,EAAgB,aAAsB,WAAa,EAAI,GAAY,UACzE,GAAI,EACE,GAA4B,cAAX,GAAsD,YAA5B,EAAK,UAAU,IAAI,KAChE,EAAE,UAAU,EAAc,MAAO,EAAc,IAAK,WAAW,mBAAqB,kCAC3E,GAA4B,cAAX,GAAsD,qBAA5B,EAAK,UAAU,IAAI,MACvE,EAAE,UAAU,EAAc,MAAO,EAAc,IAAK,IAAI,MACxD,EAAE,WAAW,EAAK,UAAU,GAAG,IAAM,EAAG,iBAAiB,iCAEzD,EAAE,UAAU,EAAc,MAAO,EAAc,IAAK,IAAI,UAErD,CACL,MAAM,EAAiB,EAAgB,iBAAiB,+BAA6C,GACrG,GAAI,EAAK,UAAU,GAAI,CACrB,MACM,EADc,EAAK,UAAU,GACK,WAAW,KAChD,GAAsB,gBAAhB,EAAE,KAAK,MAA2C,gBAAjB,EAAE,KAAK,OAEjD,GAAI,EAAqB,CACvB,MAAM,EAAc,EAAoB,MACxC,GAAyB,qBAArB,EAAY,KAA6B,CAC3C,MAAM,EAAc,EAAY,WAAW,KACxC,GAAsB,QAAhB,EAAE,KAAK,MAAmC,QAAjB,EAAE,KAAK,OAErC,GACF,EAAE,UAAU,EAAY,MAAM,MAAO,EAAY,MAAM,IAAK,IAAI,MAC5D,GACF,EAAE,WAAW,EAAY,IAAM,EAAG,IAEpC,EAAE,YAAY,EAAY,IAAM,EAAG,WAAW,KAAO,IAEzD,CACF,MACE,EAAE,YAAY,EAAK,UAAU,GAAG,MAAQ,EAAG,yBAAyB,KAAO,QAE/E,MACE,EAAE,UAAU,EAAK,OAAO,IAAK,EAAK,IAAK,2BAA2B,KAAO,SAE7E,GAEJ,CACF,CAEJ,IAEF,IAAK,MAAM,KAAM,QACT,IAER,OAAI,EAAE,aACG,CACL,KAAM,EAAE,WACR,IAAK,EAAE,YAAY,CAAE,gBAAgB,EAAM,OAAQ,UAHvD,CAMF,KAIR,CAEA,MAAM,uBAAyB,6BAC/B,SAAS,uBAAsB,OAAE,EAAM,WAAE,IACvC,gBAAgB,CACd,SAAU,mCACV,YAAa,KACX,MAAM,EAAc,OAAO,KAAK,EAAO,SAAW,CAAC,GACnD,IAAI,EAAW,uGAGE,IAAI,IAAI,KAAgB,OAAO,KAAK,EAAO,UAAY,CAAC,IAAI,IAAK,GAAM,IAAI,MAAW,UAAW,KAAK,mnBAU3H,EAAY,OAAS,+FAGrB,EAAY,IAAK,GAAM,SAAS,KAAK,UAAU,4BAA4B,KAAK,yBAI9E,KAcE,OAbI,EAAW,SACb,GAAY,2EAGlB,EAAW,IAAK,IACR,MAAM,EAAM,EAAE,OAAO,KAAK,QAAQ,YAAa,IAE/C,MAAO,OADY,EAAI,UAAU,EAAG,GAAG,cAAgB,EAAI,UAAU,gBAC/B,EAAE,OAAO,UAAU,WACxD,KAAK,mBAKH,GAAG,iBAGX,CAAE,MAAM,GACb,CACA,SAAS,wBAAwB,GAC/B,MAAM,EAAmB,GAAsB,SAAmD,iBAAjC,EAAqB,SAAwB,gBAAiB,EAAqB,QAC9I,EAAmB,GAAsB,SAAmD,iBAAjC,EAAqB,SAAwB,gBAAiB,EAAqB,QAC9I,EAAqB,GAAsB,SAAmD,iBAAjC,EAAqB,SAAwB,kBAAmB,EAAqB,QAClJ,EAAU,GAUhB,OATI,GACF,EAAQ,KAAK,uGAEX,GACF,EAAQ,KAAK,uGAEX,GACF,EAAQ,KAAK,2GAER,IACF,EACH,4CACA,EAAmB,uGAAyG,GAC5H,EAAmB,sGAAwG,GAC3H,EAAqB,2EAA6E,GAClG,gBACA,KACA,OAAO,SAAS,KAAK,KACzB,CACA,SAAS,0BAA0B,GACjC,GAAI,GAA8B,iBAAZ,EAAsB,CAC1C,MAAM,EAAO,OAAO,KAAK,GACzB,GAAI,EAAK,OAAS,EAChB,MAAM,IAAI,MAAM,4DAA4D,EAAK,KAAK,SAExF,GAAI,gBAAiB,EACnB,MAAO,0CAA0C,EAAQ,iBAE3D,GAAI,gBAAiB,EACnB,MAAO,yCAAyC,KAAK,UAAU,EAAQ,kBAEzE,GAAI,kBAAmB,EACrB,MAAO,iCAEX,CACA,OAAO,IACT,CACA,SAAS,eAAe,EAAQ,GAC1B,MAAM,QAAQ,EAAO,WACvB,EAAO,QAAU,OAAO,YAAY,EAAO,QAAQ,IAAK,GAAM,CAAC,KAAK,GAAI,KACxE,OAAO,KAAK,6HAEd,MAAM,EAAU,GACV,EAAQ,GACR,EAAmB,GACnB,EAAc,GACd,EAAuB,GAC7B,IAAI,GAAyB,EACzB,GAAyB,EACzB,GAA2B,EAC/B,IAAK,MAAO,EAAG,KAAM,OAAO,QAAQ,EAAO,UAAY,CAAC,GAAI,CAC1D,IAAU,IAAN,EACF,SACF,MAAM,EAAQ,GACP,CAAE,GAAiB,EAC1B,IAAK,GAAe,QAClB,SACF,MAAM,EAAmB,EAAS,KAAM,GAAM,EAAE,OAAO,KAAK,gBAAkB,YAAY,EAAE,iBAC5F,GAAI,EAAkB,CACpB,EAAqB,KAAK,GAC1B,EAAQ,QAAQ,YAAY,EAAiB,OAAO,gBAAgB,EAAiB,OAAO,SAC5F,MAAO,GAAS,EACV,EAAO,IAAK,GACZ,EAAkB,0BAA0B,EAAK,SACnD,IACF,EAAK,QAAU,0BACX,EAAgB,SAAS,iCAC3B,GAAyB,GACvB,EAAgB,SAAS,iCAC3B,GAAyB,GACvB,EAAgB,SAAS,mCAC3B,GAA2B,IAE/B,MAAM,EAAO,IAAK,EAAO,cAAe,GAClC,EAAW,EAAkB,KAAK,UAAU,GAAM,QAAQ,uBAAwB,GAAmB,KAAK,UAAU,GAC1H,EAAM,KAAK,SAAS,OAAO,EAAiB,OAAO,QAAQ,KAC7D,CACF,CACA,MAAM,EAAa,OAAO,KAAK,EAAO,SAAW,CAAC,GAAG,OAAS,EAC9D,IAAK,MAAO,EAAG,KAAM,OAAO,QAAQ,EAAO,SAAW,CAAC,GAAI,CACzD,IAAI,EACA,EACJ,GAAiB,iBAAN,EACT,EAAa,CAAE,IAAK,QACf,GAAI,MAAM,QAAQ,IAAmB,IAAb,EAAE,OAC/B,EAA6B,iBAAT,EAAE,GAAkB,CAAE,IAAK,EAAE,IAAO,IAAK,EAAE,IAC/D,EAAe,EAAE,OACZ,IAAiB,iBAAN,GAAwB,OAAN,EAGlC,SAFA,EAAa,IAAK,EAGpB,CACA,MACM,EAAuB,0BADR,EAAW,SAE5B,IACF,EAAW,QAAU,2BACvB,IAAI,EAAiB,KAAK,UAAU,GAChC,IACF,EAAiB,EAAe,QAAQ,uBAAwB,IAClE,MAAM,EAAY,wBAAwB,KAAK,UAAU,SAAS,uBAAoC,KAAK,UAAU,aACrH,IAAI,EAAc,GAClB,GAAI,GAAgB,OAAO,KAAK,GAAc,OAAS,EAAG,CACxD,MAAM,EAAW,IAAK,GAChB,EAAsB,0BAA0B,EAAS,SAC3D,IACF,EAAS,QAAU,2BACrB,EAAc,KAAK,UAAU,GACzB,IACF,EAAc,EAAY,QAAQ,uBAAwB,IACxD,IACE,EAAoB,SAAS,iCAC/B,GAAyB,GACvB,EAAoB,SAAS,iCAC/B,GAAyB,GACvB,EAAoB,SAAS,mCAC/B,GAA2B,GAEjC,CACI,IACE,EAAqB,SAAS,iCAChC,GAAyB,GACvB,EAAqB,SAAS,iCAChC,GAAyB,GACvB,EAAqB,SAAS,mCAChC,GAA2B,IAE/B,MAAM,EAAQ,iBAAiB,aAAa,OACtC,EAAa,EAAc,QAAQ,MAAgB,MAAY,KAAK,MAC1E,EAAiB,KAAK,GAAG,KAAK,UAAU,OAAO,KAC/C,EAAY,KAAK,SAAS,kCAAkC,KAAK,UAAU,QAAQ,KACrF,CACA,MAAM,EAAiB,GACnB,GACF,EAAe,KAAK,uGAElB,GACF,EAAe,KAAK,uGAElB,GACF,EAAe,KAAK,2GAEtB,MAAM,EAAY,GAYlB,OAXI,IACF,EAAU,KAAK,+EACf,EAAU,KAAK,oOACf,EAAU,KAAK,2BACf,EAAU,QAAQ,EAAiB,IAAK,GAAM,SAAS,OACvD,EAAU,KAAK,SACf,EAAU,KAAK,kEACf,EAAU,QAAQ,EAAY,IAAK,GAAM,OAAO,OAElD,EAAU,QAAQ,EAAM,IAAK,GAAM,OAAO,MAC1C,EAAU,KAAK,sCAAsC,IAAI,OAAO,KAAK,EAAO,SAAW,CAAC,MAAO,GAAsB,KAAK,eACnH,CACL,kEACA,4BAA4B,EAAa,qBAAuB,0BAC7D,KACA,EACH,GACA,oCACA,0BACA,6BACA,oBACA,MAAK,EAAa,yBAA2B,gBAC1C,EACH,MACA,MACA,KAAK,KACT,CAEA,MAAM,WAAa,WACb,mBAAsB,GAAM,EAAE,QAAQ,WAAY,OAAO,cACzD,WAAa,uBACb,mBAAqB,+BAC3B,SAAS,YAAY,EAAG,GACtB,GAAI,IAAM,EACR,OAAO,EACT,IAAK,EAAE,OACL,OAAO,EAAE,OACX,IAAK,EAAE,OACL,OAAO,EAAE,OACX,MAAM,EAAO,GACb,IAAK,IAAI,EAAI,EAAG,GAAK,EAAE,OAAQ,IAAK,EAAK,KAAK,GAC9C,IAAK,IAAI,EAAI,EAAG,GAAK,EAAE,OAAQ,IAAK,CAClC,IAAI,EAAW,EAAK,GACpB,EAAK,GAAK,EACV,IAAK,IAAI,EAAI,EAAG,GAAK,EAAE,OAAQ,IAAK,CAClC,MAAM,EAAM,EAAK,GACjB,EAAK,GAAK,EAAE,EAAI,KAAO,EAAE,EAAI,GAAK,EAAW,KAAK,IAAI,EAAU,EAAK,GAAI,EAAK,EAAI,IAAM,EACxF,EAAW,CACb,CACF,CACA,OAAO,EAAK,EAAE,OAChB,CACA,SAAS,uBAAuB,EAAS,EAAqB,EAAQ,EAAc,IAClF,MAAM,EAA0C,IAAI,IACpD,IAAK,MAAM,KAAK,EACd,EAAwB,IAAI,mBAAmB,GAAI,GACrD,MAAM,EAA6B,IAAI,IACvC,IAAK,MAAM,KAAK,EAAS,CACvB,IAAK,EAAE,cAAgB,EAAE,cAAgB,OAAO,KAAK,EAAE,aAAa,OAClE,SACF,MAAM,EAAY,mBAAmB,EAAE,aACjC,EAAS,IAAI,IAAI,OAAO,KAAK,EAAE,aAAa,IAAI,qBACtD,EAAW,IAAI,EAAW,CAAE,MAAO,EAAE,YAAa,UACpD,CACA,IAAK,EAAW,OAAS,EAAwB,KAC/C,OACF,MAAM,EAAkB,GACxB,IAAK,MAAO,GAAW,OAAE,MAAa,EACpC,IAAK,MAAM,KAAK,EACd,EAAgB,KAAK,GAAG,aAAa,KAAa,KAEtD,IAAK,MAAM,KAAU,OAAO,KAAK,QAAQ,KAAM,CAC7C,IAAK,EAAO,WAAW,YACrB,SACF,GAAI,EAAO,WAAW,oBAAqB,CACzC,IAAK,EAAwB,KAC3B,SACF,MACM,EADW,EAAO,MAAM,IACC,MAAM,KACrC,IAUI,EAVA,GAAU,EACd,IAAK,MAAO,KAAc,EAAyB,CACjD,MAAM,EAAW,EAAU,MAAM,KACjC,GAAI,EAAc,OAAS,EAAS,QAAU,EAAS,MAAM,CAAC,EAAG,IAAM,EAAc,KAAO,GAAI,CAC9F,GAAU,EACV,KACF,CACF,CACA,GAAI,EACF,SAEF,IAAK,MAAO,EAAW,KAAU,EAAyB,CACxD,MACM,EAAI,YADG,EAAc,MAAM,EAAG,EAAU,MAAM,KAAK,QAAQ,KAAK,KAC1C,KACvB,GAAQ,EAAI,EAAK,QACpB,EAAO,CAAE,YAAW,QAAO,KAAM,GACrC,CACA,MAAM,EAAc,GAAQ,EAAK,MAAQ,KAAK,IAAI,EAAG,KAAK,MAAM,EAAK,UAAU,OAAS,IAAM,+BAA+B,EAAK,cAAc,qBAAqB,EAAK,kBAAoB,wBAAwB,IAAI,EAAwB,UAAU,IAAK,GAAM,KAAK,OAAO,KAAK,SACxR,EAAO,KACL,uBAAuB,8DAAmE,KAE5F,QACF,CACA,GAAI,EAAgB,SAAS,GAC3B,SACF,MAAM,EAAU,EAAO,MAAM,IAC7B,IAAI,EACJ,IAAK,MAAO,EAAW,KAAS,EAC9B,GAAI,IAAY,GAAa,EAAQ,WAAW,GAAG,MAAe,CAChE,EAAa,CAAE,eAAc,GAC7B,KACF,CAEF,GAAI,EAAY,CACd,MAAM,EAAQ,EAAQ,MAAM,EAAW,UAAU,OAAS,GAC1D,EAAO,KACL,uBAAuB,sCAA2C,EAAW,0BAA0B,IAAI,EAAW,QAAQ,IAAK,GAAM,KAAK,aAAa,EAAW,aAAa,OAAO,KAAK,SAAS,EAAQ,WAAW,OAAa,MAE1O,QACF,CACA,MAAM,EAAe,EAAQ,MAAM,KACnC,IAAI,EACJ,IAAK,MAAO,EAAW,KAAS,EAAY,CAC1C,MAAM,EAAW,EAAU,MAAM,KACjC,IAAK,IAAI,EAAI,EAAG,GAAK,EAAa,OAAS,EAAS,OAAQ,IAAK,CAC/D,IAAI,GAAK,EACT,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,GAAI,EAAa,EAAI,KAAO,EAAS,GAAI,CACvC,GAAK,EACL,KACF,CAEF,GAAI,EAAI,CACN,EAAiB,CACf,YACA,MAAO,EAAK,MACZ,OAAQ,EAAK,OACb,UAAW,EAAa,MAAM,EAAI,EAAS,QAAQ,KAAK,MAE1D,KACF,CACF,CACA,GAAI,EACF,KACJ,CACA,IAAI,EAAa,GACjB,GAAI,EAEA,EADE,EAAe,WAAa,EAAe,OAAO,IAAI,EAAe,WAC1D,mBAAmB,aAAa,EAAe,aAAa,EAAe,+BAA+B,EAAe,YAEzH,gCAAgC,EAAe,cAAc,aAAa,EAAe,sBAEnG,CACL,IAAI,EACJ,IAAK,MAAO,EAAW,KAAS,EAAY,CAC1C,MACM,EAAI,YADG,EAAa,MAAM,EAAG,EAAU,MAAM,KAAK,QAAQ,KAAK,KACzC,KACvB,GAAQ,EAAI,EAAK,QACpB,EAAO,CAAE,IAAK,EAAW,MAAO,EAAK,MAAO,KAAM,GACtD,CACI,GAAQ,EAAK,MAAQ,KAAK,IAAI,EAAG,KAAK,MAAM,EAAK,IAAI,OAAS,MAChE,EAAa,gCAAgC,EAAK,cAAc,aAAa,EAAK,YACtF,CACA,EAAO,KACL,uBAAuB,6CAAkD,IAE7E,CACA,IAAK,MAAO,EAAW,KAAS,EAC9B,IAAI,EAAoB,IAAI,EAAK,OAEjC,IAAK,MAAM,KAAS,EAAK,OAAQ,CAC/B,MAAM,EAAS,GAAG,aAAa,KAAa,SACX,IAA7B,QAAQ,IAAI,IACd,EAAO,KACL,uBAAuB,oBAAyB,EAAK,wEAAwE,EAAK,2DAGxI,CAEJ,CAEA,MAAM,uBAAyB,sDAC/B,SAAS,+BAA+B,GAQtC,SAAS,EAAQ,GACf,IAAK,WAAW,GACd,OACF,MACM,EAXR,SAAoB,GAElB,OADA,uBAAuB,UAAY,EAC9B,uBAAuB,KAAK,IAEjC,uBAAuB,UAAY,EAC5B,EAAQ,QAAQ,uBAAwB,CAAC,EAAG,EAAK,IAAU,IAAI,IAAM,EAAM,eAAe,OAFxF,IAGX,CAKgB,CADE,aAAa,EAAU,UAEnC,IACF,EAAK,IAAI,GAAY,EACzB,CACA,SAAS,EAAQ,GACf,GAAK,WAAW,GAEhB,IAAK,MAAM,KAAS,YAAY,EAAK,CAAE,eAAe,IAAS,CAC7D,MAAM,EAAW,QAAQ,EAAK,EAAM,MAChC,EAAM,cACR,EAAQ,GACD,EAAM,KAAK,SAAS,SAC3B,EAAQ,EACZ,CACF,CACA,MAAM,EAA4B,IAAI,IACtC,IAAK,MAAM,KAAS,EAAK,QAAQ,QAC/B,EAAU,IAAI,QACZ,EAAM,OAAO,OACb,EAAM,OAAO,KAAK,OAAS,UAG/B,IAAK,MAAM,KAAO,EAAW,EAAQ,GACjC,EAAK,QAAQ,KACf,EAAK,KAAK,gBAAiB,CAAC,EAAQ,KAClC,GAAK,EAAa,SAAS,QAE3B,IAAK,MAAM,KAAS,EAAK,QAAQ,QAAS,CACxC,MAAM,EAAW,QAAQ,EAAM,OAAO,OAAQ,GAC9C,IAAK,MAAM,KAAO,EAChB,GAAI,EAAS,WAAW,GAAG,MAEzB,YADA,EAAQ,EAId,GAGN,CACA,MAAM,SAAW,WACX,iBAAoB,GAAM,EAAE,QAAQ,SAAU,OAAO,cACrD,qBAAuB,4BACvB,yBAA2B,+BAC3B,0BAA4B,oCAClC,SAAS,mBAAmB,EAAS,EAAO,EAAc,GAAe,GACvE,GAAI,EACF,MAAO,CAAE,OAAQ,EAAc,WAAW,EAAO,OAAQ,UAC3D,MAAM,EAAY,QAAQ,IAAI,sBAC9B,GAAI,EACF,MAAO,CAAE,OAAQ,EAAW,WAAW,EAAO,OAAQ,OACxD,IAAK,IAAU,EACb,OACF,MAAM,EAAS,YAAY,IAAI,SAAS,OAClC,EAAU,QAAQ,EAAS,QAC3B,EAAO,GAAG,wBAAwB,MAExC,IACE,GAAI,WAAW,GAAU,CACvB,MAAM,EAAW,aAAa,EAAS,SACvC,GAAI,yBAAyB,KAAK,GAAW,CAC3C,MAAM,EAAQ,EAAS,MAAM,2BAC7B,GAAI,IAAQ,GACV,MAAO,CAAE,OAAQ,EAAM,GAAG,OAAQ,WAAW,EAAO,OAAQ,mBAChE,CACA,eAAe,EAAS,EAAS,SAAS,MAAQ,EAAO,KAC7D,IACE,MACE,cAAc,EAAS,iCAC3B,KAGE,OADA,QAAQ,IAAI,sBAAwB,EAC7B,CAAE,SAAQ,WAAW,EAAO,OAAQ,mBAC7C,CAAE,MAEA,OADA,QAAQ,IAAI,sBAAwB,EAC7B,CAAE,SAAQ,WAAW,EAAM,OAAQ,mBAC5C,CACF,CACA,SAAS,gBAAgB,EAAa,EAAW,GAC/C,MAAM,EAAQ,IAAY,GAC1B,IAAK,EACH,OAAO,EACT,MAAO,EAAO,GAAiB,EAC/B,IAAqB,IAAjB,GAAO,QAA4C,IAAzB,GAAe,MAC3C,OAAO,EACT,GAAI,EAAe,CACjB,MAAM,EAAU,EAAc,QAAQ,UAAU,GAChD,IAAuB,IAAnB,GAAS,MACX,OAAO,CACX,CACA,OAAO,CACT,CACA,SAAS,gBAAgB,EAAW,EAAe,EAAa,EAAa,GAC3E,GAAI,gBAAgB,EAAa,EAAW,GAC1C,OACF,MACM,EADQ,EAAU,GACJ,GACd,EAAY,EAAc,QAAQ,QAClC,EAAU,IAAY,GACtB,EAAS,GAA8B,iBAAZ,EAAuB,EAAU,EAClE,IAAK,GAAU,EAAO,EAAW,aAC/B,OACF,MAAM,EAAQ,EAAW,aAAa,EAAa,GACnD,EAAM,EAAW,aAAe,EAC5B,GAA8B,iBAAZ,GAAwB,IAAY,IACxD,EAAQ,EAAW,aAAe,EACtC,CACA,MAAM,gBAAkB,0BACxB,SAAS,6BAA6B,GACpC,GAAqB,iBAAV,EACT,OACF,MAAM,EAAU,EAAM,OACtB,GAAK,IAAY,gBAAgB,KAAK,IAAa,EAAQ,WAAW,OAEtE,IACE,OAAO,IAAI,IAAI,EAAS,8BAA8B,eAAiB,CACzE,CAAE,MACF,CACF,CACA,SAAS,8BAA8B,EAAQ,GAC7C,IAAK,GAA4B,iBAAX,EACpB,MAAO,GACT,MAAM,EAA0B,IAAI,IAC9B,EAAY,6BAA6B,EAAO,aAAa,KAGnE,GAFI,GACF,EAAQ,IAAI,GACV,GAAa,YAAY,YAAa,CACxC,MAAM,EAAiB,6BAA6B,EAAO,EAAY,WAAW,cAC9E,GACF,EAAQ,IAAI,EAChB,CACA,IAAK,MAAM,KAAS,GAAa,oBAAsB,GAAI,CACzD,MAAM,EAAS,6BAA6B,EAAO,IAC/C,GACF,EAAQ,IAAI,EAChB,CACA,MAAO,IAAI,GAAS,MACtB,CACA,SAAS,0BAA0B,EAAgB,EAAU,GAC3D,MAAQ,cAAe,KAAM,GAAmB,GAAsB,GAAY,CAAC,EACnF,OAAO,EAAe,OAAQ,IAAO,EAAe,GACtD,CACA,MAAM,SAAW,iBAAiB,CAChC,KAAM,CACJ,KAAM,gBACN,UAAW,UACX,cAAe,CACb,KAAM,WAGV,SAAU,CACR,qBAAsB,CACpB,QAAS,eAEX,OAAQ,CACN,aAAc,CACZ,MAAO,EAEP,WAAY,IAEZ,QAAS,OAIb,sBAAuB,CACrB,SAAS,EACT,YAAa,MAEf,SAAS,EACT,OAAO,GAET,WAAM,CAAM,EAAQ,GAClB,MAAQ,QAAS,EAAa,YAAE,GAAgB,2BAA2B,MACrE,QAAE,EAAO,KAAE,SAAe,sBAAsB,EAAY,oBAGlE,GAFA,EAAK,QAAQ,MAAM,uBAAyB,EAAY,aACxD,OAAO,MAAQ,EAAO,OAAS,EAAK,QAAQ,MAAQ,EAAI,GACnD,EAAO,QAEV,YADA,OAAO,MAAM,2CAGf,GAAI,EAAK,QAAQ,MACf,cAAc,EAAM,CAAE,WAAY,EAAO,sBACrC,EAAO,qBAAqB,CAC9B,MAAM,EAAa,EAAc,+CACjC,kBAAkB,CAChB,SAAU,6DACV,YAAW,IACF,4BAA4B,MAGzC,CAEF,MAAQ,QAAS,SAAwB,gBAAgB,cAAe,CACtE,KAAM,EAAK,QAAQ,aAClB,MAAM,KAAM,CAAG,QAAS,QACvB,GAAe,WAAW,MAC5B,OAAO,MAAM,qDAAqD,wDAEpE,MAAM,QAAgB,SAAS,GAC/B,GAAI,EAAO,SAAU,CACnB,MAAM,EAAoB,IAAI,IAAI,EAAQ,OAAQ,IAAO,EAAE,QAAQ,IAAK,GAAM,EAAE,cAChF,8BAA8B,EAAO,SAAW,GAAQ,OAAO,KAAK,IACpE,wBAAwB,EAAO,SAAW,GAAQ,OAAO,KAAK,GAAM,GACpE,EAAK,QAAQ,cAAc,OAAS,EAAK,QAAQ,cAAc,QAAU,CAAC,EAC1E,MAAM,EAAuB,CAAC,EAC9B,IAAK,MAAO,EAAK,KAAU,OAAO,QAAQ,EAAO,UAAW,CAC1D,IAAc,IAAV,EACF,SACF,MAAM,EAAQ,EAAM,GACd,EAAgB,EAAM,GACtB,EAAc,EAAQ,KAAM,GAAM,EAAE,cAAgB,IAAM,YAC1D,EAAO,CAAC,EACd,GAAK,GAAgB,OAAO,KAAK,GAAa,OAEvC,CACL,MAAM,EAAc,CAAC,EACrB,IAAK,MAAO,EAAO,KAAiB,OAAO,QAAQ,GAAc,CAC/D,MAAM,EAAS,uBAAuB,iBAAiB,MAAQ,iBAAiB,KAChF,EAAY,GAAS,QAAQ,IAAI,IAAW,CAC9C,CACA,OAAO,OAAO,EAAM,KAAK,EAAO,GAClC,MARE,OAAO,OAAO,EAAM,GASlB,GAAiB,OAAO,KAAK,GAAe,OAAS,IACvD,EAAK,cAAgB,GAEvB,EAAqB,GAAO,CAC9B,CACA,EAAK,QAAQ,cAAc,OAAO,QAAU,KAC1C,EAAK,QAAQ,cAAc,OAAO,SAAW,CAAC,EAC9C,EAEJ,CACA,uBACE,EACA,IAAI,IAAI,OAAO,KAAK,EAAO,UAAY,CAAC,GAAG,OAAQ,IAA+B,IAAzB,EAAO,WAAW,KAC3E,OACA,OAAO,KAAK,EAAO,SAAW,CAAC,IAEjC,MAAM,EAAoB,EAAO,uBAAuB,WAAa,EAAO,UAAU,WACtF,EAAK,QAAQ,cAAc,gBAAkB,CAC3C,UAEA,sBAAuB,EAAoB,CAAE,OAAQ,EAAK,QAAQ,cAAc,OAAO,SAAS,YAAY,aAAgB,GAE9H,EAAK,QAAQ,cAAc,OAAO,gBAAkB,CAElD,QAAS,EAAK,QAAQ,IAAM,OAAe,EAC3C,OAAQ,EAAO,QAAU,YACzB,qBAAsB,EAAO,qBAE7B,sBAAuB,EAAoB,CAAE,SAAS,EAAM,YAAa,EAAO,uBAAuB,aAAe,WAAc,GAEtI,MAAM,EAAa,KAAK,YAAY,EAAO,OAC3C,EAAK,QAAQ,OAAS,CAAC,EACvB,EAAK,QAAQ,KAAK,OAAS,IAAK,EAAK,QAAQ,KAAK,OAAQ,uBAAwB,GAClF,EAAK,QAAQ,QAAU,CAAC,EACxB,EAAK,QAAQ,MAAM,QAAU,IAAK,EAAK,QAAQ,MAAM,QAAS,uBAAwB,GACtF,MAAM,EAAc,EAAO,QAAU,YAC/B,EAAc,GAAG,MACjB,EAAe,GAAG,WAClB,EAAe,CAAC,EAChB,QAAyB,EAAY,kCAC3C,iBAAiB,CAAE,MAAO,GAAG,OAAkB,QAAS,IACpD,EAAK,QAAQ,KAAO,EAAO,UAAU,iBACvC,iBAAiB,CACf,MAAO,uBACP,cAAe,EAAY,2CAG/B,MAAM,EAAc,CAClB,YACA,qBACA,sBACA,oBACA,0BACA,0BACA,8BACA,8BACA,iCAEF,IAAK,MAAM,KAAc,EACvB,WAAW,CACT,SAAU,EACV,KAAM,EACN,GAAI,EACJ,WAAY,EAAY,yBAAyB,OAGrD,iBAAiB,CACf,WAAY,EAAY,wBACxB,YAAY,IAEd,+BAA+B,GAC/B,YAAY,CACV,SAAU,oCACV,YAAW,IACF,wBAAwB,EAAO,wBAG1C,MAAM,EAAW,CACf,0BAAM,GACJ,IAAK,EAAO,UAAU,WACpB,MAAO,GACT,MAAM,QAAoB,EAAY,uCACtC,IAAK,WAAW,GACd,MAAM,IAAI,MAAM,sHAElB,OAAO,aAAa,EAAa,QACnC,GAEF,YAAY,CACV,SAAU,4BACV,YAAiB,gBACO,QAAQ,IAC5B,OAAO,QAAQ,GAAU,IAAI,OAAQ,EAAO,KAAe,gBAAgB,OAAW,KAAK,gBAAgB,YAG9F,KAAK,MAGxB,OAAO,MAAM,+BAAgC,GAC7C,IAAK,MAAM,KAAU,EACf,EAAO,QAAQ,OACjB,WAAW,CAAE,SAAU,KAAM,EAAO,SACpC,EAAO,mBAAoB,GAG/B,GAAI,EAAO,SACT,IAAK,MAAO,EAAK,KAAU,OAAO,QAAQ,EAAO,UAAW,CAC1D,IAAK,EACH,SACF,MAAO,EAAO,GAAiB,EAC/B,GAAI,GAAe,eACjB,SACF,MAAM,EAAS,EAAQ,KAAM,GAAM,EAAE,cAAgB,GACrD,IAAK,GAAQ,OACX,SAEF,IADyB,EAAO,OACX,CACnB,GAAI,GAAiB,YAAa,IAA2C,IAA1B,EAAc,QAAmB,CAClF,MAAM,EAAS,EAAI,OAAO,GAAG,cAAgB,EAAI,MAAM,GACvD,OAAO,KACL,2BAA2B,yEAA2E,yCAE1G,CACA,QACF,CAEA,GADqB,GAAiB,YAAa,IAA2C,IAA1B,EAAc,QAChE,CAChB,MAEM,EAAU,0BAFO,sBAAsB,EAAO,QAEM,GADpC,EAAK,QAAQ,cAAc,QAAQ,SAAW,CAAC,GACU,IAC3E,EAAQ,QACV,OAAO,KAAK,2BAA2B,4BAA8B,EAAQ,OAAS,EAAI,IAAM,MAAM,EAAQ,IAAK,GAAM,IAAI,MAAM,KAAK,gFAAgF,EAAQ,OAAS,EAAI,OAAS,QAE1P,CACA,MAAM,EAAiB,IAAI,IAAI,OAAO,KAAK,EAAO,aAAe,CAAC,MACvC,OAAO,KAAK,GAAO,OAAQ,IAAO,EAAe,IAAI,IACzD,OAAS,IAAO,GAAmB,YAAa,GACrE,OAAO,KACL,2BAA2B,kOAGjC,CAEF,GAAI,OAAO,KAAK,EAAO,SAAW,CAAC,GAAG,OAAQ,CAC5C,MAAM,EAAiB,CAAC,EACxB,IAAK,MAAO,EAAG,KAAM,OAAO,QAAQ,EAAO,SAAW,CAAC,GAAI,CACzD,IAAI,EACJ,GAAiB,iBAAN,EACT,EAAQ,CAAE,IAAK,QACZ,GAAI,MAAM,QAAQ,IAAmB,IAAb,EAAE,OAC7B,EAAwB,iBAAT,EAAE,GAAkB,CAAE,IAAK,EAAE,IAAO,IAAK,EAAE,QACvD,IAAiB,iBAAN,GAAwB,OAAN,EAGhC,SAFA,EAAQ,IAAK,EAEL,QACH,EAAM,QACb,EAAe,GAAK,CACtB,CACA,EAAK,QAAQ,cAAc,OAAO,eAAiB,KACjD,EACA,EAAK,QAAQ,cAAc,OAAO,eAEtC,CACA,EAAK,MAAM,KAAK,eAAgB,UAC9B,MAAM,EAAkB,IAAI,SACtB,EAAK,MAAM,SAAS,mBAAoB,GAC9C,IAAK,MAAM,KAAU,EACf,EAAO,QAAQ,OAAS,EAAO,mBACjC,WAAW,CAAE,SAAU,KAAM,EAAO,SAGxC,MAAM,EAA4B,EAAgB,OAAQ,KAAQ,EAAE,QAAQ,MACtE,EAAa,EAA0B,OAAQ,IAAO,EAAQ,KAAM,GAAM,EAAE,QAAQ,OAAS,EAAE,OAAO,OAC5G,sBAAsB,CAAE,SAAQ,gBAC5B,OAAO,KAAK,EAAO,SAAW,CAAC,GAAG,QAAU,OAAO,KAAK,EAAO,UAAY,CAAC,GAAG,SACjF,kBAAkB,CAChB,SAAU,WAAW,EAAK,QAAQ,IAAK,kBACvC,YAAW,IACF,eAAe,EAAQ,KAIpC,MAAM,eAAE,GAAmB,yBAAyB,GAC9C,EAA8B,IAAI,IACxC,IAAK,MAAM,KAAU,EACf,EAAO,aACT,EAAY,IAAI,EAAO,YAAa,GAExC,MAAM,EAAmC,IAAI,IAC7C,IAAI,GAAgB,EACpB,MAAM,EAAe,OAAO,KAAK,EAAO,UAAY,CAAC,GACrD,IAAK,MAAM,KAAO,EAAc,CAC9B,MAAM,EAAS,EAAY,IAAI,GAC/B,IAAK,EACH,SACF,MAAM,EAAQ,EAAO,WAAW,GAC1B,EAAgB,IAAQ,IAAM,CAAC,EAE/B,EAAkB,IADH,IAAQ,IAAM,CAAC,KACU,GACxC,EAAW,oBAAoB,EAAQ,GAG7C,GAFI,EAAS,QACX,GAAgB,GACd,EAAS,UAAW,CACtB,EAAiB,IAAI,GACrB,MAAM,EAAW,qBAAqB,GACtC,GAAI,GAAU,QAAU,cAAc,qBAAsB,CAC1D,MAAM,EAAkB,EAAK,QAAQ,WAAa,CAAC,EAC7C,EAAmB,EAAgB,SAAW,GAC9C,EAAc,IAAoB,IAAI,IAAI,IAAI,KAAqB,KACzE,EAAK,QAAQ,UAAY,IAAK,EAAiB,QAAS,EAC1D,MAAY,GAAU,oBAAsB,KAC1C,OAAO,KAAK,gBAAgB,wHAEhC,CACF,CACA,GAAI,EAAe,CACjB,MAAM,EAAe,8BAA8B,EAAiB,GACpE,OAAO,OAAO,EAAc,GAC5B,MAAM,EAAgB,CAAC,EACjB,EAAqB,GACrB,EAAmB,GACzB,IAAI,EAAe,EACnB,MAAM,EAAkB,GAClB,EAAgB,EAAK,QAAQ,cAAc,QAAQ,QACzD,IAAK,MAAM,KAAO,EAAc,CAC9B,MAAM,EAAS,EAAY,IAAI,GAC/B,IAAK,EAAQ,CACX,EAAiB,KAAK,GACtB,QACF,CACA,IAAK,EAAO,MACV,SACF,GAAI,gBAAgB,EAAK,EAAO,UAC9B,SACF,MAAM,EAAoC,iBAAjB,EAAO,MAAqB,EAAO,MAAQ,EAC9D,EAAc,EAAa,GACjC,IAAK,EAAa,CAChB,EAAmB,KAAK,GACxB,QACF,CACA,MAAM,EAAQ,EAAO,WAAW,GAC1B,EAAe,IAAQ,IAAI,QAC3B,EAAe,IAAgB,IAAsC,iBAAvB,EAAc,GAAoB,EAAc,QAAY,EAChH,IAAK,MAAM,KAAU,EAAY,QAC/B,EAAc,GAAU,GAAgB,EAAY,QACpD,IAEF,IAAK,MAAM,IAAU,CAAC,IAAQ,GAAI,GAChC,IAAK,MAAM,KAAU,8BAA8B,EAAQ,GACzD,EAAc,GAAU,GAAgB,EAAY,QACpD,IAGA,EAAY,YAAc,EAAO,UACnC,gBAAgB,EAAO,SAAU,EAAK,QAAQ,cAAe,EAAa,EAAK,EAAY,YACzF,EAAK,QAAQ,KACf,EAAgB,KAAK,mBAAmB,EAAK,EAAQ,EAAW,GACpE,CACI,EAAiB,QACnB,OAAO,KACL,oDAAoD,EAAiB,KAAK,gEAI1E,EAAmB,QAAU,EAAK,QAAQ,KAC5C,OAAO,KACL,iEAAiE,EAAmB,KAAK,6DAI7F,kBAAkB,CAChB,SAAU,oCACV,YAAW,IACF,gCAAgC,EAAa,CAAE,WAAY,EAAK,QAAQ,SAGnF,EAAK,QAAQ,cAAc,sBAAwB,CACjD,cACA,gBACA,QAAS,EAAO,SAElB,MAAM,OAAuC,IAAxB,EAAO,QAAqB,aAAyC,kBAAnB,EAAO,QAAwB,EAAO,QAAU,YAAc,cAAgB,SACjJ,EAAe,GAAK,EAAK,QAAQ,KACnC,OAAO,QAAQ,0BAA0B,EAAa,qBAAqB,iCAA4C,MAEzH,MAAM,EAAqB,CAAC,SAAU,eAAgB,0BAA2B,iBAAkB,eAAgB,mBAC7G,EAAc,QAAQ,IAAI,cAAgB,GAWhD,GAVI,EAAmB,SAAS,IAC9B,OAAO,KACL,kEAAkE,GAAe,8NAKjF,EAAK,QAAQ,MACf,EAAK,QAAQ,cAAc,OAAO,yBAA2B,kBAAkB,EAAa,EAAc,IAExG,EAAiB,MAAQ,cAAc,qBAAsB,CAC/D,MAAM,EAAkB,EAAK,QAAQ,WAAa,CAAC,EAC9C,EAAgB,WAKnB,OAAO,KAAK,4FAJZ,EAAgB,WAAa,4BAA4B,GACzD,EAAK,QAAQ,UAAY,EACzB,OAAO,KAAK,oDAIhB,CACF,CACA,MAAM,EAAwC,IAAI,IAClD,eAAe,0BAA2B,CACxC,KAAK,IAEP,eAAe,4BAA4B,CACzC,QAAS,EACT,eAAgB,EAAK,QAAQ,cAAc,OAAO,QAClD,eACA,cACA,mBACA,cAAA,CAAe,IACT,EAAK,QAAQ,KAAkB,kBAAX,GAA+B,EAAsB,IAAI,IAAY,cAAc,IACzG,EAAsB,IAAI,EAAQ,IAAM,kBAAkB,GAC9D,EACA,cAAe,EACf,0BAA2B,EAAO,QAAQ,0BAC1C,aAAc,EAAO,QAAQ,aAC7B,YAAa,EAAO,QAAQ,YAC5B,UAAW,EAAO,QAAQ,UAC1B,oBAEF,EAAK,MAAM,KAAK,aAAc,UAC5B,MAAM,EAAc,IAAI,EAAsB,UAC9C,IAAK,MAAM,KAAK,QACR,WAGZ,MAAM,EAAgB,EAAO,QAAU,YACjC,EAAmB,CAAC,EAC1B,IAAI,GAA4B,EAChC,IAAK,MAAM,KAAU,EAAS,CAC5B,IAAK,EAAO,gBAAgB,SAAW,EAAO,YAC5C,SAEF,GADyC,eAAvB,EAAO,YAA+B,EAAO,uBAAuB,SAAW,EAAO,UAAU,WAAa,EAAO,WAAW,EAAO,aACxJ,CAEA,EAAiB,EAAO,cAAe,EACvC,IAAK,MAAM,KAAW,EAAO,eAAgB,CAC3C,MAAM,EAAgB,EAAQ,MAAM,QAAQ,YAAa,GACzD,iBAAiB,CACf,MAAO,EACP,QAAS,EAAQ,QACjB,WAAY,EAAQ,aAElB,EAAQ,kBACV,GAA4B,EAChC,CACA,GAA2B,aAAvB,EAAO,YAA4B,CACrC,MAAM,EAAiB,EAAO,UAAU,WAAW,IAAM,CAAC,EAC1D,EAAK,QAAQ,cAAc,OAAO,gBAAkB,KAClD,CAAE,cAAe,CAAE,YAAa,EAAe,aAAe,OAC9D,EAAK,QAAQ,cAAc,OAAO,gBAEtC,CAC2B,eAAvB,EAAO,cACT,EAAK,QAAQ,cAAc,gBAAkB,KAC3C,CAAE,uBAAwB,CAAE,OAAQ,EAAK,QAAQ,cAAc,OAAO,SAAS,YAAY,SAC3F,EAAK,QAAQ,cAAc,iBAtBrB,CAyBZ,CACA,EAAK,QAAQ,cAAc,OAAO,gBAAkB,KAClD,CAAE,UAAW,GACb,EAAK,QAAQ,cAAc,OAAO,iBAEpC,MACM,EAAc,QAAQ,IAAI,cAAgB,GAC1C,EAFgB,CAAC,SAAU,eAAgB,0BAA2B,iBAAkB,eAAgB,mBAEzE,SAAS,GACxC,GAA6B,IAArB,EAAK,QAAQ,IAC3B,IAAwB,IAApB,EAAO,SACL,IAA8B,EAAK,QAAQ,KAC7C,OAAO,KAAK,6IAET,GAAI,IAA8B,GAAS,GAChD,OAAO,KACL,mDAAmD,EAAiB,sBAAsB,KAAiB,uLAIxG,GAAI,EAA2B,CACpC,MAAM,EAAsB,mBAC1B,EAAK,QAAQ,UACX,EAAK,QAAQ,IACf,EAAO,UAAU,QACuB,IAAxC,EAAO,UAAU,oBAMnB,GAJoC,qBAAhC,GAAqB,OACvB,OAAO,KAAK,wBAAwB,uDACG,qBAAhC,GAAqB,QAC5B,OAAO,KAAK,qCAAqC,wFAC/C,GAAqB,OAAQ,CAC/B,MAAM,EAAiB,EAAK,QAAQ,cAAc,gBAClD,EAAe,YAAc,EAAoB,YACH,IAA1C,EAAO,UAAU,kBACnB,EAAe,gBAAkB,EAAO,SAAS,iBACnD,UAAU,CACR,UAAW,EAAY,wCACvB,KAAM,UAEV,MAAY,EAAK,QAAQ,KACvB,OAAO,KACL,cAAc,gMAEE,gCAGtB,CACF,WAGO,gBAAiB,oBAAqB,0BAA2B,gBAAiB,8BAA+B","file":"/npm/@nuxt/scripts@1.2.1/dist/module.mjs","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/@nuxt/scripts@1.2.1/dist/module.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { createHash, randomBytes } from 'node:crypto';\nimport { existsSync, readFileSync, appendFileSync, writeFileSync, readdirSync } from 'node:fs';\nimport { useNuxt, addDevServerHandler, extendRouteRules, tryUseNuxt, createResolver, extendViteConfig, logger as logger$1, useLogger, addTypeTemplate, defineNuxtModule, addPluginTemplate, addServerHandler, addImports, addComponentsDir, addTemplate, hasNuxtModule, addBuildPlugin, addPlugin } from '@nuxt/kit';\nimport { defu } from 'defu';\nimport { join, resolve } from 'pathe';\nimport { resolvePackageJSON, readPackageJSON } from 'pkg-types';\nimport { lazyEventHandler, eventHandler, createError, setHeader } from 'h3';\nimport { fetch, $fetch } from 'ofetch';\nimport { joinURL, parseURL, parseQuery, hasProtocol } from 'ufo';\nimport { createStorage } from 'unstorage';\nimport fsDriver from 'unstorage/drivers/fs-lite';\nimport { isCI, provider } from 'std-env';\nimport { parseAndWalk, ScopeTracker, walk, ScopeTrackerFunction, ScopeTrackerIdentifier, ScopeTrackerFunctionParam, ScopeTrackerVariable } from 'oxc-walker';\nimport { createUnplugin } from 'unplugin';\nimport { pathToFileURL } from 'node:url';\nimport fsp from 'node:fs/promises';\nimport { colors } from 'consola/utils';\nimport MagicString from 'magic-string';\nimport { hash } from 'ohash';\nimport { getBundleResolve, registry, resolveCapabilities, getPartytownForwards, buildProxyConfigsFromRegistry, generatePartytownResolveUrl } from './registry.mjs';\nimport '../dist/runtime/registry/schemas.js';\n\nconst renderedScript = /* @__PURE__ */ new Map();\nconst ONE_YEAR_IN_SECONDS = 60 * 60 * 24 * 365;\nfunction bundleStorage() {\n  const nuxt = tryUseNuxt();\n  return createStorage({\n    driver: fsDriver({\n      base: resolve(nuxt?.options.rootDir || \"\", \"node_modules/.cache/nuxt/scripts\")\n    })\n  });\n}\nfunction setupPublicAssetStrategy(assetsBaseURL) {\n  const nuxt = useNuxt();\n  const storage = bundleStorage();\n  addDevServerHandler({\n    route: assetsBaseURL,\n    handler: lazyEventHandler(async () => {\n      return eventHandler(async (event) => {\n        const cleanPath = (event.path || \"\").split(\"?\")[0]?.slice(1) || \"\";\n        const filename = cleanPath;\n        const scriptDescriptor = renderedScript.get(join(assetsBaseURL, cleanPath));\n        if (!scriptDescriptor || scriptDescriptor instanceof Error)\n          throw createError({ statusCode: 404 });\n        setHeader(event, \"content-type\", \"application/javascript; charset=utf-8\");\n        if (scriptDescriptor.content) {\n          return scriptDescriptor.content;\n        }\n        const key = `bundle:${filename}`;\n        let res = await storage.getItemRaw(key);\n        if (!res) {\n          res = await fetch(scriptDescriptor.src).then((r) => r.arrayBuffer()).then((r) => Buffer.from(r));\n          await storage.setItemRaw(key, res);\n        }\n        return res;\n      });\n    })\n  });\n  if (nuxt.options.dev) {\n    extendRouteRules(joinURL(assetsBaseURL, \"**\"), {\n      cache: {\n        maxAge: ONE_YEAR_IN_SECONDS\n      }\n    });\n  }\n  const cacheDir = join(nuxt.options.buildDir, \"cache\", \"scripts\");\n  nuxt.hook(\"nitro:config\", (nitroConfig) => {\n    nitroConfig.publicAssets ||= [];\n    nitroConfig.publicAssets.push({\n      dir: cacheDir,\n      maxAge: ONE_YEAR_IN_SECONDS,\n      baseURL: assetsBaseURL\n    });\n    nitroConfig.prerender ||= {};\n    nitroConfig.prerender.ignore ||= [];\n    nitroConfig.prerender.ignore.push(assetsBaseURL);\n  });\n  return {\n    renderedScript\n  };\n}\n\nconst DEVTOOLS_UI_ROUTE = \"/__nuxt-scripts\";\nconst DEVTOOLS_UI_LOCAL_PORT = 3030;\nconst DEVTOOLS_API_STATE_ROUTE = \"/__nuxt-scripts-api/state\";\nasync function setupDevtools(nuxt, options = {}) {\n  const { addCustomTab } = await import('@nuxt/devtools-kit');\n  const { resolve } = createResolver(import.meta.url);\n  const clientPath = resolve(\"../dist/devtools-client\");\n  const isProductionBuild = existsSync(clientPath);\n  if (isProductionBuild) {\n    nuxt.hook(\"vite:serverCreated\", async (server) => {\n      const sirv = await import('sirv').then((r) => r.default || r);\n      server.middlewares.use(DEVTOOLS_UI_ROUTE, sirv(clientPath, { dev: true, single: true }));\n    });\n  } else {\n    extendViteConfig((config) => {\n      config.server = config.server || {};\n      config.server.proxy = config.server.proxy || {};\n      config.server.proxy[DEVTOOLS_UI_ROUTE] = {\n        target: `http://localhost:${DEVTOOLS_UI_LOCAL_PORT}${DEVTOOLS_UI_ROUTE}`,\n        changeOrigin: true,\n        followRedirects: true,\n        rewrite: (path) => path.replace(DEVTOOLS_UI_ROUTE, \"\")\n      };\n    });\n  }\n  if (options.standalone) {\n    setupStandaloneApi(nuxt);\n  }\n  addCustomTab({\n    name: \"nuxt-scripts\",\n    title: \"Scripts\",\n    icon: \"carbon:script\",\n    view: {\n      type: \"iframe\",\n      src: DEVTOOLS_UI_ROUTE\n    }\n  });\n}\nfunction setupStandaloneApi(nuxt) {\n  let scriptsState = {\n    scripts: {},\n    updatedAt: 0\n  };\n  nuxt.hook(\"vite:serverCreated\", (server) => {\n    server.middlewares.use(DEVTOOLS_API_STATE_ROUTE, (req, res) => {\n      res.setHeader(\"Access-Control-Allow-Origin\", \"*\");\n      res.setHeader(\"Access-Control-Allow-Methods\", \"GET, POST, OPTIONS\");\n      res.setHeader(\"Access-Control-Allow-Headers\", \"Content-Type\");\n      if (req.method === \"OPTIONS\") {\n        res.statusCode = 204;\n        res.end();\n        return;\n      }\n      if (req.method === \"GET\") {\n        res.setHeader(\"Content-Type\", \"application/json\");\n        res.end(JSON.stringify(scriptsState));\n        return;\n      }\n      if (req.method === \"POST\") {\n        let body = \"\";\n        req.on(\"data\", (chunk) => {\n          body += chunk.toString();\n        });\n        req.on(\"end\", () => {\n          try {\n            const data = JSON.parse(body);\n            scriptsState = { ...data, updatedAt: Date.now() };\n            res.statusCode = 200;\n            res.end(\"ok\");\n          } catch {\n            res.statusCode = 400;\n            res.end(\"invalid json\");\n          }\n        });\n        return;\n      }\n      res.statusCode = 405;\n      res.end(\"method not allowed\");\n    });\n  });\n}\nfunction computeDevtoolsPrivacyLevel(privacy) {\n  const flags = Object.values(privacy);\n  if (flags.every(Boolean))\n    return \"full\";\n  if (flags.some(Boolean))\n    return \"partial\";\n  return \"none\";\n}\nfunction buildDevtoolsEntry(key, script, configKey, proxyConfig) {\n  const privacy = proxyConfig.privacy;\n  const normalizedPrivacy = {\n    ip: !!privacy.ip,\n    userAgent: !!privacy.userAgent,\n    language: !!privacy.language,\n    screen: !!privacy.screen,\n    timezone: !!privacy.timezone,\n    hardware: !!privacy.hardware\n  };\n  const logo = script.logo;\n  const logoStr = typeof logo === \"object\" ? logo.dark || logo.light : logo || \"\";\n  return {\n    registryKey: key,\n    label: script.label || key,\n    logo: logoStr,\n    category: script.category || \"unknown\",\n    configKey,\n    mechanism: script.src === false ? \"config-injection-proxy\" : \"bundle-rewrite-intercept\",\n    hasAutoInject: !!proxyConfig.autoInject,\n    autoInjectField: proxyConfig.autoInject?.configField,\n    hasPostProcess: !!proxyConfig.sdkPatches?.length,\n    privacy: normalizedPrivacy,\n    privacyLevel: computeDevtoolsPrivacyLevel(normalizedPrivacy),\n    domains: [...proxyConfig.domains]\n  };\n}\nfunction buildDevtoolsData(proxyPrefix, privacyLabel, scripts) {\n  const allDomains = /* @__PURE__ */ new Set();\n  for (const s of scripts) {\n    for (const d of s.domains)\n      allDomains.add(d);\n  }\n  return {\n    enabled: true,\n    proxyPrefix,\n    privacyMode: privacyLabel,\n    scripts,\n    totalDomains: allDomains.size\n  };\n}\n\nconst isStackblitz = provider === \"stackblitz\";\nasync function promptToInstall(name, installCommand, options) {\n  if (await resolvePackageJSON(name).catch(() => null))\n    return true;\n  logger$1.info(`Package ${name} is missing`);\n  if (isCI)\n    return false;\n  if (options.prompt === true || options.prompt !== false && !isStackblitz) {\n    const confirm = await logger$1.prompt(`Do you want to install ${name} package?`, {\n      type: \"confirm\",\n      name: \"confirm\",\n      initial: true\n    });\n    if (!confirm)\n      return false;\n  }\n  logger$1.info(`Installing ${name}...`);\n  try {\n    await installCommand();\n    logger$1.success(`Installed ${name}`);\n    return true;\n  } catch (err) {\n    logger$1.error(err);\n    return false;\n  }\n}\nconst installPrompts = /* @__PURE__ */ new Set();\nfunction installNuxtModule(name, options) {\n  if (installPrompts.has(name))\n    return;\n  installPrompts.add(name);\n  const nuxt = tryUseNuxt();\n  if (!nuxt)\n    return;\n  return promptToInstall(name, async () => {\n    const { runCommand } = await import(String(\"nuxi\"));\n    await runCommand(\"module\", [\"add\", name, \"--cwd\", nuxt.options.rootDir]);\n  }, { rootDir: nuxt.options.rootDir, searchPaths: nuxt.options.modulesDir, ...options });\n}\n\nconst logger = useLogger(\"@nuxt/scripts\");\n\nconst SCRIPT_OPTION_KEYS = [\"trigger\", \"proxy\", \"bundle\", \"partytown\"];\nfunction extractRequiredFields(schema) {\n  if (!schema)\n    return [];\n  return Object.entries(schema.entries).filter(([, field]) => field?.type !== \"optional\").map(([key]) => key);\n}\nfunction migrateDeprecatedRegistryKeys(registry, warn) {\n  for (const key of Object.keys(registry)) {\n    const entry = registry[key];\n    if (!entry || typeof entry !== \"object\")\n      continue;\n    if (Array.isArray(entry)) {\n      const opts = entry[1];\n      if (opts && typeof opts === \"object\" && \"reverseProxyIntercept\" in opts) {\n        warn(`[nuxt-scripts] registry.${key}: \\`reverseProxyIntercept\\` has been renamed to \\`proxy\\`. Please update your config. Auto-migrating for now.`);\n        const o = opts;\n        o.proxy ??= o.reverseProxyIntercept;\n        delete o.reverseProxyIntercept;\n      }\n    } else {\n      const obj = entry;\n      if (\"reverseProxyIntercept\" in obj) {\n        warn(`[nuxt-scripts] registry.${key}: \\`reverseProxyIntercept\\` has been renamed to \\`proxy\\`. Please update your config. Auto-migrating for now.`);\n        obj.proxy ??= obj.reverseProxyIntercept;\n        delete obj.reverseProxyIntercept;\n      }\n      const so = obj.scriptOptions;\n      if (so && typeof so === \"object\" && \"reverseProxyIntercept\" in so) {\n        warn(`[nuxt-scripts] registry.${key}: \\`scriptOptions.reverseProxyIntercept\\` has been renamed to \\`proxy\\`. Please update your config. Auto-migrating for now.`);\n        const s = so;\n        s.proxy ??= s.reverseProxyIntercept;\n        delete s.reverseProxyIntercept;\n      }\n    }\n  }\n}\nfunction normalizeRegistryConfig(registry, warn, componentOnlyKeys) {\n  for (const key of Object.keys(registry)) {\n    const entry = registry[key];\n    if (!entry) {\n      delete registry[key];\n      continue;\n    }\n    if (entry === true) {\n      if (componentOnlyKeys?.has(key)) {\n        registry[key] = [{}];\n        continue;\n      }\n      warn?.(`[nuxt-scripts] registry.${key}: \\`true\\` shorthand is deprecated. Use \\`{ trigger: 'onNuxtReady' }\\` instead.`);\n      registry[key] = [{}, { trigger: \"onNuxtReady\" }];\n      continue;\n    }\n    if (entry === \"proxy-only\") {\n      throw new Error(\n        `[nuxt-scripts] registry.${key}: \\`'proxy-only'\\` is no longer supported. Use \\`{}\\` instead (infrastructure only is now the default behavior).`\n      );\n    }\n    if (entry === \"mock\") {\n      registry[key] = [{}, { trigger: \"manual\", skipValidation: true }];\n    } else if (Array.isArray(entry)) {\n      if (!entry[0] && !entry[1]) {\n        delete registry[key];\n        continue;\n      }\n      if (!entry[0])\n        entry[0] = {};\n    } else if (typeof entry === \"object\") {\n      const { scriptOptions, ...rest } = entry;\n      const input = {};\n      const mergedScriptOptions = {};\n      if (scriptOptions && typeof scriptOptions === \"object\")\n        Object.assign(mergedScriptOptions, scriptOptions);\n      for (const [k, v] of Object.entries(rest)) {\n        if (SCRIPT_OPTION_KEYS.includes(k))\n          mergedScriptOptions[k] = v;\n        else\n          input[k] = v;\n      }\n      registry[key] = Object.keys(mergedScriptOptions).length > 0 ? [input, mergedScriptOptions] : [input];\n    } else {\n      delete registry[key];\n    }\n  }\n}\n\nfunction isVue(id, opts = {}) {\n  const { search } = parseURL(decodeURIComponent(pathToFileURL(id).href));\n  if (id.endsWith(\".vue\") && !search) {\n    return true;\n  }\n  if (!search) {\n    return false;\n  }\n  const query = parseQuery(search);\n  if (query.nuxt_component) {\n    return false;\n  }\n  if (query.macro && (search === \"?macro=true\" || !opts.type || opts.type.includes(\"script\"))) {\n    return true;\n  }\n  const type = \"setup\" in query ? \"script\" : query.type;\n  if (!(\"vue\" in query) || opts.type && !opts.type.includes(type)) {\n    return false;\n  }\n  return true;\n}\nconst JS_RE$1 = /\\.(?:[cm]?j|t)sx?$/;\nfunction isJS(id) {\n  const { pathname } = parseURL(decodeURIComponent(pathToFileURL(id).href));\n  return JS_RE$1.test(pathname);\n}\n\nconst VUE_RE$1 = /\\.vue/;\nfunction NuxtScriptsCheckScripts() {\n  return createUnplugin(() => {\n    return {\n      name: \"nuxt-scripts:check-scripts\",\n      transform: {\n        filter: {\n          id: VUE_RE$1\n        },\n        handler(code, id) {\n          if (!isVue(id, { type: [\"script\"] }))\n            return;\n          if (!code.includes(\"useScript\"))\n            return;\n          let nameNode;\n          let errorNode;\n          parseAndWalk(code, id, (_node) => {\n            if (_node.type === \"VariableDeclaration\" && _node.declarations?.[0]?.id?.type === \"ObjectPattern\") {\n              const objPattern = _node.declarations[0]?.id;\n              for (const property of objPattern.properties) {\n                if (property.type === \"Property\" && property.key.type === \"Identifier\" && property.key.name === \"$script\" && property.value.type === \"Identifier\") {\n                  nameNode = _node;\n                }\n              }\n            }\n            if (nameNode) {\n              let sequence = _node.type === \"SequenceExpression\" ? _node : null;\n              let assignmentExpression;\n              if (_node.type === \"VariableDeclaration\") {\n                if (_node.declarations[0]?.init?.type === \"SequenceExpression\") {\n                  sequence = _node.declarations[0]?.init;\n                  assignmentExpression = _node.declarations[0]?.init?.expressions?.[0];\n                }\n              }\n              if (sequence && !assignmentExpression) {\n                assignmentExpression = sequence.expressions[0]?.type === \"AssignmentExpression\" ? sequence.expressions[0] : null;\n              }\n              if (assignmentExpression) {\n                const right = assignmentExpression?.right;\n                if (right.callee?.name === \"_withAsyncContext\") {\n                  if (right.arguments[0]?.body?.name === \"$script\" || right.arguments[0]?.body?.callee?.object?.name === \"$script\") {\n                    errorNode = nameNode;\n                  }\n                }\n              }\n            }\n          });\n          if (errorNode) {\n            return this.error(new Error(\"You can't use a top-level await on $script as it will never resolve.\"));\n          }\n        }\n      }\n    };\n  });\n}\n\nfunction generateInterceptPluginContents(proxyPrefix, options) {\n  const testMode = options?.testMode ?? false;\n  return `export default defineNuxtPlugin({\n  name: 'nuxt-scripts:intercept',\n  enforce: 'pre',\n  setup() {\n    const proxyPrefix = ${JSON.stringify(proxyPrefix)};\n    const origBeacon = typeof navigator !== 'undefined' && navigator.sendBeacon\n      ? navigator.sendBeacon.bind(navigator)\n      : () => false;\n    const origFetch = globalThis.fetch.bind(globalThis);\n\n    function proxyUrl(url) {\n      try {\n        const parsed = new URL(url, location.origin);\n        if (parsed.origin !== location.origin)\n          return location.origin + proxyPrefix + '/' + parsed.host + parsed.pathname + parsed.search;\n      } catch {}\n      return url;\n    }\n\n    // XMLHttpRequest wrapper \\u2014 intercepts .open() to rewrite URL\n    const OrigXHR = XMLHttpRequest;\n    class ProxiedXHR extends OrigXHR {\n      open() {\n        const args = Array.from(arguments);\n        if (typeof args[1] === 'string') args[1] = proxyUrl(args[1]);\n        return super.open.apply(this, args);\n      }\n    }\n    // Image wrapper \\u2014 intercepts .src setter to rewrite URL\n    const OrigImage = Image;\n    const origSrcDesc = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src');\n    function ProxiedImage(w, h) {\n      const img = arguments.length === 2 ? new OrigImage(w, h)\n        : arguments.length === 1 ? new OrigImage(w) : new OrigImage();\n      if (origSrcDesc && origSrcDesc.set) {\n        Object.defineProperty(img, 'src', {\n          get() { return origSrcDesc.get.call(this); },\n          set(v) { origSrcDesc.set.call(this, typeof v === 'string' ? proxyUrl(v) : v); },\n          configurable: true,\n        });\n      }\n      return img;\n    }\n\n    globalThis.__nuxtScripts = {${testMode ? `\n      // Test mode: replace sendBeacon with fetch for immediate, observable requests\n      sendBeacon: (url, data) => {\n        const proxied = proxyUrl(url);\n        origFetch(proxied, { method: 'POST', body: data, keepalive: true }).catch(() => {});\n        return true;\n      },` : `\n      sendBeacon: (url, data) => origBeacon(proxyUrl(url), data),`}\n      fetch: (url, opts) => {\n        if (typeof url === 'string') return origFetch(proxyUrl(url), opts);\n        if (url instanceof Request) return origFetch(new Request(proxyUrl(url.url), url), opts);\n        return origFetch(url, opts);\n      },\n      XMLHttpRequest: ProxiedXHR,\n      Image: ProxiedImage,\n    };\n  },\n})\n`;\n}\n\nconst WORD_OR_DOLLAR_RE = /[\\w$]/;\nconst PROTOCOL_PREFIX_RE = /^https?:$/;\nconst BLANK_CANVAS_DATA_URL = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIHWNgAAIABQABNjN9GQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAA0lEQVQI12NgYGBgAAAABQABXvMqOgAAAABJRU5ErkJggg==\";\nfunction isPropertyKeyAST(parent, ctx) {\n  return parent?.type === \"Property\" && ctx.key === \"key\" || parent?.type === \"SwitchCase\" && ctx.key === \"test\";\n}\nfunction matchAndRewrite(value, rewrites) {\n  for (const { from, to } of rewrites) {\n    const isSuffixMatch = from.startsWith(\".\");\n    const fromSlashIdx = from.indexOf(\"/\");\n    const fromHost = fromSlashIdx > 0 ? from.slice(0, fromSlashIdx) : from;\n    const fromPath = fromSlashIdx > 0 ? from.slice(fromSlashIdx) : \"\";\n    if (!value.includes(fromHost))\n      continue;\n    const url = parseURL(value);\n    let shouldRewrite = false;\n    let rewriteSuffix = \"\";\n    if (url.host) {\n      const hostMatches = isSuffixMatch ? url.host.endsWith(fromHost) : url.host === fromHost;\n      if (hostMatches) {\n        const fullPath = url.pathname + (url.search || \"\") + (url.hash || \"\");\n        if (fromPath && fullPath.startsWith(fromPath)) {\n          shouldRewrite = true;\n          rewriteSuffix = fullPath.slice(fromPath.length);\n        } else if (!fromPath) {\n          shouldRewrite = true;\n          rewriteSuffix = fullPath;\n        }\n      }\n    } else if (value.startsWith(\"//\")) {\n      const hostPart = value.slice(2).split(\"/\")[0];\n      const hostMatches = isSuffixMatch ? hostPart?.endsWith(fromHost) ?? false : hostPart === fromHost;\n      if (hostMatches) {\n        const remainder = value.slice(2 + (hostPart?.length ?? 0));\n        if (fromPath && remainder.startsWith(fromPath)) {\n          shouldRewrite = true;\n          rewriteSuffix = remainder.slice(fromPath.length);\n        } else if (!fromPath) {\n          shouldRewrite = true;\n          rewriteSuffix = remainder;\n        }\n      }\n    } else if (fromPath && (value.startsWith(from) || isSuffixMatch && value.includes(from))) {\n      const domainEnd = value.indexOf(from) + from.length;\n      const nextChar = value[domainEnd];\n      if (!nextChar || nextChar === \"/\" || nextChar === \"?\" || nextChar === \"#\") {\n        shouldRewrite = true;\n        rewriteSuffix = value.slice(domainEnd);\n      }\n    }\n    if (shouldRewrite) {\n      return rewriteSuffix === \"/\" || rewriteSuffix.startsWith(\"?\") || rewriteSuffix.startsWith(\"#\") ? to + rewriteSuffix : joinURL(to, rewriteSuffix);\n    }\n  }\n  return null;\n}\nconst WINDOW_GLOBALS = /* @__PURE__ */ new Set([\"window\", \"self\", \"globalThis\"]);\nconst NAVIGATOR_GLOBALS = /* @__PURE__ */ new Set([\"navigator\"]);\nfunction resolveToGlobal(name, scopeTracker, depth = 0) {\n  if (depth > 10)\n    return null;\n  const decl = scopeTracker.getDeclaration(name);\n  if (!decl)\n    return name;\n  if (decl instanceof ScopeTrackerFunctionParam)\n    return null;\n  if (decl instanceof ScopeTrackerVariable) {\n    const declarators = decl.variableNode.declarations;\n    if (!declarators)\n      return null;\n    for (const declarator of declarators) {\n      const id = declarator.id;\n      if (!id || id.name !== name)\n        continue;\n      const init = declarator.init;\n      if (!init)\n        return null;\n      if (init.type === \"Identifier\")\n        return resolveToGlobal(init.name, scopeTracker, depth + 1);\n      if (init.type === \"MemberExpression\" && init.object?.type === \"Identifier\") {\n        const memberProp = init.computed ? init.property?.type === \"Literal\" && typeof init.property.value === \"string\" ? init.property.value : null : init.property?.type === \"Identifier\" ? init.property.name : null;\n        if (!memberProp)\n          return null;\n        const objGlobal = resolveToGlobal(init.object.name, scopeTracker, depth + 1);\n        if (!objGlobal)\n          return null;\n        if (WINDOW_GLOBALS.has(objGlobal) || objGlobal === \"document\")\n          return memberProp;\n        return null;\n      }\n      return null;\n    }\n  }\n  return null;\n}\nfunction resolveCalleeTarget(callee, scopeTracker) {\n  if (callee?.type !== \"MemberExpression\")\n    return null;\n  const propName = callee.computed ? callee.property?.type === \"Literal\" && typeof callee.property.value === \"string\" ? callee.property.value : null : callee.property?.name;\n  if (!propName)\n    return null;\n  const obj = callee.object;\n  if (!obj || obj.type !== \"Identifier\")\n    return null;\n  const resolved = resolveToGlobal(obj.name, scopeTracker);\n  if (!resolved)\n    return null;\n  if (propName === \"fetch\" && WINDOW_GLOBALS.has(resolved))\n    return \"fetch\";\n  if (propName === \"sendBeacon\" && (NAVIGATOR_GLOBALS.has(resolved) || WINDOW_GLOBALS.has(resolved)))\n    return \"sendBeacon\";\n  if (propName === \"sendBeacon\" && resolved === \"navigator\")\n    return \"sendBeacon\";\n  if (propName === \"XMLHttpRequest\" && WINDOW_GLOBALS.has(resolved))\n    return \"XMLHttpRequest\";\n  if (propName === \"Image\" && WINDOW_GLOBALS.has(resolved))\n    return \"Image\";\n  return null;\n}\nfunction rewriteScriptUrlsAST(content, filename, rewrites, sdkPatches, options) {\n  const s = new MagicString(content);\n  function needsLeadingSpace(start) {\n    const prev = content[start - 1];\n    return prev && WORD_OR_DOLLAR_RE.test(prev) ? \" \" : \"\";\n  }\n  const scopeTracker = new ScopeTracker({ preserveExitedScopes: true });\n  const { program } = parseAndWalk(content, filename, { scopeTracker });\n  scopeTracker.freeze();\n  walk(program, {\n    scopeTracker,\n    enter(node, parent, ctx) {\n      if (node.type === \"Literal\" && typeof node.value === \"string\") {\n        const value = node.value;\n        const rewritten = matchAndRewrite(value, rewrites);\n        if (rewritten === null)\n          return;\n        const quote = content[node.start];\n        if (isPropertyKeyAST(parent, ctx)) {\n          s.overwrite(node.start, node.end, quote + rewritten + quote);\n        } else if (value.startsWith(\"//\") && parent?.type === \"BinaryExpression\" && parent.operator === \"+\") {\n          const sibling = ctx.key === \"right\" ? parent.left : parent.right;\n          if (sibling?.type === \"Literal\" && typeof sibling.value === \"string\" && PROTOCOL_PREFIX_RE.test(sibling.value)) {\n            s.overwrite(parent.start, parent.end, `${needsLeadingSpace(parent.start)}self.location.origin+${quote}${rewritten}${quote}`);\n          } else {\n            s.overwrite(node.start, node.end, `${needsLeadingSpace(node.start)}self.location.origin+${quote}${rewritten}${quote}`);\n          }\n        } else {\n          s.overwrite(node.start, node.end, `${needsLeadingSpace(node.start)}self.location.origin+${quote}${rewritten}${quote}`);\n        }\n      }\n      if (node.type === \"TemplateLiteral\") {\n        const quasis = node.quasis;\n        const expressions = node.expressions;\n        if (expressions?.length === 0 && quasis?.length === 1) {\n          const value = quasis[0].value?.cooked ?? quasis[0].value?.raw;\n          if (typeof value !== \"string\")\n            return;\n          const rewritten = matchAndRewrite(value, rewrites);\n          if (rewritten === null)\n            return;\n          if (isPropertyKeyAST(parent, ctx)) {\n            s.overwrite(node.start, node.end, `\\`${rewritten}\\``);\n          } else {\n            s.overwrite(node.start, node.end, `${needsLeadingSpace(node.start)}self.location.origin+\\`${rewritten}\\``);\n          }\n        } else if (expressions?.length > 0 && quasis?.length > 0) {\n          const firstQuasi = quasis[0];\n          const value = firstQuasi.value?.cooked ?? firstQuasi.value?.raw;\n          if (typeof value !== \"string\" || isPropertyKeyAST(parent, ctx))\n            return;\n          const rewritten = matchAndRewrite(value, rewrites);\n          if (rewritten === null)\n            return;\n          s.overwrite(node.start, firstQuasi.end, `${needsLeadingSpace(node.start)}self.location.origin+\\`${rewritten}`);\n        }\n      }\n      if (node.type === \"CallExpression\" && !options?.skipApiRewrites) {\n        const callee = node.callee;\n        const shouldNeutralizeCanvas = options?.neutralizeCanvas !== false;\n        const canvasPropName = shouldNeutralizeCanvas && callee?.type === \"MemberExpression\" ? callee.computed ? callee.property?.type === \"Literal\" && typeof callee.property.value === \"string\" ? callee.property.value : null : callee.property?.name : null;\n        if (canvasPropName === \"toDataURL\" && callee.object) {\n          const blankCanvas = `\"${BLANK_CANVAS_DATA_URL}\"`;\n          if (callee.object.type === \"Identifier\") {\n            const decl = scopeTracker.getDeclaration(callee.object.name);\n            if (decl instanceof ScopeTrackerFunction || decl instanceof ScopeTrackerIdentifier) ; else {\n              s.overwrite(node.start, node.end, blankCanvas);\n              return;\n            }\n          } else {\n            s.overwrite(node.start, node.end, blankCanvas);\n            return;\n          }\n        }\n        if (canvasPropName === \"getExtension\") {\n          const args = node.arguments;\n          if (args?.length === 1 && args[0]?.type === \"Literal\" && args[0].value === \"WEBGL_debug_renderer_info\") {\n            s.overwrite(node.start, node.end, \"null\");\n            return;\n          }\n        }\n        if (callee?.type === \"Identifier\" && callee.name === \"fetch\") {\n          if (!scopeTracker.getDeclaration(\"fetch\"))\n            s.overwrite(callee.start, callee.end, \"__nuxtScripts.fetch\");\n          return;\n        }\n        const target = resolveCalleeTarget(callee, scopeTracker);\n        if (target === \"fetch\" || target === \"sendBeacon\") {\n          s.overwrite(callee.start, callee.end, `__nuxtScripts.${target}`);\n          return;\n        }\n        if (callee?.type === \"MemberExpression\" && !callee.computed && callee.property?.name === \"sendBeacon\" && callee.object?.type === \"Identifier\") {\n          const resolved = resolveToGlobal(callee.object.name, scopeTracker);\n          if (resolved === null) {\n            s.overwrite(callee.start, callee.end, \"__nuxtScripts.sendBeacon\");\n          }\n        }\n      }\n      const neutralizePatches = sdkPatches?.filter((p) => p.type === \"neutralize-domain-check\");\n      if (neutralizePatches?.length && node.type === \"BinaryExpression\" && node.operator === \"<\") {\n        const left = node.left;\n        const right = node.right;\n        if (right?.type === \"Literal\" && right.value === 0 && left?.type === \"CallExpression\" && left.callee?.type === \"MemberExpression\") {\n          const prop = left.callee.computed ? left.callee.property?.type === \"Literal\" && typeof left.callee.property.value === \"string\" ? left.callee.property.value : null : left.callee.property?.name;\n          if (prop === \"indexOf\" && left.arguments?.length === 1) {\n            const arg = left.arguments[0];\n            if (arg?.type === \"Literal\" && typeof arg.value === \"string\" && neutralizePatches.some((p) => arg.value.includes(p.domain))) {\n              s.overwrite(right.start, right.end, \"-1\");\n            }\n          }\n        }\n      }\n      if (sdkPatches?.some((p) => p.type === \"replace-src-split\") && node.type === \"MemberExpression\" && node.computed) {\n        const prop = node.property;\n        const obj = node.object;\n        if (prop?.type === \"Literal\" && prop.value === 0 && obj?.type === \"CallExpression\" && obj.callee?.type === \"MemberExpression\") {\n          const callProp = obj.callee.computed ? obj.callee.property?.type === \"Literal\" && typeof obj.callee.property.value === \"string\" ? obj.callee.property.value : null : obj.callee.property?.name;\n          if (callProp === \"split\" && obj.arguments?.length === 1) {\n            const arg = obj.arguments[0];\n            if (arg?.type === \"Literal\" && typeof arg.value === \"string\") {\n              for (const patch of sdkPatches) {\n                if (patch.type !== \"replace-src-split\" || patch.separator !== arg.value)\n                  continue;\n                const rewrite = rewrites.find((r) => r.from === patch.fromDomain);\n                if (!rewrite)\n                  continue;\n                const proxyPath = patch.appendPath ? `${rewrite.to}/${patch.appendPath}` : rewrite.to;\n                s.overwrite(node.start, node.end, `${needsLeadingSpace(node.start)}self.location.origin+\"${proxyPath}\"`);\n              }\n            }\n          }\n        }\n      }\n      if (sdkPatches?.some((p) => p.type === \"replace-new-url-origin\") && node.type === \"MemberExpression\" && !node.computed) {\n        const obj = node.object;\n        const prop = node.property;\n        if (prop?.type === \"Identifier\" && prop.name === \"origin\" && obj?.type === \"NewExpression\" && obj.callee?.type === \"Identifier\" && obj.callee.name === \"URL\" && obj.arguments?.length >= 1) {\n          for (const patch of sdkPatches) {\n            if (patch.type !== \"replace-new-url-origin\")\n              continue;\n            const rewrite = rewrites.find((r) => r.from === patch.fromDomain);\n            if (!rewrite)\n              continue;\n            s.overwrite(node.start, node.end, `${needsLeadingSpace(node.start)}(self.location.origin+\"${rewrite.to}\")`);\n            break;\n          }\n        }\n      }\n      if (node.type === \"NewExpression\" && !options?.skipApiRewrites) {\n        const callee = node.callee;\n        if (callee?.type === \"Identifier\" && callee.name === \"XMLHttpRequest\") {\n          if (!scopeTracker.getDeclaration(\"XMLHttpRequest\"))\n            s.overwrite(callee.start, callee.end, \"__nuxtScripts.XMLHttpRequest\");\n          return;\n        }\n        if (callee?.type === \"Identifier\" && callee.name === \"Image\") {\n          if (!scopeTracker.getDeclaration(\"Image\"))\n            s.overwrite(callee.start, callee.end, \"__nuxtScripts.Image\");\n          return;\n        }\n        const target = resolveCalleeTarget(callee, scopeTracker);\n        if (target === \"XMLHttpRequest\" || target === \"Image\") {\n          s.overwrite(callee.start, callee.end, `__nuxtScripts.${target}`);\n          return;\n        }\n        if (callee?.type === \"MemberExpression\" && callee.object?.type === \"Identifier\") {\n          const propName = callee.computed ? callee.property?.type === \"Literal\" && typeof callee.property.value === \"string\" ? callee.property.value : null : callee.property?.name;\n          if (propName === \"XMLHttpRequest\" || propName === \"Image\") {\n            const resolved = resolveToGlobal(callee.object.name, scopeTracker);\n            if (resolved === null) {\n              s.overwrite(callee.start, callee.end, `__nuxtScripts.${propName}`);\n            }\n          }\n        }\n      }\n    }\n  });\n  return s.toString();\n}\n\nconst SEVEN_DAYS_IN_MS = 7 * 24 * 60 * 60 * 1e3;\nconst PROTOCOL_RELATIVE_RE = /^\\/\\//;\nconst VUE_RE = /\\.vue/;\nconst JS_RE = /\\.[cm]?[jt]sx?$/;\nconst TEST_RE = /\\.(?:test|spec)\\./;\nconst UPPERCASE_RE = /^[A-Z]$/;\nconst USE_SCRIPT_RE = /^useScript/;\nfunction calculateIntegrity(content, algorithm = \"sha384\") {\n  const hash = createHash(algorithm).update(content).digest(\"base64\");\n  return `${algorithm}-${hash}`;\n}\nasync function isCacheExpired(storage, filename, cacheMaxAge = SEVEN_DAYS_IN_MS) {\n  const metaKey = `bundle-meta:${filename}`;\n  const meta = await storage.getItem(metaKey);\n  if (!meta || !meta.timestamp) {\n    return true;\n  }\n  return Date.now() - meta.timestamp > cacheMaxAge;\n}\nfunction safeFilename(h) {\n  return `${h.startsWith(\"-\") ? `_${h.slice(1)}` : h}.js`;\n}\nfunction buildAssetUrl(filename, assetsBaseURL = \"/_scripts/assets\") {\n  const nuxt = tryUseNuxt();\n  const cdnURL = nuxt?.options.runtimeConfig?.app?.cdnURL || nuxt?.options.app?.cdnURL || \"\";\n  const baseURL = cdnURL || nuxt?.options.app.baseURL || \"\";\n  return joinURL(joinURL(baseURL, assetsBaseURL), filename);\n}\nfunction normalizeScriptData(src, assetsBaseURL = \"/_scripts/assets\") {\n  if (hasProtocol(src, { acceptRelative: true })) {\n    src = src.replace(PROTOCOL_RELATIVE_RE, \"https://\");\n    const url = parseURL(src);\n    const file = safeFilename(hash(url));\n    return { url: buildAssetUrl(file, assetsBaseURL), filename: file };\n  }\n  return { url: src };\n}\nasync function downloadScript(opts, renderedScript, fetchOptions, cacheMaxAge) {\n  const { src, url, filename, forceDownload, integrity, proxyRewrites, sdkPatches, skipApiRewrites, neutralizeCanvas, assetsBaseURL } = opts;\n  if (src === url || !filename) {\n    return;\n  }\n  const storage = bundleStorage();\n  let res;\n  let encoding;\n  let size = 0;\n  let fetched = false;\n  const hasRewrites = !!(proxyRewrites?.length || sdkPatches?.length);\n  const rewriteHash = hasRewrites ? `-${hash({ proxyRewrites, sdkPatches })}` : \"\";\n  const cacheKey = hasRewrites ? `bundle-patched:${filename.replace(\".js\", `${rewriteHash}.js`)}` : `bundle:${filename}`;\n  const shouldUseCache = !forceDownload && await storage.hasItem(cacheKey) && !await isCacheExpired(storage, filename, cacheMaxAge);\n  if (shouldUseCache) {\n    res = await storage.getItemRaw(cacheKey);\n    encoding = \"utf-8\";\n  } else {\n    res = await $fetch.raw(src, { ...fetchOptions, responseType: \"arrayBuffer\" }).then(async (r) => {\n      if (!r.ok) {\n        throw new Error(`Failed to fetch ${src} (HTTP ${r.status})`);\n      }\n      encoding = r.headers.get(\"content-encoding\");\n      const contentLength = r.headers.get(\"content-length\");\n      size = contentLength ? Number(contentLength) / 1024 : 0;\n      return Buffer.from(r._data || await r.arrayBuffer());\n    });\n    fetched = true;\n    await storage.setItemRaw(`bundle:${filename}`, res);\n    if (hasRewrites && res) {\n      const content = res.toString(\"utf-8\");\n      const rewritten = rewriteScriptUrlsAST(content, filename, proxyRewrites ?? [], sdkPatches, { skipApiRewrites, neutralizeCanvas });\n      res = Buffer.from(rewritten, \"utf-8\");\n      logger.debug(`Rewrote ${proxyRewrites?.length ?? 0} URL patterns + ${sdkPatches?.length ?? 0} sdk patches in ${filename}`);\n    }\n    await storage.setItemRaw(cacheKey, res);\n    await storage.setItem(`bundle-meta:${filename}`, {\n      timestamp: Date.now(),\n      src,\n      filename\n    });\n  }\n  if (!res) {\n    return;\n  }\n  const contentHash = createHash(\"sha256\").update(res).digest(\"hex\").slice(0, 16);\n  const publicFilename = safeFilename(contentHash);\n  const publicUrl = buildAssetUrl(publicFilename, assetsBaseURL);\n  const integrityHash = integrity ? calculateIntegrity(res, integrity === true ? \"sha384\" : integrity) : void 0;\n  size = size || res.length / 1024;\n  if (fetched) {\n    logger.info(`Downloading script ${colors.gray(`${src} \\u2192 ${publicFilename} (${size.toFixed(2)} kB ${encoding})${integrityHash ? ` [${integrityHash.slice(0, 15)}...]` : \"\"}`)}`);\n  }\n  renderedScript.set(publicUrl, {\n    content: res,\n    size,\n    encoding: encoding || void 0,\n    src,\n    filename: publicFilename,\n    integrity: integrityHash\n  });\n  return { url: publicUrl, filename: publicFilename };\n}\nfunction NuxtScriptBundleTransformer(options = {\n  renderedScript: /* @__PURE__ */ new Map()\n}) {\n  const nuxt = useNuxt();\n  const { renderedScript = /* @__PURE__ */ new Map() } = options;\n  const cacheDir = join(nuxt.options.buildDir, \"cache\", \"scripts\");\n  nuxt.hooks.hook(\"build:done\", async () => {\n    if (nuxt.options._prepare) {\n      return;\n    }\n    const scripts = [...renderedScript];\n    if (!scripts.length) {\n      logger.debug(\"[bundle-script-transformer] No scripts to bundle...\");\n      return;\n    }\n    logger.debug(\"[bundle-script-transformer] Bundling scripts...\");\n    if (!nuxt.options.dev) {\n      await fsp.rm(cacheDir, { recursive: true, force: true });\n    }\n    await fsp.mkdir(cacheDir, { recursive: true });\n    await Promise.all(scripts.map(async ([url, content]) => {\n      if (content instanceof Error || !content.filename)\n        return;\n      await fsp.writeFile(join(nuxt.options.buildDir, \"cache\", \"scripts\", content.filename), content.content);\n      logger.debug(colors.gray(`  \\u251C\\u2500 ${url} \\u2192 ${joinURL(content.src)} (${content.size.toFixed(2)} kB ${content.encoding})`));\n    }));\n  });\n  return createUnplugin(() => {\n    return {\n      name: \"nuxt:scripts:bundler-transformer\",\n      transform: {\n        filter: {\n          id: {\n            include: [VUE_RE, JS_RE],\n            exclude: [TEST_RE]\n          }\n        },\n        async handler(code, id) {\n          if (!isVue(id, { type: [\"template\", \"script\"] }) && !isJS(id))\n            return;\n          if (!code.includes(\"useScript\"))\n            return;\n          const s = new MagicString(code);\n          const deferredOps = [];\n          parseAndWalk(code, id, (_node) => {\n            const calleeName = _node.callee?.name;\n            if (!calleeName)\n              return;\n            const isValidCallee = calleeName === \"useScript\" || calleeName?.startsWith(\"useScript\") && UPPERCASE_RE.test(calleeName?.charAt(9)) && !calleeName.startsWith(\"useScriptTrigger\") && !calleeName.startsWith(\"useScriptEvent\");\n            if (_node.type === \"CallExpression\" && _node.callee.type === \"Identifier\" && isValidCallee) {\n              const fnName = _node.callee?.name;\n              const node = _node;\n              let scriptSrcNode;\n              let src;\n              let registryConfig = {};\n              let registryKey;\n              if (fnName !== \"useScript\") {\n                const baseName = fnName.replace(USE_SCRIPT_RE, \"\");\n                registryKey = baseName.length > 0 ? baseName.charAt(0).toLowerCase() + baseName.slice(1) : void 0;\n              }\n              if (fnName === \"useScript\") {\n                if (node.arguments[0]?.type === \"Literal\") {\n                  scriptSrcNode = node.arguments[0];\n                } else if (node.arguments[0]?.type === \"ObjectExpression\") {\n                  const srcProperty = node.arguments[0].properties.find(\n                    (p) => (p.key?.name === \"src\" || p.key?.value === \"src\") && p?.value.type === \"Literal\"\n                  );\n                  scriptSrcNode = srcProperty?.value;\n                }\n              } else {\n                const registryNode = options.scripts?.find((i) => i.import.name === fnName);\n                if (!registryNode) {\n                  return;\n                }\n                const bundleResolve = getBundleResolve(registryNode);\n                if (!bundleResolve && !registryNode.src)\n                  return;\n                registryConfig = options.registryConfig?.[registryKey || \"\"] || {};\n                const fnArg0 = {};\n                if (node.arguments[0]?.type === \"ObjectExpression\") {\n                  const optionsNode = node.arguments[0];\n                  for (const prop of optionsNode.properties) {\n                    if (prop.type === \"Property\" && prop.value.type === \"Literal\" && prop.key && \"name\" in prop.key)\n                      fnArg0[prop.key.name] = prop.value.value;\n                  }\n                  const srcProperty = node.arguments[0].properties.find(\n                    (p) => (p.key?.name === \"src\" || p.key?.value === \"src\") && p?.value.type === \"Literal\" && p.type === \"Property\"\n                  );\n                  if (srcProperty?.value?.value) {\n                    scriptSrcNode = srcProperty?.value;\n                  }\n                }\n                if (!scriptSrcNode) {\n                  const mergedOptions = { ...registryConfig, ...fnArg0 };\n                  src = bundleResolve && bundleResolve(mergedOptions);\n                  if (src === false)\n                    return;\n                  if (!src && registryNode.src)\n                    src = registryNode.src;\n                }\n              }\n              if (!scriptSrcNode && !src) {\n                const hasBundleOption = node.arguments[1]?.type === \"ObjectExpression\" && node.arguments[1].properties.some(\n                  (p) => (p.key?.name === \"bundle\" || p.key?.value === \"bundle\") && p.type === \"Property\"\n                );\n                if (hasBundleOption) {\n                  const scriptOptionsArg = node.arguments[1];\n                  const bundleProperty = scriptOptionsArg.properties.find(\n                    (p) => (p.key?.name === \"bundle\" || p.key?.value === \"bundle\") && p.type === \"Property\"\n                  );\n                  if (bundleProperty && bundleProperty.value.type === \"Literal\") {\n                    const bundleValue = bundleProperty.value.value;\n                    if (bundleValue === true || bundleValue === \"force\" || String(bundleValue) === \"true\") {\n                      s.overwrite(bundleProperty.value.start, bundleProperty.value.end, `'unsupported'`);\n                    }\n                  }\n                }\n                return;\n              }\n              if (scriptSrcNode || src) {\n                src = src || (typeof scriptSrcNode?.value === \"string\" ? scriptSrcNode?.value : false);\n                if (src) {\n                  const registryScript = fnName !== \"useScript\" ? options.scripts?.find((s2) => s2.import.name === fnName) : void 0;\n                  let canBundle = !!registryScript?.bundle;\n                  let forceDownload = false;\n                  let explicitBundleInCall = false;\n                  if (node.arguments[1]?.type === \"ObjectExpression\") {\n                    const scriptOptionsArg = node.arguments[1];\n                    const bundleProperty = scriptOptionsArg.properties.find(\n                      (p) => (p.key?.name === \"bundle\" || p.key?.value === \"bundle\") && p.type === \"Property\"\n                    );\n                    if (bundleProperty && bundleProperty.value.type === \"Literal\") {\n                      explicitBundleInCall = true;\n                      const bundleValue = bundleProperty.value.value;\n                      if (bundleValue !== true && bundleValue !== \"force\" && String(bundleValue) !== \"true\") {\n                        canBundle = false;\n                        return;\n                      }\n                      if (scriptOptionsArg.properties.length === 1) {\n                        s.remove(scriptOptionsArg.start, scriptOptionsArg.end);\n                      } else {\n                        const nextProperty = scriptOptionsArg.properties.find(\n                          (p) => p.start > bundleProperty.end && p.type === \"Property\"\n                        );\n                        s.remove(bundleProperty.start, nextProperty ? nextProperty.start : bundleProperty.end);\n                      }\n                      canBundle = true;\n                      forceDownload = bundleValue === \"force\";\n                    }\n                  }\n                  const scriptOptions = node.arguments[0]?.properties?.find(\n                    (p) => p.key?.name === \"scriptOptions\"\n                  );\n                  const bundleOption = scriptOptions?.value.properties?.find((prop) => {\n                    return prop.type === \"Property\" && prop.key?.name === \"bundle\" && prop.value.type === \"Literal\";\n                  });\n                  if (bundleOption) {\n                    explicitBundleInCall = true;\n                    const bundleValue = bundleOption.value.value;\n                    canBundle = bundleValue === true || bundleValue === \"force\" || String(bundleValue) === \"true\";\n                    forceDownload = bundleValue === \"force\";\n                  }\n                  if (!explicitBundleInCall && registryConfig?.scriptOptions?.bundle !== void 0) {\n                    const bundleValue = registryConfig.scriptOptions.bundle;\n                    canBundle = bundleValue === true || bundleValue === \"force\" || String(bundleValue) === \"true\";\n                    forceDownload = bundleValue === \"force\";\n                  }\n                  const rpiOption = scriptOptions?.value.properties?.find((prop) => {\n                    return prop.type === \"Property\" && prop.key?.name === \"proxy\" && prop.value.type === \"Literal\";\n                  });\n                  let firstPartyOptOut = rpiOption?.value.value === false;\n                  if (!firstPartyOptOut && node.arguments[1]?.type === \"ObjectExpression\") {\n                    const secondArgProp = node.arguments[1].properties.find(\n                      (p) => p.type === \"Property\" && p.key?.name === \"proxy\" && p.value.type === \"Literal\"\n                    );\n                    firstPartyOptOut = secondArgProp?.value.value === false;\n                  }\n                  if (!firstPartyOptOut && node.arguments[0]?.type === \"ObjectExpression\") {\n                    const firstArgProp = node.arguments[0].properties.find(\n                      (p) => p.type === \"Property\" && p.key?.name === \"proxy\" && p.value.type === \"Literal\"\n                    );\n                    firstPartyOptOut = firstArgProp?.value.value === false;\n                  }\n                  if (canBundle) {\n                    const { url: _url, filename } = normalizeScriptData(src, options.assetsBaseURL);\n                    const script = options.scripts?.find((s2) => s2.import.name === fnName);\n                    const hasReverseProxy = !!script?.proxy;\n                    const proxyConfigKey = hasReverseProxy ? typeof script?.proxy === \"string\" ? script.proxy : registryKey : void 0;\n                    const proxyConfig = !firstPartyOptOut && proxyConfigKey ? options.proxyConfigs?.[proxyConfigKey] : void 0;\n                    const proxyRewrites = proxyConfig?.domains?.filter((domain) => !domain.includes(\"*\")).map((domain) => ({\n                      from: domain,\n                      to: `${options.proxyPrefix}/${domain}`\n                    }));\n                    const bundleConfig = typeof script?.bundle === \"object\" ? script.bundle : void 0;\n                    const sdkPatches = proxyConfig?.sdkPatches ?? bundleConfig?.sdkPatches;\n                    const skipApiRewrites = !!(registryKey && options.partytownScripts?.has(registryKey)) || !proxyConfig;\n                    const neutralizeCanvas = proxyConfig?.privacy !== void 0 && typeof proxyConfig.privacy === \"object\" ? proxyConfig.privacy.hardware ?? true : true;\n                    deferredOps.push(async () => {\n                      let url = _url;\n                      try {\n                        const result = await downloadScript({ src, url, filename, forceDownload, proxyRewrites, sdkPatches, integrity: options.integrity, skipApiRewrites, neutralizeCanvas, assetsBaseURL: options.assetsBaseURL }, renderedScript, options.fetchOptions, options.cacheMaxAge);\n                        if (result) {\n                          url = result.url;\n                        }\n                      } catch (e) {\n                        if (options.fallbackOnSrcOnBundleFail) {\n                          logger.warn(`[Nuxt Scripts: Bundle Transformer] Failed to bundle ${src}. Fallback to remote loading.`);\n                          url = src;\n                        } else {\n                          const errorMessage = e?.message || \"Unknown error\";\n                          if (errorMessage.includes(\"timeout\") || errorMessage.includes(\"network\") || errorMessage.includes(\"ENOTFOUND\") || errorMessage.includes(\"certificate\")) {\n                            logger.error(`[Nuxt Scripts: Bundle Transformer] Network issue while bundling ${src}: ${errorMessage}`);\n                            logger.error(`[Nuxt Scripts: Bundle Transformer] Tip: Set 'fallbackOnSrcOnBundleFail: true' in module options or disable bundling in Docker environments`);\n                          }\n                          throw e;\n                        }\n                      }\n                      if (src === url) {\n                        if (src && src.startsWith(\"/\"))\n                          logger.warn(`[Nuxt Scripts: Bundle Transformer] Relative scripts are already bundled. Skipping bundling for \\`${src}\\`.`);\n                        else\n                          logger.warn(`[Nuxt Scripts: Bundle Transformer] Failed to bundle ${src}.`);\n                      }\n                      const scriptMeta = renderedScript.get(url);\n                      const integrityHash = scriptMeta instanceof Error ? void 0 : scriptMeta?.integrity;\n                      if (scriptSrcNode) {\n                        if (integrityHash && fnName === \"useScript\" && node.arguments[0]?.type === \"Literal\") {\n                          s.overwrite(scriptSrcNode.start, scriptSrcNode.end, `{ src: '${url}', integrity: '${integrityHash}', crossorigin: 'anonymous' }`);\n                        } else if (integrityHash && fnName === \"useScript\" && node.arguments[0]?.type === \"ObjectExpression\") {\n                          s.overwrite(scriptSrcNode.start, scriptSrcNode.end, `'${url}'`);\n                          s.appendLeft(node.arguments[0].end - 1, `, integrity: '${integrityHash}', crossorigin: 'anonymous'`);\n                        } else {\n                          s.overwrite(scriptSrcNode.start, scriptSrcNode.end, `'${url}'`);\n                        }\n                      } else {\n                        const integrityProps = integrityHash ? `, integrity: '${integrityHash}', crossorigin: 'anonymous'` : \"\";\n                        if (node.arguments[0]) {\n                          const optionsNode = node.arguments[0];\n                          const scriptInputProperty = optionsNode.properties.find(\n                            (p) => p.key?.name === \"scriptInput\" || p.key?.value === \"scriptInput\"\n                          );\n                          if (scriptInputProperty) {\n                            const scriptInput = scriptInputProperty.value;\n                            if (scriptInput.type === \"ObjectExpression\") {\n                              const srcProperty = scriptInput.properties.find(\n                                (p) => p.key?.name === \"src\" || p.key?.value === \"src\"\n                              );\n                              if (srcProperty) {\n                                s.overwrite(srcProperty.value.start, srcProperty.value.end, `'${url}'`);\n                                if (integrityHash)\n                                  s.appendLeft(scriptInput.end - 1, integrityProps);\n                              } else {\n                                s.appendRight(scriptInput.end - 1, `, src: '${url}'${integrityProps}`);\n                              }\n                            }\n                          } else {\n                            s.appendRight(node.arguments[0].start + 1, ` scriptInput: { src: '${url}'${integrityProps} }, `);\n                          }\n                        } else {\n                          s.overwrite(node.callee.end, node.end, `({ scriptInput: { src: '${url}'${integrityProps} } })`);\n                        }\n                      }\n                    });\n                  }\n                }\n              }\n            }\n          });\n          for (const op of deferredOps) {\n            await op();\n          }\n          if (s.hasChanged()) {\n            return {\n              code: s.toString(),\n              map: s.generateMap({ includeContent: true, source: id })\n            };\n          }\n        }\n      }\n    };\n  });\n}\n\nconst TRIGGER_PLACEHOLDER_RE = /\"__TRIGGER_PLACEHOLDER__\"/g;\nfunction registerTypeTemplates({ config, newScripts }) {\n  addTypeTemplate({\n    filename: \"types/nuxt-scripts-augments.d.ts\",\n    getContents: () => {\n      const globalsKeys = Object.keys(config.globals || {});\n      let augments = `// Generated by @nuxt/scripts\ndeclare module '#app' {\n  interface NuxtApp {\n    $scripts: Record<${[...[...globalsKeys, ...Object.keys(config.registry || {})].map((k) => `'${k}'`), ...[\"string\"]].join(\" | \")}, import('#nuxt-scripts/types').UseScriptContext<any> | undefined>\n    _scripts: Record<string, import('#nuxt-scripts/types').NuxtDevToolsScriptInstance>\n  }\n  interface RuntimeNuxtHooks {\n    'scripts:updated': (ctx: { scripts: Record<string, import('#nuxt-scripts/types').NuxtDevToolsScriptInstance> }) => void | Promise<void>\n    // Index signature (not a literal-key Record) so listeners can both \\`delete globals[key]\\`\n    // and mutate \\`globals[key].src\\` without TS2790 / possibly-undefined errors.\n    'scripts:globals': (globals: Record<string, Record<string, any>>) => void | Promise<void>\n  }\n}\n${globalsKeys.length ? `declare module '@nuxt/schema' {\n  interface PublicRuntimeConfig {\n    scriptsGlobals?: {\n${globalsKeys.map((k) => `      ${JSON.stringify(k)}?: Record<string, any>`).join(\"\\n\")}\n    }\n  }\n}\n` : \"\"}`;\n      if (newScripts.length) {\n        augments += `\ndeclare module '#nuxt-scripts/types' {\n  interface ScriptRegistry {\n${newScripts.map((i) => {\n          const key = i.import.name.replace(\"useScript\", \"\");\n          const keyLcFirst = key.substring(0, 1).toLowerCase() + key.substring(1);\n          return `    ${keyLcFirst}?: import('${i.import.from}').${key}Input`;\n        }).join(\"\\n\")}\n  }\n}\n`;\n      }\n      return `${augments}\nexport {}`;\n    }\n  }, { nuxt: true });\n}\nfunction templateTriggerResolver(defaultScriptOptions) {\n  const needsIdleTimeout = defaultScriptOptions?.trigger && typeof defaultScriptOptions.trigger === \"object\" && \"idleTimeout\" in defaultScriptOptions.trigger;\n  const needsInteraction = defaultScriptOptions?.trigger && typeof defaultScriptOptions.trigger === \"object\" && \"interaction\" in defaultScriptOptions.trigger;\n  const needsServiceWorker = defaultScriptOptions?.trigger && typeof defaultScriptOptions.trigger === \"object\" && \"serviceWorker\" in defaultScriptOptions.trigger;\n  const imports = [];\n  if (needsIdleTimeout) {\n    imports.push(`import { useScriptTriggerIdleTimeout } from '#nuxt-scripts/composables/useScriptTriggerIdleTimeout'`);\n  }\n  if (needsInteraction) {\n    imports.push(`import { useScriptTriggerInteraction } from '#nuxt-scripts/composables/useScriptTriggerInteraction'`);\n  }\n  if (needsServiceWorker) {\n    imports.push(`import { useScriptTriggerServiceWorker } from '#nuxt-scripts/composables/useScriptTriggerServiceWorker'`);\n  }\n  return [\n    ...imports,\n    `export function resolveTrigger(trigger) {`,\n    needsIdleTimeout ? `  if ('idleTimeout' in trigger) return useScriptTriggerIdleTimeout({ timeout: trigger.idleTimeout })` : \"\",\n    needsInteraction ? `  if ('interaction' in trigger) return useScriptTriggerInteraction({ events: trigger.interaction })` : \"\",\n    needsServiceWorker ? `  if ('serviceWorker' in trigger) return useScriptTriggerServiceWorker()` : \"\",\n    `  return null`,\n    `}`\n  ].filter(Boolean).join(\"\\n\");\n}\nfunction resolveTriggerForTemplate(trigger) {\n  if (trigger && typeof trigger === \"object\") {\n    const keys = Object.keys(trigger);\n    if (keys.length > 1) {\n      throw new Error(`Trigger object must have exactly one property, received: ${keys.join(\", \")}`);\n    }\n    if (\"idleTimeout\" in trigger) {\n      return `useScriptTriggerIdleTimeout({ timeout: ${trigger.idleTimeout} })`;\n    }\n    if (\"interaction\" in trigger) {\n      return `useScriptTriggerInteraction({ events: ${JSON.stringify(trigger.interaction)} })`;\n    }\n    if (\"serviceWorker\" in trigger) {\n      return `useScriptTriggerServiceWorker()`;\n    }\n  }\n  return null;\n}\nfunction templatePlugin(config, registry) {\n  if (Array.isArray(config.globals)) {\n    config.globals = Object.fromEntries(config.globals.map((i) => [hash(i), i]));\n    logger.warn(\"The `globals` array option is deprecated. Convert to an object: `globals: { myScript: 'https://example.com/script.js' }`\");\n  }\n  const imports = [];\n  const inits = [];\n  const globalMapEntries = [];\n  const globalInits = [];\n  const resolvedRegistryKeys = [];\n  let needsIdleTimeoutImport = false;\n  let needsInteractionImport = false;\n  let needsServiceWorkerImport = false;\n  for (const [k, c] of Object.entries(config.registry || {})) {\n    if (c === false)\n      continue;\n    const entry = c;\n    const [, scriptOptions] = entry;\n    if (!scriptOptions?.trigger)\n      continue;\n    const importDefinition = registry.find((i) => i.import.name.toLowerCase() === `usescript${k.toLowerCase()}`);\n    if (importDefinition) {\n      resolvedRegistryKeys.push(k);\n      imports.unshift(`import { ${importDefinition.import.name} } from '${importDefinition.import.from}'`);\n      const [input] = entry;\n      const opts = { ...scriptOptions };\n      const triggerResolved = resolveTriggerForTemplate(opts.trigger);\n      if (triggerResolved) {\n        opts.trigger = \"__TRIGGER_PLACEHOLDER__\";\n        if (triggerResolved.includes(\"useScriptTriggerIdleTimeout\"))\n          needsIdleTimeoutImport = true;\n        if (triggerResolved.includes(\"useScriptTriggerInteraction\"))\n          needsInteractionImport = true;\n        if (triggerResolved.includes(\"useScriptTriggerServiceWorker\"))\n          needsServiceWorkerImport = true;\n      }\n      const args = { ...input, scriptOptions: opts };\n      const argsJson = triggerResolved ? JSON.stringify(args).replace(TRIGGER_PLACEHOLDER_RE, triggerResolved) : JSON.stringify(args);\n      inits.push(`const ${k} = ${importDefinition.import.name}(${argsJson})`);\n    }\n  }\n  const hasGlobals = Object.keys(config.globals || {}).length > 0;\n  for (const [k, c] of Object.entries(config.globals || {})) {\n    let buildInput;\n    let extraOptions;\n    if (typeof c === \"string\") {\n      buildInput = { src: c };\n    } else if (Array.isArray(c) && c.length === 2) {\n      buildInput = typeof c[0] === \"string\" ? { src: c[0] } : { ...c[0] };\n      extraOptions = c[1];\n    } else if (typeof c === \"object\" && c !== null) {\n      buildInput = { ...c };\n    } else {\n      continue;\n    }\n    const inputTrigger = buildInput.trigger;\n    const inputTriggerResolved = resolveTriggerForTemplate(inputTrigger);\n    if (inputTriggerResolved)\n      buildInput.trigger = \"__TRIGGER_PLACEHOLDER__\";\n    let buildInputJson = JSON.stringify(buildInput);\n    if (inputTriggerResolved)\n      buildInputJson = buildInputJson.replace(TRIGGER_PLACEHOLDER_RE, inputTriggerResolved);\n    const inputExpr = `Object.assign({ key: ${JSON.stringify(k)} }, ${buildInputJson}, __scriptsGlobals[${JSON.stringify(k)}] || {})`;\n    let optionsJson = \"\";\n    if (extraOptions && Object.keys(extraOptions).length > 0) {\n      const optsCopy = { ...extraOptions };\n      const optsTriggerResolved = resolveTriggerForTemplate(optsCopy.trigger);\n      if (optsTriggerResolved)\n        optsCopy.trigger = \"__TRIGGER_PLACEHOLDER__\";\n      optionsJson = JSON.stringify(optsCopy);\n      if (optsTriggerResolved)\n        optionsJson = optionsJson.replace(TRIGGER_PLACEHOLDER_RE, optsTriggerResolved);\n      if (optsTriggerResolved) {\n        if (optsTriggerResolved.includes(\"useScriptTriggerIdleTimeout\"))\n          needsIdleTimeoutImport = true;\n        if (optsTriggerResolved.includes(\"useScriptTriggerInteraction\"))\n          needsInteractionImport = true;\n        if (optsTriggerResolved.includes(\"useScriptTriggerServiceWorker\"))\n          needsServiceWorkerImport = true;\n      }\n    }\n    if (inputTriggerResolved) {\n      if (inputTriggerResolved.includes(\"useScriptTriggerIdleTimeout\"))\n        needsIdleTimeoutImport = true;\n      if (inputTriggerResolved.includes(\"useScriptTriggerInteraction\"))\n        needsInteractionImport = true;\n      if (inputTriggerResolved.includes(\"useScriptTriggerServiceWorker\"))\n        needsServiceWorkerImport = true;\n    }\n    const useFn = `use: () => ({ ${k}: window.${k} })`;\n    const optionsArg = optionsJson ? `{ ...${optionsJson}, ${useFn} }` : `{ ${useFn} }`;\n    globalMapEntries.push(`${JSON.stringify(k)}: ${inputExpr}`);\n    globalInits.push(`const ${k} = __registerGlobal(__globals[${JSON.stringify(k)}], ${optionsArg})`);\n  }\n  const triggerImports = [];\n  if (needsIdleTimeoutImport) {\n    triggerImports.push(`import { useScriptTriggerIdleTimeout } from '#nuxt-scripts/composables/useScriptTriggerIdleTimeout'`);\n  }\n  if (needsInteractionImport) {\n    triggerImports.push(`import { useScriptTriggerInteraction } from '#nuxt-scripts/composables/useScriptTriggerInteraction'`);\n  }\n  if (needsServiceWorkerImport) {\n    triggerImports.push(`import { useScriptTriggerServiceWorker } from '#nuxt-scripts/composables/useScriptTriggerServiceWorker'`);\n  }\n  const setupBody = [];\n  if (hasGlobals) {\n    setupBody.push(`    const __scriptsGlobals = useRuntimeConfig().public.scriptsGlobals || {}`);\n    setupBody.push(`    const __registerGlobal = (input, options) => { if (!input) return undefined; const { enabled, ...rest } = input; return (enabled === false || rest.src === '' || rest.src === null) ? undefined : useScript(rest, options) }`);\n    setupBody.push(`    const __globals = {`);\n    setupBody.push(...globalMapEntries.map((e) => `      ${e},`));\n    setupBody.push(`    }`);\n    setupBody.push(`    await nuxtApp.hooks.callHook('scripts:globals', __globals)`);\n    setupBody.push(...globalInits.map((i) => `    ${i}`));\n  }\n  setupBody.push(...inits.map((i) => `    ${i}`));\n  setupBody.push(`    return { provide: { scripts: { ${[...Object.keys(config.globals || {}), ...resolvedRegistryKeys].join(\", \")} } } }`);\n  return [\n    `import { useScript } from '#nuxt-scripts/composables/useScript'`,\n    `import { defineNuxtPlugin${hasGlobals ? \", useRuntimeConfig\" : \"\"} } from 'nuxt/app'`,\n    ...triggerImports,\n    ...imports,\n    \"\",\n    `export default defineNuxtPlugin({`,\n    `  name: \"scripts:init\",`,\n    `  env: { islands: false },`,\n    `  parallel: true,`,\n    `  ${hasGlobals ? \"async setup(nuxtApp) {\" : \"setup() {\"}`,\n    ...setupBody,\n    `  }`,\n    `})`\n  ].join(\"\\n\");\n}\n\nconst UPPER_RE$1 = /([A-Z])/g;\nconst toScreamingSnake$1 = (s) => s.replace(UPPER_RE$1, \"_$1\").toUpperCase();\nconst ENV_PREFIX = \"NUXT_PUBLIC_SCRIPTS_\";\nconst GLOBALS_ENV_PREFIX = \"NUXT_PUBLIC_SCRIPTS_GLOBALS_\";\nfunction levenshtein(a, b) {\n  if (a === b)\n    return 0;\n  if (!a.length)\n    return b.length;\n  if (!b.length)\n    return a.length;\n  const prev = [];\n  for (let j = 0; j <= b.length; j++) prev.push(j);\n  for (let i = 1; i <= a.length; i++) {\n    let prevDiag = prev[0];\n    prev[0] = i;\n    for (let j = 1; j <= b.length; j++) {\n      const tmp = prev[j];\n      prev[j] = a[i - 1] === b[j - 1] ? prevDiag : Math.min(prevDiag, prev[j], prev[j - 1]) + 1;\n      prevDiag = tmp;\n    }\n  }\n  return prev[b.length];\n}\nfunction validateScriptsEnvVars(scripts, enabledRegistryKeys, logger, globalsKeys = []) {\n  const validGlobalsByScreaming = /* @__PURE__ */ new Map();\n  for (const k of globalsKeys)\n    validGlobalsByScreaming.set(toScreamingSnake$1(k), k);\n  const validByKey = /* @__PURE__ */ new Map();\n  for (const s of scripts) {\n    if (!s.registryKey || !s.envDefaults || !Object.keys(s.envDefaults).length)\n      continue;\n    const screaming = toScreamingSnake$1(s.registryKey);\n    const fields = new Set(Object.keys(s.envDefaults).map(toScreamingSnake$1));\n    validByKey.set(screaming, { camel: s.registryKey, fields });\n  }\n  if (!validByKey.size && !validGlobalsByScreaming.size)\n    return;\n  const allValidEnvKeys = [];\n  for (const [screaming, { fields }] of validByKey) {\n    for (const f of fields)\n      allValidEnvKeys.push(`${ENV_PREFIX}${screaming}_${f}`);\n  }\n  for (const envKey of Object.keys(process.env)) {\n    if (!envKey.startsWith(ENV_PREFIX))\n      continue;\n    if (envKey.startsWith(GLOBALS_ENV_PREFIX)) {\n      if (!validGlobalsByScreaming.size)\n        continue;\n      const segment2 = envKey.slice(GLOBALS_ENV_PREFIX.length);\n      const segmentParts2 = segment2.split(\"_\");\n      let matched = false;\n      for (const [screaming] of validGlobalsByScreaming) {\n        const keyParts = screaming.split(\"_\");\n        if (segmentParts2.length > keyParts.length && keyParts.every((p, i) => segmentParts2[i] === p)) {\n          matched = true;\n          break;\n        }\n      }\n      if (matched)\n        continue;\n      let best;\n      for (const [screaming, camel] of validGlobalsByScreaming) {\n        const head = segmentParts2.slice(0, screaming.split(\"_\").length).join(\"_\");\n        const d = levenshtein(head, screaming);\n        if (!best || d < best.dist)\n          best = { screaming, camel, dist: d };\n      }\n      const suggestion2 = best && best.dist <= Math.max(2, Math.floor(best.screaming.length / 2)) ? ` Did you mean globals key \\`${best.camel}\\` (\\`${GLOBALS_ENV_PREFIX}${best.screaming}_*\\`)?` : ` Configured globals: ${[...validGlobalsByScreaming.values()].map((k) => `\\`${k}\\``).join(\", \")}.`;\n      logger.warn(\n        `[scripts] env var \\`${envKey}\\` does not map to any configured \\`scripts.globals\\` key.${suggestion2}`\n      );\n      continue;\n    }\n    if (allValidEnvKeys.includes(envKey))\n      continue;\n    const segment = envKey.slice(ENV_PREFIX.length);\n    let matchedKey;\n    for (const [screaming, info] of validByKey) {\n      if (segment === screaming || segment.startsWith(`${screaming}_`)) {\n        matchedKey = { screaming, ...info };\n        break;\n      }\n    }\n    if (matchedKey) {\n      const field = segment.slice(matchedKey.screaming.length + 1);\n      logger.warn(\n        `[scripts] env var \\`${envKey}\\` does not match any option on \\`${matchedKey.camel}\\`. Valid fields: ${[...matchedKey.fields].map((f) => `\\`${ENV_PREFIX}${matchedKey.screaming}_${f}\\``).join(\", \")}.${field ? ` Got: \\`${field}\\`.` : \"\"}`\n      );\n      continue;\n    }\n    const segmentParts = segment.split(\"_\");\n    let substringMatch;\n    for (const [screaming, info] of validByKey) {\n      const keyParts = screaming.split(\"_\");\n      for (let i = 0; i <= segmentParts.length - keyParts.length; i++) {\n        let ok = true;\n        for (let j = 0; j < keyParts.length; j++) {\n          if (segmentParts[i + j] !== keyParts[j]) {\n            ok = false;\n            break;\n          }\n        }\n        if (ok) {\n          substringMatch = {\n            screaming,\n            camel: info.camel,\n            fields: info.fields,\n            remainder: segmentParts.slice(i + keyParts.length).join(\"_\")\n          };\n          break;\n        }\n      }\n      if (substringMatch)\n        break;\n    }\n    let suggestion = \"\";\n    if (substringMatch) {\n      if (substringMatch.remainder && substringMatch.fields.has(substringMatch.remainder)) {\n        suggestion = ` Did you mean \\`${ENV_PREFIX}${substringMatch.screaming}_${substringMatch.remainder}\\` (registry key \\`${substringMatch.camel}\\`)?`;\n      } else {\n        suggestion = ` Did you mean registry key \\`${substringMatch.camel}\\` (\\`${ENV_PREFIX}${substringMatch.screaming}_*\\`)?`;\n      }\n    } else {\n      let best;\n      for (const [screaming, info] of validByKey) {\n        const head = segmentParts.slice(0, screaming.split(\"_\").length).join(\"_\");\n        const d = levenshtein(head, screaming);\n        if (!best || d < best.dist)\n          best = { key: screaming, camel: info.camel, dist: d };\n      }\n      if (best && best.dist <= Math.max(2, Math.floor(best.key.length / 2)))\n        suggestion = ` Did you mean registry key \\`${best.camel}\\` (\\`${ENV_PREFIX}${best.key}_*\\`)?`;\n    }\n    logger.warn(\n      `[scripts] env var \\`${envKey}\\` does not map to any registered script.${suggestion}`\n    );\n  }\n  for (const [screaming, info] of validByKey) {\n    if (enabledRegistryKeys.has(info.camel))\n      continue;\n    for (const field of info.fields) {\n      const envKey = `${ENV_PREFIX}${screaming}_${field}`;\n      if (process.env[envKey] !== void 0) {\n        logger.warn(\n          `[scripts] env var \\`${envKey}\\` is set but \\`${info.camel}\\` is not registered in \\`scripts.registry\\`. Add \\`registry: { ${info.camel}: {} }\\` to your nuxt.config for it to take effect.`\n        );\n      }\n    }\n  }\n}\n\nconst SELF_CLOSING_SCRIPT_RE = /<((?:Script[A-Z]|script-)\\w[\\w-]*)\\b([^>]*?)\\/\\s*>/g;\nfunction fixSelfClosingScriptComponents(nuxt) {\n  function expandTags(content) {\n    SELF_CLOSING_SCRIPT_RE.lastIndex = 0;\n    if (!SELF_CLOSING_SCRIPT_RE.test(content))\n      return null;\n    SELF_CLOSING_SCRIPT_RE.lastIndex = 0;\n    return content.replace(SELF_CLOSING_SCRIPT_RE, (_, tag, attrs) => `<${tag}${attrs.trimEnd()}></${tag}>`);\n  }\n  function fixFile(filePath) {\n    if (!existsSync(filePath))\n      return;\n    const content = readFileSync(filePath, \"utf-8\");\n    const fixed = expandTags(content);\n    if (fixed)\n      nuxt.vfs[filePath] = fixed;\n  }\n  function scanDir(dir) {\n    if (!existsSync(dir))\n      return;\n    for (const entry of readdirSync(dir, { withFileTypes: true })) {\n      const fullPath = resolve(dir, entry.name);\n      if (entry.isDirectory())\n        scanDir(fullPath);\n      else if (entry.name.endsWith(\".vue\"))\n        fixFile(fullPath);\n    }\n  }\n  const pagesDirs = /* @__PURE__ */ new Set();\n  for (const layer of nuxt.options._layers) {\n    pagesDirs.add(resolve(\n      layer.config.srcDir,\n      layer.config.dir?.pages || \"pages\"\n    ));\n  }\n  for (const dir of pagesDirs) scanDir(dir);\n  if (nuxt.options.dev) {\n    nuxt.hook(\"builder:watch\", (_event, relativePath) => {\n      if (!relativePath.endsWith(\".vue\"))\n        return;\n      for (const layer of nuxt.options._layers) {\n        const fullPath = resolve(layer.config.srcDir, relativePath);\n        for (const dir of pagesDirs) {\n          if (fullPath.startsWith(`${dir}/`)) {\n            fixFile(fullPath);\n            return;\n          }\n        }\n      }\n    });\n  }\n}\nconst UPPER_RE = /([A-Z])/g;\nconst toScreamingSnake = (s) => s.replace(UPPER_RE, \"_$1\").toUpperCase();\nconst PROXY_SECRET_ENV_KEY = \"NUXT_SCRIPTS_PROXY_SECRET\";\nconst PROXY_SECRET_ENV_LINE_RE = /^NUXT_SCRIPTS_PROXY_SECRET=/m;\nconst PROXY_SECRET_ENV_VALUE_RE = /^NUXT_SCRIPTS_PROXY_SECRET=(.+)$/m;\nfunction resolveProxySecret(rootDir, isDev, configSecret, autoGenerate = true) {\n  if (configSecret)\n    return { secret: configSecret, ephemeral: false, source: \"config\" };\n  const envSecret = process.env[PROXY_SECRET_ENV_KEY];\n  if (envSecret)\n    return { secret: envSecret, ephemeral: false, source: \"env\" };\n  if (!isDev || !autoGenerate)\n    return void 0;\n  const secret = randomBytes(32).toString(\"hex\");\n  const envPath = resolve(rootDir, \".env\");\n  const line = `${PROXY_SECRET_ENV_KEY}=${secret}\n`;\n  try {\n    if (existsSync(envPath)) {\n      const contents = readFileSync(envPath, \"utf-8\");\n      if (PROXY_SECRET_ENV_LINE_RE.test(contents)) {\n        const match = contents.match(PROXY_SECRET_ENV_VALUE_RE);\n        if (match?.[1])\n          return { secret: match[1].trim(), ephemeral: false, source: \"dotenv-generated\" };\n      }\n      appendFileSync(envPath, contents.endsWith(\"\\n\") ? line : `\n${line}`);\n    } else {\n      writeFileSync(envPath, `# Generated by @nuxt/scripts\n${line}`);\n    }\n    process.env[PROXY_SECRET_ENV_KEY] = secret;\n    return { secret, ephemeral: false, source: \"dotenv-generated\" };\n  } catch {\n    process.env[PROXY_SECRET_ENV_KEY] = secret;\n    return { secret, ephemeral: true, source: \"memory-generated\" };\n  }\n}\nfunction isProxyDisabled(registryKey, registry2, runtimeConfig) {\n  const entry = registry2?.[registryKey];\n  if (!entry)\n    return true;\n  const [input, scriptOptions] = entry;\n  if (input?.proxy === false || scriptOptions?.proxy === false)\n    return true;\n  if (runtimeConfig) {\n    const rtEntry = runtimeConfig.public?.scripts?.[registryKey];\n    if (rtEntry?.proxy === false)\n      return true;\n  }\n  return false;\n}\nfunction applyAutoInject(registry2, runtimeConfig, proxyPrefix, registryKey, autoInject) {\n  if (isProxyDisabled(registryKey, registry2, runtimeConfig))\n    return;\n  const entry = registry2[registryKey];\n  const input = entry[0];\n  const rtScripts = runtimeConfig.public?.scripts;\n  const rtEntry = rtScripts?.[registryKey];\n  const config = rtEntry && typeof rtEntry === \"object\" ? rtEntry : input;\n  if (!config || config[autoInject.configField])\n    return;\n  const value = autoInject.computeValue(proxyPrefix, config);\n  input[autoInject.configField] = value;\n  if (rtEntry && typeof rtEntry === \"object\" && rtEntry !== input)\n    rtEntry[autoInject.configField] = value;\n}\nconst ABSOLUTE_URL_RE = /^[a-z][a-z\\d+.-]*:\\/\\//i;\nfunction resolveConfiguredProxyDomain(value) {\n  if (typeof value !== \"string\")\n    return;\n  const trimmed = value.trim();\n  if (!trimmed || !ABSOLUTE_URL_RE.test(trimmed) && !trimmed.startsWith(\"//\"))\n    return;\n  try {\n    return new URL(trimmed, \"https://nuxt-scripts.local\").hostname || void 0;\n  } catch {\n  }\n}\nfunction resolveConfiguredProxyDomains(config, proxyConfig) {\n  if (!config || typeof config !== \"object\")\n    return [];\n  const domains = /* @__PURE__ */ new Set();\n  const scriptSrc = resolveConfiguredProxyDomain(config.scriptInput?.src);\n  if (scriptSrc)\n    domains.add(scriptSrc);\n  if (proxyConfig?.autoInject?.configField) {\n    const endpointDomain = resolveConfiguredProxyDomain(config[proxyConfig.autoInject.configField]);\n    if (endpointDomain)\n      domains.add(endpointDomain);\n  }\n  for (const field of proxyConfig?.configDomainFields || []) {\n    const domain = resolveConfiguredProxyDomain(config[field]);\n    if (domain)\n      domains.add(domain);\n  }\n  return [...domains].sort();\n}\nfunction findMissingRequiredFields(requiredFields, rawInput, mergedPublicScript) {\n  const { scriptOptions: _, ...effectiveInput } = mergedPublicScript ?? rawInput ?? {};\n  return requiredFields.filter((f) => !effectiveInput[f]);\n}\nconst module$1 = defineNuxtModule({\n  meta: {\n    name: \"@nuxt/scripts\",\n    configKey: \"scripts\",\n    compatibility: {\n      nuxt: \">=3.16\"\n    }\n  },\n  defaults: {\n    defaultScriptOptions: {\n      trigger: \"onNuxtReady\"\n    },\n    assets: {\n      fetchOptions: {\n        retry: 3,\n        // Specifies the number of retry attempts for failed fetches.\n        retryDelay: 2e3,\n        // Specifies the delay (in milliseconds) between retry attempts.\n        timeout: 15e3\n        // Configures the maximum time (in milliseconds) allowed for each fetch attempt.\n      }\n    },\n    googleStaticMapsProxy: {\n      enabled: false,\n      cacheMaxAge: 3600\n    },\n    enabled: true,\n    debug: false\n  },\n  async setup(config, nuxt) {\n    const { resolve: resolveModule, resolvePath } = createResolver(import.meta.url);\n    const { version, name } = await readPackageJSON(await resolvePath(\"../package.json\"));\n    nuxt.options.alias[\"#nuxt-scripts\"] = await resolvePath(\"./runtime\");\n    logger.level = config.debug || nuxt.options.debug ? 4 : 3;\n    if (!config.enabled) {\n      logger.debug(\"The module is disabled, skipping setup.\");\n      return;\n    }\n    if (nuxt.options.dev) {\n      setupDevtools(nuxt, { standalone: config._standaloneDevtools });\n      if (config._standaloneDevtools) {\n        const bridgePath = resolveModule(\"./runtime/devtools-standalone-bridge.client\");\n        addPluginTemplate({\n          filename: \"modules/nuxt-scripts/devtools-standalone-bridge.client.mjs\",\n          getContents() {\n            return `export { default } from '${bridgePath}'`;\n          }\n        });\n      }\n    }\n    const { version: unheadVersion } = await readPackageJSON(\"@unhead/vue\", {\n      from: nuxt.options.modulesDir\n    }).catch(() => ({ version: null }));\n    if (unheadVersion?.startsWith(\"1\")) {\n      logger.error(`Nuxt Scripts requires Unhead >= 2, you are using v${unheadVersion}. Please run \\`nuxi upgrade --clean\\` to upgrade...`);\n    }\n    const scripts = await registry(resolvePath);\n    if (config.registry) {\n      const componentOnlyKeys = new Set(scripts.filter((s) => !s.import).map((s) => s.registryKey));\n      migrateDeprecatedRegistryKeys(config.registry, (msg) => logger.warn(msg));\n      normalizeRegistryConfig(config.registry, (msg) => logger.warn(msg), componentOnlyKeys);\n      nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};\n      const registryWithDefaults = {};\n      for (const [key, entry] of Object.entries(config.registry)) {\n        if (entry === false)\n          continue;\n        const input = entry[0];\n        const scriptOptions = entry[1];\n        const envDefaults = scripts.find((s) => s.registryKey === key)?.envDefaults;\n        const base = {};\n        if (!envDefaults || !Object.keys(envDefaults).length) {\n          Object.assign(base, input);\n        } else {\n          const envResolved = {};\n          for (const [field, defaultValue] of Object.entries(envDefaults)) {\n            const envKey = `NUXT_PUBLIC_SCRIPTS_${toScreamingSnake(key)}_${toScreamingSnake(field)}`;\n            envResolved[field] = process.env[envKey] || defaultValue;\n          }\n          Object.assign(base, defu(input, envResolved));\n        }\n        if (scriptOptions && Object.keys(scriptOptions).length > 0) {\n          base.scriptOptions = scriptOptions;\n        }\n        registryWithDefaults[key] = base;\n      }\n      nuxt.options.runtimeConfig.public.scripts = defu(\n        nuxt.options.runtimeConfig.public.scripts || {},\n        registryWithDefaults\n      );\n    }\n    validateScriptsEnvVars(\n      scripts,\n      new Set(Object.keys(config.registry || {}).filter((k) => config.registry?.[k] !== false)),\n      logger,\n      Object.keys(config.globals || {})\n    );\n    const googleMapsEnabled = config.googleStaticMapsProxy?.enabled || !!config.registry?.googleMaps;\n    nuxt.options.runtimeConfig[\"nuxt-scripts\"] = {\n      version,\n      // Private proxy config with API key (server-side only)\n      googleStaticMapsProxy: googleMapsEnabled ? { apiKey: nuxt.options.runtimeConfig.public.scripts?.googleMaps?.apiKey } : void 0\n    };\n    nuxt.options.runtimeConfig.public[\"nuxt-scripts\"] = {\n      // expose for devtools\n      version: nuxt.options.dev ? version : void 0,\n      prefix: config.prefix || \"/_scripts\",\n      defaultScriptOptions: config.defaultScriptOptions,\n      // Only expose enabled and cacheMaxAge to client, not apiKey\n      googleStaticMapsProxy: googleMapsEnabled ? { enabled: true, cacheMaxAge: config.googleStaticMapsProxy?.cacheMaxAge ?? 3600 } : void 0\n    };\n    const debugConst = JSON.stringify(!!config.debug);\n    nuxt.options.vite ||= {};\n    nuxt.options.vite.define = { ...nuxt.options.vite.define, __NUXT_SCRIPTS_DEBUG__: debugConst };\n    nuxt.options.nitro ||= {};\n    nuxt.options.nitro.replace = { ...nuxt.options.nitro.replace, __NUXT_SCRIPTS_DEBUG__: debugConst };\n    const scriptsBase = config.prefix || \"/_scripts\";\n    const proxyPrefix = `${scriptsBase}/p`;\n    const assetsPrefix = `${scriptsBase}/assets`;\n    const proxyConfigs = {};\n    const proxyHandlerPath = await resolvePath(\"./runtime/server/proxy-handler\");\n    addServerHandler({ route: `${proxyPrefix}/**`, handler: proxyHandlerPath });\n    if (nuxt.options.dev && config.registry?.vercelAnalytics) {\n      addServerHandler({\n        route: \"/_vercel/insights/**\",\n        handler: await resolvePath(\"./runtime/server/vercel-insights-sink\")\n      });\n    }\n    const composables = [\n      \"useScript\",\n      \"useScriptEventPage\",\n      \"useScriptProxyToken\",\n      \"useScriptProxyUrl\",\n      \"useScriptTriggerConsent\",\n      \"useScriptTriggerElement\",\n      \"useScriptTriggerIdleTimeout\",\n      \"useScriptTriggerInteraction\",\n      \"useScriptTriggerServiceWorker\"\n    ];\n    for (const composable of composables) {\n      addImports({\n        priority: 2,\n        name: composable,\n        as: composable,\n        from: await resolvePath(`./runtime/composables/${composable}`)\n      });\n    }\n    addComponentsDir({\n      path: await resolvePath(\"./runtime/components\"),\n      pathPrefix: false\n    });\n    fixSelfClosingScriptComponents(nuxt);\n    addTemplate({\n      filename: \"nuxt-scripts-trigger-resolver.mjs\",\n      getContents() {\n        return templateTriggerResolver(config.defaultScriptOptions);\n      }\n    });\n    const snippets = {\n      async speedcurveLuxSnippet() {\n        if (!config.registry?.speedcurve)\n          return \"\";\n        const snippetPath = await resolvePath(\"@speedcurve/lux/dist/lux-snippet.js\");\n        if (!existsSync(snippetPath)) {\n          throw new Error(\"[nuxt-scripts] useScriptSpeedCurve requires the @speedcurve/lux package. Install it with: npm i -D @speedcurve/lux\");\n        }\n        return readFileSync(snippetPath, \"utf-8\");\n      }\n    };\n    addTemplate({\n      filename: \"nuxt-scripts-snippets.mjs\",\n      async getContents() {\n        const exports = await Promise.all(\n          Object.entries(snippets).map(async ([name2, getSource]) => `export const ${name2} = ${JSON.stringify(await getSource())}\n`)\n        );\n        return exports.join(\"\");\n      }\n    });\n    logger.debug(\"[nuxt-scripts] Proxy prefix:\", proxyPrefix);\n    for (const script of scripts) {\n      if (script.import?.name) {\n        addImports({ priority: 2, ...script.import });\n        script._importRegistered = true;\n      }\n    }\n    if (config.registry) {\n      for (const [key, entry] of Object.entries(config.registry)) {\n        if (!entry)\n          continue;\n        const [input, scriptOptions] = entry;\n        if (scriptOptions?.skipValidation)\n          continue;\n        const script = scripts.find((s) => s.registryKey === key);\n        if (!script?.schema)\n          continue;\n        const isComponentOnly = !script.import;\n        if (isComponentOnly) {\n          if (scriptOptions && \"trigger\" in scriptOptions && scriptOptions.trigger !== false) {\n            const pascal = key.charAt(0).toUpperCase() + key.slice(1);\n            logger.warn(\n              `[nuxt-scripts] registry.${key}: \\`trigger\\` has no effect on component-only scripts. Render <Script${pascal}> in your template to load the embed.`\n            );\n          }\n          continue;\n        }\n        const willAutoLoad = scriptOptions && \"trigger\" in scriptOptions && scriptOptions.trigger !== false;\n        if (willAutoLoad) {\n          const requiredFields = extractRequiredFields(script.schema);\n          const publicScripts = nuxt.options.runtimeConfig.public?.scripts ?? {};\n          const missing = findMissingRequiredFields(requiredFields, input, publicScripts[key]);\n          if (missing.length) {\n            logger.warn(`[nuxt-scripts] registry.${key}: missing required field${missing.length > 1 ? \"s\" : \"\"} ${missing.map((f) => `'${f}'`).join(\", \")}. The script infrastructure is registered but will not function without ${missing.length > 1 ? \"them\" : \"it\"}.`);\n          }\n        }\n        const envDefaultKeys = new Set(Object.keys(script.envDefaults || {}));\n        const userProvidedFields = Object.keys(input).filter((f) => !envDefaultKeys.has(f));\n        if (userProvidedFields.length > 0 && (!scriptOptions || !(\"trigger\" in scriptOptions))) {\n          logger.warn(\n            `[nuxt-scripts] registry.${key}: config provided without a \\`trigger\\`. The script will not auto-load. Add \\`trigger: 'onNuxtReady'\\` to auto-load, or \\`trigger: false\\` for infrastructure only. See https://scripts.nuxt.com/docs/migration-guide/v0-to-v1`\n          );\n        }\n      }\n    }\n    if (Object.keys(config.globals || {}).length) {\n      const globalsRuntime = {};\n      for (const [k, c] of Object.entries(config.globals || {})) {\n        let input;\n        if (typeof c === \"string\")\n          input = { src: c };\n        else if (Array.isArray(c) && c.length === 2)\n          input = typeof c[0] === \"string\" ? { src: c[0] } : { ...c[0] };\n        else if (typeof c === \"object\" && c !== null)\n          input = { ...c };\n        else\n          continue;\n        delete input.trigger;\n        globalsRuntime[k] = input;\n      }\n      nuxt.options.runtimeConfig.public.scriptsGlobals = defu(\n        globalsRuntime,\n        nuxt.options.runtimeConfig.public.scriptsGlobals\n      );\n    }\n    nuxt.hooks.hook(\"modules:done\", async () => {\n      const registryScripts = [...scripts];\n      await nuxt.hooks.callHook(\"scripts:registry\", registryScripts);\n      for (const script of registryScripts) {\n        if (script.import?.name && !script._importRegistered) {\n          addImports({ priority: 3, ...script.import });\n        }\n      }\n      const registryScriptsWithImport = registryScripts.filter((i) => !!i.import?.name);\n      const newScripts = registryScriptsWithImport.filter((i) => !scripts.some((r) => r.import?.name === i.import.name));\n      registerTypeTemplates({ config, newScripts });\n      if (Object.keys(config.globals || {}).length || Object.keys(config.registry || {}).length) {\n        addPluginTemplate({\n          filename: `modules/${name.replace(\"/\", \"-\")}/plugin.mjs`,\n          getContents() {\n            return templatePlugin(config, registryScriptsWithImport);\n          }\n        });\n      }\n      const { renderedScript } = setupPublicAssetStrategy(assetsPrefix);\n      const scriptByKey = /* @__PURE__ */ new Map();\n      for (const script of registryScripts) {\n        if (script.registryKey)\n          scriptByKey.set(script.registryKey, script);\n      }\n      const partytownScripts = /* @__PURE__ */ new Set();\n      let anyNeedsProxy = false;\n      const registryKeys = Object.keys(config.registry || {});\n      for (const key of registryKeys) {\n        const script = scriptByKey.get(key);\n        if (!script)\n          continue;\n        const entry = config.registry?.[key];\n        const scriptOptions = entry?.[1] || {};\n        const inputOptions = entry?.[0] || {};\n        const mergedOverrides = { ...inputOptions, ...scriptOptions };\n        const resolved = resolveCapabilities(script, mergedOverrides);\n        if (resolved.proxy)\n          anyNeedsProxy = true;\n        if (resolved.partytown) {\n          partytownScripts.add(key);\n          const forwards = getPartytownForwards(script);\n          if (forwards?.length && hasNuxtModule(\"@nuxtjs/partytown\")) {\n            const partytownConfig = nuxt.options.partytown || {};\n            const existingForwards = partytownConfig.forward || [];\n            const newForwards = [.../* @__PURE__ */ new Set([...existingForwards, ...forwards])];\n            nuxt.options.partytown = { ...partytownConfig, forward: newForwards };\n          } else if (!forwards?.length && import.meta.dev) {\n            logger.warn(`[partytown] \"${key}\" has no known Partytown forwards configured. It may not work correctly or may require manual forward configuration.`);\n          }\n        }\n      }\n      if (anyNeedsProxy) {\n        const builtConfigs = buildProxyConfigsFromRegistry(registryScripts, scriptByKey);\n        Object.assign(proxyConfigs, builtConfigs);\n        const domainPrivacy = {};\n        const unsupportedScripts = [];\n        const unmatchedScripts = [];\n        let totalDomains = 0;\n        const devtoolsScripts = [];\n        const publicScripts = nuxt.options.runtimeConfig.public?.scripts;\n        for (const key of registryKeys) {\n          const script = scriptByKey.get(key);\n          if (!script) {\n            unmatchedScripts.push(key);\n            continue;\n          }\n          if (!script.proxy)\n            continue;\n          if (isProxyDisabled(key, config.registry))\n            continue;\n          const configKey = typeof script.proxy === \"string\" ? script.proxy : key;\n          const proxyConfig = proxyConfigs[configKey];\n          if (!proxyConfig) {\n            unsupportedScripts.push(key);\n            continue;\n          }\n          const entry = config.registry?.[key];\n          const inputPrivacy = entry?.[0]?.privacy;\n          const runtimeEntry = publicScripts?.[key] && typeof publicScripts[key] === \"object\" ? publicScripts[key] : void 0;\n          for (const domain of proxyConfig.domains) {\n            domainPrivacy[domain] = inputPrivacy ?? proxyConfig.privacy;\n            totalDomains++;\n          }\n          for (const source of [entry?.[0], runtimeEntry]) {\n            for (const domain of resolveConfiguredProxyDomains(source, proxyConfig)) {\n              domainPrivacy[domain] = inputPrivacy ?? proxyConfig.privacy;\n              totalDomains++;\n            }\n          }\n          if (proxyConfig.autoInject && config.registry)\n            applyAutoInject(config.registry, nuxt.options.runtimeConfig, proxyPrefix, key, proxyConfig.autoInject);\n          if (nuxt.options.dev)\n            devtoolsScripts.push(buildDevtoolsEntry(key, script, configKey, proxyConfig));\n        }\n        if (unmatchedScripts.length) {\n          logger.warn(\n            `Proxy mode: could not find registry scripts for: ${unmatchedScripts.join(\", \")}.\nThese scripts will not have proxy routes registered.`\n          );\n        }\n        if (unsupportedScripts.length && nuxt.options.dev) {\n          logger.warn(\n            `Proxy mode is enabled but these scripts don't support it yet: ${unsupportedScripts.join(\", \")}.\nThey will load directly from third-party servers.`\n          );\n        }\n        addPluginTemplate({\n          filename: \"nuxt-scripts-intercept.client.mjs\",\n          getContents() {\n            return generateInterceptPluginContents(proxyPrefix, { testMode: !!nuxt.options.test });\n          }\n        });\n        nuxt.options.runtimeConfig[\"nuxt-scripts-proxy\"] = {\n          proxyPrefix,\n          domainPrivacy,\n          privacy: config.privacy\n        };\n        const privacyLabel = config.privacy === void 0 ? \"per-script\" : typeof config.privacy === \"boolean\" ? config.privacy ? \"anonymize\" : \"passthrough\" : \"custom\";\n        if (totalDomains > 0 && nuxt.options.dev) {\n          logger.success(`Proxy mode enabled for ${registryKeys.length} script(s), ${totalDomains} domain(s) proxied (privacy: ${privacyLabel})`);\n        }\n        const proxyStaticPresets = [\"static\", \"github-pages\", \"cloudflare-pages-static\", \"netlify-static\", \"azure-static\", \"firebase-static\"];\n        const proxyPreset = process.env.NITRO_PRESET || \"\";\n        if (proxyStaticPresets.includes(proxyPreset)) {\n          logger.warn(\n            `Proxy collection endpoints require a server runtime (detected: ${proxyPreset || \"static\"}).\nScripts will be bundled, but collection requests will not be proxied and URL signing will be unavailable.\nOptions: configure platform rewrites, switch to server-rendered mode, or disable with proxy: false.`\n          );\n        }\n        if (nuxt.options.dev) {\n          nuxt.options.runtimeConfig.public[\"nuxt-scripts-devtools\"] = buildDevtoolsData(proxyPrefix, privacyLabel, devtoolsScripts);\n        }\n        if (partytownScripts.size && hasNuxtModule(\"@nuxtjs/partytown\")) {\n          const partytownConfig = nuxt.options.partytown || {};\n          if (!partytownConfig.resolveUrl) {\n            partytownConfig.resolveUrl = generatePartytownResolveUrl(proxyPrefix);\n            nuxt.options.partytown = partytownConfig;\n            logger.info(\"[partytown] Auto-configured resolveUrl for proxy\");\n          } else {\n            logger.warn(\"[partytown] Custom resolveUrl already set. Add proxy rules to your resolveUrl manually.\");\n          }\n        }\n      }\n      const moduleInstallPromises = /* @__PURE__ */ new Map();\n      addBuildPlugin(NuxtScriptsCheckScripts(), {\n        dev: true\n      });\n      addBuildPlugin(NuxtScriptBundleTransformer({\n        scripts: registryScriptsWithImport,\n        registryConfig: nuxt.options.runtimeConfig.public.scripts,\n        proxyConfigs,\n        proxyPrefix,\n        partytownScripts,\n        moduleDetected(module) {\n          if (nuxt.options.dev && module !== \"@nuxt/scripts\" && !moduleInstallPromises.has(module) && !hasNuxtModule(module))\n            moduleInstallPromises.set(module, () => installNuxtModule(module));\n        },\n        assetsBaseURL: assetsPrefix,\n        fallbackOnSrcOnBundleFail: config.assets?.fallbackOnSrcOnBundleFail,\n        fetchOptions: config.assets?.fetchOptions,\n        cacheMaxAge: config.assets?.cacheMaxAge,\n        integrity: config.assets?.integrity,\n        renderedScript\n      }));\n      nuxt.hooks.hook(\"build:done\", async () => {\n        const initPromise = [...moduleInstallPromises.values()];\n        for (const p of initPromise)\n          await p?.();\n      });\n    });\n    const scriptsPrefix = config.prefix || \"/_scripts\";\n    const enabledEndpoints = {};\n    let anyHandlerRequiresSigning = false;\n    for (const script of scripts) {\n      if (!script.serverHandlers?.length || !script.registryKey)\n        continue;\n      const isEnabled = script.registryKey === \"googleMaps\" ? config.googleStaticMapsProxy?.enabled || config.registry?.googleMaps : config.registry?.[script.registryKey];\n      if (!isEnabled)\n        continue;\n      enabledEndpoints[script.registryKey] = true;\n      for (const handler of script.serverHandlers) {\n        const resolvedRoute = handler.route.replace(\"/_scripts\", scriptsPrefix);\n        addServerHandler({\n          route: resolvedRoute,\n          handler: handler.handler,\n          middleware: handler.middleware\n        });\n        if (handler.requiresSigning)\n          anyHandlerRequiresSigning = true;\n      }\n      if (script.registryKey === \"gravatar\") {\n        const gravatarConfig = config.registry?.gravatar?.[0] || {};\n        nuxt.options.runtimeConfig.public[\"nuxt-scripts\"] = defu(\n          { gravatarProxy: { cacheMaxAge: gravatarConfig.cacheMaxAge ?? 3600 } },\n          nuxt.options.runtimeConfig.public[\"nuxt-scripts\"]\n        );\n      }\n      if (script.registryKey === \"googleMaps\") {\n        nuxt.options.runtimeConfig[\"nuxt-scripts\"] = defu(\n          { googleMapsGeocodeProxy: { apiKey: nuxt.options.runtimeConfig.public.scripts?.googleMaps?.apiKey } },\n          nuxt.options.runtimeConfig[\"nuxt-scripts\"]\n        );\n      }\n    }\n    nuxt.options.runtimeConfig.public[\"nuxt-scripts\"] = defu(\n      { endpoints: enabledEndpoints },\n      nuxt.options.runtimeConfig.public[\"nuxt-scripts\"]\n    );\n    const staticPresets = [\"static\", \"github-pages\", \"cloudflare-pages-static\", \"netlify-static\", \"azure-static\", \"firebase-static\"];\n    const nitroPreset = process.env.NITRO_PRESET || \"\";\n    const isStaticTarget = staticPresets.includes(nitroPreset);\n    const isSpa = nuxt.options.ssr === false;\n    if (config.security === false) {\n      if (anyHandlerRequiresSigning && !nuxt.options.dev) {\n        logger.info(\"[security] Proxy security disabled via `security: false`. Proxy endpoints will pass requests through without signature verification.\");\n      }\n    } else if (anyHandlerRequiresSigning && (isSpa || isStaticTarget)) {\n      logger.warn(\n        `[security] URL signing requires a server runtime${isStaticTarget ? ` (detected preset: ${nitroPreset})` : \" (ssr: false)\"}.\n  Proxy endpoints will work without signature verification.\n  To enable signing, deploy with a server-rendered target or configure platform-level rewrites.`\n      );\n    } else if (anyHandlerRequiresSigning) {\n      const proxySecretResolved = resolveProxySecret(\n        nuxt.options.rootDir,\n        !!nuxt.options.dev,\n        config.security?.secret,\n        config.security?.autoGenerateSecret !== false\n      );\n      if (proxySecretResolved?.source === \"dotenv-generated\")\n        logger.info(`[security] Generated ${PROXY_SECRET_ENV_KEY} in .env for signed proxy URLs.`);\n      else if (proxySecretResolved?.source === \"memory-generated\")\n        logger.warn(`[security] Generated an in-memory ${PROXY_SECRET_ENV_KEY} (could not write .env). Signed URLs will break across restarts.`);\n      if (proxySecretResolved?.secret) {\n        const scriptsRuntime = nuxt.options.runtimeConfig[\"nuxt-scripts\"];\n        scriptsRuntime.proxySecret = proxySecretResolved.secret;\n        if (config.security?.pageTokenMaxAge !== void 0)\n          scriptsRuntime.pageTokenMaxAge = config.security.pageTokenMaxAge;\n        addPlugin({\n          src: await resolvePath(\"./runtime/plugins/proxy-token.server\"),\n          mode: \"server\"\n        });\n      } else if (!nuxt.options.dev) {\n        logger.warn(\n          `[security] ${PROXY_SECRET_ENV_KEY} is not set. Proxy endpoints will pass requests through without signature verification.\n  Generate one with: npx @nuxt/scripts generate-secret\n  Then set the env var: ${PROXY_SECRET_ENV_KEY}=<secret>`\n        );\n      }\n    }\n  }\n});\n\nexport { applyAutoInject, module$1 as default, findMissingRequiredFields, isProxyDisabled, resolveConfiguredProxyDomains, resolveProxySecret };\n"]}