{"version":3,"sources":["jsdelivr-header.js","/npm/rollup-plugin-bundle-analyzer@1.6.6/dist/cjs/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IAEtD,IAAI,IAAM,QAAQ,SACd,OAAS,QAAQ,UACjB,EAAI,QAAQ,UACZ,SAAW,QAAQ,aACnB,KAAO,QAAQ,QACf,KAAO,QAAQ,QACf,IAAM,QAAQ,OACd,UAAY,QAAQ,MACpB,KAAO,QAAQ,QACnB,QAAQ,QACR,IAAI,OAAS,QAAQ,UACjB,GAAK,QAAQ,MAEjB,SAAS,yBAAyB,GAC9B,IAAI,EAAI,OAAO,OAAO,MAatB,OAZI,GACA,OAAO,KAAK,GAAG,SAAQ,SAAU,GAC7B,GAAU,YAAN,EAAiB,CACjB,IAAI,EAAI,OAAO,yBAAyB,EAAG,GAC3C,OAAO,eAAe,EAAG,EAAG,EAAE,IAAM,EAAI,CACpC,YAAY,EACZ,IAAK,WAAc,OAAO,EAAE,EAAI,GAExC,CACJ,IAEJ,EAAE,QAAU,EACL,OAAO,OAAO,EACzB,CAEA,IAAI,gBAA+B,yBAAyB,MACxD,gBAA+B,yBAAyB,MACxD,eAA8B,yBAAyB,KAE3D,MAAM,uBAAyB,IACnB,GAES,OAAO,KAAK,GAAQ,GAAI,SACzB,OAGd,aAAgB,GACL,OAAO,KAAK,EAAM,SACnB,OAGhB,MAAM,KACF,WAAA,CAAY,EAAM,GACd,KAAK,KAAO,EACZ,KAAK,OAAS,CAClB,CACA,QAAI,GACA,OAAO,KAAK,IAChB,CACA,UAAI,GACA,OAAQ,KAAK,MACjB,EAGJ,MAAM,WAAa,yBACnB,MAAM,eAAe,KACjB,WAAA,CAAY,EAAM,EAAM,GACpB,MAAM,EAAM,GACZ,KAAK,KAAO,CAChB,CACA,QAAI,GACA,IAAI,EACJ,OAAO,WAAsC,QAA1B,EAAK,KAAK,kBAA+B,IAAP,EAAgB,EAAK,GAC9E,CACA,QAAI,GACA,OAAO,KAAK,KAAK,IACrB,CACA,cAAI,GACA,OAAO,KAAK,KAAK,UACrB,CACA,cAAI,GACA,IAAI,EACJ,OAAO,WAAqC,QAAzB,EAAK,KAAK,KAAK,YAAyB,IAAP,EAAgB,EAAK,GAC7E,CACA,YAAI,GAIA,OAHK,EAAE,IAAI,KAAM,eACb,KAAK,UAAY,KAAK,KAAO,SAAS,KAAK,KAAK,WAAQ,GAErD,KAAK,SAChB,CACA,WAAA,GACI,MAAO,CACH,GAAI,KAAK,KAAK,KACd,MAAO,KAAK,KACZ,KAAM,KAAK,KACX,SAAU,KAAK,KACf,WAAY,KAAK,WACjB,SAAU,KAAK,SAEvB,EAGJ,SAAS,mBAAmB,GACxB,MAAM,EAAc,QAAQ,MACtB,EAAa,EAAW,KACzB,QAAQ,GAAG,KAAgB,IAC3B,MAAM,KAEN,KAAK,GAAmB,MAAT,EAAe,eAAiB,IACpD,OAAO,EAAW,OAAS,EAAa,IAC5C,CAEA,MAAM,eAAe,KACjB,WAAA,CAAY,EAAM,GACd,MAAM,EAAM,GACZ,KAAK,SAAW,OAAO,OAAO,KAClC,CACA,YAAI,GAIA,OAHK,EAAE,IAAI,KAAM,eACb,KAAK,UAAY,KAAK,KAAO,SAAS,KAAK,KAAK,MAAQ,GAErD,KAAK,SAChB,CACA,QAAI,GAIA,OAHK,EAAE,IAAI,KAAM,WACb,KAAK,MAAQ,KAAK,MAAK,CAAC,EAAM,KAAW,IAAI,EAAI,OAAmC,QAA3B,EAAK,EAAO,EAAK,YAAyB,IAAP,EAAgB,EAAK,EAAE,GAAK,IAAI,IAEzH,KAAK,KAChB,CACA,cAAI,GAIA,OAHK,EAAE,IAAI,KAAM,iBACb,KAAK,YAAc,KAAK,MAAK,CAAC,EAAM,KAAiB,IAAI,EAAI,OAA+C,QAAvC,EAAK,EAAa,EAAK,kBAA+B,IAAP,EAAgB,EAAK,EAAE,GAAK,IAAI,IAEjJ,KAAK,WAChB,CACA,QAAI,GAIA,OAHK,EAAE,IAAI,KAAM,WACb,KAAK,MAAQ,KAAK,MAAK,CAAC,EAAM,IAAS,EAAO,EAAK,MAAM,GAAG,IAEzD,KAAK,KAChB,CACA,cAAI,GAIA,OAHK,EAAE,IAAI,KAAM,iBACb,KAAK,YAAc,KAAK,MAAK,CAAC,EAAM,IAAe,EAAa,EAAK,YAAY,GAAG,IAEjF,KAAK,WAChB,CACA,QAAA,CAAS,GACL,OAAO,KAAK,SAAS,EACzB,CACA,cAAA,CAAe,GACX,MAAM,KAAE,GAAS,EACX,EAAe,KAAK,SAAS,GAC/B,GAAgB,aAAwB,SAG5C,EAAO,OAAS,KAChB,KAAK,SAAS,GAAQ,SACf,KAAK,aACL,KAAK,MAChB,CACA,cAAA,CAAe,GAIX,OAHA,KAAK,SAAS,EAAO,MAAQ,SACtB,KAAK,aACL,KAAK,MACL,CACX,CACA,IAAA,CAAK,EAAQ,EAAQ,CAAC,EAAG,GAAO,GAC5B,IAAI,GAAU,EACd,SAAS,EAAK,GAEV,OADA,GAAU,EACH,CACX,CAcA,OAZA,OAAO,OAAO,KAAK,UAAU,SAAS,IASlC,GANI,EAFA,GAAQ,EAAM,KAEN,EAAM,KAAK,EAAQ,EAAO,GAI1B,EAAO,EAAO,EAAO,GAE7B,EACA,OAAO,CAAK,IAEb,CACX,CACA,kBAAA,GACI,IAAK,KAAK,OAAQ,CACd,IAAI,EAGJ,KAA4D,KAApD,EAAa,OAAO,KAAK,KAAK,WAAW,QAAc,CAE3D,MAAM,EAAY,EAAW,GACvB,EAAY,KAAK,SAAS,GAChC,KAAI,aAAqB,KAAK,aAK1B,MAJA,KAAK,MAAQ,IAAI,EAAU,OAC3B,KAAK,SAAW,EAAU,QAKlC,CACJ,CACA,KAAK,MAAM,IAEP,EAAM,OAAS,KACX,EAAM,oBACN,EAAM,oBACV,GACD,MAAM,EACb,CACA,SAAA,CAAU,GACN,MAAM,EAAY,mBAAmB,GACrC,IAAK,EACD,OAEJ,MAAO,EAAS,GAAY,CAAC,EAAU,MAAM,GAAI,GAAI,EAAE,KAAK,IAC5D,IAAI,EAAgB,KAQpB,GAPA,EAAQ,SAAS,IACb,IAAI,EAAY,EAAc,SAAS,GAClC,GAAe,aAAqB,SACrC,EAAY,EAAc,eAAe,IAAI,OAAO,EAAY,QAEpE,EAAgB,CAAS,IAEzB,EAAU,CACV,MAAM,EAAS,IAAI,OAAO,EAAU,EAAY,MAChD,EAAc,eAAe,EACjC,CACJ,CACA,WAAA,GACI,MAAO,CACH,MAAO,KAAK,KACZ,KAAM,KAAK,KACX,SAAU,KAAK,KACf,WAAY,KAAK,WACjB,OAAQ,EAAE,UAAU,KAAK,SAAU,eACnC,SAAU,KAAK,SAEvB,EAEJ,SAAS,kBAAkB,GACvB,MAAM,EAAO,IAAI,OAAO,KAGxB,OAFA,EAAQ,SAAS,GAAW,EAAK,UAAU,KAC3C,EAAK,qBACE,CACX,CAEA,MAAM,QAAU,CAAC,EACjB,eAAe,gBAAgB,EAAQ,EAAI,GACvC,IAAI,EAAI,SAGD,EAAO,QAEd,MAAM,EAAoB,IACnB,EACH,KAAM,EACN,QAAS,GACT,WAAY,QAAQ,GACpB,KAIc,QAJP,SAAY,OAAO,OAA8B,QAAtB,EAAK,EAAO,YAAyB,IAAP,EAAgB,EAAK,GAAI,CAErF,UAAU,KAEV,YAAyB,IAAP,EAAgB,EAAK,IAK/C,GAHI,GACA,EAAS,KAEP,YAAa,GAEf,OADA,EAAkB,QAAU,GACrB,EAEX,EAAkB,QAAU,GAC5B,IAAK,MAAO,EAAI,KAAM,OAAO,QAAQ,EAAO,SAExC,EAAkB,QAAQ,WAAY,gBAAgB,EAAG,EAAI,IAEjE,OAAO,CACX,CACA,eAAe,cAAc,GACzB,MAAM,EAAU,CAAC,EACjB,IAAK,MAAO,EAAI,KAAW,OAAO,QAAQ,GAAe,CAErD,MAAM,QAAc,gBAAgB,EAAQ,GAI5C,GAHA,EAAM,KAAO,kBAAkB,EAAM,SACrC,EAAM,KAAO,aAAa,EAAM,MAAQ,IACxC,EAAQ,GAAM,EACM,UAAhB,EAAO,KAAkB,CACzB,MAAM,OAAE,GAAW,EAGf,EAAM,KADY,iBAAX,EACM,aAAa,GAGb,OAAO,WAAW,EAEvC,CACJ,CACA,OAAO,OAAO,QAAQ,GAAS,KAAI,EAAE,EAAM,MAChC,CACH,MAAO,EACP,SAAS,EACT,SAAU,EAAM,KAAK,MAAQ,EAAM,KACnC,WAAY,EAAM,KAAK,WACvB,SAAU,EAAM,KAAK,SACrB,OAAQ,EAAE,UAAU,EAAM,KAAK,SAAU,kBAGrD,CACA,eAAe,gBAAgB,GAC3B,MAAM,EAAU,CACZ,QAAS,CAAC,EACV,QAAS,CAAC,GAER,EAAa,GACb,EAAiB,GACvB,IAAK,MAAO,EAAI,KAAW,OAAO,QAAQ,GAClB,UAAhB,EAAO,YAED,gBAAgB,EAAQ,GAAK,IAC3B,EAAE,OAAS,IAGX,EAAE,KAAK,QAAQ,iBAAmB,GAAK,EAAE,KAAK,QAAQ,SAAW,EACjE,EAAW,KAAK,GAGhB,EAAe,KAAK,GACxB,IAMZ,OAFA,EAAQ,QAAQ,KAAO,kBAAkB,GACzC,EAAQ,QAAQ,KAAO,kBAAkB,GAClC,OAAO,QAAQ,GAAS,KAAI,EAAE,EAAM,MAChC,CACH,MAAO,EACP,SAAS,EACT,SAAU,EAAM,KAAK,KACrB,WAAY,EAAM,KAAK,WACvB,SAAU,EAAM,KAAK,SACrB,OAAQ,EAAE,UAAU,EAAM,KAAK,SAAU,kBAGrD,CACA,eAAe,eAAe,GAC1B,MAAO,CACH,UAAW,gBAAgB,GAC3B,cAAe,cAAc,GAErC,CAEA,MAAM,OAAS,CAAC,QAAS,OAAQ,OAAQ,QAAS,UAC5C,WAAa,6BACb,wBAA0B,IAAI,IAAI,CACpC,CAAC,QAAS,OACV,CAAC,OAAQ,OACT,CAAC,OAAQ,SAEb,MAAM,OACF,WAAA,CAAY,EAAQ,OAAO,cACvB,KAAK,aAAe,IAAI,IACxB,KAAK,YAAY,EACrB,CACA,UAAO,CAAI,KAAU,GACjB,MAAM,EAAY,wBAAwB,IAAI,IAAU,EAExD,QAAQ,MAAc,EAC1B,CACA,WAAA,CAAY,GACR,MAAM,EAAa,OAAO,QAAQ,GAClC,IAAoB,IAAhB,EACA,MAAM,IAAI,MAAM,sBAAsB,yBAA6B,OAAO,KAAK,SACnF,KAAK,aAAa,QAClB,IAAK,MAAO,EAAG,KAAe,OAAO,UAC7B,GAAK,GACL,KAAK,aAAa,IAAI,EAElC,EAEJ,OAAO,OAAS,OAChB,OAAO,aAAe,OACtB,OAAO,SAAS,IACE,WAAV,IAGJ,OAAO,UAAU,GAAS,YAAgB,GAClC,KAAK,aAAa,IAAI,IACtB,OAAO,IAAI,EAAO,cAAe,EACzC,EAAC,IAEL,MAAM,OAAS,IAAI,OAAO,QAEpB,KAAO,SAAU,GACnB,IACI,OAAO,EACX,CACA,MAAO,GAEH,OAAO,MAAM,0BAA0B,QAAU,IACrD,CACJ,EAGM,SAAW,IAAI,cAAmC,oBAAb,SAA2B,IAAK,QAAQ,OAAe,KAAE,QAAU,YAAY,KAAQ,SAAS,eAAiB,SAAS,cAAc,KAAO,IAAI,IAAI,WAAY,SAAS,SAAS,MAC1N,YAAc,KAAK,QAAQ,UAC3B,cAAgB,KAAK,QAAQ,YAAa,KAAM,MAChD,WAAa,KAAK,KAAK,cAAe,UAC5C,SAAS,WAAW,GAChB,OAAO,KAAK,UAAU,GAAM,QAAQ,MAAO,UAC/C,CACA,SAAS,gBAAgB,GACrB,MAAM,EAAY,KAAK,KAAK,WAAY,GACxC,IAAK,EAAU,WAAW,YACtB,MAAM,IAAI,MAAM,IAAI,oCAExB,OAAO,GAAG,aAAa,EAAW,OACtC,CACA,SAAS,KAAK,KAAY,GACtB,OAAO,EAAQ,KAAI,CAAC,EAAQ,IAAU,GAAG,IAAS,EAAO,IAAU,OAAM,KAAK,GAClF,CACA,SAAS,UAAU,EAAU,GACzB,MAAa,WAAT,EACO,WAAQ,EAAE,OAAO,qBAAyB,gBAAgB,eAE9D,gBAAgB,EAAE,OAAO,gBACpC,CACA,SAAS,cAAa,MAAE,EAAK,gBAAE,EAAe,UAAE,EAAS,aAAE,EAAY,KAAE,GAAS,CAAC,GAC/E,OAAO,IAAK;;;;;iBAKC,EAAE,OAAO;;qCAEW,WAAW;;UAEtC,UAAU,YAAa;;;;;;+BAMF,WAAW;kCACR,WAAW;;;YAI7C,CAEA,MAAM,KAAE,MAAS,IACjB,IAAI,eAGJ,MAAM,aAAe,eAAe,cAAmC,oBAAb,SAA2B,IAAK,QAAQ,OAAe,KAAE,QAAU,YAAY,KAAQ,SAAS,eAAiB,SAAS,cAAc,KAAO,IAAI,IAAI,WAAY,SAAS,SAAS,MACzO,YAAc,gBAAgB,QAAQ,cACtC,YAAc,gBAAgB,QAAQ,YAAa,KAAM,MAC/D,SAAS,YAAY,GACjB,MAAM,WAAE,EAAU,aAAE,GAAiB,EACrC,MAAO,UAAU,KAAc,EAAa,MAChD,CACA,eAAe,YAAY,EAAM,EAAY,GACzC,MAAM,KAAE,EAAO,KAAI,KAAE,EAAO,YAAW,YAAE,GAAc,GAAS,GAAQ,CAAC,EACnE,EAAiB,KAAK,GAAG,qBAAsB,CAAE,KAAK,IACtD,EAAS,gBAAgB,cAAa,CAAC,EAAK,KAC9C,GAAmB,QAAf,EAAI,QAAgC,MAAZ,EAAI,IAAa,CACzC,MAAM,EAAO,aAAa,CACtB,MAAO,yBACP,iBAAiB,EACjB,UAAW,EACX,KAAM,QACN,aAAc,SAElB,EAAI,UAAU,IAAK,CAAE,eAAgB,cACrC,EAAI,IAAI,EACZ,MAEI,EAAe,EAAK,EACxB,UAEE,IAAI,SAAS,IAEf,EAAO,OAAO,EAAM,GAAM,KACtB,IAEA,MAAM,EAAM,YAAY,CACpB,WAAY,EACZ,WAAY,EACZ,aAAc,EAAO,YAGzB,OAAO,KAAK,GAAG,KAAK,2CAA2C,KAAK,WACzD,KAAK,yBACZ,GACA,KAAK,EACT,GACF,IAEN,MAAM,EAAM,IAAI,UAAU,OAAO,CAAE,WAYnC,OAXA,EAAI,GAAG,cAAe,IAClB,EAAG,GAAG,SAAU,IAGR,EAAI,OAGR,OAAO,KAAK,EAAI,QAAQ,GAC1B,IAGC,CACH,GAAI,EACJ,KAAM,EACN,gBAEJ,iBACI,MAAM,QAAqB,IAC3B,IAAK,EACD,OACJ,EAAI,QAAQ,SAAS,IACb,EAAO,aAAe,UAAU,MAChC,EAAO,KAAK,KAAK,UAAU,CACvB,MAAO,mBACP,KAAM,IAEd,GAER,EACJ,CACA,eAAe,eAAe,EAAkB,GAC5C,MAAM,QAAmB,IACrB,sBACO,gBAAgB,kBAGvB,qBAAuB,YAAY,CAC/B,YAAa,EAAU,YACvB,KAAM,EAAU,KAChB,KAAM,EAAU,KAChB,UAAW,IACZ,EAAY,EAEvB,CAEA,MAAM,SAAY,GAAW,EAAO,MAAM,KAAK,MAAM,GAC/C,WAAc,IAAW,IAAI,EAAI,OAAkC,QAA1B,EAAK,EAAK,MAAM,YAAyB,IAAP,OAAgB,EAAS,EAAG,EAAE,EAC/G,eAAe,eAAe,EAAc,GACxC,MAAM,EAAS,CACX,aAAc,CAAC,EACf,QAAS,CAAC,EACV,SAAU,CAAC,EACX,SAAU,CAAC,EACX,QAAS,CAAC,GAER,EAAa,CAAC,EAAY,KAC5B,MAAM,EAAO,WAAW,GACxB,EAAO,QAAQ,GAAQ,CACnB,SACH,EAEC,EAAe,IACjB,MAAM,EAAO,WAAW,GACxB,EAAO,SAAS,GAAQ,CAAC,CAAC,EAExB,EAAkB,CAAC,EAAY,KACjC,MAAM,EAAO,WAAW,GACxB,EAAO,aAAa,GAAQ,CACxB,OACH,EAEC,EAAc,CAAC,EAAY,KAC7B,MAAM,EAAO,WAAW,GACxB,EAAO,SAAS,GAAQ,CACpB,OACH,EAEC,EAAa,CAAC,EAAY,EAAM,KAClC,MAAM,EAAO,WAAW,GACxB,EAAO,QAAQ,GAAQ,CACnB,OACA,OACH,EAEL,IAAK,MAAO,EAAI,KAAW,OAAO,QAAQ,SAEhC,gBAAgB,EAAQ,GAAK,IAC/B,MAAM,EAAY,mBAAmB,GAC/B,EAAO,EAAE,KAAK,GACd,EAAa,EAAQ,cAAc,EAAE,MAC3C,GAAI,EAAY,CAGZ,GAD0B,EAAW,UAAU,MAAM,IAAqC,IAA/B,EAAE,QAAQ,kBAC9C,CACnB,MAAM,EAAO,aAAa,EAAE,MAAQ,IACpC,GAAI,GAAa,EAAE,KAAK,QAAQ,iBAAmB,GAAK,aAAa,KAAK,EAAE,MAAO,CAC/E,MAAM,EAAmB,EAAU,WAAW,GAAY,iBAAN,IACpD,IAA0B,IAAtB,EACA,OAEJ,IAAI,EAAa,EAAU,EAAmB,GAE1C,EAAW,QAAQ,MAAQ,IAC3B,EAAa,GAAG,KAAc,EAAU,EAAmB,MAE3D,EAAE,gBACF,MAAM,QAAQ,EAAE,iBACY,IAA5B,EAAE,eAAe,QACjB,EAAgB,EAAY,GAElB,SAAS,EAAE,MACf,MAAM,GAAY,oBAAN,KAClB,EAAY,GAEZ,EAAW,QAAQ,aAAe,GAClC,EAAY,EAAY,EAEhC,CACI,IACa,cAAT,GACA,EAAW,EAAM,SAER,cAAT,GACA,EAAW,EAAM,gBAEjB,EAAK,QAAQ,aAAe,GAC5B,EAAY,EAAM,GAET,0BAAT,GACA,EAAW,EAAM,EAAM,2CAGnC,CACJ,KAGR,OAAO,CACX,CAEA,SAAS,eAAe,GACpB,MAAO,CACH,KAAM,yBAEN,UAAS,CAAC,EAAM,KACZ,QAAQ,GAAM,EAIP,MAEX,oBAAM,CAEN,EAAe,GAEX,MAUM,EAAU,CATZ,aAAc,SACd,KAAM,YACN,KAAM,KACN,eAAgB,uBAChB,aAAa,EACb,cAAe,aACf,SAAU,OACV,UAAW,QAEsB,GAC/B,EAAmB,IAAM,eAAe,IACxC,aAAE,GAAiB,EACnB,QAAe,eAAe,EAAc,MAClD,GAA6B,WAAzB,EAAQ,aACR,eAAe,EAAkB,QAEhC,GAA6B,SAAzB,EAAQ,aAAyB,CACtC,MAAM,QAAkB,eAAe,GACvC,KAAK,SAAS,CACV,KAAM,QACN,KAAM,EAAQ,cACd,SAAU,EAAQ,cAClB,OAAQ,KAAK,UAAU,IAE/B,MACK,GAA6B,WAAzB,EAAQ,aAA2B,CACxC,MACM,EAAO,aAAa,CACtB,MAAO,yBACP,iBAAiB,EACjB,gBAJoB,eAAe,GAKnC,KAAM,SACN,aAAc,SAElB,KAAK,SAAS,CACV,KAAM,QACN,KAAM,EAAQ,eACd,SAAU,EAAQ,eAClB,OAAQ,GAEhB,MACK,GAA6B,WAAzB,EAAQ,aAA2B,CACxC,MAAM,QAAkB,eAAe,GACjC,EAAO,aAAa,CACtB,MAAO,yBACP,iBAAiB,EACjB,YACA,KAAM,SACN,aAAc,SAEU,mBAAjB,GACP,EAAa,EAAW,EAAM,EAEtC,MAGI,OAAO,MAAM,GAAG,IAAI,IAAI,kDAEhC,EAER,CAEA,QAAQ,QAAU,eAClB,OAAO,QAAU,OAAO,OAAO,QAAQ,QAAS","file":"/npm/rollup-plugin-bundle-analyzer@1.6.6/dist/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/rollup-plugin-bundle-analyzer@1.6.6/dist/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar pkg = require('chalk');\nvar terser = require('terser');\nvar _ = require('lodash');\nvar gzipSize = require('gzip-size');\nvar path = require('path');\nvar http = require('http');\nvar url = require('url');\nvar WebSocket = require('ws');\nvar sirv = require('sirv');\nrequire('util');\nvar opener = require('opener');\nvar fs = require('fs');\n\nfunction _interopNamespaceDefault(e) {\n    var n = Object.create(null);\n    if (e) {\n        Object.keys(e).forEach(function (k) {\n            if (k !== 'default') {\n                var d = Object.getOwnPropertyDescriptor(e, k);\n                Object.defineProperty(n, k, d.get ? d : {\n                    enumerable: true,\n                    get: function () { return e[k]; }\n                });\n            }\n        });\n    }\n    n.default = e;\n    return Object.freeze(n);\n}\n\nvar path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);\nvar http__namespace = /*#__PURE__*/_interopNamespaceDefault(http);\nvar url__namespace = /*#__PURE__*/_interopNamespaceDefault(url);\n\nconst createBrotliSizeGetter = () => {\n    return (code) => {\n        // eslint-disable-next-line no-console\n        const data = Buffer.from(code || '', 'utf-8');\n        return data.length;\n    };\n};\nconst sizeGetter$1 = (code) => {\n    const data = Buffer.from(code, 'utf-8');\n    return data.length;\n};\n\nclass Node {\n    constructor(name, parent) {\n        this.name = name;\n        this.parent = parent;\n    }\n    get path() {\n        return this.name;\n    }\n    get isRoot() {\n        return !this.parent;\n    }\n}\n\nconst sizeGetter = createBrotliSizeGetter();\nclass Module extends Node {\n    constructor(name, data, parent) {\n        super(name, parent);\n        this.data = data;\n    }\n    get size() {\n        var _a;\n        return sizeGetter((_a = this.originCode) !== null && _a !== void 0 ? _a : '');\n    }\n    get code() {\n        return this.data.code;\n    }\n    get originCode() {\n        return this.data.originCode;\n    }\n    get renderSize() {\n        var _a;\n        return sizeGetter((_a = this.data.code) !== null && _a !== void 0 ? _a : '');\n    }\n    get gzipSize() {\n        if (!_.has(this, '_gzipSize')) {\n            this._gzipSize = this.code ? gzipSize.sync(this.code) : undefined;\n        }\n        return this._gzipSize;\n    }\n    toChartData() {\n        return {\n            id: this.data.name,\n            label: this.name,\n            path: this.path,\n            statSize: this.size,\n            parsedSize: this.renderSize,\n            gzipSize: this.gzipSize\n        };\n    }\n}\n\nfunction getModulePathParts(moduleData) {\n    const projectRoot = process.cwd();\n    const parsedPath = moduleData.name\n        .replace(`${projectRoot}/`, '')\n        .split('/')\n        // Replacing `~` with `node_modules`\n        .map((part) => (part === '~' ? 'node_modules' : part));\n    return parsedPath.length ? parsedPath : null;\n}\n\nclass Folder extends Node {\n    constructor(name, parent) {\n        super(name, parent);\n        this.children = Object.create(null);\n    }\n    get gzipSize() {\n        if (!_.has(this, '_gzipSize')) {\n            this._gzipSize = this.code ? gzipSize.sync(this.code) : 0;\n        }\n        return this._gzipSize;\n    }\n    get code() {\n        if (!_.has(this, '_code')) {\n            this._code = this.walk((node, code) => { var _a; return (_a = code + node.code) !== null && _a !== void 0 ? _a : ''; }, '', false);\n        }\n        return this._code;\n    }\n    get originCode() {\n        if (!_.has(this, '_originCode')) {\n            this._originCode = this.walk((node, originCode) => { var _a; return (_a = originCode + node.originCode) !== null && _a !== void 0 ? _a : ''; }, '', false);\n        }\n        return this._originCode;\n    }\n    get size() {\n        if (!_.has(this, '_size')) {\n            this._size = this.walk((node, size) => size + node.size, 0, false);\n        }\n        return this._size;\n    }\n    get renderSize() {\n        if (!_.has(this, '_renderSize')) {\n            this._renderSize = this.walk((node, renderSize) => renderSize + node.renderSize, 0, false);\n        }\n        return this._renderSize;\n    }\n    getChild(name) {\n        return this.children[name];\n    }\n    addChildModule(module) {\n        const { name } = module;\n        const currentChild = this.children[name];\n        if (currentChild && currentChild instanceof Folder)\n            return;\n        // eslint-disable-next-line no-param-reassign\n        module.parent = this;\n        this.children[name] = module;\n        delete this._size;\n        delete this._code;\n    }\n    addChildFolder(folder) {\n        this.children[folder.name] = folder;\n        delete this._size;\n        delete this._code;\n        return folder;\n    }\n    walk(walker, state = {}, deep = true) {\n        let stopped = false;\n        function stop(finalState) {\n            stopped = true;\n            return finalState;\n        }\n        // eslint-disable-next-line consistent-return\n        Object.values(this.children).forEach((child) => {\n            if (deep && child.walk) {\n                // eslint-disable-next-line no-param-reassign\n                state = child.walk(walker, state, stop);\n            }\n            else {\n                // eslint-disable-next-line no-param-reassign\n                state = walker(child, state, stop);\n            }\n            if (stopped)\n                return false;\n        });\n        return state;\n    }\n    mergeNestedFolders() {\n        if (!this.isRoot) {\n            let childNames;\n            // 合并只有一个文件的目录\n            // eslint-disable-next-line no-cond-assign\n            while ((childNames = Object.keys(this.children)).length === 1) {\n                // eslint-disable-next-line prefer-destructuring\n                const childName = childNames[0];\n                const onlyChild = this.children[childName];\n                if (onlyChild instanceof this.constructor) {\n                    this.name += `/${onlyChild.name}`;\n                    this.children = onlyChild.children;\n                }\n                else {\n                    break;\n                }\n            }\n        }\n        this.walk((child) => {\n            // eslint-disable-next-line no-param-reassign\n            child.parent = this;\n            if (child.mergeNestedFolders) {\n                child.mergeNestedFolders();\n            }\n        }, null, false);\n    }\n    addModule(moduleData) {\n        const pathParts = getModulePathParts(moduleData);\n        if (!pathParts) {\n            return;\n        }\n        const [folders, fileName] = [pathParts.slice(0, -1), _.last(pathParts)];\n        let currentFolder = this;\n        folders.forEach((folderName) => {\n            let childNode = currentFolder.getChild(folderName);\n            if (!childNode || !(childNode instanceof Folder)) {\n                childNode = currentFolder.addChildFolder(new Folder(folderName, this));\n            }\n            currentFolder = childNode;\n        });\n        if (fileName) {\n            const module = new Module(fileName, moduleData, this);\n            currentFolder.addChildModule(module);\n        }\n    }\n    toChartData() {\n        return {\n            label: this.name,\n            path: this.path,\n            statSize: this.size,\n            parsedSize: this.renderSize,\n            groups: _.invokeMap(this.children, 'toChartData'),\n            gzipSize: this.gzipSize\n        };\n    }\n}\nfunction createModulesTree(modules) {\n    const root = new Folder('.');\n    modules.forEach((module) => root.addModule(module));\n    root.mergeNestedFolders();\n    return root;\n}\n\nconst codeMap = {};\nasync function transformModule(module, id, resolver) {\n    var _a, _b;\n    // fix https://github.com/ritz078/rollup-plugin-filesize/issues/57\n    // @ts-ignore\n    delete module.isAsset;\n    // @ts-ignore\n    const transformedModule = {\n        ...module,\n        name: id,\n        modules: [],\n        originCode: codeMap[id],\n        code: (_b = (await terser.minify((_a = module.code) !== null && _a !== void 0 ? _a : '', {\n            // module: true,\n            safari10: true\n            // toplevel: true\n        })).code) !== null && _b !== void 0 ? _b : ''\n    };\n    if (resolver) {\n        resolver(transformedModule);\n    }\n    if (!('modules' in module)) {\n        transformedModule.modules = [];\n        return transformedModule;\n    }\n    transformedModule.modules = [];\n    for (const [id, m] of Object.entries(module.modules)) {\n        // eslint-disable-next-line no-await-in-loop\n        transformedModule.modules.push((await transformModule(m, id, resolver)));\n    }\n    return transformedModule;\n}\nasync function getModuleData(outputBundle) {\n    const modules = {};\n    for (const [id, module] of Object.entries(outputBundle)) {\n        // eslint-disable-next-line\n        const chunk = await transformModule(module, id);\n        chunk.tree = createModulesTree(chunk.modules);\n        chunk.size = sizeGetter$1(chunk.code || '');\n        modules[id] = chunk;\n        if (module.type === 'asset') {\n            const { source } = module;\n            // 二进制资源文件，比如图片\n            if (typeof source === 'string') {\n                chunk.size = sizeGetter$1(source);\n            }\n            else {\n                chunk.size = Buffer.byteLength(source);\n            }\n        }\n    }\n    return Object.entries(modules).map(([name, asset]) => {\n        return {\n            label: name,\n            isAsset: true,\n            statSize: asset.tree.size || asset.size,\n            parsedSize: asset.tree.renderSize,\n            gzipSize: asset.tree.gzipSize,\n            groups: _.invokeMap(asset.tree.children, 'toChartData')\n        };\n    });\n}\nasync function getSplitLibData(outputBundle) {\n    const modules = {\n        library: {},\n        project: {}\n    };\n    const libModules = [];\n    const projectModules = [];\n    for (const [id, module] of Object.entries(outputBundle)) {\n        if (module.type === 'chunk') {\n            // eslint-disable-next-line\n            await transformModule(module, id, (m) => {\n                if (m.name === id) {\n                    return;\n                }\n                if (m.name.indexOf('node_modules') > -1 || m.name.indexOf('vite') > -1) {\n                    libModules.push(m);\n                }\n                else {\n                    projectModules.push(m);\n                }\n            });\n        }\n    }\n    modules.library.tree = createModulesTree(libModules);\n    modules.project.tree = createModulesTree(projectModules);\n    return Object.entries(modules).map(([name, asset]) => {\n        return {\n            label: name,\n            isAsset: true,\n            statSize: asset.tree.size,\n            parsedSize: asset.tree.renderSize,\n            gzipSize: asset.tree.gzipSize,\n            groups: _.invokeMap(asset.tree.children, 'toChartData')\n        };\n    });\n}\nasync function getMixCharData(outputBundle) {\n    return {\n        lib: await getSplitLibData(outputBundle),\n        default: await getModuleData(outputBundle)\n    };\n}\n\nconst LEVELS = ['debug', 'info', 'warn', 'error', 'silent'];\nconst LOG_PREFIX = '\\n[rollup-plugin-analyzer]';\nconst LEVEL_TO_CONSOLE_METHOD = new Map([\n    ['debug', 'log'],\n    ['info', 'log'],\n    ['warn', 'log']\n]);\nclass Logger {\n    constructor(level = Logger.defaultLevel) {\n        this.activeLevels = new Set();\n        this.setLogLevel(level);\n    }\n    static log(level, ...args) {\n        const operation = LEVEL_TO_CONSOLE_METHOD.get(level) || level;\n        // eslint-disable-next-line no-console\n        console[operation](...args);\n    }\n    setLogLevel(level) {\n        const levelIndex = LEVELS.indexOf(level);\n        if (levelIndex === -1)\n            throw new Error(`Invalid log level \"${level}\". Use one of these: ${LEVELS.join(', ')}`);\n        this.activeLevels.clear();\n        for (const [i, levelValue] of LEVELS.entries()) {\n            if (i >= levelIndex)\n                this.activeLevels.add(levelValue);\n        }\n    }\n}\nLogger.levels = LEVELS;\nLogger.defaultLevel = 'info';\nLEVELS.forEach((level) => {\n    if (level === 'silent')\n        return;\n    // @ts-ignore\n    Logger.prototype[level] = function log(...args) {\n        if (this.activeLevels.has(level))\n            Logger.log(level, LOG_PREFIX, ...args);\n    };\n});\nconst logger = new Logger('info');\n\nconst open = function (uri) {\n    try {\n        opener(uri);\n    }\n    catch (err) {\n        // @ts-ignore\n        logger.debug(`Opener failed to open \"${uri}\":\\n${err}`);\n    }\n};\n\n// @ts-ignore\nconst fileName = url.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index.js', document.baseURI).href)));\nconst __dirname$2 = path.dirname(fileName);\nconst projectRoot$1 = path.resolve(__dirname$2, '..', '..');\nconst assetsRoot = path.join(projectRoot$1, 'public');\nfunction escapeJson(json) {\n    return JSON.stringify(json).replace(/</gu, '\\\\u003c');\n}\nfunction getAssetContent(filename) {\n    const assetPath = path.join(assetsRoot, filename);\n    if (!assetPath.startsWith(assetsRoot)) {\n        throw new Error(`\"${filename}\" is outside of the assets root`);\n    }\n    return fs.readFileSync(assetPath, 'utf8');\n}\nfunction html(strings, ...values) {\n    return strings.map((string, index) => `${string}${values[index] || ''}`).join('');\n}\nfunction getScript(filename, mode) {\n    if (mode === 'static') {\n        return `<!-- ${_.escape(filename)} --> <script>${getAssetContent(filename)}</script>`;\n    }\n    return `<script src=\"${_.escape(filename)}\"></script>`;\n}\nfunction renderViewer({ title, enableWebSocket, chartData, defaultSizes, mode } = {}) {\n    return html `<!DOCTYPE html>\n    <html lang=\"\">\n      <head>\n        <meta charset=\"UTF-8\" />\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n        <title>${_.escape(title)}</title>\n        <script>\n          window.enableWebSocket = ${escapeJson(enableWebSocket)};\n        </script>\n        ${getScript('viewer.js', mode)}\n      </head>\n\n      <body>\n        <div id=\"app\"></div>\n        <script>\n          window.chartData = ${escapeJson(chartData)};\n          window.defaultSizes = ${escapeJson(defaultSizes)};\n        </script>\n      </body>\n    </html>`;\n}\n\nconst { bold } = pkg;\nlet serverInstance;\n// @ts-ignore\n// eslint-disable-next-line no-underscore-dangle\nconst __filename$1 = url__namespace.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index.js', document.baseURI).href)));\nconst __dirname$1 = path__namespace.dirname(__filename$1);\nconst projectRoot = path__namespace.resolve(__dirname$1, '..', '..');\nfunction analyzerUrl(options) {\n    const { listenHost, boundAddress } = options;\n    return `http://${listenHost}:${boundAddress.port}`;\n}\nasync function startServer(opts, moduleData, getModuleDataFun) {\n    const { port = 8888, host = '127.0.0.1', openBrowser = true } = opts || {};\n    const sirvMiddleware = sirv(`${projectRoot}/public`, { dev: true });\n    const server = http__namespace.createServer((req, res) => {\n        if (req.method === 'GET' && req.url === '/') {\n            const html = renderViewer({\n                title: 'rollup-bundle-analyzer',\n                enableWebSocket: true,\n                chartData: moduleData,\n                mode: 'serve',\n                defaultSizes: 'stat'\n            });\n            res.writeHead(200, { 'Content-Type': 'text/html' });\n            res.end(html);\n        }\n        else {\n            sirvMiddleware(req, res);\n        }\n    });\n    await new Promise((resolve) => {\n        // @ts-ignore\n        server.listen(port, host, () => {\n            resolve();\n            // eslint-disable-next-line @typescript-eslint/no-shadow\n            const url = analyzerUrl({\n                listenPort: port,\n                listenHost: host,\n                boundAddress: server.address()\n            });\n            // @ts-ignore\n            logger.info(`${bold('Rollup Bundle Analyzer')} is started at ${bold(url)}\\n` +\n                `Use ${bold('Ctrl+C')} to close it`);\n            if (openBrowser) {\n                open(url);\n            }\n        });\n    });\n    const wss = new WebSocket.Server({ server });\n    wss.on('connection', (ws) => {\n        ws.on('error', (err) => {\n            // Ignore network errors like `ECONNRESET`, `EPIPE`, etc.\n            // @ts-ignore\n            if (err.errno)\n                return;\n            // @ts-ignore\n            logger.info(err.message);\n        });\n    });\n    // eslint-disable-next-line consistent-return\n    return {\n        ws: wss,\n        http: server,\n        updateChartData\n    };\n    async function updateChartData() {\n        const newChartData = await getModuleDataFun();\n        if (!newChartData)\n            return;\n        wss.clients.forEach((client) => {\n            if (client.readyState === WebSocket.OPEN) {\n                client.send(JSON.stringify({\n                    event: 'chartDataUpdated',\n                    data: newChartData\n                }));\n            }\n        });\n    }\n}\nasync function startViewServe(getModuleDataFun, pluginOpt) {\n    const moduleData = await getModuleDataFun();\n    if (serverInstance) {\n        (await serverInstance).updateChartData();\n    }\n    else {\n        serverInstance = await startServer({\n            openBrowser: pluginOpt.openBrowser,\n            host: pluginOpt.host,\n            port: pluginOpt.port,\n            bundleDir: ''\n        }, moduleData, getModuleDataFun);\n    }\n}\n\nconst getQuery = (schema) => schema.split('?').slice(1);\nconst formatName = (name) => { var _a; return (_a = name.split('.')) === null || _a === void 0 ? void 0 : _a[0]; };\nasync function generateAdvise(outputBundle, context) {\n    const advise = {\n        treeSharking: {},\n        replace: {},\n        commonjs: {},\n        polyfill: {},\n        rewrite: {}\n    };\n    const replaceTpl = (moduleName, target) => {\n        const name = formatName(moduleName);\n        advise.replace[name] = {\n            target\n        };\n    };\n    const commonjsTpl = (moduleName) => {\n        const name = formatName(moduleName);\n        advise.commonjs[name] = {};\n    };\n    const treeSharkingTpl = (moduleName, size) => {\n        const name = formatName(moduleName);\n        advise.treeSharking[name] = {\n            size\n        };\n    };\n    const polyfillTpl = (moduleName, size) => {\n        const name = formatName(moduleName);\n        advise.polyfill[name] = {\n            size\n        };\n    };\n    const rewriteTpl = (moduleName, size, desc) => {\n        const name = formatName(moduleName);\n        advise.rewrite[name] = {\n            size,\n            desc\n        };\n    };\n    for (const [id, module] of Object.entries(outputBundle)) {\n        // eslint-disable-next-line no-await-in-loop\n        await transformModule(module, id, (m) => {\n            const pathParts = getModulePathParts(m);\n            const name = _.last(pathParts);\n            const moduleInfo = context.getModuleInfo(m.name);\n            if (moduleInfo) {\n                // 判断是否是项目引进的包，再判断是否可以优化\n                const isImportByProject = moduleInfo.importers.find((i) => i.indexOf('node_modules') === -1);\n                if (isImportByProject) {\n                    const size = sizeGetter$1(m.code || '');\n                    if (pathParts && m.name.indexOf('node_modules') > -1 && /\\.js| \\.ts/.test(m.name)) {\n                        const nodeModulesIndex = pathParts.findIndex((i) => i === 'node_modules');\n                        if (nodeModulesIndex === -1) {\n                            return;\n                        }\n                        let moduleName = pathParts[nodeModulesIndex + 1];\n                        // eg @element-plus/icons-vue\n                        if (moduleName.indexOf('@') > -1) {\n                            moduleName = `${moduleName}/${pathParts[nodeModulesIndex + 2]}`;\n                        }\n                        if (m.removedExports &&\n                            Array.isArray(m.removedExports) &&\n                            m.removedExports.length === 0) {\n                            treeSharkingTpl(moduleName, size);\n                        }\n                        const query = getQuery(m.name);\n                        if (query.find((i) => i === 'commonjs-module')) {\n                            commonjsTpl(moduleName);\n                        }\n                        if (moduleName.indexOf('polyfill') > -1) {\n                            polyfillTpl(moduleName, size);\n                        }\n                    }\n                    if (name) {\n                        if (name === 'moment.js') {\n                            replaceTpl(name, 'dayjs');\n                        }\n                        if (name === 'lodash.js') {\n                            replaceTpl(name, 'lodash-es.js');\n                        }\n                        if (name.indexOf('polyfill') > -1) {\n                            polyfillTpl(name, size);\n                        }\n                        if (name === 'js-file-downloader.js') {\n                            rewriteTpl(name, size, '该模块使用webpack打包，体积较大，建议参照核心功能重写，减少约50%体积');\n                        }\n                    }\n                }\n            }\n        });\n    }\n    return advise;\n}\n\nfunction bundleAnalyzer(userOpts) {\n    return {\n        name: 'rollup-bundle-analyzer',\n        // 暂时先用transform来获取原代码，用resolveId hook会有不执行的情况\n        transform(code, id) {\n            codeMap[id] = code;\n            // babel\n            // css\n            // filer return [ast, map, code]\n            return null;\n        },\n        async generateBundle(\n        // @ts-ignore\n        outputOptions, outputBundle) {\n            // @ts-ignore\n            const defaultOpts = {\n                analyzerMode: 'server',\n                host: '127.0.0.1',\n                port: 9800,\n                reportFilename: 'bundle-analyzer.html',\n                openBrowser: true,\n                statsFilename: 'stats.json',\n                logLevel: 'info',\n                bundleDir: './'\n            };\n            const options = { ...defaultOpts, ...userOpts };\n            const getModuleDataFun = () => getMixCharData(outputBundle);\n            const { customHandle } = options;\n            const advise = await generateAdvise(outputBundle, this);\n            if (options.analyzerMode === 'server') {\n                startViewServe(getModuleDataFun, options);\n            }\n            else if (options.analyzerMode === 'json') {\n                const chartData = await getMixCharData(outputBundle);\n                this.emitFile({\n                    type: 'asset',\n                    name: options.statsFilename,\n                    fileName: options.statsFilename,\n                    source: JSON.stringify(chartData)\n                });\n            }\n            else if (options.analyzerMode === 'static') {\n                const chartData = await getMixCharData(outputBundle);\n                const html = renderViewer({\n                    title: 'rollup-bundle-analyzer',\n                    enableWebSocket: false,\n                    chartData,\n                    mode: 'static',\n                    defaultSizes: 'stat'\n                });\n                this.emitFile({\n                    type: 'asset',\n                    name: options.reportFilename,\n                    fileName: options.reportFilename,\n                    source: html\n                });\n            }\n            else if (options.analyzerMode === 'custom') {\n                const chartData = await getMixCharData(outputBundle);\n                const html = renderViewer({\n                    title: 'rollup-bundle-analyzer',\n                    enableWebSocket: false,\n                    chartData,\n                    mode: 'static',\n                    defaultSizes: 'stat'\n                });\n                if (typeof customHandle === 'function') {\n                    customHandle(chartData, html, advise);\n                }\n            }\n            else {\n                // @ts-ignore\n                logger.error(`${pkg.red('analyzerMode只支持server, json, static, custom')} `);\n            }\n        }\n    };\n}\n\nexports.default = bundleAnalyzer;\nmodule.exports = Object.assign(exports.default, exports);\n\n"]}