diff x/static/js/3778.e18101e6.chunk.js.map @ 125:49f3d3878413 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
author fubar
date Sat, 05 Oct 2024 23:58:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/x/static/js/3778.e18101e6.chunk.js.map	Sat Oct 05 23:58:05 2024 +0000
@@ -0,0 +1,1 @@
+{"version":3,"file":"static/js/3778.e18101e6.chunk.js","mappings":"mKAIA,SAAe,QAA4B,SAAK,OAAQ,CACtDA,EAAG,qLACD,c,0ECFJ,SAAe,QAA4B,SAAK,OAAQ,CACtDA,EAAG,gGACD,Q,6BCFJC,EAAQ,EAAU,SAAUC,EAAMC,GAChC,GAAID,GAAQC,EAAe,CACzB,IAAIC,EAAqBC,MAAMC,QAAQH,GAAiBA,EAAgBA,EAAcI,MAAM,KACxFC,EAAWN,EAAKO,MAAQ,GACxBC,GAAYR,EAAKS,MAAQ,IAAIC,cAC7BC,EAAeH,EAASI,QAAQ,QAAS,IAC7C,OAAOV,EAAmBW,MAAK,SAAUJ,GACvC,IAAIK,EAAYL,EAAKM,OAAOL,cAE5B,MAA4B,MAAxBI,EAAUE,OAAO,GACZV,EAASI,cAAcO,SAASH,GAC9BA,EAAUG,SAAS,MAErBN,IAAiBG,EAAUF,QAAQ,QAAS,IAG9CJ,IAAaM,CACtB,GACF,CAEA,OAAO,CACT,C,+BChBA,IAAII,EAAuB,EAAQ,KAEnC,SAASC,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3CG,EAAOvB,QAAU,WACf,SAASwB,EAAKC,EAAOC,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAAIA,IAAWX,EAAf,CAIA,IAAIY,EAAM,IAAIC,MACZ,mLAKF,MADAD,EAAIvB,KAAO,sBACLuB,CAPN,CAQF,CAEA,SAASE,IACP,OAAOT,CACT,CAHAA,EAAKU,WAAaV,EAMlB,IAAIW,EAAiB,CACnBC,MAAOZ,EACPa,OAAQb,EACRc,KAAMd,EACNe,KAAMf,EACNgB,OAAQhB,EACRiB,OAAQjB,EACRkB,OAAQlB,EACRmB,OAAQnB,EAERoB,IAAKpB,EACLqB,QAASZ,EACTa,QAAStB,EACTuB,YAAavB,EACbwB,WAAYf,EACZgB,KAAMzB,EACN0B,SAAUjB,EACVkB,MAAOlB,EACPmB,UAAWnB,EACXoB,MAAOpB,EACPqB,MAAOrB,EAEPsB,eAAgBlC,EAChBC,kBAAmBF,GAKrB,OAFAe,EAAeqB,UAAYrB,EAEpBA,CACT,C,kBC/CEZ,EAAOvB,QAAU,EAAQ,MAAR,E,uBCNnBuB,EAAOvB,QAFoB,8C,+FCTdyD,EAAoB,IAAIC,IAAI,CAErC,CAAC,MAAO,aACR,CAAC,MAAO,yBACR,CAAC,MAAO,yBACR,CAAC,OAAQ,cACT,CAAC,MAAO,mBACR,CAAC,MAAO,gCACR,CAAC,MAAO,4BACR,CAAC,MAAO,aACR,CAAC,KAAM,sBACP,CAAC,MAAO,uBACR,CAAC,MAAO,qBACR,CAAC,MAAO,qBACR,CAAC,MAAO,YACR,CAAC,MAAO,YACR,CAAC,MAAO,sBACR,CAAC,OAAQ,2EACT,CAAC,MAAO,iCACR,CAAC,OAAQ,wBACT,CAAC,KAAM,oBACP,CAAC,MAAO,aACR,CAAC,OAAQ,cACT,CAAC,OAAQ,cACT,CAAC,MAAO,aACR,CAAC,OAAQ,aACT,CAAC,MAAO,4BACR,CAAC,MAAO,iBACR,CAAC,MAAO,4BACR,CAAC,OAAQ,cACT,CAAC,MAAO,cACR,CAAC,KAAM,mBACP,CAAC,OAAQ,oBACT,CAAC,SAAU,uBACX,CAAC,MAAO,cACR,CAAC,OAAQ,cACT,CAAC,MAAO,mBACR,CAAC,MAAO,cACR,CAAC,MAAO,aACR,CAAC,OAAQ,cACT,CAAC,OAAQ,uCACT,CAAC,MAAO,mDACR,CAAC,MAAO,kDACR,CAAC,MAAO,2CACR,CAAC,MAAO,aACR,CAAC,MAAO,aACR,CAAC,MAAO,mBACR,CAAC,OAAQ,cACT,CAAC,MAAO,YACR,CAAC,MAAO,aACR,CAAC,MAAO,mBACR,CAAC,MAAO,2BACR,CAAC,MAAO,iCACR,CAAC,OAAQ,6EACT,CAAC,MAAO,uBACR,CAAC,MAAO,mBACR,CAAC,KAAM,oBACP,CAAC,MAAO,iBACR,CAAC,MAAO,iCACR,CAAC,MAAO,qBACR,CAAC,MAAO,cACR,CAAC,OAAQ,cACT,CAAC,KAAM,cACP,CAAC,MAAO,YACR,CAAC,MAAO,cACR,CAAC,MAAO,yBACR,CAAC,MAAO,aACR,CAAC,OAAQ,cACT,CAAC,OAAQ,cACT,CAAC,OAAQ,cACT,CAAC,OAAQ,aACT,CAAC,QAAS,cACV,CAAC,QAAS,yBACV,CAAC,MAAO,4BACR,CAAC,OAAQ,qEACT,CAAC,MAAO,mBACR,CAAC,MAAO,mCACR,CAAC,MAAO,mBACR,CAAC,KAAM,+BAGP,CAAC,MAAO,oBACR,CAAC,MAAO,mBACR,CAAC,MAAO,gCAIL,SAASC,EAAe1D,EAAoB2D,GAC/C,IAAMC,EAyBV,SAAsB5D,GACX,IAAAO,EAAQP,EAAI,KAGnB,GAFqBO,IAAmC,IAA3BA,EAAKsD,YAAY,OAEzB7D,EAAKS,KAAM,CAC5B,IAAMqD,EAAMvD,EAAKF,MAAM,KAClB0D,MAAOrD,cACND,EAAO+C,EAAkBQ,IAAIF,GAC/BrD,GACAwD,OAAOC,eAAelE,EAAM,OAAQ,CAChCmE,MAAO1D,EACP2D,UAAU,EACVC,cAAc,EACdC,YAAY,G,CAKxB,OAAOtE,CACX,CA5CcuE,CAAavE,GACvB,GAAsB,iBAAX4D,EAAED,KAAmB,CACrB,IAAAa,EAAsBxE,EAAI,mBACjCiE,OAAOC,eAAeN,EAAG,OAAQ,CAC7BO,MAAuB,iBAATR,EACRA,EAI8B,iBAAvBa,GAAmCA,EAAmBC,OAAS,EAClED,EACAxE,EAAKO,KACf6D,UAAU,EACVC,cAAc,EACdC,YAAY,G,CAIpB,OAAOV,CACX,CCxGA,IAAMc,EAAkB,CAEpB,YACA,aAiCJ,SAASC,EAAYC,GACjB,MAAoB,iBAANA,GAAwB,OAANA,CACpC,CAEA,SAASC,EAAcC,GACnB,OAAOC,EAAwBD,EAAIE,OAA4BC,OAAOC,KAAI,SAAAlF,GAAQ,OAAA0D,EAAe1D,EAAf,GACtF,CAGA,SAAemF,EAAiBC,G,sGACd,SAAMC,QAAQC,IAAIF,EAAQF,KAAI,SAAAK,GAAK,OAAAA,EAAEC,SAAF,M,OACjD,MAAO,CAAP,EADc,SACDN,KAAI,SAAAlF,GAAQ,OAAA0D,EAAe1D,EAAf,K,OAI7B,SAAeyF,EAAqBC,EAAkBjF,G,mHAG9CiF,EAAGC,OACGA,EAAQZ,EAA2BW,EAAGC,OACvCC,QAAO,SAAAC,GAAQ,MAAc,SAAdA,EAAKC,IAAL,IAGP,SAATrF,EACO,CAAP,EAAOkF,GAEG,GAAMN,QAAQC,IAAIK,EAAMT,IAAIa,MAR1C,M,OASA,MAAO,CAAP,EAAOC,EAAeC,EADR,Y,OAIlB,MAAO,CAAP,EAAOD,EAAejB,EAAuBW,EAAGT,OAC3CC,KAAI,SAAAlF,GAAQ,OAAA0D,EAAe1D,EAAf,M,OAGrB,SAASgG,EAAef,GACpB,OAAOA,EAAMW,QAAO,SAAA5F,GAAQ,OAAwC,IAAxC0E,EAAgBwB,QAAQlG,EAAKO,KAA7B,GAChC,CAMA,SAASwE,EAAYY,GACjB,GAAc,OAAVA,EACA,MAAO,GAMX,IAHA,IAAMV,EAAQ,GAGLkB,EAAI,EAAGA,EAAIR,EAAMlB,OAAQ0B,IAAK,CACnC,IAAMnG,EAAO2F,EAAMQ,GACnBlB,EAAMmB,KAAKpG,E,CAGf,OAAOiF,CACX,CAGA,SAASc,EAAeF,GACpB,GAAqC,mBAA1BA,EAAKQ,iBACZ,OAAOC,EAAqBT,GAGhC,IAAMU,EAAQV,EAAKQ,mBAKnB,OAAIE,GAASA,EAAMC,YACRC,EAAaF,GAGjBD,EAAqBT,EAChC,CAEA,SAASI,EAAWN,GAChB,OAAOA,EAAMe,QAAO,SAACC,EAAK1B,GAAU,oCAC7B0B,IAAG,YACFxG,MAAMC,QAAQ6E,GAASgB,EAAQhB,GAAS,CAACA,KAAO,EAFpB,GAGjC,GACP,CAEA,SAASqB,EAAqBT,GAC1B,IAAM7F,EAAO6F,EAAKe,YAClB,IAAK5G,EACD,OAAOqF,QAAQwB,OAAO,UAAGhB,EAAI,mBAEjC,IAAMiB,EAAMpD,EAAe1D,GAC3B,OAAOqF,QAAQ0B,QAAQD,EAC3B,CAGA,SAAeE,EAAUT,G,+EACrB,MAAO,CAAP,EAAOA,EAAMC,YAAcC,EAAaF,GAASU,EAAcV,G,OAInE,SAASE,EAAaF,GAClB,IAAMW,EAASX,EAAMY,eAErB,OAAO,IAAI9B,SAAqB,SAAC0B,EAASF,GACtC,IAAMO,EAAkC,IAExC,SAASC,IAAT,WAGIH,EAAOG,aAAY,SAAOC,GAAY,2C,qEAC7BA,EAAM7C,OAAP,Y,iBAGkB,O,sBAAA,GAAMY,QAAQC,IAAI8B,I,cAA1BnC,EAAQ,SACd8B,EAAQ9B,G,+BAER4B,EAAO,G,gCAGLlB,EAAQN,QAAQC,IAAIgC,EAAMpC,IAAI8B,IACpCI,EAAQhB,KAAKT,GAGb0B,I,qCAEL,SAACvF,GACA+E,EAAO/E,EACX,GACJ,CAEAuF,EACJ,GACJ,CAGA,SAAeJ,EAAcV,G,+EACzB,MAAO,CAAP,EAAO,IAAIlB,SAAsB,SAAC0B,EAASF,GACvCN,EAAMvG,MAAK,SAACA,GACR,IAAM8G,EAAMpD,EAAe1D,EAAMuG,EAAMgB,UACvCR,EAAQD,EACZ,IAAG,SAAChF,GACA+E,EAAO/E,EACX,GACJ,I,sBCpLJ,SAAS0F,EAAmBC,GAAO,OAMnC,SAA4BA,GAAO,GAAItH,MAAMC,QAAQqH,GAAM,OAAOC,EAAkBD,EAAM,CANhDE,CAAmBF,IAI7D,SAA0BG,GAAQ,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAOzH,MAAM4H,KAAKH,EAAO,CAJxFI,CAAiBP,IAAQQ,EAA4BR,IAE1H,WAAgC,MAAM,IAAIS,UAAU,uIAAyI,CAF3DC,EAAsB,CAQxJ,SAASC,EAAQ5F,EAAQ6F,GAAkB,IAAIC,EAAOrE,OAAOqE,KAAK9F,GAAS,GAAIyB,OAAOsE,sBAAuB,CAAE,IAAIC,EAAUvE,OAAOsE,sBAAsB/F,GAAS6F,IAAmBG,EAAUA,EAAQ5C,QAAO,SAAU6C,GAAO,OAAOxE,OAAOyE,yBAAyBlG,EAAQiG,GAAKnE,UAAY,KAAKgE,EAAKlC,KAAKuC,MAAML,EAAME,EAAU,CAAE,OAAOF,CAAM,CAEpV,SAASM,EAAc5D,GAAU,IAAK,IAAImB,EAAI,EAAGA,EAAI0C,UAAUpE,OAAQ0B,IAAK,CAAE,IAAI2C,EAAS,MAAQD,UAAU1C,GAAK0C,UAAU1C,GAAK,CAAC,EAAGA,EAAI,EAAIiC,EAAQnE,OAAO6E,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBjE,EAAQgE,EAAKF,EAAOE,GAAO,IAAK/E,OAAOiF,0BAA4BjF,OAAOkF,iBAAiBnE,EAAQf,OAAOiF,0BAA0BJ,IAAWV,EAAQnE,OAAO6E,IAASC,SAAQ,SAAUC,GAAO/E,OAAOC,eAAec,EAAQgE,EAAK/E,OAAOyE,yBAAyBI,EAAQE,GAAO,GAAI,CAAE,OAAOhE,CAAQ,CAEzf,SAASiE,EAAgBG,EAAKJ,EAAK7E,GAAiK,OAApJ6E,KAAOI,EAAOnF,OAAOC,eAAekF,EAAKJ,EAAK,CAAE7E,MAAOA,EAAOG,YAAY,EAAMD,cAAc,EAAMD,UAAU,IAAkBgF,EAAIJ,GAAO7E,EAAgBiF,CAAK,CAIhN,SAASC,EAAe5B,EAAKtB,GAAK,OAUlC,SAAyBsB,GAAO,GAAItH,MAAMC,QAAQqH,GAAM,OAAOA,CAAK,CAV3B6B,CAAgB7B,IAQzD,SAA+BA,EAAKtB,GAAK,IAAIoD,EAAY,MAAP9B,EAAc,KAAyB,oBAAXI,QAA0BJ,EAAII,OAAOC,WAAaL,EAAI,cAAe,GAAU,MAAN8B,EAAJ,CAAwB,IAAkDC,EAAIC,EAAlDC,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKL,EAAKA,EAAGM,KAAKpC,KAAQkC,GAAMH,EAAKD,EAAGO,QAAQC,QAAoBL,EAAKtD,KAAKoD,EAAGrF,QAAYgC,GAAKuD,EAAKjF,SAAW0B,GAA3DwD,GAAK,GAAkE,CAAE,MAAO7H,GAAO8H,GAAK,EAAMH,EAAK3H,CAAK,CAAE,QAAU,IAAW6H,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAIK,EAAI,MAAMH,CAAI,CAAE,CAAE,OAAOC,CAAjV,CAAuV,CAR/bM,CAAsBvC,EAAKtB,IAAM8B,EAA4BR,EAAKtB,IAEnI,WAA8B,MAAM,IAAI+B,UAAU,4IAA8I,CAFvD+B,EAAoB,CAI7J,SAAShC,EAA4BiC,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAOxC,EAAkBwC,EAAGC,GAAS,IAAIC,EAAInG,OAAOoG,UAAUC,SAAST,KAAKK,GAAGK,MAAM,GAAI,GAAiE,MAAnD,WAANH,GAAkBF,EAAEM,cAAaJ,EAAIF,EAAEM,YAAYjK,MAAgB,QAAN6J,GAAqB,QAANA,EAAoBjK,MAAM4H,KAAKmC,GAAc,cAANE,GAAqB,2CAA2CK,KAAKL,GAAW1C,EAAkBwC,EAAGC,QAAzG,CAA7O,CAA+V,CAE/Z,SAASzC,EAAkBD,EAAKiD,IAAkB,MAAPA,GAAeA,EAAMjD,EAAIhD,UAAQiG,EAAMjD,EAAIhD,QAAQ,IAAK,IAAI0B,EAAI,EAAGwE,EAAO,IAAIxK,MAAMuK,GAAMvE,EAAIuE,EAAKvE,IAAOwE,EAAKxE,GAAKsB,EAAItB,GAAM,OAAOwE,CAAM,CAQ/K,IAWIC,EAA6B,SAAoCC,GAC1EA,EAAS1K,MAAMC,QAAQyK,IAA6B,IAAlBA,EAAOpG,OAAeoG,EAAO,GAAKA,EACpE,IAAIC,EAAgB3K,MAAMC,QAAQyK,GAAU,UAAUE,OAAOF,EAAOG,KAAK,OAASH,EAClF,MAAO,CACLI,KAf2B,oBAgB3BC,QAAS,qBAAqBH,OAAOD,GAEzC,EACWK,EAA0B,SAAiCC,GACpE,MAAO,CACLH,KApBwB,iBAqBxBC,QAAS,uBAAuBH,OAAOK,EAAS,KAAKL,OAAmB,IAAZK,EAAgB,OAAS,SAEzF,EACWC,EAA0B,SAAiCC,GACpE,MAAO,CACLL,KAzBwB,iBA0BxBC,QAAS,wBAAwBH,OAAOO,EAAS,KAAKP,OAAmB,IAAZO,EAAgB,OAAS,SAE1F,EACWC,EAA2B,CACpCN,KA7B0B,iBA8B1BC,QAAS,kBAIJ,SAASM,EAAaxL,EAAM6K,GACjC,IAAIY,EAA6B,2BAAdzL,EAAKS,OAAqC,OAAQT,EAAM6K,GAC3E,MAAO,CAACY,EAAcA,EAAe,KAAOb,EAA2BC,GACzE,CACO,SAASa,EAAc1L,EAAMsL,EAASF,GAC3C,GAAIO,EAAU3L,EAAK4L,MACjB,GAAID,EAAUL,IAAYK,EAAUP,GAAU,CAC5C,GAAIpL,EAAK4L,KAAOR,EAAS,MAAO,EAAC,EAAOD,EAAwBC,IAChE,GAAIpL,EAAK4L,KAAON,EAAS,MAAO,EAAC,EAAOD,EAAwBC,GAClE,KAAO,IAAIK,EAAUL,IAAYtL,EAAK4L,KAAON,EAAS,MAAO,EAAC,EAAOD,EAAwBC,IAAe,GAAIK,EAAUP,IAAYpL,EAAK4L,KAAOR,EAAS,MAAO,EAAC,EAAOD,EAAwBC,GAAS,CAG7M,MAAO,EAAC,EAAM,KAChB,CAEA,SAASO,EAAUxH,GACjB,OAAOA,OACT,CA4CO,SAAS0H,EAAqBC,GACnC,MAA0C,mBAA/BA,EAAMD,qBACRC,EAAMD,4BAC0B,IAAvBC,EAAMC,cACfD,EAAMC,YAIjB,CACO,SAASC,EAAeF,GAC7B,OAAKA,EAAMG,aAMJ9L,MAAMkK,UAAUxJ,KAAKgJ,KAAKiC,EAAMG,aAAaC,OAAO,SAAUzL,GACnE,MAAgB,UAATA,GAA6B,2BAATA,CAC7B,MAPWqL,EAAM9G,UAAY8G,EAAM9G,OAAOC,KAQ5C,CAKO,SAASkH,EAAmBL,GACjCA,EAAMM,gBACR,CAyBO,SAASC,IACd,IAAK,IAAIC,EAAOzD,UAAUpE,OAAQ8H,EAAM,IAAIpM,MAAMmM,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAIC,GAAQ3D,UAAU2D,GAGxB,OAAO,SAAUV,GACf,IAAK,IAAIW,EAAQ5D,UAAUpE,OAAQiI,EAAO,IAAIvM,MAAMsM,EAAQ,EAAIA,EAAQ,EAAI,GAAIE,EAAQ,EAAGA,EAAQF,EAAOE,IACxGD,EAAKC,EAAQ,GAAK9D,UAAU8D,GAG9B,OAAOJ,EAAI1L,MAAK,SAAU+L,GAKxB,OAJKf,EAAqBC,IAAUc,GAClCA,EAAGjE,WAAM,EAAQ,CAACmD,GAAOf,OAAO2B,IAG3Bb,EAAqBC,EAC9B,GACF,CACF,CA0GO,SAASe,EAAWjI,GACzB,MAAa,YAANA,GAAyB,YAANA,GAAyB,YAANA,GAAyB,WAANA,GAAkB,iBAAiB6F,KAAK7F,EAC1G,CAMO,SAASkI,EAAMlI,GACpB,MAAO,cAAc6F,KAAK7F,EAC5B,CCzTA,IAAImI,EAAY,CAAC,YACbC,EAAa,CAAC,QACdC,EAAa,CAAC,SAAU,OAAQ,YAAa,UAAW,SAAU,UAAW,cAAe,aAAc,cAAe,UACzHC,EAAa,CAAC,SAAU,WAAY,WAUxC,SAAS,EAAezF,EAAKtB,GAAK,OAUlC,SAAyBsB,GAAO,GAAItH,MAAMC,QAAQqH,GAAM,OAAOA,CAAK,CAV3B,CAAgBA,IAQzD,SAA+BA,EAAKtB,GAAK,IAAIoD,EAAY,MAAP9B,EAAc,KAAyB,oBAAXI,QAA0BJ,EAAII,OAAOC,WAAaL,EAAI,cAAe,GAAU,MAAN8B,EAAJ,CAAwB,IAAkDC,EAAIC,EAAlDC,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKL,EAAKA,EAAGM,KAAKpC,KAAQkC,GAAMH,EAAKD,EAAGO,QAAQC,QAAoBL,EAAKtD,KAAKoD,EAAGrF,QAAYgC,GAAKuD,EAAKjF,SAAW0B,GAA3DwD,GAAK,GAAkE,CAAE,MAAO7H,GAAO8H,GAAK,EAAMH,EAAK3H,CAAK,CAAE,QAAU,IAAW6H,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAIK,EAAI,MAAMH,CAAI,CAAE,CAAE,OAAOC,CAAjV,CAAuV,CAR/b,CAAsBjC,EAAKtB,IAAM,EAA4BsB,EAAKtB,IAEnI,WAA8B,MAAM,IAAI+B,UAAU,4IAA8I,CAFvD,EAAoB,CAI7J,SAAS,EAA4BgC,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAO,EAAkBA,EAAGC,GAAS,IAAIC,EAAInG,OAAOoG,UAAUC,SAAST,KAAKK,GAAGK,MAAM,GAAI,GAAiE,MAAnD,WAANH,GAAkBF,EAAEM,cAAaJ,EAAIF,EAAEM,YAAYjK,MAAgB,QAAN6J,GAAqB,QAANA,EAAoBjK,MAAM4H,KAAKmC,GAAc,cAANE,GAAqB,2CAA2CK,KAAKL,GAAW,EAAkBF,EAAGC,QAAzG,CAA7O,CAA+V,CAE/Z,SAAS,EAAkB1C,EAAKiD,IAAkB,MAAPA,GAAeA,EAAMjD,EAAIhD,UAAQiG,EAAMjD,EAAIhD,QAAQ,IAAK,IAAI0B,EAAI,EAAGwE,EAAO,IAAIxK,MAAMuK,GAAMvE,EAAIuE,EAAKvE,IAAOwE,EAAKxE,GAAKsB,EAAItB,GAAM,OAAOwE,CAAM,CAMtL,SAAS,EAAQnI,EAAQ6F,GAAkB,IAAIC,EAAOrE,OAAOqE,KAAK9F,GAAS,GAAIyB,OAAOsE,sBAAuB,CAAE,IAAIC,EAAUvE,OAAOsE,sBAAsB/F,GAAS6F,IAAmBG,EAAUA,EAAQ5C,QAAO,SAAU6C,GAAO,OAAOxE,OAAOyE,yBAAyBlG,EAAQiG,GAAKnE,UAAY,KAAKgE,EAAKlC,KAAKuC,MAAML,EAAME,EAAU,CAAE,OAAOF,CAAM,CAEpV,SAAS,EAActD,GAAU,IAAK,IAAImB,EAAI,EAAGA,EAAI0C,UAAUpE,OAAQ0B,IAAK,CAAE,IAAI2C,EAAS,MAAQD,UAAU1C,GAAK0C,UAAU1C,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQlC,OAAO6E,IAAS,GAAIC,SAAQ,SAAUC,GAAO,EAAgBhE,EAAQgE,EAAKF,EAAOE,GAAO,IAAK/E,OAAOiF,0BAA4BjF,OAAOkF,iBAAiBnE,EAAQf,OAAOiF,0BAA0BJ,IAAW,EAAQ7E,OAAO6E,IAASC,SAAQ,SAAUC,GAAO/E,OAAOC,eAAec,EAAQgE,EAAK/E,OAAOyE,yBAAyBI,EAAQE,GAAO,GAAI,CAAE,OAAOhE,CAAQ,CAEzf,SAAS,EAAgBoE,EAAKJ,EAAK7E,GAAiK,OAApJ6E,KAAOI,EAAOnF,OAAOC,eAAekF,EAAKJ,EAAK,CAAE7E,MAAOA,EAAOG,YAAY,EAAMD,cAAc,EAAMD,UAAU,IAAkBgF,EAAIJ,GAAO7E,EAAgBiF,CAAK,CAEhN,SAAS+D,EAAyBrE,EAAQsE,GAAY,GAAc,MAAVtE,EAAgB,MAAO,CAAC,EAAG,IAAkEE,EAAK7C,EAAnEnB,EAEzF,SAAuC8D,EAAQsE,GAAY,GAAc,MAAVtE,EAAgB,MAAO,CAAC,EAAG,IAA2DE,EAAK7C,EAA5DnB,EAAS,CAAC,EAAOqI,EAAapJ,OAAOqE,KAAKQ,GAAqB,IAAK3C,EAAI,EAAGA,EAAIkH,EAAW5I,OAAQ0B,IAAO6C,EAAMqE,EAAWlH,GAAQiH,EAASlH,QAAQ8C,IAAQ,IAAahE,EAAOgE,GAAOF,EAAOE,IAAQ,OAAOhE,CAAQ,CAFhNsI,CAA8BxE,EAAQsE,GAAuB,GAAInJ,OAAOsE,sBAAuB,CAAE,IAAIgF,EAAmBtJ,OAAOsE,sBAAsBO,GAAS,IAAK3C,EAAI,EAAGA,EAAIoH,EAAiB9I,OAAQ0B,IAAO6C,EAAMuE,EAAiBpH,GAAQiH,EAASlH,QAAQ8C,IAAQ,GAAkB/E,OAAOoG,UAAUmD,qBAAqB3D,KAAKf,EAAQE,KAAgBhE,EAAOgE,GAAOF,EAAOE,GAAQ,CAAE,OAAOhE,CAAQ,CAwB3e,IAAIyI,IAAwB,IAAAC,aAAW,SAAUC,EAAMC,GACrD,IAAIC,EAAWF,EAAKE,SAGhBC,EAAeC,GAFNZ,EAAyBQ,EAAMZ,IAGxCiB,EAAOF,EAAaE,KACpBxM,EAAQ2L,EAAyBW,EAAcd,GAQnD,OANA,IAAAiB,qBAAoBL,GAAK,WACvB,MAAO,CACLI,KAAMA,EAEV,GAAG,CAACA,IAEgB,gBAAoB,EAAAE,SAAU,KAAML,EAAS,EAAc,EAAc,CAAC,EAAGrM,GAAQ,CAAC,EAAG,CAC3GwM,KAAMA,KAEV,IACAP,GAASU,YAAc,WAEvB,IAAIC,GAAe,CACjBC,UAAU,EACVC,kBFzDK,SAAyBxJ,G,+EAC5B,OAAIH,EAAoBG,IAWjBH,EAXwCG,EAAImH,cACxC,CAAP,EAAOxG,EAAqBX,EAAImH,aAAcnH,EAAIrE,OAc/CkE,EADUR,EAZMW,IAaUH,EAASR,EAAMa,QAZrC,CAAP,EAAOH,EAAcC,IACd3E,MAAMC,QAAQ0E,IAAQA,EAAIyJ,OAAM,SAAA1I,GAAQ,kBAAaA,GAAgC,mBAAjBA,EAAKL,OAAjC,IACxC,CAAP,EAAOL,EAAiBL,IAErB,CAAC,EAAD,IAOX,IAAqBX,C,QE2CnBiH,QAASoD,IACTlD,QAAS,EACTmD,UAAU,EACVC,SAAU,EACVC,uBAAuB,EACvBC,SAAS,EACTC,YAAY,EACZC,QAAQ,EACRC,sBAAsB,EACtBC,UAAW,KACXC,gBAAgB,EAChBC,WAAW,GAEbzB,GAASW,aAAeA,GACxBX,GAAS0B,UAAY,CAgBnBtB,SAAU,SASVhD,OAAQ,aAAmB,YAAkB,aAK7C4D,SAAU,SAKVE,sBAAuB,SAKvBC,QAAS,SAMTC,WAAY,SAKZC,OAAQ,SAKRC,qBAAsB,SAKtBzD,QAAS,WAKTF,QAAS,WAMTsD,SAAU,WAKVL,SAAU,SAOVC,kBAAmB,SAKnBc,mBAAoB,SAKpBC,iBAAkB,SAMlBJ,eAAgB,SAKhBC,UAAW,SAOXI,YAAa,SAObC,YAAa,SAObC,WAAY,SAgCZC,OAAQ,SASRC,eAAgB,SAShBC,eAAgB,SAOhBC,QAAS,SAOTZ,UAAW,UAwEb,IAAIa,GAAe,CACjBC,WAAW,EACXC,oBAAoB,EACpBC,cAAc,EACdC,cAAc,EACdC,cAAc,EACdjQ,cAAe,GACfkQ,eAAgB,IA+EX,SAASpC,KACd,IAAIvM,EAAQqH,UAAUpE,OAAS,QAAsB2L,IAAjBvH,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE7EwH,EAAsB,EAAc,EAAc,CAAC,EAAGjC,IAAe5M,GACrEqJ,EAASwF,EAAoBxF,OAC7BwD,EAAWgC,EAAoBhC,SAC/BC,EAAoB+B,EAAoB/B,kBACxClD,EAAUiF,EAAoBjF,QAC9BE,EAAU+E,EAAoB/E,QAC9BmD,EAAW4B,EAAoB5B,SAC/BC,EAAW2B,EAAoB3B,SAC/BY,EAAce,EAAoBf,YAClCC,EAAcc,EAAoBd,YAClCC,EAAaa,EAAoBb,WACjCC,EAASY,EAAoBZ,OAC7BC,EAAiBW,EAAoBX,eACrCC,EAAiBU,EAAoBV,eACrCP,EAAqBiB,EAAoBjB,mBACzCC,EAAmBgB,EAAoBhB,iBACvCJ,EAAiBoB,EAAoBpB,eACrCC,EAAYmB,EAAoBnB,UAChCP,EAAwB0B,EAAoB1B,sBAC5CC,EAAUyB,EAAoBzB,QAC9BC,EAAawB,EAAoBxB,WACjCC,EAASuB,EAAoBvB,OAC7BC,EAAuBsB,EAAoBtB,qBAC3Ca,EAAUS,EAAoBT,QAC9BZ,EAAYqB,EAAoBrB,UAEhCsB,GAAa,IAAAC,UAAQ,WACvB,ODrNG,SAAgC1F,GACrC,GAAIc,EAAUd,GACZ,OAAO5G,OAAOmD,QAAQyD,GAAQnE,QAAO,SAAU8J,EAAGC,GAChD,IAAIC,EAAQrH,EAAeoH,EAAO,GAC9BjQ,EAAWkQ,EAAM,GACjB5M,EAAM4M,EAAM,GAEhB,MAAO,GAAG3F,OAAOvD,EAAmBgJ,GAAI,CAAChQ,GAAWgH,EAAmB1D,GACzE,GAAG,IACF8B,QAAO,SAAUhB,GAChB,OAAOiI,EAAWjI,IAAMkI,EAAMlI,EAChC,IAAGoG,KAAK,IAIZ,CCsMW2F,CAAuB9F,EAChC,GAAG,CAACA,IACA+F,GAAc,IAAAL,UAAQ,WACxB,ODlQG,SAAiC1F,GACtC,OAAIc,EAAUd,GA0BL,CAAC,CAENgG,YAAa,QACbhG,OA5BoB5G,OAAOmD,QAAQyD,GAAQjF,QAAO,SAAUkL,GAC5D,IAAIC,EAAQ1H,EAAeyH,EAAO,GAC9BtQ,EAAWuQ,EAAM,GACjBjN,EAAMiN,EAAM,GAEZC,GAAK,EAYT,OAVKnE,EAAWrM,KACdyQ,QAAQC,KAAK,YAAanG,OAAOvK,EAAU,0KAC3CwQ,GAAK,GAGF7Q,MAAMC,QAAQ0D,IAASA,EAAIyK,MAAMzB,KACpCmE,QAAQC,KAAK,YAAanG,OAAOvK,EAAU,sDAC3CwQ,GAAK,GAGAA,CACT,IAAGtK,QAAO,SAAUyK,EAAKC,GACvB,IAAIC,EAAQhI,EAAe+H,EAAO,GAC9B5Q,EAAW6Q,EAAM,GACjBvN,EAAMuN,EAAM,GAEhB,OAAOzI,EAAcA,EAAc,CAAC,EAAGuI,GAAM,CAAC,EAAGlI,EAAgB,CAAC,EAAGzI,EAAUsD,GACjF,GAAG,CAAC,KAQC+G,CACT,CC+NWyG,CAAwBzG,EACjC,GAAG,CAACA,IACA0G,GAAqB,IAAAhB,UAAQ,WAC/B,MAAmC,mBAArBlB,EAAkCA,EAAmBmC,EACrE,GAAG,CAACnC,IACAoC,GAAuB,IAAAlB,UAAQ,WACjC,MAAqC,mBAAvBnB,EAAoCA,EAAqBoC,EACzE,GAAG,CAACpC,IAMAsC,GAAU,IAAAC,QAAO,MACjBC,IAAW,IAAAD,QAAO,MAGlBE,GAAe,GADD,IAAAC,YAAWC,GAASlC,IACS,GAC3CmC,GAAQH,GAAa,GACrBI,GAAWJ,GAAa,GAExB/B,GAAYkC,GAAMlC,UAClBC,GAAqBiC,GAAMjC,mBAC3BmC,IAAsB,IAAAP,QAAyB,oBAAXQ,QAA0BA,OAAOC,iBAAmBnD,GDnSrF,uBAAwBkD,QCqS3BE,GAAgB,YAEbH,GAAoBI,SAAWvC,IAClCwC,YAAW,WACLX,GAASU,UACCV,GAASU,QAAQrN,MAElBR,SACTwN,GAAS,CACPxR,KAAM,gBAERgR,KAGN,GAAG,IAEP,GAEA,IAAAe,YAAU,WAER,OADAL,OAAOM,iBAAiB,QAASJ,IAAe,GACzC,WACLF,OAAOO,oBAAoB,QAASL,IAAe,EACrD,CACF,GAAG,CAACT,GAAU7B,GAAoB0B,EAAsBS,KACxD,IAAIS,IAAiB,IAAAhB,QAAO,IAExBiB,GAAiB,SAAwB9G,GACvC4F,EAAQY,SAAWZ,EAAQY,QAAQO,SAAS/G,EAAM9G,UAKtD8G,EAAMM,iBACNuG,GAAeL,QAAU,GAC3B,GAEA,IAAAE,YAAU,WAMR,OALI7D,IACFmE,SAASL,iBAAiB,WAAYtG,GAAoB,GAC1D2G,SAASL,iBAAiB,OAAQG,IAAgB,IAG7C,WACDjE,IACFmE,SAASJ,oBAAoB,WAAYvG,GACzC2G,SAASJ,oBAAoB,OAAQE,IAEzC,CACF,GAAG,CAAClB,EAAS/C,KAEb,IAAA6D,YAAU,WAKR,OAJKnE,GAAYa,GAAawC,EAAQY,SACpCZ,EAAQY,QAAQS,QAGX,WAAa,CACtB,GAAG,CAACrB,EAASxC,EAAWb,IACxB,IAAI2E,IAAU,IAAAC,cAAY,SAAUC,GAC9BtD,EACFA,EAAQsD,GAGRjC,QAAQkC,MAAMD,EAElB,GAAG,CAACtD,IACAwD,IAAgB,IAAAH,cAAY,SAAUnH,GA9iB5C,IAA4BrE,EA+iBxBqE,EAAMM,iBAENN,EAAMuH,UACNC,GAAgBxH,GAChB6G,GAAeL,QAAU,GAAGvH,OA7iBhC,SAA4BtD,GAAO,GAAItH,MAAMC,QAAQqH,GAAM,OAAO,EAAkBA,EAAM,CANhD,CAAdA,EAmjB8BkL,GAAeL,UA/iBzE,SAA0B1K,GAAQ,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAOzH,MAAM4H,KAAKH,EAAO,CAJxF,CAAiBH,IAAQ,EAA4BA,IAE1H,WAAgC,MAAM,IAAIS,UAAU,uIAAyI,CAF3D,GAmjB/C,CAAC4D,EAAM9G,SAElFgH,EAAeF,IACjBzG,QAAQ0B,QAAQuH,EAAkBxC,IAAQyH,MAAK,SAAUtO,GACvD,IAAI4G,EAAqBC,IAAWiD,EAApC,CAIA,IAAIyE,EAAYvO,EAAMR,OAClBwL,EAAeuD,EAAY,GD9dhC,SAA0B7F,GAC/B,IAAI1I,EAAQ0I,EAAK1I,MACb4F,EAAS8C,EAAK9C,OACdS,EAAUqC,EAAKrC,QACfF,EAAUuC,EAAKvC,QACfqD,EAAWd,EAAKc,SAChBC,EAAWf,EAAKe,SAChBM,EAAYrB,EAAKqB,UAErB,SAAKP,GAAYxJ,EAAMR,OAAS,GAAKgK,GAAYC,GAAY,GAAKzJ,EAAMR,OAASiK,IAI1EzJ,EAAMsJ,OAAM,SAAUvO,GAC3B,IAEIyT,EADiBpK,EADDmC,EAAaxL,EAAM6K,GACY,GACrB,GAI1B6I,EADkBrK,EADDqC,EAAc1L,EAAMsL,EAASF,GACG,GACrB,GAE5BuI,EAAe3E,EAAYA,EAAUhP,GAAQ,KACjD,OAAOyT,GAAYC,IAAcC,CACnC,GACF,CCqc4CC,CAAiB,CACnD3O,MAAOA,EACP4F,OAAQyF,EACRhF,QAASA,EACTF,QAASA,EACTqD,SAAUA,EACVC,SAAUA,EACVM,UAAWA,IAGbiD,GAAS,CACPhC,aAAcA,EACdC,aAHiBsD,EAAY,IAAMvD,EAInCD,cAAc,EACdvP,KAAM,oBAGJ6O,GACFA,EAAYxD,EArBd,CAuBF,IAAG+H,OAAM,SAAUX,GACjB,OAAOF,GAAQE,EACjB,GAEJ,GAAG,CAAC5E,EAAmBgB,EAAa0D,GAASjE,EAAsBuB,EAAYhF,EAASF,EAASqD,EAAUC,EAAUM,IACjH8E,IAAe,IAAAb,cAAY,SAAUnH,GACvCA,EAAMM,iBACNN,EAAMuH,UACNC,GAAgBxH,GAChB,IAAIiI,EAAW/H,EAAeF,GAE9B,GAAIiI,GAAYjI,EAAMG,aACpB,IACEH,EAAMG,aAAa+H,WAAa,MAClC,CAAE,MAAOC,GAAU,CASrB,OAJIF,GAAYvE,GACdA,EAAW1D,IAGN,CACT,GAAG,CAAC0D,EAAYT,IACZmF,IAAgB,IAAAjB,cAAY,SAAUnH,GACxCA,EAAMM,iBACNN,EAAMuH,UACNC,GAAgBxH,GAEhB,IAAIqI,EAAUxB,GAAeL,QAAQ1M,QAAO,SAAUZ,GACpD,OAAO0M,EAAQY,SAAWZ,EAAQY,QAAQO,SAAS7N,EACrD,IAGIoP,EAAYD,EAAQjO,QAAQ4F,EAAM9G,SAEnB,IAAfoP,GACFD,EAAQE,OAAOD,EAAW,GAG5BzB,GAAeL,QAAU6B,EAErBA,EAAQ1P,OAAS,IAIrBwN,GAAS,CACPxR,KAAM,kBACNuP,cAAc,EACdC,cAAc,EACdC,cAAc,IAGZlE,EAAeF,IAAUyD,GAC3BA,EAAYzD,GAEhB,GAAG,CAAC4F,EAASnC,EAAaR,IACtBuF,IAAW,IAAArB,cAAY,SAAUhO,EAAO6G,GAC1C,IAAI7L,EAAgB,GAChBkQ,EAAiB,GACrBlL,EAAM8D,SAAQ,SAAU/I,GACtB,IACIuU,EAAiB,EADD/I,EAAaxL,EAAMsQ,GACY,GAC/CmD,EAAWc,EAAe,GAC1BC,EAAcD,EAAe,GAG7BE,EAAkB,EADD/I,EAAc1L,EAAMsL,EAASF,GACG,GACjDsI,EAAYe,EAAgB,GAC5BC,EAAYD,EAAgB,GAE5Bd,EAAe3E,EAAYA,EAAUhP,GAAQ,KAEjD,GAAIyT,GAAYC,IAAcC,EAC5B1T,EAAcmG,KAAKpG,OACd,CACL,IAAI2U,EAAS,CAACH,EAAaE,GAEvBf,IACFgB,EAASA,EAAO5J,OAAO4I,IAGzBxD,EAAe/J,KAAK,CAClBpG,KAAMA,EACN2U,OAAQA,EAAO/O,QAAO,SAAUsN,GAC9B,OAAOA,CACT,KAEJ,CACF,MAEKzE,GAAYxO,EAAcwE,OAAS,GAAKgK,GAAYC,GAAY,GAAKzO,EAAcwE,OAASiK,KAE/FzO,EAAc8I,SAAQ,SAAU/I,GAC9BmQ,EAAe/J,KAAK,CAClBpG,KAAMA,EACN2U,OAAQ,CAACpJ,IAEb,IACAtL,EAAcoU,OAAO,IAGvBpC,GAAS,CACPhS,cAAeA,EACfkQ,eAAgBA,EAChB1P,KAAM,aAGJgP,GACFA,EAAOxP,EAAekQ,EAAgBrE,GAGpCqE,EAAe1L,OAAS,GAAKkL,GAC/BA,EAAeQ,EAAgBrE,GAG7B7L,EAAcwE,OAAS,GAAKiL,GAC9BA,EAAezP,EAAe6L,EAElC,GAAG,CAACmG,GAAUxD,EAAU6B,EAAYhF,EAASF,EAASsD,EAAUe,EAAQC,EAAgBC,EAAgBX,IACpG4F,IAAW,IAAA3B,cAAY,SAAUnH,GACnCA,EAAMM,iBAENN,EAAMuH,UACNC,GAAgBxH,GAChB6G,GAAeL,QAAU,GAErBtG,EAAeF,IACjBzG,QAAQ0B,QAAQuH,EAAkBxC,IAAQyH,MAAK,SAAUtO,GACnD4G,EAAqBC,KAAWiD,GAIpCuF,GAASrP,EAAO6G,EAClB,IAAG+H,OAAM,SAAUX,GACjB,OAAOF,GAAQE,EACjB,IAGFjB,GAAS,CACPxR,KAAM,SAEV,GAAG,CAAC6N,EAAmBgG,GAAUtB,GAASjE,IAEtC8F,IAAiB,IAAA5B,cAAY,WAG/B,GAAIf,GAAoBI,QAAxB,CACEL,GAAS,CACPxR,KAAM,eAER8Q,IAEA,IAAIuD,EAAO,CACTrG,SAAUA,EACVvC,MAAO0E,GAETuB,OAAO4C,mBAAmBD,GAAMvB,MAAK,SAAUnO,GAC7C,OAAOkJ,EAAkBlJ,EAC3B,IAAGmO,MAAK,SAAUtO,GAChBqP,GAASrP,EAAO,MAChBgN,GAAS,CACPxR,KAAM,eAEV,IAAGoT,OAAM,SAAUX,GDjelB,IAAiBtO,KCmeJsO,aDleE8B,eAA4B,eAAXpQ,EAAErE,MAAyBqE,EAAEqG,OAASrG,EAAEqQ,YCmerExD,EAAqByB,GACrBjB,GAAS,CACPxR,KAAM,iBD3dX,SAAyBmE,GAC9B,OAAOA,aAAaoQ,eAA4B,kBAAXpQ,EAAErE,MAA4BqE,EAAEqG,OAASrG,EAAEsQ,aAClF,CC2dmBC,CAAgBjC,IACzBhB,GAAoBI,SAAU,EAG1BV,GAASU,SACXV,GAASU,QAAQnO,MAAQ,KACzByN,GAASU,QAAQ8C,SAEjBpC,GAAQ,IAAIjR,MAAM,mKAGpBiR,GAAQE,EAEZ,GAEF,MAEItB,GAASU,UACXL,GAAS,CACPxR,KAAM,eAER8Q,IACAK,GAASU,QAAQnO,MAAQ,KACzByN,GAASU,QAAQ8C,QAErB,GAAG,CAACnD,GAAUV,EAAoBE,EAAsBxC,EAAgBqF,GAAUtB,GAASpC,EAAanC,IAEpG4G,IAAc,IAAApC,cAAY,SAAUnH,GAEjC4F,EAAQY,SAAYZ,EAAQY,QAAQgD,YAAYxJ,EAAM9G,UAIzC,MAAd8G,EAAM9C,KAA6B,UAAd8C,EAAM9C,KAAqC,KAAlB8C,EAAMyJ,SAAoC,KAAlBzJ,EAAMyJ,UAC9EzJ,EAAMM,iBACNyI,MAEJ,GAAG,CAACnD,EAASmD,KAETW,IAAY,IAAAvC,cAAY,WAC1BhB,GAAS,CACPxR,KAAM,SAEV,GAAG,IACCgV,IAAW,IAAAxC,cAAY,WACzBhB,GAAS,CACPxR,KAAM,QAEV,GAAG,IAECiV,IAAY,IAAAzC,cAAY,WACtBrE,IDhpBD,WACL,IAAI+G,EAAY9M,UAAUpE,OAAS,QAAsB2L,IAAjBvH,UAAU,GAAmBA,UAAU,GAAKsJ,OAAOyD,UAAUD,UACrG,OAVF,SAAcA,GACZ,OAAsC,IAA/BA,EAAUzP,QAAQ,UAAqD,IAAnCyP,EAAUzP,QAAQ,WAC/D,CAQS2P,CAAKF,IANd,SAAgBA,GACd,OAAuC,IAAhCA,EAAUzP,QAAQ,QAC3B,CAI4B4P,CAAOH,EACnC,CCopBQI,GACFxD,WAAWsC,GAAgB,GAE3BA,KAEJ,GAAG,CAACjG,EAASiG,KAETmB,GAAiB,SAAwBpJ,GAC3C,OAAOyB,EAAW,KAAOzB,CAC3B,EAEIqJ,GAAyB,SAAgCrJ,GAC3D,OAAOiC,EAAa,KAAOmH,GAAepJ,EAC5C,EAEIsJ,GAAqB,SAA4BtJ,GACnD,OAAOkC,EAAS,KAAOkH,GAAepJ,EACxC,EAEI0G,GAAkB,SAAyBxH,GACzCiD,GACFjD,EAAMwH,iBAEV,EAEI6C,IAAe,IAAA5F,UAAQ,WACzB,OAAO,WACL,IAAIO,EAAQjI,UAAUpE,OAAS,QAAsB2L,IAAjBvH,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7EuN,EAAetF,EAAMuF,OACrBA,OAA0B,IAAjBD,EAA0B,MAAQA,EAC3CE,EAAOxF,EAAMwF,KACbC,EAAYzF,EAAMyF,UAClBC,EAAU1F,EAAM0F,QAChBC,EAAS3F,EAAM2F,OACfC,EAAU5F,EAAM4F,QAChBpH,EAAcwB,EAAMxB,YACpBE,EAAasB,EAAMtB,WACnBD,EAAcuB,EAAMvB,YACpBE,EAASqB,EAAMrB,OACfkH,EAAOxJ,EAAyB2D,EAAO7D,GAE3C,OAAO,EAAc,EAAc,EAAgB,CACjDsJ,UAAWN,GAAuB5J,EAAqBkK,EAAWlB,KAClEmB,QAASP,GAAuB5J,EAAqBmK,EAAShB,KAC9DiB,OAAQR,GAAuB5J,EAAqBoK,EAAQhB,KAC5DiB,QAASV,GAAe3J,EAAqBqK,EAAShB,KACtDpG,YAAa4G,GAAmB7J,EAAqBiD,EAAa8D,KAClE5D,WAAY0G,GAAmB7J,EAAqBmD,EAAYsE,KAChEvE,YAAa2G,GAAmB7J,EAAqBkD,EAAa2E,KAClEzE,OAAQyG,GAAmB7J,EAAqBoD,EAAQmF,KACxD0B,KAAsB,iBAATA,GAA8B,KAATA,EAAcA,EAAO,gBACtDD,EAAQ3E,GAAWrD,GAAaQ,EAE/B,CAAC,EAF2C,CAC9C+H,SAAU,IACHD,EACX,CACF,GAAG,CAACjF,EAAS2D,GAAaG,GAAWC,GAAUC,GAAWtC,GAAeU,GAAcI,GAAeU,GAAU/F,EAAYC,EAAQT,IAChIwI,IAAsB,IAAA5D,cAAY,SAAUnH,GAC9CA,EAAMwH,iBACR,GAAG,IACCwD,IAAgB,IAAAvG,UAAQ,WAC1B,OAAO,WACL,IAAIQ,EAAQlI,UAAUpE,OAAS,QAAsB2L,IAAjBvH,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7EkO,EAAehG,EAAMsF,OACrBA,OAA0B,IAAjBU,EAA0B,MAAQA,EAC3CC,EAAWjG,EAAMiG,SACjBN,EAAU3F,EAAM2F,QAChBC,EAAOxJ,EAAyB4D,EAAO7D,GAc3C,OAAO,EAAc,EAAc,CAAC,EAZnB,EAAgB,CAC/BrC,OAAQyF,EACR7B,SAAUA,EACVhO,KAAM,OACNwW,MAAO,CACLC,QAAS,QAEXF,SAAUhB,GAAe3J,EAAqB2K,EAAUpC,KACxD8B,QAASV,GAAe3J,EAAqBqK,EAASG,KACtDD,UAAW,GACVP,EAAQzE,KAEyC+E,EACtD,CACF,GAAG,CAAC/E,GAAU/G,EAAQ4D,EAAUmG,GAAUvG,IAC1C,OAAO,EAAc,EAAc,CAAC,EAAG2D,IAAQ,CAAC,EAAG,CACjDlC,UAAWA,KAAczB,EACzB8H,aAAcA,GACdW,cAAeA,GACfpF,QAASA,EACTE,SAAUA,GACV5D,KAAMgI,GAAenB,KAEzB,CAOA,SAAS9C,GAAQC,EAAOmF,GAEtB,OAAQA,EAAO1W,MACb,IAAK,QACH,OAAO,EAAc,EAAc,CAAC,EAAGuR,GAAQ,CAAC,EAAG,CACjDlC,WAAW,IAGf,IAAK,OACH,OAAO,EAAc,EAAc,CAAC,EAAGkC,GAAQ,CAAC,EAAG,CACjDlC,WAAW,IAGf,IAAK,aACH,OAAO,EAAc,EAAc,CAAC,EAAGD,IAAe,CAAC,EAAG,CACxDE,oBAAoB,IAGxB,IAAK,cACH,OAAO,EAAc,EAAc,CAAC,EAAGiC,GAAQ,CAAC,EAAG,CACjDjC,oBAAoB,IAGxB,IAAK,kBACH,OAAO,EAAc,EAAc,CAAC,EAAGiC,GAAQ,CAAC,EAAG,CACjDhC,aAAcmH,EAAOnH,aACrBC,aAAckH,EAAOlH,aACrBC,aAAciH,EAAOjH,eAGzB,IAAK,WACH,OAAO,EAAc,EAAc,CAAC,EAAG8B,GAAQ,CAAC,EAAG,CACjD/R,cAAekX,EAAOlX,cACtBkQ,eAAgBgH,EAAOhH,iBAG3B,IAAK,QACH,OAAO,EAAc,CAAC,EAAGN,IAE3B,QACE,OAAOmC,EAEb,CAEA,SAASR,KAAQ,C","sources":["../../../node_modules/@mui/icons-material/esm/CloudUpload.js","../../../node_modules/@mui/icons-material/esm/Error.js","../../../node_modules/attr-accept/dist/es/index.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/file-selector/src/file.ts","../../../node_modules/file-selector/src/file-selector.ts","../../../node_modules/react-dropzone/dist/es/utils/index.js","../../../node_modules/react-dropzone/dist/es/index.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n  d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z\"\n}), 'CloudUpload');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n  d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Error');","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n  if (file && acceptedFiles) {\n    var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n    var fileName = file.name || '';\n    var mimeType = (file.type || '').toLowerCase();\n    var baseMimeType = mimeType.replace(/\\/.*$/, '');\n    return acceptedFilesArray.some(function (type) {\n      var validType = type.trim().toLowerCase();\n\n      if (validType.charAt(0) === '.') {\n        return fileName.toLowerCase().endsWith(validType);\n      } else if (validType.endsWith('/*')) {\n        // This is something like a image/* mime type\n        return baseMimeType === validType.replace(/\\/.*$/, '');\n      }\n\n      return mimeType === validType;\n    });\n  }\n\n  return true;\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","export const COMMON_MIME_TYPES = new Map([\n    // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n    ['aac', 'audio/aac'],\n    ['abw', 'application/x-abiword'],\n    ['arc', 'application/x-freearc'],\n    ['avif', 'image/avif'],\n    ['avi', 'video/x-msvideo'],\n    ['azw', 'application/vnd.amazon.ebook'],\n    ['bin', 'application/octet-stream'],\n    ['bmp', 'image/bmp'],\n    ['bz', 'application/x-bzip'],\n    ['bz2', 'application/x-bzip2'],\n    ['cda', 'application/x-cdf'],\n    ['csh', 'application/x-csh'],\n    ['css', 'text/css'],\n    ['csv', 'text/csv'],\n    ['doc', 'application/msword'],\n    ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n    ['eot', 'application/vnd.ms-fontobject'],\n    ['epub', 'application/epub+zip'],\n    ['gz', 'application/gzip'],\n    ['gif', 'image/gif'],\n    ['heic', 'image/heic'],\n    ['heif', 'image/heif'],\n    ['htm', 'text/html'],\n    ['html', 'text/html'],\n    ['ico', 'image/vnd.microsoft.icon'],\n    ['ics', 'text/calendar'],\n    ['jar', 'application/java-archive'],\n    ['jpeg', 'image/jpeg'],\n    ['jpg', 'image/jpeg'],\n    ['js', 'text/javascript'],\n    ['json', 'application/json'],\n    ['jsonld', 'application/ld+json'],\n    ['mid', 'audio/midi'],\n    ['midi', 'audio/midi'],\n    ['mjs', 'text/javascript'],\n    ['mp3', 'audio/mpeg'],\n    ['mp4', 'video/mp4'],\n    ['mpeg', 'video/mpeg'],\n    ['mpkg', 'application/vnd.apple.installer+xml'],\n    ['odp', 'application/vnd.oasis.opendocument.presentation'],\n    ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n    ['odt', 'application/vnd.oasis.opendocument.text'],\n    ['oga', 'audio/ogg'],\n    ['ogv', 'video/ogg'],\n    ['ogx', 'application/ogg'],\n    ['opus', 'audio/opus'],\n    ['otf', 'font/otf'],\n    ['png', 'image/png'],\n    ['pdf', 'application/pdf'],\n    ['php', 'application/x-httpd-php'],\n    ['ppt', 'application/vnd.ms-powerpoint'],\n    ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n    ['rar', 'application/vnd.rar'],\n    ['rtf', 'application/rtf'],\n    ['sh', 'application/x-sh'],\n    ['svg', 'image/svg+xml'],\n    ['swf', 'application/x-shockwave-flash'],\n    ['tar', 'application/x-tar'],\n    ['tif', 'image/tiff'],\n    ['tiff', 'image/tiff'],\n    ['ts', 'video/mp2t'],\n    ['ttf', 'font/ttf'],\n    ['txt', 'text/plain'],\n    ['vsd', 'application/vnd.visio'],\n    ['wav', 'audio/wav'],\n    ['weba', 'audio/webm'],\n    ['webm', 'video/webm'],\n    ['webp', 'image/webp'],\n    ['woff', 'font/woff'],\n    ['woff2', 'font/woff2'],\n    ['xhtml', 'application/xhtml+xml'],\n    ['xls', 'application/vnd.ms-excel'],\n    ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n    ['xml', 'application/xml'],\n    ['xul', 'application/vnd.mozilla.xul+xml'],\n    ['zip', 'application/zip'],\n    ['7z', 'application/x-7z-compressed'],\n\n    // Others\n    ['mkv', 'video/x-matroska'],\n    ['mov', 'video/quicktime'],\n    ['msg', 'application/vnd.ms-outlook']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string): FileWithPath {\n    const f = withMimeType(file);\n    if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n        const {webkitRelativePath} = file;\n        Object.defineProperty(f, 'path', {\n            value: typeof path === 'string'\n                ? path\n                // If <input webkitdirectory> is set,\n                // the File will have a {webkitRelativePath} property\n                // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n                : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n                    ? webkitRelativePath\n                    : file.name,\n            writable: false,\n            configurable: false,\n            enumerable: true\n        });\n    }\n\n    return f;\n}\n\nexport interface FileWithPath extends File {\n    readonly path?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n    const {name} = file;\n    const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n    if (hasExtension && !file.type) {\n        const ext = name.split('.')\n            .pop()!.toLowerCase();\n        const type = COMMON_MIME_TYPES.get(ext);\n        if (type) {\n            Object.defineProperty(file, 'type', {\n                value: type,\n                writable: false,\n                configurable: false,\n                enumerable: true\n            });\n        }\n    }\n\n    return file;\n}\n","import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n    // Thumbnail cache files for macOS and Windows\n    '.DS_Store', // macOs\n    'Thumbs.db'  // Windows\n];\n\n\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport async function fromEvent(evt: Event | any): Promise<(FileWithPath | DataTransferItem)[]> {\n    if (isObject<DragEvent>(evt) && isDataTransfer(evt.dataTransfer)) {\n        return getDataTransferFiles(evt.dataTransfer, evt.type);\n    } else if (isChangeEvt(evt)) {\n        return getInputFiles(evt);\n    } else if (Array.isArray(evt) && evt.every(item => 'getFile' in item && typeof item.getFile === 'function')) {\n        return getFsHandleFiles(evt)\n    }\n    return [];\n}\n\nfunction isDataTransfer(value: any): value is DataTransfer {\n    return isObject(value);\n}\n\nfunction isChangeEvt(value: any): value is Event {\n    return isObject<Event>(value) && isObject(value.target);\n}\n\nfunction isObject<T>(v: any): v is T {\n    return typeof v === 'object' && v !== null\n}\n\nfunction getInputFiles(evt: Event) {\n    return fromList<FileWithPath>((evt.target as HTMLInputElement).files).map(file => toFileWithPath(file));\n}\n\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nasync function getFsHandleFiles(handles: any[]) {\n    const files = await Promise.all(handles.map(h => h.getFile()));\n    return files.map(file => toFileWithPath(file));\n}\n\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n    // IE11 does not support dataTransfer.items\n    // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n    if (dt.items) {\n        const items = fromList<DataTransferItem>(dt.items)\n            .filter(item => item.kind === 'file');\n        // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n        // only 'dragstart' and 'drop' has access to the data (source node)\n        if (type !== 'drop') {\n            return items;\n        }\n        const files = await Promise.all(items.map(toFilePromises));\n        return noIgnoredFiles(flatten<FileWithPath>(files));\n    }\n\n    return noIgnoredFiles(fromList<FileWithPath>(dt.files)\n        .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n    return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList<T>(items: DataTransferItemList | FileList | null): T[] {\n    if (items === null) {\n        return [];\n    }\n\n    const files = [];\n\n    // tslint:disable: prefer-for-of\n    for (let i = 0; i < items.length; i++) {\n        const file = items[i];\n        files.push(file);\n    }\n\n    return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n    if (typeof item.webkitGetAsEntry !== 'function') {\n        return fromDataTransferItem(item);\n    }\n\n    const entry = item.webkitGetAsEntry();\n\n    // Safari supports dropping an image node from a different window and can be retrieved using\n    // the DataTransferItem.getAsFile() API\n    // NOTE: FileSystemEntry.file() throws if trying to get the file\n    if (entry && entry.isDirectory) {\n        return fromDirEntry(entry) as any;\n    }\n\n    return fromDataTransferItem(item);\n}\n\nfunction flatten<T>(items: any[]): T[] {\n    return items.reduce((acc, files) => [\n        ...acc,\n        ...(Array.isArray(files) ? flatten(files) : [files])\n    ], []);\n}\n\nfunction fromDataTransferItem(item: DataTransferItem) {\n    const file = item.getAsFile();\n    if (!file) {\n        return Promise.reject(`${item} is not a File`);\n    }\n    const fwp = toFileWithPath(file);\n    return Promise.resolve(fwp);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n    return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n    const reader = entry.createReader();\n\n    return new Promise<FileArray[]>((resolve, reject) => {\n        const entries: Promise<FileValue[]>[] = [];\n\n        function readEntries() {\n            // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n            // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n            reader.readEntries(async (batch: any[]) => {\n                if (!batch.length) {\n                    // Done reading directory\n                    try {\n                        const files = await Promise.all(entries);\n                        resolve(files);\n                    } catch (err) {\n                        reject(err);\n                    }\n                } else {\n                    const items = Promise.all(batch.map(fromEntry));\n                    entries.push(items);\n\n                    // Continue reading\n                    readEntries();\n                }\n            }, (err: any) => {\n                reject(err);\n            });\n        }\n\n        readEntries();\n    });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n    return new Promise<FileWithPath>((resolve, reject) => {\n        entry.file((file: FileWithPath) => {\n            const fwp = toFileWithPath(file, entry.fullPath);\n            resolve(fwp);\n        }, (err: any) => {\n            reject(err);\n        });\n    });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array<FileValue> {}\ntype FileValue = FileWithPath\n    | FileArray[];\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from \"attr-accept\"; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n  FileInvalidType: FILE_INVALID_TYPE,\n  FileTooLarge: FILE_TOO_LARGE,\n  FileTooSmall: FILE_TOO_SMALL,\n  TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n  accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n  var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(\", \")) : accept;\n  return {\n    code: FILE_INVALID_TYPE,\n    message: \"File type must be \".concat(messageSuffix)\n  };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n  return {\n    code: FILE_TOO_LARGE,\n    message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n  };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n  return {\n    code: FILE_TOO_SMALL,\n    message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n  };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n  code: TOO_MANY_FILES,\n  message: \"Too many files\"\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n  var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n  return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n  if (isDefined(file.size)) {\n    if (isDefined(minSize) && isDefined(maxSize)) {\n      if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n      if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n    } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n  }\n\n  return [true, null];\n}\n\nfunction isDefined(value) {\n  return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string|string[]} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n  var files = _ref.files,\n      accept = _ref.accept,\n      minSize = _ref.minSize,\n      maxSize = _ref.maxSize,\n      multiple = _ref.multiple,\n      maxFiles = _ref.maxFiles,\n      validator = _ref.validator;\n\n  if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n    return false;\n  }\n\n  return files.every(function (file) {\n    var _fileAccepted = fileAccepted(file, accept),\n        _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n        accepted = _fileAccepted2[0];\n\n    var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n        _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n        sizeMatch = _fileMatchSize2[0];\n\n    var customErrors = validator ? validator(file) : null;\n    return accepted && sizeMatch && !customErrors;\n  });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n  if (typeof event.isPropagationStopped === \"function\") {\n    return event.isPropagationStopped();\n  } else if (typeof event.cancelBubble !== \"undefined\") {\n    return event.cancelBubble;\n  }\n\n  return false;\n}\nexport function isEvtWithFiles(event) {\n  if (!event.dataTransfer) {\n    return !!event.target && !!event.target.files;\n  } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n  // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n  return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n    return type === \"Files\" || type === \"application/x-moz-file\";\n  });\n}\nexport function isKindFile(item) {\n  return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n  event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n  return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n  return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n  var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n  return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n  for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n    fns[_key] = arguments[_key];\n  }\n\n  return function (event) {\n    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n      args[_key2 - 1] = arguments[_key2];\n    }\n\n    return fns.some(function (fn) {\n      if (!isPropagationStopped(event) && fn) {\n        fn.apply(void 0, [event].concat(args));\n      }\n\n      return isPropagationStopped(event);\n    });\n  };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n  return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n  if (isDefined(accept)) {\n    var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n      var _ref3 = _slicedToArray(_ref2, 2),\n          mimeType = _ref3[0],\n          ext = _ref3[1];\n\n      var ok = true;\n\n      if (!isMIMEType(mimeType)) {\n        console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n        ok = false;\n      }\n\n      if (!Array.isArray(ext) || !ext.every(isExt)) {\n        console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n        ok = false;\n      }\n\n      return ok;\n    }).reduce(function (agg, _ref4) {\n      var _ref5 = _slicedToArray(_ref4, 2),\n          mimeType = _ref5[0],\n          ext = _ref5[1];\n\n      return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n    }, {});\n    return [{\n      // description is required due to https://crbug.com/1264708\n      description: \"Files\",\n      accept: acceptForPicker\n    }];\n  }\n\n  return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n  if (isDefined(accept)) {\n    return Object.entries(accept).reduce(function (a, _ref6) {\n      var _ref7 = _slicedToArray(_ref6, 2),\n          mimeType = _ref7[0],\n          ext = _ref7[1];\n\n      return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n    }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n    .filter(function (v) {\n      return isMIMEType(v) || isExt(v);\n    }).join(\",\");\n  }\n\n  return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n  return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n  return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n  return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n  return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.<string, string[]>} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */","var _excluded = [\"children\"],\n    _excluded2 = [\"open\"],\n    _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n    _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * <Dropzone>\n *   {({getRootProps, getInputProps}) => (\n *     <div {...getRootProps()}>\n *       <input {...getInputProps()} />\n *       <p>Drag 'n' drop some files here, or click to select files</p>\n *     </div>\n *   )}\n * </Dropzone>\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n  var children = _ref.children,\n      params = _objectWithoutProperties(_ref, _excluded);\n\n  var _useDropzone = useDropzone(params),\n      open = _useDropzone.open,\n      props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n  useImperativeHandle(ref, function () {\n    return {\n      open: open\n    };\n  }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n  return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n    open: open\n  })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n  disabled: false,\n  getFilesFromEvent: fromEvent,\n  maxSize: Infinity,\n  minSize: 0,\n  multiple: true,\n  maxFiles: 0,\n  preventDropOnDocument: true,\n  noClick: false,\n  noKeyboard: false,\n  noDrag: false,\n  noDragEventsBubbling: false,\n  validator: null,\n  useFsAccessApi: true,\n  autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n  /**\n   * Render function that exposes the dropzone state and prop getter fns\n   *\n   * @param {object} params\n   * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n   * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n   * @param {Function} params.open Open the native file selection dialog\n   * @param {boolean} params.isFocused Dropzone area is in focus\n   * @param {boolean} params.isFileDialogActive File dialog is opened\n   * @param {boolean} params.isDragActive Active drag is in progress\n   * @param {boolean} params.isDragAccept Dragged files are accepted\n   * @param {boolean} params.isDragReject Some dragged files are rejected\n   * @param {File[]} params.acceptedFiles Accepted files\n   * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n   */\n  children: PropTypes.func,\n\n  /**\n   * Set accepted file types.\n   * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n   * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n   * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n   * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n   */\n  accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n  /**\n   * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n   */\n  multiple: PropTypes.bool,\n\n  /**\n   * If false, allow dropped items to take over the current browser window\n   */\n  preventDropOnDocument: PropTypes.bool,\n\n  /**\n   * If true, disables click to open the native file selection dialog\n   */\n  noClick: PropTypes.bool,\n\n  /**\n   * If true, disables SPACE/ENTER to open the native file selection dialog.\n   * Note that it also stops tracking the focus state.\n   */\n  noKeyboard: PropTypes.bool,\n\n  /**\n   * If true, disables drag 'n' drop\n   */\n  noDrag: PropTypes.bool,\n\n  /**\n   * If true, stops drag event propagation to parents\n   */\n  noDragEventsBubbling: PropTypes.bool,\n\n  /**\n   * Minimum file size (in bytes)\n   */\n  minSize: PropTypes.number,\n\n  /**\n   * Maximum file size (in bytes)\n   */\n  maxSize: PropTypes.number,\n\n  /**\n   * Maximum accepted number of files\n   * The default value is 0 which means there is no limitation to how many files are accepted.\n   */\n  maxFiles: PropTypes.number,\n\n  /**\n   * Enable/disable the dropzone\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Use this to provide a custom file aggregator\n   *\n   * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n   */\n  getFilesFromEvent: PropTypes.func,\n\n  /**\n   * Cb for when closing the file dialog with no selection\n   */\n  onFileDialogCancel: PropTypes.func,\n\n  /**\n   * Cb for when opening the file dialog\n   */\n  onFileDialogOpen: PropTypes.func,\n\n  /**\n   * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n   * to open the file picker instead of using an `<input type=\"file\">` click event.\n   */\n  useFsAccessApi: PropTypes.bool,\n\n  /**\n   * Set to true to focus the root element on render\n   */\n  autoFocus: PropTypes.bool,\n\n  /**\n   * Cb for when the `dragenter` event occurs.\n   *\n   * @param {DragEvent} event\n   */\n  onDragEnter: PropTypes.func,\n\n  /**\n   * Cb for when the `dragleave` event occurs\n   *\n   * @param {DragEvent} event\n   */\n  onDragLeave: PropTypes.func,\n\n  /**\n   * Cb for when the `dragover` event occurs\n   *\n   * @param {DragEvent} event\n   */\n  onDragOver: PropTypes.func,\n\n  /**\n   * Cb for when the `drop` event occurs.\n   * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n   *\n   * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n   * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n   * If `multiple` is set to false and additional files are dropped,\n   * all files besides the first will be rejected.\n   * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n   *\n   * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n   * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n   *\n   * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n   * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n   *\n   * ```js\n   * function onDrop(acceptedFiles) {\n   *   const req = request.post('/upload')\n   *   acceptedFiles.forEach(file => {\n   *     req.attach(file.name, file)\n   *   })\n   *   req.end(callback)\n   * }\n   * ```\n   *\n   * @param {File[]} acceptedFiles\n   * @param {FileRejection[]} fileRejections\n   * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n   */\n  onDrop: PropTypes.func,\n\n  /**\n   * Cb for when the `drop` event occurs.\n   * Note that if no files are accepted, this callback is not invoked.\n   *\n   * @param {File[]} files\n   * @param {(DragEvent|Event)} event\n   */\n  onDropAccepted: PropTypes.func,\n\n  /**\n   * Cb for when the `drop` event occurs.\n   * Note that if no files are rejected, this callback is not invoked.\n   *\n   * @param {FileRejection[]} fileRejections\n   * @param {(DragEvent|Event)} event\n   */\n  onDropRejected: PropTypes.func,\n\n  /**\n   * Cb for when there's some error from any of the promises.\n   *\n   * @param {Error} error\n   */\n  onError: PropTypes.func,\n\n  /**\n   * Custom validation function. It must return null if there's no errors.\n   * @param {File} file\n   * @returns {FileError|FileError[]|null}\n   */\n  validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise<File[]>)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n  isFocused: false,\n  isFileDialogActive: false,\n  isDragActive: false,\n  isDragAccept: false,\n  isDragReject: false,\n  acceptedFiles: [],\n  fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n *   const {getRootProps, getInputProps} = useDropzone({\n *     onDrop: acceptedFiles => {\n *       // do something with the File objects, e.g. upload to some server\n *     }\n *   });\n *   return (\n *     <div {...getRootProps()}>\n *       <input {...getInputProps()} />\n *       <p>Drag and drop some files here, or click to select files</p>\n *     </div>\n *   )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n *   const req = request.post('/upload')\n *   acceptedFiles.forEach(file => {\n *     req.attach(file.name, file)\n *   })\n *   req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n      accept = _defaultProps$props.accept,\n      disabled = _defaultProps$props.disabled,\n      getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n      maxSize = _defaultProps$props.maxSize,\n      minSize = _defaultProps$props.minSize,\n      multiple = _defaultProps$props.multiple,\n      maxFiles = _defaultProps$props.maxFiles,\n      onDragEnter = _defaultProps$props.onDragEnter,\n      onDragLeave = _defaultProps$props.onDragLeave,\n      onDragOver = _defaultProps$props.onDragOver,\n      onDrop = _defaultProps$props.onDrop,\n      onDropAccepted = _defaultProps$props.onDropAccepted,\n      onDropRejected = _defaultProps$props.onDropRejected,\n      onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n      onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n      useFsAccessApi = _defaultProps$props.useFsAccessApi,\n      autoFocus = _defaultProps$props.autoFocus,\n      preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n      noClick = _defaultProps$props.noClick,\n      noKeyboard = _defaultProps$props.noKeyboard,\n      noDrag = _defaultProps$props.noDrag,\n      noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n      onError = _defaultProps$props.onError,\n      validator = _defaultProps$props.validator;\n\n  var acceptAttr = useMemo(function () {\n    return acceptPropAsAcceptAttr(accept);\n  }, [accept]);\n  var pickerTypes = useMemo(function () {\n    return pickerOptionsFromAccept(accept);\n  }, [accept]);\n  var onFileDialogOpenCb = useMemo(function () {\n    return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n  }, [onFileDialogOpen]);\n  var onFileDialogCancelCb = useMemo(function () {\n    return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n  }, [onFileDialogCancel]);\n  /**\n   * @constant\n   * @type {React.MutableRefObject<HTMLElement>}\n   */\n\n  var rootRef = useRef(null);\n  var inputRef = useRef(null);\n\n  var _useReducer = useReducer(reducer, initialState),\n      _useReducer2 = _slicedToArray(_useReducer, 2),\n      state = _useReducer2[0],\n      dispatch = _useReducer2[1];\n\n  var isFocused = state.isFocused,\n      isFileDialogActive = state.isFileDialogActive;\n  var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n  var onWindowFocus = function onWindowFocus() {\n    // Execute the timeout only if the file dialog is opened in the browser\n    if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n      setTimeout(function () {\n        if (inputRef.current) {\n          var files = inputRef.current.files;\n\n          if (!files.length) {\n            dispatch({\n              type: \"closeDialog\"\n            });\n            onFileDialogCancelCb();\n          }\n        }\n      }, 300);\n    }\n  };\n\n  useEffect(function () {\n    window.addEventListener(\"focus\", onWindowFocus, false);\n    return function () {\n      window.removeEventListener(\"focus\", onWindowFocus, false);\n    };\n  }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n  var dragTargetsRef = useRef([]);\n\n  var onDocumentDrop = function onDocumentDrop(event) {\n    if (rootRef.current && rootRef.current.contains(event.target)) {\n      // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n      return;\n    }\n\n    event.preventDefault();\n    dragTargetsRef.current = [];\n  };\n\n  useEffect(function () {\n    if (preventDropOnDocument) {\n      document.addEventListener(\"dragover\", onDocumentDragOver, false);\n      document.addEventListener(\"drop\", onDocumentDrop, false);\n    }\n\n    return function () {\n      if (preventDropOnDocument) {\n        document.removeEventListener(\"dragover\", onDocumentDragOver);\n        document.removeEventListener(\"drop\", onDocumentDrop);\n      }\n    };\n  }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n  useEffect(function () {\n    if (!disabled && autoFocus && rootRef.current) {\n      rootRef.current.focus();\n    }\n\n    return function () {};\n  }, [rootRef, autoFocus, disabled]);\n  var onErrCb = useCallback(function (e) {\n    if (onError) {\n      onError(e);\n    } else {\n      // Let the user know something's gone wrong if they haven't provided the onError cb.\n      console.error(e);\n    }\n  }, [onError]);\n  var onDragEnterCb = useCallback(function (event) {\n    event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n    event.persist();\n    stopPropagation(event);\n    dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n    if (isEvtWithFiles(event)) {\n      Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n        if (isPropagationStopped(event) && !noDragEventsBubbling) {\n          return;\n        }\n\n        var fileCount = files.length;\n        var isDragAccept = fileCount > 0 && allFilesAccepted({\n          files: files,\n          accept: acceptAttr,\n          minSize: minSize,\n          maxSize: maxSize,\n          multiple: multiple,\n          maxFiles: maxFiles,\n          validator: validator\n        });\n        var isDragReject = fileCount > 0 && !isDragAccept;\n        dispatch({\n          isDragAccept: isDragAccept,\n          isDragReject: isDragReject,\n          isDragActive: true,\n          type: \"setDraggedFiles\"\n        });\n\n        if (onDragEnter) {\n          onDragEnter(event);\n        }\n      }).catch(function (e) {\n        return onErrCb(e);\n      });\n    }\n  }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n  var onDragOverCb = useCallback(function (event) {\n    event.preventDefault();\n    event.persist();\n    stopPropagation(event);\n    var hasFiles = isEvtWithFiles(event);\n\n    if (hasFiles && event.dataTransfer) {\n      try {\n        event.dataTransfer.dropEffect = \"copy\";\n      } catch (_unused) {}\n      /* eslint-disable-line no-empty */\n\n    }\n\n    if (hasFiles && onDragOver) {\n      onDragOver(event);\n    }\n\n    return false;\n  }, [onDragOver, noDragEventsBubbling]);\n  var onDragLeaveCb = useCallback(function (event) {\n    event.preventDefault();\n    event.persist();\n    stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n    var targets = dragTargetsRef.current.filter(function (target) {\n      return rootRef.current && rootRef.current.contains(target);\n    }); // Make sure to remove a target present multiple times only once\n    // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n    var targetIdx = targets.indexOf(event.target);\n\n    if (targetIdx !== -1) {\n      targets.splice(targetIdx, 1);\n    }\n\n    dragTargetsRef.current = targets;\n\n    if (targets.length > 0) {\n      return;\n    }\n\n    dispatch({\n      type: \"setDraggedFiles\",\n      isDragActive: false,\n      isDragAccept: false,\n      isDragReject: false\n    });\n\n    if (isEvtWithFiles(event) && onDragLeave) {\n      onDragLeave(event);\n    }\n  }, [rootRef, onDragLeave, noDragEventsBubbling]);\n  var setFiles = useCallback(function (files, event) {\n    var acceptedFiles = [];\n    var fileRejections = [];\n    files.forEach(function (file) {\n      var _fileAccepted = fileAccepted(file, acceptAttr),\n          _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n          accepted = _fileAccepted2[0],\n          acceptError = _fileAccepted2[1];\n\n      var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n          _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n          sizeMatch = _fileMatchSize2[0],\n          sizeError = _fileMatchSize2[1];\n\n      var customErrors = validator ? validator(file) : null;\n\n      if (accepted && sizeMatch && !customErrors) {\n        acceptedFiles.push(file);\n      } else {\n        var errors = [acceptError, sizeError];\n\n        if (customErrors) {\n          errors = errors.concat(customErrors);\n        }\n\n        fileRejections.push({\n          file: file,\n          errors: errors.filter(function (e) {\n            return e;\n          })\n        });\n      }\n    });\n\n    if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n      // Reject everything and empty accepted files\n      acceptedFiles.forEach(function (file) {\n        fileRejections.push({\n          file: file,\n          errors: [TOO_MANY_FILES_REJECTION]\n        });\n      });\n      acceptedFiles.splice(0);\n    }\n\n    dispatch({\n      acceptedFiles: acceptedFiles,\n      fileRejections: fileRejections,\n      type: \"setFiles\"\n    });\n\n    if (onDrop) {\n      onDrop(acceptedFiles, fileRejections, event);\n    }\n\n    if (fileRejections.length > 0 && onDropRejected) {\n      onDropRejected(fileRejections, event);\n    }\n\n    if (acceptedFiles.length > 0 && onDropAccepted) {\n      onDropAccepted(acceptedFiles, event);\n    }\n  }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n  var onDropCb = useCallback(function (event) {\n    event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n    event.persist();\n    stopPropagation(event);\n    dragTargetsRef.current = [];\n\n    if (isEvtWithFiles(event)) {\n      Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n        if (isPropagationStopped(event) && !noDragEventsBubbling) {\n          return;\n        }\n\n        setFiles(files, event);\n      }).catch(function (e) {\n        return onErrCb(e);\n      });\n    }\n\n    dispatch({\n      type: \"reset\"\n    });\n  }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n  var openFileDialog = useCallback(function () {\n    // No point to use FS access APIs if context is not secure\n    // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n    if (fsAccessApiWorksRef.current) {\n      dispatch({\n        type: \"openDialog\"\n      });\n      onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n      var opts = {\n        multiple: multiple,\n        types: pickerTypes\n      };\n      window.showOpenFilePicker(opts).then(function (handles) {\n        return getFilesFromEvent(handles);\n      }).then(function (files) {\n        setFiles(files, null);\n        dispatch({\n          type: \"closeDialog\"\n        });\n      }).catch(function (e) {\n        // AbortError means the user canceled\n        if (isAbort(e)) {\n          onFileDialogCancelCb(e);\n          dispatch({\n            type: \"closeDialog\"\n          });\n        } else if (isSecurityError(e)) {\n          fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n          // Try using the input\n\n          if (inputRef.current) {\n            inputRef.current.value = null;\n            inputRef.current.click();\n          } else {\n            onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.\"));\n          }\n        } else {\n          onErrCb(e);\n        }\n      });\n      return;\n    }\n\n    if (inputRef.current) {\n      dispatch({\n        type: \"openDialog\"\n      });\n      onFileDialogOpenCb();\n      inputRef.current.value = null;\n      inputRef.current.click();\n    }\n  }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n  var onKeyDownCb = useCallback(function (event) {\n    // Ignore keyboard events bubbling up the DOM tree\n    if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n      return;\n    }\n\n    if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n      event.preventDefault();\n      openFileDialog();\n    }\n  }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n  var onFocusCb = useCallback(function () {\n    dispatch({\n      type: \"focus\"\n    });\n  }, []);\n  var onBlurCb = useCallback(function () {\n    dispatch({\n      type: \"blur\"\n    });\n  }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n  var onClickCb = useCallback(function () {\n    if (noClick) {\n      return;\n    } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n    // to ensure React can handle state changes\n    // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n    if (isIeOrEdge()) {\n      setTimeout(openFileDialog, 0);\n    } else {\n      openFileDialog();\n    }\n  }, [noClick, openFileDialog]);\n\n  var composeHandler = function composeHandler(fn) {\n    return disabled ? null : fn;\n  };\n\n  var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n    return noKeyboard ? null : composeHandler(fn);\n  };\n\n  var composeDragHandler = function composeDragHandler(fn) {\n    return noDrag ? null : composeHandler(fn);\n  };\n\n  var stopPropagation = function stopPropagation(event) {\n    if (noDragEventsBubbling) {\n      event.stopPropagation();\n    }\n  };\n\n  var getRootProps = useMemo(function () {\n    return function () {\n      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref2$refKey = _ref2.refKey,\n          refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n          role = _ref2.role,\n          onKeyDown = _ref2.onKeyDown,\n          onFocus = _ref2.onFocus,\n          onBlur = _ref2.onBlur,\n          onClick = _ref2.onClick,\n          onDragEnter = _ref2.onDragEnter,\n          onDragOver = _ref2.onDragOver,\n          onDragLeave = _ref2.onDragLeave,\n          onDrop = _ref2.onDrop,\n          rest = _objectWithoutProperties(_ref2, _excluded3);\n\n      return _objectSpread(_objectSpread(_defineProperty({\n        onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n        onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n        onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n        onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n        onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n        onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n        onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n        onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n        role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n      }, refKey, rootRef), !disabled && !noKeyboard ? {\n        tabIndex: 0\n      } : {}), rest);\n    };\n  }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n  var onInputElementClick = useCallback(function (event) {\n    event.stopPropagation();\n  }, []);\n  var getInputProps = useMemo(function () {\n    return function () {\n      var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref3$refKey = _ref3.refKey,\n          refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n          onChange = _ref3.onChange,\n          onClick = _ref3.onClick,\n          rest = _objectWithoutProperties(_ref3, _excluded4);\n\n      var inputProps = _defineProperty({\n        accept: acceptAttr,\n        multiple: multiple,\n        type: \"file\",\n        style: {\n          display: \"none\"\n        },\n        onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n        onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n        tabIndex: -1\n      }, refKey, inputRef);\n\n      return _objectSpread(_objectSpread({}, inputProps), rest);\n    };\n  }, [inputRef, accept, multiple, onDropCb, disabled]);\n  return _objectSpread(_objectSpread({}, state), {}, {\n    isFocused: isFocused && !disabled,\n    getRootProps: getRootProps,\n    getInputProps: getInputProps,\n    rootRef: rootRef,\n    inputRef: inputRef,\n    open: composeHandler(openFileDialog)\n  });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n  /* istanbul ignore next */\n  switch (action.type) {\n    case \"focus\":\n      return _objectSpread(_objectSpread({}, state), {}, {\n        isFocused: true\n      });\n\n    case \"blur\":\n      return _objectSpread(_objectSpread({}, state), {}, {\n        isFocused: false\n      });\n\n    case \"openDialog\":\n      return _objectSpread(_objectSpread({}, initialState), {}, {\n        isFileDialogActive: true\n      });\n\n    case \"closeDialog\":\n      return _objectSpread(_objectSpread({}, state), {}, {\n        isFileDialogActive: false\n      });\n\n    case \"setDraggedFiles\":\n      return _objectSpread(_objectSpread({}, state), {}, {\n        isDragActive: action.isDragActive,\n        isDragAccept: action.isDragAccept,\n        isDragReject: action.isDragReject\n      });\n\n    case \"setFiles\":\n      return _objectSpread(_objectSpread({}, state), {}, {\n        acceptedFiles: action.acceptedFiles,\n        fileRejections: action.fileRejections\n      });\n\n    case \"reset\":\n      return _objectSpread({}, initialState);\n\n    default:\n      return state;\n  }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";"],"names":["d","exports","file","acceptedFiles","acceptedFilesArray","Array","isArray","split","fileName","name","mimeType","type","toLowerCase","baseMimeType","replace","some","validType","trim","charAt","endsWith","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","COMMON_MIME_TYPES","Map","toFileWithPath","path","f","lastIndexOf","ext","pop","get","Object","defineProperty","value","writable","configurable","enumerable","withMimeType","webkitRelativePath","length","FILES_TO_IGNORE","isObject","v","getInputFiles","evt","fromList","target","files","map","getFsHandleFiles","handles","Promise","all","h","getFile","getDataTransferFiles","dt","items","filter","item","kind","toFilePromises","noIgnoredFiles","flatten","indexOf","i","push","webkitGetAsEntry","fromDataTransferItem","entry","isDirectory","fromDirEntry","reduce","acc","getAsFile","reject","fwp","resolve","fromEntry","fromFileEntry","reader","createReader","entries","readEntries","batch","fullPath","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","_unsupportedIterableToArray","TypeError","_nonIterableSpread","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","call","next","done","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","prototype","toString","slice","constructor","test","len","arr2","getInvalidTypeRejectionErr","accept","messageSuffix","concat","join","code","message","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","fileMatchSize","isDefined","size","isPropagationStopped","event","cancelBubble","isEvtWithFiles","dataTransfer","types","onDocumentDragOver","preventDefault","composeEventHandlers","_len","fns","_key","_len2","args","_key2","fn","isMIMEType","isExt","_excluded","_excluded2","_excluded3","_excluded4","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","Dropzone","forwardRef","_ref","ref","children","_useDropzone","useDropzone","open","useImperativeHandle","Fragment","displayName","defaultProps","disabled","getFilesFromEvent","every","Infinity","multiple","maxFiles","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","validator","useFsAccessApi","autoFocus","propTypes","onFileDialogCancel","onFileDialogOpen","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","onError","initialState","isFocused","isFileDialogActive","isDragActive","isDragAccept","isDragReject","fileRejections","undefined","_defaultProps$props","acceptAttr","useMemo","a","_ref6","_ref7","acceptPropAsAcceptAttr","pickerTypes","description","_ref2","_ref3","ok","console","warn","agg","_ref4","_ref5","pickerOptionsFromAccept","onFileDialogOpenCb","noop","onFileDialogCancelCb","rootRef","useRef","inputRef","_useReducer2","useReducer","reducer","state","dispatch","fsAccessApiWorksRef","window","isSecureContext","onWindowFocus","current","setTimeout","useEffect","addEventListener","removeEventListener","dragTargetsRef","onDocumentDrop","contains","document","focus","onErrCb","useCallback","e","error","onDragEnterCb","persist","stopPropagation","then","fileCount","accepted","sizeMatch","customErrors","allFilesAccepted","catch","onDragOverCb","hasFiles","dropEffect","_unused","onDragLeaveCb","targets","targetIdx","splice","setFiles","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","errors","onDropCb","openFileDialog","opts","showOpenFilePicker","DOMException","ABORT_ERR","SECURITY_ERR","isSecurityError","click","onKeyDownCb","isEqualNode","keyCode","onFocusCb","onBlurCb","onClickCb","userAgent","navigator","isIe","isEdge","isIeOrEdge","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref2$refKey","refKey","role","onKeyDown","onFocus","onBlur","onClick","rest","tabIndex","onInputElementClick","getInputProps","_ref3$refKey","onChange","style","display","action"],"sourceRoot":""}
\ No newline at end of file