@emailmaker/emailmaker 1.1.31 → 1.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/{emailmaker-core.25e2342b.js → emailmaker-core.8bdd92fb.js} +1 -1
  2. package/emailmaker-esm.js +5 -5
  3. package/emailmaker.d.ts +7 -2
  4. package/emailmaker.js +11 -11
  5. package/iframe/js/amp.DieSnBUu.js +1 -0
  6. package/iframe/js/iframe-eblock.js +1 -1
  7. package/iframe/js/iframe.js +1 -1
  8. package/iframe/js/rules.CNqvmp_P.js +1 -1
  9. package/package.json +1 -1
  10. package/singlepage_headless_plugin.html +1 -1
  11. package/static/core/{1da27b3c.js → 0a752305.js} +1 -1
  12. package/static/core/{13ca3f502.js → 1369407e2.js} +1 -1
  13. package/static/core/{e37f6763.js → 2c12aa51.js} +2 -2
  14. package/static/core/{4686eabe.js → 34ed48da.js} +3 -3
  15. package/static/core/{df4b4fe2.js → 3d1e7c2e.js} +2 -2
  16. package/static/core/4698f05f.js +51 -0
  17. package/static/core/{bfefb58d.js → 7760eab7.js} +2 -2
  18. package/static/core/{25d26369.js → 7865066d.js} +2 -2
  19. package/static/core/{76f5295d.js → 7ae09748.js} +1 -1
  20. package/static/core/96583da0.js +3 -0
  21. package/static/core/{ca58f6cf.js → a73f6ffb.js} +1 -1
  22. package/static/core/b7b90cb5.js +78 -0
  23. package/static/core/{91634ef3.js → ba40f70e.js} +1 -1
  24. package/static/core/{cc38c423.js → d5670b2e.js} +2 -2
  25. package/static/core/{d06bc0bd.js → db185a82.js} +50 -50
  26. package/static/core/e1095f09.js +1 -0
  27. package/static/core/{558afaa1.js → ef4e808c.js} +1 -1
  28. package/static/core/{e4ba0190.js → fc5712ae.js} +1 -1
  29. package/static/esm/533d7587.js +1 -0
  30. package/two_step_headless_plugin.html +1 -1
  31. package/iframe/js/amp.BLBsfH3J.js +0 -1
  32. package/static/core/3c291097.js +0 -78
  33. package/static/core/62c48605.js +0 -3
  34. package/static/core/8a188b85.js +0 -51
  35. package/static/core/8aba252b.js +0 -1
  36. /package/iframe/{iframe-eblock.25e2342b.html → iframe-eblock.8bdd92fb.html} +0 -0
  37. /package/iframe/{iframe.25e2342b.html → iframe.8bdd92fb.html} +0 -0
@@ -1,4 +1,4 @@
1
- __emailmaker__.define(`static/core/25d26369.js`,[`require`,`exports`,`module`,`static/core/354bf8a9.js`,`static/core/c229e862.js`,`react`,`react-dom`,`react/jsx-runtime`,`antd`,`react-dom/client`,`@ant-design/icons`,`@ant-design/cssinjs`],function(e,t,n){let r=e("./354bf8a9.js"),i=e("./c229e862.js"),a=e("react"),o=r.l(a,1);a=r.l(a);let s=e("react-dom");s=r.l(s);let c=e("react/jsx-runtime"),l=e("antd"),u=e("react-dom/client"),d=e("@ant-design/icons");d=r.l(d);let f=e("@ant-design/cssinjs");var p=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M12 20.472a6 6 0 1 0 5.58-10.262m-11.16 0a6 6 0 1 0 7.16 3.58M18 8A6 6 0 1 1 6 8a6 6 0 0 1 12 0Z`}));p.displayName=`Colors`;var m=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M16 16v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C14.48 22 13.92 22 12.8 22H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 20.48 2 19.92 2 18.8v-7.6c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 8 4.08 8 5.2 8H8m3.2 8h7.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 14.48 22 13.92 22 12.8V5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 2 19.92 2 18.8 2h-7.6c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C8 3.52 8 4.08 8 5.2v7.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C9.52 16 10.08 16 11.2 16Z`}));m.displayName=`Copy04`;var h=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M10 6h4.8c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C18 7.52 18 8.08 18 9.2V14M2 6h4m12 12v4m4-4H9.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C6 16.48 6 15.92 6 14.8V2`}));h.displayName=`Crop02`;var g=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Zm7 7 3 3m0 0 3-3m-3 3v-6`}));g.displayName=`FolderDownload`;var _=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Zm7 7h6`}));_.displayName=`FolderMinus`;var v=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Zm13.5 10.5L14 16m1-2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z`}));v.displayName=`FolderSearch`;var y=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m12.708 18.364-1.415 1.414a5 5 0 1 1-7.07-7.07l1.413-1.415m12.728 1.414 1.415-1.414a5 5 0 0 0-7.071-7.071l-1.415 1.414M8.5 15.5l7-7`}));y.displayName=`Link01`;var b=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M9.5 8.965c0-.477 0-.716.1-.849a.5.5 0 0 1 .364-.199c.166-.012.367.117.769.375l4.72 3.035c.349.224.523.336.583.478a.5.5 0 0 1 0 .39c-.06.142-.234.254-.583.478l-4.72 3.035c-.402.258-.603.387-.769.375a.5.5 0 0 1-.364-.2c-.1-.132-.1-.371-.1-.848v-6.07Z`}),o.createElement(`path`,{d:`M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8Z`}));b.displayName=`PlaySquare`;var x=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M6.5 6.5h.01m10.99 0h.01M6.5 17.5h.01M13 13h.01m4.49 4.5h.01M17 21h4v-4m-7-.5V21m7-7h-4.5m-.9-4h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C21 9.24 21 8.96 21 8.4V4.6c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C20.24 3 19.96 3 19.4 3h-3.8c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C14 3.76 14 4.04 14 4.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C14.76 10 15.04 10 15.6 10Zm-11 0h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C10 9.24 10 8.96 10 8.4V4.6c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C9.24 3 8.96 3 8.4 3H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 3.76 3 4.04 3 4.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 10 4.04 10 4.6 10Zm0 11h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C10 20.24 10 19.96 10 19.4v-3.8c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C9.24 14 8.96 14 8.4 14H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 14.76 3 15.04 3 15.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21Z`}));x.displayName=`QrCode02`;var S=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M20.453 12.893A8.5 8.5 0 0 1 4.638 16.25l-.25-.433m-.842-4.71A8.5 8.5 0 0 1 19.361 7.75l.25.433M3.493 18.066l.732-2.732 2.732.732m10.085-8.132 2.732.732.732-2.732`}));S.displayName=`RefreshCw05`;var C=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M14 22H6.8m0 0c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 19.72 2 18.88 2 17.2M6.8 22h.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C12 19.72 12 18.88 12 17.2v-.4c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C9.72 12 8.88 12 7.2 12h-.4c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C2 14.28 2 15.12 2 16.8v.4m0 0V10m8-8h4m8 8v4m-4 8c.93 0 1.395 0 1.776-.102a3 3 0 0 0 2.122-2.122C22 19.395 22 18.93 22 18m0-12c0-.93 0-1.395-.102-1.776a3 3 0 0 0-2.122-2.122C19.395 2 18.93 2 18 2M6 2c-.93 0-1.395 0-1.776.102a3 3 0 0 0-2.122 2.122C2 4.605 2 5.07 2 6`}));C.displayName=`Scale01`;var w=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m21 21-4.35-4.35M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z`}));w.displayName=`SearchMd`;var T=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M4.5 22v-5m0-10V2M2 4.5h5m-5 15h5M13 3l-1.734 4.509c-.282.733-.423 1.1-.643 1.408a3 3 0 0 1-.706.707c-.308.219-.675.36-1.408.642L4 12l4.509 1.734c.733.282 1.1.423 1.408.643.273.194.512.433.707.706.219.308.36.675.642 1.408L13 21l1.734-4.509c.282-.733.423-1.1.643-1.408.194-.273.433-.512.706-.707.308-.219.675-.36 1.408-.642L22 12l-4.509-1.734c-.733-.282-1.1-.423-1.408-.642a3 3 0 0 1-.706-.707c-.22-.308-.36-.675-.643-1.408L13 3Z`}));T.displayName=`Stars02`;var E=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M7 22V11m-5 2v7a2 2 0 0 0 2 2h13.426a3 3 0 0 0 2.965-2.544l1.077-7A3 3 0 0 0 18.503 9H15a1 1 0 0 1-1-1V4.466A2.466 2.466 0 0 0 11.534 2a.822.822 0 0 0-.75.488l-3.52 7.918A1 1 0 0 1 6.35 11H4a2 2 0 0 0-2 2Z`}));E.displayName=`ThumbsUp`;var D=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M9 3h6M3 6h18m-2 0-.701 10.52c-.105 1.578-.158 2.367-.499 2.965a3 3 0 0 1-1.298 1.215c-.62.3-1.41.3-2.993.3h-3.018c-1.582 0-2.373 0-2.993-.3A3 3 0 0 1 6.2 19.485c-.34-.598-.394-1.387-.499-2.966L5 6m5 4.5v5m4-5v5`}));D.displayName=`Trash03`;var O=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M9 3h6M3 6h18m-2 0-.701 10.52c-.105 1.578-.158 2.367-.499 2.965a3 3 0 0 1-1.298 1.215c-.62.3-1.41.3-2.993.3h-3.018c-1.582 0-2.373 0-2.993-.3A3 3 0 0 1 6.2 19.485c-.34-.598-.394-1.387-.499-2.966L5 6`}));O.displayName=`Trash04`,r.i();function k(e,t){return t.forEach((function(t){t&&typeof t!=`string`&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if(n!=="default"&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}function A(e,t){return new Promise((function(n,r){let i;return j(e).then((function(e){try{return i=e,n(new Blob([t.slice(0,2),i,t.slice(2)],{type:`image/jpeg`}))}catch(e){return r(e)}}),r)}))}var j=e=>new Promise(((t,n)=>{let r=new FileReader;r.addEventListener(`load`,(({target:{result:e}})=>{let r=new DataView(e),i=0;if(r.getUint16(i)!==65496)return n(`not a valid JPEG`);for(i+=2;;){let a=r.getUint16(i);if(a===65498)break;let o=r.getUint16(i+2);if(a===65505&&r.getUint32(i+4)===1165519206){let a=i+10,s;switch(r.getUint16(a)){case 18761:s=!0;break;case 19789:s=!1;break;default:return n(`TIFF header contains invalid endian`)}if(r.getUint16(a+2,s)!==42)return n(`TIFF header contains invalid version`);let c=r.getUint32(a+4,s),l=a+c+2+12*r.getUint16(a+c,s);for(let e=a+c+2;e<l;e+=12)if(r.getUint16(e,s)==274){if(r.getUint16(e+2,s)!==3)return n(`Orientation data type is invalid`);if(r.getUint32(e+4,s)!==1)return n(`Orientation data count is invalid`);r.setUint16(e+8,1,s);break}return t(e.slice(i,i+2+o))}i+=2+o}return t(new Blob)})),r.readAsArrayBuffer(e)})),M={},N={get exports(){return M},set exports(e){M=e}};(function(e){var t,n,r={};N.exports=r,r.parse=function(e,t){for(var n=r.bin.readUshort,i=r.bin.readUint,a=0,o={},s=new Uint8Array(e),c=s.length-4;i(s,c)!=101010256;)c--;a=c,a+=4;var l=n(s,a+=4);n(s,a+=2);var u=i(s,a+=2),d=i(s,a+=4);a+=4,a=d;for(var f=0;f<l;f++){i(s,a),a+=4,a+=4,a+=4,i(s,a+=4),u=i(s,a+=4);var p=i(s,a+=4),m=n(s,a+=4),h=n(s,a+2),g=n(s,a+4);a+=6;var _=i(s,a+=8);a+=4,a+=m+h+g,r._readLocal(s,_,o,u,p,t)}return o},r._readLocal=function(e,t,n,i,a,o){var s=r.bin.readUshort,c=r.bin.readUint;c(e,t),s(e,t+=4),s(e,t+=2);var l=s(e,t+=2);c(e,t+=2),c(e,t+=4),t+=4;var u=s(e,t+=8),d=s(e,t+=2);t+=2;var f=r.bin.readUTF8(e,t,u);if(t+=u,t+=d,o)n[f]={size:a,csize:i};else{var p=new Uint8Array(e.buffer,t);if(l==0)n[f]=new Uint8Array(p.buffer.slice(t,t+i));else{if(l!=8)throw`unknown compression method: `+l;var m=new Uint8Array(a);r.inflateRaw(p,m),n[f]=m}}},r.inflateRaw=function(e,t){return r.F.inflate(e,t)},r.inflate=function(e,t){return e[0],e[1],r.inflateRaw(new Uint8Array(e.buffer,e.byteOffset+2,e.length-6),t)},r.deflate=function(e,t){t??={level:6};var n=0,i=new Uint8Array(50+Math.floor(1.1*e.length));i[n]=120,i[n+1]=156,n+=2,n=r.F.deflateRaw(e,i,n,t.level);var a=r.adler(e,0,e.length);return i[n+0]=a>>>24&255,i[n+1]=a>>>16&255,i[n+2]=a>>>8&255,i[n+3]=a>>>0&255,new Uint8Array(i.buffer,0,n+4)},r.deflateRaw=function(e,t){t??={level:6};var n=new Uint8Array(50+Math.floor(1.1*e.length)),i=r.F.deflateRaw(e,n,i,t.level);return new Uint8Array(n.buffer,0,i)},r.encode=function(e,t){t??=!1;var n=0,i=r.bin.writeUint,a=r.bin.writeUshort,o={};for(var s in e){var c=!r._noNeed(s)&&!t,l=e[s],u=r.crc.crc(l,0,l.length);o[s]={cpr:c,usize:l.length,crc:u,file:c?r.deflateRaw(l):l}}for(var s in o)n+=o[s].file.length+30+46+2*r.bin.sizeUTF8(s);n+=22;var d=new Uint8Array(n),f=0,p=[];for(var s in o){var m=o[s];p.push(f),f=r._writeHeader(d,f,s,m,0)}var h=0,g=f;for(var s in o)m=o[s],p.push(f),f=r._writeHeader(d,f,s,m,1,p[h++]);var _=f-g;return i(d,f,101010256),f+=4,a(d,f+=4,h),a(d,f+=2,h),i(d,f+=2,_),i(d,f+=4,g),f+=4,f+=2,d.buffer},r._noNeed=function(e){var t=e.split(`.`).pop().toLowerCase();return`png,jpg,jpeg,zip`.indexOf(t)!=-1},r._writeHeader=function(e,t,n,i,a,o){var s=r.bin.writeUint,c=r.bin.writeUshort,l=i.file;return s(e,t,a==0?67324752:33639248),t+=4,a==1&&(t+=2),c(e,t,20),c(e,t+=2,0),c(e,t+=2,i.cpr?8:0),s(e,t+=2,0),s(e,t+=4,i.crc),s(e,t+=4,l.length),s(e,t+=4,i.usize),c(e,t+=4,r.bin.sizeUTF8(n)),c(e,t+=2,0),t+=2,a==1&&(t+=2,t+=2,s(e,t+=6,o),t+=4),t+=r.bin.writeUTF8(e,t,n),a==0&&(e.set(l,t),t+=l.length),t},r.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var n=t,r=0;r<8;r++)1&n?n=3988292384^n>>>1:n>>>=1;e[t]=n}return e}(),update:function(e,t,n,i){for(var a=0;a<i;a++)e=r.crc.table[255&(e^t[n+a])]^e>>>8;return e},crc:function(e,t,n){return 4294967295^r.crc.update(4294967295,e,t,n)}},r.adler=function(e,t,n){for(var r=1,i=0,a=t,o=t+n;a<o;){for(var s=Math.min(a+5552,o);a<s;)i+=r+=e[a++];r%=65521,i%=65521}return i<<16|r},r.bin={readUshort:function(e,t){return e[t]|e[t+1]<<8},writeUshort:function(e,t,n){e[t]=255&n,e[t+1]=n>>8&255},readUint:function(e,t){return 16777216*e[t+3]+(e[t+2]<<16|e[t+1]<<8|e[t])},writeUint:function(e,t,n){e[t]=255&n,e[t+1]=n>>8&255,e[t+2]=n>>16&255,e[t+3]=n>>24&255},readASCII:function(e,t,n){for(var r=``,i=0;i<n;i++)r+=String.fromCharCode(e[t+i]);return r},writeASCII:function(e,t,n){for(var r=0;r<n.length;r++)e[t+r]=n.charCodeAt(r)},pad:function(e){return e.length<2?`0`+e:e},readUTF8:function(e,t,n){for(var i,a=``,o=0;o<n;o++)a+=`%`+r.bin.pad(e[t+o].toString(16));try{i=decodeURIComponent(a)}catch{return r.bin.readASCII(e,t,n)}return i},writeUTF8:function(e,t,n){for(var r=n.length,i=0,a=0;a<r;a++){var o=n.charCodeAt(a);if(!(4294967168&o))e[t+i]=o,i++;else if(!(4294965248&o))e[t+i]=192|o>>6,e[t+i+1]=128|o>>0&63,i+=2;else if(!(4294901760&o))e[t+i]=224|o>>12,e[t+i+1]=128|o>>6&63,e[t+i+2]=128|o>>0&63,i+=3;else{if(4292870144&o)throw`e`;e[t+i]=240|o>>18,e[t+i+1]=128|o>>12&63,e[t+i+2]=128|o>>6&63,e[t+i+3]=128|o>>0&63,i+=4}}return i},sizeUTF8:function(e){for(var t=e.length,n=0,r=0;r<t;r++){var i=e.charCodeAt(r);if(!(4294967168&i))n++;else if(!(4294965248&i))n+=2;else if(!(4294901760&i))n+=3;else{if(4292870144&i)throw`e`;n+=4}}return n}},r.F={},r.F.deflateRaw=function(e,t,n,i){var a=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][i],o=r.F.U,s=r.F._goodIndex;r.F._hash;var c=r.F._putsE,l=0,u=n<<3,d=0,f=e.length;if(i==0){for(;l<f;)c(t,u,+(l+(w=Math.min(65535,f-l))==f)),u=r.F._copyExact(e,l,w,t,u+8),l+=w;return u>>>3}var p=o.lits,m=o.strt,h=o.prev,g=0,_=0,v=0,y=0,b=0,x=0;for(f>2&&(m[x=r.F._hash(e,0)]=0),l=0;l<f;l++){if(b=x,l+1<f-2){x=r.F._hash(e,l+1);var S=l+1&32767;h[S]=m[x],m[x]=S}if(d<=l){(g>14e3||_>26697)&&f-l>100&&(d<l&&(p[g]=l-d,g+=2,d=l),u=r.F._writeBlock(+(l==f-1||d==f),p,g,y,e,v,l-v,t,u),g=_=y=0,v=l);var C=0;l<f-2&&(C=r.F._bestMatch(e,l,h,b,Math.min(a[2],f-l),a[3]));var w=C>>>16,T=65535&C;if(C!=0){T=65535&C;var E=s(w=C>>>16,o.of0);o.lhst[257+E]++;var D=s(T,o.df0);o.dhst[D]++,y+=o.exb[E]+o.dxb[D],p[g]=w<<23|l-d,p[g+1]=T<<16|E<<8|D,g+=2,d=l+w}else o.lhst[e[l]]++;_++}}for(v==l&&e.length!=0||(d<l&&(p[g]=l-d,g+=2,d=l),u=r.F._writeBlock(1,p,g,y,e,v,l-v,t,u),g=0,_=0,g=_=y=0,v=l);7&u;)u++;return u>>>3},r.F._bestMatch=function(e,t,n,i,a,o){var s=32767&t,c=n[s],l=s-c+32768&32767;if(c==s||i!=r.F._hash(e,t-l))return 0;for(var u=0,d=0,f=Math.min(32767,t);l<=f&&--o!=0&&c!=s;){if(u==0||e[t+u]==e[t+u-l]){var p=r.F._howLong(e,t,l);if(p>u){if(d=l,(u=p)>=a)break;l+2<p&&(p=l+2);for(var m=0,h=0;h<p-2;h++){var g=t-l+h+32768&32767,_=g-n[g]+32768&32767;_>m&&(m=_,c=g)}}}l+=(s=c)-(c=n[s])+32768&32767}return u<<16|d},r.F._howLong=function(e,t,n){if(e[t]!=e[t-n]||e[t+1]!=e[t+1-n]||e[t+2]!=e[t+2-n])return 0;var r=t,i=Math.min(e.length,t+258);for(t+=3;t<i&&e[t]==e[t-n];)t++;return t-r},r.F._hash=function(e,t){return(e[t]<<8|e[t+1])+(e[t+2]<<4)&65535},r.saved=0,r.F._writeBlock=function(e,t,n,i,a,o,s,c,l){var u,d,f,p,m,h,g,_,v,y=r.F.U,b=r.F._putsF,x=r.F._putsE;y.lhst[256]++,d=(u=r.F.getTrees())[0],f=u[1],p=u[2],m=u[3],h=u[4],g=u[5],_=u[6],v=u[7];var S=32+(l+3&7?8-(l+3&7):0)+(s<<3),C=i+r.F.contSize(y.fltree,y.lhst)+r.F.contSize(y.fdtree,y.dhst),w=i+r.F.contSize(y.ltree,y.lhst)+r.F.contSize(y.dtree,y.dhst);w+=14+3*g+r.F.contSize(y.itree,y.ihst)+(2*y.ihst[16]+3*y.ihst[17]+7*y.ihst[18]);for(var T=0;T<286;T++)y.lhst[T]=0;for(T=0;T<30;T++)y.dhst[T]=0;for(T=0;T<19;T++)y.ihst[T]=0;var E=S<C&&S<w?0:C<w?1:2;if(b(c,l,e),b(c,l+1,E),l+=3,E==0){for(;7&l;)l++;l=r.F._copyExact(a,o,s,c,l)}else{var D,O;if(E==1&&(D=y.fltree,O=y.fdtree),E==2){r.F.makeCodes(y.ltree,d),r.F.revCodes(y.ltree,d),r.F.makeCodes(y.dtree,f),r.F.revCodes(y.dtree,f),r.F.makeCodes(y.itree,p),r.F.revCodes(y.itree,p),D=y.ltree,O=y.dtree,x(c,l,m-257),x(c,l+=5,h-1),x(c,l+=5,g-4),l+=4;for(var k=0;k<g;k++)x(c,l+3*k,y.itree[1+(y.ordr[k]<<1)]);l+=3*g,l=r.F._codeTiny(_,y.itree,c,l),l=r.F._codeTiny(v,y.itree,c,l)}for(var A=o,j=0;j<n;j+=2){for(var M=t[j],N=M>>>23,P=A+(8388607&M);A<P;)l=r.F._writeLit(a[A++],D,c,l);if(N!=0){var F=t[j+1],I=F>>16,L=F>>8&255,ee=255&F;x(c,l=r.F._writeLit(257+L,D,c,l),N-y.of0[L]),l+=y.exb[L],b(c,l=r.F._writeLit(ee,O,c,l),I-y.df0[ee]),l+=y.dxb[ee],A+=N}}l=r.F._writeLit(256,D,c,l)}return l},r.F._copyExact=function(e,t,n,r,i){var a=i>>>3;return r[a]=n,r[a+1]=n>>>8,r[a+2]=255-r[a],r[a+3]=255-r[a+1],a+=4,r.set(new Uint8Array(e.buffer,t,n),a),i+(n+4<<3)},r.F.getTrees=function(){for(var e=r.F.U,t=r.F._hufTree(e.lhst,e.ltree,15),n=r.F._hufTree(e.dhst,e.dtree,15),i=[],a=r.F._lenCodes(e.ltree,i),o=[],s=r.F._lenCodes(e.dtree,o),c=0;c<i.length;c+=2)e.ihst[i[c]]++;for(c=0;c<o.length;c+=2)e.ihst[o[c]]++;for(var l=r.F._hufTree(e.ihst,e.itree,7),u=19;u>4&&e.itree[1+(e.ordr[u-1]<<1)]==0;)u--;return[t,n,l,a,s,u,i,o]},r.F.getSecond=function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(e[n+1]);return t},r.F.nonZero=function(e){for(var t=``,n=0;n<e.length;n+=2)e[n+1]!=0&&(t+=(n>>1)+`,`);return t},r.F.contSize=function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r]*e[1+(r<<1)];return n},r.F._codeTiny=function(e,t,n,i){for(var a=0;a<e.length;a+=2){var o=e[a],s=e[a+1];i=r.F._writeLit(o,t,n,i);var c=o==16?2:o==17?3:7;o>15&&(r.F._putsE(n,i,s,c),i+=c)}return i},r.F._lenCodes=function(e,t){for(var n=e.length;n!=2&&e[n-1]==0;)n-=2;for(var r=0;r<n;r+=2){var i=e[r+1],a=r+3<n?e[r+3]:-1,o=r+5<n?e[r+5]:-1,s=r==0?-1:e[r-1];if(i==0&&a==i&&o==i){for(var c=r+5;c+2<n&&e[c+2]==i;)c+=2;(l=Math.min(c+1-r>>>1,138))<11?t.push(17,l-3):t.push(18,l-11),r+=2*l-2}else if(i==s&&a==i&&o==i){for(c=r+5;c+2<n&&e[c+2]==i;)c+=2;var l=Math.min(c+1-r>>>1,6);t.push(16,l-3),r+=2*l-2}else t.push(i,0)}return n>>>1},r.F._hufTree=function(e,t,n){var i=[],a=e.length,o=t.length,s=0;for(s=0;s<o;s+=2)t[s]=0,t[s+1]=0;for(s=0;s<a;s++)e[s]!=0&&i.push({lit:s,f:e[s]});var c=i.length,l=i.slice(0);if(c==0)return 0;if(c==1){var u=i[0].lit;return l=+(u==0),t[1+(u<<1)]=1,t[1+(l<<1)]=1,1}i.sort((function(e,t){return e.f-t.f}));var d=i[0],f=i[1],p=0,m=1,h=2;for(i[0]={lit:-1,f:d.f+f.f,l:d,r:f,d:0};m!=c-1;)d=p!=m&&(h==c||i[p].f<i[h].f)?i[p++]:i[h++],f=p!=m&&(h==c||i[p].f<i[h].f)?i[p++]:i[h++],i[m++]={lit:-1,f:d.f+f.f,l:d,r:f};var g=r.F.setDepth(i[m-1],0);for(g>n&&(r.F.restrictDepth(l,n,g),g=n),s=0;s<c;s++)t[1+(l[s].lit<<1)]=l[s].d;return g},r.F.setDepth=function(e,t){return e.lit==-1?Math.max(r.F.setDepth(e.l,t+1),r.F.setDepth(e.r,t+1)):(e.d=t,t)},r.F.restrictDepth=function(e,t,n){var r=0,i=1<<n-t,a=0;for(e.sort((function(e,t){return t.d==e.d?e.f-t.f:t.d-e.d})),r=0;r<e.length&&e[r].d>t;r++){var o=e[r].d;e[r].d=t,a+=i-(1<<n-o)}for(a>>>=n-t;a>0;)(o=e[r].d)<t?(e[r].d++,a-=1<<t-o-1):r++;for(;r>=0;r--)e[r].d==t&&a<0&&(e[r].d--,a++)},r.F._goodIndex=function(e,t){var n=0;return t[16|n]<=e&&(n|=16),t[8|n]<=e&&(n|=8),t[4|n]<=e&&(n|=4),t[2|n]<=e&&(n|=2),t[1|n]<=e&&(n|=1),n},r.F._writeLit=function(e,t,n,i){return r.F._putsF(n,i,t[e<<1]),i+t[1+(e<<1)]},r.F.inflate=function(e,t){var n=Uint8Array;if(e[0]==3&&e[1]==0)return t||new n(0);var i=r.F,a=i._bitsF,o=i._bitsE,s=i._decodeTiny,c=i.makeCodes,l=i.codes2map,u=i._get17,d=i.U,f=t==null;f&&(t=new n(e.length>>>2<<3));for(var p,m,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0;h==0;)if(h=a(e,C,1),g=a(e,C+1,2),C+=3,g!=0){if(f&&(t=r.F._check(t,S+(1<<17))),g==1&&(p=d.flmap,m=d.fdmap,b=511,x=31),g==2){_=o(e,C,5)+257,v=o(e,C+5,5)+1,y=o(e,C+10,4)+4,C+=14;for(var w=0;w<38;w+=2)d.itree[w]=0,d.itree[w+1]=0;var T=1;for(w=0;w<y;w++){var E=o(e,C+3*w,3);d.itree[1+(d.ordr[w]<<1)]=E,E>T&&(T=E)}C+=3*y,c(d.itree,T),l(d.itree,T,d.imap),p=d.lmap,m=d.dmap,C=s(d.imap,(1<<T)-1,_+v,e,C,d.ttree);var D=i._copyOut(d.ttree,0,_,d.ltree);b=(1<<D)-1;var O=i._copyOut(d.ttree,_,v,d.dtree);x=(1<<O)-1,c(d.ltree,D),l(d.ltree,D,p),c(d.dtree,O),l(d.dtree,O,m)}for(;;){var k=p[u(e,C)&b];C+=15&k;var A=k>>>4;if(!(A>>>8))t[S++]=A;else{if(A==256)break;var j=S+A-254;if(A>264){var M=d.ldef[A-257];j=S+(M>>>3)+o(e,C,7&M),C+=7&M}var N=m[u(e,C)&x];C+=15&N;var P=N>>>4,F=d.ddef[P],I=(F>>>4)+a(e,C,15&F);for(C+=15&F,f&&(t=r.F._check(t,S+(1<<17)));S<j;)t[S]=t[S++-I],t[S]=t[S++-I],t[S]=t[S++-I],t[S]=t[S++-I];S=j}}}else{7&C&&(C+=8-(7&C));var L=4+(C>>>3),ee=e[L-4]|e[L-3]<<8;f&&(t=r.F._check(t,S+ee)),t.set(new n(e.buffer,e.byteOffset+L,ee),S),C=L+ee<<3,S+=ee}return t.length==S?t:t.slice(0,S)},r.F._check=function(e,t){var n=e.length;if(t<=n)return e;var r=new Uint8Array(Math.max(n<<1,t));return r.set(e,0),r},r.F._decodeTiny=function(e,t,n,i,a,o){for(var s=r.F._bitsE,c=r.F._get17,l=0;l<n;){var u=e[c(i,a)&t];a+=15&u;var d=u>>>4;if(d<=15)o[l]=d,l++;else{var f=0,p=0;d==16?(p=3+s(i,a,2),a+=2,f=o[l-1]):d==17?(p=3+s(i,a,3),a+=3):d==18&&(p=11+s(i,a,7),a+=7);for(var m=l+p;l<m;)o[l]=f,l++}}return a},r.F._copyOut=function(e,t,n,r){for(var i=0,a=0,o=r.length>>>1;a<n;){var s=e[a+t];r[a<<1]=0,r[1+(a<<1)]=s,s>i&&(i=s),a++}for(;a<o;)r[a<<1]=0,r[1+(a<<1)]=0,a++;return i},r.F.makeCodes=function(e,t){for(var n,i,a,o,s=r.F.U,c=e.length,l=s.bl_count,u=0;u<=t;u++)l[u]=0;for(u=1;u<c;u+=2)l[e[u]]++;var d=s.next_code;for(n=0,l[0]=0,i=1;i<=t;i++)n=n+l[i-1]<<1,d[i]=n;for(a=0;a<c;a+=2)(o=e[a+1])!=0&&(e[a]=d[o],d[o]++)},r.F.codes2map=function(e,t,n){for(var i=e.length,a=r.F.U.rev15,o=0;o<i;o+=2)if(e[o+1]!=0)for(var s=o>>1,c=e[o+1],l=s<<4|c,u=t-c,d=e[o]<<u,f=d+(1<<u);d!=f;)n[a[d]>>>15-t]=l,d++},r.F.revCodes=function(e,t){for(var n=r.F.U.rev15,i=15-t,a=0;a<e.length;a+=2)e[a]=n[e[a]<<t-e[a+1]]>>>i},r.F._putsE=function(e,t,n){n<<=7&t;var r=t>>>3;e[r]|=n,e[r+1]|=n>>>8},r.F._putsF=function(e,t,n){n<<=7&t;var r=t>>>3;e[r]|=n,e[r+1]|=n>>>8,e[r+2]|=n>>>16},r.F._bitsE=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<n)-1},r.F._bitsF=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<n)-1},r.F._get17=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},r.F._get25=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},r.F.U=(t=Uint16Array,n=Uint32Array,{next_code:new t(16),bl_count:new t(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new t(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new n(32),flmap:new t(512),fltree:[],fdmap:new t(32),fdtree:[],lmap:new t(32768),ltree:[],ttree:[],dmap:new t(32768),dtree:[],imap:new t(512),itree:[],rev15:new t(32768),lhst:new n(286),dhst:new n(30),ihst:new n(19),lits:new n(15e3),strt:new t(65536),prev:new t(32768)}),function(){for(var e=r.F.U,t=0;t<32768;t++){var n=t;n=(4278255360&(n=(4042322160&(n=(3435973836&(n=(2863311530&n)>>>1|(1431655765&n)<<1))>>>2|(858993459&n)<<2))>>>4|(252645135&n)<<4))>>>8|(16711935&n)<<8,e.rev15[t]=(n>>>16|n<<16)>>>17}function i(e,t,n){for(;t--!=0;)e.push(0,n)}for(t=0;t<32;t++)e.ldef[t]=e.of0[t]<<3|e.exb[t],e.ddef[t]=e.df0[t]<<4|e.dxb[t];i(e.fltree,144,8),i(e.fltree,112,9),i(e.fltree,24,7),i(e.fltree,8,8),r.F.makeCodes(e.fltree,9),r.F.codes2map(e.fltree,9,e.flmap),r.F.revCodes(e.fltree,9),i(e.fdtree,32,5),r.F.makeCodes(e.fdtree,5),r.F.codes2map(e.fdtree,5,e.fdmap),r.F.revCodes(e.fdtree,5),i(e.itree,19,0),i(e.ltree,286,0),i(e.dtree,30,0),i(e.ttree,320,0)}()})();var P=k({__proto__:null,default:M},[M]),F=function(){var e={nextZero(e,t){for(;e[t]!=0;)t++;return t},readUshort:(e,t)=>e[t]<<8|e[t+1],writeUshort(e,t,n){e[t]=n>>8&255,e[t+1]=255&n},readUint:(e,t)=>16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3]),writeUint(e,t,n){e[t]=n>>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=255&n},readASCII(e,t,n){let r=``;for(let i=0;i<n;i++)r+=String.fromCharCode(e[t+i]);return r},writeASCII(e,t,n){for(let r=0;r<n.length;r++)e[t+r]=n.charCodeAt(r)},readBytes(e,t,n){let r=[];for(let i=0;i<n;i++)r.push(e[t+i]);return r},pad:e=>e.length<2?`0${e}`:e,readUTF8(t,n,r){let i,a=``;for(let i=0;i<r;i++)a+=`%${e.pad(t[n+i].toString(16))}`;try{i=decodeURIComponent(a)}catch{return e.readASCII(t,n,r)}return i}};function t(t,n,r,i){let o=n*r,s=a(i),c=Math.ceil(n*s/8),l=new Uint8Array(4*o),u=new Uint32Array(l.buffer),{ctype:d}=i,{depth:f}=i,p=e.readUshort;if(d==6){let e=o<<2;if(f==8)for(var m=0;m<e;m+=4)l[m]=t[m],l[m+1]=t[m+1],l[m+2]=t[m+2],l[m+3]=t[m+3];if(f==16)for(m=0;m<e;m++)l[m]=t[m<<1]}else if(d==2){let e=i.tabs.tRNS;if(e==null){if(f==8)for(m=0;m<o;m++){var h=3*m;u[m]=255<<24|t[h+2]<<16|t[h+1]<<8|t[h]}if(f==16)for(m=0;m<o;m++)h=6*m,u[m]=255<<24|t[h+4]<<16|t[h+2]<<8|t[h]}else{var g=e[0];let n=e[1],r=e[2];if(f==8)for(m=0;m<o;m++){var _=m<<2;h=3*m,u[m]=255<<24|t[h+2]<<16|t[h+1]<<8|t[h],t[h]==g&&t[h+1]==n&&t[h+2]==r&&(l[_+3]=0)}if(f==16)for(m=0;m<o;m++)_=m<<2,h=6*m,u[m]=255<<24|t[h+4]<<16|t[h+2]<<8|t[h],p(t,h)==g&&p(t,h+2)==n&&p(t,h+4)==r&&(l[_+3]=0)}}else if(d==3){let e=i.tabs.PLTE,a=i.tabs.tRNS,s=a?a.length:0;if(f==1)for(var v=0;v<r;v++){var y=v*c,b=v*n;for(m=0;m<n;m++){_=b+m<<2;var x=3*(S=t[y+(m>>3)]>>7-((7&m)<<0)&1);l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255}}if(f==2)for(v=0;v<r;v++)for(y=v*c,b=v*n,m=0;m<n;m++)_=b+m<<2,x=3*(S=t[y+(m>>2)]>>6-((3&m)<<1)&3),l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255;if(f==4)for(v=0;v<r;v++)for(y=v*c,b=v*n,m=0;m<n;m++)_=b+m<<2,x=3*(S=t[y+(m>>1)]>>4-((1&m)<<2)&15),l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255;if(f==8)for(m=0;m<o;m++){var S;_=m<<2,x=3*(S=t[m]),l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255}}else if(d==4){if(f==8)for(m=0;m<o;m++){_=m<<2;var C=t[w=m<<1];l[_]=C,l[_+1]=C,l[_+2]=C,l[_+3]=t[w+1]}if(f==16)for(m=0;m<o;m++){var w;_=m<<2,C=t[w=m<<2],l[_]=C,l[_+1]=C,l[_+2]=C,l[_+3]=t[w+2]}}else if(d==0)for(g=i.tabs.tRNS?i.tabs.tRNS:-1,v=0;v<r;v++){let e=v*c,r=v*n;if(f==1)for(var T=0;T<n;T++){var E=(C=255*(t[e+(T>>>3)]>>>7-(7&T)&1))==255*g?0:255;u[r+T]=E<<24|C<<16|C<<8|C}else if(f==2)for(T=0;T<n;T++)E=(C=85*(t[e+(T>>>2)]>>>6-((3&T)<<1)&3))==85*g?0:255,u[r+T]=E<<24|C<<16|C<<8|C;else if(f==4)for(T=0;T<n;T++)E=(C=17*(t[e+(T>>>1)]>>>4-((1&T)<<2)&15))==17*g?0:255,u[r+T]=E<<24|C<<16|C<<8|C;else if(f==8)for(T=0;T<n;T++)E=(C=t[e+T])==g?0:255,u[r+T]=E<<24|C<<16|C<<8|C;else if(f==16)for(T=0;T<n;T++)C=t[e+(T<<1)],E=p(t,e+(T<<1))==g?0:255,u[r+T]=E<<24|C<<16|C<<8|C}return l}function n(e,t,n,s){let c=a(e),l=Math.ceil(n*c/8),u=new Uint8Array((l+1+e.interlace)*s);return t=e.tabs.CgBI?i(t,u):r(t,u),e.interlace==0?t=o(t,e,0,n,s):e.interlace==1&&(t=function(e,t){let n=t.width,r=t.height,i=a(t),s=i>>3,c=Math.ceil(n*i/8),l=new Uint8Array(r*c),u=0,d=[0,0,4,0,2,0,1],f=[0,4,0,2,0,1,0],p=[8,8,8,4,4,2,2],m=[8,8,4,4,2,2,1],h=0;for(;h<7;){let a=p[h],_=m[h],v=0,y=0,b=d[h];for(;b<r;)b+=a,y++;let x=f[h];for(;x<n;)x+=_,v++;let S=Math.ceil(v*i/8);o(e,t,u,v,y);let C=0,w=d[h];for(;w<r;){let t=f[h],r=u+C*S<<3;for(;t<n;){var g;if(i==1&&(g=(g=e[r>>3])>>7-(7&r)&1,l[w*c+(t>>3)]|=g<<7-((7&t)<<0)),i==2&&(g=(g=e[r>>3])>>6-(7&r)&3,l[w*c+(t>>2)]|=g<<6-((3&t)<<1)),i==4&&(g=(g=e[r>>3])>>4-(7&r)&15,l[w*c+(t>>1)]|=g<<4-((1&t)<<2)),i>=8){let n=w*c+t*s;for(let t=0;t<s;t++)l[n+t]=e[(r>>3)+t]}r+=i,t+=_}C++,w+=a}v*y!=0&&(u+=y*(1+S)),h+=1}return l}(t,e)),t}function r(e,t){return i(new Uint8Array(e.buffer,2,e.length-6),t)}var i=function(){let e={H:{}};return e.H.N=function(t,n){let r=Uint8Array,i,a,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0;if(t[0]==3&&t[1]==0)return n||new r(0);let h=e.H,g=h.b,_=h.e,v=h.R,y=h.n,b=h.A,x=h.Z,S=h.m,C=n==null;for(C&&(n=new r(t.length>>>2<<5));o==0;)if(o=g(t,m,1),s=g(t,m+1,2),m+=3,s!=0){if(C&&(n=e.H.W(n,p+(1<<17))),s==1&&(i=S.J,a=S.h,d=511,f=31),s==2){c=_(t,m,5)+257,l=_(t,m+5,5)+1,u=_(t,m+10,4)+4,m+=14;let e=1;for(var w=0;w<38;w+=2)S.Q[w]=0,S.Q[w+1]=0;for(w=0;w<u;w++){let n=_(t,m+3*w,3);S.Q[1+(S.X[w]<<1)]=n,n>e&&(e=n)}m+=3*u,y(S.Q,e),b(S.Q,e,S.u),i=S.w,a=S.d,m=v(S.u,(1<<e)-1,c+l,t,m,S.v);let n=h.V(S.v,0,c,S.C);d=(1<<n)-1;let r=h.V(S.v,c,l,S.D);f=(1<<r)-1,y(S.C,n),b(S.C,n,i),y(S.D,r),b(S.D,r,a)}for(;;){let e=i[x(t,m)&d];m+=15&e;let r=e>>>4;if(!(r>>>8))n[p++]=r;else{if(r==256)break;{let e=p+r-254;if(r>264){let n=S.q[r-257];e=p+(n>>>3)+_(t,m,7&n),m+=7&n}let i=a[x(t,m)&f];m+=15&i;let o=i>>>4,s=S.c[o],c=(s>>>4)+g(t,m,15&s);for(m+=15&s;p<e;)n[p]=n[p++-c],n[p]=n[p++-c],n[p]=n[p++-c],n[p]=n[p++-c];p=e}}}}else{7&m&&(m+=8-(7&m));let i=4+(m>>>3),a=t[i-4]|t[i-3]<<8;C&&(n=e.H.W(n,p+a)),n.set(new r(t.buffer,t.byteOffset+i,a),p),m=i+a<<3,p+=a}return n.length==p?n:n.slice(0,p)},e.H.W=function(e,t){let n=e.length;if(t<=n)return e;let r=new Uint8Array(n<<1);return r.set(e,0),r},e.H.R=function(t,n,r,i,a,o){let s=e.H.e,c=e.H.Z,l=0;for(;l<r;){let e=t[c(i,a)&n];a+=15&e;let r=e>>>4;if(r<=15)o[l]=r,l++;else{let e=0,t=0;r==16?(t=3+s(i,a,2),a+=2,e=o[l-1]):r==17?(t=3+s(i,a,3),a+=3):r==18&&(t=11+s(i,a,7),a+=7);let n=l+t;for(;l<n;)o[l]=e,l++}}return a},e.H.V=function(e,t,n,r){let i=0,a=0,o=r.length>>>1;for(;a<n;){let n=e[a+t];r[a<<1]=0,r[1+(a<<1)]=n,n>i&&(i=n),a++}for(;a<o;)r[a<<1]=0,r[1+(a<<1)]=0,a++;return i},e.H.n=function(t,n){let r=e.H.m,i=t.length,a,o,s,c,l=r.j;for(var u=0;u<=n;u++)l[u]=0;for(u=1;u<i;u+=2)l[t[u]]++;let d=r.K;for(a=0,l[0]=0,o=1;o<=n;o++)a=a+l[o-1]<<1,d[o]=a;for(s=0;s<i;s+=2)c=t[s+1],c!=0&&(t[s]=d[c],d[c]++)},e.H.A=function(t,n,r){let i=t.length,a=e.H.m.r;for(let e=0;e<i;e+=2)if(t[e+1]!=0){let i=e>>1,o=t[e+1],s=i<<4|o,c=n-o,l=t[e]<<c,u=l+(1<<c);for(;l!=u;)r[a[l]>>>15-n]=s,l++}},e.H.l=function(t,n){let r=e.H.m.r,i=15-n;for(let e=0;e<t.length;e+=2)t[e]=r[t[e]<<n-t[e+1]]>>>i},e.H.M=function(e,t,n){n<<=7&t;let r=t>>>3;e[r]|=n,e[r+1]|=n>>>8},e.H.I=function(e,t,n){n<<=7&t;let r=t>>>3;e[r]|=n,e[r+1]|=n>>>8,e[r+2]|=n>>>16},e.H.e=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<n)-1},e.H.b=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<n)-1},e.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},e.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},e.H.m=function(){let e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){let t=e.H.m;for(var n=0;n<32768;n++){let e=n;e=(2863311530&e)>>>1|(1431655765&e)<<1,e=(3435973836&e)>>>2|(858993459&e)<<2,e=(4042322160&e)>>>4|(252645135&e)<<4,e=(4278255360&e)>>>8|(16711935&e)<<8,t.r[n]=(e>>>16|e<<16)>>>17}function r(e,t,n){for(;t--!=0;)e.push(0,n)}for(n=0;n<32;n++)t.q[n]=t.S[n]<<3|t.T[n],t.c[n]=t.p[n]<<4|t.z[n];r(t._,144,8),r(t._,112,9),r(t._,24,7),r(t._,8,8),e.H.n(t._,9),e.H.A(t._,9,t.J),e.H.l(t._,9),r(t.$,32,5),e.H.n(t.$,5),e.H.A(t.$,5,t.h),e.H.l(t.$,5),r(t.Q,19,0),r(t.C,286,0),r(t.D,30,0),r(t.v,320,0)}(),e.H.N}();function a(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}function o(e,t,n,r,i){let o=a(t),c=Math.ceil(r*o/8),l,u;o=Math.ceil(o/8);let d=e[n],f=0;if(d>1&&(e[n]=[0,0,1][d-2]),d==3)for(f=o;f<c;f++)e[f+1]=e[f+1]+(e[f+1-o]>>>1)&255;for(let t=0;t<i;t++)if(l=n+t*c,u=l+t+1,d=e[u-1],f=0,d==0)for(;f<c;f++)e[l+f]=e[u+f];else if(d==1){for(;f<o;f++)e[l+f]=e[u+f];for(;f<c;f++)e[l+f]=e[u+f]+e[l+f-o]}else if(d==2)for(;f<c;f++)e[l+f]=e[u+f]+e[l+f-c];else if(d==3){for(;f<o;f++)e[l+f]=e[u+f]+(e[l+f-c]>>>1);for(;f<c;f++)e[l+f]=e[u+f]+(e[l+f-c]+e[l+f-o]>>>1)}else{for(;f<o;f++)e[l+f]=e[u+f]+s(0,e[l+f-c],0);for(;f<c;f++)e[l+f]=e[u+f]+s(e[l+f-o],e[l+f-c],e[l+f-o-c])}return e}function s(e,t,n){let r=e+t-n,i=r-e,a=r-t,o=r-n;return i*i<=a*a&&i*i<=o*o?e:a*a<=o*o?t:n}function c(t,n,r){r.width=e.readUint(t,n),n+=4,r.height=e.readUint(t,n),n+=4,r.depth=t[n],n++,r.ctype=t[n],n++,r.compress=t[n],n++,r.filter=t[n],n++,r.interlace=t[n],n++}function l(e,t,n,r,i,a,o,s,c){let l=Math.min(t,i),u=Math.min(n,a),d=0,f=0;for(let n=0;n<u;n++)for(let a=0;a<l;a++)if(o>=0&&s>=0?(d=n*t+a<<2,f=(s+n)*i+o+a<<2):(d=(-s+n)*t-o+a<<2,f=n*i+a<<2),c==0)r[f]=e[d],r[f+1]=e[d+1],r[f+2]=e[d+2],r[f+3]=e[d+3];else if(c==1){var p=e[d+3]*(1/255),m=e[d]*p,h=e[d+1]*p,g=e[d+2]*p,_=r[f+3]*(1/255),v=r[f]*_,y=r[f+1]*_,b=r[f+2]*_;let t=1-p,n=p+_*t,i=n==0?0:1/n;r[f+3]=255*n,r[f+0]=(m+v*t)*i,r[f+1]=(h+y*t)*i,r[f+2]=(g+b*t)*i}else if(c==2)p=e[d+3],m=e[d],h=e[d+1],g=e[d+2],_=r[f+3],v=r[f],y=r[f+1],b=r[f+2],p==_&&m==v&&h==y&&g==b?(r[f]=0,r[f+1]=0,r[f+2]=0,r[f+3]=0):(r[f]=m,r[f+1]=h,r[f+2]=g,r[f+3]=p);else if(c==3){if(p=e[d+3],m=e[d],h=e[d+1],g=e[d+2],_=r[f+3],v=r[f],y=r[f+1],b=r[f+2],p==_&&m==v&&h==y&&g==b)continue;if(p<220&&_>20)return!1}return!0}return{decode:function(t){let a=new Uint8Array(t),o=8,s=e,l=s.readUshort,u=s.readUint,d={tabs:{},frames:[]},f=new Uint8Array(a.length),p,m=0,h=0,g=[137,80,78,71,13,10,26,10];for(var _=0;_<8;_++)if(a[_]!=g[_])throw`The input is not a PNG file!`;for(;o<a.length;){let e=s.readUint(a,o);o+=4;let t=s.readASCII(a,o,4);if(o+=4,t==`IHDR`)c(a,o,d);else if(t==`iCCP`){for(var v=o;a[v]!=0;)v++;s.readASCII(a,o,v-o),a[v+1];let n=a.slice(v+2,o+e),c=null;try{c=r(n)}catch{c=i(n)}d.tabs[t]=c}else if(t==`CgBI`)d.tabs[t]=a.slice(o,o+4);else if(t==`IDAT`){for(_=0;_<e;_++)f[m+_]=a[o+_];m+=e}else if(t==`acTL`)d.tabs[t]={num_frames:u(a,o),num_plays:u(a,o+4)},p=new Uint8Array(a.length);else if(t==`fcTL`){h!=0&&((w=d.frames[d.frames.length-1]).data=n(d,p.slice(0,h),w.rect.width,w.rect.height),h=0);let e={x:u(a,o+12),y:u(a,o+16),width:u(a,o+4),height:u(a,o+8)},t=l(a,o+22);t=l(a,o+20)/(t==0?100:t);let r={rect:e,delay:Math.round(1e3*t),dispose:a[o+24],blend:a[o+25]};d.frames.push(r)}else if(t==`fdAT`){for(_=0;_<e-4;_++)p[h+_]=a[o+_+4];h+=e-4}else if(t==`pHYs`)d.tabs[t]=[s.readUint(a,o),s.readUint(a,o+4),a[o+8]];else if(t==`cHRM`)for(d.tabs[t]=[],_=0;_<8;_++)d.tabs[t].push(s.readUint(a,o+4*_));else if(t==`tEXt`||t==`zTXt`){d.tabs[t]??(d.tabs[t]={});var y=s.nextZero(a,o),b=s.readASCII(a,o,y-o),x=o+e-y-1;if(t==`tEXt`)C=s.readASCII(a,y+1,x);else{var S=r(a.slice(y+2,y+2+x));C=s.readUTF8(S,0,S.length)}d.tabs[t][b]=C}else if(t==`iTXt`){d.tabs[t]??(d.tabs[t]={}),y=0,v=o,y=s.nextZero(a,v),b=s.readASCII(a,v,y-v);let n=a[v=y+1];var C;a[v+1],v+=2,y=s.nextZero(a,v),s.readASCII(a,v,y-v),v=y+1,y=s.nextZero(a,v),s.readUTF8(a,v,y-v),x=e-((v=y+1)-o),n==0?C=s.readUTF8(a,v,x):(S=r(a.slice(v,v+x)),C=s.readUTF8(S,0,S.length)),d.tabs[t][b]=C}else if(t==`PLTE`)d.tabs[t]=s.readBytes(a,o,e);else if(t==`hIST`){let e=d.tabs.PLTE.length/3;for(d.tabs[t]=[],_=0;_<e;_++)d.tabs[t].push(l(a,o+2*_))}else if(t==`tRNS`)d.ctype==3?d.tabs[t]=s.readBytes(a,o,e):d.ctype==0?d.tabs[t]=l(a,o):d.ctype==2&&(d.tabs[t]=[l(a,o),l(a,o+2),l(a,o+4)]);else if(t==`gAMA`)d.tabs[t]=s.readUint(a,o)/1e5;else if(t==`sRGB`)d.tabs[t]=a[o];else if(t==`bKGD`)d.ctype==0||d.ctype==4?d.tabs[t]=[l(a,o)]:d.ctype==2||d.ctype==6?d.tabs[t]=[l(a,o),l(a,o+2),l(a,o+4)]:d.ctype==3&&(d.tabs[t]=a[o]);else if(t==`IEND`)break;o+=e,s.readUint(a,o),o+=4}var w;return h!=0&&((w=d.frames[d.frames.length-1]).data=n(d,p.slice(0,h),w.rect.width,w.rect.height)),d.data=n(d,f,d.width,d.height),delete d.compress,delete d.interlace,delete d.filter,d},toRGBA8:function(e){let n=e.width,r=e.height;if(e.tabs.acTL==null)return[t(e.data,n,r,e).buffer];let i=[];e.frames[0].data??(e.frames[0].data=e.data);let a=n*r*4,o=new Uint8Array(a),s=new Uint8Array(a),c=new Uint8Array(a);for(let d=0;d<e.frames.length;d++){let f=e.frames[d],p=f.rect.x,m=f.rect.y,h=f.rect.width,g=f.rect.height,_=t(f.data,h,g,e);if(d!=0)for(var u=0;u<a;u++)c[u]=o[u];if(f.blend==0?l(_,h,g,o,n,r,p,m,0):f.blend==1&&l(_,h,g,o,n,r,p,m,1),i.push(o.buffer.slice(0)),f.dispose!=0){if(f.dispose==1)l(s,h,g,o,n,r,p,m,0);else if(f.dispose==2)for(u=0;u<a;u++)o[u]=c[u]}}return i},_paeth:s,_copyTile:l,_bin:e}}();(function(){let{_copyTile:e}=F,{_bin:t}=F,n=F._paeth;var r={table:function(){let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)1&n?n=3988292384^n>>>1:n>>>=1;e[t]=n}return e}(),update(e,t,n,i){for(let a=0;a<i;a++)e=r.table[255&(e^t[n+a])]^e>>>8;return e},crc:(e,t,n)=>4294967295^r.update(4294967295,e,t,n)};function i(e,t,n,r){t[n]+=e[0]*r>>4,t[n+1]+=e[1]*r>>4,t[n+2]+=e[2]*r>>4,t[n+3]+=e[3]*r>>4}function a(e){return Math.max(0,Math.min(255,e))}function o(e,t){let n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return n*n+r*r+i*i+a*a}function s(e,t,n,r,s,c,l){l??=1;let u=r.length,d=[];for(var f=0;f<u;f++){let e=r[f];d.push([e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255])}for(f=0;f<u;f++){let e=4294967295;for(var p=0,m=0;m<u;m++){var h=o(d[f],d[m]);m!=f&&h<e&&(e=h,p=m)}}let g=new Uint32Array(s.buffer),_=new Int16Array(t*n*4),v=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(f=0;f<v.length;f++)v[f]=255*((v[f]+.5)/16-.5);for(let s=0;s<n;s++)for(let b=0;b<t;b++){var y;f=4*(s*t+b),l==2?(h=v[4*(3&s)+(3&b)],y=[a(e[f]+h),a(e[f+1]+h),a(e[f+2]+h),a(e[f+3]+h)]):y=[a(e[f]+_[f]),a(e[f+1]+_[f+1]),a(e[f+2]+_[f+2]),a(e[f+3]+_[f+3])],p=0;let x=16777215;for(m=0;m<u;m++){let e=o(y,d[m]);e<x&&(x=e,p=m)}let S=d[p],C=[y[0]-S[0],y[1]-S[1],y[2]-S[2],y[3]-S[3]];l==1&&(b!=t-1&&i(C,_,f+4,7),s!=n-1&&(b!=0&&i(C,_,f+4*t-4,3),i(C,_,f+4*t,5),b!=t-1&&i(C,_,f+4*t+4,1))),c[f>>2]=p,g[f>>2]=r[p]}}function c(e,n,i,a,o){o??={};let{crc:s}=r,c=t.writeUint,l=t.writeUshort,u=t.writeASCII,d=8,f=e.frames.length>1,p,m=!1,h=33+(f?20:0);if(o.sRGB!=null&&(h+=13),o.pHYs!=null&&(h+=21),o.iCCP!=null&&(p=pako.deflate(o.iCCP),h+=21+p.length+4),e.ctype==3){for(var g=e.plte.length,_=0;_<g;_++)e.plte[_]>>>24!=255&&(m=!0);h+=8+3*g+4+(m?8+1*g+4:0)}for(var v=0;v<e.frames.length;v++)f&&(h+=38),h+=(S=e.frames[v]).cimg.length+12,v!=0&&(h+=4);h+=12;let y=new Uint8Array(h),b=[137,80,78,71,13,10,26,10];for(_=0;_<8;_++)y[_]=b[_];if(c(y,d,13),d+=4,u(y,d,`IHDR`),d+=4,c(y,d,n),d+=4,c(y,d,i),d+=4,y[d]=e.depth,d++,y[d]=e.ctype,d++,y[d]=0,d++,y[d]=0,d++,y[d]=0,d++,c(y,d,s(y,d-17,17)),d+=4,o.sRGB!=null&&(c(y,d,1),d+=4,u(y,d,`sRGB`),d+=4,y[d]=o.sRGB,d++,c(y,d,s(y,d-5,5)),d+=4),o.iCCP!=null){let e=13+p.length;c(y,d,e),d+=4,u(y,d,`iCCP`),d+=4,u(y,d,`ICC profile`),d+=11,d+=2,y.set(p,d),d+=p.length,c(y,d,s(y,d-(e+4),e+4)),d+=4}if(o.pHYs!=null&&(c(y,d,9),d+=4,u(y,d,`pHYs`),d+=4,c(y,d,o.pHYs[0]),d+=4,c(y,d,o.pHYs[1]),d+=4,y[d]=o.pHYs[2],d++,c(y,d,s(y,d-13,13)),d+=4),f&&(c(y,d,8),d+=4,u(y,d,`acTL`),d+=4,c(y,d,e.frames.length),d+=4,c(y,d,o.loop==null?0:o.loop),d+=4,c(y,d,s(y,d-12,12)),d+=4),e.ctype==3){for(c(y,d,3*(g=e.plte.length)),d+=4,u(y,d,`PLTE`),d+=4,_=0;_<g;_++){let t=3*_,n=e.plte[_],r=255&n,i=n>>>8&255,a=n>>>16&255;y[d+t+0]=r,y[d+t+1]=i,y[d+t+2]=a}if(d+=3*g,c(y,d,s(y,d-3*g-4,3*g+4)),d+=4,m){for(c(y,d,g),d+=4,u(y,d,`tRNS`),d+=4,_=0;_<g;_++)y[d+_]=e.plte[_]>>>24&255;d+=g,c(y,d,s(y,d-g-4,g+4)),d+=4}}let x=0;for(v=0;v<e.frames.length;v++){var S=e.frames[v];f&&(c(y,d,26),d+=4,u(y,d,`fcTL`),d+=4,c(y,d,x++),d+=4,c(y,d,S.rect.width),d+=4,c(y,d,S.rect.height),d+=4,c(y,d,S.rect.x),d+=4,c(y,d,S.rect.y),d+=4,l(y,d,a[v]),d+=2,l(y,d,1e3),d+=2,y[d]=S.dispose,d++,y[d]=S.blend,d++,c(y,d,s(y,d-30,30)),d+=4);let t=S.cimg;c(y,d,(g=t.length)+(v==0?0:4)),d+=4;let n=d;u(y,d,v==0?`IDAT`:`fdAT`),d+=4,v!=0&&(c(y,d,x++),d+=4),y.set(t,d),d+=g,c(y,d,s(y,n,d-n)),d+=4}return c(y,d,0),d+=4,u(y,d,`IEND`),d+=4,c(y,d,s(y,d-4,4)),d+=4,y.buffer}function l(e,t,n){for(let r=0;r<e.frames.length;r++){let i=e.frames[r];i.rect.width;let a=i.rect.height,o=new Uint8Array(a*i.bpl+a);i.cimg=p(i.img,a,i.bpp,i.bpl,o,t,n)}}function u(t,n,r,i,a){let o=a[0],c=a[1],l=a[2],u=a[3],p=a[4],m=a[5],g=6,_=8,v=255;for(var y=0;y<t.length;y++){let e=new Uint8Array(t[y]);for(var b=e.length,x=0;x<b;x+=4)v&=e[x+3]}let S=v!=255,C=function(t,n,r,i,a,o){let s=[];for(var c=0;c<t.length;c++){let d=new Uint8Array(t[c]),p=new Uint32Array(d.buffer);var l;let h=0,g=0,_=n,v=r,y=+!!i;if(c!=0){let b=o||i||c==1||s[c-2].dispose!=0?1:2,x=0,S=1e9;for(let e=0;e<b;e++){var u=new Uint8Array(t[c-1-e]);let i=new Uint32Array(t[c-1-e]),o=n,s=r,l=-1,d=-1;for(let e=0;e<r;e++)for(let t=0;t<n;t++)p[m=e*n+t]!=i[m]&&(t<o&&(o=t),t>l&&(l=t),e<s&&(s=e),e>d&&(d=e));l==-1&&(o=s=l=d=0),a&&((1&o)==1&&o--,(1&s)==1&&s--);let f=(l-o+1)*(d-s+1);f<S&&(S=f,x=e,h=o,g=s,_=l-o+1,v=d-s+1)}u=new Uint8Array(t[c-1-x]),x==1&&(s[c-1].dispose=2),l=new Uint8Array(_*v*4),e(u,n,r,l,_,v,-h,-g,0),y=+!!e(d,n,r,l,_,v,-h,-g,3),y==1?f(d,n,r,l,{x:h,y:g,width:_,height:v}):e(d,n,r,l,_,v,-h,-g,0)}else l=d.slice(0);s.push({rect:{x:h,y:g,width:_,height:v},img:l,blend:y,dispose:0})}if(i)for(c=0;c<s.length;c++){if((h=s[c]).blend==1)continue;let e=h.rect,i=s[c-1].rect,o=Math.min(e.x,i.x),l=Math.min(e.y,i.y),u={x:o,y:l,width:Math.max(e.x+e.width,i.x+i.width)-o,height:Math.max(e.y+e.height,i.y+i.height)-l};s[c-1].dispose=1,c-1!=0&&d(t,n,r,s,c-1,u,a),d(t,n,r,s,c,u,a)}let p=0;if(t.length!=1)for(var m=0;m<s.length;m++){var h;p+=(h=s[m]).rect.width*h.rect.height}return s}(t,n,r,o,c,l),w={},T=[],E=[];if(i!=0){let e=[];for(x=0;x<C.length;x++)e.push(C[x].img.buffer);let t=h(function(e){let t=0;for(var n=0;n<e.length;n++)t+=e[n].byteLength;let r=new Uint8Array(t),i=0;for(n=0;n<e.length;n++){let t=new Uint8Array(e[n]),a=t.length;for(let e=0;e<a;e+=4){let n=t[e],a=t[e+1],o=t[e+2],s=t[e+3];s==0&&(n=a=o=0),r[i+e]=n,r[i+e+1]=a,r[i+e+2]=o,r[i+e+3]=s}i+=a}return r.buffer}(e),i);for(x=0;x<t.plte.length;x++)T.push(t.plte[x].est.rgba);let n=0;for(x=0;x<C.length;x++){let e=(O=C[x]).img.length;var D=new Uint8Array(t.inds.buffer,n>>2,e>>2);E.push(D);let r=new Uint8Array(t.abuf,n,e);m&&s(O.img,O.rect.width,O.rect.height,T,r,D),O.img.set(r),n+=e}}else for(y=0;y<C.length;y++){var O=C[y];let e=new Uint32Array(O.img.buffer);var k=O.rect.width;for(b=e.length,D=new Uint8Array(b),E.push(D),x=0;x<b;x++){let t=e[x];if(x!=0&&t==e[x-1])D[x]=D[x-1];else if(x>k&&t==e[x-k])D[x]=D[x-k];else{let e=w[t];if(e==null&&(w[t]=e=T.length,T.push(t),T.length>=300))break;D[x]=e}}}let A=T.length;for(A<=256&&p==0&&(_=A<=2?1:A<=4?2:A<=16?4:8,_=Math.max(_,u)),y=0;y<C.length;y++){(O=C[y]).rect.x,O.rect.y,k=O.rect.width;let e=O.rect.height,t=O.img;new Uint32Array(t.buffer);let n=4*k,r=4;if(A<=256&&p==0){n=Math.ceil(_*k/8);var j=new Uint8Array(n*e);let i=E[y];for(let t=0;t<e;t++){x=t*n;let e=t*k;if(_==8)for(var M=0;M<k;M++)j[x+M]=i[e+M];else if(_==4)for(M=0;M<k;M++)j[x+(M>>1)]|=i[e+M]<<4-4*(1&M);else if(_==2)for(M=0;M<k;M++)j[x+(M>>2)]|=i[e+M]<<6-2*(3&M);else if(_==1)for(M=0;M<k;M++)j[x+(M>>3)]|=i[e+M]<<7-1*(7&M)}t=j,g=3,r=1}else if(S==0&&C.length==1){j=new Uint8Array(k*e*3);let i=k*e;for(x=0;x<i;x++){let e=3*x,n=4*x;j[e]=t[n],j[e+1]=t[n+1],j[e+2]=t[n+2]}t=j,g=2,r=3,n=3*k}O.img=t,O.bpl=n,O.bpp=r}return{ctype:g,depth:_,plte:T,frames:C}}function d(t,n,r,i,a,o,s){let c=Uint8Array,l=Uint32Array,u=new c(t[a-1]),d=new l(t[a-1]),p=a+1<t.length?new c(t[a+1]):null,m=new c(t[a]),h=new l(m.buffer),g=n,_=r,v=-1,y=-1;for(let e=0;e<o.height;e++)for(let t=0;t<o.width;t++){let r=o.x+t,s=o.y+e,c=s*n+r,l=h[c];l==0||i[a-1].dispose==0&&d[c]==l&&(p==null||p[4*c+3]!=0)||(r<g&&(g=r),r>v&&(v=r),s<_&&(_=s),s>y&&(y=s))}v==-1&&(g=_=v=y=0),s&&((1&g)==1&&g--,(1&_)==1&&_--),o={x:g,y:_,width:v-g+1,height:y-_+1};let b=i[a];b.rect=o,b.blend=1,b.img=new Uint8Array(o.width*o.height*4),i[a-1].dispose==0?(e(u,n,r,b.img,o.width,o.height,-o.x,-o.y,0),f(m,n,r,b.img,o)):e(m,n,r,b.img,o.width,o.height,-o.x,-o.y,0)}function f(t,n,r,i,a){e(t,n,r,i,a.width,a.height,-a.x,-a.y,2)}function p(e,t,n,r,i,a,o){let s=[],c,l=[0,1,2,3,4];a==-1?(t*r>5e5||n==1)&&(l=[0]):l=[a],o&&(c={level:0});let u=P;for(var d=0;d<l.length;d++){for(let a=0;a<t;a++)m(i,e,a,r,n,l[d]);s.push(u.deflate(i,c))}let f,p=1e9;for(d=0;d<s.length;d++)s[d].length<p&&(f=d,p=s[d].length);return s[f]}function m(e,t,r,i,a,o){let s=r*i,c=s+r;if(e[c]=o,c++,o==0)if(i<500)for(var l=0;l<i;l++)e[c+l]=t[s+l];else e.set(new Uint8Array(t.buffer,s,i),c);else if(o==1){for(l=0;l<a;l++)e[c+l]=t[s+l];for(l=a;l<i;l++)e[c+l]=t[s+l]-t[s+l-a]+256&255}else if(r==0){for(l=0;l<a;l++)e[c+l]=t[s+l];if(o==2)for(l=a;l<i;l++)e[c+l]=t[s+l];if(o==3)for(l=a;l<i;l++)e[c+l]=t[s+l]-(t[s+l-a]>>1)+256&255;if(o==4)for(l=a;l<i;l++)e[c+l]=t[s+l]-n(t[s+l-a],0,0)+256&255}else{if(o==2)for(l=0;l<i;l++)e[c+l]=t[s+l]+256-t[s+l-i]&255;if(o==3){for(l=0;l<a;l++)e[c+l]=t[s+l]+256-(t[s+l-i]>>1)&255;for(l=a;l<i;l++)e[c+l]=t[s+l]+256-(t[s+l-i]+t[s+l-a]>>1)&255}if(o==4){for(l=0;l<a;l++)e[c+l]=t[s+l]+256-n(0,t[s+l-i],0)&255;for(l=a;l<i;l++)e[c+l]=t[s+l]+256-n(t[s+l-a],t[s+l-i],t[s+l-a-i])&255}}}function h(e,t){let n=new Uint8Array(e),r=n.slice(0),i=new Uint32Array(r.buffer),a=g(r,t),o=a[0],s=a[1],c=n.length,l=new Uint8Array(c>>2),u;if(n.length<2e7)for(var d=0;d<c;d+=4)u=_(o,f=n[d]*(1/255),p=n[d+1]*(1/255),m=n[d+2]*(1/255),h=n[d+3]*(1/255)),l[d>>2]=u.ind,i[d>>2]=u.est.rgba;else for(d=0;d<c;d+=4){var f=n[d]*(1/255),p=n[d+1]*(1/255),m=n[d+2]*(1/255),h=n[d+3]*(1/255);for(u=o;u.left;)u=v(u.est,f,p,m,h)<=0?u.left:u.right;l[d>>2]=u.ind,i[d>>2]=u.est.rgba}return{abuf:r.buffer,inds:l,plte:s}}function g(e,t,n){n??=1e-4;let r=new Uint32Array(e.buffer),i={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};i.bst=x(e,i.i0,i.i1),i.est=S(i.bst);let a=[i];for(;a.length<t;){let t=0,i=0;for(var o=0;o<a.length;o++)a[o].est.L>t&&(t=a[o].est.L,i=o);if(t<n)break;let s=a[i],c=y(e,r,s.i0,s.i1,s.est.e,s.est.eMq255);if(s.i0>=c||s.i1<=c){s.est.L=0;continue}let l={i0:s.i0,i1:c,bst:null,est:null,tdst:0,left:null,right:null};l.bst=x(e,l.i0,l.i1),l.est=S(l.bst);let u={i0:c,i1:s.i1,bst:null,est:null,tdst:0,left:null,right:null};for(u.bst={R:[],m:[],N:s.bst.N-l.bst.N},o=0;o<16;o++)u.bst.R[o]=s.bst.R[o]-l.bst.R[o];for(o=0;o<4;o++)u.bst.m[o]=s.bst.m[o]-l.bst.m[o];u.est=S(u.bst),s.left=l,s.right=u,a[i]=l,a.push(u)}for(a.sort(((e,t)=>t.bst.N-e.bst.N)),o=0;o<a.length;o++)a[o].ind=o;return[i,a]}function _(e,t,n,r,i){if(e.left==null)return e.tdst=function(e,t,n,r,i){let a=t-e[0],o=n-e[1],s=r-e[2],c=i-e[3];return a*a+o*o+s*s+c*c}(e.est.q,t,n,r,i),e;let a=v(e.est,t,n,r,i),o=e.left,s=e.right;a>0&&(o=e.right,s=e.left);let c=_(o,t,n,r,i);if(c.tdst<=a*a)return c;let l=_(s,t,n,r,i);return l.tdst<c.tdst?l:c}function v(e,t,n,r,i){let{e:a}=e;return a[0]*t+a[1]*n+a[2]*r+a[3]*i-e.eMq}function y(e,t,n,r,i,a){for(r-=4;n<r;){for(;b(e,n,i)<=a;)n+=4;for(;b(e,r,i)>a;)r-=4;if(n>=r)break;let o=t[n>>2];t[n>>2]=t[r>>2],t[r>>2]=o,n+=4,r-=4}for(;b(e,n,i)>a;)n-=4;return n+4}function b(e,t,n){return e[t]*n[0]+e[t+1]*n[1]+e[t+2]*n[2]+e[t+3]*n[3]}function x(e,t,n){let r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=[0,0,0,0],a=n-t>>2;for(let a=t;a<n;a+=4){let t=e[a]*(1/255),n=e[a+1]*(1/255),o=e[a+2]*(1/255),s=e[a+3]*(1/255);i[0]+=t,i[1]+=n,i[2]+=o,i[3]+=s,r[0]+=t*t,r[1]+=t*n,r[2]+=t*o,r[3]+=t*s,r[5]+=n*n,r[6]+=n*o,r[7]+=n*s,r[10]+=o*o,r[11]+=o*s,r[15]+=s*s}return r[4]=r[1],r[8]=r[2],r[9]=r[6],r[12]=r[3],r[13]=r[7],r[14]=r[11],{R:r,m:i,N:a}}function S(e){let{R:t}=e,{m:n}=e,{N:r}=e,i=n[0],a=n[1],o=n[2],s=n[3],c=r==0?0:1/r,l=[t[0]-i*i*c,t[1]-i*a*c,t[2]-i*o*c,t[3]-i*s*c,t[4]-a*i*c,t[5]-a*a*c,t[6]-a*o*c,t[7]-a*s*c,t[8]-o*i*c,t[9]-o*a*c,t[10]-o*o*c,t[11]-o*s*c,t[12]-s*i*c,t[13]-s*a*c,t[14]-s*o*c,t[15]-s*s*c],u=l,d=C,f=[Math.random(),Math.random(),Math.random(),Math.random()],p=0,m=0;if(r!=0)for(let e=0;e<16&&(f=d.multVec(u,f),m=Math.sqrt(d.dot(f,f)),f=d.sml(1/m,f),!(e!=0&&Math.abs(m-p)<1e-9));e++)p=m;let h=[i*c,a*c,o*c,s*c];return{Cov:l,q:h,e:f,L:p,eMq255:d.dot(d.sml(255,h),f),eMq:d.dot(f,h),rgba:(Math.round(255*h[3])<<24|Math.round(255*h[2])<<16|Math.round(255*h[1])<<8|Math.round(255*h[0])<<0)>>>0}}var C={multVec:(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]],dot:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],sml:(e,t)=>[e*t[0],e*t[1],e*t[2],e*t[3]]};F.encode=function(e,t,n,r,i,a,o){r??=0,o??=!1;let s=u(e,t,n,r,[!1,!1,!1,0,o,!1]);return l(s,-1),c(s,t,n,i,a)},F.encodeLL=function(e,t,n,r,i,a,o,s){let u={ctype:0+(r==1?0:2)+(i==0?0:4),depth:a,frames:[]},d=(r+i)*a,f=d*t;for(let r=0;r<e.length;r++)u.frames.push({rect:{x:0,y:0,width:t,height:n},img:new Uint8Array(e[r]),blend:0,dispose:1,bpp:Math.ceil(d/8),bpl:Math.ceil(f/8)});return l(u,0,!0),c(u,t,n,o,s)},F.encode.compress=u,F.encode.dither=s,F.quantize=h,F.quantize.getKDtree=g,F.quantize.getNearest=_})();var I={toArrayBuffer(e,t){let n=e.width,r=e.height,i=n<<2,a=e.getContext(`2d`).getImageData(0,0,n,r),o=new Uint32Array(a.data.buffer),s=(32*n+31)/32<<2,c=s*r,l=122+c,u=new ArrayBuffer(l),d=new DataView(u),f=1<<20,p,m,h,g,_=f,v=0,y=0,b=0;function x(e){d.setUint16(y,e,!0),y+=2}function S(e){d.setUint32(y,e,!0),y+=4}function C(e){y+=e}x(19778),S(l),C(4),S(122),S(108),S(n),S(-r>>>0),x(1),x(32),S(3),S(c),S(2835),S(2835),C(8),S(16711680),S(65280),S(255),S(4278190080),S(1466527264),function e(){for(;v<r&&_>0;){for(g=122+v*s,p=0;p<i;)_--,m=o[b++],h=m>>>24,d.setUint32(g+p,m<<8|h),p+=4;v++}b<o.length?(_=f,setTimeout(e,I._dly)):t(u)}()},toBlob(e,t){this.toArrayBuffer(e,(e=>{t(new Blob([e],{type:`image/bmp`}))}))},_dly:9},L={CHROME:`CHROME`,FIREFOX:`FIREFOX`,DESKTOP_SAFARI:`DESKTOP_SAFARI`,IE:`IE`,IOS:`IOS`,ETC:`ETC`},ee={[L.CHROME]:16384,[L.FIREFOX]:11180,[L.DESKTOP_SAFARI]:16384,[L.IE]:8192,[L.IOS]:4096,[L.ETC]:8192},R=typeof window<`u`,te=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope,ne=R&&window.cordova&&window.cordova.require&&window.cordova.require(`cordova/modulemapper`),z=(R||te)&&(ne&&ne.getOriginalSymbol(window,`File`)||typeof File<`u`&&File),re=(R||te)&&(ne&&ne.getOriginalSymbol(window,`FileReader`)||typeof FileReader<`u`&&FileReader);function ie(e,t,n=Date.now()){return new Promise((r=>{let i=e.split(`,`),a=i[0].match(/:(.*?);/)[1],o=globalThis.atob(i[1]),s=o.length,c=new Uint8Array(s);for(;s--;)c[s]=o.charCodeAt(s);let l=new Blob([c],{type:a});l.name=t,l.lastModified=n,r(l)}))}function ae(e){return new Promise(((t,n)=>{let r=new re;r.onload=()=>t(r.result),r.onerror=e=>n(e),r.readAsDataURL(e)}))}function oe(e){return new Promise(((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=e=>n(e),r.src=e}))}function se(){if(se.cachedResult!==void 0)return se.cachedResult;let e=L.ETC,{userAgent:t}=navigator;return/Chrom(e|ium)/i.test(t)?e=L.CHROME:/iP(ad|od|hone)/i.test(t)&&/WebKit/i.test(t)?e=L.IOS:/Safari/i.test(t)?e=L.DESKTOP_SAFARI:/Firefox/i.test(t)?e=L.FIREFOX:(/MSIE/i.test(t)||!!document.documentMode==1)&&(e=L.IE),se.cachedResult=e,se.cachedResult}function ce(e,t){let n=ee[se()],r=e,i=t,a=r*i,o=r>i?i/r:r/i;for(;a>n*n;){let e=(n+r)/2,t=(n+i)/2;e<t?(i=t,r=t*o):(i=e*o,r=e),a=r*i}return{width:r,height:i}}function le(e,t){let n,r;try{if(n=new OffscreenCanvas(e,t),r=n.getContext(`2d`),r===null)throw Error(`getContext of OffscreenCanvas returns null`)}catch{n=document.createElement(`canvas`),r=n.getContext(`2d`)}return n.width=e,n.height=t,[n,r]}function ue(e,t){let{width:n,height:r}=ce(e.width,e.height),[i,a]=le(n,r);return t&&/jpe?g/.test(t)&&(a.fillStyle=`white`,a.fillRect(0,0,i.width,i.height)),a.drawImage(e,0,0,i.width,i.height),i}function de(){return de.cachedResult!==void 0||(de.cachedResult=[`iPad Simulator`,`iPhone Simulator`,`iPod Simulator`,`iPad`,`iPhone`,`iPod`].includes(navigator.platform)||navigator.userAgent.includes(`Mac`)&&typeof document<`u`&&`ontouchend`in document),de.cachedResult}function fe(e,t={}){return new Promise((function(n,r){let i,a;var o=function(){try{return a=ue(i,t.fileType||e.type),n([i,a])}catch(e){return r(e)}},s=function(t){try{var n=function(e){try{throw e}catch(e){return r(e)}};try{let t;return ae(e).then((function(e){try{return t=e,oe(t).then((function(e){try{return i=e,function(){try{return o()}catch(e){return r(e)}}()}catch(e){return n(e)}}),n)}catch(e){return n(e)}}),n)}catch(e){n(e)}}catch(e){return r(e)}};try{if(de()||[L.DESKTOP_SAFARI,L.MOBILE_SAFARI].includes(se()))throw Error(`Skip createImageBitmap on IOS and Safari`);return createImageBitmap(e).then((function(e){try{return i=e,o()}catch{return s()}}),s)}catch{s()}}))}function pe(e,t,n,r,i=1){return new Promise((function(a,o){let s;if(t===`image/png`){let a,o,c;return a=e.getContext(`2d`),{data:o}=a.getImageData(0,0,e.width,e.height),c=F.encode([o.buffer],e.width,e.height,4096*i),s=new Blob([c],{type:t}),s.name=n,s.lastModified=r,u.call(this)}{if(t===`image/bmp`)return new Promise((t=>I.toBlob(e,t))).then(function(e){try{return s=e,s.name=n,s.lastModified=r,l.call(this)}catch(e){return o(e)}}.bind(this),o);{if(typeof OffscreenCanvas==`function`&&e instanceof OffscreenCanvas)return e.convertToBlob({type:t,quality:i}).then(function(e){try{return s=e,s.name=n,s.lastModified=r,c.call(this)}catch(e){return o(e)}}.bind(this),o);{let a;return a=e.toDataURL(t,i),ie(a,n,r).then(function(e){try{return s=e,c.call(this)}catch(e){return o(e)}}.bind(this),o)}function c(){return l.call(this)}}function l(){return u.call(this)}}function u(){return a(s)}}))}function me(e){e.width=0,e.height=0}function he(){return new Promise((function(e,t){let n,r,i,a;return he.cachedResult===void 0?ie(`data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==`,`test.jpg`,Date.now()).then((function(o){try{return n=o,fe(n).then((function(o){try{return r=o[1],pe(r,n.type,n.name,n.lastModified).then((function(n){try{return i=n,me(r),fe(i).then((function(n){try{return a=n[0],he.cachedResult=a.width===1&&a.height===2,e(he.cachedResult)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t):e(he.cachedResult)}))}function ge(e){return new Promise(((t,n)=>{let r=new re;r.onload=e=>{let n=new DataView(e.target.result);if(n.getUint16(0,!1)!=65496)return t(-2);let r=n.byteLength,i=2;for(;i<r;){if(n.getUint16(i+2,!1)<=8)return t(-1);let e=n.getUint16(i,!1);if(i+=2,e==65505){if(n.getUint32(i+=2,!1)!=1165519206)return t(-1);let e=n.getUint16(i+=6,!1)==18761;i+=n.getUint32(i+4,e);let r=n.getUint16(i,e);i+=2;for(let a=0;a<r;a++)if(n.getUint16(i+12*a,e)==274)return t(n.getUint16(i+12*a+8,e))}else{if((65280&e)!=65280)break;i+=n.getUint16(i,!1)}}return t(-1)},r.onerror=e=>n(e),r.readAsArrayBuffer(e)}))}function _e(e,t){let{width:n}=e,{height:r}=e,{maxWidthOrHeight:i}=t,a,o=e;return isFinite(i)&&(n>i||r>i)&&([o,a]=le(n,r),n>r?(o.width=i,o.height=r/n*i):(o.width=n/r*i,o.height=i),a.drawImage(e,0,0,o.width,o.height),me(e)),o}function ve(e,t){let{width:n}=e,{height:r}=e,[i,a]=le(n,r);switch(t>4&&t<9?(i.width=r,i.height=n):(i.width=n,i.height=r),t){case 2:a.transform(-1,0,0,1,n,0);break;case 3:a.transform(-1,0,0,-1,n,r);break;case 4:a.transform(1,0,0,-1,0,r);break;case 5:a.transform(0,1,1,0,0,0);break;case 6:a.transform(0,1,-1,0,r,0);break;case 7:a.transform(0,-1,-1,0,r,n);break;case 8:a.transform(0,-1,1,0,0,n)}return a.drawImage(e,0,0,n,r),me(e),i}function ye(e,t,n=0){return new Promise((function(r,i){let a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;function T(e=5){if(t.signal&&t.signal.aborted)throw t.signal.reason;a+=e,t.onProgress(Math.min(a,100))}function E(e){if(t.signal&&t.signal.aborted)throw t.signal.reason;a=Math.min(Math.max(e,a),100),t.onProgress(a)}return a=n,o=t.maxIteration||10,s=1024*t.maxSizeMB*1024,T(),fe(e,t).then(function(n){try{return[,c]=n,T(),l=_e(c,t),T(),new Promise((function(n,r){var i;if(!(i=t.exifOrientation))return ge(e).then(function(e){try{return i=e,a.call(this)}catch(e){return r(e)}}.bind(this),r);function a(){return n(i)}return a.call(this)})).then(function(n){try{return u=n,T(),he().then(function(n){try{return d=n?l:ve(l,u),T(),f=t.initialQuality||1,p=t.fileType||e.type,pe(d,p,e.name,e.lastModified,f).then(function(n){try{{if(m=n,T(),h=m.size>s,g=m.size>e.size,!h&&!g)return E(100),r(m);var a;function u(){if(o--&&(y>s||y>_)){let t,n;return t=w?.95*C.width:C.width,n=w?.95*C.height:C.height,[x,S]=le(t,n),S.drawImage(C,0,0,t,n),f*=p===`image/png`?.85:.95,pe(x,p,e.name,e.lastModified,f).then((function(e){try{return b=e,me(C),C=x,y=b.size,E(Math.min(99,Math.floor((v-y)/(v-s)*100))),u}catch(e){return i(e)}}),i)}return[1]}return _=e.size,v=m.size,y=v,C=d,w=!t.alwaysKeepResolution&&h,(a=function(e){for(;e;){if(e.then)return void e.then(a,i);try{if(e.pop){if(e.length)return e.pop()?D.call(this):e;e=u}else e=e.call(this)}catch(e){return i(e)}}}.bind(this))(u);function D(){return me(C),me(x),me(l),me(d),me(c),E(100),r(b)}}}catch(e){return i(e)}}.bind(this),i)}catch(e){return i(e)}}.bind(this),i)}catch(e){return i(e)}}.bind(this),i)}catch(e){return i(e)}}.bind(this),i)}))}var be=`
1
+ __emailmaker__.define(`static/core/7865066d.js`,[`require`,`exports`,`module`,`static/core/354bf8a9.js`,`static/core/c229e862.js`,`react`,`react-dom`,`react/jsx-runtime`,`antd`,`react-dom/client`,`@ant-design/icons`,`@ant-design/cssinjs`],function(e,t,n){let r=e("./354bf8a9.js"),i=e("./c229e862.js"),a=e("react"),o=r.l(a,1);a=r.l(a);let s=e("react-dom");s=r.l(s);let c=e("react/jsx-runtime"),l=e("antd"),u=e("react-dom/client"),d=e("@ant-design/icons");d=r.l(d);let f=e("@ant-design/cssinjs");var p=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M12 20.472a6 6 0 1 0 5.58-10.262m-11.16 0a6 6 0 1 0 7.16 3.58M18 8A6 6 0 1 1 6 8a6 6 0 0 1 12 0Z`}));p.displayName=`Colors`;var m=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M16 16v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C14.48 22 13.92 22 12.8 22H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 20.48 2 19.92 2 18.8v-7.6c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 8 4.08 8 5.2 8H8m3.2 8h7.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 14.48 22 13.92 22 12.8V5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 2 19.92 2 18.8 2h-7.6c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C8 3.52 8 4.08 8 5.2v7.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C9.52 16 10.08 16 11.2 16Z`}));m.displayName=`Copy04`;var h=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M10 6h4.8c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C18 7.52 18 8.08 18 9.2V14M2 6h4m12 12v4m4-4H9.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C6 16.48 6 15.92 6 14.8V2`}));h.displayName=`Crop02`;var g=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Zm7 7 3 3m0 0 3-3m-3 3v-6`}));g.displayName=`FolderDownload`;var _=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Zm7 7h6`}));_.displayName=`FolderMinus`;var v=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Zm13.5 10.5L14 16m1-2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z`}));v.displayName=`FolderSearch`;var y=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m12.708 18.364-1.415 1.414a5 5 0 1 1-7.07-7.07l1.413-1.415m12.728 1.414 1.415-1.414a5 5 0 0 0-7.071-7.071l-1.415 1.414M8.5 15.5l7-7`}));y.displayName=`Link01`;var b=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M9.5 8.965c0-.477 0-.716.1-.849a.5.5 0 0 1 .364-.199c.166-.012.367.117.769.375l4.72 3.035c.349.224.523.336.583.478a.5.5 0 0 1 0 .39c-.06.142-.234.254-.583.478l-4.72 3.035c-.402.258-.603.387-.769.375a.5.5 0 0 1-.364-.2c-.1-.132-.1-.371-.1-.848v-6.07Z`}),o.createElement(`path`,{d:`M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8Z`}));b.displayName=`PlaySquare`;var x=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M6.5 6.5h.01m10.99 0h.01M6.5 17.5h.01M13 13h.01m4.49 4.5h.01M17 21h4v-4m-7-.5V21m7-7h-4.5m-.9-4h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C21 9.24 21 8.96 21 8.4V4.6c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C20.24 3 19.96 3 19.4 3h-3.8c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C14 3.76 14 4.04 14 4.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C14.76 10 15.04 10 15.6 10Zm-11 0h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C10 9.24 10 8.96 10 8.4V4.6c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C9.24 3 8.96 3 8.4 3H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 3.76 3 4.04 3 4.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 10 4.04 10 4.6 10Zm0 11h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C10 20.24 10 19.96 10 19.4v-3.8c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C9.24 14 8.96 14 8.4 14H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 14.76 3 15.04 3 15.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21Z`}));x.displayName=`QrCode02`;var S=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M20.453 12.893A8.5 8.5 0 0 1 4.638 16.25l-.25-.433m-.842-4.71A8.5 8.5 0 0 1 19.361 7.75l.25.433M3.493 18.066l.732-2.732 2.732.732m10.085-8.132 2.732.732.732-2.732`}));S.displayName=`RefreshCw05`;var C=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M14 22H6.8m0 0c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 19.72 2 18.88 2 17.2M6.8 22h.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C12 19.72 12 18.88 12 17.2v-.4c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C9.72 12 8.88 12 7.2 12h-.4c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C2 14.28 2 15.12 2 16.8v.4m0 0V10m8-8h4m8 8v4m-4 8c.93 0 1.395 0 1.776-.102a3 3 0 0 0 2.122-2.122C22 19.395 22 18.93 22 18m0-12c0-.93 0-1.395-.102-1.776a3 3 0 0 0-2.122-2.122C19.395 2 18.93 2 18 2M6 2c-.93 0-1.395 0-1.776.102a3 3 0 0 0-2.122 2.122C2 4.605 2 5.07 2 6`}));C.displayName=`Scale01`;var w=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`m21 21-4.35-4.35M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z`}));w.displayName=`SearchMd`;var T=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M4.5 22v-5m0-10V2M2 4.5h5m-5 15h5M13 3l-1.734 4.509c-.282.733-.423 1.1-.643 1.408a3 3 0 0 1-.706.707c-.308.219-.675.36-1.408.642L4 12l4.509 1.734c.733.282 1.1.423 1.408.643.273.194.512.433.707.706.219.308.36.675.642 1.408L13 21l1.734-4.509c.282-.733.423-1.1.643-1.408.194-.273.433-.512.706-.707.308-.219.675-.36 1.408-.642L22 12l-4.509-1.734c-.733-.282-1.1-.423-1.408-.642a3 3 0 0 1-.706-.707c-.22-.308-.36-.675-.643-1.408L13 3Z`}));T.displayName=`Stars02`;var E=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M7 22V11m-5 2v7a2 2 0 0 0 2 2h13.426a3 3 0 0 0 2.965-2.544l1.077-7A3 3 0 0 0 18.503 9H15a1 1 0 0 1-1-1V4.466A2.466 2.466 0 0 0 11.534 2a.822.822 0 0 0-.75.488l-3.52 7.918A1 1 0 0 1 6.35 11H4a2 2 0 0 0-2 2Z`}));E.displayName=`ThumbsUp`;var D=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M9 3h6M3 6h18m-2 0-.701 10.52c-.105 1.578-.158 2.367-.499 2.965a3 3 0 0 1-1.298 1.215c-.62.3-1.41.3-2.993.3h-3.018c-1.582 0-2.373 0-2.993-.3A3 3 0 0 1 6.2 19.485c-.34-.598-.394-1.387-.499-2.966L5 6m5 4.5v5m4-5v5`}));D.displayName=`Trash03`;var O=({size:e=24,color:t=`currentColor`,...n})=>o.createElement(`svg`,{viewBox:`0 0 24 24`,width:e,height:e,stroke:t,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n},o.createElement(`path`,{d:`M9 3h6M3 6h18m-2 0-.701 10.52c-.105 1.578-.158 2.367-.499 2.965a3 3 0 0 1-1.298 1.215c-.62.3-1.41.3-2.993.3h-3.018c-1.582 0-2.373 0-2.993-.3A3 3 0 0 1 6.2 19.485c-.34-.598-.394-1.387-.499-2.966L5 6`}));O.displayName=`Trash04`,r.i();function k(e,t){return t.forEach((function(t){t&&typeof t!=`string`&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if(n!=="default"&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}function A(e,t){return new Promise((function(n,r){let i;return j(e).then((function(e){try{return i=e,n(new Blob([t.slice(0,2),i,t.slice(2)],{type:`image/jpeg`}))}catch(e){return r(e)}}),r)}))}var j=e=>new Promise(((t,n)=>{let r=new FileReader;r.addEventListener(`load`,(({target:{result:e}})=>{let r=new DataView(e),i=0;if(r.getUint16(i)!==65496)return n(`not a valid JPEG`);for(i+=2;;){let a=r.getUint16(i);if(a===65498)break;let o=r.getUint16(i+2);if(a===65505&&r.getUint32(i+4)===1165519206){let a=i+10,s;switch(r.getUint16(a)){case 18761:s=!0;break;case 19789:s=!1;break;default:return n(`TIFF header contains invalid endian`)}if(r.getUint16(a+2,s)!==42)return n(`TIFF header contains invalid version`);let c=r.getUint32(a+4,s),l=a+c+2+12*r.getUint16(a+c,s);for(let e=a+c+2;e<l;e+=12)if(r.getUint16(e,s)==274){if(r.getUint16(e+2,s)!==3)return n(`Orientation data type is invalid`);if(r.getUint32(e+4,s)!==1)return n(`Orientation data count is invalid`);r.setUint16(e+8,1,s);break}return t(e.slice(i,i+2+o))}i+=2+o}return t(new Blob)})),r.readAsArrayBuffer(e)})),M={},N={get exports(){return M},set exports(e){M=e}};(function(e){var t,n,r={};N.exports=r,r.parse=function(e,t){for(var n=r.bin.readUshort,i=r.bin.readUint,a=0,o={},s=new Uint8Array(e),c=s.length-4;i(s,c)!=101010256;)c--;a=c,a+=4;var l=n(s,a+=4);n(s,a+=2);var u=i(s,a+=2),d=i(s,a+=4);a+=4,a=d;for(var f=0;f<l;f++){i(s,a),a+=4,a+=4,a+=4,i(s,a+=4),u=i(s,a+=4);var p=i(s,a+=4),m=n(s,a+=4),h=n(s,a+2),g=n(s,a+4);a+=6;var _=i(s,a+=8);a+=4,a+=m+h+g,r._readLocal(s,_,o,u,p,t)}return o},r._readLocal=function(e,t,n,i,a,o){var s=r.bin.readUshort,c=r.bin.readUint;c(e,t),s(e,t+=4),s(e,t+=2);var l=s(e,t+=2);c(e,t+=2),c(e,t+=4),t+=4;var u=s(e,t+=8),d=s(e,t+=2);t+=2;var f=r.bin.readUTF8(e,t,u);if(t+=u,t+=d,o)n[f]={size:a,csize:i};else{var p=new Uint8Array(e.buffer,t);if(l==0)n[f]=new Uint8Array(p.buffer.slice(t,t+i));else{if(l!=8)throw`unknown compression method: `+l;var m=new Uint8Array(a);r.inflateRaw(p,m),n[f]=m}}},r.inflateRaw=function(e,t){return r.F.inflate(e,t)},r.inflate=function(e,t){return e[0],e[1],r.inflateRaw(new Uint8Array(e.buffer,e.byteOffset+2,e.length-6),t)},r.deflate=function(e,t){t??={level:6};var n=0,i=new Uint8Array(50+Math.floor(1.1*e.length));i[n]=120,i[n+1]=156,n+=2,n=r.F.deflateRaw(e,i,n,t.level);var a=r.adler(e,0,e.length);return i[n+0]=a>>>24&255,i[n+1]=a>>>16&255,i[n+2]=a>>>8&255,i[n+3]=a>>>0&255,new Uint8Array(i.buffer,0,n+4)},r.deflateRaw=function(e,t){t??={level:6};var n=new Uint8Array(50+Math.floor(1.1*e.length)),i=r.F.deflateRaw(e,n,i,t.level);return new Uint8Array(n.buffer,0,i)},r.encode=function(e,t){t??=!1;var n=0,i=r.bin.writeUint,a=r.bin.writeUshort,o={};for(var s in e){var c=!r._noNeed(s)&&!t,l=e[s],u=r.crc.crc(l,0,l.length);o[s]={cpr:c,usize:l.length,crc:u,file:c?r.deflateRaw(l):l}}for(var s in o)n+=o[s].file.length+30+46+2*r.bin.sizeUTF8(s);n+=22;var d=new Uint8Array(n),f=0,p=[];for(var s in o){var m=o[s];p.push(f),f=r._writeHeader(d,f,s,m,0)}var h=0,g=f;for(var s in o)m=o[s],p.push(f),f=r._writeHeader(d,f,s,m,1,p[h++]);var _=f-g;return i(d,f,101010256),f+=4,a(d,f+=4,h),a(d,f+=2,h),i(d,f+=2,_),i(d,f+=4,g),f+=4,f+=2,d.buffer},r._noNeed=function(e){var t=e.split(`.`).pop().toLowerCase();return`png,jpg,jpeg,zip`.indexOf(t)!=-1},r._writeHeader=function(e,t,n,i,a,o){var s=r.bin.writeUint,c=r.bin.writeUshort,l=i.file;return s(e,t,a==0?67324752:33639248),t+=4,a==1&&(t+=2),c(e,t,20),c(e,t+=2,0),c(e,t+=2,i.cpr?8:0),s(e,t+=2,0),s(e,t+=4,i.crc),s(e,t+=4,l.length),s(e,t+=4,i.usize),c(e,t+=4,r.bin.sizeUTF8(n)),c(e,t+=2,0),t+=2,a==1&&(t+=2,t+=2,s(e,t+=6,o),t+=4),t+=r.bin.writeUTF8(e,t,n),a==0&&(e.set(l,t),t+=l.length),t},r.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var n=t,r=0;r<8;r++)1&n?n=3988292384^n>>>1:n>>>=1;e[t]=n}return e}(),update:function(e,t,n,i){for(var a=0;a<i;a++)e=r.crc.table[255&(e^t[n+a])]^e>>>8;return e},crc:function(e,t,n){return 4294967295^r.crc.update(4294967295,e,t,n)}},r.adler=function(e,t,n){for(var r=1,i=0,a=t,o=t+n;a<o;){for(var s=Math.min(a+5552,o);a<s;)i+=r+=e[a++];r%=65521,i%=65521}return i<<16|r},r.bin={readUshort:function(e,t){return e[t]|e[t+1]<<8},writeUshort:function(e,t,n){e[t]=255&n,e[t+1]=n>>8&255},readUint:function(e,t){return 16777216*e[t+3]+(e[t+2]<<16|e[t+1]<<8|e[t])},writeUint:function(e,t,n){e[t]=255&n,e[t+1]=n>>8&255,e[t+2]=n>>16&255,e[t+3]=n>>24&255},readASCII:function(e,t,n){for(var r=``,i=0;i<n;i++)r+=String.fromCharCode(e[t+i]);return r},writeASCII:function(e,t,n){for(var r=0;r<n.length;r++)e[t+r]=n.charCodeAt(r)},pad:function(e){return e.length<2?`0`+e:e},readUTF8:function(e,t,n){for(var i,a=``,o=0;o<n;o++)a+=`%`+r.bin.pad(e[t+o].toString(16));try{i=decodeURIComponent(a)}catch{return r.bin.readASCII(e,t,n)}return i},writeUTF8:function(e,t,n){for(var r=n.length,i=0,a=0;a<r;a++){var o=n.charCodeAt(a);if(!(4294967168&o))e[t+i]=o,i++;else if(!(4294965248&o))e[t+i]=192|o>>6,e[t+i+1]=128|o>>0&63,i+=2;else if(!(4294901760&o))e[t+i]=224|o>>12,e[t+i+1]=128|o>>6&63,e[t+i+2]=128|o>>0&63,i+=3;else{if(4292870144&o)throw`e`;e[t+i]=240|o>>18,e[t+i+1]=128|o>>12&63,e[t+i+2]=128|o>>6&63,e[t+i+3]=128|o>>0&63,i+=4}}return i},sizeUTF8:function(e){for(var t=e.length,n=0,r=0;r<t;r++){var i=e.charCodeAt(r);if(!(4294967168&i))n++;else if(!(4294965248&i))n+=2;else if(!(4294901760&i))n+=3;else{if(4292870144&i)throw`e`;n+=4}}return n}},r.F={},r.F.deflateRaw=function(e,t,n,i){var a=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][i],o=r.F.U,s=r.F._goodIndex;r.F._hash;var c=r.F._putsE,l=0,u=n<<3,d=0,f=e.length;if(i==0){for(;l<f;)c(t,u,+(l+(w=Math.min(65535,f-l))==f)),u=r.F._copyExact(e,l,w,t,u+8),l+=w;return u>>>3}var p=o.lits,m=o.strt,h=o.prev,g=0,_=0,v=0,y=0,b=0,x=0;for(f>2&&(m[x=r.F._hash(e,0)]=0),l=0;l<f;l++){if(b=x,l+1<f-2){x=r.F._hash(e,l+1);var S=l+1&32767;h[S]=m[x],m[x]=S}if(d<=l){(g>14e3||_>26697)&&f-l>100&&(d<l&&(p[g]=l-d,g+=2,d=l),u=r.F._writeBlock(+(l==f-1||d==f),p,g,y,e,v,l-v,t,u),g=_=y=0,v=l);var C=0;l<f-2&&(C=r.F._bestMatch(e,l,h,b,Math.min(a[2],f-l),a[3]));var w=C>>>16,T=65535&C;if(C!=0){T=65535&C;var E=s(w=C>>>16,o.of0);o.lhst[257+E]++;var D=s(T,o.df0);o.dhst[D]++,y+=o.exb[E]+o.dxb[D],p[g]=w<<23|l-d,p[g+1]=T<<16|E<<8|D,g+=2,d=l+w}else o.lhst[e[l]]++;_++}}for(v==l&&e.length!=0||(d<l&&(p[g]=l-d,g+=2,d=l),u=r.F._writeBlock(1,p,g,y,e,v,l-v,t,u),g=0,_=0,g=_=y=0,v=l);7&u;)u++;return u>>>3},r.F._bestMatch=function(e,t,n,i,a,o){var s=32767&t,c=n[s],l=s-c+32768&32767;if(c==s||i!=r.F._hash(e,t-l))return 0;for(var u=0,d=0,f=Math.min(32767,t);l<=f&&--o!=0&&c!=s;){if(u==0||e[t+u]==e[t+u-l]){var p=r.F._howLong(e,t,l);if(p>u){if(d=l,(u=p)>=a)break;l+2<p&&(p=l+2);for(var m=0,h=0;h<p-2;h++){var g=t-l+h+32768&32767,_=g-n[g]+32768&32767;_>m&&(m=_,c=g)}}}l+=(s=c)-(c=n[s])+32768&32767}return u<<16|d},r.F._howLong=function(e,t,n){if(e[t]!=e[t-n]||e[t+1]!=e[t+1-n]||e[t+2]!=e[t+2-n])return 0;var r=t,i=Math.min(e.length,t+258);for(t+=3;t<i&&e[t]==e[t-n];)t++;return t-r},r.F._hash=function(e,t){return(e[t]<<8|e[t+1])+(e[t+2]<<4)&65535},r.saved=0,r.F._writeBlock=function(e,t,n,i,a,o,s,c,l){var u,d,f,p,m,h,g,_,v,y=r.F.U,b=r.F._putsF,x=r.F._putsE;y.lhst[256]++,d=(u=r.F.getTrees())[0],f=u[1],p=u[2],m=u[3],h=u[4],g=u[5],_=u[6],v=u[7];var S=32+(l+3&7?8-(l+3&7):0)+(s<<3),C=i+r.F.contSize(y.fltree,y.lhst)+r.F.contSize(y.fdtree,y.dhst),w=i+r.F.contSize(y.ltree,y.lhst)+r.F.contSize(y.dtree,y.dhst);w+=14+3*g+r.F.contSize(y.itree,y.ihst)+(2*y.ihst[16]+3*y.ihst[17]+7*y.ihst[18]);for(var T=0;T<286;T++)y.lhst[T]=0;for(T=0;T<30;T++)y.dhst[T]=0;for(T=0;T<19;T++)y.ihst[T]=0;var E=S<C&&S<w?0:C<w?1:2;if(b(c,l,e),b(c,l+1,E),l+=3,E==0){for(;7&l;)l++;l=r.F._copyExact(a,o,s,c,l)}else{var D,O;if(E==1&&(D=y.fltree,O=y.fdtree),E==2){r.F.makeCodes(y.ltree,d),r.F.revCodes(y.ltree,d),r.F.makeCodes(y.dtree,f),r.F.revCodes(y.dtree,f),r.F.makeCodes(y.itree,p),r.F.revCodes(y.itree,p),D=y.ltree,O=y.dtree,x(c,l,m-257),x(c,l+=5,h-1),x(c,l+=5,g-4),l+=4;for(var k=0;k<g;k++)x(c,l+3*k,y.itree[1+(y.ordr[k]<<1)]);l+=3*g,l=r.F._codeTiny(_,y.itree,c,l),l=r.F._codeTiny(v,y.itree,c,l)}for(var A=o,j=0;j<n;j+=2){for(var M=t[j],N=M>>>23,P=A+(8388607&M);A<P;)l=r.F._writeLit(a[A++],D,c,l);if(N!=0){var F=t[j+1],I=F>>16,L=F>>8&255,ee=255&F;x(c,l=r.F._writeLit(257+L,D,c,l),N-y.of0[L]),l+=y.exb[L],b(c,l=r.F._writeLit(ee,O,c,l),I-y.df0[ee]),l+=y.dxb[ee],A+=N}}l=r.F._writeLit(256,D,c,l)}return l},r.F._copyExact=function(e,t,n,r,i){var a=i>>>3;return r[a]=n,r[a+1]=n>>>8,r[a+2]=255-r[a],r[a+3]=255-r[a+1],a+=4,r.set(new Uint8Array(e.buffer,t,n),a),i+(n+4<<3)},r.F.getTrees=function(){for(var e=r.F.U,t=r.F._hufTree(e.lhst,e.ltree,15),n=r.F._hufTree(e.dhst,e.dtree,15),i=[],a=r.F._lenCodes(e.ltree,i),o=[],s=r.F._lenCodes(e.dtree,o),c=0;c<i.length;c+=2)e.ihst[i[c]]++;for(c=0;c<o.length;c+=2)e.ihst[o[c]]++;for(var l=r.F._hufTree(e.ihst,e.itree,7),u=19;u>4&&e.itree[1+(e.ordr[u-1]<<1)]==0;)u--;return[t,n,l,a,s,u,i,o]},r.F.getSecond=function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(e[n+1]);return t},r.F.nonZero=function(e){for(var t=``,n=0;n<e.length;n+=2)e[n+1]!=0&&(t+=(n>>1)+`,`);return t},r.F.contSize=function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r]*e[1+(r<<1)];return n},r.F._codeTiny=function(e,t,n,i){for(var a=0;a<e.length;a+=2){var o=e[a],s=e[a+1];i=r.F._writeLit(o,t,n,i);var c=o==16?2:o==17?3:7;o>15&&(r.F._putsE(n,i,s,c),i+=c)}return i},r.F._lenCodes=function(e,t){for(var n=e.length;n!=2&&e[n-1]==0;)n-=2;for(var r=0;r<n;r+=2){var i=e[r+1],a=r+3<n?e[r+3]:-1,o=r+5<n?e[r+5]:-1,s=r==0?-1:e[r-1];if(i==0&&a==i&&o==i){for(var c=r+5;c+2<n&&e[c+2]==i;)c+=2;(l=Math.min(c+1-r>>>1,138))<11?t.push(17,l-3):t.push(18,l-11),r+=2*l-2}else if(i==s&&a==i&&o==i){for(c=r+5;c+2<n&&e[c+2]==i;)c+=2;var l=Math.min(c+1-r>>>1,6);t.push(16,l-3),r+=2*l-2}else t.push(i,0)}return n>>>1},r.F._hufTree=function(e,t,n){var i=[],a=e.length,o=t.length,s=0;for(s=0;s<o;s+=2)t[s]=0,t[s+1]=0;for(s=0;s<a;s++)e[s]!=0&&i.push({lit:s,f:e[s]});var c=i.length,l=i.slice(0);if(c==0)return 0;if(c==1){var u=i[0].lit;return l=+(u==0),t[1+(u<<1)]=1,t[1+(l<<1)]=1,1}i.sort((function(e,t){return e.f-t.f}));var d=i[0],f=i[1],p=0,m=1,h=2;for(i[0]={lit:-1,f:d.f+f.f,l:d,r:f,d:0};m!=c-1;)d=p!=m&&(h==c||i[p].f<i[h].f)?i[p++]:i[h++],f=p!=m&&(h==c||i[p].f<i[h].f)?i[p++]:i[h++],i[m++]={lit:-1,f:d.f+f.f,l:d,r:f};var g=r.F.setDepth(i[m-1],0);for(g>n&&(r.F.restrictDepth(l,n,g),g=n),s=0;s<c;s++)t[1+(l[s].lit<<1)]=l[s].d;return g},r.F.setDepth=function(e,t){return e.lit==-1?Math.max(r.F.setDepth(e.l,t+1),r.F.setDepth(e.r,t+1)):(e.d=t,t)},r.F.restrictDepth=function(e,t,n){var r=0,i=1<<n-t,a=0;for(e.sort((function(e,t){return t.d==e.d?e.f-t.f:t.d-e.d})),r=0;r<e.length&&e[r].d>t;r++){var o=e[r].d;e[r].d=t,a+=i-(1<<n-o)}for(a>>>=n-t;a>0;)(o=e[r].d)<t?(e[r].d++,a-=1<<t-o-1):r++;for(;r>=0;r--)e[r].d==t&&a<0&&(e[r].d--,a++)},r.F._goodIndex=function(e,t){var n=0;return t[16|n]<=e&&(n|=16),t[8|n]<=e&&(n|=8),t[4|n]<=e&&(n|=4),t[2|n]<=e&&(n|=2),t[1|n]<=e&&(n|=1),n},r.F._writeLit=function(e,t,n,i){return r.F._putsF(n,i,t[e<<1]),i+t[1+(e<<1)]},r.F.inflate=function(e,t){var n=Uint8Array;if(e[0]==3&&e[1]==0)return t||new n(0);var i=r.F,a=i._bitsF,o=i._bitsE,s=i._decodeTiny,c=i.makeCodes,l=i.codes2map,u=i._get17,d=i.U,f=t==null;f&&(t=new n(e.length>>>2<<3));for(var p,m,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0;h==0;)if(h=a(e,C,1),g=a(e,C+1,2),C+=3,g!=0){if(f&&(t=r.F._check(t,S+(1<<17))),g==1&&(p=d.flmap,m=d.fdmap,b=511,x=31),g==2){_=o(e,C,5)+257,v=o(e,C+5,5)+1,y=o(e,C+10,4)+4,C+=14;for(var w=0;w<38;w+=2)d.itree[w]=0,d.itree[w+1]=0;var T=1;for(w=0;w<y;w++){var E=o(e,C+3*w,3);d.itree[1+(d.ordr[w]<<1)]=E,E>T&&(T=E)}C+=3*y,c(d.itree,T),l(d.itree,T,d.imap),p=d.lmap,m=d.dmap,C=s(d.imap,(1<<T)-1,_+v,e,C,d.ttree);var D=i._copyOut(d.ttree,0,_,d.ltree);b=(1<<D)-1;var O=i._copyOut(d.ttree,_,v,d.dtree);x=(1<<O)-1,c(d.ltree,D),l(d.ltree,D,p),c(d.dtree,O),l(d.dtree,O,m)}for(;;){var k=p[u(e,C)&b];C+=15&k;var A=k>>>4;if(!(A>>>8))t[S++]=A;else{if(A==256)break;var j=S+A-254;if(A>264){var M=d.ldef[A-257];j=S+(M>>>3)+o(e,C,7&M),C+=7&M}var N=m[u(e,C)&x];C+=15&N;var P=N>>>4,F=d.ddef[P],I=(F>>>4)+a(e,C,15&F);for(C+=15&F,f&&(t=r.F._check(t,S+(1<<17)));S<j;)t[S]=t[S++-I],t[S]=t[S++-I],t[S]=t[S++-I],t[S]=t[S++-I];S=j}}}else{7&C&&(C+=8-(7&C));var L=4+(C>>>3),ee=e[L-4]|e[L-3]<<8;f&&(t=r.F._check(t,S+ee)),t.set(new n(e.buffer,e.byteOffset+L,ee),S),C=L+ee<<3,S+=ee}return t.length==S?t:t.slice(0,S)},r.F._check=function(e,t){var n=e.length;if(t<=n)return e;var r=new Uint8Array(Math.max(n<<1,t));return r.set(e,0),r},r.F._decodeTiny=function(e,t,n,i,a,o){for(var s=r.F._bitsE,c=r.F._get17,l=0;l<n;){var u=e[c(i,a)&t];a+=15&u;var d=u>>>4;if(d<=15)o[l]=d,l++;else{var f=0,p=0;d==16?(p=3+s(i,a,2),a+=2,f=o[l-1]):d==17?(p=3+s(i,a,3),a+=3):d==18&&(p=11+s(i,a,7),a+=7);for(var m=l+p;l<m;)o[l]=f,l++}}return a},r.F._copyOut=function(e,t,n,r){for(var i=0,a=0,o=r.length>>>1;a<n;){var s=e[a+t];r[a<<1]=0,r[1+(a<<1)]=s,s>i&&(i=s),a++}for(;a<o;)r[a<<1]=0,r[1+(a<<1)]=0,a++;return i},r.F.makeCodes=function(e,t){for(var n,i,a,o,s=r.F.U,c=e.length,l=s.bl_count,u=0;u<=t;u++)l[u]=0;for(u=1;u<c;u+=2)l[e[u]]++;var d=s.next_code;for(n=0,l[0]=0,i=1;i<=t;i++)n=n+l[i-1]<<1,d[i]=n;for(a=0;a<c;a+=2)(o=e[a+1])!=0&&(e[a]=d[o],d[o]++)},r.F.codes2map=function(e,t,n){for(var i=e.length,a=r.F.U.rev15,o=0;o<i;o+=2)if(e[o+1]!=0)for(var s=o>>1,c=e[o+1],l=s<<4|c,u=t-c,d=e[o]<<u,f=d+(1<<u);d!=f;)n[a[d]>>>15-t]=l,d++},r.F.revCodes=function(e,t){for(var n=r.F.U.rev15,i=15-t,a=0;a<e.length;a+=2)e[a]=n[e[a]<<t-e[a+1]]>>>i},r.F._putsE=function(e,t,n){n<<=7&t;var r=t>>>3;e[r]|=n,e[r+1]|=n>>>8},r.F._putsF=function(e,t,n){n<<=7&t;var r=t>>>3;e[r]|=n,e[r+1]|=n>>>8,e[r+2]|=n>>>16},r.F._bitsE=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<n)-1},r.F._bitsF=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<n)-1},r.F._get17=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},r.F._get25=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},r.F.U=(t=Uint16Array,n=Uint32Array,{next_code:new t(16),bl_count:new t(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new t(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new n(32),flmap:new t(512),fltree:[],fdmap:new t(32),fdtree:[],lmap:new t(32768),ltree:[],ttree:[],dmap:new t(32768),dtree:[],imap:new t(512),itree:[],rev15:new t(32768),lhst:new n(286),dhst:new n(30),ihst:new n(19),lits:new n(15e3),strt:new t(65536),prev:new t(32768)}),function(){for(var e=r.F.U,t=0;t<32768;t++){var n=t;n=(4278255360&(n=(4042322160&(n=(3435973836&(n=(2863311530&n)>>>1|(1431655765&n)<<1))>>>2|(858993459&n)<<2))>>>4|(252645135&n)<<4))>>>8|(16711935&n)<<8,e.rev15[t]=(n>>>16|n<<16)>>>17}function i(e,t,n){for(;t--!=0;)e.push(0,n)}for(t=0;t<32;t++)e.ldef[t]=e.of0[t]<<3|e.exb[t],e.ddef[t]=e.df0[t]<<4|e.dxb[t];i(e.fltree,144,8),i(e.fltree,112,9),i(e.fltree,24,7),i(e.fltree,8,8),r.F.makeCodes(e.fltree,9),r.F.codes2map(e.fltree,9,e.flmap),r.F.revCodes(e.fltree,9),i(e.fdtree,32,5),r.F.makeCodes(e.fdtree,5),r.F.codes2map(e.fdtree,5,e.fdmap),r.F.revCodes(e.fdtree,5),i(e.itree,19,0),i(e.ltree,286,0),i(e.dtree,30,0),i(e.ttree,320,0)}()})();var P=k({__proto__:null,default:M},[M]),F=function(){var e={nextZero(e,t){for(;e[t]!=0;)t++;return t},readUshort:(e,t)=>e[t]<<8|e[t+1],writeUshort(e,t,n){e[t]=n>>8&255,e[t+1]=255&n},readUint:(e,t)=>16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3]),writeUint(e,t,n){e[t]=n>>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=255&n},readASCII(e,t,n){let r=``;for(let i=0;i<n;i++)r+=String.fromCharCode(e[t+i]);return r},writeASCII(e,t,n){for(let r=0;r<n.length;r++)e[t+r]=n.charCodeAt(r)},readBytes(e,t,n){let r=[];for(let i=0;i<n;i++)r.push(e[t+i]);return r},pad:e=>e.length<2?`0${e}`:e,readUTF8(t,n,r){let i,a=``;for(let i=0;i<r;i++)a+=`%${e.pad(t[n+i].toString(16))}`;try{i=decodeURIComponent(a)}catch{return e.readASCII(t,n,r)}return i}};function t(t,n,r,i){let o=n*r,s=a(i),c=Math.ceil(n*s/8),l=new Uint8Array(4*o),u=new Uint32Array(l.buffer),{ctype:d}=i,{depth:f}=i,p=e.readUshort;if(d==6){let e=o<<2;if(f==8)for(var m=0;m<e;m+=4)l[m]=t[m],l[m+1]=t[m+1],l[m+2]=t[m+2],l[m+3]=t[m+3];if(f==16)for(m=0;m<e;m++)l[m]=t[m<<1]}else if(d==2){let e=i.tabs.tRNS;if(e==null){if(f==8)for(m=0;m<o;m++){var h=3*m;u[m]=255<<24|t[h+2]<<16|t[h+1]<<8|t[h]}if(f==16)for(m=0;m<o;m++)h=6*m,u[m]=255<<24|t[h+4]<<16|t[h+2]<<8|t[h]}else{var g=e[0];let n=e[1],r=e[2];if(f==8)for(m=0;m<o;m++){var _=m<<2;h=3*m,u[m]=255<<24|t[h+2]<<16|t[h+1]<<8|t[h],t[h]==g&&t[h+1]==n&&t[h+2]==r&&(l[_+3]=0)}if(f==16)for(m=0;m<o;m++)_=m<<2,h=6*m,u[m]=255<<24|t[h+4]<<16|t[h+2]<<8|t[h],p(t,h)==g&&p(t,h+2)==n&&p(t,h+4)==r&&(l[_+3]=0)}}else if(d==3){let e=i.tabs.PLTE,a=i.tabs.tRNS,s=a?a.length:0;if(f==1)for(var v=0;v<r;v++){var y=v*c,b=v*n;for(m=0;m<n;m++){_=b+m<<2;var x=3*(S=t[y+(m>>3)]>>7-((7&m)<<0)&1);l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255}}if(f==2)for(v=0;v<r;v++)for(y=v*c,b=v*n,m=0;m<n;m++)_=b+m<<2,x=3*(S=t[y+(m>>2)]>>6-((3&m)<<1)&3),l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255;if(f==4)for(v=0;v<r;v++)for(y=v*c,b=v*n,m=0;m<n;m++)_=b+m<<2,x=3*(S=t[y+(m>>1)]>>4-((1&m)<<2)&15),l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255;if(f==8)for(m=0;m<o;m++){var S;_=m<<2,x=3*(S=t[m]),l[_]=e[x],l[_+1]=e[x+1],l[_+2]=e[x+2],l[_+3]=S<s?a[S]:255}}else if(d==4){if(f==8)for(m=0;m<o;m++){_=m<<2;var C=t[w=m<<1];l[_]=C,l[_+1]=C,l[_+2]=C,l[_+3]=t[w+1]}if(f==16)for(m=0;m<o;m++){var w;_=m<<2,C=t[w=m<<2],l[_]=C,l[_+1]=C,l[_+2]=C,l[_+3]=t[w+2]}}else if(d==0)for(g=i.tabs.tRNS?i.tabs.tRNS:-1,v=0;v<r;v++){let e=v*c,r=v*n;if(f==1)for(var T=0;T<n;T++){var E=(C=255*(t[e+(T>>>3)]>>>7-(7&T)&1))==255*g?0:255;u[r+T]=E<<24|C<<16|C<<8|C}else if(f==2)for(T=0;T<n;T++)E=(C=85*(t[e+(T>>>2)]>>>6-((3&T)<<1)&3))==85*g?0:255,u[r+T]=E<<24|C<<16|C<<8|C;else if(f==4)for(T=0;T<n;T++)E=(C=17*(t[e+(T>>>1)]>>>4-((1&T)<<2)&15))==17*g?0:255,u[r+T]=E<<24|C<<16|C<<8|C;else if(f==8)for(T=0;T<n;T++)E=(C=t[e+T])==g?0:255,u[r+T]=E<<24|C<<16|C<<8|C;else if(f==16)for(T=0;T<n;T++)C=t[e+(T<<1)],E=p(t,e+(T<<1))==g?0:255,u[r+T]=E<<24|C<<16|C<<8|C}return l}function n(e,t,n,s){let c=a(e),l=Math.ceil(n*c/8),u=new Uint8Array((l+1+e.interlace)*s);return t=e.tabs.CgBI?i(t,u):r(t,u),e.interlace==0?t=o(t,e,0,n,s):e.interlace==1&&(t=function(e,t){let n=t.width,r=t.height,i=a(t),s=i>>3,c=Math.ceil(n*i/8),l=new Uint8Array(r*c),u=0,d=[0,0,4,0,2,0,1],f=[0,4,0,2,0,1,0],p=[8,8,8,4,4,2,2],m=[8,8,4,4,2,2,1],h=0;for(;h<7;){let a=p[h],_=m[h],v=0,y=0,b=d[h];for(;b<r;)b+=a,y++;let x=f[h];for(;x<n;)x+=_,v++;let S=Math.ceil(v*i/8);o(e,t,u,v,y);let C=0,w=d[h];for(;w<r;){let t=f[h],r=u+C*S<<3;for(;t<n;){var g;if(i==1&&(g=(g=e[r>>3])>>7-(7&r)&1,l[w*c+(t>>3)]|=g<<7-((7&t)<<0)),i==2&&(g=(g=e[r>>3])>>6-(7&r)&3,l[w*c+(t>>2)]|=g<<6-((3&t)<<1)),i==4&&(g=(g=e[r>>3])>>4-(7&r)&15,l[w*c+(t>>1)]|=g<<4-((1&t)<<2)),i>=8){let n=w*c+t*s;for(let t=0;t<s;t++)l[n+t]=e[(r>>3)+t]}r+=i,t+=_}C++,w+=a}v*y!=0&&(u+=y*(1+S)),h+=1}return l}(t,e)),t}function r(e,t){return i(new Uint8Array(e.buffer,2,e.length-6),t)}var i=function(){let e={H:{}};return e.H.N=function(t,n){let r=Uint8Array,i,a,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0;if(t[0]==3&&t[1]==0)return n||new r(0);let h=e.H,g=h.b,_=h.e,v=h.R,y=h.n,b=h.A,x=h.Z,S=h.m,C=n==null;for(C&&(n=new r(t.length>>>2<<5));o==0;)if(o=g(t,m,1),s=g(t,m+1,2),m+=3,s!=0){if(C&&(n=e.H.W(n,p+(1<<17))),s==1&&(i=S.J,a=S.h,d=511,f=31),s==2){c=_(t,m,5)+257,l=_(t,m+5,5)+1,u=_(t,m+10,4)+4,m+=14;let e=1;for(var w=0;w<38;w+=2)S.Q[w]=0,S.Q[w+1]=0;for(w=0;w<u;w++){let n=_(t,m+3*w,3);S.Q[1+(S.X[w]<<1)]=n,n>e&&(e=n)}m+=3*u,y(S.Q,e),b(S.Q,e,S.u),i=S.w,a=S.d,m=v(S.u,(1<<e)-1,c+l,t,m,S.v);let n=h.V(S.v,0,c,S.C);d=(1<<n)-1;let r=h.V(S.v,c,l,S.D);f=(1<<r)-1,y(S.C,n),b(S.C,n,i),y(S.D,r),b(S.D,r,a)}for(;;){let e=i[x(t,m)&d];m+=15&e;let r=e>>>4;if(!(r>>>8))n[p++]=r;else{if(r==256)break;{let e=p+r-254;if(r>264){let n=S.q[r-257];e=p+(n>>>3)+_(t,m,7&n),m+=7&n}let i=a[x(t,m)&f];m+=15&i;let o=i>>>4,s=S.c[o],c=(s>>>4)+g(t,m,15&s);for(m+=15&s;p<e;)n[p]=n[p++-c],n[p]=n[p++-c],n[p]=n[p++-c],n[p]=n[p++-c];p=e}}}}else{7&m&&(m+=8-(7&m));let i=4+(m>>>3),a=t[i-4]|t[i-3]<<8;C&&(n=e.H.W(n,p+a)),n.set(new r(t.buffer,t.byteOffset+i,a),p),m=i+a<<3,p+=a}return n.length==p?n:n.slice(0,p)},e.H.W=function(e,t){let n=e.length;if(t<=n)return e;let r=new Uint8Array(n<<1);return r.set(e,0),r},e.H.R=function(t,n,r,i,a,o){let s=e.H.e,c=e.H.Z,l=0;for(;l<r;){let e=t[c(i,a)&n];a+=15&e;let r=e>>>4;if(r<=15)o[l]=r,l++;else{let e=0,t=0;r==16?(t=3+s(i,a,2),a+=2,e=o[l-1]):r==17?(t=3+s(i,a,3),a+=3):r==18&&(t=11+s(i,a,7),a+=7);let n=l+t;for(;l<n;)o[l]=e,l++}}return a},e.H.V=function(e,t,n,r){let i=0,a=0,o=r.length>>>1;for(;a<n;){let n=e[a+t];r[a<<1]=0,r[1+(a<<1)]=n,n>i&&(i=n),a++}for(;a<o;)r[a<<1]=0,r[1+(a<<1)]=0,a++;return i},e.H.n=function(t,n){let r=e.H.m,i=t.length,a,o,s,c,l=r.j;for(var u=0;u<=n;u++)l[u]=0;for(u=1;u<i;u+=2)l[t[u]]++;let d=r.K;for(a=0,l[0]=0,o=1;o<=n;o++)a=a+l[o-1]<<1,d[o]=a;for(s=0;s<i;s+=2)c=t[s+1],c!=0&&(t[s]=d[c],d[c]++)},e.H.A=function(t,n,r){let i=t.length,a=e.H.m.r;for(let e=0;e<i;e+=2)if(t[e+1]!=0){let i=e>>1,o=t[e+1],s=i<<4|o,c=n-o,l=t[e]<<c,u=l+(1<<c);for(;l!=u;)r[a[l]>>>15-n]=s,l++}},e.H.l=function(t,n){let r=e.H.m.r,i=15-n;for(let e=0;e<t.length;e+=2)t[e]=r[t[e]<<n-t[e+1]]>>>i},e.H.M=function(e,t,n){n<<=7&t;let r=t>>>3;e[r]|=n,e[r+1]|=n>>>8},e.H.I=function(e,t,n){n<<=7&t;let r=t>>>3;e[r]|=n,e[r+1]|=n>>>8,e[r+2]|=n>>>16},e.H.e=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<n)-1},e.H.b=function(e,t,n){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<n)-1},e.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},e.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},e.H.m=function(){let e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){let t=e.H.m;for(var n=0;n<32768;n++){let e=n;e=(2863311530&e)>>>1|(1431655765&e)<<1,e=(3435973836&e)>>>2|(858993459&e)<<2,e=(4042322160&e)>>>4|(252645135&e)<<4,e=(4278255360&e)>>>8|(16711935&e)<<8,t.r[n]=(e>>>16|e<<16)>>>17}function r(e,t,n){for(;t--!=0;)e.push(0,n)}for(n=0;n<32;n++)t.q[n]=t.S[n]<<3|t.T[n],t.c[n]=t.p[n]<<4|t.z[n];r(t._,144,8),r(t._,112,9),r(t._,24,7),r(t._,8,8),e.H.n(t._,9),e.H.A(t._,9,t.J),e.H.l(t._,9),r(t.$,32,5),e.H.n(t.$,5),e.H.A(t.$,5,t.h),e.H.l(t.$,5),r(t.Q,19,0),r(t.C,286,0),r(t.D,30,0),r(t.v,320,0)}(),e.H.N}();function a(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}function o(e,t,n,r,i){let o=a(t),c=Math.ceil(r*o/8),l,u;o=Math.ceil(o/8);let d=e[n],f=0;if(d>1&&(e[n]=[0,0,1][d-2]),d==3)for(f=o;f<c;f++)e[f+1]=e[f+1]+(e[f+1-o]>>>1)&255;for(let t=0;t<i;t++)if(l=n+t*c,u=l+t+1,d=e[u-1],f=0,d==0)for(;f<c;f++)e[l+f]=e[u+f];else if(d==1){for(;f<o;f++)e[l+f]=e[u+f];for(;f<c;f++)e[l+f]=e[u+f]+e[l+f-o]}else if(d==2)for(;f<c;f++)e[l+f]=e[u+f]+e[l+f-c];else if(d==3){for(;f<o;f++)e[l+f]=e[u+f]+(e[l+f-c]>>>1);for(;f<c;f++)e[l+f]=e[u+f]+(e[l+f-c]+e[l+f-o]>>>1)}else{for(;f<o;f++)e[l+f]=e[u+f]+s(0,e[l+f-c],0);for(;f<c;f++)e[l+f]=e[u+f]+s(e[l+f-o],e[l+f-c],e[l+f-o-c])}return e}function s(e,t,n){let r=e+t-n,i=r-e,a=r-t,o=r-n;return i*i<=a*a&&i*i<=o*o?e:a*a<=o*o?t:n}function c(t,n,r){r.width=e.readUint(t,n),n+=4,r.height=e.readUint(t,n),n+=4,r.depth=t[n],n++,r.ctype=t[n],n++,r.compress=t[n],n++,r.filter=t[n],n++,r.interlace=t[n],n++}function l(e,t,n,r,i,a,o,s,c){let l=Math.min(t,i),u=Math.min(n,a),d=0,f=0;for(let n=0;n<u;n++)for(let a=0;a<l;a++)if(o>=0&&s>=0?(d=n*t+a<<2,f=(s+n)*i+o+a<<2):(d=(-s+n)*t-o+a<<2,f=n*i+a<<2),c==0)r[f]=e[d],r[f+1]=e[d+1],r[f+2]=e[d+2],r[f+3]=e[d+3];else if(c==1){var p=e[d+3]*(1/255),m=e[d]*p,h=e[d+1]*p,g=e[d+2]*p,_=r[f+3]*(1/255),v=r[f]*_,y=r[f+1]*_,b=r[f+2]*_;let t=1-p,n=p+_*t,i=n==0?0:1/n;r[f+3]=255*n,r[f+0]=(m+v*t)*i,r[f+1]=(h+y*t)*i,r[f+2]=(g+b*t)*i}else if(c==2)p=e[d+3],m=e[d],h=e[d+1],g=e[d+2],_=r[f+3],v=r[f],y=r[f+1],b=r[f+2],p==_&&m==v&&h==y&&g==b?(r[f]=0,r[f+1]=0,r[f+2]=0,r[f+3]=0):(r[f]=m,r[f+1]=h,r[f+2]=g,r[f+3]=p);else if(c==3){if(p=e[d+3],m=e[d],h=e[d+1],g=e[d+2],_=r[f+3],v=r[f],y=r[f+1],b=r[f+2],p==_&&m==v&&h==y&&g==b)continue;if(p<220&&_>20)return!1}return!0}return{decode:function(t){let a=new Uint8Array(t),o=8,s=e,l=s.readUshort,u=s.readUint,d={tabs:{},frames:[]},f=new Uint8Array(a.length),p,m=0,h=0,g=[137,80,78,71,13,10,26,10];for(var _=0;_<8;_++)if(a[_]!=g[_])throw`The input is not a PNG file!`;for(;o<a.length;){let e=s.readUint(a,o);o+=4;let t=s.readASCII(a,o,4);if(o+=4,t==`IHDR`)c(a,o,d);else if(t==`iCCP`){for(var v=o;a[v]!=0;)v++;s.readASCII(a,o,v-o),a[v+1];let n=a.slice(v+2,o+e),c=null;try{c=r(n)}catch{c=i(n)}d.tabs[t]=c}else if(t==`CgBI`)d.tabs[t]=a.slice(o,o+4);else if(t==`IDAT`){for(_=0;_<e;_++)f[m+_]=a[o+_];m+=e}else if(t==`acTL`)d.tabs[t]={num_frames:u(a,o),num_plays:u(a,o+4)},p=new Uint8Array(a.length);else if(t==`fcTL`){h!=0&&((w=d.frames[d.frames.length-1]).data=n(d,p.slice(0,h),w.rect.width,w.rect.height),h=0);let e={x:u(a,o+12),y:u(a,o+16),width:u(a,o+4),height:u(a,o+8)},t=l(a,o+22);t=l(a,o+20)/(t==0?100:t);let r={rect:e,delay:Math.round(1e3*t),dispose:a[o+24],blend:a[o+25]};d.frames.push(r)}else if(t==`fdAT`){for(_=0;_<e-4;_++)p[h+_]=a[o+_+4];h+=e-4}else if(t==`pHYs`)d.tabs[t]=[s.readUint(a,o),s.readUint(a,o+4),a[o+8]];else if(t==`cHRM`)for(d.tabs[t]=[],_=0;_<8;_++)d.tabs[t].push(s.readUint(a,o+4*_));else if(t==`tEXt`||t==`zTXt`){d.tabs[t]??(d.tabs[t]={});var y=s.nextZero(a,o),b=s.readASCII(a,o,y-o),x=o+e-y-1;if(t==`tEXt`)C=s.readASCII(a,y+1,x);else{var S=r(a.slice(y+2,y+2+x));C=s.readUTF8(S,0,S.length)}d.tabs[t][b]=C}else if(t==`iTXt`){d.tabs[t]??(d.tabs[t]={}),y=0,v=o,y=s.nextZero(a,v),b=s.readASCII(a,v,y-v);let n=a[v=y+1];var C;a[v+1],v+=2,y=s.nextZero(a,v),s.readASCII(a,v,y-v),v=y+1,y=s.nextZero(a,v),s.readUTF8(a,v,y-v),x=e-((v=y+1)-o),n==0?C=s.readUTF8(a,v,x):(S=r(a.slice(v,v+x)),C=s.readUTF8(S,0,S.length)),d.tabs[t][b]=C}else if(t==`PLTE`)d.tabs[t]=s.readBytes(a,o,e);else if(t==`hIST`){let e=d.tabs.PLTE.length/3;for(d.tabs[t]=[],_=0;_<e;_++)d.tabs[t].push(l(a,o+2*_))}else if(t==`tRNS`)d.ctype==3?d.tabs[t]=s.readBytes(a,o,e):d.ctype==0?d.tabs[t]=l(a,o):d.ctype==2&&(d.tabs[t]=[l(a,o),l(a,o+2),l(a,o+4)]);else if(t==`gAMA`)d.tabs[t]=s.readUint(a,o)/1e5;else if(t==`sRGB`)d.tabs[t]=a[o];else if(t==`bKGD`)d.ctype==0||d.ctype==4?d.tabs[t]=[l(a,o)]:d.ctype==2||d.ctype==6?d.tabs[t]=[l(a,o),l(a,o+2),l(a,o+4)]:d.ctype==3&&(d.tabs[t]=a[o]);else if(t==`IEND`)break;o+=e,s.readUint(a,o),o+=4}var w;return h!=0&&((w=d.frames[d.frames.length-1]).data=n(d,p.slice(0,h),w.rect.width,w.rect.height)),d.data=n(d,f,d.width,d.height),delete d.compress,delete d.interlace,delete d.filter,d},toRGBA8:function(e){let n=e.width,r=e.height;if(e.tabs.acTL==null)return[t(e.data,n,r,e).buffer];let i=[];e.frames[0].data??(e.frames[0].data=e.data);let a=n*r*4,o=new Uint8Array(a),s=new Uint8Array(a),c=new Uint8Array(a);for(let d=0;d<e.frames.length;d++){let f=e.frames[d],p=f.rect.x,m=f.rect.y,h=f.rect.width,g=f.rect.height,_=t(f.data,h,g,e);if(d!=0)for(var u=0;u<a;u++)c[u]=o[u];if(f.blend==0?l(_,h,g,o,n,r,p,m,0):f.blend==1&&l(_,h,g,o,n,r,p,m,1),i.push(o.buffer.slice(0)),f.dispose!=0){if(f.dispose==1)l(s,h,g,o,n,r,p,m,0);else if(f.dispose==2)for(u=0;u<a;u++)o[u]=c[u]}}return i},_paeth:s,_copyTile:l,_bin:e}}();(function(){let{_copyTile:e}=F,{_bin:t}=F,n=F._paeth;var r={table:function(){let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)1&n?n=3988292384^n>>>1:n>>>=1;e[t]=n}return e}(),update(e,t,n,i){for(let a=0;a<i;a++)e=r.table[255&(e^t[n+a])]^e>>>8;return e},crc:(e,t,n)=>4294967295^r.update(4294967295,e,t,n)};function i(e,t,n,r){t[n]+=e[0]*r>>4,t[n+1]+=e[1]*r>>4,t[n+2]+=e[2]*r>>4,t[n+3]+=e[3]*r>>4}function a(e){return Math.max(0,Math.min(255,e))}function o(e,t){let n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return n*n+r*r+i*i+a*a}function s(e,t,n,r,s,c,l){l??=1;let u=r.length,d=[];for(var f=0;f<u;f++){let e=r[f];d.push([e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255])}for(f=0;f<u;f++){let e=4294967295;for(var p=0,m=0;m<u;m++){var h=o(d[f],d[m]);m!=f&&h<e&&(e=h,p=m)}}let g=new Uint32Array(s.buffer),_=new Int16Array(t*n*4),v=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(f=0;f<v.length;f++)v[f]=255*((v[f]+.5)/16-.5);for(let s=0;s<n;s++)for(let b=0;b<t;b++){var y;f=4*(s*t+b),l==2?(h=v[4*(3&s)+(3&b)],y=[a(e[f]+h),a(e[f+1]+h),a(e[f+2]+h),a(e[f+3]+h)]):y=[a(e[f]+_[f]),a(e[f+1]+_[f+1]),a(e[f+2]+_[f+2]),a(e[f+3]+_[f+3])],p=0;let x=16777215;for(m=0;m<u;m++){let e=o(y,d[m]);e<x&&(x=e,p=m)}let S=d[p],C=[y[0]-S[0],y[1]-S[1],y[2]-S[2],y[3]-S[3]];l==1&&(b!=t-1&&i(C,_,f+4,7),s!=n-1&&(b!=0&&i(C,_,f+4*t-4,3),i(C,_,f+4*t,5),b!=t-1&&i(C,_,f+4*t+4,1))),c[f>>2]=p,g[f>>2]=r[p]}}function c(e,n,i,a,o){o??={};let{crc:s}=r,c=t.writeUint,l=t.writeUshort,u=t.writeASCII,d=8,f=e.frames.length>1,p,m=!1,h=33+(f?20:0);if(o.sRGB!=null&&(h+=13),o.pHYs!=null&&(h+=21),o.iCCP!=null&&(p=pako.deflate(o.iCCP),h+=21+p.length+4),e.ctype==3){for(var g=e.plte.length,_=0;_<g;_++)e.plte[_]>>>24!=255&&(m=!0);h+=8+3*g+4+(m?8+1*g+4:0)}for(var v=0;v<e.frames.length;v++)f&&(h+=38),h+=(S=e.frames[v]).cimg.length+12,v!=0&&(h+=4);h+=12;let y=new Uint8Array(h),b=[137,80,78,71,13,10,26,10];for(_=0;_<8;_++)y[_]=b[_];if(c(y,d,13),d+=4,u(y,d,`IHDR`),d+=4,c(y,d,n),d+=4,c(y,d,i),d+=4,y[d]=e.depth,d++,y[d]=e.ctype,d++,y[d]=0,d++,y[d]=0,d++,y[d]=0,d++,c(y,d,s(y,d-17,17)),d+=4,o.sRGB!=null&&(c(y,d,1),d+=4,u(y,d,`sRGB`),d+=4,y[d]=o.sRGB,d++,c(y,d,s(y,d-5,5)),d+=4),o.iCCP!=null){let e=13+p.length;c(y,d,e),d+=4,u(y,d,`iCCP`),d+=4,u(y,d,`ICC profile`),d+=11,d+=2,y.set(p,d),d+=p.length,c(y,d,s(y,d-(e+4),e+4)),d+=4}if(o.pHYs!=null&&(c(y,d,9),d+=4,u(y,d,`pHYs`),d+=4,c(y,d,o.pHYs[0]),d+=4,c(y,d,o.pHYs[1]),d+=4,y[d]=o.pHYs[2],d++,c(y,d,s(y,d-13,13)),d+=4),f&&(c(y,d,8),d+=4,u(y,d,`acTL`),d+=4,c(y,d,e.frames.length),d+=4,c(y,d,o.loop==null?0:o.loop),d+=4,c(y,d,s(y,d-12,12)),d+=4),e.ctype==3){for(c(y,d,3*(g=e.plte.length)),d+=4,u(y,d,`PLTE`),d+=4,_=0;_<g;_++){let t=3*_,n=e.plte[_],r=255&n,i=n>>>8&255,a=n>>>16&255;y[d+t+0]=r,y[d+t+1]=i,y[d+t+2]=a}if(d+=3*g,c(y,d,s(y,d-3*g-4,3*g+4)),d+=4,m){for(c(y,d,g),d+=4,u(y,d,`tRNS`),d+=4,_=0;_<g;_++)y[d+_]=e.plte[_]>>>24&255;d+=g,c(y,d,s(y,d-g-4,g+4)),d+=4}}let x=0;for(v=0;v<e.frames.length;v++){var S=e.frames[v];f&&(c(y,d,26),d+=4,u(y,d,`fcTL`),d+=4,c(y,d,x++),d+=4,c(y,d,S.rect.width),d+=4,c(y,d,S.rect.height),d+=4,c(y,d,S.rect.x),d+=4,c(y,d,S.rect.y),d+=4,l(y,d,a[v]),d+=2,l(y,d,1e3),d+=2,y[d]=S.dispose,d++,y[d]=S.blend,d++,c(y,d,s(y,d-30,30)),d+=4);let t=S.cimg;c(y,d,(g=t.length)+(v==0?0:4)),d+=4;let n=d;u(y,d,v==0?`IDAT`:`fdAT`),d+=4,v!=0&&(c(y,d,x++),d+=4),y.set(t,d),d+=g,c(y,d,s(y,n,d-n)),d+=4}return c(y,d,0),d+=4,u(y,d,`IEND`),d+=4,c(y,d,s(y,d-4,4)),d+=4,y.buffer}function l(e,t,n){for(let r=0;r<e.frames.length;r++){let i=e.frames[r];i.rect.width;let a=i.rect.height,o=new Uint8Array(a*i.bpl+a);i.cimg=p(i.img,a,i.bpp,i.bpl,o,t,n)}}function u(t,n,r,i,a){let o=a[0],c=a[1],l=a[2],u=a[3],p=a[4],m=a[5],g=6,_=8,v=255;for(var y=0;y<t.length;y++){let e=new Uint8Array(t[y]);for(var b=e.length,x=0;x<b;x+=4)v&=e[x+3]}let S=v!=255,C=function(t,n,r,i,a,o){let s=[];for(var c=0;c<t.length;c++){let d=new Uint8Array(t[c]),p=new Uint32Array(d.buffer);var l;let h=0,g=0,_=n,v=r,y=+!!i;if(c!=0){let b=o||i||c==1||s[c-2].dispose!=0?1:2,x=0,S=1e9;for(let e=0;e<b;e++){var u=new Uint8Array(t[c-1-e]);let i=new Uint32Array(t[c-1-e]),o=n,s=r,l=-1,d=-1;for(let e=0;e<r;e++)for(let t=0;t<n;t++)p[m=e*n+t]!=i[m]&&(t<o&&(o=t),t>l&&(l=t),e<s&&(s=e),e>d&&(d=e));l==-1&&(o=s=l=d=0),a&&((1&o)==1&&o--,(1&s)==1&&s--);let f=(l-o+1)*(d-s+1);f<S&&(S=f,x=e,h=o,g=s,_=l-o+1,v=d-s+1)}u=new Uint8Array(t[c-1-x]),x==1&&(s[c-1].dispose=2),l=new Uint8Array(_*v*4),e(u,n,r,l,_,v,-h,-g,0),y=+!!e(d,n,r,l,_,v,-h,-g,3),y==1?f(d,n,r,l,{x:h,y:g,width:_,height:v}):e(d,n,r,l,_,v,-h,-g,0)}else l=d.slice(0);s.push({rect:{x:h,y:g,width:_,height:v},img:l,blend:y,dispose:0})}if(i)for(c=0;c<s.length;c++){if((h=s[c]).blend==1)continue;let e=h.rect,i=s[c-1].rect,o=Math.min(e.x,i.x),l=Math.min(e.y,i.y),u={x:o,y:l,width:Math.max(e.x+e.width,i.x+i.width)-o,height:Math.max(e.y+e.height,i.y+i.height)-l};s[c-1].dispose=1,c-1!=0&&d(t,n,r,s,c-1,u,a),d(t,n,r,s,c,u,a)}let p=0;if(t.length!=1)for(var m=0;m<s.length;m++){var h;p+=(h=s[m]).rect.width*h.rect.height}return s}(t,n,r,o,c,l),w={},T=[],E=[];if(i!=0){let e=[];for(x=0;x<C.length;x++)e.push(C[x].img.buffer);let t=h(function(e){let t=0;for(var n=0;n<e.length;n++)t+=e[n].byteLength;let r=new Uint8Array(t),i=0;for(n=0;n<e.length;n++){let t=new Uint8Array(e[n]),a=t.length;for(let e=0;e<a;e+=4){let n=t[e],a=t[e+1],o=t[e+2],s=t[e+3];s==0&&(n=a=o=0),r[i+e]=n,r[i+e+1]=a,r[i+e+2]=o,r[i+e+3]=s}i+=a}return r.buffer}(e),i);for(x=0;x<t.plte.length;x++)T.push(t.plte[x].est.rgba);let n=0;for(x=0;x<C.length;x++){let e=(O=C[x]).img.length;var D=new Uint8Array(t.inds.buffer,n>>2,e>>2);E.push(D);let r=new Uint8Array(t.abuf,n,e);m&&s(O.img,O.rect.width,O.rect.height,T,r,D),O.img.set(r),n+=e}}else for(y=0;y<C.length;y++){var O=C[y];let e=new Uint32Array(O.img.buffer);var k=O.rect.width;for(b=e.length,D=new Uint8Array(b),E.push(D),x=0;x<b;x++){let t=e[x];if(x!=0&&t==e[x-1])D[x]=D[x-1];else if(x>k&&t==e[x-k])D[x]=D[x-k];else{let e=w[t];if(e==null&&(w[t]=e=T.length,T.push(t),T.length>=300))break;D[x]=e}}}let A=T.length;for(A<=256&&p==0&&(_=A<=2?1:A<=4?2:A<=16?4:8,_=Math.max(_,u)),y=0;y<C.length;y++){(O=C[y]).rect.x,O.rect.y,k=O.rect.width;let e=O.rect.height,t=O.img;new Uint32Array(t.buffer);let n=4*k,r=4;if(A<=256&&p==0){n=Math.ceil(_*k/8);var j=new Uint8Array(n*e);let i=E[y];for(let t=0;t<e;t++){x=t*n;let e=t*k;if(_==8)for(var M=0;M<k;M++)j[x+M]=i[e+M];else if(_==4)for(M=0;M<k;M++)j[x+(M>>1)]|=i[e+M]<<4-4*(1&M);else if(_==2)for(M=0;M<k;M++)j[x+(M>>2)]|=i[e+M]<<6-2*(3&M);else if(_==1)for(M=0;M<k;M++)j[x+(M>>3)]|=i[e+M]<<7-1*(7&M)}t=j,g=3,r=1}else if(S==0&&C.length==1){j=new Uint8Array(k*e*3);let i=k*e;for(x=0;x<i;x++){let e=3*x,n=4*x;j[e]=t[n],j[e+1]=t[n+1],j[e+2]=t[n+2]}t=j,g=2,r=3,n=3*k}O.img=t,O.bpl=n,O.bpp=r}return{ctype:g,depth:_,plte:T,frames:C}}function d(t,n,r,i,a,o,s){let c=Uint8Array,l=Uint32Array,u=new c(t[a-1]),d=new l(t[a-1]),p=a+1<t.length?new c(t[a+1]):null,m=new c(t[a]),h=new l(m.buffer),g=n,_=r,v=-1,y=-1;for(let e=0;e<o.height;e++)for(let t=0;t<o.width;t++){let r=o.x+t,s=o.y+e,c=s*n+r,l=h[c];l==0||i[a-1].dispose==0&&d[c]==l&&(p==null||p[4*c+3]!=0)||(r<g&&(g=r),r>v&&(v=r),s<_&&(_=s),s>y&&(y=s))}v==-1&&(g=_=v=y=0),s&&((1&g)==1&&g--,(1&_)==1&&_--),o={x:g,y:_,width:v-g+1,height:y-_+1};let b=i[a];b.rect=o,b.blend=1,b.img=new Uint8Array(o.width*o.height*4),i[a-1].dispose==0?(e(u,n,r,b.img,o.width,o.height,-o.x,-o.y,0),f(m,n,r,b.img,o)):e(m,n,r,b.img,o.width,o.height,-o.x,-o.y,0)}function f(t,n,r,i,a){e(t,n,r,i,a.width,a.height,-a.x,-a.y,2)}function p(e,t,n,r,i,a,o){let s=[],c,l=[0,1,2,3,4];a==-1?(t*r>5e5||n==1)&&(l=[0]):l=[a],o&&(c={level:0});let u=P;for(var d=0;d<l.length;d++){for(let a=0;a<t;a++)m(i,e,a,r,n,l[d]);s.push(u.deflate(i,c))}let f,p=1e9;for(d=0;d<s.length;d++)s[d].length<p&&(f=d,p=s[d].length);return s[f]}function m(e,t,r,i,a,o){let s=r*i,c=s+r;if(e[c]=o,c++,o==0)if(i<500)for(var l=0;l<i;l++)e[c+l]=t[s+l];else e.set(new Uint8Array(t.buffer,s,i),c);else if(o==1){for(l=0;l<a;l++)e[c+l]=t[s+l];for(l=a;l<i;l++)e[c+l]=t[s+l]-t[s+l-a]+256&255}else if(r==0){for(l=0;l<a;l++)e[c+l]=t[s+l];if(o==2)for(l=a;l<i;l++)e[c+l]=t[s+l];if(o==3)for(l=a;l<i;l++)e[c+l]=t[s+l]-(t[s+l-a]>>1)+256&255;if(o==4)for(l=a;l<i;l++)e[c+l]=t[s+l]-n(t[s+l-a],0,0)+256&255}else{if(o==2)for(l=0;l<i;l++)e[c+l]=t[s+l]+256-t[s+l-i]&255;if(o==3){for(l=0;l<a;l++)e[c+l]=t[s+l]+256-(t[s+l-i]>>1)&255;for(l=a;l<i;l++)e[c+l]=t[s+l]+256-(t[s+l-i]+t[s+l-a]>>1)&255}if(o==4){for(l=0;l<a;l++)e[c+l]=t[s+l]+256-n(0,t[s+l-i],0)&255;for(l=a;l<i;l++)e[c+l]=t[s+l]+256-n(t[s+l-a],t[s+l-i],t[s+l-a-i])&255}}}function h(e,t){let n=new Uint8Array(e),r=n.slice(0),i=new Uint32Array(r.buffer),a=g(r,t),o=a[0],s=a[1],c=n.length,l=new Uint8Array(c>>2),u;if(n.length<2e7)for(var d=0;d<c;d+=4)u=_(o,f=n[d]*(1/255),p=n[d+1]*(1/255),m=n[d+2]*(1/255),h=n[d+3]*(1/255)),l[d>>2]=u.ind,i[d>>2]=u.est.rgba;else for(d=0;d<c;d+=4){var f=n[d]*(1/255),p=n[d+1]*(1/255),m=n[d+2]*(1/255),h=n[d+3]*(1/255);for(u=o;u.left;)u=v(u.est,f,p,m,h)<=0?u.left:u.right;l[d>>2]=u.ind,i[d>>2]=u.est.rgba}return{abuf:r.buffer,inds:l,plte:s}}function g(e,t,n){n??=1e-4;let r=new Uint32Array(e.buffer),i={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};i.bst=x(e,i.i0,i.i1),i.est=S(i.bst);let a=[i];for(;a.length<t;){let t=0,i=0;for(var o=0;o<a.length;o++)a[o].est.L>t&&(t=a[o].est.L,i=o);if(t<n)break;let s=a[i],c=y(e,r,s.i0,s.i1,s.est.e,s.est.eMq255);if(s.i0>=c||s.i1<=c){s.est.L=0;continue}let l={i0:s.i0,i1:c,bst:null,est:null,tdst:0,left:null,right:null};l.bst=x(e,l.i0,l.i1),l.est=S(l.bst);let u={i0:c,i1:s.i1,bst:null,est:null,tdst:0,left:null,right:null};for(u.bst={R:[],m:[],N:s.bst.N-l.bst.N},o=0;o<16;o++)u.bst.R[o]=s.bst.R[o]-l.bst.R[o];for(o=0;o<4;o++)u.bst.m[o]=s.bst.m[o]-l.bst.m[o];u.est=S(u.bst),s.left=l,s.right=u,a[i]=l,a.push(u)}for(a.sort(((e,t)=>t.bst.N-e.bst.N)),o=0;o<a.length;o++)a[o].ind=o;return[i,a]}function _(e,t,n,r,i){if(e.left==null)return e.tdst=function(e,t,n,r,i){let a=t-e[0],o=n-e[1],s=r-e[2],c=i-e[3];return a*a+o*o+s*s+c*c}(e.est.q,t,n,r,i),e;let a=v(e.est,t,n,r,i),o=e.left,s=e.right;a>0&&(o=e.right,s=e.left);let c=_(o,t,n,r,i);if(c.tdst<=a*a)return c;let l=_(s,t,n,r,i);return l.tdst<c.tdst?l:c}function v(e,t,n,r,i){let{e:a}=e;return a[0]*t+a[1]*n+a[2]*r+a[3]*i-e.eMq}function y(e,t,n,r,i,a){for(r-=4;n<r;){for(;b(e,n,i)<=a;)n+=4;for(;b(e,r,i)>a;)r-=4;if(n>=r)break;let o=t[n>>2];t[n>>2]=t[r>>2],t[r>>2]=o,n+=4,r-=4}for(;b(e,n,i)>a;)n-=4;return n+4}function b(e,t,n){return e[t]*n[0]+e[t+1]*n[1]+e[t+2]*n[2]+e[t+3]*n[3]}function x(e,t,n){let r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=[0,0,0,0],a=n-t>>2;for(let a=t;a<n;a+=4){let t=e[a]*(1/255),n=e[a+1]*(1/255),o=e[a+2]*(1/255),s=e[a+3]*(1/255);i[0]+=t,i[1]+=n,i[2]+=o,i[3]+=s,r[0]+=t*t,r[1]+=t*n,r[2]+=t*o,r[3]+=t*s,r[5]+=n*n,r[6]+=n*o,r[7]+=n*s,r[10]+=o*o,r[11]+=o*s,r[15]+=s*s}return r[4]=r[1],r[8]=r[2],r[9]=r[6],r[12]=r[3],r[13]=r[7],r[14]=r[11],{R:r,m:i,N:a}}function S(e){let{R:t}=e,{m:n}=e,{N:r}=e,i=n[0],a=n[1],o=n[2],s=n[3],c=r==0?0:1/r,l=[t[0]-i*i*c,t[1]-i*a*c,t[2]-i*o*c,t[3]-i*s*c,t[4]-a*i*c,t[5]-a*a*c,t[6]-a*o*c,t[7]-a*s*c,t[8]-o*i*c,t[9]-o*a*c,t[10]-o*o*c,t[11]-o*s*c,t[12]-s*i*c,t[13]-s*a*c,t[14]-s*o*c,t[15]-s*s*c],u=l,d=C,f=[Math.random(),Math.random(),Math.random(),Math.random()],p=0,m=0;if(r!=0)for(let e=0;e<16&&(f=d.multVec(u,f),m=Math.sqrt(d.dot(f,f)),f=d.sml(1/m,f),!(e!=0&&Math.abs(m-p)<1e-9));e++)p=m;let h=[i*c,a*c,o*c,s*c];return{Cov:l,q:h,e:f,L:p,eMq255:d.dot(d.sml(255,h),f),eMq:d.dot(f,h),rgba:(Math.round(255*h[3])<<24|Math.round(255*h[2])<<16|Math.round(255*h[1])<<8|Math.round(255*h[0])<<0)>>>0}}var C={multVec:(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]],dot:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],sml:(e,t)=>[e*t[0],e*t[1],e*t[2],e*t[3]]};F.encode=function(e,t,n,r,i,a,o){r??=0,o??=!1;let s=u(e,t,n,r,[!1,!1,!1,0,o,!1]);return l(s,-1),c(s,t,n,i,a)},F.encodeLL=function(e,t,n,r,i,a,o,s){let u={ctype:0+(r==1?0:2)+(i==0?0:4),depth:a,frames:[]},d=(r+i)*a,f=d*t;for(let r=0;r<e.length;r++)u.frames.push({rect:{x:0,y:0,width:t,height:n},img:new Uint8Array(e[r]),blend:0,dispose:1,bpp:Math.ceil(d/8),bpl:Math.ceil(f/8)});return l(u,0,!0),c(u,t,n,o,s)},F.encode.compress=u,F.encode.dither=s,F.quantize=h,F.quantize.getKDtree=g,F.quantize.getNearest=_})();var I={toArrayBuffer(e,t){let n=e.width,r=e.height,i=n<<2,a=e.getContext(`2d`).getImageData(0,0,n,r),o=new Uint32Array(a.data.buffer),s=(32*n+31)/32<<2,c=s*r,l=122+c,u=new ArrayBuffer(l),d=new DataView(u),f=1<<20,p,m,h,g,_=f,v=0,y=0,b=0;function x(e){d.setUint16(y,e,!0),y+=2}function S(e){d.setUint32(y,e,!0),y+=4}function C(e){y+=e}x(19778),S(l),C(4),S(122),S(108),S(n),S(-r>>>0),x(1),x(32),S(3),S(c),S(2835),S(2835),C(8),S(16711680),S(65280),S(255),S(4278190080),S(1466527264),function e(){for(;v<r&&_>0;){for(g=122+v*s,p=0;p<i;)_--,m=o[b++],h=m>>>24,d.setUint32(g+p,m<<8|h),p+=4;v++}b<o.length?(_=f,setTimeout(e,I._dly)):t(u)}()},toBlob(e,t){this.toArrayBuffer(e,(e=>{t(new Blob([e],{type:`image/bmp`}))}))},_dly:9},L={CHROME:`CHROME`,FIREFOX:`FIREFOX`,DESKTOP_SAFARI:`DESKTOP_SAFARI`,IE:`IE`,IOS:`IOS`,ETC:`ETC`},ee={[L.CHROME]:16384,[L.FIREFOX]:11180,[L.DESKTOP_SAFARI]:16384,[L.IE]:8192,[L.IOS]:4096,[L.ETC]:8192},R=typeof window<`u`,te=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope,ne=R&&window.cordova&&window.cordova.require&&window.cordova.require(`cordova/modulemapper`),z=(R||te)&&(ne&&ne.getOriginalSymbol(window,`File`)||typeof File<`u`&&File),re=(R||te)&&(ne&&ne.getOriginalSymbol(window,`FileReader`)||typeof FileReader<`u`&&FileReader);function ie(e,t,n=Date.now()){return new Promise((r=>{let i=e.split(`,`),a=i[0].match(/:(.*?);/)[1],o=globalThis.atob(i[1]),s=o.length,c=new Uint8Array(s);for(;s--;)c[s]=o.charCodeAt(s);let l=new Blob([c],{type:a});l.name=t,l.lastModified=n,r(l)}))}function ae(e){return new Promise(((t,n)=>{let r=new re;r.onload=()=>t(r.result),r.onerror=e=>n(e),r.readAsDataURL(e)}))}function oe(e){return new Promise(((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=e=>n(e),r.src=e}))}function se(){if(se.cachedResult!==void 0)return se.cachedResult;let e=L.ETC,{userAgent:t}=navigator;return/Chrom(e|ium)/i.test(t)?e=L.CHROME:/iP(ad|od|hone)/i.test(t)&&/WebKit/i.test(t)?e=L.IOS:/Safari/i.test(t)?e=L.DESKTOP_SAFARI:/Firefox/i.test(t)?e=L.FIREFOX:(/MSIE/i.test(t)||!!document.documentMode==1)&&(e=L.IE),se.cachedResult=e,se.cachedResult}function ce(e,t){let n=ee[se()],r=e,i=t,a=r*i,o=r>i?i/r:r/i;for(;a>n*n;){let e=(n+r)/2,t=(n+i)/2;e<t?(i=t,r=t*o):(i=e*o,r=e),a=r*i}return{width:r,height:i}}function le(e,t){let n,r;try{if(n=new OffscreenCanvas(e,t),r=n.getContext(`2d`),r===null)throw Error(`getContext of OffscreenCanvas returns null`)}catch{n=document.createElement(`canvas`),r=n.getContext(`2d`)}return n.width=e,n.height=t,[n,r]}function ue(e,t){let{width:n,height:r}=ce(e.width,e.height),[i,a]=le(n,r);return t&&/jpe?g/.test(t)&&(a.fillStyle=`white`,a.fillRect(0,0,i.width,i.height)),a.drawImage(e,0,0,i.width,i.height),i}function de(){return de.cachedResult!==void 0||(de.cachedResult=[`iPad Simulator`,`iPhone Simulator`,`iPod Simulator`,`iPad`,`iPhone`,`iPod`].includes(navigator.platform)||navigator.userAgent.includes(`Mac`)&&typeof document<`u`&&`ontouchend`in document),de.cachedResult}function fe(e,t={}){return new Promise((function(n,r){let i,a;var o=function(){try{return a=ue(i,t.fileType||e.type),n([i,a])}catch(e){return r(e)}},s=function(t){try{var n=function(e){try{throw e}catch(e){return r(e)}};try{let t;return ae(e).then((function(e){try{return t=e,oe(t).then((function(e){try{return i=e,function(){try{return o()}catch(e){return r(e)}}()}catch(e){return n(e)}}),n)}catch(e){return n(e)}}),n)}catch(e){n(e)}}catch(e){return r(e)}};try{if(de()||[L.DESKTOP_SAFARI,L.MOBILE_SAFARI].includes(se()))throw Error(`Skip createImageBitmap on IOS and Safari`);return createImageBitmap(e).then((function(e){try{return i=e,o()}catch{return s()}}),s)}catch{s()}}))}function pe(e,t,n,r,i=1){return new Promise((function(a,o){let s;if(t===`image/png`){let a,o,c;return a=e.getContext(`2d`),{data:o}=a.getImageData(0,0,e.width,e.height),c=F.encode([o.buffer],e.width,e.height,4096*i),s=new Blob([c],{type:t}),s.name=n,s.lastModified=r,u.call(this)}{if(t===`image/bmp`)return new Promise((t=>I.toBlob(e,t))).then(function(e){try{return s=e,s.name=n,s.lastModified=r,l.call(this)}catch(e){return o(e)}}.bind(this),o);{if(typeof OffscreenCanvas==`function`&&e instanceof OffscreenCanvas)return e.convertToBlob({type:t,quality:i}).then(function(e){try{return s=e,s.name=n,s.lastModified=r,c.call(this)}catch(e){return o(e)}}.bind(this),o);{let a;return a=e.toDataURL(t,i),ie(a,n,r).then(function(e){try{return s=e,c.call(this)}catch(e){return o(e)}}.bind(this),o)}function c(){return l.call(this)}}function l(){return u.call(this)}}function u(){return a(s)}}))}function me(e){e.width=0,e.height=0}function he(){return new Promise((function(e,t){let n,r,i,a;return he.cachedResult===void 0?ie(`data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==`,`test.jpg`,Date.now()).then((function(o){try{return n=o,fe(n).then((function(o){try{return r=o[1],pe(r,n.type,n.name,n.lastModified).then((function(n){try{return i=n,me(r),fe(i).then((function(n){try{return a=n[0],he.cachedResult=a.width===1&&a.height===2,e(he.cachedResult)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t):e(he.cachedResult)}))}function ge(e){return new Promise(((t,n)=>{let r=new re;r.onload=e=>{let n=new DataView(e.target.result);if(n.getUint16(0,!1)!=65496)return t(-2);let r=n.byteLength,i=2;for(;i<r;){if(n.getUint16(i+2,!1)<=8)return t(-1);let e=n.getUint16(i,!1);if(i+=2,e==65505){if(n.getUint32(i+=2,!1)!=1165519206)return t(-1);let e=n.getUint16(i+=6,!1)==18761;i+=n.getUint32(i+4,e);let r=n.getUint16(i,e);i+=2;for(let a=0;a<r;a++)if(n.getUint16(i+12*a,e)==274)return t(n.getUint16(i+12*a+8,e))}else{if((65280&e)!=65280)break;i+=n.getUint16(i,!1)}}return t(-1)},r.onerror=e=>n(e),r.readAsArrayBuffer(e)}))}function _e(e,t){let{width:n}=e,{height:r}=e,{maxWidthOrHeight:i}=t,a,o=e;return isFinite(i)&&(n>i||r>i)&&([o,a]=le(n,r),n>r?(o.width=i,o.height=r/n*i):(o.width=n/r*i,o.height=i),a.drawImage(e,0,0,o.width,o.height),me(e)),o}function ve(e,t){let{width:n}=e,{height:r}=e,[i,a]=le(n,r);switch(t>4&&t<9?(i.width=r,i.height=n):(i.width=n,i.height=r),t){case 2:a.transform(-1,0,0,1,n,0);break;case 3:a.transform(-1,0,0,-1,n,r);break;case 4:a.transform(1,0,0,-1,0,r);break;case 5:a.transform(0,1,1,0,0,0);break;case 6:a.transform(0,1,-1,0,r,0);break;case 7:a.transform(0,-1,-1,0,r,n);break;case 8:a.transform(0,-1,1,0,0,n)}return a.drawImage(e,0,0,n,r),me(e),i}function ye(e,t,n=0){return new Promise((function(r,i){let a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;function T(e=5){if(t.signal&&t.signal.aborted)throw t.signal.reason;a+=e,t.onProgress(Math.min(a,100))}function E(e){if(t.signal&&t.signal.aborted)throw t.signal.reason;a=Math.min(Math.max(e,a),100),t.onProgress(a)}return a=n,o=t.maxIteration||10,s=1024*t.maxSizeMB*1024,T(),fe(e,t).then(function(n){try{return[,c]=n,T(),l=_e(c,t),T(),new Promise((function(n,r){var i;if(!(i=t.exifOrientation))return ge(e).then(function(e){try{return i=e,a.call(this)}catch(e){return r(e)}}.bind(this),r);function a(){return n(i)}return a.call(this)})).then(function(n){try{return u=n,T(),he().then(function(n){try{return d=n?l:ve(l,u),T(),f=t.initialQuality||1,p=t.fileType||e.type,pe(d,p,e.name,e.lastModified,f).then(function(n){try{{if(m=n,T(),h=m.size>s,g=m.size>e.size,!h&&!g)return E(100),r(m);var a;function u(){if(o--&&(y>s||y>_)){let t,n;return t=w?.95*C.width:C.width,n=w?.95*C.height:C.height,[x,S]=le(t,n),S.drawImage(C,0,0,t,n),f*=p===`image/png`?.85:.95,pe(x,p,e.name,e.lastModified,f).then((function(e){try{return b=e,me(C),C=x,y=b.size,E(Math.min(99,Math.floor((v-y)/(v-s)*100))),u}catch(e){return i(e)}}),i)}return[1]}return _=e.size,v=m.size,y=v,C=d,w=!t.alwaysKeepResolution&&h,(a=function(e){for(;e;){if(e.then)return void e.then(a,i);try{if(e.pop){if(e.length)return e.pop()?D.call(this):e;e=u}else e=e.call(this)}catch(e){return i(e)}}}.bind(this))(u);function D(){return me(C),me(x),me(l),me(d),me(c),E(100),r(b)}}}catch(e){return i(e)}}.bind(this),i)}catch(e){return i(e)}}.bind(this),i)}catch(e){return i(e)}}.bind(this),i)}catch(e){return i(e)}}.bind(this),i)}))}var be=`
2
2
  let scriptImported = false
3
3
  self.addEventListener('message', async (e) => {
4
4
  const { file, id, imageCompressionLibUrl, options } = e.data
@@ -503,4 +503,4 @@ __p += '`),r&&(f+=`' +
503
503
  function print() { __p += __j.call(arguments, '') }
504
504
  `:`;
505
505
  `)+f+`return __p
506
- }`;var g=ac(function(){return Le(c,m+`return `+f).apply(e,l)});if(g.source=f,os(g))throw g;return g},V.times=function(e,t){if((e=ws(e))<1||e>c)return[];var n=u,r=jn(e,u);t=H(t),e-=u;for(var i=an(r,t);++n<e;)t(n);return i},V.toFinite=Cs,V.toInteger=ws,V.toLength=Ts,V.toLower=function(e){return Os(e).toLowerCase()},V.toNumber=Es,V.toSafeInteger=function(e){return e?vr(ws(e),-9007199254740991,c):e===0?e:0},V.toString=Os,V.toUpper=function(e){return Os(e).toUpperCase()},V.trim=function(t,n,r){if((t=Os(t))&&(r||n===e))return on(t);if(!t||!(n=bi(n)))return t;var i=Sn(t),a=Sn(n);return Mi(i,un(i,a),dn(i,a)+1).join(``)},V.trimEnd=function(t,n,r){if((t=Os(t))&&(r||n===e))return t.slice(0,Cn(t)+1);if(!t||!(n=bi(n)))return t;var i=Sn(t);return Mi(i,0,dn(i,Sn(n))+1).join(``)},V.trimStart=function(t,n,r){if((t=Os(t))&&(r||n===e))return t.replace(me,``);if(!t||!(n=bi(n)))return t;var i=Sn(t);return Mi(i,un(i,Sn(n))).join(``)},V.truncate=function(t,n){var r=30,i=`...`;if(us(n)){var a=`separator`in n?n.separator:a;r=`length`in n?ws(n.length):r,i=`omission`in n?bi(n.omission):i}var o=(t=Os(t)).length;if(hn(t)){var s=Sn(t);o=s.length}if(r>=o)return t;var c=r-xn(i);if(c<1)return i;var l=s?Mi(s,0,c).join(``):t.slice(0,c);if(a===e)return l+i;if(s&&(c+=l.length-c),hs(a)){if(t.slice(c).search(a)){var u,d=l;for(a.global||(a=Be(a.source,Os(Ce.exec(a))+`g`)),a.lastIndex=0;u=a.exec(d);)var f=u.index;l=l.slice(0,f===e?c:f)}}else if(t.indexOf(bi(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i},V.unescape=function(e){return(e=Os(e))&&ie.test(e)?e.replace(z,wn):e},V.uniqueId=function(e){var t=++Ye;return Os(e)+t},V.upperCase=nc,V.upperFirst=rc,V.each=Oo,V.eachRight=ko,V.first=to,mc(V,(wc={},jr(V,function(e,t){Je.call(V.prototype,t)||(wc[t]=e)}),wc),{chain:!1}),V.VERSION=`4.17.21`,It([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){V[e].placeholder=V}),It([`drop`,`take`],function(t,n){tr.prototype[t]=function(r){r=r===e?1:An(ws(r),0);var i=this.__filtered__&&!n?new tr(this):this.clone();return i.__filtered__?i.__takeCount__=jn(r,i.__takeCount__):i.__views__.push({size:jn(r,u),type:t+(i.__dir__<0?`Right`:``)}),i},tr.prototype[t+`Right`]=function(e){return this.reverse()[t](e).reverse()}}),It([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==1||n==3;tr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:H(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),It([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);tr.prototype[e]=function(){return this[n](1).value()[0]}}),It([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);tr.prototype[e]=function(){return this.__filtered__?new tr(this):this[n](1)}}),tr.prototype.compact=function(){return this.filter(uc)},tr.prototype.find=function(e){return this.filter(e).head()},tr.prototype.findLast=function(e){return this.reverse().find(e)},tr.prototype.invokeMap=si(function(e,t){return typeof e==`function`?new tr(this):this.map(function(n){return Vr(n,e,t)})}),tr.prototype.reject=function(e){return this.filter(Go(H(e)))},tr.prototype.slice=function(t,n){t=ws(t);var r=this;return r.__filtered__&&(t>0||n<0)?new tr(r):(t<0?r=r.takeRight(-t):t&&(r=r.drop(t)),n!==e&&(r=(n=ws(n))<0?r.dropRight(-n):r.take(n-t)),r)},tr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},tr.prototype.toArray=function(){return this.take(u)},jr(tr.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),i=/^(?:head|last)$/.test(n),a=V[i?`take`+(n==`last`?`Right`:``):n],o=i||/^find/.test(n);a&&(V.prototype[n]=function(){var n=this.__wrapped__,s=i?[1]:arguments,c=n instanceof tr,l=s[0],u=c||es(n),d=function(e){var t=a.apply(V,Ut([e],s));return i&&f?t[0]:t};u&&r&&typeof l==`function`&&l.length!=1&&(c=u=!1);var f=this.__chain__,p=!!this.__actions__.length,m=o&&!f,h=c&&!p;if(!o&&u){n=h?n:new tr(this);var g=t.apply(n,s);return g.__actions__.push({func:Co,args:[d],thisArg:e}),new er(g,f)}return m&&h?t.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),It([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=Ue[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);V.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(es(i)?i:[],e)}return this[n](function(n){return t.apply(es(n)?n:[],e)})}}),jr(tr.prototype,function(e,t){var n=V[t];if(n){var r=n.name+``;Je.call(Un,r)||(Un[r]=[]),Un[r].push({name:t,func:n})}}),Un[Zi(e,2).name]=[{name:`wrapper`,func:e}],tr.prototype.clone=function(){var e=new tr(this.__wrapped__);return e.__actions__=Bi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Bi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Bi(this.__views__),e},tr.prototype.reverse=function(){if(this.__filtered__){var e=new tr(this);e.__dir__=-1,e.__filtered__=!0}else (e=this.clone()).__dir__*=-1;return e},tr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=es(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case`drop`:e+=o;break;case`dropRight`:t-=o;break;case`take`:t=jn(t,e+o);break;case`takeRight`:e=An(e,t-o)}}return{start:e,end:t}}(0,i,this.__views__),o=a.start,s=a.end,c=s-o,l=r?s:o-1,u=this.__iteratees__,d=u.length,f=0,p=jn(c,this.__takeCount__);if(!n||!r&&i==c&&p==c)return Ti(e,this.__actions__);var m=[];e:for(;c--&&f<p;){for(var h=-1,g=e[l+=t];++h<d;){var _=u[h],v=_.iteratee,y=_.type,b=v(g);if(y==2)g=b;else if(!b){if(y==1)continue e;break e}}m[f++]=g}return m},V.prototype.at=wo,V.prototype.chain=function(){return So(this)},V.prototype.commit=function(){return new er(this.value(),this.__chain__)},V.prototype.next=function(){this.__values__===e&&(this.__values__=Ss(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?e:this.__values__[this.__index__++]}},V.prototype.plant=function(t){for(var n,r=this;r instanceof $n;){var i=Ja(r);i.__index__=0,i.__values__=e,n?a.__wrapped__=i:n=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,n},V.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof tr){var n=t;return this.__actions__.length&&(n=new tr(this)),(n=n.reverse()).__actions__.push({func:Co,args:[lo],thisArg:e}),new er(n,this.__chain__)}return this.thru(lo)},V.prototype.toJSON=V.prototype.valueOf=V.prototype.value=function(){return Ti(this.__wrapped__,this.__actions__)},V.prototype.first=V.prototype.head,vt&&(V.prototype[vt]=function(){return this}),V}();Tt?((Tt.exports=Tn)._=Tn,wt._=Tn):Ct._=Tn}.call(OR.exports)),OR.exports),MR=e=>e.parentId===null||e.parentId===`null`||!e.parentId,NR=async(e,t,n)=>{if(t?.itemType===`file`)return e;let r=[];if(!n)return e;{let e=await n({parentId:t.folderId});r=Array.isArray(e)?e:[]}let i=((e,t)=>{let n=Array.isArray(e)?e:[];return(r=t.folderId)&&r!==`root`&&r!==`folders`&&r!==`null`&&r!==null?n.filter(e=>e.parentId===t.folderId):n.filter(MR);var r})(r,t);if((t?.search)?.trim()){let e=t.search.trim().toLowerCase();i=i.filter(t=>t.name?.toLowerCase().includes(e))}if(i.length===0)return e;let a=i.map(e=>({id:e.id,name:e.name,size:void 0,date:`-`,isFolder:!0,folderId:e.parentId||``,type:``,selected:!1,extension:``,childCount:e.childCount}));if(t?.itemType===`folder`)return a;let o=e.filter(e=>!e.isFolder);return[...a,...o]},PR=e=>{let{state:t,actions:n,options:r}=yR(),{searchTerm:i,sortBy:o,sortOrder:s,selectedFolder:c,pagination:l,pathHistory:u}=t,{setSearchTerm:d,setSortBy:f,setSortOrder:p,setPagination:m}=n,h=e||n.fetchFiles,g=(0,a.useRef)(null),_=(0,a.useRef)(jR.debounce(e=>{let t=JSON.stringify(e);g.current!==t&&(g.current=t,h?.(e))},150)).current,v=(0,a.useCallback)(()=>{let e=c||``;return e?[...Array.isArray(u)?u:[]].reverse().find(t=>t.id===e)?.name:void 0},[c,u]),y=(0,a.useCallback)(()=>{let e=r?.config?.disablePagination;return{folderId:c||``,folderName:v(),search:i?.trim()||void 0,page:e?void 0:l.current,limit:e?void 0:l.pageSize,sortBy:o,sortOrder:s,itemType:`all`}},[c,v,i,l.current,l.pageSize,o,s,r?.config?.disablePagination]),b=(0,a.useCallback)(e=>{d&&d(e),m&&m({current:1,pageSize:l.pageSize,total:0}),h&&h({folderId:c||``,folderName:v(),search:e?.trim()||void 0,page:r?.config?.disablePagination?void 0:1,limit:r?.config?.disablePagination?void 0:l.pageSize,sortBy:o,sortOrder:s,itemType:`all`})},[d,m,l.pageSize,h,c,v,o,s,r?.config?.disablePagination]),x=(0,a.useCallback)((e,t)=>{f?.(e),p?.(t),h&&_({folderId:c||``,folderName:v(),search:i?.trim()||void 0,page:r?.config?.disablePagination?void 0:l.current,limit:r?.config?.disablePagination?void 0:l.pageSize,sortBy:e,sortOrder:t,itemType:`all`})},[f,p,_,c,v,i,l.current,l.pageSize,r?.config?.disablePagination]),S=(0,a.useCallback)((e,t)=>{var n;(n=r?.config)!=null&&n.disablePagination||(m&&m({current:e,pageSize:t||l.pageSize,total:l.total}),h&&_({folderId:c||``,folderName:v(),search:i?.trim()||void 0,page:e,limit:t||l.pageSize,sortBy:o,sortOrder:s,itemType:`all`}))},[m,l.pageSize,l.total,_,c,v,i,o,s,r?.config?.disablePagination]);return(0,a.useEffect)(()=>{if(h){let e=y();_(Object.assign(Object.assign({},e),{page:1}))}},[c]),(0,a.useEffect)(()=>{h&&_(y())},[]),(0,a.useEffect)(()=>()=>{var e;(e=_.cancel)==null||e.call(_)},[_]),{state:{searchTerm:i||``,sortBy:o||`name`,sortOrder:s||`asc`},actions:{setSearchTerm:d||(()=>{}),setSortBy:f||(()=>{}),setSortOrder:p||(()=>{}),handleSearch:b,handleSort:x,handlePaginationChange:S,getCurrentQueryParams:y}}};function FR(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}var IR=new Map;function LR(e){let t=`id`in e&&e.id!==void 0?String(e.id):`unknown`,n=`data`in e?e.data:void 0;return`${e.type}:${t}:${function(e){if(e==null)return``;try{return JSON.stringify(e,Object.keys(e).sort())}catch{return String(e)}}(n)}`}var RR=()=>{let{notification:e}=l.App.useApp(),{options:t}=yR(),n=(0,a.useCallback)(async e=>{let n;if(t.handleNotify){try{n=await t.handleNotify(e)}catch{}if(!1===n)return!1;typeof n==`object`&&n&&(e=n)}if(e.type===`error`&&t.handleError){try{n=await t.handleError(e)}catch{}if(!1===n)return!1;typeof n==`object`&&n&&(e=n)}if(e.type===`success`&&t.handleSuccess){try{n=await t.handleSuccess(e)}catch{}if(n)return!1}return n},[t]),r=(0,a.useCallback)(async function(r,i=!1){var a;try{r.visibility===void 0&&(r.visibility=!i);let o=await n(r);typeof o==`object`&&(r=o);let s=t.config?.notificationDedupeTtlMs??12e3,c=r.type===`error`&&!0===r.notificationDedupe;if(c&&function(e,t){if(t<=0)return;let n=LR(e),r=Date.now(),i=IR.get(n);i!==void 0&&r-i<t&&(e.visibility=!1)}(r,s),!(!1!==r.visibility&&!1!==o&&!1!==t.config?.showNotifications))return r;let l=e[r.type];if(typeof l==`function`){let e=r,{message:t,btn:n}=e,i=FR(e,[`message`,`btn`]);l(Object.assign(Object.assign(Object.assign({},i),{title:i.title??t}),n===void 0?{}:{actions:n})),c&&(a=r,s<=0||IR.set(LR(a),Date.now()))}}catch{}return r},[e,n,t.config?.notificationDedupeTtlMs,t.config?.showNotifications]);return(0,a.useMemo)(()=>({error:(e,t=!1)=>r(Object.assign(Object.assign({},e),{type:`error`}),t),success:(e,t=!1)=>r(Object.assign(Object.assign({},e),{type:`success`}),t),warning:(e,t=!1)=>r(Object.assign(Object.assign({},e),{type:`warning`}),t),notify:r}),[r])},zR=()=>l.App.useApp().message,BR={FileNotFound:`File not found or no longer available.`,FileAlreadyExists:`File with this name already exists.`,FileInvalidName:`File name is not valid. Allowed characters: {{allowedChars}}`,FileAccessDenied:`You don't have permission to access this file.`,FileReadError:`Failed to read the file.`,FileWriteError:`Failed to write the file.`,FileTooLarge:`File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.`,FileTypeNotAllowed:`This file type is not allowed.`,FileCorrupted:`The file appears to be corrupted.`,FileChecksumMismatch:`File integrity check failed.`,FileStorageQuotaExceeded:`Storage quota exceeded. Please free up space.`,FileLocked:`File is locked by another process or user.`,FileVersionConflict:`File version conflict. Please refresh and try again.`,FolderNotFound:`Folder not found or no longer available.`,FolderAlreadyExists:`Folder with this name already exists.`,FolderInvalidName:`Folder name is not valid. Allowed characters: {{allowedChars}}`,FolderAccessDenied:`You don't have permission to access this folder.`,FolderReadError:`Failed to read the folder contents.`,FolderWriteError:`Failed to write to the folder.`,FolderQuotaExceeded:`Folder storage quota exceeded.`,FolderNotEmpty:`Folder is not empty.`,FolderBackendError:`Server error while processing the folder.`,FolderTimeout:`Folder operation took too long.`,RenameNotAllowed:`Renaming is not allowed for this item.`,MoveNotAllowed:`Moving is not allowed for this item.`,CopyNotAllowed:`Copying is not allowed for this item.`,DeleteNotAllowed:`Deleting is not allowed for this item.`,MoveIntoSelf:`Cannot move an item into itself.`,MoveIntoDescendant:`Cannot move an item into its descendant folder.`,CopyIntoSelf:`Cannot copy an item into itself.`,UnsupportedOperation:`This operation is not supported.`,ConfigError:`Configuration error occurred.`,FileUploadQuotaExceeded:`You have exceeded the upload quota.`,FileUploadNetworkError:`Network error while uploading the file.`,FileUploadTimeout:`File upload took too long.`,FileUploadBackendError:`Server error while uploading the file.`,UploadUrlInvalid:`The specified URL is not valid.`,UploadUrlNotReachable:`The specified URL is not reachable.`,UploadUrlContentTypeNotAllowed:`Content type at the URL is not allowed.`,UploadUrlDownloadFailed:`Failed to download file from the URL.`,FileLookupFailed:`Failed to find existing file by URL.`,FileProxyFailed:`Failed to load file through proxy.`,FileProxyNotConfigured:`File proxy is not configured.`,FileDownloadNetworkError:`Network error while downloading the file.`,FileDownloadTimeout:`File download took too long.`,FileDownloadBackendError:`Server error while downloading the file.`,BatchPartialFailure:`Some items could not be processed.`,BatchAllFailed:`Failed to process all items in the batch.`,BatchConflict:`Some items in the batch are in a conflicting state.`,BatchValidationFailed:`Some items in the batch did not pass validation.`,BatchItemLimitExceeded:`Batch operation exceeds the maximum number of items allowed.`,ValidationError:`Some of the provided data is invalid.`,PayloadTooLarge:`File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.`,UnsupportedMediaType:`This media type is not supported.`,NetworkError:`Network error. Please check your connection and try again.`,BackendError:`Server error. Please try again later.`,Timeout:`The operation took too long. Please try again.`,AuthenticationFailed:`Authentication failed. Please sign in again.`,AuthorizationFailed:`You are not allowed to perform this action.`,RateLimitExceeded:`Too many requests. Please try again a bit later.`,ServiceUnavailable:`Service is temporarily unavailable. Please try again later.`,AIResponseInvalid:`AI service returned an invalid response.`,AIImageGenerationFailed:`Failed to generate image using AI.`,AIImageGenerationLimitExceeded:`You have reached the AI image generation limit.`,IntegrationError:`Error in external integration.`,ThirdPartyError:`Error in a third-party service.`,UnknownError:`An unknown error occurred.`},VR={FileTooLarge:`File is too large to upload.`,PayloadTooLarge:`File is too large to upload.`},HR=(e,t,n)=>{if(!e)return;let r=BR[e];if(!r)return;let i=n?.fileSize??``,a=n?.maxSize??``;if((e===`FileTooLarge`||e===`PayloadTooLarge`)&&!(i&&a)){let n=VR[e];return n?t(n):t(r,{fileSize:`?`,maxSize:`?`})}return t(r,{allowedChars:n?.allowedChars??`a-z A-Z 0-9 . _ -`,fileSize:i,maxSize:a})},UR=e=>{if(!e||typeof e!=`string`)return;let t=e.toLowerCase();return(t.includes(`maximum number of files`)||t.includes(`number of files exceeded`))&&(t.includes(`allowed`)||t.includes(`received`))?`BatchItemLimitExceeded`:t.includes(`exceeds`)||t.includes(`maximum`)||t.includes(`too large`)||t.includes(`size limit`)||t.includes(`object size`)||t.includes(`размер`)||t.includes(`превышен`)?`PayloadTooLarge`:t.includes(`403`)||t.includes(`forbidden`)||t.includes(`access denied`)||t.includes(`доступ запрещён`)?`AuthorizationFailed`:t.includes(`404`)||t.includes(`not found`)||t.includes(`не найден`)?`UploadUrlNotReachable`:t.includes(`already exists`)||t.includes(`уже существует`)||t.includes(`дубликат`)?`FileAlreadyExists`:t.includes(`invalid`)&&(t.includes(`name`)||t.includes(`имя`)||t.includes(`назва`))?`FileInvalidName`:t.includes(`type`)&&(t.includes(`not allowed`)||t.includes(`не поддерживается`))?`FileTypeNotAllowed`:void 0},WR=e=>{if(!e)return{message:`Unknown error`,raw:e};if(typeof e==`string`)return{message:e};if(e instanceof Error){let t=e;return{message:t.message??e.message,code:t.code,status:t.status??t.httpStatus,stack:t.stack??e.stack,raw:t.raw??e}}if(typeof e==`object`){let t=e,n=t.data??t,r=n?.data??n,i=t.message??n?.message??t.error??t.reason,a=t.status??t.httpStatus??r?.status??n?.status,o=t.code??n?.code,s=t.stack,c=t.raw??e,l=t.fileSize??r?.fileSize??n?.fileSize,u=t.maxSize??r?.maxSize??n?.maxSize;if(i||o||a||s||c)return Object.assign(Object.assign({message:i,code:o,status:a,stack:s,raw:c},l!=null&&{fileSize:l}),u!=null&&{maxSize:u})}return{message:String(e),raw:e}},GR=(e,t,n)=>{let r=WR(e),i=r?.code;if(i===`FileTooLarge`&&n?.fileSize!=null&&n?.maxSize!=null)return t(`File too large ({{size}}). Maximum allowed size: {{maxSize}}`,{size:LL(n.fileSize),maxSize:LL(n.maxSize)});if((i===`BatchItemLimitExceeded`||i===`exceeded_max_files`)&&r?.message){let{allowed:e,received:n}=function(e){let t=e.match(/Allowed:\s*(\d+)/i),n=e.match(/received:\s*(\d+)/i);return{allowed:t?parseInt(t[1],10):void 0,received:n?parseInt(n[1],10):void 0}}(r.message);if(e!=null&&n!=null)return t(`Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}`,{allowed:e,received:n})}return r?.message&&r.message!==`Unknown error`?r.message:HR(i,t,n?.fileSize!=null&&n?.maxSize!=null?{fileSize:LL(n.fileSize),maxSize:LL(n.maxSize)}:void 0)??t(`Error uploading file`)},KR=e=>WR(e)?.code===`path_folder_not_found`,qR=[`file_get_contents`,`open stream`,`failed to open stream`,`http request failed`,`curl_error`],JR=(e,t,n)=>{if(!e)return t(`Error when downloading a file by URL`);let r=HR((e=>{let t=UR(e);if(t===`AuthorizationFailed`){let t=(e||``).toLowerCase();if(t.includes(`download`)||t.includes(`url`)||t.includes(`file_get_contents`)||t.includes(`failed to download`))return`UploadUrlNotReachable`}return t})(e?.message)??e?.code,t,n);if(r)return r;let i=e?.message&&typeof e.message==`string`?e.message.trim():null;return i&&function(e){if(!e||e.length>200)return!1;let t=e.toLowerCase();return!qR.some(e=>t.includes(e))}(i)?i:t(`Failed to download file from the URL.`)},YR=e=>Array.isArray(e)?e.filter(e=>e?.id&&e.id!==`folders`).map(e=>e.name).filter(Boolean).join(`/`):``,XR=e=>{let t=e.trim();if(!t)return``;let n=t.toLowerCase(),r=[n.indexOf(` and `),n.indexOf(` or `),t.indexOf(`,`),t.indexOf(`;`),n.indexOf(`. `)].filter(e=>e>=0);if(r.length===0)return t;let i=Math.min(...r);return t.slice(0,i).trim()||t},ZR=(e,t)=>{let n=(e=>{if(e&&typeof e==`object`){let t=e,n=t.data?.data?.path_folder??t.data?.path_folder;if(typeof n==`string`&&n.trim())return XR(n)||null}let t=WR(e)?.message;if(!t)return null;let n=t.toLowerCase();for(let e of[`не существует:`,`not exists:`,`not exist:`,`not found:`]){let r=n.indexOf(e);if(r>=0)return XR(t.slice(r+e.length).trim())||null}for(let e of[`not exists `,`not exist `,`not found `]){let r=n.indexOf(e);if(r>=0)return XR(t.slice(r+e.length).trim())||null}return null})(e);return n?(e=>{let t=e.split(`/`).filter(Boolean);return t.length<=1?``:(t.pop(),t.join(`/`))})(n):YR(t)},QR=async e=>{let{options:t,pathFolder:n,dataProviders:r}=e;if(r?.clearCache)return void await r.clearCache(n||null);let i=t?.apiEndpoints?.clearCache;if(!i)return;let a=i.includes(`?`),o=i;n&&n.length>0&&(o=`${i}${a?`&`:`?`}path_folder=${encodeURIComponent(n)}`);let s=await fetch(o,{method:`POST`});if(!s.ok)throw Error(`Cache clear failed: ${s.status}`)},$R=()=>{let{state:e,actions:t,options:n}=yR(),{t:r}=gL(),i=RR(),{folders:o,selectedFolder:s,pathHistory:c,form:l,loading:u,isModalVisible:f}=e,{setFolders:p,setLoading:m,setIsModalVisible:h}=t,{dataProviders:g,config:_}=n,v=(0,a.useCallback)(e=>(Array.isArray(e)?e:[]).filter(e=>e&&e.id&&e.name).map(e=>({id:e.id,name:e.name,parentId:e.folderId?e.folderId:null})),[]),y=(0,a.useCallback)(async(e=!1)=>{m?.(!0);try{let e=[],t=_?.folderTreeLoading===`lazy`;if(!g?.getFolders){if(g?.getFiles){let e=async n=>{let{files:r}=await g.getFiles({itemType:`folder`,folderId:n??void 0}),i=v(r);if(t)return i;let a=await Promise.all(i.map(t=>e(t.id)));return[...i,...a.flat()]},n=await e(null);p&&p(e=>{let r=Array.isArray(e)?e:[];if(!t){let e=n;return e.filter(e=>e.id===e.parentId).length,e}let i=[...r.filter(e=>e.parentId),...n];return i.filter(e=>e.id===e.parentId).length,i});return}return}{let n=!t;e=await g.getFolders({parentId:null,deep:n})}let n=Array.isArray(e)?e:[];p?.(n),n.filter(e=>e.id===e.parentId).length}catch(t){let a=WR(t);if(!e&&(a?.status===404||a?.code===`FileNotFound`)){let e=ZR(t,c||[]);try{await QR({options:n,pathFolder:e,dataProviders:n?.dataProviders}),await y(!0);return}catch{}}let o=HR(a?.code,r);i.error({id:`FOLDERS_FETCH_FAILED`,message:o??r(`Failed to load folders`),description:r(`Folders`),placement:`bottomRight`,innerException:t,notificationDedupe:!0,data:{reason:t instanceof Error?t.message:String(t),folderId:null,folderName:r(`Folders`)}})}finally{m?.(!1)}},[g?.getFiles,g?.getFolders,p,m,_?.folderTreeLoading,v,i,r,c,n]),b=(0,a.useCallback)(()=>y(),[y]),x=(0,a.useCallback)(async e=>{try{let t,n;if(g?.getFolders){t=await g.getFolders({parentId:e,deep:!1});let r=Array.isArray(o)?o:[],i=new Set(t.map(e=>e.id)),a=r.filter(t=>t.parentId!==e||i.has(t.id));n=[...a,...t.filter(e=>!a.some(t=>t.id===e.id))]}else{if(!g?.getFiles)return[];{let{files:r}=await g.getFiles({itemType:`folder`,folderId:e??void 0});t=v(r);let i=Array.isArray(o)?o:[],a=new Set(t.map(e=>e.id)),s=i.filter(t=>t.parentId!==e||a.has(t.id));n=[...s,...t.filter(e=>!s.some(t=>t.id===e.id))]}}let r=n,i=0;for(;i!==r.length;){i=r.length;let e=new Set(r.map(e=>e.id));r=r.filter(t=>!t.parentId||e.has(t.parentId))}return p?.(r),t}catch{return[]}},[g,o,p,v]),S=(0,a.useCallback)(()=>{let e=_?.defaultFolderName??r(`New folder`);l.setFieldsValue({folderName:e}),h?.(!0)},[l,h,r,_?.defaultFolderName]),C=(0,a.useCallback)(async(e,n)=>{let i=[...(Array.isArray(o)?o:[]).filter(t=>t.id!==e.id),e];if(p?.(i),e.parentId&&(await x(e.parentId),await new Promise(e=>setTimeout(e,50))),!n?.preserveSelection&&t.setSelectedFolder&&t.setSelectedFolder(e.id),!n?.preserveSelection&&t.setPathHistory){let n=Array.isArray(i)?i:[],a=(e,t=new Set)=>{if(t.has(e))return[];let r=n.find(t=>t.id===e);if(!r)return[];let i=new Set(t);return i.add(e),r.parentId?[...a(r.parentId,i),{id:r.id,name:r.name}]:[{id:r.id,name:r.name}]},o=a(e.id),s=[{id:`folders`,name:r(`Folders`)},...o];t.setPathHistory(s)}},[o,p,t,e.pathHistory,x,r]),w=(0,a.useCallback)(async e=>{try{if(g?.getFolders){let t=await g.getFolders();return(Array.isArray(t)?t:[]).some(t=>t.id===e)}if(g?.getFiles){let t=new Set,n=async r=>{let{files:i}=await g.getFiles({itemType:`folder`,folderId:r??void 0}),a=v(i);for(let r of a)if(!t.has(r.id)&&(t.add(r.id),r.id===e||await n(r.id)))return!0;return!1};return await n(null)}}catch{}return!1},[g?.getFolders,g?.getFiles,v]),T=(0,a.useCallback)(async e=>{let t,n,a=null;try{let u=await(e?e.validateFields():l.validateFields());if(t=u.folderName.trim(),!t){let e=u.targetFolder||(s&&s!==`folders`?s:null);i.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:r(`Folder name cannot be empty`),placement:`bottomRight`,data:{folderName:t,folderId:e??null,reason:`emptyName`,is_force_create:!!u.is_force_create}});return}n=sI(t,_);let d=u.targetFolder;if(d)a=d===`folders`?null:d;else if(s&&s!==`folders`)a=s;else if(Array.isArray(c)&&c.length>1){let e=c[c.length-1];a=e?.id&&e.id!==`folders`?e.id:null}if(cI(_)&&g?.getFolders)try{if((await g.getFolders({parentId:a,deep:!1})||[]).map(e=>e.name?.toLowerCase()).filter(Boolean).includes(t.trim().toLowerCase()))return void i.error({id:`FOLDER_ALREADY_EXISTS`,message:r(`A folder with that name already exists. Please enter a different folder name.`),placement:`bottomRight`,data:{folderName:t,folderId:a}})}catch{}let f;if(!g?.createFolder)return void i.error({id:`FOLDER_CREATE_PROVIDER_NOT_CONFIGURED`,message:r(`Folder creation provider is not configured`),placement:`bottomRight`,data:{folderName:n,folderId:a??null,is_force_create:!!u.is_force_create}});f=await g.createFolder({name:n,parentId:a,is_force_create:!!u.is_force_create}),(e=>{if(!e||!e.id)throw Error(r(`Invalid server response: folder ID is missing`));if(e.id===e.parentId&&e.parentId)throw Error(r(`Error: folder cannot be its own parent`))})(f);let m={id:f.id,name:f.name,parentId:a??null,childCount:f.childCount},v=[...(Array.isArray(o)?o:[]).filter(e=>e.id!==m.id),m];if(p?.(v),i.success({id:`FOLDER_CREATE_SUCCESS`,message:r(`Folder created`),placement:`bottomRight`,data:{itemIds:[m.id],folderId:m.parentId??null,folderName:m.name}}),e||h==null||h(!1),(async()=>{try{await C(m,{preserveSelection:!!e}),await b(),await new Promise(e=>setTimeout(e,200)),await w(f.id)}catch{}})(),e)return f}catch(e){let o=HR(WR(e)?.code,r);i.error({id:`FOLDER_CREATE_FAILED`,message:o??r(`Failed to create folder`),placement:`bottomRight`,innerException:e,data:{folderName:n||t,folderId:a??null,reason:e instanceof Error?e.message:String(e)}})}},[l,s,g,C,b,w,h,i,r,o,p,_,c]),E=(0,a.useCallback)(()=>{h?.(!1)},[h]),D=(0,a.useCallback)((e,t=new Set)=>{let n=Array.isArray(o)?o:[];return e.map(e=>{if(t.has(e.id))return{key:e.id,label:e.name+` `+r(`(error)`),icon:a.createElement(d.FolderOutlined,{style:{color:`red`}})};let i=new Set(t);i.add(e.id);let o=n.filter(t=>t.parentId===e.id&&t.id!==e.id);return{key:e.id,label:e.name,children:o.length>0?D(o,i):void 0}})},[o]),O=(0,a.useCallback)(()=>{let e=Array.isArray(o)?o:[],t={key:`folders`,label:r(`Folders`),children:[]};return t.children=D(e.filter(e=>e.parentId===null||!e.parentId)),[t]},[o,r,D]),k=(0,a.useCallback)(async(e,a)=>{let s;try{let c=a.trim(),l=o?.find(t=>t.id===e);if(!c)return void i.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:r(`Folder name cannot be empty`),placement:`bottomRight`,data:{folderId:e,folderName:a,reason:`emptyName`}});if(s=sI(c,_),!1===_?.features?.enableRenameFolder)return void i.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:r(`Folder rename is disabled by config`),placement:`bottomRight`,data:{itemId:e,itemName:l?.name??s}});if(!n.dataProviders?.renameFolder)return void i.error({id:`FOLDER_RENAME_FAILED`,message:r(`Folder rename provider is not configured`),placement:`bottomRight`,data:{itemId:e,itemName:s,error:{message:`providerNotConfigured`}}});let u=await n.dataProviders.renameFolder(e,s);if(!u?.id)return void i.error({id:`FOLDER_RENAME_FAILED`,message:r(`Unexpected response when renaming folder`),placement:`bottomRight`,data:{itemId:e,itemName:s,error:{message:`invalidResponse`}}});await b(),e!==u.id&&t.setSelectedFolder&&t.setSelectedFolder(u.id),i.success({id:`FOLDER_RENAME_SUCCESS`,message:r(`Folder renamed`),placement:`bottomRight`,data:{itemId:u.id,itemName:u.name,folderId:u.parentId??null}})}catch(t){i.error({id:`FOLDER_RENAME_FAILED`,message:r(`Failed to rename folder`),placement:`bottomRight`,innerException:t,data:{itemId:e,itemName:s||a,error:{message:t instanceof Error?t.message:String(t)}}})}},[b,o,n.dataProviders?.renameFolder,_?.features?.enableRenameFolder,_,t.setSelectedFolder,i,r]);return{state:{folders:o,isCreatingFolder:f,loading:u},actions:{fetchFolders:b,fetchChildFolders:x,handleCreateFolder:S,handleModalOk:T,handleModalCancel:E,generateMenuItems:O,renameFolder:k}}},ez=()=>{let{options:e,actions:t}=yR(),{dataProviders:n,config:r}=e,{setUndoDeletion:i}=t,{t:o}=gL(),s=RR();return{deleteItems:(0,a.useCallback)(async({items:e,selectedFolder:t,getItemNameById:a,showNotifications:c=!1})=>{let l=0,u=0,d=[],f=async t=>{if(n?.deleteItems)try{let r=await n.deleteItems(e.map(e=>e.id),{permanent:t}),i=r.detailed;if(i){let e=i.filter(e=>e.success),t=i.filter(e=>!e.success),n=t.filter(e=>KR(e.innerException??e.error)),r=t.filter(e=>!KR(e.innerException??e.error));l+=e.length+n.length,u+=r.length,r.forEach(e=>{let t=(e=>e.requestId??e.id)(e),n=WR(e.innerException??e.error);d.push({itemId:t,itemName:a(t),error:n})});return}if(r.success)l+=e.length;else{let t=r.error;if(KR(t))l+=e.length;else if(t){u+=e.length;let n=WR(t);d.push({error:n})}else u+=e.length}return}catch(t){if(KR(t))l+=e.length;else{u+=e.length;let n=WR(t);d.push({error:n})}}},p=r?.enableTrashFolder&&t===`Trash`;return r?.enableTrashFolder&&!p?await f(!1):await f(!0),l>0&&r!=null&&r.enableTrashFolder&&!p&&i?.({itemIds:e.map(e=>e.id),sourceFolderId:t||`folders`}),c&&(l>0&&s.success({id:`FILES_DELETE_SUCCESS`,message:o(`Files deleted`),placement:`bottomRight`,data:{successCount:l,totalCount:e.length,itemIds:e.map(e=>e.id),folderId:t||null}}),u>0&&s.error({id:`FILES_DELETE_ERROR`,message:o(`Error when deleting a file`),placement:`bottomRight`,data:{failCount:u,totalCount:e.length,itemIds:e.map(e=>e.id),itemNames:e.map(e=>a(e.id)),folderId:t||null,errors:d}})),{successCount:l,failCount:u,errorDetails:d}},[n,r,i,o,s])}},Q=class e extends Error{constructor(t,n,r,i){super(t),this.code=n,this.status=r,this.details=i,this.name=`FileManagerApiError`,Error.captureStackTrace&&Error.captureStackTrace(this,e)}},tz=/^(localhost|127\.0\.0\.1|0\.0\.0\.0|::1)$/i,nz=/^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.)/;function rz(e,t){let n=e.trim();if(!n)throw new Q(t(`Enter the URL of the image`),`UploadUrlInvalid`);if(n.length>8192)throw new Q(t(`URL too long`),`UploadUrlInvalid`);let r;try{r=new URL(n)}catch{throw new Q(t(`The specified URL is not valid.`),`UploadUrlInvalid`)}let i=r.protocol.toLowerCase();if(i!==`http:`&&i!==`https:`)throw new Q(t(`Only http and https URLs are supported`),`UploadUrlInvalid`);let a=r.hostname.toLowerCase();if(tz.test(a)&&(typeof window>`u`||!tz.test(window.location.hostname.toLowerCase()))||nz.test(a))throw new Q(t(`Private and local URLs are not allowed`),`UploadUrlInvalid`)}function iz(e,t){if(e?.extension){let t=e.extension.toLowerCase(),n={jpg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},jpeg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},png:{extension:`png`,mimeType:`image/png`,format:`png`,pixieFormat:`png`},gif:{extension:`gif`,mimeType:`image/gif`,format:`gif`,pixieFormat:`png`},webp:{extension:`webp`,mimeType:`image/webp`,format:`webp`,pixieFormat:`png`},svg:{extension:`svg`,mimeType:`image/svg+xml`,format:`svg`,pixieFormat:`svg`}};if(n[t])return n[t]}if(e?.type){let t=BF(e.type),n={"image/jpeg":{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},"image/png":{extension:`png`,mimeType:`image/png`,format:`png`,pixieFormat:`png`},"image/gif":{extension:`gif`,mimeType:`image/gif`,format:`gif`,pixieFormat:`png`},"image/webp":{extension:`webp`,mimeType:`image/webp`,format:`webp`,pixieFormat:`png`},"image/svg+xml":{extension:`svg`,mimeType:`image/svg+xml`,format:`svg`,pixieFormat:`svg`}};if(n[t])return n[t]}if(e?.name){let t=e.name.split(`.`).pop()?.toLowerCase();if(t){let e={jpg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},jpeg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},png:{extension:`png`,mimeType:`image/png`,format:`png`,pixieFormat:`png`},gif:{extension:`gif`,mimeType:`image/gif`,format:`gif`,pixieFormat:`png`},webp:{extension:`webp`,mimeType:`image/webp`,format:`webp`,pixieFormat:`png`},svg:{extension:`svg`,mimeType:`image/svg+xml`,format:`svg`,pixieFormat:`svg`}};if(e[t])return e[t]}}if(t){let e=BF(t),n=UF(e),r=`jpeg`;return n===`png`?r=`png`:n===`svg`?r=`svg`:n===`jpeg`&&(r=`jpeg`),{extension:n,mimeType:e,format:n,pixieFormat:r}}return{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`}}var az={MAX_SIZE_MB:.48,MAX_WIDTH_OR_HEIGHT:2e3,QUALITY:.8},oz=[`gif`,`svg`];function sz(e,t){let{colorHex:n,colorHex2:r,colorHex3:i}=t,a=[`--icon-grad-1: ${n}`,`--icon-grad-2: ${r}`,`--icon-stroke-1: ${n}`,`--icon-stroke-2: ${r}`,`--icon-stroke-3: ${i}`,`--icon-fill-1: ${n}`,`--icon-fill-2: ${r}`,`--icon-fill-3: ${i}`,`color: ${n}`].join(`;`),o=e.replace(/<svg([^>]*)>/i,(e,t)=>{let n=t;return/style="/i.test(n)?n=n.replace(/style="([^"]*)"/i,(e,t)=>`style="${t};${a}"`):n+=` style="${a}"`,`<svg${n}>`});return o=o.replace(/var\(--icon-color-1\)/g,n).replace(/var\(--icon-color-2\)/g,r).replace(/var\(--icon-color-3\)/g,i).replace(/var\(--icon-fill-1\)/g,n).replace(/var\(--icon-fill-2\)/g,r).replace(/var\(--icon-fill-3\)/g,i).replace(/var\(--icon-stroke-1\)/g,n).replace(/var\(--icon-stroke-2\)/g,r).replace(/var\(--icon-stroke-3\)/g,i).replace(/var\(--icon-grad-1\)/g,n).replace(/var\(--icon-grad-2\)/g,r).replace(/currentColor/g,n),o}function cz(e,t){let n=e.match(/\swidth="([0-9.]+)(px)?"/i),r=e.match(/\sheight="([0-9.]+)(px)?"/i);if(n&&r){let e=parseFloat(n[1]),i=parseFloat(r[1]);if(Number.isFinite(e)&&Number.isFinite(i)&&e>0&&i>0){let n=e/i;return n>=1?{width:t,height:Math.max(1,Math.round(t/n))}:{width:Math.max(1,Math.round(t*n)),height:t}}}let i=e.match(/viewBox="([^"]+)"/i);if(i){let e=i[1].trim().split(/\s+/);if(e.length===4){let n=parseFloat(e[2]),r=parseFloat(e[3]);if(Number.isFinite(n)&&Number.isFinite(r)&&n>0&&r>0){let e=n/r;return e>=1?{width:t,height:Math.max(1,Math.round(t/e))}:{width:Math.max(1,Math.round(t*e)),height:t}}}}return{width:t,height:t}}function lz(e){if(!e)return null;let t=e.trim();if(t.endsWith(`%`))return null;let n=parseFloat(t.replace(/px$/i,``));return Number.isFinite(n)&&n>0?n:null}function uz(e,t=2,n=4096){let{width:r,height:i}=function(e){let t=e.match(/<\s*svg\b[\s\S]*?>/i)?.[0]??``,n=t.match(/\bwidth\s*=\s*["']([^"']*)["']/i)?.[1],r=t.match(/\bheight\s*=\s*["']([^"']*)["']/i)?.[1],i=lz(n),a=lz(r);if(i!=null&&a!=null)return{width:i,height:a};let o=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1];if(o){let e=o.trim().split(/[\s,]+/);if(e.length===4){let t=parseFloat(e[2]),n=parseFloat(e[3]);if(Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0)return{width:t,height:n}}}return i==null?a==null?{width:300,height:300}:{width:a,height:a}:{width:i,height:i}}(e),a=Math.max(1,Math.round(r*t)),o=Math.max(1,Math.round(i*t)),s=Math.max(64,n),c=Math.max(a,o);if(c>s){let e=s/c;a=Math.max(1,Math.round(a*e)),o=Math.max(1,Math.round(o*e))}return{width:a,height:o}}async function dz(e,t,n,r,i){let a=i?.canvasScale??2,o=new Blob([e],{type:`image/svg+xml;charset=utf-8`}),s=URL.createObjectURL(o);try{let e=new Image;await new Promise((t,n)=>{e.onload=()=>t(),e.onerror=()=>n(Error(`Failed to load SVG image`)),e.src=s});let r=document.createElement(`canvas`),i=Math.max(1,Math.round(t*a)),o=Math.max(1,Math.round(n*a));r.width=i,r.height=o;let c=r.getContext(`2d`);if(!c)throw Error(`Canvas 2D context is not available`);return c.clearRect(0,0,i,o),c.drawImage(e,0,0,i,o),function(e){return new Promise((t,n)=>{e.toBlob(e=>{e?t(e):n(Error(`canvas.toBlob returned null`))},`image/png`)})}(r)}finally{URL.revokeObjectURL(s)}}async function fz(e,t,n,r,i){return a=await dz(e,t,n,0,i),new Promise((e,t)=>{let n=new FileReader;n.onload=()=>e(n.result),n.onerror=()=>t(n.error??Error(`readAsDataURL failed`)),n.readAsDataURL(a)});var a}function pz(e,t,n,r){return new File([e],t,{type:n,lastModified:r})}function mz(e,t){return t&&t!==e.name?pz(e,t,e.type,e.lastModified):e}async function hz(e,t={}){let{maxSizeMB:n=az.MAX_SIZE_MB,maxWidthOrHeight:r=az.MAX_WIDTH_OR_HEIGHT,mimeType:i,fileName:a,libURL:o,enableCompression:s=!0,convertSvgToPng:c=!1}=t;if(!(e&&e instanceof File))return e;let l=e,u=!1;if(c){let t=(l.type||``).toLowerCase(),n=/\.svg$/i.test(l.name.trim()),i=t.includes(`svg`),o=!1;if(!i&&!n)try{o=function(e){let t=e.trimStart().replace(/^\uFEFF/,``);return!!t.startsWith(`<`)&&/<\s*svg[\s>/]/i.test(t)}(await async function(e,t=24e3){let n=Math.min(t,Math.max(0,e.size));return e.slice(0,n).text()}(l))}catch{o=!1}if(i||n||o)try{l=await async function(e,t={}){let n=t.pixelScale??2,r=t.maxLongEdge??4096,i=await e.text(),{width:a,height:o}=uz(i,n,r),s=await dz(i,a,o,0,{canvasScale:1}),c=t.outputFileName??e.name,l=/\.svg$/i.test(c)?c.replace(/\.svg$/i,`.png`):`${c}.png`;return new File([s],l,{type:`image/png`,lastModified:e.lastModified})}(l,{maxLongEdge:r,outputFileName:a??l.name}),u=!0}catch{l=e}}if(u)return l;let d=BF((l.type&&l.type.trim()!==``?l.type:WF(l.name))||i||`image/jpeg`);if(!d.startsWith(`image/`))return mz(l,a);let f=(p=d)===`image/webp`?`image/jpeg`:p;var p;let m=UF(d),h=UF(f),g=f===d?a??l.name:function(e,t){let n=t.startsWith(`.`)?t.slice(1):t,r=e.lastIndexOf(`.`);return r>0?`${e.substring(0,r)}.${n}`:`${e}.${n}`}(a??l.name,h),_=s&&(v=m,!oz.includes(v));var v;if(!_&&f===d)return mz(l,g);try{let t={libURL:o,useWebWorker:!0,fileType:f};_?(t.maxSizeMB=n,t.maxWidthOrHeight=r):(t.maxSizeMB=Math.max(e.size/1048576+1,1),t.initialQuality=1,t.alwaysKeepResolution=!0);let i=await Ce(l,t);return function(e,t,n,r){let i=r??t.name;return e instanceof File?e.type!==n||e.lastModified!==t.lastModified||e.name!==i?pz(e,i,n,t.lastModified):e:pz(e,i,n,t.lastModified)}(i,l,BF(i.type||f),g)}catch{try{return mz(l,g)}catch{return l}}}async function gz(e){let{folderId:t,dataProviders:n,folders:r,pathHistory:i,t:a}=e,o=t==null?``:String(t);if(!o||o===`folders`)return a(`Folders`);if(o===`Trash`)return a(`Trash`);let s=i||[],c=s[s.length-1];if(c?.id===o&&c.name)return c.name;let l=[...s].reverse().find(e=>e.id===o);if(l?.name)return l.name;let u=n?.getItem;if(u)try{let e=await Promise.resolve(u(o));if(e?.name)return e.name}catch{}let d=r?.find(e=>e.id===o);return d?.name?d.name:o}var _z=/^(utm_[a-z0-9_]+|fbclid|gclid|igshid|mc_cid|mc_eid)$/i;function vz(e){let t=new URL(e.trim());t.hash=``,t.hostname=t.hostname.toLowerCase(),(t.protocol===`https:`&&t.port===`443`||t.protocol===`http:`&&t.port===`80`)&&(t.port=``);let n=Array.from(t.searchParams.entries()).filter(([e])=>!_z.test(e)).sort(([e,t],[n,r])=>{let i=e.localeCompare(n);return i===0?t.localeCompare(r):i});return t.search=``,n.forEach(([e,n])=>t.searchParams.append(e,n)),t.toString()}function yz(e){if(function(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`DirectResourceFetchError`?!(`final`in e)||!1!==e.final:`final`in e&&!0===e.final)}(e)||e instanceof Q)throw e}async function bz(e,t,n,r,i){let{fetchWithProxy:a,handleFileProxy:o,handleProxyUrl:s}=t,c=Object.assign({mode:`cors`},i?.fetchInit),l;if(o)try{let t=await Promise.resolve(o(e));if(t)return r(t)}catch(e){yz(e),l=e}if(s)try{let t=await Promise.resolve(s(e));if(t&&t!==e)return r(await n(t))}catch(e){yz(e),l=e}if(a)try{let t=await Promise.resolve(a(e,c,{intent:`downloadBlob`}));if(!t.ok)throw Error(`HTTP ${t.status}`);return r(await t.blob())}catch(e){yz(e),l=e}if(!a)try{return r(await n(e))}catch(e){yz(e),l=e}throw l instanceof Error?l:Error(`Failed to download file from the URL`)}function xz(e){return!!e?.startsWith(`image/`)&&e!==`image/gif`}function Sz(e,t){if(t===e.name)return e;try{return new File([e],t,{type:e.type,lastModified:e.lastModified})}catch{return e}}function Cz(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error??Error(`Failed to read proxied file`)),r.readAsDataURL(e)})}function wz(e){try{let t=new URL(e).pathname.split(`/`).pop();return t?decodeURIComponent(t):void 0}catch{return}}function Tz(e){return e==null||e===``||e===`folders`?null:e}async function Ez(e){let t=await fetch(e,{mode:`cors`});if(!t.ok)throw new Q(`HTTP ${t.status}`,`UploadUrlDownloadFailed`,t.status);return t.blob()}function Dz(e,t){if(!(e instanceof Blob)||e.size===0)throw new Q(t(`Failed to download file from the URL.`),`UploadUrlDownloadFailed`);let n=(e.type?.split(`;`)[0])?.trim()||`image/png`;if(!n.startsWith(`image/`))throw new Q(t(`Content type at the URL is not allowed.`),`UploadUrlContentTypeNotAllowed`);return{blob:e,mimeType:n}}var Oz=()=>{let{state:e,actions:t,options:n}=yR(),{sortBy:r,sortOrder:i}=PR().state,{actions:{fetchFolders:o}}=$R(),{t:s}=gL(),c=RR(),{deleteItems:l}=ez(),{selectedFolder:u,urlForm:d,pagination:f,files:p,pathHistory:m,folders:h}=e,g=a.default.useRef(null),_=a.default.useRef([]);g.current=f,_.current=Array.isArray(p)?p:[];let v=a.default.useRef(null),{setFiles:y,setLoading:b,setIsUrlModalVisible:x,setActiveLibraryItem:S,setPagination:C,setSelectedFolder:w,setPathHistory:T}=t,{dataProviders:E}=n,D=(0,a.useCallback)(async e=>{if(!E?.getFiles)return[];let t=n?.config?.disablePagination,r=t?void 0:e?.page??1,i=t?void 0:e?.limit??20,{files:a,pagination:o}=await E.getFiles({folderId:e?.folderId===`folders`?void 0:e?.folderId,noFolder:e?.noFolder,search:(e?.search)?.trim()||void 0,sortBy:e?.sortBy,sortOrder:e?.sortOrder,page:r,limit:i,itemType:e?.itemType||`all`});return C&&(n?.config?.disablePagination?C({current:1,pageSize:a.length||1,total:a.length||0}):o&&C({current:o.page,pageSize:o.limit,total:o.total})),a},[E,n?.config?.disablePagination,C]),O=(0,a.useCallback)(async(e,t,r)=>VL(E,e,t,r,cI(n?.config)),[E,n?.config?.dedupeUploadNamesOnClient]),k=(0,a.useCallback)(async(e,t=!1)=>{var r,i;try{b?.(!0);let t=[];if(!E?.getFiles)return;t=await D(e);let n=e??{folderId:u||``,itemType:`all`};n.itemType!==`file`&&(t=await NR(t,n,E?.getFolders)),(u||``)!==`Trash`&&(t=t.filter(e=>!(e.isFolder&&e.id===`Trash`))),y?.(t),Tz(n.folderId)===Tz(u)&&(v.current={selectedFolder:u??null,pathHistory:(Array.isArray(m)?m:[]).map(e=>Object.assign({},e))})}catch(a){if(a?.name===`StaleLoad`)return;let l=WR(a),d=l?.status===404||l?.code===`FileNotFound`||l?.code===`path_folder_not_found`;if(!t&&d){let t=ZR(a,m||[]);try{await QR({options:n,pathFolder:t,dataProviders:n?.dataProviders}),await k(e,!0);return}catch{}}if(d&&w&&T){let t=Array.isArray(m)?m:[];if(t.length>1){let n=t.slice(0,-1),r=n[n.length-1]?.id??`folders`;T(n),w(r),await o(),c.success({id:`FOLDER_NOT_FOUND_NAVIGATE`,message:s(`Folder not found`),description:s(`Navigated to parent folder`),placement:`bottomRight`}),await k(Object.assign(Object.assign({},e),{folderId:r}),!1);return}T([{id:`folders`,name:s(`Folders`)}]),w(`folders`),await o(),c.success({id:`FOLDER_NOT_FOUND_NAVIGATE`,message:s(`Folder not found`),description:s(`Navigated to root folder`),placement:`bottomRight`}),await k(Object.assign(Object.assign({},e),{folderId:`folders`}),!1);return}let f=v.current;if(f&&w&&T){let e=Array.isArray(m)?m:[],t=(f.selectedFolder??null)===(u??null),a=(r=f.pathHistory,i=e,r.length===i.length&&r.every((e,t)=>e.id===i[t]?.id));t&&a||(w(f.selectedFolder),T(f.pathHistory.map(e=>Object.assign({},e))),n.onPathChange&&n.onPathChange(f.pathHistory.map(e=>e.name)))}let p=HR(l?.code,s),g=e??{folderId:u||``,itemType:`all`},_=g.folderId!==void 0&&g.folderId!==``?g.folderId:u||``,y=Array.isArray(m)?m.map(e=>Object.assign({},e)):[],b=g.folderName?.trim(),x=b&&b.length>0?b:await gz({folderId:_,dataProviders:E,folders:Array.isArray(h)?h:[],pathHistory:y,t:s}),S=s(`Failed to load files`),C=s(`Failed to load files in folder`,{folderName:x}),D=p&&p!==S?p:void 0;c.error({id:`FILES_FETCH_FAILED`,message:C,description:D,placement:`bottomRight`,innerException:a,notificationDedupe:!0,data:{params:Object.assign(Object.assign({},g),{folderName:x}),folderName:x}})}finally{b?.(!1)}},[E,y,b,w,T,D,o,u,h,c,s,m,n]),A=(0,a.useCallback)(e=>k(e),[k]),j=(0,a.useCallback)(async(e,t)=>{if(!E?.findFileByUrl)return null;let n=vz(e);try{return await E.findFileByUrl(n)??null}catch{return null}},[E]),M=(0,a.useCallback)(async(e,t)=>{rz(e,s);let r=vz(e),i=await j(r,t);if(i)return{kind:`existing`,file:i,normalizedUrl:r};let a,o;try{let e=await bz(r,{fetchWithProxy:n?.config?.fetchWithProxy,handleFileProxy:n?.config?.handleFileProxy,handleProxyUrl:n?.config?.handleProxyUrl},Ez,e=>Dz(e,s));a=e.blob,o=e.mimeType}catch(e){throw e instanceof Q||e instanceof Error?e:new Q(s(`Failed to download file from the URL.`),`UploadUrlDownloadFailed`)}let c=UF(o),l=wz(r)||`uploaded-file`,u=l.replace(/\.[^.]+$/,``)||`uploaded-file`;return{kind:`blob`,blob:a,normalizedUrl:r,mimeType:o,extension:c,fileName:oI(l.includes(`.`)?l:`${u}.${c}`,n?.config)}},[j,n?.config,s]),N=(0,a.useCallback)(async(e,t)=>{rz(e,s);let r=vz(e);try{let e=await M(r,t);return e.kind===`existing`?e.file:{thumbnail:await Cz(e.blob),name:e.fileName,type:e.mimeType,extension:e.extension,size:e.blob.size,sourceUrl:e.normalizedUrl,saveWithoutFolder:!0}}catch(e){let o=e;if(E?.uploadFileByUrl)try{let e=u??``,t=await O(oI(wz(r)||`uploaded-file`,n?.config),e,!1),i=await E.uploadFileByUrl({url:r,folderId:e,name:t,eventSource:`pixie`}),a=Dz((i?.id&&E.getFileData?await E.getFileData(i.id):void 0)??(i?.url?await Ez(i.url):i?.thumbnailUrl?await Ez(i.thumbnailUrl):i?.sourceUrl?await Ez(i.sourceUrl):void 0),s),o=await Cz(a.blob);return Object.assign(Object.assign({},i),{thumbnail:o,type:i.type||a.mimeType,extension:i.extension||UF(a.mimeType),size:i.size??a.blob.size,sourceUrl:i.sourceUrl||r})}catch(e){o=e}let l=WR(o),d=(i=l?.code,a=`UploadUrlDownloadFailed`,typeof i==`string`?i:a),f=o instanceof Q?o:new Q(HR(d,s)??l?.message??s(`Failed to download file from the URL.`),d,l?.status);throw f.notificationShown=!0,await c.error({id:`EDITOR_PROXY_FILE_FAILED`,message:f.message,placement:`bottomRight`,data:{url:r,folderId:u||null,error:l,eventSource:`pixie`},innerException:o},t),f}var i,a},[E,c,n?.config,M,O,u,s]),P=(0,a.useCallback)(async e=>{let t=g.current;try{await l({items:[{id:e,isFolder:_.current.find(t=>t.id===e)?.isFolder}],selectedFolder:u,getItemNameById:e=>e?p.find(t=>t.id===e)?.name:void 0,showNotifications:!0});let n=Object.assign({},t),a=t.current;p.length===1&&(a=n.current>1?n.current-1:1),await A({folderId:u||``,page:a,limit:t.pageSize,sortBy:r,sortOrder:i})}catch(t){let n=t;n!=null&&n.notificationShown||c.error({id:`FILES_DELETE_ERROR`,message:s(`Error when deleting a file`),placement:`bottomRight`,innerException:t,data:{failCount:1,totalCount:1,itemIds:[e],folderId:u||null,errors:[{itemId:e,error:WR(t)}]}})}},[l,A,u,s,c,p,r,i]),F=(0,a.useCallback)(async e=>{try{let t=g.current;if(!E?.deleteFolder)return void c.error({id:`FOLDER_DELETE_ERROR`,message:s(`DataProvider for folder deletion is not configured`),placement:`bottomRight`,data:{totalCount:1,failCount:1,itemIds:[e],folderId:e}});if(!await E.deleteFolder(e)){let e=Error(`Не удалось удалить папку`);throw e.notificationShown=!1,e}c.success({id:`FOLDER_DELETE_SUCCESS`,message:s(`Folder deleted`),placement:`bottomRight`,data:{successCount:1,totalCount:1,itemIds:[e],folderId:e}}),u===e?await A({page:t.current,limit:t.pageSize,sortBy:r,sortOrder:i}):await A({folderId:u||``,sortBy:r,sortOrder:i,page:t.current,limit:t.pageSize})}catch(t){let n=t;n!=null&&n.notificationShown||c.error({id:`FOLDER_DELETE_ERROR`,message:s(`Error when deleting a folder`),innerException:t,placement:`bottomRight`,data:{totalCount:1,failCount:1,itemIds:[e],folderId:e,errors:[{itemId:e,error:WR(t)}]}})}},[E,u,c,s,A,r,i]),I=(0,a.useCallback)(async(e,t)=>{try{if(E?.getFileData){let t=await E.getFileData(e);if(t)return t;throw Error(s(`Failed to download file`))}{let t=await fetch(`/api/files/${e}/content`);if(!t.ok)throw Error(s(`Error loading image`));return await t.blob()}}catch(n){let r=_.current.find(t=>t.id===e);t||c.error({id:`FILE_DOWNLOAD_FAILED`,message:s(`Failed to download file`),placement:`bottomRight`,description:r?.name||e,innerException:n,notificationDedupe:!1,data:{itemId:e,itemName:r?.name||e,folderId:r?.folderId??null,thumbnail:r?.thumbnail??null}},t)}},[E,c,s]),L=(0,a.useCallback)(async(t,r,i,a)=>{if((a?``:r??(u||``))===`Trash`)throw Error(s(`Upload to Trash is forbidden`));let o=oI(t.name,n?.config),l=o.split(`.`).pop()||``,d=a?``:r??(u||``),f=t;try{if(GF(t)){let e=n?.config?.compressMaxSize??az.MAX_SIZE_MB,r=n?.config?.compressMaxWidthOrHeight??2e3,i=n?.config?.compessorUrl??n?.config?.compressorUrl,a=t.type?.trim()||WF(t.name)||t.type;f=await hz(t,{maxSizeMB:e,maxWidthOrHeight:r,mimeType:a,fileName:o,libURL:i,enableCompression:xz(a),convertSvgToPng:!0})}else f=Sz(t,o)}catch{f=Sz(t,o)}let p=f.name,m=cI(n?.config);m&&(p=await O(p,d,a)),m&&(f=Sz(f,p));try{if(E?.uploadFiles)try{let n=await E.uploadFiles({items:[{name:p,size:f.size,type:f.type||t.type,folderId:d,data:f,extension:l,noFolder:a}],folderId:d});if(n.success&&n.detailed&&n.detailed.length>0){let r=n.detailed[0];if(!r.success||!r.data){if(!i){let e=r?.error?String(r.error):s(`Failed to upload file`);c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:e,placement:`bottomRight`,description:o,innerException:r?.error,data:{itemName:o,folderId:d||null,eventSource:`upload`}})}S&&S(vF);return}{let n=r.data;if(n.id){let r=(n.folderId??d)||void 0;await A({folderId:r??u??``,noFolder:a});let i=e.files.find(e=>e.id===n.id);if(!i)try{i=(await D({folderId:r,noFolder:a,itemType:`all`})).find(e=>e.id===n.id)}catch{}return S&&S(vF),i||Object.assign(Object.assign({},n),{id:n.id,name:n.name||o,folderId:n.folderId??d??null,type:f.type||t.type,size:f.size,extension:l||o.split(`.`).pop()||``,thumbnail:n.thumbnail??void 0,url:n.url??void 0,thumbnailUrl:n.thumbnailUrl??void 0,isFolder:!1,selected:!1})}}}else if(!n.success){if(!i){let e=n.error?String(n.error):s(`Failed to upload file`);c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:e,placement:`bottomRight`,description:o,innerException:n.error,data:{itemName:o,folderId:d||null,eventSource:`upload`}})}S&&S(vF);return}S&&S(vF);return}catch(e){throw e}if(E?.uploadFile){let e=await E.uploadFile({name:p,size:f.size,type:f.type||t.type,folderId:d,noFolder:a,data:f,extension:l});return S&&S(vF),e}i||c.error({id:`FILES_UPLOAD_PROVIDER_NOT_CONFIGURED`,message:s(`DataProvider for file upload is not configured`),placement:`bottomRight`});return}catch(e){let t=HR(WR(e)?.code,s);i||c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:t??s(`Failed to upload file`),placement:`bottomRight`,description:o,innerException:e,data:{itemName:o,folderId:d||null,error:WR(e),eventSource:`upload`}});return}},[E,u,S,e.files,A,D,c,s,n?.config]),ee=(0,a.useCallback)(async(e,t)=>{if(!E?.getFolders||!E?.createFolder)return e||``;try{let n=await E.getFolders(),r=Array.isArray(n)?n:[],i=(e,t)=>r.find(n=>(n.parentId??null)===(e??null)&&n.name===t),a=e??``;for(let e of t){if(!e)continue;let t=i(a,e);if(!t){let n=await E.createFolder({name:e,parentId:a??null});r.push(n),t=n}a=t.id}return a??(e||``)}catch{return e||``}},[E]),R=(0,a.useCallback)(async(e,t)=>{var n;if(!((n=e.type)?.startsWith)?.call(n,`image/`))return t??null;let r=e?.webkitRelativePath,i=t||``;if(r&&r.includes(`/`)){let e=r.split(`/`);e.pop();let n=e.filter(Boolean);n.length&&(i=await ee(t||``,n)||t||``)}return i??t??null},[ee]);(0,a.useCallback)(async e=>{var t,n,r,i,a;let{file:o,selectedFolderId:s,uploadFn:c,progressCallbacks:l}=e;if(!((t=o.type)?.startsWith)?.call(t,`image/`))return{success:!0,fileName:o.name,folderId:s??null};let u=await R(o,s)??s??null??s??null,d;(n=l?.onStart)==null||n.call(l,o);try{if(l?.onProgress){let e=0;d=window.setInterval(()=>{var t;e=Math.min(e+10+Math.floor(Date.now()%10),90),(t=l?.onProgress)==null||t.call(l,o.name,e)},200)}let e=await c(o,u??void 0);return l!=null&&l.onProgress&&((r=l?.onProgress)==null||r.call(l,o.name,100)),(i=l?.onComplete)==null||i.call(l,o.name),{success:!0,fileName:o.name,fileId:e?.id,folderId:e?.folderId??u??null}}catch(e){let t=e instanceof Error?e.message:String(e);return(a=l?.onError)==null||a.call(l,o.name,t),{success:!1,fileName:o.name,folderId:u??s??null,error:t}}finally{d!==void 0&&clearInterval(d)}},[R]);let te=(0,a.useCallback)(async(e,t)=>{var r,i,a;if(e.length===0)return{successCount:0,failCount:0,successes:[],errors:[],totalCount:0};(r=t?.onStartBatch)==null||r.call(t,e);let o=e=>{let t=e.filter(Boolean);return t.length>0&&t.length<=5?t.join(`, `):null},l=[];for(let r=0;r<e.length;r++){let o=e[r];if(!GF(o)){let e=await c.warning({id:`FILES_UPLOAD_UNSUPPORTED_TYPE`,message:s(`Unsupported file type`),placement:`bottomRight`,data:{itemName:o.name,fileType:o.type,folderId:u||null}});(i=t?.onError)==null||i.call(t,o.name,e.message);continue}let d=oI(o.name,n?.config),f=o;try{if(GF(o)){let e=n?.config?.compressMaxSize??az.MAX_SIZE_MB,t=n?.config?.compressMaxWidthOrHeight??2e3,r=n?.config?.compessorUrl??n?.config?.compressorUrl,i=o.type?.trim()||WF(o.name)||o.type;f=await hz(o,{maxSizeMB:e,maxWidthOrHeight:t,mimeType:i,fileName:d,libURL:r,enableCompression:xz(i),convertSvgToPng:!0})}else f=Sz(o,d)}catch{f=Sz(o,d)}let p=`${Date.now()}-${r}-${Math.random().toString(36).slice(2,8)}`,m=await R(f,u);(a=t?.onStart)==null||a.call(t,f),l.push({file:f,targetFolderId:m,requestId:p,originalFileName:o.name,originalIndex:r})}let d=l.length;if(d===0)return{successCount:0,failCount:0,successes:[],errors:[],totalCount:0};let f=cI(n?.config),p=new Map;if(f&&E?.getFiles){let e=[...new Set(l.map(e=>e.targetFolderId??u??``).filter(e=>e!=null))];for(let t of e)try{let{files:e}=await E.getFiles({folderId:t===``?``:t??void 0,itemType:`all`,page:1,limit:1e4}),n=(e||[]).map(e=>e.name).filter(e=>!!e);if(E?.getFolders){let e=(await E.getFolders({parentId:t||null,deep:!1})||[]).map(e=>e.name).filter(e=>!!e);n=[...n,...e]}p.set(t,n)}catch{}}let m=new Map,h=l.map(e=>{let t=f?((e,t)=>{let n=e??``,r=p.get(n)||[],i=m.get(n);i||(i=new Set(r.map(e=>e.toLowerCase())),m.set(n,i));let a=BL(t,Array.from(i));return i.add(a.toLowerCase()),a})(e.targetFolderId,e.file.name):e.file.name,n=f?Sz(e.file,t):e.file;return Object.assign(Object.assign({},e),{resolvedUploadName:t,uploadFile:n})}),g=!t,_=d===1&&g,v=[],y=[],b=[],x=[],C=new Map,w=0,T=0,D=n?.config?.maxFileSize??52428800,O=async(e,n,r,i)=>{var a,o;let{emitProgress:l=!0,emitNotification:d=!0}=i??{};w++,v.push(e),y.push(r??e),await((e,t,n,r)=>c.success({id:`FILE_UPLOAD_ITEM_SUCCESS`,message:`${s(`File`)} ${e} ${s(`has been successfully uploaded`)}`,placement:`bottomRight`,data:{itemId:n,itemName:e,folderId:t??u??null,eventSource:`upload`}},r||!g))(e,n,r,!d),l&&((a=t?.onProgress)==null||a.call(t,e,100),(o=t?.onComplete)==null||o.call(t,e))},k=async(e,n,r,i)=>{var a;let{emitProgress:o=!0,emitNotification:l=!0,fileSize:d,progressCallbackName:f,progressCallbackIndex:p}=i??{};T++;let m=await((e,t,n,r,i)=>{let a=WR(n),o=i?.fileSize??a?.fileSize,l=i?.maxSize??a?.maxSize??D,d={allowedChars:`a-z A-Z 0-9 . _ -`,fileSize:o==null?void 0:LL(Number(o)),maxSize:l==null?void 0:LL(Number(l))},f=a?.code,p=f===`BatchItemLimitExceeded`||f===`exceeded_max_files`?f:UR(a?.message)??f,m=p===`BatchItemLimitExceeded`||p===`exceeded_max_files`?GR(n,s):HR(p,s,d),h=a?.message&&typeof a.message==`string`&&a.message.length>0?a.message:null,_=n instanceof Error?n.message:typeof n==`string`?n:null,v=_&&_!==`[object Object]`?_:null;return c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:h??m??v??s(`Error uploading file {{fileName}}`,{fileName:e}),placement:`bottomRight`,data:{itemName:e,folderId:t??u??null,error:WR(n),eventSource:`upload`},innerException:n},r||!g)})(e,n,r,!l,d==null?void 0:{fileSize:d,maxSize:D});o&&((a=t?.onError)==null||a.call(t,f??e,m.message,p)),x.push({itemId:void 0,itemName:e,error:WR(r)}),b.push({fileName:e,error:m.message})},A;if(!E?.uploadFiles)return c.error({id:`FILES_UPLOAD_PROVIDER_NOT_CONFIGURED`,message:s(`DataProvider for file upload is not configured`),placement:`bottomRight`}),{successCount:0,failCount:d,successes:[],errors:[],totalCount:d};{let e=[];try{t!=null&&t.onProgress&&l.forEach(n=>{let r=0,i=window.setInterval(()=>{var e;r=Math.min(r+10+Math.floor(Date.now()%10),90),(e=t?.onProgress)==null||e.call(t,n.file.name,r)},200);e.push(i)}),A=await E.uploadFiles({items:h.map(e=>({requestId:e.requestId,name:e.resolvedUploadName,size:e.uploadFile.size,type:e.uploadFile.type,folderId:e.targetFolderId??u??null,data:e.uploadFile,extension:e.uploadFile.name.split(`.`).pop()||``})),folderId:u??null}),e.forEach(e=>window.clearInterval(e)),e.length=0;let n=A.detailed??[],r=new Map(n.filter(e=>e.requestId).map(e=>[e.requestId,e]));if(n.length>0)for(let e=0;e<h.length;e++){let t=h[e],i=(t.requestId?r.get(t.requestId):void 0)??n[e];if(i&&i.success){let e=i.data,n=e?.name??t.resolvedUploadName,r=e?.folderId??t.targetFolderId??u??null,a=e?.id;C.set(n,{id:a,name:n,folderId:r,size:e?.size,originalFileName:t.originalFileName,originalIndex:t.originalIndex}),await O(n,r,a,{emitNotification:_})}else{let e=i?.data;await k(e?.name??t.resolvedUploadName,e?.folderId??t.targetFolderId??u??null,i?.error??Error(s(`Error uploading file`)),{emitNotification:_,fileSize:t.file.size,progressCallbackName:t.originalFileName,progressCallbackIndex:t.originalIndex})}}else if(A.success)for(let e of h){let t=e.resolvedUploadName;await O(t,e.targetFolderId??u??null,void 0,{emitNotification:_})}else{let e=A.error??Error(s(`Error uploading file`));for(let t of h){let n=t.resolvedUploadName;await k(n,t.targetFolderId??u??null,e,{emitNotification:_,fileSize:t.file.size,progressCallbackName:t.originalFileName,progressCallbackIndex:t.originalIndex})}}}catch(e){for(let t of h){let n=t.resolvedUploadName;await k(n,t.targetFolderId??u??null,e??Error(s(`Error uploading file`)),{emitNotification:_,fileSize:t.file.size,progressCallbackName:t.originalFileName,progressCallbackIndex:t.originalIndex})}}finally{e.forEach(e=>window.clearInterval(e))}}if(w>0&&(S&&S(vF),d>1&&g)){let e=o(v),t=e?s(`Uploaded`,{names:e}):s(`uploads_success_summary`,{successCount:w,totalCount:d});c.success({id:`FILES_UPLOAD_BATCH_SUCCESS`,message:t,placement:`bottomRight`,data:{successCount:w,totalCount:d,itemIds:y,itemNames:v,folderId:u??null,eventSource:`upload`}})}if(T>0&&g&&!_){if(d>1){let e=b.map(e=>e.fileName),t=o(e),n=t?s(`Failed`,{names:t}):s(`uploads_fail_summary`,{failCount:T,totalCount:d});c.error({id:`FILES_UPLOAD_BATCH_FAILED`,message:n,placement:`bottomRight`,data:{failCount:T,totalCount:d,itemNames:e,folderId:u??null,errors:x,eventSource:`upload`}})}else if(d===1&&x.length>0&&x[0].error?.code){let e=HR(x[0].error?.code,s),t=b[0]?.fileName??``,n=e??(t?`${s(`Failed to upload files`)}: ${t}`:s(`Failed to upload files`));c.error({id:`FILES_UPLOAD_BATCH_FAILED`,message:n,placement:`bottomRight`,data:{failCount:T,totalCount:d,itemNames:[t],folderId:u??null,errors:x,eventSource:`upload`}})}}return{successCount:w,failCount:T,successes:v,errors:b,totalCount:d,uploadedFiles:C.size>0?C:void 0}},[E,n?.config?.dedupeUploadNamesOnClient,c,R,u,S,s,n?.config]);return{fetchFiles:A,handleDeleteFile:P,handleDeleteFolder:F,handleAddFile:(0,a.useCallback)(async e=>{if(!E?.uploadFiles)return void c.error({id:`FILES_UPLOAD_PROVIDER_NOT_CONFIGURED`,message:s(`DataProvider for file upload is not configured`),placement:`bottomRight`});if(u===`Trash`)return void c.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:s(`Cannot upload files to Trash`),placement:`bottomRight`,data:{folderId:u||null,reason:`Upload to Trash is not allowed`}});let t=g.current,a=document.createElement(`input`);a.type=`file`,a.accept=`image/*`,a.multiple=!0;try{!(!n?.config?.features||!n.config.features.enableDirectoryUpload)&&(a.webkitdirectory=!0)}catch{}a.onchange=async n=>{var a;let s=n.target.files;if(!s||s.length===0)return;let c=Array.from(s);try{b?.(!0);let{successes:n,errors:s,uploadedFiles:l}=await te(c,e);(a=e?.onBatchComplete)==null||a.call(e,{files:c,successes:n,errors:s,uploadedFiles:l}),await o(),await A({folderId:u||``,sortBy:r,sortOrder:i,page:t.current,limit:t.pageSize})}catch{}finally{b?.(!1)}},a.click()},[E?.uploadFiles,u,c,s,b,A,o,r,i,te,n?.config?.features]),handleAddFileByUrl:(0,a.useCallback)(async(e,t,a,o=`uploadByUrl`)=>{let l=g.current,f=!!(e&&String(e).trim()),p,m=e??null;try{if(!t&&u===`Trash`)throw a||c.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:s(`Cannot upload files to Trash`),placement:`bottomRight`,data:{folderId:u||null,reason:`Upload to Trash is not allowed`}}),new Q(s(`Cannot upload files to Trash`),`UploadUrlDownloadFailed`);let e,h;if(!m&&d&&(e=await d.validateFields(),m=e?.fileUrl),!m)throw a||c.error({id:`FILES_UPLOAD_URL_VALIDATION_FAILED`,message:s(`Please fill in all fields`),placement:`bottomRight`,data:{url:m??null,folderId:u||null,eventSource:o}}),new Q(s(`Please fill in all fields`),`UploadUrlInvalid`);if(rz(m,s),m=vz(m),b?.(!0),m){let e=m.split(`?`)[0].split(`#`)[0].split(`/`);h=e[e.length-1]||`uploaded-file`,h=oI(h,n?.config)}let g=t?``:u||``,_=!!(E?.uploadFiles||E?.uploadFile),v=!!E?.uploadFileByUrl,y=h;y&&v&&(y=await O(y,g,t));try{let e=await M(m,a);if(e.kind===`existing`)p=e.file;else if(_){let n=new File([e.blob],e.fileName,{type:e.mimeType,lastModified:Date.now()});try{p=await L(n,g,!0,t)}catch(e){throw e.uploadUrlStage=`binaryUpload`,e}if(!p){let e=new Q(s(`Failed to upload file`),`FileUploadBackendError`);throw e.uploadUrlStage=`binaryUpload`,e}}else{if(!v)throw a||c.error({id:`FILES_UPLOAD_URL_NOT_SUPPORTED`,message:s(`Upload by URL is not supported`),placement:`bottomRight`,data:{url:m,folderId:u||null,eventSource:o}}),new Q(s(`Upload by URL is not supported`),`UploadUrlDownloadFailed`);p=await E.uploadFileByUrl({url:m,folderId:u||``,noFolder:t,name:y,eventSource:o})}}catch(e){if(e?.uploadUrlStage===`binaryUpload`||!v)throw e;p=await E.uploadFileByUrl({url:m,folderId:u||``,noFolder:t,name:y,eventSource:o})}let C=e?.name||p?.name||`unnamed file`;return p&&c.success({id:`FILE_UPLOAD_ITEM_SUCCESS`,message:`${s(`File`)} ${C} ${s(`successfully uploaded`)}`,placement:`bottomRight`,data:{itemName:C,itemId:p?.id,folderId:u||null,eventSource:o}},a),(e||f)&&(x?.(!1),d?.resetFields()),S&&S(vF),await A({folderId:u||``,noFolder:t,sortBy:r,sortOrder:i,page:l.current,limit:l.pageSize}),p}catch(e){if(!a){let t=WR(e),n=t,r=e,i=Number(n?.fileSize),a=Number(n?.maxSize),l=Number.isFinite(i)&&Number.isFinite(a)?{fileSize:i,maxSize:a}:void 0,d=r?.uploadUrlStage===`binaryUpload`?GR(t,s,l):JR(t,s);c.error({id:`FILES_UPLOAD_BY_URL_FAILED`,message:d,placement:`bottomRight`,data:{url:m??null,folderId:u||null,error:t,eventSource:o},innerException:e})}throw e}finally{b?.(!1)}},[d,b,E,c,s,x,S,A,u,r,i,O,M,L,n?.config]),handleDroppedFiles:(0,a.useCallback)(async e=>{if(!e.length)return;let t=g.current;u===`Trash`?c.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:s(`Cannot upload files to Trash`),placement:`bottomRight`,data:{folderId:u||null,reason:`Upload to Trash is not allowed`}}):(await te(e),await A({folderId:u||``,sortBy:r,sortOrder:i,page:t.current,limit:t.pageSize}))},[A,u,r,i,te,c,s]),getFileData:I,findFileByUrl:j,resolveFileForEditByUrl:N,uploadFileWithProvider:L}},kz=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},Az=e=>e,jz=e=>{let t=(e=>e?kz(e):kz)(e),n=e=>function(e,t=Az){let n=a.default.useSyncExternalStore(e.subscribe,a.default.useCallback(()=>t(e.getState()),[e,t]),a.default.useCallback(()=>t(e.getInitialState()),[e,t]));return a.default.useDebugValue(n),n}(t,e);return Object.assign(n,t),n};function Mz(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}var Nz=(Pz=e=>({selectedFiles:new Set,visibleFileIds:[],anchorId:null,multiSelect:!0,setMultiSelect:t=>{e(e=>{if(e.multiSelect===t)return e;if(t)return{multiSelect:!0};let n=Array.from(e.selectedFiles)[0]??null;return{multiSelect:!1,selectedFiles:n?new Set([n]):new Set,anchorId:n}})},syncVisibleFiles:t=>{let n=Array.isArray(t)?t.map(e=>e.id):[];e(e=>{let t=new Set(n),r=new Set(Array.from(e.selectedFiles).filter(e=>t.has(e))),i=e.anchorId&&t.has(e.anchorId)?e.anchorId:null,a=function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}(e.visibleFileIds,n),o=Mz(e.selectedFiles,r),s=e.anchorId===i;return a&&o&&s?e:{visibleFileIds:n,selectedFiles:r,anchorId:i}})},setSelectedFiles:t=>{e(e=>{let n=new Set(e.visibleFileIds),r=new Set(Array.from(t).filter(e=>n.has(e)));return Mz(e.selectedFiles,r)?e:{selectedFiles:r,anchorId:Array.from(r)[0]??null}})},clearSelection:()=>{e(e=>e.selectedFiles.size===0&&e.anchorId===null?e:{selectedFiles:new Set,anchorId:null})},selectAllVisible:()=>{e(e=>{let t=new Set(e.visibleFileIds),n=e.visibleFileIds[0]??null;return Mz(e.selectedFiles,t)&&e.anchorId===n?e:{selectedFiles:t,anchorId:n}})},toggleFileSelection:(t,n)=>{e(e=>{let r=!1!==e.multiSelect,i=!!n?.shiftKey&&r,a=!!n?.metaKey||!!n?.ctrlKey||!!n?.forceToggle,o=e.visibleFileIds,s=new Set(o);if(o.length>0&&!s.has(t))return e;if(!r){let n=new Set([t]);return Mz(e.selectedFiles,n)&&e.anchorId===t?e:{selectedFiles:n,anchorId:t}}if(i&&e.anchorId&&s.has(e.anchorId)){let n=o.indexOf(e.anchorId),r=o.indexOf(t);if(n===-1||r===-1)return e;let[i,s]=n<r?[n,r]:[r,n],c=o.slice(i,s+1),l=a?new Set(e.selectedFiles):new Set;return c.forEach(e=>{l.add(e)}),Mz(e.selectedFiles,l)?e:{selectedFiles:l}}if(i&&!e.anchorId){let n=new Set([t]);return Mz(e.selectedFiles,n)&&e.anchorId===t?e:{selectedFiles:n,anchorId:t}}if(a){let n=new Set(e.selectedFiles);return n.has(t)?n.delete(t):n.add(t),Mz(e.selectedFiles,n)&&e.anchorId===t?e:{selectedFiles:n,anchorId:t}}let c=new Set([t]);return Mz(e.selectedFiles,c)&&e.anchorId===t?e:{selectedFiles:c,anchorId:t}})}}),Pz?jz(Pz):jz),Pz,Fz=e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=$R(),s=RR(),{fetchFolders:c}=o.actions,{renameItem:l}=(()=>{let{options:e}=yR(),{dataProviders:t}=e,{t:n}=gL();return{renameItem:(0,a.useCallback)(async({itemId:r,newName:i,isFolder:a})=>{try{if(a){if(!t?.renameFolder)throw Error(n(`renameFolder is not implemented in dataProviders`));let a=sI(i.trim(),e.config),o=await t.renameFolder(r,a);return{success:!0,renamedItem:{id:o.id,name:o.name??a,parentId:o.parentId??null,folderId:o.parentId??null}}}if(!t?.renameFile)throw Error(n(`renameFile is not implemented in dataProviders`));let o=oI(i,e.config),s=await t.renameFile(r,o);return{success:!0,renamedItem:{id:s?.id??r,name:s?.name??o,folderId:s?.folderId??null,parentId:s?.parentId??s?.folderId??null}}}catch(e){return{success:!1,error:WR(e)}}},[t,n,e.config])}})(),{files:u,selectedFolder:d,fileToRename:f,renameForm:p,isRenameModalVisible:m,pagination:h}=t,{setFileToRename:g,setIsRenameModalVisible:_}=n,{dataProviders:v,config:y}=r,b=e=>{if(!e)return null;let t=e;return t.folderId??t.parentId??null},x=(e,t)=>({itemId:e?.id??t,itemName:e?.name,folderId:b(e)}),S=(0,a.useCallback)(e=>{let t=u?.find(t=>t.id===e);if(t?.isFolder||e.startsWith(`folder_`)){if(!1===y?.features?.enableRenameFolder)return void s.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:i(`Folder rename is disabled by config`),placement:`bottomRight`,data:x(t,e)});if(!v?.renameFolder)throw Error(i(`renameFolder is not implemented in dataProviders`))}else{if(!1===y?.features?.enableRenameFile)return void s.error({id:`FILE_RENAME_DISABLED_BY_CONFIG`,message:i(`File rename is disabled by config`),placement:`bottomRight`,data:x(t,e)});if(!v?.renameFile)throw Error(i(`renameFile is not implemented in dataProviders`))}g?.(e),_?.(!0),t&&p&&p.setFieldsValue({newFileName:t.name})},[u,g,_,p,y?.features?.enableRenameFolder,y?.features?.enableRenameFile,v?.renameFolder,v?.renameFile,s,i]),C=(0,a.useCallback)(()=>{_?.(!1),g?.(null),p?.resetFields()},[_,g,p]),w=(0,a.useCallback)(async()=>{if(!f||!p)return;let t=u?.find(e=>e.id===f);try{let r=await p.validateFields();if(!r?.newFileName)return;let a=t?.isFolder||f.startsWith(`folder_`);if(a){if(!1===y?.features?.enableRenameFolder)return void s.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:i(`Folder rename is disabled by config`),placement:`bottomRight`,data:x(t,f)})}else if(!1===y?.features?.enableRenameFile)return void s.error({id:`FILE_RENAME_DISABLED_BY_CONFIG`,message:i(`File rename is disabled by config`),placement:`bottomRight`,data:x(t,f)});let o=await l({itemId:f,newName:r.newFileName,isFolder:a});if(!o.success){let e=HR(o.error?.code,i);s.error({id:`ITEM_RENAME_FAILED`,message:e??o.error?.message??i(`Error renaming`),placement:`bottomRight`,data:Object.assign(Object.assign({},x(t,f)),{error:o.error}),innerException:o.error});return}let u=o.renamedItem;a?(s.success({id:`FOLDER_RENAME_SUCCESS`,message:i(`${i(`Folder renamed to`)} ${u?.name??r.newFileName}`),placement:`bottomRight`,data:{itemId:u?.id??f,itemName:u?.name??r.newFileName,folderId:u?.parentId??u?.folderId??null}}),await c(),u!=null&&u.id&&u.id!==f&&n.setSelectedFolder&&n.setSelectedFolder(u.id)):s.success({id:`FILE_RENAME_SUCCESS`,message:`${i(`File renamed to`)} ${u?.name??r.newFileName}`,placement:`bottomRight`,data:Object.assign(Object.assign({},x(t,f)),{itemName:u?.name??r.newFileName})}),C(),await e({folderId:d||``,page:h.current,limit:h.pageSize})}catch(e){let n=WR(e),r=HR(n?.code,i);s.error({id:`ITEM_RENAME_FAILED`,message:r??(e instanceof Error?e.message:i(`Error renaming`)),placement:`bottomRight`,data:Object.assign(Object.assign({},x(t,f)),{error:n}),innerException:e})}},[f,p,u,n,C,e,d,i,h,y?.features?.enableRenameFolder,y?.features?.enableRenameFile,s,c,l]);return{state:{isRenamingFile:m||!1,fileToRename:f},actions:{showRenameModal:S,handleRenameCancel:C,handleRenameOk:w}}},Iz=e=>{let t=t=>t?e.find(e=>e.id===t)?.name:void 0;return{getItemNameById:t,getItemNamesByIds:e=>e.map(t).filter(e=>!!e),getNamesPreview:e=>e.length>0&&e.length<=5?e.join(`, `):null}},Lz=(e,t,n,r,i)=>({itemIds:e,itemNames:i&&i.length?i:void 0,successCount:t,totalCount:n,folderId:r??null}),Rz=(e,t,n,r,i,a)=>({itemIds:e,itemNames:a&&a.length?a:void 0,failCount:t,totalCount:n,folderId:r??null,errors:i}),zz=()=>{let e=RR(),{t}=gL(),{state:n,options:r}=yR(),{folders:i,pathHistory:o}=n,{dataProviders:s}=r,{actions:{fetchFolders:c,fetchChildFolders:l}}=$R();return{refreshFolders:(0,a.useCallback)(async({parentIds:n,selectedFolder:r})=>{try{if(await c(),n&&l)for(let e of n)e&&await l(e)}catch(n){let r=t(`Folders`);e.error({id:`FOLDERS_FETCH_FAILED`,message:t(`Failed to refresh folder tree`),description:r,placement:`bottomRight`,innerException:n,notificationDedupe:!0,data:{folderId:null,folderName:r,reason:n instanceof Error?n.message:String(n)}})}},[e,t,c,l]),refreshFiles:(0,a.useCallback)(async({fetchFiles:n,selectedFolder:r,page:a,limit:c})=>{try{await n({folderId:r||``,page:a,limit:c})}catch(n){let l=await gz({folderId:r||``,dataProviders:s,folders:Array.isArray(i)?i:[],pathHistory:o,t}),u=t(`Failed to load files`),d=n instanceof Error?n.message:String(n);e.error({id:`FILES_FETCH_FAILED`,message:t(`Failed to load files in folder`,{folderName:l}),description:d&&d!==u?d:void 0,placement:`bottomRight`,innerException:n,notificationDedupe:!0,data:{params:{folderId:r||void 0,page:a,limit:c,folderName:l},folderName:l}})}},[e,t,s,i,o])}},Bz=e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),s=Nz(e=>e.selectedFiles),c=Nz(e=>e.clearSelection),{files:l,selectedFolder:u,moveForm:d,pagination:f,currentMenuFile:p}=t,{setIsMoveModalVisible:m,setPagination:h}=n,{dataProviders:g}=r,{moveItems:_}=(()=>{let{options:e}=yR(),{dataProviders:t}=e,{t:n}=gL(),r=RR();return{moveItems:(0,a.useCallback)(async({items:e,targetFolderId:i,getItemNameById:a,showNotifications:o=!1})=>{let s=0,c=0,l=[];if(t?.moveItems)try{let n=await t.moveItems(i===`folders`?``:i,e.map(e=>e.id)),r=n.detailed;if(r){let e=r.filter(e=>e.success),t=r.filter(e=>!e.success);s+=e.length,c+=t.length,t.forEach(e=>{let t=(r=(n=e).requestId)??n.id;var n,r;let i=e.error,o=WR(i);l.push({itemId:t,itemName:a(t),error:o})})}else if(n.success)s+=e.length;else{let t=n.error;if(t){c+=e.length;let n=WR(t);l.push({error:n})}else c+=e.length}}catch(t){c+=e.length;let n=WR(t);l.push({error:n})}else c+=e.length,l.push({error:{message:`Move provider is not configured`}});return o&&(s>0&&r.success({id:`FILES_MOVE_SUCCESS`,message:n(`Files moved`),placement:`bottomRight`,data:{successCount:s,totalCount:e.length,itemIds:e.map(e=>e.id),folderId:i===`folders`?null:i}}),c>0&&r.error({id:`FILES_MOVE_ERROR`,message:n(`Errors occurred while moving`),placement:`bottomRight`,innerException:l.length?l:void 0,data:{failCount:c,totalCount:e.length,itemIds:e.map(e=>e.id),errors:l.length?l:void 0}})),{successCount:s,failCount:c,errorDetails:l}},[t,r,n])}})(),{refreshFolders:v,refreshFiles:y}=zz(),{getItemNameById:b,getItemNamesByIds:x,getNamesPreview:S}=Iz(l),C=(0,a.useCallback)(()=>{m?.(!0)},[m]),w=(0,a.useCallback)(()=>{m?.(!1),d?.resetFields()},[m,d]);return{actions:{showMoveModal:C,handleMoveCancel:w,handleMoveOk:(0,a.useCallback)(async t=>{var n,a;if(!(p?.length||s&&s.size!==0))return;let m=l.length,C=Object.assign({},f),T=Array.from(p?.length?[p]:s),E=T.length,D=0,O=0,k=[],A=T.map(e=>l.find(t=>t.id===e)).filter(e=>!!e),j=A.some(e=>e?.isFolder||e.id.startsWith(`folder_`));try{let s=t;if(t||(s=(await d.validateFields())?.targetFolder),!s)return void o.error({id:`FILES_MOVE_DIRECTORY_NOT_SELECTED`,message:i(`Select destination folder`),placement:`bottomRight`});let l=s===`folders`?null:s,f=l??u,p=!0===r?.config?.dedupeUploadNamesOnClient;if(p&&g?.getFolders)try{let e=await g.getFolders({parentId:l,deep:!1}),t=new Set((e||[]).map(e=>e.name?.toLowerCase()).filter(Boolean));for(let e of A){if(!e.isFolder&&!(n=e.id).startsWith?.call(n,`folder_`))continue;let r=e.name||b(e.id)||``;if(r&&t.has(r.toLowerCase()))return void o.error({id:`FOLDER_ALREADY_EXISTS_MOVE`,message:i(`A folder with that name already exists. Please enter a different folder name.`),placement:`bottomRight`,data:{folderName:r,targetFolderId:s}})}}catch{}if(p&&g?.getFiles&&g?.renameFile)try{let e=[];if(g?.getFiles){let{files:t}=await g.getFiles({folderId:l??void 0,itemType:`all`,page:1,limit:1e4});e=(t||[]).map(e=>e.name).filter(e=>!!e)}if(g?.getFolders){let t=(await g.getFolders({parentId:l,deep:!1})||[]).map(e=>e.name).filter(e=>!!e);e=[...e,...t]}let t=new Set(e.map(e=>e?.toLowerCase()).filter(Boolean));for(let e of A){if(e.isFolder||(a=e.id).startsWith?.call(a,`folder_`))continue;let n=e.name||b(e.id)||``;if(!n||!t.has(n.toLowerCase())){t.add(n.toLowerCase());continue}let r=BL(n,Array.from(t));await g.renameFile(e.id,r),t.add(r.toLowerCase())}}catch{}let M=await _({items:A,targetFolderId:s,getItemNameById:b,showNotifications:!1});if(D=M.successCount,O=M.failCount,k.push(...M.errorDetails),D>0){let e=x(T),t=S(e),n=t?i(`Moved`,{names:t}):i(`move_success_summary`,{successCount:D,totalCount:E});o.success({id:`FILES_MOVE_SUCCESS`,message:n,placement:`bottomRight`,data:Lz(T,D,E,l,e)})}if(O>0){let e=x(T),t=S(e),n;n=E===1&&k.length>0&&k[0].error?.code?HR(k[0].error?.code,i)??(t?i(`Failed`,{names:t}):i(`move_fail_summary`,{failCount:O,totalCount:E})):t?i(`Failed`,{names:t}):i(`move_fail_summary`,{failCount:O,totalCount:E}),o.error({id:`FILES_MOVE_ERROR`,message:n,placement:`bottomRight`,innerException:k.length?k:void 0,data:Rz(T,O,E,l,k.length?k:void 0,e)})}w(),c();let N=C.current;if(D>0&&m>0&&D>=m&&C.current>1&&(N=C.current-1),D>0&&C.total>=D){let e=Math.max(0,(C.total??0)-D);h?.({current:N,pageSize:C.pageSize,total:e})}j&&await v({parentIds:void 0,selectedFolder:f}),await y({fetchFiles:e,selectedFolder:u,page:N,limit:C.pageSize})}catch(e){let t=HR(WR(e).code,i);o.error({id:`FILES_MOVE_ERROR`,innerException:e,message:t??i(`Error moving`),placement:`bottomRight`,data:Rz(T,E,E,u||null,[{error:WR(e)}],x(T))})}},[p,s,d,e,u,f,l,o,h,i,_,c,m,r?.config?.dedupeUploadNamesOnClient,g?.getFiles,g?.renameFile,b])}}},Vz=e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),s=Nz(e=>e.selectedFiles),c=Nz(e=>e.clearSelection),{files:l,selectedFolder:u,copyForm:d,pagination:f,currentMenuFile:p}=t,{setIsCopyModalVisible:m}=n,{dataProviders:h}=r,{copyItems:g}=(()=>{let{options:e}=yR(),{dataProviders:t}=e,{t:n}=gL(),r=RR();return{copyItems:(0,a.useCallback)(async({items:e,targetFolderId:i,getItemNameById:a,showNotifications:o=!1})=>{let s=0,c=0,l=[],u=i===`folders`?``:i;if(t?.copyItems)try{let n=await t.copyItems(u,e.map(e=>({id:e.id,newName:e.newName}))),r=n.detailed;if(r){let e=r.filter(e=>e.success),t=r.filter(e=>!e.success);s+=e.length,c+=t.length,t.forEach(e=>{let t=(r=(n=e).requestId)??n.id;var n,r;let i=e.error,o=WR(i);l.push({itemId:t,itemName:a(t),error:o})})}else if(n.success)s+=e.length;else{let t=n.error;if(t){c+=e.length;let n=WR(t);l.push({error:n})}else c+=e.length}}catch(t){c+=e.length;let n=WR(t);l.push({error:n})}else if(t?.copyItem)for(let n of e)try{let e=n?.isFolder||n.id.startsWith(`folder_`);await t.copyItem({itemId:n.id,targetFolderId:u,isFolder:e,newName:n.newName})?s++:c++}catch(e){c++;let t=WR(e);l.push({itemId:n.id,itemName:a(n.id),error:t})}else c+=e.length,l.push({error:{message:`Copy provider is not configured`}});return o&&(s>0&&r.success({id:`FILES_COPY_SUCCESS`,message:n(`Files copied`),placement:`bottomRight`,data:{successCount:s,totalCount:e.length,itemIds:e.map(e=>e.id),folderId:i===`folders`?null:i}}),c>0&&r.error({id:`FILES_COPY_ERROR`,message:n(`Errors occurred while copying`),placement:`bottomRight`,innerException:l.length?l:void 0,data:{failCount:c,totalCount:e.length,itemIds:e.map(e=>e.id),errors:l.length?l:void 0}})),{successCount:s,failCount:c,errorDetails:l}},[t,r,n])}})(),{refreshFolders:_,refreshFiles:v}=zz(),{getItemNameById:y,getItemNamesByIds:b,getNamesPreview:x}=Iz(l),S=(0,a.useCallback)(()=>{m?.(!0)},[m]),C=(0,a.useCallback)(()=>{m?.(!1),d?.resetFields()},[m,d]);return{actions:{showCopyModal:S,handleCopyCancel:C,handleCopyOk:(0,a.useCallback)(async t=>{var n;if(!(p?.length||s&&s.size!==0))return;let a=Array.from(p?.length?[p]:s),m=a.length,S=0,w=0,T=[],E=a.map(e=>l.find(t=>t.id===e)).filter(e=>!!e),D=E.some(e=>e?.isFolder||e.id.startsWith(`folder_`));try{let s=t;if(t||(s=(await d.validateFields())?.targetFolder),!s)return void o.error({id:`FILES_COPY_DIRECTORY_NOT_SELECTED`,message:i(`Select destination folder`),placement:`bottomRight`});let l=s===`folders`?null:s,p=l??u,O=E.map(e=>({id:e.id,isFolder:e?.isFolder||e.id.startsWith(`folder_`)})),k=!0===r?.config?.dedupeUploadNamesOnClient;if(k&&h?.getFolders)try{let e=await h.getFolders({parentId:l,deep:!1}),t=new Set((e||[]).map(e=>e.name?.toLowerCase()).filter(Boolean));for(let e of E){if(!e.isFolder&&!(n=e.id).startsWith?.call(n,`folder_`))continue;let r=e.name||y(e.id)||``;if(r&&t.has(r.toLowerCase()))return void o.error({id:`FOLDER_ALREADY_EXISTS_COPY`,message:i(`A folder with that name already exists. Please enter a different folder name.`),placement:`bottomRight`,data:{folderName:r,targetFolderId:s}})}}catch{}if(k&&h?.getFiles)try{let e=[],{files:t}=await h.getFiles({folderId:l??void 0,itemType:`all`,page:1,limit:1e4});if(e=(t||[]).map(e=>e.name).filter(e=>!!e),h?.getFolders){let t=(await h.getFolders({parentId:l,deep:!1})||[]).map(e=>e.name).filter(e=>!!e);e=[...e,...t]}let n=[...e];O=E.map(e=>{var t;if(e.isFolder||(t=e.id).startsWith?.call(t,`folder_`))return{id:e.id,isFolder:!0};let r=E.find(t=>t.id===e.id)?.name||y(e.id)||``,i=BL(r,n);return n.push(i),{id:e.id,isFolder:!1,newName:i===r?void 0:i}})}catch{}else O=E.map(e=>({id:e.id,isFolder:e?.isFolder||e.id.startsWith(`folder_`)}));let A=await g({items:O,targetFolderId:s,getItemNameById:y,showNotifications:!1});if(S=A.successCount,w=A.failCount,T.push(...A.errorDetails),S>0){let e=b(a),t=x(e),n=t?i(`Copied`,{names:t}):i(`copy_success_summary`,{successCount:S,totalCount:m});o.success({id:`FILES_COPY_SUCCESS`,message:n,placement:`bottomRight`,data:Lz(a,S,m,l,e)})}if(w>0){let e=b(a),t=x(e),n;n=m===1&&T.length>0&&T[0].error?.code?HR(T[0].error?.code,i)??(t?i(`Failed`,{names:t}):i(`copy_fail_summary`,{failCount:w,totalCount:m})):t?i(`Failed`,{names:t}):i(`copy_fail_summary`,{failCount:w,totalCount:m}),o.error({id:`FILES_COPY_ERROR`,message:n,placement:`bottomRight`,innerException:T.length?T:void 0,data:Rz(a,w,m,l,T.length?T:void 0,e)})}C(),c(),D&&await _({parentIds:void 0,selectedFolder:p}),await v({fetchFiles:e,selectedFolder:u,page:f.current,limit:f.pageSize})}catch(e){let t=HR(WR(e).code,i);o.error({id:`FILES_COPY_ERROR`,message:t??i(`Error copying`),innerException:e,placement:`bottomRight`,data:Rz(a,m,m,u||null,[{error:WR(e)}],b(a))})}},[p,s,d,e,u,f,l,o,i,g,c,m,r?.config?.dedupeUploadNamesOnClient,h?.getFiles,y])}}},Hz=e=>{let t=Fz(e),n=Bz(e),r=Vz(e),i=(e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),s=Nz(e=>e.selectedFiles),c=Nz(e=>e.clearSelection),{files:l,selectedFolder:u,pagination:d,currentMenuFile:f}=t,{setIsDeleteConfirmVisible:p,setUndoDeletion:m,setPagination:h}=n,{config:g}=r,{deleteItems:_}=ez(),{refreshFolders:v,refreshFiles:y}=zz(),{getItemNameById:b,getItemNamesByIds:x,getNamesPreview:S}=Iz(l);return{actions:{showDeleteConfirm:(0,a.useCallback)(()=>{p?.(!0)},[p]),handleDeleteConfirmCancel:(0,a.useCallback)(()=>{p?.(!1)},[p]),handleDeleteConfirmOk:(0,a.useCallback)(async()=>{if(!(f?.length||s&&s.size!==0))return void(p==null||p(!1));let t=l.length,n=Object.assign({},d),r=Array.from(f?[f]:s),a=r.map(e=>l.find(t=>t.id===e)).filter(e=>!!e),C=new Set;a.forEach(e=>{e!=null&&e.isFolder&&C.add((e=>{if(!e)return null;let t=e;return t.folderId??t.parentId??null})(e))});let w=0,T=0,E=[];try{let s=await _({items:a,selectedFolder:u,getItemNameById:b,showNotifications:!1});w=s.successCount,T=s.failCount,E.push(...s.errorDetails);let l=g?.enableTrashFolder&&u===`Trash`;if(w>0&&g!=null&&g.enableTrashFolder&&!l&&m?.({itemIds:r,sourceFolderId:u||`folders`}),w>0){let e=r.length;g?.enableTrashFolder&&!l?await o.success({id:`FILES_DELETE_SUCCESS`,message:i(`moved_to_trash`,{count:w}),placement:`bottomRight`,data:{successCount:w,totalCount:e,itemIds:r,folderId:u||null}}):await o.success({id:`FILES_DELETE_SUCCESS`,message:i(`Files deleted`),placement:`bottomRight`,data:{successCount:w,totalCount:e,itemIds:r,folderId:u||null}})}if(T>0){let e=x(r),t=S(e),n=r.length,a=n===1&&E.length>0&&E[0].error?.code,s=g?.enableTrashFolder&&!l,c=i(s?`При перемещении в корзину произошли ошибки`:`При удалении произошли ошибки`),u=(a?HR(E[0].error?.code,i):void 0)??(t?i(`Failed`,{names:t}):c);o.error({id:`FILES_DELETE_ERROR`,message:u,placement:`bottomRight`,innerException:E.length?E:void 0,data:{failCount:T,isTrashMove:s,totalCount:n,itemNames:e,errors:E.length?E:void 0}})}c(),p?.(!1),await v({parentIds:Array.from(C),selectedFolder:u});let d=n.current;if(w>0&&t>0&&w>=t&&n.current>1&&(d=n.current-1),w>0&&n.total>=w){let e=Math.max(0,(n.total??0)-w);h?.({current:d,pageSize:n.pageSize,total:e})}await y({fetchFiles:e,selectedFolder:u,page:d,limit:n.pageSize})}catch(e){o.error({id:`FILES_DELETE_ERROR`,message:i(`Error deleting`),placement:`bottomRight`,innerException:e,data:{failCount:T,totalCount:a.length}})}},[f,s,p,e,u,d,m,h,l,i,o,_,c,g?.enableTrashFolder])}}})(e);return{state:t.state,actions:Object.assign(Object.assign(Object.assign(Object.assign({},t.actions),n.actions),r.actions),i.actions)}},Uz=()=>{let{state:e}=yR(),{files:t,loading:n,isUrlModalVisible:r}=e,i=Oz(),o=(()=>{let{state:e}=yR(),t=e.multiSelect,n=Nz(e=>e.selectedFiles),r=Nz(e=>e.toggleFileSelection),i=Nz(e=>e.setMultiSelect);return(0,a.useEffect)(()=>{i(!1!==t)},[t,i]),{state:{selectedFiles:n},actions:{toggleFileSelection:r}}})(),s=Hz(i.fetchFiles);return{state:{files:t||[],selectedFiles:o.state.selectedFiles,loading:n||!1,isAddingFileByUrl:r||!1,isRenamingFile:s.state.isRenamingFile,fileToRename:s.state.fileToRename},actions:{fetchFiles:i.fetchFiles,handleDeleteFile:i.handleDeleteFile,handleDeleteFolder:i.handleDeleteFolder,handleAddFile:i.handleAddFile,handleAddFileByUrl:i.handleAddFileByUrl,handleDroppedFiles:i.handleDroppedFiles,uploadFileWithProvider:i.uploadFileWithProvider,toggleFileSelection:o.actions.toggleFileSelection,showRenameModal:s.actions.showRenameModal,handleRenameCancel:s.actions.handleRenameCancel,handleRenameOk:s.actions.handleRenameOk,showMoveModal:s.actions.showMoveModal,handleMoveCancel:s.actions.handleMoveCancel,handleMoveOk:s.actions.handleMoveOk,showCopyModal:s.actions.showCopyModal,handleCopyCancel:s.actions.handleCopyCancel,handleCopyOk:s.actions.handleCopyOk,showDeleteConfirm:s.actions.showDeleteConfirm,handleDeleteConfirmCancel:s.actions.handleDeleteConfirmCancel,handleDeleteConfirmOk:s.actions.handleDeleteConfirmOk}}};function Wz({maxConcurrent:e=6}={}){let t=(0,a.useRef)(new Map),n=(0,a.useRef)([]),r=(0,a.useRef)(0),i=(0,a.useMemo)(()=>{let i=e=>({status:e.status,shouldLoad:e.status===`loading`||e.status===`loaded`||e.status===`error`}),a=e=>{let t=i(e);e.listeners.forEach(e=>e(t))},o=e=>{n.current.length!==0&&(n.current=n.current.filter(t=>t!==e))},s=(e,n)=>{let r=t.current.get(e);if(!r){let r={id:e,src:n,status:`idle`,listeners:new Set,active:!1};return t.current.set(e,r),r}return r.src!==n&&(o(e),r.src=n,r.status=`idle`),r},c=()=>{for(;r.current<e&&n.current.length>0;){let e=n.current.shift();if(!e)break;let i=t.current.get(e);i&&i.active&&i.status===`queued`&&(i.status=`loading`,r.current+=1,a(i))}},l=(e,t)=>{e.status===`loading`&&(e.status=t,r.current=Math.max(0,r.current-1),a(e),c())};return{getSnapshot:(e,t)=>i(s(e,t)),subscribe:(e,n,r)=>{let a=s(e,n);return a.listeners.add(r),r(i(a)),()=>{let n=t.current.get(e);n&&(n.listeners.delete(r),n.active||n.listeners.size!==0||n.status===`loading`||t.current.delete(e))}},setActive:(e,t,i)=>{let l=s(e,t);l.active=i,i?l.status!==`loaded`&&l.status!==`loading`&&l.status!==`queued`?(l.status=`queued`,a(l),n.current.includes(e)||n.current.push(e),c()):a(l):l.status===`queued`?(o(e),l.status=`idle`,a(l)):l.status===`loading`&&(r.current=Math.max(0,r.current-1),l.status=`idle`,a(l),c())},markLoaded:e=>{let n=t.current.get(e);n&&l(n,`loaded`)},markError:e=>{let n=t.current.get(e);n&&l(n,`error`)},release:e=>{let n=t.current.get(e);n&&(n.active=!1,n.status===`queued`?(o(e),n.status=`idle`):n.status===`loading`&&(r.current=Math.max(0,r.current-1),n.status=`idle`,c()),n.listeners.size===0&&t.current.delete(e))}}},[e]);return(0,a.useEffect)(()=>()=>{n.current=[],t.current.clear(),r.current=0},[]),i}function Gz(e){if(e&&e!==`data:image/jpeg;base64,/9j/4AAQSkZJRgABAQABLAEsAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAEsAAAAAQAAASwAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAQOgAwAEAAAAAQAAAMoAAAAA/+EJ2Wh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6c3RvY2s6Mzk2MmU4NTQtNjA1NC00MGZmLWEwYzMtYjJkNjcwMzQ2OWFhIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmE5M2NiZTgyLWI5NjEtNGUzNS1iYmQ0LWJjZWE1Zjc1YTQwZiIvPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz4A/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIAMoBAwMBIgACEQADEQD/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/3QAEABH/2gAMAwEAAhEDEQA/APsuiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoqG7uIbWB55nCooyTS208VxCssLh0boRQBLRRRQAUUUUAFFFFAH/9D7LooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqG7uIrWBppnCoo5Jou7iK1gaaZwqKM5NcRq2oXOsXqxQq2wnEcYPX3NABq2oXOr3qwxK3l5xHGO/ua6nw7pzadZ7ZJGaR+WBPA9hUfh7R49Pi82TDXDDkkfd9hWxQAUUUUAFFFFABRRRQB//9H7LooooAKKKKACiiuOv/EOpQX88KNDsSQqMp6H60AdjRXD/wDCTapn70P/AH7/APr0f8JPqn96H/v3/wDXoA7iiuH/AOEn1T+9D/37/wDr0f8ACT6p/eh/79//AF6AO4orh/8AhJ9U/vQ/9+//AK9H/CT6p/eh/wC/f/16AO4orh/+En1T+9D/AN+//r0f8JPqn96H/v3/APXoA7iiuH/4SfVP70P/AH7/APr0f8JPqn96H/v3/wDXoA7iiuH/AOEn1T+9D/37/wDr0f8ACT6p/eh/79//AF6AO4orh/8AhJ9U/vQ/9+//AK9H/CT6p/eh/wC/f/16AO4orh/+En1T+9D/AN+//r0f8JPqn96H/v3/APXoA7iobq4itYHmncIijJJrE0jUdQlt2v8AUJIYrNVyMJgv9Oaw9X1C51e8WGJWMecRxr39zQAatqNzq94kUasELYjjB6/Wul8P6NHp8Qlkw1ww5P8Ad9hWRmDw9bfwTajIv4Riqw8Tap6wf98f/XoA7elrh/8AhJtU/vQ/9+//AK9avhnWL3UL94bgx7BGWG1cdwPX3oA6OiiigAooooAKKKKAP//S+y6KKKACiiigArgHAbxSVYAg3mCD3+eu/rgT/wAjV/2+f+z0Adt9jtMf8esH/fsUfY7T/n1g/wC/Yqeh2CIWY4AGSaAK7WlmqktbQADkkxr/AIVUe50JJPLZ7EN6YWuX17WJr+dkRylurYVQfve5rKJoA9Ghh0+Zd0MVtIvqqKaf9jtP+fWD/v2K89sry4sphLbyFD3HY/Wu+0e9TULFLhQATww9DQBJ9jtP+fWD/v2KattZM7ILe3LL94bF4p99cx2lpJcS/dRc/X2rjdG1eSLWmuZ2Oy4bEnoPQ/hQB2P2O0/59YP+/Yo+x2n/AD6wf9+xU4IPSloAr/Y7T/n1g/79ij7Haf8APrB/37FWKKAK/wBjtP8An1g/79ij7Haf8+sH/fsVYooAr/Y7T/n1g/79ioruPTrWBppoLdUUckxj/Cp7u4itYGnmcKijJJriNX1C61i9EUKtsziOMHr7mgBNVv7jVrxYII/3YOIYl/ma6bw9o8enxCSTD3DDkn+H2FHh/R49Pi8yTDXDDkkfd9hWxQBC9rbOxZ7eJmPUlATTfsdp/wA+sH/fsVYooAztXtbVdLumW3hBELkEIOPlNc74H/5Csv8A1xP8xXUaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5igDs6KKKACiiigAooooA//0/suiiigAooooAK4E/8AI1f9vn/s9d9XAn/kav8At8/9noA72s/xI7R6HdMpwdmPzODWhUN/ALqymt26SIVoA816UlS3ML207wSrtdCQai+lAC11HgN2xdx4+XKH6Hn/AArl++K6jSv+JN4flvJhiWfBRe/Tj+ZNAEHjLUfOnFjEw2R/NJju3Yfl/Oudp0jtJIzucsxJJ96bQB2/hLUftdkLeRh50OF+q9jW3XnOkXrWF/HcDJUHDjPUV6HDIssSSIQVYAg0APooooAKhu7iK1gaeZwqKM5NF3cQ2sDTTOFRRk5riNW1C51i9WKJW8vOI4x39zQAavqF1rF6IYVbZnEcYPX3NdL4e0ePT4hLIA1w45JH3fYUeHtHj0+LzJcNcMOTj7vsK2KACiiigAooooAqaz/yCbz/AK4v/wCgmuX8D/8AIWl/64n+YrqNZ/5BN5/1xf8A9BNcv4H/AOQtL/1xP8xQB2dFFFABRRRQAUUUUAf/1PsuiiigAooooAK4E/8AI1f9vn/s9d9XAn/kav8At8/9noA72lpKWgDO1bSLXUQDKCsg6OvX/wCvWFJ4Tn3fJdxFc8FkOa66igDC0zw3a2riadzPIOeRhR+FYXinUPtl+Yoz+5h+VcdCe5/p+FdH4n1H7DYFYziaX5U9vU1wn40AFFFFABXW+DNR3xtp8x+ZPmjyeo7j/PrXJVNZzva3UdxG2HjbP/1qAPTKhu7iK2gaaZwqKOSahTULf+zFv3bZEybsmuP1XULnV70QxK3l7sRxr39zQAmrahc6xerFEreXnEcY7+5rpfD2jx6fF5suGuGHJx932FHh7R49PiEkuGuGHJ/u+wrYoAKKKKACiiigAooooAqaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5iuo1n/AJBN5/1xf/0E1y/gf/kLS/8AXE/zFAHZ0UUUAFFFFABRRRQB/9X7LooooAKKKKACuBP/ACNX/b5/7PXfVwJ/5Gr/ALfP/Z6AO9paSloAKazBVZicBRkmnVz3jHUfs9qLOJsSy/ex2XvQBzuu351DUXlDfu1+WMewqhRRQAUUUv40AFbGi6ZG8TahqB8uzTkA9ZP/AK1Gi6ZG8TajqJ2WcfIB/wCWn/1qi1W+uNWu0hhQiIHbFEv86ADU7+fVbpIIU2xZ2xRL/M103h7R00+LzZcPcMOTj7vsKyCYfD9sQNsupSr+EY/z+ddDot8uoWCTj7/Rx6N3oAvUUUUAFZ17rFta6jDZydZPvNnhPTNSaxqEWn2bTv8AM3RF9TXntxLJPK8sp3O5yx9TQB6dmlrA8Kar9qg+yzt+/jHBP8QrfoAKKKKAKms/8gm8/wCuL/8AoJrl/A//ACFpf+uJ/mK6jWf+QTef9cX/APQTXL+B/wDkLS/9cT/MUAdnRRRQAUUUUAFFFFAH/9b7LooooAKKKKACuBP/ACNX/b5/7PXfVwJ/5Gr/ALfP/Z6AO9paSloAjuZo7eB5pThEGSa851G6e9vJLl+rngeg7Ct/xpqOWXT4m6fNLj9B/X8q5mgBKKKO9AADzWzoumRvEdQ1A7LOPkA/8tP/AK1JoulxvE2oagQlnHyAf+Wn/wBaotVv59WukhhjIizthiX+dABql/catdJBDGRHnbDEv86vkweH7bHyy6jKv4Rj/P8An0UmDw/bEfLLqMq/hGP8/n/Ln5JHlkaSRi7scsx70AEkjySNLIxd2OWY961fCuo/Y78RSNiGY7T7Hsax6WgD1EGmyuscbSOwVVBJPoKy/DGofbrABzmaLCvk9fQ1k+MNU3MdPgY4X/WkevpQBla7qLajel84iTiMe3rWdS0lAEtrPJbXMdxC2HQ5HvXoWlXsd/ZpPGevDD0PevOK0/D2pHTr0FiTBJgOP60Ad/RTUYOoZSCCMg06gCprP/IJvP8Ari//AKCa5fwP/wAhaX/rif5iuo1n/kE3n/XF/wD0E1y/gf8A5C0v/XE/zFAHZ0UUUAFFFFABRRRQB//X+y6KKKACiiigArgT/wAjV/2+f+z131cCf+Rq/wC3z/2egDvarapeJY2Mlw/8I+UZ6nsKs1xni7UftN39ljb91Eecd2/z/WgDFnlknmeaRsu5JJqOigdeKAFrX0XS43iOoagQlnHyAf8Alp/9al0XTI3ibUNQISzj5Ab/AJaf/WqHVb+41a6SGGMrEDtiiX+dAC6rfT6tdJBChEWdsMS/zq+TB4ftj92XUZV/CMf5/P8AkhMPh+2x8suoyr+EY/z+f8sCSR5ZGlkYu7HLMe9ABJI8sjSSMXdjlmPemUUUAFLSUUAWtOvp7CZ5YD8zIVOenNVmJZixJJPUmkooAKKKKAClFJRQB1Pg/VOBp87Dj/VEn9K6jPFeYRs0bh0JDqQQR2Nd7oGpJqNkGJxKnEg/rQBY1n/kE3n/AFxf/wBBNcv4H/5C0v8A1xP8xXUaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5igDs6KKKACiiigAooooA//0PsuiiigAooooAK4E/8AI1f9vn/s9d8a89u5RB4hlnYEiO5LkDvhs0Adtq808Ni7W0TyTEbUCjkE964c6TqhJJspyTySVroB4stsY+xzf99Cj/hK7X/nzl/76FAHPnSdTx/x4z/981d0zRvL33eqr5NtFztbq5/wro7PVo5rF72SB7eBfutIcbvpXLatqFzq94IokYpnEca859zQAmq31xq12sEEZEQOIol/nWxBYzaPZeZBavc30oxlVyIxUVsbLw6i+epuL1wCyp/AP6VY/wCEstv+fSb/AL6FAGBLpmrSyNJJZ3DuxyzFetN/sjU/+fGf/vmug/4Su1/585f++hR/wldr/wA+cv8A30KAOf8A7I1P/nxn/wC+aP7I1P8A58Z/++a6D/hK7X/nzl/76FH/AAldr/z5y/8AfQoA5/8AsjU/+fGf/vmj+yNT/wCfGf8A75roP+Ertf8Anzl/76FH/CV2v/PnL/30KAOf/sjU/wDnxn/75o/sjU/+fGf/AL5roP8AhK7X/nzl/wC+hR/wldr/AM+cv/fQoA5/+yNT/wCfGf8A75o/sjU/+fGf/vmug/4Su1/585f++hR/wldr/wA+cv8A30KAOf8A7I1P/nxn/wC+aP7I1P8A58Z/++a6D/hK7X/nzl/76FH/AAldr/z5y/8AfQoA5/8AsjU/+fGf/vmrmkW+r6ferOllPtzh12n5hWp/wldr/wA+cv8A30KP+Ertf+fOX/voUAa+rNu0a6bBGYGOD1HymuZ8D/8AIWl/64n+YqzfeJre4spoBayqZI2UEkcZGKreB/8AkKyn/pif5igDs6KKKACiiigAooooA//R+y6KKKACiiigArHn8OadPO80nm73YscNjknNbFFAGJ/wjGmf9N/+/lRXGg6NZxG4nMnlpyQ0mQfatq7uIrWBppnCoozk1xGrajdaxeLFCh2E4jjHf3NACapfT6tdpBDGfKU4hjUfrXTeH9HTT4vNkw1yw5JH3fYUeHtHj0+LzZMNcMOSR932FbFAGNL4b0+WRpJXuHdjks0nJNN/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTPSf/v5VrTNGs9PnM1v5m4qVO5s8ZB/pWjRQAUUUUAFFFFABRRRQB//0vsuiiigAooooAKhu7mK1t2nmYKijkmpq5fxda6jNcReXukgYgBVHQ+9AGVq2oXOsXqxRK2zdiNB39zXS+H9Hj0+ISSYa4Ycn+77Cjw/o8enxebLhrhhySPu+wrYoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9P7LooooAKKKKACkxS0UAFFFFABRRTW6D6igB1FN7n8KQE+YRQA+iiigAopsnEZI64pR90UALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q==`){if(e.startsWith(`data:image/`)){let t=e.split(`,`)[1];return t&&t.length>20?e:void 0}return e.startsWith(`blob:`)?e:e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`/`)?(e=>{if(e&&typeof e==`string`){if(e.startsWith(`data:`)||e.startsWith(`blob:`))return e;try{if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`/`)){let t=new URL(e.startsWith(`/`)?`https://x${e}`:e),n=e.startsWith(`/`)?``:`${t.protocol}//${t.host}`,r=t.pathname.split(`/`).map(e=>{if(!e)return``;try{return encodeURIComponent(decodeURIComponent(e))}catch{return encodeURIComponent(e)}}).join(`/`);return e.startsWith(`/`)?r+(t.search||``)+(t.hash||``):`${n}${r}${t.search}${t.hash}`}}catch{}return e}})(e)??e:void 0}}function Kz(e,t){if(!e)return null;let n=Gz(e.src??void 0);return e.exhausted?Object.assign(Object.assign({},e),{src:null}):n?Object.assign(Object.assign({},e),{src:n}):Object.assign(Object.assign({},e),{src:t??null,changed:!1,reason:`unchanged`})}function qz(e){let{options:t}=yR(),n=t.config?.getProxiedUrl,r=(0,a.useRef)([]),i=(0,a.useRef)(!1),o=(0,a.useRef)(0),s=(0,a.useRef)(null),[c,l]=(0,a.useState)(!1),u=(0,a.useMemo)(()=>{let t=e.map(e=>Gz(e)).filter((e,t,n)=>!!e&&n.indexOf(e)===t);return(n=r.current)===(i=t)||n.length===i.length&&n.every((e,t)=>e===i[t])?r.current:(r.current=t,t);var n,i},[e]),[d,f]=(0,a.useState)([]),[p,m]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=!1;if(m(0),i.current=!1,o.current=0,s.current=null,l(!1),u.length!==0)return(async()=>{let t=await Promise.all(u.map(async e=>{if(!n||!(t=e).startsWith(`http://`)&&!t.startsWith(`https://`))return[{originalSrc:e,src:e}];var t;try{let t=await Promise.resolve(n(e)),r=Gz(t?.src);return r?[{originalSrc:e,src:r,stabilityKey:t.stabilityKey,handleChangeSrc:t.handleChangeSrc,handleSuccess:t.handleSuccess,handleError:t.handleError,subscribeToSrcChange:t.subscribeToSrcChange}]:[{originalSrc:e,src:e}]}catch{return[{originalSrc:e,src:e}]}}));if(!e){let e=function(e){let t=new Set;return e.filter(e=>!(!e.src||t.has(e.src)||(t.add(e.src),0)))}(t.flat());f(t=>function(e,t){return e===t||e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.originalSrc===r.originalSrc&&e.src===r.src&&e.stabilityKey===r.stabilityKey})}(t,e)?t:e)}})(),()=>{e=!0};f(e=>e.length===0?e:[])},[n,u]);let h=d[p];(0,a.useEffect)(()=>{if(!h?.subscribeToSrcChange)return;let e,t=!1;return Promise.resolve(h.subscribeToSrcChange(e=>{if(t||i.current)return;let n=Kz(e,h.src);n!=null&&n.changed&&n.src&&!t&&f(e=>e.map((e,t)=>t===p?Object.assign(Object.assign({},e),{src:n.src}):e))})).then(n=>{t?n?.():e=n}),()=>{t=!0,e?.()}},[h,p]),(0,a.useEffect)(()=>{if(!h?.handleChangeSrc||i.current)return;let e=`${h.originalSrc}::${h.stabilityKey??``}::${p}`;if(s.current===e)return;s.current=e;let t=!1;return Promise.resolve(h.handleChangeSrc()).then(e=>{let n=Kz(e,h.src);n!=null&&n.changed&&n.src&&!t&&f(e=>e.map((e,t)=>t===p?Object.assign(Object.assign({},e),{src:n.src}):e))}),()=>{t=!0}},[h,p]);let g=(0,a.useCallback)(async()=>{if(!h?.handleChangeSrc)return{src:h?.src??null,changed:!1,exhausted:!1,reason:`unchanged`};if(i.current)return{src:null,changed:!1,exhausted:!0,reason:`exhausted`};let e=Kz(await Promise.resolve(h.handleChangeSrc()),h.src);return e?.changed&&e.src&&e.src!==h.src?(f(t=>t.map((t,n)=>n===p?Object.assign(Object.assign({},t),{src:e.src}):t)),e):e??{src:h.src,changed:!1,exhausted:!1,reason:`unchanged`}},[h,p]),_=(0,a.useCallback)(async()=>{if(i.current)return{src:null,changed:!1,exhausted:!0,reason:`exhausted`};if(!h)return i.current=!0,l(!0),{src:null,changed:!1,exhausted:!0,reason:`exhausted`};let e=(t=d.length,Math.max(8,6*t));var t;if(o.current>=e)return i.current=!0,l(!0),{src:null,changed:!1,exhausted:!0,reason:`exhausted`};o.current+=1;let n=h.handleError?Kz(await Promise.resolve(h.handleError()),h.src):null;return n?.exhausted?(i.current=!0,l(!0),n):n?.changed&&n.src&&n.src!==h.src?(f(e=>e.map((e,t)=>t===p?Object.assign(Object.assign({},e),{src:n.src}):e)),n):p+1>=d.length?(i.current=!0,l(!0),n??{src:null,changed:!1,exhausted:!0,reason:`exhausted`}):(m(e=>e+1),{src:d[p+1]?.src??null,changed:!0,exhausted:!1,reason:`candidate-fallback`})},[h,p,d]),v=(0,a.useCallback)(()=>{var e;i.current||h&&(o.current=0,(e=h.handleSuccess)==null||e.call(h))},[h]);return{src:c||h==null?void 0:h.src,hasNextCandidate:p+1<d.length,handleError:_,handleLoad:v,handleChangeSrc:g}}var Jz=/(auto|scroll|overlay)/;function Yz(e,t){let n=Math.max(0,t??e.clientWidth);return Math.max(1,Math.round(n-function(e){if(typeof window>`u`)return 0;let t=window.getComputedStyle(e);return(Number.parseFloat(t.paddingLeft||`0`)||0)+(Number.parseFloat(t.paddingRight||`0`)||0)}(e)))}function Xz(e){if(typeof window>`u`)return!1;let t=window.getComputedStyle(e);return Jz.test(t.overflowY)||Jz.test(t.overflow)||Jz.test(t.overflowX)}function Zz(e){if(typeof window>`u`)return e;let t=e;for(;t;){if(Xz(t))return t;t=t.parentElement}return null}function Qz(e){if(typeof window>`u`)return[e];let t=Zz(e);return t?t===e?[window,e]:[window,t]:[window]}function $z(e,t,n){return Math.max(0,e.clientHeight),Math.max(0,Math.round(e.getBoundingClientRect().height)),Math.max(1,t)}function eB(e,t){if(e===t){let n=function(e){if(typeof window>`u`)return Math.max(1,e.clientHeight);let t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement?.clientHeight||0,r=Math.max(0,t.top),i=Math.min(n,t.bottom);return Math.max(0,Math.round(i-r))}(t);return{scrollTop:t.scrollTop,viewportHeight:$z(e,Math.min(t.clientHeight,n||t.clientHeight)),viewportWidth:Yz(t),scrollHeight:e.scrollHeight}}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=Math.max(n.top,r.top),a=Math.min(n.bottom,r.bottom),o=Math.max(n.left,r.left),s=Math.min(n.right,r.right),c=Math.max(0,Math.round(a-i)),l=Math.max(0,Math.round(s-o));return{scrollTop:Math.max(0,Math.round(i-r.top)),viewportHeight:$z(e,c),viewportWidth:Yz(e,l||t.clientWidth||e.clientWidth),scrollHeight:e.scrollHeight}}function tB(e){if(typeof window>`u`)return{scrollTop:e.scrollTop,viewportHeight:Math.max(1,e.clientHeight),viewportWidth:Yz(e),scrollHeight:e.scrollHeight};let t=Zz(e);return t&&function(e){return e.scrollHeight-e.clientHeight>1}(t)?eB(e,t):function(e){let t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement?.clientHeight||0,r=window.innerWidth||document.documentElement?.clientWidth||t.width,i=Math.max(0,t.top),a=Math.min(n,t.bottom),o=Math.max(0,Math.round(a-i));return{scrollTop:Math.max(0,Math.round(-t.top)),viewportHeight:$z(e,o),viewportWidth:Yz(e,Math.min(Math.round(t.width),r)),scrollHeight:e.scrollHeight}}(e)}function nB(e,t){let n=(0,a.useRef)(null),r=(0,a.useCallback)(t=>{e(tB(t))},[e]);return(0,a.useEffect)(()=>{n.current&&r(n.current)},[r,...t]),(0,a.useEffect)(()=>{if(!n.current||typeof ResizeObserver>`u`)return;let e=n.current,t=new ResizeObserver(()=>{r(e)});return t.observe(e),()=>t.disconnect()},[r]),(0,a.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{r(e)},i=Qz(e);return i.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),()=>{i.forEach(e=>{e.removeEventListener(`scroll`,t)})}},[r,...t]),n}var rB=({onSearch:e,placeholder:t,className:n})=>{let{t:r}=gL(),[i,o]=(0,a.useState)(``),s=(0,a.useRef)(null),{options:u}=yR(),{config:d}=u,f=t||r(`Search files...`);return(0,a.useEffect)(()=>(s.current=jR.debounce(t=>{e(t)},500),()=>{var e;(e=s.current)==null||e.cancel()}),[e]),(0,c.jsx)(l.Input,{value:i,onChange:e=>{var t;let n=e.target.value;o(n),(t=s.current)==null||t.call(s,n)},placeholder:f,prefix:(0,c.jsx)(w,{size:16,strokeWidth:d?.iconStrokeWidth}),className:n,allowClear:!0,onClear:()=>{o(``),e(``)}})},iB=[{value:`date-desc`,labelKey:`Newest first`},{value:`date-asc`,labelKey:`Oldest first`},{value:`size-desc`,labelKey:`Largest first`},{value:`size-asc`,labelKey:`Smallest first`},{value:`name-asc`,labelKey:`A-Z`},{value:`name-desc`,labelKey:`Z-A`},{value:`type-asc`,labelKey:`By type`}],$={contentLayout:`contentLayout`,headerContainer:`headerContainer`,actionsContainer:`actionsContainer`,filesContainer:`filesContainer`,filesLoadingOverlay:`filesLoadingOverlay`,emptyStateWrapper:`emptyStateWrapper`,paginationContainer:`paginationContainer`,uploadIcon:`uploadIcon`,tableContainer:`tableContainer`,tableLoadingWrapper:`tableLoadingWrapper`,imagePreview:`imagePreview`,fileManagerTableFolder:`fileManagerTableFolder`,fileManagerTableFolderInner:`fileManagerTableFolderInner`,sortSelect:`sortSelect`,fileNameCol:`fileNameCol`,fileItemCount:`fileItemCount`,fileSize:`fileSize`,fileDate:`fileDate`,tableMenu:`tableMenu`,tableImagePreview:`tableImagePreview`,tableFolderIcon:`tableFolderIcon`,buttonDeselected:`buttonDeselected`,buttonSelectAll:`buttonSelectAll`,gridRow:`gridRow`,gridCard:`gridCard`,selectedRow:`selectedRow`,gridCardSelected:`gridCardSelected`,gridCheckbox:`gridCheckbox`,gridCardContent:`gridCardContent`,gridPreviewContainer:`gridPreviewContainer`,gridPreviewContainerFolder:`gridPreviewContainerFolder`,gridFolderIcon:`gridFolderIcon`,gridFolderIconImage:`gridFolderIconImage`,gridFileName:`gridFileName`,gridFileInfo:`gridFileInfo`,gridFileMenu:`gridFileMenu`,gridFileMenuButton:`gridFileMenuButton`,actionsBox:`actionsBox`,uploadContainer:`uploadContainer`,uploadArea:`uploadArea`,blockText:`blockText`,textTitle:`textTitle`,textDescription:`textDescription`,buttons:`buttons`,btnAi:`btnAi`,btnPhoto:`btnPhoto`,dragOverlay:`dragOverlay`,dragOverlayInner:`dragOverlayInner`,dragCaptureLayer:`dragCaptureLayer`,dragOverlayGlobal:`dragOverlayGlobal`,noFiles:`noFiles`,noFilesIcon:`noFilesIcon`,textTitle_trash:`textTitle_trash`,textDescription_trash:`textDescription_trash`},{Text:aB}=l.Typography,{Option:oB}=l.Select,sB=a.default.memo(({files:e,filesById:t,currentSortOption:n,isSmallScreen:r,iconStrokeWidth:o,multiSelectEnabled:s=!0,features:u,viewMode:d,setViewMode:f,handleSearch:p,handleSortOptionChange:_,sortOptions:v,onClearSelection:y,onRename:b,onDelete:x,onCopy:S,onMove:w,onEdit:T,t:E})=>{let O=(0,a.useMemo)(()=>v?.length?iB.filter(e=>v.includes(e.value)):iB,[v]),k=(0,a.useMemo)(()=>O.map(e=>e.value).join(`|`)||`all`,[O]),A=Nz(e=>e.selectedFiles),j=Nz(e=>e.selectedFiles.size),M=Nz(e=>e.selectAllVisible),N=e.length>0&&j===e.length,P=(0,a.useMemo)(()=>Array.from(A)[0],[A]),F=(0,a.useMemo)(()=>P?t.get(P):void 0,[t,P]),I=F?.isFolder?!1!==u?.enableRenameFolder:!1!==u?.enableRenameFile,L=(0,a.useMemo)(()=>Array.from(A).every(e=>{let n=t.get(e);return!!n&&(n.isFolder?!1!==u?.enableMoveFolder:!1!==u?.enableMoveItem)}),[u,t,A]),ee=(0,a.useMemo)(()=>Array.from(A).every(e=>{let n=t.get(e);return!!n&&(n.isFolder?!1!==u?.enableCopyFolder:!1!==u?.enableCopyItem)}),[u,t,A]),R=(0,a.useMemo)(()=>j===1&&function(e){if(!e||e.isFolder)return!1;let t=e.extension||(e.name&&e.name.includes(`.`)?e.name.split(`.`).pop():void 0)||(e.type?.startsWith(`image/`)?(e.type.split(`/`)[1]?.split(`;`)[0])?.trim():void 0);return!!(t&&MF.includes(t.toLowerCase()))}(F),[j,F]);return(0,c.jsxs)(`div`,j>0?{className:`header-container ${$.headerContainer}`,children:[(0,c.jsxs)(aB,{type:`secondary`,className:`selected-text`,children:[(0,c.jsxs)(`div`,{children:[j,` `,E(`selected`)]}),s&&(0,c.jsx)(l.Tooltip,{title:r?E(`Select all`):null,children:(0,c.jsx)(l.Button,{className:$.buttonSelectAll,onClick:M,disabled:N||e.length===0,children:E(`Select all`)})}),(0,c.jsx)(l.Tooltip,{title:r?E(`Deselected`):null,children:(0,c.jsx)(l.Button,{className:$.buttonDeselected,icon:(0,c.jsx)(C,{size:16,strokeWidth:o}),onClick:y,children:E(`Deselected`)})})]}),(0,c.jsxs)(l.Space,{children:[R&&!1!==u?.enableEdit&&(0,c.jsx)(l.Tooltip,{title:r?E(`Edit`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(h,{size:16,strokeWidth:o}),onClick:()=>T(F),disabled:!R,children:E(`Edit`)})}),L&&(0,c.jsx)(l.Tooltip,{title:r?E(`Move to`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(g,{size:16,strokeWidth:o}),onClick:w,children:E(`Move to`)})}),ee&&(0,c.jsx)(l.Tooltip,{title:r?E(`Copy`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(m,{size:16,strokeWidth:o}),onClick:S,children:E(`Copy`)})}),j===1&&I&&(0,c.jsx)(l.Tooltip,{title:r?E(`Rename`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(i.t,{size:16,strokeWidth:o}),onClick:()=>b(),disabled:j!==1||!I,children:E(`Rename`)})}),!1!==u?.enableDelete&&(0,c.jsx)(l.Tooltip,{title:r?E(`Delete`):null,children:(0,c.jsx)(l.Button,{danger:!0,icon:(0,c.jsx)(D,{size:16,strokeWidth:o}),onClick:e=>{e.stopPropagation(),e.preventDefault(),x()},children:E(`Delete`)})})]})]}:{className:$.headerContainer,children:[(0,c.jsx)(`div`,{className:`search-container`,children:(0,c.jsx)(rB,{placeholder:E(`Search file or folder`),onSearch:p,className:$.searchInput})}),(0,c.jsxs)(`div`,{className:$.actionsBox,children:[(0,c.jsx)(`div`,{className:`sort-container`,children:(0,c.jsx)(l.Select,{value:n,onChange:_,className:$.sortSelect,popupMatchSelectWidth:!1,suffixIcon:(0,c.jsx)(i.c,{size:16,strokeWidth:o}),children:O.map(({value:e,labelKey:t})=>(0,c.jsx)(oB,{value:e,children:E(t)},e))},k)}),(0,c.jsx)(`div`,{className:$.actionsContainer,children:(0,c.jsx)(l.Segmented,{options:[{value:`grid`,icon:(0,c.jsx)(i.a,{size:16,strokeWidth:o})},{value:`table`,icon:(0,c.jsx)(i.r,{size:20,strokeWidth:o})}],value:d,onChange:e=>f(e)})})]})]})});sB.displayName=`FileContentHeader`;var cB=a.default.memo(({fileId:e,style:t})=>{let n=Nz(t=>t.selectedFiles.has(e)),r=Nz(e=>e.toggleFileSelection);return(0,c.jsx)(l.Checkbox,{checked:n,style:t,onClick:e=>{e.stopPropagation()},onChange:t=>{let n=t.nativeEvent;r(e,{metaKey:n.metaKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,forceToggle:!0})}})});cB.displayName=`FileSelectionCheckbox`;var lB=a.default.memo(e=>{var{className:t}=e,n=FR(e,[`className`]);let r=n[`data-row-key`],i=r==null?``:String(r),a=[t,Nz(e=>!!i&&e.selectedFiles.has(i))?$.selectedRow:``].filter(Boolean).join(` `);return(0,c.jsx)(`tr`,Object.assign({},n,{className:a}))});lB.displayName=`SelectableTableRow`;var uB=a.default.memo(({item:e,variant:t=`table`,t:n,iconStrokeWidth:r,setCurrentMenuFile:o,showMoveModal:s,showCopyModal:u,showRenameModal:d,showDeleteConfirm:f,onEdit:p})=>{let[_,v]=(0,a.useState)(!1),y=(0,a.useMemo)(()=>{if(!_)return[];let t=[];return e.canEdit&&t.push({key:`edit`,label:n(`Edit`),icon:(0,c.jsx)(h,{size:16,strokeWidth:r})}),e.canMove&&t.push({key:`move`,label:n(`Move to`),icon:(0,c.jsx)(g,{size:16,strokeWidth:r})}),e.canCopy&&t.push({key:`copy`,label:n(`Copy`),icon:(0,c.jsx)(m,{size:16,strokeWidth:r})}),e.canRename&&t.push({key:`rename`,label:n(`Rename`),icon:(0,c.jsx)(i.t,{size:16,strokeWidth:r})}),e.canDelete&&t.push({key:`delete`,label:n(`Delete`),icon:(0,c.jsx)(D,{size:16,strokeWidth:r}),style:{color:`#ff4d4f`}}),t},[r,_,e.canCopy,e.canDelete,e.canEdit,e.canMove,e.canRename,n]),b=(0,a.useCallback)(({key:t})=>{switch(e.id&&o?.(e.id),t){case`edit`:p(e.file);break;case`move`:s();break;case`copy`:u();break;case`rename`:d(e.id);break;case`delete`:f?.();break;default:o?.(``)}},[e,p,o,u,f,s,d]);return(0,c.jsx)(l.Dropdown,{arrow:!0,placement:`bottom`,menu:(0,a.useMemo)(()=>({items:y,onClick:b}),[b,y]),trigger:[`hover`],onOpenChange:v,children:t===`grid`?(0,c.jsx)(l.Button,{type:`default`,className:`${$.gridFileMenuButton} gridFileMenuButton`,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:(0,c.jsx)(i.s,{size:16,strokeWidth:r})}):(0,c.jsx)(`span`,{className:`${$.tableMenu} tableMenuButton`,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:(0,c.jsx)(i.s,{size:16,strokeWidth:r})})})});uB.displayName=`FileItemActionsDropdown`;var dB=({thumbnailSrc:e,previewSrc:t,lightboxSrc:n,alt:r,className:i,width:o,height:s,preview:u=!1})=>{let f=(0,a.useMemo)(()=>[e,t],[e,t]),p=(0,a.useMemo)(()=>[n,t,e],[n,t,e]),m=qz(f),h=qz(p),{handleError:g,handleLoad:_}=h,v=m.src??jF,y=h.src??m.src,b=(0,a.useRef)(!1);(0,a.useEffect)(()=>{b.current=!1},[y]);let x=(0,a.useCallback)(e=>a.default.cloneElement(e,{key:y??jF,src:y??jF,fallback:void 0,onError:()=>{b.current||(b.current=!0,g().finally(()=>{b.current=!1}).catch(()=>{}))},onLoad:()=>{_()}}),[y,g,_]);return(0,c.jsx)(l.Image,{className:i,src:v,alt:r,width:o,height:s,preview:(0,a.useMemo)(()=>!(!u||!y)&&{src:y,actionsRender:()=>null,destroyOnHidden:!0,cover:(0,c.jsx)(d.EyeOutlined,{style:{fontSize:`20px`}}),imageRender:x},[u,y,x]),onLoad:m.handleLoad,onError:()=>{m.handleError().catch(()=>{})},fallback:jF})},fB=a.default.memo(({item:e,variant:t=`table`,FolderIcon:n,getFileData:r,className:i,width:a,height:o})=>e.isFolder?(0,c.jsx)(`div`,t===`grid`?{className:$.gridFolderIcon,children:(0,c.jsx)(n,{className:$.gridFolderIconImage})}:{className:$.fileManagerTableFolder,children:(0,c.jsx)(`div`,{className:$.fileManagerTableFolderInner,children:(0,c.jsx)(n,{className:$.tableFolderIcon,style:{width:a??40,height:o??40}})})}):e.thumbnailSrc||e.previewSrc?(0,c.jsx)(dB,{className:i,thumbnailSrc:e.thumbnailSrc,previewSrc:e.previewSrc,lightboxSrc:e.lightboxSrc,alt:e.file.name,width:a,height:o,preview:!0,file:e.file,getFileData:r}):null);fB.displayName=`FileItemPreview`;var pB=[`.ant-image`,`.ant-image-preview-root`,`.ant-image-preview-wrap`,`.ant-image-preview-mask`,`.ant-image-preview-close`,`.ant-image-preview-operations`].join(`,`),mB=e=>!!e.closest(pB);function hB(e){if(e.isFolder)return!1;let t=typeof e.name==`string`?e.name:``,n=t?t.split(`.`).pop()?.toLowerCase():void 0,r=e.extension?.toLowerCase()??n;return typeof e.type==`string`&&e.type.startsWith(`image/`)||typeof r==`string`&&NF.includes(r)}var gB=a.default.memo(({item:e,t,iconStrokeWidth:n,FolderIcon:r,handleItemClick:i,setCurrentMenuFile:o,showMoveModal:s,showCopyModal:u,showRenameModal:d,showDeleteConfirm:f,onEdit:p,onEditorOk:m,getFileData:h,showSelectionCheckbox:g=!0})=>{let _=Nz(t=>t.selectedFiles.has(e.id)),v=(0,a.useCallback)(t=>{let n=t.target;n.closest(`.gridFileMenuButton`)||n.closest(`.ant-dropdown-menu`)||mB(n)||t.detail===1&&(e.isFolder?i(e.file):m&&hB(e.file)&&m(e.file))},[i,e.file,e.isFolder,m]);return(0,c.jsx)(l.Col,{className:$.gridCard_col,style:{padding:0},children:(0,c.jsxs)(l.Card,{hoverable:!0,cover:(0,c.jsx)(`div`,{className:e.isFolder?$.gridPreviewContainerFolder:$.gridPreviewContainer,onClick:e=>{e.stopPropagation(),v(e)},children:(0,c.jsx)(fB,{item:e,variant:`grid`,FolderIcon:r,getFileData:h,className:$.gridImagePreview})}),className:`${$.gridCard} ${_?$.gridCardSelected:``}`,onClick:e=>{e.stopPropagation(),e.preventDefault(),v(e)},children:[(0,c.jsxs)(`div`,{className:$.gridCardContent,onClick:e=>{e.stopPropagation(),e.preventDefault(),v(e)},children:[(0,c.jsx)(`div`,{className:$.gridFileName,children:e.nameText||t(`Untitled`)}),(0,c.jsx)(`div`,{className:$.gridFileInfo,children:e.gridInfoText})]}),(0,c.jsx)(`div`,{className:$.gridFileMenu,onClick:e=>{e.stopPropagation()},children:(0,c.jsx)(uB,{item:e,variant:`grid`,t,iconStrokeWidth:n,setCurrentMenuFile:o,showMoveModal:s,showCopyModal:u,showRenameModal:d,showDeleteConfirm:f,onEdit:p})}),g?(0,c.jsx)(`div`,{onClick:e=>{e.stopPropagation()},className:$.gridCheckbox,children:(0,c.jsx)(cB,{fileId:e.id,style:{height:20}})}):null]})})});gB.displayName=`FileGridItem`;var _B=a.default.memo(({rows:e,topOffset:t=0,bottomOffset:n=0,t:r,iconStrokeWidth:i,FolderIcon:a,handleItemClick:o,setCurrentMenuFile:s,showMoveModal:u,showCopyModal:d,showRenameModal:f,showDeleteConfirm:p,onEdit:m,onEditorOk:h,getFileData:g,showSelectionCheckbox:_=!0})=>(0,c.jsx)(c.Fragment,{children:(0,c.jsx)(`div`,{style:{paddingTop:t,paddingBottom:n},children:(0,c.jsx)(l.Row,{gutter:[16,16],className:$.gridRow,style:{gap:20,padding:`0 24px 24px`,margin:0},children:e.map(e=>(0,c.jsx)(gB,{item:e,handleItemClick:o,iconStrokeWidth:i,t:r,FolderIcon:a,setCurrentMenuFile:s,showMoveModal:u,showCopyModal:d,showRenameModal:f,showDeleteConfirm:p,onEdit:m,onEditorOk:h,getFileData:g,showSelectionCheckbox:_},e.id))})})}));_B.displayName=`FileGridView`;var vB=a.default.memo(({rows:e,columns:t,topOffset:n=0,bottomOffset:r=0,onRow:i,components:o})=>{let s=(0,a.useMemo)(()=>(0,c.jsx)(`div`,{style:{paddingTop:n,paddingBottom:r},children:(0,c.jsx)(l.ConfigProvider,{renderEmpty:()=>(0,c.jsx)(l.Empty,{image:(0,c.jsx)(c.Fragment,{}),description:``}),children:(0,c.jsx)(l.Table,{dataSource:e,columns:t,rowKey:`id`,pagination:!1,tableLayout:`fixed`,onRow:i,components:o,showHeader:!1})})}),[r,t,o,i,e,n]);return(0,c.jsx)(`div`,{className:$.tableLoadingWrapper,children:s})});vB.displayName=`FileTableView`;var yB=a.default.memo(({item:e})=>e.dateText?(0,c.jsx)(l.Tooltip,{title:e.dateText,placement:`bottom`,className:$.fileDate,children:e.dateText}):null);yB.displayName=`FileItemDate`;var bB=a.default.memo(({item:e})=>(0,c.jsxs)(`div`,{className:$.fileName,children:[e.nameText,e.isFolder&&(0,c.jsx)(`div`,{className:$.fileItemCount,children:e.folderItemsText})]}));bB.displayName=`FileItemName`;var xB=`filemanager_view_mode`,SB=class{constructor(){this.rowsById=new Map}reconcile(e,t,n){let r=new Map,i=[];for(let a of e){let e=t.getId(a),o=t.buildSignature(a,n),s=this.rowsById.get(e);if(s&&s.signature===o){r.set(e,s),i.push(s);continue}let c=t.buildRowModel(a,n,{id:e,signature:o});r.set(e,c),i.push(c)}return this.rowsById=r,i}},CB=class{createRenderWindow(e,t){let n=t?.renderStrategy??`full`;if(n!==`windowed`){if(n===`positioned`){let n=t?.positioned?.layout??[],r=t?.positioned?.viewportTop??0,i=t?.positioned?.viewportBottom??2**53-1,a=Math.max(0,t?.positioned?.overscanPx??0),o=Math.max(0,t?.positioned?.containerHeight??0),s=n.filter(e=>e.bottom>=r-a&&e.top<=i+a).map(t=>({row:e[t.index],layout:t})).filter(e=>!!e.row),c=s[0]?.layout.index??-1,l=s[s.length-1]?.layout.index??-1;return{rows:s.map(e=>e.row),startIndex:c,endIndex:l,topOffset:0,bottomOffset:0,totalCount:e.length,containerHeight:o,positionedItems:s}}return{rows:e,startIndex:0,endIndex:e.length>0?e.length-1:-1,topOffset:0,bottomOffset:0,totalCount:e.length}}let r=Math.max(0,t?.windowed?.startIndex??0),i=t?.windowed?.endIndex??e.length-1,a=Math.max(0,t?.windowed?.overscan??0),o=Math.max(1,t?.windowed?.estimatedItemSize??1),s=Math.max(1,t?.windowed?.itemsPerLane??1),c=Math.ceil(e.length/s),l=Math.min(e.length-1,i),u=Math.floor(r/s),d=Math.floor(Math.max(r,l)/s),f=Math.max(0,u-a),p=Math.min(c-1,d+a),m=f*s,h=Math.min(e.length-1,(p+1)*s-1),g=Math.max(0,c-p-1);return{rows:e.slice(m,h+1),startIndex:m,endIndex:h,topOffset:f*o,bottomOffset:g*o,totalCount:e.length}}};function wB({items:e,context:t,adapter:n,options:r}){let i=(0,a.useRef)(null),o=(0,a.useRef)(null);i.current||=new SB,o.current||=new CB;let s=(0,a.useMemo)(()=>i.current.reconcile(e,n,t),[n,t,e]);return{rowModels:s,renderWindow:(0,a.useMemo)(()=>o.current.createRenderWindow(s,r),[r,s])}}function TB({totalCount:e,plan:t}){let[n,r]=(0,a.useState)(null);return{engineOptions:(0,a.useMemo)(()=>{if(!t.enabled)return{renderStrategy:`full`};let r=function(e,t){return Math.max(1,e?.viewportHeight??t)}(n,t.fallbackViewportHeight??800),i=Math.max(1,Math.ceil(r/t.estimatedItemSize)),a=Math.max(1,Math.ceil(e/t.itemsPerLane)),o=Math.min(a-1,Math.max(0,Math.floor((n?.scrollTop??0)/t.estimatedItemSize))),s=o+i-1;return{renderStrategy:`windowed`,windowed:{startIndex:o*t.itemsPerLane,endIndex:Math.min(e-1,(s+1)*t.itemsPerLane-1),overscan:t.overscan,estimatedItemSize:t.estimatedItemSize,itemsPerLane:t.itemsPerLane}}},[t.enabled,t.estimatedItemSize,t.fallbackViewportHeight,t.itemsPerLane,t.overscan,e,n]),handleViewportChange:(0,a.useCallback)(e=>{r(t=>t?.viewportHeight===e.viewportHeight&&t?.viewportWidth===e.viewportWidth&&t?.scrollHeight===e.scrollHeight&&t?.scrollTop===e.scrollTop?t:e)},[])}}function EB(e,t){if(typeof e.childCount==`number`)return e.childCount;let n=t[e.id];return n===null?null:n??0}function DB(e){let t=e.extension||(e.name&&e.name.includes(`.`)?e.name.split(`.`).pop():void 0)||(e.type?.startsWith(`image/`)?(e.type.split(`/`)[1]?.split(`;`)[0])?.trim():void 0);return!!(t&&MF.includes(t.toLowerCase()))}function OB(e,t){if(!e)return``;let n=new Date(e);if(Number.isNaN(n.getTime()))return``;let r=[t(`months.january`),t(`months.february`),t(`months.march`),t(`months.april`),t(`months.may`),t(`months.june`),t(`months.july`),t(`months.august`),t(`months.september`),t(`months.october`),t(`months.november`),t(`months.december`)];return t(`Added`,{date:`${n.getDate()} ${r[n.getMonth()]} ${n.getFullYear()}`})}var kB={getId:e=>e.id,buildSignature:(e,t)=>function(e,t){let n=!!e.isFolder,r=n?EB(e,t.folderFileCounts):null,i=n?r===null?`u`:String(r):`0`,a=OB(e.date,t.t),o=!n&&e.size?String(e.size):``,s=e.thumbnailUrl||e.thumbnail,c=e.url&&DB(e)?e.url:``,l=t.previewFallbackToFileUrl?c:``,u=[!1!==t.features?.enableEdit,!1!==t.features?.enableMoveFolder,!1!==t.features?.enableMoveItem,!1!==t.features?.enableCopyFolder,!1!==t.features?.enableCopyItem,!1!==t.features?.enableRenameFolder,!1!==t.features?.enableRenameFile,!1!==t.features?.enableDelete].join(`|`),d=[s||``,l,c].join(`::`);return[e.id,e.name,e.folderId,e.type||``,e.extension||``,d,d,e.dimensions||``,o,a,n?`1`:`0`,i,u].join(`::`)}(e,t),buildRowModel:(e,t,n)=>{let r=!!e.isFolder,i=r?EB(e,t.folderFileCounts):null,a=r&&i===null?`—`:r?`${i} ${i===1?t.t(`item`):t.t(`items`)}`:``,o=e.dimensions||``,s=!r&&e.size?zL(e.size):``,c=r?t.t(`Folder`):function(e){return e.extension||e.name.split(`.`).pop()?.toLowerCase()||(e.url?(e.url.split(`?`)[0].split(`/`).pop()?.split(`.`).pop())?.toLowerCase():``)||``}(e),l=OB(e.date,t.t),u=r?a:[o,s,c].filter(Boolean).join(` • `),d=e.thumbnailUrl||e.thumbnail,f=e.url&&DB(e)?e.url:void 0,p=t.previewFallbackToFileUrl?f:void 0;return{id:n.id,signature:n.signature,item:e,file:e,isFolder:r,nameText:e.name||t.t(`No name`),folderItemsText:a,dimensionsText:o,sizeText:s,typeText:c,dateText:l,gridInfoText:u,thumbnailSrc:d,previewSrc:p,lightboxSrc:f,canEdit:!r&&!1!==t.features?.enableEdit&&DB(e),canMove:r?!1!==t.features?.enableMoveFolder:!1!==t.features?.enableMoveItem,canCopy:r?!1!==t.features?.enableCopyFolder:!1!==t.features?.enableCopyItem,canRename:r?!1!==t.features?.enableRenameFolder:!1!==t.features?.enableRenameFile,canDelete:!1!==t.features?.enableDelete}}},AB=a.default.memo(({files:e,searchTerm:t,handleSearch:n,sortBy:r,sortOrder:i,handleSortOptionChange:o,pagination:s,setPagination:u,loading:d,handleItemClick:f,onClearSelection:p,onRename:m,onDelete:h,onCopy:g,onMove:_,showRenameModal:v,showDeleteConfirm:y,showCopyModal:b,showMoveModal:x,onEdit:S,getFileData:C,handleAddFile:w})=>{let{t:T}=gL(),E=RR(),{DropZoneFileIcon:D,BigStockIcon:k,BigAIIcon:A,FolderIcon:j}=xR(),{options:M,actions:N,state:P}=yR(),{dataProviders:F,config:I}=M,L=I?.disablePagination,{setCurrentMenuFile:ee,setActiveLibraryItem:R}=N,te=P?.selectedFolder===`Trash`,ne=!1!==P?.multiSelect,{viewMode:z,setViewMode:re}=(()=>{let[e,t]=(0,a.useState)(()=>{try{return localStorage.getItem(xB)||`table`}catch{return`table`}}),n=(0,a.useCallback)(e=>{t(e);try{localStorage.setItem(xB,e)}catch{}},[]);return{viewMode:e,setViewMode:n,toggleViewMode:(0,a.useCallback)(()=>{n(e===`table`?`grid`:`table`)},[e,n])}})(),[ie,ae]=(0,a.useState)({}),[oe,se]=(0,a.useState)(!1),ce=(0,a.useRef)(0),le=(0,a.useRef)(null);(0,a.useEffect)(()=>{let e=window.matchMedia(`(max-width: 1199px)`),t=e=>{se(e.matches)};t(e);let n=e=>t(e);return typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n))},[]);let ue=(0,a.useMemo)(()=>I?.features||{},[I?.features]),de=I?.iconStrokeWidth,fe=I?.sortOptions,pe=(0,a.useMemo)(()=>fe?.length?new Set(fe):null,[fe]),me=`${r}-${i}`;(0,a.useEffect)(()=>{if(pe&&!pe.has(me)){let e=iB.find(e=>pe.has(e.value))?.value;e&&o(e)}},[pe,me,o]);let he=(0,a.useMemo)(()=>new Map(e.map(e=>[e.id,e])),[e]),{renderRows:ge,renderWindow:_e,hasAnyValidDate:ve,handleViewportChange:ye}=function({files:e,folderFileCounts:t,features:n,t:r,viewMode:i,previewFallbackToFileUrl:o}){let s=(0,a.useMemo)(()=>({folderFileCounts:t,features:n,t:r,previewFallbackToFileUrl:o}),[n,t,r,o]),[c,l]=(0,a.useState)(()=>5),u=(0,a.useMemo)(()=>{let t=e.length>150;return i===`table`?{enabled:t,estimatedItemSize:56,overscan:10,itemsPerLane:1,fallbackViewportHeight:800}:{enabled:t,estimatedItemSize:320,overscan:2,itemsPerLane:c,fallbackViewportHeight:800}},[e.length,c,i]),{engineOptions:d,handleViewportChange:f}=TB({totalCount:e.length,plan:u}),{rowModels:p,renderWindow:m}=wB({items:e,context:s,adapter:kB,options:d}),h=(0,a.useMemo)(()=>p.some(e=>!!e.dateText),[p]),g=(0,a.useCallback)(e=>{if(i===`grid`){let t=Math.max(1,Math.floor(e.viewportWidth/240));l(e=>e===t?e:t)}f(e)},[f,i]);return{rowModels:p,renderRows:m.rows,renderWindow:m,hasAnyValidDate:h,handleViewportChange:g}}({files:e,folderFileCounts:ie,features:ue,t:T,viewMode:z,previewFallbackToFileUrl:I?.previewFallbackToFileUrl}),be=(0,a.useCallback)(async e=>{try{if(F?.getChildrenCount)return await F.getChildrenCount(e===`folders`?void 0:e);if(F?.getFiles){let{files:t,pagination:n}=await F.getFiles({folderId:e===`folders`?void 0:e,itemType:`all`,page:L?void 0:1,limit:L?void 0:1});return L?Array.isArray(t)?t.length:0:n?.total??(Array.isArray(t)?t.length:0)}return 0}catch(t){if(t?.name===`StaleLoad`)return 0;let n=t;if(n?.status===404||n?.code===`FileNotFound`||n?.code===`path_folder_not_found`||n?.data?.code===`path_folder_not_found`||n?.data?.data?.status===404)return 0;let r=await gz({folderId:e,dataProviders:F,folders:Array.isArray(P.folders)?P.folders:[],pathHistory:P.pathHistory,t:T});return E.error({id:`FOLDER_CHILDREN_COUNT_FAILED`,message:T(`Failed to load folder items count in folder`,{folderName:r}),placement:`bottomRight`,innerException:t,notificationDedupe:!0,data:{folderId:e===`folders`?null:e,folderName:r,reason:t instanceof Error?t.message:String(t)}}),null}},[F,L,E,P.folders,P.pathHistory,T]),xe=(0,a.useCallback)(async()=>{let t=ce.current+1;ce.current=t;let n=e.filter(e=>e.isFolder);if(n.length===0)return void ae(e=>Object.keys(e).length===0?e:{});let r={},i=n.map(async e=>{typeof e.childCount==`number`?r[e.id]=e.childCount:r[e.id]=await be(e.id)});await Promise.all(i),ce.current===t&&ae(e=>{let t=Object.keys(e),n=Object.keys(r);return t.length===n.length&&t.every(t=>e[t]===r[t])?e:r})},[e,be]);(0,a.useEffect)(()=>{xe()},[xe]),(0,a.useEffect)(()=>{le.current&&ye(tB(le.current))},[e.length,ye,z]),(0,a.useEffect)(()=>{if(!le.current||typeof ResizeObserver>`u`)return;let e=le.current,t=new ResizeObserver(()=>{ye(tB(e))});return t.observe(e),()=>{t.disconnect()}},[ye]);let Se=(0,a.useCallback)(e=>{ye(tB(e))},[ye]);(0,a.useEffect)(()=>{let e=le.current;if(!e)return;let t=()=>{Se(e)},n=Qz(e);return n.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),()=>{n.forEach(e=>{e.removeEventListener(`scroll`,t)})}},[e.length,Se,z]);let Ce=(0,a.useCallback)((e,t)=>e!==t,[]),we=(0,a.useMemo)(()=>[...ne?[{key:`selection`,width:46,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(cB,{fileId:t.id})}]:[],{key:`preview`,width:60,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(fB,{item:t,variant:`table`,FolderIcon:j,getFileData:C,className:`${$.imagePreview} ${$.tableImagePreview}`,width:40,height:40})},{title:T(`Name`),width:`calc(100% - 430px)`,dataIndex:`nameText`,key:`name`,className:$.fileNameCol,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(bB,{item:t})},{title:T(`Dimensions`),key:`dimensions`,width:100,shouldCellUpdate:Ce,render:(e,t)=>t.dimensionsText&&(0,c.jsx)(`div`,{className:$.fileSize,children:t.dimensionsText})},{title:T(`Size`),key:`size`,width:90,shouldCellUpdate:Ce,render:(e,t)=>t.sizeText?(0,c.jsx)(`div`,{className:$.fileSize,children:t.sizeText}):null},{title:T(`Type`),key:`type`,width:90,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(`div`,{className:$.fileSize,children:t.typeText})},...ve?[{title:T(`Date`),dataIndex:`dateText`,key:`date`,width:200,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(yB,{item:t})}]:[],{width:40,title:``,dataIndex:``,key:`x`,onCell:()=>({style:{padding:0}}),shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(uB,{item:t,variant:`table`,t:T,iconStrokeWidth:de,setCurrentMenuFile:ee,showMoveModal:x,showCopyModal:b,showRenameModal:v,showDeleteConfirm:y,onEdit:S})}],[j,C,ve,de,ne,S,ee,Ce,b,y,x,v,T]),Te=(0,a.useMemo)(()=>({body:{row:lB}}),[]),Ee=(0,a.useCallback)(e=>({onClick:t=>{if(t.stopPropagation(),t.preventDefault(),t.detail!==1)return;let n=t.target,r=!!n.closest(`.ant-checkbox-wrapper`),i=!!n.closest(`.tableMenuButton`),a=!!n.closest(`.ant-dropdown-menu`);r||mB(n)||i||a||(e.isFolder?f(e.file):M.onEditorOk&&hB(e.file)&&M.onEditorOk(e.file))}}),[f,M]),De=z===`table`?(0,c.jsx)(vB,{rows:ge,columns:we,topOffset:_e.topOffset,bottomOffset:_e.bottomOffset,onRow:Ee,components:Te}):(0,c.jsx)(_B,{rows:ge,topOffset:_e.topOffset,bottomOffset:_e.bottomOffset,t:T,iconStrokeWidth:de,FolderIcon:j,handleItemClick:f,setCurrentMenuFile:ee,showMoveModal:x,showCopyModal:b,showRenameModal:v,showDeleteConfirm:y,onEdit:S,onEditorOk:M.onEditorOk,getFileData:C,showSelectionCheckbox:ne});t&&!e.length&&(De=(0,c.jsx)(ER,{}));let Oe=(I?.availableImageExtensions)?.map(e=>`.`+e).join(`, `),ke=(0,c.jsxs)(`div`,te?{className:`${$.noFiles} ant-layout-sider-light`,children:[(0,c.jsx)(O,{size:48,className:$.noFilesIcon}),(0,c.jsx)(`div`,{className:`${$.textTitle_trash} ant-menu-submenu-title`,children:T(`Trash is empty`)}),(0,c.jsx)(`div`,{className:`${$.textDescription_trash} ant-menu-submenu-title`,children:T(`Deleted files will be displayed here`)})]}:{className:$.uploadContainer,children:[(0,c.jsxs)(`div`,{className:`${$.uploadArea} `,onClick:w,children:[(0,c.jsx)(`div`,{className:$.uploadIcon,children:(0,c.jsx)(D,{})}),(0,c.jsx)(`div`,{className:$.textTitle,children:T(`Click here to select a file`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:T(`Supported files:`)+` `+(Oe||`jpeg, .svg, .png`)})]}),(0,c.jsxs)(`div`,{className:$.buttons,children:[(0,c.jsxs)(`button`,{className:$.btnPhoto,onClick:()=>{R&&R(bF)},children:[(0,c.jsx)(`div`,{className:$.icon,children:(0,c.jsx)(k,{})}),(0,c.jsxs)(`div`,{className:$.blockText,children:[(0,c.jsx)(`div`,{className:$.textTitle,children:T(`Stock`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:T(`Select an image from our library`)})]})]}),(0,c.jsxs)(`button`,{className:$.btnAi,onClick:()=>{R&&R(SF)},children:[(0,c.jsx)(`div`,{className:$.icon,children:(0,c.jsx)(A,{})}),(0,c.jsxs)(`div`,{className:$.blockText,children:[(0,c.jsx)(`div`,{className:$.textTitle,children:T(`AI generation`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:T(`Creating an image on demand`)})]})]})]})]});return(0,c.jsx)(`div`,{className:`content-layout ${$.contentLayout}`,children:d||e?.length!==0||t?(0,c.jsxs)(`div`,{className:$.tableContainer,children:[(0,c.jsx)(sB,{files:e,filesById:he,currentSortOption:me,isSmallScreen:oe,iconStrokeWidth:de,multiSelectEnabled:ne,features:ue,viewMode:z,setViewMode:re,handleSearch:n,handleSortOptionChange:o,sortOptions:fe,onClearSelection:p,onRename:m,onDelete:h,onCopy:g,onMove:_,onEdit:S,t:T}),(0,c.jsxs)(`div`,{ref:le,className:$.filesContainer,children:[De,d?(0,c.jsx)(`div`,{className:$.filesLoadingOverlay,"aria-busy":`true`,"aria-live":`polite`,children:(0,c.jsx)(l.Spin,{size:`large`})}):null]}),!L&&s.total>s.pageSize&&(0,c.jsx)(`div`,{className:$.paginationContainer,children:(0,c.jsx)(l.Pagination,{current:s.current,pageSize:s.pageSize,total:s.total,onChange:(e,t)=>u({current:e,pageSize:t,total:s.total}),showSizeChanger:!0,showTotal:e=>T(`total pages`,{total:e})})})]}):(0,c.jsx)(`div`,{className:$.emptyStateWrapper,children:ke})})});AB.displayName=`FileContent`;var jB=`folderTree`,MB=`emptyFolderContainer`,NB=`folderItemContainer`,PB=`folderLabel`,FB=`folderLabelItem`,IB=`fileCount`,LB=`foldersTitle`,RB=`foldersTitleItem`,zB=`folderMenu`,BB=({selectedFolder:e,onSelect:t,onExpand:n,generateMenuItems:r,fetchChildFolders:i,disabledFolders:o=[],showFileCounts:s=!1,folderFileCounts:u={},className:d=``,expandedKeys:f,setExpandedKeys:p,showTrashFolder:m=!1,mode:h=`navigation`,defaultExpandAll:g=!1})=>{let{t:_}=gL(),{options:v}=yR(),{config:y}=v,{ExpandArrowIcon:b,CollapseArrowIcon:x,CollapseFolderIcon:S,ExpandFolderIcon:C,EmptyFolderIcon:w}=xR(),T=(0,a.useCallback)(e=>{let t=[],n=e=>{e.forEach(e=>{t.push(e.key),e.children&&n(e.children)})};return n(e),t},[]),[E,O]=(0,a.useState)(()=>g||h===`selection`&&g?T(r()):[]),k=f===void 0?E:f,A=p===void 0?O:p;(0,a.useEffect)(()=>{if(g||h===`selection`&&g){let e=T(r());f===void 0&&O(e)}},[g,h,r,T,f]);let j=(0,a.useCallback)(async e=>{let n=e[0];n&&n!==`empty`&&!n.endsWith(`_input`)&&(t?.(e),await i?.(n===`folders`?null:n))},[t,i]),M=(0,a.useCallback)(async(e,t)=>{if(A(e),n?.(e,t),y?.folderTreeLoading!==`lazy`)return;let r=t?.node?.key||void 0;if(r&&r!==`folders`)try{await i?.(r)}catch{}},[y?.folderTreeLoading,i,n,A]),N=(0,a.useCallback)(()=>{let t=r(),n=e=>e.filter(e=>e.key!==`Trash`).map(e=>Object.assign(Object.assign({},e),{children:e.children?n(e.children):void 0})),i=m?n(t):t,a=t=>{h===`selection`||(k.includes(t)&&e===t?A(k.filter(e=>e!==t)):k.includes(t)||A([...k,t])),j([t])},l=i.length===0||i.length===1&&(!i[0].children||i[0].children.length===0),d=e=>{let t=s?u[e.key]:void 0,n=s&&t===null?null:s&&t!=null?t:0,r=k.includes(e.key),i=o.includes(e.key),l=e.children?.length?(0,c.jsx)(r?S:C,{size:20,strokeWidth:y?.iconStrokeWidth}):(0,c.jsx)(w,{size:20,strokeWidth:y?.iconStrokeWidth}),f=(0,c.jsxs)(`div`,{className:`${NB} folder-item-container`,onClick:()=>!i&&a(e.key),style:{opacity:i?.5:1,cursor:i?`not-allowed`:`pointer`},children:[(0,c.jsxs)(`div`,{className:PB,children:[e.icon===void 0?l:e.icon,(0,c.jsx)(`span`,{className:FB,children:e.label})]}),s&&(0,c.jsx)(`div`,{className:IB,title:n===null?void 0:`${n} ${_(n===1?`item`:`items`)}`,children:n===null?`—`:n})]});return{key:e.key,title:f,children:e.children?.map(d),disabled:i}},f=(0,c.jsx)(`div`,{className:LB,onClick:()=>a(`folders`),children:(0,c.jsxs)(`div`,{className:RB,children:[(0,c.jsx)(k.includes(`folders`)?S:C,{size:20,strokeWidth:y?.iconStrokeWidth}),(0,c.jsx)(`span`,{className:`${FB} folder-label-item`,children:i[0]?.key===`folders`?i[0].label:_(`Folders`)})]})}),p=()=>({key:`Trash`,title:(0,c.jsx)(`div`,{className:LB,onClick:()=>a(`Trash`),children:(0,c.jsxs)(`div`,{className:RB,children:[(0,c.jsx)(D,{size:20,strokeWidth:y?.iconStrokeWidth}),(0,c.jsx)(`span`,{className:FB,children:_(`Trash`)})]})}),children:void 0});if(l){if(!m)return[{key:`empty`,title:(0,c.jsx)(`div`,{className:MB,children:_(`No folders yet`)}),disabled:!0}];let e=[];return i.length>0&&i[0].key===`folders`&&e.push({key:`folders`,title:f,children:[]}),e.push(p()),e}if(i.length>0&&i[0].key===`folders`){let e=[{key:`folders`,title:f,children:i[0].children?.map(d)}];return m&&e.push(p()),e}return i.map(d)},[r,k,S,y?.iconStrokeWidth,C,_,e,j,s,u,w,o,m,h,A]),P=(0,a.useMemo)(()=>N(),[N]);return(0,c.jsx)(l.Tree,{className:`${jB} ${zB} ${d}`,selectedKeys:e?[e]:[],expandedKeys:k,onSelect:j,onExpand:M,treeData:P,switcherIcon:({expanded:e})=>(0,c.jsx)(e?x:b,{}),showLine:!1,focusable:h!==`selection`})},VB=({style:e={},wrap:t=!1})=>(0,c.jsx)(l.Space,{size:`large`,style:Object.assign({width:`100%`,height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},e),wrap:t,children:(0,c.jsx)(l.Spin,{})}),HB={formFooter:`formFooter`,folderButton:`folderButton`,foldersWrapper:`foldersWrapper`,formItem:`formItem`,folderToolsField:`folderToolsField`,inputButtonOk:`inputButtonOk`,permanentDeleteWarning:`permanentDeleteWarning`,clearTrashProgress:`clearTrashProgress`,progressText:`progressText`,closeIcon:`closeIcon`,modalContentWithLoader:`modalContentWithLoader`,modalLoaderOverlay:`modalLoaderOverlay`},UB=({folderId:e,activeFormField:t,EmptyFolderIcon:n,targetForm:r,handleModalOk:i,onComplete:a,setIsLoading:o,t:s})=>(0,c.jsx)(l.Form.Item,{className:`form-item form-item-moveto `+(t===e?`form-item_active`:``),name:`folderName`,rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(s(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{className:`form-input`,autoFocus:!0,onFocus:e=>e.stopPropagation(),prefix:(0,c.jsx)(n,{style:{marginRight:6}}),suffix:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Tooltip,{placement:`top`,title:`Clean`,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(d.CloseOutlined,{style:{fontSize:10}}),className:HB.inputButtonClose,type:`text`,onClick:()=>{r.setFieldsValue({folderName:``})}})}),(0,c.jsx)(l.Button,{className:HB.inputButtonOk,type:`text`,onClick:()=>{o(!0),i(r).then(e=>{a(e?.id)}).finally(()=>o(!1))},children:s(`Create`)})]})})});function WB({folders:e,selectedFolder:t,EmptyFolderIcon:n,handleCreateFolderModalOk:r,setIsLoading:i,t:o}){let[s,u]=a.default.useState(``),d=a.default.useCallback((e,t)=>a=>(0,c.jsx)(UB,{folderId:a,activeFormField:s,EmptyFolderIcon:n,targetForm:e,handleModalOk:r,onComplete:t,setIsLoading:i,t:o},a),[n,s,r,i,o]),f=a.default.useCallback(e=>{let{folderId:t,targetForm:n,onTreeSelect:r,onComplete:i}=e;return{handleAddFolder:e=>{e.preventDefault(),e.stopPropagation(),u(t),n.setFieldsValue({folderName:o(`New folder`),targetFolder:t})},handleSelectFolder:e=>{e.preventDefault(),e.stopPropagation(),r([t]).then(()=>i(t))}}},[o]);return{activeFormField:s,setActiveFormField:u,generateMenuItemsFromFolders:a.default.useCallback(n=>{let{targetForm:r,onTreeSelect:i,onComplete:a,actionButtonText:u}=n,p=d(r,a),m=Array.isArray(e)?e:[],h=(e=null,n=new Set)=>m.filter(t=>{let n=e===null&&!t.parentId,r=t.parentId===e;return n||r}).map(e=>{if(n.has(e.id))return{key:e.id,label:`${e.name} (циклическая ссылка)`};let o=new Set(n);o.add(e.id);let d=h(e.id,o),{handleAddFolder:m,handleSelectFolder:g}=f({folderId:e.id,targetForm:r,onTreeSelect:i,onComplete:a}),_=s===e.id?[{key:`${e.id}_input`,label:p(e.id),icon:null},...d]:d;return{key:e.id,label:(0,c.jsxs)(c.Fragment,{children:[e.name,t!==e.id&&(0,c.jsxs)(`div`,{className:`${HB.folderToolsField} folder-tools-field`,children:[(0,c.jsx)(l.Button,{onClick:m,children:`+`}),(0,c.jsx)(l.Button,{onClick:g,children:u})]})]}),children:_}}),g=h(),{handleAddFolder:_,handleSelectFolder:v}=f({folderId:`folders`,targetForm:r,onTreeSelect:i,onComplete:a}),y=s===`folders`?[{key:`folders_input`,label:p(`folders`),icon:null},...g]:g;return[{key:`folders`,label:(0,c.jsxs)(c.Fragment,{children:[o(`Folders`),t!==`folders`&&t!==null&&(0,c.jsxs)(`div`,{className:`${HB.folderToolsField} folder-tools-field`,children:[(0,c.jsx)(l.Button,{onClick:_,children:`+`}),(0,c.jsx)(l.Button,{onClick:v,children:u})]})]}),children:y}]},[s,d,f,e,t,o])}}var GB=(0,a.memo)(({folderId:e,activeFormField:t,EmptyFolderIcon:n,targetForm:r,handleModalOk:i,onComplete:o,t:s,setIsLoading:u,defaultFolderName:d})=>{let f=(0,a.useCallback)(()=>{u(!0),i(r).then(e=>o(e?.id)).finally(()=>u(!1))},[i,r,o,u]);return(0,c.jsx)(l.Form.Item,{className:`form-item form-item-moveto `+(t===e?`form-item_active`:``),name:`folderName`,initialValue:d,rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(s(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{className:`form-input`,autoFocus:!0,prefix:(0,c.jsx)(n,{style:{marginRight:6}}),suffix:(0,c.jsx)(l.Button,{className:HB.inputButtonOk,type:`text`,onClick:()=>{u(!0),f()},children:s(`Create`)})})})});GB.displayName=`CustomFolderInput`;var KB=({isModalVisible:e,handleModalOk:t,handleModalCancel:n,form:r,selectedFolder:o,folders:s,isUrlModalVisible:u,setIsUrlModalVisible:f,handleAddFileByUrl:p,urlForm:m,isRenameModalVisible:h,handleRenameOk:g,handleRenameCancel:_,renameForm:v,fileToRename:y,files:b,isMoveModalVisible:x,handleMoveOk:S,handleMoveCancel:C,moveForm:w,selectedFiles:T,isRenameFolderModalVisible:E,handleRenameFolderOk:D,handleRenameFolderCancel:O,renameFolderForm:k,folderToRename:A,isCopyModalVisible:j,handleCopyOk:M,handleCopyCancel:N,copyForm:P,isDeleteConfirmVisible:F,handleDeleteConfirmOk:I,handleDeleteConfirmCancel:L,isClearTrashConfirmVisible:ee,handleClearTrashConfirm:R,handleClearTrashCancel:te,fetchChildFolders:ne})=>{let{t:z}=gL(),{state:re,actions:ie,options:ae}=yR(),{setCurrentMenuFile:oe}=ie,{config:se,getModalContainer:ce}=ae,{currentMenuFile:le}=re,ue=l.Form.useWatch(`folderName`,r),{EmptyFolderIcon:de}=xR(),[fe,pe]=(0,a.useState)(!1),me=(0,a.useMemo)(()=>(se?.defaultFolderName)?.trim()||z(`New folder`),[se?.defaultFolderName,z]),he=!ue||String(ue).trim().length===0,ge=(0,a.useMemo)(()=>Array.isArray(b)?b:[],[b]),_e=y?ge.find(e=>e.id===y)?.name:``,ve=Array.isArray(s)?s:[],ye=A?ve.find(e=>e.id===A)?.name:``,{activeFormField:be,setActiveFormField:xe,generateMenuItemsFromFolders:Se}=WB({folders:ve,selectedFolder:o,EmptyFolderIcon:de,handleCreateFolderModalOk:t,setIsLoading:e=>pe(!!e),t:z});(0,a.useEffect)(()=>{if(F){let e=setTimeout(()=>{let e=document.querySelector(`.deleteModal`);if(e){let t=e.querySelector(`.ant-modal-footer`);if(t){let e=t.querySelector(`.ant-btn-primary`);e&&e.focus()}}},100);return()=>clearTimeout(e)}},[F]);let Ce=(y?ge.find(e=>e.id===y):null)?.isFolder||y?.startsWith(`folder_`),we=(0,a.useCallback)(async e=>{e.length>0&&(w.setFieldsValue({targetFolder:e[0]}),be!==e[0].toString()&&xe(``))},[w,be,xe]),Te=(0,a.useCallback)(async e=>{e.length>0&&(P.setFieldsValue({targetFolder:e[0]}),be!==e[0].toString()&&xe(``))},[be,P,xe]),Ee=(0,a.useCallback)(async e=>{pe(!0);try{await S(e)}finally{pe(!1)}},[S]),De=(0,a.useCallback)(async e=>{pe(!0);try{await M(e)}finally{pe(!1)}},[M]),Oe=(0,a.useMemo)(()=>{let e=Array.from(T).filter(e=>ge.find(t=>t.id===e)?.isFolder||s.some(t=>t.id===e));return o&&o!==`folders`?e.push(o):o&&o!==`folders`||e.push(`folders`),e},[T,ge,s,o]);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Creating a new folder`)}),open:e,onOk:()=>t(),onCancel:n,okText:z(`Create`),cancelText:z(`Cancel`),okButtonProps:{disabled:he,loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>pe(!1),centered:!0,getContainer:ce,children:(0,c.jsxs)(l.Form,{form:r,layout:`vertical`,children:[(0,c.jsx)(l.Form.Item,{name:`folderName`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(`Folder name`)}),rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(z(`Enter the name of the folder`))):Promise.resolve()}],initialValue:me,className:`form-item`,style:{marginBottom:5},children:(0,c.jsx)(l.Input,{autoFocus:!0,className:`form-input`,disabled:fe,placeholder:z(`Enter the name`),onPressEnter:async()=>{pe(!0);try{await r.validateFields(),he||await t()}catch{pe(!1)}}})}),(0,c.jsx)(`div`,{children:o&&o!==`folders`?(0,c.jsxs)(`p`,{className:`fm-note`,children:[z(`A folder will be created inside:`),` `,ve.find(e=>e.id===o)?.name||z(`selected folder`),`.`]}):(0,c.jsx)(`p`,{className:`fm-note`,children:z(`The folder will be created in the root directory.`)})})]})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Upload file by URL`)}),open:u,onOk:async()=>{pe(!0);try{let e=await m.validateFields();await p(String(e.fileUrl??``).trim(),void 0,void 0,`uploadByUrl`)}catch{}finally{pe(!1)}},onCancel:()=>f(!1),okText:z(`Download`),okButtonProps:{loading:fe},cancelText:z(`Cancel`),cancelButtonProps:{disabled:fe},afterClose:()=>pe(!1),centered:!0,getContainer:ce,children:(0,c.jsx)(l.Form,{form:m,layout:`vertical`,children:(0,c.jsx)(l.Form.Item,{name:`fileUrl`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(`File URL`)}),rules:[{required:!0,message:z(`Enter the URL of the image`)},{validator:(e,t)=>{if(!t||!String(t).trim())return Promise.resolve();try{return rz(String(t),z),Promise.resolve()}catch(e){return Promise.reject(Error(e instanceof Error?e.message:z(`The specified URL is not valid.`)))}}}],validateTrigger:`onBlur`,className:`form-item`,children:(0,c.jsx)(l.Input,{className:`form-input`,placeholder:`https://example.com/image.jpg`,autoFocus:!0,disabled:fe,onPressEnter:async()=>{pe(!0);try{let e=await m.validateFields();await p(String(e.fileUrl??``).trim(),void 0,void 0,`uploadByUrl`)}catch{}finally{pe(!1)}}})})})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:Ce?`${z(`Rename folder`)} ${_e}`:z(`Rename file`,{currentFileName:_e})}),open:h,onOk:g,okText:z(`Rename`),okButtonProps:{loading:fe},onCancel:_,cancelText:z(`Cancel`),cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1),oe&&oe(``)},centered:!0,getContainer:ce,children:(0,c.jsx)(l.Form,{form:v,layout:`vertical`,children:(0,c.jsx)(l.Form.Item,{name:`newFileName`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(Ce?`New folder name`:`New file name`)}),rules:[{required:!0,message:z(Ce?`Enter a new folder name`:`Enter a new file name`)}],className:`form-item`,children:(0,c.jsx)(l.Input,{autoFocus:!0,className:`form-input`,disabled:fe,onPressEnter:async()=>{pe(!0);try{await v.validateFields(),g()}catch{pe(!1)}}})})})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Move to`)}),open:x,onCancel:C,footer:(0,c.jsxs)(`div`,{className:HB.formFooter,children:[(0,c.jsxs)(l.Button,{className:HB.folderButton,onClick:()=>{let e=o??`folders`;xe(e),w.setFieldsValue({folderName:me,targetFolder:e})},loading:fe,children:[(0,c.jsx)(i.o,{size:18,strokeWidth:se?.iconStrokeWidth}),z(`Create folder`)]}),(0,c.jsx)(l.Button,{type:`primary`,className:HB.folderButton,onClick:C,loading:fe,children:z(`Done`)})]}),afterClose:()=>{oe&&oe(``),xe(``),pe(!1)},loading:fe,centered:!0,getContainer:ce,children:(0,c.jsxs)(`div`,{className:HB.modalContentWithLoader,children:[fe&&(0,c.jsx)(`div`,{className:HB.modalLoaderOverlay,children:(0,c.jsx)(VB,{})}),(0,c.jsx)(l.Form,{form:w,layout:`vertical`,initialValues:{targetFolder:`folders`,folderName:me,is_force_create:!1},children:(0,c.jsxs)(`div`,{className:HB.foldersWrapper,children:[(0,c.jsx)(l.Form.Item,{name:`targetFolder`,rules:[{required:!0,message:z(`Select the destination folder`)}],className:HB.formItem,children:(0,c.jsx)(BB,{onSelect:we,generateMenuItems:()=>Se({targetForm:w,onTreeSelect:we,onComplete:Ee,actionButtonText:z(`Move here`)}),fetchChildFolders:ne,disabledFolders:Oe,mode:`selection`,className:`folderSelectionTree`,defaultExpandAll:!0})}),(0,c.jsx)(l.Form.Item,{name:`folderName`,style:{display:`none`},rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(z(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{})}),(0,c.jsx)(l.Form.Item,{name:`is_force_create`,style:{display:`none`},children:(0,c.jsx)(l.Input,{})})]})})]})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Copy to folder`)}),open:j,onCancel:N,footer:(0,c.jsxs)(`div`,{className:HB.formFooter,children:[(0,c.jsxs)(l.Button,{className:HB.folderButton,onClick:()=>{let e=o??`folders`;xe(e),P.setFieldsValue({folderName:me,targetFolder:e})},loading:fe,children:[(0,c.jsx)(i.o,{size:18,strokeWidth:se?.iconStrokeWidth}),z(`Create folder`)]}),(0,c.jsx)(l.Button,{type:`primary`,className:HB.folderButton,onClick:N,loading:fe,children:z(`Done`)})]}),afterClose:()=>{oe&&oe(``),xe(``),pe(!1)},loading:fe,centered:!0,getContainer:ce,children:(0,c.jsxs)(`div`,{className:HB.modalContentWithLoader,children:[fe&&(0,c.jsx)(`div`,{className:HB.modalLoaderOverlay,children:(0,c.jsx)(VB,{})}),(0,c.jsx)(l.Form,{form:P,layout:`vertical`,initialValues:{targetFolder:`folders`,folderName:me,is_force_create:!1},children:(0,c.jsxs)(`div`,{className:HB.foldersWrapper,children:[(0,c.jsx)(l.Form.Item,{name:`targetFolder`,rules:[{required:!0,message:z(`Select the destination folder`)}],className:HB.formItem,children:(0,c.jsx)(BB,{onSelect:Te,generateMenuItems:()=>Se({targetForm:P,onTreeSelect:Te,onComplete:De,actionButtonText:z(`Copy here`)}),fetchChildFolders:ne,disabledFolders:Oe,mode:`selection`,className:`folderSelectionTree`,defaultExpandAll:!0})}),(0,c.jsx)(l.Form.Item,{name:`folderName`,style:{display:`none`},rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(z(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{})}),(0,c.jsx)(l.Form.Item,{name:`is_force_create`,style:{display:`none`},children:(0,c.jsx)(l.Input,{})})]})})]})}),(0,c.jsx)(l.Modal,{title:(0,c.jsxs)(`div`,{className:`modal-title`,children:[z(`Rename folder`),` `,ye]}),open:E,onOk:D,onCancel:O,okText:z(`Rename`),cancelText:z(`Cancel`),okButtonProps:{loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1),oe&&oe(``)},centered:!0,getContainer:ce,children:(0,c.jsx)(l.Form,{form:k,layout:`vertical`,children:(0,c.jsx)(l.Form.Item,{name:`newFolderName`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(`New folder name`)}),rules:[{required:!0,message:z(`Enter a new folder name`)}],className:`form-item`,children:(0,c.jsx)(l.Input,{autoFocus:!0,className:`form-input`,disabled:fe,onPressEnter:async()=>{pe(!0);try{await k.validateFields(),D()}catch{pe(!1)}}})})})}),(0,c.jsx)(l.Modal,{className:`${HB.deleteModal} deleteModal`,title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(se?.enableTrashFolder&&o===`Trash`||!se?.enableTrashFolder?`Permanently delete`:`Move to Trash`)}),open:!!F,onOk:()=>{pe(!0);try{I&&I()}catch{pe(!1)}},onCancel:()=>L&&L(),okText:se?.enableTrashFolder&&o===`Trash`?z(`Delete permanently`):se?.enableTrashFolder?z(`Move to Trash`):z(`Delete`),cancelText:z(`Cancel`),okButtonProps:{danger:!se?.enableTrashFolder||o===`Trash`,loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1),oe&&oe(``)},closeIcon:(0,c.jsx)(d.CloseOutlined,{className:HB.closeIcon}),centered:!0,getContainer:ce,children:(()=>{let e=(le?[le]:Array.from(T||[])).map(e=>ge.find(t=>t.id===e)).filter(e=>!!e),t=e.filter(e=>e.isFolder||e.id.startsWith(`folder_`)),n=e.filter(e=>!(e.isFolder||e.id.startsWith(`folder_`))),r=e.length,i=t.length,a=n.length,s=!!se?.enableTrashFolder;if(!s||s&&o===`Trash`){let e;if(r===1&&i===1){let n=t[0];e=z(`delete_folder_permanent`,{name:n?.name||``,count:n?.childCount??0})}else e=i===0&&a>0?z(`delete_files_permanent`,{count:a}):z(`delete_mixed_permanent`,{total:r,folders:i,images:a});return(0,c.jsxs)(`div`,{children:[(0,c.jsx)(`div`,{children:e}),(0,c.jsx)(`p`,{className:HB.permanentDeleteWarning,children:z(`permanent_delete_warning`)})]})}if(r===1&&i===1){let e=t[0];return(0,c.jsx)(`div`,{children:z(`move_folder_to_trash`,{name:e?.name||``,count:e?.childCount??0})})}return(0,c.jsx)(`div`,i===0&&a>0?{children:z(`move_files_to_trash`,{count:a})}:{children:z(`move_mixed_to_trash`,{total:r,folders:i,images:a})})})()}),(0,c.jsxs)(l.Modal,{className:`${HB.deleteModal} deleteModal`,title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Clear Trash`)}),open:!!ee,onOk:async()=>{pe(!0),R&&await R(),pe(!1)},onCancel:()=>te&&te(),okText:z(`Delete permanently`),cancelText:z(`Cancel`),okButtonProps:{danger:!0,loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1)},closeIcon:(0,c.jsx)(d.CloseOutlined,{className:HB.closeIcon}),centered:!0,getContainer:ce,children:[(0,c.jsx)(`div`,{children:z(`Are you sure you want to permanently delete all items from Trash?`)}),fe&&(0,c.jsxs)(`div`,{className:HB.clearTrashProgress,children:[(0,c.jsx)(l.Progress,{percent:99,status:`active`,showInfo:!1}),(0,c.jsx)(`div`,{className:HB.progressText,children:z(`Deleting items...`)})]})]})]})},qB={button:`button`,folderActions:`folderActions`,uploadButton:`uploadButton`,foldersContainer:`foldersContainer`,buttonWrapper:`buttonWrapper`,uploadButtonTitle:`uploadButtonTitle`},JB=(0,a.memo)((0,a.forwardRef)(({selectedFolder:e,generateMenuItems:t,onFolderSelect:n,folders:r,fetchChildFolders:o,handleAddFile:s,setIsUrlModalVisible:u,handleCreateFolder:f,activeLibraryItem:m,setActiveLibraryItem:h},g)=>{let _=(0,a.useMemo)(()=>Array.isArray(r)?r:[],[r]),{t:v}=gL(),S=RR(),[C,w]=(0,a.useState)({}),{options:E,state:D}=yR(),{dataProviders:O,config:k}=E,A=D.pathHistory,j=!1!==k?.features?.enableGif&&(!k?.enabledTabs||k.enabledTabs.includes(`gif`)),M=!1!==k?.features?.enableStockImages&&(!k?.enabledTabs||k.enabledTabs.includes(`stock`)),N=!1!==k?.features?.enableIconStock&&(!k?.enabledTabs||k.enabledTabs.includes(`icons`)),P=!1!==k?.features?.enableQrBarcodeTab&&(!k?.enabledTabs||k.enabledTabs.includes(`codes`)),F=(0,a.useCallback)(e=>{let t=[],n=e=>{e.forEach(e=>{t.push(e.key),e.children&&n(e.children)})};return n(e),t},[]),[I,L]=(0,a.useState)(()=>!0===k?.expandAllFoldersOnInit&&k?.folderTreeLoading!==`lazy`?F(t()):!0===k?.expandRootFolderOnInit?[`folders`]:[]),ee=(0,a.useRef)(!1),R=(0,a.useRef)(!1);(0,a.useEffect)(()=>{ee.current||k?.folderTreeLoading===`lazy`&&!0===k?.expandRootFolderOnInit&&(ee.current=!0,(async()=>{try{await o?.(null)}catch{}})())},[k?.folderTreeLoading,k?.expandRootFolderOnInit,o]),(0,a.useEffect)(()=>{!0===k?.expandRootFolderOnInit&&Array.isArray(_)&&_.length>0&&(R.current||I&&I.length!==0||(R.current=!0,L([`folders`])))},[k?.expandRootFolderOnInit,_,I]),(0,a.useEffect)(()=>{if(!0===k?.expandAllFoldersOnInit&&k?.folderTreeLoading!==`lazy`){L(F(t()));return}!0===k?.expandRootFolderOnInit&&L(e=>e&&e.length>0?[...e]:[`folders`])},[_,t,F,k?.expandAllFoldersOnInit,k?.folderTreeLoading,k?.expandRootFolderOnInit]);let te=k?.disablePagination,ne=(0,a.useCallback)(async e=>{try{if(O?.getChildrenCount)return await O.getChildrenCount(e===`folders`?void 0:e);if(O?.getFiles){let{files:t,pagination:n}=await O.getFiles({folderId:e===`folders`?void 0:e,itemType:`all`,page:te?void 0:1,limit:te?void 0:1});return te?Array.isArray(t)?t.length:0:n?.total??(Array.isArray(t)?t.length:0)}return 0}catch(t){if(t?.name===`StaleLoad`)return 0;let n=t;if(n?.status===404||n?.code===`FileNotFound`||n?.code===`path_folder_not_found`||n?.data?.code===`path_folder_not_found`||n?.data?.data?.status===404)return 0;let r=await gz({folderId:e,dataProviders:O,folders:_,pathHistory:A,t:v});return S.error({id:`FOLDER_CHILDREN_COUNT_FAILED`,message:v(`Failed to load folder items count in folder`,{folderName:r}),placement:`bottomRight`,innerException:t,notificationDedupe:!0,data:{folderId:e===`folders`?null:e,folderName:r,reason:t instanceof Error?t.message:String(t)}}),null}},[O,te,S,A,_,v]),z=(0,a.useCallback)(async()=>{if(_.length===0)return;let e={};e.folders=await ne(`folders`);let t=_.map(async t=>{typeof t.childCount==`number`?e[t.id]=t.childCount:e[t.id]=await ne(t.id)});await Promise.all(t),w(e)},[_,ne]),re=(0,a.useCallback)(async e=>{let t=await ne(e);w(n=>Object.assign(Object.assign({},n),{[e]:t}))},[ne]);(0,a.useImperativeHandle)(g,()=>({refreshFileCounts:z}),[z]),(0,a.useEffect)(()=>{z()},[z]),(0,a.useEffect)(()=>{if(!e||e===`folders`)return;let t=(e,n=new Set)=>{if(n.has(e))return[];let r=_.find(t=>t.id===e);if(!r||!r.parentId)return[];let i=new Set(n);return i.add(e),[...t(r.parentId,i),r.parentId]},n=t(e);n.length>0?L(e=>{let t=new Set(e);return n.forEach(e=>t.add(e)),t.add(`folders`),Array.from(t)}):L(e=>e.includes(`folders`)?e:[...e,`folders`])},[e,_]);let ie=(0,a.useCallback)(async()=>{await s(),e?await re(e):await re(`folders`)},[s,e,re]),ae=[{key:vF,label:v(`My files`),icon:(0,c.jsx)(i.i,{size:20,strokeWidth:k?.iconStrokeWidth})},{key:yF,label:v(`GIF`),icon:(0,c.jsx)(b,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!j},{key:bF,label:v(`Stock images`),icon:(0,c.jsx)(p,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!M},{key:xF,label:v(`Icons`),icon:(0,c.jsx)(d.LikeOutlined,{size:20}),disabled:!N},{key:CF,label:v(`QR & Barcode`),icon:(0,c.jsx)(x,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!P},{key:SF,label:v(`AI`),icon:(0,c.jsx)(T,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!k?.sseQuery}].filter(e=>!e.disabled),oe=(0,a.useCallback)(async e=>{let t=e[0];t&&t!==`empty`&&(m!==vF&&h(vF),n?.(t),await o?.(t))},[n,m,h,o]),se=(0,a.useCallback)(({key:e})=>{h(e)},[h]),ce=(0,a.useCallback)(async(e,t)=>{if(L(e),k?.folderTreeLoading!==`lazy`)return;let n=t?.node?.key||void 0;if(n&&n!==`folders`)try{await o?.(n)}catch(e){let t=await gz({folderId:n,dataProviders:O,folders:_,pathHistory:A,t:v});S.error({id:`FOLDER_CHILDREN_FETCH_FAILED`,message:v(`Failed to load subfolders in folder`,{folderName:t}),placement:`bottomRight`,innerException:e,notificationDedupe:!0,data:{folderId:n,folderName:t,reason:e instanceof Error?e.message:String(e)}})}},[k?.folderTreeLoading,O,o,S,A,_,v]);return(0,c.jsxs)(`div`,{className:`sidebar-container`,children:[(0,c.jsxs)(`div`,{className:qB.buttonWrapper,children:[(0,c.jsx)(l.Button,{type:`primary`,size:`large`,icon:(0,c.jsx)(i.n,{size:24,strokeWidth:k?.iconStrokeWidth}),onClick:ie,className:qB.uploadButton,style:{whiteSpace:`nowrap`},disabled:e===`Trash`,children:(0,c.jsx)(`span`,{className:qB.uploadButtonTitle,children:v(`Upload file`)})}),(0,c.jsx)(l.Button,{type:`primary`,size:`large`,icon:(0,c.jsx)(y,{size:24,strokeWidth:k?.iconStrokeWidth}),onClick:()=>u?.(!0),className:qB.uploadByURLButton,style:{whiteSpace:`nowrap`},disabled:e===`Trash`})]}),(0,c.jsx)(l.Menu,{className:`folder-menu`,items:ae,defaultSelectedKeys:[vF],onSelect:({key:e})=>se({key:e}),selectedKeys:[m]}),(0,c.jsx)(l.Divider,{className:qB.divider}),(0,c.jsxs)(`div`,{className:qB.foldersContainer,children:[(0,c.jsx)(BB,{selectedFolder:e,onSelect:oe,onExpand:ce,generateMenuItems:t,fetchChildFolders:o,showFileCounts:!0,folderFileCounts:C,expandedKeys:I,setExpandedKeys:L,showTrashFolder:k?.enableTrashFolder}),(0,c.jsx)(`div`,{className:qB.folderActions,children:(0,c.jsx)(l.Button,{onClick:e=>{e.stopPropagation(),f()},className:qB.button,icon:(0,c.jsx)(i.o,{size:18,strokeWidth:k?.iconStrokeWidth}),size:`middle`})})]})]})}));function YB(e){if(!this.backgroundColor)return;let t=this._getNonTransformedDimensions(),n=-t.x/2,r=-t.y/2,i=t.x,a=t.y,o=this.backgroundColor;if(typeof o==`string`||o instanceof CanvasGradient||o instanceof CanvasPattern)e.fillStyle=o,e.fillRect(n,r,i,a);else if(typeof o!=`object`||!(`type`in o)||o.type!==`linear`&&o.type!==`radial`){if(`source`in o&&(o.source instanceof HTMLImageElement||o.source instanceof HTMLCanvasElement))if(o.repeat){let t=e.createPattern(o.source,o.repeat);t&&(e.fillStyle=t,e.fillRect(n,r,i,a))}else e.drawImage(o.source,n,r,i,a)}else e.fillStyle=function(e,t,n,r){if(t.type===`linear`){let i=e.createLinearGradient(n+t.coords.x1,r+t.coords.y1,n+t.coords.x2,r+t.coords.y2);return t.colorStops.forEach(e=>i.addColorStop(e.offset,e.color)),i}if(t.type===`radial`){let i=e.createRadialGradient(n+t.coords.x1,r+t.coords.y1,t.coords.r1??0,n+t.coords.x2,r+t.coords.y2,t.coords.r2??0);return t.colorStops.forEach(e=>i.addColorStop(e.offset,e.color)),i}throw Error(`Unknown gradient type`)}(e,o,n,r),e.fillRect(n,r,i,a);this._removeShadow(e)}JB.displayName=`FolderSidebar`;var XB=`fm-pixie-editor`,ZB=new class{constructor(){this._container=document.createElement(`div`),this._instance=null,this._container.classList.add(XB),this._container.style.width=`100%`,this._container.style.height=`85vh`,this._container.style.minHeight=`400px`}get className(){return`.${XB}`}get canvas(){return this._instance?.state.canvasRef?.current}get tools(){return this._instance?.tools}isLoaded(){return!!this._instance}async _setConfig(e){var t;this._instance?await this._instance.resetEditor(e):this._instance=await iF.init(Object.assign(Object.assign({},e),{selector:this.className})),(t=this._instance).fabric&&t.fabric.on(`object:added`,e=>{let t=e.target;t&&t.name===`text`&&(t._renderBackground=YB)})}async show(e,t,n=t.firstChild){t.insertBefore(this._container,n),await this._setConfig(e),this._instance.open()}close(){var e;(e=this._container.parentNode)==null||e.removeChild(this._container)}};function QB(e,t){return e?t?`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:e:t}function $B(e){let t=typeof __webpack_public_path__<`u`?__webpack_public_path__:``;if(e&&/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(e))return e;let n=QB(t,e||``);return!n||n.startsWith(`/`)||/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(n)||(n=`/`+n),n}function eV(e,t){if(/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(t))return t;let n=QB($B(e),t||``);return!n||n.startsWith(`/`)||/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(n)?n:`/`+n}var tV,nV;(function(e){e.TOP=`top`,e.BOTTOM=`bottom`,e.HIDDEN=``})(tV||={}),function(e){e.TOP=`top`,e.BOTTOM=`bottom`,e.HIDDEN=``}(nV||={});var rV=(e,t=`image/png`)=>fetch(`data:${t};base64,${e}`).then(e=>e.blob());function iV(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error??Error(`Failed to convert blob to data URL`)),r.readAsDataURL(e)})}var aV=({visible:e,onClose:t,file:n,onSave:r,onSaveCopy:i})=>{let{t:o}=gL(),s=a.default.useRef(null),u=RR(),f=Oz(),{options:p,actions:m}=yR(),{i18n:h}=gL(),{config:g}=p,{setCurrentMenuFile:_}=m,{getFileData:v,resolveFileForEditByUrl:y}=f,[b,x]=a.default.useState(!1),[S,C]=a.default.useState(null),[w,T]=a.default.useState(``),[E,D]=a.default.useState(!1),[O,k]=a.default.useState(!1),[A,j]=a.default.useState(null),M=a.default.useRef(!1),N=a.default.useRef(),P=a.default.useRef(),F=a.default.useRef(`saveCopy`),I=a.default.useRef(void 0);N.current=r,P.current=i,a.default.useEffect(()=>{n&&!M.current&&(async()=>{if(I.current!==n)if(typeof n!=`object`){I.current=n,x(!0);try{if(n.startsWith(`data:`))j({thumbnail:n,saveWithoutFolder:!0});else{let e=await y(n);I.current===n&&j(e)}}catch{I.current===n&&(I.current=null),t?.()}finally{x(!1)}}else j(n)})()},[n,t,y]);let L=a.default.useCallback(async e=>{try{if(typeof e.thumbnail==`string`&&e.thumbnail.startsWith(`data:`))return e.thumbnail;let t=await v(e.id,!0);if(!t)throw Error(o(`Error loading image`));return new Promise(e=>{let n=new FileReader;n.onload=()=>e(n.result),n.readAsDataURL(t)})}catch(e){throw e}},[v,o]);a.default.useEffect(()=>{if(!S&&e&&A){let e=!1;return(async()=>{x(!0);try{let t=await L(A);if(!t||typeof t!=`string`||t.trim()===``)throw Error(`Invalid image data: empty or null`);if(!t.startsWith(`data:`))throw Error(`Invalid image data: not a valid data URL`);let n=t.match(/^data:([^;]+);base64,(.+)$/);if(!n)throw Error(`Invalid image data: malformed data URL format`);let[,r,i]=n;if(!r.startsWith(`image/`))throw Error(`Invalid image data: unsupported MIME type ${r}`);if(i.length<10)throw Error(`Invalid image data: base64 content too short`);if(!/^[A-Za-z0-9+/]+=*$/.test(i))throw Error(`Invalid image data: corrupted base64 content`);e||(C(t),T(iz(A,`image/png`).mimeType))}catch(n){e||(u.error({id:`IMAGE_DOWNLOAD_FAILED`,innerException:n,message:o(`Error loading image`),placement:`bottomRight`,data:{itemId:A?.id??void 0,itemName:A?.name??void 0,folderId:A?.folderId??null,thumbnail:A?.thumbnail}}),t?.())}finally{x(!1)}})(),()=>{e=!0}}},[A,L,S,t,o,e]);let ee=a.default.useCallback(async(e,t,n)=>{let r=await function(e,t){if(e===`json`)return new Blob([t],{type:`application/json`});if(e===`svg`)return new Blob([t],{type:`image/svg+xml`});let n=`image/${e}`;if(t.startsWith(`data:`)){let e=VF(t);return e&&e.startsWith(`image/`)&&(n=e),rV(t.replace(/data:image\/[^;]+;base64,/,``),BF(n))}return rV(t,BF(n))}(n,e),i=BF(r.type||`image/${n}`),a=g?.compessorUrl??g?.compressorUrl;if(i.startsWith(`image/`))try{let e=await hz(new File([r],t,{type:i}),{maxSizeMB:g?.compressMaxSize,maxWidthOrHeight:g?.compressMaxWidthOrHeight,mimeType:i,fileName:t,libURL:a,enableCompression:!!g&&i!==`image/gif`});r=e,i=e.type}catch{}return{blob:r,mimeType:i,thumbnailDataUrl:await iV(r)}},[g]),R=a.default.useCallback(async(e,t,n,r)=>{let i=r===`save`?N.current:P.current;if(!A||!i)return;let a=typeof A==`object`&&A?A:null,s=null;try{x(!0);let{blob:a,mimeType:c,thumbnailDataUrl:l}=await ee(e,t,n),u=Object.assign(Object.assign({},A),{thumbnail:l,size:a.size,date:new Date().toISOString().split(`T`)[0],type:c,folderId:A.folderId||``,name:A.name||t,extension:A.extension||(A.name||t).split(`.`).pop()?.toLowerCase()||``});s=u;let d=await i(u,{blob:a,mimeType:c,thumbnail:l,mode:r});if(d)return x(!1),d;throw Error(o(r===`saveCopy`?`Failed to save image copy`:`Failed to save changes`))}catch(e){let n=s??a;if(!e?.notificationShown){let i=WR(e),a=HR(i?.code,o)??i?.message??o(r===`saveCopy`?`Failed to save image copy`:`Error saving image`);u.error({id:r===`saveCopy`?`IMAGE_SAVE_COPY_FAILED`:`IMAGE_SAVE_FAILED`,message:a,placement:`bottomRight`,data:{itemId:n?.id??void 0,itemName:n?.name??t,folderId:n?.folderId??null,thumbnail:n?.thumbnail},innerException:e})}x(!1)}},[A,u,ee,o]),te=a.default.useCallback(async e=>{if(!ZB.isLoaded()||!A)return;F.current=e;let t=A.name||`edited-image`,n=iz(A,w);try{await ZB.tools?.export.save(t.replace(/\.[^/.]+$/,``),n.pixieFormat,az.QUALITY)}catch{try{let r=ZB.canvas,i=r?r.toDataURL(n.mimeType):null;i&&await R(i,t,n.extension,e)}catch{}}},[A,w,R]),ne=a.default.useCallback(async()=>{if(S&&e&&E&&!M.current)try{M.current=!0;let e=s.current,n=0;for(;n<20&&(e.clientWidth===0||e.clientHeight===0);)await new Promise(e=>setTimeout(e,50)),n++;let r=g?.locale?g?.locale.replace(`_`,`-`):`en`,i=matchMedia(kF).matches?DF:EF,a=g?.theme===OF?i:g?.theme,o=(g?.locale||h.language||`en`).split(`-`)[0].split(`_`)[0],l=(h.getResourceBundle(o,`translation`)||{}).pixie||{},u=e=>e.split(` `).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),f={};Object.entries(l).forEach(([e,t])=>{let n=u(e);f[n]=t,f[e]=t});let p={[r]:f},m=iz(A,w),_={selector:`#pixie-editor`,baseUrl:eV(g?.baseUrl||``,g?.assetsUrl||`assets/image-editor`),image:S,activeLanguage:r,languages:p,ui:{activeTheme:a,mode:`inline`,forceOverlayModeOnMobile:!1,visible:!0,menubar:{replaceDefaultItems:!0,position:tV.TOP,items:[{type:`undoWidget`,align:`left`},{type:`zoomWidget`,align:`center`,desktopOnly:!0},{type:`button`,align:`right`,desktopOnly:!0,icon:()=>(0,c.jsx)(d.HistoryOutlined,{style:{fontSize:20}}),action:e=>{e.togglePanel(`history`)}},{type:`button`,icon:()=>(0,c.jsx)(d.CloseOutlined,{style:{fontSize:20}}),align:`right`,desktopOnly:!0,action:t}]},nav:{position:nV.TOP}},tools:{export:{defaultFormat:m.pixieFormat,defaultQuality:az.QUALITY,defaultName:(A?.name)?.replace(/\.[^/.]+$/,``)||`image`},text:{replaceDefaultItems:!0,defaultText:`Handwriting`,items:[{family:`Inter`,src:`fonts/inter-v20-cyrillic_latin-regular.woff2`},{family:`Commissioner`,src:`fonts/commissioner-v24-cyrillic_latin-regular.woff2`},{family:`Montserrat Light`,src:`fonts/Montserrat-Light.woff2`},{family:`Montserrat Regular`,src:`fonts/Montserrat-Regular.woff2`},{family:`Montserrat Bold`,src:`fonts/Montserrat-Bold.woff2`},{family:`Montserrat Black`,src:`fonts/Montserrat-Black.woff2`},{family:`Roboto Light`,src:`fonts/Roboto-Light.woff2`},{family:`Roboto Regular`,src:`fonts/Roboto-Regular.woff2`},{family:`Roboto Bold`,src:`fonts/Roboto-Bold.woff2`},{family:`Roboto Black`,src:`fonts/Roboto-Black.woff2`},{family:`Lato Light`,src:`fonts/Lato-Light.woff2`},{family:`Lato Regular`,src:`fonts/Lato-Regular.woff2`},{family:`Lato Bold`,src:`fonts/Lato-Bold.woff2`},{family:`Lato Black`,src:`fonts/Lato-Black.woff2`},{family:`Rubik Light`,src:`fonts/Rubik-Light.woff2`},{family:`Rubik Regular`,src:`fonts/Rubik-Regular.woff2`},{family:`Rubik Bold`,src:`fonts/Rubik-Bold.woff2`},{family:`Rubik Black`,src:`fonts/Rubik-Black.woff2`},{family:`Bebas Neue Light`,src:`fonts/BebasNeueLight.woff2`},{family:`Bebas Neue Regular`,src:`fonts/BebasNeueRegular.woff2`},{family:`Bebas Neue Book`,src:`fonts/BebasNeueBook.woff2`},{family:`Bebas Neue Bold`,src:`fonts/BebasNeueBold.woff2`},{family:`Fira Sans`,src:`fonts/fira-sans-v11-latin-ext_latin_cyrillic-regular.woff2`},{family:`Lobster`,src:`fonts/Lobster.woff2`},{family:`Pacifico`,src:`fonts/pacifico-v23-cyrillic_latin-regular.woff2`},{family:`Playfair Display`,src:`fonts/playfair-display-v40-cyrillic_latin-regular.woff2`},{family:`Oswald`,src:`fonts/oswald-v57-cyrillic_latin-regular.woff2`},{family:`Caveat`,src:`fonts/caveat-v23-cyrillic_latin-regular.woff2`}]}},onSave:async function(e,t,n){try{return x(!0),await R(e,t,n,F.current)}catch(e){throw x(!1),e}}};try{k(!1),await ZB.show(_,s.current);let e=ZB.canvas;e&&e.focus(),k(!0),x(!1)}catch{}}catch(e){u.error({id:`EDITOR_INIT_FAILED`,message:o(`Error initializing editor`),placement:`bottomRight`,innerException:e}),M.current=!1,t?.()}},[A,w,S,e,E,g?.locale,g?.theme,g?.baseUrl,g?.assetsUrl,t,R,u,h,o]);a.default.useEffect(()=>{e&&S&&E&&ne()},[e,S,E,ne]),a.default.useEffect(()=>{if(!e){try{ZB.close()}catch{}x(!1),C(null),T(``),M.current=!1,D(!1),k(!1)}return()=>{try{ZB.close()}catch{}}},[e]);let z=!!A?.id&&!1!==g?.features?.enableUpdateFile;return(0,c.jsx)(l.Modal,{title:A?.name?o(`Editing: {{name}}`,{name:A.name}):o(`Editing image`),open:e,closeIcon:null,onCancel:t,afterOpenChange:e=>D(e),forceRender:!0,width:`100vw`,getContainer:p.getModalContainer,style:{top:0,height:`100vh`,maxWidth:`none`,padding:10},styles:{body:{height:`85vh`,padding:0}},footer:[(0,c.jsx)(l.Button,{onClick:t,disabled:!E||b,children:o(`Cancel`)},`cancel`),(0,c.jsx)(l.Button,{type:`primary`,onClick:()=>te(`saveCopy`),loading:b,children:o(`Save as copy and choose`)},`save-copy`),...z?[(0,c.jsx)(l.Button,{type:`primary`,onClick:()=>te(`save`),loading:b,children:o(`Save and choose`)},`save`)]:[]],mask:{closable:!1},destroyOnHidden:!1,afterClose:()=>{_&&_(``)},children:(0,c.jsxs)(`div`,{ref:s,style:{position:`relative`,width:`100%`,height:`100%`},children:[e&&!O?(0,c.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(255,255,255,0.45)`,backdropFilter:`blur(1px)`,pointerEvents:`all`,zIndex:10},children:(0,c.jsx)(`span`,{style:{fontSize:14,color:`#555`},children:o(`Loading editor...`)})}):null,b&&O&&(0,c.jsx)(VB,{style:{position:`absolute`,top:0,background:`var(--colorBgLayout)`,zIndex:100,opacity:.7}})]})})},oV=`uploadProgress`,sV=`uploadProgress__card`,cV=`uploadProgress__header`,lV=`uploadProgress__header-title`,uV=`uploadProgress__header-buttons`,dV=`uploadProgress__header-button`,fV=`uploadProgress__close-icon`,pV=`uploadProgress__body`,mV=`uploadProgress__common-error`,hV=`uploadProgress__common-error-row`,gV=`uploadProgress__common-error-hint`,_V=`uploadProgress__list-wrapper`,vV=`uploadProgress__status-icon`,yV=`uploadProgress__file-item`,bV=`uploadProgress__file-item--error`,xV=`uploadProgress__body--error`,SV=`uploadProgress__error-item`,CV=`uploadProgress__error-message`,wV=`uploadProgress__error-hint`,TV=`uploadProgress__file-avatar`,EV=`uploadProgress__file-info`,DV=`uploadProgress__file-name`,OV=`uploadProgress__file-size`,kV=`uploadProgress__progress-bar`,AV=`uploadProgress__minimized`,jV=`uploadProgress__minimized-button`,MV=`uploadProgress__file-list`,{Text:NV}=l.Typography,PV=({visible:e,files:t,totalFiles:n,completedFiles:r,onClose:i,onMinimize:a,onInsert:o,minimized:s=!1})=>{let{token:u}=l.theme.useToken(),{t:f}=gL();if(!e)return null;let p=e=>{switch(e){case`success`:return(0,c.jsx)(`div`,{className:vV,children:(0,c.jsx)(d.CheckCircleOutlined,{style:{color:u.colorSuccess}})});case`error`:return(0,c.jsx)(d.ExclamationCircleOutlined,{style:{color:u.colorError}});default:return(0,c.jsx)(d.FileImageOutlined,{style:{color:`#1890ff`}})}},m=e=>e.status===`success`?[(0,c.jsx)(l.Button,{type:`primary`,size:`small`,onClick:()=>o(e),children:f(`Insert`)},`insert`)]:[];if(s)return(0,c.jsx)(`div`,{className:AV,children:(0,c.jsx)(l.Button,{type:`primary`,size:`small`,onClick:a,className:jV,children:f(`Upload progress`,{completed:r,total:n})})});let h=t.filter(e=>e.status===`uploading`).length,g=t.filter(e=>e.status===`success`).length,_=t.filter(e=>e.status===`error`).length,v=t.filter(e=>e.status===`error`),y=v.length>1&&v.every(e=>e.error&&e.error===v[0]?.error),b=y?v[0]?.error:null;return(0,c.jsx)(`div`,{className:oV+` fm-upload-progress`,children:(0,c.jsxs)(`div`,{className:sV,children:[(0,c.jsxs)(`div`,{className:cV,children:[(0,c.jsx)(NV,{strong:!0,className:lV,children:h>0?f(`Uploading files`,{completed:r,total:n}):g>0?f(`Uploaded files`,{success:g,total:n}):f(`Upload error files`,{errorCount:_})}),(0,c.jsx)(`div`,{className:uV,children:(0,c.jsx)(l.Button,{type:`text`,size:`small`,icon:(0,c.jsx)(d.CloseOutlined,{className:fV}),onClick:i,className:dV})})]}),(0,c.jsxs)(`div`,{className:`${pV} ${t.some(e=>e.status===`error`)?xV:``}`,children:[(0,c.jsx)(`div`,{className:_V,children:(0,c.jsx)(l.List,{className:MV,size:`small`,dataSource:t,renderItem:e=>{let t=e.status===`error`,n=t?(e=>{if(!e)return null;let t=e.toLowerCase();return t.includes(`type`)||t.includes(`format`)||t.includes(`формат`)||t.includes(`тип`)||t.includes(`not allowed`)||t.includes(`дозволен`)||t.includes(`name`)||t.includes(`invalid`)||t.includes(`назва`)||t.includes(`неприпустим`)||t.includes(`allowed characters`)?null:t.includes(`large`)||t.includes(`size`)||t.includes(`розмір`)||t.includes(`размер`)?f(`upload_error_hint_size`):t.includes(`exists`)||t.includes(`вже існує`)||t.includes(`уже существует`)?f(`upload_error_hint_exists`):null})(e.error):null;return(0,c.jsx)(l.List.Item,{className:`${yV} ${t?bV:``}`,actions:m(e),children:(0,c.jsx)(l.List.Item.Meta,{avatar:(0,c.jsx)(l.Avatar,{size:`small`,icon:p(e.status),className:TV}),title:(0,c.jsxs)(`div`,{className:EV,children:[(0,c.jsx)(NV,{ellipsis:!0,className:DV,children:e.name}),(0,c.jsx)(NV,{type:`secondary`,className:OV,children:e.size===void 0?``:zL(e.size)})]}),description:e.status===`uploading`?(0,c.jsx)(l.Progress,{percent:e.progress,size:`small`,status:`active`,showInfo:!1,className:kV}):t?y?null:(0,c.jsxs)(`div`,{className:SV,children:[(0,c.jsx)(NV,{type:`danger`,className:CV,children:e.error||f(`Error`)}),n&&(0,c.jsx)(NV,{type:`secondary`,className:wV,children:n})]}):null})})}})}),b&&(0,c.jsxs)(`div`,{className:mV,children:[(0,c.jsxs)(`div`,{className:hV,children:[(0,c.jsx)(d.ExclamationCircleOutlined,{style:{color:u.colorError,marginRight:8,flexShrink:0}}),(0,c.jsx)(NV,{type:`danger`,children:b})]}),(0,c.jsx)(NV,{type:`secondary`,className:gV,children:f(`Applies to all {{count}} files`,{count:v.length})})]})]})]})})},{Header:FV}=l.Layout,{Title:IV}=l.Typography,LV=({activeLibraryItem:e,selectedFolder:t,isTrashFolder:n,onClearTrash:r,files:i,loading:o,onRefresh:s,refreshDisabled:u,showRefresh:d=!1})=>{let{t:f}=gL(),p=e===vF&&(n??t===TF),[m,h]=a.useState(!1),g={[vF]:f(`My files`),[yF]:f(`GIF`),[bF]:f(`Stock images`),[xF]:f(`Icons`),[CF]:f(`QR & Barcode`),[SF]:f(`AI image generation`)},_;return a.useEffect(()=>{let e=setTimeout(()=>{h(p&&i.length>0&&!o)},200);return()=>clearTimeout(e)},[p,i.length,o]),_=e===vF?p?f(`Trash`):t:g[e],(0,c.jsx)(FV,{className:`actions-header`,children:(0,c.jsxs)(`div`,{className:`header-title-container`,children:[(0,c.jsx)(IV,{level:5,className:`header-title`,children:_}),m&&r&&(0,c.jsx)(l.Button,{type:`default`,onClick:r,className:`clear-trash-button`,"aria-label":f(`Clear Trash`),children:f(`Clear`)}),e===vF&&d&&s&&(0,c.jsx)(l.Tooltip,{title:f(`Refresh`),children:(0,c.jsx)(l.Button,{type:`text`,className:`folder-refresh-button`,icon:(0,c.jsx)(S,{size:16}),onClick:s,disabled:u})})]})})};function RV(e,t){return!e||!t||e<=0||t<=0?1:e/t}var zV=1200;function BV({items:e,getId:t,getPreviewSrc:n,getAltText:r,getWidth:i,getHeight:o,layoutMode:s=`masonry`,minColumnWidth:c=240,estimatedItemHeight:l=240,gap:u=20,overscanPx:d=800,prefetchThresholdPx:f=1200,resolveColumnCount:p,virtualizationThreshold:m=40}){let[h,g]=(0,a.useState)({scrollTop:0,viewportHeight:800,viewportWidth:zV,scrollHeight:0}),_=(0,a.useMemo)(()=>function(e){return{getId:e,buildSignature:(t,n)=>{let r=n.getPreviewSrc(t)||``,i=n.getAltText(t),a=n.getWidth?.call(n,t),o=n.getHeight?.call(n,t);return[e(t),r,i,a??``,o??``].join(`::`)},buildRowModel:(e,t,n)=>{let r=t.getWidth?.call(t,e),i=t.getHeight?.call(t,e);return{id:n.id,signature:n.signature,item:e,previewSrc:t.getPreviewSrc(e),altText:t.getAltText(e),width:r,height:i,aspectRatio:RV(r,i)}}}}(t),[t]),v=(0,a.useMemo)(()=>({getPreviewSrc:n,getAltText:r,getWidth:i,getHeight:o}),[r,o,n,i]),y=(0,a.useMemo)(()=>{let e=Math.max(1,h.viewportWidth||zV);return p?Math.max(1,p(e)):Math.max(1,Math.floor((e+u)/(c+u)))},[u,c,p,h.viewportWidth]),b=(0,a.useMemo)(()=>{let e=Math.max(1,h.viewportWidth||zV);return Math.max(1,(e-u*Math.max(0,y-1))/y)},[y,u,h.viewportWidth]),x=(0,a.useMemo)(()=>{let t=Array(y).fill(0),n=[];e:for(let r=0;r<e.length;r+=1){let a=e[r],c=i?.(a),d=o?.(a),f=c&&d&&c>0&&d>0?c/d:void 0,p=f?b/f:l;if(s===`grid`){let e=Math.floor(r/y)*(p+u),t=r%y*(b+u);n.push({index:r,top:e,left:t,width:b,height:p,bottom:e+p});continue e}let m=0;for(let e=1;e<t.length;e+=1)t[e]<t[m]&&(m=e);let h=t[m],g=m*(b+u);t[m]=h+p+u,n.push({index:r,top:h,left:g,width:b,height:p,bottom:h+p})}return{positionedItems:n,containerHeight:n.length===0?0:s===`grid`?Math.max(...n.map(e=>e.bottom)):Math.max(0,...t.map(e=>e-u))}},[y,b,l,u,o,i,e,s]),{rowModels:S,renderWindow:C}=wB({items:e,context:v,adapter:_,options:(0,a.useMemo)(()=>e.length<=m?{renderStrategy:`full`}:{renderStrategy:`positioned`,positioned:{layout:x.positionedItems,viewportTop:h.scrollTop,viewportBottom:h.scrollTop+h.viewportHeight,overscanPx:d,containerHeight:x.containerHeight}},[e.length,x.containerHeight,x.positionedItems,d,h.scrollTop,h.viewportHeight,m])}),w=C.positionedItems??S.map((e,t)=>({row:e,layout:x.positionedItems[t]??{index:t,top:0,left:0,width:b,height:l,bottom:l}})),T=C.containerHeight??x.containerHeight,E=T>0&&h.scrollTop+h.viewportHeight>=T-f;return{rowModels:S,renderRows:C.rows,renderWindow:C,positionedItems:w,containerHeight:T,isNearEnd:E,viewportMetrics:h,handleViewportChange:e=>{g(t=>t.scrollTop===e.scrollTop&&t.viewportHeight===e.viewportHeight&&t.viewportWidth===e.viewportWidth&&t.scrollHeight===e.scrollHeight?t:e)}}}var VV=e=>{var{imageId:t,sourceUrl:n,shouldLoad:r=!0,loader:i,onLoad:o}=e,s=FR(e,[`imageId`,`sourceUrl`,`shouldLoad`,`loader`,`onLoad`]);let l=qz((0,a.useMemo)(()=>[n],[n])),[u,d]=(0,a.useState)(()=>i.getSnapshot(t,n)),f=(0,a.useRef)(null);return(0,a.useEffect)(()=>(d(i.getSnapshot(t,n)),i.subscribe(t,n,d)),[t,i,n]),(0,a.useEffect)(()=>(i.setActive(t,n,r),()=>{i.setActive(t,n,!1),i.release(t)}),[t,i,r,n]),u.shouldLoad&&l.src?(0,c.jsx)(`img`,Object.assign({},s,{ref:f,src:l.src,loading:s.loading??`lazy`,onLoad:e=>{l.handleLoad(),i.markLoaded(t),o?.(e)},onError:async e=>{var n;(await l.handleError()).exhausted&&i.markError(t),(n=s.onError)==null||n.call(s,e)}})):null},HV={gifTab:`gifTab`,scrollableDiv:`scrollableDiv`,gifSearchInput:`gifSearchInput`,search:`search`,searchResults:`searchResults`,virtualCanvas:`virtualCanvas`,listItem:`listItem`,loaded:`loaded`,loadedImage:`loadedImage`,searchOutputWrapper:`searchOutputWrapper`,divider:`divider`,resultsContainer:`resultsContainer`,playButton:`playButton`,title:`title`,subtitle:`subtitle`},UV=e=>{let t=typeof window<`u`?window.innerWidth:e;return t<=700?1:t<=1100?2:t<=1600?3:4},WV=e=>e.images.downsized.url,GV=({setImageGifList:e,imageGifList:t=[],currentReqGif:n,setCurrentReqGif:r,inputRef:i,customRequest:o})=>{let{t:s}=gL(),{GifPlayIcon:u}=xR(),{options:d}=yR(),{config:f}=d,p=Wz({maxConcurrent:6}),[m,h]=(0,a.useState)(null),[g,_]=(0,a.useState)(new Set),[v,y]=(0,a.useState)(!1),[b,x]=(0,a.useState)(!1),[S,C]=(0,a.useState)(!1),[T]=l.Form.useForm(),E=(0,a.useRef)(n),D=(0,a.useRef)(null),O=(0,a.useRef)(null),k=(0,a.useRef)(null),A=(0,a.useRef)(0),j=(0,a.useRef)(0),M=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{E.current=n},[n]),(0,a.useEffect)(()=>{T.setFieldsValue({keywords:n.keywords})},[]);let N=f?.handleProxyUrl,P=f?.fetchWithProxy,F=async e=>N?await Promise.resolve(N(e))??e:e,I=(0,a.useCallback)(async e=>P?Promise.resolve(P(e,void 0,{intent:`metadata`})):fetch(await F(e)),[P,F]),L=async function({query:e,page:t}){let n=e.keywords.replace(/[^\w\sа-яёА-ЯЁ]|_/g,``).replace(/[\s_-]+/g,` `);try{return{data:await(await I(`https://api.giphy.com/v1/gifs/search?api_key=${f?.REACT_APP_GIPHY_KEY??`Nh77eBlPeMn1ed9MBAvL542NUGeNO26F`}&q=${encodeURIComponent(n)}&limit=50&offset=${t}&lang=en`)).json()}}catch{}},{positionedItems:ee,containerHeight:R,isNearEnd:te,viewportMetrics:ne,handleViewportChange:z}=BV({items:t,getId:e=>e.id,getPreviewSrc:WV,getAltText:e=>e.title,getWidth:e=>e.images.downsized.width?Number(e.images.downsized.width):void 0,getHeight:e=>e.images.downsized.height?Number(e.images.downsized.height):void 0,layoutMode:`masonry`,minColumnWidth:240,estimatedItemHeight:220,prefetchThresholdPx:320,resolveColumnCount:UV}),re=nB(z,[t.length]),ie=()=>{D.current&&=(clearTimeout(D.current),null)},ae=e=>!M.current.has(e)&&(M.current.add(e),!0),oe=e=>{M.current.delete(e)},se=(0,a.useCallback)(async()=>{let t=E.current.keywords?.trim();if(!t||v||b||!S)return;let n=`gif:${t}:${j.current}`;if(!ae(n))return;let r=A.current;x(!0);try{let t=await L({query:E.current,page:j.current});if(r!==A.current)return;let n=t?.data?.data??[];if(!Array.isArray(n)||n.length===0)return void C(!1);let i=n;if(r!==A.current)return;e(e=>{let t=new Set(e.map(e=>e.id)),n=i.filter(e=>!t.has(e.id));return n.length>0?[...e,...n]:e}),j.current+=n.length,C(n.length===50)}finally{oe(n),r===A.current&&x(!1)}},[S,v,b,e]),ce=async()=>{ie();let t=E.current.keywords?.trim();if(!t)return O.current=null,k.current=null,A.current+=1,j.current=0,e([]),_(new Set),C(!1),void x(!1);if(k.current===t||O.current===t||v&&O.current===t)return;let n=`gif:${t}:0`;if(!ae(n))return;let r=A.current+1;A.current=r,O.current=t,j.current=0,e([]),_(new Set),C(!1),x(!1),y(!0);try{let n=await L({query:E.current,page:0});if(r!==A.current)return;let i=n?.data?.data;if(Array.isArray(i)&&i.length>0){let t=i;if(r!==A.current)return;e(t),j.current=i.length,C(i.length===50)}else e([]),C(!1);k.current=t}catch{C(!1)}finally{oe(n),O.current===t&&(O.current=null),y(!1)}};return(0,a.useEffect)(()=>()=>{ie()},[]),(0,a.useEffect)(()=>{!v&&!b&&S&&t.length>0&&te&&se()},[S,t.length,te,se,v,b]),(0,c.jsx)(`div`,{className:HV.gifTab,children:(0,c.jsx)(`div`,{className:HV.searchOutputWrapper,children:(0,c.jsxs)(`div`,{id:`scrollableDiv`,ref:re,className:HV.scrollableDiv,children:[(0,c.jsxs)(l.Form,{form:T,onValuesChange:e=>{if(e.keywords!==void 0){let t=Object.assign(Object.assign({},E.current),{keywords:e.keywords});r(t),E.current=t,ie(),D.current=setTimeout(ce,800)}},className:t.length>0?HV.searchResults:HV.search,children:[(0,c.jsx)(l.Form.Item,{name:`keywords`,className:HV.gifSearchInput,children:(0,c.jsx)(l.Input,{onPressEnter:()=>{ce()},allowClear:!0,placeholder:s(`Search GIFs`),ref:i,spellCheck:`false`,prefix:(0,c.jsx)(w,{size:16,strokeWidth:f?.iconStrokeWidth,onClick:()=>{ce()}})})}),t.length>0&&!v&&(0,c.jsx)(`div`,{className:`ant-divider ${HV.divider}`,role:`separator`})]}),!t.length&&!v&&(0,c.jsx)(c.Fragment,{children:n.keywords?(0,c.jsx)(ER,{}):(0,c.jsxs)(`div`,{className:HV.resultsContainer,children:[(0,c.jsx)(`div`,{className:HV.videoIcon,children:(0,c.jsx)(u,{className:HV.playButton})}),(0,c.jsx)(`h1`,{className:HV.title,children:s(`Over 350,000 live images`)}),(0,c.jsx)(`p`,{className:HV.subtitle,children:s(`Enter a search query and we'll find the perfect image for you`)})]})}),!t.length&&v&&(0,c.jsx)(VB,{}),t.length>0&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{className:HV.virtualCanvas,style:{height:R},children:ee.map(({row:e,layout:t})=>{let n=e.item,r=g.has(n.id),i=WV(n),a=t.bottom>=ne.scrollTop-240&&t.top<=ne.scrollTop+ne.viewportHeight+240;return(0,c.jsxs)(`div`,{className:`${HV.listItem} ${r?HV.loaded:``}`,onClick:()=>(async(e,t)=>{var n;h(t),setTimeout(()=>{h(null)},2e3);let r=e.split(`?`)[0].split(`#`)[0].split(`/`),i=r[r.length-1]||`uploaded-file`;i.includes(`.`)&&(n=i.split(`.`).pop())!=null&&n.length&&i.split(`.`).pop().length<=5||(i+=`.gif`),o(e,i)})(n.images.downsized.url,n.id,n.title),style:{position:`absolute`,top:t.top,left:t.left,width:t.width,height:t.height,minHeight:t.height,maxHeight:`none`,marginBottom:0},children:[(0,c.jsx)(VV,{imageId:n.id,sourceUrl:i,shouldLoad:a,loader:p,className:m===n.id?HV.loadedImage:``,width:`100%`,height:`100%`,alt:n.title,decoding:`async`,onLoad:()=>{_(e=>{if(e.has(n.id))return e;let t=new Set(e);return t.add(n.id),t})}}),(0,c.jsx)(`a`,{rel:`noreferrer`,href:`https://giphy.com/`,target:`_blank`,onClick:e=>e.stopPropagation()}),m===n.id&&(0,c.jsx)(l.Spin,{className:HV.antSpin})]},n.id)})}),b&&(0,c.jsx)(VB,{})]})]})})})},KV={stockTab:`stockTab`,stockSearchInput:`stockSearchInput`,searchOutputWrapper:`searchOutputWrapper`,divider:`divider`,search:`search`,searchResults:`searchResults`,virtualCanvas:`virtualCanvas`,scrollableDiv:`scrollableDiv`,listItem:`listItem`,loaded:`loaded`,loadedImage:`loadedImage`,creatorInfo:`creatorInfo`,stockColorFilter:`stockColorFilter`,allColors:`allColors`,blackColor:`blackColor`,bwColor:`bwColor`,whiteColor:`whiteColor`,orangeColor:`orangeColor`,redColor:`redColor`,purpleColor:`purpleColor`,magentaColor:`magentaColor`,greenColor:`greenColor`,tealColor:`tealColor`,blueColor:`blueColor`,resultsContainer:`resultsContainer`,playButton:`playButton`,title:`title`,subtitle:`subtitle`},qV=e=>{let t=typeof window<`u`?window.innerWidth:e;return t<=650?1:t<=1e3?2:t<=1450?3:4},JV=(e,t)=>{let n=new URL(e);return n.searchParams.set(`w`,t.toString()),n.toString()},YV=({imageStockList:e,setImageStockList:t,currentReq:n,setCurrentReq:r,inputRef:i,customRequest:o})=>{let{t:s}=gL(),{StockBigIcon:u,MixedViewIcon:d,LandscapeViewIcon:f,PortraitViewIcon:p,SquareViewIcon:m}=xR(),{options:h}=yR(),{config:g}=h,_=Wz({maxConcurrent:6}),[v,y]=(0,a.useState)(!1),[b,x]=(0,a.useState)(!1),[S,C]=(0,a.useState)(!1),[T,E]=(0,a.useState)(null),[D,O]=(0,a.useState)(new Set),[k]=l.Form.useForm(),A=g?.fetchWithProxy,j=g?.handleProxyUrl,M=g?.UNSPLASH_KEY??`HX2_qqq3F3ljmtYtfmb9P6h0dn2u9mnnOl36IdV8el0`,N=(g?.locale)?.slice(0,2)||`ru`,P=(0,a.useRef)(n),F=(0,a.useRef)(null),I=(0,a.useRef)(null),L=(0,a.useRef)(0),ee=(0,a.useRef)(1),R=(0,a.useRef)(new Set),te=async e=>j?await Promise.resolve(j(e))??e:e,ne=(0,a.useCallback)(async e=>A?Promise.resolve(A(e,void 0,{intent:`metadata`})):fetch(await te(e)),[A,te]),z=()=>{F.current&&=(clearTimeout(F.current),null)},re=e=>!R.current.has(e)&&(R.current.add(e),!0),ie=e=>{R.current.delete(e)},ae=e=>e.map(e=>Object.assign(Object.assign({},e),{urls:{raw:JV(e.urls.raw,1200),small:JV(e.urls.raw,540)}}));(0,a.useEffect)(()=>{P.current=n},[n]),(0,a.useEffect)(()=>{e.length===0&&k.setFieldsValue({color:``,orientation:``})},[e,k]),(0,a.useEffect)(()=>{k.setFieldsValue({keywords:n.keywords,color:n.color,orientation:n.orientation})},[]);let oe=async function({query:e,page:t}){let n=e.keywords.replace(/[^\w\sа-яёА-ЯЁ]|_/g,``).replace(/[\s_-]+/g,` `);try{let r=`https://api.unsplash.com/search/photos?client_id=${M}&lang=${N}&per_page=30&query=${encodeURIComponent(n)}&page=${t}`;return e.color!==``&&(r+=`&color=${e.color}`),e.orientation!==``&&(r+=`&orientation=${e.orientation}`),{data:await(await ne(r)).json()}}catch{}},{positionedItems:se,containerHeight:ce,isNearEnd:le,viewportMetrics:ue,handleViewportChange:de}=BV({items:e,getId:e=>e.id,getPreviewSrc:e=>e.urls.small,getAltText:e=>e.description||e.user.name,getWidth:e=>e.width,getHeight:e=>e.height,layoutMode:`masonry`,minColumnWidth:240,estimatedItemHeight:220,prefetchThresholdPx:320,resolveColumnCount:qV}),fe=nB(de,[e.length]),pe=(0,a.useCallback)(async()=>{if(v||b||!S||!P.current.keywords.trim())return;let e=L.current,n=ee.current,r=`stock:${`${P.current.keywords.trim()}|${P.current.color}|${P.current.orientation}`}:${n}`;if(re(r)){x(!0);try{let r=await oe({query:P.current,page:n});if(e!==L.current)return;let i=r?.data?.results??[];if(i.length===0)return void C(!1);let a=ae(i);if(e!==L.current)return;t(e=>{let t=new Set(e.map(e=>e.id)),n=a.filter(e=>!t.has(e.id));return n.length>0?[...e,...n]:e}),ee.current=n+1,C(i.length===30)}finally{ie(r),e===L.current&&x(!1)}}},[S,v,b,t]),me=async()=>{z();let e=`${P.current.keywords.trim()}|${P.current.color}|${P.current.orientation}`;if(!P.current.keywords.trim())return void(I.current=null);if(I.current===e)return;let n=`stock:${e}:1`;if(!re(n))return;let r=L.current+1;L.current=r,y(!0),x(!1),C(!1),ee.current=1,t([]),O(new Set);try{let n=await oe({query:P.current,page:1});if(r!==L.current)return;let i=n?.data?.results??[];if(i.length>0){let e=ae(i);if(r!==L.current)return;t(e),ee.current=2,C(i.length===30)}else C(!1);I.current=e}finally{ie(n),y(!1)}};(0,a.useEffect)(()=>()=>{z()},[]),(0,a.useEffect)(()=>{!v&&!b&&S&&e.length>0&&le&&pe()},[S,e.length,le,pe,v,b]);let he=async(e,t,n,r)=>{var i;(async function(e){try{return{data:await(await ne(`${e}${e.includes(`?`)?`&`:`?`}client_id=${M}`)).json()}}catch{}})(t.download_location),E(n),setTimeout(()=>E(null),2e3);let a=e.raw,s=a.split(`?`)[0].split(`#`)[0].split(`/`),c=s[s.length-1]||`uploaded-file`;c.includes(`.`)&&(i=c.split(`.`).pop())!=null&&i.length&&c.split(`.`).pop().length<=5||(c+=`.jpg`),o(a,c)};return(0,c.jsx)(`div`,{className:KV.stockTab,children:(0,c.jsx)(`div`,{className:KV.searchOutputWrapper,children:(0,c.jsxs)(`div`,{className:KV.scrollableDiv,id:`scrollableDiv`,ref:fe,children:[(0,c.jsxs)(l.Form,{form:k,initialValues:PF,onValuesChange:(e,n)=>{let i=Object.assign(Object.assign({},PF),n);r(i),P.current=i,z(),i.keywords===``?(I.current=null,L.current+=1,ee.current=1,t([]),O(new Set),C(!1),x(!1),r(Object.assign({},PF)),P.current=PF,k.resetFields()):F.current=setTimeout(me,800)},className:e.length>0?KV.searchResults:KV.search,children:[(0,c.jsxs)(l.Row,{gutter:24,children:[(0,c.jsx)(l.Col,{span:e.length>0?void 0:24,children:(0,c.jsx)(l.Form.Item,{name:`keywords`,className:KV.stockSearchInput,children:(0,c.jsx)(l.Input,{allowClear:!0,placeholder:s(`Search image`),ref:i,spellCheck:`false`,prefix:(0,c.jsx)(w,{size:16,strokeWidth:g?.iconStrokeWidth})})})}),!!e.length&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Col,{children:(0,c.jsx)(l.Form.Item,{name:`orientation`,children:(0,c.jsxs)(l.Radio.Group,{onChange:e=>r(t=>Object.assign(Object.assign({},t),{orientation:e.target.value})),children:[(0,c.jsx)(l.Tooltip,{title:s(`All`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:``,children:(0,c.jsx)(d,{})})}),(0,c.jsx)(l.Tooltip,{title:s(`Landscape`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:`landscape`,children:(0,c.jsx)(f,{})})}),(0,c.jsx)(l.Tooltip,{title:s(`Portrait`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:`portrait`,children:(0,c.jsx)(p,{})})}),(0,c.jsx)(l.Tooltip,{title:s(`Squarish`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:`squarish`,children:(0,c.jsx)(m,{})})})]})})}),(0,c.jsx)(l.Col,{children:(0,c.jsx)(l.Form.Item,{name:`color`,children:(0,c.jsxs)(l.Radio.Group,{className:KV.stockColorFilter,onChange:e=>r(t=>Object.assign(Object.assign({},t),{color:e.target.value})),children:[(0,c.jsx)(l.Tooltip,{title:s(`All`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.allColors,value:``,children:`All`})}),(0,c.jsx)(l.Tooltip,{title:s(`Black`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.blackColor,value:`black`,children:`B`})}),(0,c.jsx)(l.Tooltip,{title:s(`Black and White`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.bwColor,value:`black_and_white`,children:`B&W`})}),(0,c.jsx)(l.Tooltip,{title:s(`White`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.whiteColor,value:`white`,children:`W`})}),(0,c.jsx)(l.Tooltip,{title:s(`Orange`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.orangeColor,value:`orange`,children:`O`})}),(0,c.jsx)(l.Tooltip,{title:s(`Red`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.redColor,value:`red`,children:`R`})}),(0,c.jsx)(l.Tooltip,{title:s(`Purple`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.purpleColor,value:`purple`,children:`P`})}),(0,c.jsx)(l.Tooltip,{title:s(`Magenta`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.magentaColor,value:`magenta`,children:`M`})}),(0,c.jsx)(l.Tooltip,{title:s(`Green`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.greenColor,value:`green`,children:`G`})}),(0,c.jsx)(l.Tooltip,{title:s(`Teal`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.tealColor,value:`teal`,children:`T`})}),(0,c.jsx)(l.Tooltip,{title:s(`Blue`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.blueColor,value:`blue`,children:`B`})})]})})})]})]}),e.length>0&&!v&&(0,c.jsx)(`div`,{className:`ant-divider ${KV.divider}`,role:`separator`})]}),!e.length&&!v&&(0,c.jsx)(c.Fragment,{children:n.keywords?(0,c.jsx)(ER,{}):(0,c.jsxs)(`div`,{className:KV.resultsContainer,children:[(0,c.jsx)(`div`,{className:KV.videoIcon,children:(0,c.jsx)(u,{className:KV.playButton})}),(0,c.jsx)(`h1`,{className:KV.title,children:s(`Millions of free stock images`)}),(0,c.jsx)(`p`,{className:KV.subtitle,children:s(`Enter a search query and we'll find the perfect image for you`)})]})}),!e.length&&v&&(0,c.jsx)(VB,{}),e.length>0&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{className:KV.virtualCanvas,style:{height:ce},children:se.map(({row:e,layout:t})=>{let n=e.item,r=D.has(n.id),i=t.bottom>=ue.scrollTop-240&&t.top<=ue.scrollTop+ue.viewportHeight+240;return(0,c.jsxs)(`div`,{className:`${KV.listItem} ${r?KV.loaded:``}`,onClick:()=>he(n.urls,n.links,n.id,n.description),style:{position:`absolute`,top:t.top,left:t.left,width:t.width,height:t.height,minHeight:t.height,maxHeight:`none`,marginBottom:0},children:[(0,c.jsx)(VV,{imageId:n.id,sourceUrl:n.urls.small,shouldLoad:i,loader:_,className:T===n.id?KV.loadedImage:``,width:`100%`,height:`100%`,alt:n.description,decoding:`async`,onLoad:()=>{O(e=>{if(e.has(n.id))return e;let t=new Set(e);return t.add(n.id),t})}}),(0,c.jsxs)(`p`,{className:KV.creatorInfo,onClick:e=>e.stopPropagation(),children:[s(`Photo by`),` `,(0,c.jsx)(`a`,{target:`_blank`,href:`${n.user.links.html}?utm_source=${g?.APP_NAME_UNSPLASH}&utm_medium=referral`,rel:`noreferrer`,children:n.user.name}),` `,s(`on`),` `,(0,c.jsx)(`a`,{target:`_blank`,href:`https://unsplash.com/?utm_source=${g?.APP_NAME_UNSPLASH}&utm_medium=referral`,rel:`noreferrer`,children:`Unsplash`})]}),T===n.id&&(0,c.jsx)(l.Spin,{className:KV.antSpin})]},n.id)})}),b&&(0,c.jsx)(VB,{})]})]})})})},XV=()=>{let{options:e}=yR(),t=e.config;return(0,a.useCallback)((e,n)=>{!1!==t?.pushToGTM&&((e,t)=>{let n=()=>{try{let t=Object.assign(Object.assign({},e),{appLabel:`blocks_app`});window.dataLayer&&typeof window.dataLayer.push==`function`&&window.dataLayer.push(t)}catch{}};t?setTimeout(n,t):n()})(e,n)},[t?.pushToGTM])},ZV=`slideshowContainer`,QV=`slideshowImage`,$V=({images:e,transitionDuration:t=1e3,frameHeight:n})=>{let[r,i]=(0,a.useState)([]),[o,s]=(0,a.useState)(n);(0,a.useEffect)(()=>{let e=()=>{if(typeof window>`u`)return void s(n);let e=window.innerHeight,t=Math.max(e-260,130);s(typeof n==`number`?Math.min(n,t):t)};if(e(),typeof window<`u`)return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[n]);let l=()=>{i(e=>e.map((t,n)=>n===e.length-1?Object.assign(Object.assign({},t),{opacity:1}):t))};return(0,a.useEffect)(()=>{if(e.length>0){let t=e[e.length-1];i(e=>[...e,{src:t,opacity:0}]),setTimeout(l,1e3)}else i([])},[e]),(0,c.jsx)(`div`,{className:ZV,style:{height:o,minHeight:130},children:r.map((e,n)=>(0,c.jsx)(`img`,{src:`data:image/jpeg;base64, ${e.src}`,alt:`Slide ${n+1}`,className:QV,style:{opacity:e.opacity,transition:`opacity ${t}ms linear`,display:`block`}},n))})},eH=e=>{var{className:t,style:n,color:r,text:i,variant:a}=e,o=FR(e,[`className`,`style`,`color`,`text`,`variant`]);return(0,c.jsx)(l.Tag,Object.assign({style:n,color:r,variant:a,className:t},o,{children:i||``}))},tH=({text:e,counter:t,limits:n,wrapperStyles:r})=>{let{t:i}=gL(),{options:a}=yR(),o=a.config,{token:s}=l.theme.useToken(),u=+n>0,d=!u||t<+n,f=o?.billingPageUrl||`/billing`;return(0,c.jsxs)(`div`,{className:`limits-couter-wrapper`,style:r,children:[(0,c.jsx)(eH,{variant:`filled`,text:t+` `+i(`of`)+` `+(u?n:`∞`)+` `+(e||i(`tests`,{count:n}))+` `+i(`was used`,{count:t}),className:`limit-counter`,style:{color:d?s.colorText:`white`},color:d?s.colorFillSecondary:`rgb(255, 77, 79)`}),u&&(0,c.jsx)(`div`,{style:{fontSize:14,textDecoration:`underline`,cursor:`pointer`},onClick:()=>window.location.assign(f),children:i(`Need more?`)})]})},nH={imageAi:`imageAi`,imageAiExample:`imageAiExample`,imageItem:`imageItem`,textAreaInputHybrid:`textAreaInputHybrid`,loading:`loading`,carousel:`carousel`,arrow:`arrow`,arrowNext:`arrowNext`,arrowPrev:`arrowPrev`,arrowBtn:`arrowBtn`,arrowBtnNext:`arrowBtnNext`,arrowBtnPrev:`arrowBtnPrev`,row:`row`,inputAffixWrapper:`inputAffixWrapper`,textarea:`textarea`,inputIcon:`inputIcon`},rH=(0,a.memo)(({className:e,onClick:t})=>(0,c.jsx)(`div`,{className:`${nH.arrow} ${nH.arrowNext} ${e||``}`,onClick:t,children:(0,c.jsx)(l.Button,{className:`${nH.arrowBtn} ${nH.arrowBtnNext}`,size:`large`,icon:(0,c.jsx)(d.ArrowRightOutlined,{})})}));rH.displayName=`SampleNextArrow`;var iH=(0,a.memo)(({className:e,onClick:t})=>(0,c.jsx)(`div`,{className:`${nH.arrow} ${nH.arrowPrev} ${e||``}`,onClick:t,children:(0,c.jsx)(l.Button,{className:`${nH.arrowBtn} ${nH.arrowBtnPrev}`,size:`large`,icon:(0,c.jsx)(d.ArrowLeftOutlined,{})})}));iH.displayName=`SamplePrevArrow`;var aH=({customRequest:e,inputAiRef:t,isImageUploaded:n,setIsImageUploaded:r,aiImageRequest:i,setAiImageRequest:o,imageAiList:s,setImageAiList:u,isLoadingAi:f,setIsLoadingAi:p})=>{let{t:m}=gL(),{AiIcon_2:h}=xR(),g=a.default.useRef(null),[_,v]=(0,a.useState)(`auto`),{aiImageCounter:y,currentAiImgLimits:b,loadingDuringGeneration:x,requestStatus:S,handleGenerate:C,convertBase64ToFile:w,isShiftPressed:T,setIsShiftPressed:E,limitsInPlugin:D}=function({setFrameHeight:e,customRequest:t,aiTabRef:n,isImageUploaded:r,setIsImageUploaded:i,aiImageRequest:o,imageAiList:s,setImageAiList:c,isLoadingAi:l,setIsLoadingAi:u}){let{t:d}=gL(),{options:f}=yR(),p=f.config,m=RR(),h=XV(),{messages:g}=f.config,[_,v]=(0,a.useState)([]),[y,b]=(0,a.useState)(0),[x,S]=(0,a.useState)(null),[C,w]=(0,a.useState)(!1),[T,E]=(0,a.useState)(d(`Evaluating the task`)),[D,O]=(0,a.useState)(!1),k=(0,a.useRef)(new Set),A=(0,a.useRef)(new Set),j=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{v(g)},[g]),(0,a.useEffect)(()=>{s.length||x||(v([]),k.current.clear(),A.current.clear(),j.current.clear(),P.current=-1)},[s,x]);let M=(0,a.useMemo)(()=>p&&typeof p?.sendAIImageRequest==`function`?p?.sendAIImageRequest:()=>Promise.resolve({}),[p]),N=(0,a.useCallback)(e=>{let t=`${x}-${e.progress}-${JSON.stringify(e.images||e.data)}`;if(!j.current.has(t))if(j.current.add(t),e.status!==`error`&&e.status!==`Canceled`){if(e.images){if(E(String(e.status)),e.progress===100){u(!1),c(e.images);let t=x,n=Array.isArray(e.images)?e.images:[];n.length>0&&t&&!k.current.has(t)&&(k.current.add(t),m.success({id:`AI_IMAGE_GENERERATION_SUCCESS`,message:d(`Images generated successfully`),placement:`bottomRight`,data:{request:o,taskId:t,images:n}})),S(null),O(!1)}}else if(e.data&&(c([String(e.data)]),e.progress===100)){u(!1);let t=x,n=e.data?[String(e.data)]:[];n.length>0&&t&&!k.current.has(t)&&(k.current.add(t),m.success({id:`AI_IMAGE_GENERERATION_SUCCESS`,message:d(`Images generated successfully`),placement:`bottomRight`,data:{request:o,taskId:t,images:n}})),S(null),O(!1)}}else u(!1),O(!1),x&&!A.current.has(x)&&(A.current.add(x),m.error({id:`AI_RESPONSE_INVALID`,message:d(`Something went wrong, please try again`),placement:`bottomRight`,description:String(x)||void 0,data:{requestId:x,request:o,response:e},innerException:e}))},[o,c,E,d,u,x,m,O]),P=(0,a.useRef)(-1);(0,a.useEffect)(()=>{if(_.length>0){let e=_.length-1;e>P.current&&(P.current=e,N(_[e]))}},[N,_]);let F=(0,a.useMemo)(()=>{if(p&&typeof p?.sseQuery==`function`){let e=p?.sseQuery;return t=>e(t)}return e=>{}},[p]),I=(0,a.useMemo)(()=>p&&typeof p?.handleLimitUsageEmitter==`object`?p?.handleLimitUsageEmitter:{fire:()=>{}},[p]),L=p?.elementId,{projectId:ee}=p,{limits:R}=p?.limits?p:{limits:{ai_img_limit:0}},{ai_img_limit:te}=R,ne=te>0&&y>=te,z=!(!p?.limits||!p.counters)&&AF,re=(0,a.useCallback)(()=>{I.fire({name:`AiImgCount`,count:y+1})},[I,y]),ie=(0,a.useMemo)(()=>!ne&&!z,[ne,z,y,te]),ae=(0,a.useCallback)(async()=>{E(d(`Evaluating the task`)),o===``||l||(u(!0),O(!0),c([]),v([]),h({event:`submit_form`,action:`ai_image_generation`,entity_id:L,project_id:ee}),M({body:{project_id:ee,request:`create-image`,connection:`midjourney`,message:o}}).then(e=>{let{data:t,error:n}=e||{};if(n)throw n;let r=t;if(r?.status===401||r?.data?.status===401)throw Error(`ERROR`);let i=r?.data??r;if(i?._eventResult&&Array.isArray(i.task?.images)&&(i.task.images?.length??0)>0){let e=i.task.images;c(e),u(!1),O(!1),S(null);return}let a=r?.task||r?.data?.task,s=a?.id??x??void 0;r?.status===200||r?.data?.status===200?(a!=null&&a.id&&(E(a.message),S(a.id)),r!=null&&r.message&&m.success({id:`AI_IMAGE_GENERATION_STARTED`,message:r.message,placement:`bottomRight`,data:{request:o,taskId:s,response:r?.data}}),F({task_id:a?.id,entity_id:L})):(u(!1),O(!1),s&&!A.current.has(s)&&(A.current.add(s),m.error({id:`AI_IMAGE_GENERATION_FAILED`,message:r?.message||d(`Something went wrong, please try again`),placement:`bottomRight`,description:o,data:{request:o,taskId:s,response:r},innerException:r})))}).catch(e=>{u(!1),O(!1);let t=e;return(t!=null&&t.error||t!=null&&t.data)&&x&&!A.current.has(x)&&(A.current.add(x),m?.error({id:`AI_IMAGE_GENERATION_FAILED`,message:d(`Something went wrong, please try again`),placement:`bottomRight`,description:o,innerException:e,data:{request:o,taskId:x,response:t?.data,error:WR(t?.error)}})),t}))},[o,l,u,O,c,h,L,ee,M,m,F,d,x]),oe=(0,a.useCallback)(()=>{ie&&ae()},[ie,z,b,re,ae,m,d]);(0,a.useEffect)(()=>{},[p,z]);let se=(0,a.useCallback)(e=>{if(r)return;let n=e.match(/^data:image\/([A-Za-z-+/]+);base64,(.+)$/);if(!n)return;let a=n[1],o=n[2],s=atob(o),c=Array(s.length);for(let e=0;e<s.length;e++)c[e]=s.charCodeAt(e);let l=new Uint8Array(c),u=new Blob([l],{type:`image/${a}`}),d=new File([u],`image.jpeg`,{type:u.type,lastModified:Date.now()});i(!0),(async()=>{try{typeof t==`function`&&await Promise.resolve(t({file:d}))}catch{}finally{i(!1)}})()},[r,i,t]);return(0,a.useEffect)(()=>{(l||s.length>0)&&setTimeout(()=>{let t=350;if(n.current){let e=n.current?.firstChild;e&&e instanceof HTMLElement&&(t=n.current.getBoundingClientRect()?.height-48-e.clientHeight)}e(t)},0)},[n,s.length,l,e]),{aiImageCounter:y,setAiImageCounter:b,currentAiImgLimits:te,isFieldsDisabled:ne,canGenerateImage:ie,aiImageRequest:o,imageAiList:s,setImageAiList:c,isLoadingAi:l,setIsLoadingAi:u,loadingDuringGeneration:D,setLoadingDuringGeneration:O,requestStatus:T,setRequestStatus:E,handleGenerate:oe,handleLimitAiImgCount:re,convertBase64ToFile:se,isShiftPressed:C,setIsShiftPressed:w,currentReqId:x,setCurrentReqId:S,limitsInPlugin:z}}({setFrameHeight:v,customRequest:e,aiTabRef:g,isImageUploaded:n,setIsImageUploaded:r,aiImageRequest:i,imageAiList:s,setImageAiList:u,isLoadingAi:f,setIsLoadingAi:p});(0,a.useEffect)(()=>{},[n]);let[O,k]=(0,a.useState)(!1),A=(0,a.useCallback)(()=>k(!0),[]),j=(0,a.useCallback)(()=>k(!1),[]),M=(0,a.useCallback)(e=>o(e.target.value),[o]),N=(0,a.useCallback)(e=>{e.key===`Shift`?E(!0):e.key!==`Enter`||T||(e.preventDefault(),C())},[T,C,E]),P=(0,a.useCallback)(e=>{e.key===`Shift`&&E(!1)},[E]);return(0,c.jsxs)(`div`,{className:nH.imageAi,ref:g,children:[D&&(0,c.jsx)(tH,{text:`images`,counter:y,limits:b,wrapperStyles:{marginTop:-25}}),(0,c.jsx)(l.Row,{gutter:24,className:nH.row,children:(0,c.jsxs)(l.Col,{span:24,children:[(0,c.jsx)(l.Form.Item,{children:(0,c.jsxs)(`span`,{className:`ant-input-affix-wrapper ant-input-affix-wrapper-lg ${nH.inputAffixWrapper}${O?` ant-input-affix-wrapper-focused`:``}`,children:[(0,c.jsx)(l.Input.TextArea,{ref:t,onKeyDown:N,onKeyUp:P,onFocus:A,onBlur:j,autoSize:!0,allowClear:!0,className:`${nH.textAreaInputHybrid} ${nH.textarea}`,placeholder:m(`Generate image`),value:i,onChange:M,spellCheck:`false`}),(0,c.jsx)(`span`,{className:`ant-input-suffix ${nH.inputSuffix}`,children:f||x?(0,c.jsx)(d.LoadingOutlined,{className:`${nH.inputIcon} input-icon`,spin:!0}):(0,c.jsx)(h,{className:`${nH.inputIcon} input-icon`,onClick:C})})]})}),(0,c.jsxs)(`div`,{className:nH.imageAiExample,children:[(0,c.jsx)(`span`,{children:m(`For example:`)}),` `,m(`A beautiful image of a sunset over a calm ocean.`)]})]})}),(f||s.length>0)&&(0,c.jsxs)(l.Carousel,{dotPlacement:`top`,arrows:!0,nextArrow:(0,c.jsx)(rH,{}),prevArrow:(0,c.jsx)(iH,{}),className:nH.carousel,infinite:!1,children:[f&&!s.length&&(0,c.jsx)(`div`,{className:nH.loading,children:(0,c.jsxs)(`div`,{className:`spin`,children:[(0,c.jsx)(d.LoadingOutlined,{style:{fontSize:48},spin:!0}),(0,c.jsx)(`p`,{className:`status`,children:S})]})}),s.length>0&&s.map((e,t)=>(0,c.jsxs)(`div`,{className:nH.imageItem,children:[(0,c.jsx)($V,{images:s,frameHeight:_}),(0,c.jsx)(`div`,{className:`buttons`,children:s.length>0&&!f&&(0,c.jsx)(l.Button,{onClick:()=>w(`data:image/jpeg;base64, ${e}`),loading:n,icon:(0,c.jsx)(d.CheckOutlined,{}),children:m(`Use this variant`)})})]},t))]})]})},oH=e=>{e!=null&&e.customTheme&&((e={})=>{let t=document.querySelector(`head`);if(!t)return;let n=document.createElement(`style`);if(n.type=`text/css`,n.dataset.themeVariablesFm=`true`,n.setAttribute(`data-file-manager`,`true`),Object.entries(e).length){let r=``;Object.entries(e).forEach(([e,t])=>{typeof t!=`object`&&(r+=`\t--${e}: ${t};\n`)}),r=`.em-filemanager {\n${r}}`,n.appendChild(document.createTextNode(r));let i=t.querySelector(`[data-theme-variables-fm="true"]`);i?t.replaceChild(n,i):t.insertBefore(n,t.firstChild)}})(e?.customTheme)},{Sider:sH,Content:cH}=l.Layout,lH=a.default.lazy(()=>Promise.resolve().then(()=>e("./558afaa1.js"))),uH=a.default.lazy(()=>Promise.resolve().then(()=>e("./e4ba0190.js"))),dH={keywords:``},fH=()=>{let e=$R(),t=Uz(),n=(()=>{let{state:e,actions:t,options:n}=yR(),{selectedFolder:r,pathHistory:i,folders:o}=e,{t:s}=gL(),{setSelectedFolder:c,setPathHistory:l}=t,u=(0,a.useCallback)(()=>`em_fm:lastFolder:${n?.config?.projectId||`default`}`,[n?.config?.projectId]),d=(0,a.useCallback)((e,t=new Set)=>{if(t.has(e))return[];let n=(Array.isArray(o)?o:[]).find(t=>t.id===e);if(!n)return[];let r=new Set(t);return r.add(e),n.parentId?n.parentId===n.id?[{id:n.id,name:n.name+` (ошибка)`}]:[...d(n.parentId,r),{id:n.id,name:n.name}]:[{id:n.id,name:n.name}]},[o]),f=(0,a.useCallback)(e=>{if(typeof window>`u`)return;let t=!0===n?.config?.rememberLastFolder,r=u();try{if(!t)return void localStorage.removeItem(r);e?localStorage.setItem(r,e):localStorage.removeItem(r)}catch{}},[u,n?.config?.rememberLastFolder]),p=(0,a.useCallback)(e=>{if(e===`folders`){let e=[{id:`folders`,name:s(`Folders`)}];l?.(e),n.onPathChange&&n.onPathChange([]);return}if(!(Array.isArray(o)?o:[]).find(t=>t.id===e))return;let t=d(e),r=[{id:`folders`,name:s(`Folders`)},...t];l?.(r),n.onPathChange&&n.onPathChange(r.map(e=>e.name))},[o,d,l,n,s]),m=(0,a.useCallback)(e=>{let t=e===`folders`?null:e;t!==r&&(c?.(t),f(t),p(e))},[f,r,c,p]),h=(0,a.useCallback)(e=>{if(e===-1)c?.(null),l?.([{id:`folders`,name:s(`Folders`)}]),n.onPathChange&&n.onPathChange([]);else{let t=i.slice(0,e+1),r=t[t.length-1],a=r.id===`folders`?void 0:r.id;c?.(a||null),l?.(t),n.onPathChange&&n.onPathChange(t.map(e=>e.name))}},[n,i,l,c,s]),g=(0,a.useCallback)(e=>{if(!e.isFolder)return;c?.(e.id);let t={id:e.id,name:e.name};if(l&&l([...i,t]),n.onPathChange){let t=[...i.map(e=>e.name),e.name];n.onPathChange(t)}},[n,i,l,c]);return{state:{selectedFolder:r,pathHistory:i},actions:{handleFolderSelect:m,handleBreadcrumbClick:h,handleItemClick:g},selectedFolder:r,pathHistory:i,handleFolderSelect:m,handleBreadcrumbClick:h,handleItemClick:g}})(),r=(()=>{let{state:e,actions:t}=yR(),{pagination:n}=e,{setPagination:r}=t,i=(0,a.useCallback)((e,t)=>{let i=t||n.pageSize;r?.({current:e,pageSize:i,total:n.total})},[n.pageSize,n.total,r]);return{state:{pagination:n},actions:{handlePaginationChange:i}}})(),i=(()=>{let[e,t]=(0,a.useState)([]),[n,r]=(0,a.useState)(!1),[i,o]=(0,a.useState)(!1),s=(0,a.useRef)(0),c=(0,a.useRef)(new Map),l=(0,a.useCallback)(()=>(s.current+=1,`upload_${s.current}_${Date.now()}`),[]),u=(0,a.useCallback)(e=>zL(e.size),[]),d=(0,a.useCallback)((e,n)=>{let i=n.map(t=>({id:l(),folderId:e,name:t.name,size:u(t),status:`uploading`,progress:0}));return t(i),r(!0),o(!1),i.map(e=>e.id)},[l,u]),f=(0,a.useCallback)((e,n)=>{let i={id:l(),folderId:e,name:n,size:void 0,status:`uploading`,progress:0};return t(e=>[...e,i]),r(!0),o(!1),i.id},[l]),p=(0,a.useCallback)((e,n)=>{t(t=>t.map(t=>t.id===e?Object.assign(Object.assign({},t),{progress:Math.min(100,Math.max(0,n))}):t))},[]),m=(0,a.useCallback)((e,n)=>{n&&c.current.set(e,n),t(t=>t.map(t=>{if(t.id===e){let e=Object.assign(Object.assign({},t),{status:`success`,progress:100});return n!=null&&n.name&&(e.name=n.name),n!=null&&n.size&&t.size===void 0&&(e.size=zL(n.size)),e}return t}))},[]),h=(0,a.useCallback)((e,n)=>{t(t=>t.map(t=>t.id===e?Object.assign(Object.assign({},t),{status:`error`,error:n}):t))},[]),g=(0,a.useCallback)(()=>{r(!1),o(!1),setTimeout(()=>{t([]),c.current.clear()},300)},[]),_=(0,a.useCallback)(()=>{o(e=>!e)},[]),v=(0,a.useCallback)(e=>c.current.get(e),[]);return{uploadFiles:e,isUploadVisible:n,isUploadMinimized:i,totalFiles:e.length,completedFiles:e.filter(e=>e.status===`success`||e.status===`error`).length,startUpload:d,startUploadByUrl:f,updateProgress:p,markAsSuccess:m,markAsError:h,getUploadedFile:v,closeUpload:g,minimizeUpload:_}})(),o=Oz(),{deleteItems:u}=ez(),d=RR(),{t:f}=gL(),{options:p,state:m,actions:h}=yR(),g=p,_=g?.onChangeSelection,v=m,y=g?.config,{dataProviders:b}=g,{form:x,urlForm:S,renameForm:C,moveForm:w,renameFolderForm:T,copyForm:E,isModalVisible:D,isUrlModalVisible:O,isMoveModalVisible:k,isRenameFolderModalVisible:A,isCopyModalVisible:j,isDeleteConfirmVisible:M,folderToRename:N,activeLibraryItem:P}=m,{setIsUrlModalVisible:F,setActiveLibraryItem:I}=h,{config:L}=p,{DropZoneFileIcon:ee}=xR(),[R,te]=(0,a.useState)(!1),[ne,z]=(0,a.useState)(!1),[re,ie]=(0,a.useState)(!1),ae=(0,a.useRef)(0),oe=(0,a.useRef)(!1);oe.current=ne;let se=a.default.useRef(null),ce=a.default.useRef([]),[le,ue]=(0,a.useState)(!1),[de,fe]=(0,a.useState)(!1),pe=Nz(e=>e.selectedFiles),me=Nz(e=>e.clearSelection),he=Nz(e=>e.syncVisibleFiles),{folders:ge,loading:_e}=e.state,{fetchFolders:ve,fetchChildFolders:ye,handleCreateFolder:be,handleModalOk:xe,handleModalCancel:Se,generateMenuItems:Ce}=e.actions,we=(e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),{folders:s,folderToRename:c,renameFolderForm:l,isRenameFolderModalVisible:u}=t,{setFolderToRename:d,setIsRenameFolderModalVisible:f}=n,{apiEndpoints:p,dataProviders:m,config:h}=r,g=(0,a.useCallback)(e=>{d?.(e),f?.(!0);let t=s?.find(t=>t.id===e);t&&l&&l.setFieldsValue({newFolderName:t.name})},[d,f,s,l]),_=(0,a.useCallback)(()=>{f?.(!1),d?.(null),l?.resetFields()},[f,d,l]),v=(0,a.useCallback)(async()=>{if(c&&l)try{let t=await l.validateFields();if(!t?.newFolderName)return void o.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:i(`Folder name cannot be empty`),placement:`bottomRight`,data:{folderId:c,folderName:t?.newFolderName,reason:`emptyName`}});if(!1===h?.features?.enableRenameFolder)return void o.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:i(`Folder rename is disabled by config`),placement:`bottomRight`,data:{itemId:c??void 0,itemName:t?.newFolderName}});if(!m?.renameFolder)throw Error(i(`renameFolder is not implemented in dataProviders`));let r=await m.renameFolder(c,t.newFolderName.trim());if(!r?.id)return void o.error({id:`FOLDER_RENAME_FAILED`,message:i(`Unexpected response when renaming folder`),placement:`bottomRight`,data:{itemId:c??void 0,itemName:t.newFolderName,error:{message:`invalidResponse`}}});o.success({id:`FOLDER_RENAME_SUCCESS`,message:i(`Folder renamed`),placement:`bottomRight`,data:{itemId:r.id,itemName:r.name,folderId:r.parentId??null}}),_(),await e(),c!==r.id&&n.setSelectedFolder&&n.setSelectedFolder(r.id)}catch(e){o.error({id:`FOLDER_RENAME_FAILED`,message:i(`Failed to rename folder`),placement:`bottomRight`,innerException:e,data:{itemId:c??void 0,itemName:l?.getFieldValue(`newFolderName`),error:{message:e instanceof Error?e.message:String(e)}}})}},[c,l,p,_,e,i,h?.features?.enableRenameFolder,o]);return{state:{isRenamingFolder:u||!1,folderToRename:c},actions:{showRenameFolderModal:g,handleRenameFolderCancel:_,handleRenameFolderOk:v}}})(ve),{files:Te,loading:Ee,isRenamingFile:De,fileToRename:Oe}=t.state,{fetchFiles:ke,handleDeleteFile:Ae,handleDeleteFolder:je,handleAddFile:Me,handleAddFileByUrl:Ne,showRenameModal:Pe,handleRenameCancel:Fe,handleRenameOk:Ie,handleDroppedFiles:Le,showMoveModal:Re,handleMoveCancel:ze,handleMoveOk:Be,handleCopyOk:Ve,handleCopyCancel:He,showDeleteConfirm:Ue,handleDeleteConfirmCancel:We,handleDeleteConfirmOk:Ge}=t.actions,{selectedFolder:Ke,pathHistory:qe}=n.state,{handleFolderSelect:Je,handleItemClick:Ye}=n.actions,{pagination:Xe}=r.state,Ze=PR(ke),{searchTerm:Qe,sortBy:$e,sortOrder:et}=Ze.state,{handleSearch:tt,handleSort:nt,handlePaginationChange:rt}=Ze.actions,it=(0,a.useCallback)(async()=>{let e=(e=>YR(e))(qe||[]);try{await QR({options:g,pathFolder:e,dataProviders:g?.dataProviders})}catch{}await ve(),await ke({folderId:Ke||``,page:Xe.current,limit:Xe.pageSize,search:Qe,sortBy:$e,sortOrder:et,itemType:`all`})},[ke,ve,g,Xe,qe,Qe,Ke,$e,et]),at=(({files:e,fetchFiles:t,selectedFolder:n})=>{let{t:r}=gL(),i=RR(),{options:o,actions:s,state:c}=a.useContext(vR),{setActiveLibraryItem:l}=s,{activeLibraryItem:u}=c,d=Oz(),[f,p]=a.useState(!1),[m,h]=a.useState(null),g=a.useCallback(e=>{if(e.type&&e.type.startsWith(`image/`))return!0;if(e.extension){let t=e.extension.toLowerCase();return MF.includes(t)}let t=e.name.split(`.`).pop()?.toLowerCase();return!!t&&MF.includes(t)},[]),_=a.useCallback(async(e,t)=>{let{dataProviders:n}=o;if(!1===o.config?.features?.enableUpdateFile)throw new Q(r(`Updating files is disabled by configuration`),`UnsupportedOperation`);if(!e.id||!e.thumbnail||!n?.updateFile)throw new Q(r(`Failed to save changes`),`UnsupportedOperation`);let i=t?.mimeType||HF(e.thumbnail,e.type),a=UF(i),s=e.name.lastIndexOf(`.`),c=`${s>0?e.name.substring(0,s):e.name}.${a}`,l=t?.blob||YF(e.thumbnail,i);return n.updateFile(e.id,{name:c,type:i,data:l})},[o,r]),v=a.useCallback(async(e,t)=>{if(!e.thumbnail)throw new Q(r(`Failed to save changes`),`ValidationError`);let n=!0!==o.config?.saveCopyToCurrentFolder||(e.saveWithoutFolder??!e.id),i=n?void 0:e.folderId??void 0,a=t?.mimeType||HF(e.thumbnail,e.type),s=t?.blob||YF(e.thumbnail,a),c=new File([s],e.name,{type:a,lastModified:Date.now()}),l=await d.uploadFileWithProvider(c,i,void 0,n);if(!l)throw new Q(r(`Failed to save image copy`),`FileWriteError`);return l},[d,o.config?.saveCopyToCurrentFolder,r]),y=a.useCallback(t=>{let n;if(t)n=t;else{let t=Nz.getState().selectedFiles;if(t.size!==1)return;let r=Array.from(t)[0];if(n=e.find(e=>e.id===r),!n||n.isFolder||!g(n))return}l&&l(wF),h(n),p(!0)},[e,g,p,l]),b=a.useCallback(()=>{l&&u===wF&&l(vF),p(!1),h(null)},[u,l]);return{isPixieEditorVisible:f,editingFile:m,handleEdit:y,handlePixieEditorSave:a.useCallback(async(e,a)=>{try{let s=await _(e,a);return i.success({id:`IMAGE_UPDATE_SUCCESS`,message:r(`Success`),description:r(`Image updated successfully`),placement:`bottomRight`,data:{itemId:s?.id??void 0,itemName:s?.name,folderId:s?.folderId??null,thumbnail:s?.thumbnail}}),s&&o.onEditorOk&&o.onEditorOk(s,{mode:a.mode}),await t({folderId:n||``}),b(),s??void 0}catch(t){let n=WR(t),a=HR(n?.code,r)??n?.message??r(`Failed to save changes`);throw i.error({id:`IMAGE_SAVE_FAILED`,message:a,innerException:t,placement:`bottomRight`,data:{itemId:e.id??void 0,itemName:e.name,folderId:e.folderId??null,thumbnail:e.thumbnail}}),t.notificationShown=!0,t}},[_,o,t,n,i,b,r]),handlePixieEditorSaveCopy:a.useCallback(async(e,a)=>{try{let s=await v(e,a);return i.success({id:`IMAGE_SAVE_COPY_SUCCESS`,message:r(`Success`),description:r(`Image copy saved successfully`),placement:`bottomRight`,data:{itemId:s?.id??void 0,itemName:s?.name,folderId:s?.folderId??null,thumbnail:s?.thumbnail}}),s&&o.onEditorOk&&o.onEditorOk(s,{mode:a.mode}),await t({folderId:n||``}),b(),s??void 0}catch(t){let n=WR(t),a=HR(n?.code,r)??n?.message??r(`Failed to save image copy`);throw i.error({id:`IMAGE_SAVE_COPY_FAILED`,message:a,innerException:t,placement:`bottomRight`,data:{itemId:e.id??void 0,itemName:e.name,folderId:e.folderId??null,thumbnail:e.thumbnail}}),t.notificationShown=!0,t}},[v,o,t,n,i,b,r]),handlePixieEditorClose:b}})({files:Te||[],fetchFiles:ke,selectedFolder:Ke||null}),[ot,st]=(0,a.useState)(!1),ct=(0,a.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),!e.dataTransfer||!e.dataTransfer.types||!e.dataTransfer.types.includes(`Files`))return;e.dataTransfer.dropEffect=`copy`;let t=e.relatedTarget,n=e.currentTarget;t&&n.contains(t)||(ae.current+=1,ae.current>0&&te(!0))},[]),lt=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=e.relatedTarget,n=e.currentTarget;if(t&&!n.contains(t))ae.current=Math.max(0,ae.current-1),ae.current<=0&&te(!1);else if(t){let e=t.closest(`[class*="dragOverlay"]`);if(e&&n.contains(e))return}},[]),ut=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},[]),dt=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),te(!1),ae.current=0;let t=(()=>{let t=e.dataTransfer;if(!t)return[];if(t.files?.length)return Array.from(t.files);let n=[];if(t.items)for(let e=0;e<t.items.length;e++){let r=t.items[e].getAsFile();r&&n.push(r)}return n})();t.length&&(st(!0),Le(t).catch(e=>{e?.name}).finally(()=>{st(!1)}))},[Le]),ft=(0,a.useCallback)(()=>{te(!1),ae.current=0,document.body.removeAttribute(`data-fm-dragging`),ie(!1),z(!1)},[]);a.default.useEffect(()=>{ce.current=Te||[]},[Te]);let pt=v?.activeLibraryItem;(0,a.useEffect)(()=>{let e=e=>{e?document.body.setAttribute(`data-fm-dragging`,`true`):document.body.removeAttribute(`data-fm-dragging`)},t=!1,n=n=>{var r;!t&&(r=n.dataTransfer?.types)!=null&&r.includes(`Files`)&&(t=!0,ie(!0),e(!0),pt===vF&&z(!0))},r=n=>{let r=n.relatedTarget;(!r||!document.documentElement.contains(r))&&t&&(t=!1,ie(!1),z(!1),e(!1))};return window.addEventListener(`dragenter`,n,!0),window.addEventListener(`dragleave`,r,!0),()=>{window.removeEventListener(`dragenter`,n,!0),window.removeEventListener(`dragleave`,r,!0),document.body.removeAttribute(`data-fm-dragging`)}},[pt]),(0,a.useEffect)(()=>{let e=e=>{if(document.body.removeAttribute(`data-fm-dragging`),ie(!1),!(e.dataTransfer?.types)?.includes(`Files`))return;e.preventDefault();let t=(e=>{if(!e)return[];if(e.files?.length)return Array.from(e.files);let t=[];if(e.items)for(let n=0;n<e.items.length;n++){let r=e.items[n].getAsFile();r&&t.push(r)}return t})(e.dataTransfer);if(!t.length)return;let n=e.target,r=n.closest(`.${$.filesContainer.replace(/\s+/g,`.`)}`)||n.closest(`[data-files-container]`),i=n.closest(`.em-filemanager`)||n.closest(`.file-manager__layout`)||n.closest(`[data-drop-overlay]`)||n.closest(`[data-drag-capture]`);(oe.current||R||r||i)&&(e.preventDefault(),e.stopPropagation(),z(!1),te(!1),ae.current=0,st(!0),Le(t).catch(e=>{e?.name}).finally(()=>st(!1)))},t=e=>{var t;(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,document.body.hasAttribute(`data-fm-dragging`)||(document.body.setAttribute(`data-fm-dragging`,`true`),ie(!0)),pt!==vF||oe.current||z(!0))},n=e=>{var t;(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,document.body.setAttribute(`data-fm-dragging`,`true`),ie(!0))},r={capture:!0,passive:!1};return window.addEventListener(`drop`,e,r),window.addEventListener(`dragover`,t,r),window.addEventListener(`dragenter`,n,r),()=>{window.removeEventListener(`drop`,e,r),window.removeEventListener(`dragover`,t,r),window.removeEventListener(`dragenter`,n,r)}},[R,Le,pt]),(0,a.useEffect)(()=>{let e=e=>{R&&ft(),z(!1),ie(!1),document.body.removeAttribute(`data-fm-dragging`)};return window.addEventListener(`dragend`,e,!0),()=>window.removeEventListener(`dragend`,e,!0)},[R,ft]),(0,a.useEffect)(()=>{let e=null,t=t=>{R&&(e=setTimeout(()=>{R&&ft()},200))};return document.addEventListener(`mouseup`,t,!0),()=>{document.removeEventListener(`mouseup`,t,!0),e&&clearTimeout(e)}},[R,ft]),(0,a.useEffect)(()=>{let e=e=>{e.key===`Escape`&&R&&ft()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[R,ft]),(0,a.useEffect)(()=>{let e=e=>{R&&setTimeout(()=>{R&&ft()},100)};return document.addEventListener(`click`,e,!0),()=>{document.removeEventListener(`click`,e,!0)}},[R,ft]);let mt=a.default.useCallback(async()=>{await Ge(),await ve(),Ke===TF&&ye&&await ye(TF),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e;return((e=se.current)?.refreshFileCounts)?.call(e)})})},[ve,ye,Ge,Ke]),ht=a.default.useCallback(()=>{fe(!0)},[]),gt=a.default.useCallback(async()=>{if(Ke!==TF)return void fe(!1);try{if(b?.cleanTrash){let e=await b.cleanTrash();await ke({folderId:TF}),await se.current?.refreshFileCounts(),e.success?d.success({id:`TRASH_CLEARED_SUCCESS`,message:f(`Trash cleared successfully`),description:f(`{{count}} items permanently deleted`,{count:e.deletedCount||0}),placement:`bottomRight`}):d.error({id:`TRASH_CLEAR_FAILED`,message:f(`Failed to clear trash`),placement:`bottomRight`})}else{let e=ce.current||[];if(e.length===0)return void fe(!1);let t=await u({items:e.map(e=>({id:e.id,isFolder:e.isFolder})),selectedFolder:TF,getItemNameById:t=>e.find(e=>e.id===t)?.name||t||``,showNotifications:!1});await ke({folderId:TF}),await se.current?.refreshFileCounts();let{successCount:n,failCount:r}=t;r===0?d.success({id:`TRASH_CLEARED_SUCCESS`,message:f(`Trash cleared successfully`),description:f(`{{count}} items permanently deleted`,{count:n}),placement:`bottomRight`}):n>0?d.warning({id:`TRASH_CLEARED_PARTIAL`,message:f(`Trash partially cleared`),description:f(`{{succeeded}} items deleted, {{failed}} items failed`,{succeeded:n,failed:r}),placement:`bottomRight`}):d.error({id:`TRASH_CLEAR_FAILED`,message:f(`Failed to clear trash`),placement:`bottomRight`})}fe(!1)}catch{d.error({id:`TRASH_CLEAR_ERROR`,message:f(`Error clearing trash`),placement:`bottomRight`}),fe(!1)}},[Ke,b,ke,d,f,u]),_t=a.default.useCallback(()=>{fe(!1)},[]),vt=a.default.useCallback(async e=>{await Be(e),await se.current?.refreshFileCounts()},[Be]),yt=a.default.useCallback(async e=>{await Ve(e),await se.current?.refreshFileCounts()},[Ve]),bt=a.default.useCallback(async()=>{let e=[],t=new Map,n=g?.config;await Me({onStartBatch:r=>{e=i.startUpload(Ke||void 0,r),t=new Map,r.forEach((r,i)=>{let a=e[i];a&&(t.set(r.name,a),t.set(oI(r.name,n),a))})},onStart:r=>{if(e.length===0){e=i.startUpload(Ke||void 0,[r]);let a=e[0];a&&(t.set(r.name,a),t.set(oI(r.name,n),a))}},onProgress:(e,n)=>{let r=t.get(e);r&&i.updateProgress(r,n)},onComplete:async e=>{let n=t.get(e);if(n){await new Promise(e=>setTimeout(e,100));let t=Te?.find(t=>t.name===e&&!t.isFolder);i.markAsSuccess(n,t)}await se.current?.refreshFileCounts()},onError:(n,r,a)=>{let o=t.get(n)??(a!=null&&a<e.length?e[a]:void 0);o&&i.markAsError(o,r)},onBatchComplete:async n=>{for(let r=0;r<n.successes.length;r++){let a=n.successes[r],o=n.uploadedFiles?.get(a),s=t.get(a)??(o?.originalFileName?t.get(o.originalFileName):void 0)??(o?.originalIndex!=null&&o.originalIndex<e.length?e[o.originalIndex]:void 0)??(r<e.length?e[r]:void 0);if(s){let e;if(o?.id){let t=o;e={id:t.id,name:t.name??a,folderId:t.folderId??Ke??null,isFolder:!1,size:t.size}}else await new Promise(e=>setTimeout(e,100)),e=Te?.find(e=>e.name===a&&!e.isFolder);i.updateProgress(s,100),i.markAsSuccess(s,e)}}n.errors.forEach(({fileName:e,error:n})=>{let r=t.get(e);r&&i.markAsError(r,n)}),await se.current?.refreshFileCounts()}})},[Me,i,Te,Ke,g?.config]),xt=a.default.useCallback(async(e,t,n,r)=>{var a;try{ue(!0);let o=n||`uploaded-file`;if(!n&&e){let t=e.split(`?`)[0].split(`#`)[0].split(`/`);o=t[t.length-1]||`uploaded-file`,o.includes(`.`)&&(a=o.split(`.`).pop())!=null&&a.length&&o.split(`.`).pop().length<=5||(o+=`.jpg`)}let s=i.startUploadByUrl(Ke||void 0,o);try{let n=await Ne(e,t,!0,r??`uploadByUrl`);if(i.updateProgress(s,100),n){await new Promise(e=>setTimeout(e,100));let e=Te?.find(e=>e.id===n.id&&!e.isFolder)||n;i.markAsSuccess(s,e)}else i.markAsSuccess(s);await se.current?.refreshFileCounts()}catch(e){let t=JR(WR(e),f);i.markAsError(s,t)}}finally{ue(!1)}},[Ne,i,Ke,Te,f]),St=a.default.useCallback(async({file:e})=>{let t=i.startUpload(Ke||void 0,[e])[0],n=0,r=setInterval(()=>{n=Math.min(n+10+Math.floor(Date.now()%10),90),i.updateProgress(t,n)},200);try{let n=await o.uploadFileWithProvider(e,void 0,!0);if(clearInterval(r),i.updateProgress(t,100),n){await new Promise(e=>setTimeout(e,100));let e=Te?.find(e=>e.id===n.id&&!e.isFolder)||n;i.markAsSuccess(t,e)}else i.markAsSuccess(t);let a=n&&n.folderId||Ke||null;return Je&&Je(a&&a!==`folders`?a:`folders`),await se.current?.refreshFileCounts(),n}catch(e){clearInterval(r);let n=e instanceof Error?e.message:String(e);throw i.markAsError(t,n),e}},[o,i,Ke,Te,Je]),Ct=a.default.useCallback(async e=>{if(Le){let t=i.startUpload(Ke||void 0,e);e.forEach(async(e,n)=>{let r=t[n];if(!r)return;let a=0,o=setInterval(()=>{a=Math.min(a+10+Math.floor(Date.now()%10),85),i.updateProgress(r,a)},200);setTimeout(()=>{clearInterval(o)},2e3)}),await Le(e),t.forEach(e=>{i.updateProgress(e,100),i.markAsSuccess(e)}),await se.current?.refreshFileCounts()}},[Le,i,Ke]),wt=a.default.useCallback(async e=>{await je(e),await ve(),await se.current?.refreshFileCounts()},[je,ve]),Tt=(({files:e,clearSelection:t,showRenameModal:n,showMoveModal:r,showCopyModal:i,handleDeleteFile:o,handleDeleteFolder:s,showDeleteConfirm:c,onEdit:l})=>({handleClearSelection:a.useCallback(()=>{t()},[t]),handleRename:a.useCallback(e=>{let t=Nz.getState().selectedFiles;(t&&t.size===1||e)&&n(e||Array.from(t)[0])},[n]),handleDeleteSelected:a.useCallback(t=>{let n=Nz.getState().selectedFiles;if(n&&n.size>0||t?.id){if(c)return void c();(t?[t.id]:n).forEach(t=>{let n=e.find(e=>e.id===t);n&&(n.isFolder?s(t):o(t))})}},[e,o,s,c]),handleCopy:a.useCallback(()=>{i()},[i]),handleMove:a.useCallback(()=>{r()},[r]),handleEdit:a.useCallback(()=>{l()},[l])}))({files:Te||[],clearSelection:me,showRenameModal:Pe,showMoveModal:Re,showCopyModal:t.actions.showCopyModal||(()=>{}),handleDeleteFile:Ae,handleDeleteFolder:wt,showDeleteConfirm:Ue,onEdit:at.handleEdit}),Et=_e||Ee||ot;(0,a.useEffect)(()=>{zF()},[]),(0,a.useLayoutEffect)(()=>{P===vF?he(Te||[]):me()},[P,Te,he,me]),(0,a.useEffect)(()=>{if(!(!_||P!==vF)){if(!tn.current)return void(tn.current=!0);_((Array.isArray(Te)?Te:[]).filter(e=>pe.has(e.id)))}},[P,Te,pe,_]),a.default.useEffect(()=>{if(!Je||ge.length===0)return;let e=!1!==y?.rememberLastFolder,t=`em_fm:lastFolder:${y?.projectId||`default`}`;if(e&&typeof window<`u`)try{let e=localStorage.getItem(t);if(e&&ge.some(t=>t.id===e))return void Je(e)}catch{}Ke||Je(`folders`)},[Ke,Je,ge,y?.rememberLastFolder,y?.projectId]);let{handleRenameFolderCancel:Dt,handleRenameFolderOk:B}=we.actions;(0,a.useEffect)(()=>{let e=async e=>{if(P!==vF)return;let t=document.activeElement;if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t?.getAttribute(`contenteditable`)===`true`)return;let n=e.clipboardData;if(!n)return;let r=Array.from(n.items),i=r.filter(e=>e.type.startsWith(`image/`));if(i.length>0){let t=i.map(e=>e.getAsFile()).filter(e=>e!==null);t.length>0&&(e.preventDefault(),await Ct(t));return}let a=r.find(e=>e.type===`text/plain`);a&&a.getAsString(async t=>{let n=t.trim();if(n.startsWith(`http://`)||n.startsWith(`https://`))e.preventDefault(),await xt(n);else if(n.includes(`<meta`)||n.includes(`http`)){let t=n.match(/https?:\/\/[^\s"']+/);t&&(e.preventDefault(),await xt(t[0]))}})};return document.addEventListener(`paste`,e),()=>{document.removeEventListener(`paste`,e)}},[P,xt,Ct]);let Ot=(0,a.useRef)(Xe);(0,a.useEffect)(()=>{Ot.current=Xe},[Xe]);let kt=(0,a.useCallback)(e=>{rt(e.current||Ot.current.current,e.pageSize||Ot.current.pageSize)},[rt]),At=(0,a.useCallback)(e=>{Ye?.(e)},[Ye]),jt=a.default.useCallback(e=>{let{sortBy:t,sortOrder:n}=(e=>{let[t,n]=e.split(`-`);return{sortBy:t,sortOrder:n}})(e);nt(t,n)},[nt]),[Mt,Nt]=(0,a.useState)(dH),[Pt,Ft]=(0,a.useState)([]),It=(0,a.useRef)(null),[Lt,Rt]=(0,a.useState)(PF),[zt,Bt]=(0,a.useState)([]),Vt=(0,a.useRef)(null),[Ht,Ut]=(0,a.useState)(``),Wt=(0,a.useRef)(null),[Gt,Kt]=(0,a.useState)(``),[qt,Jt]=(0,a.useState)([]),Yt=a.default.useRef(void 0),[Xt,Zt]=(0,a.useState)(!1),[Qt,$t]=(0,a.useState)(!1),en=a.default.useRef(null),tn=a.default.useRef(!1),[nn,rn]=(0,a.useState)({mode:`qr`,rawText:``,foregroundHex:`#000000`,backgroundHex:`#ffffff`,transparentBackground:!1,qrSidePx:200,barcodeBarHeightPx:60}),an=a.default.useRef(P),on=a.default.useCallback(e=>{let t=e.indexOf(`,`);if(t===-1)return null;let n=e.substring(0,t),r=n.match(/^data:([^;]+)/),i=r&&r[1]||`image/svg+xml`,a,o=`svg`;if(i.includes(`png`)?o=`png`:(i.includes(`jpeg`)||i.includes(`jpg`))&&(o=`jpg`),/;base64/i.test(n)){let n=e.substring(t+1),r=atob(n),o=new Uint8Array(r.length);for(let e=0;e<r.length;e+=1)o[e]=r.charCodeAt(e);a=new Blob([o],{type:i})}else{let n=decodeURIComponent(e.substring(t+1));a=new Blob([n],{type:i})}return new File([a],`icon_${Date.now()}.${o}`,{type:i})},[]),sn=a.default.useCallback(async e=>{let t=i.startUpload(Ke||void 0,[e])[0],n=0,r=setInterval(()=>{n=Math.min(n+10+Math.floor(Date.now()%10),90),i.updateProgress(t,n)},200);try{let n=await o.uploadFileWithProvider(e,void 0,!0);if(clearInterval(r),i.updateProgress(t,100),n){await new Promise(e=>setTimeout(e,100));let e=Te?.find(e=>e.id===n.id&&!e.isFolder)||n;i.markAsSuccess(t,e)}else i.markAsSuccess(t);await se.current?.refreshFileCounts()}catch(e){clearInterval(r);let n=e instanceof Error?e.message:String(e);throw i.markAsError(t,n),e}},[i,Te,o,Ke]),cn=(0,a.useCallback)(async e=>{if(e&&e.startsWith(`data:`)){let t=on(e);if(!t)return;await sn(t);return}e&&await xt(e,void 0,void 0,`iconStock`)},[on,xt,sn]),ln=(0,a.useCallback)(async()=>{let e=L?.fileForEdit;if(Yt.current!==e&&P===wF&&e&&!at.editingFile){Yt.current=e;try{if(typeof e==`string`){if(e.startsWith(`data:`))return void(at==null||at.handleEdit({thumbnail:e,saveWithoutFolder:!0}));let t=await o.resolveFileForEditByUrl(e);Yt.current===e&&at?.handleEdit(t)}}catch{Yt.current===e&&(Yt.current=null),at?.handlePixieEditorClose()}}},[L?.fileForEdit,P,at,o]);(0,a.useEffect)(()=>{ln()},[ln]),(0,a.useEffect)(()=>{var e,t,n,r;let i=an.current;an.current=P,P===vF?(Ft([]),Nt(dH),Bt([]),Rt(PF),Jt([]),Kt(``),$t(!1),Zt(!1),i===vF||i!==bF&&i!==yF&&i!==SF||tt(``)):P===SF?(e=en.current)==null||e.focus():P===yF?(t=It.current)==null||t.focus():P===bF?(n=Vt.current)==null||n.focus():P===xF&&((r=Wt.current)==null||r.focus())},[P,tt]);let un=a.default.useCallback(async()=>{await B(),await se.current?.refreshFileCounts()},[B]),dn=(0,a.useCallback)(e=>e?e.files?.length?Array.from(e.files):e.items?Array.from(e.items).map(e=>e.getAsFile()).filter(e=>!!e):[]:[],[]);return(0,c.jsxs)(c.Fragment,{children:[re&&pt===vF&&(0,s.createPortal)((0,c.jsx)(`div`,{className:$.dragCaptureLayer,"data-drag-capture":`true`,onDragOver:e=>{var t;e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&!oe.current&&z(!0)},onDragEnter:e=>{var t;e.preventDefault(),e.stopPropagation(),(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&z(!0)},onDragLeave:e=>{let t=e.relatedTarget;t&&document.documentElement.contains(t)||(z(!1),ie(!1),document.body.removeAttribute(`data-fm-dragging`))},onDrop:e=>{e.preventDefault(),e.stopPropagation(),ie(!1),z(!1),document.body.removeAttribute(`data-fm-dragging`);let t=dn(e.dataTransfer);t.length&&(st(!0),Le(t).catch(e=>{e?.name}).finally(()=>st(!1)))},"aria-hidden":`true`}),document.body),ne&&(0,s.createPortal)((0,c.jsx)(`div`,{className:$.dragOverlayGlobal,"data-drop-overlay":`true`,onDragOver:e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},onDragEnter:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),e.stopPropagation(),z(!1),ie(!1),document.body.removeAttribute(`data-fm-dragging`);let t=dn(e.dataTransfer);t.length&&(st(!0),Le(t).catch(e=>{e?.name}).finally(()=>st(!1)))},"aria-hidden":`true`,children:(0,c.jsxs)(`div`,{className:$.dragOverlayInner,children:[(0,c.jsx)(`div`,{className:$.uploadIcon,children:(0,c.jsx)(ee,{})}),(0,c.jsx)(`div`,{className:$.textTitle,children:f(`Drop files here to upload`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:f(`Supported files:`)+` .jpg, .jpeg, .svg, .png`})]})}),document.body),(0,c.jsx)(l.Layout,{className:`file-manager__layout`,children:(0,c.jsxs)(`div`,{className:$.filesContainer,"data-files-container":`true`,onDragOver:ut,onDragLeave:lt,onDragEnter:ct,onDrop:dt,children:[R&&(0,c.jsx)(`div`,{className:$.dragOverlay,children:(0,c.jsxs)(`div`,{className:$.dragOverlayInner,children:[(0,c.jsx)(`div`,{className:$.uploadIcon,children:(0,c.jsx)(ee,{})}),(0,c.jsx)(`div`,{className:$.textTitle,children:f(`Drop files here to upload`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:f(`Supported files:`)+` .jpg, .jpeg, .svg, .png`})]})}),(0,c.jsxs)(l.Layout,{className:`file-manager__content`,children:[(0,c.jsx)(sH,{width:320,theme:`light`,className:`file-manager-sider`,children:(0,c.jsx)(JB,{ref:se,selectedFolder:Ke||`folders`,generateMenuItems:Ce,onFolderSelect:e=>Je?.(e),folders:ge||[],fetchFolders:ve,fetchChildFolders:ye,handleAddFile:bt,setIsUrlModalVisible:e=>F?.(e),handleDeleteFolder:wt,handleCreateFolder:be,activeLibraryItem:P,setActiveLibraryItem:e=>I?.(e)})}),(0,c.jsxs)(l.Layout,{className:`file-manager__main-content`,children:[ot&&(0,c.jsx)(VB,{style:{position:`absolute`,width:`100%`,height:`100%`,top:0,left:0,zIndex:100,background:`var(--colorBgLayout)`}}),(0,c.jsxs)(cH,{className:`main-content`,children:[(0,c.jsx)(LV,{activeLibraryItem:P,selectedFolder:ge?.find(e=>e?.id===Ke)?.name||f(`Folders`),isTrashFolder:Ke===`Trash`,onClearTrash:ht,files:Te||[],loading:Et,onRefresh:it,refreshDisabled:Ee||_e,showRefresh:!(!g?.apiEndpoints?.clearCache&&!g?.dataProviders?.clearCache)}),(0,c.jsx)(l.Divider,{className:`zero-divider`}),P===vF&&(0,c.jsx)(AB,{searchTerm:Qe,handleAddFile:bt,files:Te||[],handleSearch:tt,sortBy:$e,sortOrder:et,handleSortOptionChange:jt,pagination:Xe,setPagination:kt,loading:Et,handleItemClick:At,onClearSelection:Tt.handleClearSelection,onRename:Tt.handleRename,onCopy:Tt.handleCopy,onMove:Tt.handleMove,onDelete:Tt.handleDeleteSelected,showRenameModal:Pe,showDeleteConfirm:Ue,showCopyModal:t.actions.showCopyModal||(()=>{}),showMoveModal:Re,onEdit:at.handleEdit,getFileData:o.getFileData}),P===yF&&(0,c.jsx)(GV,{imageGifList:Pt,setImageGifList:Ft,currentReqGif:Mt,setCurrentReqGif:Nt,inputRef:It,customRequest:(e,t)=>xt(e,void 0,t,`gif`)}),P===bF&&(0,c.jsx)(YV,{imageStockList:zt,setImageStockList:Bt,currentReq:Lt,setCurrentReq:Rt,inputRef:Vt,customRequest:(e,t)=>xt(e,void 0,t,`imageStock`)}),P===xF&&(0,c.jsx)(a.default.Suspense,{fallback:(0,c.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`48px 0`},children:(0,c.jsx)(l.Spin,{size:`large`})}),children:(0,c.jsx)(lH,{customRequest:cn,query:Ht,setQuery:Ut,inputRef:Wt})}),P===CF&&(0,c.jsx)(a.default.Suspense,{fallback:(0,c.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`48px 0`},children:(0,c.jsx)(l.Spin,{size:`large`})}),children:(0,c.jsx)(uH,{customRequest:St,state:nn,setState:rn})}),P===SF&&!!L?.sseQuery&&(0,c.jsx)(aH,{imageAiList:qt,setImageAiList:Jt,aiImageRequest:Gt,setAiImageRequest:Kt,inputAiRef:en,customRequest:St,isLoadingAi:Xt,setIsLoadingAi:Zt,isImageUploaded:Qt,setIsImageUploaded:$t}),P===wF&&(0,c.jsx)(c.Fragment,{})]})]})]}),le&&!i.isUploadVisible&&(0,c.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:1500,backgroundColor:`rgba(255, 255, 255, 0.5)`,pointerEvents:`all`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,c.jsx)(l.Spin,{size:`large`})}),(0,c.jsx)(KB,{isModalVisible:D,handleModalOk:xe,handleModalCancel:Se,form:x,selectedFolder:Ke||null,folders:ge||[],isUrlModalVisible:O,setIsUrlModalVisible:e=>F?.(e),handleAddFileByUrl:xt,urlForm:S,isRenameModalVisible:De,handleRenameOk:()=>Ie?.(),handleRenameCancel:()=>Fe?.(),renameForm:C,fileToRename:Oe,files:Te||[],isMoveModalVisible:k,handleMoveOk:vt,handleMoveCancel:ze,moveForm:w,selectedFiles:pe||new Set,isRenameFolderModalVisible:A,handleRenameFolderOk:un,handleRenameFolderCancel:Dt,renameFolderForm:T,folderToRename:N,isCopyModalVisible:j,handleCopyOk:yt,handleCopyCancel:He,copyForm:E,isDeleteConfirmVisible:M,handleDeleteConfirmOk:mt,handleDeleteConfirmCancel:()=>We?.(),isClearTrashConfirmVisible:de,handleClearTrashConfirm:gt,handleClearTrashCancel:_t,fetchChildFolders:ye}),(0,c.jsx)(aV,{visible:at.isPixieEditorVisible,onClose:at.handlePixieEditorClose,file:at.editingFile,onSave:at.handlePixieEditorSave,onSaveCopy:at.handlePixieEditorSaveCopy}),(0,c.jsx)(PV,{files:i.uploadFiles,visible:i.isUploadVisible,minimized:i.isUploadMinimized,totalFiles:i.totalFiles,completedFiles:i.completedFiles,onClose:i.closeUpload,onMinimize:i.minimizeUpload,onInsert:e=>{var t;let n=i.getUploadedFile(e.id)||e;(t=p.onEditorOk)==null||t.call(p,n)}})]})})]})},pH=(0,a.memo)(({config:e={},onPathChange:t,onChangeSelection:n,onEditorOk:r,searchQuery:i=``,sortBySize:o=`name`,apiEndpoints:s={},customIcons:u,dragDropIcon:d,dataProviders:f,handleNotify:p,handleError:m,handleSuccess:h})=>{let g=a.default.useMemo(()=>Object.assign({folderTreeLoading:`lazy`,expandAllFoldersOnInit:!1,expandRootFolderOnInit:!1,iconStrokeWidth:1.4,availableImageExtensions:[`jpg`,`jpeg`,`png`,`gif`],fileNameProcessing:Object.assign(Object.assign({},{transliterate:!0,replaceSpaces:!0,removeForbiddenChars:!0,toLowerCase:!0}),e.fileNameProcessing),folderNameProcessing:Object.assign(Object.assign({},{transliterate:!0,replaceSpaces:!0,removeForbiddenChars:!0,toLowerCase:!0}),e.folderNameProcessing)},e),[e]);a.default.useEffect(()=>{g.theme&&(e=>{if(e===`system`){let t=matchMedia(kF).matches?DF:EF;e=e===OF?t:e}document.documentElement.setAttribute(`data-theme`,e)})(g.theme),oH(g)},[g]),(0,a.useEffect)(()=>{g.locale&&g.locale!==ZI.language&&ZI.changeLanguage(g.locale),g.customLocale&&g.locale&&ZI.addResourceBundle(g.locale,`translation`,g.customLocale,!0,!0)},[g.locale,g.customLocale]);let _=(0,a.useRef)(null),v=(0,a.useCallback)(()=>_.current??document.body,[]);return(0,c.jsx)(l.App,{className:`em-filemanager`,children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.ConfigProvider,{getPopupContainer:()=>_.current||document.body,children:(0,c.jsx)(bR,{options:a.default.useMemo(()=>({apiEndpoints:s,searchQuery:i,sortBySize:o,onPathChange:t,onChangeSelection:n,onEditorOk:r,config:g,customIcons:u,dragDropIcon:d,dataProviders:f,handleNotify:p,handleError:m,handleSuccess:h,getModalContainer:v}),[s,i,o,t,n,r,g,u,d,f,p,m,h,v]),children:(0,c.jsx)(fH,{})})}),(0,c.jsx)(`div`,{ref:_,className:`file-manager-modal-root`})]})})});pH.displayName=`FileManagerApp`;var mH=l.Alert.ErrorBoundary,hH=e=>(0,c.jsx)(_L,{i18n:ZI,children:(0,c.jsx)(LF,{externalTheme:e.config?.theme??`light`,customThemeToken:e.config?.customTheme,children:(0,c.jsx)(mH,{children:(0,c.jsx)(pH,Object.assign({},e))})})}),gH=e=>{let{onClose:t,onSave:n,dataProviders:r,theme:i,locale:o,hasPagination:s,disablePagination:u,paginationAvailable:d,dedupeUploadNamesOnClient:f,saveCopyToCurrentFolder:p}=e,m=a.default.useMemo(()=>({theme:i??`light`,locale:o,baseUrl:e.baseUrl,assetsUrl:e.assetsUrl,compressMaxSize:e.compressMaxSize,compressMaxWidthOrHeight:e.compressMaxWidthOrHeight,compessorUrl:e.compessorUrl??e.compressorUrl,compressorUrl:e.compressorUrl??e.compessorUrl,showNotifications:e.showNotifications,fetchWithProxy:e.fetchWithProxy,handleFileProxy:e.handleFileProxy,hasPagination:s,disablePagination:u,paginationAvailable:d,dedupeUploadNamesOnClient:f,saveCopyToCurrentFolder:p}),[i,o,e.baseUrl,e.assetsUrl,e.compressMaxSize,e.compressMaxWidthOrHeight,e.compessorUrl,e.compressorUrl,e.showNotifications,e.fetchWithProxy,e.handleFileProxy,s,u,d,f,p]),h=a.default.useCallback(async(e,t,n,i)=>{if(!e&&!t||!r?.getFiles)return null;try{let[a]=(await r.getFiles({folderId:i?void 0:n??void 0,noFolder:i,search:t||void 0,itemType:`file`,page:1,limit:1})).files;return a?e&&a.id!==e?null:a:null}catch{return null}},[r]),g=a.default.useMemo(()=>{if(e.file)return e.file;let t=e.name||`edited-image`,n=e.extension||(e.type?e.type.split(`/`)[1]:`png`),r=e.type||`image/${n}`;return{thumbnail:e.imageDataUrl||``,name:t,id:void 0,type:r,extension:n,saveWithoutFolder:!0}},[e.file,e.imageDataUrl,e.name,e.extension,e.type]),_=a.default.useCallback(async(e,t)=>{if(r?.updateFile&&e.thumbnail)try{let n=t?.mimeType||HF(e.thumbnail,e.type),i=UF(n),a=e.name.substring(0,e.name.lastIndexOf(`.`))+`.`+i,o=t?.blob||YF(e.thumbnail,n);return await r.updateFile(e.id,{name:a,type:n,data:o})}catch{return null}return null},[r]),v=a.default.useCallback(async(e,t)=>{if(!e.thumbnail)return null;try{let n=!0!==m.saveCopyToCurrentFolder||(e.saveWithoutFolder??!e.id),i=n?``:e.folderId||``,a=t?.mimeType||HF(e.thumbnail,e.type),o=t?.blob||YF(e.thumbnail,a),s=await VL(r,oI(e.name,m),i,n,cI(m)),c=new File([o],s,{type:a,lastModified:Date.now()});if(r?.uploadFiles){let t=await r.uploadFiles({items:[{name:c.name,size:c.size,type:c.type,folderId:i,noFolder:n,data:c,extension:UF(a)}],folderId:i}),o=t.detailed?.[0];if(t.success&&o?.success&&o.data){let t=o.data;return t.url||t.thumbnailUrl||t.thumbnail?{id:t.id||e.id||``,name:t.name||e.name,folderId:t.folderId??i,type:t.type||c.type,size:t.size??c.size,extension:t.extension||UF(a),url:t.url,thumbnailUrl:t.thumbnailUrl,thumbnail:t.thumbnail,date:t.date,dimensions:t.dimensions,aspectRatio:t.aspectRatio,sourceUrl:t.sourceUrl,isFolder:!1,selected:!1}:await h(o.data.id,o.data.name||c.name,o.data.folderId??i,n)||{id:o.data.id||e.id||``,name:o.data.name||e.name,folderId:o.data.folderId??i,type:c.type,size:c.size,extension:UF(a),url:o.data.url,thumbnailUrl:o.data.thumbnailUrl,thumbnail:o.data.thumbnail,isFolder:!1,selected:!1}}}return r?.uploadFile?await r.uploadFile({name:c.name,size:c.size,type:c.type,folderId:i,noFolder:n,data:c,extension:UF(a)}):null}catch{return null}},[r,h,m]),y=a.default.useCallback(async(e,i)=>{if(r?.updateFile&&e.id&&e.thumbnail)try{let t=await _(e,i);t&&(e=t)}catch{}return n&&await n(e,i),t&&t(),e},[r,n,t,_]),b=a.default.useCallback(async(e,r)=>{let i=e;if(e.thumbnail)try{let t=await v(e,r);t&&(i=t)}catch{}return n&&await n(i,r),t&&t(),i},[t,n,v]),x=(0,a.useRef)(null),S=(0,a.useCallback)(()=>x.current??document.body,[]);return(0,a.useEffect)(()=>{o&&o!==ZI.language&&ZI.changeLanguage(o)},[o]),(0,c.jsx)(l.App,{className:`em-filemanager`,children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.ConfigProvider,{getPopupContainer:()=>x.current||document.body,children:(0,c.jsx)(_L,{i18n:ZI,children:(0,c.jsx)(LF,{externalTheme:i??`light`,children:(0,c.jsx)(mH,{children:(0,c.jsx)(bR,{options:{dataProviders:r,handleNotify:e.handleNotify,handleError:e.handleError,handleSuccess:e.handleSuccess,config:m,getModalContainer:S},children:(0,c.jsx)(aV,{visible:!0,onClose:t,file:g,onSave:y,onSaveCopy:b})})})})})}),(0,c.jsx)(`div`,{ref:x,className:`file-manager-modal-root`})]})})},_H=``,vH=class{constructor(){this.map=new Map}static childrenViewKey(e,t){return`v${_H}${e}${_H}${t}`}static childrenCountKey(e){return`c${_H}${e}`}getFreshError(e,t){let n=this.map.get(e);return n?t!==1/0&&Date.now()-n.updatedAt>t?(this.map.delete(e),null):n.error:null}setError(e,t){this.map.set(e,{error:t,updatedAt:Date.now()})}delete(e){this.map.delete(e)}clearChildrenViewErrorsForParent(e){let t=`v${_H}${e}${_H}`;for(let e of[...this.map.keys()])e.startsWith(t)&&this.map.delete(e)}clearAll(){this.map.clear()}},yH=class{constructor(){this.deletingIds=new Set}beginDeleting(e){for(let t of e)t&&this.deletingIds.add(t)}endDeleting(e){for(let t of e)t&&this.deletingIds.delete(t)}isDeleting(e){return!!e&&this.deletingIds.has(e)}},bH=18e5;function xH(e){return e==null||e===``?``:e}function SH(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function CH(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function wH(e){return!!e&&!!e.isFolder}function TH(){if(typeof(globalThis==null?void 0:globalThis.crypto)?.randomUUID==`function`)return globalThis.crypto.randomUUID();try{let e=globalThis.crypto||globalThis.msCrypto;if(e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return`id_${n}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}function EH(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.code===`folder_not_found`||t.code===`FolderNotFound`||t.data?.code===`path_folder_not_found`||t.data?.code===`folder_not_found`||t.status===404||t.data?.data?.status===404}function DH(e){if(!e||typeof e!=`object`)return String(e??``);let t=e,n=[],r={},i=[`page`,`pageSize`,`sortBy`,`sortOrder`,`search`,`itemType`,`limit`];for(let e of Object.keys(t).sort()){let a=t[e];i.includes(e)?n.push(`${e}=${String(a??``)}`):r[e]=a}let a=Object.keys(r).length?JSON.stringify(r):``,o=n.join(`|`),s=a?function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}(a):``;return`${o}${s?`|${s}`:``}`}var OH=class e{constructor(){this.entities=new Map,this.childrenByParent=new Map,this.maxCacheSize=1e4}now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let e=Array.from(this.entities.entries()).sort((e,t)=>e[1].updatedAt-t[1].updatedAt),t=Math.floor(.1*this.maxCacheSize);for(let n=0;n<t&&n<e.length;n++){let[t,r]=e[n];this.deleteEntityById(t)}}}getEntity(e){return this.entities.get(e)?.value}getRecord(e){return this.entities.get(e)}getFileSystemItem(e){let t=this.getEntity(e);return t&&!wH(t)?t:void 0}getFolder(e){let t=this.getEntity(e);return t&&wH(t)?t:void 0}getChildrenIds(e,t={}){let n=xH(e),r=this.childrenByParent.get(n);return r?t.onlyFileSystemItems?Array.from(r.files):t.onlyFolders?Array.from(r.folders):[...Array.from(r.folders),...Array.from(r.files)]:[]}searchByUrl(e){for(let t of this.entities.values())if(t.value.url===e)return t.value;return null}upsertEntity(e){let t=this.entities.get(e.id)??null,n=t?t.value:null,r=n?CH(n):null,i=CH(e),a=!!n&&wH(n),o=wH(e),s;if(n&&wH(n)&&o){let t=n.childrenCount,r=e.childrenCount;t!==void 0&&r===void 0&&(s=t)}if(n&&(r!==i||a!==o)){let t=xH(r),n=this.childrenByParent.get(t);n&&(a?n.folders.delete(e.id):n.files.delete(e.id),n.files.size===0&&n.folders.size===0&&this.childrenByParent.delete(t))}let c=e;s!==void 0&&(c=Object.assign(Object.assign({},e),{childrenCount:s})),this.entities.set(e.id,{value:Object.assign({},c),updatedAt:this.now()}),this.checkCacheSize();let l=xH(i),u=this.childrenByParent.get(l);u||(u={files:new Set,folders:new Set},this.childrenByParent.set(l,u)),o?u.folders.add(e.id):u.files.add(e.id)}updateServerChildrenCount(e,t){if(e==null||t==null||Number.isNaN(t))return;let n=this.entities.get(e);if(!n||!wH(n.value))return;let r=Object.assign(Object.assign({},n.value),{childrenCount:t});this.entities.set(e,{value:r,updatedAt:this.now()})}deleteEntityById(e){let t=this.entities.get(e)??null;if(!t)return{entity:null,parentId:null};let n=t.value,r=CH(n),i=xH(r),a=this.childrenByParent.get(i);return a&&(wH(n)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i)),this.entities.delete(e),{entity:Object.assign({},n),parentId:r}}deleteFolderRecursive(e){let t=this.entities.get(e);if(!t||!wH(t.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:e,parentId:CH(t.value)}],r=[],i=[];for(;n.length;){let e=n.shift();r.push(e);let t=this.childrenByParent.get(xH(e.id));if(t){for(let e of Array.from(t.folders)){let t=this.entities.get(e);t&&n.push({id:e,parentId:CH(t.value)})}for(let e of Array.from(t.files))i.push(e)}}let a=[];for(let e of i){let t=this.entities.get(e);if(!t)continue;let n=t.value,r=xH(CH(n)),i=this.childrenByParent.get(r);i&&(i.files.delete(e),i.files.size===0&&i.folders.size===0&&this.childrenByParent.delete(r)),this.entities.delete(e),a.push(Object.assign({},n))}let o=[];for(let e=r.length-1;e>=0;e--){let{id:t,parentId:n}=r[e],i=this.entities.get(t);if(!i)continue;let a=i.value,s=xH(a.id);this.childrenByParent.delete(s);let c=xH(n),l=this.childrenByParent.get(c);l&&(l.folders.delete(t),l.files.size===0&&l.folders.size===0&&this.childrenByParent.delete(c)),this.entities.delete(t),o.push(Object.assign({},a))}return{deletedFolderRecords:o,deletedFileSystemItemRecords:a}}moveEntityById(e,t){let n=this.entities.get(e)??null;if(!n)return null;let r=n.value,i=xH(CH(r)),a=this.childrenByParent.get(i);a&&(wH(r)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i));let o=Object.assign(Object.assign({},r),{folderId:t});if(wH(r)&&wH(o)){let e=r.childrenCount;e!==void 0&&(o.childrenCount=e)}this.entities.set(e,{value:o,updatedAt:this.now()});let s=xH(t),c=this.childrenByParent.get(s);return c||(c={files:new Set,folders:new Set},this.childrenByParent.set(s,c)),wH(o)?c.folders.add(e):c.files.add(e),Object.assign({},o)}copyFileSystemItem(e,t,n){let r=this.entities.get(e)??null;if(!r||wH(r.value))return null;let i=r.value,a=Object.assign(Object.assign({},i),{id:t,folderId:n});return this.upsertEntity(a),Object.assign({},a)}copyFolderShallow(e,t,n){let r=this.entities.get(e)??null;if(!r||!wH(r.value))return null;let i=r.value,a=Object.assign(Object.assign({},i),{id:t,folderId:n});return this.upsertEntity(a),Object.assign({},a)}isEntityStale(e,t){let n=this.entities.get(e)??null;return!n||t!==1/0&&this.now()-n.updatedAt>t}touch(e,t){let n=this.entities.get(e);n&&(n.updatedAt=t??this.now())}getEntitiesByIds(e){return e.map(e=>this.entities.get(e)?.value??null)}searchByName(e,t){var n,r;if(!e||e.trim()===``)return[];let i=t?.parentId,a=(n=t?.recursive)!=null&&n,o=t?.itemType??`all`,s=(r=t?.caseSensitive)!=null&&r,c=t?.limit??1/0,l=s?e.trim():e.trim().toLowerCase(),u=[],d=null;if(i!==void 0){d=new Set;let e=xH(i);if(d.add(e),a){let t=[e],n=new Set;for(;t.length>0;){let e=t.shift();if(n.has(e))continue;n.add(e);let r=this.childrenByParent.get(e);if(r)for(let e of r.folders)d.add(e),t.push(e)}}}for(let[,e]of this.entities){if(u.length>=c)break;let t=e.value;if(d!==null){let e=xH(CH(t));if(!d.has(e))continue}if(o===`file`&&wH(t)||o===`folder`&&!wH(t))continue;let n=t.name??``;(s?n:n.toLowerCase()).includes(l)&&u.push(Object.assign({},t))}return u}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([e,t])=>[e,{files:Array.from(t.files),folders:Array.from(t.folders)}])}}static fromJSON(t){let n=new e;for(let[e,r]of t.entities??[])n.entities.set(e,{value:r.value,updatedAt:r.updatedAt});for(let[e,r]of t.childrenByParent??[])n.childrenByParent.set(e,{files:new Set(r.files),folders:new Set(r.folders)});return n}},kH=class e{constructor(e={},t=18e5,n,r,i=new vH,a=EH){var o,s,c;this.views=new Map,this.maxViewsPerParent=50,this.strategy={allowSortedInsert:(o=e.allowSortedInsert)==null||o,allowSearchInsert:(s=e.allowSearchInsert)==null||s,invalidateOnPaginationFull:(c=e.invalidateOnPaginationFull)==null||c,preloadPagesBefore:e.preloadPagesBefore??0,preloadPagesAfter:e.preloadPagesAfter??1,comparator:e.comparator,filterMatch:e.filterMatch},this.ttl=t,this.errorTtl=n??t,this.entityTtl=r??t,this.failedRequests=i,this.isFolderNotFoundError=a}setServerChildrenCountHandler(e){this.serverChildrenCountHandler=e}setChildrenCountInvalidator(e){this.childrenCountInvalidator=e}now(){return Date.now()}parentKey(e){return xH(e??null)}isExpired(e){return e==null||this.ttl!==1/0&&this.now()-e>this.ttl}areEntitiesStale(e,t){return!e||e.some(e=>!t.getEntity(e)||t.isEntityStale(e,this.entityTtl))}isEntityTypeCompatible(e,t){return!t||t===`all`||t===`file`&&!wH(e)||!(t!==`folder`||!wH(e))}cleanupOldViews(e){if(e.size<=this.maxViewsPerParent)return;let t=Array.from(e.entries()).sort((e,t)=>(t[1].view.updatedAt||0)-(e[1].view.updatedAt||0));for(;e.size>this.maxViewsPerParent&&t.length>0;){let[n]=t.pop();e.delete(n)}}async getOrCreateChildren(e,t,n,r){let i=this.parentKey(e),a=DH(t??{}),o=this.views.get(i);o||(o=new Map,this.views.set(i,o));let s=vH.childrenViewKey(i,a),c=o.get(a);c||(c={params:t,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},o.set(a,c),this.cleanupOldViews(o));let l=this.failedRequests.getFreshError(s,this.errorTtl);if(l!=null)throw l;if(c.view.value&&!this.isExpired(c.view.updatedAt)&&!this.areEntitiesStale(c.view.value,r)&&!c.view.meta?.stale){let e=c.view.value.map(e=>r.getEntity(e)).filter(Boolean),t=c.params?.itemType||`all`,n=e.filter(e=>this.isEntityTypeCompatible(e,t));return Object.assign({items:n},c.view.meta??{})}if(c.view.promise)return c.view.promise;let u=TH();c.view.loadId=u;let d=(async()=>{try{let a=await n(e,t),o=function(e){return!!e&&typeof e.search==`string`&&e.search.trim().length>0}(t),l=o?Object.assign(Object.assign({},a),{total:void 0}):a,d=this.views.get(i)?.get(DH(t));if(!d||d.view.loadId!==u){let e=Error(`StaleLoad`);throw e.name=`StaleLoad`,e}for(let e of l.items)r.upsertEntity(e);c.view.value=l.items.map(e=>e.id);let{items:f}=l,p=FR(l,[`items`]),m=Object.assign({},p);c.view.meta=m,c.view.meta&&(c.view.meta.stale=!1),this.failedRequests.delete(s),c.view.updatedAt=this.now(),o||typeof m.total!=`number`||(this.serverChildrenCountHandler?this.serverChildrenCountHandler(e??null,m.total,r):r.updateServerChildrenCount(e,m.total));let h=this.strategy.preloadPagesAfter??0,g=this.strategy.preloadPagesBefore??0,_=SH(t?.pageSize);if((h>0||g>0)&&Number.isFinite(_)){let i=e,a=Object.assign({},t),o=typeof m.totalPages==`number`?m.totalPages:1,s=t?.page??1,c=_,l=n,d=u;setTimeout(()=>{this.preloadPagesAsync(i,a,s,o,c,h,g,r,m,l,d)},0)}return l}catch(e){if(e?.name===`StaleLoad`)throw this.failedRequests.delete(s),c.view.value=void 0,c.view.updatedAt=this.now(),e;if(this.isFolderNotFoundError(e))return this.failedRequests.delete(s),c.view.value=[],c.view.meta={total:0,totalPages:0},c.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(s,e),c.view.value=void 0,c.view.updatedAt=this.now(),e}finally{c.view.promise=null}})();return c.view.promise=d,d}async preloadPagesAsync(e,t,n,r,i,a,o,s,c,l,u){try{let i=this.parentKey(e),c=this.views.get(i);if(!c)return;let d=c.get(DH(t));if(!d||u!=null&&d.view.loadId!==u)return;let f=c.get(DH(t));if(!f?.view.meta)return;let p=typeof f.view.meta.totalPages==`number`?f.view.meta.totalPages:1;if(p!==r)return;let m=async n=>{let r=Object.assign(Object.assign({},t),{page:n});try{let a=await l(e,r),o=this.views.get(i);if(!o)return;let c=o.get(DH(t));if(!c||u!=null&&c.view.loadId!==u||c.view.loadId!==u)return;for(let e of a.items)s.upsertEntity(e);let d=DH(r),f=o.get(d);if(f||(f={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:c.view.loadId}},o.set(d,f),this.cleanupOldViews(o)),!f.view.value||this.isExpired(f.view.updatedAt)){f.view.value=a.items.map(e=>e.id);let{items:e}=a,t=FR(a,[`items`]);f.view.meta=Object.assign(Object.assign({},t),{page:n,totalPages:p}),f.view.updatedAt=this.now()}}catch{}};if(a>0&&n<p)for(let e=1;e<=Math.min(a,p-n);e++){let r=n+e,i=DH(Object.assign(Object.assign({},t),{page:r})),a=c.get(i);a!=null&&a.view.value&&!this.isExpired(a.view.updatedAt)||m(r)}if(o>0&&n>1)for(let e=1;e<=Math.min(o,n-1);e++){let r=n-e,i=DH(Object.assign(Object.assign({},t),{page:r})),a=c.get(i);a!=null&&a.view.value&&!this.isExpired(a.view.updatedAt)||m(r)}}catch{}}removeEmptyPageIfNeeded(e,t,n,r,i){if(t.view.value&&t.view.value.length===0&&n<r){let t=DH(Object.assign(Object.assign({},i),{page:n}));e.delete(t)}}updateTotalPagesForAllViews(e,t){for(let[,n]of e)n.view.meta&&(n.view.meta.totalPages=t)}isParamsSame(e,t){let n=Object.keys(e??{}).filter(e=>e!==`page`).sort(),r=Object.keys(t??{}).filter(e=>e!==`page`).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0}syncTotalsInSameViews(e,t){let n=t.view.meta;if(!n||typeof n.total!=`number`)return;let r=Number(n.total),i=SH(t.params?.pageSize),a=Number.isFinite(i)&&i>0?Math.max(1,Math.ceil(r/i)):void 0;for(let[,n]of e)this.isParamsSame(n.params??{},t.params??{})&&(n.view.meta||(n.view.meta={}),n.view.meta.total=r,a!==void 0&&(n.view.meta.totalPages=a))}canSafelyModifySortedView(e){return!e.sortBy&&!e.sortOrder||!!this.strategy.comparator}cascadeShiftPages(e,t,n,r,i,a,o){let s=t,c=n,l=!1,u=0;for(;s.view.value&&s.view.value.length<r&&c<i&&u<100;){u++;let t=DH(Object.assign(Object.assign({},o),{page:c+1})),n=e.get(t);if(!n?.view.value||this.isExpired(n.view.updatedAt)){s.view.meta=Object.assign(Object.assign({},s.view.meta??{}),{stale:!0});break}let i=r-s.view.value.length,d=n.view.value.slice(0,i).filter(e=>a.getEntity(e));if(d.length===0){s.view.meta=Object.assign(Object.assign({},s.view.meta??{}),{stale:!0});break}if(s.view.value=[...s.view.value,...d],s.view.updatedAt=Date.now(),n.view.value=n.view.value.slice(d.length),n.view.updatedAt=Date.now(),n.view.value.length===0){let t=c+1,r=n.view.meta;if(t<(r&&typeof r.totalPages==`number`?r.totalPages:1)){let n=DH(Object.assign(Object.assign({},o),{page:t}));e.delete(n),l=!0}break}s=n,c++}return(!s.view.value||s.view.value.length<r)&&c>=i&&(s.view.meta=Object.assign(Object.assign({},s.view.meta??{}),{stale:!0})),l}cascadeShiftToNextPage(e,t,n,r,i,a,o){if(!t.view.value||t.view.value.length<=r)return!1;if(n-(o.page||1)>=10)return t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0}),!1;let s=Object.assign(Object.assign({},o),{page:n+1}),c=DH(s),l=e.get(c),u=!1;if(!l?.view.value||this.isExpired(l.view.updatedAt)){if(!(n>=i))return t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0}),!1;{l={params:s,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},e.set(c,l),this.cleanupOldViews(e);let r=t.view.meta;r&&(l.view.meta=Object.assign(Object.assign({},r),{page:n+1})),u=!0}}let d=t.view.value.slice(r).filter(e=>a.getEntity(e));if(d.length===0)return u&&e.delete(c),!1;t.view.value=t.view.value.slice(0,r),t.view.updatedAt=Date.now(),l.view.value=[...d,...l.view.value??[]],l.view.updatedAt=Date.now();let f=l.view.meta&&typeof l.view.meta.totalPages==`number`?l.view.meta.totalPages:i;if(!u&&this.cascadeShiftToNextPage(e,l,n+1,r,f,a,o))return!0;if(!l.view.value||l.view.value.length===0){let t=n+1,r=l.view.meta,i=r&&typeof r.totalPages==`number`?r.totalPages:1;this.removeEmptyPageIfNeeded(e,l,t,i,o)}return u}tryInsertSorted(e,t,n){let r=this.strategy.comparator;if(!r||!e.view.value)return!1;let i=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,i))return!1;let a=e.view.value.map(e=>n.getEntity(e));if(a.some(e=>!e))return!1;let o=0,s=a.length;for(;o<s;){let n=Math.floor((o+s)/2),i=r(t,a[n],e.params);if(typeof i!=`number`||Number.isNaN(i))return!1;i>=0?o=n+1:s=n}return e.view.value.includes(t.id)?(e.view.updatedAt=this.now(),!0):(e.view.value=[...e.view.value.slice(0,o),t.id,...e.view.value.slice(o)],e.view.updatedAt=this.now(),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Number(e.view.meta.total)+1),!0)}updateChildrenCountForOperation(e,t,n,r){var i,a,o,s;let c=CH(t);switch(e){case`delete`:this.adjustChildrenCount(r,c,-1),(i=this.childrenCountInvalidator)==null||i.call(this,c);break;case`insert`:case`copy`:this.adjustChildrenCount(r,c,1),(a=this.childrenCountInvalidator)==null||a.call(this,c);break;case`move`:this.adjustChildrenCount(r,n??null,-1),this.adjustChildrenCount(r,c,1),(o=this.childrenCountInvalidator)==null||o.call(this,n??null),(s=this.childrenCountInvalidator)==null||s.call(this,c)}}adjustChildrenCount(e,t,n){if(!t)return;let r=e.getFolder(t);if(r&&typeof r.childrenCount==`number`){let i=Math.max(0,r.childrenCount+n);e.updateServerChildrenCount(t,i)}}smartInvalidateChildrenViews(e,t,n,r,i,a){var o;if(!t)return;this.updateChildrenCountForOperation(n,t,i,r);let s=this.parentKey(e),c=this.views.get(s);if(c)for(let[,e]of c){let a=e.params??{},s=a?.page??1,l=SH(a?.pageSize),u=Number.isFinite(l),d=!(!a?.sortBy&&!a?.sortOrder),f=!!a?.search,p=a?.itemType||`all`;if(this.isEntityTypeCompatible(t,p)){if(f&&this.strategy.filterMatch&&!this.strategy.filterMatch(t,e.params)){(o=e.view.value)!=null&&o.includes(t.id)&&(e.view.value=e.view.value.filter(e=>e!==t.id),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Math.max(0,e.view.meta.total-1)),e.view.updatedAt=Date.now());continue}if(!e.view.value){e.view.meta&&(e.view.meta.stale=!0),e.view.loadId=TH(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}if(e.view.value.includes(t.id),this.shouldInvalidateCompletely(e,n,t,d,u,s))e.view.meta=Object.assign(Object.assign({},e.view.meta??{}),{stale:!0}),e.view.loadId=TH(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);else switch(n){case`delete`:this.handleDelete(c,e,s,l,u,t,r);break;case`insert`:case`copy`:this.handleInsert(c,e,s,l,u,d,t,r);break;case`update`:this.handleUpdate(c,e,s,l,u,d,f,t,r);break;case`move`:this.handleMove(c,e,s,l,u,d,t,i,r)}}}}shouldInvalidateCompletely(e,t,n,r,i,a){return!(!(i&&a>1)||t!==`insert`&&t!==`delete`&&t!==`move`)||!(!r||this.strategy.comparator||t!==`insert`&&t!==`move`)||!!this.isExpired(e.view.updatedAt)}tryReinsertEntity(e,t,n,r,i){let a=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,a))return!1;if(this.strategy.comparator&&this.strategy.filterMatch){if(!this.strategy.filterMatch(t,e.params))return!1;if(this.tryInsertSorted(e,t,n))return!0}let o=e.params??{};return!!(!o.sortBy&&!o.sortOrder||this.canSafelyModifySortedView(o))&&(!r||e.view.value.length<i)&&(e.view.value.push(t.id),!0)}handleDelete(e,t,n,r,i,a,o){let s=t.view.value.includes(a.id);if(s&&(t.view.value=t.view.value.filter(e=>e!==a.id)),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(t.view.updatedAt=Date.now(),s&&i&&t.view.value.length<r&&o){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,o,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}handleInsert(e,t,n,r,i,a,o,s){if(!t.view.value.includes(o.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&s){if(this.tryInsertSorted(t,o,s)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&(t.view.value?.length??0)>r&&s){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftToNextPage(e,t,n,r,a,s,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=t.view.meta.totalPages+1;t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(!i||t.view.value.length<r){if(t.view.value.push(o.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0});t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleUpdate(e,t,n,r,i,a,o,s,c){let l=t.view.value.includes(s.id),u=this.isEntityTypeCompatible(s,t.params?.itemType||`all`);if(l&&!u){if(t.view.value=t.view.value.filter(e=>e!==s.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l&&(a||o)){if(t.view.value=t.view.value.filter(e=>e!==s.id),this.tryReinsertEntity(t,s,c,i,r)){if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else{if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}t.view.updatedAt=Date.now(),t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l)return t.view.updatedAt=Date.now(),t.view.loadId=TH(),void(t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0));if(u&&!o){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c){if(this.tryInsertSorted(t,s,c)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else if(!i||t.view.value.length<r){if(t.view.value.push(s.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0});t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleMove(e,t,n,r,i,a,o,s,c){if(t.view.value.includes(o.id)){if(t.view.value=t.view.value.filter(e=>e!==o.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}this.syncTotalsInSameViews(e,t)}t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}forceInvalidateChildrenViews(e){let t=this.parentKey(e??null);this.failedRequests.clearChildrenViewErrorsForParent(t);let n=this.views.get(t);if(n)for(let[,e]of n)e.view.value=void 0,e.view.meta=void 0,e.view.promise=null,e.view.updatedAt=0,e.view.loadId=TH(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0)}getKnownTotal(e){let t=this.parentKey(e??null),n=this.views.get(t);if(!n)return;let r=null;for(let[,e]of n){let t=e.view.meta;t&&typeof t.total==`number`&&(!r||(e.view.updatedAt??0)>r.updatedAt)&&(r={total:Number(t.total),updatedAt:e.view.updatedAt??0})}return r?r.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([e,t])=>[e,Array.from(t.entries())]),ttl:this.ttl,errorTtl:this.errorTtl,entityTtl:this.entityTtl,strategy:{allowSortedInsert:this.strategy.allowSortedInsert,allowSearchInsert:this.strategy.allowSearchInsert,invalidateOnPaginationFull:this.strategy.invalidateOnPaginationFull,preloadPagesBefore:this.strategy.preloadPagesBefore,preloadPagesAfter:this.strategy.preloadPagesAfter}}}static fromJSON(t,n){let r=n?.ttl??t?.ttl??bH,i=new e({},r,n?.errorTtl??t?.errorTtl??r,void 0,n?.failedRequests??new vH,n?.isFolderNotFoundError);for(let[e,n]of t.views??[]){let t=new Map;for(let[e,r]of n){let n=r;n!=null&&n.view&&`error`in n.view&&delete n.view.error,t.set(e,n)}i.views.set(e,t)}return i}},AH=class e{invalidateChildrenCountCache(e){let t=xH(e??``);this.childrenCountPromises.delete(t),this.failedRequests.delete(vH.childrenCountKey(t))}constructor(e={},t=18e5,n,r){this.childrenCountPromises=new Map,this.isFolderNotFoundError=r?.isFolderNotFoundError??EH,this.failedRequests=new vH,this.ttl=r?.ttl??t,this.errorTtl=r?.errorTtl??n??this.ttl,this.entities=new OH,this.views=new kH(e,this.ttl,this.errorTtl,void 0,this.failedRequests,this.isFolderNotFoundError),this.views.setServerChildrenCountHandler((e,t,n)=>{this.handleServerReportedChildrenCount(e,t,n??this.entities)}),this.views.setChildrenCountInvalidator(e=>{this.invalidateChildrenCountCache(e)})}getEntity(e){return this.entities.getEntity(e)??null}getFileSystemItem(e){return this.entities.getFileSystemItem(e)??null}getFolder(e){return this.entities.getFolder(e)??null}async getOrCreateChildren(e,t,n){return this.views.getOrCreateChildren(e,t,n,this.entities)}upsertEntity(e){let t=this.entities.getEntity(e.id),n=t?CH(t):null,r=CH(e),i=!!t&&wH(t),a=wH(e);if(this.entities.upsertEntity(e),t){if(n!==r||i!==a)return this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),void this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities);this.views.smartInvalidateChildrenViews(r,e,`update`,this.entities,void 0,t)}else this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities)}isAncestor(e,t){let n=t,r=new Set;for(;n&&!r.has(n);){if(r.add(n),xH(n)===xH(e))return!0;let t=this.entities.getEntity(n);if(!t)break;n=CH(t),n===null&&(n=``)}return!1}moveEntity(e,t){let n=this.entities.getEntity(e);if(!n||wH(n)&&t!==null&&this.isAncestor(e,t))return null;let r=CH(n),i=this.entities.moveEntityById(e,t);return i?(this.views.smartInvalidateChildrenViews(r,n,`delete`,this.entities),this.views.smartInvalidateChildrenViews(t,i,`insert`,this.entities),i):null}copyEntity(e,t,n,r){let i=this.entities.getEntity(e);if(!i)return null;let a=null;if(wH(i)){let n=[e],i=[];for(;n.length;){let e=n.shift();i.push(e);let t=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of t)n.push(e)}let o=new Map;for(let e of i)o.set(e,TH());for(let n of i){let i=this.entities.getFolder(n),a=o.get(n),s=CH(i),c=s===null?t:o.get(s)??null,l=Object.assign(Object.assign(Object.assign({},i),n===e?r:void 0),{id:a,folderId:(n===e?r?.folderId:void 0)??c});this.entities.upsertEntity(l)}for(let e of i){let t=o.get(e),n=this.entities.getChildrenIds(e,{onlyFileSystemItems:!0});for(let e of n){let n=this.entities.getFileSystemItem(e);if(!n)continue;let r=TH(),i=Object.assign(Object.assign({},n),{id:r,folderId:t});this.entities.upsertEntity(i)}}a=this.entities.getEntity(o.get(e))??null}else{let i=n??TH();if(a=this.entities.copyFileSystemItem(e,i,t??null),a&&r){let e=Object.assign(Object.assign(Object.assign({},a),r),{id:i,folderId:r.folderId??t??null});this.entities.upsertEntity(e),a=e}}return a&&this.views.smartInvalidateChildrenViews(t,a,`copy`,this.entities),a}searchByUrl(e){return this.entities.searchByUrl(e)??null}deleteEntity(e){let t=this.entities.getEntity(e);if(!t)return null;if(wH(t)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:r}=this.entities.deleteFolderRecursive(e);for(let e of r)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.forceInvalidateChildrenViews(e.id);return t}{let{entity:t,parentId:n}=this.entities.deleteEntityById(e);return t&&this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),t}}deleteFolderRecursive(e){let{deletedFolderRecords:t,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(e);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.forceInvalidateChildrenViews(e.id);return{deletedFileSystemItemIds:n.map(e=>e.id),deletedFolderIds:t.map(e=>e.id)}}forceInvalidate(e){let t=this.entities.getEntity(e);if(!t)return;let n=new Set;if(wH(t)){let t=[e];for(;t.length;){let e=t.pop();if(n.has(e))continue;n.add(e),this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e);let r=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of r)t.push(e)}}else{let e=t.folderId??null;this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e)}}getChildrenIds(e){return this.entities.getChildrenIds(e)}searchByName(e,t){return this.entities.searchByName(e,t)}async getChildrenCount(e=``,t){let n=xH(e),r=vH.childrenCountKey(n),i=this.failedRequests.getFreshError(r,this.errorTtl);if(i!=null)return Promise.reject(i);let a=this.childrenCountPromises.get(n);if(a)return a;let o=(async()=>{try{let n=this.entities.getFolder(e);if(n&&typeof n.childrenCount==`number`)return this.failedRequests.delete(r),n.childrenCount;let i=this.views.getKnownTotal(e);if(typeof i==`number`)return n&&this.handleServerReportedChildrenCount(e,i,this.entities),this.failedRequests.delete(r),i;if(t){let n=await t(e);return this.entities.getFolder(e)&&this.handleServerReportedChildrenCount(e,n,this.entities),this.failedRequests.delete(r),n}return this.failedRequests.delete(r),this.entities.getChildrenIds(e).length}catch(e){if(this.childrenCountPromises.delete(n),this.isFolderNotFoundError(e))return this.failedRequests.delete(r),0;throw this.failedRequests.setError(r,e),e}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,o),o}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,n,r){var i,a,o;let s=r?.ttl??t?.ttl??bH,c=r?.errorTtl??t?.errorTtl??s,l=new e(n??{},s,c,r),u=OH.fromJSON(t?.entities??{}),d=kH.fromJSON(t?.views??{},{failedRequests:l.failedRequests,ttl:s,errorTtl:c,isFolderNotFoundError:r?.isFolderNotFoundError});return n&&(d.strategy={allowSortedInsert:(i=n.allowSortedInsert)==null||i,allowSearchInsert:(a=n.allowSearchInsert)==null||a,invalidateOnPaginationFull:(o=n.invalidateOnPaginationFull)==null||o,preloadPagesBefore:n.preloadPagesBefore??0,preloadPagesAfter:n.preloadPagesAfter??1,comparator:n.comparator,filterMatch:n.filterMatch}),l.entities=u,l.views=d,d.setServerChildrenCountHandler((e,t,n)=>{l.handleServerReportedChildrenCount(e,t,n??u)}),d.setChildrenCountInvalidator(e=>{l.invalidateChildrenCountCache(e)}),l}handleServerReportedChildrenCount(e,t,n){this.checkAndResolveChildrenCountConflict(e,t,n),this.invalidateChildrenCountCache(e)}checkAndResolveChildrenCountConflict(e,t,n){if(!n||t===void 0)return;let r=e??null;if(!r)return void n.updateServerChildrenCount(r,t);let i=n.getFolder(r)?.childrenCount;i!==void 0&&i!==t&&this.views.forceInvalidateChildrenViews(r),n.updateServerChildrenCount(r,t)}};function jH(e,t){let n=e??{},r=Array.isArray(n.detailed)?n.detailed.map(e=>({requestId:e.requestId??e.id,success:!!e.success,data:t(e.data),error:e.error})):void 0;return{success:!!n.success,error:n.error,detailed:r}}function MH(e){return e==null?``:String(e)}function NH(e){return Object.assign(Object.assign({},e),{name:MH(e.name)})}function PH(e){return e&&typeof e==`object`&&`name`in e?Object.assign(Object.assign({},e),{name:MH(e.name)}):e}var FH=class{async _findOrCreateFolderByPath(e){let t=(n=e)?n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean):[];var n;if(t.length>10)throw new Q(`Path depth exceeds maximum limit of 10`,`ValidationError`);let r;for(let n of t){let{files:t}=await this.getFiles({folderId:r?.id||``,itemType:`folder`}),i=t.find(e=>e.name===n);if(i){if(!i.isFolder)throw new Q(`Path component '%s' in '%s' is not a folder`.replace(`%s`,n).replace(`%s`,e),`ValidationError`);r={id:i.id,name:i.name,parentId:i.folderId}}else{if(typeof this._dataProvider.createFolder!=`function`)throw new Q(`Create folder operation is not supported by data provider`,`UnsupportedOperation`);r=await this.createFolder({name:n,parentId:r?.id})}}return r}getTrashFolder(){return this._findOrCreateFolderByPath(this._pathOptions.trashPath||`Trash`)}getTempFolder(){return this._findOrCreateFolderByPath(this._pathOptions.tempPath||`Edited`)}constructor(e,t={},n,r={}){this._dataProvider=e,this._options=t,this._pathOptions=n,this._blobFetchForceReloadOnceIds=new Set,this._mutationRegistry=new yH,this._mapItem=async e=>{var{childrenCount:t}=e;let n=NH(FR(e,[`childrenCount`]));if(n.isFolder)return Object.assign(Object.assign({},n),{childCount:t,url:``,thumbnailUrl:``});let[r,i]=await Promise.all([this._getUrl(n),this._getThumbnailUrl(n)]);return Object.assign(Object.assign({},n),{childCount:0,url:r,thumbnailUrl:i})},this._config=r,this._useSoftDelete=this._pathOptions.useSoftDelete,this._rootId=this._pathOptions.rootId||``,this._enableTrash=this._options.enableTrash===void 0||this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new AH(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:e=>{this._cache.forceInvalidate(e)},getCachedItem:e=>this._cache.getEntity(e)}),typeof this._dataProvider.clearCache!=`function`&&(this.clearCache=void 0);let i=Object.getPrototypeOf(this);for(let e of Object.getOwnPropertyNames(i)){let t=Object.getOwnPropertyDescriptor(i,e);e!==`constructor`&&typeof t?.value==`function`&&(this[e]=t.value.bind(this))}}setController(e){typeof this._dataProvider.setController==`function`&&this._dataProvider.setController(e)}async clearCache(e){if(typeof this._dataProvider.clearCache!=`function`)throw new Q(`Clear cache is not supported by data provider`,`UnsupportedOperation`);this._cache.forceInvalidate(this._rootId),await this._dataProvider.clearCache(e)}markNextFileBlobFetchBypassHttpCache(e){this._blobFetchForceReloadOnceIds.add(this.normalizeId(e))}normalizeId(e){return e?e===`root`||e===`folders`?this._rootId:e:this._rootId}_isDeletingId(e){return this._mutationRegistry.isDeleting(this.normalizeId(e))}_collectDeletingIds(e){let t=this.normalizeId(e),n=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(n);let r=[t];for(;r.length>0;){let e=r.pop(),t=this._cache.getChildrenIds(e);for(let e of t){if(n.has(e))continue;n.add(e);let t=this._cache.getEntity(e);t!=null&&t.isFolder&&r.push(e)}}return Array.from(n)}_emptyFilesResult(e,t){return{files:[],pagination:Object.assign(Object.assign(Object.assign({},typeof e==`number`?{page:e}:{}),typeof t==`number`?{limit:t}:{}),{total:0,totalPages:1,hasNext:!1,hasPrev:!1})}}_validateName(e,t=!1){if(!e||e.trim().length===0)throw new Q(t?`Folder name cannot be empty`:`File name cannot be empty`,t?`FolderInvalidName`:`FileInvalidName`);if(/[\/\\:*?"<>|]/.test(e)){let n=t?`FolderInvalidName`:`FileInvalidName`;throw new Q(t?`Folder name contains invalid characters: %s`.replace(`%s`,e):`File name contains invalid characters: %s`.replace(`%s`,e),n)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let n=this._cache.getEntity(t);if(n&&!n.isFolder)throw new Q(`Target item with id '%s' is not a folder`.replace(`%s`,e),`ValidationError`)}_checkNameExistsInCache(e,t,n,r){let i=this.normalizeId(e),a=this._cache.getChildrenIds(i);for(let e of a){let i=this._cache.getEntity(e);if(i&&i.name===t&&!!i.isFolder===n&&(!r||i.id!==r))return!0}return!1}async _getUrl(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl==`function`&&this._dataProvider.getUrl(e)||``}catch{}return``}async _getThumbnailUrl(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl==`function`&&this._dataProvider.getThumbnailUrl(e)||``}catch{}return``}_isAncestor(e,t){if(!t)return!1;let n=this.normalizeId(t),r=this.normalizeId(e);if(n===r)return!0;let i=this._cache.getEntity(n),a=new Set;for(;i&&i.folderId&&!a.has(i.id);){a.add(i.id);let e=this.normalizeId(i.folderId);if(e===r)return!0;if(i=this._cache.getEntity(e),!i||!i.isFolder)break}return!1}async getFile(e,t){return this._isDeletingId(e)?null:this._cache.searchByName(t,{parentId:this.normalizeId(e),caseSensitive:!0,recursive:!1,itemType:`file`})[0]||(await this.getFiles({folderId:e,itemType:`file`,search:t})).files[0]}async getFileById(e){let t=this.normalizeId(e);if(this._isDeletingId(t))return null;let n=this._cache.getFileSystemItem(t);if(n&&!n.isFolder)return await this._mapItem(n);if(!this._dataProvider.pathMode)return null;let r=await this._getFileByPathStyleId(t);if(r&&!r.isFolder){let e=NH(r);return this._cache.upsertEntity(e),await this._mapItem(e)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n<0?``:t.slice(0,n),i=n<0?t:t.slice(n+1);return i?this.getFile(r,i):null}async getFileUrl(e,t){let n=await this.getFile(e,t);return await this._getUrl(n)||await this._getThumbnailUrl(n)||n.thumbnail}async getFiles({folderId:e,search:t,sortBy:n,sortOrder:r,page:i,limit:a,itemType:o=`all`,noFolder:s=!1}){s&&(e=(await this.getTempFolder())?.id);let c=this.normalizeId(e??this._rootId),l=!1===this._options.enablePagination,u=l?1:i,d=l?1e4:a,f=this._options.clientSideFilter,p=this._options.clientSideSorting,m=this._options.clientSidePaging,h=m?Math.max(1,i??1):void 0,g=m?typeof a==`number`&&Number.isFinite(a)&&a>0?a:25:void 0,_=this._emptyFilesResult(m?h:u,m?g:d);if(this._isDeletingId(c))return _;let v=!1!==this._options.unifiedCatalogFetch&&l&&(o===`folder`||o===`file`),y=v?`all`:o,b={};f||(b.search=t),p||(b.sortBy=n??(y===`folder`?void 0:`date`),b.sortOrder=r??(y===`folder`?void 0:`desc`)),m||(b.page=u,b.limit=v?1e4:d);let x=v?1e4:m?void 0:d,S={folderId:c,itemType:y,search:f?void 0:t,sortBy:p?void 0:b.sortBy,sortOrder:p?void 0:b.sortOrder,page:m?void 0:u,pageSize:x},C;try{C=await this._cache.getOrCreateChildren(c,S,async(e,t)=>{let n=t.pageSize,r=n!=null&&Number.isFinite(Number(n))?Number(n):1e4,i=await this._dataProvider.getItems(Object.assign(Object.assign({},t),{folderId:e,limit:r})),a=function(e){return(e??[]).map(NH)}(i.items);return m?{items:a,total:typeof i.pagination?.total==`number`?i.pagination.total:a.length}:Object.assign({items:a},i.pagination)})}catch(e){if(this._isDeletingId(c))return _;throw e}let w,T=C.items;if(v&&(o===`folder`?T=T.filter(e=>e.isFolder):o===`file`&&(T=T.filter(e=>!e.isFolder))),f){if(typeof this._options.clientSideFilter==`function`)T=this._options.clientSideFilter(T,t);else if(t){let e=t.toLowerCase();T=T.filter(t=>t.name?.toLowerCase().includes(e))}}p&&(T=typeof this._options.clientSideSorting==`function`?this._options.clientSideSorting(T,n,r):this._defaultClientSideSort(T,n,r)),w=m||f||v?T.length:C.total??T.length;let E=T;if(m)if(typeof this._options.clientSidePaging==`function`)E=this._options.clientSidePaging(T,h,g);else{let e=(h-1)*g,t=e+g;E=T.slice(e,t)}if(typeof this._dataProvider.getUrl==`function`||typeof this._dataProvider.getThumbnailUrl==`function`){let e=E.map(async e=>{if(e.isFolder)return e;let[t,n]=await Promise.all([e.url?Promise.resolve(e.url):typeof this._dataProvider.getUrl==`function`?this._dataProvider.getUrl(e):Promise.resolve(void 0),e.thumbnailUrl?Promise.resolve(e.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl==`function`?this._dataProvider.getThumbnailUrl(e):Promise.resolve(void 0)]);return Object.assign(Object.assign({},e),{url:t,thumbnailUrl:n})});E=await Promise.all(e)}let D=m?{page:h,limit:g,total:w,totalPages:Math.max(1,Math.ceil(w/g)),hasNext:h*g<w,hasPrev:h>1}:Object.assign(Object.assign({page:u,limit:d,total:w},!m&&C.totalPages&&{totalPages:C.totalPages}),!m&&C.hasNextPage&&{hasNextPage:C.hasNextPage});return{files:await Promise.all(E.map(this._mapItem)),pagination:D}}_defaultClientSideSort(e,t,n){return e.sort((e,r)=>{let i=0;switch(t){case`name`:default:i=(e.name||``).localeCompare(r.name||``);break;case`date`:i=new Date(e.date||0).getTime()-new Date(r.date||0).getTime();break;case`size`:i=(Number(e.size)||0)-(Number(r.size)||0)}return n===`desc`?-i:i})}async getFileData(e,t){let n=this.normalizeId(typeof e==`string`?e:e.id),r=t;this._blobFetchForceReloadOnceIds.delete(n)&&(r=Object.assign(Object.assign({},t),{forceReload:!0}));let i=this._cache.getEntity(n)||(typeof e==`string`?{id:n,name:``,folderId:this._rootId,isFolder:!1}:Object.assign(Object.assign({},e),{childrenCount:e.childCount}));if(typeof this._dataProvider.getFileData==`function`)return await this._dataProvider.getFileData(i,r);if(!i.url&&typeof this._dataProvider.getUrl!=`function`)throw new Q(`Cannot read file`,`FileReadError`);let a=i.url||(typeof this._dataProvider.getUrl==`function`?await this._dataProvider.getUrl(i):``);if(a)return(await(this._config.fetchWithProxy??fetch)(a,r?.forceReload?{cache:`no-store`}:void 0)).blob();throw new Q(`Unable to get file data`,`FileReadError`)}async findFileByUrl(e){let t=this._cache.searchByUrl(e);if(t)return t;if(typeof this._dataProvider.findFileByUrl==`function`)try{let t=await this._dataProvider.findFileByUrl(e);if(t){let e=NH(t);return this._cache.upsertEntity(e),e}}catch{}return null}async getChildrenCount(e){if(!e)return 0;let t=this.normalizeId(e??this._rootId);return this._isDeletingId(t)?0:this._cache.getChildrenCount(t,async()=>{try{if(this._options.clientSidePaging){let e=await this.getFiles({folderId:t,itemType:`all`,page:1,limit:25});return e.pagination.total??e.files.length}let e=await this._dataProvider.getItems({folderId:t,limit:0,itemType:`all`});return e.pagination===void 0?!1===this._options.enablePagination?e.items.length:0:e.pagination.total||0}catch(e){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(e))return 0;throw e}})}_isPathFolderNotFoundError(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}async _uploadFile(e){let t=this.normalizeId(e.folderId??this._rootId);if(typeof this._dataProvider.uploadFile!=`function`)throw new Q(`Upload file operation is not supported by data provider`,`UnsupportedOperation`);if(this._validateName(e.name,!1),this._validateDuplicates&&this._checkNameExistsInCache(t,e.name,!1))throw new Q(`File '%s' already exists in target folder`.replace(`%s`,e.name),`FileAlreadyExists`);let n=await this._dataProvider.uploadFile(Object.assign(Object.assign({},e),{folderId:t})),r=NH(Object.assign(Object.assign({name:e.name,size:e.size},n),{folderId:t}));return this._cache.upsertEntity(r),r}async uploadFiles(e){let t=e.items.some(e=>e.noFolder)?await this.getTempFolder():null;e=Object.assign(Object.assign({},e),{items:e.items?.map(e=>Object.assign(Object.assign({},e),{folderId:e.noFolder?t?.id:e.folderId}))});for(let t of e.items)t.folderId&&(e.folderId=t.folderId);let n=e.items||[],r=e.folderId??this._rootId,i=this.normalizeId(r);if(this._validateDuplicates){for(let e of n)if(e.name){this._validateName(e.name,!1);let t=this.normalizeId(e.folderId??i);if(this._checkNameExistsInCache(t,e.name,!1))throw new Q(`File '%s' already exists in target folder`.replace(`%s`,e.name),`FileAlreadyExists`)}}let a=this._cache.getEntity(i),o={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.uploadFiles==`function`){let e=n.map(e=>Object.assign(Object.assign({},e),{folderId:this.normalizeId(e.folderId??i)}));if(o=jH(await this._dataProvider.uploadFiles({folderId:i,items:e}),e=>{if(e)return{id:e.id,name:MH(e.name),folderId:e.folderId}}),o.detailed&&o.detailed.length){for(let e=0;e<o.detailed.length;e++){let t=o.detailed[e];if(t&&t.success){let e=t.data,n=e?.id??t.requestId,r=NH(Object.assign(Object.assign(Object.assign({},a),e),{folderId:e?.folderId??i}));this._cache.upsertEntity(r),t.requestId=n}}o.success===void 0&&(o.success=!o.detailed.some(e=>!e.success))}else o.success=!o.error&&!!o.success}else{if(typeof this._dataProvider.uploadFile!=`function`)throw new Q(`Upload files is not supported by data provider`,`UnsupportedOperation`);o.detailed=await Promise.all(n.map(async e=>{let t=this.normalizeId(e.folderId??i);try{let n=await this._uploadFile(Object.assign(Object.assign({},e),{folderId:t}));return{requestId:n.id,data:n,success:!0}}catch(t){return{requestId:e?.id,success:!1,error:t}}})),o.success=!o.detailed.some(e=>!e.success)}if(o.success&&this._enableTrash)try{this._cache.forceInvalidate(i)}catch{}return o}async deleteFile(e){let t=this.normalizeId(e),n=[t];this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash){let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async deleteItems(e,t){let n=Array.from(new Set(e.flatMap(e=>this._collectDeletingIds(this.normalizeId(e)))));this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash&&!0!==t.permanent){let t=await this.getTrashFolder();return await this.moveItems(t.id,e)}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(n)}}async hardDeleteItems(e,t){let n={success:!0,detailed:[]},r=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems==`function`){if(n=jH(await this._dataProvider.deleteItems(e.map(e=>this._cache.getEntity(e)),t),e=>e),n.success){let t=n.detailed||e.map(e=>({requestId:e,success:!0,error:void 0}));for(let e of t)e.success&&(r?this._cache.moveEntity(e.requestId,r.id):this._cache.deleteEntity(e.requestId))}}else typeof this._dataProvider.deleteItem==`function`&&(n.detailed=await Promise.all(e.map(async e=>{let n=this._cache.getEntity(e);if(!n)return{requestId:e,success:!1,error:new Q(`Item with id '%s' not found`.replace(`%s`,e),`FileNotFound`)};try{return await this._dataProvider.deleteItem(n,t),r?this._cache.moveEntity(e,r.id):this._cache.deleteEntity(e),{requestId:e,success:!0}}catch(t){return{requestId:e,error:t,success:!1}}})),n.success=!n.detailed.some(e=>!e.success));if(n.success&&r)try{this._cache.forceInvalidate(r.id)}catch{}return n}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t)throw new Q(`Item with id '%s' not found in cache`.replace(`%s`,e),`FileNotFound`);if(typeof this._dataProvider.deleteItem!=`function`)throw new Q(`Delete item operation is not supported by data provider`,`DeleteNotAllowed`);if(await this._dataProvider.deleteItem(t,{permanent:!0}),this._cache.deleteEntity(e),this._enableTrash)try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return!0}async cleanTrash(){if(!this._enableTrash)throw new Q(`Trash is not enabled`,`UnsupportedOperation`);if(typeof this._dataProvider.cleanTrash==`function`){let e=await this._dataProvider.cleanTrash();try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return e}throw new Q(`Clean trash is not supported by data provider`,`UnsupportedOperation`)}async createFolder({name:e,parentId:t,is_force_create:n}){let r=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(r,e,!0))throw new Q(`Folder '%s' already exists in parent folder`.replace(`%s`,e),`FolderAlreadyExists`);let i=await this._dataProvider.createFolder(e,r,n),a=NH({id:i.id,folderId:r,name:i.name,isFolder:!0,childrenCount:i.childrenCount});return this._cache.upsertEntity(a),Object.assign(Object.assign({},i),{name:a.name})}async deleteFolder(e){let t=this.normalizeId(e),n=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash)try{let e=await this.getTrashFolder();return!!await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!0})&&(this._cache.deleteFolderRecursive(t),!0)}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async renameFolder(e,t){if(typeof this._dataProvider.renameItem!=`function`)throw new Q(`Rename folder is not supported`,`RenameNotAllowed`);let n=this.normalizeId(e),r=this._cache.getEntity(n);if(!r)throw new Q(`Folder with id '%s' not found in cache`.replace(`%s`,e),`FolderNotFound`);if(this._validateName(t,!0),this._validateDuplicates){let e=this.normalizeId(r.folderId);if(this._checkNameExistsInCache(e,t,!0,n))throw new Q(`Folder '%s' already exists in parent folder`.replace(`%s`,t),`FolderAlreadyExists`)}let i=PH(await this._dataProvider.renameItem(r,t));return this._cache.upsertEntity(NH(Object.assign(Object.assign({},this._cache.getEntity(i.id)),i))),this._cache.getEntity(i.id)}async renameFile(e,t){if(typeof this._dataProvider.renameItem!=`function`)throw new Q(`Rename file is not supported`,`RenameNotAllowed`);let n=this._cache.getEntity(e);if(!n)throw new Q(`File with id '%s' not found in cache`.replace(`%s`,e),`FileNotFound`);let r=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let e=this.normalizeId(n.folderId);if(this._checkNameExistsInCache(e,t,!1,r))throw new Q(`File '%s' already exists in parent folder`.replace(`%s`,t),`FileAlreadyExists`)}let i=PH(await this._dataProvider.renameItem(n,t));return i&&this._cache.upsertEntity(NH(Object.assign(Object.assign({},this._cache.getEntity(r)),i))),this._cache.getEntity(r)}async moveItem({itemId:e,targetFolderId:t,isFolder:n}){if(typeof this._dataProvider.moveItem!=`function`)throw new Q(`Move item operation is not supported by data provider`,`MoveNotAllowed`);let r=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let t=PH(await this._dataProvider.moveItem({id:e,folderId:r,isFolder:n},r));if(t.id===e)this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),{folderId:r})));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),{folderId:r})))}return!0}if(i.isFolder){if(e===r)throw new Q(`Cannot move folder into itself`,`MoveIntoSelf`);if(this._isAncestor(e,r))throw new Q(`Cannot move folder into its descendant`,`MoveIntoDescendant`)}if(this._validateDuplicates&&r!==this.normalizeId(i.folderId)&&i.name&&this._checkNameExistsInCache(r,i.name,!!i.isFolder,e)){let e=i.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${i.isFolder?`Folder`:`File`} '${i.name}' already exists in target folder`,e)}let a=PH(await this._dataProvider.moveItem(i,r));if(a.id===e){let t=this._cache.moveEntity(e,r);return this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),a))),!0}{let t=this._cache.deleteEntity(e);return this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},t),a),{folderId:r}))),!0}}async moveItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let r=t.map(e=>this._cache.getEntity(e));for(let e of r)if(e){if(e.isFolder){if(e.id===n)throw new Q(`Cannot move folder '%s' into itself`.replace(`%s`,e.name),`MoveIntoSelf`);if(this._isAncestor(e.id,n))throw new Q(`Cannot move folder '%s' into its descendant`.replace(`%s`,e.name),`MoveIntoDescendant`)}if(this._validateDuplicates&&n!==this.normalizeId(e.folderId)&&e.name&&this._checkNameExistsInCache(n,e.name,!!e.isFolder,e.id)){let t=e.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${e.isFolder?`Folder`:`File`} '${e.name}' already exists in target folder`,t)}}let i={detailed:Array(r.length),success:!0};if(typeof this._dataProvider.moveItems==`function`)i=jH(await this._dataProvider.moveItems(r,n),e=>e);else{if(typeof this._dataProvider.moveItem!=`function`)throw new Q(`Move items is not supported`,`MoveNotAllowed`);i.detailed=await Promise.all(t.map(async(e,t)=>{let i=r[t]||{id:e,folderId:null,isFolder:!1,name:e};try{return{requestId:e,data:PH(await this._dataProvider.moveItem(i,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}))}if(i.success){let e=i.detailed||t.map(e=>({requestId:e,success:!0,data:void 0}));for(let t of e)if(t.success)if(t.data&&t.data.id!==t.requestId){let e=this._cache.deleteEntity(t.requestId);this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},e),t.data),{folderId:n})))}else this._cache.moveEntity(t.requestId,n),t.data&&this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},this._cache.getEntity(t.requestId)),t.data),{folderId:n})));return i}return{success:!1,error:i.error||new Q(`Move items failed`,`MoveNotAllowed`)}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!=`function`)throw new Q(`Copy item is not supported`,`CopyNotAllowed`);let n=this.normalizeId(t);this._validateTargetFolderType(t);let r=this._cache.getEntity(e);if(!r){let t=PH(await this._dataProvider.copyItem({id:e,folderId:n},n));return this._cache.copyEntity(e,n,t.id),this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),{folderId:n}))),!0}if(this._validateDuplicates&&r.name){let t=n===this.normalizeId(r.folderId)?e:void 0;if(this._checkNameExistsInCache(n,r.name,!!r.isFolder,t)){let e=r.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${r.isFolder?`Folder`:`File`} '${r.name}' already exists in target folder`,e)}}let i=PH(await this._dataProvider.copyItem(r,n));return this._cache.copyEntity(e,n,i.id,Object.assign(Object.assign({},i),{folderId:n}))||this._cache.upsertEntity(NH(Object.assign(Object.assign({},i),{folderId:n}))),!0}async copyItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let r=t.map(e=>typeof e==`string`?{id:e}:e),i=r.map(e=>e.id),a=i.map((e,t)=>{let n=this._cache.getEntity(e),i=r[t]?.newName;return n?i?Object.assign(Object.assign({},n),{name:i}):n:void 0});if(this._validateDuplicates)for(let e=0;e<a.length;e++){let t=a[e];if(t&&t.name){let r=n===this.normalizeId(t.folderId)?i[e]:void 0;if(this._checkNameExistsInCache(n,t.name,!!t.isFolder,r)){let e=t.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${t.isFolder?`Folder`:`File`} '${t.name}' already exists in target folder`,e)}}}let o={detailed:Array(a.length),success:!0};if(typeof this._dataProvider.copyItems==`function`)o=jH(await this._dataProvider.copyItems(a,n),e=>e);else{if(typeof this._dataProvider.copyItem!=`function`)throw new Q(`Copy items is not supported`,`CopyNotAllowed`);o.detailed=await Promise.all(i.map(async(e,t)=>{let r=a[t]||{id:e,folderId:null,isFolder:!1};try{return{requestId:e,data:PH(await this._dataProvider.copyItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}))}if(o.success&&o.detailed)for(let e=0,t=o.detailed.length;e<t;e++){let t=o.detailed[e];if(t.success&&t.data?.id){let e=t.data.folderId||n;!this._cache.copyEntity(t.requestId,e,t.data.id,Object.assign(Object.assign({},t.data),{folderId:e}))&&t.data&&this._cache.upsertEntity(NH(Object.assign(Object.assign({},t.data),{folderId:e})))}}else if(!o.detailed)throw new Q(`batchResult in copy method must have detailed results`,`ValidationError`);return o}async uploadFileByUrl(e){if(e.noFolder){let t=await this.getTempFolder();e=Object.assign(Object.assign({},e),{folderId:t.id})}let t=this.normalizeId(e.folderId??this._rootId);try{let n=await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),r=NH(Object.assign(Object.assign({},n),{folderId:t}));return this._cache.upsertEntity(r),r}catch(e){throw e}}async updateFile(e,t){if(typeof this._dataProvider.updateFile!=`function`)throw new Q(`Update file is not supported`,`UnsupportedOperation`);let n=this.normalizeId(e),r=this._cache.getEntity(n);if(!r)throw new Q(`File with id '%s' not found in cache`.replace(`%s`,e),`FileNotFound`);if(t.name&&t.name!==r.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==r.name){let e=this.normalizeId(r.folderId);if(this._checkNameExistsInCache(e,t.name,!1,n))throw new Q(`File '%s' already exists in parent folder`.replace(`%s`,t.name),`FileAlreadyExists`)}let i=PH(await this._dataProvider.updateFile(r,Object.assign({},t)));return this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},this._cache.getEntity(n)),i),t))),this._cache.getEntity(n)}},IH,LH=new Uint8Array(16);function RH(){if(!IH&&!(IH=typeof crypto<`u`&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<`u`&&typeof msCrypto.getRandomValues==`function`&&msCrypto.getRandomValues.bind(msCrypto)))throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);return IH(LH)}for(var zH=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,BH=[],VH=0;VH<256;++VH)BH.push((VH+256).toString(16).substr(1));function HH(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(BH[e[t+0]]+BH[e[t+1]]+BH[e[t+2]]+BH[e[t+3]]+`-`+BH[e[t+4]]+BH[e[t+5]]+`-`+BH[e[t+6]]+BH[e[t+7]]+`-`+BH[e[t+8]]+BH[e[t+9]]+`-`+BH[e[t+10]]+BH[e[t+11]]+BH[e[t+12]]+BH[e[t+13]]+BH[e[t+14]]+BH[e[t+15]]).toLowerCase();if(!function(e){return typeof e==`string`&&zH.test(e)}(n))throw TypeError(`Stringified UUID is invalid`);return n}function UH(e,t,n){var r=(e||={}).random||(e.rng||RH)();return r[6]=15&r[6]|64,r[8]=63&r[8]|128,HH(r)}var WH=class{constructor(e,t=``,n=`Trash`,r=`Trash`,i=!0){var a;this._inner=e,this.rootPath=t,this.trashId=n,this.trashPath=r,this.ensureFolderTrailingSlash=i,this._pathToId=new Map,this._idToPath=new Map,this.validateDuplicates=(a=this._inner.validateDuplicates)!=null&&a,typeof e.getUrl==`function`&&(this.getUrl=t=>e.getUrl(Object.assign(Object.assign({},t),{id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath}))),typeof e.getThumbnailUrl==`function`&&(this.getThumbnailUrl=t=>e.getThumbnailUrl(Object.assign(Object.assign({},t),{id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})));let o=this;typeof this._inner.deleteItems!=`function`&&(o.deleteItems=void 0),typeof this._inner.deleteItem!=`function`&&(o.deleteItem=void 0),typeof this._inner.moveItems==`function`?o.moveItem=void 0:o.moveItems=void 0,typeof this._inner.copyItems==`function`?o.copyItem=void 0:o.copyItems=void 0,typeof this._inner.uploadFiles==`function`?o.uploadFile=void 0:o.uploadFiles=void 0,typeof this._inner.clearCache!=`function`&&(o.clearCache=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController==`function`&&this._inner.setController({invalidateItemCache:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);r&&e.invalidateItemCache(r)},getCachedItem:t=>{var n,r;let i=t.replace(/^\/+|\/+$/g,``),a=this._pathToId.get(i);if(a){let t=e.getCachedItem(a);if(t)return Object.assign(Object.assign({},t),{id:this.pathForId(t.id,(n=t.isFolder)!=null&&n),folderId:this.pathForId(t.folderId??``,(r=t.isFolder)!=null&&r)})}}})}clearCache(e){if(typeof this._inner.clearCache==`function`)return this._inner.clearCache(e)}_getOrGenerateId(e){if(e===this.rootPath)return``;let t=e.replaceAll(/^\/+|\/+$/g,``);if(t===this.trashPath.replaceAll(/^\/+|\/+$/g,``))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let n=UH();return this._pathToId.set(t,n),this._idToPath.set(n,t),n}pathForId(e,t,n){if(e===``||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let r=this._idToPath.get(e);if(!r){if(n)return`unknown folder ${e}`;throw new Q(`Path for id '${e}' not found in mapping`,`FileNotFound`)}let i=0;for(;i<this.rootPath.length&&this.rootPath[i]===`/`;)i++;if(i){let e=0;for(;e<r.length&&r[e]===`/`;)e++;let t=r.slice(e);r=`/`.repeat(i)+t}return t&&this.ensureFolderTrailingSlash&&!r.endsWith(`/`)&&(r+=`/`),r}_updateIdMapping(e,t){let n=t.replace(/^\/+|\/+$/g,``),r=this._idToPath.get(e);r&&this._pathToId.delete(r),this._idToPath.set(e,n),this._pathToId.set(n,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.getItems(Object.assign(Object.assign({},e),{folderId:t})),r=n.items.map(e=>{let t=this._getOrGenerateId(e.id),n=e.folderId?this._getOrGenerateId(e.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},e),{id:t,folderId:n})});return Object.assign(Object.assign({},n),{items:r})}async createFolder(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},i),{id:a,folderId:o})}async renameItem(e,t){var n;if(typeof this._inner.renameItem!=`function`)throw new Q(`Rename item is not supported by inner storage`,`RenameNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n),i=r,a=FR(await this._inner.renameItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),t),[]);return this._updateIdMapping(e.id,a.id),e.isFolder&&this.remapCachedFolderContents(e.id,i,a.id),a.folderId&&(a=Object.assign(Object.assign({},a),{folderId:this._getOrGenerateId(a.folderId)})),Object.assign(Object.assign({},a),{id:this._getOrGenerateId(a.id)})}async deleteItem(e,t){var n;if(typeof this._inner.deleteItem!=`function`)throw new Q(`Delete item is not supported by inner storage`,`DeleteNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n);await this._inner.deleteItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),t),this.recursivelyRemoveMappings(e.id,r)}async uploadFile(e){if(typeof this._inner.uploadFile!=`function`)throw new Q(`Upload file is not supported by inner storage`,`UnsupportedOperation`);let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.uploadFile(Object.assign(Object.assign({},e),{folderId:t})),r=this._getOrGenerateId(n.id),i=n.folderId?this._getOrGenerateId(n.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},n),{id:r,folderId:i})}async uploadFiles(e){let t=e.folderId,n=e.items?.map(e=>e.folderId)??[],r=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i=Object.assign(Object.assign({},e),{folderId:r,items:e.items?.map(e=>Object.assign(Object.assign({},e),{folderId:e.folderId?this.pathForId(e.folderId??``,!0):r}))??[]}),a=await this._inner.uploadFiles(i);return Object.assign(Object.assign({},a),{detailed:a.detailed?.map((e,r)=>{if(!e?.data)return e;let i=e.data.id?this._getOrGenerateId(e.data.id):``,a=e.data.folderId?this._getOrGenerateId(e.data.folderId):n[r]??t??this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},e),{data:Object.assign(Object.assign({},e.data),{id:i,folderId:a})})})})}async findFileByUrl(e,t){let n=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl==`function`){let t=await this._inner.findFileByUrl(e,n);if(!t)return;let r=this._getOrGenerateId(t.id),i=t.folderId?this._getOrGenerateId(t.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},t),{id:r,folderId:i})}}async uploadFileByUrl(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},i),{id:a,folderId:o})}async moveItem(e,t){var n;if(typeof this._inner.moveItem!=`function`)throw new Q(`Move item is not supported by inner storage`,`MoveNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n),i=t?this.pathForId(t,!0):this.rootPath,a=await this._inner.moveItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),i);this._updateIdMapping(e.id,a.id),e.isFolder&&this.remapCachedFolderContents(e.id,r,a.id);let o=this._getOrGenerateId(a.id),s=a.folderId?this._getOrGenerateId(a.folderId):t;return Object.assign(Object.assign({},a),{id:o,folderId:s})}async moveItems(e,t){var n;if(typeof this._inner.moveItems!=`function`)throw new Q(`Move items is not supported by inner storage`,`MoveNotAllowed`);let r=t?this.pathForId(t,!0):this.rootPath,i=e.map(e=>{var t;return Object.assign(Object.assign({},e),{id:this.pathForId(e.id,(t=e.isFolder)!=null&&t),folderId:e.folderId?this.pathForId(e.folderId??``,!0):this.rootPath})}),a=await this._inner.moveItems(i,r),o=[];if(a.detailed&&a.detailed.length>0){let r=new Map;for(let t=0;t<a.detailed.length;t++){let n=a.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let s=r.get(i.id)||(a.detailed.length===e.length?a.detailed[e.indexOf(i)]:void 0);if(s?.success&&s.data){if(this._updateIdMapping(i.id,s.data.id),i.isFolder){let e=this.pathForId(i.id,(n=i.isFolder)!=null&&n);this.remapCachedFolderContents(i.id,e,s.data.id)}o.push({requestId:i.id,success:!0,data:Object.assign(Object.assign({},s.data),{id:this._getOrGenerateId(s.data.id),folderId:s.data.folderId?this._getOrGenerateId(s.data.folderId):t||this._getOrGenerateId(this.rootPath)})})}else o.push({requestId:i.id,success:!1,error:s?.error||{message:`Move operation failed - no detailed result`,code:`MoveNotAllowed`}})}}else for(let t of e)o.push({requestId:t.id,success:!1,error:{message:`Move operation failed - no detailed results`,code:`MoveNotAllowed`}});return{success:a.success,detailed:o,error:a.error}}async copyItems(e,t){if(typeof this._inner.copyItems!=`function`)throw new Q(`Copy items is not supported by inner storage`,`CopyNotAllowed`);let n=t?this.pathForId(t,!0):this.rootPath,r=e.map(e=>{var t;return Object.assign(Object.assign({},e),{id:this.pathForId(e.id,(t=e.isFolder)!=null&&t),folderId:e.folderId?this.pathForId(e.folderId??``,!0):this.rootPath})}),i=await this._inner.copyItems(r,n),a=[];if(i.detailed&&i.detailed.length>0){let n=new Map;for(let t=0;t<i.detailed.length;t++){let r=i.detailed[t],a=r.requestId||(t<e.length?e[t].id:void 0);a&&n.set(a,r)}for(let r of e){let o=n.get(r.id)||(i.detailed.length===e.length?i.detailed[e.indexOf(r)]:void 0);if(o?.success&&o.data?.id){let e=this._getOrGenerateId(o.data.id);a.push({requestId:r.id,success:!0,data:Object.assign(Object.assign({},o.data),{id:e,folderId:o.data.folderId?this._getOrGenerateId(o.data.folderId):t||this._getOrGenerateId(this.rootPath)})})}else{let e=o?o.success?o.data?o.data.id?{message:`Unknown copy error`,code:`CopyNotAllowed`}:{message:`No ID in copied item data`,code:`CopyNotAllowed`}:{message:`No data returned from copy operation`,code:`CopyNotAllowed`}:o.error||{message:`Copy operation failed`,code:`CopyNotAllowed`}:{message:`No detailed result from copy operation`,code:`CopyNotAllowed`};a.push({requestId:r.id,success:!1,error:e})}}}else for(let t of e)a.push({requestId:t.id,success:!1,error:{message:`No detailed results from copy operation`,code:`CopyNotAllowed`}});let o=a.every(e=>e.success);return{success:o,detailed:a,error:o?void 0:i.error||{message:`Copy operation completed with errors`,code:`CopyNotAllowed`}}}async deleteItems(e,t){var n,r,i,a;if(typeof this._inner.deleteItems!=`function`)throw new Q(`Delete items is not supported by inner storage`,`DeleteNotAllowed`);let o=e.map(e=>{var t;return Object.assign(Object.assign({},e),{id:this.pathForId(e.id,(t=e.isFolder)!=null&&t),folderId:e.folderId?this.pathForId(e.folderId??``,!0):this.rootPath})}),s=await this._inner.deleteItems(o,t),c=[];if(s.detailed&&s.detailed.length>0){let i=new Map;for(let t=0;t<s.detailed.length;t++){let n=s.detailed[t],r=n.requestId||(t<e.length?e[t].id:void 0);r&&i.set(r,n)}for(let a of e){let o=i.get(a.id)||(s.detailed.length===e.length?s.detailed[e.indexOf(a)]:void 0);if(o?.success){let e=this.pathForId(a.id,(n=a.isFolder)!=null&&n);if(t.permanent)this.recursivelyRemoveMappings(a.id,e);else if(this._updateIdMapping(a.id,this.trashPath+`/`+e+(a.isFolder?`/`:``)),a.isFolder){let t=this.pathForId(a.id,(r=a.isFolder)!=null&&r);this.remapCachedFolderContents(a.id,t,this.trashPath+`/`+e+(a.isFolder?`/`:``))}c.push({requestId:a.id,success:!0})}else c.push({requestId:a.id,success:!1,error:o?.error||{message:`Delete operation failed`,code:`DeleteNotAllowed`}})}}else for(let n of e)if(s.success){let e=this.pathForId(n.id,(i=n.isFolder)!=null&&i);if(t.permanent)this.recursivelyRemoveMappings(n.id,e);else if(this._updateIdMapping(n.id,this.trashPath+`/`+e+(n.isFolder?`/`:``)),n.isFolder){let t=this.pathForId(n.id,(a=n.isFolder)!=null&&a);this.remapCachedFolderContents(n.id,t,this.trashPath+`/`+e+(n.isFolder?`/`:``))}c.push({requestId:n.id,success:!0})}else c.push({requestId:n.id,success:!1,error:s.error||{message:`Delete operation failed`,code:`DeleteNotAllowed`}});let l=c.every(e=>e.success);return{success:l,detailed:c,error:l?void 0:s.error||{message:`Some items failed to delete`,code:`DeleteNotAllowed`}}}remapCachedFolderContents(e,t,n){let r=t.replace(/\/+$/,``),i=n.replace(/\/+$/,``),a=[];for(let[e,t]of this._idToPath.entries()){let n=t.replace(/\/+$/,``);n!==r&&n.startsWith(r+`/`)&&a.push({id:e,oldPath:n})}for(let{id:e,oldPath:t}of a){let n=i+t.substring(r.length);this._updateIdMapping(e,n)}}recursivelyRemoveMappings(e,t){let n=t.replace(/\/+$/,``),r=[],i=[];for(let[e,t]of this._idToPath.entries()){let a=t.replace(/\/+$/,``);(a===n||a.startsWith(n+`/`))&&(r.push(e),i.push(a))}for(let e=0;e<r.length;e++)this._idToPath.delete(r[e]),this._pathToId.delete(i[e])}async copyItem(e,t){var n;if(typeof this._inner.copyItem!=`function`)throw new Q(`Copy item is not supported by inner storage`,`CopyNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n),i=t?this.pathForId(t,!0):this.rootPath,a=await this._inner.copyItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),i),o=this._getOrGenerateId(a.id),s=a.folderId?this._getOrGenerateId(a.folderId):t??``;return Object.assign(Object.assign({},a),{id:o,folderId:s})}async updateFile(e,t){if(typeof this._inner.updateFile!=`function`)throw new Q(`Update file is not supported by inner storage`,`UnsupportedOperation`);let n=this.pathForId(e.id,!1),r=FR(await this._inner.updateFile(Object.assign(Object.assign({},e),{id:n,folderId:this.pathForId(e.folderId??``,!0)}),t),[]);return this._updateIdMapping(e.id,r.id),r.folderId&&(r=Object.assign(Object.assign({},r),{folderId:this._getOrGenerateId(r.folderId)})),Object.assign(Object.assign({},r),{id:this._getOrGenerateId(r.id)})}async getFileData(e,t){let n=this.pathForId(e.id,!1);if(typeof this._inner.getFileData==`function`)return this._inner.getFileData(Object.assign(Object.assign({},e),{id:n,folderId:this.pathForId(e.folderId??``,!0)}),t);let r=e.url||(typeof this.getUrl==`function`?await this.getUrl(e):void 0);if(!r)throw new Q(`Cannot get file data: no url and no inner.getFileData`,`FileReadError`);return fetch(r,t?.forceReload?{cache:`no-store`}:void 0).then(e=>e.blob())}async cleanTrash(){if(typeof this._inner.cleanTrash!=`function`)throw new Q(`Clean trash is not supported by inner storage`,`UnsupportedOperation`);return await this._inner.cleanTrash()}};Object.defineProperty(t,"A",{enumerable:!0,get:function(){return C}}),Object.defineProperty(t,"C",{enumerable:!0,get:function(){return cz}}),Object.defineProperty(t,"D",{enumerable:!0,get:function(){return WB}}),Object.defineProperty(t,"E",{enumerable:!0,get:function(){return gH}}),Object.defineProperty(t,"O",{enumerable:!0,get:function(){return iF}}),Object.defineProperty(t,"S",{enumerable:!0,get:function(){return yR}}),Object.defineProperty(t,"T",{enumerable:!0,get:function(){return fz}}),Object.defineProperty(t,"_",{enumerable:!0,get:function(){return bH}}),Object.defineProperty(t,"a",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(t,"b",{enumerable:!0,get:function(){return bz}}),Object.defineProperty(t,"c",{enumerable:!0,get:function(){return RR}}),Object.defineProperty(t,"d",{enumerable:!0,get:function(){return zR}}),Object.defineProperty(t,"f",{enumerable:!0,get:function(){return BB}}),Object.defineProperty(t,"g",{enumerable:!0,get:function(){return nB}}),Object.defineProperty(t,"h",{enumerable:!0,get:function(){return oI}}),Object.defineProperty(t,"i",{enumerable:!0,get:function(){return $I}}),Object.defineProperty(t,"j",{enumerable:!0,get:function(){return m}}),Object.defineProperty(t,"k",{enumerable:!0,get:function(){return w}}),Object.defineProperty(t,"l",{enumerable:!0,get:function(){return WH}}),Object.defineProperty(t,"m",{enumerable:!0,get:function(){return cI}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return ER}}),Object.defineProperty(t,"o",{enumerable:!0,get:function(){return $R}}),Object.defineProperty(t,"p",{enumerable:!0,get:function(){return BV}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return HB}}),Object.defineProperty(t,"s",{enumerable:!0,get:function(){return VL}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return FH}}),Object.defineProperty(t,"u",{enumerable:!0,get:function(){return jR}}),Object.defineProperty(t,"v",{enumerable:!0,get:function(){return gL}}),Object.defineProperty(t,"w",{enumerable:!0,get:function(){return sz}}),Object.defineProperty(t,"x",{enumerable:!0,get:function(){return xR}}),Object.defineProperty(t,"y",{enumerable:!0,get:function(){return hH}})});
506
+ }`;var g=ac(function(){return Le(c,m+`return `+f).apply(e,l)});if(g.source=f,os(g))throw g;return g},V.times=function(e,t){if((e=ws(e))<1||e>c)return[];var n=u,r=jn(e,u);t=H(t),e-=u;for(var i=an(r,t);++n<e;)t(n);return i},V.toFinite=Cs,V.toInteger=ws,V.toLength=Ts,V.toLower=function(e){return Os(e).toLowerCase()},V.toNumber=Es,V.toSafeInteger=function(e){return e?vr(ws(e),-9007199254740991,c):e===0?e:0},V.toString=Os,V.toUpper=function(e){return Os(e).toUpperCase()},V.trim=function(t,n,r){if((t=Os(t))&&(r||n===e))return on(t);if(!t||!(n=bi(n)))return t;var i=Sn(t),a=Sn(n);return Mi(i,un(i,a),dn(i,a)+1).join(``)},V.trimEnd=function(t,n,r){if((t=Os(t))&&(r||n===e))return t.slice(0,Cn(t)+1);if(!t||!(n=bi(n)))return t;var i=Sn(t);return Mi(i,0,dn(i,Sn(n))+1).join(``)},V.trimStart=function(t,n,r){if((t=Os(t))&&(r||n===e))return t.replace(me,``);if(!t||!(n=bi(n)))return t;var i=Sn(t);return Mi(i,un(i,Sn(n))).join(``)},V.truncate=function(t,n){var r=30,i=`...`;if(us(n)){var a=`separator`in n?n.separator:a;r=`length`in n?ws(n.length):r,i=`omission`in n?bi(n.omission):i}var o=(t=Os(t)).length;if(hn(t)){var s=Sn(t);o=s.length}if(r>=o)return t;var c=r-xn(i);if(c<1)return i;var l=s?Mi(s,0,c).join(``):t.slice(0,c);if(a===e)return l+i;if(s&&(c+=l.length-c),hs(a)){if(t.slice(c).search(a)){var u,d=l;for(a.global||(a=Be(a.source,Os(Ce.exec(a))+`g`)),a.lastIndex=0;u=a.exec(d);)var f=u.index;l=l.slice(0,f===e?c:f)}}else if(t.indexOf(bi(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i},V.unescape=function(e){return(e=Os(e))&&ie.test(e)?e.replace(z,wn):e},V.uniqueId=function(e){var t=++Ye;return Os(e)+t},V.upperCase=nc,V.upperFirst=rc,V.each=Oo,V.eachRight=ko,V.first=to,mc(V,(wc={},jr(V,function(e,t){Je.call(V.prototype,t)||(wc[t]=e)}),wc),{chain:!1}),V.VERSION=`4.17.21`,It([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){V[e].placeholder=V}),It([`drop`,`take`],function(t,n){tr.prototype[t]=function(r){r=r===e?1:An(ws(r),0);var i=this.__filtered__&&!n?new tr(this):this.clone();return i.__filtered__?i.__takeCount__=jn(r,i.__takeCount__):i.__views__.push({size:jn(r,u),type:t+(i.__dir__<0?`Right`:``)}),i},tr.prototype[t+`Right`]=function(e){return this.reverse()[t](e).reverse()}}),It([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==1||n==3;tr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:H(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),It([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);tr.prototype[e]=function(){return this[n](1).value()[0]}}),It([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);tr.prototype[e]=function(){return this.__filtered__?new tr(this):this[n](1)}}),tr.prototype.compact=function(){return this.filter(uc)},tr.prototype.find=function(e){return this.filter(e).head()},tr.prototype.findLast=function(e){return this.reverse().find(e)},tr.prototype.invokeMap=si(function(e,t){return typeof e==`function`?new tr(this):this.map(function(n){return Vr(n,e,t)})}),tr.prototype.reject=function(e){return this.filter(Go(H(e)))},tr.prototype.slice=function(t,n){t=ws(t);var r=this;return r.__filtered__&&(t>0||n<0)?new tr(r):(t<0?r=r.takeRight(-t):t&&(r=r.drop(t)),n!==e&&(r=(n=ws(n))<0?r.dropRight(-n):r.take(n-t)),r)},tr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},tr.prototype.toArray=function(){return this.take(u)},jr(tr.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),i=/^(?:head|last)$/.test(n),a=V[i?`take`+(n==`last`?`Right`:``):n],o=i||/^find/.test(n);a&&(V.prototype[n]=function(){var n=this.__wrapped__,s=i?[1]:arguments,c=n instanceof tr,l=s[0],u=c||es(n),d=function(e){var t=a.apply(V,Ut([e],s));return i&&f?t[0]:t};u&&r&&typeof l==`function`&&l.length!=1&&(c=u=!1);var f=this.__chain__,p=!!this.__actions__.length,m=o&&!f,h=c&&!p;if(!o&&u){n=h?n:new tr(this);var g=t.apply(n,s);return g.__actions__.push({func:Co,args:[d],thisArg:e}),new er(g,f)}return m&&h?t.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),It([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=Ue[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);V.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(es(i)?i:[],e)}return this[n](function(n){return t.apply(es(n)?n:[],e)})}}),jr(tr.prototype,function(e,t){var n=V[t];if(n){var r=n.name+``;Je.call(Un,r)||(Un[r]=[]),Un[r].push({name:t,func:n})}}),Un[Zi(e,2).name]=[{name:`wrapper`,func:e}],tr.prototype.clone=function(){var e=new tr(this.__wrapped__);return e.__actions__=Bi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Bi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Bi(this.__views__),e},tr.prototype.reverse=function(){if(this.__filtered__){var e=new tr(this);e.__dir__=-1,e.__filtered__=!0}else (e=this.clone()).__dir__*=-1;return e},tr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=es(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case`drop`:e+=o;break;case`dropRight`:t-=o;break;case`take`:t=jn(t,e+o);break;case`takeRight`:e=An(e,t-o)}}return{start:e,end:t}}(0,i,this.__views__),o=a.start,s=a.end,c=s-o,l=r?s:o-1,u=this.__iteratees__,d=u.length,f=0,p=jn(c,this.__takeCount__);if(!n||!r&&i==c&&p==c)return Ti(e,this.__actions__);var m=[];e:for(;c--&&f<p;){for(var h=-1,g=e[l+=t];++h<d;){var _=u[h],v=_.iteratee,y=_.type,b=v(g);if(y==2)g=b;else if(!b){if(y==1)continue e;break e}}m[f++]=g}return m},V.prototype.at=wo,V.prototype.chain=function(){return So(this)},V.prototype.commit=function(){return new er(this.value(),this.__chain__)},V.prototype.next=function(){this.__values__===e&&(this.__values__=Ss(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?e:this.__values__[this.__index__++]}},V.prototype.plant=function(t){for(var n,r=this;r instanceof $n;){var i=Ja(r);i.__index__=0,i.__values__=e,n?a.__wrapped__=i:n=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,n},V.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof tr){var n=t;return this.__actions__.length&&(n=new tr(this)),(n=n.reverse()).__actions__.push({func:Co,args:[lo],thisArg:e}),new er(n,this.__chain__)}return this.thru(lo)},V.prototype.toJSON=V.prototype.valueOf=V.prototype.value=function(){return Ti(this.__wrapped__,this.__actions__)},V.prototype.first=V.prototype.head,vt&&(V.prototype[vt]=function(){return this}),V}();Tt?((Tt.exports=Tn)._=Tn,wt._=Tn):Ct._=Tn}.call(OR.exports)),OR.exports),MR=e=>e.parentId===null||e.parentId===`null`||!e.parentId,NR=async(e,t,n)=>{if(t?.itemType===`file`)return e;let r=[];if(!n)return e;{let e=await n({parentId:t.folderId});r=Array.isArray(e)?e:[]}let i=((e,t)=>{let n=Array.isArray(e)?e:[];return(r=t.folderId)&&r!==`root`&&r!==`folders`&&r!==`null`&&r!==null?n.filter(e=>e.parentId===t.folderId):n.filter(MR);var r})(r,t);if((t?.search)?.trim()){let e=t.search.trim().toLowerCase();i=i.filter(t=>t.name?.toLowerCase().includes(e))}if(i.length===0)return e;let a=i.map(e=>({id:e.id,name:e.name,size:void 0,date:`-`,isFolder:!0,folderId:e.parentId||``,type:``,selected:!1,extension:``,childCount:e.childCount}));if(t?.itemType===`folder`)return a;let o=e.filter(e=>!e.isFolder);return[...a,...o]},PR=e=>{let{state:t,actions:n,options:r}=yR(),{searchTerm:i,sortBy:o,sortOrder:s,selectedFolder:c,pagination:l,pathHistory:u}=t,{setSearchTerm:d,setSortBy:f,setSortOrder:p,setPagination:m}=n,h=e||n.fetchFiles,g=(0,a.useRef)(null),_=(0,a.useRef)(jR.debounce(e=>{let t=JSON.stringify(e);g.current!==t&&(g.current=t,h?.(e))},150)).current,v=(0,a.useCallback)(()=>{let e=c||``;return e?[...Array.isArray(u)?u:[]].reverse().find(t=>t.id===e)?.name:void 0},[c,u]),y=(0,a.useCallback)(()=>{let e=r?.config?.disablePagination;return{folderId:c||``,folderName:v(),search:i?.trim()||void 0,page:e?void 0:l.current,limit:e?void 0:l.pageSize,sortBy:o,sortOrder:s,itemType:`all`}},[c,v,i,l.current,l.pageSize,o,s,r?.config?.disablePagination]),b=(0,a.useCallback)(e=>{d&&d(e),m&&m({current:1,pageSize:l.pageSize,total:0}),h&&h({folderId:c||``,folderName:v(),search:e?.trim()||void 0,page:r?.config?.disablePagination?void 0:1,limit:r?.config?.disablePagination?void 0:l.pageSize,sortBy:o,sortOrder:s,itemType:`all`})},[d,m,l.pageSize,h,c,v,o,s,r?.config?.disablePagination]),x=(0,a.useCallback)((e,t)=>{f?.(e),p?.(t),h&&_({folderId:c||``,folderName:v(),search:i?.trim()||void 0,page:r?.config?.disablePagination?void 0:l.current,limit:r?.config?.disablePagination?void 0:l.pageSize,sortBy:e,sortOrder:t,itemType:`all`})},[f,p,_,c,v,i,l.current,l.pageSize,r?.config?.disablePagination]),S=(0,a.useCallback)((e,t)=>{var n;(n=r?.config)!=null&&n.disablePagination||(m&&m({current:e,pageSize:t||l.pageSize,total:l.total}),h&&_({folderId:c||``,folderName:v(),search:i?.trim()||void 0,page:e,limit:t||l.pageSize,sortBy:o,sortOrder:s,itemType:`all`}))},[m,l.pageSize,l.total,_,c,v,i,o,s,r?.config?.disablePagination]);return(0,a.useEffect)(()=>{if(h){let e=y();_(Object.assign(Object.assign({},e),{page:1}))}},[c]),(0,a.useEffect)(()=>{h&&_(y())},[]),(0,a.useEffect)(()=>()=>{var e;(e=_.cancel)==null||e.call(_)},[_]),{state:{searchTerm:i||``,sortBy:o||`name`,sortOrder:s||`asc`},actions:{setSearchTerm:d||(()=>{}),setSortBy:f||(()=>{}),setSortOrder:p||(()=>{}),handleSearch:b,handleSort:x,handlePaginationChange:S,getCurrentQueryParams:y}}};function FR(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}var IR=new Map;function LR(e){let t=`id`in e&&e.id!==void 0?String(e.id):`unknown`,n=`data`in e?e.data:void 0;return`${e.type}:${t}:${function(e){if(e==null)return``;try{return JSON.stringify(e,Object.keys(e).sort())}catch{return String(e)}}(n)}`}var RR=()=>{let{notification:e}=l.App.useApp(),{options:t}=yR(),n=(0,a.useCallback)(async e=>{let n;if(t.handleNotify){try{n=await t.handleNotify(e)}catch{}if(!1===n)return!1;typeof n==`object`&&n&&(e=n)}if(e.type===`error`&&t.handleError){try{n=await t.handleError(e)}catch{}if(!1===n)return!1;typeof n==`object`&&n&&(e=n)}if(e.type===`success`&&t.handleSuccess){try{n=await t.handleSuccess(e)}catch{}if(n)return!1}return n},[t]),r=(0,a.useCallback)(async function(r,i=!1){var a;try{r.visibility===void 0&&(r.visibility=!i);let o=await n(r);typeof o==`object`&&(r=o);let s=t.config?.notificationDedupeTtlMs??12e3,c=r.type===`error`&&!0===r.notificationDedupe;if(c&&function(e,t){if(t<=0)return;let n=LR(e),r=Date.now(),i=IR.get(n);i!==void 0&&r-i<t&&(e.visibility=!1)}(r,s),!(!1!==r.visibility&&!1!==o&&!1!==t.config?.showNotifications))return r;let l=e[r.type];if(typeof l==`function`){let e=r,{message:t,btn:n}=e,i=FR(e,[`message`,`btn`]);l(Object.assign(Object.assign(Object.assign({},i),{title:i.title??t}),n===void 0?{}:{actions:n})),c&&(a=r,s<=0||IR.set(LR(a),Date.now()))}}catch{}return r},[e,n,t.config?.notificationDedupeTtlMs,t.config?.showNotifications]);return(0,a.useMemo)(()=>({error:(e,t=!1)=>r(Object.assign(Object.assign({},e),{type:`error`}),t),success:(e,t=!1)=>r(Object.assign(Object.assign({},e),{type:`success`}),t),warning:(e,t=!1)=>r(Object.assign(Object.assign({},e),{type:`warning`}),t),notify:r}),[r])},zR=()=>l.App.useApp().message,BR={FileNotFound:`File not found or no longer available.`,FileAlreadyExists:`File with this name already exists.`,FileInvalidName:`File name is not valid. Allowed characters: {{allowedChars}}`,FileAccessDenied:`You don't have permission to access this file.`,FileReadError:`Failed to read the file.`,FileWriteError:`Failed to write the file.`,FileTooLarge:`File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.`,FileTypeNotAllowed:`This file type is not allowed.`,FileCorrupted:`The file appears to be corrupted.`,FileChecksumMismatch:`File integrity check failed.`,FileStorageQuotaExceeded:`Storage quota exceeded. Please free up space.`,FileLocked:`File is locked by another process or user.`,FileVersionConflict:`File version conflict. Please refresh and try again.`,FolderNotFound:`Folder not found or no longer available.`,FolderAlreadyExists:`Folder with this name already exists.`,FolderInvalidName:`Folder name is not valid. Allowed characters: {{allowedChars}}`,FolderAccessDenied:`You don't have permission to access this folder.`,FolderReadError:`Failed to read the folder contents.`,FolderWriteError:`Failed to write to the folder.`,FolderQuotaExceeded:`Folder storage quota exceeded.`,FolderNotEmpty:`Folder is not empty.`,FolderBackendError:`Server error while processing the folder.`,FolderTimeout:`Folder operation took too long.`,RenameNotAllowed:`Renaming is not allowed for this item.`,MoveNotAllowed:`Moving is not allowed for this item.`,CopyNotAllowed:`Copying is not allowed for this item.`,DeleteNotAllowed:`Deleting is not allowed for this item.`,MoveIntoSelf:`Cannot move an item into itself.`,MoveIntoDescendant:`Cannot move an item into its descendant folder.`,CopyIntoSelf:`Cannot copy an item into itself.`,UnsupportedOperation:`This operation is not supported.`,ConfigError:`Configuration error occurred.`,FileUploadQuotaExceeded:`You have exceeded the upload quota.`,FileUploadNetworkError:`Network error while uploading the file.`,FileUploadTimeout:`File upload took too long.`,FileUploadBackendError:`Server error while uploading the file.`,UploadUrlInvalid:`The specified URL is not valid.`,UploadUrlNotReachable:`The specified URL is not reachable.`,UploadUrlContentTypeNotAllowed:`Content type at the URL is not allowed.`,UploadUrlDownloadFailed:`Failed to download file from the URL.`,FileLookupFailed:`Failed to find existing file by URL.`,FileProxyFailed:`Failed to load file through proxy.`,FileProxyNotConfigured:`File proxy is not configured.`,FileDownloadNetworkError:`Network error while downloading the file.`,FileDownloadTimeout:`File download took too long.`,FileDownloadBackendError:`Server error while downloading the file.`,BatchPartialFailure:`Some items could not be processed.`,BatchAllFailed:`Failed to process all items in the batch.`,BatchConflict:`Some items in the batch are in a conflicting state.`,BatchValidationFailed:`Some items in the batch did not pass validation.`,BatchItemLimitExceeded:`Batch operation exceeds the maximum number of items allowed.`,ValidationError:`Some of the provided data is invalid.`,PayloadTooLarge:`File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.`,UnsupportedMediaType:`This media type is not supported.`,NetworkError:`Network error. Please check your connection and try again.`,BackendError:`Server error. Please try again later.`,Timeout:`The operation took too long. Please try again.`,AuthenticationFailed:`Authentication failed. Please sign in again.`,AuthorizationFailed:`You are not allowed to perform this action.`,RateLimitExceeded:`Too many requests. Please try again a bit later.`,ServiceUnavailable:`Service is temporarily unavailable. Please try again later.`,AIResponseInvalid:`AI service returned an invalid response.`,AIImageGenerationFailed:`Failed to generate image using AI.`,AIImageGenerationLimitExceeded:`You have reached the AI image generation limit.`,IntegrationError:`Error in external integration.`,ThirdPartyError:`Error in a third-party service.`,UnknownError:`An unknown error occurred.`},VR={FileTooLarge:`File is too large to upload.`,PayloadTooLarge:`File is too large to upload.`},HR=(e,t,n)=>{if(!e)return;let r=BR[e];if(!r)return;let i=n?.fileSize??``,a=n?.maxSize??``;if((e===`FileTooLarge`||e===`PayloadTooLarge`)&&!(i&&a)){let n=VR[e];return n?t(n):t(r,{fileSize:`?`,maxSize:`?`})}return t(r,{allowedChars:n?.allowedChars??`a-z A-Z 0-9 . _ -`,fileSize:i,maxSize:a})},UR=e=>{if(!e||typeof e!=`string`)return;let t=e.toLowerCase();return(t.includes(`maximum number of files`)||t.includes(`number of files exceeded`))&&(t.includes(`allowed`)||t.includes(`received`))?`BatchItemLimitExceeded`:t.includes(`exceeds`)||t.includes(`maximum`)||t.includes(`too large`)||t.includes(`size limit`)||t.includes(`object size`)||t.includes(`размер`)||t.includes(`превышен`)?`PayloadTooLarge`:t.includes(`403`)||t.includes(`forbidden`)||t.includes(`access denied`)||t.includes(`доступ запрещён`)?`AuthorizationFailed`:t.includes(`404`)||t.includes(`not found`)||t.includes(`не найден`)?`UploadUrlNotReachable`:t.includes(`already exists`)||t.includes(`уже существует`)||t.includes(`дубликат`)?`FileAlreadyExists`:t.includes(`invalid`)&&(t.includes(`name`)||t.includes(`имя`)||t.includes(`назва`))?`FileInvalidName`:t.includes(`type`)&&(t.includes(`not allowed`)||t.includes(`не поддерживается`))?`FileTypeNotAllowed`:void 0},WR=e=>{if(!e)return{message:`Unknown error`,raw:e};if(typeof e==`string`)return{message:e};if(e instanceof Error){let t=e;return{message:t.message??e.message,code:t.code,status:t.status??t.httpStatus,stack:t.stack??e.stack,raw:t.raw??e}}if(typeof e==`object`){let t=e,n=t.data??t,r=n?.data??n,i=t.message??n?.message??t.error??t.reason,a=t.status??t.httpStatus??r?.status??n?.status,o=t.code??n?.code,s=t.stack,c=t.raw??e,l=t.fileSize??r?.fileSize??n?.fileSize,u=t.maxSize??r?.maxSize??n?.maxSize;if(i||o||a||s||c)return Object.assign(Object.assign({message:i,code:o,status:a,stack:s,raw:c},l!=null&&{fileSize:l}),u!=null&&{maxSize:u})}return{message:String(e),raw:e}},GR=(e,t,n)=>{let r=WR(e),i=r?.code;if(i===`FileTooLarge`&&n?.fileSize!=null&&n?.maxSize!=null)return t(`File too large ({{size}}). Maximum allowed size: {{maxSize}}`,{size:LL(n.fileSize),maxSize:LL(n.maxSize)});if((i===`BatchItemLimitExceeded`||i===`exceeded_max_files`)&&r?.message){let{allowed:e,received:n}=function(e){let t=e.match(/Allowed:\s*(\d+)/i),n=e.match(/received:\s*(\d+)/i);return{allowed:t?parseInt(t[1],10):void 0,received:n?parseInt(n[1],10):void 0}}(r.message);if(e!=null&&n!=null)return t(`Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}`,{allowed:e,received:n})}return r?.message&&r.message!==`Unknown error`?r.message:HR(i,t,n?.fileSize!=null&&n?.maxSize!=null?{fileSize:LL(n.fileSize),maxSize:LL(n.maxSize)}:void 0)??t(`Error uploading file`)},KR=e=>WR(e)?.code===`path_folder_not_found`,qR=[`file_get_contents`,`open stream`,`failed to open stream`,`http request failed`,`curl_error`],JR=(e,t,n)=>{if(!e)return t(`Error when downloading a file by URL`);let r=HR((e=>{let t=UR(e);if(t===`AuthorizationFailed`){let t=(e||``).toLowerCase();if(t.includes(`download`)||t.includes(`url`)||t.includes(`file_get_contents`)||t.includes(`failed to download`))return`UploadUrlNotReachable`}return t})(e?.message)??e?.code,t,n);if(r)return r;let i=e?.message&&typeof e.message==`string`?e.message.trim():null;return i&&function(e){if(!e||e.length>200)return!1;let t=e.toLowerCase();return!qR.some(e=>t.includes(e))}(i)?i:t(`Failed to download file from the URL.`)},YR=e=>Array.isArray(e)?e.filter(e=>e?.id&&e.id!==`folders`).map(e=>e.name).filter(Boolean).join(`/`):``,XR=e=>{let t=e.trim();if(!t)return``;let n=t.toLowerCase(),r=[n.indexOf(` and `),n.indexOf(` or `),t.indexOf(`,`),t.indexOf(`;`),n.indexOf(`. `)].filter(e=>e>=0);if(r.length===0)return t;let i=Math.min(...r);return t.slice(0,i).trim()||t},ZR=(e,t)=>{let n=(e=>{if(e&&typeof e==`object`){let t=e,n=t.data?.data?.path_folder??t.data?.path_folder;if(typeof n==`string`&&n.trim())return XR(n)||null}let t=WR(e)?.message;if(!t)return null;let n=t.toLowerCase();for(let e of[`не существует:`,`not exists:`,`not exist:`,`not found:`]){let r=n.indexOf(e);if(r>=0)return XR(t.slice(r+e.length).trim())||null}for(let e of[`not exists `,`not exist `,`not found `]){let r=n.indexOf(e);if(r>=0)return XR(t.slice(r+e.length).trim())||null}return null})(e);return n?(e=>{let t=e.split(`/`).filter(Boolean);return t.length<=1?``:(t.pop(),t.join(`/`))})(n):YR(t)},QR=async e=>{let{options:t,pathFolder:n,dataProviders:r}=e;if(r?.clearCache)return void await r.clearCache(n||null);let i=t?.apiEndpoints?.clearCache;if(!i)return;let a=i.includes(`?`),o=i;n&&n.length>0&&(o=`${i}${a?`&`:`?`}path_folder=${encodeURIComponent(n)}`);let s=await fetch(o,{method:`POST`});if(!s.ok)throw Error(`Cache clear failed: ${s.status}`)},$R=()=>{let{state:e,actions:t,options:n}=yR(),{t:r}=gL(),i=RR(),{folders:o,selectedFolder:s,pathHistory:c,form:l,loading:u,isModalVisible:f}=e,{setFolders:p,setLoading:m,setIsModalVisible:h}=t,{dataProviders:g,config:_}=n,v=(0,a.useCallback)(e=>(Array.isArray(e)?e:[]).filter(e=>e&&e.id&&e.name).map(e=>({id:e.id,name:e.name,parentId:e.folderId?e.folderId:null})),[]),y=(0,a.useCallback)(async(e=!1)=>{m?.(!0);try{let e=[],t=_?.folderTreeLoading===`lazy`;if(!g?.getFolders){if(g?.getFiles){let e=async n=>{let{files:r}=await g.getFiles({itemType:`folder`,folderId:n??void 0}),i=v(r);if(t)return i;let a=await Promise.all(i.map(t=>e(t.id)));return[...i,...a.flat()]},n=await e(null);p&&p(e=>{let r=Array.isArray(e)?e:[];if(!t){let e=n;return e.filter(e=>e.id===e.parentId).length,e}let i=[...r.filter(e=>e.parentId),...n];return i.filter(e=>e.id===e.parentId).length,i});return}return}{let n=!t;e=await g.getFolders({parentId:null,deep:n})}let n=Array.isArray(e)?e:[];p?.(n),n.filter(e=>e.id===e.parentId).length}catch(t){let a=WR(t);if(!e&&(a?.status===404||a?.code===`FileNotFound`)){let e=ZR(t,c||[]);try{await QR({options:n,pathFolder:e,dataProviders:n?.dataProviders}),await y(!0);return}catch{}}let o=HR(a?.code,r);i.error({id:`FOLDERS_FETCH_FAILED`,message:o??r(`Failed to load folders`),description:r(`Folders`),placement:`bottomRight`,innerException:t,notificationDedupe:!0,data:{reason:t instanceof Error?t.message:String(t),folderId:null,folderName:r(`Folders`)}})}finally{m?.(!1)}},[g?.getFiles,g?.getFolders,p,m,_?.folderTreeLoading,v,i,r,c,n]),b=(0,a.useCallback)(()=>y(),[y]),x=(0,a.useCallback)(async e=>{try{let t,n;if(g?.getFolders){t=await g.getFolders({parentId:e,deep:!1});let r=Array.isArray(o)?o:[],i=new Set(t.map(e=>e.id)),a=r.filter(t=>t.parentId!==e||i.has(t.id));n=[...a,...t.filter(e=>!a.some(t=>t.id===e.id))]}else{if(!g?.getFiles)return[];{let{files:r}=await g.getFiles({itemType:`folder`,folderId:e??void 0});t=v(r);let i=Array.isArray(o)?o:[],a=new Set(t.map(e=>e.id)),s=i.filter(t=>t.parentId!==e||a.has(t.id));n=[...s,...t.filter(e=>!s.some(t=>t.id===e.id))]}}let r=n,i=0;for(;i!==r.length;){i=r.length;let e=new Set(r.map(e=>e.id));r=r.filter(t=>!t.parentId||e.has(t.parentId))}return p?.(r),t}catch{return[]}},[g,o,p,v]),S=(0,a.useCallback)(()=>{let e=_?.defaultFolderName??r(`New folder`);l.setFieldsValue({folderName:e}),h?.(!0)},[l,h,r,_?.defaultFolderName]),C=(0,a.useCallback)(async(e,n)=>{let i=[...(Array.isArray(o)?o:[]).filter(t=>t.id!==e.id),e];if(p?.(i),e.parentId&&(await x(e.parentId),await new Promise(e=>setTimeout(e,50))),!n?.preserveSelection&&t.setSelectedFolder&&t.setSelectedFolder(e.id),!n?.preserveSelection&&t.setPathHistory){let n=Array.isArray(i)?i:[],a=(e,t=new Set)=>{if(t.has(e))return[];let r=n.find(t=>t.id===e);if(!r)return[];let i=new Set(t);return i.add(e),r.parentId?[...a(r.parentId,i),{id:r.id,name:r.name}]:[{id:r.id,name:r.name}]},o=a(e.id),s=[{id:`folders`,name:r(`Folders`)},...o];t.setPathHistory(s)}},[o,p,t,e.pathHistory,x,r]),w=(0,a.useCallback)(async e=>{try{if(g?.getFolders){let t=await g.getFolders();return(Array.isArray(t)?t:[]).some(t=>t.id===e)}if(g?.getFiles){let t=new Set,n=async r=>{let{files:i}=await g.getFiles({itemType:`folder`,folderId:r??void 0}),a=v(i);for(let r of a)if(!t.has(r.id)&&(t.add(r.id),r.id===e||await n(r.id)))return!0;return!1};return await n(null)}}catch{}return!1},[g?.getFolders,g?.getFiles,v]),T=(0,a.useCallback)(async e=>{let t,n,a=null;try{let u=await(e?e.validateFields():l.validateFields());if(t=u.folderName.trim(),!t){let e=u.targetFolder||(s&&s!==`folders`?s:null);i.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:r(`Folder name cannot be empty`),placement:`bottomRight`,data:{folderName:t,folderId:e??null,reason:`emptyName`,is_force_create:!!u.is_force_create}});return}n=sI(t,_);let d=u.targetFolder;if(d)a=d===`folders`?null:d;else if(s&&s!==`folders`)a=s;else if(Array.isArray(c)&&c.length>1){let e=c[c.length-1];a=e?.id&&e.id!==`folders`?e.id:null}if(cI(_)&&g?.getFolders)try{if((await g.getFolders({parentId:a,deep:!1})||[]).map(e=>e.name?.toLowerCase()).filter(Boolean).includes(t.trim().toLowerCase()))return void i.error({id:`FOLDER_ALREADY_EXISTS`,message:r(`A folder with that name already exists. Please enter a different folder name.`),placement:`bottomRight`,data:{folderName:t,folderId:a}})}catch{}let f;if(!g?.createFolder)return void i.error({id:`FOLDER_CREATE_PROVIDER_NOT_CONFIGURED`,message:r(`Folder creation provider is not configured`),placement:`bottomRight`,data:{folderName:n,folderId:a??null,is_force_create:!!u.is_force_create}});f=await g.createFolder({name:n,parentId:a,is_force_create:!!u.is_force_create}),(e=>{if(!e||!e.id)throw Error(r(`Invalid server response: folder ID is missing`));if(e.id===e.parentId&&e.parentId)throw Error(r(`Error: folder cannot be its own parent`))})(f);let m={id:f.id,name:f.name,parentId:a??null,childCount:f.childCount},v=[...(Array.isArray(o)?o:[]).filter(e=>e.id!==m.id),m];if(p?.(v),i.success({id:`FOLDER_CREATE_SUCCESS`,message:r(`Folder created`),placement:`bottomRight`,data:{itemIds:[m.id],folderId:m.parentId??null,folderName:m.name}}),e||h==null||h(!1),(async()=>{try{await C(m,{preserveSelection:!!e}),await b(),await new Promise(e=>setTimeout(e,200)),await w(f.id)}catch{}})(),e)return f}catch(e){let o=HR(WR(e)?.code,r);i.error({id:`FOLDER_CREATE_FAILED`,message:o??r(`Failed to create folder`),placement:`bottomRight`,innerException:e,data:{folderName:n||t,folderId:a??null,reason:e instanceof Error?e.message:String(e)}})}},[l,s,g,C,b,w,h,i,r,o,p,_,c]),E=(0,a.useCallback)(()=>{h?.(!1)},[h]),D=(0,a.useCallback)((e,t=new Set)=>{let n=Array.isArray(o)?o:[];return e.map(e=>{if(t.has(e.id))return{key:e.id,label:e.name+` `+r(`(error)`),icon:a.createElement(d.FolderOutlined,{style:{color:`red`}})};let i=new Set(t);i.add(e.id);let o=n.filter(t=>t.parentId===e.id&&t.id!==e.id);return{key:e.id,label:e.name,children:o.length>0?D(o,i):void 0}})},[o]),O=(0,a.useCallback)(()=>{let e=Array.isArray(o)?o:[],t={key:`folders`,label:r(`Folders`),children:[]};return t.children=D(e.filter(e=>e.parentId===null||!e.parentId)),[t]},[o,r,D]),k=(0,a.useCallback)(async(e,a)=>{let s;try{let c=a.trim(),l=o?.find(t=>t.id===e);if(!c)return void i.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:r(`Folder name cannot be empty`),placement:`bottomRight`,data:{folderId:e,folderName:a,reason:`emptyName`}});if(s=sI(c,_),!1===_?.features?.enableRenameFolder)return void i.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:r(`Folder rename is disabled by config`),placement:`bottomRight`,data:{itemId:e,itemName:l?.name??s}});if(!n.dataProviders?.renameFolder)return void i.error({id:`FOLDER_RENAME_FAILED`,message:r(`Folder rename provider is not configured`),placement:`bottomRight`,data:{itemId:e,itemName:s,error:{message:`providerNotConfigured`}}});let u=await n.dataProviders.renameFolder(e,s);if(!u?.id)return void i.error({id:`FOLDER_RENAME_FAILED`,message:r(`Unexpected response when renaming folder`),placement:`bottomRight`,data:{itemId:e,itemName:s,error:{message:`invalidResponse`}}});await b(),e!==u.id&&t.setSelectedFolder&&t.setSelectedFolder(u.id),i.success({id:`FOLDER_RENAME_SUCCESS`,message:r(`Folder renamed`),placement:`bottomRight`,data:{itemId:u.id,itemName:u.name,folderId:u.parentId??null}})}catch(t){i.error({id:`FOLDER_RENAME_FAILED`,message:r(`Failed to rename folder`),placement:`bottomRight`,innerException:t,data:{itemId:e,itemName:s||a,error:{message:t instanceof Error?t.message:String(t)}}})}},[b,o,n.dataProviders?.renameFolder,_?.features?.enableRenameFolder,_,t.setSelectedFolder,i,r]);return{state:{folders:o,isCreatingFolder:f,loading:u},actions:{fetchFolders:b,fetchChildFolders:x,handleCreateFolder:S,handleModalOk:T,handleModalCancel:E,generateMenuItems:O,renameFolder:k}}},ez=()=>{let{options:e,actions:t}=yR(),{dataProviders:n,config:r}=e,{setUndoDeletion:i}=t,{t:o}=gL(),s=RR();return{deleteItems:(0,a.useCallback)(async({items:e,selectedFolder:t,getItemNameById:a,showNotifications:c=!1})=>{let l=0,u=0,d=[],f=async t=>{if(n?.deleteItems)try{let r=await n.deleteItems(e.map(e=>e.id),{permanent:t}),i=r.detailed;if(i){let e=i.filter(e=>e.success),t=i.filter(e=>!e.success),n=t.filter(e=>KR(e.innerException??e.error)),r=t.filter(e=>!KR(e.innerException??e.error));l+=e.length+n.length,u+=r.length,r.forEach(e=>{let t=(e=>e.requestId??e.id)(e),n=WR(e.innerException??e.error);d.push({itemId:t,itemName:a(t),error:n})});return}if(r.success)l+=e.length;else{let t=r.error;if(KR(t))l+=e.length;else if(t){u+=e.length;let n=WR(t);d.push({error:n})}else u+=e.length}return}catch(t){if(KR(t))l+=e.length;else{u+=e.length;let n=WR(t);d.push({error:n})}}},p=r?.enableTrashFolder&&t===`Trash`;return r?.enableTrashFolder&&!p?await f(!1):await f(!0),l>0&&r!=null&&r.enableTrashFolder&&!p&&i?.({itemIds:e.map(e=>e.id),sourceFolderId:t||`folders`}),c&&(l>0&&s.success({id:`FILES_DELETE_SUCCESS`,message:o(`Files deleted`),placement:`bottomRight`,data:{successCount:l,totalCount:e.length,itemIds:e.map(e=>e.id),folderId:t||null}}),u>0&&s.error({id:`FILES_DELETE_ERROR`,message:o(`Error when deleting a file`),placement:`bottomRight`,data:{failCount:u,totalCount:e.length,itemIds:e.map(e=>e.id),itemNames:e.map(e=>a(e.id)),folderId:t||null,errors:d}})),{successCount:l,failCount:u,errorDetails:d}},[n,r,i,o,s])}},Q=class e extends Error{constructor(t,n,r,i){super(t),this.code=n,this.status=r,this.details=i,this.name=`FileManagerApiError`,Error.captureStackTrace&&Error.captureStackTrace(this,e)}},tz=/^(localhost|127\.0\.0\.1|0\.0\.0\.0|::1)$/i,nz=/^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.)/;function rz(e,t){let n=e.trim();if(!n)throw new Q(t(`Enter the URL of the image`),`UploadUrlInvalid`);if(n.length>8192)throw new Q(t(`URL too long`),`UploadUrlInvalid`);let r;try{r=new URL(n)}catch{throw new Q(t(`The specified URL is not valid.`),`UploadUrlInvalid`)}let i=r.protocol.toLowerCase();if(i!==`http:`&&i!==`https:`)throw new Q(t(`Only http and https URLs are supported`),`UploadUrlInvalid`);let a=r.hostname.toLowerCase();if(tz.test(a)&&(typeof window>`u`||!tz.test(window.location.hostname.toLowerCase()))||nz.test(a))throw new Q(t(`Private and local URLs are not allowed`),`UploadUrlInvalid`)}function iz(e,t){if(e?.extension){let t=e.extension.toLowerCase(),n={jpg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},jpeg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},png:{extension:`png`,mimeType:`image/png`,format:`png`,pixieFormat:`png`},gif:{extension:`gif`,mimeType:`image/gif`,format:`gif`,pixieFormat:`png`},webp:{extension:`webp`,mimeType:`image/webp`,format:`webp`,pixieFormat:`png`},svg:{extension:`svg`,mimeType:`image/svg+xml`,format:`svg`,pixieFormat:`svg`}};if(n[t])return n[t]}if(e?.type){let t=BF(e.type),n={"image/jpeg":{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},"image/png":{extension:`png`,mimeType:`image/png`,format:`png`,pixieFormat:`png`},"image/gif":{extension:`gif`,mimeType:`image/gif`,format:`gif`,pixieFormat:`png`},"image/webp":{extension:`webp`,mimeType:`image/webp`,format:`webp`,pixieFormat:`png`},"image/svg+xml":{extension:`svg`,mimeType:`image/svg+xml`,format:`svg`,pixieFormat:`svg`}};if(n[t])return n[t]}if(e?.name){let t=e.name.split(`.`).pop()?.toLowerCase();if(t){let e={jpg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},jpeg:{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`},png:{extension:`png`,mimeType:`image/png`,format:`png`,pixieFormat:`png`},gif:{extension:`gif`,mimeType:`image/gif`,format:`gif`,pixieFormat:`png`},webp:{extension:`webp`,mimeType:`image/webp`,format:`webp`,pixieFormat:`png`},svg:{extension:`svg`,mimeType:`image/svg+xml`,format:`svg`,pixieFormat:`svg`}};if(e[t])return e[t]}}if(t){let e=BF(t),n=UF(e),r=`jpeg`;return n===`png`?r=`png`:n===`svg`?r=`svg`:n===`jpeg`&&(r=`jpeg`),{extension:n,mimeType:e,format:n,pixieFormat:r}}return{extension:`jpeg`,mimeType:`image/jpeg`,format:`jpeg`,pixieFormat:`jpeg`}}var az={MAX_SIZE_MB:.48,MAX_WIDTH_OR_HEIGHT:2e3,QUALITY:.8},oz=[`gif`,`svg`];function sz(e,t){let{colorHex:n,colorHex2:r,colorHex3:i}=t,a=[`--icon-grad-1: ${n}`,`--icon-grad-2: ${r}`,`--icon-stroke-1: ${n}`,`--icon-stroke-2: ${r}`,`--icon-stroke-3: ${i}`,`--icon-fill-1: ${n}`,`--icon-fill-2: ${r}`,`--icon-fill-3: ${i}`,`color: ${n}`].join(`;`),o=e.replace(/<svg([^>]*)>/i,(e,t)=>{let n=t;return/style="/i.test(n)?n=n.replace(/style="([^"]*)"/i,(e,t)=>`style="${t};${a}"`):n+=` style="${a}"`,`<svg${n}>`});return o=o.replace(/var\(--icon-color-1\)/g,n).replace(/var\(--icon-color-2\)/g,r).replace(/var\(--icon-color-3\)/g,i).replace(/var\(--icon-fill-1\)/g,n).replace(/var\(--icon-fill-2\)/g,r).replace(/var\(--icon-fill-3\)/g,i).replace(/var\(--icon-stroke-1\)/g,n).replace(/var\(--icon-stroke-2\)/g,r).replace(/var\(--icon-stroke-3\)/g,i).replace(/var\(--icon-grad-1\)/g,n).replace(/var\(--icon-grad-2\)/g,r).replace(/currentColor/g,n),o}function cz(e,t){let n=e.match(/\swidth="([0-9.]+)(px)?"/i),r=e.match(/\sheight="([0-9.]+)(px)?"/i);if(n&&r){let e=parseFloat(n[1]),i=parseFloat(r[1]);if(Number.isFinite(e)&&Number.isFinite(i)&&e>0&&i>0){let n=e/i;return n>=1?{width:t,height:Math.max(1,Math.round(t/n))}:{width:Math.max(1,Math.round(t*n)),height:t}}}let i=e.match(/viewBox="([^"]+)"/i);if(i){let e=i[1].trim().split(/\s+/);if(e.length===4){let n=parseFloat(e[2]),r=parseFloat(e[3]);if(Number.isFinite(n)&&Number.isFinite(r)&&n>0&&r>0){let e=n/r;return e>=1?{width:t,height:Math.max(1,Math.round(t/e))}:{width:Math.max(1,Math.round(t*e)),height:t}}}}return{width:t,height:t}}function lz(e){if(!e)return null;let t=e.trim();if(t.endsWith(`%`))return null;let n=parseFloat(t.replace(/px$/i,``));return Number.isFinite(n)&&n>0?n:null}function uz(e,t=2,n=4096){let{width:r,height:i}=function(e){let t=e.match(/<\s*svg\b[\s\S]*?>/i)?.[0]??``,n=t.match(/\bwidth\s*=\s*["']([^"']*)["']/i)?.[1],r=t.match(/\bheight\s*=\s*["']([^"']*)["']/i)?.[1],i=lz(n),a=lz(r);if(i!=null&&a!=null)return{width:i,height:a};let o=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1];if(o){let e=o.trim().split(/[\s,]+/);if(e.length===4){let t=parseFloat(e[2]),n=parseFloat(e[3]);if(Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0)return{width:t,height:n}}}return i==null?a==null?{width:300,height:300}:{width:a,height:a}:{width:i,height:i}}(e),a=Math.max(1,Math.round(r*t)),o=Math.max(1,Math.round(i*t)),s=Math.max(64,n),c=Math.max(a,o);if(c>s){let e=s/c;a=Math.max(1,Math.round(a*e)),o=Math.max(1,Math.round(o*e))}return{width:a,height:o}}async function dz(e,t,n,r,i){let a=i?.canvasScale??2,o=new Blob([e],{type:`image/svg+xml;charset=utf-8`}),s=URL.createObjectURL(o);try{let e=new Image;await new Promise((t,n)=>{e.onload=()=>t(),e.onerror=()=>n(Error(`Failed to load SVG image`)),e.src=s});let r=document.createElement(`canvas`),i=Math.max(1,Math.round(t*a)),o=Math.max(1,Math.round(n*a));r.width=i,r.height=o;let c=r.getContext(`2d`);if(!c)throw Error(`Canvas 2D context is not available`);return c.clearRect(0,0,i,o),c.drawImage(e,0,0,i,o),function(e){return new Promise((t,n)=>{e.toBlob(e=>{e?t(e):n(Error(`canvas.toBlob returned null`))},`image/png`)})}(r)}finally{URL.revokeObjectURL(s)}}async function fz(e,t,n,r,i){return a=await dz(e,t,n,0,i),new Promise((e,t)=>{let n=new FileReader;n.onload=()=>e(n.result),n.onerror=()=>t(n.error??Error(`readAsDataURL failed`)),n.readAsDataURL(a)});var a}function pz(e,t,n,r){return new File([e],t,{type:n,lastModified:r})}function mz(e,t){return t&&t!==e.name?pz(e,t,e.type,e.lastModified):e}async function hz(e,t={}){let{maxSizeMB:n=az.MAX_SIZE_MB,maxWidthOrHeight:r=az.MAX_WIDTH_OR_HEIGHT,mimeType:i,fileName:a,libURL:o,enableCompression:s=!0,convertSvgToPng:c=!1}=t;if(!(e&&e instanceof File))return e;let l=e,u=!1;if(c){let t=(l.type||``).toLowerCase(),n=/\.svg$/i.test(l.name.trim()),i=t.includes(`svg`),o=!1;if(!i&&!n)try{o=function(e){let t=e.trimStart().replace(/^\uFEFF/,``);return!!t.startsWith(`<`)&&/<\s*svg[\s>/]/i.test(t)}(await async function(e,t=24e3){let n=Math.min(t,Math.max(0,e.size));return e.slice(0,n).text()}(l))}catch{o=!1}if(i||n||o)try{l=await async function(e,t={}){let n=t.pixelScale??2,r=t.maxLongEdge??4096,i=await e.text(),{width:a,height:o}=uz(i,n,r),s=await dz(i,a,o,0,{canvasScale:1}),c=t.outputFileName??e.name,l=/\.svg$/i.test(c)?c.replace(/\.svg$/i,`.png`):`${c}.png`;return new File([s],l,{type:`image/png`,lastModified:e.lastModified})}(l,{maxLongEdge:r,outputFileName:a??l.name}),u=!0}catch{l=e}}if(u)return l;let d=BF((l.type&&l.type.trim()!==``?l.type:WF(l.name))||i||`image/jpeg`);if(!d.startsWith(`image/`))return mz(l,a);let f=(p=d)===`image/webp`?`image/jpeg`:p;var p;let m=UF(d),h=UF(f),g=f===d?a??l.name:function(e,t){let n=t.startsWith(`.`)?t.slice(1):t,r=e.lastIndexOf(`.`);return r>0?`${e.substring(0,r)}.${n}`:`${e}.${n}`}(a??l.name,h),_=s&&(v=m,!oz.includes(v));var v;if(!_&&f===d)return mz(l,g);try{let t={libURL:o,useWebWorker:!0,fileType:f};_?(t.maxSizeMB=n,t.maxWidthOrHeight=r):(t.maxSizeMB=Math.max(e.size/1048576+1,1),t.initialQuality=1,t.alwaysKeepResolution=!0);let i=await Ce(l,t);return function(e,t,n,r){let i=r??t.name;return e instanceof File?e.type!==n||e.lastModified!==t.lastModified||e.name!==i?pz(e,i,n,t.lastModified):e:pz(e,i,n,t.lastModified)}(i,l,BF(i.type||f),g)}catch{try{return mz(l,g)}catch{return l}}}async function gz(e){let{folderId:t,dataProviders:n,folders:r,pathHistory:i,t:a}=e,o=t==null?``:String(t);if(!o||o===`folders`)return a(`Folders`);if(o===`Trash`)return a(`Trash`);let s=i||[],c=s[s.length-1];if(c?.id===o&&c.name)return c.name;let l=[...s].reverse().find(e=>e.id===o);if(l?.name)return l.name;let u=n?.getItem;if(u)try{let e=await Promise.resolve(u(o));if(e?.name)return e.name}catch{}let d=r?.find(e=>e.id===o);return d?.name?d.name:o}var _z=/^(utm_[a-z0-9_]+|fbclid|gclid|igshid|mc_cid|mc_eid)$/i;function vz(e){let t=new URL(e.trim());t.hash=``,t.hostname=t.hostname.toLowerCase(),(t.protocol===`https:`&&t.port===`443`||t.protocol===`http:`&&t.port===`80`)&&(t.port=``);let n=Array.from(t.searchParams.entries()).filter(([e])=>!_z.test(e)).sort(([e,t],[n,r])=>{let i=e.localeCompare(n);return i===0?t.localeCompare(r):i});return t.search=``,n.forEach(([e,n])=>t.searchParams.append(e,n)),t.toString()}function yz(e){if(function(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`DirectResourceFetchError`?!(`final`in e)||!1!==e.final:`final`in e&&!0===e.final)}(e)||e instanceof Q)throw e}async function bz(e,t,n,r,i){let{fetchWithProxy:a,handleFileProxy:o,handleProxyUrl:s}=t,c=Object.assign({mode:`cors`},i?.fetchInit),l;if(o)try{let t=await Promise.resolve(o(e));if(t)return r(t)}catch(e){yz(e),l=e}if(s)try{let t=await Promise.resolve(s(e));if(t&&t!==e)return r(await n(t))}catch(e){yz(e),l=e}if(a)try{let t=await Promise.resolve(a(e,c,{intent:`downloadBlob`}));if(!t.ok)throw Error(`HTTP ${t.status}`);return r(await t.blob())}catch(e){yz(e),l=e}if(!a)try{return r(await n(e))}catch(e){yz(e),l=e}throw l instanceof Error?l:Error(`Failed to download file from the URL`)}function xz(e){return!!e?.startsWith(`image/`)&&e!==`image/gif`}function Sz(e,t){if(t===e.name)return e;try{return new File([e],t,{type:e.type,lastModified:e.lastModified})}catch{return e}}function Cz(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error??Error(`Failed to read proxied file`)),r.readAsDataURL(e)})}function wz(e){try{let t=new URL(e).pathname.split(`/`).pop();return t?decodeURIComponent(t):void 0}catch{return}}function Tz(e){return e==null||e===``||e===`folders`?null:e}async function Ez(e){let t=await fetch(e,{mode:`cors`});if(!t.ok)throw new Q(`HTTP ${t.status}`,`UploadUrlDownloadFailed`,t.status);return t.blob()}function Dz(e,t){if(!(e instanceof Blob)||e.size===0)throw new Q(t(`Failed to download file from the URL.`),`UploadUrlDownloadFailed`);let n=(e.type?.split(`;`)[0])?.trim()||`image/png`;if(!n.startsWith(`image/`))throw new Q(t(`Content type at the URL is not allowed.`),`UploadUrlContentTypeNotAllowed`);return{blob:e,mimeType:n}}var Oz=()=>{let{state:e,actions:t,options:n}=yR(),{sortBy:r,sortOrder:i}=PR().state,{actions:{fetchFolders:o}}=$R(),{t:s}=gL(),c=RR(),{deleteItems:l}=ez(),{selectedFolder:u,urlForm:d,pagination:f,files:p,pathHistory:m,folders:h}=e,g=a.default.useRef(null),_=a.default.useRef([]);g.current=f,_.current=Array.isArray(p)?p:[];let v=a.default.useRef(null),{setFiles:y,setLoading:b,setIsUrlModalVisible:x,setActiveLibraryItem:S,setPagination:C,setSelectedFolder:w,setPathHistory:T}=t,{dataProviders:E}=n,D=(0,a.useCallback)(async e=>{if(!E?.getFiles)return[];let t=n?.config?.disablePagination,r=t?void 0:e?.page??1,i=t?void 0:e?.limit??20,{files:a,pagination:o}=await E.getFiles({folderId:e?.folderId===`folders`?void 0:e?.folderId,noFolder:e?.noFolder,search:(e?.search)?.trim()||void 0,sortBy:e?.sortBy,sortOrder:e?.sortOrder,page:r,limit:i,itemType:e?.itemType||`all`});return C&&(n?.config?.disablePagination?C({current:1,pageSize:a.length||1,total:a.length||0}):o&&C({current:o.page,pageSize:o.limit,total:o.total})),a},[E,n?.config?.disablePagination,C]),O=(0,a.useCallback)(async(e,t,r)=>VL(E,e,t,r,cI(n?.config)),[E,n?.config?.dedupeUploadNamesOnClient]),k=(0,a.useCallback)(async(e,t=!1)=>{var r,i;try{b?.(!0);let t=[];if(!E?.getFiles)return;t=await D(e);let n=e??{folderId:u||``,itemType:`all`};n.itemType!==`file`&&(t=await NR(t,n,E?.getFolders)),(u||``)!==`Trash`&&(t=t.filter(e=>!(e.isFolder&&e.id===`Trash`))),y?.(t),Tz(n.folderId)===Tz(u)&&(v.current={selectedFolder:u??null,pathHistory:(Array.isArray(m)?m:[]).map(e=>Object.assign({},e))})}catch(a){if(a?.name===`StaleLoad`)return;let l=WR(a),d=l?.status===404||l?.code===`FileNotFound`||l?.code===`path_folder_not_found`;if(!t&&d){let t=ZR(a,m||[]);try{await QR({options:n,pathFolder:t,dataProviders:n?.dataProviders}),await k(e,!0);return}catch{}}if(d&&w&&T){let t=Array.isArray(m)?m:[];if(t.length>1){let n=t.slice(0,-1),r=n[n.length-1]?.id??`folders`;T(n),w(r),await o(),c.success({id:`FOLDER_NOT_FOUND_NAVIGATE`,message:s(`Folder not found`),description:s(`Navigated to parent folder`),placement:`bottomRight`}),await k(Object.assign(Object.assign({},e),{folderId:r}),!1);return}T([{id:`folders`,name:s(`Folders`)}]),w(`folders`),await o(),c.success({id:`FOLDER_NOT_FOUND_NAVIGATE`,message:s(`Folder not found`),description:s(`Navigated to root folder`),placement:`bottomRight`}),await k(Object.assign(Object.assign({},e),{folderId:`folders`}),!1);return}let f=v.current;if(f&&w&&T){let e=Array.isArray(m)?m:[],t=(f.selectedFolder??null)===(u??null),a=(r=f.pathHistory,i=e,r.length===i.length&&r.every((e,t)=>e.id===i[t]?.id));t&&a||(w(f.selectedFolder),T(f.pathHistory.map(e=>Object.assign({},e))),n.onPathChange&&n.onPathChange(f.pathHistory.map(e=>e.name)))}let p=HR(l?.code,s),g=e??{folderId:u||``,itemType:`all`},_=g.folderId!==void 0&&g.folderId!==``?g.folderId:u||``,y=Array.isArray(m)?m.map(e=>Object.assign({},e)):[],b=g.folderName?.trim(),x=b&&b.length>0?b:await gz({folderId:_,dataProviders:E,folders:Array.isArray(h)?h:[],pathHistory:y,t:s}),S=s(`Failed to load files`),C=s(`Failed to load files in folder`,{folderName:x}),D=p&&p!==S?p:void 0;c.error({id:`FILES_FETCH_FAILED`,message:C,description:D,placement:`bottomRight`,innerException:a,notificationDedupe:!0,data:{params:Object.assign(Object.assign({},g),{folderName:x}),folderName:x}})}finally{b?.(!1)}},[E,y,b,w,T,D,o,u,h,c,s,m,n]),A=(0,a.useCallback)(e=>k(e),[k]),j=(0,a.useCallback)(async(e,t)=>{if(!E?.findFileByUrl)return null;let n=vz(e);try{return await E.findFileByUrl(n)??null}catch{return null}},[E]),M=(0,a.useCallback)(async(e,t)=>{rz(e,s);let r=vz(e),i=await j(r,t);if(i)return{kind:`existing`,file:i,normalizedUrl:r};let a,o;try{let e=await bz(r,{fetchWithProxy:n?.config?.fetchWithProxy,handleFileProxy:n?.config?.handleFileProxy,handleProxyUrl:n?.config?.handleProxyUrl},Ez,e=>Dz(e,s));a=e.blob,o=e.mimeType}catch(e){throw e instanceof Q||e instanceof Error?e:new Q(s(`Failed to download file from the URL.`),`UploadUrlDownloadFailed`)}let c=UF(o),l=wz(r)||`uploaded-file`,u=l.replace(/\.[^.]+$/,``)||`uploaded-file`;return{kind:`blob`,blob:a,normalizedUrl:r,mimeType:o,extension:c,fileName:oI(l.includes(`.`)?l:`${u}.${c}`,n?.config)}},[j,n?.config,s]),N=(0,a.useCallback)(async(e,t)=>{rz(e,s);let r=vz(e);try{let e=await M(r,t);return e.kind===`existing`?e.file:{thumbnail:await Cz(e.blob),name:e.fileName,type:e.mimeType,extension:e.extension,size:e.blob.size,sourceUrl:e.normalizedUrl,saveWithoutFolder:!0}}catch(e){let o=e;if(E?.uploadFileByUrl)try{let e=u??``,t=await O(oI(wz(r)||`uploaded-file`,n?.config),e,!1),i=await E.uploadFileByUrl({url:r,folderId:e,name:t,eventSource:`pixie`}),a=Dz((i?.id&&E.getFileData?await E.getFileData(i.id):void 0)??(i?.url?await Ez(i.url):i?.thumbnailUrl?await Ez(i.thumbnailUrl):i?.sourceUrl?await Ez(i.sourceUrl):void 0),s),o=await Cz(a.blob);return Object.assign(Object.assign({},i),{thumbnail:o,type:i.type||a.mimeType,extension:i.extension||UF(a.mimeType),size:i.size??a.blob.size,sourceUrl:i.sourceUrl||r})}catch(e){o=e}let l=WR(o),d=(i=l?.code,a=`UploadUrlDownloadFailed`,typeof i==`string`?i:a),f=o instanceof Q?o:new Q(HR(d,s)??l?.message??s(`Failed to download file from the URL.`),d,l?.status);throw f.notificationShown=!0,await c.error({id:`EDITOR_PROXY_FILE_FAILED`,message:f.message,placement:`bottomRight`,data:{url:r,folderId:u||null,error:l,eventSource:`pixie`},innerException:o},t),f}var i,a},[E,c,n?.config,M,O,u,s]),P=(0,a.useCallback)(async e=>{let t=g.current;try{await l({items:[{id:e,isFolder:_.current.find(t=>t.id===e)?.isFolder}],selectedFolder:u,getItemNameById:e=>e?p.find(t=>t.id===e)?.name:void 0,showNotifications:!0});let n=Object.assign({},t),a=t.current;p.length===1&&(a=n.current>1?n.current-1:1),await A({folderId:u||``,page:a,limit:t.pageSize,sortBy:r,sortOrder:i})}catch(t){let n=t;n!=null&&n.notificationShown||c.error({id:`FILES_DELETE_ERROR`,message:s(`Error when deleting a file`),placement:`bottomRight`,innerException:t,data:{failCount:1,totalCount:1,itemIds:[e],folderId:u||null,errors:[{itemId:e,error:WR(t)}]}})}},[l,A,u,s,c,p,r,i]),F=(0,a.useCallback)(async e=>{try{let t=g.current;if(!E?.deleteFolder)return void c.error({id:`FOLDER_DELETE_ERROR`,message:s(`DataProvider for folder deletion is not configured`),placement:`bottomRight`,data:{totalCount:1,failCount:1,itemIds:[e],folderId:e}});if(!await E.deleteFolder(e)){let e=Error(`Не удалось удалить папку`);throw e.notificationShown=!1,e}c.success({id:`FOLDER_DELETE_SUCCESS`,message:s(`Folder deleted`),placement:`bottomRight`,data:{successCount:1,totalCount:1,itemIds:[e],folderId:e}}),u===e?await A({page:t.current,limit:t.pageSize,sortBy:r,sortOrder:i}):await A({folderId:u||``,sortBy:r,sortOrder:i,page:t.current,limit:t.pageSize})}catch(t){let n=t;n!=null&&n.notificationShown||c.error({id:`FOLDER_DELETE_ERROR`,message:s(`Error when deleting a folder`),innerException:t,placement:`bottomRight`,data:{totalCount:1,failCount:1,itemIds:[e],folderId:e,errors:[{itemId:e,error:WR(t)}]}})}},[E,u,c,s,A,r,i]),I=(0,a.useCallback)(async(e,t)=>{try{if(E?.getFileData){let t=await E.getFileData(e);if(t)return t;throw Error(s(`Failed to download file`))}{let t=await fetch(`/api/files/${e}/content`);if(!t.ok)throw Error(s(`Error loading image`));return await t.blob()}}catch(n){let r=_.current.find(t=>t.id===e);t||c.error({id:`FILE_DOWNLOAD_FAILED`,message:s(`Failed to download file`),placement:`bottomRight`,description:r?.name||e,innerException:n,notificationDedupe:!1,data:{itemId:e,itemName:r?.name||e,folderId:r?.folderId??null,thumbnail:r?.thumbnail??null}},t)}},[E,c,s]),L=(0,a.useCallback)(async(t,r,i,a)=>{if((a?``:r??(u||``))===`Trash`)throw Error(s(`Upload to Trash is forbidden`));let o=oI(t.name,n?.config),l=o.split(`.`).pop()||``,d=a?``:r??(u||``),f=t;try{if(GF(t)){let e=n?.config?.compressMaxSize??az.MAX_SIZE_MB,r=n?.config?.compressMaxWidthOrHeight??2e3,i=n?.config?.compessorUrl??n?.config?.compressorUrl,a=t.type?.trim()||WF(t.name)||t.type;f=await hz(t,{maxSizeMB:e,maxWidthOrHeight:r,mimeType:a,fileName:o,libURL:i,enableCompression:xz(a),convertSvgToPng:!0})}else f=Sz(t,o)}catch{f=Sz(t,o)}let p=f.name,m=cI(n?.config);m&&(p=await O(p,d,a)),m&&(f=Sz(f,p));try{if(E?.uploadFiles)try{let n=await E.uploadFiles({items:[{name:p,size:f.size,type:f.type||t.type,folderId:d,data:f,extension:l,noFolder:a}],folderId:d});if(n.success&&n.detailed&&n.detailed.length>0){let r=n.detailed[0];if(!r.success||!r.data){if(!i){let e=r?.error?String(r.error):s(`Failed to upload file`);c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:e,placement:`bottomRight`,description:o,innerException:r?.error,data:{itemName:o,folderId:d||null,eventSource:`upload`}})}S&&S(vF);return}{let n=r.data;if(n.id){let r=(n.folderId??d)||void 0;await A({folderId:r??u??``,noFolder:a});let i=e.files.find(e=>e.id===n.id);if(!i)try{i=(await D({folderId:r,noFolder:a,itemType:`all`})).find(e=>e.id===n.id)}catch{}return S&&S(vF),i||Object.assign(Object.assign({},n),{id:n.id,name:n.name||o,folderId:n.folderId??d??null,type:f.type||t.type,size:f.size,extension:l||o.split(`.`).pop()||``,thumbnail:n.thumbnail??void 0,url:n.url??void 0,thumbnailUrl:n.thumbnailUrl??void 0,isFolder:!1,selected:!1})}}}else if(!n.success){if(!i){let e=n.error?String(n.error):s(`Failed to upload file`);c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:e,placement:`bottomRight`,description:o,innerException:n.error,data:{itemName:o,folderId:d||null,eventSource:`upload`}})}S&&S(vF);return}S&&S(vF);return}catch(e){throw e}if(E?.uploadFile){let e=await E.uploadFile({name:p,size:f.size,type:f.type||t.type,folderId:d,noFolder:a,data:f,extension:l});return S&&S(vF),e}i||c.error({id:`FILES_UPLOAD_PROVIDER_NOT_CONFIGURED`,message:s(`DataProvider for file upload is not configured`),placement:`bottomRight`});return}catch(e){let t=HR(WR(e)?.code,s);i||c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:t??s(`Failed to upload file`),placement:`bottomRight`,description:o,innerException:e,data:{itemName:o,folderId:d||null,error:WR(e),eventSource:`upload`}});return}},[E,u,S,e.files,A,D,c,s,n?.config]),ee=(0,a.useCallback)(async(e,t)=>{if(!E?.getFolders||!E?.createFolder)return e||``;try{let n=await E.getFolders(),r=Array.isArray(n)?n:[],i=(e,t)=>r.find(n=>(n.parentId??null)===(e??null)&&n.name===t),a=e??``;for(let e of t){if(!e)continue;let t=i(a,e);if(!t){let n=await E.createFolder({name:e,parentId:a??null});r.push(n),t=n}a=t.id}return a??(e||``)}catch{return e||``}},[E]),R=(0,a.useCallback)(async(e,t)=>{var n;if(!((n=e.type)?.startsWith)?.call(n,`image/`))return t??null;let r=e?.webkitRelativePath,i=t||``;if(r&&r.includes(`/`)){let e=r.split(`/`);e.pop();let n=e.filter(Boolean);n.length&&(i=await ee(t||``,n)||t||``)}return i??t??null},[ee]);(0,a.useCallback)(async e=>{var t,n,r,i,a;let{file:o,selectedFolderId:s,uploadFn:c,progressCallbacks:l}=e;if(!((t=o.type)?.startsWith)?.call(t,`image/`))return{success:!0,fileName:o.name,folderId:s??null};let u=await R(o,s)??s??null??s??null,d;(n=l?.onStart)==null||n.call(l,o);try{if(l?.onProgress){let e=0;d=window.setInterval(()=>{var t;e=Math.min(e+10+Math.floor(Date.now()%10),90),(t=l?.onProgress)==null||t.call(l,o.name,e)},200)}let e=await c(o,u??void 0);return l!=null&&l.onProgress&&((r=l?.onProgress)==null||r.call(l,o.name,100)),(i=l?.onComplete)==null||i.call(l,o.name),{success:!0,fileName:o.name,fileId:e?.id,folderId:e?.folderId??u??null}}catch(e){let t=e instanceof Error?e.message:String(e);return(a=l?.onError)==null||a.call(l,o.name,t),{success:!1,fileName:o.name,folderId:u??s??null,error:t}}finally{d!==void 0&&clearInterval(d)}},[R]);let te=(0,a.useCallback)(async(e,t)=>{var r,i,a;if(e.length===0)return{successCount:0,failCount:0,successes:[],errors:[],totalCount:0};(r=t?.onStartBatch)==null||r.call(t,e);let o=e=>{let t=e.filter(Boolean);return t.length>0&&t.length<=5?t.join(`, `):null},l=[];for(let r=0;r<e.length;r++){let o=e[r];if(!GF(o)){let e=await c.warning({id:`FILES_UPLOAD_UNSUPPORTED_TYPE`,message:s(`Unsupported file type`),placement:`bottomRight`,data:{itemName:o.name,fileType:o.type,folderId:u||null}});(i=t?.onError)==null||i.call(t,o.name,e.message);continue}let d=oI(o.name,n?.config),f=o;try{if(GF(o)){let e=n?.config?.compressMaxSize??az.MAX_SIZE_MB,t=n?.config?.compressMaxWidthOrHeight??2e3,r=n?.config?.compessorUrl??n?.config?.compressorUrl,i=o.type?.trim()||WF(o.name)||o.type;f=await hz(o,{maxSizeMB:e,maxWidthOrHeight:t,mimeType:i,fileName:d,libURL:r,enableCompression:xz(i),convertSvgToPng:!0})}else f=Sz(o,d)}catch{f=Sz(o,d)}let p=`${Date.now()}-${r}-${Math.random().toString(36).slice(2,8)}`,m=await R(f,u);(a=t?.onStart)==null||a.call(t,f),l.push({file:f,targetFolderId:m,requestId:p,originalFileName:o.name,originalIndex:r})}let d=l.length;if(d===0)return{successCount:0,failCount:0,successes:[],errors:[],totalCount:0};let f=cI(n?.config),p=new Map;if(f&&E?.getFiles){let e=[...new Set(l.map(e=>e.targetFolderId??u??``).filter(e=>e!=null))];for(let t of e)try{let{files:e}=await E.getFiles({folderId:t===``?``:t??void 0,itemType:`all`,page:1,limit:1e4}),n=(e||[]).map(e=>e.name).filter(e=>!!e);if(E?.getFolders){let e=(await E.getFolders({parentId:t||null,deep:!1})||[]).map(e=>e.name).filter(e=>!!e);n=[...n,...e]}p.set(t,n)}catch{}}let m=new Map,h=l.map(e=>{let t=f?((e,t)=>{let n=e??``,r=p.get(n)||[],i=m.get(n);i||(i=new Set(r.map(e=>e.toLowerCase())),m.set(n,i));let a=BL(t,Array.from(i));return i.add(a.toLowerCase()),a})(e.targetFolderId,e.file.name):e.file.name,n=f?Sz(e.file,t):e.file;return Object.assign(Object.assign({},e),{resolvedUploadName:t,uploadFile:n})}),g=!t,_=d===1&&g,v=[],y=[],b=[],x=[],C=new Map,w=0,T=0,D=n?.config?.maxFileSize??52428800,O=async(e,n,r,i)=>{var a,o;let{emitProgress:l=!0,emitNotification:d=!0}=i??{};w++,v.push(e),y.push(r??e),await((e,t,n,r)=>c.success({id:`FILE_UPLOAD_ITEM_SUCCESS`,message:`${s(`File`)} ${e} ${s(`has been successfully uploaded`)}`,placement:`bottomRight`,data:{itemId:n,itemName:e,folderId:t??u??null,eventSource:`upload`}},r||!g))(e,n,r,!d),l&&((a=t?.onProgress)==null||a.call(t,e,100),(o=t?.onComplete)==null||o.call(t,e))},k=async(e,n,r,i)=>{var a;let{emitProgress:o=!0,emitNotification:l=!0,fileSize:d,progressCallbackName:f,progressCallbackIndex:p}=i??{};T++;let m=await((e,t,n,r,i)=>{let a=WR(n),o=i?.fileSize??a?.fileSize,l=i?.maxSize??a?.maxSize??D,d={allowedChars:`a-z A-Z 0-9 . _ -`,fileSize:o==null?void 0:LL(Number(o)),maxSize:l==null?void 0:LL(Number(l))},f=a?.code,p=f===`BatchItemLimitExceeded`||f===`exceeded_max_files`?f:UR(a?.message)??f,m=p===`BatchItemLimitExceeded`||p===`exceeded_max_files`?GR(n,s):HR(p,s,d),h=a?.message&&typeof a.message==`string`&&a.message.length>0?a.message:null,_=n instanceof Error?n.message:typeof n==`string`?n:null,v=_&&_!==`[object Object]`?_:null;return c.error({id:`FILE_UPLOAD_ITEM_FAILED`,message:h??m??v??s(`Error uploading file {{fileName}}`,{fileName:e}),placement:`bottomRight`,data:{itemName:e,folderId:t??u??null,error:WR(n),eventSource:`upload`},innerException:n},r||!g)})(e,n,r,!l,d==null?void 0:{fileSize:d,maxSize:D});o&&((a=t?.onError)==null||a.call(t,f??e,m.message,p)),x.push({itemId:void 0,itemName:e,error:WR(r)}),b.push({fileName:e,error:m.message})},A;if(!E?.uploadFiles)return c.error({id:`FILES_UPLOAD_PROVIDER_NOT_CONFIGURED`,message:s(`DataProvider for file upload is not configured`),placement:`bottomRight`}),{successCount:0,failCount:d,successes:[],errors:[],totalCount:d};{let e=[];try{t!=null&&t.onProgress&&l.forEach(n=>{let r=0,i=window.setInterval(()=>{var e;r=Math.min(r+10+Math.floor(Date.now()%10),90),(e=t?.onProgress)==null||e.call(t,n.file.name,r)},200);e.push(i)}),A=await E.uploadFiles({items:h.map(e=>({requestId:e.requestId,name:e.resolvedUploadName,size:e.uploadFile.size,type:e.uploadFile.type,folderId:e.targetFolderId??u??null,data:e.uploadFile,extension:e.uploadFile.name.split(`.`).pop()||``})),folderId:u??null}),e.forEach(e=>window.clearInterval(e)),e.length=0;let n=A.detailed??[],r=new Map(n.filter(e=>e.requestId).map(e=>[e.requestId,e]));if(n.length>0)for(let e=0;e<h.length;e++){let t=h[e],i=(t.requestId?r.get(t.requestId):void 0)??n[e];if(i&&i.success){let e=i.data,n=e?.name??t.resolvedUploadName,r=e?.folderId??t.targetFolderId??u??null,a=e?.id;C.set(n,{id:a,name:n,folderId:r,size:e?.size,originalFileName:t.originalFileName,originalIndex:t.originalIndex}),await O(n,r,a,{emitNotification:_})}else{let e=i?.data;await k(e?.name??t.resolvedUploadName,e?.folderId??t.targetFolderId??u??null,i?.error??Error(s(`Error uploading file`)),{emitNotification:_,fileSize:t.file.size,progressCallbackName:t.originalFileName,progressCallbackIndex:t.originalIndex})}}else if(A.success)for(let e of h){let t=e.resolvedUploadName;await O(t,e.targetFolderId??u??null,void 0,{emitNotification:_})}else{let e=A.error??Error(s(`Error uploading file`));for(let t of h){let n=t.resolvedUploadName;await k(n,t.targetFolderId??u??null,e,{emitNotification:_,fileSize:t.file.size,progressCallbackName:t.originalFileName,progressCallbackIndex:t.originalIndex})}}}catch(e){for(let t of h){let n=t.resolvedUploadName;await k(n,t.targetFolderId??u??null,e??Error(s(`Error uploading file`)),{emitNotification:_,fileSize:t.file.size,progressCallbackName:t.originalFileName,progressCallbackIndex:t.originalIndex})}}finally{e.forEach(e=>window.clearInterval(e))}}if(w>0&&(S&&S(vF),d>1&&g)){let e=o(v),t=e?s(`Uploaded`,{names:e}):s(`uploads_success_summary`,{successCount:w,totalCount:d});c.success({id:`FILES_UPLOAD_BATCH_SUCCESS`,message:t,placement:`bottomRight`,data:{successCount:w,totalCount:d,itemIds:y,itemNames:v,folderId:u??null,eventSource:`upload`}})}if(T>0&&g&&!_){if(d>1){let e=b.map(e=>e.fileName),t=o(e),n=t?s(`Failed`,{names:t}):s(`uploads_fail_summary`,{failCount:T,totalCount:d});c.error({id:`FILES_UPLOAD_BATCH_FAILED`,message:n,placement:`bottomRight`,data:{failCount:T,totalCount:d,itemNames:e,folderId:u??null,errors:x,eventSource:`upload`}})}else if(d===1&&x.length>0&&x[0].error?.code){let e=HR(x[0].error?.code,s),t=b[0]?.fileName??``,n=e??(t?`${s(`Failed to upload files`)}: ${t}`:s(`Failed to upload files`));c.error({id:`FILES_UPLOAD_BATCH_FAILED`,message:n,placement:`bottomRight`,data:{failCount:T,totalCount:d,itemNames:[t],folderId:u??null,errors:x,eventSource:`upload`}})}}return{successCount:w,failCount:T,successes:v,errors:b,totalCount:d,uploadedFiles:C.size>0?C:void 0}},[E,n?.config?.dedupeUploadNamesOnClient,c,R,u,S,s,n?.config]);return{fetchFiles:A,handleDeleteFile:P,handleDeleteFolder:F,handleAddFile:(0,a.useCallback)(async e=>{if(!E?.uploadFiles)return void c.error({id:`FILES_UPLOAD_PROVIDER_NOT_CONFIGURED`,message:s(`DataProvider for file upload is not configured`),placement:`bottomRight`});if(u===`Trash`)return void c.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:s(`Cannot upload files to Trash`),placement:`bottomRight`,data:{folderId:u||null,reason:`Upload to Trash is not allowed`}});let t=g.current,a=document.createElement(`input`);a.type=`file`,a.accept=`image/*`,a.multiple=!0;try{!(!n?.config?.features||!n.config.features.enableDirectoryUpload)&&(a.webkitdirectory=!0)}catch{}a.onchange=async n=>{var a;let s=n.target.files;if(!s||s.length===0)return;let c=Array.from(s);try{b?.(!0);let{successes:n,errors:s,uploadedFiles:l}=await te(c,e);(a=e?.onBatchComplete)==null||a.call(e,{files:c,successes:n,errors:s,uploadedFiles:l}),await o(),await A({folderId:u||``,sortBy:r,sortOrder:i,page:t.current,limit:t.pageSize})}catch{}finally{b?.(!1)}},a.click()},[E?.uploadFiles,u,c,s,b,A,o,r,i,te,n?.config?.features]),handleAddFileByUrl:(0,a.useCallback)(async(e,t,a,o=`uploadByUrl`)=>{let l=g.current,f=!!(e&&String(e).trim()),p,m=e??null;try{if(!t&&u===`Trash`)throw a||c.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:s(`Cannot upload files to Trash`),placement:`bottomRight`,data:{folderId:u||null,reason:`Upload to Trash is not allowed`}}),new Q(s(`Cannot upload files to Trash`),`UploadUrlDownloadFailed`);let e,h;if(!m&&d&&(e=await d.validateFields(),m=e?.fileUrl),!m)throw a||c.error({id:`FILES_UPLOAD_URL_VALIDATION_FAILED`,message:s(`Please fill in all fields`),placement:`bottomRight`,data:{url:m??null,folderId:u||null,eventSource:o}}),new Q(s(`Please fill in all fields`),`UploadUrlInvalid`);if(rz(m,s),m=vz(m),b?.(!0),m){let e=m.split(`?`)[0].split(`#`)[0].split(`/`);h=e[e.length-1]||`uploaded-file`,h=oI(h,n?.config)}let g=t?``:u||``,_=!!(E?.uploadFiles||E?.uploadFile),v=!!E?.uploadFileByUrl,y=h;y&&v&&(y=await O(y,g,t));try{let e=await M(m,a);if(e.kind===`existing`)p=e.file;else if(_){let n=new File([e.blob],e.fileName,{type:e.mimeType,lastModified:Date.now()});try{p=await L(n,g,!0,t)}catch(e){throw e.uploadUrlStage=`binaryUpload`,e}if(!p){let e=new Q(s(`Failed to upload file`),`FileUploadBackendError`);throw e.uploadUrlStage=`binaryUpload`,e}}else{if(!v)throw a||c.error({id:`FILES_UPLOAD_URL_NOT_SUPPORTED`,message:s(`Upload by URL is not supported`),placement:`bottomRight`,data:{url:m,folderId:u||null,eventSource:o}}),new Q(s(`Upload by URL is not supported`),`UploadUrlDownloadFailed`);p=await E.uploadFileByUrl({url:m,folderId:u||``,noFolder:t,name:y,eventSource:o})}}catch(e){if(e?.uploadUrlStage===`binaryUpload`||!v)throw e;p=await E.uploadFileByUrl({url:m,folderId:u||``,noFolder:t,name:y,eventSource:o})}let C=e?.name||p?.name||`unnamed file`;return p&&c.success({id:`FILE_UPLOAD_ITEM_SUCCESS`,message:`${s(`File`)} ${C} ${s(`successfully uploaded`)}`,placement:`bottomRight`,data:{itemName:C,itemId:p?.id,folderId:u||null,eventSource:o}},a),(e||f)&&(x?.(!1),d?.resetFields()),S&&S(vF),await A({folderId:u||``,noFolder:t,sortBy:r,sortOrder:i,page:l.current,limit:l.pageSize}),p}catch(e){if(!a){let t=WR(e),n=t,r=e,i=Number(n?.fileSize),a=Number(n?.maxSize),l=Number.isFinite(i)&&Number.isFinite(a)?{fileSize:i,maxSize:a}:void 0,d=r?.uploadUrlStage===`binaryUpload`?GR(t,s,l):JR(t,s);c.error({id:`FILES_UPLOAD_BY_URL_FAILED`,message:d,placement:`bottomRight`,data:{url:m??null,folderId:u||null,error:t,eventSource:o},innerException:e})}throw e}finally{b?.(!1)}},[d,b,E,c,s,x,S,A,u,r,i,O,M,L,n?.config]),handleDroppedFiles:(0,a.useCallback)(async e=>{if(!e.length)return;let t=g.current;u===`Trash`?c.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:s(`Cannot upload files to Trash`),placement:`bottomRight`,data:{folderId:u||null,reason:`Upload to Trash is not allowed`}}):(await te(e),await A({folderId:u||``,sortBy:r,sortOrder:i,page:t.current,limit:t.pageSize}))},[A,u,r,i,te,c,s]),getFileData:I,findFileByUrl:j,resolveFileForEditByUrl:N,uploadFileWithProvider:L}},kz=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},Az=e=>e,jz=e=>{let t=(e=>e?kz(e):kz)(e),n=e=>function(e,t=Az){let n=a.default.useSyncExternalStore(e.subscribe,a.default.useCallback(()=>t(e.getState()),[e,t]),a.default.useCallback(()=>t(e.getInitialState()),[e,t]));return a.default.useDebugValue(n),n}(t,e);return Object.assign(n,t),n};function Mz(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}var Nz=(Pz=e=>({selectedFiles:new Set,visibleFileIds:[],anchorId:null,multiSelect:!0,setMultiSelect:t=>{e(e=>{if(e.multiSelect===t)return e;if(t)return{multiSelect:!0};let n=Array.from(e.selectedFiles)[0]??null;return{multiSelect:!1,selectedFiles:n?new Set([n]):new Set,anchorId:n}})},syncVisibleFiles:t=>{let n=Array.isArray(t)?t.map(e=>e.id):[];e(e=>{let t=new Set(n),r=new Set(Array.from(e.selectedFiles).filter(e=>t.has(e))),i=e.anchorId&&t.has(e.anchorId)?e.anchorId:null,a=function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}(e.visibleFileIds,n),o=Mz(e.selectedFiles,r),s=e.anchorId===i;return a&&o&&s?e:{visibleFileIds:n,selectedFiles:r,anchorId:i}})},setSelectedFiles:t=>{e(e=>{let n=new Set(e.visibleFileIds),r=new Set(Array.from(t).filter(e=>n.has(e)));return Mz(e.selectedFiles,r)?e:{selectedFiles:r,anchorId:Array.from(r)[0]??null}})},clearSelection:()=>{e(e=>e.selectedFiles.size===0&&e.anchorId===null?e:{selectedFiles:new Set,anchorId:null})},selectAllVisible:()=>{e(e=>{let t=new Set(e.visibleFileIds),n=e.visibleFileIds[0]??null;return Mz(e.selectedFiles,t)&&e.anchorId===n?e:{selectedFiles:t,anchorId:n}})},toggleFileSelection:(t,n)=>{e(e=>{let r=!1!==e.multiSelect,i=!!n?.shiftKey&&r,a=!!n?.metaKey||!!n?.ctrlKey||!!n?.forceToggle,o=e.visibleFileIds,s=new Set(o);if(o.length>0&&!s.has(t))return e;if(!r){let n=new Set([t]);return Mz(e.selectedFiles,n)&&e.anchorId===t?e:{selectedFiles:n,anchorId:t}}if(i&&e.anchorId&&s.has(e.anchorId)){let n=o.indexOf(e.anchorId),r=o.indexOf(t);if(n===-1||r===-1)return e;let[i,s]=n<r?[n,r]:[r,n],c=o.slice(i,s+1),l=a?new Set(e.selectedFiles):new Set;return c.forEach(e=>{l.add(e)}),Mz(e.selectedFiles,l)?e:{selectedFiles:l}}if(i&&!e.anchorId){let n=new Set([t]);return Mz(e.selectedFiles,n)&&e.anchorId===t?e:{selectedFiles:n,anchorId:t}}if(a){let n=new Set(e.selectedFiles);return n.has(t)?n.delete(t):n.add(t),Mz(e.selectedFiles,n)&&e.anchorId===t?e:{selectedFiles:n,anchorId:t}}let c=new Set([t]);return Mz(e.selectedFiles,c)&&e.anchorId===t?e:{selectedFiles:c,anchorId:t}})}}),Pz?jz(Pz):jz),Pz,Fz=e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=$R(),s=RR(),{fetchFolders:c}=o.actions,{renameItem:l}=(()=>{let{options:e}=yR(),{dataProviders:t}=e,{t:n}=gL();return{renameItem:(0,a.useCallback)(async({itemId:r,newName:i,isFolder:a})=>{try{if(a){if(!t?.renameFolder)throw Error(n(`renameFolder is not implemented in dataProviders`));let a=sI(i.trim(),e.config),o=await t.renameFolder(r,a);return{success:!0,renamedItem:{id:o.id,name:o.name??a,parentId:o.parentId??null,folderId:o.parentId??null}}}if(!t?.renameFile)throw Error(n(`renameFile is not implemented in dataProviders`));let o=oI(i,e.config),s=await t.renameFile(r,o);return{success:!0,renamedItem:{id:s?.id??r,name:s?.name??o,folderId:s?.folderId??null,parentId:s?.parentId??s?.folderId??null}}}catch(e){return{success:!1,error:WR(e)}}},[t,n,e.config])}})(),{files:u,selectedFolder:d,fileToRename:f,renameForm:p,isRenameModalVisible:m,pagination:h}=t,{setFileToRename:g,setIsRenameModalVisible:_}=n,{dataProviders:v,config:y}=r,b=e=>{if(!e)return null;let t=e;return t.folderId??t.parentId??null},x=(e,t)=>({itemId:e?.id??t,itemName:e?.name,folderId:b(e)}),S=(0,a.useCallback)(e=>{let t=u?.find(t=>t.id===e);if(t?.isFolder||e.startsWith(`folder_`)){if(!1===y?.features?.enableRenameFolder)return void s.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:i(`Folder rename is disabled by config`),placement:`bottomRight`,data:x(t,e)});if(!v?.renameFolder)throw Error(i(`renameFolder is not implemented in dataProviders`))}else{if(!1===y?.features?.enableRenameFile)return void s.error({id:`FILE_RENAME_DISABLED_BY_CONFIG`,message:i(`File rename is disabled by config`),placement:`bottomRight`,data:x(t,e)});if(!v?.renameFile)throw Error(i(`renameFile is not implemented in dataProviders`))}g?.(e),_?.(!0),t&&p&&p.setFieldsValue({newFileName:t.name})},[u,g,_,p,y?.features?.enableRenameFolder,y?.features?.enableRenameFile,v?.renameFolder,v?.renameFile,s,i]),C=(0,a.useCallback)(()=>{_?.(!1),g?.(null),p?.resetFields()},[_,g,p]),w=(0,a.useCallback)(async()=>{if(!f||!p)return;let t=u?.find(e=>e.id===f);try{let r=await p.validateFields();if(!r?.newFileName)return;let a=t?.isFolder||f.startsWith(`folder_`);if(a){if(!1===y?.features?.enableRenameFolder)return void s.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:i(`Folder rename is disabled by config`),placement:`bottomRight`,data:x(t,f)})}else if(!1===y?.features?.enableRenameFile)return void s.error({id:`FILE_RENAME_DISABLED_BY_CONFIG`,message:i(`File rename is disabled by config`),placement:`bottomRight`,data:x(t,f)});let o=await l({itemId:f,newName:r.newFileName,isFolder:a});if(!o.success){let e=HR(o.error?.code,i);s.error({id:`ITEM_RENAME_FAILED`,message:e??o.error?.message??i(`Error renaming`),placement:`bottomRight`,data:Object.assign(Object.assign({},x(t,f)),{error:o.error}),innerException:o.error});return}let u=o.renamedItem;a?(s.success({id:`FOLDER_RENAME_SUCCESS`,message:i(`${i(`Folder renamed to`)} ${u?.name??r.newFileName}`),placement:`bottomRight`,data:{itemId:u?.id??f,itemName:u?.name??r.newFileName,folderId:u?.parentId??u?.folderId??null}}),await c(),u!=null&&u.id&&u.id!==f&&n.setSelectedFolder&&n.setSelectedFolder(u.id)):s.success({id:`FILE_RENAME_SUCCESS`,message:`${i(`File renamed to`)} ${u?.name??r.newFileName}`,placement:`bottomRight`,data:Object.assign(Object.assign({},x(t,f)),{itemName:u?.name??r.newFileName})}),C(),await e({folderId:d||``,page:h.current,limit:h.pageSize})}catch(e){let n=WR(e),r=HR(n?.code,i);s.error({id:`ITEM_RENAME_FAILED`,message:r??(e instanceof Error?e.message:i(`Error renaming`)),placement:`bottomRight`,data:Object.assign(Object.assign({},x(t,f)),{error:n}),innerException:e})}},[f,p,u,n,C,e,d,i,h,y?.features?.enableRenameFolder,y?.features?.enableRenameFile,s,c,l]);return{state:{isRenamingFile:m||!1,fileToRename:f},actions:{showRenameModal:S,handleRenameCancel:C,handleRenameOk:w}}},Iz=e=>{let t=t=>t?e.find(e=>e.id===t)?.name:void 0;return{getItemNameById:t,getItemNamesByIds:e=>e.map(t).filter(e=>!!e),getNamesPreview:e=>e.length>0&&e.length<=5?e.join(`, `):null}},Lz=(e,t,n,r,i)=>({itemIds:e,itemNames:i&&i.length?i:void 0,successCount:t,totalCount:n,folderId:r??null}),Rz=(e,t,n,r,i,a)=>({itemIds:e,itemNames:a&&a.length?a:void 0,failCount:t,totalCount:n,folderId:r??null,errors:i}),zz=()=>{let e=RR(),{t}=gL(),{state:n,options:r}=yR(),{folders:i,pathHistory:o}=n,{dataProviders:s}=r,{actions:{fetchFolders:c,fetchChildFolders:l}}=$R();return{refreshFolders:(0,a.useCallback)(async({parentIds:n,selectedFolder:r})=>{try{if(await c(),n&&l)for(let e of n)e&&await l(e)}catch(n){let r=t(`Folders`);e.error({id:`FOLDERS_FETCH_FAILED`,message:t(`Failed to refresh folder tree`),description:r,placement:`bottomRight`,innerException:n,notificationDedupe:!0,data:{folderId:null,folderName:r,reason:n instanceof Error?n.message:String(n)}})}},[e,t,c,l]),refreshFiles:(0,a.useCallback)(async({fetchFiles:n,selectedFolder:r,page:a,limit:c})=>{try{await n({folderId:r||``,page:a,limit:c})}catch(n){let l=await gz({folderId:r||``,dataProviders:s,folders:Array.isArray(i)?i:[],pathHistory:o,t}),u=t(`Failed to load files`),d=n instanceof Error?n.message:String(n);e.error({id:`FILES_FETCH_FAILED`,message:t(`Failed to load files in folder`,{folderName:l}),description:d&&d!==u?d:void 0,placement:`bottomRight`,innerException:n,notificationDedupe:!0,data:{params:{folderId:r||void 0,page:a,limit:c,folderName:l},folderName:l}})}},[e,t,s,i,o])}},Bz=e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),s=Nz(e=>e.selectedFiles),c=Nz(e=>e.clearSelection),{files:l,selectedFolder:u,moveForm:d,pagination:f,currentMenuFile:p}=t,{setIsMoveModalVisible:m,setPagination:h}=n,{dataProviders:g}=r,{moveItems:_}=(()=>{let{options:e}=yR(),{dataProviders:t}=e,{t:n}=gL(),r=RR();return{moveItems:(0,a.useCallback)(async({items:e,targetFolderId:i,getItemNameById:a,showNotifications:o=!1})=>{let s=0,c=0,l=[];if(t?.moveItems)try{let n=await t.moveItems(i===`folders`?``:i,e.map(e=>e.id)),r=n.detailed;if(r){let e=r.filter(e=>e.success),t=r.filter(e=>!e.success);s+=e.length,c+=t.length,t.forEach(e=>{let t=(r=(n=e).requestId)??n.id;var n,r;let i=e.error,o=WR(i);l.push({itemId:t,itemName:a(t),error:o})})}else if(n.success)s+=e.length;else{let t=n.error;if(t){c+=e.length;let n=WR(t);l.push({error:n})}else c+=e.length}}catch(t){c+=e.length;let n=WR(t);l.push({error:n})}else c+=e.length,l.push({error:{message:`Move provider is not configured`}});return o&&(s>0&&r.success({id:`FILES_MOVE_SUCCESS`,message:n(`Files moved`),placement:`bottomRight`,data:{successCount:s,totalCount:e.length,itemIds:e.map(e=>e.id),folderId:i===`folders`?null:i}}),c>0&&r.error({id:`FILES_MOVE_ERROR`,message:n(`Errors occurred while moving`),placement:`bottomRight`,innerException:l.length?l:void 0,data:{failCount:c,totalCount:e.length,itemIds:e.map(e=>e.id),errors:l.length?l:void 0}})),{successCount:s,failCount:c,errorDetails:l}},[t,r,n])}})(),{refreshFolders:v,refreshFiles:y}=zz(),{getItemNameById:b,getItemNamesByIds:x,getNamesPreview:S}=Iz(l),C=(0,a.useCallback)(()=>{m?.(!0)},[m]),w=(0,a.useCallback)(()=>{m?.(!1),d?.resetFields()},[m,d]);return{actions:{showMoveModal:C,handleMoveCancel:w,handleMoveOk:(0,a.useCallback)(async t=>{var n,a;if(!(p?.length||s&&s.size!==0))return;let m=l.length,C=Object.assign({},f),T=Array.from(p?.length?[p]:s),E=T.length,D=0,O=0,k=[],A=T.map(e=>l.find(t=>t.id===e)).filter(e=>!!e),j=A.some(e=>e?.isFolder||e.id.startsWith(`folder_`));try{let s=t;if(t||(s=(await d.validateFields())?.targetFolder),!s)return void o.error({id:`FILES_MOVE_DIRECTORY_NOT_SELECTED`,message:i(`Select destination folder`),placement:`bottomRight`});let l=s===`folders`?null:s,f=l??u,p=!0===r?.config?.dedupeUploadNamesOnClient;if(p&&g?.getFolders)try{let e=await g.getFolders({parentId:l,deep:!1}),t=new Set((e||[]).map(e=>e.name?.toLowerCase()).filter(Boolean));for(let e of A){if(!e.isFolder&&!(n=e.id).startsWith?.call(n,`folder_`))continue;let r=e.name||b(e.id)||``;if(r&&t.has(r.toLowerCase()))return void o.error({id:`FOLDER_ALREADY_EXISTS_MOVE`,message:i(`A folder with that name already exists. Please enter a different folder name.`),placement:`bottomRight`,data:{folderName:r,targetFolderId:s}})}}catch{}if(p&&g?.getFiles&&g?.renameFile)try{let e=[];if(g?.getFiles){let{files:t}=await g.getFiles({folderId:l??void 0,itemType:`all`,page:1,limit:1e4});e=(t||[]).map(e=>e.name).filter(e=>!!e)}if(g?.getFolders){let t=(await g.getFolders({parentId:l,deep:!1})||[]).map(e=>e.name).filter(e=>!!e);e=[...e,...t]}let t=new Set(e.map(e=>e?.toLowerCase()).filter(Boolean));for(let e of A){if(e.isFolder||(a=e.id).startsWith?.call(a,`folder_`))continue;let n=e.name||b(e.id)||``;if(!n||!t.has(n.toLowerCase())){t.add(n.toLowerCase());continue}let r=BL(n,Array.from(t));await g.renameFile(e.id,r),t.add(r.toLowerCase())}}catch{}let M=await _({items:A,targetFolderId:s,getItemNameById:b,showNotifications:!1});if(D=M.successCount,O=M.failCount,k.push(...M.errorDetails),D>0){let e=x(T),t=S(e),n=t?i(`Moved`,{names:t}):i(`move_success_summary`,{successCount:D,totalCount:E});o.success({id:`FILES_MOVE_SUCCESS`,message:n,placement:`bottomRight`,data:Lz(T,D,E,l,e)})}if(O>0){let e=x(T),t=S(e),n;n=E===1&&k.length>0&&k[0].error?.code?HR(k[0].error?.code,i)??(t?i(`Failed`,{names:t}):i(`move_fail_summary`,{failCount:O,totalCount:E})):t?i(`Failed`,{names:t}):i(`move_fail_summary`,{failCount:O,totalCount:E}),o.error({id:`FILES_MOVE_ERROR`,message:n,placement:`bottomRight`,innerException:k.length?k:void 0,data:Rz(T,O,E,l,k.length?k:void 0,e)})}w(),c();let N=C.current;if(D>0&&m>0&&D>=m&&C.current>1&&(N=C.current-1),D>0&&C.total>=D){let e=Math.max(0,(C.total??0)-D);h?.({current:N,pageSize:C.pageSize,total:e})}j&&await v({parentIds:void 0,selectedFolder:f}),await y({fetchFiles:e,selectedFolder:u,page:N,limit:C.pageSize})}catch(e){let t=HR(WR(e).code,i);o.error({id:`FILES_MOVE_ERROR`,innerException:e,message:t??i(`Error moving`),placement:`bottomRight`,data:Rz(T,E,E,u||null,[{error:WR(e)}],x(T))})}},[p,s,d,e,u,f,l,o,h,i,_,c,m,r?.config?.dedupeUploadNamesOnClient,g?.getFiles,g?.renameFile,b])}}},Vz=e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),s=Nz(e=>e.selectedFiles),c=Nz(e=>e.clearSelection),{files:l,selectedFolder:u,copyForm:d,pagination:f,currentMenuFile:p}=t,{setIsCopyModalVisible:m}=n,{dataProviders:h}=r,{copyItems:g}=(()=>{let{options:e}=yR(),{dataProviders:t}=e,{t:n}=gL(),r=RR();return{copyItems:(0,a.useCallback)(async({items:e,targetFolderId:i,getItemNameById:a,showNotifications:o=!1})=>{let s=0,c=0,l=[],u=i===`folders`?``:i;if(t?.copyItems)try{let n=await t.copyItems(u,e.map(e=>({id:e.id,newName:e.newName}))),r=n.detailed;if(r){let e=r.filter(e=>e.success),t=r.filter(e=>!e.success);s+=e.length,c+=t.length,t.forEach(e=>{let t=(r=(n=e).requestId)??n.id;var n,r;let i=e.error,o=WR(i);l.push({itemId:t,itemName:a(t),error:o})})}else if(n.success)s+=e.length;else{let t=n.error;if(t){c+=e.length;let n=WR(t);l.push({error:n})}else c+=e.length}}catch(t){c+=e.length;let n=WR(t);l.push({error:n})}else if(t?.copyItem)for(let n of e)try{let e=n?.isFolder||n.id.startsWith(`folder_`);await t.copyItem({itemId:n.id,targetFolderId:u,isFolder:e,newName:n.newName})?s++:c++}catch(e){c++;let t=WR(e);l.push({itemId:n.id,itemName:a(n.id),error:t})}else c+=e.length,l.push({error:{message:`Copy provider is not configured`}});return o&&(s>0&&r.success({id:`FILES_COPY_SUCCESS`,message:n(`Files copied`),placement:`bottomRight`,data:{successCount:s,totalCount:e.length,itemIds:e.map(e=>e.id),folderId:i===`folders`?null:i}}),c>0&&r.error({id:`FILES_COPY_ERROR`,message:n(`Errors occurred while copying`),placement:`bottomRight`,innerException:l.length?l:void 0,data:{failCount:c,totalCount:e.length,itemIds:e.map(e=>e.id),errors:l.length?l:void 0}})),{successCount:s,failCount:c,errorDetails:l}},[t,r,n])}})(),{refreshFolders:_,refreshFiles:v}=zz(),{getItemNameById:y,getItemNamesByIds:b,getNamesPreview:x}=Iz(l),S=(0,a.useCallback)(()=>{m?.(!0)},[m]),C=(0,a.useCallback)(()=>{m?.(!1),d?.resetFields()},[m,d]);return{actions:{showCopyModal:S,handleCopyCancel:C,handleCopyOk:(0,a.useCallback)(async t=>{var n;if(!(p?.length||s&&s.size!==0))return;let a=Array.from(p?.length?[p]:s),m=a.length,S=0,w=0,T=[],E=a.map(e=>l.find(t=>t.id===e)).filter(e=>!!e),D=E.some(e=>e?.isFolder||e.id.startsWith(`folder_`));try{let s=t;if(t||(s=(await d.validateFields())?.targetFolder),!s)return void o.error({id:`FILES_COPY_DIRECTORY_NOT_SELECTED`,message:i(`Select destination folder`),placement:`bottomRight`});let l=s===`folders`?null:s,p=l??u,O=E.map(e=>({id:e.id,isFolder:e?.isFolder||e.id.startsWith(`folder_`)})),k=!0===r?.config?.dedupeUploadNamesOnClient;if(k&&h?.getFolders)try{let e=await h.getFolders({parentId:l,deep:!1}),t=new Set((e||[]).map(e=>e.name?.toLowerCase()).filter(Boolean));for(let e of E){if(!e.isFolder&&!(n=e.id).startsWith?.call(n,`folder_`))continue;let r=e.name||y(e.id)||``;if(r&&t.has(r.toLowerCase()))return void o.error({id:`FOLDER_ALREADY_EXISTS_COPY`,message:i(`A folder with that name already exists. Please enter a different folder name.`),placement:`bottomRight`,data:{folderName:r,targetFolderId:s}})}}catch{}if(k&&h?.getFiles)try{let e=[],{files:t}=await h.getFiles({folderId:l??void 0,itemType:`all`,page:1,limit:1e4});if(e=(t||[]).map(e=>e.name).filter(e=>!!e),h?.getFolders){let t=(await h.getFolders({parentId:l,deep:!1})||[]).map(e=>e.name).filter(e=>!!e);e=[...e,...t]}let n=[...e];O=E.map(e=>{var t;if(e.isFolder||(t=e.id).startsWith?.call(t,`folder_`))return{id:e.id,isFolder:!0};let r=E.find(t=>t.id===e.id)?.name||y(e.id)||``,i=BL(r,n);return n.push(i),{id:e.id,isFolder:!1,newName:i===r?void 0:i}})}catch{}else O=E.map(e=>({id:e.id,isFolder:e?.isFolder||e.id.startsWith(`folder_`)}));let A=await g({items:O,targetFolderId:s,getItemNameById:y,showNotifications:!1});if(S=A.successCount,w=A.failCount,T.push(...A.errorDetails),S>0){let e=b(a),t=x(e),n=t?i(`Copied`,{names:t}):i(`copy_success_summary`,{successCount:S,totalCount:m});o.success({id:`FILES_COPY_SUCCESS`,message:n,placement:`bottomRight`,data:Lz(a,S,m,l,e)})}if(w>0){let e=b(a),t=x(e),n;n=m===1&&T.length>0&&T[0].error?.code?HR(T[0].error?.code,i)??(t?i(`Failed`,{names:t}):i(`copy_fail_summary`,{failCount:w,totalCount:m})):t?i(`Failed`,{names:t}):i(`copy_fail_summary`,{failCount:w,totalCount:m}),o.error({id:`FILES_COPY_ERROR`,message:n,placement:`bottomRight`,innerException:T.length?T:void 0,data:Rz(a,w,m,l,T.length?T:void 0,e)})}C(),c(),D&&await _({parentIds:void 0,selectedFolder:p}),await v({fetchFiles:e,selectedFolder:u,page:f.current,limit:f.pageSize})}catch(e){let t=HR(WR(e).code,i);o.error({id:`FILES_COPY_ERROR`,message:t??i(`Error copying`),innerException:e,placement:`bottomRight`,data:Rz(a,m,m,u||null,[{error:WR(e)}],b(a))})}},[p,s,d,e,u,f,l,o,i,g,c,m,r?.config?.dedupeUploadNamesOnClient,h?.getFiles,y])}}},Hz=e=>{let t=Fz(e),n=Bz(e),r=Vz(e),i=(e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),s=Nz(e=>e.selectedFiles),c=Nz(e=>e.clearSelection),{files:l,selectedFolder:u,pagination:d,currentMenuFile:f}=t,{setIsDeleteConfirmVisible:p,setUndoDeletion:m,setPagination:h}=n,{config:g}=r,{deleteItems:_}=ez(),{refreshFolders:v,refreshFiles:y}=zz(),{getItemNameById:b,getItemNamesByIds:x,getNamesPreview:S}=Iz(l);return{actions:{showDeleteConfirm:(0,a.useCallback)(()=>{p?.(!0)},[p]),handleDeleteConfirmCancel:(0,a.useCallback)(()=>{p?.(!1)},[p]),handleDeleteConfirmOk:(0,a.useCallback)(async()=>{if(!(f?.length||s&&s.size!==0))return void(p==null||p(!1));let t=l.length,n=Object.assign({},d),r=Array.from(f?[f]:s),a=r.map(e=>l.find(t=>t.id===e)).filter(e=>!!e),C=new Set;a.forEach(e=>{e!=null&&e.isFolder&&C.add((e=>{if(!e)return null;let t=e;return t.folderId??t.parentId??null})(e))});let w=0,T=0,E=[];try{let s=await _({items:a,selectedFolder:u,getItemNameById:b,showNotifications:!1});w=s.successCount,T=s.failCount,E.push(...s.errorDetails);let l=g?.enableTrashFolder&&u===`Trash`;if(w>0&&g!=null&&g.enableTrashFolder&&!l&&m?.({itemIds:r,sourceFolderId:u||`folders`}),w>0){let e=r.length;g?.enableTrashFolder&&!l?await o.success({id:`FILES_DELETE_SUCCESS`,message:i(`moved_to_trash`,{count:w}),placement:`bottomRight`,data:{successCount:w,totalCount:e,itemIds:r,folderId:u||null}}):await o.success({id:`FILES_DELETE_SUCCESS`,message:i(`Files deleted`),placement:`bottomRight`,data:{successCount:w,totalCount:e,itemIds:r,folderId:u||null}})}if(T>0){let e=x(r),t=S(e),n=r.length,a=n===1&&E.length>0&&E[0].error?.code,s=g?.enableTrashFolder&&!l,c=i(s?`При перемещении в корзину произошли ошибки`:`При удалении произошли ошибки`),u=(a?HR(E[0].error?.code,i):void 0)??(t?i(`Failed`,{names:t}):c);o.error({id:`FILES_DELETE_ERROR`,message:u,placement:`bottomRight`,innerException:E.length?E:void 0,data:{failCount:T,isTrashMove:s,totalCount:n,itemNames:e,errors:E.length?E:void 0}})}c(),p?.(!1),await v({parentIds:Array.from(C),selectedFolder:u});let d=n.current;if(w>0&&t>0&&w>=t&&n.current>1&&(d=n.current-1),w>0&&n.total>=w){let e=Math.max(0,(n.total??0)-w);h?.({current:d,pageSize:n.pageSize,total:e})}await y({fetchFiles:e,selectedFolder:u,page:d,limit:n.pageSize})}catch(e){o.error({id:`FILES_DELETE_ERROR`,message:i(`Error deleting`),placement:`bottomRight`,innerException:e,data:{failCount:T,totalCount:a.length}})}},[f,s,p,e,u,d,m,h,l,i,o,_,c,g?.enableTrashFolder])}}})(e);return{state:t.state,actions:Object.assign(Object.assign(Object.assign(Object.assign({},t.actions),n.actions),r.actions),i.actions)}},Uz=()=>{let{state:e}=yR(),{files:t,loading:n,isUrlModalVisible:r}=e,i=Oz(),o=(()=>{let{state:e}=yR(),t=e.multiSelect,n=Nz(e=>e.selectedFiles),r=Nz(e=>e.toggleFileSelection),i=Nz(e=>e.setMultiSelect);return(0,a.useEffect)(()=>{i(!1!==t)},[t,i]),{state:{selectedFiles:n},actions:{toggleFileSelection:r}}})(),s=Hz(i.fetchFiles);return{state:{files:t||[],selectedFiles:o.state.selectedFiles,loading:n||!1,isAddingFileByUrl:r||!1,isRenamingFile:s.state.isRenamingFile,fileToRename:s.state.fileToRename},actions:{fetchFiles:i.fetchFiles,handleDeleteFile:i.handleDeleteFile,handleDeleteFolder:i.handleDeleteFolder,handleAddFile:i.handleAddFile,handleAddFileByUrl:i.handleAddFileByUrl,handleDroppedFiles:i.handleDroppedFiles,uploadFileWithProvider:i.uploadFileWithProvider,toggleFileSelection:o.actions.toggleFileSelection,showRenameModal:s.actions.showRenameModal,handleRenameCancel:s.actions.handleRenameCancel,handleRenameOk:s.actions.handleRenameOk,showMoveModal:s.actions.showMoveModal,handleMoveCancel:s.actions.handleMoveCancel,handleMoveOk:s.actions.handleMoveOk,showCopyModal:s.actions.showCopyModal,handleCopyCancel:s.actions.handleCopyCancel,handleCopyOk:s.actions.handleCopyOk,showDeleteConfirm:s.actions.showDeleteConfirm,handleDeleteConfirmCancel:s.actions.handleDeleteConfirmCancel,handleDeleteConfirmOk:s.actions.handleDeleteConfirmOk}}};function Wz({maxConcurrent:e=6}={}){let t=(0,a.useRef)(new Map),n=(0,a.useRef)([]),r=(0,a.useRef)(0),i=(0,a.useMemo)(()=>{let i=e=>({status:e.status,shouldLoad:e.status===`loading`||e.status===`loaded`||e.status===`error`}),a=e=>{let t=i(e);e.listeners.forEach(e=>e(t))},o=e=>{n.current.length!==0&&(n.current=n.current.filter(t=>t!==e))},s=(e,n)=>{let r=t.current.get(e);if(!r){let r={id:e,src:n,status:`idle`,listeners:new Set,active:!1};return t.current.set(e,r),r}return r.src!==n&&(o(e),r.src=n,r.status=`idle`),r},c=()=>{for(;r.current<e&&n.current.length>0;){let e=n.current.shift();if(!e)break;let i=t.current.get(e);i&&i.active&&i.status===`queued`&&(i.status=`loading`,r.current+=1,a(i))}},l=(e,t)=>{e.status===`loading`&&(e.status=t,r.current=Math.max(0,r.current-1),a(e),c())};return{getSnapshot:(e,t)=>i(s(e,t)),subscribe:(e,n,r)=>{let a=s(e,n);return a.listeners.add(r),r(i(a)),()=>{let n=t.current.get(e);n&&(n.listeners.delete(r),n.active||n.listeners.size!==0||n.status===`loading`||t.current.delete(e))}},setActive:(e,t,i)=>{let l=s(e,t);l.active=i,i?l.status!==`loaded`&&l.status!==`loading`&&l.status!==`queued`?(l.status=`queued`,a(l),n.current.includes(e)||n.current.push(e),c()):a(l):l.status===`queued`?(o(e),l.status=`idle`,a(l)):l.status===`loading`&&(r.current=Math.max(0,r.current-1),l.status=`idle`,a(l),c())},markLoaded:e=>{let n=t.current.get(e);n&&l(n,`loaded`)},markError:e=>{let n=t.current.get(e);n&&l(n,`error`)},release:e=>{let n=t.current.get(e);n&&(n.active=!1,n.status===`queued`?(o(e),n.status=`idle`):n.status===`loading`&&(r.current=Math.max(0,r.current-1),n.status=`idle`,c()),n.listeners.size===0&&t.current.delete(e))}}},[e]);return(0,a.useEffect)(()=>()=>{n.current=[],t.current.clear(),r.current=0},[]),i}function Gz(e){if(e&&e!==`data:image/jpeg;base64,/9j/4AAQSkZJRgABAQABLAEsAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAEsAAAAAQAAASwAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAQOgAwAEAAAAAQAAAMoAAAAA/+EJ2Wh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6c3RvY2s6Mzk2MmU4NTQtNjA1NC00MGZmLWEwYzMtYjJkNjcwMzQ2OWFhIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmE5M2NiZTgyLWI5NjEtNGUzNS1iYmQ0LWJjZWE1Zjc1YTQwZiIvPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz4A/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIAMoBAwMBIgACEQADEQD/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/3QAEABH/2gAMAwEAAhEDEQA/APsuiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoqG7uIbWB55nCooyTS208VxCssLh0boRQBLRRRQAUUUUAFFFFAH/9D7LooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqG7uIrWBppnCoo5Jou7iK1gaaZwqKM5NcRq2oXOsXqxQq2wnEcYPX3NABq2oXOr3qwxK3l5xHGO/ua6nw7pzadZ7ZJGaR+WBPA9hUfh7R49Pi82TDXDDkkfd9hWxQAUUUUAFFFFABRRRQB//9H7LooooAKKKKACiiuOv/EOpQX88KNDsSQqMp6H60AdjRXD/wDCTapn70P/AH7/APr0f8JPqn96H/v3/wDXoA7iiuH/AOEn1T+9D/37/wDr0f8ACT6p/eh/79//AF6AO4orh/8AhJ9U/vQ/9+//AK9H/CT6p/eh/wC/f/16AO4orh/+En1T+9D/AN+//r0f8JPqn96H/v3/APXoA7iiuH/4SfVP70P/AH7/APr0f8JPqn96H/v3/wDXoA7iiuH/AOEn1T+9D/37/wDr0f8ACT6p/eh/79//AF6AO4orh/8AhJ9U/vQ/9+//AK9H/CT6p/eh/wC/f/16AO4orh/+En1T+9D/AN+//r0f8JPqn96H/v3/APXoA7iobq4itYHmncIijJJrE0jUdQlt2v8AUJIYrNVyMJgv9Oaw9X1C51e8WGJWMecRxr39zQAatqNzq94kUasELYjjB6/Wul8P6NHp8Qlkw1ww5P8Ad9hWRmDw9bfwTajIv4Riqw8Tap6wf98f/XoA7elrh/8AhJtU/vQ/9+//AK9avhnWL3UL94bgx7BGWG1cdwPX3oA6OiiigAooooAKKKKAP//S+y6KKKACiiigArgHAbxSVYAg3mCD3+eu/rgT/wAjV/2+f+z0Adt9jtMf8esH/fsUfY7T/n1g/wC/Yqeh2CIWY4AGSaAK7WlmqktbQADkkxr/AIVUe50JJPLZ7EN6YWuX17WJr+dkRylurYVQfve5rKJoA9Ghh0+Zd0MVtIvqqKaf9jtP+fWD/v2K89sry4sphLbyFD3HY/Wu+0e9TULFLhQATww9DQBJ9jtP+fWD/v2KattZM7ILe3LL94bF4p99cx2lpJcS/dRc/X2rjdG1eSLWmuZ2Oy4bEnoPQ/hQB2P2O0/59YP+/Yo+x2n/AD6wf9+xU4IPSloAr/Y7T/n1g/79ij7Haf8APrB/37FWKKAK/wBjtP8An1g/79ij7Haf8+sH/fsVYooAr/Y7T/n1g/79ioruPTrWBppoLdUUckxj/Cp7u4itYGnmcKijJJriNX1C61i9EUKtsziOMHr7mgBNVv7jVrxYII/3YOIYl/ma6bw9o8enxCSTD3DDkn+H2FHh/R49Pi8yTDXDDkkfd9hWxQBC9rbOxZ7eJmPUlATTfsdp/wA+sH/fsVYooAztXtbVdLumW3hBELkEIOPlNc74H/5Csv8A1xP8xXUaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5igDs6KKKACiiigAooooA//0/suiiigAooooAK4E/8AI1f9vn/s9d9XAn/kav8At8/9noA72s/xI7R6HdMpwdmPzODWhUN/ALqymt26SIVoA816UlS3ML207wSrtdCQai+lAC11HgN2xdx4+XKH6Hn/AArl++K6jSv+JN4flvJhiWfBRe/Tj+ZNAEHjLUfOnFjEw2R/NJju3Yfl/Oudp0jtJIzucsxJJ96bQB2/hLUftdkLeRh50OF+q9jW3XnOkXrWF/HcDJUHDjPUV6HDIssSSIQVYAg0APooooAKhu7iK1gaeZwqKM5NF3cQ2sDTTOFRRk5riNW1C51i9WKJW8vOI4x39zQAavqF1rF6IYVbZnEcYPX3NdL4e0ePT4hLIA1w45JH3fYUeHtHj0+LzJcNcMOTj7vsK2KACiiigAooooAqaz/yCbz/AK4v/wCgmuX8D/8AIWl/64n+YrqNZ/5BN5/1xf8A9BNcv4H/AOQtL/1xP8xQB2dFFFABRRRQAUUUUAf/1PsuiiigAooooAK4E/8AI1f9vn/s9d9XAn/kav8At8/9noA72lpKWgDO1bSLXUQDKCsg6OvX/wCvWFJ4Tn3fJdxFc8FkOa66igDC0zw3a2riadzPIOeRhR+FYXinUPtl+Yoz+5h+VcdCe5/p+FdH4n1H7DYFYziaX5U9vU1wn40AFFFFABXW+DNR3xtp8x+ZPmjyeo7j/PrXJVNZzva3UdxG2HjbP/1qAPTKhu7iK2gaaZwqKOSahTULf+zFv3bZEybsmuP1XULnV70QxK3l7sRxr39zQAmrahc6xerFEreXnEcY7+5rpfD2jx6fF5suGuGHJx932FHh7R49PiEkuGuGHJ/u+wrYoAKKKKACiiigAooooAqaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5iuo1n/AJBN5/1xf/0E1y/gf/kLS/8AXE/zFAHZ0UUUAFFFFABRRRQB/9X7LooooAKKKKACuBP/ACNX/b5/7PXfVwJ/5Gr/ALfP/Z6AO9paSloAKazBVZicBRkmnVz3jHUfs9qLOJsSy/ex2XvQBzuu351DUXlDfu1+WMewqhRRQAUUUv40AFbGi6ZG8TahqB8uzTkA9ZP/AK1Gi6ZG8TajqJ2WcfIB/wCWn/1qi1W+uNWu0hhQiIHbFEv86ADU7+fVbpIIU2xZ2xRL/M103h7R00+LzZcPcMOTj7vsKyCYfD9sQNsupSr+EY/z+ddDot8uoWCTj7/Rx6N3oAvUUUUAFZ17rFta6jDZydZPvNnhPTNSaxqEWn2bTv8AM3RF9TXntxLJPK8sp3O5yx9TQB6dmlrA8Kar9qg+yzt+/jHBP8QrfoAKKKKAKms/8gm8/wCuL/8AoJrl/A//ACFpf+uJ/mK6jWf+QTef9cX/APQTXL+B/wDkLS/9cT/MUAdnRRRQAUUUUAFFFFAH/9b7LooooAKKKKACuBP/ACNX/b5/7PXfVwJ/5Gr/ALfP/Z6AO9paSloAjuZo7eB5pThEGSa851G6e9vJLl+rngeg7Ct/xpqOWXT4m6fNLj9B/X8q5mgBKKKO9AADzWzoumRvEdQ1A7LOPkA/8tP/AK1JoulxvE2oagQlnHyAf+Wn/wBaotVv59WukhhjIizthiX+dABql/catdJBDGRHnbDEv86vkweH7bHyy6jKv4Rj/P8An0UmDw/bEfLLqMq/hGP8/n/Ln5JHlkaSRi7scsx70AEkjySNLIxd2OWY961fCuo/Y78RSNiGY7T7Hsax6WgD1EGmyuscbSOwVVBJPoKy/DGofbrABzmaLCvk9fQ1k+MNU3MdPgY4X/WkevpQBla7qLajel84iTiMe3rWdS0lAEtrPJbXMdxC2HQ5HvXoWlXsd/ZpPGevDD0PevOK0/D2pHTr0FiTBJgOP60Ad/RTUYOoZSCCMg06gCprP/IJvP8Ari//AKCa5fwP/wAhaX/rif5iuo1n/kE3n/XF/wD0E1y/gf8A5C0v/XE/zFAHZ0UUUAFFFFABRRRQB//X+y6KKKACiiigArgT/wAjV/2+f+z131cCf+Rq/wC3z/2egDvarapeJY2Mlw/8I+UZ6nsKs1xni7UftN39ljb91Eecd2/z/WgDFnlknmeaRsu5JJqOigdeKAFrX0XS43iOoagQlnHyAf8Alp/9al0XTI3ibUNQISzj5Ab/AJaf/WqHVb+41a6SGGMrEDtiiX+dAC6rfT6tdJBChEWdsMS/zq+TB4ftj92XUZV/CMf5/P8AkhMPh+2x8suoyr+EY/z+f8sCSR5ZGlkYu7HLMe9ABJI8sjSSMXdjlmPemUUUAFLSUUAWtOvp7CZ5YD8zIVOenNVmJZixJJPUmkooAKKKKAClFJRQB1Pg/VOBp87Dj/VEn9K6jPFeYRs0bh0JDqQQR2Nd7oGpJqNkGJxKnEg/rQBY1n/kE3n/AFxf/wBBNcv4H/5C0v8A1xP8xXUaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5igDs6KKKACiiigAooooA//0PsuiiigAooooAK4E/8AI1f9vn/s9d8a89u5RB4hlnYEiO5LkDvhs0Adtq808Ni7W0TyTEbUCjkE964c6TqhJJspyTySVroB4stsY+xzf99Cj/hK7X/nzl/76FAHPnSdTx/x4z/981d0zRvL33eqr5NtFztbq5/wro7PVo5rF72SB7eBfutIcbvpXLatqFzq94IokYpnEca859zQAmq31xq12sEEZEQOIol/nWxBYzaPZeZBavc30oxlVyIxUVsbLw6i+epuL1wCyp/AP6VY/wCEstv+fSb/AL6FAGBLpmrSyNJJZ3DuxyzFetN/sjU/+fGf/vmug/4Su1/585f++hR/wldr/wA+cv8A30KAOf8A7I1P/nxn/wC+aP7I1P8A58Z/++a6D/hK7X/nzl/76FH/AAldr/z5y/8AfQoA5/8AsjU/+fGf/vmj+yNT/wCfGf8A75roP+Ertf8Anzl/76FH/CV2v/PnL/30KAOf/sjU/wDnxn/75o/sjU/+fGf/AL5roP8AhK7X/nzl/wC+hR/wldr/AM+cv/fQoA5/+yNT/wCfGf8A75o/sjU/+fGf/vmug/4Su1/585f++hR/wldr/wA+cv8A30KAOf8A7I1P/nxn/wC+aP7I1P8A58Z/++a6D/hK7X/nzl/76FH/AAldr/z5y/8AfQoA5/8AsjU/+fGf/vmrmkW+r6ferOllPtzh12n5hWp/wldr/wA+cv8A30KP+Ertf+fOX/voUAa+rNu0a6bBGYGOD1HymuZ8D/8AIWl/64n+YqzfeJre4spoBayqZI2UEkcZGKreB/8AkKyn/pif5igDs6KKKACiiigAooooA//R+y6KKKACiiigArHn8OadPO80nm73YscNjknNbFFAGJ/wjGmf9N/+/lRXGg6NZxG4nMnlpyQ0mQfatq7uIrWBppnCoozk1xGrajdaxeLFCh2E4jjHf3NACapfT6tdpBDGfKU4hjUfrXTeH9HTT4vNkw1yw5JH3fYUeHtHj0+LzZMNcMOSR932FbFAGNL4b0+WRpJXuHdjks0nJNN/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTPSf/v5VrTNGs9PnM1v5m4qVO5s8ZB/pWjRQAUUUUAFFFFABRRRQB//0vsuiiigAooooAKhu7mK1t2nmYKijkmpq5fxda6jNcReXukgYgBVHQ+9AGVq2oXOsXqxRK2zdiNB39zXS+H9Hj0+ISSYa4Ycn+77Cjw/o8enxebLhrhhySPu+wrYoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9P7LooooAKKKKACkxS0UAFFFFABRRTW6D6igB1FN7n8KQE+YRQA+iiigAopsnEZI64pR90UALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q==`){if(e.startsWith(`data:image/`)){let t=e.split(`,`)[1];return t&&t.length>20?e:void 0}return e.startsWith(`blob:`)?e:e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`/`)?(e=>{if(e&&typeof e==`string`){if(e.startsWith(`data:`)||e.startsWith(`blob:`))return e;try{if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`/`)){let t=new URL(e.startsWith(`/`)?`https://x${e}`:e),n=e.startsWith(`/`)?``:`${t.protocol}//${t.host}`,r=t.pathname.split(`/`).map(e=>{if(!e)return``;try{return encodeURIComponent(decodeURIComponent(e))}catch{return encodeURIComponent(e)}}).join(`/`);return e.startsWith(`/`)?r+(t.search||``)+(t.hash||``):`${n}${r}${t.search}${t.hash}`}}catch{}return e}})(e)??e:void 0}}function Kz(e,t){if(!e)return null;let n=Gz(e.src??void 0);return e.exhausted?Object.assign(Object.assign({},e),{src:null}):n?Object.assign(Object.assign({},e),{src:n}):Object.assign(Object.assign({},e),{src:t??null,changed:!1,reason:`unchanged`})}function qz(e){let{options:t}=yR(),n=t.config?.getProxiedUrl,r=(0,a.useRef)([]),i=(0,a.useRef)(!1),o=(0,a.useRef)(0),s=(0,a.useRef)(null),[c,l]=(0,a.useState)(!1),u=(0,a.useMemo)(()=>{let t=e.map(e=>Gz(e)).filter((e,t,n)=>!!e&&n.indexOf(e)===t);return(n=r.current)===(i=t)||n.length===i.length&&n.every((e,t)=>e===i[t])?r.current:(r.current=t,t);var n,i},[e]),[d,f]=(0,a.useState)([]),[p,m]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=!1;if(m(0),i.current=!1,o.current=0,s.current=null,l(!1),u.length!==0)return(async()=>{let t=await Promise.all(u.map(async e=>{if(!n||!(t=e).startsWith(`http://`)&&!t.startsWith(`https://`))return[{originalSrc:e,src:e}];var t;try{let t=await Promise.resolve(n(e)),r=Gz(t?.src);return r?[{originalSrc:e,src:r,stabilityKey:t.stabilityKey,handleChangeSrc:t.handleChangeSrc,handleSuccess:t.handleSuccess,handleError:t.handleError,subscribeToSrcChange:t.subscribeToSrcChange}]:[{originalSrc:e,src:e}]}catch{return[{originalSrc:e,src:e}]}}));if(!e){let e=function(e){let t=new Set;return e.filter(e=>!(!e.src||t.has(e.src)||(t.add(e.src),0)))}(t.flat());f(t=>function(e,t){return e===t||e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.originalSrc===r.originalSrc&&e.src===r.src&&e.stabilityKey===r.stabilityKey})}(t,e)?t:e)}})(),()=>{e=!0};f(e=>e.length===0?e:[])},[n,u]);let h=d[p];(0,a.useEffect)(()=>{if(!h?.subscribeToSrcChange)return;let e,t=!1;return Promise.resolve(h.subscribeToSrcChange(e=>{if(t||i.current)return;let n=Kz(e,h.src);n!=null&&n.changed&&n.src&&!t&&f(e=>e.map((e,t)=>t===p?Object.assign(Object.assign({},e),{src:n.src}):e))})).then(n=>{t?n?.():e=n}),()=>{t=!0,e?.()}},[h,p]),(0,a.useEffect)(()=>{if(!h?.handleChangeSrc||i.current)return;let e=`${h.originalSrc}::${h.stabilityKey??``}::${p}`;if(s.current===e)return;s.current=e;let t=!1;return Promise.resolve(h.handleChangeSrc()).then(e=>{let n=Kz(e,h.src);n!=null&&n.changed&&n.src&&!t&&f(e=>e.map((e,t)=>t===p?Object.assign(Object.assign({},e),{src:n.src}):e))}),()=>{t=!0}},[h,p]);let g=(0,a.useCallback)(async()=>{if(!h?.handleChangeSrc)return{src:h?.src??null,changed:!1,exhausted:!1,reason:`unchanged`};if(i.current)return{src:null,changed:!1,exhausted:!0,reason:`exhausted`};let e=Kz(await Promise.resolve(h.handleChangeSrc()),h.src);return e?.changed&&e.src&&e.src!==h.src?(f(t=>t.map((t,n)=>n===p?Object.assign(Object.assign({},t),{src:e.src}):t)),e):e??{src:h.src,changed:!1,exhausted:!1,reason:`unchanged`}},[h,p]),_=(0,a.useCallback)(async()=>{if(i.current)return{src:null,changed:!1,exhausted:!0,reason:`exhausted`};if(!h)return i.current=!0,l(!0),{src:null,changed:!1,exhausted:!0,reason:`exhausted`};let e=(t=d.length,Math.max(8,6*t));var t;if(o.current>=e)return i.current=!0,l(!0),{src:null,changed:!1,exhausted:!0,reason:`exhausted`};o.current+=1;let n=h.handleError?Kz(await Promise.resolve(h.handleError()),h.src):null;return n?.exhausted?(i.current=!0,l(!0),n):n?.changed&&n.src&&n.src!==h.src?(f(e=>e.map((e,t)=>t===p?Object.assign(Object.assign({},e),{src:n.src}):e)),n):p+1>=d.length?(i.current=!0,l(!0),n??{src:null,changed:!1,exhausted:!0,reason:`exhausted`}):(m(e=>e+1),{src:d[p+1]?.src??null,changed:!0,exhausted:!1,reason:`candidate-fallback`})},[h,p,d]),v=(0,a.useCallback)(()=>{var e;i.current||h&&(o.current=0,(e=h.handleSuccess)==null||e.call(h))},[h]);return{src:c||h==null?void 0:h.src,hasNextCandidate:p+1<d.length,handleError:_,handleLoad:v,handleChangeSrc:g}}var Jz=/(auto|scroll|overlay)/;function Yz(e,t){let n=Math.max(0,t??e.clientWidth);return Math.max(1,Math.round(n-function(e){if(typeof window>`u`)return 0;let t=window.getComputedStyle(e);return(Number.parseFloat(t.paddingLeft||`0`)||0)+(Number.parseFloat(t.paddingRight||`0`)||0)}(e)))}function Xz(e){if(typeof window>`u`)return!1;let t=window.getComputedStyle(e);return Jz.test(t.overflowY)||Jz.test(t.overflow)||Jz.test(t.overflowX)}function Zz(e){if(typeof window>`u`)return e;let t=e;for(;t;){if(Xz(t))return t;t=t.parentElement}return null}function Qz(e){if(typeof window>`u`)return[e];let t=Zz(e);return t?t===e?[window,e]:[window,t]:[window]}function $z(e,t,n){return Math.max(0,e.clientHeight),Math.max(0,Math.round(e.getBoundingClientRect().height)),Math.max(1,t)}function eB(e,t){if(e===t){let n=function(e){if(typeof window>`u`)return Math.max(1,e.clientHeight);let t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement?.clientHeight||0,r=Math.max(0,t.top),i=Math.min(n,t.bottom);return Math.max(0,Math.round(i-r))}(t);return{scrollTop:t.scrollTop,viewportHeight:$z(e,Math.min(t.clientHeight,n||t.clientHeight)),viewportWidth:Yz(t),scrollHeight:e.scrollHeight}}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=Math.max(n.top,r.top),a=Math.min(n.bottom,r.bottom),o=Math.max(n.left,r.left),s=Math.min(n.right,r.right),c=Math.max(0,Math.round(a-i)),l=Math.max(0,Math.round(s-o));return{scrollTop:Math.max(0,Math.round(i-r.top)),viewportHeight:$z(e,c),viewportWidth:Yz(e,l||t.clientWidth||e.clientWidth),scrollHeight:e.scrollHeight}}function tB(e){if(typeof window>`u`)return{scrollTop:e.scrollTop,viewportHeight:Math.max(1,e.clientHeight),viewportWidth:Yz(e),scrollHeight:e.scrollHeight};let t=Zz(e);return t&&function(e){return e.scrollHeight-e.clientHeight>1}(t)?eB(e,t):function(e){let t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement?.clientHeight||0,r=window.innerWidth||document.documentElement?.clientWidth||t.width,i=Math.max(0,t.top),a=Math.min(n,t.bottom),o=Math.max(0,Math.round(a-i));return{scrollTop:Math.max(0,Math.round(-t.top)),viewportHeight:$z(e,o),viewportWidth:Yz(e,Math.min(Math.round(t.width),r)),scrollHeight:e.scrollHeight}}(e)}function nB(e,t){let n=(0,a.useRef)(null),r=(0,a.useCallback)(t=>{e(tB(t))},[e]);return(0,a.useEffect)(()=>{n.current&&r(n.current)},[r,...t]),(0,a.useEffect)(()=>{if(!n.current||typeof ResizeObserver>`u`)return;let e=n.current,t=new ResizeObserver(()=>{r(e)});return t.observe(e),()=>t.disconnect()},[r]),(0,a.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{r(e)},i=Qz(e);return i.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),()=>{i.forEach(e=>{e.removeEventListener(`scroll`,t)})}},[r,...t]),n}var rB=({onSearch:e,placeholder:t,className:n})=>{let{t:r}=gL(),[i,o]=(0,a.useState)(``),s=(0,a.useRef)(null),{options:u}=yR(),{config:d}=u,f=t||r(`Search files...`);return(0,a.useEffect)(()=>(s.current=jR.debounce(t=>{e(t)},500),()=>{var e;(e=s.current)==null||e.cancel()}),[e]),(0,c.jsx)(l.Input,{value:i,onChange:e=>{var t;let n=e.target.value;o(n),(t=s.current)==null||t.call(s,n)},placeholder:f,prefix:(0,c.jsx)(w,{size:16,strokeWidth:d?.iconStrokeWidth}),className:n,allowClear:!0,onClear:()=>{o(``),e(``)}})},iB=[{value:`date-desc`,labelKey:`Newest first`},{value:`date-asc`,labelKey:`Oldest first`},{value:`size-desc`,labelKey:`Largest first`},{value:`size-asc`,labelKey:`Smallest first`},{value:`name-asc`,labelKey:`A-Z`},{value:`name-desc`,labelKey:`Z-A`},{value:`type-asc`,labelKey:`By type`}],$={contentLayout:`contentLayout`,headerContainer:`headerContainer`,actionsContainer:`actionsContainer`,filesContainer:`filesContainer`,filesLoadingOverlay:`filesLoadingOverlay`,emptyStateWrapper:`emptyStateWrapper`,paginationContainer:`paginationContainer`,uploadIcon:`uploadIcon`,tableContainer:`tableContainer`,tableLoadingWrapper:`tableLoadingWrapper`,imagePreview:`imagePreview`,fileManagerTableFolder:`fileManagerTableFolder`,fileManagerTableFolderInner:`fileManagerTableFolderInner`,sortSelect:`sortSelect`,fileNameCol:`fileNameCol`,fileItemCount:`fileItemCount`,fileSize:`fileSize`,fileDate:`fileDate`,tableMenu:`tableMenu`,tableImagePreview:`tableImagePreview`,tableFolderIcon:`tableFolderIcon`,buttonDeselected:`buttonDeselected`,buttonSelectAll:`buttonSelectAll`,gridRow:`gridRow`,gridCard:`gridCard`,selectedRow:`selectedRow`,gridCardSelected:`gridCardSelected`,gridCheckbox:`gridCheckbox`,gridCardContent:`gridCardContent`,gridPreviewContainer:`gridPreviewContainer`,gridPreviewContainerFolder:`gridPreviewContainerFolder`,gridFolderIcon:`gridFolderIcon`,gridFolderIconImage:`gridFolderIconImage`,gridFileName:`gridFileName`,gridFileInfo:`gridFileInfo`,gridFileMenu:`gridFileMenu`,gridFileMenuButton:`gridFileMenuButton`,actionsBox:`actionsBox`,uploadContainer:`uploadContainer`,uploadArea:`uploadArea`,blockText:`blockText`,textTitle:`textTitle`,textDescription:`textDescription`,buttons:`buttons`,btnAi:`btnAi`,btnPhoto:`btnPhoto`,dragOverlay:`dragOverlay`,dragOverlayInner:`dragOverlayInner`,dragCaptureLayer:`dragCaptureLayer`,dragOverlayGlobal:`dragOverlayGlobal`,noFiles:`noFiles`,noFilesIcon:`noFilesIcon`,textTitle_trash:`textTitle_trash`,textDescription_trash:`textDescription_trash`},{Text:aB}=l.Typography,{Option:oB}=l.Select,sB=a.default.memo(({files:e,filesById:t,currentSortOption:n,isSmallScreen:r,iconStrokeWidth:o,multiSelectEnabled:s=!0,features:u,viewMode:d,setViewMode:f,handleSearch:p,handleSortOptionChange:_,sortOptions:v,onClearSelection:y,onRename:b,onDelete:x,onCopy:S,onMove:w,onEdit:T,t:E})=>{let O=(0,a.useMemo)(()=>v?.length?iB.filter(e=>v.includes(e.value)):iB,[v]),k=(0,a.useMemo)(()=>O.map(e=>e.value).join(`|`)||`all`,[O]),A=Nz(e=>e.selectedFiles),j=Nz(e=>e.selectedFiles.size),M=Nz(e=>e.selectAllVisible),N=e.length>0&&j===e.length,P=(0,a.useMemo)(()=>Array.from(A)[0],[A]),F=(0,a.useMemo)(()=>P?t.get(P):void 0,[t,P]),I=F?.isFolder?!1!==u?.enableRenameFolder:!1!==u?.enableRenameFile,L=(0,a.useMemo)(()=>Array.from(A).every(e=>{let n=t.get(e);return!!n&&(n.isFolder?!1!==u?.enableMoveFolder:!1!==u?.enableMoveItem)}),[u,t,A]),ee=(0,a.useMemo)(()=>Array.from(A).every(e=>{let n=t.get(e);return!!n&&(n.isFolder?!1!==u?.enableCopyFolder:!1!==u?.enableCopyItem)}),[u,t,A]),R=(0,a.useMemo)(()=>j===1&&function(e){if(!e||e.isFolder)return!1;let t=e.extension||(e.name&&e.name.includes(`.`)?e.name.split(`.`).pop():void 0)||(e.type?.startsWith(`image/`)?(e.type.split(`/`)[1]?.split(`;`)[0])?.trim():void 0);return!!(t&&MF.includes(t.toLowerCase()))}(F),[j,F]);return(0,c.jsxs)(`div`,j>0?{className:`header-container ${$.headerContainer}`,children:[(0,c.jsxs)(aB,{type:`secondary`,className:`selected-text`,children:[(0,c.jsxs)(`div`,{children:[j,` `,E(`selected`)]}),s&&(0,c.jsx)(l.Tooltip,{title:r?E(`Select all`):null,children:(0,c.jsx)(l.Button,{className:$.buttonSelectAll,onClick:M,disabled:N||e.length===0,children:E(`Select all`)})}),(0,c.jsx)(l.Tooltip,{title:r?E(`Deselected`):null,children:(0,c.jsx)(l.Button,{className:$.buttonDeselected,icon:(0,c.jsx)(C,{size:16,strokeWidth:o}),onClick:y,children:E(`Deselected`)})})]}),(0,c.jsxs)(l.Space,{children:[R&&!1!==u?.enableEdit&&(0,c.jsx)(l.Tooltip,{title:r?E(`Edit`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(h,{size:16,strokeWidth:o}),onClick:()=>T(F),disabled:!R,children:E(`Edit`)})}),L&&(0,c.jsx)(l.Tooltip,{title:r?E(`Move to`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(g,{size:16,strokeWidth:o}),onClick:w,children:E(`Move to`)})}),ee&&(0,c.jsx)(l.Tooltip,{title:r?E(`Copy`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(m,{size:16,strokeWidth:o}),onClick:S,children:E(`Copy`)})}),j===1&&I&&(0,c.jsx)(l.Tooltip,{title:r?E(`Rename`):null,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(i.t,{size:16,strokeWidth:o}),onClick:()=>b(),disabled:j!==1||!I,children:E(`Rename`)})}),!1!==u?.enableDelete&&(0,c.jsx)(l.Tooltip,{title:r?E(`Delete`):null,children:(0,c.jsx)(l.Button,{danger:!0,icon:(0,c.jsx)(D,{size:16,strokeWidth:o}),onClick:e=>{e.stopPropagation(),e.preventDefault(),x()},children:E(`Delete`)})})]})]}:{className:$.headerContainer,children:[(0,c.jsx)(`div`,{className:`search-container`,children:(0,c.jsx)(rB,{placeholder:E(`Search file or folder`),onSearch:p,className:$.searchInput})}),(0,c.jsxs)(`div`,{className:$.actionsBox,children:[(0,c.jsx)(`div`,{className:`sort-container`,children:(0,c.jsx)(l.Select,{value:n,onChange:_,className:$.sortSelect,popupMatchSelectWidth:!1,suffixIcon:(0,c.jsx)(i.c,{size:16,strokeWidth:o}),children:O.map(({value:e,labelKey:t})=>(0,c.jsx)(oB,{value:e,children:E(t)},e))},k)}),(0,c.jsx)(`div`,{className:$.actionsContainer,children:(0,c.jsx)(l.Segmented,{options:[{value:`grid`,icon:(0,c.jsx)(i.a,{size:16,strokeWidth:o})},{value:`table`,icon:(0,c.jsx)(i.r,{size:20,strokeWidth:o})}],value:d,onChange:e=>f(e)})})]})]})});sB.displayName=`FileContentHeader`;var cB=a.default.memo(({fileId:e,style:t})=>{let n=Nz(t=>t.selectedFiles.has(e)),r=Nz(e=>e.toggleFileSelection);return(0,c.jsx)(l.Checkbox,{checked:n,style:t,onClick:e=>{e.stopPropagation()},onChange:t=>{let n=t.nativeEvent;r(e,{metaKey:n.metaKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,forceToggle:!0})}})});cB.displayName=`FileSelectionCheckbox`;var lB=a.default.memo(e=>{var{className:t}=e,n=FR(e,[`className`]);let r=n[`data-row-key`],i=r==null?``:String(r),a=[t,Nz(e=>!!i&&e.selectedFiles.has(i))?$.selectedRow:``].filter(Boolean).join(` `);return(0,c.jsx)(`tr`,Object.assign({},n,{className:a}))});lB.displayName=`SelectableTableRow`;var uB=a.default.memo(({item:e,variant:t=`table`,t:n,iconStrokeWidth:r,setCurrentMenuFile:o,showMoveModal:s,showCopyModal:u,showRenameModal:d,showDeleteConfirm:f,onEdit:p})=>{let[_,v]=(0,a.useState)(!1),y=(0,a.useMemo)(()=>{if(!_)return[];let t=[];return e.canEdit&&t.push({key:`edit`,label:n(`Edit`),icon:(0,c.jsx)(h,{size:16,strokeWidth:r})}),e.canMove&&t.push({key:`move`,label:n(`Move to`),icon:(0,c.jsx)(g,{size:16,strokeWidth:r})}),e.canCopy&&t.push({key:`copy`,label:n(`Copy`),icon:(0,c.jsx)(m,{size:16,strokeWidth:r})}),e.canRename&&t.push({key:`rename`,label:n(`Rename`),icon:(0,c.jsx)(i.t,{size:16,strokeWidth:r})}),e.canDelete&&t.push({key:`delete`,label:n(`Delete`),icon:(0,c.jsx)(D,{size:16,strokeWidth:r}),style:{color:`#ff4d4f`}}),t},[r,_,e.canCopy,e.canDelete,e.canEdit,e.canMove,e.canRename,n]),b=(0,a.useCallback)(({key:t})=>{switch(e.id&&o?.(e.id),t){case`edit`:p(e.file);break;case`move`:s();break;case`copy`:u();break;case`rename`:d(e.id);break;case`delete`:f?.();break;default:o?.(``)}},[e,p,o,u,f,s,d]);return(0,c.jsx)(l.Dropdown,{arrow:!0,placement:`bottom`,menu:(0,a.useMemo)(()=>({items:y,onClick:b}),[b,y]),trigger:[`hover`],onOpenChange:v,children:t===`grid`?(0,c.jsx)(l.Button,{type:`default`,className:`${$.gridFileMenuButton} gridFileMenuButton`,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:(0,c.jsx)(i.s,{size:16,strokeWidth:r})}):(0,c.jsx)(`span`,{className:`${$.tableMenu} tableMenuButton`,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:(0,c.jsx)(i.s,{size:16,strokeWidth:r})})})});uB.displayName=`FileItemActionsDropdown`;var dB=({thumbnailSrc:e,previewSrc:t,lightboxSrc:n,alt:r,className:i,width:o,height:s,preview:u=!1})=>{let f=(0,a.useMemo)(()=>[e,t],[e,t]),p=(0,a.useMemo)(()=>[n,t,e],[n,t,e]),m=qz(f),h=qz(p),{handleError:g,handleLoad:_}=h,v=m.src??jF,y=h.src??m.src,b=(0,a.useRef)(!1);(0,a.useEffect)(()=>{b.current=!1},[y]);let x=(0,a.useCallback)(e=>a.default.cloneElement(e,{key:y??jF,src:y??jF,fallback:void 0,onError:()=>{b.current||(b.current=!0,g().finally(()=>{b.current=!1}).catch(()=>{}))},onLoad:()=>{_()}}),[y,g,_]);return(0,c.jsx)(l.Image,{className:i,src:v,alt:r,width:o,height:s,preview:(0,a.useMemo)(()=>!(!u||!y)&&{src:y,actionsRender:()=>null,destroyOnHidden:!0,cover:(0,c.jsx)(d.EyeOutlined,{style:{fontSize:`20px`}}),imageRender:x},[u,y,x]),onLoad:m.handleLoad,onError:()=>{m.handleError().catch(()=>{})},fallback:jF})},fB=a.default.memo(({item:e,variant:t=`table`,FolderIcon:n,getFileData:r,className:i,width:a,height:o})=>e.isFolder?(0,c.jsx)(`div`,t===`grid`?{className:$.gridFolderIcon,children:(0,c.jsx)(n,{className:$.gridFolderIconImage})}:{className:$.fileManagerTableFolder,children:(0,c.jsx)(`div`,{className:$.fileManagerTableFolderInner,children:(0,c.jsx)(n,{className:$.tableFolderIcon,style:{width:a??40,height:o??40}})})}):e.thumbnailSrc||e.previewSrc?(0,c.jsx)(dB,{className:i,thumbnailSrc:e.thumbnailSrc,previewSrc:e.previewSrc,lightboxSrc:e.lightboxSrc,alt:e.file.name,width:a,height:o,preview:!0,file:e.file,getFileData:r}):null);fB.displayName=`FileItemPreview`;var pB=[`.ant-image`,`.ant-image-preview-root`,`.ant-image-preview-wrap`,`.ant-image-preview-mask`,`.ant-image-preview-close`,`.ant-image-preview-operations`].join(`,`),mB=e=>!!e.closest(pB);function hB(e){if(e.isFolder)return!1;let t=typeof e.name==`string`?e.name:``,n=t?t.split(`.`).pop()?.toLowerCase():void 0,r=e.extension?.toLowerCase()??n;return typeof e.type==`string`&&e.type.startsWith(`image/`)||typeof r==`string`&&NF.includes(r)}var gB=a.default.memo(({item:e,t,iconStrokeWidth:n,FolderIcon:r,handleItemClick:i,setCurrentMenuFile:o,showMoveModal:s,showCopyModal:u,showRenameModal:d,showDeleteConfirm:f,onEdit:p,onEditorOk:m,getFileData:h,showSelectionCheckbox:g=!0})=>{let _=Nz(t=>t.selectedFiles.has(e.id)),v=(0,a.useCallback)(t=>{let n=t.target;n.closest(`.gridFileMenuButton`)||n.closest(`.ant-dropdown-menu`)||mB(n)||t.detail===1&&(e.isFolder?i(e.file):m&&hB(e.file)&&m(e.file))},[i,e.file,e.isFolder,m]);return(0,c.jsx)(l.Col,{className:$.gridCard_col,style:{padding:0},children:(0,c.jsxs)(l.Card,{hoverable:!0,cover:(0,c.jsx)(`div`,{className:e.isFolder?$.gridPreviewContainerFolder:$.gridPreviewContainer,onClick:e=>{e.stopPropagation(),v(e)},children:(0,c.jsx)(fB,{item:e,variant:`grid`,FolderIcon:r,getFileData:h,className:$.gridImagePreview})}),className:`${$.gridCard} ${_?$.gridCardSelected:``}`,onClick:e=>{e.stopPropagation(),e.preventDefault(),v(e)},children:[(0,c.jsxs)(`div`,{className:$.gridCardContent,onClick:e=>{e.stopPropagation(),e.preventDefault(),v(e)},children:[(0,c.jsx)(`div`,{className:$.gridFileName,children:e.nameText||t(`Untitled`)}),(0,c.jsx)(`div`,{className:$.gridFileInfo,children:e.gridInfoText})]}),(0,c.jsx)(`div`,{className:$.gridFileMenu,onClick:e=>{e.stopPropagation()},children:(0,c.jsx)(uB,{item:e,variant:`grid`,t,iconStrokeWidth:n,setCurrentMenuFile:o,showMoveModal:s,showCopyModal:u,showRenameModal:d,showDeleteConfirm:f,onEdit:p})}),g?(0,c.jsx)(`div`,{onClick:e=>{e.stopPropagation()},className:$.gridCheckbox,children:(0,c.jsx)(cB,{fileId:e.id,style:{height:20}})}):null]})})});gB.displayName=`FileGridItem`;var _B=a.default.memo(({rows:e,topOffset:t=0,bottomOffset:n=0,t:r,iconStrokeWidth:i,FolderIcon:a,handleItemClick:o,setCurrentMenuFile:s,showMoveModal:u,showCopyModal:d,showRenameModal:f,showDeleteConfirm:p,onEdit:m,onEditorOk:h,getFileData:g,showSelectionCheckbox:_=!0})=>(0,c.jsx)(c.Fragment,{children:(0,c.jsx)(`div`,{style:{paddingTop:t,paddingBottom:n},children:(0,c.jsx)(l.Row,{gutter:[16,16],className:$.gridRow,style:{gap:20,padding:`0 24px 24px`,margin:0},children:e.map(e=>(0,c.jsx)(gB,{item:e,handleItemClick:o,iconStrokeWidth:i,t:r,FolderIcon:a,setCurrentMenuFile:s,showMoveModal:u,showCopyModal:d,showRenameModal:f,showDeleteConfirm:p,onEdit:m,onEditorOk:h,getFileData:g,showSelectionCheckbox:_},e.id))})})}));_B.displayName=`FileGridView`;var vB=a.default.memo(({rows:e,columns:t,topOffset:n=0,bottomOffset:r=0,onRow:i,components:o})=>{let s=(0,a.useMemo)(()=>(0,c.jsx)(`div`,{style:{paddingTop:n,paddingBottom:r},children:(0,c.jsx)(l.ConfigProvider,{renderEmpty:()=>(0,c.jsx)(l.Empty,{image:(0,c.jsx)(c.Fragment,{}),description:``}),children:(0,c.jsx)(l.Table,{dataSource:e,columns:t,rowKey:`id`,pagination:!1,tableLayout:`fixed`,onRow:i,components:o,showHeader:!1})})}),[r,t,o,i,e,n]);return(0,c.jsx)(`div`,{className:$.tableLoadingWrapper,children:s})});vB.displayName=`FileTableView`;var yB=a.default.memo(({item:e})=>e.dateText?(0,c.jsx)(l.Tooltip,{title:e.dateText,placement:`bottom`,className:$.fileDate,children:e.dateText}):null);yB.displayName=`FileItemDate`;var bB=a.default.memo(({item:e})=>(0,c.jsxs)(`div`,{className:$.fileName,children:[e.nameText,e.isFolder&&(0,c.jsx)(`div`,{className:$.fileItemCount,children:e.folderItemsText})]}));bB.displayName=`FileItemName`;var xB=`filemanager_view_mode`,SB=class{constructor(){this.rowsById=new Map}reconcile(e,t,n){let r=new Map,i=[];for(let a of e){let e=t.getId(a),o=t.buildSignature(a,n),s=this.rowsById.get(e);if(s&&s.signature===o){r.set(e,s),i.push(s);continue}let c=t.buildRowModel(a,n,{id:e,signature:o});r.set(e,c),i.push(c)}return this.rowsById=r,i}},CB=class{createRenderWindow(e,t){let n=t?.renderStrategy??`full`;if(n!==`windowed`){if(n===`positioned`){let n=t?.positioned?.layout??[],r=t?.positioned?.viewportTop??0,i=t?.positioned?.viewportBottom??2**53-1,a=Math.max(0,t?.positioned?.overscanPx??0),o=Math.max(0,t?.positioned?.containerHeight??0),s=n.filter(e=>e.bottom>=r-a&&e.top<=i+a).map(t=>({row:e[t.index],layout:t})).filter(e=>!!e.row),c=s[0]?.layout.index??-1,l=s[s.length-1]?.layout.index??-1;return{rows:s.map(e=>e.row),startIndex:c,endIndex:l,topOffset:0,bottomOffset:0,totalCount:e.length,containerHeight:o,positionedItems:s}}return{rows:e,startIndex:0,endIndex:e.length>0?e.length-1:-1,topOffset:0,bottomOffset:0,totalCount:e.length}}let r=Math.max(0,t?.windowed?.startIndex??0),i=t?.windowed?.endIndex??e.length-1,a=Math.max(0,t?.windowed?.overscan??0),o=Math.max(1,t?.windowed?.estimatedItemSize??1),s=Math.max(1,t?.windowed?.itemsPerLane??1),c=Math.ceil(e.length/s),l=Math.min(e.length-1,i),u=Math.floor(r/s),d=Math.floor(Math.max(r,l)/s),f=Math.max(0,u-a),p=Math.min(c-1,d+a),m=f*s,h=Math.min(e.length-1,(p+1)*s-1),g=Math.max(0,c-p-1);return{rows:e.slice(m,h+1),startIndex:m,endIndex:h,topOffset:f*o,bottomOffset:g*o,totalCount:e.length}}};function wB({items:e,context:t,adapter:n,options:r}){let i=(0,a.useRef)(null),o=(0,a.useRef)(null);i.current||=new SB,o.current||=new CB;let s=(0,a.useMemo)(()=>i.current.reconcile(e,n,t),[n,t,e]);return{rowModels:s,renderWindow:(0,a.useMemo)(()=>o.current.createRenderWindow(s,r),[r,s])}}function TB({totalCount:e,plan:t}){let[n,r]=(0,a.useState)(null);return{engineOptions:(0,a.useMemo)(()=>{if(!t.enabled)return{renderStrategy:`full`};let r=function(e,t){return Math.max(1,e?.viewportHeight??t)}(n,t.fallbackViewportHeight??800),i=Math.max(1,Math.ceil(r/t.estimatedItemSize)),a=Math.max(1,Math.ceil(e/t.itemsPerLane)),o=Math.min(a-1,Math.max(0,Math.floor((n?.scrollTop??0)/t.estimatedItemSize))),s=o+i-1;return{renderStrategy:`windowed`,windowed:{startIndex:o*t.itemsPerLane,endIndex:Math.min(e-1,(s+1)*t.itemsPerLane-1),overscan:t.overscan,estimatedItemSize:t.estimatedItemSize,itemsPerLane:t.itemsPerLane}}},[t.enabled,t.estimatedItemSize,t.fallbackViewportHeight,t.itemsPerLane,t.overscan,e,n]),handleViewportChange:(0,a.useCallback)(e=>{r(t=>t?.viewportHeight===e.viewportHeight&&t?.viewportWidth===e.viewportWidth&&t?.scrollHeight===e.scrollHeight&&t?.scrollTop===e.scrollTop?t:e)},[])}}function EB(e,t){if(typeof e.childCount==`number`)return e.childCount;let n=t[e.id];return n===null?null:n??0}function DB(e){let t=e.extension||(e.name&&e.name.includes(`.`)?e.name.split(`.`).pop():void 0)||(e.type?.startsWith(`image/`)?(e.type.split(`/`)[1]?.split(`;`)[0])?.trim():void 0);return!!(t&&MF.includes(t.toLowerCase()))}function OB(e,t){if(!e)return``;let n=new Date(e);if(Number.isNaN(n.getTime()))return``;let r=[t(`months.january`),t(`months.february`),t(`months.march`),t(`months.april`),t(`months.may`),t(`months.june`),t(`months.july`),t(`months.august`),t(`months.september`),t(`months.october`),t(`months.november`),t(`months.december`)];return t(`Added`,{date:`${n.getDate()} ${r[n.getMonth()]} ${n.getFullYear()}`})}var kB={getId:e=>e.id,buildSignature:(e,t)=>function(e,t){let n=!!e.isFolder,r=n?EB(e,t.folderFileCounts):null,i=n?r===null?`u`:String(r):`0`,a=OB(e.date,t.t),o=!n&&e.size?String(e.size):``,s=e.thumbnailUrl||e.thumbnail,c=e.url&&DB(e)?e.url:``,l=t.previewFallbackToFileUrl?c:``,u=[!1!==t.features?.enableEdit,!1!==t.features?.enableMoveFolder,!1!==t.features?.enableMoveItem,!1!==t.features?.enableCopyFolder,!1!==t.features?.enableCopyItem,!1!==t.features?.enableRenameFolder,!1!==t.features?.enableRenameFile,!1!==t.features?.enableDelete].join(`|`),d=[s||``,l,c].join(`::`);return[e.id,e.name,e.folderId,e.type||``,e.extension||``,d,d,e.dimensions||``,o,a,n?`1`:`0`,i,u].join(`::`)}(e,t),buildRowModel:(e,t,n)=>{let r=!!e.isFolder,i=r?EB(e,t.folderFileCounts):null,a=r&&i===null?`—`:r?`${i} ${i===1?t.t(`item`):t.t(`items`)}`:``,o=e.dimensions||``,s=!r&&e.size?zL(e.size):``,c=r?t.t(`Folder`):function(e){return e.extension||e.name.split(`.`).pop()?.toLowerCase()||(e.url?(e.url.split(`?`)[0].split(`/`).pop()?.split(`.`).pop())?.toLowerCase():``)||``}(e),l=OB(e.date,t.t),u=r?a:[o,s,c].filter(Boolean).join(` • `),d=e.thumbnailUrl||e.thumbnail,f=e.url&&DB(e)?e.url:void 0,p=t.previewFallbackToFileUrl?f:void 0;return{id:n.id,signature:n.signature,item:e,file:e,isFolder:r,nameText:e.name||t.t(`No name`),folderItemsText:a,dimensionsText:o,sizeText:s,typeText:c,dateText:l,gridInfoText:u,thumbnailSrc:d,previewSrc:p,lightboxSrc:f,canEdit:!r&&!1!==t.features?.enableEdit&&DB(e),canMove:r?!1!==t.features?.enableMoveFolder:!1!==t.features?.enableMoveItem,canCopy:r?!1!==t.features?.enableCopyFolder:!1!==t.features?.enableCopyItem,canRename:r?!1!==t.features?.enableRenameFolder:!1!==t.features?.enableRenameFile,canDelete:!1!==t.features?.enableDelete}}},AB=a.default.memo(({files:e,searchTerm:t,handleSearch:n,sortBy:r,sortOrder:i,handleSortOptionChange:o,pagination:s,setPagination:u,loading:d,handleItemClick:f,onClearSelection:p,onRename:m,onDelete:h,onCopy:g,onMove:_,showRenameModal:v,showDeleteConfirm:y,showCopyModal:b,showMoveModal:x,onEdit:S,getFileData:C,handleAddFile:w})=>{let{t:T}=gL(),E=RR(),{DropZoneFileIcon:D,BigStockIcon:k,BigAIIcon:A,FolderIcon:j}=xR(),{options:M,actions:N,state:P}=yR(),{dataProviders:F,config:I}=M,L=I?.disablePagination,{setCurrentMenuFile:ee,setActiveLibraryItem:R}=N,te=P?.selectedFolder===`Trash`,ne=!1!==P?.multiSelect,{viewMode:z,setViewMode:re}=(()=>{let[e,t]=(0,a.useState)(()=>{try{return localStorage.getItem(xB)||`table`}catch{return`table`}}),n=(0,a.useCallback)(e=>{t(e);try{localStorage.setItem(xB,e)}catch{}},[]);return{viewMode:e,setViewMode:n,toggleViewMode:(0,a.useCallback)(()=>{n(e===`table`?`grid`:`table`)},[e,n])}})(),[ie,ae]=(0,a.useState)({}),[oe,se]=(0,a.useState)(!1),ce=(0,a.useRef)(0),le=(0,a.useRef)(null);(0,a.useEffect)(()=>{let e=window.matchMedia(`(max-width: 1199px)`),t=e=>{se(e.matches)};t(e);let n=e=>t(e);return typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n))},[]);let ue=(0,a.useMemo)(()=>I?.features||{},[I?.features]),de=I?.iconStrokeWidth,fe=I?.sortOptions,pe=(0,a.useMemo)(()=>fe?.length?new Set(fe):null,[fe]),me=`${r}-${i}`;(0,a.useEffect)(()=>{if(pe&&!pe.has(me)){let e=iB.find(e=>pe.has(e.value))?.value;e&&o(e)}},[pe,me,o]);let he=(0,a.useMemo)(()=>new Map(e.map(e=>[e.id,e])),[e]),{renderRows:ge,renderWindow:_e,hasAnyValidDate:ve,handleViewportChange:ye}=function({files:e,folderFileCounts:t,features:n,t:r,viewMode:i,previewFallbackToFileUrl:o}){let s=(0,a.useMemo)(()=>({folderFileCounts:t,features:n,t:r,previewFallbackToFileUrl:o}),[n,t,r,o]),[c,l]=(0,a.useState)(()=>5),u=(0,a.useMemo)(()=>{let t=e.length>150;return i===`table`?{enabled:t,estimatedItemSize:56,overscan:10,itemsPerLane:1,fallbackViewportHeight:800}:{enabled:t,estimatedItemSize:320,overscan:2,itemsPerLane:c,fallbackViewportHeight:800}},[e.length,c,i]),{engineOptions:d,handleViewportChange:f}=TB({totalCount:e.length,plan:u}),{rowModels:p,renderWindow:m}=wB({items:e,context:s,adapter:kB,options:d}),h=(0,a.useMemo)(()=>p.some(e=>!!e.dateText),[p]),g=(0,a.useCallback)(e=>{if(i===`grid`){let t=Math.max(1,Math.floor(e.viewportWidth/240));l(e=>e===t?e:t)}f(e)},[f,i]);return{rowModels:p,renderRows:m.rows,renderWindow:m,hasAnyValidDate:h,handleViewportChange:g}}({files:e,folderFileCounts:ie,features:ue,t:T,viewMode:z,previewFallbackToFileUrl:I?.previewFallbackToFileUrl}),be=(0,a.useCallback)(async e=>{try{if(F?.getChildrenCount)return await F.getChildrenCount(e===`folders`?void 0:e);if(F?.getFiles){let{files:t,pagination:n}=await F.getFiles({folderId:e===`folders`?void 0:e,itemType:`all`,page:L?void 0:1,limit:L?void 0:1});return L?Array.isArray(t)?t.length:0:n?.total??(Array.isArray(t)?t.length:0)}return 0}catch(t){if(t?.name===`StaleLoad`)return 0;let n=t;if(n?.status===404||n?.code===`FileNotFound`||n?.code===`path_folder_not_found`||n?.data?.code===`path_folder_not_found`||n?.data?.data?.status===404)return 0;let r=await gz({folderId:e,dataProviders:F,folders:Array.isArray(P.folders)?P.folders:[],pathHistory:P.pathHistory,t:T});return E.error({id:`FOLDER_CHILDREN_COUNT_FAILED`,message:T(`Failed to load folder items count in folder`,{folderName:r}),placement:`bottomRight`,innerException:t,notificationDedupe:!0,data:{folderId:e===`folders`?null:e,folderName:r,reason:t instanceof Error?t.message:String(t)}}),null}},[F,L,E,P.folders,P.pathHistory,T]),xe=(0,a.useCallback)(async()=>{let t=ce.current+1;ce.current=t;let n=e.filter(e=>e.isFolder);if(n.length===0)return void ae(e=>Object.keys(e).length===0?e:{});let r={},i=n.map(async e=>{typeof e.childCount==`number`?r[e.id]=e.childCount:r[e.id]=await be(e.id)});await Promise.all(i),ce.current===t&&ae(e=>{let t=Object.keys(e),n=Object.keys(r);return t.length===n.length&&t.every(t=>e[t]===r[t])?e:r})},[e,be]);(0,a.useEffect)(()=>{xe()},[xe]),(0,a.useEffect)(()=>{le.current&&ye(tB(le.current))},[e.length,ye,z]),(0,a.useEffect)(()=>{if(!le.current||typeof ResizeObserver>`u`)return;let e=le.current,t=new ResizeObserver(()=>{ye(tB(e))});return t.observe(e),()=>{t.disconnect()}},[ye]);let Se=(0,a.useCallback)(e=>{ye(tB(e))},[ye]);(0,a.useEffect)(()=>{let e=le.current;if(!e)return;let t=()=>{Se(e)},n=Qz(e);return n.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),()=>{n.forEach(e=>{e.removeEventListener(`scroll`,t)})}},[e.length,Se,z]);let Ce=(0,a.useCallback)((e,t)=>e!==t,[]),we=(0,a.useMemo)(()=>[...ne?[{key:`selection`,width:46,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(cB,{fileId:t.id})}]:[],{key:`preview`,width:60,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(fB,{item:t,variant:`table`,FolderIcon:j,getFileData:C,className:`${$.imagePreview} ${$.tableImagePreview}`,width:40,height:40})},{title:T(`Name`),width:`calc(100% - 430px)`,dataIndex:`nameText`,key:`name`,className:$.fileNameCol,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(bB,{item:t})},{title:T(`Dimensions`),key:`dimensions`,width:100,shouldCellUpdate:Ce,render:(e,t)=>t.dimensionsText&&(0,c.jsx)(`div`,{className:$.fileSize,children:t.dimensionsText})},{title:T(`Size`),key:`size`,width:90,shouldCellUpdate:Ce,render:(e,t)=>t.sizeText?(0,c.jsx)(`div`,{className:$.fileSize,children:t.sizeText}):null},{title:T(`Type`),key:`type`,width:90,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(`div`,{className:$.fileSize,children:t.typeText})},...ve?[{title:T(`Date`),dataIndex:`dateText`,key:`date`,width:200,shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(yB,{item:t})}]:[],{width:40,title:``,dataIndex:``,key:`x`,onCell:()=>({style:{padding:0}}),shouldCellUpdate:Ce,render:(e,t)=>(0,c.jsx)(uB,{item:t,variant:`table`,t:T,iconStrokeWidth:de,setCurrentMenuFile:ee,showMoveModal:x,showCopyModal:b,showRenameModal:v,showDeleteConfirm:y,onEdit:S})}],[j,C,ve,de,ne,S,ee,Ce,b,y,x,v,T]),Te=(0,a.useMemo)(()=>({body:{row:lB}}),[]),Ee=(0,a.useCallback)(e=>({onClick:t=>{if(t.stopPropagation(),t.preventDefault(),t.detail!==1)return;let n=t.target,r=!!n.closest(`.ant-checkbox-wrapper`),i=!!n.closest(`.tableMenuButton`),a=!!n.closest(`.ant-dropdown-menu`);r||mB(n)||i||a||(e.isFolder?f(e.file):M.onEditorOk&&hB(e.file)&&M.onEditorOk(e.file))}}),[f,M]),De=z===`table`?(0,c.jsx)(vB,{rows:ge,columns:we,topOffset:_e.topOffset,bottomOffset:_e.bottomOffset,onRow:Ee,components:Te}):(0,c.jsx)(_B,{rows:ge,topOffset:_e.topOffset,bottomOffset:_e.bottomOffset,t:T,iconStrokeWidth:de,FolderIcon:j,handleItemClick:f,setCurrentMenuFile:ee,showMoveModal:x,showCopyModal:b,showRenameModal:v,showDeleteConfirm:y,onEdit:S,onEditorOk:M.onEditorOk,getFileData:C,showSelectionCheckbox:ne});t&&!e.length&&(De=(0,c.jsx)(ER,{}));let Oe=(I?.availableImageExtensions)?.map(e=>`.`+e).join(`, `),ke=(0,c.jsxs)(`div`,te?{className:`${$.noFiles} ant-layout-sider-light`,children:[(0,c.jsx)(O,{size:48,className:$.noFilesIcon}),(0,c.jsx)(`div`,{className:`${$.textTitle_trash} ant-menu-submenu-title`,children:T(`Trash is empty`)}),(0,c.jsx)(`div`,{className:`${$.textDescription_trash} ant-menu-submenu-title`,children:T(`Deleted files will be displayed here`)})]}:{className:$.uploadContainer,children:[(0,c.jsxs)(`div`,{className:`${$.uploadArea} `,onClick:w,children:[(0,c.jsx)(`div`,{className:$.uploadIcon,children:(0,c.jsx)(D,{})}),(0,c.jsx)(`div`,{className:$.textTitle,children:T(`Click here to select a file`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:T(`Supported files:`)+` `+(Oe||`jpeg, .svg, .png`)})]}),(0,c.jsxs)(`div`,{className:$.buttons,children:[(0,c.jsxs)(`button`,{className:$.btnPhoto,onClick:()=>{R&&R(bF)},children:[(0,c.jsx)(`div`,{className:$.icon,children:(0,c.jsx)(k,{})}),(0,c.jsxs)(`div`,{className:$.blockText,children:[(0,c.jsx)(`div`,{className:$.textTitle,children:T(`Stock`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:T(`Select an image from our library`)})]})]}),(0,c.jsxs)(`button`,{className:$.btnAi,onClick:()=>{R&&R(SF)},children:[(0,c.jsx)(`div`,{className:$.icon,children:(0,c.jsx)(A,{})}),(0,c.jsxs)(`div`,{className:$.blockText,children:[(0,c.jsx)(`div`,{className:$.textTitle,children:T(`AI generation`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:T(`Creating an image on demand`)})]})]})]})]});return(0,c.jsx)(`div`,{className:`content-layout ${$.contentLayout}`,children:d||e?.length!==0||t?(0,c.jsxs)(`div`,{className:$.tableContainer,children:[(0,c.jsx)(sB,{files:e,filesById:he,currentSortOption:me,isSmallScreen:oe,iconStrokeWidth:de,multiSelectEnabled:ne,features:ue,viewMode:z,setViewMode:re,handleSearch:n,handleSortOptionChange:o,sortOptions:fe,onClearSelection:p,onRename:m,onDelete:h,onCopy:g,onMove:_,onEdit:S,t:T}),(0,c.jsxs)(`div`,{ref:le,className:$.filesContainer,children:[De,d?(0,c.jsx)(`div`,{className:$.filesLoadingOverlay,"aria-busy":`true`,"aria-live":`polite`,children:(0,c.jsx)(l.Spin,{size:`large`})}):null]}),!L&&s.total>s.pageSize&&(0,c.jsx)(`div`,{className:$.paginationContainer,children:(0,c.jsx)(l.Pagination,{current:s.current,pageSize:s.pageSize,total:s.total,onChange:(e,t)=>u({current:e,pageSize:t,total:s.total}),showSizeChanger:!0,showTotal:e=>T(`total pages`,{total:e})})})]}):(0,c.jsx)(`div`,{className:$.emptyStateWrapper,children:ke})})});AB.displayName=`FileContent`;var jB=`folderTree`,MB=`emptyFolderContainer`,NB=`folderItemContainer`,PB=`folderLabel`,FB=`folderLabelItem`,IB=`fileCount`,LB=`foldersTitle`,RB=`foldersTitleItem`,zB=`folderMenu`,BB=({selectedFolder:e,onSelect:t,onExpand:n,generateMenuItems:r,fetchChildFolders:i,disabledFolders:o=[],showFileCounts:s=!1,folderFileCounts:u={},className:d=``,expandedKeys:f,setExpandedKeys:p,showTrashFolder:m=!1,mode:h=`navigation`,defaultExpandAll:g=!1})=>{let{t:_}=gL(),{options:v}=yR(),{config:y}=v,{ExpandArrowIcon:b,CollapseArrowIcon:x,CollapseFolderIcon:S,ExpandFolderIcon:C,EmptyFolderIcon:w}=xR(),T=(0,a.useCallback)(e=>{let t=[],n=e=>{e.forEach(e=>{t.push(e.key),e.children&&n(e.children)})};return n(e),t},[]),[E,O]=(0,a.useState)(()=>g||h===`selection`&&g?T(r()):[]),k=f===void 0?E:f,A=p===void 0?O:p;(0,a.useEffect)(()=>{if(g||h===`selection`&&g){let e=T(r());f===void 0&&O(e)}},[g,h,r,T,f]);let j=(0,a.useCallback)(async e=>{let n=e[0];n&&n!==`empty`&&!n.endsWith(`_input`)&&(t?.(e),await i?.(n===`folders`?null:n))},[t,i]),M=(0,a.useCallback)(async(e,t)=>{if(A(e),n?.(e,t),y?.folderTreeLoading!==`lazy`)return;let r=t?.node?.key||void 0;if(r&&r!==`folders`)try{await i?.(r)}catch{}},[y?.folderTreeLoading,i,n,A]),N=(0,a.useCallback)(()=>{let t=r(),n=e=>e.filter(e=>e.key!==`Trash`).map(e=>Object.assign(Object.assign({},e),{children:e.children?n(e.children):void 0})),i=m?n(t):t,a=t=>{h===`selection`||(k.includes(t)&&e===t?A(k.filter(e=>e!==t)):k.includes(t)||A([...k,t])),j([t])},l=i.length===0||i.length===1&&(!i[0].children||i[0].children.length===0),d=e=>{let t=s?u[e.key]:void 0,n=s&&t===null?null:s&&t!=null?t:0,r=k.includes(e.key),i=o.includes(e.key),l=e.children?.length?(0,c.jsx)(r?S:C,{size:20,strokeWidth:y?.iconStrokeWidth}):(0,c.jsx)(w,{size:20,strokeWidth:y?.iconStrokeWidth}),f=(0,c.jsxs)(`div`,{className:`${NB} folder-item-container`,onClick:()=>!i&&a(e.key),style:{opacity:i?.5:1,cursor:i?`not-allowed`:`pointer`},children:[(0,c.jsxs)(`div`,{className:PB,children:[e.icon===void 0?l:e.icon,(0,c.jsx)(`span`,{className:FB,children:e.label})]}),s&&(0,c.jsx)(`div`,{className:IB,title:n===null?void 0:`${n} ${_(n===1?`item`:`items`)}`,children:n===null?`—`:n})]});return{key:e.key,title:f,children:e.children?.map(d),disabled:i}},f=(0,c.jsx)(`div`,{className:LB,onClick:()=>a(`folders`),children:(0,c.jsxs)(`div`,{className:RB,children:[(0,c.jsx)(k.includes(`folders`)?S:C,{size:20,strokeWidth:y?.iconStrokeWidth}),(0,c.jsx)(`span`,{className:`${FB} folder-label-item`,children:i[0]?.key===`folders`?i[0].label:_(`Folders`)})]})}),p=()=>({key:`Trash`,title:(0,c.jsx)(`div`,{className:LB,onClick:()=>a(`Trash`),children:(0,c.jsxs)(`div`,{className:RB,children:[(0,c.jsx)(D,{size:20,strokeWidth:y?.iconStrokeWidth}),(0,c.jsx)(`span`,{className:FB,children:_(`Trash`)})]})}),children:void 0});if(l){if(!m)return[{key:`empty`,title:(0,c.jsx)(`div`,{className:MB,children:_(`No folders yet`)}),disabled:!0}];let e=[];return i.length>0&&i[0].key===`folders`&&e.push({key:`folders`,title:f,children:[]}),e.push(p()),e}if(i.length>0&&i[0].key===`folders`){let e=[{key:`folders`,title:f,children:i[0].children?.map(d)}];return m&&e.push(p()),e}return i.map(d)},[r,k,S,y?.iconStrokeWidth,C,_,e,j,s,u,w,o,m,h,A]),P=(0,a.useMemo)(()=>N(),[N]);return(0,c.jsx)(l.Tree,{className:`${jB} ${zB} ${d}`,selectedKeys:e?[e]:[],expandedKeys:k,onSelect:j,onExpand:M,treeData:P,switcherIcon:({expanded:e})=>(0,c.jsx)(e?x:b,{}),showLine:!1,focusable:h!==`selection`})},VB=({style:e={},wrap:t=!1})=>(0,c.jsx)(l.Space,{size:`large`,style:Object.assign({width:`100%`,height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},e),wrap:t,children:(0,c.jsx)(l.Spin,{})}),HB={formFooter:`formFooter`,folderButton:`folderButton`,foldersWrapper:`foldersWrapper`,formItem:`formItem`,folderToolsField:`folderToolsField`,inputButtonOk:`inputButtonOk`,permanentDeleteWarning:`permanentDeleteWarning`,clearTrashProgress:`clearTrashProgress`,progressText:`progressText`,closeIcon:`closeIcon`,modalContentWithLoader:`modalContentWithLoader`,modalLoaderOverlay:`modalLoaderOverlay`},UB=({folderId:e,activeFormField:t,EmptyFolderIcon:n,targetForm:r,handleModalOk:i,onComplete:a,setIsLoading:o,t:s})=>(0,c.jsx)(l.Form.Item,{className:`form-item form-item-moveto `+(t===e?`form-item_active`:``),name:`folderName`,rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(s(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{className:`form-input`,autoFocus:!0,onFocus:e=>e.stopPropagation(),prefix:(0,c.jsx)(n,{style:{marginRight:6}}),suffix:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Tooltip,{placement:`top`,title:`Clean`,children:(0,c.jsx)(l.Button,{icon:(0,c.jsx)(d.CloseOutlined,{style:{fontSize:10}}),className:HB.inputButtonClose,type:`text`,onClick:()=>{r.setFieldsValue({folderName:``})}})}),(0,c.jsx)(l.Button,{className:HB.inputButtonOk,type:`text`,onClick:()=>{o(!0),i(r).then(e=>{a(e?.id)}).finally(()=>o(!1))},children:s(`Create`)})]})})});function WB({folders:e,selectedFolder:t,EmptyFolderIcon:n,handleCreateFolderModalOk:r,setIsLoading:i,t:o}){let[s,u]=a.default.useState(``),d=a.default.useCallback((e,t)=>a=>(0,c.jsx)(UB,{folderId:a,activeFormField:s,EmptyFolderIcon:n,targetForm:e,handleModalOk:r,onComplete:t,setIsLoading:i,t:o},a),[n,s,r,i,o]),f=a.default.useCallback(e=>{let{folderId:t,targetForm:n,onTreeSelect:r,onComplete:i}=e;return{handleAddFolder:e=>{e.preventDefault(),e.stopPropagation(),u(t),n.setFieldsValue({folderName:o(`New folder`),targetFolder:t})},handleSelectFolder:e=>{e.preventDefault(),e.stopPropagation(),r([t]).then(()=>i(t))}}},[o]);return{activeFormField:s,setActiveFormField:u,generateMenuItemsFromFolders:a.default.useCallback(n=>{let{targetForm:r,onTreeSelect:i,onComplete:a,actionButtonText:u}=n,p=d(r,a),m=Array.isArray(e)?e:[],h=(e=null,n=new Set)=>m.filter(t=>{let n=e===null&&!t.parentId,r=t.parentId===e;return n||r}).map(e=>{if(n.has(e.id))return{key:e.id,label:`${e.name} (циклическая ссылка)`};let o=new Set(n);o.add(e.id);let d=h(e.id,o),{handleAddFolder:m,handleSelectFolder:g}=f({folderId:e.id,targetForm:r,onTreeSelect:i,onComplete:a}),_=s===e.id?[{key:`${e.id}_input`,label:p(e.id),icon:null},...d]:d;return{key:e.id,label:(0,c.jsxs)(c.Fragment,{children:[e.name,t!==e.id&&(0,c.jsxs)(`div`,{className:`${HB.folderToolsField} folder-tools-field`,children:[(0,c.jsx)(l.Button,{onClick:m,children:`+`}),(0,c.jsx)(l.Button,{onClick:g,children:u})]})]}),children:_}}),g=h(),{handleAddFolder:_,handleSelectFolder:v}=f({folderId:`folders`,targetForm:r,onTreeSelect:i,onComplete:a}),y=s===`folders`?[{key:`folders_input`,label:p(`folders`),icon:null},...g]:g;return[{key:`folders`,label:(0,c.jsxs)(c.Fragment,{children:[o(`Folders`),t!==`folders`&&t!==null&&(0,c.jsxs)(`div`,{className:`${HB.folderToolsField} folder-tools-field`,children:[(0,c.jsx)(l.Button,{onClick:_,children:`+`}),(0,c.jsx)(l.Button,{onClick:v,children:u})]})]}),children:y}]},[s,d,f,e,t,o])}}var GB=(0,a.memo)(({folderId:e,activeFormField:t,EmptyFolderIcon:n,targetForm:r,handleModalOk:i,onComplete:o,t:s,setIsLoading:u,defaultFolderName:d})=>{let f=(0,a.useCallback)(()=>{u(!0),i(r).then(e=>o(e?.id)).finally(()=>u(!1))},[i,r,o,u]);return(0,c.jsx)(l.Form.Item,{className:`form-item form-item-moveto `+(t===e?`form-item_active`:``),name:`folderName`,initialValue:d,rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(s(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{className:`form-input`,autoFocus:!0,prefix:(0,c.jsx)(n,{style:{marginRight:6}}),suffix:(0,c.jsx)(l.Button,{className:HB.inputButtonOk,type:`text`,onClick:()=>{u(!0),f()},children:s(`Create`)})})})});GB.displayName=`CustomFolderInput`;var KB=({isModalVisible:e,handleModalOk:t,handleModalCancel:n,form:r,selectedFolder:o,folders:s,isUrlModalVisible:u,setIsUrlModalVisible:f,handleAddFileByUrl:p,urlForm:m,isRenameModalVisible:h,handleRenameOk:g,handleRenameCancel:_,renameForm:v,fileToRename:y,files:b,isMoveModalVisible:x,handleMoveOk:S,handleMoveCancel:C,moveForm:w,selectedFiles:T,isRenameFolderModalVisible:E,handleRenameFolderOk:D,handleRenameFolderCancel:O,renameFolderForm:k,folderToRename:A,isCopyModalVisible:j,handleCopyOk:M,handleCopyCancel:N,copyForm:P,isDeleteConfirmVisible:F,handleDeleteConfirmOk:I,handleDeleteConfirmCancel:L,isClearTrashConfirmVisible:ee,handleClearTrashConfirm:R,handleClearTrashCancel:te,fetchChildFolders:ne})=>{let{t:z}=gL(),{state:re,actions:ie,options:ae}=yR(),{setCurrentMenuFile:oe}=ie,{config:se,getModalContainer:ce}=ae,{currentMenuFile:le}=re,ue=l.Form.useWatch(`folderName`,r),{EmptyFolderIcon:de}=xR(),[fe,pe]=(0,a.useState)(!1),me=(0,a.useMemo)(()=>(se?.defaultFolderName)?.trim()||z(`New folder`),[se?.defaultFolderName,z]),he=!ue||String(ue).trim().length===0,ge=(0,a.useMemo)(()=>Array.isArray(b)?b:[],[b]),_e=y?ge.find(e=>e.id===y)?.name:``,ve=Array.isArray(s)?s:[],ye=A?ve.find(e=>e.id===A)?.name:``,{activeFormField:be,setActiveFormField:xe,generateMenuItemsFromFolders:Se}=WB({folders:ve,selectedFolder:o,EmptyFolderIcon:de,handleCreateFolderModalOk:t,setIsLoading:e=>pe(!!e),t:z});(0,a.useEffect)(()=>{if(F){let e=setTimeout(()=>{let e=document.querySelector(`.deleteModal`);if(e){let t=e.querySelector(`.ant-modal-footer`);if(t){let e=t.querySelector(`.ant-btn-primary`);e&&e.focus()}}},100);return()=>clearTimeout(e)}},[F]);let Ce=(y?ge.find(e=>e.id===y):null)?.isFolder||y?.startsWith(`folder_`),we=(0,a.useCallback)(async e=>{e.length>0&&(w.setFieldsValue({targetFolder:e[0]}),be!==e[0].toString()&&xe(``))},[w,be,xe]),Te=(0,a.useCallback)(async e=>{e.length>0&&(P.setFieldsValue({targetFolder:e[0]}),be!==e[0].toString()&&xe(``))},[be,P,xe]),Ee=(0,a.useCallback)(async e=>{pe(!0);try{await S(e)}finally{pe(!1)}},[S]),De=(0,a.useCallback)(async e=>{pe(!0);try{await M(e)}finally{pe(!1)}},[M]),Oe=(0,a.useMemo)(()=>{let e=Array.from(T).filter(e=>ge.find(t=>t.id===e)?.isFolder||s.some(t=>t.id===e));return o&&o!==`folders`?e.push(o):o&&o!==`folders`||e.push(`folders`),e},[T,ge,s,o]);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Creating a new folder`)}),open:e,onOk:()=>t(),onCancel:n,okText:z(`Create`),cancelText:z(`Cancel`),okButtonProps:{disabled:he,loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>pe(!1),centered:!0,getContainer:ce,children:(0,c.jsxs)(l.Form,{form:r,layout:`vertical`,children:[(0,c.jsx)(l.Form.Item,{name:`folderName`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(`Folder name`)}),rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(z(`Enter the name of the folder`))):Promise.resolve()}],initialValue:me,className:`form-item`,style:{marginBottom:5},children:(0,c.jsx)(l.Input,{autoFocus:!0,className:`form-input`,disabled:fe,placeholder:z(`Enter the name`),onPressEnter:async()=>{pe(!0);try{await r.validateFields(),he||await t()}catch{pe(!1)}}})}),(0,c.jsx)(`div`,{children:o&&o!==`folders`?(0,c.jsxs)(`p`,{className:`fm-note`,children:[z(`A folder will be created inside:`),` `,ve.find(e=>e.id===o)?.name||z(`selected folder`),`.`]}):(0,c.jsx)(`p`,{className:`fm-note`,children:z(`The folder will be created in the root directory.`)})})]})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Upload file by URL`)}),open:u,onOk:async()=>{pe(!0);try{let e=await m.validateFields();await p(String(e.fileUrl??``).trim(),void 0,void 0,`uploadByUrl`)}catch{}finally{pe(!1)}},onCancel:()=>f(!1),okText:z(`Download`),okButtonProps:{loading:fe},cancelText:z(`Cancel`),cancelButtonProps:{disabled:fe},afterClose:()=>pe(!1),centered:!0,getContainer:ce,children:(0,c.jsx)(l.Form,{form:m,layout:`vertical`,children:(0,c.jsx)(l.Form.Item,{name:`fileUrl`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(`File URL`)}),rules:[{required:!0,message:z(`Enter the URL of the image`)},{validator:(e,t)=>{if(!t||!String(t).trim())return Promise.resolve();try{return rz(String(t),z),Promise.resolve()}catch(e){return Promise.reject(Error(e instanceof Error?e.message:z(`The specified URL is not valid.`)))}}}],validateTrigger:`onBlur`,className:`form-item`,children:(0,c.jsx)(l.Input,{className:`form-input`,placeholder:`https://example.com/image.jpg`,autoFocus:!0,disabled:fe,onPressEnter:async()=>{pe(!0);try{let e=await m.validateFields();await p(String(e.fileUrl??``).trim(),void 0,void 0,`uploadByUrl`)}catch{}finally{pe(!1)}}})})})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:Ce?`${z(`Rename folder`)} ${_e}`:z(`Rename file`,{currentFileName:_e})}),open:h,onOk:g,okText:z(`Rename`),okButtonProps:{loading:fe},onCancel:_,cancelText:z(`Cancel`),cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1),oe&&oe(``)},centered:!0,getContainer:ce,children:(0,c.jsx)(l.Form,{form:v,layout:`vertical`,children:(0,c.jsx)(l.Form.Item,{name:`newFileName`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(Ce?`New folder name`:`New file name`)}),rules:[{required:!0,message:z(Ce?`Enter a new folder name`:`Enter a new file name`)}],className:`form-item`,children:(0,c.jsx)(l.Input,{autoFocus:!0,className:`form-input`,disabled:fe,onPressEnter:async()=>{pe(!0);try{await v.validateFields(),g()}catch{pe(!1)}}})})})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Move to`)}),open:x,onCancel:C,footer:(0,c.jsxs)(`div`,{className:HB.formFooter,children:[(0,c.jsxs)(l.Button,{className:HB.folderButton,onClick:()=>{let e=o??`folders`;xe(e),w.setFieldsValue({folderName:me,targetFolder:e})},loading:fe,children:[(0,c.jsx)(i.o,{size:18,strokeWidth:se?.iconStrokeWidth}),z(`Create folder`)]}),(0,c.jsx)(l.Button,{type:`primary`,className:HB.folderButton,onClick:C,loading:fe,children:z(`Done`)})]}),afterClose:()=>{oe&&oe(``),xe(``),pe(!1)},loading:fe,centered:!0,getContainer:ce,children:(0,c.jsxs)(`div`,{className:HB.modalContentWithLoader,children:[fe&&(0,c.jsx)(`div`,{className:HB.modalLoaderOverlay,children:(0,c.jsx)(VB,{})}),(0,c.jsx)(l.Form,{form:w,layout:`vertical`,initialValues:{targetFolder:`folders`,folderName:me,is_force_create:!1},children:(0,c.jsxs)(`div`,{className:HB.foldersWrapper,children:[(0,c.jsx)(l.Form.Item,{name:`targetFolder`,rules:[{required:!0,message:z(`Select the destination folder`)}],className:HB.formItem,children:(0,c.jsx)(BB,{onSelect:we,generateMenuItems:()=>Se({targetForm:w,onTreeSelect:we,onComplete:Ee,actionButtonText:z(`Move here`)}),fetchChildFolders:ne,disabledFolders:Oe,mode:`selection`,className:`folderSelectionTree`,defaultExpandAll:!0})}),(0,c.jsx)(l.Form.Item,{name:`folderName`,style:{display:`none`},rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(z(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{})}),(0,c.jsx)(l.Form.Item,{name:`is_force_create`,style:{display:`none`},children:(0,c.jsx)(l.Input,{})})]})})]})}),(0,c.jsx)(l.Modal,{title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Copy to folder`)}),open:j,onCancel:N,footer:(0,c.jsxs)(`div`,{className:HB.formFooter,children:[(0,c.jsxs)(l.Button,{className:HB.folderButton,onClick:()=>{let e=o??`folders`;xe(e),P.setFieldsValue({folderName:me,targetFolder:e})},loading:fe,children:[(0,c.jsx)(i.o,{size:18,strokeWidth:se?.iconStrokeWidth}),z(`Create folder`)]}),(0,c.jsx)(l.Button,{type:`primary`,className:HB.folderButton,onClick:N,loading:fe,children:z(`Done`)})]}),afterClose:()=>{oe&&oe(``),xe(``),pe(!1)},loading:fe,centered:!0,getContainer:ce,children:(0,c.jsxs)(`div`,{className:HB.modalContentWithLoader,children:[fe&&(0,c.jsx)(`div`,{className:HB.modalLoaderOverlay,children:(0,c.jsx)(VB,{})}),(0,c.jsx)(l.Form,{form:P,layout:`vertical`,initialValues:{targetFolder:`folders`,folderName:me,is_force_create:!1},children:(0,c.jsxs)(`div`,{className:HB.foldersWrapper,children:[(0,c.jsx)(l.Form.Item,{name:`targetFolder`,rules:[{required:!0,message:z(`Select the destination folder`)}],className:HB.formItem,children:(0,c.jsx)(BB,{onSelect:Te,generateMenuItems:()=>Se({targetForm:P,onTreeSelect:Te,onComplete:De,actionButtonText:z(`Copy here`)}),fetchChildFolders:ne,disabledFolders:Oe,mode:`selection`,className:`folderSelectionTree`,defaultExpandAll:!0})}),(0,c.jsx)(l.Form.Item,{name:`folderName`,style:{display:`none`},rules:[{required:!0,validator:(e,t)=>typeof t==`string`&&t.trim().length===0?Promise.reject(Error(z(`Enter the name of the folder`))):Promise.resolve()}],children:(0,c.jsx)(l.Input,{})}),(0,c.jsx)(l.Form.Item,{name:`is_force_create`,style:{display:`none`},children:(0,c.jsx)(l.Input,{})})]})})]})}),(0,c.jsx)(l.Modal,{title:(0,c.jsxs)(`div`,{className:`modal-title`,children:[z(`Rename folder`),` `,ye]}),open:E,onOk:D,onCancel:O,okText:z(`Rename`),cancelText:z(`Cancel`),okButtonProps:{loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1),oe&&oe(``)},centered:!0,getContainer:ce,children:(0,c.jsx)(l.Form,{form:k,layout:`vertical`,children:(0,c.jsx)(l.Form.Item,{name:`newFolderName`,label:(0,c.jsx)(`div`,{className:`form-label`,children:z(`New folder name`)}),rules:[{required:!0,message:z(`Enter a new folder name`)}],className:`form-item`,children:(0,c.jsx)(l.Input,{autoFocus:!0,className:`form-input`,disabled:fe,onPressEnter:async()=>{pe(!0);try{await k.validateFields(),D()}catch{pe(!1)}}})})})}),(0,c.jsx)(l.Modal,{className:`${HB.deleteModal} deleteModal`,title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(se?.enableTrashFolder&&o===`Trash`||!se?.enableTrashFolder?`Permanently delete`:`Move to Trash`)}),open:!!F,onOk:()=>{pe(!0);try{I&&I()}catch{pe(!1)}},onCancel:()=>L&&L(),okText:se?.enableTrashFolder&&o===`Trash`?z(`Delete permanently`):se?.enableTrashFolder?z(`Move to Trash`):z(`Delete`),cancelText:z(`Cancel`),okButtonProps:{danger:!se?.enableTrashFolder||o===`Trash`,loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1),oe&&oe(``)},closeIcon:(0,c.jsx)(d.CloseOutlined,{className:HB.closeIcon}),centered:!0,getContainer:ce,children:(()=>{let e=(le?[le]:Array.from(T||[])).map(e=>ge.find(t=>t.id===e)).filter(e=>!!e),t=e.filter(e=>e.isFolder||e.id.startsWith(`folder_`)),n=e.filter(e=>!(e.isFolder||e.id.startsWith(`folder_`))),r=e.length,i=t.length,a=n.length,s=!!se?.enableTrashFolder;if(!s||s&&o===`Trash`){let e;if(r===1&&i===1){let n=t[0];e=z(`delete_folder_permanent`,{name:n?.name||``,count:n?.childCount??0})}else e=i===0&&a>0?z(`delete_files_permanent`,{count:a}):z(`delete_mixed_permanent`,{total:r,folders:i,images:a});return(0,c.jsxs)(`div`,{children:[(0,c.jsx)(`div`,{children:e}),(0,c.jsx)(`p`,{className:HB.permanentDeleteWarning,children:z(`permanent_delete_warning`)})]})}if(r===1&&i===1){let e=t[0];return(0,c.jsx)(`div`,{children:z(`move_folder_to_trash`,{name:e?.name||``,count:e?.childCount??0})})}return(0,c.jsx)(`div`,i===0&&a>0?{children:z(`move_files_to_trash`,{count:a})}:{children:z(`move_mixed_to_trash`,{total:r,folders:i,images:a})})})()}),(0,c.jsxs)(l.Modal,{className:`${HB.deleteModal} deleteModal`,title:(0,c.jsx)(`div`,{className:`modal-title`,children:z(`Clear Trash`)}),open:!!ee,onOk:async()=>{pe(!0),R&&await R(),pe(!1)},onCancel:()=>te&&te(),okText:z(`Delete permanently`),cancelText:z(`Cancel`),okButtonProps:{danger:!0,loading:fe},cancelButtonProps:{disabled:fe},afterClose:()=>{pe(!1)},closeIcon:(0,c.jsx)(d.CloseOutlined,{className:HB.closeIcon}),centered:!0,getContainer:ce,children:[(0,c.jsx)(`div`,{children:z(`Are you sure you want to permanently delete all items from Trash?`)}),fe&&(0,c.jsxs)(`div`,{className:HB.clearTrashProgress,children:[(0,c.jsx)(l.Progress,{percent:99,status:`active`,showInfo:!1}),(0,c.jsx)(`div`,{className:HB.progressText,children:z(`Deleting items...`)})]})]})]})},qB={button:`button`,folderActions:`folderActions`,uploadButton:`uploadButton`,foldersContainer:`foldersContainer`,buttonWrapper:`buttonWrapper`,uploadButtonTitle:`uploadButtonTitle`},JB=(0,a.memo)((0,a.forwardRef)(({selectedFolder:e,generateMenuItems:t,onFolderSelect:n,folders:r,fetchChildFolders:o,handleAddFile:s,setIsUrlModalVisible:u,handleCreateFolder:f,activeLibraryItem:m,setActiveLibraryItem:h},g)=>{let _=(0,a.useMemo)(()=>Array.isArray(r)?r:[],[r]),{t:v}=gL(),S=RR(),[C,w]=(0,a.useState)({}),{options:E,state:D}=yR(),{dataProviders:O,config:k}=E,A=D.pathHistory,j=!1!==k?.features?.enableGif&&(!k?.enabledTabs||k.enabledTabs.includes(`gif`)),M=!1!==k?.features?.enableStockImages&&(!k?.enabledTabs||k.enabledTabs.includes(`stock`)),N=!1!==k?.features?.enableIconStock&&(!k?.enabledTabs||k.enabledTabs.includes(`icons`)),P=!1!==k?.features?.enableQrBarcodeTab&&(!k?.enabledTabs||k.enabledTabs.includes(`codes`)),F=(0,a.useCallback)(e=>{let t=[],n=e=>{e.forEach(e=>{t.push(e.key),e.children&&n(e.children)})};return n(e),t},[]),[I,L]=(0,a.useState)(()=>!0===k?.expandAllFoldersOnInit&&k?.folderTreeLoading!==`lazy`?F(t()):!0===k?.expandRootFolderOnInit?[`folders`]:[]),ee=(0,a.useRef)(!1),R=(0,a.useRef)(!1);(0,a.useEffect)(()=>{ee.current||k?.folderTreeLoading===`lazy`&&!0===k?.expandRootFolderOnInit&&(ee.current=!0,(async()=>{try{await o?.(null)}catch{}})())},[k?.folderTreeLoading,k?.expandRootFolderOnInit,o]),(0,a.useEffect)(()=>{!0===k?.expandRootFolderOnInit&&Array.isArray(_)&&_.length>0&&(R.current||I&&I.length!==0||(R.current=!0,L([`folders`])))},[k?.expandRootFolderOnInit,_,I]),(0,a.useEffect)(()=>{if(!0===k?.expandAllFoldersOnInit&&k?.folderTreeLoading!==`lazy`){L(F(t()));return}!0===k?.expandRootFolderOnInit&&L(e=>e&&e.length>0?[...e]:[`folders`])},[_,t,F,k?.expandAllFoldersOnInit,k?.folderTreeLoading,k?.expandRootFolderOnInit]);let te=k?.disablePagination,ne=(0,a.useCallback)(async e=>{try{if(O?.getChildrenCount)return await O.getChildrenCount(e===`folders`?void 0:e);if(O?.getFiles){let{files:t,pagination:n}=await O.getFiles({folderId:e===`folders`?void 0:e,itemType:`all`,page:te?void 0:1,limit:te?void 0:1});return te?Array.isArray(t)?t.length:0:n?.total??(Array.isArray(t)?t.length:0)}return 0}catch(t){if(t?.name===`StaleLoad`)return 0;let n=t;if(n?.status===404||n?.code===`FileNotFound`||n?.code===`path_folder_not_found`||n?.data?.code===`path_folder_not_found`||n?.data?.data?.status===404)return 0;let r=await gz({folderId:e,dataProviders:O,folders:_,pathHistory:A,t:v});return S.error({id:`FOLDER_CHILDREN_COUNT_FAILED`,message:v(`Failed to load folder items count in folder`,{folderName:r}),placement:`bottomRight`,innerException:t,notificationDedupe:!0,data:{folderId:e===`folders`?null:e,folderName:r,reason:t instanceof Error?t.message:String(t)}}),null}},[O,te,S,A,_,v]),z=(0,a.useCallback)(async()=>{if(_.length===0)return;let e={};e.folders=await ne(`folders`);let t=_.map(async t=>{typeof t.childCount==`number`?e[t.id]=t.childCount:e[t.id]=await ne(t.id)});await Promise.all(t),w(e)},[_,ne]),re=(0,a.useCallback)(async e=>{let t=await ne(e);w(n=>Object.assign(Object.assign({},n),{[e]:t}))},[ne]);(0,a.useImperativeHandle)(g,()=>({refreshFileCounts:z}),[z]),(0,a.useEffect)(()=>{z()},[z]),(0,a.useEffect)(()=>{if(!e||e===`folders`)return;let t=(e,n=new Set)=>{if(n.has(e))return[];let r=_.find(t=>t.id===e);if(!r||!r.parentId)return[];let i=new Set(n);return i.add(e),[...t(r.parentId,i),r.parentId]},n=t(e);n.length>0?L(e=>{let t=new Set(e);return n.forEach(e=>t.add(e)),t.add(`folders`),Array.from(t)}):L(e=>e.includes(`folders`)?e:[...e,`folders`])},[e,_]);let ie=(0,a.useCallback)(async()=>{await s(),e?await re(e):await re(`folders`)},[s,e,re]),ae=[{key:vF,label:v(`My files`),icon:(0,c.jsx)(i.i,{size:20,strokeWidth:k?.iconStrokeWidth})},{key:yF,label:v(`GIF`),icon:(0,c.jsx)(b,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!j},{key:bF,label:v(`Stock images`),icon:(0,c.jsx)(p,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!M},{key:xF,label:v(`Icons`),icon:(0,c.jsx)(d.LikeOutlined,{size:20}),disabled:!N},{key:CF,label:v(`QR & Barcode`),icon:(0,c.jsx)(x,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!P},{key:SF,label:v(`AI`),icon:(0,c.jsx)(T,{size:20,strokeWidth:k?.iconStrokeWidth}),disabled:!k?.sseQuery}].filter(e=>!e.disabled),oe=(0,a.useCallback)(async e=>{let t=e[0];t&&t!==`empty`&&(m!==vF&&h(vF),n?.(t),await o?.(t))},[n,m,h,o]),se=(0,a.useCallback)(({key:e})=>{h(e)},[h]),ce=(0,a.useCallback)(async(e,t)=>{if(L(e),k?.folderTreeLoading!==`lazy`)return;let n=t?.node?.key||void 0;if(n&&n!==`folders`)try{await o?.(n)}catch(e){let t=await gz({folderId:n,dataProviders:O,folders:_,pathHistory:A,t:v});S.error({id:`FOLDER_CHILDREN_FETCH_FAILED`,message:v(`Failed to load subfolders in folder`,{folderName:t}),placement:`bottomRight`,innerException:e,notificationDedupe:!0,data:{folderId:n,folderName:t,reason:e instanceof Error?e.message:String(e)}})}},[k?.folderTreeLoading,O,o,S,A,_,v]);return(0,c.jsxs)(`div`,{className:`sidebar-container`,children:[(0,c.jsxs)(`div`,{className:qB.buttonWrapper,children:[(0,c.jsx)(l.Button,{type:`primary`,size:`large`,icon:(0,c.jsx)(i.n,{size:24,strokeWidth:k?.iconStrokeWidth}),onClick:ie,className:qB.uploadButton,style:{whiteSpace:`nowrap`},disabled:e===`Trash`,children:(0,c.jsx)(`span`,{className:qB.uploadButtonTitle,children:v(`Upload file`)})}),(0,c.jsx)(l.Button,{type:`primary`,size:`large`,icon:(0,c.jsx)(y,{size:24,strokeWidth:k?.iconStrokeWidth}),onClick:()=>u?.(!0),className:qB.uploadByURLButton,style:{whiteSpace:`nowrap`},disabled:e===`Trash`})]}),(0,c.jsx)(l.Menu,{className:`folder-menu`,items:ae,defaultSelectedKeys:[vF],onSelect:({key:e})=>se({key:e}),selectedKeys:[m]}),(0,c.jsx)(l.Divider,{className:qB.divider}),(0,c.jsxs)(`div`,{className:qB.foldersContainer,children:[(0,c.jsx)(BB,{selectedFolder:e,onSelect:oe,onExpand:ce,generateMenuItems:t,fetchChildFolders:o,showFileCounts:!0,folderFileCounts:C,expandedKeys:I,setExpandedKeys:L,showTrashFolder:k?.enableTrashFolder}),(0,c.jsx)(`div`,{className:qB.folderActions,children:(0,c.jsx)(l.Button,{onClick:e=>{e.stopPropagation(),f()},className:qB.button,icon:(0,c.jsx)(i.o,{size:18,strokeWidth:k?.iconStrokeWidth}),size:`middle`})})]})]})}));function YB(e){if(!this.backgroundColor)return;let t=this._getNonTransformedDimensions(),n=-t.x/2,r=-t.y/2,i=t.x,a=t.y,o=this.backgroundColor;if(typeof o==`string`||o instanceof CanvasGradient||o instanceof CanvasPattern)e.fillStyle=o,e.fillRect(n,r,i,a);else if(typeof o!=`object`||!(`type`in o)||o.type!==`linear`&&o.type!==`radial`){if(`source`in o&&(o.source instanceof HTMLImageElement||o.source instanceof HTMLCanvasElement))if(o.repeat){let t=e.createPattern(o.source,o.repeat);t&&(e.fillStyle=t,e.fillRect(n,r,i,a))}else e.drawImage(o.source,n,r,i,a)}else e.fillStyle=function(e,t,n,r){if(t.type===`linear`){let i=e.createLinearGradient(n+t.coords.x1,r+t.coords.y1,n+t.coords.x2,r+t.coords.y2);return t.colorStops.forEach(e=>i.addColorStop(e.offset,e.color)),i}if(t.type===`radial`){let i=e.createRadialGradient(n+t.coords.x1,r+t.coords.y1,t.coords.r1??0,n+t.coords.x2,r+t.coords.y2,t.coords.r2??0);return t.colorStops.forEach(e=>i.addColorStop(e.offset,e.color)),i}throw Error(`Unknown gradient type`)}(e,o,n,r),e.fillRect(n,r,i,a);this._removeShadow(e)}JB.displayName=`FolderSidebar`;var XB=`fm-pixie-editor`,ZB=new class{constructor(){this._container=document.createElement(`div`),this._instance=null,this._container.classList.add(XB),this._container.style.width=`100%`,this._container.style.height=`85vh`,this._container.style.minHeight=`400px`}get className(){return`.${XB}`}get canvas(){return this._instance?.state.canvasRef?.current}get tools(){return this._instance?.tools}isLoaded(){return!!this._instance}async _setConfig(e){var t;this._instance?await this._instance.resetEditor(e):this._instance=await iF.init(Object.assign(Object.assign({},e),{selector:this.className})),(t=this._instance).fabric&&t.fabric.on(`object:added`,e=>{let t=e.target;t&&t.name===`text`&&(t._renderBackground=YB)})}async show(e,t,n=t.firstChild){t.insertBefore(this._container,n),await this._setConfig(e),this._instance.open()}close(){var e;(e=this._container.parentNode)==null||e.removeChild(this._container)}};function QB(e,t){return e?t?`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:e:t}function $B(e){let t=typeof __webpack_public_path__<`u`?__webpack_public_path__:``;if(e&&/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(e))return e;let n=QB(t,e||``);return!n||n.startsWith(`/`)||/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(n)||(n=`/`+n),n}function eV(e,t){if(/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(t))return t;let n=QB($B(e),t||``);return!n||n.startsWith(`/`)||/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(n)?n:`/`+n}var tV,nV;(function(e){e.TOP=`top`,e.BOTTOM=`bottom`,e.HIDDEN=``})(tV||={}),function(e){e.TOP=`top`,e.BOTTOM=`bottom`,e.HIDDEN=``}(nV||={});var rV=(e,t=`image/png`)=>fetch(`data:${t};base64,${e}`).then(e=>e.blob());function iV(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error??Error(`Failed to convert blob to data URL`)),r.readAsDataURL(e)})}var aV=({visible:e,onClose:t,file:n,onSave:r,onSaveCopy:i})=>{let{t:o}=gL(),s=a.default.useRef(null),u=RR(),f=Oz(),{options:p,actions:m}=yR(),{i18n:h}=gL(),{config:g}=p,{setCurrentMenuFile:_}=m,{getFileData:v,resolveFileForEditByUrl:y}=f,[b,x]=a.default.useState(!1),[S,C]=a.default.useState(null),[w,T]=a.default.useState(``),[E,D]=a.default.useState(!1),[O,k]=a.default.useState(!1),[A,j]=a.default.useState(null),M=a.default.useRef(!1),N=a.default.useRef(),P=a.default.useRef(),F=a.default.useRef(`saveCopy`),I=a.default.useRef(void 0);N.current=r,P.current=i,a.default.useEffect(()=>{n&&!M.current&&(async()=>{if(I.current!==n)if(typeof n!=`object`){I.current=n,x(!0);try{if(n.startsWith(`data:`))j({thumbnail:n,saveWithoutFolder:!0});else{let e=await y(n);I.current===n&&j(e)}}catch{I.current===n&&(I.current=null),t?.()}finally{x(!1)}}else j(n)})()},[n,t,y]);let L=a.default.useCallback(async e=>{try{if(typeof e.thumbnail==`string`&&e.thumbnail.startsWith(`data:`))return e.thumbnail;let t=await v(e.id,!0);if(!t)throw Error(o(`Error loading image`));return new Promise(e=>{let n=new FileReader;n.onload=()=>e(n.result),n.readAsDataURL(t)})}catch(e){throw e}},[v,o]);a.default.useEffect(()=>{if(!S&&e&&A){let e=!1;return(async()=>{x(!0);try{let t=await L(A);if(!t||typeof t!=`string`||t.trim()===``)throw Error(`Invalid image data: empty or null`);if(!t.startsWith(`data:`))throw Error(`Invalid image data: not a valid data URL`);let n=t.match(/^data:([^;]+);base64,(.+)$/);if(!n)throw Error(`Invalid image data: malformed data URL format`);let[,r,i]=n;if(!r.startsWith(`image/`))throw Error(`Invalid image data: unsupported MIME type ${r}`);if(i.length<10)throw Error(`Invalid image data: base64 content too short`);if(!/^[A-Za-z0-9+/]+=*$/.test(i))throw Error(`Invalid image data: corrupted base64 content`);e||(C(t),T(iz(A,`image/png`).mimeType))}catch(n){e||(u.error({id:`IMAGE_DOWNLOAD_FAILED`,innerException:n,message:o(`Error loading image`),placement:`bottomRight`,data:{itemId:A?.id??void 0,itemName:A?.name??void 0,folderId:A?.folderId??null,thumbnail:A?.thumbnail}}),t?.())}finally{x(!1)}})(),()=>{e=!0}}},[A,L,S,t,o,e]);let ee=a.default.useCallback(async(e,t,n)=>{let r=await function(e,t){if(e===`json`)return new Blob([t],{type:`application/json`});if(e===`svg`)return new Blob([t],{type:`image/svg+xml`});let n=`image/${e}`;if(t.startsWith(`data:`)){let e=VF(t);return e&&e.startsWith(`image/`)&&(n=e),rV(t.replace(/data:image\/[^;]+;base64,/,``),BF(n))}return rV(t,BF(n))}(n,e),i=BF(r.type||`image/${n}`),a=g?.compessorUrl??g?.compressorUrl;if(i.startsWith(`image/`))try{let e=await hz(new File([r],t,{type:i}),{maxSizeMB:g?.compressMaxSize,maxWidthOrHeight:g?.compressMaxWidthOrHeight,mimeType:i,fileName:t,libURL:a,enableCompression:!!g&&i!==`image/gif`});r=e,i=e.type}catch{}return{blob:r,mimeType:i,thumbnailDataUrl:await iV(r)}},[g]),R=a.default.useCallback(async(e,t,n,r)=>{let i=r===`save`?N.current:P.current;if(!A||!i)return;let a=typeof A==`object`&&A?A:null,s=null;try{x(!0);let{blob:a,mimeType:c,thumbnailDataUrl:l}=await ee(e,t,n),u=Object.assign(Object.assign({},A),{thumbnail:l,size:a.size,date:new Date().toISOString().split(`T`)[0],type:c,folderId:A.folderId||``,name:A.name||t,extension:A.extension||(A.name||t).split(`.`).pop()?.toLowerCase()||``});s=u;let d=await i(u,{blob:a,mimeType:c,thumbnail:l,mode:r});if(d)return x(!1),d;throw Error(o(r===`saveCopy`?`Failed to save image copy`:`Failed to save changes`))}catch(e){let n=s??a;if(!e?.notificationShown){let i=WR(e),a=HR(i?.code,o)??i?.message??o(r===`saveCopy`?`Failed to save image copy`:`Error saving image`);u.error({id:r===`saveCopy`?`IMAGE_SAVE_COPY_FAILED`:`IMAGE_SAVE_FAILED`,message:a,placement:`bottomRight`,data:{itemId:n?.id??void 0,itemName:n?.name??t,folderId:n?.folderId??null,thumbnail:n?.thumbnail},innerException:e})}x(!1)}},[A,u,ee,o]),te=a.default.useCallback(async e=>{if(!ZB.isLoaded()||!A)return;F.current=e;let t=A.name||`edited-image`,n=iz(A,w);try{await ZB.tools?.export.save(t.replace(/\.[^/.]+$/,``),n.pixieFormat,az.QUALITY)}catch{try{let r=ZB.canvas,i=r?r.toDataURL(n.mimeType):null;i&&await R(i,t,n.extension,e)}catch{}}},[A,w,R]),ne=a.default.useCallback(async()=>{if(S&&e&&E&&!M.current)try{M.current=!0;let e=s.current,n=0;for(;n<20&&(e.clientWidth===0||e.clientHeight===0);)await new Promise(e=>setTimeout(e,50)),n++;let r=g?.locale?g?.locale.replace(`_`,`-`):`en`,i=matchMedia(kF).matches?DF:EF,a=g?.theme===OF?i:g?.theme,o=(g?.locale||h.language||`en`).split(`-`)[0].split(`_`)[0],l=(h.getResourceBundle(o,`translation`)||{}).pixie||{},u=e=>e.split(` `).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),f={};Object.entries(l).forEach(([e,t])=>{let n=u(e);f[n]=t,f[e]=t});let p={[r]:f},m=iz(A,w),_={selector:`#pixie-editor`,baseUrl:eV(g?.baseUrl||``,g?.assetsUrl||`assets/image-editor`),image:S,activeLanguage:r,languages:p,ui:{activeTheme:a,mode:`inline`,forceOverlayModeOnMobile:!1,visible:!0,menubar:{replaceDefaultItems:!0,position:tV.TOP,items:[{type:`undoWidget`,align:`left`},{type:`zoomWidget`,align:`center`,desktopOnly:!0},{type:`button`,align:`right`,desktopOnly:!0,icon:()=>(0,c.jsx)(d.HistoryOutlined,{style:{fontSize:20}}),action:e=>{e.togglePanel(`history`)}},{type:`button`,icon:()=>(0,c.jsx)(d.CloseOutlined,{style:{fontSize:20}}),align:`right`,desktopOnly:!0,action:t}]},nav:{position:nV.TOP}},tools:{export:{defaultFormat:m.pixieFormat,defaultQuality:az.QUALITY,defaultName:(A?.name)?.replace(/\.[^/.]+$/,``)||`image`},text:{replaceDefaultItems:!0,defaultText:`Handwriting`,items:[{family:`Inter`,src:`fonts/inter-v20-cyrillic_latin-regular.woff2`},{family:`Commissioner`,src:`fonts/commissioner-v24-cyrillic_latin-regular.woff2`},{family:`Montserrat Light`,src:`fonts/Montserrat-Light.woff2`},{family:`Montserrat Regular`,src:`fonts/Montserrat-Regular.woff2`},{family:`Montserrat Bold`,src:`fonts/Montserrat-Bold.woff2`},{family:`Montserrat Black`,src:`fonts/Montserrat-Black.woff2`},{family:`Roboto Light`,src:`fonts/Roboto-Light.woff2`},{family:`Roboto Regular`,src:`fonts/Roboto-Regular.woff2`},{family:`Roboto Bold`,src:`fonts/Roboto-Bold.woff2`},{family:`Roboto Black`,src:`fonts/Roboto-Black.woff2`},{family:`Lato Light`,src:`fonts/Lato-Light.woff2`},{family:`Lato Regular`,src:`fonts/Lato-Regular.woff2`},{family:`Lato Bold`,src:`fonts/Lato-Bold.woff2`},{family:`Lato Black`,src:`fonts/Lato-Black.woff2`},{family:`Rubik Light`,src:`fonts/Rubik-Light.woff2`},{family:`Rubik Regular`,src:`fonts/Rubik-Regular.woff2`},{family:`Rubik Bold`,src:`fonts/Rubik-Bold.woff2`},{family:`Rubik Black`,src:`fonts/Rubik-Black.woff2`},{family:`Bebas Neue Light`,src:`fonts/BebasNeueLight.woff2`},{family:`Bebas Neue Regular`,src:`fonts/BebasNeueRegular.woff2`},{family:`Bebas Neue Book`,src:`fonts/BebasNeueBook.woff2`},{family:`Bebas Neue Bold`,src:`fonts/BebasNeueBold.woff2`},{family:`Fira Sans`,src:`fonts/fira-sans-v11-latin-ext_latin_cyrillic-regular.woff2`},{family:`Lobster`,src:`fonts/Lobster.woff2`},{family:`Pacifico`,src:`fonts/pacifico-v23-cyrillic_latin-regular.woff2`},{family:`Playfair Display`,src:`fonts/playfair-display-v40-cyrillic_latin-regular.woff2`},{family:`Oswald`,src:`fonts/oswald-v57-cyrillic_latin-regular.woff2`},{family:`Caveat`,src:`fonts/caveat-v23-cyrillic_latin-regular.woff2`}]}},onSave:async function(e,t,n){try{return x(!0),await R(e,t,n,F.current)}catch(e){throw x(!1),e}}};try{k(!1),await ZB.show(_,s.current);let e=ZB.canvas;e&&e.focus(),k(!0),x(!1)}catch{}}catch(e){u.error({id:`EDITOR_INIT_FAILED`,message:o(`Error initializing editor`),placement:`bottomRight`,innerException:e}),M.current=!1,t?.()}},[A,w,S,e,E,g?.locale,g?.theme,g?.baseUrl,g?.assetsUrl,t,R,u,h,o]);a.default.useEffect(()=>{e&&S&&E&&ne()},[e,S,E,ne]),a.default.useEffect(()=>{if(!e){try{ZB.close()}catch{}x(!1),C(null),T(``),M.current=!1,D(!1),k(!1)}return()=>{try{ZB.close()}catch{}}},[e]);let z=!!A?.id&&!1!==g?.features?.enableUpdateFile;return(0,c.jsx)(l.Modal,{title:A?.name?o(`Editing: {{name}}`,{name:A.name}):o(`Editing image`),open:e,closeIcon:null,onCancel:t,afterOpenChange:e=>D(e),forceRender:!0,width:`100vw`,getContainer:p.getModalContainer,style:{top:0,height:`100vh`,maxWidth:`none`,padding:10},styles:{body:{height:`85vh`,padding:0}},footer:[(0,c.jsx)(l.Button,{onClick:t,disabled:!E||b,children:o(`Cancel`)},`cancel`),(0,c.jsx)(l.Button,{type:`primary`,onClick:()=>te(`saveCopy`),loading:b,children:o(`Save as copy and choose`)},`save-copy`),...z?[(0,c.jsx)(l.Button,{type:`primary`,onClick:()=>te(`save`),loading:b,children:o(`Save and choose`)},`save`)]:[]],mask:{closable:!1},destroyOnHidden:!1,afterClose:()=>{_&&_(``)},children:(0,c.jsxs)(`div`,{ref:s,style:{position:`relative`,width:`100%`,height:`100%`},children:[e&&!O?(0,c.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(255,255,255,0.45)`,backdropFilter:`blur(1px)`,pointerEvents:`all`,zIndex:10},children:(0,c.jsx)(`span`,{style:{fontSize:14,color:`#555`},children:o(`Loading editor...`)})}):null,b&&O&&(0,c.jsx)(VB,{style:{position:`absolute`,top:0,background:`var(--colorBgLayout)`,zIndex:100,opacity:.7}})]})})},oV=`uploadProgress`,sV=`uploadProgress__card`,cV=`uploadProgress__header`,lV=`uploadProgress__header-title`,uV=`uploadProgress__header-buttons`,dV=`uploadProgress__header-button`,fV=`uploadProgress__close-icon`,pV=`uploadProgress__body`,mV=`uploadProgress__common-error`,hV=`uploadProgress__common-error-row`,gV=`uploadProgress__common-error-hint`,_V=`uploadProgress__list-wrapper`,vV=`uploadProgress__status-icon`,yV=`uploadProgress__file-item`,bV=`uploadProgress__file-item--error`,xV=`uploadProgress__body--error`,SV=`uploadProgress__error-item`,CV=`uploadProgress__error-message`,wV=`uploadProgress__error-hint`,TV=`uploadProgress__file-avatar`,EV=`uploadProgress__file-info`,DV=`uploadProgress__file-name`,OV=`uploadProgress__file-size`,kV=`uploadProgress__progress-bar`,AV=`uploadProgress__minimized`,jV=`uploadProgress__minimized-button`,MV=`uploadProgress__file-list`,{Text:NV}=l.Typography,PV=({visible:e,files:t,totalFiles:n,completedFiles:r,onClose:i,onMinimize:a,onInsert:o,minimized:s=!1})=>{let{token:u}=l.theme.useToken(),{t:f}=gL();if(!e)return null;let p=e=>{switch(e){case`success`:return(0,c.jsx)(`div`,{className:vV,children:(0,c.jsx)(d.CheckCircleOutlined,{style:{color:u.colorSuccess}})});case`error`:return(0,c.jsx)(d.ExclamationCircleOutlined,{style:{color:u.colorError}});default:return(0,c.jsx)(d.FileImageOutlined,{style:{color:`#1890ff`}})}},m=e=>e.status===`success`?[(0,c.jsx)(l.Button,{type:`primary`,size:`small`,onClick:()=>o(e),children:f(`Insert`)},`insert`)]:[];if(s)return(0,c.jsx)(`div`,{className:AV,children:(0,c.jsx)(l.Button,{type:`primary`,size:`small`,onClick:a,className:jV,children:f(`Upload progress`,{completed:r,total:n})})});let h=t.filter(e=>e.status===`uploading`).length,g=t.filter(e=>e.status===`success`).length,_=t.filter(e=>e.status===`error`).length,v=t.filter(e=>e.status===`error`),y=v.length>1&&v.every(e=>e.error&&e.error===v[0]?.error),b=y?v[0]?.error:null;return(0,c.jsx)(`div`,{className:oV+` fm-upload-progress`,children:(0,c.jsxs)(`div`,{className:sV,children:[(0,c.jsxs)(`div`,{className:cV,children:[(0,c.jsx)(NV,{strong:!0,className:lV,children:h>0?f(`Uploading files`,{completed:r,total:n}):g>0?f(`Uploaded files`,{success:g,total:n}):f(`Upload error files`,{errorCount:_})}),(0,c.jsx)(`div`,{className:uV,children:(0,c.jsx)(l.Button,{type:`text`,size:`small`,icon:(0,c.jsx)(d.CloseOutlined,{className:fV}),onClick:i,className:dV})})]}),(0,c.jsxs)(`div`,{className:`${pV} ${t.some(e=>e.status===`error`)?xV:``}`,children:[(0,c.jsx)(`div`,{className:_V,children:(0,c.jsx)(l.List,{className:MV,size:`small`,dataSource:t,renderItem:e=>{let t=e.status===`error`,n=t?(e=>{if(!e)return null;let t=e.toLowerCase();return t.includes(`type`)||t.includes(`format`)||t.includes(`формат`)||t.includes(`тип`)||t.includes(`not allowed`)||t.includes(`дозволен`)||t.includes(`name`)||t.includes(`invalid`)||t.includes(`назва`)||t.includes(`неприпустим`)||t.includes(`allowed characters`)?null:t.includes(`large`)||t.includes(`size`)||t.includes(`розмір`)||t.includes(`размер`)?f(`upload_error_hint_size`):t.includes(`exists`)||t.includes(`вже існує`)||t.includes(`уже существует`)?f(`upload_error_hint_exists`):null})(e.error):null;return(0,c.jsx)(l.List.Item,{className:`${yV} ${t?bV:``}`,actions:m(e),children:(0,c.jsx)(l.List.Item.Meta,{avatar:(0,c.jsx)(l.Avatar,{size:`small`,icon:p(e.status),className:TV}),title:(0,c.jsxs)(`div`,{className:EV,children:[(0,c.jsx)(NV,{ellipsis:!0,className:DV,children:e.name}),(0,c.jsx)(NV,{type:`secondary`,className:OV,children:e.size===void 0?``:zL(e.size)})]}),description:e.status===`uploading`?(0,c.jsx)(l.Progress,{percent:e.progress,size:`small`,status:`active`,showInfo:!1,className:kV}):t?y?null:(0,c.jsxs)(`div`,{className:SV,children:[(0,c.jsx)(NV,{type:`danger`,className:CV,children:e.error||f(`Error`)}),n&&(0,c.jsx)(NV,{type:`secondary`,className:wV,children:n})]}):null})})}})}),b&&(0,c.jsxs)(`div`,{className:mV,children:[(0,c.jsxs)(`div`,{className:hV,children:[(0,c.jsx)(d.ExclamationCircleOutlined,{style:{color:u.colorError,marginRight:8,flexShrink:0}}),(0,c.jsx)(NV,{type:`danger`,children:b})]}),(0,c.jsx)(NV,{type:`secondary`,className:gV,children:f(`Applies to all {{count}} files`,{count:v.length})})]})]})]})})},{Header:FV}=l.Layout,{Title:IV}=l.Typography,LV=({activeLibraryItem:e,selectedFolder:t,isTrashFolder:n,onClearTrash:r,files:i,loading:o,onRefresh:s,refreshDisabled:u,showRefresh:d=!1})=>{let{t:f}=gL(),p=e===vF&&(n??t===TF),[m,h]=a.useState(!1),g={[vF]:f(`My files`),[yF]:f(`GIF`),[bF]:f(`Stock images`),[xF]:f(`Icons`),[CF]:f(`QR & Barcode`),[SF]:f(`AI image generation`)},_;return a.useEffect(()=>{let e=setTimeout(()=>{h(p&&i.length>0&&!o)},200);return()=>clearTimeout(e)},[p,i.length,o]),_=e===vF?p?f(`Trash`):t:g[e],(0,c.jsx)(FV,{className:`actions-header`,children:(0,c.jsxs)(`div`,{className:`header-title-container`,children:[(0,c.jsx)(IV,{level:5,className:`header-title`,children:_}),m&&r&&(0,c.jsx)(l.Button,{type:`default`,onClick:r,className:`clear-trash-button`,"aria-label":f(`Clear Trash`),children:f(`Clear`)}),e===vF&&d&&s&&(0,c.jsx)(l.Tooltip,{title:f(`Refresh`),children:(0,c.jsx)(l.Button,{type:`text`,className:`folder-refresh-button`,icon:(0,c.jsx)(S,{size:16}),onClick:s,disabled:u})})]})})};function RV(e,t){return!e||!t||e<=0||t<=0?1:e/t}var zV=1200;function BV({items:e,getId:t,getPreviewSrc:n,getAltText:r,getWidth:i,getHeight:o,layoutMode:s=`masonry`,minColumnWidth:c=240,estimatedItemHeight:l=240,gap:u=20,overscanPx:d=800,prefetchThresholdPx:f=1200,resolveColumnCount:p,virtualizationThreshold:m=40}){let[h,g]=(0,a.useState)({scrollTop:0,viewportHeight:800,viewportWidth:zV,scrollHeight:0}),_=(0,a.useMemo)(()=>function(e){return{getId:e,buildSignature:(t,n)=>{let r=n.getPreviewSrc(t)||``,i=n.getAltText(t),a=n.getWidth?.call(n,t),o=n.getHeight?.call(n,t);return[e(t),r,i,a??``,o??``].join(`::`)},buildRowModel:(e,t,n)=>{let r=t.getWidth?.call(t,e),i=t.getHeight?.call(t,e);return{id:n.id,signature:n.signature,item:e,previewSrc:t.getPreviewSrc(e),altText:t.getAltText(e),width:r,height:i,aspectRatio:RV(r,i)}}}}(t),[t]),v=(0,a.useMemo)(()=>({getPreviewSrc:n,getAltText:r,getWidth:i,getHeight:o}),[r,o,n,i]),y=(0,a.useMemo)(()=>{let e=Math.max(1,h.viewportWidth||zV);return p?Math.max(1,p(e)):Math.max(1,Math.floor((e+u)/(c+u)))},[u,c,p,h.viewportWidth]),b=(0,a.useMemo)(()=>{let e=Math.max(1,h.viewportWidth||zV);return Math.max(1,(e-u*Math.max(0,y-1))/y)},[y,u,h.viewportWidth]),x=(0,a.useMemo)(()=>{let t=Array(y).fill(0),n=[];e:for(let r=0;r<e.length;r+=1){let a=e[r],c=i?.(a),d=o?.(a),f=c&&d&&c>0&&d>0?c/d:void 0,p=f?b/f:l;if(s===`grid`){let e=Math.floor(r/y)*(p+u),t=r%y*(b+u);n.push({index:r,top:e,left:t,width:b,height:p,bottom:e+p});continue e}let m=0;for(let e=1;e<t.length;e+=1)t[e]<t[m]&&(m=e);let h=t[m],g=m*(b+u);t[m]=h+p+u,n.push({index:r,top:h,left:g,width:b,height:p,bottom:h+p})}return{positionedItems:n,containerHeight:n.length===0?0:s===`grid`?Math.max(...n.map(e=>e.bottom)):Math.max(0,...t.map(e=>e-u))}},[y,b,l,u,o,i,e,s]),{rowModels:S,renderWindow:C}=wB({items:e,context:v,adapter:_,options:(0,a.useMemo)(()=>e.length<=m?{renderStrategy:`full`}:{renderStrategy:`positioned`,positioned:{layout:x.positionedItems,viewportTop:h.scrollTop,viewportBottom:h.scrollTop+h.viewportHeight,overscanPx:d,containerHeight:x.containerHeight}},[e.length,x.containerHeight,x.positionedItems,d,h.scrollTop,h.viewportHeight,m])}),w=C.positionedItems??S.map((e,t)=>({row:e,layout:x.positionedItems[t]??{index:t,top:0,left:0,width:b,height:l,bottom:l}})),T=C.containerHeight??x.containerHeight,E=T>0&&h.scrollTop+h.viewportHeight>=T-f;return{rowModels:S,renderRows:C.rows,renderWindow:C,positionedItems:w,containerHeight:T,isNearEnd:E,viewportMetrics:h,handleViewportChange:e=>{g(t=>t.scrollTop===e.scrollTop&&t.viewportHeight===e.viewportHeight&&t.viewportWidth===e.viewportWidth&&t.scrollHeight===e.scrollHeight?t:e)}}}var VV=e=>{var{imageId:t,sourceUrl:n,shouldLoad:r=!0,loader:i,onLoad:o}=e,s=FR(e,[`imageId`,`sourceUrl`,`shouldLoad`,`loader`,`onLoad`]);let l=qz((0,a.useMemo)(()=>[n],[n])),[u,d]=(0,a.useState)(()=>i.getSnapshot(t,n)),f=(0,a.useRef)(null);return(0,a.useEffect)(()=>(d(i.getSnapshot(t,n)),i.subscribe(t,n,d)),[t,i,n]),(0,a.useEffect)(()=>(i.setActive(t,n,r),()=>{i.setActive(t,n,!1),i.release(t)}),[t,i,r,n]),u.shouldLoad&&l.src?(0,c.jsx)(`img`,Object.assign({},s,{ref:f,src:l.src,loading:s.loading??`lazy`,onLoad:e=>{l.handleLoad(),i.markLoaded(t),o?.(e)},onError:async e=>{var n;(await l.handleError()).exhausted&&i.markError(t),(n=s.onError)==null||n.call(s,e)}})):null},HV={gifTab:`gifTab`,scrollableDiv:`scrollableDiv`,gifSearchInput:`gifSearchInput`,search:`search`,searchResults:`searchResults`,virtualCanvas:`virtualCanvas`,listItem:`listItem`,loaded:`loaded`,loadedImage:`loadedImage`,searchOutputWrapper:`searchOutputWrapper`,divider:`divider`,resultsContainer:`resultsContainer`,playButton:`playButton`,title:`title`,subtitle:`subtitle`},UV=e=>{let t=typeof window<`u`?window.innerWidth:e;return t<=700?1:t<=1100?2:t<=1600?3:4},WV=e=>e.images.downsized.url,GV=({setImageGifList:e,imageGifList:t=[],currentReqGif:n,setCurrentReqGif:r,inputRef:i,customRequest:o})=>{let{t:s}=gL(),{GifPlayIcon:u}=xR(),{options:d}=yR(),{config:f}=d,p=Wz({maxConcurrent:6}),[m,h]=(0,a.useState)(null),[g,_]=(0,a.useState)(new Set),[v,y]=(0,a.useState)(!1),[b,x]=(0,a.useState)(!1),[S,C]=(0,a.useState)(!1),[T]=l.Form.useForm(),E=(0,a.useRef)(n),D=(0,a.useRef)(null),O=(0,a.useRef)(null),k=(0,a.useRef)(null),A=(0,a.useRef)(0),j=(0,a.useRef)(0),M=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{E.current=n},[n]),(0,a.useEffect)(()=>{T.setFieldsValue({keywords:n.keywords})},[]);let N=f?.handleProxyUrl,P=f?.fetchWithProxy,F=async e=>N?await Promise.resolve(N(e))??e:e,I=(0,a.useCallback)(async e=>P?Promise.resolve(P(e,void 0,{intent:`metadata`})):fetch(await F(e)),[P,F]),L=async function({query:e,page:t}){let n=e.keywords.replace(/[^\w\sа-яёА-ЯЁ]|_/g,``).replace(/[\s_-]+/g,` `);try{return{data:await(await I(`https://api.giphy.com/v1/gifs/search?api_key=${f?.REACT_APP_GIPHY_KEY??`Nh77eBlPeMn1ed9MBAvL542NUGeNO26F`}&q=${encodeURIComponent(n)}&limit=50&offset=${t}&lang=en`)).json()}}catch{}},{positionedItems:ee,containerHeight:R,isNearEnd:te,viewportMetrics:ne,handleViewportChange:z}=BV({items:t,getId:e=>e.id,getPreviewSrc:WV,getAltText:e=>e.title,getWidth:e=>e.images.downsized.width?Number(e.images.downsized.width):void 0,getHeight:e=>e.images.downsized.height?Number(e.images.downsized.height):void 0,layoutMode:`masonry`,minColumnWidth:240,estimatedItemHeight:220,prefetchThresholdPx:320,resolveColumnCount:UV}),re=nB(z,[t.length]),ie=()=>{D.current&&=(clearTimeout(D.current),null)},ae=e=>!M.current.has(e)&&(M.current.add(e),!0),oe=e=>{M.current.delete(e)},se=(0,a.useCallback)(async()=>{let t=E.current.keywords?.trim();if(!t||v||b||!S)return;let n=`gif:${t}:${j.current}`;if(!ae(n))return;let r=A.current;x(!0);try{let t=await L({query:E.current,page:j.current});if(r!==A.current)return;let n=t?.data?.data??[];if(!Array.isArray(n)||n.length===0)return void C(!1);let i=n;if(r!==A.current)return;e(e=>{let t=new Set(e.map(e=>e.id)),n=i.filter(e=>!t.has(e.id));return n.length>0?[...e,...n]:e}),j.current+=n.length,C(n.length===50)}finally{oe(n),r===A.current&&x(!1)}},[S,v,b,e]),ce=async()=>{ie();let t=E.current.keywords?.trim();if(!t)return O.current=null,k.current=null,A.current+=1,j.current=0,e([]),_(new Set),C(!1),void x(!1);if(k.current===t||O.current===t||v&&O.current===t)return;let n=`gif:${t}:0`;if(!ae(n))return;let r=A.current+1;A.current=r,O.current=t,j.current=0,e([]),_(new Set),C(!1),x(!1),y(!0);try{let n=await L({query:E.current,page:0});if(r!==A.current)return;let i=n?.data?.data;if(Array.isArray(i)&&i.length>0){let t=i;if(r!==A.current)return;e(t),j.current=i.length,C(i.length===50)}else e([]),C(!1);k.current=t}catch{C(!1)}finally{oe(n),O.current===t&&(O.current=null),y(!1)}};return(0,a.useEffect)(()=>()=>{ie()},[]),(0,a.useEffect)(()=>{!v&&!b&&S&&t.length>0&&te&&se()},[S,t.length,te,se,v,b]),(0,c.jsx)(`div`,{className:HV.gifTab,children:(0,c.jsx)(`div`,{className:HV.searchOutputWrapper,children:(0,c.jsxs)(`div`,{id:`scrollableDiv`,ref:re,className:HV.scrollableDiv,children:[(0,c.jsxs)(l.Form,{form:T,onValuesChange:e=>{if(e.keywords!==void 0){let t=Object.assign(Object.assign({},E.current),{keywords:e.keywords});r(t),E.current=t,ie(),D.current=setTimeout(ce,800)}},className:t.length>0?HV.searchResults:HV.search,children:[(0,c.jsx)(l.Form.Item,{name:`keywords`,className:HV.gifSearchInput,children:(0,c.jsx)(l.Input,{onPressEnter:()=>{ce()},allowClear:!0,placeholder:s(`Search GIFs`),ref:i,spellCheck:`false`,prefix:(0,c.jsx)(w,{size:16,strokeWidth:f?.iconStrokeWidth,onClick:()=>{ce()}})})}),t.length>0&&!v&&(0,c.jsx)(`div`,{className:`ant-divider ${HV.divider}`,role:`separator`})]}),!t.length&&!v&&(0,c.jsx)(c.Fragment,{children:n.keywords?(0,c.jsx)(ER,{}):(0,c.jsxs)(`div`,{className:HV.resultsContainer,children:[(0,c.jsx)(`div`,{className:HV.videoIcon,children:(0,c.jsx)(u,{className:HV.playButton})}),(0,c.jsx)(`h1`,{className:HV.title,children:s(`Over 350,000 live images`)}),(0,c.jsx)(`p`,{className:HV.subtitle,children:s(`Enter a search query and we'll find the perfect image for you`)})]})}),!t.length&&v&&(0,c.jsx)(VB,{}),t.length>0&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{className:HV.virtualCanvas,style:{height:R},children:ee.map(({row:e,layout:t})=>{let n=e.item,r=g.has(n.id),i=WV(n),a=t.bottom>=ne.scrollTop-240&&t.top<=ne.scrollTop+ne.viewportHeight+240;return(0,c.jsxs)(`div`,{className:`${HV.listItem} ${r?HV.loaded:``}`,onClick:()=>(async(e,t)=>{var n;h(t),setTimeout(()=>{h(null)},2e3);let r=e.split(`?`)[0].split(`#`)[0].split(`/`),i=r[r.length-1]||`uploaded-file`;i.includes(`.`)&&(n=i.split(`.`).pop())!=null&&n.length&&i.split(`.`).pop().length<=5||(i+=`.gif`),o(e,i)})(n.images.downsized.url,n.id,n.title),style:{position:`absolute`,top:t.top,left:t.left,width:t.width,height:t.height,minHeight:t.height,maxHeight:`none`,marginBottom:0},children:[(0,c.jsx)(VV,{imageId:n.id,sourceUrl:i,shouldLoad:a,loader:p,className:m===n.id?HV.loadedImage:``,width:`100%`,height:`100%`,alt:n.title,decoding:`async`,onLoad:()=>{_(e=>{if(e.has(n.id))return e;let t=new Set(e);return t.add(n.id),t})}}),(0,c.jsx)(`a`,{rel:`noreferrer`,href:`https://giphy.com/`,target:`_blank`,onClick:e=>e.stopPropagation()}),m===n.id&&(0,c.jsx)(l.Spin,{className:HV.antSpin})]},n.id)})}),b&&(0,c.jsx)(VB,{})]})]})})})},KV={stockTab:`stockTab`,stockSearchInput:`stockSearchInput`,searchOutputWrapper:`searchOutputWrapper`,divider:`divider`,search:`search`,searchResults:`searchResults`,virtualCanvas:`virtualCanvas`,scrollableDiv:`scrollableDiv`,listItem:`listItem`,loaded:`loaded`,loadedImage:`loadedImage`,creatorInfo:`creatorInfo`,stockColorFilter:`stockColorFilter`,allColors:`allColors`,blackColor:`blackColor`,bwColor:`bwColor`,whiteColor:`whiteColor`,orangeColor:`orangeColor`,redColor:`redColor`,purpleColor:`purpleColor`,magentaColor:`magentaColor`,greenColor:`greenColor`,tealColor:`tealColor`,blueColor:`blueColor`,resultsContainer:`resultsContainer`,playButton:`playButton`,title:`title`,subtitle:`subtitle`},qV=e=>{let t=typeof window<`u`?window.innerWidth:e;return t<=650?1:t<=1e3?2:t<=1450?3:4},JV=(e,t)=>{let n=new URL(e);return n.searchParams.set(`w`,t.toString()),n.toString()},YV=({imageStockList:e,setImageStockList:t,currentReq:n,setCurrentReq:r,inputRef:i,customRequest:o})=>{let{t:s}=gL(),{StockBigIcon:u,MixedViewIcon:d,LandscapeViewIcon:f,PortraitViewIcon:p,SquareViewIcon:m}=xR(),{options:h}=yR(),{config:g}=h,_=Wz({maxConcurrent:6}),[v,y]=(0,a.useState)(!1),[b,x]=(0,a.useState)(!1),[S,C]=(0,a.useState)(!1),[T,E]=(0,a.useState)(null),[D,O]=(0,a.useState)(new Set),[k]=l.Form.useForm(),A=g?.fetchWithProxy,j=g?.handleProxyUrl,M=g?.UNSPLASH_KEY??`HX2_qqq3F3ljmtYtfmb9P6h0dn2u9mnnOl36IdV8el0`,N=(g?.locale)?.slice(0,2)||`ru`,P=(0,a.useRef)(n),F=(0,a.useRef)(null),I=(0,a.useRef)(null),L=(0,a.useRef)(0),ee=(0,a.useRef)(1),R=(0,a.useRef)(new Set),te=async e=>j?await Promise.resolve(j(e))??e:e,ne=(0,a.useCallback)(async e=>A?Promise.resolve(A(e,void 0,{intent:`metadata`})):fetch(await te(e)),[A,te]),z=()=>{F.current&&=(clearTimeout(F.current),null)},re=e=>!R.current.has(e)&&(R.current.add(e),!0),ie=e=>{R.current.delete(e)},ae=e=>e.map(e=>Object.assign(Object.assign({},e),{urls:{raw:JV(e.urls.raw,1200),small:JV(e.urls.raw,540)}}));(0,a.useEffect)(()=>{P.current=n},[n]),(0,a.useEffect)(()=>{e.length===0&&k.setFieldsValue({color:``,orientation:``})},[e,k]),(0,a.useEffect)(()=>{k.setFieldsValue({keywords:n.keywords,color:n.color,orientation:n.orientation})},[]);let oe=async function({query:e,page:t}){let n=e.keywords.replace(/[^\w\sа-яёА-ЯЁ]|_/g,``).replace(/[\s_-]+/g,` `);try{let r=`https://api.unsplash.com/search/photos?client_id=${M}&lang=${N}&per_page=30&query=${encodeURIComponent(n)}&page=${t}`;return e.color!==``&&(r+=`&color=${e.color}`),e.orientation!==``&&(r+=`&orientation=${e.orientation}`),{data:await(await ne(r)).json()}}catch{}},{positionedItems:se,containerHeight:ce,isNearEnd:le,viewportMetrics:ue,handleViewportChange:de}=BV({items:e,getId:e=>e.id,getPreviewSrc:e=>e.urls.small,getAltText:e=>e.description||e.user.name,getWidth:e=>e.width,getHeight:e=>e.height,layoutMode:`masonry`,minColumnWidth:240,estimatedItemHeight:220,prefetchThresholdPx:320,resolveColumnCount:qV}),fe=nB(de,[e.length]),pe=(0,a.useCallback)(async()=>{if(v||b||!S||!P.current.keywords.trim())return;let e=L.current,n=ee.current,r=`stock:${`${P.current.keywords.trim()}|${P.current.color}|${P.current.orientation}`}:${n}`;if(re(r)){x(!0);try{let r=await oe({query:P.current,page:n});if(e!==L.current)return;let i=r?.data?.results??[];if(i.length===0)return void C(!1);let a=ae(i);if(e!==L.current)return;t(e=>{let t=new Set(e.map(e=>e.id)),n=a.filter(e=>!t.has(e.id));return n.length>0?[...e,...n]:e}),ee.current=n+1,C(i.length===30)}finally{ie(r),e===L.current&&x(!1)}}},[S,v,b,t]),me=async()=>{z();let e=`${P.current.keywords.trim()}|${P.current.color}|${P.current.orientation}`;if(!P.current.keywords.trim())return void(I.current=null);if(I.current===e)return;let n=`stock:${e}:1`;if(!re(n))return;let r=L.current+1;L.current=r,y(!0),x(!1),C(!1),ee.current=1,t([]),O(new Set);try{let n=await oe({query:P.current,page:1});if(r!==L.current)return;let i=n?.data?.results??[];if(i.length>0){let e=ae(i);if(r!==L.current)return;t(e),ee.current=2,C(i.length===30)}else C(!1);I.current=e}finally{ie(n),y(!1)}};(0,a.useEffect)(()=>()=>{z()},[]),(0,a.useEffect)(()=>{!v&&!b&&S&&e.length>0&&le&&pe()},[S,e.length,le,pe,v,b]);let he=async(e,t,n,r)=>{var i;(async function(e){try{return{data:await(await ne(`${e}${e.includes(`?`)?`&`:`?`}client_id=${M}`)).json()}}catch{}})(t.download_location),E(n),setTimeout(()=>E(null),2e3);let a=e.raw,s=a.split(`?`)[0].split(`#`)[0].split(`/`),c=s[s.length-1]||`uploaded-file`;c.includes(`.`)&&(i=c.split(`.`).pop())!=null&&i.length&&c.split(`.`).pop().length<=5||(c+=`.jpg`),o(a,c)};return(0,c.jsx)(`div`,{className:KV.stockTab,children:(0,c.jsx)(`div`,{className:KV.searchOutputWrapper,children:(0,c.jsxs)(`div`,{className:KV.scrollableDiv,id:`scrollableDiv`,ref:fe,children:[(0,c.jsxs)(l.Form,{form:k,initialValues:PF,onValuesChange:(e,n)=>{let i=Object.assign(Object.assign({},PF),n);r(i),P.current=i,z(),i.keywords===``?(I.current=null,L.current+=1,ee.current=1,t([]),O(new Set),C(!1),x(!1),r(Object.assign({},PF)),P.current=PF,k.resetFields()):F.current=setTimeout(me,800)},className:e.length>0?KV.searchResults:KV.search,children:[(0,c.jsxs)(l.Row,{gutter:24,children:[(0,c.jsx)(l.Col,{span:e.length>0?void 0:24,children:(0,c.jsx)(l.Form.Item,{name:`keywords`,className:KV.stockSearchInput,children:(0,c.jsx)(l.Input,{allowClear:!0,placeholder:s(`Search image`),ref:i,spellCheck:`false`,prefix:(0,c.jsx)(w,{size:16,strokeWidth:g?.iconStrokeWidth})})})}),!!e.length&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Col,{children:(0,c.jsx)(l.Form.Item,{name:`orientation`,children:(0,c.jsxs)(l.Radio.Group,{onChange:e=>r(t=>Object.assign(Object.assign({},t),{orientation:e.target.value})),children:[(0,c.jsx)(l.Tooltip,{title:s(`All`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:``,children:(0,c.jsx)(d,{})})}),(0,c.jsx)(l.Tooltip,{title:s(`Landscape`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:`landscape`,children:(0,c.jsx)(f,{})})}),(0,c.jsx)(l.Tooltip,{title:s(`Portrait`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:`portrait`,children:(0,c.jsx)(p,{})})}),(0,c.jsx)(l.Tooltip,{title:s(`Squarish`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{value:`squarish`,children:(0,c.jsx)(m,{})})})]})})}),(0,c.jsx)(l.Col,{children:(0,c.jsx)(l.Form.Item,{name:`color`,children:(0,c.jsxs)(l.Radio.Group,{className:KV.stockColorFilter,onChange:e=>r(t=>Object.assign(Object.assign({},t),{color:e.target.value})),children:[(0,c.jsx)(l.Tooltip,{title:s(`All`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.allColors,value:``,children:`All`})}),(0,c.jsx)(l.Tooltip,{title:s(`Black`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.blackColor,value:`black`,children:`B`})}),(0,c.jsx)(l.Tooltip,{title:s(`Black and White`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.bwColor,value:`black_and_white`,children:`B&W`})}),(0,c.jsx)(l.Tooltip,{title:s(`White`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.whiteColor,value:`white`,children:`W`})}),(0,c.jsx)(l.Tooltip,{title:s(`Orange`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.orangeColor,value:`orange`,children:`O`})}),(0,c.jsx)(l.Tooltip,{title:s(`Red`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.redColor,value:`red`,children:`R`})}),(0,c.jsx)(l.Tooltip,{title:s(`Purple`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.purpleColor,value:`purple`,children:`P`})}),(0,c.jsx)(l.Tooltip,{title:s(`Magenta`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.magentaColor,value:`magenta`,children:`M`})}),(0,c.jsx)(l.Tooltip,{title:s(`Green`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.greenColor,value:`green`,children:`G`})}),(0,c.jsx)(l.Tooltip,{title:s(`Teal`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.tealColor,value:`teal`,children:`T`})}),(0,c.jsx)(l.Tooltip,{title:s(`Blue`),placement:`top`,children:(0,c.jsx)(l.Radio.Button,{className:KV.blueColor,value:`blue`,children:`B`})})]})})})]})]}),e.length>0&&!v&&(0,c.jsx)(`div`,{className:`ant-divider ${KV.divider}`,role:`separator`})]}),!e.length&&!v&&(0,c.jsx)(c.Fragment,{children:n.keywords?(0,c.jsx)(ER,{}):(0,c.jsxs)(`div`,{className:KV.resultsContainer,children:[(0,c.jsx)(`div`,{className:KV.videoIcon,children:(0,c.jsx)(u,{className:KV.playButton})}),(0,c.jsx)(`h1`,{className:KV.title,children:s(`Millions of free stock images`)}),(0,c.jsx)(`p`,{className:KV.subtitle,children:s(`Enter a search query and we'll find the perfect image for you`)})]})}),!e.length&&v&&(0,c.jsx)(VB,{}),e.length>0&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{className:KV.virtualCanvas,style:{height:ce},children:se.map(({row:e,layout:t})=>{let n=e.item,r=D.has(n.id),i=t.bottom>=ue.scrollTop-240&&t.top<=ue.scrollTop+ue.viewportHeight+240;return(0,c.jsxs)(`div`,{className:`${KV.listItem} ${r?KV.loaded:``}`,onClick:()=>he(n.urls,n.links,n.id,n.description),style:{position:`absolute`,top:t.top,left:t.left,width:t.width,height:t.height,minHeight:t.height,maxHeight:`none`,marginBottom:0},children:[(0,c.jsx)(VV,{imageId:n.id,sourceUrl:n.urls.small,shouldLoad:i,loader:_,className:T===n.id?KV.loadedImage:``,width:`100%`,height:`100%`,alt:n.description,decoding:`async`,onLoad:()=>{O(e=>{if(e.has(n.id))return e;let t=new Set(e);return t.add(n.id),t})}}),(0,c.jsxs)(`p`,{className:KV.creatorInfo,onClick:e=>e.stopPropagation(),children:[s(`Photo by`),` `,(0,c.jsx)(`a`,{target:`_blank`,href:`${n.user.links.html}?utm_source=${g?.APP_NAME_UNSPLASH}&utm_medium=referral`,rel:`noreferrer`,children:n.user.name}),` `,s(`on`),` `,(0,c.jsx)(`a`,{target:`_blank`,href:`https://unsplash.com/?utm_source=${g?.APP_NAME_UNSPLASH}&utm_medium=referral`,rel:`noreferrer`,children:`Unsplash`})]}),T===n.id&&(0,c.jsx)(l.Spin,{className:KV.antSpin})]},n.id)})}),b&&(0,c.jsx)(VB,{})]})]})})})},XV=()=>{let{options:e}=yR(),t=e.config;return(0,a.useCallback)((e,n)=>{!1!==t?.pushToGTM&&((e,t)=>{let n=()=>{try{let t=Object.assign(Object.assign({},e),{appLabel:`blocks_app`});window.dataLayer&&typeof window.dataLayer.push==`function`&&window.dataLayer.push(t)}catch{}};t?setTimeout(n,t):n()})(e,n)},[t?.pushToGTM])},ZV=`slideshowContainer`,QV=`slideshowImage`,$V=({images:e,transitionDuration:t=1e3,frameHeight:n})=>{let[r,i]=(0,a.useState)([]),[o,s]=(0,a.useState)(n);(0,a.useEffect)(()=>{let e=()=>{if(typeof window>`u`)return void s(n);let e=window.innerHeight,t=Math.max(e-260,130);s(typeof n==`number`?Math.min(n,t):t)};if(e(),typeof window<`u`)return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[n]);let l=()=>{i(e=>e.map((t,n)=>n===e.length-1?Object.assign(Object.assign({},t),{opacity:1}):t))};return(0,a.useEffect)(()=>{if(e.length>0){let t=e[e.length-1];i(e=>[...e,{src:t,opacity:0}]),setTimeout(l,1e3)}else i([])},[e]),(0,c.jsx)(`div`,{className:ZV,style:{height:o,minHeight:130},children:r.map((e,n)=>(0,c.jsx)(`img`,{src:`data:image/jpeg;base64, ${e.src}`,alt:`Slide ${n+1}`,className:QV,style:{opacity:e.opacity,transition:`opacity ${t}ms linear`,display:`block`}},n))})},eH=e=>{var{className:t,style:n,color:r,text:i,variant:a}=e,o=FR(e,[`className`,`style`,`color`,`text`,`variant`]);return(0,c.jsx)(l.Tag,Object.assign({style:n,color:r,variant:a,className:t},o,{children:i||``}))},tH=({text:e,counter:t,limits:n,wrapperStyles:r})=>{let{t:i}=gL(),{options:a}=yR(),o=a.config,{token:s}=l.theme.useToken(),u=+n>0,d=!u||t<+n,f=o?.billingPageUrl||`/billing`;return(0,c.jsxs)(`div`,{className:`limits-couter-wrapper`,style:r,children:[(0,c.jsx)(eH,{variant:`filled`,text:t+` `+i(`of`)+` `+(u?n:`∞`)+` `+(e||i(`tests`,{count:n}))+` `+i(`was used`,{count:t}),className:`limit-counter`,style:{color:d?s.colorText:`white`},color:d?s.colorFillSecondary:`rgb(255, 77, 79)`}),u&&(0,c.jsx)(`div`,{style:{fontSize:14,textDecoration:`underline`,cursor:`pointer`},onClick:()=>window.location.assign(f),children:i(`Need more?`)})]})},nH={imageAi:`imageAi`,imageAiExample:`imageAiExample`,imageItem:`imageItem`,textAreaInputHybrid:`textAreaInputHybrid`,loading:`loading`,carousel:`carousel`,arrow:`arrow`,arrowNext:`arrowNext`,arrowPrev:`arrowPrev`,arrowBtn:`arrowBtn`,arrowBtnNext:`arrowBtnNext`,arrowBtnPrev:`arrowBtnPrev`,row:`row`,inputAffixWrapper:`inputAffixWrapper`,textarea:`textarea`,inputIcon:`inputIcon`},rH=(0,a.memo)(({className:e,onClick:t})=>(0,c.jsx)(`div`,{className:`${nH.arrow} ${nH.arrowNext} ${e||``}`,onClick:t,children:(0,c.jsx)(l.Button,{className:`${nH.arrowBtn} ${nH.arrowBtnNext}`,size:`large`,icon:(0,c.jsx)(d.ArrowRightOutlined,{})})}));rH.displayName=`SampleNextArrow`;var iH=(0,a.memo)(({className:e,onClick:t})=>(0,c.jsx)(`div`,{className:`${nH.arrow} ${nH.arrowPrev} ${e||``}`,onClick:t,children:(0,c.jsx)(l.Button,{className:`${nH.arrowBtn} ${nH.arrowBtnPrev}`,size:`large`,icon:(0,c.jsx)(d.ArrowLeftOutlined,{})})}));iH.displayName=`SamplePrevArrow`;var aH=({customRequest:e,inputAiRef:t,isImageUploaded:n,setIsImageUploaded:r,aiImageRequest:i,setAiImageRequest:o,imageAiList:s,setImageAiList:u,isLoadingAi:f,setIsLoadingAi:p})=>{let{t:m}=gL(),{AiIcon_2:h}=xR(),g=a.default.useRef(null),[_,v]=(0,a.useState)(`auto`),{aiImageCounter:y,currentAiImgLimits:b,loadingDuringGeneration:x,requestStatus:S,handleGenerate:C,convertBase64ToFile:w,isShiftPressed:T,setIsShiftPressed:E,limitsInPlugin:D}=function({setFrameHeight:e,customRequest:t,aiTabRef:n,isImageUploaded:r,setIsImageUploaded:i,aiImageRequest:o,imageAiList:s,setImageAiList:c,isLoadingAi:l,setIsLoadingAi:u}){let{t:d}=gL(),{options:f}=yR(),p=f.config,m=RR(),h=XV(),{messages:g}=f.config,[_,v]=(0,a.useState)([]),[y,b]=(0,a.useState)(0),[x,S]=(0,a.useState)(null),[C,w]=(0,a.useState)(!1),[T,E]=(0,a.useState)(d(`Evaluating the task`)),[D,O]=(0,a.useState)(!1),k=(0,a.useRef)(new Set),A=(0,a.useRef)(new Set),j=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{v(g)},[g]),(0,a.useEffect)(()=>{s.length||x||(v([]),k.current.clear(),A.current.clear(),j.current.clear(),P.current=-1)},[s,x]);let M=(0,a.useMemo)(()=>p&&typeof p?.sendAIImageRequest==`function`?p?.sendAIImageRequest:()=>Promise.resolve({}),[p]),N=(0,a.useCallback)(e=>{let t=`${x}-${e.progress}-${JSON.stringify(e.images||e.data)}`;if(!j.current.has(t))if(j.current.add(t),e.status!==`error`&&e.status!==`Canceled`){if(e.images){if(E(String(e.status)),e.progress===100){u(!1),c(e.images);let t=x,n=Array.isArray(e.images)?e.images:[];n.length>0&&t&&!k.current.has(t)&&(k.current.add(t),m.success({id:`AI_IMAGE_GENERERATION_SUCCESS`,message:d(`Images generated successfully`),placement:`bottomRight`,data:{request:o,taskId:t,images:n}})),S(null),O(!1)}}else if(e.data&&(c([String(e.data)]),e.progress===100)){u(!1);let t=x,n=e.data?[String(e.data)]:[];n.length>0&&t&&!k.current.has(t)&&(k.current.add(t),m.success({id:`AI_IMAGE_GENERERATION_SUCCESS`,message:d(`Images generated successfully`),placement:`bottomRight`,data:{request:o,taskId:t,images:n}})),S(null),O(!1)}}else u(!1),O(!1),x&&!A.current.has(x)&&(A.current.add(x),m.error({id:`AI_RESPONSE_INVALID`,message:d(`Something went wrong, please try again`),placement:`bottomRight`,description:String(x)||void 0,data:{requestId:x,request:o,response:e},innerException:e}))},[o,c,E,d,u,x,m,O]),P=(0,a.useRef)(-1);(0,a.useEffect)(()=>{if(_.length>0){let e=_.length-1;e>P.current&&(P.current=e,N(_[e]))}},[N,_]);let F=(0,a.useMemo)(()=>{if(p&&typeof p?.sseQuery==`function`){let e=p?.sseQuery;return t=>e(t)}return e=>{}},[p]),I=(0,a.useMemo)(()=>p&&typeof p?.handleLimitUsageEmitter==`object`?p?.handleLimitUsageEmitter:{fire:()=>{}},[p]),L=p?.elementId,{projectId:ee}=p,{limits:R}=p?.limits?p:{limits:{ai_img_limit:0}},{ai_img_limit:te}=R,ne=te>0&&y>=te,z=!(!p?.limits||!p.counters)&&AF,re=(0,a.useCallback)(()=>{I.fire({name:`AiImgCount`,count:y+1})},[I,y]),ie=(0,a.useMemo)(()=>!ne&&!z,[ne,z,y,te]),ae=(0,a.useCallback)(async()=>{E(d(`Evaluating the task`)),o===``||l||(u(!0),O(!0),c([]),v([]),h({event:`submit_form`,action:`ai_image_generation`,entity_id:L,project_id:ee}),M({body:{project_id:ee,request:`create-image`,connection:`midjourney`,message:o}}).then(e=>{let{data:t,error:n}=e||{};if(n)throw n;let r=t;if(r?.status===401||r?.data?.status===401)throw Error(`ERROR`);let i=r?.data??r;if(i?._eventResult&&Array.isArray(i.task?.images)&&(i.task.images?.length??0)>0){let e=i.task.images;c(e),u(!1),O(!1),S(null);return}let a=r?.task||r?.data?.task,s=a?.id??x??void 0;r?.status===200||r?.data?.status===200?(a!=null&&a.id&&(E(a.message),S(a.id)),r!=null&&r.message&&m.success({id:`AI_IMAGE_GENERATION_STARTED`,message:r.message,placement:`bottomRight`,data:{request:o,taskId:s,response:r?.data}}),F({task_id:a?.id,entity_id:L})):(u(!1),O(!1),s&&!A.current.has(s)&&(A.current.add(s),m.error({id:`AI_IMAGE_GENERATION_FAILED`,message:r?.message||d(`Something went wrong, please try again`),placement:`bottomRight`,description:o,data:{request:o,taskId:s,response:r},innerException:r})))}).catch(e=>{u(!1),O(!1);let t=e;return(t!=null&&t.error||t!=null&&t.data)&&x&&!A.current.has(x)&&(A.current.add(x),m?.error({id:`AI_IMAGE_GENERATION_FAILED`,message:d(`Something went wrong, please try again`),placement:`bottomRight`,description:o,innerException:e,data:{request:o,taskId:x,response:t?.data,error:WR(t?.error)}})),t}))},[o,l,u,O,c,h,L,ee,M,m,F,d,x]),oe=(0,a.useCallback)(()=>{ie&&ae()},[ie,z,b,re,ae,m,d]);(0,a.useEffect)(()=>{},[p,z]);let se=(0,a.useCallback)(e=>{if(r)return;let n=e.match(/^data:image\/([A-Za-z-+/]+);base64,(.+)$/);if(!n)return;let a=n[1],o=n[2],s=atob(o),c=Array(s.length);for(let e=0;e<s.length;e++)c[e]=s.charCodeAt(e);let l=new Uint8Array(c),u=new Blob([l],{type:`image/${a}`}),d=new File([u],`image.jpeg`,{type:u.type,lastModified:Date.now()});i(!0),(async()=>{try{typeof t==`function`&&await Promise.resolve(t({file:d}))}catch{}finally{i(!1)}})()},[r,i,t]);return(0,a.useEffect)(()=>{(l||s.length>0)&&setTimeout(()=>{let t=350;if(n.current){let e=n.current?.firstChild;e&&e instanceof HTMLElement&&(t=n.current.getBoundingClientRect()?.height-48-e.clientHeight)}e(t)},0)},[n,s.length,l,e]),{aiImageCounter:y,setAiImageCounter:b,currentAiImgLimits:te,isFieldsDisabled:ne,canGenerateImage:ie,aiImageRequest:o,imageAiList:s,setImageAiList:c,isLoadingAi:l,setIsLoadingAi:u,loadingDuringGeneration:D,setLoadingDuringGeneration:O,requestStatus:T,setRequestStatus:E,handleGenerate:oe,handleLimitAiImgCount:re,convertBase64ToFile:se,isShiftPressed:C,setIsShiftPressed:w,currentReqId:x,setCurrentReqId:S,limitsInPlugin:z}}({setFrameHeight:v,customRequest:e,aiTabRef:g,isImageUploaded:n,setIsImageUploaded:r,aiImageRequest:i,imageAiList:s,setImageAiList:u,isLoadingAi:f,setIsLoadingAi:p});(0,a.useEffect)(()=>{},[n]);let[O,k]=(0,a.useState)(!1),A=(0,a.useCallback)(()=>k(!0),[]),j=(0,a.useCallback)(()=>k(!1),[]),M=(0,a.useCallback)(e=>o(e.target.value),[o]),N=(0,a.useCallback)(e=>{e.key===`Shift`?E(!0):e.key!==`Enter`||T||(e.preventDefault(),C())},[T,C,E]),P=(0,a.useCallback)(e=>{e.key===`Shift`&&E(!1)},[E]);return(0,c.jsxs)(`div`,{className:nH.imageAi,ref:g,children:[D&&(0,c.jsx)(tH,{text:`images`,counter:y,limits:b,wrapperStyles:{marginTop:-25}}),(0,c.jsx)(l.Row,{gutter:24,className:nH.row,children:(0,c.jsxs)(l.Col,{span:24,children:[(0,c.jsx)(l.Form.Item,{children:(0,c.jsxs)(`span`,{className:`ant-input-affix-wrapper ant-input-affix-wrapper-lg ${nH.inputAffixWrapper}${O?` ant-input-affix-wrapper-focused`:``}`,children:[(0,c.jsx)(l.Input.TextArea,{ref:t,onKeyDown:N,onKeyUp:P,onFocus:A,onBlur:j,autoSize:!0,allowClear:!0,className:`${nH.textAreaInputHybrid} ${nH.textarea}`,placeholder:m(`Generate image`),value:i,onChange:M,spellCheck:`false`}),(0,c.jsx)(`span`,{className:`ant-input-suffix ${nH.inputSuffix}`,children:f||x?(0,c.jsx)(d.LoadingOutlined,{className:`${nH.inputIcon} input-icon`,spin:!0}):(0,c.jsx)(h,{className:`${nH.inputIcon} input-icon`,onClick:C})})]})}),(0,c.jsxs)(`div`,{className:nH.imageAiExample,children:[(0,c.jsx)(`span`,{children:m(`For example:`)}),` `,m(`A beautiful image of a sunset over a calm ocean.`)]})]})}),(f||s.length>0)&&(0,c.jsxs)(l.Carousel,{dotPlacement:`top`,arrows:!0,nextArrow:(0,c.jsx)(rH,{}),prevArrow:(0,c.jsx)(iH,{}),className:nH.carousel,infinite:!1,children:[f&&!s.length&&(0,c.jsx)(`div`,{className:nH.loading,children:(0,c.jsxs)(`div`,{className:`spin`,children:[(0,c.jsx)(d.LoadingOutlined,{style:{fontSize:48},spin:!0}),(0,c.jsx)(`p`,{className:`status`,children:S})]})}),s.length>0&&s.map((e,t)=>(0,c.jsxs)(`div`,{className:nH.imageItem,children:[(0,c.jsx)($V,{images:s,frameHeight:_}),(0,c.jsx)(`div`,{className:`buttons`,children:s.length>0&&!f&&(0,c.jsx)(l.Button,{onClick:()=>w(`data:image/jpeg;base64, ${e}`),loading:n,icon:(0,c.jsx)(d.CheckOutlined,{}),children:m(`Use this variant`)})})]},t))]})]})},oH=e=>{e!=null&&e.customTheme&&((e={})=>{let t=document.querySelector(`head`);if(!t)return;let n=document.createElement(`style`);if(n.type=`text/css`,n.dataset.themeVariablesFm=`true`,n.setAttribute(`data-file-manager`,`true`),Object.entries(e).length){let r=``;Object.entries(e).forEach(([e,t])=>{typeof t!=`object`&&(r+=`\t--${e}: ${t};\n`)}),r=`.em-filemanager {\n${r}}`,n.appendChild(document.createTextNode(r));let i=t.querySelector(`[data-theme-variables-fm="true"]`);i?t.replaceChild(n,i):t.insertBefore(n,t.firstChild)}})(e?.customTheme)},{Sider:sH,Content:cH}=l.Layout,lH=a.default.lazy(()=>Promise.resolve().then(()=>e("./ef4e808c.js"))),uH=a.default.lazy(()=>Promise.resolve().then(()=>e("./fc5712ae.js"))),dH={keywords:``},fH=()=>{let e=$R(),t=Uz(),n=(()=>{let{state:e,actions:t,options:n}=yR(),{selectedFolder:r,pathHistory:i,folders:o}=e,{t:s}=gL(),{setSelectedFolder:c,setPathHistory:l}=t,u=(0,a.useCallback)(()=>`em_fm:lastFolder:${n?.config?.projectId||`default`}`,[n?.config?.projectId]),d=(0,a.useCallback)((e,t=new Set)=>{if(t.has(e))return[];let n=(Array.isArray(o)?o:[]).find(t=>t.id===e);if(!n)return[];let r=new Set(t);return r.add(e),n.parentId?n.parentId===n.id?[{id:n.id,name:n.name+` (ошибка)`}]:[...d(n.parentId,r),{id:n.id,name:n.name}]:[{id:n.id,name:n.name}]},[o]),f=(0,a.useCallback)(e=>{if(typeof window>`u`)return;let t=!0===n?.config?.rememberLastFolder,r=u();try{if(!t)return void localStorage.removeItem(r);e?localStorage.setItem(r,e):localStorage.removeItem(r)}catch{}},[u,n?.config?.rememberLastFolder]),p=(0,a.useCallback)(e=>{if(e===`folders`){let e=[{id:`folders`,name:s(`Folders`)}];l?.(e),n.onPathChange&&n.onPathChange([]);return}if(!(Array.isArray(o)?o:[]).find(t=>t.id===e))return;let t=d(e),r=[{id:`folders`,name:s(`Folders`)},...t];l?.(r),n.onPathChange&&n.onPathChange(r.map(e=>e.name))},[o,d,l,n,s]),m=(0,a.useCallback)(e=>{let t=e===`folders`?null:e;t!==r&&(c?.(t),f(t),p(e))},[f,r,c,p]),h=(0,a.useCallback)(e=>{if(e===-1)c?.(null),l?.([{id:`folders`,name:s(`Folders`)}]),n.onPathChange&&n.onPathChange([]);else{let t=i.slice(0,e+1),r=t[t.length-1],a=r.id===`folders`?void 0:r.id;c?.(a||null),l?.(t),n.onPathChange&&n.onPathChange(t.map(e=>e.name))}},[n,i,l,c,s]),g=(0,a.useCallback)(e=>{if(!e.isFolder)return;c?.(e.id);let t={id:e.id,name:e.name};if(l&&l([...i,t]),n.onPathChange){let t=[...i.map(e=>e.name),e.name];n.onPathChange(t)}},[n,i,l,c]);return{state:{selectedFolder:r,pathHistory:i},actions:{handleFolderSelect:m,handleBreadcrumbClick:h,handleItemClick:g},selectedFolder:r,pathHistory:i,handleFolderSelect:m,handleBreadcrumbClick:h,handleItemClick:g}})(),r=(()=>{let{state:e,actions:t}=yR(),{pagination:n}=e,{setPagination:r}=t,i=(0,a.useCallback)((e,t)=>{let i=t||n.pageSize;r?.({current:e,pageSize:i,total:n.total})},[n.pageSize,n.total,r]);return{state:{pagination:n},actions:{handlePaginationChange:i}}})(),i=(()=>{let[e,t]=(0,a.useState)([]),[n,r]=(0,a.useState)(!1),[i,o]=(0,a.useState)(!1),s=(0,a.useRef)(0),c=(0,a.useRef)(new Map),l=(0,a.useCallback)(()=>(s.current+=1,`upload_${s.current}_${Date.now()}`),[]),u=(0,a.useCallback)(e=>zL(e.size),[]),d=(0,a.useCallback)((e,n)=>{let i=n.map(t=>({id:l(),folderId:e,name:t.name,size:u(t),status:`uploading`,progress:0}));return t(i),r(!0),o(!1),i.map(e=>e.id)},[l,u]),f=(0,a.useCallback)((e,n)=>{let i={id:l(),folderId:e,name:n,size:void 0,status:`uploading`,progress:0};return t(e=>[...e,i]),r(!0),o(!1),i.id},[l]),p=(0,a.useCallback)((e,n)=>{t(t=>t.map(t=>t.id===e?Object.assign(Object.assign({},t),{progress:Math.min(100,Math.max(0,n))}):t))},[]),m=(0,a.useCallback)((e,n)=>{n&&c.current.set(e,n),t(t=>t.map(t=>{if(t.id===e){let e=Object.assign(Object.assign({},t),{status:`success`,progress:100});return n!=null&&n.name&&(e.name=n.name),n!=null&&n.size&&t.size===void 0&&(e.size=zL(n.size)),e}return t}))},[]),h=(0,a.useCallback)((e,n)=>{t(t=>t.map(t=>t.id===e?Object.assign(Object.assign({},t),{status:`error`,error:n}):t))},[]),g=(0,a.useCallback)(()=>{r(!1),o(!1),setTimeout(()=>{t([]),c.current.clear()},300)},[]),_=(0,a.useCallback)(()=>{o(e=>!e)},[]),v=(0,a.useCallback)(e=>c.current.get(e),[]);return{uploadFiles:e,isUploadVisible:n,isUploadMinimized:i,totalFiles:e.length,completedFiles:e.filter(e=>e.status===`success`||e.status===`error`).length,startUpload:d,startUploadByUrl:f,updateProgress:p,markAsSuccess:m,markAsError:h,getUploadedFile:v,closeUpload:g,minimizeUpload:_}})(),o=Oz(),{deleteItems:u}=ez(),d=RR(),{t:f}=gL(),{options:p,state:m,actions:h}=yR(),g=p,_=g?.onChangeSelection,v=m,y=g?.config,{dataProviders:b}=g,{form:x,urlForm:S,renameForm:C,moveForm:w,renameFolderForm:T,copyForm:E,isModalVisible:D,isUrlModalVisible:O,isMoveModalVisible:k,isRenameFolderModalVisible:A,isCopyModalVisible:j,isDeleteConfirmVisible:M,folderToRename:N,activeLibraryItem:P}=m,{setIsUrlModalVisible:F,setActiveLibraryItem:I}=h,{config:L}=p,{DropZoneFileIcon:ee}=xR(),[R,te]=(0,a.useState)(!1),[ne,z]=(0,a.useState)(!1),[re,ie]=(0,a.useState)(!1),ae=(0,a.useRef)(0),oe=(0,a.useRef)(!1);oe.current=ne;let se=a.default.useRef(null),ce=a.default.useRef([]),[le,ue]=(0,a.useState)(!1),[de,fe]=(0,a.useState)(!1),pe=Nz(e=>e.selectedFiles),me=Nz(e=>e.clearSelection),he=Nz(e=>e.syncVisibleFiles),{folders:ge,loading:_e}=e.state,{fetchFolders:ve,fetchChildFolders:ye,handleCreateFolder:be,handleModalOk:xe,handleModalCancel:Se,generateMenuItems:Ce}=e.actions,we=(e=>{let{state:t,actions:n,options:r}=yR(),{t:i}=gL(),o=RR(),{folders:s,folderToRename:c,renameFolderForm:l,isRenameFolderModalVisible:u}=t,{setFolderToRename:d,setIsRenameFolderModalVisible:f}=n,{apiEndpoints:p,dataProviders:m,config:h}=r,g=(0,a.useCallback)(e=>{d?.(e),f?.(!0);let t=s?.find(t=>t.id===e);t&&l&&l.setFieldsValue({newFolderName:t.name})},[d,f,s,l]),_=(0,a.useCallback)(()=>{f?.(!1),d?.(null),l?.resetFields()},[f,d,l]),v=(0,a.useCallback)(async()=>{if(c&&l)try{let t=await l.validateFields();if(!t?.newFolderName)return void o.warning({id:`FOLDER_OPERATION_VALIDATION_FAILED`,message:i(`Folder name cannot be empty`),placement:`bottomRight`,data:{folderId:c,folderName:t?.newFolderName,reason:`emptyName`}});if(!1===h?.features?.enableRenameFolder)return void o.error({id:`FOLDER_RENAME_DISABLED_BY_CONFIG`,message:i(`Folder rename is disabled by config`),placement:`bottomRight`,data:{itemId:c??void 0,itemName:t?.newFolderName}});if(!m?.renameFolder)throw Error(i(`renameFolder is not implemented in dataProviders`));let r=await m.renameFolder(c,t.newFolderName.trim());if(!r?.id)return void o.error({id:`FOLDER_RENAME_FAILED`,message:i(`Unexpected response when renaming folder`),placement:`bottomRight`,data:{itemId:c??void 0,itemName:t.newFolderName,error:{message:`invalidResponse`}}});o.success({id:`FOLDER_RENAME_SUCCESS`,message:i(`Folder renamed`),placement:`bottomRight`,data:{itemId:r.id,itemName:r.name,folderId:r.parentId??null}}),_(),await e(),c!==r.id&&n.setSelectedFolder&&n.setSelectedFolder(r.id)}catch(e){o.error({id:`FOLDER_RENAME_FAILED`,message:i(`Failed to rename folder`),placement:`bottomRight`,innerException:e,data:{itemId:c??void 0,itemName:l?.getFieldValue(`newFolderName`),error:{message:e instanceof Error?e.message:String(e)}}})}},[c,l,p,_,e,i,h?.features?.enableRenameFolder,o]);return{state:{isRenamingFolder:u||!1,folderToRename:c},actions:{showRenameFolderModal:g,handleRenameFolderCancel:_,handleRenameFolderOk:v}}})(ve),{files:Te,loading:Ee,isRenamingFile:De,fileToRename:Oe}=t.state,{fetchFiles:ke,handleDeleteFile:Ae,handleDeleteFolder:je,handleAddFile:Me,handleAddFileByUrl:Ne,showRenameModal:Pe,handleRenameCancel:Fe,handleRenameOk:Ie,handleDroppedFiles:Le,showMoveModal:Re,handleMoveCancel:ze,handleMoveOk:Be,handleCopyOk:Ve,handleCopyCancel:He,showDeleteConfirm:Ue,handleDeleteConfirmCancel:We,handleDeleteConfirmOk:Ge}=t.actions,{selectedFolder:Ke,pathHistory:qe}=n.state,{handleFolderSelect:Je,handleItemClick:Ye}=n.actions,{pagination:Xe}=r.state,Ze=PR(ke),{searchTerm:Qe,sortBy:$e,sortOrder:et}=Ze.state,{handleSearch:tt,handleSort:nt,handlePaginationChange:rt}=Ze.actions,it=(0,a.useCallback)(async()=>{let e=(e=>YR(e))(qe||[]);try{await QR({options:g,pathFolder:e,dataProviders:g?.dataProviders})}catch{}await ve(),await ke({folderId:Ke||``,page:Xe.current,limit:Xe.pageSize,search:Qe,sortBy:$e,sortOrder:et,itemType:`all`})},[ke,ve,g,Xe,qe,Qe,Ke,$e,et]),at=(({files:e,fetchFiles:t,selectedFolder:n})=>{let{t:r}=gL(),i=RR(),{options:o,actions:s,state:c}=a.useContext(vR),{setActiveLibraryItem:l}=s,{activeLibraryItem:u}=c,d=Oz(),[f,p]=a.useState(!1),[m,h]=a.useState(null),g=a.useCallback(e=>{if(e.type&&e.type.startsWith(`image/`))return!0;if(e.extension){let t=e.extension.toLowerCase();return MF.includes(t)}let t=e.name.split(`.`).pop()?.toLowerCase();return!!t&&MF.includes(t)},[]),_=a.useCallback(async(e,t)=>{let{dataProviders:n}=o;if(!1===o.config?.features?.enableUpdateFile)throw new Q(r(`Updating files is disabled by configuration`),`UnsupportedOperation`);if(!e.id||!e.thumbnail||!n?.updateFile)throw new Q(r(`Failed to save changes`),`UnsupportedOperation`);let i=t?.mimeType||HF(e.thumbnail,e.type),a=UF(i),s=e.name.lastIndexOf(`.`),c=`${s>0?e.name.substring(0,s):e.name}.${a}`,l=t?.blob||YF(e.thumbnail,i);return n.updateFile(e.id,{name:c,type:i,data:l})},[o,r]),v=a.useCallback(async(e,t)=>{if(!e.thumbnail)throw new Q(r(`Failed to save changes`),`ValidationError`);let n=!0!==o.config?.saveCopyToCurrentFolder||(e.saveWithoutFolder??!e.id),i=n?void 0:e.folderId??void 0,a=t?.mimeType||HF(e.thumbnail,e.type),s=t?.blob||YF(e.thumbnail,a),c=new File([s],e.name,{type:a,lastModified:Date.now()}),l=await d.uploadFileWithProvider(c,i,void 0,n);if(!l)throw new Q(r(`Failed to save image copy`),`FileWriteError`);return l},[d,o.config?.saveCopyToCurrentFolder,r]),y=a.useCallback(t=>{let n;if(t)n=t;else{let t=Nz.getState().selectedFiles;if(t.size!==1)return;let r=Array.from(t)[0];if(n=e.find(e=>e.id===r),!n||n.isFolder||!g(n))return}l&&l(wF),h(n),p(!0)},[e,g,p,l]),b=a.useCallback(()=>{l&&u===wF&&l(vF),p(!1),h(null)},[u,l]);return{isPixieEditorVisible:f,editingFile:m,handleEdit:y,handlePixieEditorSave:a.useCallback(async(e,a)=>{try{let s=await _(e,a);return i.success({id:`IMAGE_UPDATE_SUCCESS`,message:r(`Success`),description:r(`Image updated successfully`),placement:`bottomRight`,data:{itemId:s?.id??void 0,itemName:s?.name,folderId:s?.folderId??null,thumbnail:s?.thumbnail}}),s&&o.onEditorOk&&o.onEditorOk(s,{mode:a.mode}),await t({folderId:n||``}),b(),s??void 0}catch(t){let n=WR(t),a=HR(n?.code,r)??n?.message??r(`Failed to save changes`);throw i.error({id:`IMAGE_SAVE_FAILED`,message:a,innerException:t,placement:`bottomRight`,data:{itemId:e.id??void 0,itemName:e.name,folderId:e.folderId??null,thumbnail:e.thumbnail}}),t.notificationShown=!0,t}},[_,o,t,n,i,b,r]),handlePixieEditorSaveCopy:a.useCallback(async(e,a)=>{try{let s=await v(e,a);return i.success({id:`IMAGE_SAVE_COPY_SUCCESS`,message:r(`Success`),description:r(`Image copy saved successfully`),placement:`bottomRight`,data:{itemId:s?.id??void 0,itemName:s?.name,folderId:s?.folderId??null,thumbnail:s?.thumbnail}}),s&&o.onEditorOk&&o.onEditorOk(s,{mode:a.mode}),await t({folderId:n||``}),b(),s??void 0}catch(t){let n=WR(t),a=HR(n?.code,r)??n?.message??r(`Failed to save image copy`);throw i.error({id:`IMAGE_SAVE_COPY_FAILED`,message:a,innerException:t,placement:`bottomRight`,data:{itemId:e.id??void 0,itemName:e.name,folderId:e.folderId??null,thumbnail:e.thumbnail}}),t.notificationShown=!0,t}},[v,o,t,n,i,b,r]),handlePixieEditorClose:b}})({files:Te||[],fetchFiles:ke,selectedFolder:Ke||null}),[ot,st]=(0,a.useState)(!1),ct=(0,a.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),!e.dataTransfer||!e.dataTransfer.types||!e.dataTransfer.types.includes(`Files`))return;e.dataTransfer.dropEffect=`copy`;let t=e.relatedTarget,n=e.currentTarget;t&&n.contains(t)||(ae.current+=1,ae.current>0&&te(!0))},[]),lt=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=e.relatedTarget,n=e.currentTarget;if(t&&!n.contains(t))ae.current=Math.max(0,ae.current-1),ae.current<=0&&te(!1);else if(t){let e=t.closest(`[class*="dragOverlay"]`);if(e&&n.contains(e))return}},[]),ut=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},[]),dt=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),te(!1),ae.current=0;let t=(()=>{let t=e.dataTransfer;if(!t)return[];if(t.files?.length)return Array.from(t.files);let n=[];if(t.items)for(let e=0;e<t.items.length;e++){let r=t.items[e].getAsFile();r&&n.push(r)}return n})();t.length&&(st(!0),Le(t).catch(e=>{e?.name}).finally(()=>{st(!1)}))},[Le]),ft=(0,a.useCallback)(()=>{te(!1),ae.current=0,document.body.removeAttribute(`data-fm-dragging`),ie(!1),z(!1)},[]);a.default.useEffect(()=>{ce.current=Te||[]},[Te]);let pt=v?.activeLibraryItem;(0,a.useEffect)(()=>{let e=e=>{e?document.body.setAttribute(`data-fm-dragging`,`true`):document.body.removeAttribute(`data-fm-dragging`)},t=!1,n=n=>{var r;!t&&(r=n.dataTransfer?.types)!=null&&r.includes(`Files`)&&(t=!0,ie(!0),e(!0),pt===vF&&z(!0))},r=n=>{let r=n.relatedTarget;(!r||!document.documentElement.contains(r))&&t&&(t=!1,ie(!1),z(!1),e(!1))};return window.addEventListener(`dragenter`,n,!0),window.addEventListener(`dragleave`,r,!0),()=>{window.removeEventListener(`dragenter`,n,!0),window.removeEventListener(`dragleave`,r,!0),document.body.removeAttribute(`data-fm-dragging`)}},[pt]),(0,a.useEffect)(()=>{let e=e=>{if(document.body.removeAttribute(`data-fm-dragging`),ie(!1),!(e.dataTransfer?.types)?.includes(`Files`))return;e.preventDefault();let t=(e=>{if(!e)return[];if(e.files?.length)return Array.from(e.files);let t=[];if(e.items)for(let n=0;n<e.items.length;n++){let r=e.items[n].getAsFile();r&&t.push(r)}return t})(e.dataTransfer);if(!t.length)return;let n=e.target,r=n.closest(`.${$.filesContainer.replace(/\s+/g,`.`)}`)||n.closest(`[data-files-container]`),i=n.closest(`.em-filemanager`)||n.closest(`.file-manager__layout`)||n.closest(`[data-drop-overlay]`)||n.closest(`[data-drag-capture]`);(oe.current||R||r||i)&&(e.preventDefault(),e.stopPropagation(),z(!1),te(!1),ae.current=0,st(!0),Le(t).catch(e=>{e?.name}).finally(()=>st(!1)))},t=e=>{var t;(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,document.body.hasAttribute(`data-fm-dragging`)||(document.body.setAttribute(`data-fm-dragging`,`true`),ie(!0)),pt!==vF||oe.current||z(!0))},n=e=>{var t;(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,document.body.setAttribute(`data-fm-dragging`,`true`),ie(!0))},r={capture:!0,passive:!1};return window.addEventListener(`drop`,e,r),window.addEventListener(`dragover`,t,r),window.addEventListener(`dragenter`,n,r),()=>{window.removeEventListener(`drop`,e,r),window.removeEventListener(`dragover`,t,r),window.removeEventListener(`dragenter`,n,r)}},[R,Le,pt]),(0,a.useEffect)(()=>{let e=e=>{R&&ft(),z(!1),ie(!1),document.body.removeAttribute(`data-fm-dragging`)};return window.addEventListener(`dragend`,e,!0),()=>window.removeEventListener(`dragend`,e,!0)},[R,ft]),(0,a.useEffect)(()=>{let e=null,t=t=>{R&&(e=setTimeout(()=>{R&&ft()},200))};return document.addEventListener(`mouseup`,t,!0),()=>{document.removeEventListener(`mouseup`,t,!0),e&&clearTimeout(e)}},[R,ft]),(0,a.useEffect)(()=>{let e=e=>{e.key===`Escape`&&R&&ft()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[R,ft]),(0,a.useEffect)(()=>{let e=e=>{R&&setTimeout(()=>{R&&ft()},100)};return document.addEventListener(`click`,e,!0),()=>{document.removeEventListener(`click`,e,!0)}},[R,ft]);let mt=a.default.useCallback(async()=>{await Ge(),await ve(),Ke===TF&&ye&&await ye(TF),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e;return((e=se.current)?.refreshFileCounts)?.call(e)})})},[ve,ye,Ge,Ke]),ht=a.default.useCallback(()=>{fe(!0)},[]),gt=a.default.useCallback(async()=>{if(Ke!==TF)return void fe(!1);try{if(b?.cleanTrash){let e=await b.cleanTrash();await ke({folderId:TF}),await se.current?.refreshFileCounts(),e.success?d.success({id:`TRASH_CLEARED_SUCCESS`,message:f(`Trash cleared successfully`),description:f(`{{count}} items permanently deleted`,{count:e.deletedCount||0}),placement:`bottomRight`}):d.error({id:`TRASH_CLEAR_FAILED`,message:f(`Failed to clear trash`),placement:`bottomRight`})}else{let e=ce.current||[];if(e.length===0)return void fe(!1);let t=await u({items:e.map(e=>({id:e.id,isFolder:e.isFolder})),selectedFolder:TF,getItemNameById:t=>e.find(e=>e.id===t)?.name||t||``,showNotifications:!1});await ke({folderId:TF}),await se.current?.refreshFileCounts();let{successCount:n,failCount:r}=t;r===0?d.success({id:`TRASH_CLEARED_SUCCESS`,message:f(`Trash cleared successfully`),description:f(`{{count}} items permanently deleted`,{count:n}),placement:`bottomRight`}):n>0?d.warning({id:`TRASH_CLEARED_PARTIAL`,message:f(`Trash partially cleared`),description:f(`{{succeeded}} items deleted, {{failed}} items failed`,{succeeded:n,failed:r}),placement:`bottomRight`}):d.error({id:`TRASH_CLEAR_FAILED`,message:f(`Failed to clear trash`),placement:`bottomRight`})}fe(!1)}catch{d.error({id:`TRASH_CLEAR_ERROR`,message:f(`Error clearing trash`),placement:`bottomRight`}),fe(!1)}},[Ke,b,ke,d,f,u]),_t=a.default.useCallback(()=>{fe(!1)},[]),vt=a.default.useCallback(async e=>{await Be(e),await se.current?.refreshFileCounts()},[Be]),yt=a.default.useCallback(async e=>{await Ve(e),await se.current?.refreshFileCounts()},[Ve]),bt=a.default.useCallback(async()=>{let e=[],t=new Map,n=g?.config;await Me({onStartBatch:r=>{e=i.startUpload(Ke||void 0,r),t=new Map,r.forEach((r,i)=>{let a=e[i];a&&(t.set(r.name,a),t.set(oI(r.name,n),a))})},onStart:r=>{if(e.length===0){e=i.startUpload(Ke||void 0,[r]);let a=e[0];a&&(t.set(r.name,a),t.set(oI(r.name,n),a))}},onProgress:(e,n)=>{let r=t.get(e);r&&i.updateProgress(r,n)},onComplete:async e=>{let n=t.get(e);if(n){await new Promise(e=>setTimeout(e,100));let t=Te?.find(t=>t.name===e&&!t.isFolder);i.markAsSuccess(n,t)}await se.current?.refreshFileCounts()},onError:(n,r,a)=>{let o=t.get(n)??(a!=null&&a<e.length?e[a]:void 0);o&&i.markAsError(o,r)},onBatchComplete:async n=>{for(let r=0;r<n.successes.length;r++){let a=n.successes[r],o=n.uploadedFiles?.get(a),s=t.get(a)??(o?.originalFileName?t.get(o.originalFileName):void 0)??(o?.originalIndex!=null&&o.originalIndex<e.length?e[o.originalIndex]:void 0)??(r<e.length?e[r]:void 0);if(s){let e;if(o?.id){let t=o;e={id:t.id,name:t.name??a,folderId:t.folderId??Ke??null,isFolder:!1,size:t.size}}else await new Promise(e=>setTimeout(e,100)),e=Te?.find(e=>e.name===a&&!e.isFolder);i.updateProgress(s,100),i.markAsSuccess(s,e)}}n.errors.forEach(({fileName:e,error:n})=>{let r=t.get(e);r&&i.markAsError(r,n)}),await se.current?.refreshFileCounts()}})},[Me,i,Te,Ke,g?.config]),xt=a.default.useCallback(async(e,t,n,r)=>{var a;try{ue(!0);let o=n||`uploaded-file`;if(!n&&e){let t=e.split(`?`)[0].split(`#`)[0].split(`/`);o=t[t.length-1]||`uploaded-file`,o.includes(`.`)&&(a=o.split(`.`).pop())!=null&&a.length&&o.split(`.`).pop().length<=5||(o+=`.jpg`)}let s=i.startUploadByUrl(Ke||void 0,o);try{let n=await Ne(e,t,!0,r??`uploadByUrl`);if(i.updateProgress(s,100),n){await new Promise(e=>setTimeout(e,100));let e=Te?.find(e=>e.id===n.id&&!e.isFolder)||n;i.markAsSuccess(s,e)}else i.markAsSuccess(s);await se.current?.refreshFileCounts()}catch(e){let t=JR(WR(e),f);i.markAsError(s,t)}}finally{ue(!1)}},[Ne,i,Ke,Te,f]),St=a.default.useCallback(async({file:e})=>{let t=i.startUpload(Ke||void 0,[e])[0],n=0,r=setInterval(()=>{n=Math.min(n+10+Math.floor(Date.now()%10),90),i.updateProgress(t,n)},200);try{let n=await o.uploadFileWithProvider(e,void 0,!0);if(clearInterval(r),i.updateProgress(t,100),n){await new Promise(e=>setTimeout(e,100));let e=Te?.find(e=>e.id===n.id&&!e.isFolder)||n;i.markAsSuccess(t,e)}else i.markAsSuccess(t);let a=n&&n.folderId||Ke||null;return Je&&Je(a&&a!==`folders`?a:`folders`),await se.current?.refreshFileCounts(),n}catch(e){clearInterval(r);let n=e instanceof Error?e.message:String(e);throw i.markAsError(t,n),e}},[o,i,Ke,Te,Je]),Ct=a.default.useCallback(async e=>{if(Le){let t=i.startUpload(Ke||void 0,e);e.forEach(async(e,n)=>{let r=t[n];if(!r)return;let a=0,o=setInterval(()=>{a=Math.min(a+10+Math.floor(Date.now()%10),85),i.updateProgress(r,a)},200);setTimeout(()=>{clearInterval(o)},2e3)}),await Le(e),t.forEach(e=>{i.updateProgress(e,100),i.markAsSuccess(e)}),await se.current?.refreshFileCounts()}},[Le,i,Ke]),wt=a.default.useCallback(async e=>{await je(e),await ve(),await se.current?.refreshFileCounts()},[je,ve]),Tt=(({files:e,clearSelection:t,showRenameModal:n,showMoveModal:r,showCopyModal:i,handleDeleteFile:o,handleDeleteFolder:s,showDeleteConfirm:c,onEdit:l})=>({handleClearSelection:a.useCallback(()=>{t()},[t]),handleRename:a.useCallback(e=>{let t=Nz.getState().selectedFiles;(t&&t.size===1||e)&&n(e||Array.from(t)[0])},[n]),handleDeleteSelected:a.useCallback(t=>{let n=Nz.getState().selectedFiles;if(n&&n.size>0||t?.id){if(c)return void c();(t?[t.id]:n).forEach(t=>{let n=e.find(e=>e.id===t);n&&(n.isFolder?s(t):o(t))})}},[e,o,s,c]),handleCopy:a.useCallback(()=>{i()},[i]),handleMove:a.useCallback(()=>{r()},[r]),handleEdit:a.useCallback(()=>{l()},[l])}))({files:Te||[],clearSelection:me,showRenameModal:Pe,showMoveModal:Re,showCopyModal:t.actions.showCopyModal||(()=>{}),handleDeleteFile:Ae,handleDeleteFolder:wt,showDeleteConfirm:Ue,onEdit:at.handleEdit}),Et=_e||Ee||ot;(0,a.useEffect)(()=>{zF()},[]),(0,a.useLayoutEffect)(()=>{P===vF?he(Te||[]):me()},[P,Te,he,me]),(0,a.useEffect)(()=>{if(!(!_||P!==vF)){if(!tn.current)return void(tn.current=!0);_((Array.isArray(Te)?Te:[]).filter(e=>pe.has(e.id)))}},[P,Te,pe,_]),a.default.useEffect(()=>{if(!Je||ge.length===0)return;let e=!1!==y?.rememberLastFolder,t=`em_fm:lastFolder:${y?.projectId||`default`}`;if(e&&typeof window<`u`)try{let e=localStorage.getItem(t);if(e&&ge.some(t=>t.id===e))return void Je(e)}catch{}Ke||Je(`folders`)},[Ke,Je,ge,y?.rememberLastFolder,y?.projectId]);let{handleRenameFolderCancel:Dt,handleRenameFolderOk:B}=we.actions;(0,a.useEffect)(()=>{let e=async e=>{if(P!==vF)return;let t=document.activeElement;if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t?.getAttribute(`contenteditable`)===`true`)return;let n=e.clipboardData;if(!n)return;let r=Array.from(n.items),i=r.filter(e=>e.type.startsWith(`image/`));if(i.length>0){let t=i.map(e=>e.getAsFile()).filter(e=>e!==null);t.length>0&&(e.preventDefault(),await Ct(t));return}let a=r.find(e=>e.type===`text/plain`);a&&a.getAsString(async t=>{let n=t.trim();if(n.startsWith(`http://`)||n.startsWith(`https://`))e.preventDefault(),await xt(n);else if(n.includes(`<meta`)||n.includes(`http`)){let t=n.match(/https?:\/\/[^\s"']+/);t&&(e.preventDefault(),await xt(t[0]))}})};return document.addEventListener(`paste`,e),()=>{document.removeEventListener(`paste`,e)}},[P,xt,Ct]);let Ot=(0,a.useRef)(Xe);(0,a.useEffect)(()=>{Ot.current=Xe},[Xe]);let kt=(0,a.useCallback)(e=>{rt(e.current||Ot.current.current,e.pageSize||Ot.current.pageSize)},[rt]),At=(0,a.useCallback)(e=>{Ye?.(e)},[Ye]),jt=a.default.useCallback(e=>{let{sortBy:t,sortOrder:n}=(e=>{let[t,n]=e.split(`-`);return{sortBy:t,sortOrder:n}})(e);nt(t,n)},[nt]),[Mt,Nt]=(0,a.useState)(dH),[Pt,Ft]=(0,a.useState)([]),It=(0,a.useRef)(null),[Lt,Rt]=(0,a.useState)(PF),[zt,Bt]=(0,a.useState)([]),Vt=(0,a.useRef)(null),[Ht,Ut]=(0,a.useState)(``),Wt=(0,a.useRef)(null),[Gt,Kt]=(0,a.useState)(``),[qt,Jt]=(0,a.useState)([]),Yt=a.default.useRef(void 0),[Xt,Zt]=(0,a.useState)(!1),[Qt,$t]=(0,a.useState)(!1),en=a.default.useRef(null),tn=a.default.useRef(!1),[nn,rn]=(0,a.useState)({mode:`qr`,rawText:``,foregroundHex:`#000000`,backgroundHex:`#ffffff`,transparentBackground:!1,qrSidePx:200,barcodeBarHeightPx:60}),an=a.default.useRef(P),on=a.default.useCallback(e=>{let t=e.indexOf(`,`);if(t===-1)return null;let n=e.substring(0,t),r=n.match(/^data:([^;]+)/),i=r&&r[1]||`image/svg+xml`,a,o=`svg`;if(i.includes(`png`)?o=`png`:(i.includes(`jpeg`)||i.includes(`jpg`))&&(o=`jpg`),/;base64/i.test(n)){let n=e.substring(t+1),r=atob(n),o=new Uint8Array(r.length);for(let e=0;e<r.length;e+=1)o[e]=r.charCodeAt(e);a=new Blob([o],{type:i})}else{let n=decodeURIComponent(e.substring(t+1));a=new Blob([n],{type:i})}return new File([a],`icon_${Date.now()}.${o}`,{type:i})},[]),sn=a.default.useCallback(async e=>{let t=i.startUpload(Ke||void 0,[e])[0],n=0,r=setInterval(()=>{n=Math.min(n+10+Math.floor(Date.now()%10),90),i.updateProgress(t,n)},200);try{let n=await o.uploadFileWithProvider(e,void 0,!0);if(clearInterval(r),i.updateProgress(t,100),n){await new Promise(e=>setTimeout(e,100));let e=Te?.find(e=>e.id===n.id&&!e.isFolder)||n;i.markAsSuccess(t,e)}else i.markAsSuccess(t);await se.current?.refreshFileCounts()}catch(e){clearInterval(r);let n=e instanceof Error?e.message:String(e);throw i.markAsError(t,n),e}},[i,Te,o,Ke]),cn=(0,a.useCallback)(async e=>{if(e&&e.startsWith(`data:`)){let t=on(e);if(!t)return;await sn(t);return}e&&await xt(e,void 0,void 0,`iconStock`)},[on,xt,sn]),ln=(0,a.useCallback)(async()=>{let e=L?.fileForEdit;if(Yt.current!==e&&P===wF&&e&&!at.editingFile){Yt.current=e;try{if(typeof e==`string`){if(e.startsWith(`data:`))return void(at==null||at.handleEdit({thumbnail:e,saveWithoutFolder:!0}));let t=await o.resolveFileForEditByUrl(e);Yt.current===e&&at?.handleEdit(t)}}catch{Yt.current===e&&(Yt.current=null),at?.handlePixieEditorClose()}}},[L?.fileForEdit,P,at,o]);(0,a.useEffect)(()=>{ln()},[ln]),(0,a.useEffect)(()=>{var e,t,n,r;let i=an.current;an.current=P,P===vF?(Ft([]),Nt(dH),Bt([]),Rt(PF),Jt([]),Kt(``),$t(!1),Zt(!1),i===vF||i!==bF&&i!==yF&&i!==SF||tt(``)):P===SF?(e=en.current)==null||e.focus():P===yF?(t=It.current)==null||t.focus():P===bF?(n=Vt.current)==null||n.focus():P===xF&&((r=Wt.current)==null||r.focus())},[P,tt]);let un=a.default.useCallback(async()=>{await B(),await se.current?.refreshFileCounts()},[B]),dn=(0,a.useCallback)(e=>e?e.files?.length?Array.from(e.files):e.items?Array.from(e.items).map(e=>e.getAsFile()).filter(e=>!!e):[]:[],[]);return(0,c.jsxs)(c.Fragment,{children:[re&&pt===vF&&(0,s.createPortal)((0,c.jsx)(`div`,{className:$.dragCaptureLayer,"data-drag-capture":`true`,onDragOver:e=>{var t;e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&!oe.current&&z(!0)},onDragEnter:e=>{var t;e.preventDefault(),e.stopPropagation(),(t=e.dataTransfer?.types)!=null&&t.includes(`Files`)&&z(!0)},onDragLeave:e=>{let t=e.relatedTarget;t&&document.documentElement.contains(t)||(z(!1),ie(!1),document.body.removeAttribute(`data-fm-dragging`))},onDrop:e=>{e.preventDefault(),e.stopPropagation(),ie(!1),z(!1),document.body.removeAttribute(`data-fm-dragging`);let t=dn(e.dataTransfer);t.length&&(st(!0),Le(t).catch(e=>{e?.name}).finally(()=>st(!1)))},"aria-hidden":`true`}),document.body),ne&&(0,s.createPortal)((0,c.jsx)(`div`,{className:$.dragOverlayGlobal,"data-drop-overlay":`true`,onDragOver:e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},onDragEnter:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),e.stopPropagation(),z(!1),ie(!1),document.body.removeAttribute(`data-fm-dragging`);let t=dn(e.dataTransfer);t.length&&(st(!0),Le(t).catch(e=>{e?.name}).finally(()=>st(!1)))},"aria-hidden":`true`,children:(0,c.jsxs)(`div`,{className:$.dragOverlayInner,children:[(0,c.jsx)(`div`,{className:$.uploadIcon,children:(0,c.jsx)(ee,{})}),(0,c.jsx)(`div`,{className:$.textTitle,children:f(`Drop files here to upload`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:f(`Supported files:`)+` .jpg, .jpeg, .svg, .png`})]})}),document.body),(0,c.jsx)(l.Layout,{className:`file-manager__layout`,children:(0,c.jsxs)(`div`,{className:$.filesContainer,"data-files-container":`true`,onDragOver:ut,onDragLeave:lt,onDragEnter:ct,onDrop:dt,children:[R&&(0,c.jsx)(`div`,{className:$.dragOverlay,children:(0,c.jsxs)(`div`,{className:$.dragOverlayInner,children:[(0,c.jsx)(`div`,{className:$.uploadIcon,children:(0,c.jsx)(ee,{})}),(0,c.jsx)(`div`,{className:$.textTitle,children:f(`Drop files here to upload`)}),(0,c.jsx)(`div`,{className:$.textDescription,children:f(`Supported files:`)+` .jpg, .jpeg, .svg, .png`})]})}),(0,c.jsxs)(l.Layout,{className:`file-manager__content`,children:[(0,c.jsx)(sH,{width:320,theme:`light`,className:`file-manager-sider`,children:(0,c.jsx)(JB,{ref:se,selectedFolder:Ke||`folders`,generateMenuItems:Ce,onFolderSelect:e=>Je?.(e),folders:ge||[],fetchFolders:ve,fetchChildFolders:ye,handleAddFile:bt,setIsUrlModalVisible:e=>F?.(e),handleDeleteFolder:wt,handleCreateFolder:be,activeLibraryItem:P,setActiveLibraryItem:e=>I?.(e)})}),(0,c.jsxs)(l.Layout,{className:`file-manager__main-content`,children:[ot&&(0,c.jsx)(VB,{style:{position:`absolute`,width:`100%`,height:`100%`,top:0,left:0,zIndex:100,background:`var(--colorBgLayout)`}}),(0,c.jsxs)(cH,{className:`main-content`,children:[(0,c.jsx)(LV,{activeLibraryItem:P,selectedFolder:ge?.find(e=>e?.id===Ke)?.name||f(`Folders`),isTrashFolder:Ke===`Trash`,onClearTrash:ht,files:Te||[],loading:Et,onRefresh:it,refreshDisabled:Ee||_e,showRefresh:!(!g?.apiEndpoints?.clearCache&&!g?.dataProviders?.clearCache)}),(0,c.jsx)(l.Divider,{className:`zero-divider`}),P===vF&&(0,c.jsx)(AB,{searchTerm:Qe,handleAddFile:bt,files:Te||[],handleSearch:tt,sortBy:$e,sortOrder:et,handleSortOptionChange:jt,pagination:Xe,setPagination:kt,loading:Et,handleItemClick:At,onClearSelection:Tt.handleClearSelection,onRename:Tt.handleRename,onCopy:Tt.handleCopy,onMove:Tt.handleMove,onDelete:Tt.handleDeleteSelected,showRenameModal:Pe,showDeleteConfirm:Ue,showCopyModal:t.actions.showCopyModal||(()=>{}),showMoveModal:Re,onEdit:at.handleEdit,getFileData:o.getFileData}),P===yF&&(0,c.jsx)(GV,{imageGifList:Pt,setImageGifList:Ft,currentReqGif:Mt,setCurrentReqGif:Nt,inputRef:It,customRequest:(e,t)=>xt(e,void 0,t,`gif`)}),P===bF&&(0,c.jsx)(YV,{imageStockList:zt,setImageStockList:Bt,currentReq:Lt,setCurrentReq:Rt,inputRef:Vt,customRequest:(e,t)=>xt(e,void 0,t,`imageStock`)}),P===xF&&(0,c.jsx)(a.default.Suspense,{fallback:(0,c.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`48px 0`},children:(0,c.jsx)(l.Spin,{size:`large`})}),children:(0,c.jsx)(lH,{customRequest:cn,query:Ht,setQuery:Ut,inputRef:Wt})}),P===CF&&(0,c.jsx)(a.default.Suspense,{fallback:(0,c.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`48px 0`},children:(0,c.jsx)(l.Spin,{size:`large`})}),children:(0,c.jsx)(uH,{customRequest:St,state:nn,setState:rn})}),P===SF&&!!L?.sseQuery&&(0,c.jsx)(aH,{imageAiList:qt,setImageAiList:Jt,aiImageRequest:Gt,setAiImageRequest:Kt,inputAiRef:en,customRequest:St,isLoadingAi:Xt,setIsLoadingAi:Zt,isImageUploaded:Qt,setIsImageUploaded:$t}),P===wF&&(0,c.jsx)(c.Fragment,{})]})]})]}),le&&!i.isUploadVisible&&(0,c.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:1500,backgroundColor:`rgba(255, 255, 255, 0.5)`,pointerEvents:`all`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,c.jsx)(l.Spin,{size:`large`})}),(0,c.jsx)(KB,{isModalVisible:D,handleModalOk:xe,handleModalCancel:Se,form:x,selectedFolder:Ke||null,folders:ge||[],isUrlModalVisible:O,setIsUrlModalVisible:e=>F?.(e),handleAddFileByUrl:xt,urlForm:S,isRenameModalVisible:De,handleRenameOk:()=>Ie?.(),handleRenameCancel:()=>Fe?.(),renameForm:C,fileToRename:Oe,files:Te||[],isMoveModalVisible:k,handleMoveOk:vt,handleMoveCancel:ze,moveForm:w,selectedFiles:pe||new Set,isRenameFolderModalVisible:A,handleRenameFolderOk:un,handleRenameFolderCancel:Dt,renameFolderForm:T,folderToRename:N,isCopyModalVisible:j,handleCopyOk:yt,handleCopyCancel:He,copyForm:E,isDeleteConfirmVisible:M,handleDeleteConfirmOk:mt,handleDeleteConfirmCancel:()=>We?.(),isClearTrashConfirmVisible:de,handleClearTrashConfirm:gt,handleClearTrashCancel:_t,fetchChildFolders:ye}),(0,c.jsx)(aV,{visible:at.isPixieEditorVisible,onClose:at.handlePixieEditorClose,file:at.editingFile,onSave:at.handlePixieEditorSave,onSaveCopy:at.handlePixieEditorSaveCopy}),(0,c.jsx)(PV,{files:i.uploadFiles,visible:i.isUploadVisible,minimized:i.isUploadMinimized,totalFiles:i.totalFiles,completedFiles:i.completedFiles,onClose:i.closeUpload,onMinimize:i.minimizeUpload,onInsert:e=>{var t;let n=i.getUploadedFile(e.id)||e;(t=p.onEditorOk)==null||t.call(p,n)}})]})})]})},pH=(0,a.memo)(({config:e={},onPathChange:t,onChangeSelection:n,onEditorOk:r,searchQuery:i=``,sortBySize:o=`name`,apiEndpoints:s={},customIcons:u,dragDropIcon:d,dataProviders:f,handleNotify:p,handleError:m,handleSuccess:h})=>{let g=a.default.useMemo(()=>Object.assign({folderTreeLoading:`lazy`,expandAllFoldersOnInit:!1,expandRootFolderOnInit:!1,iconStrokeWidth:1.4,availableImageExtensions:[`jpg`,`jpeg`,`png`,`gif`],fileNameProcessing:Object.assign(Object.assign({},{transliterate:!0,replaceSpaces:!0,removeForbiddenChars:!0,toLowerCase:!0}),e.fileNameProcessing),folderNameProcessing:Object.assign(Object.assign({},{transliterate:!0,replaceSpaces:!0,removeForbiddenChars:!0,toLowerCase:!0}),e.folderNameProcessing)},e),[e]);a.default.useEffect(()=>{g.theme&&(e=>{if(e===`system`){let t=matchMedia(kF).matches?DF:EF;e=e===OF?t:e}document.documentElement.setAttribute(`data-theme`,e)})(g.theme),oH(g)},[g]),(0,a.useEffect)(()=>{g.locale&&g.locale!==ZI.language&&ZI.changeLanguage(g.locale),g.customLocale&&g.locale&&ZI.addResourceBundle(g.locale,`translation`,g.customLocale,!0,!0)},[g.locale,g.customLocale]);let _=(0,a.useRef)(null),v=(0,a.useCallback)(()=>_.current??document.body,[]);return(0,c.jsx)(l.App,{className:`em-filemanager`,children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.ConfigProvider,{getPopupContainer:()=>_.current||document.body,children:(0,c.jsx)(bR,{options:a.default.useMemo(()=>({apiEndpoints:s,searchQuery:i,sortBySize:o,onPathChange:t,onChangeSelection:n,onEditorOk:r,config:g,customIcons:u,dragDropIcon:d,dataProviders:f,handleNotify:p,handleError:m,handleSuccess:h,getModalContainer:v}),[s,i,o,t,n,r,g,u,d,f,p,m,h,v]),children:(0,c.jsx)(fH,{})})}),(0,c.jsx)(`div`,{ref:_,className:`file-manager-modal-root`})]})})});pH.displayName=`FileManagerApp`;var mH=l.Alert.ErrorBoundary,hH=e=>(0,c.jsx)(_L,{i18n:ZI,children:(0,c.jsx)(LF,{externalTheme:e.config?.theme??`light`,customThemeToken:e.config?.customTheme,children:(0,c.jsx)(mH,{children:(0,c.jsx)(pH,Object.assign({},e))})})}),gH=e=>{let{onClose:t,onSave:n,dataProviders:r,theme:i,locale:o,hasPagination:s,disablePagination:u,paginationAvailable:d,dedupeUploadNamesOnClient:f,saveCopyToCurrentFolder:p}=e,m=a.default.useMemo(()=>({theme:i??`light`,locale:o,baseUrl:e.baseUrl,assetsUrl:e.assetsUrl,compressMaxSize:e.compressMaxSize,compressMaxWidthOrHeight:e.compressMaxWidthOrHeight,compessorUrl:e.compessorUrl??e.compressorUrl,compressorUrl:e.compressorUrl??e.compessorUrl,showNotifications:e.showNotifications,fetchWithProxy:e.fetchWithProxy,handleFileProxy:e.handleFileProxy,hasPagination:s,disablePagination:u,paginationAvailable:d,dedupeUploadNamesOnClient:f,saveCopyToCurrentFolder:p}),[i,o,e.baseUrl,e.assetsUrl,e.compressMaxSize,e.compressMaxWidthOrHeight,e.compessorUrl,e.compressorUrl,e.showNotifications,e.fetchWithProxy,e.handleFileProxy,s,u,d,f,p]),h=a.default.useCallback(async(e,t,n,i)=>{if(!e&&!t||!r?.getFiles)return null;try{let[a]=(await r.getFiles({folderId:i?void 0:n??void 0,noFolder:i,search:t||void 0,itemType:`file`,page:1,limit:1})).files;return a?e&&a.id!==e?null:a:null}catch{return null}},[r]),g=a.default.useCallback(async e=>{if(!e||typeof r?.getFileById!=`function`)return null;try{return await r.getFileById(e)??null}catch{return null}},[r]),_=a.default.useMemo(()=>{if(e.file)return e.file;let t=e.name||`edited-image`,n=e.extension||(e.type?e.type.split(`/`)[1]:`png`),r=e.type||`image/${n}`;return{thumbnail:e.imageDataUrl||``,name:t,id:void 0,type:r,extension:n,saveWithoutFolder:!0}},[e.file,e.imageDataUrl,e.name,e.extension,e.type]),v=a.default.useCallback(async(e,t)=>{if(r?.updateFile&&e.thumbnail)try{let n=t?.mimeType||HF(e.thumbnail,e.type),i=UF(n),a=e.name.substring(0,e.name.lastIndexOf(`.`))+`.`+i,o=t?.blob||YF(e.thumbnail,n);return await r.updateFile(e.id,{name:a,type:n,data:o})}catch{return null}return null},[r]),y=a.default.useCallback(async(e,t)=>{if(!e.thumbnail)return null;try{let n=!0!==m.saveCopyToCurrentFolder||(e.saveWithoutFolder??!e.id),i=n?``:e.folderId||``,a=t?.mimeType||HF(e.thumbnail,e.type),o=t?.blob||YF(e.thumbnail,a),s=await VL(r,oI(e.name,m),i,n,cI(m)),c=new File([o],s,{type:a,lastModified:Date.now()});if(r?.uploadFiles){let t=await r.uploadFiles({items:[{name:c.name,size:c.size,type:c.type,folderId:i,noFolder:n,data:c,extension:UF(a)}],folderId:i}),o=t.detailed?.[0];if(t.success&&o?.success&&o.data){let t=o.data;return t.url||t.thumbnailUrl||t.thumbnail?{id:t.id||e.id||``,name:t.name||e.name,folderId:t.folderId??i,type:t.type||c.type,size:t.size??c.size,extension:t.extension||UF(a),url:t.url,thumbnailUrl:t.thumbnailUrl,thumbnail:t.thumbnail,date:t.date,dimensions:t.dimensions,aspectRatio:t.aspectRatio,sourceUrl:t.sourceUrl,isFolder:!1,selected:!1}:await h(o.data.id,o.data.name||c.name,o.data.folderId??i,n)||await g(o.data.id)||null}}if(r?.uploadFile){let e=await r.uploadFile({name:c.name,size:c.size,type:c.type,folderId:i,noFolder:n,data:c,extension:UF(a)});return e?e.url||e.thumbnailUrl||e.thumbnail?e:await g(e.id)||null:null}return null}catch{return null}},[r,h,g,m]),b=a.default.useCallback(async(e,i)=>{if(r?.updateFile&&e.id&&e.thumbnail)try{let t=await v(e,i);t&&(e=t)}catch{}return n&&await n(e,i),t&&t(),e},[r,n,t,v]),x=a.default.useCallback(async(e,r)=>{if(e.thumbnail)try{let i=await y(e,r);return i?(n&&await n(i,r),t&&t(),i):void 0}catch{return}},[t,n,y]),S=(0,a.useRef)(null),C=(0,a.useCallback)(()=>S.current??document.body,[]);return(0,a.useEffect)(()=>{o&&o!==ZI.language&&ZI.changeLanguage(o)},[o]),(0,c.jsx)(l.App,{className:`em-filemanager`,children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.ConfigProvider,{getPopupContainer:()=>S.current||document.body,children:(0,c.jsx)(_L,{i18n:ZI,children:(0,c.jsx)(LF,{externalTheme:i??`light`,children:(0,c.jsx)(mH,{children:(0,c.jsx)(bR,{options:{dataProviders:r,handleNotify:e.handleNotify,handleError:e.handleError,handleSuccess:e.handleSuccess,config:m,getModalContainer:C},children:(0,c.jsx)(aV,{visible:!0,onClose:t,file:_,onSave:b,onSaveCopy:x})})})})})}),(0,c.jsx)(`div`,{ref:S,className:`file-manager-modal-root`})]})})},_H=``,vH=class{constructor(){this.map=new Map}static childrenViewKey(e,t){return`v${_H}${e}${_H}${t}`}static childrenCountKey(e){return`c${_H}${e}`}getFreshError(e,t){let n=this.map.get(e);return n?t!==1/0&&Date.now()-n.updatedAt>t?(this.map.delete(e),null):n.error:null}setError(e,t){this.map.set(e,{error:t,updatedAt:Date.now()})}delete(e){this.map.delete(e)}clearChildrenViewErrorsForParent(e){let t=`v${_H}${e}${_H}`;for(let e of[...this.map.keys()])e.startsWith(t)&&this.map.delete(e)}clearAll(){this.map.clear()}},yH=class{constructor(){this.deletingIds=new Set}beginDeleting(e){for(let t of e)t&&this.deletingIds.add(t)}endDeleting(e){for(let t of e)t&&this.deletingIds.delete(t)}isDeleting(e){return!!e&&this.deletingIds.has(e)}},bH=18e5;function xH(e){return e==null||e===``?``:e}function SH(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function CH(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function wH(e){return!!e&&!!e.isFolder}function TH(){if(typeof(globalThis==null?void 0:globalThis.crypto)?.randomUUID==`function`)return globalThis.crypto.randomUUID();try{let e=globalThis.crypto||globalThis.msCrypto;if(e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return`id_${n}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}function EH(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.code===`folder_not_found`||t.code===`FolderNotFound`||t.data?.code===`path_folder_not_found`||t.data?.code===`folder_not_found`||t.status===404||t.data?.data?.status===404}function DH(e){if(!e||typeof e!=`object`)return String(e??``);let t=e,n=[],r={},i=[`page`,`pageSize`,`sortBy`,`sortOrder`,`search`,`itemType`,`limit`];for(let e of Object.keys(t).sort()){let a=t[e];i.includes(e)?n.push(`${e}=${String(a??``)}`):r[e]=a}let a=Object.keys(r).length?JSON.stringify(r):``,o=n.join(`|`),s=a?function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}(a):``;return`${o}${s?`|${s}`:``}`}var OH=class e{constructor(){this.entities=new Map,this.childrenByParent=new Map,this.maxCacheSize=1e4}now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let e=Array.from(this.entities.entries()).sort((e,t)=>e[1].updatedAt-t[1].updatedAt),t=Math.floor(.1*this.maxCacheSize);for(let n=0;n<t&&n<e.length;n++){let[t,r]=e[n];this.deleteEntityById(t)}}}getEntity(e){return this.entities.get(e)?.value}getRecord(e){return this.entities.get(e)}getFileSystemItem(e){let t=this.getEntity(e);return t&&!wH(t)?t:void 0}getFolder(e){let t=this.getEntity(e);return t&&wH(t)?t:void 0}getChildrenIds(e,t={}){let n=xH(e),r=this.childrenByParent.get(n);return r?t.onlyFileSystemItems?Array.from(r.files):t.onlyFolders?Array.from(r.folders):[...Array.from(r.folders),...Array.from(r.files)]:[]}searchByUrl(e){for(let t of this.entities.values())if(t.value.url===e)return t.value;return null}upsertEntity(e){let t=this.entities.get(e.id)??null,n=t?t.value:null,r=n?CH(n):null,i=CH(e),a=!!n&&wH(n),o=wH(e),s;if(n&&wH(n)&&o){let t=n.childrenCount,r=e.childrenCount;t!==void 0&&r===void 0&&(s=t)}if(n&&(r!==i||a!==o)){let t=xH(r),n=this.childrenByParent.get(t);n&&(a?n.folders.delete(e.id):n.files.delete(e.id),n.files.size===0&&n.folders.size===0&&this.childrenByParent.delete(t))}let c=e;s!==void 0&&(c=Object.assign(Object.assign({},e),{childrenCount:s})),this.entities.set(e.id,{value:Object.assign({},c),updatedAt:this.now()}),this.checkCacheSize();let l=xH(i),u=this.childrenByParent.get(l);u||(u={files:new Set,folders:new Set},this.childrenByParent.set(l,u)),o?u.folders.add(e.id):u.files.add(e.id)}updateServerChildrenCount(e,t){if(e==null||t==null||Number.isNaN(t))return;let n=this.entities.get(e);if(!n||!wH(n.value))return;let r=Object.assign(Object.assign({},n.value),{childrenCount:t});this.entities.set(e,{value:r,updatedAt:this.now()})}deleteEntityById(e){let t=this.entities.get(e)??null;if(!t)return{entity:null,parentId:null};let n=t.value,r=CH(n),i=xH(r),a=this.childrenByParent.get(i);return a&&(wH(n)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i)),this.entities.delete(e),{entity:Object.assign({},n),parentId:r}}deleteFolderRecursive(e){let t=this.entities.get(e);if(!t||!wH(t.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:e,parentId:CH(t.value)}],r=[],i=[];for(;n.length;){let e=n.shift();r.push(e);let t=this.childrenByParent.get(xH(e.id));if(t){for(let e of Array.from(t.folders)){let t=this.entities.get(e);t&&n.push({id:e,parentId:CH(t.value)})}for(let e of Array.from(t.files))i.push(e)}}let a=[];for(let e of i){let t=this.entities.get(e);if(!t)continue;let n=t.value,r=xH(CH(n)),i=this.childrenByParent.get(r);i&&(i.files.delete(e),i.files.size===0&&i.folders.size===0&&this.childrenByParent.delete(r)),this.entities.delete(e),a.push(Object.assign({},n))}let o=[];for(let e=r.length-1;e>=0;e--){let{id:t,parentId:n}=r[e],i=this.entities.get(t);if(!i)continue;let a=i.value,s=xH(a.id);this.childrenByParent.delete(s);let c=xH(n),l=this.childrenByParent.get(c);l&&(l.folders.delete(t),l.files.size===0&&l.folders.size===0&&this.childrenByParent.delete(c)),this.entities.delete(t),o.push(Object.assign({},a))}return{deletedFolderRecords:o,deletedFileSystemItemRecords:a}}moveEntityById(e,t){let n=this.entities.get(e)??null;if(!n)return null;let r=n.value,i=xH(CH(r)),a=this.childrenByParent.get(i);a&&(wH(r)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i));let o=Object.assign(Object.assign({},r),{folderId:t});if(wH(r)&&wH(o)){let e=r.childrenCount;e!==void 0&&(o.childrenCount=e)}this.entities.set(e,{value:o,updatedAt:this.now()});let s=xH(t),c=this.childrenByParent.get(s);return c||(c={files:new Set,folders:new Set},this.childrenByParent.set(s,c)),wH(o)?c.folders.add(e):c.files.add(e),Object.assign({},o)}copyFileSystemItem(e,t,n){let r=this.entities.get(e)??null;if(!r||wH(r.value))return null;let i=r.value,a=Object.assign(Object.assign({},i),{id:t,folderId:n});return this.upsertEntity(a),Object.assign({},a)}copyFolderShallow(e,t,n){let r=this.entities.get(e)??null;if(!r||!wH(r.value))return null;let i=r.value,a=Object.assign(Object.assign({},i),{id:t,folderId:n});return this.upsertEntity(a),Object.assign({},a)}isEntityStale(e,t){let n=this.entities.get(e)??null;return!n||t!==1/0&&this.now()-n.updatedAt>t}touch(e,t){let n=this.entities.get(e);n&&(n.updatedAt=t??this.now())}getEntitiesByIds(e){return e.map(e=>this.entities.get(e)?.value??null)}searchByName(e,t){var n,r;if(!e||e.trim()===``)return[];let i=t?.parentId,a=(n=t?.recursive)!=null&&n,o=t?.itemType??`all`,s=(r=t?.caseSensitive)!=null&&r,c=t?.limit??1/0,l=s?e.trim():e.trim().toLowerCase(),u=[],d=null;if(i!==void 0){d=new Set;let e=xH(i);if(d.add(e),a){let t=[e],n=new Set;for(;t.length>0;){let e=t.shift();if(n.has(e))continue;n.add(e);let r=this.childrenByParent.get(e);if(r)for(let e of r.folders)d.add(e),t.push(e)}}}for(let[,e]of this.entities){if(u.length>=c)break;let t=e.value;if(d!==null){let e=xH(CH(t));if(!d.has(e))continue}if(o===`file`&&wH(t)||o===`folder`&&!wH(t))continue;let n=t.name??``;(s?n:n.toLowerCase()).includes(l)&&u.push(Object.assign({},t))}return u}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([e,t])=>[e,{files:Array.from(t.files),folders:Array.from(t.folders)}])}}static fromJSON(t){let n=new e;for(let[e,r]of t.entities??[])n.entities.set(e,{value:r.value,updatedAt:r.updatedAt});for(let[e,r]of t.childrenByParent??[])n.childrenByParent.set(e,{files:new Set(r.files),folders:new Set(r.folders)});return n}},kH=class e{constructor(e={},t=18e5,n,r,i=new vH,a=EH){var o,s,c;this.views=new Map,this.maxViewsPerParent=50,this.strategy={allowSortedInsert:(o=e.allowSortedInsert)==null||o,allowSearchInsert:(s=e.allowSearchInsert)==null||s,invalidateOnPaginationFull:(c=e.invalidateOnPaginationFull)==null||c,preloadPagesBefore:e.preloadPagesBefore??0,preloadPagesAfter:e.preloadPagesAfter??1,comparator:e.comparator,filterMatch:e.filterMatch},this.ttl=t,this.errorTtl=n??t,this.entityTtl=r??t,this.failedRequests=i,this.isFolderNotFoundError=a}setServerChildrenCountHandler(e){this.serverChildrenCountHandler=e}setChildrenCountInvalidator(e){this.childrenCountInvalidator=e}now(){return Date.now()}parentKey(e){return xH(e??null)}isExpired(e){return e==null||this.ttl!==1/0&&this.now()-e>this.ttl}areEntitiesStale(e,t){return!e||e.some(e=>!t.getEntity(e)||t.isEntityStale(e,this.entityTtl))}isEntityTypeCompatible(e,t){return!t||t===`all`||t===`file`&&!wH(e)||!(t!==`folder`||!wH(e))}cleanupOldViews(e){if(e.size<=this.maxViewsPerParent)return;let t=Array.from(e.entries()).sort((e,t)=>(t[1].view.updatedAt||0)-(e[1].view.updatedAt||0));for(;e.size>this.maxViewsPerParent&&t.length>0;){let[n]=t.pop();e.delete(n)}}async getOrCreateChildren(e,t,n,r){let i=this.parentKey(e),a=DH(t??{}),o=this.views.get(i);o||(o=new Map,this.views.set(i,o));let s=vH.childrenViewKey(i,a),c=o.get(a);c||(c={params:t,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},o.set(a,c),this.cleanupOldViews(o));let l=this.failedRequests.getFreshError(s,this.errorTtl);if(l!=null)throw l;if(c.view.value&&!this.isExpired(c.view.updatedAt)&&!this.areEntitiesStale(c.view.value,r)&&!c.view.meta?.stale){let e=c.view.value.map(e=>r.getEntity(e)).filter(Boolean),t=c.params?.itemType||`all`,n=e.filter(e=>this.isEntityTypeCompatible(e,t));return Object.assign({items:n},c.view.meta??{})}if(c.view.promise)return c.view.promise;let u=TH();c.view.loadId=u;let d=(async()=>{try{let a=await n(e,t),o=function(e){return!!e&&typeof e.search==`string`&&e.search.trim().length>0}(t),l=o?Object.assign(Object.assign({},a),{total:void 0}):a,d=this.views.get(i)?.get(DH(t));if(!d||d.view.loadId!==u){let e=Error(`StaleLoad`);throw e.name=`StaleLoad`,e}for(let e of l.items)r.upsertEntity(e);c.view.value=l.items.map(e=>e.id);let{items:f}=l,p=FR(l,[`items`]),m=Object.assign({},p);c.view.meta=m,c.view.meta&&(c.view.meta.stale=!1),this.failedRequests.delete(s),c.view.updatedAt=this.now(),o||typeof m.total!=`number`||(this.serverChildrenCountHandler?this.serverChildrenCountHandler(e??null,m.total,r):r.updateServerChildrenCount(e,m.total));let h=this.strategy.preloadPagesAfter??0,g=this.strategy.preloadPagesBefore??0,_=SH(t?.pageSize);if((h>0||g>0)&&Number.isFinite(_)){let i=e,a=Object.assign({},t),o=typeof m.totalPages==`number`?m.totalPages:1,s=t?.page??1,c=_,l=n,d=u;setTimeout(()=>{this.preloadPagesAsync(i,a,s,o,c,h,g,r,m,l,d)},0)}return l}catch(e){if(e?.name===`StaleLoad`)throw this.failedRequests.delete(s),c.view.value=void 0,c.view.updatedAt=this.now(),e;if(this.isFolderNotFoundError(e))return this.failedRequests.delete(s),c.view.value=[],c.view.meta={total:0,totalPages:0},c.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(s,e),c.view.value=void 0,c.view.updatedAt=this.now(),e}finally{c.view.promise=null}})();return c.view.promise=d,d}async preloadPagesAsync(e,t,n,r,i,a,o,s,c,l,u){try{let i=this.parentKey(e),c=this.views.get(i);if(!c)return;let d=c.get(DH(t));if(!d||u!=null&&d.view.loadId!==u)return;let f=c.get(DH(t));if(!f?.view.meta)return;let p=typeof f.view.meta.totalPages==`number`?f.view.meta.totalPages:1;if(p!==r)return;let m=async n=>{let r=Object.assign(Object.assign({},t),{page:n});try{let a=await l(e,r),o=this.views.get(i);if(!o)return;let c=o.get(DH(t));if(!c||u!=null&&c.view.loadId!==u||c.view.loadId!==u)return;for(let e of a.items)s.upsertEntity(e);let d=DH(r),f=o.get(d);if(f||(f={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:c.view.loadId}},o.set(d,f),this.cleanupOldViews(o)),!f.view.value||this.isExpired(f.view.updatedAt)){f.view.value=a.items.map(e=>e.id);let{items:e}=a,t=FR(a,[`items`]);f.view.meta=Object.assign(Object.assign({},t),{page:n,totalPages:p}),f.view.updatedAt=this.now()}}catch{}};if(a>0&&n<p)for(let e=1;e<=Math.min(a,p-n);e++){let r=n+e,i=DH(Object.assign(Object.assign({},t),{page:r})),a=c.get(i);a!=null&&a.view.value&&!this.isExpired(a.view.updatedAt)||m(r)}if(o>0&&n>1)for(let e=1;e<=Math.min(o,n-1);e++){let r=n-e,i=DH(Object.assign(Object.assign({},t),{page:r})),a=c.get(i);a!=null&&a.view.value&&!this.isExpired(a.view.updatedAt)||m(r)}}catch{}}removeEmptyPageIfNeeded(e,t,n,r,i){if(t.view.value&&t.view.value.length===0&&n<r){let t=DH(Object.assign(Object.assign({},i),{page:n}));e.delete(t)}}updateTotalPagesForAllViews(e,t){for(let[,n]of e)n.view.meta&&(n.view.meta.totalPages=t)}isParamsSame(e,t){let n=Object.keys(e??{}).filter(e=>e!==`page`).sort(),r=Object.keys(t??{}).filter(e=>e!==`page`).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0}syncTotalsInSameViews(e,t){let n=t.view.meta;if(!n||typeof n.total!=`number`)return;let r=Number(n.total),i=SH(t.params?.pageSize),a=Number.isFinite(i)&&i>0?Math.max(1,Math.ceil(r/i)):void 0;for(let[,n]of e)this.isParamsSame(n.params??{},t.params??{})&&(n.view.meta||(n.view.meta={}),n.view.meta.total=r,a!==void 0&&(n.view.meta.totalPages=a))}canSafelyModifySortedView(e){return!e.sortBy&&!e.sortOrder||!!this.strategy.comparator}cascadeShiftPages(e,t,n,r,i,a,o){let s=t,c=n,l=!1,u=0;for(;s.view.value&&s.view.value.length<r&&c<i&&u<100;){u++;let t=DH(Object.assign(Object.assign({},o),{page:c+1})),n=e.get(t);if(!n?.view.value||this.isExpired(n.view.updatedAt)){s.view.meta=Object.assign(Object.assign({},s.view.meta??{}),{stale:!0});break}let i=r-s.view.value.length,d=n.view.value.slice(0,i).filter(e=>a.getEntity(e));if(d.length===0){s.view.meta=Object.assign(Object.assign({},s.view.meta??{}),{stale:!0});break}if(s.view.value=[...s.view.value,...d],s.view.updatedAt=Date.now(),n.view.value=n.view.value.slice(d.length),n.view.updatedAt=Date.now(),n.view.value.length===0){let t=c+1,r=n.view.meta;if(t<(r&&typeof r.totalPages==`number`?r.totalPages:1)){let n=DH(Object.assign(Object.assign({},o),{page:t}));e.delete(n),l=!0}break}s=n,c++}return(!s.view.value||s.view.value.length<r)&&c>=i&&(s.view.meta=Object.assign(Object.assign({},s.view.meta??{}),{stale:!0})),l}cascadeShiftToNextPage(e,t,n,r,i,a,o){if(!t.view.value||t.view.value.length<=r)return!1;if(n-(o.page||1)>=10)return t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0}),!1;let s=Object.assign(Object.assign({},o),{page:n+1}),c=DH(s),l=e.get(c),u=!1;if(!l?.view.value||this.isExpired(l.view.updatedAt)){if(!(n>=i))return t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0}),!1;{l={params:s,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},e.set(c,l),this.cleanupOldViews(e);let r=t.view.meta;r&&(l.view.meta=Object.assign(Object.assign({},r),{page:n+1})),u=!0}}let d=t.view.value.slice(r).filter(e=>a.getEntity(e));if(d.length===0)return u&&e.delete(c),!1;t.view.value=t.view.value.slice(0,r),t.view.updatedAt=Date.now(),l.view.value=[...d,...l.view.value??[]],l.view.updatedAt=Date.now();let f=l.view.meta&&typeof l.view.meta.totalPages==`number`?l.view.meta.totalPages:i;if(!u&&this.cascadeShiftToNextPage(e,l,n+1,r,f,a,o))return!0;if(!l.view.value||l.view.value.length===0){let t=n+1,r=l.view.meta,i=r&&typeof r.totalPages==`number`?r.totalPages:1;this.removeEmptyPageIfNeeded(e,l,t,i,o)}return u}tryInsertSorted(e,t,n){let r=this.strategy.comparator;if(!r||!e.view.value)return!1;let i=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,i))return!1;let a=e.view.value.map(e=>n.getEntity(e));if(a.some(e=>!e))return!1;let o=0,s=a.length;for(;o<s;){let n=Math.floor((o+s)/2),i=r(t,a[n],e.params);if(typeof i!=`number`||Number.isNaN(i))return!1;i>=0?o=n+1:s=n}return e.view.value.includes(t.id)?(e.view.updatedAt=this.now(),!0):(e.view.value=[...e.view.value.slice(0,o),t.id,...e.view.value.slice(o)],e.view.updatedAt=this.now(),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Number(e.view.meta.total)+1),!0)}updateChildrenCountForOperation(e,t,n,r){var i,a,o,s;let c=CH(t);switch(e){case`delete`:this.adjustChildrenCount(r,c,-1),(i=this.childrenCountInvalidator)==null||i.call(this,c);break;case`insert`:case`copy`:this.adjustChildrenCount(r,c,1),(a=this.childrenCountInvalidator)==null||a.call(this,c);break;case`move`:this.adjustChildrenCount(r,n??null,-1),this.adjustChildrenCount(r,c,1),(o=this.childrenCountInvalidator)==null||o.call(this,n??null),(s=this.childrenCountInvalidator)==null||s.call(this,c)}}adjustChildrenCount(e,t,n){if(!t)return;let r=e.getFolder(t);if(r&&typeof r.childrenCount==`number`){let i=Math.max(0,r.childrenCount+n);e.updateServerChildrenCount(t,i)}}smartInvalidateChildrenViews(e,t,n,r,i,a){var o;if(!t)return;this.updateChildrenCountForOperation(n,t,i,r);let s=this.parentKey(e),c=this.views.get(s);if(c)for(let[,e]of c){let a=e.params??{},s=a?.page??1,l=SH(a?.pageSize),u=Number.isFinite(l),d=!(!a?.sortBy&&!a?.sortOrder),f=!!a?.search,p=a?.itemType||`all`;if(this.isEntityTypeCompatible(t,p)){if(f&&this.strategy.filterMatch&&!this.strategy.filterMatch(t,e.params)){(o=e.view.value)!=null&&o.includes(t.id)&&(e.view.value=e.view.value.filter(e=>e!==t.id),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Math.max(0,e.view.meta.total-1)),e.view.updatedAt=Date.now());continue}if(!e.view.value){e.view.meta&&(e.view.meta.stale=!0),e.view.loadId=TH(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}if(e.view.value.includes(t.id),this.shouldInvalidateCompletely(e,n,t,d,u,s))e.view.meta=Object.assign(Object.assign({},e.view.meta??{}),{stale:!0}),e.view.loadId=TH(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);else switch(n){case`delete`:this.handleDelete(c,e,s,l,u,t,r);break;case`insert`:case`copy`:this.handleInsert(c,e,s,l,u,d,t,r);break;case`update`:this.handleUpdate(c,e,s,l,u,d,f,t,r);break;case`move`:this.handleMove(c,e,s,l,u,d,t,i,r)}}}}shouldInvalidateCompletely(e,t,n,r,i,a){return!(!(i&&a>1)||t!==`insert`&&t!==`delete`&&t!==`move`)||!(!r||this.strategy.comparator||t!==`insert`&&t!==`move`)||!!this.isExpired(e.view.updatedAt)}tryReinsertEntity(e,t,n,r,i){let a=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,a))return!1;if(this.strategy.comparator&&this.strategy.filterMatch){if(!this.strategy.filterMatch(t,e.params))return!1;if(this.tryInsertSorted(e,t,n))return!0}let o=e.params??{};return!!(!o.sortBy&&!o.sortOrder||this.canSafelyModifySortedView(o))&&(!r||e.view.value.length<i)&&(e.view.value.push(t.id),!0)}handleDelete(e,t,n,r,i,a,o){let s=t.view.value.includes(a.id);if(s&&(t.view.value=t.view.value.filter(e=>e!==a.id)),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(t.view.updatedAt=Date.now(),s&&i&&t.view.value.length<r&&o){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,o,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}handleInsert(e,t,n,r,i,a,o,s){if(!t.view.value.includes(o.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&s){if(this.tryInsertSorted(t,o,s)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&(t.view.value?.length??0)>r&&s){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftToNextPage(e,t,n,r,a,s,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=t.view.meta.totalPages+1;t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(!i||t.view.value.length<r){if(t.view.value.push(o.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0});t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleUpdate(e,t,n,r,i,a,o,s,c){let l=t.view.value.includes(s.id),u=this.isEntityTypeCompatible(s,t.params?.itemType||`all`);if(l&&!u){if(t.view.value=t.view.value.filter(e=>e!==s.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l&&(a||o)){if(t.view.value=t.view.value.filter(e=>e!==s.id),this.tryReinsertEntity(t,s,c,i,r)){if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else{if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}t.view.updatedAt=Date.now(),t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l)return t.view.updatedAt=Date.now(),t.view.loadId=TH(),void(t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0));if(u&&!o){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c){if(this.tryInsertSorted(t,s,c)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else if(!i||t.view.value.length<r){if(t.view.value.push(s.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta=Object.assign(Object.assign({},t.view.meta??{}),{stale:!0});t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleMove(e,t,n,r,i,a,o,s,c){if(t.view.value.includes(o.id)){if(t.view.value=t.view.value.filter(e=>e!==o.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}this.syncTotalsInSameViews(e,t)}t.view.loadId=TH(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}forceInvalidateChildrenViews(e){let t=this.parentKey(e??null);this.failedRequests.clearChildrenViewErrorsForParent(t);let n=this.views.get(t);if(n)for(let[,e]of n)e.view.value=void 0,e.view.meta=void 0,e.view.promise=null,e.view.updatedAt=0,e.view.loadId=TH(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0)}getKnownTotal(e){let t=this.parentKey(e??null),n=this.views.get(t);if(!n)return;let r=null;for(let[,e]of n){let t=e.view.meta;t&&typeof t.total==`number`&&(!r||(e.view.updatedAt??0)>r.updatedAt)&&(r={total:Number(t.total),updatedAt:e.view.updatedAt??0})}return r?r.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([e,t])=>[e,Array.from(t.entries())]),ttl:this.ttl,errorTtl:this.errorTtl,entityTtl:this.entityTtl,strategy:{allowSortedInsert:this.strategy.allowSortedInsert,allowSearchInsert:this.strategy.allowSearchInsert,invalidateOnPaginationFull:this.strategy.invalidateOnPaginationFull,preloadPagesBefore:this.strategy.preloadPagesBefore,preloadPagesAfter:this.strategy.preloadPagesAfter}}}static fromJSON(t,n){let r=n?.ttl??t?.ttl??bH,i=new e({},r,n?.errorTtl??t?.errorTtl??r,void 0,n?.failedRequests??new vH,n?.isFolderNotFoundError);for(let[e,n]of t.views??[]){let t=new Map;for(let[e,r]of n){let n=r;n!=null&&n.view&&`error`in n.view&&delete n.view.error,t.set(e,n)}i.views.set(e,t)}return i}},AH=class e{invalidateChildrenCountCache(e){let t=xH(e??``);this.childrenCountPromises.delete(t),this.failedRequests.delete(vH.childrenCountKey(t))}constructor(e={},t=18e5,n,r){this.childrenCountPromises=new Map,this.isFolderNotFoundError=r?.isFolderNotFoundError??EH,this.failedRequests=new vH,this.ttl=r?.ttl??t,this.errorTtl=r?.errorTtl??n??this.ttl,this.entities=new OH,this.views=new kH(e,this.ttl,this.errorTtl,void 0,this.failedRequests,this.isFolderNotFoundError),this.views.setServerChildrenCountHandler((e,t,n)=>{this.handleServerReportedChildrenCount(e,t,n??this.entities)}),this.views.setChildrenCountInvalidator(e=>{this.invalidateChildrenCountCache(e)})}getEntity(e){return this.entities.getEntity(e)??null}getFileSystemItem(e){return this.entities.getFileSystemItem(e)??null}getFolder(e){return this.entities.getFolder(e)??null}async getOrCreateChildren(e,t,n){return this.views.getOrCreateChildren(e,t,n,this.entities)}upsertEntity(e){let t=this.entities.getEntity(e.id),n=t?CH(t):null,r=CH(e),i=!!t&&wH(t),a=wH(e);if(this.entities.upsertEntity(e),t){if(n!==r||i!==a)return this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),void this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities);this.views.smartInvalidateChildrenViews(r,e,`update`,this.entities,void 0,t)}else this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities)}isAncestor(e,t){let n=t,r=new Set;for(;n&&!r.has(n);){if(r.add(n),xH(n)===xH(e))return!0;let t=this.entities.getEntity(n);if(!t)break;n=CH(t),n===null&&(n=``)}return!1}moveEntity(e,t){let n=this.entities.getEntity(e);if(!n||wH(n)&&t!==null&&this.isAncestor(e,t))return null;let r=CH(n),i=this.entities.moveEntityById(e,t);return i?(this.views.smartInvalidateChildrenViews(r,n,`delete`,this.entities),this.views.smartInvalidateChildrenViews(t,i,`insert`,this.entities),i):null}copyEntity(e,t,n,r){let i=this.entities.getEntity(e);if(!i)return null;let a=null;if(wH(i)){let n=[e],i=[];for(;n.length;){let e=n.shift();i.push(e);let t=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of t)n.push(e)}let o=new Map;for(let e of i)o.set(e,TH());for(let n of i){let i=this.entities.getFolder(n),a=o.get(n),s=CH(i),c=s===null?t:o.get(s)??null,l=Object.assign(Object.assign(Object.assign({},i),n===e?r:void 0),{id:a,folderId:(n===e?r?.folderId:void 0)??c});this.entities.upsertEntity(l)}for(let e of i){let t=o.get(e),n=this.entities.getChildrenIds(e,{onlyFileSystemItems:!0});for(let e of n){let n=this.entities.getFileSystemItem(e);if(!n)continue;let r=TH(),i=Object.assign(Object.assign({},n),{id:r,folderId:t});this.entities.upsertEntity(i)}}a=this.entities.getEntity(o.get(e))??null}else{let i=n??TH();if(a=this.entities.copyFileSystemItem(e,i,t??null),a&&r){let e=Object.assign(Object.assign(Object.assign({},a),r),{id:i,folderId:r.folderId??t??null});this.entities.upsertEntity(e),a=e}}return a&&this.views.smartInvalidateChildrenViews(t,a,`copy`,this.entities),a}searchByUrl(e){return this.entities.searchByUrl(e)??null}deleteEntity(e){let t=this.entities.getEntity(e);if(!t)return null;if(wH(t)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:r}=this.entities.deleteFolderRecursive(e);for(let e of r)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.forceInvalidateChildrenViews(e.id);return t}{let{entity:t,parentId:n}=this.entities.deleteEntityById(e);return t&&this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),t}}deleteFolderRecursive(e){let{deletedFolderRecords:t,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(e);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.forceInvalidateChildrenViews(e.id);return{deletedFileSystemItemIds:n.map(e=>e.id),deletedFolderIds:t.map(e=>e.id)}}forceInvalidate(e){let t=this.entities.getEntity(e);if(!t)return;let n=new Set;if(wH(t)){let t=[e];for(;t.length;){let e=t.pop();if(n.has(e))continue;n.add(e),this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e);let r=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of r)t.push(e)}}else{let e=t.folderId??null;this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e)}}getChildrenIds(e){return this.entities.getChildrenIds(e)}searchByName(e,t){return this.entities.searchByName(e,t)}async getChildrenCount(e=``,t){let n=xH(e),r=vH.childrenCountKey(n),i=this.failedRequests.getFreshError(r,this.errorTtl);if(i!=null)return Promise.reject(i);let a=this.childrenCountPromises.get(n);if(a)return a;let o=(async()=>{try{let n=this.entities.getFolder(e);if(n&&typeof n.childrenCount==`number`)return this.failedRequests.delete(r),n.childrenCount;let i=this.views.getKnownTotal(e);if(typeof i==`number`)return n&&this.handleServerReportedChildrenCount(e,i,this.entities),this.failedRequests.delete(r),i;if(t){let n=await t(e);return this.entities.getFolder(e)&&this.handleServerReportedChildrenCount(e,n,this.entities),this.failedRequests.delete(r),n}return this.failedRequests.delete(r),this.entities.getChildrenIds(e).length}catch(e){if(this.childrenCountPromises.delete(n),this.isFolderNotFoundError(e))return this.failedRequests.delete(r),0;throw this.failedRequests.setError(r,e),e}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,o),o}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,n,r){var i,a,o;let s=r?.ttl??t?.ttl??bH,c=r?.errorTtl??t?.errorTtl??s,l=new e(n??{},s,c,r),u=OH.fromJSON(t?.entities??{}),d=kH.fromJSON(t?.views??{},{failedRequests:l.failedRequests,ttl:s,errorTtl:c,isFolderNotFoundError:r?.isFolderNotFoundError});return n&&(d.strategy={allowSortedInsert:(i=n.allowSortedInsert)==null||i,allowSearchInsert:(a=n.allowSearchInsert)==null||a,invalidateOnPaginationFull:(o=n.invalidateOnPaginationFull)==null||o,preloadPagesBefore:n.preloadPagesBefore??0,preloadPagesAfter:n.preloadPagesAfter??1,comparator:n.comparator,filterMatch:n.filterMatch}),l.entities=u,l.views=d,d.setServerChildrenCountHandler((e,t,n)=>{l.handleServerReportedChildrenCount(e,t,n??u)}),d.setChildrenCountInvalidator(e=>{l.invalidateChildrenCountCache(e)}),l}handleServerReportedChildrenCount(e,t,n){this.checkAndResolveChildrenCountConflict(e,t,n),this.invalidateChildrenCountCache(e)}checkAndResolveChildrenCountConflict(e,t,n){if(!n||t===void 0)return;let r=e??null;if(!r)return void n.updateServerChildrenCount(r,t);let i=n.getFolder(r)?.childrenCount;i!==void 0&&i!==t&&this.views.forceInvalidateChildrenViews(r),n.updateServerChildrenCount(r,t)}};function jH(e,t){let n=e??{},r=Array.isArray(n.detailed)?n.detailed.map(e=>({requestId:e.requestId??e.id,success:!!e.success,data:t(e.data),error:e.error})):void 0;return{success:!!n.success,error:n.error,detailed:r}}function MH(e){return e==null?``:String(e)}function NH(e){return Object.assign(Object.assign({},e),{name:MH(e.name)})}function PH(e){return e&&typeof e==`object`&&`name`in e?Object.assign(Object.assign({},e),{name:MH(e.name)}):e}var FH=class{async _findOrCreateFolderByPath(e){let t=(n=e)?n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean):[];var n;if(t.length>10)throw new Q(`Path depth exceeds maximum limit of 10`,`ValidationError`);let r;for(let n of t){let{files:t}=await this.getFiles({folderId:r?.id||``,itemType:`folder`}),i=t.find(e=>e.name===n);if(i){if(!i.isFolder)throw new Q(`Path component '%s' in '%s' is not a folder`.replace(`%s`,n).replace(`%s`,e),`ValidationError`);r={id:i.id,name:i.name,parentId:i.folderId}}else{if(typeof this._dataProvider.createFolder!=`function`)throw new Q(`Create folder operation is not supported by data provider`,`UnsupportedOperation`);r=await this.createFolder({name:n,parentId:r?.id})}}return r}getTrashFolder(){return this._findOrCreateFolderByPath(this._pathOptions.trashPath||`Trash`)}async getTempFolder(){let e=this._pathOptions.tempPath??`Edited`;if(e)try{return await this._findOrCreateFolderByPath(e)}catch(e){if(e instanceof Q&&e.code===`ValidationError`)throw e;return}}constructor(e,t={},n,r={}){this._dataProvider=e,this._options=t,this._pathOptions=n,this._blobFetchForceReloadOnceIds=new Set,this._mutationRegistry=new yH,this._mapItem=async e=>{var{childrenCount:t}=e;let n=NH(FR(e,[`childrenCount`]));if(n.isFolder)return Object.assign(Object.assign({},n),{childCount:t,url:``,thumbnailUrl:``});let[r,i]=await Promise.all([this._getUrl(n),this._getThumbnailUrl(n)]);return Object.assign(Object.assign({},n),{childCount:0,url:r,thumbnailUrl:i})},this._config=r,this._useSoftDelete=this._pathOptions.useSoftDelete,this._rootId=this._pathOptions.rootId||``,this._enableTrash=this._options.enableTrash===void 0||this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new AH(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:e=>{this._cache.forceInvalidate(e)},getCachedItem:e=>this._cache.getEntity(e)}),typeof this._dataProvider.clearCache!=`function`&&(this.clearCache=void 0);let i=Object.getPrototypeOf(this);for(let e of Object.getOwnPropertyNames(i)){let t=Object.getOwnPropertyDescriptor(i,e);e!==`constructor`&&typeof t?.value==`function`&&(this[e]=t.value.bind(this))}}setController(e){typeof this._dataProvider.setController==`function`&&this._dataProvider.setController(e)}async clearCache(e){if(typeof this._dataProvider.clearCache!=`function`)throw new Q(`Clear cache is not supported by data provider`,`UnsupportedOperation`);this._cache.forceInvalidate(this._rootId),await this._dataProvider.clearCache(e)}markNextFileBlobFetchBypassHttpCache(e){this._blobFetchForceReloadOnceIds.add(this.normalizeId(e))}normalizeId(e){return e?e===`root`||e===`folders`?this._rootId:e:this._rootId}_isDeletingId(e){return this._mutationRegistry.isDeleting(this.normalizeId(e))}_collectDeletingIds(e){let t=this.normalizeId(e),n=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(n);let r=[t];for(;r.length>0;){let e=r.pop(),t=this._cache.getChildrenIds(e);for(let e of t){if(n.has(e))continue;n.add(e);let t=this._cache.getEntity(e);t!=null&&t.isFolder&&r.push(e)}}return Array.from(n)}_emptyFilesResult(e,t){return{files:[],pagination:Object.assign(Object.assign(Object.assign({},typeof e==`number`?{page:e}:{}),typeof t==`number`?{limit:t}:{}),{total:0,totalPages:1,hasNext:!1,hasPrev:!1})}}_validateName(e,t=!1){if(!e||e.trim().length===0)throw new Q(t?`Folder name cannot be empty`:`File name cannot be empty`,t?`FolderInvalidName`:`FileInvalidName`);if(/[\/\\:*?"<>|]/.test(e)){let n=t?`FolderInvalidName`:`FileInvalidName`;throw new Q(t?`Folder name contains invalid characters: %s`.replace(`%s`,e):`File name contains invalid characters: %s`.replace(`%s`,e),n)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let n=this._cache.getEntity(t);if(n&&!n.isFolder)throw new Q(`Target item with id '%s' is not a folder`.replace(`%s`,e),`ValidationError`)}_checkNameExistsInCache(e,t,n,r){let i=this.normalizeId(e),a=this._cache.getChildrenIds(i);for(let e of a){let i=this._cache.getEntity(e);if(i&&i.name===t&&!!i.isFolder===n&&(!r||i.id!==r))return!0}return!1}async _getUrl(e){if(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl==`function`&&this._dataProvider.getUrl(e)||void 0}catch{}}}async _getThumbnailUrl(e){if(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl==`function`&&this._dataProvider.getThumbnailUrl(e)||void 0}catch{}}}_isAncestor(e,t){if(!t)return!1;let n=this.normalizeId(t),r=this.normalizeId(e);if(n===r)return!0;let i=this._cache.getEntity(n),a=new Set;for(;i&&i.folderId&&!a.has(i.id);){a.add(i.id);let e=this.normalizeId(i.folderId);if(e===r)return!0;if(i=this._cache.getEntity(e),!i||!i.isFolder)break}return!1}async getFile(e,t){return this._isDeletingId(e)?null:this._cache.searchByName(t,{parentId:this.normalizeId(e),caseSensitive:!0,recursive:!1,itemType:`file`})[0]||(await this.getFiles({folderId:e,itemType:`file`,search:t})).files[0]}async getFileById(e){let t=this.normalizeId(e);if(this._isDeletingId(t))return null;let n=this._cache.getFileSystemItem(t);if(n&&!n.isFolder)return await this._mapItem(n);if(!this._dataProvider.pathMode)return null;let r=await this._getFileByPathStyleId(t);if(r&&!r.isFolder){let e=NH(r);return this._cache.upsertEntity(e),await this._mapItem(e)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n<0?``:t.slice(0,n),i=n<0?t:t.slice(n+1);return i?this.getFile(r,i):null}async getFileUrl(e,t){let n=await this.getFile(e??``,t);if(n)return await this._getUrl(n)||await this._getThumbnailUrl(n)||n.thumbnail}async getFiles({folderId:e,search:t,sortBy:n,sortOrder:r,page:i,limit:a,itemType:o=`all`,noFolder:s=!1}){s&&(e=(await this.getTempFolder())?.id);let c=this.normalizeId(e??this._rootId),l=!1===this._options.enablePagination,u=l?1:i,d=l?1e4:a,f=this._options.clientSideFilter,p=this._options.clientSideSorting,m=this._options.clientSidePaging,h=m?Math.max(1,i??1):void 0,g=m?typeof a==`number`&&Number.isFinite(a)&&a>0?a:25:void 0,_=this._emptyFilesResult(m?h:u,m?g:d);if(this._isDeletingId(c))return _;let v=!1!==this._options.unifiedCatalogFetch&&l&&(o===`folder`||o===`file`),y=v?`all`:o,b={};f||(b.search=t),p||(b.sortBy=n??(y===`folder`?void 0:`date`),b.sortOrder=r??(y===`folder`?void 0:`desc`)),m||(b.page=u,b.limit=v?1e4:d);let x=v?1e4:m?void 0:d,S={folderId:c,itemType:y,search:f?void 0:t,sortBy:p?void 0:b.sortBy,sortOrder:p?void 0:b.sortOrder,page:m?void 0:u,pageSize:x},C;try{C=await this._cache.getOrCreateChildren(c,S,async(e,t)=>{let n=t.pageSize,r=n!=null&&Number.isFinite(Number(n))?Number(n):1e4,i=await this._dataProvider.getItems(Object.assign(Object.assign({},t),{folderId:e,limit:r})),a=function(e){return(e??[]).map(NH)}(i.items);return m?{items:a,total:typeof i.pagination?.total==`number`?i.pagination.total:a.length}:Object.assign({items:a},i.pagination)})}catch(e){if(this._isDeletingId(c))return _;throw e}let w,T=C.items;if(v&&(o===`folder`?T=T.filter(e=>e.isFolder):o===`file`&&(T=T.filter(e=>!e.isFolder))),f){if(typeof this._options.clientSideFilter==`function`)T=this._options.clientSideFilter(T,t);else if(t){let e=t.toLowerCase();T=T.filter(t=>t.name?.toLowerCase().includes(e))}}p&&(T=typeof this._options.clientSideSorting==`function`?this._options.clientSideSorting(T,n,r):this._defaultClientSideSort(T,n,r)),w=m||f||v?T.length:C.total??T.length;let E=T;if(m)if(typeof this._options.clientSidePaging==`function`)E=this._options.clientSidePaging(T,h,g);else{let e=(h-1)*g,t=e+g;E=T.slice(e,t)}if(typeof this._dataProvider.getUrl==`function`||typeof this._dataProvider.getThumbnailUrl==`function`){let e=E.map(async e=>{if(e.isFolder)return e;let[t,n]=await Promise.all([e.url?Promise.resolve(e.url):typeof this._dataProvider.getUrl==`function`?this._dataProvider.getUrl(e):Promise.resolve(void 0),e.thumbnailUrl?Promise.resolve(e.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl==`function`?this._dataProvider.getThumbnailUrl(e):Promise.resolve(void 0)]);return Object.assign(Object.assign({},e),{url:t,thumbnailUrl:n})});E=await Promise.all(e)}let D=m?{page:h,limit:g,total:w,totalPages:Math.max(1,Math.ceil(w/g)),hasNext:h*g<w,hasPrev:h>1}:Object.assign(Object.assign({page:u,limit:d,total:w},!m&&C.totalPages&&{totalPages:C.totalPages}),!m&&C.hasNextPage&&{hasNextPage:C.hasNextPage});return{files:await Promise.all(E.map(this._mapItem)),pagination:D}}_defaultClientSideSort(e,t,n){return e.sort((e,r)=>{let i=0;switch(t){case`name`:default:i=(e.name||``).localeCompare(r.name||``);break;case`date`:i=new Date(e.date||0).getTime()-new Date(r.date||0).getTime();break;case`size`:i=(Number(e.size)||0)-(Number(r.size)||0)}return n===`desc`?-i:i})}async getFileData(e,t){let n=this.normalizeId(typeof e==`string`?e:e.id),r=t;this._blobFetchForceReloadOnceIds.delete(n)&&(r=Object.assign(Object.assign({},t),{forceReload:!0}));let i=this._cache.getEntity(n)||(typeof e==`string`?{id:n,name:``,folderId:this._rootId,isFolder:!1}:Object.assign(Object.assign({},e),{childrenCount:e.childCount}));if(typeof this._dataProvider.getFileData==`function`)return await this._dataProvider.getFileData(i,r);if(!i.url&&typeof this._dataProvider.getUrl!=`function`)throw new Q(`Cannot read file`,`FileReadError`);let a=i.url||(typeof this._dataProvider.getUrl==`function`?await this._dataProvider.getUrl(i):``);if(a)return(await(this._config.fetchWithProxy??fetch)(a,r?.forceReload?{cache:`no-store`}:void 0)).blob();throw new Q(`Unable to get file data`,`FileReadError`)}async findFileByUrl(e){let t=this._cache.searchByUrl(e);if(t)return t;if(typeof this._dataProvider.findFileByUrl==`function`)try{let t=await this._dataProvider.findFileByUrl(e);if(t){let e=NH(t);return this._cache.upsertEntity(e),e}}catch{}return null}async getChildrenCount(e){if(!e)return 0;let t=this.normalizeId(e??this._rootId);return this._isDeletingId(t)?0:this._cache.getChildrenCount(t,async()=>{try{if(this._options.clientSidePaging){let e=await this.getFiles({folderId:t,itemType:`all`,page:1,limit:25});return e.pagination.total??e.files.length}let e=await this._dataProvider.getItems({folderId:t,limit:0,itemType:`all`});return e.pagination===void 0?!1===this._options.enablePagination?e.items.length:0:e.pagination.total||0}catch(e){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(e))return 0;throw e}})}_isPathFolderNotFoundError(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}async _uploadFile(e){let t=this.normalizeId(e.folderId??this._rootId);if(typeof this._dataProvider.uploadFile!=`function`)throw new Q(`Upload file operation is not supported by data provider`,`UnsupportedOperation`);if(this._validateName(e.name,!1),this._validateDuplicates&&this._checkNameExistsInCache(t,e.name,!1))throw new Q(`File '%s' already exists in target folder`.replace(`%s`,e.name),`FileAlreadyExists`);let n=await this._dataProvider.uploadFile(Object.assign(Object.assign({},e),{folderId:t})),r=NH(Object.assign(Object.assign({name:e.name,size:e.size},n),{folderId:n.folderId??t}));return this._cache.upsertEntity(r),r}async uploadFiles(e){let t=e.items.some(e=>e.noFolder)?await this.getTempFolder():null;e=Object.assign(Object.assign({},e),{items:e.items?.map(e=>Object.assign(Object.assign({},e),{folderId:e.noFolder?t?.id:e.folderId}))});for(let t of e.items)t.folderId&&(e.folderId=t.folderId);let n=e.items||[],r=e.folderId??this._rootId,i=this.normalizeId(r);if(this._validateDuplicates){for(let e of n)if(e.name){this._validateName(e.name,!1);let t=this.normalizeId(e.folderId??i);if(this._checkNameExistsInCache(t,e.name,!1))throw new Q(`File '%s' already exists in target folder`.replace(`%s`,e.name),`FileAlreadyExists`)}}let a=this._cache.getEntity(i),o={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.uploadFiles==`function`){let e=n.map(e=>Object.assign(Object.assign({},e),{folderId:this.normalizeId(e.folderId??i)}));if(o=jH(await this._dataProvider.uploadFiles({folderId:i,items:e}),e=>{if(e)return{id:e.id,name:MH(e.name),folderId:e.folderId,url:e.url,thumbnailUrl:e.thumbnailUrl,thumbnail:e.thumbnail}}),o.detailed&&o.detailed.length){for(let e=0;e<o.detailed.length;e++){let t=o.detailed[e];if(t&&t.success){let e=t.data,n=e?.id??t.requestId,r=NH(Object.assign(Object.assign(Object.assign({},a),e),{folderId:e?.folderId??i}));this._cache.upsertEntity(r),t.requestId=n}}o.success===void 0&&(o.success=!o.detailed.some(e=>!e.success))}else o.success=!o.error&&!!o.success}else{if(typeof this._dataProvider.uploadFile!=`function`)throw new Q(`Upload files is not supported by data provider`,`UnsupportedOperation`);o.detailed=await Promise.all(n.map(async e=>{let t=this.normalizeId(e.folderId??i);try{let n=await this._uploadFile(Object.assign(Object.assign({},e),{folderId:t}));return{requestId:n.id,data:n,success:!0}}catch(t){return{requestId:e?.id,success:!1,error:t}}})),o.success=!o.detailed.some(e=>!e.success)}if(o.success&&this._enableTrash)try{this._cache.forceInvalidate(i)}catch{}return o}async deleteFile(e){let t=this.normalizeId(e),n=[t];this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash){let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async deleteItems(e,t){let n=Array.from(new Set(e.flatMap(e=>this._collectDeletingIds(this.normalizeId(e)))));this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash&&!0!==t.permanent){let t=await this.getTrashFolder();return await this.moveItems(t.id,e)}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(n)}}async hardDeleteItems(e,t){let n={success:!0,detailed:[]},r=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems==`function`){if(n=jH(await this._dataProvider.deleteItems(e.map(e=>this._cache.getEntity(e)),t),e=>e),n.success){let t=n.detailed||e.map(e=>({requestId:e,success:!0,error:void 0}));for(let e of t)e.success&&(r?this._cache.moveEntity(e.requestId,r.id):this._cache.deleteEntity(e.requestId))}}else typeof this._dataProvider.deleteItem==`function`&&(n.detailed=await Promise.all(e.map(async e=>{let n=this._cache.getEntity(e);if(!n)return{requestId:e,success:!1,error:new Q(`Item with id '%s' not found`.replace(`%s`,e),`FileNotFound`)};try{return await this._dataProvider.deleteItem(n,t),r?this._cache.moveEntity(e,r.id):this._cache.deleteEntity(e),{requestId:e,success:!0}}catch(t){return{requestId:e,error:t,success:!1}}})),n.success=!n.detailed.some(e=>!e.success));if(n.success&&r)try{this._cache.forceInvalidate(r.id)}catch{}return n}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t)throw new Q(`Item with id '%s' not found in cache`.replace(`%s`,e),`FileNotFound`);if(typeof this._dataProvider.deleteItem!=`function`)throw new Q(`Delete item operation is not supported by data provider`,`DeleteNotAllowed`);if(await this._dataProvider.deleteItem(t,{permanent:!0}),this._cache.deleteEntity(e),this._enableTrash)try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return!0}async cleanTrash(){if(!this._enableTrash)throw new Q(`Trash is not enabled`,`UnsupportedOperation`);if(typeof this._dataProvider.cleanTrash==`function`){let e=await this._dataProvider.cleanTrash();try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return e}throw new Q(`Clean trash is not supported by data provider`,`UnsupportedOperation`)}async createFolder({name:e,parentId:t,is_force_create:n}){let r=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(r,e,!0))throw new Q(`Folder '%s' already exists in parent folder`.replace(`%s`,e),`FolderAlreadyExists`);let i=await this._dataProvider.createFolder(e,r,n),a=NH({id:i.id,folderId:r,name:i.name,isFolder:!0,childrenCount:i.childrenCount});return this._cache.upsertEntity(a),Object.assign(Object.assign({},i),{name:a.name})}async deleteFolder(e){let t=this.normalizeId(e),n=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash)try{let e=await this.getTrashFolder();return!!await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!0})&&(this._cache.deleteFolderRecursive(t),!0)}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async renameFolder(e,t){if(typeof this._dataProvider.renameItem!=`function`)throw new Q(`Rename folder is not supported`,`RenameNotAllowed`);let n=this.normalizeId(e),r=this._cache.getEntity(n);if(!r)throw new Q(`Folder with id '%s' not found in cache`.replace(`%s`,e),`FolderNotFound`);if(this._validateName(t,!0),this._validateDuplicates){let e=this.normalizeId(r.folderId);if(this._checkNameExistsInCache(e,t,!0,n))throw new Q(`Folder '%s' already exists in parent folder`.replace(`%s`,t),`FolderAlreadyExists`)}let i=PH(await this._dataProvider.renameItem(r,t));return this._cache.upsertEntity(NH(Object.assign(Object.assign({},this._cache.getEntity(i.id)),i))),this._cache.getEntity(i.id)}async renameFile(e,t){if(typeof this._dataProvider.renameItem!=`function`)throw new Q(`Rename file is not supported`,`RenameNotAllowed`);let n=this._cache.getEntity(e);if(!n)throw new Q(`File with id '%s' not found in cache`.replace(`%s`,e),`FileNotFound`);let r=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let e=this.normalizeId(n.folderId);if(this._checkNameExistsInCache(e,t,!1,r))throw new Q(`File '%s' already exists in parent folder`.replace(`%s`,t),`FileAlreadyExists`)}let i=PH(await this._dataProvider.renameItem(n,t));return i&&this._cache.upsertEntity(NH(Object.assign(Object.assign({},this._cache.getEntity(r)),i))),this._cache.getEntity(r)}async moveItem({itemId:e,targetFolderId:t,isFolder:n}){if(typeof this._dataProvider.moveItem!=`function`)throw new Q(`Move item operation is not supported by data provider`,`MoveNotAllowed`);let r=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let t=PH(await this._dataProvider.moveItem({id:e,folderId:r,isFolder:n},r));if(t.id===e)this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),{folderId:r})));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),{folderId:r})))}return!0}if(i.isFolder){if(e===r)throw new Q(`Cannot move folder into itself`,`MoveIntoSelf`);if(this._isAncestor(e,r))throw new Q(`Cannot move folder into its descendant`,`MoveIntoDescendant`)}if(this._validateDuplicates&&r!==this.normalizeId(i.folderId)&&i.name&&this._checkNameExistsInCache(r,i.name,!!i.isFolder,e)){let e=i.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${i.isFolder?`Folder`:`File`} '${i.name}' already exists in target folder`,e)}let a=PH(await this._dataProvider.moveItem(i,r));if(a.id===e){let t=this._cache.moveEntity(e,r);return this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),a))),!0}{let t=this._cache.deleteEntity(e);return this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},t),a),{folderId:r}))),!0}}async moveItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let r=t.map(e=>this._cache.getEntity(e));for(let e of r)if(e){if(e.isFolder){if(e.id===n)throw new Q(`Cannot move folder '%s' into itself`.replace(`%s`,e.name),`MoveIntoSelf`);if(this._isAncestor(e.id,n))throw new Q(`Cannot move folder '%s' into its descendant`.replace(`%s`,e.name),`MoveIntoDescendant`)}if(this._validateDuplicates&&n!==this.normalizeId(e.folderId)&&e.name&&this._checkNameExistsInCache(n,e.name,!!e.isFolder,e.id)){let t=e.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${e.isFolder?`Folder`:`File`} '${e.name}' already exists in target folder`,t)}}let i={detailed:Array(r.length),success:!0};if(typeof this._dataProvider.moveItems==`function`)i=jH(await this._dataProvider.moveItems(r,n),e=>e);else{if(typeof this._dataProvider.moveItem!=`function`)throw new Q(`Move items is not supported`,`MoveNotAllowed`);i.detailed=await Promise.all(t.map(async(e,t)=>{let i=r[t]||{id:e,folderId:null,isFolder:!1,name:e};try{return{requestId:e,data:PH(await this._dataProvider.moveItem(i,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}))}if(i.success){let e=i.detailed||t.map(e=>({requestId:e,success:!0,data:void 0}));for(let t of e)if(t.success)if(t.data&&t.data.id!==t.requestId){let e=this._cache.deleteEntity(t.requestId);this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},e),t.data),{folderId:n})))}else this._cache.moveEntity(t.requestId,n),t.data&&this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},this._cache.getEntity(t.requestId)),t.data),{folderId:n})));return i}return{success:!1,error:i.error||new Q(`Move items failed`,`MoveNotAllowed`)}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!=`function`)throw new Q(`Copy item is not supported`,`CopyNotAllowed`);let n=this.normalizeId(t);this._validateTargetFolderType(t);let r=this._cache.getEntity(e);if(!r){let t=PH(await this._dataProvider.copyItem({id:e,folderId:n},n));return this._cache.copyEntity(e,n,t.id),this._cache.upsertEntity(NH(Object.assign(Object.assign({},t),{folderId:n}))),!0}if(this._validateDuplicates&&r.name){let t=n===this.normalizeId(r.folderId)?e:void 0;if(this._checkNameExistsInCache(n,r.name,!!r.isFolder,t)){let e=r.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${r.isFolder?`Folder`:`File`} '${r.name}' already exists in target folder`,e)}}let i=PH(await this._dataProvider.copyItem(r,n));return this._cache.copyEntity(e,n,i.id,Object.assign(Object.assign({},i),{folderId:n}))||this._cache.upsertEntity(NH(Object.assign(Object.assign({},i),{folderId:n}))),!0}async copyItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let r=t.map(e=>typeof e==`string`?{id:e}:e),i=r.map(e=>e.id),a=i.map((e,t)=>{let n=this._cache.getEntity(e),i=r[t]?.newName;return n?i?Object.assign(Object.assign({},n),{name:i}):n:void 0});if(this._validateDuplicates)for(let e=0;e<a.length;e++){let t=a[e];if(t&&t.name){let r=n===this.normalizeId(t.folderId)?i[e]:void 0;if(this._checkNameExistsInCache(n,t.name,!!t.isFolder,r)){let e=t.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new Q(`${t.isFolder?`Folder`:`File`} '${t.name}' already exists in target folder`,e)}}}let o={detailed:Array(a.length),success:!0};if(typeof this._dataProvider.copyItems==`function`)o=jH(await this._dataProvider.copyItems(a,n),e=>e);else{if(typeof this._dataProvider.copyItem!=`function`)throw new Q(`Copy items is not supported`,`CopyNotAllowed`);o.detailed=await Promise.all(i.map(async(e,t)=>{let r=a[t]||{id:e,folderId:null,isFolder:!1};try{return{requestId:e,data:PH(await this._dataProvider.copyItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}))}if(o.success&&o.detailed)for(let e=0,t=o.detailed.length;e<t;e++){let t=o.detailed[e];if(t.success&&t.data?.id){let e=t.data.folderId||n;!this._cache.copyEntity(t.requestId,e,t.data.id,Object.assign(Object.assign({},t.data),{folderId:e}))&&t.data&&this._cache.upsertEntity(NH(Object.assign(Object.assign({},t.data),{folderId:e})))}}else if(!o.detailed)throw new Q(`batchResult in copy method must have detailed results`,`ValidationError`);return o}async uploadFileByUrl(e){if(e.noFolder){let t=await this.getTempFolder();e=Object.assign(Object.assign({},e),{folderId:t?.id})}let t=this.normalizeId(e.folderId??this._rootId);try{let n=await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),r=NH(Object.assign(Object.assign({},n),{folderId:t}));return this._cache.upsertEntity(r),r}catch(e){throw e}}async updateFile(e,t){if(typeof this._dataProvider.updateFile!=`function`)throw new Q(`Update file is not supported`,`UnsupportedOperation`);let n=this.normalizeId(e),r=this._cache.getEntity(n);if(!r)throw new Q(`File with id '%s' not found in cache`.replace(`%s`,e),`FileNotFound`);if(t.name&&t.name!==r.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==r.name){let e=this.normalizeId(r.folderId);if(this._checkNameExistsInCache(e,t.name,!1,n))throw new Q(`File '%s' already exists in parent folder`.replace(`%s`,t.name),`FileAlreadyExists`)}let i=PH(await this._dataProvider.updateFile(r,Object.assign({},t)));return this._cache.upsertEntity(NH(Object.assign(Object.assign(Object.assign({},this._cache.getEntity(n)),i),t))),this._cache.getEntity(n)}},IH,LH=new Uint8Array(16);function RH(){if(!IH&&!(IH=typeof crypto<`u`&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<`u`&&typeof msCrypto.getRandomValues==`function`&&msCrypto.getRandomValues.bind(msCrypto)))throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);return IH(LH)}for(var zH=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,BH=[],VH=0;VH<256;++VH)BH.push((VH+256).toString(16).substr(1));function HH(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(BH[e[t+0]]+BH[e[t+1]]+BH[e[t+2]]+BH[e[t+3]]+`-`+BH[e[t+4]]+BH[e[t+5]]+`-`+BH[e[t+6]]+BH[e[t+7]]+`-`+BH[e[t+8]]+BH[e[t+9]]+`-`+BH[e[t+10]]+BH[e[t+11]]+BH[e[t+12]]+BH[e[t+13]]+BH[e[t+14]]+BH[e[t+15]]).toLowerCase();if(!function(e){return typeof e==`string`&&zH.test(e)}(n))throw TypeError(`Stringified UUID is invalid`);return n}function UH(e,t,n){var r=(e||={}).random||(e.rng||RH)();return r[6]=15&r[6]|64,r[8]=63&r[8]|128,HH(r)}var WH=class{constructor(e,t=``,n=`Trash`,r=`Trash`,i=!0){var a;this._inner=e,this.rootPath=t,this.trashId=n,this.trashPath=r,this.ensureFolderTrailingSlash=i,this._pathToId=new Map,this._idToPath=new Map,this.validateDuplicates=(a=this._inner.validateDuplicates)!=null&&a,typeof e.getUrl==`function`&&(this.getUrl=t=>e.getUrl(Object.assign(Object.assign({},t),{id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath}))),typeof e.getThumbnailUrl==`function`&&(this.getThumbnailUrl=t=>e.getThumbnailUrl(Object.assign(Object.assign({},t),{id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})));let o=this;typeof this._inner.deleteItems!=`function`&&(o.deleteItems=void 0),typeof this._inner.deleteItem!=`function`&&(o.deleteItem=void 0),typeof this._inner.moveItems==`function`?o.moveItem=void 0:o.moveItems=void 0,typeof this._inner.copyItems==`function`?o.copyItem=void 0:o.copyItems=void 0,typeof this._inner.uploadFiles==`function`?o.uploadFile=void 0:o.uploadFiles=void 0,typeof this._inner.clearCache!=`function`&&(o.clearCache=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController==`function`&&this._inner.setController({invalidateItemCache:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);r&&e.invalidateItemCache(r)},getCachedItem:t=>{var n,r;let i=t.replace(/^\/+|\/+$/g,``),a=this._pathToId.get(i);if(a){let t=e.getCachedItem(a);if(t)return Object.assign(Object.assign({},t),{id:this.pathForId(t.id,(n=t.isFolder)!=null&&n),folderId:this.pathForId(t.folderId??``,(r=t.isFolder)!=null&&r)})}}})}clearCache(e){if(typeof this._inner.clearCache==`function`)return this._inner.clearCache(e)}_getOrGenerateId(e){if(e===this.rootPath)return``;let t=e.replaceAll(/^\/+|\/+$/g,``);if(t===this.trashPath.replaceAll(/^\/+|\/+$/g,``))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let n=UH();return this._pathToId.set(t,n),this._idToPath.set(n,t),n}pathForId(e,t,n){if(e===``||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let r=this._idToPath.get(e);if(!r){if(n)return`unknown folder ${e}`;throw new Q(`Path for id '${e}' not found in mapping`,`FileNotFound`)}let i=0;for(;i<this.rootPath.length&&this.rootPath[i]===`/`;)i++;if(i){let e=0;for(;e<r.length&&r[e]===`/`;)e++;let t=r.slice(e);r=`/`.repeat(i)+t}return t&&this.ensureFolderTrailingSlash&&!r.endsWith(`/`)&&(r+=`/`),r}_updateIdMapping(e,t){let n=t.replace(/^\/+|\/+$/g,``),r=this._idToPath.get(e);r&&this._pathToId.delete(r),this._idToPath.set(e,n),this._pathToId.set(n,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.getItems(Object.assign(Object.assign({},e),{folderId:t})),r=n.items.map(e=>{let t=this._getOrGenerateId(e.id),n=e.folderId?this._getOrGenerateId(e.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},e),{id:t,folderId:n})});return Object.assign(Object.assign({},n),{items:r})}async createFolder(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},i),{id:a,folderId:o})}async renameItem(e,t){var n;if(typeof this._inner.renameItem!=`function`)throw new Q(`Rename item is not supported by inner storage`,`RenameNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n),i=r,a=FR(await this._inner.renameItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),t),[]);return this._updateIdMapping(e.id,a.id),e.isFolder&&this.remapCachedFolderContents(e.id,i,a.id),a.folderId&&(a=Object.assign(Object.assign({},a),{folderId:this._getOrGenerateId(a.folderId)})),Object.assign(Object.assign({},a),{id:this._getOrGenerateId(a.id)})}async deleteItem(e,t){var n;if(typeof this._inner.deleteItem!=`function`)throw new Q(`Delete item is not supported by inner storage`,`DeleteNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n);await this._inner.deleteItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),t),this.recursivelyRemoveMappings(e.id,r)}async uploadFile(e){if(typeof this._inner.uploadFile!=`function`)throw new Q(`Upload file is not supported by inner storage`,`UnsupportedOperation`);let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.uploadFile(Object.assign(Object.assign({},e),{folderId:t})),r=this._getOrGenerateId(n.id),i=n.folderId?this._getOrGenerateId(n.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},n),{id:r,folderId:i})}async uploadFiles(e){let t=e.folderId,n=e.items?.map(e=>e.folderId)??[],r=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i=Object.assign(Object.assign({},e),{folderId:r,items:e.items?.map(e=>Object.assign(Object.assign({},e),{folderId:e.folderId?this.pathForId(e.folderId??``,!0):r}))??[]}),a=await this._inner.uploadFiles(i);return Object.assign(Object.assign({},a),{detailed:a.detailed?.map((e,r)=>{if(!e?.data)return e;let i=e.data.id?this._getOrGenerateId(e.data.id):``,a=e.data.folderId?this._getOrGenerateId(e.data.folderId):n[r]??t??this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},e),{data:Object.assign(Object.assign({},e.data),{id:i,folderId:a})})})})}async findFileByUrl(e,t){let n=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl==`function`){let t=await this._inner.findFileByUrl(e,n);if(!t)return;let r=this._getOrGenerateId(t.id),i=t.folderId?this._getOrGenerateId(t.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},t),{id:r,folderId:i})}}async uploadFileByUrl(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return Object.assign(Object.assign({},i),{id:a,folderId:o})}async moveItem(e,t){var n;if(typeof this._inner.moveItem!=`function`)throw new Q(`Move item is not supported by inner storage`,`MoveNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n),i=t?this.pathForId(t,!0):this.rootPath,a=await this._inner.moveItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),i);this._updateIdMapping(e.id,a.id),e.isFolder&&this.remapCachedFolderContents(e.id,r,a.id);let o=this._getOrGenerateId(a.id),s=a.folderId?this._getOrGenerateId(a.folderId):t;return Object.assign(Object.assign({},a),{id:o,folderId:s})}async moveItems(e,t){var n;if(typeof this._inner.moveItems!=`function`)throw new Q(`Move items is not supported by inner storage`,`MoveNotAllowed`);let r=t?this.pathForId(t,!0):this.rootPath,i=e.map(e=>{var t;return Object.assign(Object.assign({},e),{id:this.pathForId(e.id,(t=e.isFolder)!=null&&t),folderId:e.folderId?this.pathForId(e.folderId??``,!0):this.rootPath})}),a=await this._inner.moveItems(i,r),o=[];if(a.detailed&&a.detailed.length>0){let r=new Map;for(let t=0;t<a.detailed.length;t++){let n=a.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let s=r.get(i.id)||(a.detailed.length===e.length?a.detailed[e.indexOf(i)]:void 0);if(s?.success&&s.data){if(this._updateIdMapping(i.id,s.data.id),i.isFolder){let e=this.pathForId(i.id,(n=i.isFolder)!=null&&n);this.remapCachedFolderContents(i.id,e,s.data.id)}o.push({requestId:i.id,success:!0,data:Object.assign(Object.assign({},s.data),{id:this._getOrGenerateId(s.data.id),folderId:s.data.folderId?this._getOrGenerateId(s.data.folderId):t||this._getOrGenerateId(this.rootPath)})})}else o.push({requestId:i.id,success:!1,error:s?.error||{message:`Move operation failed - no detailed result`,code:`MoveNotAllowed`}})}}else for(let t of e)o.push({requestId:t.id,success:!1,error:{message:`Move operation failed - no detailed results`,code:`MoveNotAllowed`}});return{success:a.success,detailed:o,error:a.error}}async copyItems(e,t){if(typeof this._inner.copyItems!=`function`)throw new Q(`Copy items is not supported by inner storage`,`CopyNotAllowed`);let n=t?this.pathForId(t,!0):this.rootPath,r=e.map(e=>{var t;return Object.assign(Object.assign({},e),{id:this.pathForId(e.id,(t=e.isFolder)!=null&&t),folderId:e.folderId?this.pathForId(e.folderId??``,!0):this.rootPath})}),i=await this._inner.copyItems(r,n),a=[];if(i.detailed&&i.detailed.length>0){let n=new Map;for(let t=0;t<i.detailed.length;t++){let r=i.detailed[t],a=r.requestId||(t<e.length?e[t].id:void 0);a&&n.set(a,r)}for(let r of e){let o=n.get(r.id)||(i.detailed.length===e.length?i.detailed[e.indexOf(r)]:void 0);if(o?.success&&o.data?.id){let e=this._getOrGenerateId(o.data.id);a.push({requestId:r.id,success:!0,data:Object.assign(Object.assign({},o.data),{id:e,folderId:o.data.folderId?this._getOrGenerateId(o.data.folderId):t||this._getOrGenerateId(this.rootPath)})})}else{let e=o?o.success?o.data?o.data.id?{message:`Unknown copy error`,code:`CopyNotAllowed`}:{message:`No ID in copied item data`,code:`CopyNotAllowed`}:{message:`No data returned from copy operation`,code:`CopyNotAllowed`}:o.error||{message:`Copy operation failed`,code:`CopyNotAllowed`}:{message:`No detailed result from copy operation`,code:`CopyNotAllowed`};a.push({requestId:r.id,success:!1,error:e})}}}else for(let t of e)a.push({requestId:t.id,success:!1,error:{message:`No detailed results from copy operation`,code:`CopyNotAllowed`}});let o=a.every(e=>e.success);return{success:o,detailed:a,error:o?void 0:i.error||{message:`Copy operation completed with errors`,code:`CopyNotAllowed`}}}async deleteItems(e,t){var n,r,i,a;if(typeof this._inner.deleteItems!=`function`)throw new Q(`Delete items is not supported by inner storage`,`DeleteNotAllowed`);let o=e.map(e=>{var t;return Object.assign(Object.assign({},e),{id:this.pathForId(e.id,(t=e.isFolder)!=null&&t),folderId:e.folderId?this.pathForId(e.folderId??``,!0):this.rootPath})}),s=await this._inner.deleteItems(o,t),c=[];if(s.detailed&&s.detailed.length>0){let i=new Map;for(let t=0;t<s.detailed.length;t++){let n=s.detailed[t],r=n.requestId||(t<e.length?e[t].id:void 0);r&&i.set(r,n)}for(let a of e){let o=i.get(a.id)||(s.detailed.length===e.length?s.detailed[e.indexOf(a)]:void 0);if(o?.success){let e=this.pathForId(a.id,(n=a.isFolder)!=null&&n);if(t.permanent)this.recursivelyRemoveMappings(a.id,e);else if(this._updateIdMapping(a.id,this.trashPath+`/`+e+(a.isFolder?`/`:``)),a.isFolder){let t=this.pathForId(a.id,(r=a.isFolder)!=null&&r);this.remapCachedFolderContents(a.id,t,this.trashPath+`/`+e+(a.isFolder?`/`:``))}c.push({requestId:a.id,success:!0})}else c.push({requestId:a.id,success:!1,error:o?.error||{message:`Delete operation failed`,code:`DeleteNotAllowed`}})}}else for(let n of e)if(s.success){let e=this.pathForId(n.id,(i=n.isFolder)!=null&&i);if(t.permanent)this.recursivelyRemoveMappings(n.id,e);else if(this._updateIdMapping(n.id,this.trashPath+`/`+e+(n.isFolder?`/`:``)),n.isFolder){let t=this.pathForId(n.id,(a=n.isFolder)!=null&&a);this.remapCachedFolderContents(n.id,t,this.trashPath+`/`+e+(n.isFolder?`/`:``))}c.push({requestId:n.id,success:!0})}else c.push({requestId:n.id,success:!1,error:s.error||{message:`Delete operation failed`,code:`DeleteNotAllowed`}});let l=c.every(e=>e.success);return{success:l,detailed:c,error:l?void 0:s.error||{message:`Some items failed to delete`,code:`DeleteNotAllowed`}}}remapCachedFolderContents(e,t,n){let r=t.replace(/\/+$/,``),i=n.replace(/\/+$/,``),a=[];for(let[e,t]of this._idToPath.entries()){let n=t.replace(/\/+$/,``);n!==r&&n.startsWith(r+`/`)&&a.push({id:e,oldPath:n})}for(let{id:e,oldPath:t}of a){let n=i+t.substring(r.length);this._updateIdMapping(e,n)}}recursivelyRemoveMappings(e,t){let n=t.replace(/\/+$/,``),r=[],i=[];for(let[e,t]of this._idToPath.entries()){let a=t.replace(/\/+$/,``);(a===n||a.startsWith(n+`/`))&&(r.push(e),i.push(a))}for(let e=0;e<r.length;e++)this._idToPath.delete(r[e]),this._pathToId.delete(i[e])}async copyItem(e,t){var n;if(typeof this._inner.copyItem!=`function`)throw new Q(`Copy item is not supported by inner storage`,`CopyNotAllowed`);let r=this.pathForId(e.id,(n=e.isFolder)!=null&&n),i=t?this.pathForId(t,!0):this.rootPath,a=await this._inner.copyItem(Object.assign(Object.assign({},e),{id:r,folderId:this.pathForId(e.folderId??``,!0)}),i),o=this._getOrGenerateId(a.id),s=a.folderId?this._getOrGenerateId(a.folderId):t??``;return Object.assign(Object.assign({},a),{id:o,folderId:s})}async updateFile(e,t){if(typeof this._inner.updateFile!=`function`)throw new Q(`Update file is not supported by inner storage`,`UnsupportedOperation`);let n=this.pathForId(e.id,!1),r=FR(await this._inner.updateFile(Object.assign(Object.assign({},e),{id:n,folderId:this.pathForId(e.folderId??``,!0)}),t),[]);return this._updateIdMapping(e.id,r.id),r.folderId&&(r=Object.assign(Object.assign({},r),{folderId:this._getOrGenerateId(r.folderId)})),Object.assign(Object.assign({},r),{id:this._getOrGenerateId(r.id)})}async getFileData(e,t){let n=this.pathForId(e.id,!1);if(typeof this._inner.getFileData==`function`)return this._inner.getFileData(Object.assign(Object.assign({},e),{id:n,folderId:this.pathForId(e.folderId??``,!0)}),t);let r=e.url||(typeof this.getUrl==`function`?await this.getUrl(e):void 0);if(!r)throw new Q(`Cannot get file data: no url and no inner.getFileData`,`FileReadError`);return fetch(r,t?.forceReload?{cache:`no-store`}:void 0).then(e=>e.blob())}async cleanTrash(){if(typeof this._inner.cleanTrash!=`function`)throw new Q(`Clean trash is not supported by inner storage`,`UnsupportedOperation`);return await this._inner.cleanTrash()}};Object.defineProperty(t,"A",{enumerable:!0,get:function(){return C}}),Object.defineProperty(t,"C",{enumerable:!0,get:function(){return cz}}),Object.defineProperty(t,"D",{enumerable:!0,get:function(){return WB}}),Object.defineProperty(t,"E",{enumerable:!0,get:function(){return gH}}),Object.defineProperty(t,"O",{enumerable:!0,get:function(){return iF}}),Object.defineProperty(t,"S",{enumerable:!0,get:function(){return yR}}),Object.defineProperty(t,"T",{enumerable:!0,get:function(){return fz}}),Object.defineProperty(t,"_",{enumerable:!0,get:function(){return bH}}),Object.defineProperty(t,"a",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(t,"b",{enumerable:!0,get:function(){return bz}}),Object.defineProperty(t,"c",{enumerable:!0,get:function(){return RR}}),Object.defineProperty(t,"d",{enumerable:!0,get:function(){return zR}}),Object.defineProperty(t,"f",{enumerable:!0,get:function(){return BB}}),Object.defineProperty(t,"g",{enumerable:!0,get:function(){return nB}}),Object.defineProperty(t,"h",{enumerable:!0,get:function(){return oI}}),Object.defineProperty(t,"i",{enumerable:!0,get:function(){return $I}}),Object.defineProperty(t,"j",{enumerable:!0,get:function(){return m}}),Object.defineProperty(t,"k",{enumerable:!0,get:function(){return w}}),Object.defineProperty(t,"l",{enumerable:!0,get:function(){return WH}}),Object.defineProperty(t,"m",{enumerable:!0,get:function(){return cI}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return ER}}),Object.defineProperty(t,"o",{enumerable:!0,get:function(){return $R}}),Object.defineProperty(t,"p",{enumerable:!0,get:function(){return BV}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return HB}}),Object.defineProperty(t,"s",{enumerable:!0,get:function(){return VL}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return FH}}),Object.defineProperty(t,"u",{enumerable:!0,get:function(){return jR}}),Object.defineProperty(t,"v",{enumerable:!0,get:function(){return gL}}),Object.defineProperty(t,"w",{enumerable:!0,get:function(){return sz}}),Object.defineProperty(t,"x",{enumerable:!0,get:function(){return xR}}),Object.defineProperty(t,"y",{enumerable:!0,get:function(){return hH}})});