@excalidraw/excalidraw 0.17.1-1ed53b1 → 0.17.1-2f9526d

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 (76) hide show
  1. package/dist/browser/dev/excalidraw-assets-dev/{chunk-JKPJV7MZ.js → chunk-Q6A4M3MN.js} +4 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/chunk-Q6A4M3MN.js.map +7 -0
  3. package/dist/browser/dev/excalidraw-assets-dev/{chunk-OKAZAA6U.js → chunk-Q6NFAEKN.js} +156 -74
  4. package/dist/browser/dev/excalidraw-assets-dev/chunk-Q6NFAEKN.js.map +7 -0
  5. package/dist/browser/dev/excalidraw-assets-dev/{dist-ITJNUBZF.js → dist-6QVAH5JA.js} +36 -14
  6. package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +7 -0
  7. package/dist/browser/dev/excalidraw-assets-dev/{en-BF4XUPIZ.js → en-Y27YPU72.js} +2 -2
  8. package/dist/browser/dev/excalidraw-assets-dev/{image-LVS32KQQ.js → image-Y5X7K6KW.js} +2 -2
  9. package/dist/browser/dev/index.js +159 -86
  10. package/dist/browser/dev/index.js.map +3 -3
  11. package/dist/browser/prod/excalidraw-assets/{chunk-O4AI3NNG.js → chunk-IZMZ6RPD.js} +1 -1
  12. package/dist/browser/prod/excalidraw-assets/chunk-MDMKPHYD.js +55 -0
  13. package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +7 -0
  14. package/dist/browser/prod/excalidraw-assets/{en-N7CLNF6C.js → en-GSUSWMSH.js} +1 -1
  15. package/dist/browser/prod/excalidraw-assets/image-7MVXYJUE.js +1 -0
  16. package/dist/browser/prod/index.js +14 -14
  17. package/dist/dev/{en-UQDDYCH7.json → en-OIPCBIOA.json} +3 -1
  18. package/dist/dev/index.js +320 -157
  19. package/dist/dev/index.js.map +4 -4
  20. package/dist/excalidraw/actions/actionBoundText.js +3 -1
  21. package/dist/excalidraw/actions/actionHistory.js +4 -4
  22. package/dist/excalidraw/actions/actionProperties.js +1 -1
  23. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  24. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  25. package/dist/excalidraw/actions/types.d.ts +1 -1
  26. package/dist/excalidraw/components/Actions.js +1 -1
  27. package/dist/excalidraw/components/App.d.ts +1 -1
  28. package/dist/excalidraw/components/App.js +47 -32
  29. package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
  30. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  31. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +2 -2
  32. package/dist/excalidraw/components/ContextMenu.js +1 -1
  33. package/dist/excalidraw/components/Dialog.js +1 -1
  34. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  35. package/dist/excalidraw/components/IconPicker.js +2 -2
  36. package/dist/excalidraw/components/LayerUI.js +2 -2
  37. package/dist/excalidraw/components/MobileMenu.js +1 -1
  38. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  39. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +1 -1
  40. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +2 -2
  41. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  42. package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
  43. package/dist/excalidraw/components/icons.js +6 -2
  44. package/dist/excalidraw/data/restore.js +1 -0
  45. package/dist/excalidraw/element/index.d.ts +1 -1
  46. package/dist/excalidraw/element/index.js +1 -1
  47. package/dist/excalidraw/element/mutateElement.d.ts +1 -1
  48. package/dist/excalidraw/element/mutateElement.js +5 -3
  49. package/dist/excalidraw/element/newElement.d.ts +0 -5
  50. package/dist/excalidraw/element/newElement.js +15 -13
  51. package/dist/excalidraw/element/resizeElements.js +71 -22
  52. package/dist/excalidraw/element/resizeTest.js +2 -4
  53. package/dist/excalidraw/element/textElement.js +8 -3
  54. package/dist/excalidraw/element/textWysiwyg.d.ts +8 -3
  55. package/dist/excalidraw/element/textWysiwyg.js +6 -8
  56. package/dist/excalidraw/element/transformHandles.js +0 -10
  57. package/dist/excalidraw/element/types.d.ts +7 -0
  58. package/dist/excalidraw/locales/en.json +3 -1
  59. package/dist/excalidraw/scene/Fonts.d.ts +1 -3
  60. package/dist/excalidraw/scene/Fonts.js +6 -12
  61. package/dist/excalidraw/scene/Renderer.d.ts +1 -1
  62. package/dist/excalidraw/scene/Renderer.js +2 -3
  63. package/dist/excalidraw/scene/Scene.d.ts +10 -4
  64. package/dist/excalidraw/scene/Scene.js +14 -8
  65. package/dist/excalidraw/scene/export.js +1 -1
  66. package/dist/prod/{en-UQDDYCH7.json → en-OIPCBIOA.json} +3 -1
  67. package/dist/prod/index.js +28 -28
  68. package/package.json +2 -2
  69. package/dist/browser/dev/excalidraw-assets-dev/chunk-JKPJV7MZ.js.map +0 -7
  70. package/dist/browser/dev/excalidraw-assets-dev/chunk-OKAZAA6U.js.map +0 -7
  71. package/dist/browser/dev/excalidraw-assets-dev/dist-ITJNUBZF.js.map +0 -7
  72. package/dist/browser/prod/excalidraw-assets/chunk-SXBDZOS3.js +0 -55
  73. package/dist/browser/prod/excalidraw-assets/dist-54276HPL.js +0 -6
  74. package/dist/browser/prod/excalidraw-assets/image-VAGBVQ3G.js +0 -1
  75. /package/dist/browser/dev/excalidraw-assets-dev/{en-BF4XUPIZ.js.map → en-Y27YPU72.js.map} +0 -0
  76. /package/dist/browser/dev/excalidraw-assets-dev/{image-LVS32KQQ.js.map → image-Y5X7K6KW.js.map} +0 -0
@@ -0,0 +1,55 @@
1
+ import{a as g,b as v}from"./chunk-M2JW2GFW.js";import{d as ie,f as Mr}from"./chunk-SXMPUQ6M.js";var fa=ie(ua=>{g();var zl;(function(e){typeof DO_NOT_EXPORT_CRC>"u"?typeof ua=="object"?e(ua):typeof define=="function"&&define.amd?define(function(){var t={};return e(t),t}):e(zl={}):e(zl={})})(function(e){e.version="0.3.0";function t(){for(var l=0,c=new Array(256),d=0;d!=256;++d)l=d,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,l=l&1?-306674912^l>>>1:l>>>1,c[d]=l;return typeof Int32Array<"u"?new Int32Array(c):c}var n=t(),r=typeof Buffer<"u";function o(l){if(l.length>32768&&r)return a(new Buffer(l));for(var c=-1,d=l.length-1,u=0;u<d;)c=n[(c^l.charCodeAt(u++))&255]^c>>>8,c=n[(c^l.charCodeAt(u++))&255]^c>>>8;return u===d&&(c=c>>>8^n[(c^l.charCodeAt(u))&255]),c^-1}function i(l){if(l.length>1e4)return a(l);for(var c=-1,d=0,u=l.length-3;d<u;)c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255];for(;d<u+3;)c=c>>>8^n[(c^l[d++])&255];return c^-1}function a(l){for(var c=-1,d=0,u=l.length-7;d<u;)c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255],c=c>>>8^n[(c^l[d++])&255];for(;d<u+7;)c=c>>>8^n[(c^l[d++])&255];return c^-1}function s(l){for(var c=-1,d=0,u=l.length,f,p;d<u;)f=l.charCodeAt(d++),f<128?c=c>>>8^n[(c^f)&255]:f<2048?(c=c>>>8^n[(c^(192|f>>6&31))&255],c=c>>>8^n[(c^(128|f&63))&255]):f>=55296&&f<57344?(f=(f&1023)+64,p=l.charCodeAt(d++)&1023,c=c>>>8^n[(c^(240|f>>8&7))&255],c=c>>>8^n[(c^(128|f>>2&63))&255],c=c>>>8^n[(c^(128|p>>6&15|f&3))&255],c=c>>>8^n[(c^(128|p&63))&255]):(c=c>>>8^n[(c^(224|f>>12&15))&255],c=c>>>8^n[(c^(128|f>>6&63))&255],c=c>>>8^n[(c^(128|f&63))&255]);return c^-1}e.table=n,e.bstr=o,e.buf=i,e.str=s})});var Ul=ie((q0,Hl)=>{g();var Ym=fa();Hl.exports=Zm;var ht=new Uint8Array(4),Wm=new Int32Array(ht.buffer),Xm=new Uint32Array(ht.buffer);function Zm(e){if(e[0]!==137)throw new Error("Invalid .png file header");if(e[1]!==80)throw new Error("Invalid .png file header");if(e[2]!==78)throw new Error("Invalid .png file header");if(e[3]!==71)throw new Error("Invalid .png file header");if(e[4]!==13)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[5]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[6]!==26)throw new Error("Invalid .png file header");if(e[7]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");for(var t=!1,n=[],r=8;r<e.length;){ht[3]=e[r++],ht[2]=e[r++],ht[1]=e[r++],ht[0]=e[r++];var o=Xm[0]+4,i=new Uint8Array(o);i[0]=e[r++],i[1]=e[r++],i[2]=e[r++],i[3]=e[r++];var a=String.fromCharCode(i[0])+String.fromCharCode(i[1])+String.fromCharCode(i[2])+String.fromCharCode(i[3]);if(!n.length&&a!=="IHDR")throw new Error("IHDR header missing");if(a==="IEND"){t=!0,n.push({name:a,data:new Uint8Array(0)});break}for(var s=4;s<o;s++)i[s]=e[r++];ht[3]=e[r++],ht[2]=e[r++],ht[1]=e[r++],ht[0]=e[r++];var l=Wm[0],c=Ym.buf(i);if(c!==l)throw new Error("CRC values for "+a+" header do not match, PNG file is likely corrupted");var d=new Uint8Array(i.buffer.slice(4));n.push({name:a,data:d})}if(!t)throw new Error(".png file ended prematurely: no IEND header was found");return n}});var $l=ie((Q0,Vl)=>{g();Vl.exports=Km;function Km(e,t){if(e=String(e),t=String(t),!/^[\x00-\xFF]+$/.test(e)||!/^[\x00-\xFF]+$/.test(t))throw new Error("Only Latin-1 characters are permitted in PNG tEXt chunks. You might want to consider base64 encoding and/or zEXt compression");if(e.length>=80)throw new Error('Keyword "'+e+'" is longer than the 79-character limit imposed by the PNG specification');for(var n=e.length+t.length+1,r=new Uint8Array(n),o=0,i,a=0;a<e.length;a++){if(!(i=e.charCodeAt(a)))throw new Error("0x00 character is not permitted in tEXt keywords");r[o++]=i}r[o++]=0;for(var s=0;s<t.length;s++){if(!(i=t.charCodeAt(s)))throw new Error("0x00 character is not permitted in tEXt content");r[o++]=i}return{name:"tEXt",data:r}}});var Wl=ie((ty,Yl)=>{g();Yl.exports=jm;function jm(e){e.data&&e.name&&(e=e.data);for(var t=!0,n="",r="",o=0;o<e.length;o++){var i=e[o];if(t)i?r+=String.fromCharCode(i):t=!1;else if(i)n+=String.fromCharCode(i);else throw new Error("Invalid NULL character found. 0x00 character is not permitted in tEXt content")}return{keyword:r,text:n}}});var Xl=ie(pa=>{g();pa.encode=$l();pa.decode=Wl()});var Kl=ie((iy,Zl)=>{g();Zl.exports=function(e,t,n){var r=[],o=e.length;if(o===0)return r;var i=t<0?Math.max(0,t+o):t||0;for(n!==void 0&&(o=n<0?n+o:n);o-- >i;)r[o-i]=e[o];return r}});var ql=ie((sy,jl)=>{g();var qm=Kl(),Jm=fa();jl.exports=th;var Et=new Uint8Array(4),Qm=new Int32Array(Et.buffer),eh=new Uint32Array(Et.buffer);function th(e){var t=8,n=t,r;for(r=0;r<e.length;r++)t+=e[r].data.length,t+=12;var o=new Uint8Array(t);for(o[0]=137,o[1]=80,o[2]=78,o[3]=71,o[4]=13,o[5]=10,o[6]=26,o[7]=10,r=0;r<e.length;r++){var i=e[r],a=i.name,s=i.data,l=s.length,c=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)];eh[0]=l,o[n++]=Et[3],o[n++]=Et[2],o[n++]=Et[1],o[n++]=Et[0],o[n++]=c[0],o[n++]=c[1],o[n++]=c[2],o[n++]=c[3];for(var d=0;d<l;)o[n++]=s[d++];var u=c.concat(qm(s)),f=Jm.buf(u);Qm[0]=f,o[n++]=Et[3],o[n++]=Et[2],o[n++]=Et[1],o[n++]=Et[0]}return o}});var Rt=ie(Te=>{"use strict";g();var nh=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function rh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}Te.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var r in n)rh(n,r)&&(e[r]=n[r])}}return e};Te.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var oh={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),o);return}for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)i=e[t],a.set(i,o),o+=i.length;return a}},ih={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};Te.setTyped=function(e){e?(Te.Buf8=Uint8Array,Te.Buf16=Uint16Array,Te.Buf32=Int32Array,Te.assign(Te,oh)):(Te.Buf8=Array,Te.Buf16=Array,Te.Buf32=Array,Te.assign(Te,ih))};Te.setTyped(nh)});var yc=ie(qn=>{"use strict";g();var ah=Rt(),sh=4,Jl=0,Ql=1,lh=2;function jn(e){for(var t=e.length;--t>=0;)e[t]=0}var ch=0,ic=1,dh=2,uh=3,fh=258,ya=29,Rr=256,Cr=Rr+1+ya,Kn=30,ba=19,ac=2*Cr+1,_n=15,ma=16,ph=7,va=256,sc=16,lc=17,cc=18,xa=[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],Oo=[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],mh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],dc=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],hh=512,Ft=new Array((Cr+2)*2);jn(Ft);var Dr=new Array(Kn*2);jn(Dr);var Lr=new Array(hh);jn(Lr);var kr=new Array(fh-uh+1);jn(kr);var Ta=new Array(ya);jn(Ta);var Ro=new Array(Kn);jn(Ro);function ha(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}var uc,fc,pc;function Ea(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function mc(e){return e<256?Lr[e]:Lr[256+(e>>>7)]}function Or(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Ie(e,t,n){e.bi_valid>ma-n?(e.bi_buf|=t<<e.bi_valid&65535,Or(e,e.bi_buf),e.bi_buf=t>>ma-e.bi_valid,e.bi_valid+=n-ma):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function gt(e,t,n){Ie(e,n[t*2],n[t*2+1])}function hc(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function Eh(e){e.bi_valid===16?(Or(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function gh(e,t){var n=t.dyn_tree,r=t.max_code,o=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,l=t.stat_desc.max_length,c,d,u,f,p,m,h=0;for(f=0;f<=_n;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<ac;c++)d=e.heap[c],f=n[n[d*2+1]*2+1]+1,f>l&&(f=l,h++),n[d*2+1]=f,!(d>r)&&(e.bl_count[f]++,p=0,d>=s&&(p=a[d-s]),m=n[d*2],e.opt_len+=m*(f+p),i&&(e.static_len+=m*(o[d*2+1]+p)));if(h!==0){do{for(f=l-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[l]--,h-=2}while(h>0);for(f=l;f!==0;f--)for(d=e.bl_count[f];d!==0;)u=e.heap[--c],!(u>r)&&(n[u*2+1]!==f&&(e.opt_len+=(f-n[u*2+1])*n[u*2],n[u*2+1]=f),d--)}}function Ec(e,t,n){var r=new Array(_n+1),o=0,i,a;for(i=1;i<=_n;i++)r[i]=o=o+n[i-1]<<1;for(a=0;a<=t;a++){var s=e[a*2+1];s!==0&&(e[a*2]=hc(r[s]++,s))}}function xh(){var e,t,n,r,o,i=new Array(_n+1);for(n=0,r=0;r<ya-1;r++)for(Ta[r]=n,e=0;e<1<<xa[r];e++)kr[n++]=r;for(kr[n-1]=r,o=0,r=0;r<16;r++)for(Ro[r]=o,e=0;e<1<<Oo[r];e++)Lr[o++]=r;for(o>>=7;r<Kn;r++)for(Ro[r]=o<<7,e=0;e<1<<Oo[r]-7;e++)Lr[256+o++]=r;for(t=0;t<=_n;t++)i[t]=0;for(e=0;e<=143;)Ft[e*2+1]=8,e++,i[8]++;for(;e<=255;)Ft[e*2+1]=9,e++,i[9]++;for(;e<=279;)Ft[e*2+1]=7,e++,i[7]++;for(;e<=287;)Ft[e*2+1]=8,e++,i[8]++;for(Ec(Ft,Cr+1,i),e=0;e<Kn;e++)Dr[e*2+1]=5,Dr[e*2]=hc(e,5);uc=new ha(Ft,xa,Rr+1,Cr,_n),fc=new ha(Dr,Oo,0,Kn,_n),pc=new ha(new Array(0),mh,0,ba,ph)}function gc(e){var t;for(t=0;t<Cr;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Kn;t++)e.dyn_dtree[t*2]=0;for(t=0;t<ba;t++)e.bl_tree[t*2]=0;e.dyn_ltree[va*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function xc(e){e.bi_valid>8?Or(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function wh(e,t,n,r){xc(e),r&&(Or(e,n),Or(e,~n)),ah.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function ec(e,t,n,r){var o=t*2,i=n*2;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function ga(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&ec(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!ec(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function tc(e,t,n){var r,o,i=0,a,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+i*2]<<8|e.pending_buf[e.d_buf+i*2+1],o=e.pending_buf[e.l_buf+i],i++,r===0?gt(e,o,t):(a=kr[o],gt(e,a+Rr+1,t),s=xa[a],s!==0&&(o-=Ta[a],Ie(e,o,s)),r--,a=mc(r),gt(e,a,n),s=Oo[a],s!==0&&(r-=Ro[a],Ie(e,r,s)));while(i<e.last_lit);gt(e,va,t)}function wa(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.elems,a,s,l=-1,c;for(e.heap_len=0,e.heap_max=ac,a=0;a<i;a++)n[a*2]!==0?(e.heap[++e.heap_len]=l=a,e.depth[a]=0):n[a*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=l<2?++l:0,n[c*2]=1,e.depth[c]=0,e.opt_len--,o&&(e.static_len-=r[c*2+1]);for(t.max_code=l,a=e.heap_len>>1;a>=1;a--)ga(e,n,a);c=i;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ga(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,n[c*2]=n[a*2]+n[s*2],e.depth[c]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,n[a*2+1]=n[s*2+1]=c,e.heap[1]=c++,ga(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],gh(e,t),Ec(n,l,e.bl_count)}function nc(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,l=7,c=4;for(a===0&&(l=138,c=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)i=a,a=t[(r+1)*2+1],!(++s<l&&i===a)&&(s<c?e.bl_tree[i*2]+=s:i!==0?(i!==o&&e.bl_tree[i*2]++,e.bl_tree[sc*2]++):s<=10?e.bl_tree[lc*2]++:e.bl_tree[cc*2]++,s=0,o=i,a===0?(l=138,c=3):i===a?(l=6,c=3):(l=7,c=4))}function rc(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,l=7,c=4;for(a===0&&(l=138,c=3),r=0;r<=n;r++)if(i=a,a=t[(r+1)*2+1],!(++s<l&&i===a)){if(s<c)do gt(e,i,e.bl_tree);while(--s!==0);else i!==0?(i!==o&&(gt(e,i,e.bl_tree),s--),gt(e,sc,e.bl_tree),Ie(e,s-3,2)):s<=10?(gt(e,lc,e.bl_tree),Ie(e,s-3,3)):(gt(e,cc,e.bl_tree),Ie(e,s-11,7));s=0,o=i,a===0?(l=138,c=3):i===a?(l=6,c=3):(l=7,c=4)}}function yh(e){var t;for(nc(e,e.dyn_ltree,e.l_desc.max_code),nc(e,e.dyn_dtree,e.d_desc.max_code),wa(e,e.bl_desc),t=ba-1;t>=3&&e.bl_tree[dc[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function bh(e,t,n,r){var o;for(Ie(e,t-257,5),Ie(e,n-1,5),Ie(e,r-4,4),o=0;o<r;o++)Ie(e,e.bl_tree[dc[o]*2+1],3);rc(e,e.dyn_ltree,t-1),rc(e,e.dyn_dtree,n-1)}function vh(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return Jl;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return Ql;for(n=32;n<Rr;n++)if(e.dyn_ltree[n*2]!==0)return Ql;return Jl}var oc=!1;function Th(e){oc||(xh(),oc=!0),e.l_desc=new Ea(e.dyn_ltree,uc),e.d_desc=new Ea(e.dyn_dtree,fc),e.bl_desc=new Ea(e.bl_tree,pc),e.bi_buf=0,e.bi_valid=0,gc(e)}function wc(e,t,n,r){Ie(e,(ch<<1)+(r?1:0),3),wh(e,t,n,!0)}function Ah(e){Ie(e,ic<<1,3),gt(e,va,Ft),Eh(e)}function Sh(e,t,n,r){var o,i,a=0;e.level>0?(e.strm.data_type===lh&&(e.strm.data_type=vh(e)),wa(e,e.l_desc),wa(e,e.d_desc),a=yh(e),o=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=o&&(o=i)):o=i=n+5,n+4<=o&&t!==-1?wc(e,t,n,r):e.strategy===sh||i===o?(Ie(e,(ic<<1)+(r?1:0),3),tc(e,Ft,Dr)):(Ie(e,(dh<<1)+(r?1:0),3),bh(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),tc(e,e.dyn_ltree,e.dyn_dtree)),gc(e),r&&xc(e)}function _h(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(kr[n]+Rr+1)*2]++,e.dyn_dtree[mc(t)*2]++),e.last_lit===e.lit_bufsize-1}qn._tr_init=Th;qn._tr_stored_block=wc;qn._tr_flush_block=Sh;qn._tr_tally=_h;qn._tr_align=Ah});var Aa=ie((py,bc)=>{"use strict";g();function Ih(e,t,n,r){for(var o=e&65535|0,i=e>>>16&65535|0,a=0;n!==0;){a=n>2e3?2e3:n,n-=a;do o=o+t[r++]|0,i=i+o|0;while(--a);o%=65521,i%=65521}return o|i<<16|0}bc.exports=Ih});var Sa=ie((hy,vc)=>{"use strict";g();function Ph(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var Mh=Ph();function Dh(e,t,n,r){var o=Mh,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[(e^t[a])&255];return e^-1}vc.exports=Dh});var Fo=ie((gy,Tc)=>{"use strict";g();Tc.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var Lc=ie(yt=>{"use strict";g();var Ae=Rt(),Ve=yc(),Ic=Aa(),on=Sa(),Ch=Fo(),Dn=0,Lh=1,kh=3,dn=4,Ac=5,wt=0,Sc=1,$e=-2,Oh=-3,_a=-5,Rh=-1,Fh=1,No=2,Nh=3,Bh=4,Gh=0,zh=2,Ho=8,Hh=9,Uh=15,Vh=8,$h=29,Yh=256,Pa=Yh+1+$h,Wh=30,Xh=19,Zh=2*Pa+1,Kh=15,W=3,ln=258,je=ln+W+1,jh=32,Uo=42,Ma=69,Bo=73,Go=91,zo=103,In=113,Nr=666,he=1,Br=2,Pn=3,er=4,qh=3;function cn(e,t){return e.msg=Ch[t],t}function _c(e){return(e<<1)-(e>4?9:0)}function sn(e){for(var t=e.length;--t>=0;)e[t]=0}function an(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(Ae.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function ye(e,t){Ve._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,an(e.strm)}function Z(e,t){e.pending_buf[e.pending++]=t}function Fr(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function Jh(e,t,n,r){var o=e.avail_in;return o>r&&(o=r),o===0?0:(e.avail_in-=o,Ae.arraySet(t,e.input,e.next_in,o,n),e.state.wrap===1?e.adler=Ic(e.adler,t,o,n):e.state.wrap===2&&(e.adler=on(e.adler,t,o,n)),e.next_in+=o,e.total_in+=o,o)}function Pc(e,t){var n=e.max_chain_length,r=e.strstart,o,i,a=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-je?e.strstart-(e.w_size-je):0,c=e.window,d=e.w_mask,u=e.prev,f=e.strstart+ln,p=c[r+a-1],m=c[r+a];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(o=t,!(c[o+a]!==m||c[o+a-1]!==p||c[o]!==c[r]||c[++o]!==c[r+1])){r+=2,o++;do;while(c[++r]===c[++o]&&c[++r]===c[++o]&&c[++r]===c[++o]&&c[++r]===c[++o]&&c[++r]===c[++o]&&c[++r]===c[++o]&&c[++r]===c[++o]&&c[++r]===c[++o]&&r<f);if(i=ln-(f-r),r=f-ln,i>a){if(e.match_start=t,a=i,i>=s)break;p=c[r+a-1],m=c[r+a]}}while((t=u[t&d])>l&&--n!==0);return a<=e.lookahead?a:e.lookahead}function Mn(e){var t=e.w_size,n,r,o,i,a;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-je)){Ae.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,r=e.hash_size,n=r;do o=e.head[--n],e.head[n]=o>=t?o-t:0;while(--r);r=t,n=r;do o=e.prev[--n],e.prev[n]=o>=t?o-t:0;while(--r);i+=t}if(e.strm.avail_in===0)break;if(r=Jh(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=r,e.lookahead+e.insert>=W)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+W-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<W)););}while(e.lookahead<je&&e.strm.avail_in!==0)}function Qh(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Mn(e),e.lookahead===0&&t===Dn)return he;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,ye(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-je&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):(e.strstart>e.block_start&&(ye(e,!1),e.strm.avail_out===0),he)}function Ia(e,t){for(var n,r;;){if(e.lookahead<je){if(Mn(e),e.lookahead<je&&t===Dn)return he;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-je&&(e.match_length=Pc(e,n)),e.match_length>=W)if(r=Ve._tr_tally(e,e.strstart-e.match_start,e.match_length-W),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=W){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=e.strstart<W-1?e.strstart:W-1,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function Jn(e,t){for(var n,r,o;;){if(e.lookahead<je){if(Mn(e),e.lookahead<je&&t===Dn)return he;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=W-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-je&&(e.match_length=Pc(e,n),e.match_length<=5&&(e.strategy===Fh||e.match_length===W&&e.strstart-e.match_start>4096)&&(e.match_length=W-1)),e.prev_length>=W&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-W,r=Ve._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-W),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=W-1,e.strstart++,r&&(ye(e,!1),e.strm.avail_out===0))return he}else if(e.match_available){if(r=Ve._tr_tally(e,0,e.window[e.strstart-1]),r&&ye(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return he}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Ve._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<W-1?e.strstart:W-1,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function eE(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=ln){if(Mn(e),e.lookahead<=ln&&t===Dn)return he;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=W&&e.strstart>0&&(o=e.strstart-1,r=a[o],r===a[++o]&&r===a[++o]&&r===a[++o])){i=e.strstart+ln;do;while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=ln-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=W?(n=Ve._tr_tally(e,1,e.match_length-W),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function tE(e,t){for(var n;;){if(e.lookahead===0&&(Mn(e),e.lookahead===0)){if(t===Dn)return he;break}if(e.match_length=0,n=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function xt(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}var Qn;Qn=[new xt(0,0,0,0,Qh),new xt(4,4,8,4,Ia),new xt(4,5,16,8,Ia),new xt(4,6,32,32,Ia),new xt(4,4,16,16,Jn),new xt(8,16,32,32,Jn),new xt(8,16,128,128,Jn),new xt(8,32,128,256,Jn),new xt(32,128,258,1024,Jn),new xt(32,258,258,4096,Jn)];function nE(e){e.window_size=2*e.w_size,sn(e.head),e.max_lazy_match=Qn[e.level].max_lazy,e.good_match=Qn[e.level].good_length,e.nice_match=Qn[e.level].nice_length,e.max_chain_length=Qn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=W-1,e.match_available=0,e.ins_h=0}function rE(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ho,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ae.Buf16(Zh*2),this.dyn_dtree=new Ae.Buf16((2*Wh+1)*2),this.bl_tree=new Ae.Buf16((2*Xh+1)*2),sn(this.dyn_ltree),sn(this.dyn_dtree),sn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ae.Buf16(Kh+1),this.heap=new Ae.Buf16(2*Pa+1),sn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ae.Buf16(2*Pa+1),sn(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Mc(e){var t;return!e||!e.state?cn(e,$e):(e.total_in=e.total_out=0,e.data_type=zh,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Uo:In,e.adler=t.wrap===2?0:1,t.last_flush=Dn,Ve._tr_init(t),wt)}function Dc(e){var t=Mc(e);return t===wt&&nE(e.state),t}function oE(e,t){return!e||!e.state||e.state.wrap!==2?$e:(e.state.gzhead=t,wt)}function Cc(e,t,n,r,o,i){if(!e)return $e;var a=1;if(t===Rh&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>Hh||n!==Ho||r<8||r>15||t<0||t>9||i<0||i>Bh)return cn(e,$e);r===8&&(r=9);var s=new rE;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+W-1)/W),s.window=new Ae.Buf8(s.w_size*2),s.head=new Ae.Buf16(s.hash_size),s.prev=new Ae.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Ae.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,Dc(e)}function iE(e,t){return Cc(e,t,Ho,Uh,Vh,Gh)}function aE(e,t){var n,r,o,i;if(!e||!e.state||t>Ac||t<0)return e?cn(e,$e):$e;if(r=e.state,!e.output||!e.input&&e.avail_in!==0||r.status===Nr&&t!==dn)return cn(e,e.avail_out===0?_a:$e);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===Uo)if(r.wrap===2)e.adler=0,Z(r,31),Z(r,139),Z(r,8),r.gzhead?(Z(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Z(r,r.gzhead.time&255),Z(r,r.gzhead.time>>8&255),Z(r,r.gzhead.time>>16&255),Z(r,r.gzhead.time>>24&255),Z(r,r.level===9?2:r.strategy>=No||r.level<2?4:0),Z(r,r.gzhead.os&255),r.gzhead.extra&&r.gzhead.extra.length&&(Z(r,r.gzhead.extra.length&255),Z(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=on(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=Ma):(Z(r,0),Z(r,0),Z(r,0),Z(r,0),Z(r,0),Z(r,r.level===9?2:r.strategy>=No||r.level<2?4:0),Z(r,qh),r.status=In);else{var a=Ho+(r.w_bits-8<<4)<<8,s=-1;r.strategy>=No||r.level<2?s=0:r.level<6?s=1:r.level===6?s=2:s=3,a|=s<<6,r.strstart!==0&&(a|=jh),a+=31-a%31,r.status=In,Fr(r,a),r.strstart!==0&&(Fr(r,e.adler>>>16),Fr(r,e.adler&65535)),e.adler=1}if(r.status===Ma)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(r.gzhead.extra.length&65535)&&!(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size));)Z(r,r.gzhead.extra[r.gzindex]&255),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=Bo)}else r.status=Bo;if(r.status===Bo)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.name.length?i=r.gzhead.name.charCodeAt(r.gzindex++)&255:i=0,Z(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.gzindex=0,r.status=Go)}else r.status=Go;if(r.status===Go)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.comment.length?i=r.gzhead.comment.charCodeAt(r.gzindex++)&255:i=0,Z(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.status=zo)}else r.status=zo;if(r.status===zo&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&an(e),r.pending+2<=r.pending_buf_size&&(Z(r,e.adler&255),Z(r,e.adler>>8&255),e.adler=0,r.status=In)):r.status=In),r.pending!==0){if(an(e),e.avail_out===0)return r.last_flush=-1,wt}else if(e.avail_in===0&&_c(t)<=_c(n)&&t!==dn)return cn(e,_a);if(r.status===Nr&&e.avail_in!==0)return cn(e,_a);if(e.avail_in!==0||r.lookahead!==0||t!==Dn&&r.status!==Nr){var l=r.strategy===No?tE(r,t):r.strategy===Nh?eE(r,t):Qn[r.level].func(r,t);if((l===Pn||l===er)&&(r.status=Nr),l===he||l===Pn)return e.avail_out===0&&(r.last_flush=-1),wt;if(l===Br&&(t===Lh?Ve._tr_align(r):t!==Ac&&(Ve._tr_stored_block(r,0,0,!1),t===kh&&(sn(r.head),r.lookahead===0&&(r.strstart=0,r.block_start=0,r.insert=0))),an(e),e.avail_out===0))return r.last_flush=-1,wt}return t!==dn?wt:r.wrap<=0?Sc:(r.wrap===2?(Z(r,e.adler&255),Z(r,e.adler>>8&255),Z(r,e.adler>>16&255),Z(r,e.adler>>24&255),Z(r,e.total_in&255),Z(r,e.total_in>>8&255),Z(r,e.total_in>>16&255),Z(r,e.total_in>>24&255)):(Fr(r,e.adler>>>16),Fr(r,e.adler&65535)),an(e),r.wrap>0&&(r.wrap=-r.wrap),r.pending!==0?wt:Sc)}function sE(e){var t;return!e||!e.state?$e:(t=e.state.status,t!==Uo&&t!==Ma&&t!==Bo&&t!==Go&&t!==zo&&t!==In&&t!==Nr?cn(e,$e):(e.state=null,t===In?cn(e,Oh):wt))}function lE(e,t){var n=t.length,r,o,i,a,s,l,c,d;if(!e||!e.state||(r=e.state,a=r.wrap,a===2||a===1&&r.status!==Uo||r.lookahead))return $e;for(a===1&&(e.adler=Ic(e.adler,t,n,0)),r.wrap=0,n>=r.w_size&&(a===0&&(sn(r.head),r.strstart=0,r.block_start=0,r.insert=0),d=new Ae.Buf8(r.w_size),Ae.arraySet(d,t,n-r.w_size,r.w_size,0),t=d,n=r.w_size),s=e.avail_in,l=e.next_in,c=e.input,e.avail_in=n,e.next_in=0,e.input=t,Mn(r);r.lookahead>=W;){o=r.strstart,i=r.lookahead-(W-1);do r.ins_h=(r.ins_h<<r.hash_shift^r.window[o+W-1])&r.hash_mask,r.prev[o&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=o,o++;while(--i);r.strstart=o,r.lookahead=W-1,Mn(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=W-1,r.match_available=0,e.next_in=l,e.input=c,e.avail_in=s,r.wrap=a,wt}yt.deflateInit=iE;yt.deflateInit2=Cc;yt.deflateReset=Dc;yt.deflateResetKeep=Mc;yt.deflateSetHeader=oE;yt.deflate=aE;yt.deflateEnd=sE;yt.deflateSetDictionary=lE;yt.deflateInfo="pako deflate (from Nodeca project)"});var Da=ie(tr=>{"use strict";g();var Vo=Rt(),kc=!0,Oc=!0;try{String.fromCharCode.apply(null,[0])}catch{kc=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Oc=!1}var Gr=new Vo.Buf8(256);for(Nt=0;Nt<256;Nt++)Gr[Nt]=Nt>=252?6:Nt>=248?5:Nt>=240?4:Nt>=224?3:Nt>=192?2:1;var Nt;Gr[254]=Gr[254]=1;tr.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Vo.Buf8(s),i=0,o=0;i<s;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|n&63):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|n&63):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|n&63);return t};function Rc(e,t){if(t<65534&&(e.subarray&&Oc||!e.subarray&&kc))return String.fromCharCode.apply(null,Vo.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}tr.buf2binstring=function(e){return Rc(e,e.length)};tr.binstring2buf=function(e){for(var t=new Vo.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t};tr.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(a*2);for(r=0,n=0;n<a;){if(o=e[n++],o<128){s[r++]=o;continue}if(i=Gr[o],i>4){s[r++]=65533,n+=i-1;continue}for(o&=i===2?31:i===3?15:7;i>1&&n<a;)o=o<<6|e[n++]&63,i--;if(i>1){s[r++]=65533;continue}o<65536?s[r++]=o:(o-=65536,s[r++]=55296|o>>10&1023,s[r++]=56320|o&1023)}return Rc(s,r)};tr.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Gr[e[n]]>t?n:t}});var Ca=ie((Ty,Fc)=>{"use strict";g();function cE(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}Fc.exports=cE});var zc=ie(Ur=>{"use strict";g();var zr=Lc(),Hr=Rt(),ka=Da(),Oa=Fo(),dE=Ca(),Gc=Object.prototype.toString,uE=0,La=4,nr=0,Nc=1,Bc=2,fE=-1,pE=0,mE=8;function Cn(e){if(!(this instanceof Cn))return new Cn(e);this.options=Hr.assign({level:fE,method:mE,chunkSize:16384,windowBits:15,memLevel:8,strategy:pE,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new dE,this.strm.avail_out=0;var n=zr.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==nr)throw new Error(Oa[n]);if(t.header&&zr.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(typeof t.dictionary=="string"?r=ka.string2buf(t.dictionary):Gc.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=zr.deflateSetDictionary(this.strm,r),n!==nr)throw new Error(Oa[n]);this._dict_set=!0}}Cn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o,i;if(this.ended)return!1;i=t===~~t?t:t===!0?La:uE,typeof e=="string"?n.input=ka.string2buf(e):Gc.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Hr.Buf8(r),n.next_out=0,n.avail_out=r),o=zr.deflate(n,i),o!==Nc&&o!==nr)return this.onEnd(o),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(i===La||i===Bc))&&(this.options.to==="string"?this.onData(ka.buf2binstring(Hr.shrinkBuf(n.output,n.next_out))):this.onData(Hr.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&o!==Nc);return i===La?(o=zr.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===nr):(i===Bc&&(this.onEnd(nr),n.avail_out=0),!0)};Cn.prototype.onData=function(e){this.chunks.push(e)};Cn.prototype.onEnd=function(e){e===nr&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Hr.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Ra(e,t){var n=new Cn(t);if(n.push(e,!0),n.err)throw n.msg||Oa[n.err];return n.result}function hE(e,t){return t=t||{},t.raw=!0,Ra(e,t)}function EE(e,t){return t=t||{},t.gzip=!0,Ra(e,t)}Ur.Deflate=Cn;Ur.deflate=Ra;Ur.deflateRaw=hE;Ur.gzip=EE});var Uc=ie((Iy,Hc)=>{"use strict";g();var $o=30,gE=12;Hc.exports=function(t,n){var r,o,i,a,s,l,c,d,u,f,p,m,h,E,x,w,y,T,b,D,S,A,I,P,_;r=t.state,o=t.next_in,P=t.input,i=o+(t.avail_in-5),a=t.next_out,_=t.output,s=a-(n-t.avail_out),l=a+(t.avail_out-257),c=r.dmax,d=r.wsize,u=r.whave,f=r.wnext,p=r.window,m=r.hold,h=r.bits,E=r.lencode,x=r.distcode,w=(1<<r.lenbits)-1,y=(1<<r.distbits)-1;e:do{h<15&&(m+=P[o++]<<h,h+=8,m+=P[o++]<<h,h+=8),T=E[m&w];t:for(;;){if(b=T>>>24,m>>>=b,h-=b,b=T>>>16&255,b===0)_[a++]=T&65535;else if(b&16){D=T&65535,b&=15,b&&(h<b&&(m+=P[o++]<<h,h+=8),D+=m&(1<<b)-1,m>>>=b,h-=b),h<15&&(m+=P[o++]<<h,h+=8,m+=P[o++]<<h,h+=8),T=x[m&y];n:for(;;){if(b=T>>>24,m>>>=b,h-=b,b=T>>>16&255,b&16){if(S=T&65535,b&=15,h<b&&(m+=P[o++]<<h,h+=8,h<b&&(m+=P[o++]<<h,h+=8)),S+=m&(1<<b)-1,S>c){t.msg="invalid distance too far back",r.mode=$o;break e}if(m>>>=b,h-=b,b=a-s,S>b){if(b=S-b,b>u&&r.sane){t.msg="invalid distance too far back",r.mode=$o;break e}if(A=0,I=p,f===0){if(A+=d-b,b<D){D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}}else if(f<b){if(A+=d+f-b,b-=f,b<D){D-=b;do _[a++]=p[A++];while(--b);if(A=0,f<D){b=f,D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}}}else if(A+=f-b,b<D){D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}for(;D>2;)_[a++]=I[A++],_[a++]=I[A++],_[a++]=I[A++],D-=3;D&&(_[a++]=I[A++],D>1&&(_[a++]=I[A++]))}else{A=a-S;do _[a++]=_[A++],_[a++]=_[A++],_[a++]=_[A++],D-=3;while(D>2);D&&(_[a++]=_[A++],D>1&&(_[a++]=_[A++]))}}else if(b&64){t.msg="invalid distance code",r.mode=$o;break e}else{T=x[(T&65535)+(m&(1<<b)-1)];continue n}break}}else if(b&64)if(b&32){r.mode=gE;break e}else{t.msg="invalid literal/length code",r.mode=$o;break e}else{T=E[(T&65535)+(m&(1<<b)-1)];continue t}break}}while(o<i&&a<l);D=h>>3,o-=D,h-=D<<3,m&=(1<<h)-1,t.next_in=o,t.next_out=a,t.avail_in=o<i?5+(i-o):5-(o-i),t.avail_out=a<l?257+(l-a):257-(a-l),r.hold=m,r.bits=h}});var Kc=ie((My,Zc)=>{"use strict";g();var Vc=Rt(),rr=15,$c=852,Yc=592,Wc=0,Fa=1,Xc=2,xE=[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,0,0],wE=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],yE=[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,0,0],bE=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Zc.exports=function(t,n,r,o,i,a,s,l){var c=l.bits,d=0,u=0,f=0,p=0,m=0,h=0,E=0,x=0,w=0,y=0,T,b,D,S,A,I=null,P=0,_,M=new Vc.Buf16(rr+1),k=new Vc.Buf16(rr+1),$=null,O=0,F,L,C;for(d=0;d<=rr;d++)M[d]=0;for(u=0;u<o;u++)M[n[r+u]]++;for(m=c,p=rr;p>=1&&M[p]===0;p--);if(m>p&&(m=p),p===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,l.bits=1,0;for(f=1;f<p&&M[f]===0;f++);for(m<f&&(m=f),x=1,d=1;d<=rr;d++)if(x<<=1,x-=M[d],x<0)return-1;if(x>0&&(t===Wc||p!==1))return-1;for(k[1]=0,d=1;d<rr;d++)k[d+1]=k[d]+M[d];for(u=0;u<o;u++)n[r+u]!==0&&(s[k[n[r+u]]++]=u);if(t===Wc?(I=$=s,_=19):t===Fa?(I=xE,P-=257,$=wE,O-=257,_=256):(I=yE,$=bE,_=-1),y=0,u=0,d=f,A=a,h=m,E=0,D=-1,w=1<<m,S=w-1,t===Fa&&w>$c||t===Xc&&w>Yc)return 1;for(;;){F=d-E,s[u]<_?(L=0,C=s[u]):s[u]>_?(L=$[O+s[u]],C=I[P+s[u]]):(L=96,C=0),T=1<<d-E,b=1<<h,f=b;do b-=T,i[A+(y>>E)+b]=F<<24|L<<16|C|0;while(b!==0);for(T=1<<d-1;y&T;)T>>=1;if(T!==0?(y&=T-1,y+=T):y=0,u++,--M[d]===0){if(d===p)break;d=n[r+s[u]]}if(d>m&&(y&S)!==D){for(E===0&&(E=m),A+=f,h=d-E,x=1<<h;h+E<p&&(x-=M[h+E],!(x<=0));)h++,x<<=1;if(w+=1<<h,t===Fa&&w>$c||t===Xc&&w>Yc)return 1;D=y&S,i[D]=m<<24|h<<16|A-a|0}}return y!==0&&(i[A+y]=d-E<<24|64<<16|0),l.bits=m,0}});var Dd=ie(qe=>{"use strict";g();var Oe=Rt(),Ua=Aa(),bt=Sa(),vE=Uc(),Vr=Kc(),TE=0,bd=1,vd=2,jc=4,AE=5,Yo=6,Ln=0,SE=1,_E=2,Ye=-2,Td=-3,Va=-4,IE=-5,qc=8,Ad=1,Jc=2,Qc=3,ed=4,td=5,nd=6,rd=7,od=8,id=9,ad=10,Zo=11,Bt=12,Na=13,sd=14,Ba=15,ld=16,cd=17,dd=18,ud=19,Wo=20,Xo=21,fd=22,pd=23,md=24,hd=25,Ed=26,Ga=27,gd=28,xd=29,ae=30,$a=31,PE=32,ME=852,DE=592,CE=15,LE=CE;function wd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function kE(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Oe.Buf16(320),this.work=new Oe.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Sd(e){var t;return!e||!e.state?Ye:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Ad,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Oe.Buf32(ME),t.distcode=t.distdyn=new Oe.Buf32(DE),t.sane=1,t.back=-1,Ln)}function _d(e){var t;return!e||!e.state?Ye:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Sd(e))}function Id(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ye:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,_d(e))}function Pd(e,t){var n,r;return e?(r=new kE,e.state=r,r.window=null,n=Id(e,t),n!==Ln&&(e.state=null),n):Ye}function OE(e){return Pd(e,LE)}var yd=!0,za,Ha;function RE(e){if(yd){var t;for(za=new Oe.Buf32(512),Ha=new Oe.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Vr(bd,e.lens,0,288,za,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Vr(vd,e.lens,0,32,Ha,0,e.work,{bits:5}),yd=!1}e.lencode=za,e.lenbits=9,e.distcode=Ha,e.distbits=5}function Md(e,t,n,r){var o,i=e.state;return i.window===null&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Oe.Buf8(i.wsize)),r>=i.wsize?(Oe.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(o=i.wsize-i.wnext,o>r&&(o=r),Oe.arraySet(i.window,t,n-r,o,i.wnext),r-=o,r?(Oe.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}function FE(e,t){var n,r,o,i,a,s,l,c,d,u,f,p,m,h,E=0,x,w,y,T,b,D,S,A,I=new Oe.Buf8(4),P,_,M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ye;n=e.state,n.mode===Bt&&(n.mode=Na),a=e.next_out,o=e.output,l=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,c=n.hold,d=n.bits,u=s,f=l,A=Ln;e:for(;;)switch(n.mode){case Ad:if(n.wrap===0){n.mode=Na;break}for(;d<16;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(n.wrap&2&&c===35615){n.check=0,I[0]=c&255,I[1]=c>>>8&255,n.check=bt(n.check,I,2,0),c=0,d=0,n.mode=Jc;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=ae;break}if((c&15)!==qc){e.msg="unknown compression method",n.mode=ae;break}if(c>>>=4,d-=4,S=(c&15)+8,n.wbits===0)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=ae;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=c&512?ad:Bt,c=0,d=0;break;case Jc:for(;d<16;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(n.flags=c,(n.flags&255)!==qc){e.msg="unknown compression method",n.mode=ae;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=ae;break}n.head&&(n.head.text=c>>8&1),n.flags&512&&(I[0]=c&255,I[1]=c>>>8&255,n.check=bt(n.check,I,2,0)),c=0,d=0,n.mode=Qc;case Qc:for(;d<32;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}n.head&&(n.head.time=c),n.flags&512&&(I[0]=c&255,I[1]=c>>>8&255,I[2]=c>>>16&255,I[3]=c>>>24&255,n.check=bt(n.check,I,4,0)),c=0,d=0,n.mode=ed;case ed:for(;d<16;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}n.head&&(n.head.xflags=c&255,n.head.os=c>>8),n.flags&512&&(I[0]=c&255,I[1]=c>>>8&255,n.check=bt(n.check,I,2,0)),c=0,d=0,n.mode=td;case td:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}n.length=c,n.head&&(n.head.extra_len=c),n.flags&512&&(I[0]=c&255,I[1]=c>>>8&255,n.check=bt(n.check,I,2,0)),c=0,d=0}else n.head&&(n.head.extra=null);n.mode=nd;case nd:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Oe.arraySet(n.head.extra,r,i,p,S)),n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,n.length-=p),n.length))break e;n.length=0,n.mode=rd;case rd:if(n.flags&2048){if(s===0)break e;p=0;do S=r[i+p++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S));while(S&&p<s);if(n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=od;case od:if(n.flags&4096){if(s===0)break e;p=0;do S=r[i+p++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S));while(S&&p<s);if(n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,S)break e}else n.head&&(n.head.comment=null);n.mode=id;case id:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(c!==(n.check&65535)){e.msg="header crc mismatch",n.mode=ae;break}c=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Bt;break;case ad:for(;d<32;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}e.adler=n.check=wd(c),c=0,d=0,n.mode=Zo;case Zo:if(n.havedict===0)return e.next_out=a,e.avail_out=l,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=d,_E;e.adler=n.check=1,n.mode=Bt;case Bt:if(t===AE||t===Yo)break e;case Na:if(n.last){c>>>=d&7,d-=d&7,n.mode=Ga;break}for(;d<3;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}switch(n.last=c&1,c>>>=1,d-=1,c&3){case 0:n.mode=sd;break;case 1:if(RE(n),n.mode=Wo,t===Yo){c>>>=2,d-=2;break e}break;case 2:n.mode=cd;break;case 3:e.msg="invalid block type",n.mode=ae}c>>>=2,d-=2;break;case sd:for(c>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ae;break}if(n.length=c&65535,c=0,d=0,n.mode=Ba,t===Yo)break e;case Ba:n.mode=ld;case ld:if(p=n.length,p){if(p>s&&(p=s),p>l&&(p=l),p===0)break e;Oe.arraySet(o,r,i,p,a),s-=p,i+=p,l-=p,a+=p,n.length-=p;break}n.mode=Bt;break;case cd:for(;d<14;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(n.nlen=(c&31)+257,c>>>=5,d-=5,n.ndist=(c&31)+1,c>>>=5,d-=5,n.ncode=(c&15)+4,c>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ae;break}n.have=0,n.mode=dd;case dd:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}n.lens[M[n.have++]]=c&7,c>>>=3,d-=3}for(;n.have<19;)n.lens[M[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},A=Vr(TE,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid code lengths set",n.mode=ae;break}n.have=0,n.mode=ud;case ud:for(;n.have<n.nlen+n.ndist;){for(;E=n.lencode[c&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(y<16)c>>>=x,d-=x,n.lens[n.have++]=y;else{if(y===16){for(_=x+2;d<_;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(c>>>=x,d-=x,n.have===0){e.msg="invalid bit length repeat",n.mode=ae;break}S=n.lens[n.have-1],p=3+(c&3),c>>>=2,d-=2}else if(y===17){for(_=x+3;d<_;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}c>>>=x,d-=x,S=0,p=3+(c&7),c>>>=3,d-=3}else{for(_=x+7;d<_;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}c>>>=x,d-=x,S=0,p=11+(c&127),c>>>=7,d-=7}if(n.have+p>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ae;break}for(;p--;)n.lens[n.have++]=S}}if(n.mode===ae)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=ae;break}if(n.lenbits=9,P={bits:n.lenbits},A=Vr(bd,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid literal/lengths set",n.mode=ae;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},A=Vr(vd,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,A){e.msg="invalid distances set",n.mode=ae;break}if(n.mode=Wo,t===Yo)break e;case Wo:n.mode=Xo;case Xo:if(s>=6&&l>=258){e.next_out=a,e.avail_out=l,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=d,vE(e,f),a=e.next_out,o=e.output,l=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,c=n.hold,d=n.bits,n.mode===Bt&&(n.back=-1);break}for(n.back=0;E=n.lencode[c&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(w&&!(w&240)){for(T=x,b=w,D=y;E=n.lencode[D+((c&(1<<T+b)-1)>>T)],x=E>>>24,w=E>>>16&255,y=E&65535,!(T+x<=d);){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}c>>>=T,d-=T,n.back+=T}if(c>>>=x,d-=x,n.back+=x,n.length=y,w===0){n.mode=Ed;break}if(w&32){n.back=-1,n.mode=Bt;break}if(w&64){e.msg="invalid literal/length code",n.mode=ae;break}n.extra=w&15,n.mode=fd;case fd:if(n.extra){for(_=n.extra;d<_;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=pd;case pd:for(;E=n.distcode[c&(1<<n.distbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(!(w&240)){for(T=x,b=w,D=y;E=n.distcode[D+((c&(1<<T+b)-1)>>T)],x=E>>>24,w=E>>>16&255,y=E&65535,!(T+x<=d);){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}c>>>=T,d-=T,n.back+=T}if(c>>>=x,d-=x,n.back+=x,w&64){e.msg="invalid distance code",n.mode=ae;break}n.offset=y,n.extra=w&15,n.mode=md;case md:if(n.extra){for(_=n.extra;d<_;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ae;break}n.mode=hd;case hd:if(l===0)break e;if(p=f-l,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ae;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=o,m=a-n.offset,p=n.length;p>l&&(p=l),l-=p,n.length-=p;do o[a++]=h[m++];while(--p);n.length===0&&(n.mode=Xo);break;case Ed:if(l===0)break e;o[a++]=n.length,l--,n.mode=Xo;break;case Ga:if(n.wrap){for(;d<32;){if(s===0)break e;s--,c|=r[i++]<<d,d+=8}if(f-=l,e.total_out+=f,n.total+=f,f&&(e.adler=n.check=n.flags?bt(n.check,o,f,a-f):Ua(n.check,o,f,a-f)),f=l,(n.flags?c:wd(c))!==n.check){e.msg="incorrect data check",n.mode=ae;break}c=0,d=0}n.mode=gd;case gd:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,c+=r[i++]<<d,d+=8}if(c!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=ae;break}c=0,d=0}n.mode=xd;case xd:A=SE;break e;case ae:A=Td;break e;case $a:return Va;case PE:default:return Ye}return e.next_out=a,e.avail_out=l,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=d,(n.wsize||f!==e.avail_out&&n.mode<ae&&(n.mode<Ga||t!==jc))&&Md(e,e.output,e.next_out,f-e.avail_out)?(n.mode=$a,Va):(u-=e.avail_in,f-=e.avail_out,e.total_in+=u,e.total_out+=f,n.total+=f,n.wrap&&f&&(e.adler=n.check=n.flags?bt(n.check,o,f,e.next_out-f):Ua(n.check,o,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Bt?128:0)+(n.mode===Wo||n.mode===Ba?256:0),(u===0&&f===0||t===jc)&&A===Ln&&(A=IE),A)}function NE(e){if(!e||!e.state)return Ye;var t=e.state;return t.window&&(t.window=null),e.state=null,Ln}function BE(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?Ye:(n.head=t,t.done=!1,Ln)}function GE(e,t){var n=t.length,r,o,i;return!e||!e.state||(r=e.state,r.wrap!==0&&r.mode!==Zo)?Ye:r.mode===Zo&&(o=1,o=Ua(o,t,n,0),o!==r.check)?Td:(i=Md(e,t,n,n),i?(r.mode=$a,Va):(r.havedict=1,Ln))}qe.inflateReset=_d;qe.inflateReset2=Id;qe.inflateResetKeep=Sd;qe.inflateInit=OE;qe.inflateInit2=Pd;qe.inflate=FE;qe.inflateEnd=NE;qe.inflateGetHeader=BE;qe.inflateSetDictionary=GE;qe.inflateInfo="pako inflate (from Nodeca project)"});var Ya=ie((ky,Cd)=>{"use strict";g();Cd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var kd=ie((Ry,Ld)=>{"use strict";g();function zE(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Ld.exports=zE});var Rd=ie(Yr=>{"use strict";g();var or=Dd(),$r=Rt(),Ko=Da(),pe=Ya(),Wa=Fo(),HE=Ca(),UE=kd(),Od=Object.prototype.toString;function kn(e){if(!(this instanceof kn))return new kn(e);this.options=$r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new HE,this.strm.avail_out=0;var n=or.inflateInit2(this.strm,t.windowBits);if(n!==pe.Z_OK)throw new Error(Wa[n]);if(this.header=new UE,or.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ko.string2buf(t.dictionary):Od.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=or.inflateSetDictionary(this.strm,t.dictionary),n!==pe.Z_OK)))throw new Error(Wa[n])}kn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o=this.options.dictionary,i,a,s,l,c,d=!1;if(this.ended)return!1;a=t===~~t?t:t===!0?pe.Z_FINISH:pe.Z_NO_FLUSH,typeof e=="string"?n.input=Ko.binstring2buf(e):Od.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new $r.Buf8(r),n.next_out=0,n.avail_out=r),i=or.inflate(n,pe.Z_NO_FLUSH),i===pe.Z_NEED_DICT&&o&&(i=or.inflateSetDictionary(this.strm,o)),i===pe.Z_BUF_ERROR&&d===!0&&(i=pe.Z_OK,d=!1),i!==pe.Z_STREAM_END&&i!==pe.Z_OK)return this.onEnd(i),this.ended=!0,!1;n.next_out&&(n.avail_out===0||i===pe.Z_STREAM_END||n.avail_in===0&&(a===pe.Z_FINISH||a===pe.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=Ko.utf8border(n.output,n.next_out),l=n.next_out-s,c=Ko.buf2string(n.output,s),n.next_out=l,n.avail_out=r-l,l&&$r.arraySet(n.output,n.output,s,l,0),this.onData(c)):this.onData($r.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(d=!0)}while((n.avail_in>0||n.avail_out===0)&&i!==pe.Z_STREAM_END);return i===pe.Z_STREAM_END&&(a=pe.Z_FINISH),a===pe.Z_FINISH?(i=or.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===pe.Z_OK):(a===pe.Z_SYNC_FLUSH&&(this.onEnd(pe.Z_OK),n.avail_out=0),!0)};kn.prototype.onData=function(e){this.chunks.push(e)};kn.prototype.onEnd=function(e){e===pe.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=$r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Xa(e,t){var n=new kn(t);if(n.push(e,!0),n.err)throw n.msg||Wa[n.err];return n.result}function VE(e,t){return t=t||{},t.raw=!0,Xa(e,t)}Yr.Inflate=kn;Yr.inflate=Xa;Yr.inflateRaw=VE;Yr.ungzip=Xa});var Bd=ie((Gy,Nd)=>{"use strict";g();var $E=Rt().assign,YE=zc(),WE=Rd(),XE=Ya(),Fd={};$E(Fd,YE,WE,XE);Nd.exports=Fd});var tp=ie(zi=>{"use strict";g();Object.defineProperty(zi,"__esModule",{value:!0});zi.sanitizeUrl=void 0;var ew=/^([^\w]*)(javascript|data|vbscript)/im,tw=/&#(\w+)(^\w|;)?/g,nw=/&(newline|tab);/gi,rw=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,ow=/^.+(:|&colon;)/gim,iw=[".","/"];function aw(e){return iw.indexOf(e[0])>-1}function sw(e){return e.replace(tw,function(t,n){return String.fromCharCode(n)})}function lw(e){var t=sw(e||"").replace(nw,"").replace(rw,"").trim();if(!t)return"about:blank";if(aw(t))return t;var n=t.match(ow);if(!n)return t;var r=n[0];return ew.test(r)?"about:blank":t}zi.sanitizeUrl=lw});g();var Fl=Mr(Ul(),1),Nl=Mr(Xl(),1),Vm=Mr(ql(),1);g();var da=Mr(Bd(),1);g();g();var Za={};g();var On={white:"#ffffff",black:"#000000",gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};var jE=(e,t)=>t.reduce((n,r)=>(r in e&&(n[r]=e[r]),n),{}),$y=5,Yy=5,Gd=4,jo=4,qo=1,Je=[0,2,4,6,8];var Qe=(e,t)=>t.map(n=>On[e][n]),H={transparent:"transparent",black:"#1e1e1e",white:"#ffffff",gray:Qe("gray",Je),red:Qe("red",Je),pink:Qe("pink",Je),grape:Qe("grape",Je),violet:Qe("violet",Je),blue:Qe("blue",Je),cyan:Qe("cyan",Je),teal:Qe("teal",Je),green:Qe("green",Je),yellow:Qe("yellow",Je),orange:Qe("orange",Je),bronze:["#f8f1ee","#eaddd7","#d2bab0","#a18072","#846358"]},zd=jE(H,["cyan","blue","violet","grape","pink","green","teal","yellow","orange","red"]),Wy=[H.black,H.red[jo],H.green[jo],H.blue[jo],H.yellow[jo]],Xy=[H.transparent,H.red[qo],H.green[qo],H.blue[qo],H.yellow[qo]],Zy=[H.white,"#f8f9fa","#f5faff","#fffce8","#fdf8f6"],Ky={transparent:H.transparent,white:H.white,gray:H.gray,black:H.black,bronze:H.bronze,...zd},jy={transparent:H.transparent,white:H.white,gray:H.gray,black:H.black,bronze:H.bronze,...zd},Hd=e=>[H.cyan[e],H.blue[e],H.violet[e],H.grape[e],H.pink[e],H.green[e],H.teal[e],H.yellow[e],H.orange[e],H.red[e]],qy=(e,t,n)=>`#${((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}`;var Jo=/Mac|iPod|iPhone|iPad/.test(navigator.platform),nb=/^Win/.test(navigator.platform),Ud=/\b(android)\b/i.test(navigator.userAgent),rb="netscape"in window&&navigator.userAgent.indexOf("rv:")>1&&navigator.userAgent.indexOf("Gecko")>1,qE=navigator.userAgent.indexOf("Chrome")!==-1,ob=!qE&&navigator.userAgent.indexOf("Safari")!==-1,Vd=/iPad|iPhone/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,ib=()=>navigator.brave?.isBrave?.name==="isBrave",ab=typeof window<"u"&&"ResizeObserver"in window,sb="Excalidraw",$d=10,Yd=8,lb=5,cb=1,db=30,vt=Math.PI/12,ub="red",Qo={TEXT:"text",CROSSHAIR:"crosshair",GRABBING:"grabbing",GRAB:"grab",POINTER:"pointer",MOVE:"move",AUTO:""},fb={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1,ERASER:5},pb={enabled:"all",disabled:"none",inheritFromUI:"var(--ui-pointerEvents)"};var mb={UNSTARTED:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3,CUED:5},et={TEST:"test",DEVELOPMENT:"development"},hb={SHAPE_ACTIONS_MENU:"App-menu__left"},Ee={Virgil:1,Helvetica:2,Cascadia:3,Assistant:4},Re={LIGHT:"light",DARK:"dark"},xe={strokeColor:"#bbb",strokeWidth:2,strokeStyle:"solid",fillStyle:"solid",roughness:0,roundness:null,backgroundColor:"transparent",radius:8,nameOffsetY:3,nameColorLightTheme:"#999999",nameColorDarkTheme:"#7a7a7a",nameFontSize:14,nameLineHeight:1.25},Ka="Segoe UI Emoji",ei=1,Tt=20,tt=Ee.Virgil,ir="left",ti="top";var Wr=2,ni=2*Wr,JE=1e-5,Eb=2*ni-JE,gb="#ffffff",xb="#1e1e1e",wb="#a2f1a6";var yb=20,ja={svg:"image/svg+xml",png:"image/png",jpg:"image/jpeg",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif",jfif:"image/jfif"},Wd=["text/plain","text/html"],B={json:"application/json",excalidraw:"application/vnd.excalidraw+json",excalidrawlib:"application/vnd.excalidrawlib+json","excalidraw.svg":"image/svg+xml","excalidraw.png":"image/png",binary:"application/octet-stream",...ja},bb={png:"png",svg:"svg",clipboard:"clipboard"},Pe={excalidraw:"excalidraw",excalidrawClipboard:"excalidraw/clipboard",excalidrawLibrary:"excalidrawlib",excalidrawClipboardWithAPI:"excalidraw-api/clipboard"},qa=window.EXCALIDRAW_EXPORT_SOURCE||window.location.origin,vb=500,Tb=300,Ab=500;var Sb=100,_b=.1,Xd=.1,Ib=30,Pb=300;var ri=Za.themeFilter,Mb={addLibrary:"addLibrary"},Db={addLibrary:"addLibrary"},Cb={canvasActions:{changeViewBackgroundColor:!0,clearCanvas:!0,export:{saveFileToDisk:!0},loadScene:!0,saveToActiveFile:!0,toggleTheme:null,saveAsImage:!0},tools:{image:!0}},Lb=730,kb=1e3,Ob=500,Rb=1229,Fb=parseInt(Za.rightSidebarWidth),ar=2,Zd=[1,2,3],Ja=10,Nb=1440,Bb=2*1024*1024,Q="http://www.w3.org/2000/svg";var Qa={excalidraw:2,excalidrawLibrary:2},me=5,Kd=.7,jd=11,Gt={TOP:"top",MIDDLE:"middle",BOTTOM:"bottom"},es={LEFT:"left",CENTER:"center",RIGHT:"right"},qd=20,oi=.25,Jd=32,Fe={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},ts={architect:0,artist:1,cartoonist:2},Gb={thin:1,bold:2,extraBold:4},ne={strokeColor:H.black,backgroundColor:H.transparent,fillStyle:"solid",strokeWidth:2,strokeStyle:"solid",roughness:ts.artist,opacity:100,locked:!1},QE="library",Qd={name:"default",defaultTab:QE},zb=new Set(["iframe","embeddable","image"]),Hb={selection:"selection",rectangle:"rectangle",diamond:"diamond",ellipse:"ellipse",arrow:"arrow",line:"line",freedraw:"freedraw",text:"text",image:"image",eraser:"eraser",hand:"hand",frame:"frame",magicframe:"magicframe",embeddable:"embeddable",laser:"laser"},Ub={OAI_API_KEY:"excalidraw-oai-api-key",MERMAID_TO_EXCALIDRAW:"mermaid-to-excalidraw",PUBLISH_LIBRARY:"publish-library-data"},eu="Untitled";g();g();g();var ii=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");g();var eg=Zd.includes(devicePixelRatio)?devicePixelRatio:1,nt=()=>({showWelcomeScreen:!1,theme:Re.LIGHT,collaborators:new Map,currentChartType:"bar",currentItemBackgroundColor:ne.backgroundColor,currentItemEndArrowhead:"arrow",currentItemFillStyle:ne.fillStyle,currentItemFontFamily:tt,currentItemFontSize:Tt,currentItemOpacity:ne.opacity,currentItemRoughness:ne.roughness,currentItemStartArrowhead:null,currentItemStrokeColor:ne.strokeColor,currentItemRoundness:"round",currentItemStrokeStyle:ne.strokeStyle,currentItemStrokeWidth:ne.strokeWidth,currentItemTextAlign:ir,cursorButton:"up",activeEmbeddable:null,draggingElement:null,editingElement:null,editingGroupId:null,editingLinearElement:null,activeTool:{type:"selection",customType:null,locked:ne.locked,lastActiveTool:null},penMode:!1,penDetected:!1,errorMessage:null,exportBackground:!0,exportScale:eg,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:null,isBindingEnabled:!0,defaultSidebarDockedPreference:!1,isLoading:!1,isResizing:!1,isRotating:!1,lastPointerDownWith:"mouse",multiElement:null,name:null,contextMenu:null,openMenu:null,openPopup:null,openSidebar:null,openDialog:null,pasteDialog:{shown:!1,data:null},previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},selectedGroupIds:{},selectedElementsAreBeingDragged:!1,selectionElement:null,shouldCacheIgnoreZoom:!1,showStats:!1,startBoundElement:null,suggestedBindings:[],frameRendering:{enabled:!0,clip:!0,name:!0,outline:!0},frameToHighlight:null,editingFrame:null,elementsToHighlight:null,toast:null,viewBackgroundColor:H.white,zenModeEnabled:!1,zoom:{value:1},viewModeEnabled:!1,pendingImageElementId:null,showHyperlinkPopup:!1,selectedLinearElement:null,snapLines:[],originSnapOffset:{x:0,y:0},objectsSnapModeEnabled:!1,userToFollow:null,followedBy:new Set}),tg=(e=>e)({showWelcomeScreen:{browser:!0,export:!1,server:!1},theme:{browser:!0,export:!1,server:!1},collaborators:{browser:!1,export:!1,server:!1},currentChartType:{browser:!0,export:!1,server:!1},currentItemBackgroundColor:{browser:!0,export:!1,server:!1},currentItemEndArrowhead:{browser:!0,export:!1,server:!1},currentItemFillStyle:{browser:!0,export:!1,server:!1},currentItemFontFamily:{browser:!0,export:!1,server:!1},currentItemFontSize:{browser:!0,export:!1,server:!1},currentItemRoundness:{browser:!0,export:!1,server:!1},currentItemOpacity:{browser:!0,export:!1,server:!1},currentItemRoughness:{browser:!0,export:!1,server:!1},currentItemStartArrowhead:{browser:!0,export:!1,server:!1},currentItemStrokeColor:{browser:!0,export:!1,server:!1},currentItemStrokeStyle:{browser:!0,export:!1,server:!1},currentItemStrokeWidth:{browser:!0,export:!1,server:!1},currentItemTextAlign:{browser:!0,export:!1,server:!1},cursorButton:{browser:!0,export:!1,server:!1},activeEmbeddable:{browser:!1,export:!1,server:!1},draggingElement:{browser:!1,export:!1,server:!1},editingElement:{browser:!1,export:!1,server:!1},editingGroupId:{browser:!0,export:!1,server:!1},editingLinearElement:{browser:!1,export:!1,server:!1},activeTool:{browser:!0,export:!1,server:!1},penMode:{browser:!0,export:!1,server:!1},penDetected:{browser:!0,export:!1,server:!1},errorMessage:{browser:!1,export:!1,server:!1},exportBackground:{browser:!0,export:!1,server:!1},exportEmbedScene:{browser:!0,export:!1,server:!1},exportScale:{browser:!0,export:!1,server:!1},exportWithDarkMode:{browser:!0,export:!1,server:!1},fileHandle:{browser:!1,export:!1,server:!1},gridSize:{browser:!0,export:!0,server:!0},height:{browser:!1,export:!1,server:!1},isBindingEnabled:{browser:!1,export:!1,server:!1},defaultSidebarDockedPreference:{browser:!0,export:!1,server:!1},isLoading:{browser:!1,export:!1,server:!1},isResizing:{browser:!1,export:!1,server:!1},isRotating:{browser:!1,export:!1,server:!1},lastPointerDownWith:{browser:!0,export:!1,server:!1},multiElement:{browser:!1,export:!1,server:!1},name:{browser:!0,export:!1,server:!1},offsetLeft:{browser:!1,export:!1,server:!1},offsetTop:{browser:!1,export:!1,server:!1},contextMenu:{browser:!1,export:!1,server:!1},openMenu:{browser:!0,export:!1,server:!1},openPopup:{browser:!1,export:!1,server:!1},openSidebar:{browser:!0,export:!1,server:!1},openDialog:{browser:!1,export:!1,server:!1},pasteDialog:{browser:!1,export:!1,server:!1},previousSelectedElementIds:{browser:!0,export:!1,server:!1},resizingElement:{browser:!1,export:!1,server:!1},scrolledOutside:{browser:!0,export:!1,server:!1},scrollX:{browser:!0,export:!1,server:!1},scrollY:{browser:!0,export:!1,server:!1},selectedElementIds:{browser:!0,export:!1,server:!1},selectedGroupIds:{browser:!0,export:!1,server:!1},selectedElementsAreBeingDragged:{browser:!1,export:!1,server:!1},selectionElement:{browser:!1,export:!1,server:!1},shouldCacheIgnoreZoom:{browser:!0,export:!1,server:!1},showStats:{browser:!0,export:!1,server:!1},startBoundElement:{browser:!1,export:!1,server:!1},suggestedBindings:{browser:!1,export:!1,server:!1},frameRendering:{browser:!1,export:!1,server:!1},frameToHighlight:{browser:!1,export:!1,server:!1},editingFrame:{browser:!1,export:!1,server:!1},elementsToHighlight:{browser:!1,export:!1,server:!1},toast:{browser:!1,export:!1,server:!1},viewBackgroundColor:{browser:!0,export:!0,server:!0},width:{browser:!1,export:!1,server:!1},zenModeEnabled:{browser:!0,export:!1,server:!1},zoom:{browser:!0,export:!1,server:!1},viewModeEnabled:{browser:!1,export:!1,server:!1},pendingImageElementId:{browser:!1,export:!1,server:!1},showHyperlinkPopup:{browser:!1,export:!1,server:!1},selectedLinearElement:{browser:!0,export:!1,server:!1},snapLines:{browser:!1,export:!1,server:!1},originSnapOffset:{browser:!1,export:!1,server:!1},objectsSnapModeEnabled:{browser:!0,export:!1,server:!1},userToFollow:{browser:!1,export:!1,server:!1},followedBy:{browser:!1,export:!1,server:!1}}),tu=(e,t)=>{let n={};for(let r of Object.keys(e))if(tg[r]?.[t]){let i=e[r];n[r]=i}return n};var ai=e=>tu(e,"export"),nu=e=>tu(e,"server"),ru=({activeTool:e})=>e.type==="eraser",ou=({activeTool:e})=>e.type==="hand";g();g();g();g();g();g();var iu=null;var o1=()=>{if(iu)return iu;let e=new Date,t=e.getFullYear(),n=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0"),o=`${e.getHours()}`.padStart(2,"0"),i=`${e.getMinutes()}`.padStart(2,"0");return`${t}-${n}-${r}-${o}${i}`},i1=e=>e.charAt(0).toUpperCase()+e.slice(1),a1=e=>e instanceof HTMLElement&&e.className.includes("ToolIcon"),ng=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement,s1=e=>ng(e)||e instanceof Element&&!!e.closest("label, button"),l1=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&(e.type==="text"||e.type==="number"||e.type==="password"),ns=({fontFamily:e})=>{for(let[t,n]of Object.entries(Ee))if(n===e)return`${t}, ${Ka}`;return Ka},ce=({fontSize:e,fontFamily:t})=>`${e}px ${ns({fontFamily:t})}`,lu=(e,t)=>{let n=0,r=null,o=(...i)=>{r=i,clearTimeout(n),n=window.setTimeout(()=>{r=null,e(...i)},t)};return o.flush=()=>{if(clearTimeout(n),r){let i=r;r=null,e(...i)}},o.cancel=()=>{r=null,clearTimeout(n)},o},cu=(e,t)=>{let n=null,r=null,o=null,i=s=>{n=window.requestAnimationFrame(()=>{n=null,e(...s),r=null,o&&(r=o,o=null,i(r))})},a=(...s)=>{if(v.MODE==="test"){e(...s);return}r=s,n===null?i(r):t?.trailing&&(o=s)};return a.flush=()=>{n!==null&&(cancelAnimationFrame(n),n=null),r&&(e(...o||r),r=o=null)},a.cancel=()=>{r=o=null,n!==null&&(cancelAnimationFrame(n),n=null)},a},du=e=>1-Math.pow(1-e,4),au=(e,t,n)=>(t-e)*du(n)+e,c1=({fromValues:e,toValues:t,onStep:n,duration:r=250,interpolateValue:o,onStart:i,onEnd:a,onCancel:s})=>{let l=!1,c=0,d;function u(f){if(l)return;d===void 0&&(d=f,i?.());let p=Math.min(f-d,r),m=du(p/r),h={};if(Object.keys(e).forEach(E=>{let x=E,w=(t[x]-e[x])*m+e[x];h[x]=w}),n(h),p<r){let E=p/r,x={};Object.keys(e).forEach(w=>{let y=w,T=e[y],b=t[y],D;D=o?o(T,b,E,y):au(T,b,E),D==null&&(D=au(T,b,E)),x[y]=D}),n(x),c=window.requestAnimationFrame(u)}else n(t),a?.()}return c=window.requestAnimationFrame(u),()=>{s?.(),l=!0,window.cancelAnimationFrame(c)}},d1=(e,t)=>{if(!e.length||t<1)return[];let n=0,r=0,o=Array(Math.ceil(e.length/t));for(;n<e.length;)o[r++]=e.slice(n,n+=t);return o};var We=(e,t)=>Math.abs(e-t),Xr=(e,t)=>t.type==="custom"?{...e.activeTool,type:"custom",customType:t.customType,locked:t.locked??e.activeTool.locked}:{...e.activeTool,lastActiveTool:t.lastActiveToolBeforeEraser===void 0?e.activeTool.lastActiveTool:t.lastActiveToolBeforeEraser,type:t.type,customType:null,locked:t.locked??e.activeTool.locked};var u1=e=>(e=e.replace(/\bAlt\b/i,"Alt").replace(/\bShift\b/i,"Shift").replace(/\b(Enter|Return)\b/i,"Enter"),Jo?e.replace(/\bCtrlOrCmd\b/gi,"Cmd").replace(/\bAlt\b/i,"Option"):e.replace(/\bCtrlOrCmd\b/gi,"Ctrl")),Zr=({clientX:e,clientY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e-r)/n.value-i,l=(t-o)/n.value-a;return{x:s,y:l}},rs=({sceneX:e,sceneY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e+i)*n.value+r,l=(t+a)*n.value+o;return{x:s,y:l}},f1=e=>getComputedStyle(document.documentElement).getPropertyValue(`--${e}`),rg="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF",og="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",ig=new RegExp(`^[^${rg}]*[${og}]`),li=e=>ig.test(e),sr=e=>{let[t,n]=e;return{x:t,y:n}},p1=e=>{if(e?.name==="AbortError"){console.warn(e);return}throw e},m1=(e,t,n=0)=>{n<0&&(n=e.length+n),n=Math.min(e.length,Math.max(n,0));let r=n-1;for(;++r<e.length;)if(t(e[r],r,e))return r;return-1},h1=(e,t,n=e.length-1)=>{n<0&&(n=e.length+n),n=Math.min(e.length-1,Math.max(n,0));let r=n+1;for(;--r>-1;)if(t(e[r],r,e))return r;return-1},un=e=>{let t=e.length===5&&e.substr(4,1)==="0",n=e.length===9&&e.substr(7,2)==="00";return t||n||e===H.transparent},E1=()=>{let e,t,n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n};var g1=e=>{let t=e.parentElement;for(;t;){if(t===document.body)return document;let{overflowY:n}=window.getComputedStyle(t);if(t.scrollHeight>t.clientHeight&&(n==="auto"||n==="scroll"||n==="overlay"))return t;t=t.parentElement}return document},x1=e=>{let t=e.parentElement;for(;t;){if(t.tabIndex>-1){t.focus();return}t=t.parentElement}},w1=e=>{e.preventDefault(),e.returnValue=""},uu=e=>Array.from(e).map(t=>`0${t.toString(16)}`.slice(-2)).join(""),zt=()=>Ht()?1:Date.now(),X=e=>e instanceof Map?e:e.reduce((t,n)=>(t.set(typeof n=="string"?n:n.id,n),t),new Map),y1=e=>e.reduce((t,n,r)=>(t.set(n.id,[n,r]),t),new Map),At=(e,t)=>e.reduce((n,r)=>(n[t?t(r):String(r)]=r,n),{}),Ht=()=>v.MODE==="test",b1=()=>v.MODE==="development",v1=(e,t)=>new CustomEvent(e,{detail:{nativeEvent:t},cancelable:!0}),T1=(e,t)=>{let n=!1;for(let r in t){let o=t[r];if(typeof o<"u"){if(e[r]===o&&(typeof o!="object"||o===null))continue;n=!0}}return n?{...e,...t}:e};var A1=()=>{try{return window.self===window.top?"top":"iframe"}catch{return"iframe"}};var ci=e=>!!e&&typeof e=="object"&&"then"in e&&"catch"in e&&"finally"in e,S1=e=>{let t=e?.querySelectorAll("button, a, input, select, textarea, div[tabindex], label[tabindex]");return t?Array.from(t).filter(n=>n.tabIndex>-1&&!n.disabled):[]},su=(e,t)=>Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t,Ut=(e,t,n,r=!1)=>{let o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return r&&console.warn("%cisShallowEqual: objects don't have same properties ->","color: #8B4000",e,t),!1;if(n&&Array.isArray(n)){for(let a of n)if(!(e[a]===t[a]||su(e[a],t[a])))return r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),!1;return!0}return o.every(a=>{let s=n?.[a],l=s?s(e[a],t[a]):e[a]===t[a]||su(e[a],t[a]);return!l&&r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),l})},_1=(e,t,{checkForDefaultPrevented:n=!0}={})=>function(o){if(e?.(o),!n||!o?.defaultPrevented)return t?.(o)},Rn=(e,t,n)=>{if(!t)return e;if(n)return console.error(t),e;throw new Error(t)},I1=e=>{let t,n,r=function(o){let i=Object.entries(o);if(t){let s=!0;for(let[l,c]of i)if(t.get(l)!==c){s=!1;break}if(s)return n}let a=e(o);return t=new Map(i),n=a,a};return r.clear=()=>{t=void 0,n=void 0},r},fu=(e,t)=>e instanceof Set||e instanceof Map?e.has(t):"includes"in e?e.includes(t):e.hasOwnProperty(t),P1=e=>JSON.parse(JSON.stringify(e)),M1=e=>typeof e=="number"&&Number.isFinite(e),D1=(e,t)=>Ut(e,t)?e:t;function C1(e,t,n,r){return e?(e?.addEventListener?.(t,n,r),()=>{e?.removeEventListener?.(t,n,r)}):()=>{}}var si=(e,t)=>(e+t)/2;function L1(e,t=!0){let n=e.length;if(n<4)return"";let r=e[0],o=e[1],i=e[2],a=`M${r[0].toFixed(2)},${r[1].toFixed(2)} Q${o[0].toFixed(2)},${o[1].toFixed(2)} ${si(o[0],i[0]).toFixed(2)},${si(o[1],i[1]).toFixed(2)} T`;for(let s=2,l=n-1;s<l;s++)r=e[s],o=e[s+1],a+=`${si(r[0],o[0]).toFixed(2)},${si(r[1],o[1]).toFixed(2)} `;return t&&(a+="Z"),a}var pu=e=>e.replace(/\r?\n|\r/g,`
2
+ `),Vt=e=>e,k1=async(e,...t)=>new Promise(n=>{n(e(...t))});var St=e=>!!e&&e.type==="image"&&!!e.fileId,di=e=>!!e&&e.type==="image",ui=e=>!!e&&e.type==="embeddable",Kr=e=>!!e&&e.type==="iframe",rt=e=>!!e&&(e.type==="iframe"||e.type==="embeddable"),Y=e=>e!=null&&e.type==="text",jr=e=>e!=null&&e.type==="frame",mu=e=>e!=null&&e.type==="magicframe",ee=e=>e!=null&&(e.type==="frame"||e.type==="magicframe"),ge=e=>e!=null&&ag(e.type),ag=e=>e==="freedraw",J=e=>e!=null&&os(e.type),j=e=>e!=null&&e.type==="arrow",os=e=>e==="arrow"||e==="line",qr=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&sg(e.type),sg=e=>e==="arrow",Fn=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||e.type==="image"||e.type==="iframe"||e.type==="embeddable"||e.type==="frame"||e.type==="magicframe"||e.type==="text"&&!e.containerId),lg=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||j(e)),is=e=>{let t=e?.type;if(!t)return!1;switch(t){case"text":case"diamond":case"rectangle":case"iframe":case"embeddable":case"ellipse":case"arrow":case"freedraw":case"line":case"frame":case"magicframe":case"image":case"selection":return!0;default:return Rn(t,null),!1}},lr=e=>lg(e)&&!!e.boundElements?.some(({type:t})=>t==="text"),be=e=>e!==null&&"containerId"in e&&e.containerId!==null&&Y(e),fi=e=>e==="rectangle"||e==="embeddable"||e==="iframe"||e==="image",hu=e=>e==="line"||e==="arrow"||e==="diamond",B1=(e,t)=>!!((e===Fe.ADAPTIVE_RADIUS||e===Fe.LEGACY)&&fi(t.type)||e===Fe.PROPORTIONAL_RADIUS&&hu(t.type)),G1=e=>hu(e.type)?{type:Fe.PROPORTIONAL_RADIUS}:fi(e.type)?{type:Fe.ADAPTIVE_RADIUS}:null;g();g();g();g();g();g();g();g();g();g();g();g();function as(e,t,n){if(e&&e.length){let[r,o]=t,i=Math.PI/180*n,a=Math.cos(i),s=Math.sin(i);for(let l of e){let[c,d]=l;l[0]=(c-r)*a-(d-o)*s+r,l[1]=(c-r)*s+(d-o)*a+o}}}function cg(e,t,n){let r=[];e.forEach(o=>r.push(...o)),as(r,t,n)}function dg(e,t){return e[0]===t[0]&&e[1]===t[1]}function Eu(e,t,n,r=1){let o=n,i=Math.max(t,.1),a=e[0]&&e[0][0]&&typeof e[0][0]=="number"?[e]:e,s=[0,0];if(o)for(let c of a)as(c,s,o);let l=ug(a,i,r);if(o){for(let c of a)as(c,s,-o);cg(l,s,-o)}return l}function ug(e,t,n){let r=[];for(let c of e){let d=[...c];dg(d[0],d[d.length-1])||d.push([d[0][0],d[0][1]]),d.length>2&&r.push(d)}let o=[];t=Math.max(t,.1);let i=[];for(let c of r)for(let d=0;d<c.length-1;d++){let u=c[d],f=c[d+1];if(u[1]!==f[1]){let p=Math.min(u[1],f[1]);i.push({ymin:p,ymax:Math.max(u[1],f[1]),x:p===u[1]?u[0]:f[0],islope:(f[0]-u[0])/(f[1]-u[1])})}}if(i.sort((c,d)=>c.ymin<d.ymin?-1:c.ymin>d.ymin?1:c.x<d.x?-1:c.x>d.x?1:c.ymax===d.ymax?0:(c.ymax-d.ymax)/Math.abs(c.ymax-d.ymax)),!i.length)return o;let a=[],s=i[0].ymin,l=0;for(;a.length||i.length;){if(i.length){let c=-1;for(let u=0;u<i.length&&!(i[u].ymin>s);u++)c=u;i.splice(0,c+1).forEach(u=>{a.push({s,edge:u})})}if(a=a.filter(c=>!(c.edge.ymax<=s)),a.sort((c,d)=>c.edge.x===d.edge.x?0:(c.edge.x-d.edge.x)/Math.abs(c.edge.x-d.edge.x)),(n!==1||l%t===0)&&a.length>1)for(let c=0;c<a.length;c=c+2){let d=c+1;if(d>=a.length)break;let u=a[c].edge,f=a[d].edge;o.push([[Math.round(u.x),s],[Math.round(f.x),s]])}s+=n,a.forEach(c=>{c.edge.x=c.edge.x+n*c.edge.islope}),l++}return o}function _t(e,t){var n;let r=t.hachureAngle+90,o=t.hachureGap;o<0&&(o=t.strokeWidth*4),o=Math.max(o,.1);let i=1;return t.roughness>=1&&(((n=t.randomizer)===null||n===void 0?void 0:n.next())||Math.random())>.7&&(i=o),Eu(e,o,r,i||1)}var fn=class{constructor(t){this.helper=t}fillPolygons(t,n){return this._fillPolygons(t,n)}_fillPolygons(t,n){let r=_t(t,n);return{type:"fillSketch",ops:this.renderLines(r,n)}}renderLines(t,n){let r=[];for(let o of t)r.push(...this.helper.doubleLineOps(o[0][0],o[0][1],o[1][0],o[1][1],n));return r}};g();g();function pn(e){let t=e[0],n=e[1];return Math.sqrt(Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2))}var pi=class extends fn{fillPolygons(t,n){let r=n.hachureGap;r<0&&(r=n.strokeWidth*4),r=Math.max(r,.1);let o=Object.assign({},n,{hachureGap:r}),i=_t(t,o),a=Math.PI/180*n.hachureAngle,s=[],l=r*.5*Math.cos(a),c=r*.5*Math.sin(a);for(let[u,f]of i)pn([u,f])&&s.push([[u[0]-l,u[1]+c],[...f]],[[u[0]+l,u[1]-c],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,n)}}};g();var mi=class extends fn{fillPolygons(t,n){let r=this._fillPolygons(t,n),o=Object.assign({},n,{hachureAngle:n.hachureAngle+90}),i=this._fillPolygons(t,o);return r.ops=r.ops.concat(i.ops),r}};g();var hi=class{constructor(t){this.helper=t}fillPolygons(t,n){n=Object.assign({},n,{hachureAngle:0});let r=_t(t,n);return this.dotsOnLines(r,n)}dotsOnLines(t,n){let r=[],o=n.hachureGap;o<0&&(o=n.strokeWidth*4),o=Math.max(o,.1);let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=o/4;for(let s of t){let l=pn(s),c=l/o,d=Math.ceil(c)-1,u=l-d*o,f=(s[0][0]+s[1][0])/2-o/4,p=Math.min(s[0][1],s[1][1]);for(let m=0;m<d;m++){let h=p+u+m*o,E=f-a+Math.random()*2*a,x=h-a+Math.random()*2*a,w=this.helper.ellipse(E,x,i,i,n);r.push(...w.ops)}}return{type:"fillSketch",ops:r}}};g();var Ei=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=_t(t,n);return{type:"fillSketch",ops:this.dashedLine(r,n)}}dashedLine(t,n){let r=n.dashOffset<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashOffset,o=n.dashGap<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashGap,i=[];return t.forEach(a=>{let s=pn(a),l=Math.floor(s/(r+o)),c=(s+o-l*(r+o))/2,d=a[0],u=a[1];d[0]>u[0]&&(d=a[1],u=a[0]);let f=Math.atan((u[1]-d[1])/(u[0]-d[0]));for(let p=0;p<l;p++){let m=p*(r+o),h=m+r,E=[d[0]+m*Math.cos(f)+c*Math.cos(f),d[1]+m*Math.sin(f)+c*Math.sin(f)],x=[d[0]+h*Math.cos(f)+c*Math.cos(f),d[1]+h*Math.sin(f)+c*Math.sin(f)];i.push(...this.helper.doubleLineOps(E[0],E[1],x[0],x[1],n))}}),i}};g();var gi=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=n.hachureGap<0?n.strokeWidth*4:n.hachureGap,o=n.zigzagOffset<0?r:n.zigzagOffset;n=Object.assign({},n,{hachureGap:r+o});let i=_t(t,n);return{type:"fillSketch",ops:this.zigzagLines(i,o,n)}}zigzagLines(t,n,r){let o=[];return t.forEach(i=>{let a=pn(i),s=Math.round(a/(2*n)),l=i[0],c=i[1];l[0]>c[0]&&(l=i[1],c=i[0]);let d=Math.atan((c[1]-l[1])/(c[0]-l[0]));for(let u=0;u<s;u++){let f=u*2*n,p=(u+1)*2*n,m=Math.sqrt(2*Math.pow(n,2)),h=[l[0]+f*Math.cos(d),l[1]+f*Math.sin(d)],E=[l[0]+p*Math.cos(d),l[1]+p*Math.sin(d)],x=[h[0]+m*Math.cos(d+Math.PI/4),h[1]+m*Math.sin(d+Math.PI/4)];o.push(...this.helper.doubleLineOps(h[0],h[1],x[0],x[1],r),...this.helper.doubleLineOps(x[0],x[1],E[0],E[1],r))}}),o}};var Me={};function gu(e,t){let n=e.fillStyle||"hachure";if(!Me[n])switch(n){case"zigzag":Me[n]||(Me[n]=new pi(t));break;case"cross-hatch":Me[n]||(Me[n]=new mi(t));break;case"dots":Me[n]||(Me[n]=new hi(t));break;case"dashed":Me[n]||(Me[n]=new Ei(t));break;case"zigzag-line":Me[n]||(Me[n]=new gi(t));break;case"hachure":default:n="hachure",Me[n]||(Me[n]=new fn(t));break}return Me[n]}g();function xu(){return Math.floor(Math.random()*2**31)}var cr=class{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};g();g();var xi={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function fg(e){let t=new Array;for(;e!=="";)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else if(e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))t[t.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length);else return[];return t[t.length]={type:2,text:""},t}function ss(e,t){return e.type===t}function dr(e){let t=[],n=fg(e),r="BOD",o=0,i=n[o];for(;!ss(i,2);){let a=0,s=[];if(r==="BOD")if(i.text==="M"||i.text==="m")o++,a=xi[i.text],r=i.text;else return dr("M0,0"+e);else ss(i,1)?a=xi[r]:(o++,a=xi[i.text],r=i.text);if(o+a<n.length){for(let l=o;l<o+a;l++){let c=n[l];if(ss(c,1))s[s.length]=+c.text;else throw new Error("Param not a number: "+r+","+c.text)}if(typeof xi[r]=="number"){let l={key:r,data:s};t.push(l),o+=a,i=n[o],r==="M"&&(r="L"),r==="m"&&(r="l")}else throw new Error("Bad segment: "+r)}else throw new Error("Path data ended short")}return t}g();function Jr(e){let t=0,n=0,r=0,o=0,i=[];for(let{key:a,data:s}of e)switch(a){case"M":i.push({key:"M",data:[...s]}),[t,n]=s,[r,o]=s;break;case"m":t+=s[0],n+=s[1],i.push({key:"M",data:[t,n]}),r=t,o=n;break;case"L":i.push({key:"L",data:[...s]}),[t,n]=s;break;case"l":t+=s[0],n+=s[1],i.push({key:"L",data:[t,n]});break;case"C":i.push({key:"C",data:[...s]}),t=s[4],n=s[5];break;case"c":{let l=s.map((c,d)=>d%2?c+n:c+t);i.push({key:"C",data:l}),t=l[4],n=l[5];break}case"Q":i.push({key:"Q",data:[...s]}),t=s[2],n=s[3];break;case"q":{let l=s.map((c,d)=>d%2?c+n:c+t);i.push({key:"Q",data:l}),t=l[2],n=l[3];break}case"A":i.push({key:"A",data:[...s]}),t=s[5],n=s[6];break;case"a":t+=s[5],n+=s[6],i.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case"H":i.push({key:"H",data:[...s]}),t=s[0];break;case"h":t+=s[0],i.push({key:"H",data:[t]});break;case"V":i.push({key:"V",data:[...s]}),n=s[0];break;case"v":n+=s[0],i.push({key:"V",data:[n]});break;case"S":i.push({key:"S",data:[...s]}),t=s[2],n=s[3];break;case"s":{let l=s.map((c,d)=>d%2?c+n:c+t);i.push({key:"S",data:l}),t=l[2],n=l[3];break}case"T":i.push({key:"T",data:[...s]}),t=s[0],n=s[1];break;case"t":t+=s[0],n+=s[1],i.push({key:"T",data:[t,n]});break;case"Z":case"z":i.push({key:"Z",data:[]}),t=r,n=o;break}return i}g();function eo(e){let t=[],n="",r=0,o=0,i=0,a=0,s=0,l=0;for(let{key:c,data:d}of e){switch(c){case"M":t.push({key:"M",data:[...d]}),[r,o]=d,[i,a]=d;break;case"C":t.push({key:"C",data:[...d]}),r=d[4],o=d[5],s=d[2],l=d[3];break;case"L":t.push({key:"L",data:[...d]}),[r,o]=d;break;case"H":r=d[0],t.push({key:"L",data:[r,o]});break;case"V":o=d[0],t.push({key:"L",data:[r,o]});break;case"S":{let u=0,f=0;n==="C"||n==="S"?(u=r+(r-s),f=o+(o-l)):(u=r,f=o),t.push({key:"C",data:[u,f,...d]}),s=d[0],l=d[1],r=d[2],o=d[3];break}case"T":{let[u,f]=d,p=0,m=0;n==="Q"||n==="T"?(p=r+(r-s),m=o+(o-l)):(p=r,m=o);let h=r+2*(p-r)/3,E=o+2*(m-o)/3,x=u+2*(p-u)/3,w=f+2*(m-f)/3;t.push({key:"C",data:[h,E,x,w,u,f]}),s=p,l=m,r=u,o=f;break}case"Q":{let[u,f,p,m]=d,h=r+2*(u-r)/3,E=o+2*(f-o)/3,x=p+2*(u-p)/3,w=m+2*(f-m)/3;t.push({key:"C",data:[h,E,x,w,p,m]}),s=u,l=f,r=p,o=m;break}case"A":{let u=Math.abs(d[0]),f=Math.abs(d[1]),p=d[2],m=d[3],h=d[4],E=d[5],x=d[6];u===0||f===0?(t.push({key:"C",data:[r,o,E,x,E,x]}),r=E,o=x):(r!==E||o!==x)&&(wu(r,o,E,x,u,f,p,m,h).forEach(function(y){t.push({key:"C",data:y})}),r=E,o=x);break}case"Z":t.push({key:"Z",data:[]}),r=i,o=a;break}n=c}return t}function pg(e){return Math.PI*e/180}function Qr(e,t,n){let r=e*Math.cos(n)-t*Math.sin(n),o=e*Math.sin(n)+t*Math.cos(n);return[r,o]}function wu(e,t,n,r,o,i,a,s,l,c){let d=pg(a),u=[],f=0,p=0,m=0,h=0;if(c)[f,p,m,h]=c;else{[e,t]=Qr(e,t,-d),[n,r]=Qr(n,r,-d);let M=(e-n)/2,k=(t-r)/2,$=M*M/(o*o)+k*k/(i*i);$>1&&($=Math.sqrt($),o=$*o,i=$*i);let O=s===l?-1:1,F=o*o,L=i*i,C=F*L-F*k*k-L*M*M,z=F*k*k+L*M*M,U=O*Math.sqrt(Math.abs(C/z));m=U*o*k/i+(e+n)/2,h=U*-i*M/o+(t+r)/2,f=Math.asin(parseFloat(((t-h)/i).toFixed(9))),p=Math.asin(parseFloat(((r-h)/i).toFixed(9))),e<m&&(f=Math.PI-f),n<m&&(p=Math.PI-p),f<0&&(f=Math.PI*2+f),p<0&&(p=Math.PI*2+p),l&&f>p&&(f=f-Math.PI*2),!l&&p>f&&(p=p-Math.PI*2)}let E=p-f;if(Math.abs(E)>Math.PI*120/180){let M=p,k=n,$=r;l&&p>f?p=f+Math.PI*120/180*1:p=f+Math.PI*120/180*-1,n=m+o*Math.cos(p),r=h+i*Math.sin(p),u=wu(n,r,k,$,o,i,a,0,l,[p,M,m,h])}E=p-f;let x=Math.cos(f),w=Math.sin(f),y=Math.cos(p),T=Math.sin(p),b=Math.tan(E/4),D=4/3*o*b,S=4/3*i*b,A=[e,t],I=[e+D*w,t-S*x],P=[n+D*T,r-S*y],_=[n,r];if(I[0]=2*A[0]-I[0],I[1]=2*A[1]-I[1],c)return[I,P,_].concat(u);{u=[I,P,_].concat(u);let M=[];for(let k=0;k<u.length;k+=3){let $=Qr(u[k][0],u[k][1],d),O=Qr(u[k+1][0],u[k+1][1],d),F=Qr(u[k+2][0],u[k+2][1],d);M.push([$[0],$[1],O[0],O[1],F[0],F[1]])}return M}}var mg={randOffset:gg,randOffsetWithRange:xg,ellipse:Eg,doubleLineOps:wg};function ls(e,t,n,r,o){return{type:"path",ops:$t(e,t,n,r,o)}}function to(e,t,n){let r=(e||[]).length;if(r>2){let o=[];for(let i=0;i<r-1;i++)o.push(...$t(e[i][0],e[i][1],e[i+1][0],e[i+1][1],n));return t&&o.push(...$t(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:"path",ops:o}}else if(r===2)return ls(e[0][0],e[0][1],e[1][0],e[1][1],n);return{type:"path",ops:[]}}function hg(e,t){return to(e,!0,t)}function Au(e,t,n,r,o){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];return hg(i,o)}function cs(e,t){let n=bu(e,1*(1+t.roughness*.2),t);if(!t.disableMultiStroke){let r=bu(e,1.5*(1+t.roughness*.22),yg(t));n=n.concat(r)}return{type:"path",ops:n}}function Eg(e,t,n,r,o){let i=ds(n,r,o);return bi(e,t,o,i).opset}function ds(e,t,n){let r=Math.sqrt(Math.PI*2*Math.sqrt((Math.pow(e/2,2)+Math.pow(t/2,2))/2)),o=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),i=Math.PI*2/o,a=Math.abs(e/2),s=Math.abs(t/2),l=1-n.curveFitting;return a+=N(a*l,n),s+=N(s*l,n),{increment:i,rx:a,ry:s}}function bi(e,t,n,r){let[o,i]=vu(r.increment,e,t,r.rx,r.ry,1,r.increment*wi(.1,wi(.4,1,n),n),n),a=yi(o,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[s]=vu(r.increment,e,t,r.rx,r.ry,1.5,0,n),l=yi(s,null,n);a=a.concat(l)}return{estimatedPoints:i,opset:{type:"path",ops:a}}}function us(e,t,n,r,o,i,a,s,l){let c=e,d=t,u=Math.abs(n/2),f=Math.abs(r/2);u+=N(u*.01,l),f+=N(f*.01,l);let p=o,m=i;for(;p<0;)p+=Math.PI*2,m+=Math.PI*2;m-p>Math.PI*2&&(p=0,m=Math.PI*2);let h=Math.PI*2/l.curveStepCount,E=Math.min(h/2,(m-p)/2),x=Tu(E,c,d,u,f,p,m,1,l);if(!l.disableMultiStroke){let w=Tu(E,c,d,u,f,p,m,1.5,l);x.push(...w)}return a&&(s?x.push(...$t(c,d,c+u*Math.cos(p),d+f*Math.sin(p),l),...$t(c,d,c+u*Math.cos(m),d+f*Math.sin(m),l)):x.push({op:"lineTo",data:[c,d]},{op:"lineTo",data:[c+u*Math.cos(p),d+f*Math.sin(p)]})),{type:"path",ops:x}}function fs(e,t){let n=eo(Jr(dr(e))),r=[],o=[0,0],i=[0,0];for(let{key:a,data:s}of n)switch(a){case"M":{i=[s[0],s[1]],o=[s[0],s[1]];break}case"L":r.push(...$t(i[0],i[1],s[0],s[1],t)),i=[s[0],s[1]];break;case"C":{let[l,c,d,u,f,p]=s;r.push(...bg(l,c,d,u,f,p,i,t)),i=[f,p];break}case"Z":r.push(...$t(i[0],i[1],o[0],o[1],t)),i=[o[0],o[1]];break}return{type:"path",ops:r}}function vi(e,t){let n=[];for(let r of e)if(r.length){let o=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:"move",data:[r[0][0]+N(o,t),r[0][1]+N(o,t)]});for(let a=1;a<i;a++)n.push({op:"lineTo",data:[r[a][0]+N(o,t),r[a][1]+N(o,t)]})}}return{type:"fillPath",ops:n}}function Nn(e,t){return gu(t,mg).fillPolygons(e,t)}function Su(e,t,n,r,o,i,a){let s=e,l=t,c=Math.abs(n/2),d=Math.abs(r/2);c+=N(c*.01,a),d+=N(d*.01,a);let u=o,f=i;for(;u<0;)u+=Math.PI*2,f+=Math.PI*2;f-u>Math.PI*2&&(u=0,f=Math.PI*2);let p=(f-u)/a.curveStepCount,m=[];for(let h=u;h<=f;h=h+p)m.push([s+c*Math.cos(h),l+d*Math.sin(h)]);return m.push([s+c*Math.cos(f),l+d*Math.sin(f)]),m.push([s,l]),Nn([m],a)}function gg(e,t){return N(e,t)}function xg(e,t,n){return wi(e,t,n)}function wg(e,t,n,r,o){return $t(e,t,n,r,o,!0)}function yg(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function _u(e){return e.randomizer||(e.randomizer=new cr(e.seed||0)),e.randomizer.next()}function wi(e,t,n,r=1){return n.roughness*r*(_u(n)*(t-e)+e)}function N(e,t,n=1){return wi(-e,e,t,n)}function $t(e,t,n,r,o,i=!1){let a=i?o.disableMultiStrokeFill:o.disableMultiStroke,s=yu(e,t,n,r,o,!0,!1);if(a)return s;let l=yu(e,t,n,r,o,!0,!0);return s.concat(l)}function yu(e,t,n,r,o,i,a){let s=Math.pow(e-n,2)+Math.pow(t-r,2),l=Math.sqrt(s),c=1;l<200?c=1:l>500?c=.4:c=-.0016668*l+1.233334;let d=o.maxRandomnessOffset||0;d*d*100>s&&(d=l/10);let u=d/2,f=.2+_u(o)*.2,p=o.bowing*o.maxRandomnessOffset*(r-t)/200,m=o.bowing*o.maxRandomnessOffset*(e-n)/200;p=N(p,o,c),m=N(m,o,c);let h=[],E=()=>N(u,o,c),x=()=>N(d,o,c),w=o.preserveVertices;return i&&(a?h.push({op:"move",data:[e+(w?0:E()),t+(w?0:E())]}):h.push({op:"move",data:[e+(w?0:N(d,o,c)),t+(w?0:N(d,o,c))]})),a?h.push({op:"bcurveTo",data:[p+e+(n-e)*f+E(),m+t+(r-t)*f+E(),p+e+2*(n-e)*f+E(),m+t+2*(r-t)*f+E(),n+(w?0:E()),r+(w?0:E())]}):h.push({op:"bcurveTo",data:[p+e+(n-e)*f+x(),m+t+(r-t)*f+x(),p+e+2*(n-e)*f+x(),m+t+2*(r-t)*f+x(),n+(w?0:x()),r+(w?0:x())]}),h}function bu(e,t,n){let r=[];r.push([e[0][0]+N(t,n),e[0][1]+N(t,n)]),r.push([e[0][0]+N(t,n),e[0][1]+N(t,n)]);for(let o=1;o<e.length;o++)r.push([e[o][0]+N(t,n),e[o][1]+N(t,n)]),o===e.length-1&&r.push([e[o][0]+N(t,n),e[o][1]+N(t,n)]);return yi(r,null,n)}function yi(e,t,n){let r=e.length,o=[];if(r>3){let i=[],a=1-n.curveTightness;o.push({op:"move",data:[e[1][0],e[1][1]]});for(let s=1;s+2<r;s++){let l=e[s];i[0]=[l[0],l[1]],i[1]=[l[0]+(a*e[s+1][0]-a*e[s-1][0])/6,l[1]+(a*e[s+1][1]-a*e[s-1][1])/6],i[2]=[e[s+1][0]+(a*e[s][0]-a*e[s+2][0])/6,e[s+1][1]+(a*e[s][1]-a*e[s+2][1])/6],i[3]=[e[s+1][0],e[s+1][1]],o.push({op:"bcurveTo",data:[i[1][0],i[1][1],i[2][0],i[2][1],i[3][0],i[3][1]]})}if(t&&t.length===2){let s=n.maxRandomnessOffset;o.push({op:"lineTo",data:[t[0]+N(s,n),t[1]+N(s,n)]})}}else r===3?(o.push({op:"move",data:[e[1][0],e[1][1]]}),o.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&o.push(...$t(e[0][0],e[0][1],e[1][0],e[1][1],n));return o}function vu(e,t,n,r,o,i,a,s){let l=s.roughness===0,c=[],d=[];if(l){e=e/4,d.push([t+r*Math.cos(-e),n+o*Math.sin(-e)]);for(let u=0;u<=Math.PI*2;u=u+e){let f=[t+r*Math.cos(u),n+o*Math.sin(u)];c.push(f),d.push(f)}d.push([t+r*Math.cos(0),n+o*Math.sin(0)]),d.push([t+r*Math.cos(e),n+o*Math.sin(e)])}else{let u=N(.5,s)-Math.PI/2;d.push([N(i,s)+t+.9*r*Math.cos(u-e),N(i,s)+n+.9*o*Math.sin(u-e)]);let f=Math.PI*2+u-.01;for(let p=u;p<f;p=p+e){let m=[N(i,s)+t+r*Math.cos(p),N(i,s)+n+o*Math.sin(p)];c.push(m),d.push(m)}d.push([N(i,s)+t+r*Math.cos(u+Math.PI*2+a*.5),N(i,s)+n+o*Math.sin(u+Math.PI*2+a*.5)]),d.push([N(i,s)+t+.98*r*Math.cos(u+a),N(i,s)+n+.98*o*Math.sin(u+a)]),d.push([N(i,s)+t+.9*r*Math.cos(u+a*.5),N(i,s)+n+.9*o*Math.sin(u+a*.5)])}return[d,c]}function Tu(e,t,n,r,o,i,a,s,l){let c=i+N(.1,l),d=[];d.push([N(s,l)+t+.9*r*Math.cos(c-e),N(s,l)+n+.9*o*Math.sin(c-e)]);for(let u=c;u<=a;u=u+e)d.push([N(s,l)+t+r*Math.cos(u),N(s,l)+n+o*Math.sin(u)]);return d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),yi(d,null,l)}function bg(e,t,n,r,o,i,a,s){let l=[],c=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],d=[0,0],u=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let p=0;p<u;p++)p===0?l.push({op:"move",data:[a[0],a[1]]}):l.push({op:"move",data:[a[0]+(f?0:N(c[0],s)),a[1]+(f?0:N(c[0],s))]}),d=f?[o,i]:[o+N(c[p],s),i+N(c[p],s)],l.push({op:"bcurveTo",data:[e+N(c[p],s),t+N(c[p],s),n+N(c[p],s),r+N(c[p],s),d[0],d[1]]});return l}g();function no(e){return[...e]}function Iu(e,t=0){let n=e.length;if(n<3)throw new Error("A curve must have at least three points.");let r=[];if(n===3)r.push(no(e[0]),no(e[1]),no(e[2]),no(e[2]));else{let o=[];o.push(e[0],e[0]);for(let s=1;s<e.length;s++)o.push(e[s]),s===e.length-1&&o.push(e[s]);let i=[],a=1-t;r.push(no(o[0]));for(let s=1;s+2<o.length;s++){let l=o[s];i[0]=[l[0],l[1]],i[1]=[l[0]+(a*o[s+1][0]-a*o[s-1][0])/6,l[1]+(a*o[s+1][1]-a*o[s-1][1])/6],i[2]=[o[s+1][0]+(a*o[s][0]-a*o[s+2][0])/6,o[s+1][1]+(a*o[s][1]-a*o[s+2][1])/6],i[3]=[o[s+1][0],o[s+1][1]],r.push(i[1],i[2],i[3])}}return r}g();function vg(e,t){return Math.sqrt(Ti(e,t))}function Ti(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function Tg(e,t,n){let r=Ti(t,n);if(r===0)return Ti(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),Ti(e,Bn(t,n,o))}function Bn(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Ag(e,t){let n=e[t+0],r=e[t+1],o=e[t+2],i=e[t+3],a=3*r[0]-2*n[0]-i[0];a*=a;let s=3*r[1]-2*n[1]-i[1];s*=s;let l=3*o[0]-2*i[0]-n[0];l*=l;let c=3*o[1]-2*i[1]-n[1];return c*=c,a<l&&(a=l),s<c&&(s=c),a+s}function ps(e,t,n,r){let o=r||[];if(Ag(e,t)<n){let i=e[t+0];o.length?vg(o[o.length-1],i)>1&&o.push(i):o.push(i),o.push(e[t+3])}else{let a=e[t+0],s=e[t+1],l=e[t+2],c=e[t+3],d=Bn(a,s,.5),u=Bn(s,l,.5),f=Bn(l,c,.5),p=Bn(d,u,.5),m=Bn(u,f,.5),h=Bn(p,m,.5);ps([a,d,p,h],0,n,o),ps([h,m,f,c],0,n,o)}return o}function Pu(e,t){return Ai(e,0,e.length,t)}function Ai(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],l=0,c=1;for(let d=t+1;d<n-1;++d){let u=Tg(e[d],a,s);u>l&&(l=u,c=d)}return Math.sqrt(l)>r?(Ai(e,t,c+1,r,i),Ai(e,c,n,r,i)):(i.length||i.push(a),i.push(s)),i}function ur(e,t=.15,n){let r=[],o=(e.length-1)/3;for(let i=0;i<o;i++){let a=i*3;ps(e,a,t,r)}return n&&n>0?Ai(r,0,r.length,n):r}g();function Mu(e,t,n){let r=dr(e),o=eo(Jr(r)),i=[],a=[],s=[0,0],l=[],c=()=>{l.length>=4&&a.push(...ur(l,t)),l=[]},d=()=>{c(),a.length&&(i.push(a),a=[])};for(let{key:f,data:p}of o)switch(f){case"M":d(),s=[p[0],p[1]],a.push(s);break;case"L":c(),a.push([p[0],p[1]]);break;case"C":if(!l.length){let m=a.length?a[a.length-1]:s;l.push([m[0],m[1]])}l.push([p[0],p[1]]),l.push([p[2],p[3]]),l.push([p[4],p[5]]);break;case"Z":c(),a.push([s[0],s[1]]);break}if(d(),!n)return i;let u=[];for(let f of i){let p=Pu(f,n);p.length&&u.push(p)}return u}var Ne="none",ot=class{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return xu()}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,n,r){return{shape:t,sets:n||[],options:r||this.defaultOptions}}line(t,n,r,o,i){let a=this._o(i);return this._d("line",[ls(t,n,r,o,a)],a)}rectangle(t,n,r,o,i){let a=this._o(i),s=[],l=Au(t,n,r,o,a);if(a.fill){let c=[[t,n],[t+r,n],[t+r,n+o],[t,n+o]];a.fillStyle==="solid"?s.push(vi([c],a)):s.push(Nn([c],a))}return a.stroke!==Ne&&s.push(l),this._d("rectangle",s,a)}ellipse(t,n,r,o,i){let a=this._o(i),s=[],l=ds(r,o,a),c=bi(t,n,a,l);if(a.fill)if(a.fillStyle==="solid"){let d=bi(t,n,a,l).opset;d.type="fillPath",s.push(d)}else s.push(Nn([c.estimatedPoints],a));return a.stroke!==Ne&&s.push(c.opset),this._d("ellipse",s,a)}circle(t,n,r,o){let i=this.ellipse(t,n,r,r,o);return i.shape="circle",i}linearPath(t,n){let r=this._o(n);return this._d("linearPath",[to(t,!1,r)],r)}arc(t,n,r,o,i,a,s=!1,l){let c=this._o(l),d=[],u=us(t,n,r,o,i,a,s,!0,c);if(s&&c.fill)if(c.fillStyle==="solid"){let f=Object.assign({},c);f.disableMultiStroke=!0;let p=us(t,n,r,o,i,a,!0,!1,f);p.type="fillPath",d.push(p)}else d.push(Su(t,n,r,o,i,a,c));return c.stroke!==Ne&&d.push(u),this._d("arc",d,c)}curve(t,n){let r=this._o(n),o=[],i=cs(t,r);if(r.fill&&r.fill!==Ne&&t.length>=3)if(r.fillStyle==="solid"){let a=cs(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(a.ops)})}else{let a=Iu(t),s=ur(a,10,(1+r.roughness)/2);o.push(Nn([s],r))}return r.stroke!==Ne&&o.push(i),this._d("curve",o,r)}polygon(t,n){let r=this._o(n),o=[],i=to(t,!0,r);return r.fill&&(r.fillStyle==="solid"?o.push(vi([t],r)):o.push(Nn([t],r))),r.stroke!==Ne&&o.push(i),this._d("polygon",o,r)}path(t,n){let r=this._o(n),o=[];if(!t)return this._d("path",o,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let i=r.fill&&r.fill!=="transparent"&&r.fill!==Ne,a=r.stroke!==Ne,s=!!(r.simplification&&r.simplification<1),l=s?4-4*(r.simplification||1):(1+r.roughness)/2,c=Mu(t,1,l),d=fs(t,r);if(i)if(r.fillStyle==="solid")if(c.length===1){let u=fs(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(u.ops)})}else o.push(vi(c,r));else o.push(Nn(c,r));return a&&(s?c.forEach(u=>{o.push(to(u,!1,r))}):o.push(d)),this._d("path",o,r)}opsToPath(t,n){let r="";for(let o of t.ops){let i=typeof n=="number"&&n>=0?o.data.map(a=>+a.toFixed(n)):o.data;switch(o.op){case"move":r+=`M${i[0]} ${i[1]} `;break;case"bcurveTo":r+=`C${i[0]} ${i[1]}, ${i[2]} ${i[3]}, ${i[4]} ${i[5]} `;break;case"lineTo":r+=`L${i[0]} ${i[1]} `;break}}return r.trim()}toPaths(t){let n=t.sets||[],r=t.options||this.defaultOptions,o=[];for(let i of n){let a=null;switch(i.type){case"path":a={d:this.opsToPath(i),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:Ne};break;case"fillPath":a={d:this.opsToPath(i),stroke:Ne,strokeWidth:0,fill:r.fill||Ne};break;case"fillSketch":a=this.fillSketch(i,r);break}a&&o.push(a)}return o}fillSketch(t,n){let r=n.fillWeight;return r<0&&(r=n.strokeWidth/2),{d:this.opsToPath(t),stroke:n.fill||Ne,strokeWidth:r,fill:Ne}}_mergedShape(t){return t.filter((n,r)=>r===0?!0:n.op!=="move")}};var Si=class{constructor(t,n){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new ot(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(let a of n)switch(a.type){case"path":o.save(),o.strokeStyle=r.stroke==="none"?"transparent":r.stroke,o.lineWidth=r.strokeWidth,r.strokeLineDash&&o.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(o.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(o,a,i),o.restore();break;case"fillPath":{o.save(),o.fillStyle=r.fill||"";let s=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(o,a,i,s),o.restore();break}case"fillSketch":this.fillSketch(o,a,r);break}}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=o,this._drawToContext(t,n,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,n,r,o="nonzero"){t.beginPath();for(let i of n.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":t.moveTo(a[0],a[1]);break;case"bcurveTo":t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"lineTo":t.lineTo(a[0],a[1]);break}}n.type==="fillPath"?t.fill(o):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a),a}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a),a}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a),a}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i),i}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r),r}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r),r}arc(t,n,r,o,i,a,s=!1,l){let c=this.gen.arc(t,n,r,o,i,a,s,l);return this.draw(c),c}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r),r}path(t,n){let r=this.gen.path(t,n);return this.draw(r),r}};g();g();var ro="http://www.w3.org/2000/svg";var _i=class{constructor(t,n){this.svg=t,this.gen=new ot(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.svg.ownerDocument||window.document,i=o.createElementNS(ro,"g"),a=t.options.fixedDecimalPlaceDigits;for(let s of n){let l=null;switch(s.type){case"path":{l=o.createElementNS(ro,"path"),l.setAttribute("d",this.opsToPath(s,a)),l.setAttribute("stroke",r.stroke),l.setAttribute("stroke-width",r.strokeWidth+""),l.setAttribute("fill","none"),r.strokeLineDash&&l.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break}case"fillPath":{l=o.createElementNS(ro,"path"),l.setAttribute("d",this.opsToPath(s,a)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",r.fill||""),(t.shape==="curve"||t.shape==="polygon")&&l.setAttribute("fill-rule","evenodd");break}case"fillSketch":{l=this.fillSketch(o,s,r);break}}l&&i.appendChild(l)}return i}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2);let i=t.createElementNS(ro,"path");return i.setAttribute("d",this.opsToPath(n,r.fixedDecimalPlaceDigits)),i.setAttribute("stroke",r.fill||""),i.setAttribute("stroke-width",o+""),i.setAttribute("fill","none"),r.fillLineDash&&i.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,n){return this.gen.opsToPath(t,n)}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a)}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a)}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a)}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i)}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r)}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r)}arc(t,n,r,o,i,a,s=!1,l){let c=this.gen.arc(t,n,r,o,i,a,s,l);return this.draw(c)}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r)}path(t,n){let r=this.gen.path(t,n);return this.draw(r)}};var It={canvas(e,t){return new Si(e,t)},svg(e,t){return new _i(e,t)},generator(e){return new ot(e)},newSeed(){return ot.newSeed()}};g();g();g();function Du(e,t,n,r=o=>o){return e*r(.5-t*(.5-n))}function Sg(e){return[-e[0],-e[1]]}function at(e,t){return[e[0]+t[0],e[1]+t[1]]}function Xe(e,t){return[e[0]-t[0],e[1]-t[1]]}function it(e,t){return[e[0]*t,e[1]*t]}function _g(e,t){return[e[0]/t,e[1]/t]}function oo(e){return[e[1],-e[0]]}function Cu(e,t){return e[0]*t[0]+e[1]*t[1]}function Ig(e,t){return e[0]===t[0]&&e[1]===t[1]}function Pg(e){return Math.hypot(e[0],e[1])}function Mg(e){return e[0]*e[0]+e[1]*e[1]}function Lu(e,t){return Mg(Xe(e,t))}function Ru(e){return _g(e,Pg(e))}function Dg(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function io(e,t,n){let r=Math.sin(n),o=Math.cos(n),i=e[0]-t[0],a=e[1]-t[1],s=i*o-a*r,l=i*r+a*o;return[s+t[0],l+t[1]]}function ms(e,t,n){return at(e,it(Xe(t,e),n))}function ku(e,t,n){return at(e,it(t,n))}var{min:fr,PI:Cg}=Math,Ou=.275,ao=Cg+1e-4;function Lg(e,t={}){let{size:n=16,smoothing:r=.5,thinning:o=.5,simulatePressure:i=!0,easing:a=L=>L,start:s={},end:l={},last:c=!1}=t,{cap:d=!0,easing:u=L=>L*(2-L)}=s,{cap:f=!0,easing:p=L=>--L*L*L+1}=l;if(e.length===0||n<=0)return[];let m=e[e.length-1].runningLength,h=s.taper===!1?0:s.taper===!0?Math.max(n,m):s.taper,E=l.taper===!1?0:l.taper===!0?Math.max(n,m):l.taper,x=Math.pow(n*r,2),w=[],y=[],T=e.slice(0,10).reduce((L,C)=>{let z=C.pressure;if(i){let U=fr(1,C.distance/n),se=fr(1,1-U);z=fr(1,L+(se-L)*(U*Ou))}return(L+z)/2},e[0].pressure),b=Du(n,o,e[e.length-1].pressure,a),D,S=e[0].vector,A=e[0].point,I=A,P=A,_=I,M=!1;for(let L=0;L<e.length;L++){let{pressure:C}=e[L],{point:z,vector:U,distance:se,runningLength:fe}=e[L];if(L<e.length-1&&m-fe<3)continue;if(o){if(i){let we=fr(1,se/n),ke=fr(1,1-we);C=fr(1,T+(ke-T)*(we*Ou))}b=Du(n,o,C,a)}else b=n/2;D===void 0&&(D=b);let oe=fe<h?u(fe/h):1,pt=m-fe<E?p((m-fe)/E):1;b=Math.max(.01,b*Math.min(oe,pt));let Ot=(L<e.length-1?e[L+1]:e[L]).vector,Ke=L<e.length-1?Cu(U,Ot):1,Le=Cu(U,S)<0&&!M,mt=Ke!==null&&Ke<0;if(Le||mt){let we=it(oo(S),b);for(let ke=1/13,Ue=0;Ue<=1;Ue+=ke)P=io(Xe(z,we),z,ao*Ue),w.push(P),_=io(at(z,we),z,ao*-Ue),y.push(_);A=P,I=_,mt&&(M=!0);continue}if(M=!1,L===e.length-1){let we=it(oo(U),b);w.push(Xe(z,we)),y.push(at(z,we));continue}let nn=it(oo(ms(Ot,U,Ke)),b);P=Xe(z,nn),(L<=1||Lu(A,P)>x)&&(w.push(P),A=P),_=at(z,nn),(L<=1||Lu(I,_)>x)&&(y.push(_),I=_),T=C,S=U}let k=e[0].point.slice(0,2),$=e.length>1?e[e.length-1].point.slice(0,2):at(e[0].point,[1,1]),O=[],F=[];if(e.length===1){if(!(h||E)||c){let L=ku(k,Ru(oo(Xe(k,$))),-(D||b)),C=[];for(let z=1/13,U=z;U<=1;U+=z)C.push(io(L,k,ao*2*U));return C}}else{if(!(h||E&&e.length===1))if(d)for(let C=1/13,z=C;z<=1;z+=C){let U=io(y[0],k,ao*z);O.push(U)}else{let C=Xe(w[0],y[0]),z=it(C,.5),U=it(C,.51);O.push(Xe(k,z),Xe(k,U),at(k,U),at(k,z))}let L=oo(Sg(e[e.length-1].vector));if(E||h&&e.length===1)F.push($);else if(f){let C=ku($,L,b);for(let z=1/29,U=z;U<1;U+=z)F.push(io(C,$,ao*3*U))}else F.push(at($,it(L,b)),at($,it(L,b*.99)),Xe($,it(L,b*.99)),Xe($,it(L,b)))}return w.concat(F,y.reverse(),O)}function kg(e,t={}){var n;let{streamline:r=.5,size:o=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-r)*.85,s=Array.isArray(e[0])?e:e.map(({x:p,y:m,pressure:h=.5})=>[p,m,h]);if(s.length===2){let p=s[1];s=s.slice(0,-1);for(let m=1;m<5;m++)s.push(ms(s[0],p,m/4))}s.length===1&&(s=[...s,[...at(s[0],[1,1]),...s[0].slice(2)]]);let l=[{point:[s[0][0],s[0][1]],pressure:s[0][2]>=0?s[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],c=!1,d=0,u=l[0],f=s.length-1;for(let p=1;p<s.length;p++){let m=i&&p===f?s[p].slice(0,2):ms(u.point,s[p],a);if(Ig(u.point,m))continue;let h=Dg(m,u.point);if(d+=h,p<f&&!c){if(d<o)continue;c=!0}u={point:m,pressure:s[p][2]>=0?s[p][2]:.5,vector:Ru(Xe(u.point,m)),distance:h,runningLength:d},l.push(u)}return l[0].vector=((n=l[1])==null?void 0:n.vector)||[0,0],l}function Fu(e,t={}){return Lg(kg(e,t),t)}g();g();g();g();var ve=(e,t)=>[0,0,0,0,t,e,1,0];var Nu=(e,t)=>[0,0,0,0,t,e,0,0];var Gn=(e=0,t=0)=>{let n=[0,0,0,0,0,0,0,0];if(t<0||t>7)throw new Error(`Expected \`index\` between 0 and 7, got \`${t}\``);return e!==0&&(n[t]=e),n};var pr=e=>[e[0],e[1],e[2],e[3],-e[4],-e[5],-e[6],-e[7]];var Bu=(e,t)=>ws(t)?[e[0]+t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]+t[0],e[1]+t[1],e[2]+t[2],e[3]+t[3],e[4]+t[4],e[5]+t[5],e[6]+t[6],e[7]+t[7]],hs=(e,t)=>ws(t)?[e[0]-t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]-t[0],e[1]-t[1],e[2]-t[2],e[3]-t[3],e[4]-t[4],e[5]-t[5],e[6]-t[6],e[7]-t[7]],mn=(e,t)=>ws(t)?[e[0]*t,e[1]*t,e[2]*t,e[3]*t,e[4]*t,e[5]*t,e[6]*t,e[7]*t]:[Og(e,t),t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[7]*e[3]+t[0]*e[4]+t[6]*e[5]-t[5]*e[6]+t[3]*e[7],t[5]*e[0]-t[3]*e[1]+t[7]*e[2]+t[1]*e[3]-t[6]*e[4]+t[0]*e[5]+t[4]*e[6]+t[2]*e[7],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]+t[0]*e[7]],Og=(e,t)=>t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],Es=(e,t)=>[t[0]*e[0],t[1]*e[0]+t[0]*e[1],t[2]*e[0]+t[0]*e[2],t[3]*e[0]+t[0]*e[3],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[0]*e[4],t[5]*e[0]-t[3]*e[1]+t[1]*e[3]+t[0]*e[5],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]],Ii=(e,t)=>[gs(e,t),e[1]*t[7]+e[4]*t[5]-e[5]*t[4]+e[7]*t[1],e[2]*t[7]-e[4]*t[6]+e[6]*t[4]+e[7]*t[2],e[3]*t[7]+e[5]*t[6]-e[6]*t[5]+e[7]*t[3],e[4]*t[7]+e[7]*t[4],e[5]*t[7]+e[7]*t[5],e[6]*t[7]+e[7]*t[6],e[7]*t[7]],gs=(e,t)=>e[0]*t[7]+e[1]*t[6]+e[2]*t[5]+e[3]*t[4]+e[4]*t[3]+e[5]*t[2]+e[6]*t[1]+e[7]*t[0],Gu=(e,t)=>[t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[7]*e[3]+t[0]*e[4]+t[3]*e[7],t[5]*e[0]+t[7]*e[2]+t[0]*e[5]+t[2]*e[7],t[6]*e[0]+t[0]*e[6],t[7]*e[0]+t[0]*e[7]],xs=e=>Math.sqrt(Math.abs(e[0]*e[0]-e[2]*e[2]-e[3]*e[3]+e[6]*e[6])),zu=e=>Math.sqrt(Math.abs(e[7]*e[7]-e[5]*e[5]-e[4]*e[4]+e[1]*e[1])),zn=e=>{let t=xs(e);if(t===0||t===1)return e;let n=e[6]<0?-1:1;return mn(e,n/t)},Hu=e=>{let t=zu(e);return t===0||t===1?e:mn(e,1/t)},ws=e=>typeof e=="number",vT=Gn(1,1),TT=Gn(1,2),AT=Gn(1,3),ST=Gn(1,4),_T=Gn(1,5),IT=Gn(1,6),PT=Gn(1,7);g();g();var Pi=(e,t,n)=>zn([0,n,e,t,0,0,0,0]),mr=(e,t)=>zn(Ii(t,e)),Uu=(e,t)=>Gu(e,t),Vu=(e,t)=>Uu(mr(e,t),t);var $u=e=>Math.sign(e[1]);var Hn=([e,t])=>[0,0,0,0,t,e,1,0],Un=e=>[e[5],e[4]],Wu=e=>[0,0,0,0,Math.abs(e[4]),Math.abs(e[5]),1,0],Xu=(e,t)=>zn(Es(e,t));var ys=(e,t)=>xs(Ii(e,t)),hn=(e,t)=>gs(e,t);g();var bs=e=>[0,0,0,0,e[4],e[5],0,0],Zu=(e,t)=>Hu([0,0,0,0,t[4]-e[4],t[5]-e[5],0,0]);g();var vs=(e,t)=>Bu(mn(e,Math.sin(t/2)),Math.cos(t/2)),ju=e=>[1,0,0,0,-(.5*e[5]),.5*e[4],0,0],qu=(e,t)=>{let n=.5*t;return[1,0,0,0,n*e[4],n*e[5],0,0]};var Ju=(e,t)=>mn(t,e),st=(e,t)=>zn(mn(mn(e,t),pr(e)));g();g();var hr=1e-4;var Ng=e=>{let t=e[0],n=e[e.length-1];return t[0]===n[0]&&t[1]===n[1]},Er=e=>Ng(e)?e:[...e,e[0]],Pt=e=>e*180/Math.PI,Bg=e=>e/180*Math.PI;var Qu=(e,t)=>[e[0]*Math.cos(t)-e[1]*Math.sin(t),e[0]*Math.sin(t)+e[1]*Math.cos(t)],Gg=e=>e[0]===0&&e[1]===0,de=(e,t,n)=>{let r=Bg(t);return!n||Gg(n)?Qu(e,r):Qu(e.map((o,i)=>o-n[i]),r).map((o,i)=>o+n[i])};var zg=e=>[-e[0],-e[1]],Ts=(e,t)=>[e[0]+t[0],e[1]+t[1]],Hg=(e,t)=>Be(...e,...t);var ef=(e,t,n)=>{let r=Ts(e,zg(t));return de(r,-Pt(n))};var Ug=(e,t)=>{let[n,r]=e,[[o,i],[a,s]]=t,l=n-o,c=r-i,d=a-o,u=s-i,f=l*d+c*u,p=d*d+u*u,m=-1;p!==0&&(m=f/p);let h,E;m<0?(h=o,E=i):m>1?(h=a,E=s):(h=o+m*d,E=i+m*u);let x=n-h,w=r-E;return Math.sqrt(x*x+w*w)},Vn=(e,t,n=hr)=>{let r=Ug(e,t);return r===0?!0:r<n},As=(e,t,n=hr)=>t.some(r=>Vn(e,r,n));var Vg=e=>{let[t,n,r,o]=e;return(i,a)=>Math.pow(1-i,3)*o[a]+3*i*Math.pow(1-i,2)*r[a]+3*Math.pow(i,2)*(1-i)*n[a]+t[a]*Math.pow(i,3)},$g=(e,t=10)=>{let n=Vg(e),r=[n(0,0),n(0,1)],o=[],i=0,a=1/t;for(let s=0;s<t;s++)if(i+=a,i<=1){let l=[n(i,0),n(i,1)];o.push([r,l]),r=l}return o},Ss=(e,t,n=hr)=>As(e,$g(t),n),tf=(e,t,n=hr)=>t.some(r=>Ss(e,r,n)),_s=(e,t)=>{let n=e[0],r=e[1],o=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){let s=t[i][0],l=t[i][1],c=t[a][0],d=t[a][1];(l>r&&d<=r||l<=r&&d>r)&&n<(c-s)*(r-l)/(d-l)+s&&(o=!o)}return o},nf=(e,t,n=hr)=>{let r=!1,o=Er(t);for(let i=0,a=o.length-1;i<a;i++)if(Vn(e,[o[i],o[i+1]],n)){r=!0;break}return r};var Yg=(e,t)=>{let{angle:n,halfWidth:r,halfHeight:o,center:i}=t,a=r,s=o,[l,c]=ef(e,i,n),d=Math.abs(l),u=Math.abs(c),f=.707,p=.707;for(let E=0;E<3;E++){let x=a*f,w=s*p,y=(a*a-s*s)*f**3/a,T=(s*s-a*a)*p**3/s,b=x-y,D=w-T,S=d-y,A=u-T,I=Math.hypot(D,b),P=Math.hypot(A,S);f=Math.min(1,Math.max(0,(S*I/P+y)/a)),p=Math.min(1,Math.max(0,(A*I/P+T)/s));let _=Math.hypot(p,f);f/=_,p/=_}let[m,h]=[a*f*Math.sign(l),s*p*Math.sign(c)];return Hg([l,c],[m,h])},rf=(e,t,n=hr)=>Yg(e,t)<=n,of=(e,t)=>{let{center:n,angle:r,halfWidth:o,halfHeight:i}=t,[a,s]=ef(e,n,r);return a/o*(a/o)+s/i*(s/i)<=1};var lo=(e,t,n=0)=>{switch(t.type){case"polygon":return nf(e,t.data,n);case"ellipse":return rf(e,t.data,n);case"line":return Vn(e,t.data,n);case"polyline":return As(e,t.data,n);case"curve":return Ss(e,t.data,n);case"polycurve":return tf(e,t.data,n);default:throw Error(`shape ${t} is not implemented`)}},Mi=(e,t)=>{switch(t.type){case"polygon":return _s(e,t.data);case"line":return!1;case"curve":return!1;case"ellipse":return of(e,t.data);case"polyline":{let n=Er(t.data.flat());return _s(e,n)}case"polycurve":return!1;default:throw Error(`shape ${t} is not implemented`)}};g();g();var Wg=(e,t)=>{let[n,r,o,i]=t,{x:a,y:s}=rs({sceneX:n,sceneY:r},e),{x:l,y:c}=rs({sceneX:o,sceneY:i},e);return l-a>e.width||c-s>e.height},Xg=({scenePoint:e,viewportDimensions:t,zoom:n})=>({scrollX:t.width/2/n.value-e.x,scrollY:t.height/2/n.value-e.y}),Ps=(e,t)=>{if(e=af(e),!e.length)return{scrollX:0,scrollY:0};let[n,r,o,i]=De(e);Wg(t,[n,r,o,i])&&([n,r,o,i]=Is(e,Zr({clientX:t.scrollX,clientY:t.scrollY},t)));let a=(n+o)/2,s=(r+i)/2;return Xg({scenePoint:{x:a,y:s},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})};g();var Zg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="line"||e==="freedraw",ZT=e=>e!=="image"&&e!=="frame"&&e!=="magicframe",Kg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="freedraw"||e==="arrow"||e==="line",jg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="arrow"||e==="line",Ms=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="arrow"||e==="line"||e==="diamond"||e==="image",qg=e=>e==="arrow",Ds=(e,t)=>{let n=null;for(let r=e.length-1;r>=0;--r){let o=e[r];if(!o.isDeleted&&t(o)){n=o;break}}return n};g();var Jg=e=>Math.max(Xd,Math.min(e,30)),JT=({viewportX:e,viewportY:t,nextZoom:n},r)=>{let o=e-r.offsetLeft,i=t-r.offsetTop,a=r.zoom.value,s=r.scrollX+(o-o/a),l=r.scrollY+(i-i/a),c=-(o-o/n),d=-(i-i/n);return{scrollX:s+c,scrollY:l+d,zoom:{value:n}}};g();var cA={EQUAL:"Equal",MINUS:"Minus",NUM_ADD:"NumpadAdd",NUM_SUBTRACT:"NumpadSubtract",NUM_ZERO:"Numpad0",BRACKET_RIGHT:"BracketRight",BRACKET_LEFT:"BracketLeft",ONE:"Digit1",TWO:"Digit2",THREE:"Digit3",NINE:"Digit9",QUOTE:"Quote",ZERO:"Digit0",SLASH:"Slash",C:"KeyC",D:"KeyD",H:"KeyH",V:"KeyV",Z:"KeyZ",R:"KeyR",S:"KeyS"},Ge={ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",BACKSPACE:"Backspace",ALT:"Alt",CTRL_OR_CMD:Jo?"metaKey":"ctrlKey",DELETE:"Delete",ENTER:"Enter",ESCAPE:"Escape",QUESTION_MARK:"?",SPACE:" ",TAB:"Tab",CHEVRON_LEFT:"<",CHEVRON_RIGHT:">",PERIOD:".",COMMA:",",SUBTRACT:"-",SLASH:"/",A:"a",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",L:"l",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",V:"v",X:"x",Y:"y",Z:"z",K:"k",W:"w",0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9"},dA=e=>e===Ge.ARROW_LEFT||e===Ge.ARROW_RIGHT||e===Ge.ARROW_DOWN||e===Ge.ARROW_UP,uA=e=>e.altKey,fA=e=>e.shiftKey,Cs=e=>e.shiftKey;var SA=e=>!e[Ge.CTRL_OR_CMD],Ls=e=>e.isBindingEnabled,nx=(e,t)=>{let n=[];return t.forEach(r=>{let o=e.getNonDeletedElement(r);o!=null&&n.push(o)}),n},ks=(e,t,n,r)=>{let o=new Set,i=new Set;sf(e,t,n,"start",o,i,r),sf(e,n,t,"end",o,i,r);let a=Array.from(i).filter(s=>!o.has(s));nx(xn.getScene(e),a).forEach(s=>{R(s,{boundElements:s.boundElements?.filter(l=>l.type!=="arrow"||l.id!==e.id)})})},sf=(e,t,n,r,o,i,a)=>{if(t!=="keep"){if(t===null){let s=sx(e,r);s!=null&&i.add(s);return}ff(e)?(n==null||(n==="keep"?!uf(e,t,r):r==="start"||n.id!==t.id))&&(Ci(e,t,r,a),o.add(t.id)):(Ci(e,t,r,a),o.add(t.id))}},rx=(e,t,n)=>{let r=n.scene.getNonDeletedElementsMap(),o=pf(e,t,r),i=t==="start"?e.startBinding?.elementId:e.endBinding?.elementId;if(i){let a=r.get(i);if(mf(a,o,n))return a}return null},df=(e,t)=>["start","end"].map(n=>rx(e,n,t)),ox=(e,t,n,r)=>{let i=e.points.length-1,a=n.findIndex(d=>d===0)>-1,s=n.findIndex(d=>d===i)>-1,l=a?t?gr(e,"start",r):null:gr(e,"start",r),c=s?t?gr(e,"end",r):null:gr(e,"end",r);return[l,c]},ix=(e,t,n)=>{let[r,o]=df(e,t),i=r&&n?gr(e,"start",t):null,a=o&&n?gr(e,"end",t):null;return[i,a]},_A=(e,t,n,r)=>{e.forEach(o=>{let[i,a]=r?.length?ox(o,n,r??[],t):ix(o,t,n);ks(o,i,a,t.scene.getNonDeletedElementsMap())})},IA=(e,t)=>e.length>50?[]:e.filter(J).flatMap(n=>df(n,t)).filter(n=>n!==null).filter(n=>e.filter(r=>r.id===n?.id).length===0),PA=(e,t,n,r)=>{t.startBoundElement!=null&&Ci(e,t.startBoundElement,"start",r.scene.getNonDeletedElementsMap());let o=uo(n,r);o!=null&&!uf(e,o,"end")&&Ci(e,o,"end",r.scene.getNonDeletedElementsMap())},Ci=(e,t,n,r)=>{R(e,{[n==="start"?"startBinding":"endBinding"]:{elementId:t.id,...lx(e,t,n,r)}}),X(t.boundElements||[]).has(e.id)||R(t,{boundElements:(t.boundElements||[]).concat({id:e.id,type:"arrow"})})},uf=(e,t,n)=>{let r=e[n==="start"?"endBinding":"startBinding"];return ax(e,r?.elementId,t)},ax=(e,t,n)=>t===n.id&&ff(e),ff=e=>e.points.length<3,sx=(e,t)=>{let n=t==="start"?"startBinding":"endBinding",r=e[n];return r==null?null:(R(e,{[n]:null}),r.elementId)},uo=(e,t)=>Ds(t.scene.getNonDeletedElements(),r=>Fn(r,!1)&&mf(r,e,t)),lx=(e,t,n,r)=>{let o=n==="start"?-1:1,i=o===-1?0:e.points.length-1,a=i-o,s=K.getPointAtIndexGlobalCoordinates(e,i,r),l=K.getPointAtIndexGlobalCoordinates(e,a,r);return{focus:gx(t,l,s,r),gap:Math.max(1,fx(t,s,r))}},Mt=(e,t,n)=>{let{newSize:r,simultaneouslyUpdated:o}=n??{},i=dx(o);Fn(e)&&Li(t,e,a=>{if(!J(a)||a.isDeleted||!cx(a,e))return;let s={startBinding:lf(e,a.startBinding,r),endBinding:lf(e,a.endBinding,r)};if(i.has(a.id)){R(a,s);return}ki(t,a,(c,d)=>{c&&Fn(c)&&(d==="startBinding"||d==="endBinding")&&ux(a,d,s[d],c,t)});let l=q(a,t);l&&!l.isDeleted&&$n(a,t,!1)})},cx=(e,t)=>e.startBinding?.elementId===t.id||e.endBinding?.elementId===t.id,dx=e=>new Set((e||[]).map(t=>t.id)),ux=(e,t,n,r,o)=>{if(n==null||n.elementId!==r.id&&e.points.length>2)return;let i=t==="startBinding"?-1:1,a=i===-1?0:e.points.length-1,s=a-i,l=K.getPointAtIndexGlobalCoordinates(e,s,o),c=xx(r,n.focus,l,o),d;if(n.gap===0)d=c;else{let u=wx(r,l,c,n.gap,o);u.length===0?d=c:d=u[0]}K.movePoints(e,[{index:a,point:K.pointFromAbsoluteCoords(e,d,o)}],{[t]:n})},lf=(e,t,n)=>{if(t==null||n==null)return t;let{gap:r,focus:o,elementId:i}=t,{width:a,height:s}=n,{width:l,height:c}=e,d=Math.max(1,Math.min(hf(e,a,s),r*(a<s?a/l:s/c)));return{elementId:i,gap:d,focus:o}},gr=(e,t,n)=>uo(pf(e,t,n.scene.getNonDeletedElementsMap()),n),pf=(e,t,n)=>{let r=t==="start"?0:-1;return sr(K.getPointAtIndexGlobalCoordinates(e,r,n))},MA=(e,t,n,r)=>{let o=new Set,i=new Set,a=r==="duplicatesServeAsOld";t.forEach(s=>{let{boundElements:l}=s;if(l!=null&&l.length>0&&(l.forEach(c=>{a&&!n.has(c.id)&&o.add(c.id)}),i.add(n.get(s.id))),qr(s)){if(s.startBinding!=null){let{elementId:c}=s.startBinding;a&&!n.has(c)&&i.add(c)}if(s.endBinding!=null){let{elementId:c}=s.endBinding;a&&!n.has(c)&&i.add(c)}(s.startBinding!=null||s.endBinding!=null)&&o.add(n.get(s.id))}}),e.filter(({id:s})=>o.has(s)).forEach(s=>{let{startBinding:l,endBinding:c}=s;R(s,{startBinding:cf(l,n),endBinding:cf(c,n)})}),e.filter(({id:s})=>i.has(s)).forEach(s=>{let{boundElements:l}=s;l!=null&&l.length>0&&R(s,{boundElements:l.map(c=>n.has(c.id)?{id:n.get(c.id),type:c.type}:c)})})},cf=(e,t)=>{if(e==null)return null;let{elementId:n,focus:r,gap:o}=e;return{focus:r,gap:o,elementId:t.get(n)??n}},DA=(e,t)=>{let n=X(e);for(let r of t)En.unbindAffected(n,r,R),gn.unbindAffected(n,r,R)},co=(e,t,n=[])=>{if(!e)return null;let r=e.filter(o=>!t.has(o.id));return r.push(...n.map(o=>({id:o.id,type:o.type}))),r},mf=(e,{x:t,y:n},r)=>{let o=hf(e,e.width,e.height),i=r.getElementShape(e);return lo([t,n],i,o)},hf=(e,t,n)=>{let o=(e.type==="diamond"?1/Math.sqrt(2):1)*Math.min(t,n);return Math.max(16,Math.min(.25*o,32))},fx=(e,t,n)=>{switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return px(e,t,n);case"diamond":return mx(e,t,n);case"ellipse":return hx(e,t,n)}},px=(e,t,n)=>{let[,r,o,i]=Os(e,t,n);return Math.max(hn(r,Pi(0,1,-i)),hn(r,Pi(1,0,-o)))},mx=(e,t,n)=>{let[,r,o,i]=Os(e,t,n),a=Pi(i,o,-i*o);return hn(r,a)},hx=(e,t,n)=>{let[r,o]=Ex(e,t,n);return-$u(o)*hn(r,o)},Ex=(e,t,n)=>{let[,r,o,i]=Os(e,t,n),[a,s]=Un(r),l=.707,c=.707,d=o,u=i;[0,1,2,3].forEach(m=>{let h=d*l,E=u*c,x=(d*d-u*u)*l**3/d,w=(u*u-d*d)*c**3/u,y=h-x,T=E-w,b=a-x,D=s-w,S=Math.hypot(T,y),A=Math.hypot(D,b);l=Math.min(1,Math.max(0,(b*S/A+x)/d)),c=Math.min(1,Math.max(0,(D*S/A+w)/u));let I=Math.hypot(c,l);l/=I,c/=I});let f=ve(d*l,u*c),p=Vu(r,f);return[r,p]},Os=(e,t,n)=>{let r=Hn(t),[o,i,a,s]=G(e,n),l=Fs(o,i,a,s),c=vs(l,e.angle),d=st(c,r),u=hs(d,bs(l)),f=Wu(u),p=Nu(e.x,e.y),m=hs(d,p),h=(a-o)/2,E=(s-i)/2;return[m,f,h,E]},Rs=(e,t)=>{let[n,r,o,i]=G(e,t),a=Fs(n,r,o,i),s=vs(a,e.angle),l=pr(ju(bs(a)));return Ju(s,l)},Fs=(e,t,n,r)=>ve((e+n)/2,(t+r)/2),gx=(e,t,n,r)=>{let o=Rs(e,r),i=st(o,Hn(t)),a=st(o,Hn(n)),s=mr(i,a),l=e.height/e.width,c=e.width/2,d=e.height/2,u=s[2],f=s[3],p=s[1],m=Math.abs(f),h=Math.abs(u),E;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":E=p/(c*(h+l*m));break;case"diamond":E=m<h?p/(h*c):p/(m*d);break;case"ellipse":E=p/(c*Math.sqrt(u**2+l**2*f**2));break}return E||0},xx=(e,t,n,r)=>{if(t===0){let[l,c,d,u]=G(e,r),f=Fs(l,c,d,u);return Un(f)}let o=Rs(e,r),i=st(o,Hn(n)),a=pr(o),s;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":s=_x(e,t,i);break;case"ellipse":s=Sx(e,t,i);break}return Un(st(a,s))},wx=(e,t,n,r=0,o)=>{let i=Rs(e,o),a=st(i,Hn(t)),s=st(i,Hn(n)),l=mr(a,s),c=pr(i);return yx(e,l,a,r).map(u=>Un(st(c,u)))},yx=(e,t,n,r=0)=>{let o;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":let a=Ef(e);o=a.flatMap((s,l)=>{let c=[s,a[(l+1)%4]];return bx(t,vx(c,r))}).concat(a.flatMap(s=>Ax(s,r,t)));break;case"ellipse":o=Tx(e,r,t);break}if(o.length<2)return[];let i=o.sort((a,s)=>ys(a,n)-ys(s,n));return[i[0],i[i.length-1]]},Ef=(e,t=1)=>{let n=t*e.width/2,r=t*e.height/2;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return[ve(n,r),ve(n,-r),ve(-n,-r),ve(-n,r)];case"diamond":return[ve(0,r),ve(n,0),ve(0,-r),ve(-n,0)]}},bx=(e,t)=>{let[n,r]=t,o=hn(n,e),i=hn(r,e);return o*i>=0?[]:[Xu(e,mr(n,r))]},vx=(e,t)=>{let[n,r]=e,o=qu(Zu(n,r),t);return[st(o,n),st(o,r)]},Tx=(e,t,n)=>{let r=e.width/2+t,o=e.height/2+t,i=n[2],a=n[3],s=n[1],l=r*r*i*i+o*o*a*a,c=l-s*s;if(l===0||c<=0)return[];let d=Math.sqrt(c),u=-r*r*i*s,f=-o*o*a*s;return[ve((u+r*o*a*d)/l,(f-r*o*i*d)/l),ve((u-r*o*a*d)/l,(f+r*o*i*d)/l)]},Ax=(e,t,n)=>{if(t===0)return hn(n,e)===0?[e]:[];let r=n[2],o=n[3],i=n[1],[a,s]=Un(e),l=t,c=r*r+o*o,d=l*l*c-(r*a+o*s+i)**2;if(c===0||d<=0)return[];let u=Math.sqrt(d),f=a*o*o-s*r*o-r*i,p=s*r*r-a*r*o-o*i;return[ve((f+o*u)/c,(p-r*u)/c),ve((f-o*u)/c,(p+r*u)/c)]},Sx=(e,t,n)=>{let r=Math.abs(t),o=e.width*r/2,i=e.height*r/2,a=Math.sign(t),[s,l]=Un(n),c=l===0?1e-4:l,d=s**2*i**2+c**2*o**2,u=(-s*i**2+a*c*Math.sqrt(Math.max(0,d-o**2*i**2)))/d,f=(-u*s-1)/c;f===0&&(f=(Object.is(f,-0)?-1:1)*.01);let p=-(o**2*u)/(f**2*i**2+u**2*o**2);return ve(p,(-u*p-1)/f)},_x=(e,t,n)=>{let r=Math.abs(t),o=Math.sign(t),i=Ef(e,r),a=0,s=null;return i.forEach(l=>{let c=o*mr(n,l)[1];c>a&&(a=c,s=l)}),s},gf=new Set(["boundElements","frameId","containerId","startBinding","endBinding"]),Li=(e,t,n)=>{Fn(t)&&(t.boundElements?.slice()??[]).forEach(({id:o})=>{n(e.get(o),"boundElements",o)})},ki=(e,t,n)=>{if(t.frameId){let r=t.frameId;n(e.get(r),"frameId",r)}if(be(t)){let r=t.containerId;n(e.get(r),"containerId",r)}if(j(t)){if(t.startBinding){let r=t.startBinding.elementId;n(e.get(r),"startBinding",r)}if(t.endBinding){let r=t.endBinding.elementId;n(e.get(r),"endBinding",r)}}},En=class{static unbindAffected(t,n,r){n&&ki(t,n,o=>{!o||o.isDeleted||Li(t,o,(i,a,s)=>{s===n.id&&r(o,{boundElements:co(o.boundElements,new Set([s]))})})})}static rebindAffected=(t,n,r)=>{!n||n.isDeleted||ki(t,n,(o,i)=>{if(!o||o.isDeleted){r(n,{[i]:null});return}i!=="frameId"&&(o.boundElements?.find(a=>a.id===n.id)||(j(n)&&r(o,{boundElements:co(o.boundElements,new Set,new Array(n))}),Y(n)&&(o.boundElements?.find(a=>a.type==="text")?r(n,{[i]:null}):r(o,{boundElements:co(o.boundElements,new Set,new Array(n))}))))})}},gn=class{static unbindAffected(t,n,r){n&&Li(t,n,o=>{!o||o.isDeleted||ki(t,o,(i,a,s)=>{s===n.id&&r(o,{[a]:null})})})}static rebindAffected=(t,n,r)=>{!n||n.isDeleted||Li(t,n,(o,i,a)=>{if(!o||o.isDeleted){r(n,{boundElements:co(n.boundElements,new Set([a]))});return}Y(o)&&((n.boundElements?.slice()??[]).reverse().find(l=>l.type==="text")?.id===o.id?o.containerId!==n.id&&r(o,{containerId:n.id}):(o.containerId!==null&&r(o,{containerId:null}),r(n,{boundElements:co(n.boundElements,new Set([o.id]))})))})}};g();var ue=class e{static rg=new ot;static cache=new WeakMap;static get=t=>e.cache.get(t);static set=(t,n)=>e.cache.set(t,n);static delete=t=>e.cache.delete(t);static destroy=()=>{e.cache=new WeakMap};static generateElementShape=(t,n)=>{let r=n?.isExporting?void 0:e.get(t);if(r!==void 0)return r;Oi.delete(t);let o=xf(t,e.rg,n||{isExporting:!1,canvasBackgroundColor:H.white,embedsValidationStatus:null});return e.cache.set(t,o),o}};var Yt={version:null,points:[],zoom:null},K=class e{elementId;selectedPointsIndices;pointerDownState;isDragging;lastUncommittedPoint;pointerOffset;startBindingElement;endBindingElement;hoverPointIndex;segmentMidPointHoveredCoords;constructor(t){this.elementId=t.id,e.normalizePoints(t),this.selectedPointsIndices=null,this.lastUncommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.startBindingElement="keep",this.endBindingElement="keep",this.pointerDownState={prevSelectedPointsIndices:null,lastClickedPoint:-1,origin:null,segmentMidpoint:{value:null,index:null,added:!1}},this.hoverPointIndex=-1,this.segmentMidPointHoveredCoords=null}static POINT_HANDLE_SIZE=10;static getElement(t,n){let r=n.get(t);return r||null}static handleBoxSelection(t,n,r,o){if(!n.editingLinearElement||n.draggingElement?.type!=="selection")return!1;let{editingLinearElement:i}=n,{selectedPointsIndices:a,elementId:s}=i,l=e.getElement(s,o);if(!l)return!1;let[c,d,u,f]=G(n.draggingElement,o),m=e.getPointsGlobalCoordinates(l,o).reduce((h,E,x)=>((E[0]>=c&&E[0]<=u&&E[1]>=d&&E[1]<=f||t.shiftKey&&a?.includes(x))&&h.push(x),h),[]);r({editingLinearElement:{...i,selectedPointsIndices:m.length?m:null}})}static handlePointDragging(t,n,r,o,i,a,s){if(!a)return!1;let{selectedPointsIndices:l,elementId:c}=a,d=e.getElement(c,s);if(!d)return!1;let u=d.points[a.pointerDownState.lastClickedPoint];if(l&&u){if(Cs(t)&&l.length===1&&d.points.length>1){let p=l[0],m=d.points[p===0?1:p-1],[h,E]=e._getShiftLockedDelta(d,s,m,[r,o],t[Ge.CTRL_OR_CMD]?null:n.gridSize);e.movePoints(d,[{index:p,point:[h+m[0],E+m[1]],isDragging:p===a.pointerDownState.lastClickedPoint}])}else{let p=e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize),m=p[0]-u[0],h=p[1]-u[1];e.movePoints(d,l.map(E=>{let x=E===a.pointerDownState.lastClickedPoint?e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize):[d.points[E][0]+m,d.points[E][1]+h];return{index:E,point:x,isDragging:E===a.pointerDownState.lastClickedPoint}}))}if(q(d,s)&&$n(d,s,!1),qr(d,!1)){let p=[];l[0]===0&&p.push(sr(e.getPointGlobalCoordinates(d,d.points[0],s)));let h=l[l.length-1];h===d.points.length-1&&p.push(sr(e.getPointGlobalCoordinates(d,d.points[h],s))),p.length&&i(d,p)}return!0}return!1}static handlePointerUp(t,n,r,o){let i=o.scene.getNonDeletedElementsMap(),{elementId:a,selectedPointsIndices:s,isDragging:l,pointerDownState:c}=n,d=e.getElement(a,i);if(!d)return n;let u={};if(l&&s){for(let f of s)if(f===0||f===d.points.length-1){Dt(d.points,r.zoom.value)&&e.movePoints(d,[{index:f,point:f===0?d.points[d.points.length-1]:d.points[0]}]);let p=Ls(r)?uo(sr(e.getPointAtIndexGlobalCoordinates(d,f,i)),o):null;u[f===0?"startBindingElement":"endBindingElement"]=p}}return{...n,...u,selectedPointsIndices:l||t.shiftKey?!l&&t.shiftKey&&c.prevSelectedPointsIndices?.includes(c.lastClickedPoint)?s&&s.filter(f=>f!==c.lastClickedPoint):s:s?.includes(c.lastClickedPoint)?[c.lastClickedPoint]:s,isDragging:!1,pointerOffset:{x:0,y:0}}}static getEditorMidPoints=(t,n,r)=>{let o=q(t,n);return!r.editingLinearElement&&t.points.length>2&&!o?[]:(Yt.version===t.version&&Yt.zoom===r.zoom.value||e.updateEditorMidPointsCache(t,n,r),Yt.points)};static updateEditorMidPointsCache=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,n),i=0,a=[];for(;i<o.length-1;){if(e.isSegmentTooShort(t,t.points[i],t.points[i+1],r.zoom)){a.push(null),i++;continue}let s=e.getSegmentMidPoint(t,o[i],o[i+1],i+1,n);a.push(s),i++}Yt.points=a,Yt.version=t.version,Yt.zoom=r.zoom.value};static getSegmentMidpointHitCoords=(t,n,r,o)=>{let{elementId:i}=t,a=e.getElement(i,o);if(!a||e.getPointIndexUnderCursor(a,o,r.zoom,n.x,n.y)>=0||e.getPointsGlobalCoordinates(a,o).length>=3&&!r.editingLinearElement)return null;let c=e.POINT_HANDLE_SIZE/r.zoom.value,d=t.segmentMidPointHoveredCoords;if(d&&Be(d[0],d[1],n.x,n.y)<=c)return d;let u=0,f=e.getEditorMidPoints(a,o,r);for(;u<f.length;){if(f[u]!==null&&Be(f[u][0],f[u][1],n.x,n.y)<=c)return f[u];u++}return null};static isSegmentTooShort(t,n,r,o){let i=Be(n[0],n[1],r[0],r[1]);return t.points.length>2&&t.roundness&&(i=wf(t,r)),i*o.value<e.POINT_HANDLE_SIZE*4}static getSegmentMidPoint(t,n,r,o,i){let a=xr(n,r);if(t.points.length>2&&t.roundness){let s=Bs(t,t.points[o]);if(s){let l=yf(t,t.points[o],.5),[c,d]=Gs(s[0],s[1],s[2],s[3],l);a=e.getPointGlobalCoordinates(t,[c,d],i)}}return a}static getSegmentMidPointIndex(t,n,r,o){let i=e.getElement(t.elementId,o);if(!i)return-1;let a=e.getEditorMidPoints(i,o,n),s=0;for(;s<a.length;){if(e.arePointsEqual(r,a[s]))return s+1;s++}return-1}static handlePointerDown(t,n,r,o,i,a){let s=a.scene.getNonDeletedElementsMap(),l={didAddPoint:!1,hitElement:null,linearElementEditor:null};if(!i)return l;let{elementId:c}=i,d=e.getElement(c,s);if(!d)return l;let u=e.getSegmentMidpointHitCoords(i,o,n,s),f=null;if(u&&(f=e.getSegmentMidPointIndex(i,n,u,s)),t.altKey&&n.editingLinearElement)return i.lastUncommittedPoint==null&&(R(d,{points:[...d.points,e.createPointAt(d,s,o.x,o.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize)]}),l.didAddPoint=!0),r.shouldCaptureIncrement(),l.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:-1,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:[d.points.length-1],lastUncommittedPoint:null,endBindingElement:uo(o,a)},l.didAddPoint=!0,l;let p=e.getPointIndexUnderCursor(d,s,n.zoom,o.x,o.y);if(p>=0||u)l.hitElement=d;else{let{startBindingElement:D,endBindingElement:S}=i;Ls(n)&&qr(d)&&ks(d,D,S,s)}let[m,h,E,x]=G(d,s),w=(m+E)/2,y=(h+x)/2,T=p>-1&&V(d.x+d.points[p][0],d.y+d.points[p][1],w,y,d.angle),b=p>-1||t.shiftKey?t.shiftKey||i.selectedPointsIndices?.includes(p)?Ix([...i.selectedPointsIndices||[],p]):[p]:null;return l.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:p,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:b,pointerOffset:T?{x:o.x-T[0],y:o.y-T[1]}:{x:0,y:0}},l}static arePointsEqual(t,n){return!t&&!n?!0:!t||!n?!1:zs(t,n)}static handlePointerMove(t,n,r,o,i){if(!o.editingLinearElement)return null;let{elementId:a,lastUncommittedPoint:s}=o.editingLinearElement,l=e.getElement(a,i);if(!l)return o.editingLinearElement;let{points:c}=l,d=c[c.length-1];if(!t.altKey)return d===s&&e.deletePoints(l,[c.length-1]),{...o.editingLinearElement,lastUncommittedPoint:null};let u;if(Cs(t)&&c.length>=2){let f=c[c.length-2],[p,m]=e._getShiftLockedDelta(l,i,f,[n,r],t[Ge.CTRL_OR_CMD]?null:o.gridSize);u=[p+f[0],m+f[1]]}else u=e.createPointAt(l,i,n-o.editingLinearElement.pointerOffset.x,r-o.editingLinearElement.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:o.gridSize);return d===s?e.movePoints(l,[{index:l.points.length-1,point:u}]):e.addPoints(l,o,[{point:u}]),{...o.editingLinearElement,lastUncommittedPoint:l.points[l.points.length-1]}}static getPointGlobalCoordinates(t,n,r){let[o,i,a,s]=G(t,r),l=(o+a)/2,c=(i+s)/2,{x:d,y:u}=t;return[d,u]=V(d+n[0],u+n[1],l,c,t.angle),[d,u]}static getPointsGlobalCoordinates(t,n){let[r,o,i,a]=G(t,n),s=(r+i)/2,l=(o+a)/2;return t.points.map(c=>{let{x:d,y:u}=t;return[d,u]=V(d+c[0],u+c[1],s,l,t.angle),[d,u]})}static getPointAtIndexGlobalCoordinates(t,n,r){let o=n<0?t.points.length+n:n,[i,a,s,l]=G(t,r),c=(i+s)/2,d=(a+l)/2,u=t.points[o],{x:f,y:p}=t;return u?V(f+u[0],p+u[1],c,d,t.angle):V(f,p,c,d,t.angle)}static pointFromAbsoluteCoords(t,n,r){let[o,i,a,s]=G(t,r),l=(o+a)/2,c=(i+s)/2,[d,u]=V(n[0],n[1],l,c,-t.angle);return[d-t.x,u-t.y]}static getPointIndexUnderCursor(t,n,r,o,i){let a=e.getPointsGlobalCoordinates(t,n),s=a.length;for(;--s>-1;){let l=a[s];if(Be(o,i,l[0],l[1])*r.value<e.POINT_HANDLE_SIZE+1)return s}return-1}static createPointAt(t,n,r,o,i){let a=fo(r,o,i),[s,l,c,d]=G(t,n),u=(s+c)/2,f=(l+d)/2,[p,m]=V(a[0],a[1],u,f,-t.angle);return[p-t.x,m-t.y]}static getNormalizedPoints(t){let{points:n}=t,r=n[0][0],o=n[0][1];return{points:n.map((i,a)=>[i[0]-r,i[1]-o]),x:t.x+r,y:t.y+o}}static normalizePoints(t){R(t,e.getNormalizedPoints(t))}static duplicateSelectedPoints(t,n){if(!t.editingLinearElement)return!1;let{selectedPointsIndices:r,elementId:o}=t.editingLinearElement,i=e.getElement(o,n);if(!i||r===null)return!1;let{points:a}=i,s=[],l=!1,c=-1,d=a.reduce((u,f,p)=>{if(++c,u.push(f),r.includes(p)){let h=a[p+1];h||(l=!0),u.push(h?[(f[0]+h[0])/2,(f[1]+h[1])/2]:[f[0],f[1]]),s.push(c+1),++c}return u},[]);if(R(i,{points:d}),l){let u=i.points[i.points.length-1];e.movePoints(i,[{index:i.points.length-1,point:[u[0]+30,u[1]+30]}])}return{appState:{...t,editingLinearElement:{...t.editingLinearElement,selectedPointsIndices:s}}}}static deletePoints(t,n){let r=0,o=0;if(n.includes(0)){let s=t.points.find((l,c)=>!n.includes(c));s&&(r=s[0],o=s[1])}let a=t.points.reduce((s,l,c)=>(n.includes(c)||s.push(s.length?[l[0]-r,l[1]-o]:[0,0]),s),[]);e._updatePoints(t,a,r,o)}static addPoints(t,n,r){let a=[...t.points,...r.map(s=>s.point)];e._updatePoints(t,a,0,0)}static movePoints(t,n,r){let{points:o}=t,i=0,a=0,s=n.find(({index:c})=>c===0);s&&(i=s.point[0]+o[s.index][0],a=s.point[1]+o[s.index][1]);let l=o.map((c,d)=>{let u=n.find(f=>f.index===d);if(u){if(s)return c;let f=u.point[0]-o[u.index][0],p=u.point[1]-o[u.index][1];return[c[0]+f,c[1]+p]}return i||a?[c[0]-i,c[1]-a]:c});e._updatePoints(t,l,i,a,r)}static shouldAddMidpoint(t,n,r,o){if(!e.getElement(t.elementId,o))return!1;let{segmentMidpoint:a}=t.pointerDownState;if(a.added||a.value===null||a.index===null||t.pointerDownState.origin===null)return!1;let s=t.pointerDownState.origin,l=Be(s.x,s.y,n.x,n.y);return!(!r.editingLinearElement&&l<$d/r.zoom.value)}static addMidpoint(t,n,r,o,i){let a=e.getElement(t.elementId,i);if(!a)return;let{segmentMidpoint:s}=t.pointerDownState,l={pointerDownState:t.pointerDownState,selectedPointsIndices:t.selectedPointsIndices},c=e.createPointAt(a,i,n.x,n.y,o?r.gridSize:null),d=[...a.points.slice(0,s.index),c,...a.points.slice(s.index)];return R(a,{points:d}),l.pointerDownState={...t.pointerDownState,segmentMidpoint:{...t.pointerDownState.segmentMidpoint,added:!0},lastClickedPoint:s.index},l.selectedPointsIndices=[s.index],l}static _updatePoints(t,n,r,o,i){let a=Ns(t,n),s=Ns(t,t.points),l=(a[0]+a[2])/2,c=(a[1]+a[3])/2,d=(s[0]+s[2])/2,u=(s[1]+s[3])/2,f=d-l,p=u-c,m=V(r,o,f,p,t.angle);R(t,{...i,points:n,x:t.x+m[0],y:t.y+m[1]})}static _getShiftLockedDelta(t,n,r,o,i){let a=e.getPointGlobalCoordinates(t,r,n),[s,l]=fo(o[0],o[1],i),{width:c,height:d}=Hs(a[0],a[1],s,l);return re([c,d],[0,0],-t.angle)}static getBoundTextElementPosition=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,r);o.length<2&&R(n,{isDeleted:!0});let i=0,a=0;if(t.points.length%2===1){let s=Math.floor(t.points.length/2),l=e.getPointGlobalCoordinates(t,t.points[s],r);i=l[0]-n.width/2,a=l[1]-n.height/2}else{let s=t.points.length/2-1,l=Yt.points[s];t.points.length===2&&(l=xr(o[0],o[1])),(!l||Yt.version!==t.version)&&(l=e.getSegmentMidPoint(t,o[s],o[s+1],s+1,r)),i=l[0]-n.width/2,a=l[1]-n.height/2}return{x:i,y:a}};static getMinMaxXYWithBoundText=(t,n,r,o)=>{let[i,a,s,l]=r,c=(i+s)/2,d=(a+l)/2,{x:u,y:f}=e.getBoundTextElementPosition(t,o,n),p=u+o.width,m=f+o.height,h=re([i,a],[c,d],t.angle),E=re([s,a],[c,d],t.angle),x=re([u,f],[c,d],-t.angle),w=re([p,f],[c,d],-t.angle),y=re([u,m],[c,d],-t.angle),T=re([p,m],[c,d],-t.angle);return h[0]<E[0]&&h[1]>=E[1]?(i=Math.min(i,y[0]),s=Math.max(s,Math.max(w[0],T[0])),a=Math.min(a,x[1]),l=Math.max(l,T[1])):h[0]>=E[0]&&h[1]>E[1]?(i=Math.min(i,T[0]),s=Math.max(s,Math.max(x[0],w[0])),a=Math.min(a,y[1]),l=Math.max(l,w[1])):h[0]>=E[0]?(i=Math.min(i,w[0]),s=Math.max(s,y[0]),a=Math.min(a,T[1]),l=Math.max(l,x[1])):h[1]<=E[1]&&(i=Math.min(i,Math.min(w[0],x[0])),s=Math.max(s,T[0]),a=Math.min(a,w[1]),l=Math.max(l,y[1])),[i,a,s,l,c,d]};static getElementAbsoluteCoords=(t,n,r=!1)=>{let o,i,a,s,l;if(t.points.length<2||!ue.get(t)){let{minX:f,minY:p,maxX:m,maxY:h}=t.points.reduce((E,[x,w])=>(E.minY=Math.min(E.minY,w),E.minX=Math.min(E.minX,x),E.maxX=Math.max(E.maxX,x),E.maxY=Math.max(E.maxY,w),E),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});i=f+t.x,a=p+t.y,s=m+t.x,l=h+t.y}else{let f=ue.generateElementShape(t,null),p=wn(f[0]),[m,h,E,x]=po(p);i=m+t.x,a=h+t.y,s=E+t.x,l=x+t.y}let c=(i+s)/2,d=(a+l)/2;if(o=[i,a,s,l,c,d],!r)return o;let u=q(t,n);return u&&(o=e.getMinMaxXYWithBoundText(t,n,[i,a,s,l],u)),o}},Ix=e=>{let t=[...new Set(e.filter(n=>n!==null&&n!==-1))];return t=t.sort((n,r)=>n-r),t.length?t:null};g();var mo={},bf=(e,t)=>{let n=mo[e]||(mo[e]={height:t});return n.height=t,n},vf=e=>{mo[e]&&delete mo[e]},JA=e=>mo[e]?.height??null;var Ys=e=>pu(e).replace(/\t/g," "),Ws=e=>Ys(e).split(`
3
+ `),Xs=(e,t,n,r=!0)=>{let o,i={x:e.x,y:e.y,text:e.text,width:e.width,height:e.height,angle:t?.angle??e.angle};i.text=e.text,(t||!e.autoResize)&&(o=t?ct(t,e):e.width,i.text=yn(e.originalText,ce(e),o));let a=Wt(i.text,ce(e),e.lineHeight);if(e.autoResize&&(i.width=a.width),i.height=a.height,t){let s=Eo(t,e),l=ct(t,e);if(!j(t)&&a.height>s){let f=$s(a.height,t.type);R(t,{height:f},r),bf(t.id,f)}if(a.width>l){let f=$s(a.width,t.type);R(t,{width:f},r)}let c={...e,...i},{x:d,y:u}=Af(t,c,n);i.x=d,i.y=u}R(e,i,r)},lS=(e,t,n)=>{let r=X(e);t.forEach(o=>{let i=n.get(o.id),a=Xt(o);if(a){let s=n.get(a);if(s){let l=r.get(i);l&&R(l,{boundElements:(o.boundElements||[]).filter(d=>d.id!==s&&d.id!==a).concat({type:"text",id:s})});let c=r.get(s);c&&Y(c)&&R(c,{containerId:l?i:null})}}})},$n=(e,t,n,r=!1)=>{if(!Xt(e))return;vf(e.id);let i=q(e,t);if(i&&i.text){if(!e)return;let a=i.text,s=i.height,l=i.width,c=ct(e,i),d=Eo(e,i),u=e.height;if(r||n!=="n"&&n!=="s"){a&&(a=yn(i.originalText,ce(i),c));let f=Wt(a,ce(i),i.lineHeight);s=f.height,l=f.width}if(s>d){u=$s(s,e.type);let f=u-e.height,p=!j(e)&&(n==="ne"||n==="nw"||n==="n")?e.y-f:e.y;R(e,{height:u,y:p})}R(i,{text:a,width:l,height:s}),j(e)||R(i,Af(e,i,t))}},Af=(e,t,n)=>{if(j(e))return K.getBoundTextElementPosition(e,t,n);let r=js(e),o=Eo(e,t),i=ct(e,t),a,s;return t.verticalAlign===Gt.TOP?s=r.y:t.verticalAlign===Gt.BOTTOM?s=r.y+(o-t.height):s=r.y+(o/2-t.height/2),t.textAlign===es.LEFT?a=r.x:t.textAlign===es.RIGHT?a=r.x+(i-t.width):a=r.x+(i/2-t.width/2),{x:a,y:s}},Wt=(e,t,n)=>{e=e.split(`
4
+ `).map(a=>a||" ").join(`
5
+ `);let r=parseFloat(t),o=Px(e,r,n);return{width:Zs(e,t),height:o}},Sf=e=>{let t=Ws(e.text).length;return e.height/t/e.fontSize},wr=(e,t)=>e*t,Ri=(e,t,n)=>{let{unitsPerEm:r,ascender:o,descender:i}=Tf[e]||Tf[Ee.Helvetica],a=t/r,s=n-a*o+a*i;return a*o+s},_f=(e,t)=>wr(e,t)+me*2,Us,ho=(e,t)=>{Us||(Us=document.createElement("canvas"));let n=Us.getContext("2d");n.font=t;let r=n.measureText(e).width;return Ht()?r*10:r},Zs=(e,t)=>{let n=Ws(e),r=0;return n.forEach(o=>{r=Math.max(r,ho(o,t))}),r},Px=(e,t,n)=>{let r=Ws(e).length;return wr(t,n)*r},Mx=e=>{let t=e.split("-");return t.length>1&&t.forEach((n,r)=>{r!==t.length-1&&(t[r]=n+="-")}),t.join(" ").split(" ")},yn=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let r=[],o=e.split(`
6
+ `),i=ho(" ",t),a="",s=0,l=d=>{d.trim()&&r.push(d)},c=()=>{a="",s=0};return o.forEach(d=>{if(Zs(d,t)<=n){r.push(d);return}let f=Mx(d);c();let p=0;for(;p<f.length;){let m=ho(f[p],t);if(m===n)l(f[p]),p++;else if(m>n){for(l(a),c();f[p].length>0;){let h=String.fromCodePoint(f[p].codePointAt(0)),E=Ks.calculate(h,t);s+=E,f[p]=f[p].slice(h.length),s>=n?(l(a),a=h,s=E):a+=h}s+i>=n?(l(a),c()):a.endsWith("-")||(a+=" ",s+=i),p++}else for(;s<n&&p<f.length;){let h=f[p];if(s=ho(a+h,t),s>n){l(a),c();break}p++;let E=!h.endsWith("-");if(a+=h,E&&(a+=" "),s+i>=n){E?r.push(a.slice(0,-1)):r.push(a),c();break}}}a.slice(-1)===" "&&(a=a.slice(0,-1),l(a))}),r.join(`
7
+ `)},Ks=(()=>{let e={};return{calculate:(r,o)=>{let i=r.charCodeAt(0);if(e[o]||(e[o]=[]),!e[o][i]){let a=ho(r,o);e[o][i]=a}return e[o][i]},getCache:r=>e[r]}})(),If="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toLocaleUpperCase(),Pf=(e,t)=>{let n=Dx(e);return n===0?Wt(If.split("").join(`
8
+ `),e,t).width+me*2:n+me*2},Mf=e=>{let t=Ks.getCache(e);if(!t)return 0;let n=t.filter(r=>r!==void 0);return Math.min(...n)},Dx=e=>{let t=Ks.getCache(e);if(!t)return 0;let n=t.filter(r=>r!==void 0);return Math.max(...n)};var Xt=e=>e?.boundElements?.length&&e?.boundElements?.filter(t=>t.type==="text")[0]?.id||null,q=(e,t)=>{if(!e)return null;let n=Xt(e);return n&&t.get(n)||null},Se=(e,t)=>e&&e.containerId&&t.get(e.containerId)||null,cS=(e,t,n)=>{if(!j(e))return{x:e.x+e.width/2,y:e.y+e.height/2};let r=K.getPointsGlobalCoordinates(e,n);if(r.length%2===1){let a=Math.floor(e.points.length/2),s=K.getPointGlobalCoordinates(e,e.points[a],n);return{x:s[0],y:s[1]}}let o=e.points.length/2-1,i=K.getEditorMidPoints(e,n,t)[o];return i||(i=K.getSegmentMidPoint(e,r[o],r[o+1],o+1,n)),{x:i[0],y:i[1]}},js=e=>{let t=me,n=me;return e.type==="ellipse"&&(t+=e.width/2*(1-Math.sqrt(2)/2),n+=e.height/2*(1-Math.sqrt(2)/2)),e.type==="diamond"&&(t+=e.width/4,n+=e.height/4),{x:e.x+t,y:e.y+n}},dS=(e,t)=>!t||j(t)?e.angle:t.angle;var uS=(e,t)=>e.some(n=>{if(be(n)){let r=Se(n,t);return!j(r)}return!1}),fS=(e,t)=>e.some(n=>{if(be(n)){let r=Se(n,t);return!j(r)}return Y(n)}),Cx=new Set(["rectangle","ellipse","diamond","arrow"]),pS=e=>Cx.has(e.type),$s=(e,t)=>{e=Math.ceil(e);let n=me*2;return t==="ellipse"?Math.round((e+n)/Math.sqrt(2)*2):t==="arrow"?e+n*8:t==="diamond"?2*(e+n):e+n},ct=(e,t)=>{let{width:n}=e;if(j(e)){let r=(t?.fontSize??Tt)*jd;return Math.max(Kd*n,r)}return e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-me*2:e.type==="diamond"?Math.round(n/2)-me*2:n-me*2},Eo=(e,t)=>{let{height:n}=e;return j(e)?n-me*8*2<=0?t.height:n:e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-me*2:e.type==="diamond"?Math.round(n/2)-me*2:n-me*2},mS=()=>Zs(If,ce({fontSize:Tt,fontFamily:tt}))>0,Vs={[Ee.Virgil]:1.25,[Ee.Helvetica]:1.15,[Ee.Cascadia]:1.2},Tf={[Ee.Virgil]:{unitsPerEm:1e3,ascender:886,descender:-374},[Ee.Helvetica]:{unitsPerEm:2048,ascender:1577,descender:-471},[Ee.Cascadia]:{unitsPerEm:2048,ascender:1977,descender:-480},[Ee.Assistant]:{unitsPerEm:1e3,ascender:1021,descender:-287}},Fi=e=>e in Vs?Vs[e]:Vs[tt];var qs="invert(100%) hue-rotate(180deg) saturate(1.25)",Lx=nt(),Of=(e,t)=>St(e)&&!t.imageCache.has(e.fileId),Rf=(e,t,n)=>n.theme===Re.DARK&&St(e)&&!Of(e,t)&&t.imageCache.get(e.fileId)?.mimeType!==B.svg,Bi=e=>e.type==="freedraw"?e.strokeWidth*12:20,kx=(e,t,n)=>{let r=(t?.opacity??100)*e.opacity/1e4;return(n.has(e.id)||t&&n.has(t.id))&&(r*=qd/100),r},Ox=(e,t,n)=>{let i=Bi(e),[a,s,l,c]=G(e,t),d=J(e)||ge(e)?We(a,l):e.width,u=J(e)||ge(e)?We(s,c):e.height,f=d*window.devicePixelRatio+i*2,p=u*window.devicePixelRatio+i*2,m=n.value;return(f*m>32767||p*m>32767)&&(m=Math.min(32767/f,32767/p)),f*p*m*m>16777216&&(m=Math.sqrt(16777216/(f*p))),f=Math.floor(f*m),p=Math.floor(p*m),{width:f,height:p,scale:m}},Rx=(e,t,n,r,o)=>{let i=document.createElement("canvas"),a=i.getContext("2d"),s=Bi(e),{width:l,height:c,scale:d}=Ox(e,t,n);i.width=l,i.height=c;let u=0,f=0;if(J(e)||ge(e)){let[m,h]=G(e,t);u=e.x>m?We(e.x,m)*window.devicePixelRatio*d:0,f=e.y>h?We(e.y,h)*window.devicePixelRatio*d:0,a.translate(u,f)}a.save(),a.translate(s*d,s*d),a.scale(window.devicePixelRatio*d,window.devicePixelRatio*d);let p=It.canvas(i);return Rf(e,r,o)&&(a.filter=qs),Ni(e,p,a,r,o),a.restore(),{element:e,canvas:i,theme:o.theme,scale:d,zoomValue:n.value,canvasOffsetX:u,canvasOffsetY:f,boundTextElementVersion:q(e,t)?.version||null,containingFrameOpacity:Ce(e,t)?.opacity||100}},Ff=14,Nf=document.createElement("img");Nf.src=`data:${B.svg},${encodeURIComponent('<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="image" class="svg-inline--fa fa-image fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#888" d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"></path></svg>')}`;var Bf=document.createElement("img");Bf.src=`data:${B.svg},${encodeURIComponent('<svg viewBox="0 0 668 668" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48ZM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56ZM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.81709 0 0 .81709 124.825 145.825)"/><path d="M256 8C119.034 8 8 119.033 8 256c0 136.967 111.034 248 248 248s248-111.034 248-248S392.967 8 256 8Zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676ZM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.30366 0 0 .30366 506.822 60.065)"/></svg>')}`;var Fx=(e,t)=>{t.fillStyle="#E7E7E7",t.fillRect(0,0,e.width,e.height);let n=Math.min(e.width,e.height),r=Math.min(n,Math.min(n*.4,100));t.drawImage(e.status==="error"?Bf:Nf,e.width/2-r/2,e.height/2-r/2,r,r)},Ni=(e,t,n,r,o)=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":{n.lineJoin="round",n.lineCap="round",t.draw(ue.get(e));break}case"arrow":case"line":{n.lineJoin="round",n.lineCap="round",ue.get(e).forEach(i=>{t.draw(i)});break}case"freedraw":{n.save(),n.fillStyle=e.strokeColor;let i=Nx(e),a=ue.get(e);a&&t.draw(a),n.fillStyle=e.strokeColor,n.fill(i),n.restore();break}case"image":{let i=St(e)?r.imageCache.get(e.fileId)?.image:void 0;i!=null&&!(i instanceof Promise)?(e.roundness&&n.roundRect&&(n.beginPath(),n.roundRect(0,0,e.width,e.height,Zt(Math.min(e.width,e.height),e)),n.clip()),n.drawImage(i,0,0,e.width,e.height)):Fx(e,n);break}default:if(Y(e)){let i=li(e.text),a=i&&!n.canvas.isConnected;a&&document.body.appendChild(n.canvas),n.canvas.setAttribute("dir",i?"rtl":"ltr"),n.save(),n.font=ce(e),n.fillStyle=e.strokeColor,n.textAlign=e.textAlign;let s=e.text.replace(/\r\n?/g,`
9
+ `).split(`
10
+ `),l=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,c=wr(e.fontSize,e.lineHeight),d=Ri(e.fontFamily,e.fontSize,c);for(let u=0;u<s.length;u++)n.fillText(s[u],l,u*c+d);n.restore(),a&&n.canvas.remove()}else throw new Error(`Unimplemented type ${e.type}`)}},Oi=new WeakMap,Df=(e,t,n,r)=>{let o=n?r.zoom:Lx.zoom,i=Oi.get(e),a=i&&i.zoomValue!==o.value&&!r?.shouldCacheIgnoreZoom,s=q(e,t)?.version||null,l=Ce(e,t)?.opacity||100;if(!i||a||i.theme!==r.theme||i.boundTextElementVersion!==s||i.containingFrameOpacity!==l){let c=Rx(e,t,o,n,r);return Oi.set(e,c),c}return i},Cf=(e,t,n,r,o)=>{let i=e.element,a=Bi(i),s=e.scale,[l,c,d,u]=G(i,o);ge(i)&&(l=Math.floor(l),d=Math.ceil(d),c=Math.floor(c),u=Math.ceil(u));let f=((l+d)/2+r.scrollX)*window.devicePixelRatio,p=((c+u)/2+r.scrollY)*window.devicePixelRatio;t.save(),t.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);let m=q(i,o);if(j(i)&&m){let h=document.createElement("canvas"),E=h.getContext("2d"),x=Math.max(We(l,d),We(c,u));h.width=x*window.devicePixelRatio*s+a*e.scale*10,h.height=x*window.devicePixelRatio*s+a*e.scale*10;let w=(h.width-e.canvas.width)/2,y=(h.height-e.canvas.height)/2;E.translate(h.width/2,h.height/2),E.rotate(i.angle),E.drawImage(e.canvas,-e.canvas.width/2,-e.canvas.height/2,e.canvas.width,e.canvas.height);let[,,,,T,b]=G(m,o);E.rotate(-i.angle);let D=h.width/2-(T-l)*window.devicePixelRatio*s-w-a*s,S=h.height/2-(b-c)*window.devicePixelRatio*s-y-a*s;E.translate(-D,-S),E.clearRect(-(m.width/2+me)*window.devicePixelRatio*s,-(m.height/2+me)*window.devicePixelRatio*s,(m.width+me*2)*window.devicePixelRatio*s,(m.height+me*2)*window.devicePixelRatio*s),t.translate(f,p),t.drawImage(h,-(d-l)/2*window.devicePixelRatio-w/s-a,-(u-c)/2*window.devicePixelRatio-y/s-a,h.width/s,h.height/s)}else if(t.translate(f,p),t.rotate(i.angle),"scale"in e.element&&!Of(i,n)&&t.scale(e.element.scale[0],e.element.scale[1]),t.translate(-f,-p),t.drawImage(e.canvas,(l+r.scrollX)*window.devicePixelRatio-a*e.scale/e.scale,(c+r.scrollY)*window.devicePixelRatio-a*e.scale/e.scale,e.canvas.width/e.scale,e.canvas.height/e.scale),v.VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX==="true"&&lr(i)){let h=q(i,o),E=js(i);t.strokeStyle="#c92a2a",t.lineWidth=3,t.strokeRect((E.x+r.scrollX)*window.devicePixelRatio,(E.y+r.scrollY)*window.devicePixelRatio,ct(i,h)*window.devicePixelRatio,Eo(i,h)*window.devicePixelRatio)}t.restore()},MS=(e,t,n)=>{t.save(),t.translate(e.x+n.scrollX,e.y+n.scrollY),t.fillStyle="rgba(0, 0, 200, 0.04)";let r=.5/n.zoom.value;t.fillRect(r,r,e.width,e.height),t.lineWidth=1/n.zoom.value,t.strokeStyle=" rgb(105, 101, 219)",t.strokeRect(r,r,e.width,e.height),t.restore()},yr=(e,t,n,r,o,i,a)=>{switch(o.globalAlpha=kx(e,Ce(e,t),i.elementsPendingErasure),e.type){case"magicframe":case"frame":{a.frameRendering.enabled&&a.frameRendering.outline&&(o.save(),o.translate(e.x+a.scrollX,e.y+a.scrollY),o.fillStyle="rgba(0, 0, 200, 0.04)",o.lineWidth=xe.strokeWidth/a.zoom.value,o.strokeStyle=xe.strokeColor,mu(e)&&(o.strokeStyle=a.theme===Re.LIGHT?"#7affd7":"#1d8264"),xe.radius&&o.roundRect?(o.beginPath(),o.roundRect(0,0,e.width,e.height,xe.radius/a.zoom.value),o.stroke(),o.closePath()):o.strokeRect(0,0,e.width,e.height),o.restore());break}case"freedraw":{if(ue.generateElementShape(e,null),i.isExporting){let[s,l,c,d]=G(e,t),u=(s+c)/2+a.scrollX,f=(l+d)/2+a.scrollY,p=(c-s)/2-(e.x-s),m=(d-l)/2-(e.y-l);o.save(),o.translate(u,f),o.rotate(e.angle),o.translate(-p,-m),Ni(e,r,o,i,a),o.restore()}else{let s=Df(e,t,i,a);Cf(s,o,i,a,n)}break}case"rectangle":case"diamond":case"ellipse":case"line":case"arrow":case"image":case"text":case"iframe":case"embeddable":{if(ue.generateElementShape(e,i),i.isExporting){let[s,l,c,d]=G(e,t),u=(s+c)/2+a.scrollX,f=(l+d)/2+a.scrollY,p=(c-s)/2-(e.x-s),m=(d-l)/2-(e.y-l);if(Y(e)){let E=Se(e,t);if(j(E)){let x=K.getBoundTextElementPosition(E,e,t);p=(c-s)/2-(x.x-s),m=(d-l)/2-(x.y-l)}}o.save(),o.translate(u,f),Rf(e,i,a)&&(o.filter="none");let h=q(e,t);if(j(e)&&h){let E=document.createElement("canvas"),x=E.getContext("2d"),w=Math.max(We(s,c),We(l,d)),y=Bi(e);E.width=w*a.exportScale+y*10*a.exportScale,E.height=w*a.exportScale+y*10*a.exportScale,x.translate(E.width/2,E.height/2),x.scale(a.exportScale,a.exportScale),p=e.width/2-(e.x-s),m=e.height/2-(e.y-l),x.rotate(e.angle);let T=It.canvas(E);x.translate(-p,-m),Ni(e,T,x,i,a),x.translate(p,m),x.rotate(-e.angle);let[,,,,b,D]=G(h,t),S=(s+c)/2-b,A=(l+d)/2-D;x.translate(-S,-A),x.clearRect(-h.width/2,-h.height/2,h.width,h.height),o.scale(1/a.exportScale,1/a.exportScale),o.drawImage(E,-E.width/2,-E.height/2,E.width,E.height)}else o.rotate(e.angle),e.type==="image"&&o.scale(e.scale[0],e.scale[1]),o.translate(-p,-m),Ni(e,r,o,i,a);o.restore()}else{let s=Df(e,t,i,a),l=o.imageSmoothingEnabled;!a?.shouldCacheIgnoreZoom&&(!e.angle||kf(e.angle))&&(o.imageSmoothingEnabled=!1),Cf(s,o,i,a,n),o.imageSmoothingEnabled=l}break}default:throw new Error(`Unimplemented type ${e.type}`)}o.globalAlpha=1},Gf=new WeakMap([]);function zf(e){let t=Js(e),n=new Path2D(t);return Gf.set(e,n),n}function Nx(e){return Gf.get(e)}function Js(e){let t=e.simulatePressure?e.points:e.points.length?e.points.map(([r,o],i)=>[r,o,e.pressures[i]]):[[0,0,.5]],n={simulatePressure:e.simulatePressure,size:e.strokeWidth*4.25,thinning:.6,smoothing:.5,streamline:.5,easing:r=>Math.sin(r*Math.PI/2),last:!!e.lastCommittedPoint};return Gx(Fu(t,n))}function Lf(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}var Bx=/(\s?[A-Z]?,?-?[0-9]*\.[0-9]{0,2})(([0-9]|e|-)*)/g;function Gx(e){if(!e.length)return"";let t=e.length-1;return e.reduce((n,r,o,i)=>(o===t?n.push(r,Lf(r,i[0]),"L",i[0],"Z"):n.push(r,Lf(r,i[o+1])),n),["M",e[0],"Q"]).join(" ").replace(Bx,"$1")}g();function Qs(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function zx(e,t,n){let r=Qs(t,n);if(r===0)return Qs(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),Qs(e,Hx(t,n,o))}function Hx(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Hf(e,t){return el(e,0,e.length,t)}function el(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],l=0,c=1;for(let d=t+1;d<n-1;++d){let u=zx(e[d],a,s);u>l&&(l=u,c=d)}return Math.sqrt(l)>r?(el(e,t,c+1,r,i),el(e,c,n,r,i)):(i.length||i.push(a),i.push(s)),i}var Ux=e=>[8,8+e],$f=e=>[1.5,6+e];function Vx(e){let t=e.roughness,n=Math.max(e.width,e.height),r=Math.min(e.width,e.height);return r>=20&&n>=50||r>=15&&e.roundness&&Ms(e.type)||J(e)&&n>=50?t:Math.min(t/(n<10?3:2),2.5)}var ze=(e,t=!1)=>{let n={seed:e.seed,strokeLineDash:e.strokeStyle==="dashed"?Ux(e.strokeWidth):e.strokeStyle==="dotted"?$f(e.strokeWidth):void 0,disableMultiStroke:e.strokeStyle!=="solid",strokeWidth:e.strokeStyle!=="solid"?e.strokeWidth+.5:e.strokeWidth,fillWeight:e.strokeWidth/2,hachureGap:e.strokeWidth*4,roughness:Vx(e),stroke:e.strokeColor,preserveVertices:t||e.roughness<ts.cartoonist};switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":return n.fillStyle=e.fillStyle,n.fill=un(e.backgroundColor)?void 0:e.backgroundColor,e.type==="ellipse"&&(n.curveFitting=1),n;case"line":case"freedraw":return Dt(e.points)&&(n.fillStyle=e.fillStyle,n.fill=e.backgroundColor==="transparent"?void 0:e.backgroundColor),n;case"arrow":return n;default:throw new Error(`Unimplemented type ${e.type}`)}},Uf=(e,t,n)=>rt(e)&&(t||ui(e)&&n?.get(e.id)!==!0)&&un(e.backgroundColor)&&un(e.strokeColor)?{...e,roughness:0,backgroundColor:"#d3d3d3",fillStyle:"solid"}:Kr(e)?{...e,strokeColor:un(e.strokeColor)?"#000000":e.strokeColor,backgroundColor:un(e.backgroundColor)?"#f4f4f6":e.backgroundColor}:e,Vf=(e,t,n,r,o,i,a)=>{let s=nl(e,t,n,r);if(s===null)return[];switch(r){case"dot":case"circle":case"circle_outline":{let[l,c,d]=s;return delete i.strokeLineDash,[o.circle(l,c,d,{...i,fill:r==="circle_outline"?a:e.strokeColor,fillStyle:"solid",stroke:e.strokeColor,roughness:Math.min(.5,i.roughness||0)})]}case"triangle":case"triangle_outline":{let[l,c,d,u,f,p]=s;return delete i.strokeLineDash,[o.polygon([[l,c],[d,u],[f,p],[l,c]],{...i,fill:r==="triangle_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"diamond":case"diamond_outline":{let[l,c,d,u,f,p,m,h]=s;return delete i.strokeLineDash,[o.polygon([[l,c],[d,u],[f,p],[m,h],[l,c]],{...i,fill:r==="diamond_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"bar":case"arrow":default:{let[l,c,d,u,f,p]=s;if(e.strokeStyle==="dotted"){let m=$f(e.strokeWidth-1);i.strokeLineDash=[m[0],m[1]-1]}else delete i.strokeLineDash;return i.roughness=Math.min(1,i.roughness||0),[o.line(d,u,l,c,i),o.line(f,p,l,c,i)]}}},xf=(e,t,{isExporting:n,canvasBackgroundColor:r,embedsValidationStatus:o})=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":{let i;if(e.roundness){let a=e.width,s=e.height,l=Zt(Math.min(a,s),e);i=t.path(`M ${l} 0 L ${a-l} 0 Q ${a} 0, ${a} ${l} L ${a} ${s-l} Q ${a} ${s}, ${a-l} ${s} L ${l} ${s} Q 0 ${s}, 0 ${s-l} L 0 ${l} Q 0 0, ${l} 0`,ze(Uf(e,n,o),!0))}else i=t.rectangle(0,0,e.width,e.height,ze(Uf(e,n,o),!1));return i}case"diamond":{let i,[a,s,l,c,d,u,f,p]=tl(e);if(e.roundness){let m=Zt(Math.abs(a-f),e),h=Zt(Math.abs(c-s),e);i=t.path(`M ${a+m} ${s+h} L ${l-m} ${c-h}
11
+ C ${l} ${c}, ${l} ${c}, ${l-m} ${c+h}
12
+ L ${d+m} ${u-h}
13
+ C ${d} ${u}, ${d} ${u}, ${d-m} ${u-h}
14
+ L ${f+m} ${p+h}
15
+ C ${f} ${p}, ${f} ${p}, ${f+m} ${p-h}
16
+ L ${a-m} ${s+h}
17
+ C ${a} ${s}, ${a} ${s}, ${a+m} ${s+h}`,ze(e,!0))}else i=t.polygon([[a,s],[l,c],[d,u],[f,p]],ze(e));return i}case"ellipse":return t.ellipse(e.width/2,e.height/2,e.width,e.height,ze(e));case"line":case"arrow":{let i,a=ze(e),s=e.points.length?e.points:[[0,0]];if(e.roundness?i=[t.curve(s,a)]:a.fill?i=[t.polygon(s,a)]:i=[t.linearPath(s,a)],e.type==="arrow"){let{startArrowhead:l=null,endArrowhead:c="arrow"}=e;if(l!==null){let d=Vf(e,i,"start",l,t,a,r);i.push(...d)}if(c!==null){let d=Vf(e,i,"end",c,t,a,r);i.push(...d)}}return i}case"freedraw":{let i;if(zf(e),Dt(e.points)){let a=Hf(e.points,.75);i=t.curve(a,{...ze(e),stroke:"none"})}else i=null;return i}case"frame":case"magicframe":case"text":case"image":return null;default:return Rn(e,`generateElementShape(): Unimplemented type ${e?.type}`),null}};g();var Yf=e=>{let t=e.map(r=>r[0]),n=e.map(r=>r[1]);return{width:Math.max(...t)-Math.min(...t),height:Math.max(...n)-Math.min(...n)}},bn=(e,t,n,r)=>{let o=n.map(p=>p[e]),i=Math.max(...o),a=Math.min(...o),s=i-a,l=s===0?1:t/s,c=1/0,d=n.map(p=>{let m=p[e]*l,h=[...p];return h[e]=m,m<c&&(c=m),h});if(!r||d.length===2)return d;let u=a-c;return d.map(p=>p.map((m,h)=>h===e?m+u:m))};var rl=class e{static boundsCache=new WeakMap;static getBounds(t,n){let r=e.boundsCache.get(t);if(r?.version&&r.version===t.version&&!be(t))return r.bounds;let o=e.calculateBounds(t,n);return e.boundsCache.set(t,{version:t.version,bounds:o}),o}static calculateBounds(t,n){let r,[o,i,a,s,l,c]=G(t,n);if(ge(t)){let[d,u,f,p]=il(t.points.map(([m,h])=>V(m,h,l-t.x,c-t.y,t.angle)));return[d+t.x,u+t.y,f+t.x,p+t.y]}else if(J(t))r=Kx(t,l,c,n);else if(t.type==="diamond"){let[d,u]=V(l,i,l,c,t.angle),[f,p]=V(l,s,l,c,t.angle),[m,h]=V(o,c,l,c,t.angle),[E,x]=V(a,c,l,c,t.angle),w=Math.min(d,f,m,E),y=Math.min(u,p,h,x),T=Math.max(d,f,m,E),b=Math.max(u,p,h,x);r=[w,y,T,b]}else if(t.type==="ellipse"){let d=(a-o)/2,u=(s-i)/2,f=Math.cos(t.angle),p=Math.sin(t.angle),m=Math.hypot(d*f,u*p),h=Math.hypot(u*f,d*p);r=[l-m,c-h,l+m,c+h]}else{let[d,u]=V(o,i,l,c,t.angle),[f,p]=V(o,s,l,c,t.angle),[m,h]=V(a,s,l,c,t.angle),[E,x]=V(a,i,l,c,t.angle),w=Math.min(d,f,m,E),y=Math.min(u,p,h,x),T=Math.max(d,f,m,E),b=Math.max(u,p,h,x);r=[w,y,T,b]}return r}},G=(e,t,n=!1)=>{if(ge(e))return Yx(e);if(J(e))return K.getElementAbsoluteCoords(e,t,n);if(Y(e)){let r=t?Se(e,t):null;if(j(r)){let o=K.getBoundTextElementPosition(r,e,t);return[o.x,o.y,o.x+e.width,o.y+e.height,o.x+e.width/2,o.y+e.height/2]}}return[e.x,e.y,e.x+e.width,e.y+e.height,e.x+e.width/2,e.y+e.height/2]},ol=(e,t)=>{let[n,r,o,i,a,s]=G(e,t),l=[a,s];if(J(e)||ge(e)){let x=[],w=0;for(;w<e.points.length-1;)x.push([re([e.points[w][0]+e.x,e.points[w][1]+e.y],l,e.angle),re([e.points[w+1][0]+e.x,e.points[w+1][1]+e.y],l,e.angle)]),w++;return x}let[c,d,u,f,p,m,h,E]=[[n,r],[o,r],[n,i],[o,i],[a,r],[a,i],[n,s],[o,s]].map(x=>re(x,l,e.angle));return e.type==="diamond"?[[p,h],[p,E],[m,h],[m,E]]:e.type==="ellipse"?[[p,h],[p,E],[m,h],[m,E],[p,h],[p,E],[m,h],[m,E]]:[[c,d],[u,f],[c,u],[d,f],[c,E],[u,E],[d,h],[f,h]]};var tl=e=>{let t=Math.floor(e.width/2)+1,n=0,r=e.width,o=Math.floor(e.height/2)+1,i=t,a=e.height;return[t,n,r,o,i,a,0,o]},wn=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},Wf=(e,t,n,r,o)=>{let i=1-e;return Math.pow(i,3)*t+3*Math.pow(i,2)*e*n+3*i*Math.pow(e,2)*r+Math.pow(e,3)*o},Xf=(e,t,n,r)=>{let o=t-e,i=n-t,a=r-n,s=3*o-6*i+3*a,l=6*i-6*o,c=3*o,d=l*l-4*s*c;if(!(d>=0))return!1;let f=null,p=null,m=1/0,h=1/0;return s===0?m=h=-c/l:(m=(-l+Math.sqrt(d))/(2*s),h=(-l-Math.sqrt(d))/(2*s)),m>=0&&m<=1&&(f=Wf(m,e,t,n,r)),h>=0&&h<=1&&(p=Wf(h,e,t,n,r)),[f,p]},$x=(e,t,n,r)=>{let o=Xf(e[0],t[0],n[0],r[0]),i=Xf(e[1],t[1],n[1],r[1]),a=Math.min(e[0],r[0]),s=Math.max(e[0],r[0]);if(o){let d=o.filter(u=>u!==null);a=Math.min(a,...d),s=Math.max(s,...d)}let l=Math.min(e[1],r[1]),c=Math.max(e[1],r[1]);if(i){let d=i.filter(u=>u!==null);l=Math.min(l,...d),c=Math.max(c,...d)}return[a,l,s,c]},po=(e,t)=>{let n=[0,0],{minX:r,minY:o,maxX:i,maxY:a}=e.reduce((s,{op:l,data:c})=>{if(l==="move")n=c;else if(l==="bcurveTo"){let d=[c[0],c[1]],u=[c[2],c[3]],f=[c[4],c[5]],p=t?t(...d):d,m=t?t(...u):u,h=t?t(...f):f,E=t?t(...n):n;n=f;let[x,w,y,T]=$x(E,p,m,h);s.minX=Math.min(s.minX,x),s.minY=Math.min(s.minY,w),s.maxX=Math.max(s.maxX,y),s.maxY=Math.max(s.maxY,T)}return s},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r,o,i,a]},il=e=>{let t=1/0,n=1/0,r=-1/0,o=-1/0;for(let[i,a]of e)t=Math.min(t,i),n=Math.min(n,a),r=Math.max(r,i),o=Math.max(o,a);return[t,n,r,o]},Yx=e=>{let[t,n,r,o]=il(e.points),i=t+e.x,a=n+e.y,s=r+e.x,l=o+e.y;return[i,a,s,l,(i+s)/2,(a+l)/2]},Wx=e=>{switch(e){case"arrow":return 25;case"diamond":case"diamond_outline":return 12;default:return 15}},Xx=e=>{switch(e){case"bar":return 90;case"arrow":return 20;default:return 25}},nl=(e,t,n,r)=>{let o=wn(t[0]);if(o.length<1)return null;let i=n==="start"?1:o.length-1,a=o[i].data,s=[a[4],a[5]],l=[a[2],a[3]],c=[a[0],a[1]],d=o[i-1],u=[0,0];d.op==="move"?u=d.data:d.op==="bcurveTo"&&(u=[d.data[4],d.data[5]]);let f=(O,F)=>Math.pow(1-O,3)*s[F]+3*O*Math.pow(1-O,2)*l[F]+3*Math.pow(O,2)*(1-O)*c[F]+u[F]*Math.pow(O,3),[p,m]=n==="start"?u:s,[h,E]=[f(.3,0),f(.3,1)],x=Math.hypot(p-h,m-E),w=(p-h)/x,y=(m-E)/x,T=Wx(r),b=0;{let[O,F]=n==="end"?e.points[e.points.length-1]:e.points[0],[L,C]=e.points.length>1?n==="end"?e.points[e.points.length-2]:e.points[1]:[0,0];b=Math.hypot(O-L,F-C)}let S=Math.min(T,b*(r==="diamond"||r==="diamond_outline"?.25:.5)),A=p-w*S,I=m-y*S;if(r==="dot"||r==="circle"||r==="circle_outline"){let O=Math.hypot(I-m,A-p)+e.strokeWidth-2;return[p,m,O]}let P=Xx(r),[_,M]=V(A,I,p,m,-P*Math.PI/180),[k,$]=V(A,I,p,m,P*Math.PI/180);if(r==="diamond"||r==="diamond_outline"){let O,F;if(n==="start"){let[L,C]=e.points.length>1?e.points[1]:[0,0];[O,F]=V(p+S*2,m,p,m,Math.atan2(C-m,L-p))}else{let[L,C]=e.points.length>1?e.points[e.points.length-2]:[0,0];[O,F]=V(p-S*2,m,p,m,Math.atan2(m-C,p-L))}return[p,m,_,M,O,F,k,$]}return[p,m,_,M,k,$]},Zx=e=>{let t=It.generator(),n=ze(e),r=e.roundness?"curve":n.fill?"polygon":"linearPath";return t[r](e.points,n)},Kx=(e,t,n,r)=>{let o=q(e,r);if(e.points.length<2){let[u,f]=e.points[0],[p,m]=V(e.x+u,e.y+f,t,n,e.angle),h=[p,m,p,m];if(o){let E=K.getMinMaxXYWithBoundText(e,r,[p,m,p,m],o);h=[E[0],E[1],E[2],E[3]]}return h}let a=ue.get(e)?.[0]??Zx(e),s=wn(a),c=po(s,(u,f)=>V(e.x+u,e.y+f,t,n,e.angle)),d=[c[0],c[1],c[2],c[3]];if(o){let u=K.getMinMaxXYWithBoundText(e,r,d,o);d=[u[0],u[1],u[2],u[3]]}return d},He=(e,t)=>rl.getBounds(e,t),De=e=>{if(!e.length)return[0,0,0,0];let t=1/0,n=-1/0,r=1/0,o=-1/0,i=X(e);return e.forEach(a=>{let[s,l,c,d]=He(a,i);t=Math.min(t,s),r=Math.min(r,l),n=Math.max(n,c),o=Math.max(o,d)}),[t,r,n,o]},t_=(e,t)=>{let[n,r,o,i]=De(e);return[n+t.x,r+t.y,o+t.x,i+t.y]},Kt=(e,t,n,r)=>{if(!(J(e)||ge(e)))return[e.x,e.y,e.x+t,e.y+n];let o=bn(0,t,bn(1,n,e.points,r),r),i;if(ge(e))i=il(o);else{let d=It.generator(),u=e.roundness?d.curve(o,ze(e)):d.linearPath(o,ze(e)),f=wn(u);i=po(f)}let[a,s,l,c]=i;return[a+e.x,s+e.y,l+e.x,c+e.y]},Ns=(e,t)=>{let n=It.generator(),r=e.roundness==null?n.linearPath(t,ze(e)):n.curve(t,ze(e)),o=wn(r),[i,a,s,l]=po(o);return[i+e.x,a+e.y,s+e.x,l+e.y]},Is=(e,t)=>{if(!e.length)return[0,0,0,0];let n=1/0,r=e[0],o=X(e);return e.forEach(i=>{let[a,s,l,c]=He(i,o),d=Be((a+l)/2,(s+c)/2,t.x,t.y);d<n&&(n=d,r=i)}),He(r,o)},Zf=e=>{let[t,n,r,o]=De(e);return{minX:t,minY:n,maxX:r,maxY:o,width:r-t,height:o-n,midX:(t+r)/2,midY:(n+o)/2}},n_=({scrollX:e,scrollY:t,width:n,height:r,zoom:o})=>[-e,-t,-e+n/o.value,-t+r/o.value];var V=(e,t,n,r,o)=>[(e-n)*Math.cos(o)-(t-r)*Math.sin(o)+n,(e-n)*Math.sin(o)+(t-r)*Math.cos(o)+r],re=(e,t,n)=>V(e[0],e[1],t[0],t[1],n),Kf=(e,t,n,r,o,i,a,s)=>{let l=Math.cos(r),c=Math.sin(r);return e.e&&e.w?t+=o+a:e.e?(t+=o*(1+l),n+=o*c,t+=a*(1-l),n+=a*-c):e.w&&(t+=o*(1-l),n+=o*-c,t+=a*(1+l),n+=a*c),e.n&&e.s?n+=i+s:e.n?(t+=i*c,n+=i*(1-l),t+=s*-c,n+=s*(1+l)):e.s&&(t+=i*-c,n+=i*(1+l),t+=s*c,n+=s*(1-l)),[t,n]};var Be=(e,t,n,r)=>{let o=n-e,i=r-t;return Math.hypot(o,i)},xr=(e,t)=>[(e[0]+t[0])/2,(e[1]+t[1])/2],Dt=(e,t=1)=>{if(e.length>=3){let[n,r]=[e[0],e[e.length-1]];return Be(n[0],n[1],r[0],r[1])<=Yd/t}return!1};var Gi=(e,t,n)=>t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1]);var fo=(e,t,n)=>n?[Math.round(e/n)*n,Math.round(t/n)*n]:[e,t],Zt=(e,t)=>{if(t.roundness?.type===Fe.PROPORTIONAL_RADIUS||t.roundness?.type===Fe.LEGACY)return e*oi;if(t.roundness?.type===Fe.ADAPTIVE_RADIUS){let n=t.roundness?.value??Jd,r=n/oi;return e<=r?e*oi:n}return 0},Bs=(e,t)=>{let n=ue.generateElementShape(e,null);if(!n)return null;let r=wn(n[0]),o=[0,0],i=0,a=1/0,s=null;for(;i<r.length;){let{op:l,data:c}=r[i];if(l==="move"&&(o=c),l==="bcurveTo"){let d=o,u=[c[0],c[1]],f=[c[2],c[3]],p=[c[4],c[5]],m=Be(p[0],p[1],t[0],t[1]);m<a&&(a=m,s=[d,u,f,p]),o=p}i++}return s},Gs=(e,t,n,r,o)=>{let i=(l,c)=>Math.pow(1-l,3)*r[c]+3*l*Math.pow(1-l,2)*n[c]+3*Math.pow(l,2)*(1-l)*t[c]+e[c]*Math.pow(l,3),a=i(o,0),s=i(o,1);return[a,s]},jx=(e,t)=>{let n=Bs(e,t);if(!n)return[];let r=[],o=1;for(;o>0;){let i=Gs(n[0],n[1],n[2],n[3],o);r.push([i[0],i[1]]),o-=.05}return r.length&&zs(r.at(-1),t)&&r.push([t[0],t[1]]),r},jf=(e,t)=>{let n=[];n[0]=0;let r=jx(e,t),o=0,i=0;for(;o<r.length-1;){let a=Be(r[o][0],r[o][1],r[o+1][0],r[o+1][1]);i+=a,n.push(i),o++}return n},wf=(e,t)=>jf(e,t).at(-1),yf=(e,t,n)=>{let r=jf(e,t),o=r.length-1,i=r.at(-1),a=n*i,s=0,l=o,c=0;for(;s<l;)c=Math.floor(s+(l-s)/2),r[c]<a?s=c+1:l=c;return r[c]>a&&c--,r[c]===a?c/o:1-(c+(a-r[c])/(r[c+1]-r[c]))/o},zs=(e,t)=>e[0]===t[0]&&e[1]===t[1],kf=e=>Math.round(e/Math.PI*1e4)%5e3===0,l_=([e,t],[n,r])=>e<=n?t>=n:e>=n?r>=e:!1,c_=(e,t)=>{let n=Math.max(e[0],t[0]),r=Math.min(e[1],t[1]);return n<=r?[n,r]:null},go=(e,t,n)=>e>=t&&e<=n;g();var qx=(e,t,n)=>{let r=n.reduce((o,i)=>(i.groupIds.includes(e)&&(o[i.id]=!0),o),{});return Object.keys(r).length<2?t.selectedGroupIds[e]||t.editingGroupId===e?{selectedElementIds:t.selectedElementIds,selectedGroupIds:{...t.selectedGroupIds,[e]:!1},editingGroupId:null}:t:{editingGroupId:t.editingGroupId,selectedGroupIds:{...t.selectedGroupIds,[e]:!0},selectedElementIds:{...t.selectedElementIds,...r}}},h_=function(){let e=null,t=null,n=null,r=(i,a,s,l)=>{if(n!==void 0&&a===t&&i===e&&s.editingGroupId===n?.editingGroupId)return n;let c={};for(let f of i){let p=f.groupIds;if(s.editingGroupId){let m=p.indexOf(s.editingGroupId);m>-1&&(p=p.slice(0,m))}if(p.length>0){let m=p[p.length-1];c[m]=!0}}let d={},u=a.reduce((f,p)=>{let m=p.groupIds.find(h=>c[h]);return m&&(f[p.id]=!0,Array.isArray(d[m])?d[m].push(p.id):d[m]=[p.id]),f},{});for(let f of Object.keys(d))d[f].length<2&&c[f]&&(c[f]=!1);return t=a,e=i,n={editingGroupId:s.editingGroupId,selectedGroupIds:c,selectedElementIds:al({...s.selectedElementIds,...u},l)},n},o=(i,a,s,l)=>{let c=l?l.scene.getSelectedElements({selectedElementIds:i.selectedElementIds,elements:a}):lt(a,i);return c.length?r(c,a,i,s):{selectedGroupIds:{},editingGroupId:null,selectedElementIds:al(i.selectedElementIds,s)}};return o.clearCache=()=>{t=null,e=null,n=null},o}(),E_=(e,t)=>Jx(e,t)!=null,Jx=(e,t)=>t.groupIds.filter(n=>n!==e.editingGroupId).find(n=>e.selectedGroupIds[n]),g_=e=>Object.entries(e.selectedGroupIds).filter(([t,n])=>n).map(([t,n])=>t),qf=(e,t)=>{let n={...t,selectedGroupIds:{}};for(let r of e){let o=r.groupIds;if(t.editingGroupId){let i=o.indexOf(t.editingGroupId);i>-1&&(o=o.slice(0,i))}if(o.length>0){let i=o[o.length-1];n={...n,...qx(i,n,e)}}}return n.selectedGroupIds},x_=(e,t)=>({...e,editingGroupId:t.groupIds.length?t.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:{[t.id]:!0}}),Qx=(e,t)=>e.groupIds.includes(t),br=(e,t)=>{let n=[];for(let r of e.values())Qx(r,t)&&n.push(r);return n},w_=(e,t)=>e.groupIds.find(n=>t[n]),Jf=(e,t,n)=>{let r=[...e],o=t?e.indexOf(t):-1,i=o>-1?o:e.length;for(let a=0;a<i;a++)r[a]=n(r[a]);return r},y_=(e,t,n)=>{let r=[...e],o=n?r.indexOf(n):-1,i=o>-1?o:r.length;return r.splice(i,0,t),r},b_=(e,t)=>e.filter(n=>!t[n]),v_=(e,t)=>{let n=new Map;return e.forEach(r=>{let o=r.groupIds.length===0?r.id:r.groupIds[r.groupIds.length-1],i=n.get(o)||[],a=q(r,t);a&&i.push(a),n.set(o,[...i,r])}),Array.from(n.values())},Qf=e=>{let t=new Set;for(let[,n]of e)if(!n.isDeleted)for(let r of n.groupIds??[])t.add(r);return t};var ep=e=>e.groupIds.length>0;g();g();g();g();g();var np=Mr(tp(),1),Hi=e=>e.replace(/"/g,"&quot;"),vr=e=>(e=e.trim(),e&&(0,np.sanitizeUrl)(Hi(e))),I_=e=>!!(e?.includes(location.origin)||e?.startsWith("/")),rp=e=>{if(e=vr(e),e.startsWith("/"))return`${location.origin}${e}`;try{new URL(e)}catch{return"about:blank"}return e};g();g();var op=[],ip=e=>(op=op.concat(e),e);g();var sp='<svg viewBox="0 0 24 24" stroke-width="1" width="28" height="28" xmlns="http://www.w3.org/2000/svg">',cw='<path d="M6.164 11.755a5.314 5.314 0 0 1-4.932-5.298 5.314 5.314 0 0 1 5.311-5.311 5.314 5.314 0 0 1 5.307 5.113l8.773 8.773a3.322 3.322 0 0 1 0 4.696l-.895.895a3.322 3.322 0 0 1-4.696 0l-8.868-8.868Z" style="fill:#fff"/>',lp='<path stroke="#1b1b1f" fill="#fff" d="m7.868 11.113 7.773 7.774a2.359 2.359 0 0 0 1.667.691 2.368 2.368 0 0 0 2.357-2.358c0-.625-.248-1.225-.69-1.667L11.201 7.78 9.558 9.469l-1.69 1.643v.001Zm10.273 3.606-3.333 3.333m-3.25-6.583 2 2m-7-7 3 3M3.664 3.625l1 1M2.529 6.922l1.407-.144m5.735-2.932-1.118.866M4.285 9.823l.758-1.194m1.863-6.207-.13 1.408"/>',dw=`data:${B.svg},${encodeURIComponent(`${sp}${lp}</svg>`)}`,uw=`data:${B.svg},${encodeURIComponent(`${sp}${cw}${lp}</svg>`)}`,fw=e=>{e&&(e.style.cursor="")},pw=(e,t)=>{e&&(e.style.cursor=t)},Ct,ap,mw=(e,t)=>{let r=()=>{let o=t===Re.DARK;Ct=document.createElement("canvas"),Ct.theme=t,Ct.height=20,Ct.width=20;let i=Ct.getContext("2d");i.lineWidth=1,i.beginPath(),i.arc(Ct.width/2,Ct.height/2,5,0,2*Math.PI),i.fillStyle=o?On.black:On.white,i.fill(),i.strokeStyle=o?On.white:On.black,i.stroke(),ap=Ct.toDataURL(B.svg)};(!Ct||Ct.theme!==t)&&r(),pw(e,`url(${ap}) ${20/2} ${20/2}, auto`)},cp=(e,t)=>{if(e)if(t.activeTool.type==="selection")fw(e);else if(ou(t))e.style.cursor=Qo.GRAB;else if(ru(t))mw(e,t.theme);else if(t.activeTool.type==="laser"){let n=t.theme===Re.LIGHT?dw:uw;e.style.cursor=`url(${n}), auto`}else["image","custom"].includes(t.activeTool.type)?t.activeTool.type!=="image"&&(e.style.cursor=Qo.AUTO):e.style.cursor=Qo.CROSSHAIR};g();g();var hw=new cr(Date.now()),Ew=0,Lt=()=>Math.floor(hw.next()*2**31);var dt=()=>Ht()?`id${Ew++}`:ii();var jt=(e,{x:t,y:n,strokeColor:r=ne.strokeColor,backgroundColor:o=ne.backgroundColor,fillStyle:i=ne.fillStyle,strokeWidth:a=ne.strokeWidth,strokeStyle:s=ne.strokeStyle,roughness:l=ne.roughness,opacity:c=ne.opacity,width:d=0,height:u=0,angle:f=0,groupIds:p=[],frameId:m=null,index:h=null,roundness:E=null,boundElements:x=null,link:w=null,locked:y=ne.locked,...T})=>({id:T.id||dt(),type:e,x:t,y:n,width:d,height:u,angle:f,strokeColor:r,backgroundColor:o,fillStyle:i,strokeWidth:a,strokeStyle:s,roughness:l,opacity:c,groupIds:p,frameId:m,index:h,roundness:E,seed:T.seed??Lt(),version:T.version||1,versionNonce:T.versionNonce??0,isDeleted:!1,boundElements:x,updated:zt(),link:w,locked:y,customData:T.customData}),xo=e=>jt(e.type,e),q_=e=>jt("embeddable",e),J_=e=>({...jt("iframe",e)}),Q_=e=>ut({...jt("frame",e),type:"frame",name:e?.name||null},{}),eI=e=>ut({...jt("magicframe",e),type:"magicframe",name:e?.name||null},{}),dp=(e,t)=>({x:e.textAlign==="center"?t.width/2:e.textAlign==="right"?t.width:0,y:e.verticalAlign==="middle"?t.height/2:0}),kt=e=>{let t=e.fontFamily||tt,n=e.fontSize||Tt,r=e.lineHeight||Fi(t),o=Ys(e.text),i=Wt(o,ce({fontFamily:t,fontSize:n}),r),a=e.textAlign||ir,s=e.verticalAlign||ti,l=dp({textAlign:a,verticalAlign:s},i),c={...jt("text",e),text:o,fontSize:n,fontFamily:t,textAlign:a,verticalAlign:s,x:e.x-l.x,y:e.y-l.y,width:i.width,height:i.height,containerId:e.containerId||null,originalText:o,autoResize:!0,lineHeight:r};return ut(c,{})},gw=(e,t,n)=>{let{width:r,height:o}=Wt(n,ce(e),e.lineHeight);e.autoResize||(r=e.width);let{textAlign:i,verticalAlign:a}=e,s,l;if(i==="center"&&a===Gt.MIDDLE&&!e.containerId&&e.autoResize){let c=Wt(e.text,ce(e),e.lineHeight),d=dp(e,{width:r-c.width,height:o-c.height});s=e.x-d.x,l=e.y-d.y}else{let[c,d,u,f]=G(e,t),[p,m,h,E]=Kt(e,r,o,!1),x=(c-p)/2,w=(d-m)/2,y=(u-h)/2,T=(f-E)/2;[s,l]=Kf({s:!0,e:i==="center"||i==="left",w:i==="center"||i==="right"},e.x,e.y,e.angle,x,w,y,T)}return{width:r,height:o,x:Number.isFinite(s)?s:e.x,y:Number.isFinite(l)?l:e.y}},sl=(e,t,n,r=e.text)=>{if(e.isDeleted)return;(t||!e.autoResize)&&(r=yn(r,ce(e),t?ct(t,e):e.width));let o=gw(e,n,r);return{text:r,...o}},tI=e=>({...jt(e.type,e),points:e.points||[],pressures:[],simulatePressure:e.simulatePressure,lastCommittedPoint:null}),Yn=e=>({...jt(e.type,e),points:e.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:e.startArrowhead||null,endArrowhead:e.endArrowhead||null}),xw=e=>({...jt("image",e),strokeColor:"transparent",status:e.status??"pending",fileId:e.fileId??null,scale:e.scale??[1,1]}),Ui=(e,t=0)=>{if(e==null||typeof e!="object")return e;let n=Object.prototype.toString.call(e);if(n==="[object Object]"){let r=typeof e.constructor=="function"?Object.create(Object.getPrototypeOf(e)):{};for(let o in e)if(e.hasOwnProperty(o)){if(t===0&&(o==="shape"||o==="canvas"))continue;r[o]=Ui(e[o],t+1)}return r}if(Array.isArray(e)){let r=e.length,o=new Array(r);for(;r--;)o[r]=Ui(e[r],t+1);return o}return v.DEV&&n!=="[object Object]"&&n!=="[object Array]"&&n.startsWith("[object ")&&console.warn(`_deepCloneElement: unexpected object type ${n}. This value will not be cloned!`),e},wo=e=>Ui(e),Vi=e=>{if(Ht()&&e){let t=`${e}_copy`;return window.h?.app?.getSceneElementsIncludingDeleted().find(n=>n.id===t)&&(t+="_copy"),t}return dt()},ww=(e,t,n,r)=>{let o=wo(n);return o.id=Vi(o.id),o.boundElements=null,o.updated=zt(),o.seed=Lt(),o.groupIds=Jf(o.groupIds,e,i=>(t.has(i)||t.set(i,Vi(i)),t.get(i))),r&&(o=Object.assign(o,r)),o},nI=(e,t)=>{let n=[],r=X(e),o=new Map,i=s=>{if(o.has(s))return o.get(s);if(r.has(s)){let l=Vi(s);return o.set(s,l),l}return null},a=new Map;for(let s of e){let l=Ui(s);if(l.id=i(s.id),t?.randomizeSeed&&(l.seed=Lt(),yo(l)),l.groupIds&&(l.groupIds=l.groupIds.map(c=>(a.has(c)||a.set(c,Vi(c)),a.get(c)))),"containerId"in l&&l.containerId){let c=i(l.containerId);l.containerId=c}if("boundElements"in l&&l.boundElements&&(l.boundElements=l.boundElements.reduce((c,d)=>{let u=i(d.id);return u&&c.push({...d,id:u}),c},[])),"endBinding"in l&&l.endBinding){let c=i(l.endBinding.elementId);l.endBinding=c?{...l.endBinding,elementId:c}:null}if("startBinding"in l&&l.startBinding){let c=i(l.startBinding.elementId);l.startBinding=c?{...l.startBinding,elementId:c}:null}l.frameId&&(l.frameId=i(l.frameId)),n.push(l)}return n};g();g();g();g();var pp="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function Ar(e,t,n){let r=n[0];if(t!=null&&e>=t)throw new Error(e+" >= "+t);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw new Error("trailing zero");if(t){let a=0;for(;(e[a]||r)===t[a];)a++;if(a>0)return t.slice(0,a)+Ar(e.slice(a),t.slice(a),n)}let o=e?n.indexOf(e[0]):0,i=t!=null?n.indexOf(t[0]):n.length;if(i-o>1){let a=Math.round(.5*(o+i));return n[a]}else return t&&t.length>1?t.slice(0,1):n[o]+Ar(e.slice(1),null,n)}function mp(e){if(e.length!==hp(e[0]))throw new Error("invalid integer part of order key: "+e)}function hp(e){if(e>="a"&&e<="z")return e.charCodeAt(0)-97+2;if(e>="A"&&e<="Z")return 90-e.charCodeAt(0)+2;throw new Error("invalid order key head: "+e)}function bo(e){let t=hp(e[0]);if(t>e.length)throw new Error("invalid order key: "+e);return e.slice(0,t)}function up(e,t){if(e==="A"+t[0].repeat(26))throw new Error("invalid order key: "+e);let n=bo(e);if(e.slice(n.length).slice(-1)===t[0])throw new Error("invalid order key: "+e)}function fp(e,t){mp(e);let[n,...r]=e.split(""),o=!0;for(let i=r.length-1;o&&i>=0;i--){let a=t.indexOf(r[i])+1;a===t.length?r[i]=t[0]:(r[i]=t[a],o=!1)}if(o){if(n==="Z")return"a"+t[0];if(n==="z")return null;let i=String.fromCharCode(n.charCodeAt(0)+1);return i>"a"?r.push(t[0]):r.pop(),i+r.join("")}else return n+r.join("")}function yw(e,t){mp(e);let[n,...r]=e.split(""),o=!0;for(let i=r.length-1;o&&i>=0;i--){let a=t.indexOf(r[i])-1;a===-1?r[i]=t.slice(-1):(r[i]=t[a],o=!1)}if(o){if(n==="a")return"Z"+t.slice(-1);if(n==="A")return null;let i=String.fromCharCode(n.charCodeAt(0)-1);return i<"Z"?r.push(t.slice(-1)):r.pop(),i+r.join("")}else return n+r.join("")}function Tr(e,t,n=pp){if(e!=null&&up(e,n),t!=null&&up(t,n),e!=null&&t!=null&&e>=t)throw new Error(e+" >= "+t);if(e==null){if(t==null)return"a"+n[0];let l=bo(t),c=t.slice(l.length);if(l==="A"+n[0].repeat(26))return l+Ar("",c,n);if(l<t)return l;let d=yw(l,n);if(d==null)throw new Error("cannot decrement any more");return d}if(t==null){let l=bo(e),c=e.slice(l.length),d=fp(l,n);return d??l+Ar(c,null,n)}let r=bo(e),o=e.slice(r.length),i=bo(t),a=t.slice(i.length);if(r===i)return r+Ar(o,a,n);let s=fp(r,n);if(s==null)throw new Error("cannot increment any more");return s<t?s:r+Ar(o,null,n)}function $i(e,t,n,r=pp){if(n===0)return[];if(n===1)return[Tr(e,t,r)];if(t==null){let a=Tr(e,t,r),s=[a];for(let l=0;l<n-1;l++)a=Tr(a,t,r),s.push(a);return s}if(e==null){let a=Tr(e,t,r),s=[a];for(let l=0;l<n-1;l++)a=Tr(e,a,r),s.push(a);return s.reverse(),s}let o=Math.floor(n/2),i=Tr(e,t,r);return[...$i(e,i,o,r),i,...$i(i,t,n-o-1,r)]}g();var Yi=class extends Error{constructor(t="Couldn't export canvas.",n="CANVAS_ERROR"){super(),this.name=n,this.message=t}},Wi=class extends DOMException{constructor(t="Request Aborted"){super(t,"AbortError")}},qt=class extends Error{code;constructor(t="Image Scene Data Error",n="IMAGE_SCENE_DATA_ERROR"){super(t),this.name="EncodingError",this.code=n}},Xi=class extends Error{code="ELEMENT_HAS_INVALID_INDEX"};var ll=e=>{for(let[t,n]of e.entries()){let r=e[t-1],o=e[t+1];if(!vo(n,r,o))throw new Xi(`Fractional indices invariant for element has been compromised - ["${r}", "${n}", "${o}"] [predecessor, current, successor]`)}},gp=e=>e.sort((t,n)=>Ep(t)&&Ep(n)?t.index<n.index?-1:t.index>n.index?1:t.id<n.id?-1:1:1),To=(e,t)=>{try{let n=bw(e,t),r=xp(e,n);ll(e.map(o=>r.get(o)?.index||o.index));for(let[o,i]of r)R(o,i,!1)}catch{Wn(e)}return e},Wn=e=>{let t=vw(e),n=xp(e,t);for(let[r,o]of n)R(r,o,!1);return e},bw=(e,t)=>{let n=[],r=0;for(;r<e.length;)if(t.has(e[r].id)&&!vo(e[r]?.index,e[r-1]?.index,e[r+1]?.index)){let o=[r-1,r];for(;++r<e.length&&(t.has(e[r].id)&&!vo(e[r]?.index,e[r-1]?.index,e[r+1]?.index));)o.push(r);o.push(r),n.push(o)}else r++;return n},vw=e=>{let t=[],n,r,o=-1,i=0,a=c=>{let d=e[o]?e[o].index:void 0,u=e[c-1]?.index;return!d&&u||d&&u&&u>d?[u,c-1]:[d,o]},s=c=>{let d=e[i]?e[i].index:void 0;if(d&&c<i)return[d,i];let u=i;for(;++u<e.length;){let f=e[u]?.index;if(!d&&f||d&&f&&f>d)return[f,u]}return[void 0,u]},l=0;for(;l<e.length;){let c=e[l].index;if([n,o]=a(l),[r,i]=s(l),vo(c,n,r))l++;else{let d=[o,l];for(;++l<e.length;){let u=e[l].index,[f,p]=a(l),[m,h]=s(l);if(vo(u,f,m))break;[n,o]=[f,p],[r,i]=[m,h],d.push(l)}d.push(i),t.push(d)}}return t},vo=(e,t,n)=>e?t&&n?t<e&&e<n:!t&&n?e<n:t&&!n?t<e:!!e:!1,xp=(e,t)=>{let n=new Map;for(let r of t){let o=r.shift(),i=r.pop(),a=$i(e[o]?.index,e[i]?.index,r.length);for(let s=0;s<r.length;s++){let l=e[r[s]];n.set(l,{index:a[s]})}}return n},Ep=e=>!!e.index;var le=class e{constructor(t,n){this.deleted=t;this.inserted=n}static create(t,n,r,o){let i=r&&o!=="inserted"?r(t):t,a=r&&o!=="deleted"?r(n):n;return new e(i,a)}static calculate(t,n,r,o){if(t===n)return e.empty();let i={},a={};for(let c of this.distinctKeysIterator("full",t,n))i[c]=t[c],a[c]=n[c];let[s,l]=o?o(i,a):[i,a];return e.create(s,l,r)}static empty(){return new e({},{})}static isEmpty(t){return!Object.keys(t.deleted).length&&!Object.keys(t.inserted).length}static mergeObjects(t,n,r){let o={...t};for(let i of Object.keys(r))delete o[i];return{...o,...n}}static mergeArrays(t,n,r,o){return Object.values(e.mergeObjects(At(t??[],o),At(n??[],o),At(r??[],o)))}static diffObjects(t,n,r,o){if(!(!t[r]&&!n[r])&&(typeof t[r]=="object"||typeof n[r]=="object")){let i=t[r]??{},a=n[r]??{},s=e.getLeftDifferences(i,a).reduce((c,d)=>(c[d]=o(i[d]),c),{}),l=e.getRightDifferences(i,a).reduce((c,d)=>(c[d]=o(a[d]),c),{});Object.keys(s).length||Object.keys(l).length?(Reflect.set(t,r,s),Reflect.set(n,r,l)):(Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r))}}static diffArrays(t,n,r,o){if(!(!t[r]&&!n[r])&&(Array.isArray(t[r])||Array.isArray(n[r]))){let i=Array.isArray(t[r])?t[r]:[],a=Array.isArray(n[r])?n[r]:[],s=At(e.getLeftDifferences(At(i,o),At(a,o))),l=At(e.getRightDifferences(At(i,o),At(a,o)));if(Object.keys(s).length||Object.keys(l).length){let c=i.filter(u=>s[o?o(u):String(u)]),d=a.filter(u=>l[o?o(u):String(u)]);Reflect.set(t,r,c),Reflect.set(n,r,d)}else Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r)}}static isLeftDifferent(t,n,r=!1){return!!this.distinctKeysIterator("left",t,n,r).next().value}static isRightDifferent(t,n,r=!1){return!!this.distinctKeysIterator("right",t,n,r).next().value}static getLeftDifferences(t,n,r=!1){return Array.from(this.distinctKeysIterator("left",t,n,r))}static getRightDifferences(t,n,r=!1){return Array.from(this.distinctKeysIterator("right",t,n,r))}static*distinctKeysIterator(t,n,r,o=!1){if(n===r)return;let i=[];t==="left"?i=Object.keys(n):t==="right"?i=Object.keys(r):t==="full"?i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])):Rn(t,`Unknown distinctKeysIterator's join param "${t}"`,!0);for(let a of i){let s=n[a],l=r[a];if(s!==l){if(!o&&typeof s=="object"&&typeof l=="object"&&s!==null&&l!==null&&Ut(s,l))continue;yield a}}}},Ao=class e{constructor(t){this.delta=t}static calculate(t,n){let r=le.calculate(t,n,void 0,e.postProcess);return new e(r)}static empty(){return new e(le.create({},{}))}inverse(){let t=le.create(this.delta.inserted,this.delta.deleted);return new e(t)}applyTo(t,n){try{let{selectedElementIds:r={},selectedGroupIds:o={}}=this.delta.deleted,{selectedElementIds:i={},selectedGroupIds:a={},selectedLinearElementId:s,editingLinearElementId:l,...c}=this.delta.inserted,d=le.mergeObjects(t.selectedElementIds,i,r),u=le.mergeObjects(t.selectedGroupIds,a,o),f=s&&n.has(s)?new K(n.get(s)):null,p=l&&n.has(l)?new K(n.get(l)):null,m={...t,...c,selectedElementIds:d,selectedGroupIds:u,selectedLinearElement:typeof s<"u"?f:t.selectedLinearElement,editingLinearElement:typeof l<"u"?p:t.editingLinearElement},h=this.filterInvisibleChanges(t,m,n);return[m,h]}catch(r){if(console.error("Couldn't apply appstate change",r),v.DEV||v.MODE===et.TEST)throw r;return[t,!1]}}isEmpty(){return le.isEmpty(this.delta)}static postProcess(t,n){try{le.diffObjects(t,n,"selectedElementIds",r=>!0),le.diffObjects(t,n,"selectedGroupIds",r=>r??!1)}catch(r){if(console.error("Couldn't postprocess appstate change deltas."),v.DEV||v.MODE===et.TEST)throw r}finally{return[t,n]}}filterInvisibleChanges(t,n,r){let o=_o(t),i=_o(n),a=le.isRightDifferent(e.stripElementsProps(o),e.stripElementsProps(i)),s=le.isRightDifferent(e.stripStandaloneProps(o),e.stripStandaloneProps(i));if(!a&&!s)return!1;let l={value:a};if(s){let c=le.getRightDifferences(e.stripStandaloneProps(o),e.stripStandaloneProps(i)),d=new Set;(c.includes("editingGroupId")||c.includes("selectedGroupIds"))&&(d=Qf(r));for(let u of c)switch(u){case"selectedElementIds":n[u]=e.filterSelectedElements(n[u],r,l);break;case"selectedGroupIds":n[u]=e.filterSelectedGroups(n[u],d,l);break;case"editingGroupId":let f=n[u];f?d.has(f)?l.value=!0:n[u]=null:l.value=!0;break;case"selectedLinearElementId":case"editingLinearElementId":let p=e.convertToAppStateKey(u),m=n[p];if(!m)l.value=!0;else{let h=r.get(m.elementId);h&&!h.isDeleted?l.value=!0:n[p]=null}break;default:Rn(u,`Unknown ObservedElementsAppState's key "${u}"`,!0)}}return l.value}static convertToAppStateKey(t){switch(t){case"selectedLinearElementId":return"selectedLinearElement";case"editingLinearElementId":return"editingLinearElement"}}static filterSelectedElements(t,n,r){let o=Object.keys(t);if(!o.length)return r.value=!0,t;let i={...t};for(let a of o){let s=n.get(a);s&&!s.isDeleted?r.value=!0:delete i[a]}return i}static filterSelectedGroups(t,n,r){if(!Object.keys(t).length)return r.value=!0,t;let i={...t};for(let a of Object.keys(i))n.has(a)?r.value=!0:delete i[a];return i}static stripElementsProps(t){let{editingGroupId:n,selectedGroupIds:r,selectedElementIds:o,editingLinearElementId:i,selectedLinearElementId:a,...s}=t;return s}static stripStandaloneProps(t){let{name:n,viewBackgroundColor:r,...o}=t;return o}},So=class e{constructor(t,n,r){this.added=t;this.removed=n;this.updated=r}static create(t,n,r,o={shouldRedistribute:!1}){let i;if(o.shouldRedistribute){let a=new Map,s=new Map,l=new Map,c=[...t,...n,...r];for(let[d,u]of c)this.satisfiesAddition(u)?a.set(d,u):this.satisfiesRemoval(u)?s.set(d,u):l.set(d,u);i=new e(a,s,l)}else i=new e(t,n,r);return(v.DEV||v.MODE===et.TEST)&&(e.validate(i,"added",this.satisfiesAddition),e.validate(i,"removed",this.satisfiesRemoval),e.validate(i,"updated",this.satisfiesUpdate)),i}static satisfiesAddition=({deleted:t,inserted:n})=>t.isDeleted===!0&&!n.isDeleted;static satisfiesRemoval=({deleted:t,inserted:n})=>!t.isDeleted&&n.isDeleted===!0;static satisfiesUpdate=({deleted:t,inserted:n})=>!!t.isDeleted==!!n.isDeleted;static validate(t,n,r){for(let[o,i]of t[n].entries())if(!r(i))throw console.error(`Broken invariant for "${n}" delta, element "${o}", delta:`,i),new Error(`ElementsChange invariant broken for element "${o}".`)}static calculate(t,n){if(t===n)return e.empty();let r=new Map,o=new Map,i=new Map;for(let a of t.values())if(!n.get(a.id)){let l={...a,isDeleted:!1},c={isDeleted:!0},d=le.create(l,c,e.stripIrrelevantProps);o.set(a.id,d)}for(let a of n.values()){let s=t.get(a.id);if(!s){let l={isDeleted:!0},c={...a,isDeleted:!1},d=le.create(l,c,e.stripIrrelevantProps);r.set(a.id,d);continue}if(s.versionNonce!==a.versionNonce){let l=le.calculate(s,a,e.stripIrrelevantProps,e.postProcess);if(typeof s.isDeleted=="boolean"&&typeof a.isDeleted=="boolean"&&s.isDeleted!==a.isDeleted){s.isDeleted&&!a.isDeleted?r.set(a.id,l):o.set(a.id,l);continue}le.isEmpty(l)||i.set(a.id,l)}}return e.create(r,o,i)}static empty(){return e.create(new Map,new Map,new Map)}inverse(){let t=i=>{let a=new Map;for(let[s,l]of i.entries())a.set(s,le.create(l.inserted,l.deleted));return a},n=t(this.added),r=t(this.removed),o=t(this.updated);return e.create(r,n,o)}isEmpty(){return this.added.size===0&&this.removed.size===0&&this.updated.size===0}applyLatestChanges(t){let n=s=>l=>{let c={};for(let d of Object.keys(l))switch(d){case"boundElements":c[d]=l[d];break;default:c[d]=s[d]}return c},r=s=>{let l=new Map;for(let[c,d]of s.entries()){let u=t.get(c);if(u){let f=le.create(d.deleted,d.inserted,n(u),"inserted");l.set(c,f)}else l.set(c,d)}return l},o=r(this.added),i=r(this.removed),a=r(this.updated);return e.create(o,i,a,{shouldRedistribute:!0})}applyTo(t,n){let r=Vt(new Map(t)),o,i={containsVisibleDifference:!1,containsZindexDifference:!1};try{let a=e.createApplier(r,n,i),s=a(this.added),l=a(this.removed),c=a(this.updated),d=this.resolveConflicts(t,r);o=new Map([...s,...l,...c,...d])}catch(a){if(console.error("Couldn't apply elements change",a),v.DEV||v.MODE===et.TEST)throw a;return[t,!0]}try{e.redrawTextBoundingBoxes(r,o),e.redrawBoundArrows(r,o),r=e.reorderElements(r,o,i)}catch(a){if(console.error("Couldn't mutate elements after applying elements change",a),v.DEV||v.MODE===et.TEST)throw a}finally{return[r,i.containsVisibleDifference]}}static createApplier=(t,n,r)=>{let o=e.createGetter(t,n,r);return i=>Array.from(i.entries()).reduce((a,[s,l])=>{let c=o(s,l.inserted);if(c){let d=e.applyDelta(c,l,r);t.set(d.id,d),a.set(d.id,d)}return a},new Map)};static createGetter=(t,n,r)=>(o,i)=>{let a=t.get(o);return a||(a=n.get(o),a&&(r.containsZindexDifference=!0,(i.isDeleted===!1||i.isDeleted!==!0&&a.isDeleted===!1)&&(r.containsVisibleDifference=!0))),a};static applyDelta(t,n,r={containsVisibleDifference:!0,containsZindexDifference:!0}){let{boundElements:o,...i}=n.inserted;if(n.deleted.boundElements?.length||n.inserted.boundElements?.length){let a=le.mergeArrays(t.boundElements,n.inserted.boundElements,n.deleted.boundElements,s=>s.id);Object.assign(i,{boundElements:a})}if(!r.containsVisibleDifference){let{index:a,...s}=i,l=e.checkForVisibleDifference(t,s);r.containsVisibleDifference=l}return r.containsZindexDifference||(r.containsZindexDifference=n.deleted.index!==n.inserted.index),ut(t,i)}static checkForVisibleDifference(t,n){return t.isDeleted&&n.isDeleted!==!1?!1:t.isDeleted&&n.isDeleted===!1||t.isDeleted===!1&&n.isDeleted?!0:le.isRightDifferent(t,n)}resolveConflicts(t,n){let r=new Map,o=(c,d)=>{let u=n.get(c.id);if(!u)return;let f;t.get(c.id)===u?f=ut(u,d):f=R(u,d),r.set(f.id,f),n.set(f.id,f)};for(let[c]of this.removed)e.unbindAffected(t,n,c,o);for(let[c]of this.added)e.rebindAffected(t,n,c,o);for(let[c]of Array.from(this.updated).filter(([d,u])=>Object.keys({...u.deleted,...u.inserted}).find(f=>gf.has(f)))){let d=n.get(c);!d||d.isDeleted||e.rebindAffected(t,n,c,o)}let i=new Map(Array.from(t).filter(([c])=>r.has(c))),{added:a,removed:s,updated:l}=e.calculate(i,r);for(let[c,d]of a)this.added.set(c,d);for(let[c,d]of s)this.removed.set(c,d);for(let[c,d]of l)this.updated.set(c,d);return r}static unbindAffected(t,n,r,o){let i=()=>t.get(r),a=()=>n.get(r);En.unbindAffected(n,i(),o),En.unbindAffected(n,a(),o),gn.unbindAffected(n,i(),o),gn.unbindAffected(n,a(),o)}static rebindAffected(t,n,r,o){let i=()=>t.get(r),a=()=>n.get(r);En.unbindAffected(n,i(),o),En.rebindAffected(n,a(),o),gn.unbindAffected(n,i(),(s,l)=>{Y(s)&&o(s,l)}),gn.rebindAffected(n,a(),o)}static redrawTextBoundingBoxes(t,n){let r=new Map;for(let o of n.values()){if(be(o)){let{containerId:i}=o,a=i?t.get(i):void 0;a&&r.set(a.id,{container:a,boundText:o})}if(lr(o)){let i=Xt(o),a=i?t.get(i):void 0;a&&r.set(o.id,{container:o,boundText:a})}}for(let{container:o,boundText:i}of r.values())o.isDeleted||i.isDeleted||Xs(i,o,t,!1)}static redrawBoundArrows(t,n){for(let r of n.values())!r.isDeleted&&Fn(r)&&Mt(r,t)}static reorderElements(t,n,r){if(!r.containsZindexDifference)return t;let o=Array.from(t.values()),i=gp([...o]);return!r.containsVisibleDifference&&le.isRightDifferent(o,i,!0)&&(r.containsVisibleDifference=!0),X(To(i,n))}static postProcess(t,n){try{le.diffArrays(t,n,"boundElements",r=>r.id)}catch(r){if(console.error("Couldn't postprocess elements change deltas."),v.DEV||v.MODE===et.TEST)throw r}finally{return[t,n]}}static stripIrrelevantProps(t){let{id:n,updated:r,version:o,versionNonce:i,seed:a,...s}=t;return s}};g();var Zi=class{subscribers=[];on(...t){let n=t.flat().filter(r=>typeof r=="function");return this.subscribers.push(...n),()=>this.off(n)}once(...t){let n=t.flat().filter(o=>typeof o=="function");n.push(()=>r());let r=this.on(...n);return r}off(...t){let n=t.flat();this.subscribers=this.subscribers.filter(r=>!n.includes(r))}trigger(...t){for(let n of this.subscribers)n(...t);return this}clear(){this.subscribers=[]}};var yp="__observedAppState",_o=e=>{let t={name:e.name,editingGroupId:e.editingGroupId,viewBackgroundColor:e.viewBackgroundColor,selectedElementIds:e.selectedElementIds,selectedGroupIds:e.selectedGroupIds,editingLinearElementId:e.editingLinearElement?.elementId||null,selectedLinearElementId:e.selectedLinearElement?.elementId||null};return Reflect.defineProperty(t,yp,{value:!0,enumerable:!1}),t},Tw=e=>!!Reflect.get(e,yp),Sr={CAPTURE:"capture",UPDATE:"update",NONE:"none"},cl=class{constructor(t,n){this.elementsChange=t;this.appStateChange=n}},wp=class{onStoreIncrementEmitter=new Zi;scheduledActions=new Set;_snapshot=Ki.empty();get snapshot(){return this._snapshot}set snapshot(t){this._snapshot=t}shouldCaptureIncrement=()=>{this.scheduleAction(Sr.CAPTURE)};shouldUpdateSnapshot=()=>{this.scheduleAction(Sr.UPDATE)};scheduleAction=t=>{this.scheduledActions.add(t),this.satisfiesScheduledActionsInvariant()};commit=(t,n)=>{try{this.scheduledActions.has(Sr.CAPTURE)?this.captureIncrement(t,n):this.scheduledActions.has(Sr.UPDATE)&&this.updateSnapshot(t,n)}finally{this.satisfiesScheduledActionsInvariant(),this.scheduledActions=new Set}};captureIncrement=(t,n)=>{let r=this.snapshot,o=this.snapshot.maybeClone(t,n);if(r!==o){let i=o.meta.didElementsChange?So.calculate(r.elements,o.elements):So.empty(),a=o.meta.didAppStateChange?Ao.calculate(r.appState,o.appState):Ao.empty();(!i.isEmpty()||!a.isEmpty())&&this.onStoreIncrementEmitter.trigger(new cl(i,a)),this.snapshot=o}};updateSnapshot=(t,n)=>{let r=this.snapshot.maybeClone(t,n);this.snapshot!==r&&(this.snapshot=r)};filterUncomittedElements=(t,n)=>{for(let[r,o]of t.entries()){if(!n.get(r))continue;let a=this.snapshot.elements.get(r);a?a.version<o.version&&n.set(r,a):n.delete(r)}return n};clear=()=>{this.snapshot=Ki.empty(),this.scheduledActions=new Set};satisfiesScheduledActionsInvariant=()=>{if(!(this.scheduledActions.size>=0&&this.scheduledActions.size<=3)){let t=`There can be at most three store actions scheduled at the same time, but there are "${this.scheduledActions.size}".`;if(console.error(t,this.scheduledActions.values()),v.DEV||v.MODE===et.TEST)throw new Error(t)}}},Ki=class e{constructor(t,n,r={didElementsChange:!1,didAppStateChange:!1,isEmpty:!1}){this.elements=t;this.appState=n;this.meta=r}static empty(){return new e(new Map,_o(nt()),{didElementsChange:!1,didAppStateChange:!1,isEmpty:!0})}isEmpty(){return this.meta.isEmpty}maybeClone(t,n){let r=this.maybeCreateElementsSnapshot(t),o=this.maybeCreateAppStateSnapshot(n),i=!1,a=!1;return this.elements!==r&&(i=!0),this.appState!==o&&(a=!0),!i&&!a?this:new e(r,o,{didElementsChange:i,didAppStateChange:a})}maybeCreateAppStateSnapshot(t){if(!t)return this.appState;let n=Tw(t)?t:_o(t);return this.detectChangedAppState(n)?n:this.appState}detectChangedAppState(t){return!Ut(this.appState,t,{selectedElementIds:Ut,selectedGroupIds:Ut})}maybeCreateElementsSnapshot(t){return t?this.detectChangedElements(t)?this.createElementsSnapshot(t):this.elements:this.elements}detectChangedElements(t){if(this.elements===t)return!1;if(this.elements.size!==t.size)return!0;let n=Array.from(t.keys());for(let r=n.length-1;r>=0;r--){let o=this.elements.get(n[r]),i=t.get(n[r]);if(!o||!i||o.id!==i.id||o.versionNonce!==i.versionNonce)return!0}return!1}createElementsSnapshot(t){let n=new Map;for(let[r,o]of this.elements.entries())t.get(r)?n.set(r,o):n.set(r,ut(o,{isDeleted:!0}));for(let[r,o]of t.entries()){let i=n.get(r);(!i||i&&i.versionNonce!==o.versionNonce)&&n.set(r,wo(o))}return n}};var Jt=new Map,Aw=/^(?:http(?:s)?:\/\/)?(?:www\.)?youtu(?:be\.com|\.be)\/(embed\/|watch\?v=|shorts\/|playlist\?list=|embed\/videoseries\?list=)?([a-zA-Z0-9_-]+)(?:\?t=|&t=|\?start=|&start=)?([a-zA-Z0-9_-]+)?[^\s]*$/,Sw=/^(?:http(?:s)?:\/\/)?(?:(?:w){3}\.)?(?:player\.)?vimeo\.com\/(?:video\/)?([^?\s]+)(?:\?.*)?$/,_w=/^https:\/\/(?:www\.)?figma\.com/,bp=/^https:\/\/gist\.github\.com\/([\w_-]+)\/([\w_-]+)/,Iw=/^<script[\s\S]*?\ssrc=["'](https:\/\/gist\.github\.com\/.*?)\.js["']/i,vp=/(?:https?:\/\/)?(?:(?:w){3}\.)?(?:twitter|x)\.com\/[^/]+\/status\/(\d+)/,Pw=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:twitter|x)\.com\/[^"']*)/i,Mw=/^https:\/\/(?:www\.)?val\.town\/(v|embed)\/[a-zA-Z_$][0-9a-zA-Z_$]+\.[a-zA-Z_$][0-9a-zA-Z_$]+/,Dw=/^<(?:iframe|blockquote)[\s\S]*?\s(?:src|href)=["']([^"']*)["'][\s\S]*?>$/i,Tp=/giphy.com\/(?:clips|embed|gifs)\/[a-zA-Z0-9]*?-?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9]|$)/,dl=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","link.excalidraw.com","gist.github.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com","val.town","giphy.com"]),Ap=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com"]),Sp=e=>`<html><body>${e}</body></html>`,_p=e=>{if(!e)return null;if(Jt.has(e))return Jt.get(e);let t=e,n=Ap.has(ul(e,Ap)||""),r="generic",o={w:560,h:840},i=e.match(Aw);if(i?.[2]){let c=i[3]?`&start=${i[3]}`:"",d=e.includes("shorts");switch(r="video",i[1]){case"embed/":case"watch?v=":case"shorts/":e=`https://www.youtube.com/embed/${i[2]}?enablejsapi=1${c}`;break;case"playlist?list=":case"embed/videoseries?list=":e=`https://www.youtube.com/embed/videoseries?list=${i[2]}&enablejsapi=1${c}`;break;default:e=`https://www.youtube.com/embed/${i[2]}?enablejsapi=1${c}`;break}return o=d?{w:315,h:560}:{w:560,h:315},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}}let a=e.match(Sw);if(a?.[1]){let c=a?.[1],d=/^\d+$/.test(c)?void 0:new URIError("Invalid embed link format");return r="video",e=`https://player.vimeo.com/video/${c}?api=1`,o={w:560,h:315},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,error:d,sandbox:{allowSameOrigin:n}}}if(e.match(_w))return r="generic",e=`https://www.figma.com/embed?embed_host=share&url=${encodeURIComponent(e)}`,o={w:550,h:550},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}};let l=e.match(Mw);if(l)return e=l[1]==="embed"?l[0]:l[0].replace("/v","/embed"),Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}};if(vp.test(e)){let c=e.match(vp)[1],d=Hi(`https://twitter.com/x/status/${c}`),u={type:"document",srcdoc:f=>Sp(`<blockquote class="twitter-tweet" data-dnt="true" data-theme="${f}"><a href="${d}"></a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:n}};return Jt.set(t,u),u}if(bp.test(e)){let[,c,d]=e.match(bp),u=Hi(`https://gist.github.com/${c}/${d}`),f={type:"document",srcdoc:()=>Sp(`
18
+ <script src="${u}.js"><\/script>
19
+ <style type="text/css">
20
+ * { margin: 0px; }
21
+ table, .gist { height: 100%; }
22
+ .gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }
23
+ </style>
24
+ `),intrinsicSize:{w:550,h:720},sandbox:{allowSameOrigin:n}};return Jt.set(e,f),f}return Jt.set(e,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}},ji=e=>{let t;Kr(e)?t="IFrame element":t=!e.link||e?.link===""?"Empty Web-Embed":e.link;let n=Math.max(Math.min(e.width/2,e.width/t.length),e.width/30),r=Ee.Helvetica,o=ce({fontSize:n,fontFamily:r});return kt({x:e.x+e.width/2,y:e.y+e.height/2,strokeColor:e.strokeColor!=="transparent"?e.strokeColor:"black",backgroundColor:"transparent",fontFamily:r,fontSize:n,text:yn(t,o,e.width-20),textAlign:"center",verticalAlign:Gt.MIDDLE,angle:e.angle??0})},WI=ip({name:"setEmbeddableAsActiveTool",trackEvent:{category:"toolbar"},target:"Tool",label:"toolBar.embeddable",perform:(e,t,n,r)=>{let o=Xr(t,{type:"embeddable"});return cp(r.canvas,{...t,activeTool:o}),{elements:e,appState:{...t,activeTool:Xr(t,{type:"embeddable"})},storeAction:Sr.NONE}}}),ul=(e,t)=>{try{let{hostname:n}=new URL(e),r=n.replace(/^www\./,"");if(t instanceof Set){if(dl.has(r))return r;let i=r.replace(/^([^.]+)/,"*");return dl.has(i)?i:null}let o=t.replace(/^www\./,"");if(r===o)return o}catch{}return null},XI=e=>{let t=e.match(Pw);if(t&&t.length===2)return t[1];let n=e.match(Iw);if(n&&n.length===2)return n[1];if(Tp.test(e))return`https://giphy.com/embed/${Tp.exec(e)[1]}`;let r=e.match(Dw);return r&&r.length===2?r[1]:e},ZI=(e,t)=>{if(!e)return!1;if(t!=null)if(typeof t=="function"){let n=t(e);if(typeof n=="boolean")return n}else{if(typeof t=="boolean")return t;if(t instanceof RegExp)return t.test(e);if(Array.isArray(t)){for(let n of t)if(n instanceof RegExp){if(e.match(n))return!0}else if(ul(e,n))return!0;return!1}}return!!ul(e,dl)};var Io=(e,t,n)=>{if(typeof n>"u")return e.draw(t);let r={sets:t.sets,shape:t.shape,options:{...t.options,fixedDecimalPlaceDigits:n}};return e.draw(r)},Po=(e,t,n,r,o)=>{if(!r.enabled||!r.clip)return null;let i=Ce(e,o);if(i){let a=t.ownerDocument.createElementNS(Q,"g");return a.setAttributeNS(Q,"clip-path",`url(#${i.id})`),n.forEach(s=>a.appendChild(s)),a}return null},qi=(e,t,n,r,o,i,a,s)=>{let l={x:i,y:a},[c,d,u,f]=G(e,t),p=(u-c)/2-(e.x-c),m=(f-d)/2-(e.y-d);if(Y(e)){let y=Se(e,t);if(j(y)){let[T,b,D,S]=G(y,t),A=K.getBoundTextElementPosition(y,e,t);p=(D-T)/2-(A.x-T),m=(S-b)/2-(A.y-b),i=i+A.x-e.x,a=a+A.y-e.y}}let h=180*e.angle/Math.PI,E=r;if(e.link){let y=r.ownerDocument.createElementNS(Q,"a");y.setAttribute("href",vr(e.link)),E.appendChild(y),E=y}let x=(y,T)=>{Ht()&&y.setAttribute("data-id",T.id),E.appendChild(y)},w=(Ce(e,t)?.opacity??100)*e.opacity/1e4;switch(e.type){case"selection":throw new Error("Selection rendering is not supported for SVG");case"rectangle":case"diamond":case"ellipse":{let y=ue.generateElementShape(e,null),T=Io(n,y,ar);w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);let b=Po(e,E,[T],s.frameRendering,t);x(b||T,e);break}case"iframe":case"embeddable":{let y=ue.generateElementShape(e,s),T=Io(n,y,ar),b=e.opacity/100;b!==1&&(T.setAttribute("stroke-opacity",`${b}`),T.setAttribute("fill-opacity",`${b}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),x(T,e);let D=ji(e);qi(D,t,n,E,o,D.x+l.x-e.x,D.y+l.y-e.y,s);let S=Io(n,y,ar);for(S.setAttribute("stroke-linecap","round"),S.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);S.firstChild;)S.removeChild(S.firstChild);let A=Zt(Math.min(e.width,e.height),e),I=_p(rp(e.link||""));if(s.renderEmbeddables===!1||I?.type==="document"){let P=r.ownerDocument.createElementNS(Q,"a");P.setAttribute("href",vr(e.link||"")),P.setAttribute("target","_blank"),P.setAttribute("rel","noopener noreferrer"),P.style.borderRadius=`${A}px`,S.appendChild(P)}else{let P=r.ownerDocument.createElementNS(Q,"foreignObject");P.style.width=`${e.width}px`,P.style.height=`${e.height}px`,P.style.border="none";let _=P.ownerDocument.createElementNS(Q,"div");_.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),_.style.width="100%",_.style.height="100%";let M=_.ownerDocument.createElement("iframe");M.src=I?.link??"",M.style.width="100%",M.style.height="100%",M.style.border="none",M.style.borderRadius=`${A}px`,M.style.top="0",M.style.left="0",M.allowFullscreen=!0,_.appendChild(M),P.appendChild(_),S.appendChild(P)}x(S,e);break}case"line":case"arrow":{let y=q(e,t),T=r.ownerDocument.createElementNS(Q,"mask");if(y){T.setAttribute("id",`mask-${e.id}`);let A=r.ownerDocument.createElementNS(Q,"rect");i=i||0,a=a||0,A.setAttribute("x","0"),A.setAttribute("y","0"),A.setAttribute("fill","#fff"),A.setAttribute("width",`${e.width+100+i}`),A.setAttribute("height",`${e.height+100+a}`),T.appendChild(A);let I=r.ownerDocument.createElementNS(Q,"rect"),P=K.getBoundTextElementPosition(e,y,t),_=i+P.x-e.x,M=a+P.y-e.y;I.setAttribute("x",_.toString()),I.setAttribute("y",M.toString()),I.setAttribute("fill","#000"),I.setAttribute("width",`${y.width}`),I.setAttribute("height",`${y.height}`),I.setAttribute("opacity","1"),T.appendChild(I)}let b=r.ownerDocument.createElementNS(Q,"g");y&&b.setAttribute("mask",`url(#mask-${e.id})`),b.setAttribute("stroke-linecap","round"),ue.generateElementShape(e,s).forEach(A=>{let I=Io(n,A,ar);w!==1&&(I.setAttribute("stroke-opacity",`${w}`),I.setAttribute("fill-opacity",`${w}`)),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),e.type==="line"&&Dt(e.points)&&e.backgroundColor!=="transparent"&&I.setAttribute("fill-rule","evenodd"),b.appendChild(I)});let S=Po(e,E,[b,T],s.frameRendering,t);S?(x(S,e),E.appendChild(S)):(x(b,e),E.append(T));break}case"freedraw":{let y=ue.generateElementShape(e,s),T=y?Io(n,y,ar):r.ownerDocument.createElementNS(Q,"g");w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),T.setAttribute("stroke","none");let b=r.ownerDocument.createElementNS(Q,"path");b.setAttribute("fill",e.strokeColor),b.setAttribute("d",Js(e)),T.appendChild(b);let D=Po(e,E,[T],s.frameRendering,t);x(D||T,e);break}case"image":{let y=Math.round(e.width),T=Math.round(e.height),b=St(e)&&o[e.fileId];if(b){let D=`image-${b.id}`,S=r.querySelector(`#${D}`);if(!S){S=r.ownerDocument.createElementNS(Q,"symbol"),S.id=D;let _=r.ownerDocument.createElementNS(Q,"image");_.setAttribute("width","100%"),_.setAttribute("height","100%"),_.setAttribute("href",b.dataURL),S.appendChild(_),E.prepend(S)}let A=r.ownerDocument.createElementNS(Q,"use");if(A.setAttribute("href",`#${D}`),s.exportWithDarkMode&&b.mimeType!==B.svg&&A.setAttribute("filter",qs),A.setAttribute("width",`${y}`),A.setAttribute("height",`${T}`),A.setAttribute("opacity",`${w}`),e.scale[0]!==1||e.scale[1]!==1){let _=e.scale[0]!==1?-y:0,M=e.scale[1]!==1?-T:0;A.setAttribute("transform",`scale(${e.scale[0]}, ${e.scale[1]}) translate(${_} ${M})`)}let I=r.ownerDocument.createElementNS(Q,"g");if(I.appendChild(A),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),e.roundness){let _=r.ownerDocument.createElementNS(Q,"clipPath");_.id=`image-clipPath-${e.id}`;let M=r.ownerDocument.createElementNS(Q,"rect"),k=Zt(Math.min(e.width,e.height),e);M.setAttribute("width",`${e.width}`),M.setAttribute("height",`${e.height}`),M.setAttribute("rx",`${k}`),M.setAttribute("ry",`${k}`),_.appendChild(M),x(_,e),I.setAttributeNS(Q,"clip-path",`url(#${_.id})`)}let P=Po(e,E,[I],s.frameRendering,t);x(P||I,e)}break}case"frame":case"magicframe":{if(s.frameRendering.enabled&&s.frameRendering.outline){let y=document.createElementNS(Q,"rect");y.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),y.setAttribute("width",`${e.width}px`),y.setAttribute("height",`${e.height}px`),y.setAttribute("rx",xe.radius.toString()),y.setAttribute("ry",xe.radius.toString()),y.setAttribute("fill","none"),y.setAttribute("stroke",xe.strokeColor),y.setAttribute("stroke-width",xe.strokeWidth.toString()),x(y,e)}break}default:if(Y(e)){let y=r.ownerDocument.createElementNS(Q,"g");w!==1&&(y.setAttribute("stroke-opacity",`${w}`),y.setAttribute("fill-opacity",`${w}`)),y.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);let T=e.text.replace(/\r\n?/g,`
25
+ `).split(`
26
+ `),b=wr(e.fontSize,e.lineHeight),D=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,S=Ri(e.fontFamily,e.fontSize,b),A=li(e.text)?"rtl":"ltr",I=e.textAlign==="center"?"middle":e.textAlign==="right"||A==="rtl"?"end":"start";for(let _=0;_<T.length;_++){let M=r.ownerDocument.createElementNS(Q,"text");M.textContent=T[_],M.setAttribute("x",`${D}`),M.setAttribute("y",`${_*b+S}`),M.setAttribute("font-family",ns(e)),M.setAttribute("font-size",`${e.fontSize}px`),M.setAttribute("fill",e.strokeColor),M.setAttribute("text-anchor",I),M.setAttribute("style","white-space: pre;"),M.setAttribute("direction",A),M.setAttribute("dominant-baseline","alphabetic"),y.appendChild(M)}let P=Po(e,E,[y],s.frameRendering,t);x(P||y,e)}else throw new Error(`Unimplemented type ${e.type}`)}},Ip=(e,t,n,r,o,i)=>{r&&(e.filter(a=>!rt(a)).forEach(a=>{if(!a.isDeleted){if(Y(a)&&a.containerId&&t.has(a.containerId))return;try{qi(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i);let s=q(a,t);s&&qi(s,t,n,r,o,s.x+i.offsetX,s.y+i.offsetY,i)}catch(s){console.error(s)}}}),e.filter(a=>rt(a)).forEach(a=>{if(!a.isDeleted)try{qi(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i)}catch(s){console.error(s)}}))};g();g();g();var _r=(()=>{if(typeof self>"u")return!1;if("top"in self&&self!==top)try{}catch{return!1}else if("showOpenFilePicker"in self)return"showOpenFilePicker";return!1})(),Cw=_r?import("./file-open-002ab408-MILJ6BM2.js"):import("./file-open-7c801643-BHFKUUBS.js");async function Pp(...e){return(await Cw).default(...e)}var u2=_r?import("./directory-open-4ed118d0-57WBH3LL.js"):import("./directory-open-01563666-OLGZGYEQ.js");var Lw=_r?import("./file-save-745eba88-CGSHK46Y.js"):import("./file-save-3189631c-IHOU4DOS.js");async function Mp(...e){return(await Lw).default(...e)}var Dp=500,Cp=e=>{let t=e.extensions?.reduce((r,o)=>(r.push(B[o]),r),[]),n=e.extensions?.reduce((r,o)=>o==="jpg"?r.concat(".jpg",".jpeg"):r.concat(`.${o}`),[]);return Pp({description:e.description,extensions:n,mimeTypes:t,multiple:e.multiple??!1,legacySetup:(r,o,i)=>{let a=lu(o,Dp),s=()=>{l(),document.addEventListener("keyup",a),document.addEventListener("pointerup",a),a()},l=()=>{if(i.files?.length){let d=e.multiple?[...i.files]:i.files[0];r(d)}};requestAnimationFrame(()=>{window.addEventListener("focus",s)});let c=window.setInterval(()=>{l()},Dp);return d=>{clearInterval(c),a.cancel(),window.removeEventListener("focus",s),document.removeEventListener("keyup",a),document.removeEventListener("pointerup",a),d&&(console.warn("Opening the file was canceled (legacy-fs)."),d(new Wi))}}})},fl=(e,t)=>Mp(e,{fileName:`${t.name}.${t.extension}`,description:t.description,extensions:[`.${t.extension}`]},t.fileHandle);var kw=(e,t)=>{let n={};for(let r of e)!r.isDeleted&&"fileId"in r&&r.fileId&&t[r.fileId]&&(n[r.fileId]=t[r.fileId]);return n},Mo=(e,t,n,r)=>{let o={type:Pe.excalidraw,version:Qa.excalidraw,source:qa,elements:r==="local"?Ji(e):Rp(e),appState:r==="local"?ai(t):nu(t),files:r==="local"?kw(e,n):void 0};return JSON.stringify(o,null,2)},_2=async(e,t,n,r=t.name||eu)=>{let o=Mo(e,t,n,"local"),i=new Blob([o],{type:B.excalidraw});return{fileHandle:await fl(i,{name:r,extension:"excalidraw",description:"Excalidraw file",fileHandle:Lp(t.fileHandle)?null:t.fileHandle})}},I2=async(e,t)=>{let n=await Cp({description:"Excalidraw files"});return kp(await pl(n),e,t,n.handle)},Op=e=>e?.type===Pe.excalidraw&&(!e.elements||Array.isArray(e.elements)&&(!e.appState||typeof e.appState=="object")),ml=e=>typeof e=="object"&&e&&e.type===Pe.excalidrawLibrary&&(e.version===1||e.version===2),Ow=e=>{let t={type:Pe.excalidrawLibrary,version:Qa.excalidrawLibrary,source:qa,libraryItems:e};return JSON.stringify(t,null,2)},P2=async e=>{let t=Ow(e);await fl(new Blob([t],{type:B.excalidrawlib}),{name:"library",extension:"excalidrawlib",description:"Excalidraw library file"})};g();var Rw=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r)},r.onerror=o=>{n(o)},r.src=e}),Fp=async({fileIds:e,files:t,imageCache:n})=>{let r=new Map,o=new Map;return await Promise.all(e.reduce((i,a)=>{let s=t[a];return s&&!r.has(a)?(r.set(a,!0),i.concat((async()=>{try{if(s.mimeType===B.binary)throw new Error("Only images can be added to ImageCache");let l=Rw(s.dataURL),c={image:l,mimeType:s.mimeType};n.set(a,c);let d=await l;n.set(a,{...c,image:d})}catch{o.set(a,!0)}})())):i},[])),{imageCache:n,updatedFiles:r,erroredFiles:o}},Np=e=>e.filter(t=>St(t)),Fw=e=>e?.nodeName.toLowerCase()==="svg",k2=async e=>{let t=new DOMParser().parseFromString(e,B.svg),n=t.querySelector("svg");if(t.querySelector("parsererror")||!Fw(n))throw new Error("Invalid SVG");if(n.hasAttribute("xmlns")||n.setAttribute("xmlns",Q),!n.hasAttribute("width")||!n.hasAttribute("height")){let o=n.getAttribute("viewBox"),i=n.getAttribute("width")||"50",a=n.getAttribute("height")||"50";if(o){let s=o.match(/\d+ +\d+ +(\d+) +(\d+)/);s&&([,i,a]=s)}n.setAttribute("width",i),n.setAttribute("height",a)}return n.outerHTML};g();g();g();g();var Bp=e=>{let{angle:t,width:n,height:r,x:o,y:i}=e,a=Pt(t),s=o+n/2,l=i+r/2,c=[s,l],d=[];return e.type==="diamond"?d=[de([s,i],a,c),de([o+n,l],a,c),de([s,i+r],a,c),de([o,l],a,c)]:d=[de([o,i],a,c),de([o+n,i],a,c),de([o+n,i+r],a,c),de([o,i+r],a,c)],{type:"polygon",data:d}},G2=(e,t,n=10)=>{let[r,o,i,a,s,l]=G(e,t,!0);r-=n,i+=n,o-=n,a+=n;let c=Pt(e.angle),d=[s,l],u=de([r,o],c,d),f=de([i,o],c,d),p=de([r,a],c,d),m=de([i,a],c,d);return{type:"polygon",data:[u,f,m,p]}},z2=e=>{let{width:t,height:n,angle:r,x:o,y:i}=e;return{type:"ellipse",data:{center:[o+t/2,i+n/2],angle:r,halfWidth:t/2,halfHeight:n/2}}},Gp=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},H2=(e,t=[0,0],n,r)=>{let o=l=>de([l[0]+t[0],l[1]+t[1]],Pt(n),r),i=Gp(e),a=[],s=[0,0];for(let l of i)if(l.op==="move"&&(s=o(l.data)),l.op==="bcurveTo"){let c=o([l.data[0],l.data[1]]),d=o([l.data[2],l.data[3]]),u=o([l.data[4],l.data[5]]);a.push([s,c,d,u]),s=u}return{type:"polycurve",data:a}},Nw=e=>{let t=e[0],n=[];for(let r=1;r<e.length;r++){let o=e[r];n.push([t,o]),t=o}return n},U2=(e,t,n=!1)=>{let r=Pt(e.angle),o=a=>de(Ts(a,[e.x,e.y]),r,t),i=Nw(e.points.map(a=>o(a)));return n?{type:"polygon",data:Er(i.flat())}:{type:"polyline",data:i}},V2=(e,t,n=[0,0],r,o)=>{let i=d=>de([d[0]+n[0],d[1]+n[1]],Pt(r),o);if(e.roundness===null)return{type:"polygon",data:Er(e.points.map(d=>i(d)))};let a=Gp(t),s=[],l=!1;for(let d of a)d.op==="move"?(l=!l,l&&s.push([d.data[0],d.data[1]])):d.op==="bcurveTo"?l&&(s.push([d.data[0],d.data[1]]),s.push([d.data[2],d.data[3]]),s.push([d.data[4],d.data[5]])):d.op==="lineTo"&&l&&s.push([d.data[0],d.data[1]]);return{type:"polygon",data:ur(s,10,5).map(d=>i(d))}};var Bw=e=>{if(e.type==="arrow")return!1;let t=!un(e.backgroundColor)||lr(e)||rt(e)||Y(e);return e.type==="line"?t&&Dt(e.points):e.type==="freedraw"?t&&Dt(e.points):t||di(e)},Gw=({x:e,y:t,element:n,shape:r,threshold:o=10,frameNameBound:i=null})=>{let a=Bw(n)?Mi([e,t],r)||lo([e,t],r,o):lo([e,t],r,o);return!a&&i&&(a=Mi([e,t],{type:"polygon",data:Bp(i).data})),a},hl=(e,t,n,r,o=0)=>{let[i,a,s,l]=He(n,r);return i-=o,a-=o,s+=o,l+=o,Gi([i,a],[e,t],[s,l])},J2=(e,t)=>!Gw(e)&&hl(e.x,e.y,e.element,t),Q2=(e,t,n)=>n&&Mi([e,t],n);var El=document.createElement("img");El.src=`data:${B.svg}, ${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1971c2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>')}`;var gl=([e,t,n,r],o,i)=>{let a=Ff,s=a/i.zoom.value,l=a/i.zoom.value,c=a/i.zoom.value,d=(e+n)/2,u=(t+r)/2,f=(a-8)/(2*i.zoom.value),p=4/i.zoom.value,m=n+p-f,h=t-p-c+f,[E,x]=V(m+s/2,h+l/2,d,u,o);return[E-s/2,x-l/2,s,l]},zw=(e,t,n,[r,o])=>{let i=4/n.zoom.value,[a,s,l,c]=G(e,t),[d,u,f,p]=gl([a,s,l,c],e.angle,n);return r>d-i&&r<d+i+f&&o>u-i&&o<u+p+i},sP=(e,t,n,[r,o],i)=>!e.link||n.selectedElementIds[e.id]?!1:!i&&n.viewModeEnabled&&hl(r,o,e,t)?!0:zw(e,t,n,[r,o]);g();var uP=(e,t,n,r,o=!0)=>{e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),o&&e.stroke()},zp=(e,t)=>[e.width/t,e.height/t],Hp=({canvas:e,scale:t,normalizedWidth:n,normalizedHeight:r,theme:o,isExporting:i,viewBackgroundColor:a})=>{let s=e.getContext("2d");return s.setTransform(1,0,0,1,0,0),s.scale(t,t),i&&o===Re.DARK&&(s.filter=ri),typeof a=="string"?((a==="transparent"||a.length===5||a.length===9||/(hsla|rgba)\(/.test(a))&&s.clearRect(0,0,n,r),s.save(),s.fillStyle=a,s.fillRect(0,0,n,r),s.restore()):s.clearRect(0,0,n,r),s};var Hw=(e,t,n,r,o,i,a)=>{let l;(E=>(E.Bold="#cccccc",E.Regular="#e5e5e5"))(l||={});let c=-Math.round(o.value/t)*t+n%t,d=-Math.round(o.value/t)*t+r%t,u=Math.min(1/o.value,1),f=1/o.value,p=[u*3,f+(u+f)];e.save(),e.lineWidth=u;for(let m=c;m<c+i+t*2;m+=t){let h=Math.round(m-n)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:p),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(m,d-t),e.lineTo(m,d+a+t*2),e.stroke()}for(let m=d;m<d+a+t*2;m+=t){let h=Math.round(m-r)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:p),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(c-t,m),e.lineTo(c+i+t*2,m),e.stroke()}e.restore()},Up=(e,t,n,r)=>{t.translate(e.x+r.scrollX,e.y+r.scrollY),t.beginPath(),t.roundRect?t.roundRect(0,0,e.width,e.height,xe.radius/r.zoom.value):t.rect(0,0,e.width,e.height),t.clip(),t.translate(-(e.x+r.scrollX),-(e.y+r.scrollY))},Qt,Vp=(e,t,n,r)=>{if(e.link&&!n.selectedElementIds[e.id]){let[o,i,a,s]=G(e,r),[l,c,d,u]=gl([o,i,a,s],e.angle,n),f=l+d/2,p=c+u/2;if(t.save(),t.translate(n.scrollX+f,n.scrollY+p),t.rotate(e.angle),!Qt||Qt.zoom!==n.zoom.value){Qt=document.createElement("canvas"),Qt.zoom=n.zoom.value,Qt.width=d*window.devicePixelRatio*n.zoom.value,Qt.height=u*window.devicePixelRatio*n.zoom.value;let m=Qt.getContext("2d");m.scale(window.devicePixelRatio*n.zoom.value,window.devicePixelRatio*n.zoom.value),m.fillStyle="#fff",m.fillRect(0,0,d,u),m.drawImage(El,0,0,d,u),m.restore(),t.drawImage(Qt,l-f,c-p,d,u)}else t.drawImage(Qt,l-f,c-p,d,u);t.restore()}},$p=({canvas:e,rc:t,elementsMap:n,allElementsMap:r,visibleElements:o,scale:i,appState:a,renderConfig:s})=>{if(e===null)return;let{renderGrid:l=!0,isExporting:c}=s,[d,u]=zp(e,i),f=Hp({canvas:e,scale:i,normalizedWidth:d,normalizedHeight:u,theme:a.theme,isExporting:c,viewBackgroundColor:a.viewBackgroundColor});f.scale(a.zoom.value,a.zoom.value),l&&a.gridSize&&Hw(f,a.gridSize,a.scrollX,a.scrollY,a.zoom,d/a.zoom.value,u/a.zoom.value);let p=new Set;o.forEach(m=>{m.groupIds.length>0&&a.frameToHighlight&&a.selectedElementIds[m.id]&&(vn(m,a.frameToHighlight,n)||m.groupIds.find(h=>p.has(h)))&&m.groupIds.forEach(h=>p.add(h))}),o.filter(m=>!rt(m)).forEach(m=>{try{let h=m.frameId||a.frameToHighlight?.id;if(Y(m)&&m.containerId&&n.has(m.containerId))return;if(f.save(),h&&a.frameRendering.enabled&&a.frameRendering.clip){let x=Qi(m,n,a);x&&ea(m,n,a)&&Up(x,f,s,a),yr(m,n,r,t,f,s,a)}else yr(m,n,r,t,f,s,a);let E=q(m,n);E&&yr(E,n,r,t,f,s,a),f.restore(),c||Vp(m,f,a,n)}catch(h){console.error(h)}}),o.filter(m=>rt(m)).forEach(m=>{try{let h=()=>{if(yr(m,n,r,t,f,s,a),rt(m)&&(c||ui(m)&&s.embedsValidationStatus.get(m.id)!==!0)&&m.width&&m.height){let x=ji(m);yr(x,n,r,t,f,s,a)}c||Vp(m,f,a,n)};if((m.frameId||a.frameToHighlight?.id)&&a.frameRendering.enabled&&a.frameRendering.clip){f.save();let x=Qi(m,n,a);x&&ea(m,n,a)&&Up(x,f,s,a),h(),f.restore()}else h()}catch(h){console.error(h)}})},Uw=cu(e=>{$p(e)},{trailing:!0}),Yp=(e,t)=>{if(t){Uw(e);return}$p(e)};var Vw="<!-- svg-source:excalidraw -->",$w=(e,t)=>{if(e.width<=t)return e;let r=document.createElement("canvas").getContext("2d");r.font=ce({fontFamily:e.fontFamily,fontSize:e.fontSize});let o=e.text;if(r.measureText(o).width>t)for(let a=o.length;a>0;a--){let s=`${o.slice(0,a)}...`;if(r.measureText(s).width<=t){o=s;break}}return ut(e,{text:o,width:t})},Yw=(e,t)=>{let n=[],r=0,o=0;for(let i of e){if(ee(i)){jr(i)?r++:o++;let a=kt({x:i.x,y:i.y-xe.nameOffsetY,fontFamily:Ee.Assistant,fontSize:xe.nameFontSize,lineHeight:xe.nameLineHeight,strokeColor:t.exportWithDarkMode?xe.nameColorDarkTheme:xe.nameColorLightTheme,text:jp(i,jr(i)?r:o)});a.y-=a.height,a=$w(a,i.width),n.push(a)}n.push(i)}return n},Wp=(e,t)=>(t=t||nt().frameRendering,{enabled:e?!0:t.enabled,outline:e?!1:t.outline,name:e?!1:t.name,clip:e?!0:t.clip}),Xp=({elements:e,exportingFrame:t,frameRendering:n,exportWithDarkMode:r})=>{let o;return t?o=qp(e,t):n.enabled&&n.name?o=Yw(e,{exportWithDarkMode:r}):o=e,o},Zp=async(e,t,n,{exportBackground:r,exportPadding:o=Ja,viewBackgroundColor:i,exportingFrame:a},s=(l,c)=>{let d=document.createElement("canvas");return d.width=l*t.exportScale,d.height=c*t.exportScale,{canvas:d,scale:t.exportScale}})=>{let l=Wp(a??null,t.frameRendering??null),c=Xp({elements:e,exportingFrame:a,exportWithDarkMode:t.exportWithDarkMode,frameRendering:l});a&&(o=0);let[d,u,f,p]=xl(a?[a]:yl(c),o),{canvas:m,scale:h=1}=s(f,p),E=nt(),{imageCache:x}=await Fp({imageCache:new Map,fileIds:Np(c).map(w=>w.fileId),files:n});return Yp({canvas:m,rc:It.canvas(m),elementsMap:Vt(X(c)),allElementsMap:Vt(X(Wn(e))),visibleElements:c,scale:h,appState:{...t,frameRendering:l,viewBackgroundColor:r?i:null,scrollX:-d+o,scrollY:-u+o,zoom:E.zoom,shouldCacheIgnoreZoom:!1,theme:t.exportWithDarkMode?Re.DARK:Re.LIGHT},renderConfig:{canvasBackgroundColor:i,imageCache:x,renderGrid:!1,isExporting:!0,embedsValidationStatus:new Map,elementsPendingErasure:new Set}}),m},Kp=async(e,t,n,r)=>{let o=Wp(r?.exportingFrame??null,t.frameRendering??null),{exportPadding:i=Ja,exportWithDarkMode:a=!1,viewBackgroundColor:s,exportScale:l=1,exportEmbedScene:c}=t,{exportingFrame:d=null}=r||{},u=Xp({elements:e,exportingFrame:d,exportWithDarkMode:a,frameRendering:o});d&&(i=0);let f="";if(c)try{f=await(await import("./image-7MVXYJUE.js")).encodeSvgMetadata({text:Mo(e,t,n||{},"local")})}catch(P){console.error(P)}let[p,m,h,E]=xl(d?[d]:yl(u),i),x=document.createElementNS(Q,"svg");x.setAttribute("version","1.1"),x.setAttribute("xmlns",Q),x.setAttribute("viewBox",`0 0 ${h} ${E}`),x.setAttribute("width",`${h*l}`),x.setAttribute("height",`${E*l}`),a&&x.setAttribute("filter",ri);let w="https://excalidraw.com/";v.VITE_IS_EXCALIDRAW_NPM_PACKAGE&&(w=window.EXCALIDRAW_ASSET_PATH||`https://unpkg.com/${v.VITE_PKG_NAME}@${v.VITE_PKG_VERSION}`,w?.startsWith("/")&&(w=w.replace("/",`${window.location.origin}/`)),w=`${w}/dist/excalidraw-assets/`);let y=-p+i,T=-m+i,b=wl(e),D="",S=X(e);for(let P of b){let[_,M,k,$]=G(P,S),O=(k-_)/2-(P.x-_),F=($-M)/2-(P.y-M);D+=`<clipPath id=${P.id}>
27
+ <rect transform="translate(${P.x+y} ${P.y+T}) rotate(${P.angle} ${O} ${F})"
28
+ width="${P.width}"
29
+ height="${P.height}"
30
+ >
31
+ </rect>
32
+ </clipPath>`}if(x.innerHTML=`
33
+ ${Vw}
34
+ ${f}
35
+ <defs>
36
+ <style class="style-fonts">
37
+ @font-face {
38
+ font-family: "Virgil";
39
+ src: url("${w}Virgil.woff2");
40
+ }
41
+ @font-face {
42
+ font-family: "Cascadia";
43
+ src: url("${w}Cascadia.woff2");
44
+ }
45
+ @font-face {
46
+ font-family: "Assistant";
47
+ src: url("${w}Assistant-Regular.woff2");
48
+ }
49
+ </style>
50
+ ${D}
51
+ </defs>
52
+ `,t.exportBackground&&s){let P=x.ownerDocument.createElementNS(Q,"rect");P.setAttribute("x","0"),P.setAttribute("y","0"),P.setAttribute("width",`${h}`),P.setAttribute("height",`${E}`),P.setAttribute("fill",s),x.appendChild(P)}let A=It.svg(x),I=r?.renderEmbeddables??!1;return Ip(u,Vt(X(u)),A,x,n||{},{offsetX:y,offsetY:T,isExporting:!0,exportWithDarkMode:a,renderEmbeddables:I,frameRendering:o,canvasBackgroundColor:s,embedsValidationStatus:I?new Map(u.filter(P=>ee(P)).map(P=>[P.id,!0])):new Map}),x},xl=(e,t)=>{let[n,r,o,i]=De(e),a=We(n,o)+t*2,s=We(r,i)+t*2;return[n,r,a,s]},zP=(e,t,n)=>{let[,,r,o]=xl(e,t).map(i=>Math.trunc(i*n));return[r,o]};g();var Ww={selection:!0,text:!0,rectangle:!0,diamond:!0,ellipse:!0,line:!0,image:!0,arrow:!0,freedraw:!0,eraser:!1,custom:!0,frame:!0,embeddable:!0,hand:!0,laser:!1,magicframe:!1},Xw=e=>Object.keys(Ee).includes(e)?Ee[e]:tt,Jp=e=>e?{...e,focus:e.focus||0}:null,Ir=(e,t)=>{let n={type:t.type||e.type,version:e.version||1,versionNonce:e.versionNonce??0,index:e.index??null,isDeleted:e.isDeleted??!1,id:e.id||dt(),fillStyle:e.fillStyle||ne.fillStyle,strokeWidth:e.strokeWidth||ne.strokeWidth,strokeStyle:e.strokeStyle??ne.strokeStyle,roughness:e.roughness??ne.roughness,opacity:e.opacity==null?ne.opacity:e.opacity,angle:e.angle||0,x:t.x??e.x??0,y:t.y??e.y??0,strokeColor:e.strokeColor||ne.strokeColor,backgroundColor:e.backgroundColor||ne.backgroundColor,width:e.width||0,height:e.height||0,seed:e.seed??1,groupIds:e.groupIds??[],frameId:e.frameId??null,roundness:e.roundness?e.roundness:e.strokeSharpness==="round"?{type:fi(e.type)?Fe.LEGACY:Fe.PROPORTIONAL_RADIUS}:null,boundElements:e.boundElementIds?e.boundElementIds.map(r=>({type:"arrow",id:r})):e.boundElements??[],updated:e.updated??zt(),link:e.link?vr(e.link):null,locked:e.locked??!1};return("customData"in e||"customData"in t)&&(n.customData="customData"in t?t.customData:e.customData),{...n,...bl(n),...t}},Zw=e=>{switch(e.type){case"text":let t=e.fontSize,n=e.fontFamily;if("font"in e){let[i,a]=e.font.split(" ");t=parseFloat(i),n=Xw(a)}let r=typeof e.text=="string"&&e.text||"",o=e.lineHeight||(e.height?Sf(e):Fi(e.fontFamily));return e=Ir(e,{fontSize:t,fontFamily:n,text:r,textAlign:e.textAlign||ir,verticalAlign:e.verticalAlign||ti,containerId:e.containerId??null,originalText:e.originalText||r,autoResize:e.autoResize??!0,lineHeight:o}),!r&&!e.isDeleted&&(e={...e,originalText:r,isDeleted:!0},e=yo(e)),e;case"freedraw":return Ir(e,{points:e.points,lastCommittedPoint:null,simulatePressure:e.simulatePressure,pressures:e.pressures});case"image":return Ir(e,{status:e.status||"pending",fileId:e.fileId,scale:e.scale||[1,1]});case"line":case"draw":case"arrow":{let{startArrowhead:i=null,endArrowhead:a=e.type==="arrow"?"arrow":null}=e,s=e.x,l=e.y,c=!Array.isArray(e.points)||e.points.length<2?[[0,0],[e.width,e.height]]:e.points;return(c[0][0]!==0||c[0][1]!==0)&&({points:c,x:s,y:l}=K.getNormalizedPoints(e)),Ir(e,{type:e.type==="draw"?"line":e.type,startBinding:Jp(e.startBinding),endBinding:Jp(e.endBinding),lastCommittedPoint:null,startArrowhead:i,endArrowhead:a,points:c,x:s,y:l})}case"ellipse":case"rectangle":case"diamond":case"iframe":case"embeddable":return Ir(e,{});case"magicframe":case"frame":return Ir(e,{name:e.name??null})}return null},Kw=(e,t)=>{if(e.boundElements){let n=e.boundElements.slice(),r=new Set;e.boundElements=n.reduce((o,i)=>{let a=t.get(i.id);if(a&&!r.has(i.id)){if(r.add(i.id),a.isDeleted)return o;o.push(i),Y(a)&&!a.containerId&&(a.containerId=e.id)}return o},[])}},jw=(e,t)=>{let n=e.containerId?t.get(e.containerId):null;if(!n){e.containerId=null;return}if(!e.isDeleted&&n.boundElements&&!n.boundElements.find(r=>r.id===e.id)){let r=(n.boundElements||(n.boundElements=[])).slice();r.push({type:"text",id:e.id}),n.boundElements=r}},qw=(e,t)=>{e.frameId&&(t.get(e.frameId)||(e.frameId=null))},tm=(e,t,n)=>{let r=new Set,o=t?X(t):null,i=Wn((e||[]).reduce((s,l)=>{if(l.type!=="selection"&&!Co(l)){let c=Zw(l);if(c){let d=o?.get(l.id);d&&d.version>c.version&&(c=yo(c,d.version)),r.has(c.id)&&(c={...c,id:dt()}),r.add(c.id),s.push(c)}}return s},[]));if(!n?.repairBindings)return i;let a=X(i);for(let s of i)s.frameId&&qw(s,a),Y(s)&&s.containerId?jw(s,a):s.boundElements&&Kw(s,a),n.refreshDimensions&&Y(s)&&Object.assign(s,sl(s,Se(s,a),a));return i},Jw=(e,t,n)=>{let r=t[e];return r!==void 0?r:n[e]},Qp={isSidebarDocked:(e,t)=>["defaultSidebarDockedPreference",e.isSidebarDocked??Jw("defaultSidebarDockedPreference",e,t)]},Qw=(e,t)=>{e=e||{};let n=nt(),r={};for(let o of Object.keys(Qp))if(o in e){let[i,a]=Qp[o](e,n);r[i]=a}for(let[o,i]of Object.entries(n)){let a=e[o],s=t?t[o]:void 0;r[o]=a!==void 0?a:s!==void 0?s:i}return{...r,cursorButton:t?.cursorButton||"up",penDetected:t?.penDetected??(e.penMode?e.penDetected??!1:!1),activeTool:{...Xr(n,r.activeTool.type&&Ww[r.activeTool.type]?r.activeTool:{type:"selection"}),lastActiveTool:null,locked:r.activeTool.locked??!1},zoom:typeof e.zoom=="number"?{value:e.zoom}:e.zoom?.value?e.zoom:n.zoom,openSidebar:typeof e.openSidebar=="string"?{name:Qd.name}:r.openSidebar}},Do=(e,t,n,r)=>({elements:tm(e?.elements,n,r),appState:Qw(e?.appState,t||null),files:e?.files||{}}),em=e=>{let t=tm(vl(e.elements),null);return t.length?{...e,elements:t}:null},nm=(e=[],t)=>{let n=[];for(let r of e)if(Array.isArray(r)){let o=em({status:t,elements:r,id:dt(),created:Date.now()});o&&n.push(o)}else{let o=r,i=em({...o,id:o.id||dt(),status:o.status||t,created:o.created||Date.now()});i&&n.push(i)}return n};g();g();var ft=32,te=12,Tn=256,om=50,Xn="NOT_SPREADSHEET",Pr="VALID_SPREADSHEET",Lo=e=>{let t=/^([-+]?)[$€£¥₩]?([-+]?)([\d.,]+)[%]?$/.exec(e);return t?parseFloat(`${(t[1]||t[2])+t[3]}`.replace(/,/g,"")):null},Tl=(e,t)=>e.slice(1).every(n=>Lo(n[t])!==null),rm=e=>{let t=e[0].length;if(t>2)return{type:Xn,reason:"More than 2 columns"};if(t===1){if(!Tl(e,0))return{type:Xn,reason:"Value is not numeric"};let l=Lo(e[0][0])===null,c=(l?e.slice(1):e).map(d=>Lo(d[0]));return c.length<2?{type:Xn,reason:"Less than two rows"}:{type:Pr,spreadsheet:{title:l?e[0][0]:null,labels:null,values:c}}}let n=Tl(e,0),r=Tl(e,1);if(!n&&!r)return{type:Xn,reason:"Value is not numeric"};let[o,i]=r?[0,1]:[1,0],a=Lo(e[0][i])===null,s=a?e.slice(1):e;return s.length<2?{type:Xn,reason:"Less than 2 rows"}:{type:Pr,spreadsheet:{title:a?e[0][i]:null,labels:s.map(l=>l[o]),values:s.map(l=>Lo(l[i]))}}},e0=e=>{let t=[];for(let n=0;n<e[0].length;n++){let r=[];for(let o=0;o<e.length;o++)r.push(e[o][n]);t.push(r)}return t},im=e=>{let t=e.trim().split(`
53
+ `).map(i=>i.trim().split(" "));if(t.length&&t[0].length!==2&&(t=e.trim().split(`
54
+ `).map(i=>i.trim().split(","))),t.length===0)return{type:Xn,reason:"No values"};let n=t[0].length;if(!t.every(i=>i.length===n))return{type:Xn,reason:"All rows don't have same number of columns"};let o=rm(t);if(o.type!==Pr){let i=rm(e0(t));if(i.type===Pr)return i}return o},ta=Hd(Gd),Ze={fillStyle:"hachure",fontFamily:tt,fontSize:Tt,opacity:100,roughness:1,strokeColor:H.black,roundness:null,strokeStyle:"solid",strokeWidth:1,verticalAlign:Gt.MIDDLE,locked:!1},am=e=>{let t=(ft+te)*e.values.length+te,n=Tn+te*2;return{chartWidth:t,chartHeight:n}},t0=(e,t,n,r,o)=>e.labels?.map((i,a)=>kt({groupIds:[r],backgroundColor:o,...Ze,text:i.length>8?`${i.slice(0,5)}...`:i,x:t+a*(ft+te)+te*2,y:n+te/2,width:ft,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))||[],n0=(e,t,n,r,o)=>{let i=kt({groupIds:[r],backgroundColor:o,...Ze,x:t-te,y:n-te,text:"0",textAlign:"right"}),a=kt({groupIds:[r],backgroundColor:o,...Ze,x:t-te,y:n-Tn-i.height/2,text:Math.max(...e.values).toLocaleString(),textAlign:"right"});return[i,a]},r0=(e,t,n,r,o)=>{let{chartWidth:i,chartHeight:a}=am(e),s=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,width:i,points:[[0,0],[i,0]]}),l=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,height:a,points:[[0,0],[0,-a]]}),c=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n-Tn-te,startArrowhead:null,endArrowhead:null,strokeStyle:"dotted",width:i,opacity:om,points:[[0,0],[i,0]]});return[s,l,c]},sm=(e,t,n,r,o,i)=>{let{chartWidth:a,chartHeight:s}=am(e),l=e.title?kt({backgroundColor:o,groupIds:[r],...Ze,text:e.title,x:t+a/2,y:n-Tn-te*2-Tt,roundness:null,textAlign:"center"}):null,c=i?xo({backgroundColor:o,groupIds:[r],...Ze,type:"rectangle",x:t,y:n-s,width:a,height:s,strokeColor:H.black,fillStyle:"solid",opacity:6}):null;return[...c?[c]:[],...l?[l]:[],...t0(e,t,n,r,o),...n0(e,t,n,r,o),...r0(e,t,n,r,o)]},o0=(e,t,n)=>{let r=Math.max(...e.values),o=dt(),i=ta[Math.floor(Math.random()*ta.length)];return[...e.values.map((s,l)=>{let c=s/r*Tn;return xo({backgroundColor:i,groupIds:[o],...Ze,type:"rectangle",x:t+l*(ft+te)+te,y:n-c-te,width:ft,height:c})}),...sm(e,t,n,o,i,v.DEV)]},i0=(e,t,n)=>{let r=Math.max(...e.values),o=dt(),i=ta[Math.floor(Math.random()*ta.length)],a=0,s=[];for(let h of e.values){let E=a*(ft+te),x=-(h/r)*Tn;s.push([E,x]),a++}let l=Math.max(...s.map(h=>h[0])),c=Math.max(...s.map(h=>h[1])),d=Math.min(...s.map(h=>h[0])),u=Math.min(...s.map(h=>h[1])),f=Yn({backgroundColor:i,groupIds:[o],...Ze,type:"line",x:t+te+ft/2,y:n-te,startArrowhead:null,endArrowhead:null,height:c-u,width:l-d,strokeWidth:2,points:s}),p=e.values.map((h,E)=>{let x=E*(ft+te)+te/2,w=-(h/r)*Tn+te/2;return xo({backgroundColor:i,groupIds:[o],...Ze,fillStyle:"solid",strokeWidth:2,type:"ellipse",x:t+x+ft/2,y:n+w-te*2,width:te,height:te})}),m=e.values.map((h,E)=>{let x=E*(ft+te)+te/2,w=h/r*Tn+te/2+te;return Yn({backgroundColor:i,groupIds:[o],...Ze,type:"line",x:t+x+ft/2+te/2,y:n-w,startArrowhead:null,endArrowhead:null,height:w,strokeStyle:"dotted",opacity:om,points:[[0,0],[0,w]]})});return[...sm(e,t,n,o,i,v.DEV),f,...m,...p]},sM=(e,t,n,r)=>e==="line"?i0(t,n,r):o0(t,n,r);var gM="clipboard"in navigator&&"readText"in navigator.clipboard,a0="clipboard"in navigator&&"writeText"in navigator.clipboard,xM="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype,s0=e=>!!([Pe.excalidraw,Pe.excalidrawClipboard,Pe.excalidrawClipboardWithAPI].includes(e?.type)&&Array.isArray(e.elements)),wM=({types:e,files:t})=>{!e&&!t&&console.warn("createPasteEvent: no types or files provided");let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});if(e)for(let[r,o]of Object.entries(e))try{if(n.clipboardData?.setData(r,o),n.clipboardData?.getData(r)!==o)throw new Error(`Failed to set "${r}" as clipboardData item`)}catch(i){throw new Error(i.message)}if(t){let r=-1;for(let o of t){r++;try{if(n.clipboardData?.items.add(o),n.clipboardData?.files[r]!==o)throw new Error(`Failed to set file "${o.name}" as clipboardData item`)}catch(i){throw new Error(i.message)}}}return n},l0=({elements:e,files:t})=>{let n=X(e),r=new Set(e.filter(s=>ee(s))),o=!1,i=e.reduce((s,l)=>(St(l)&&(o=!0,t&&t[l.fileId]&&(s[l.fileId]=t[l.fileId])),s),{});o&&!t&&console.warn("copyToClipboard: attempting to file element(s) without providing associated `files` object.");let a={type:Pe.excalidrawClipboard,elements:e.map(s=>{if(Ce(s,n)&&!r.has(Ce(s,n))){let l=wo(s);return R(l,{frameId:null}),l}return s}),files:t?i:void 0};return JSON.stringify(a)},lm=async(e,t,n)=>{await Al(l0({elements:e,files:t}),n)},c0=e=>{let t=im(e);return t.type===Pr?{spreadsheet:t.spreadsheet}:null};function cm(e){let t=[];for(let n of e.childNodes)if(n.nodeType===3){let r=n.textContent?.trim();r&&t.push({type:"text",value:r})}else if(n instanceof HTMLImageElement){let r=n.getAttribute("src");r&&r.startsWith("http")&&t.push({type:"imageUrl",value:r})}else t=t.concat(cm(n));return t}var d0=e=>{let t=e.clipboardData?.getData("text/html");if(!t)return null;try{let n=new DOMParser().parseFromString(t,"text/html"),r=cm(n.body);if(r.length)return{type:"mixedContent",value:r}}catch(n){console.error(`error in parseHTMLFromPaste: ${n.message}`)}return null},yM=async()=>{let e={};try{if(navigator.clipboard?.readText)return{"text/plain":await navigator.clipboard?.readText()}}catch(n){if(navigator.clipboard?.read)console.warn(`navigator.clipboard.readText() failed (${n.message}). Failling back to navigator.clipboard.read()`);else throw n}let t;try{t=await navigator.clipboard?.read()}catch(n){if(n.name==="DataError")return console.warn(`navigator.clipboard.read() error, clipboard is probably empty: ${n.message}`),e;throw n}for(let n of t)for(let r of n.types)if(fu(Wd,r))try{e[r]=await(await n.getType(r)).text()}catch(o){console.warn(`Cannot retrieve ${r} from clipboardItem: ${o.message}`)}return Object.keys(e).length===0&&console.warn("No clipboard data found from clipboard.read()."),e},u0=async(e,t=!1)=>{try{let n=!t&&e&&d0(e);return n?n.value.every(o=>o.type==="text")?{type:"text",value:e.clipboardData?.getData("text/plain")||n.value.map(o=>o.value).join(`
55
+ `).trim()}:n:{type:"text",value:(e.clipboardData?.getData("text/plain")||"").trim()}}catch{return{type:"text",value:""}}},bM=async(e,t=!1)=>{let n=await u0(e,t);if(n.type==="mixedContent")return{mixedContent:n.value};try{let r=!t&&c0(n.value);if(r)return r}catch(r){console.error(r)}try{let r=JSON.parse(n.value),o=r.type===Pe.excalidrawClipboardWithAPI;if(s0(r))return{elements:r.elements,files:r.files,text:t?JSON.stringify(r.elements,null,2):void 0,programmaticAPI:o}}catch{}return{text:n.value}},dm=async e=>{try{await navigator.clipboard.write([new window.ClipboardItem({[B.png]:e})])}catch(t){if(ci(e))await navigator.clipboard.write([new window.ClipboardItem({[B.png]:await e})]);else throw t}},Al=async(e,t)=>{if(a0)try{await navigator.clipboard.writeText(e||"");return}catch(n){console.error(n)}try{if(t){if(t.clipboardData?.setData("text/plain",e||""),t.clipboardData?.getData("text/plain")!==e)throw new Error("Failed to setData on clipboardEvent");return}}catch(n){console.error(n)}if(!f0(e))throw new Error("Error copying to clipboard.")},f0=e=>{e||(e=" ");let t=document.documentElement.getAttribute("dir")==="rtl",n=document.createElement("textarea");n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";let r=window.pageYOffset||document.documentElement.scrollTop;n.style.top=`${r}px`,n.style.fontSize="12pt",n.setAttribute("readonly",""),n.value=e,document.body.appendChild(n);let o=!1;try{n.select(),n.setSelectionRange(0,n.value.length),o=document.execCommand("copy")}catch(i){console.error(i)}return n.remove(),o};var p0=({elements:e,appState:t,files:n,maxWidthOrHeight:r,getDimensions:o,exportPadding:i,exportingFrame:a})=>{let{elements:s,appState:l}=Do({elements:e,appState:t},null,null),{exportBackground:c,viewBackgroundColor:d}=l;return Zp(s,{...l,offsetTop:0,offsetLeft:0,width:0,height:0},n||{},{exportBackground:c,exportPadding:i,viewBackgroundColor:d,exportingFrame:a},(u,f)=>{let p=document.createElement("canvas");if(r){typeof o=="function"&&console.warn("`getDimensions()` is ignored when `maxWidthOrHeight` is supplied.");let h=Math.max(u,f),E=r<h?r/h:t?.exportScale??1;return p.width=u*E,p.height=f*E,{canvas:p,scale:E}}let m=o?.(u,f)||{width:u,height:f};return p.width=m.width,p.height=m.height,{canvas:p,scale:m.scale??1}})},m0=async e=>{let{mimeType:t=B.png,quality:n}=e;t===B.png&&typeof n=="number"&&console.warn(`"quality" will be ignored for "${B.png}" mimeType`),t==="image/jpg"&&(t=B.jpg),t===B.jpg&&!e.appState?.exportBackground&&(console.warn(`Defaulting "exportBackground" to "true" for "${B.jpg}" mimeType`),e={...e,appState:{...e.appState,exportBackground:!0}});let r=await p0(e);return n=n||(/image\/jpe?g/.test(t)?.92:.8),new Promise((o,i)=>{r.toBlob(async a=>{if(!a)return i(new Error("couldn't export to blob"));a&&t===B.png&&e.appState?.exportEmbedScene&&(a=await um({blob:a,metadata:Mo(e.elements,e.appState,e.files||{},"local")})),o(a)},t,n)})},h0=async({elements:e,appState:t=nt(),files:n={},exportPadding:r,renderEmbeddables:o,exportingFrame:i})=>{let{elements:a,appState:s}=Do({elements:e,appState:t},null,null),l={...s,exportPadding:r};return Kp(a,l,n,{exportingFrame:i,renderEmbeddables:o})},CM=async e=>{if(e.type==="svg"){let t=await h0(e);await Al(t.outerHTML)}else if(e.type==="png")await dm(m0(e));else if(e.type==="json")await lm(e.elements,e.files);else throw new Error("Invalid export type")};g();var E0=e=>e.type==="diamond"?[[e.width/2,0],[e.width,e.height/2],[e.width/2,e.height],[0,e.height/2]]:[[0,0],[0+e.width,0],[0+e.width,e.height],[0,e.height]],g0=e=>J(e)||ge(e)?e.points:E0(e),fm=e=>{let t=e.reduce((n,[r,o])=>(n.minY=Math.min(n.minY,o),n.minX=Math.min(n.minX,r),n.maxX=Math.max(n.maxX,r),n.maxY=Math.max(n.maxY,o),n),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,cx:0,cy:0});return t.cx=(t.maxX+t.minX)/2,t.cy=(t.maxY+t.minY)/2,t},mm=e=>{let t=g0(e),{cx:n,cy:r}=fm(t),o=[n,r],i=t.map(d=>re([d[0],d[1]],o,e.angle)),{minX:a,minY:s,maxX:l,maxY:c}=fm(i);return[a+e.x,s+e.y,l+e.x,c+e.y]},pm=(e,t,n=!1)=>{let r=mm(e),o=t[0]<=r[0]&&t[2]>=r[2]&&t[1]<=r[1]&&t[3]>=r[3];return n?o?!0:r[0]<=t[0]&&r[2]>=t[2]&&r[1]<=t[1]&&r[3]>=t[3]:o},x0=(e,t)=>{let n=mm(e);return(go(n[0],t[0],t[2])||go(t[0],n[0],n[2]))&&(go(n[1],t[1],t[3])||go(t[1],n[1],n[3]))},hm=({elements:e,bounds:t,type:n,errorMargin:r=0})=>{is(t)&&(t=He(t,X(e)));let o=[t[0]-r,t[1]-r,t[2]+r,t[3]+r],i=new Set;for(let a of e){if(i.has(a.id))continue;if(n==="overlap"?x0(a,o):n==="inside"?pm(a,o):pm(a,o,!0)){if(i.add(a.id),a.boundElements)for(let l of a.boundElements)i.add(l.id);Y(a)&&a.containerId&&i.add(a.containerId),j(a)&&(a.startBinding&&i.add(a.startBinding.elementId),a.endBinding&&i.add(a.endBinding?.elementId))}}return e.filter(a=>i.has(a.id))};g();function Em(e){return[Math.min(e[0][0],e[1][0]),Math.min(e[0][1],e[1][1]),Math.max(e[0][0],e[1][0]),Math.max(e[0][1],e[1][1])]}function wm(e,t){return e[0]*t[1]-t[0]*e[1]}function w0(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}function na(e,t){return[e[0]-t[0],e[1]-t[1]]}var y0=1e-6;function gm(e,t){let n=na(e[1],e[0]),r=na(t,e[0]),o=wm(n,r);return Math.abs(o)<y0}function Sl(e,t){let n=na(e[1],e[0]),r=na(t,e[0]);return wm(n,r)<0}function xm(e,t){return gm(e,t[0])||gm(e,t[1])||(Sl(e,t[0])?!Sl(e,t[1]):Sl(e,t[1]))}function ym(e,t){return w0(Em(e),Em(t))&&xm(e,t)&&xm(t,e)}var rD=(e,t,n)=>{let r=X(e);for(let o of t)if(o.frameId){let i=n.get(o.id),a=n.get(o.frameId);if(i){let s=r.get(i);s&&R(s,{frameId:a??o.frameId},!1)}}};function bm(e,t,n){let r=ol(t,n),o=ol(e,n);return r.some(a=>o.some(s=>ym(a,s)))}var vm=(e,t,n)=>ra(Di(e,t,n,!1)).filter(r=>!ee(r)&&!r.frameId||r.frameId===t.id),Tm=(e,t,n,r)=>Di(e,t,r).some(o=>o.id===n.id);var Am=(e,t,n)=>{let[r,o,i,a]=G(t,n),[s,l,c,d]=De(e);return r<=s&&o<=l&&i>=c&&a>=d},vn=(e,t,n)=>Am([e],t,n)||bm(e,t,n)||Tm([t],e,t,n),oD=(e,t,n)=>{let[r,o,i,a]=G(t,n);return Gi([r,o],[e.x,e.y],[i,a])};var iD=e=>{let t=new Map;for(let n of e){let r=ee(n)?n.id:n.frameId;r&&!t.has(r)&&t.set(r,ko(e,r))}return t},ko=(e,t)=>{let n=[];for(let r of e.values())r.frameId===t&&n.push(r);return n},wl=e=>e.filter(t=>ee(t)),yl=e=>{let t=X(wl(e));return e.filter(n=>t.has(n.id)||!n.frameId||!t.has(n.frameId))},aD=(e,t,n,r)=>{let o=ko(e,t.id),i=new Set(o),a=new Set([...vm(e,t,r),...o.filter(f=>Tm(e,f,t,r))]),s=o.filter(f=>!a.has(f)),l=new Set(Array.from(a).flatMap(f=>f.groupIds));for(let f of s)if(!bm(f,t,r))f.groupIds.length===0&&i.delete(f);else if(f.groupIds.length>0)for(let p of f.groupIds)l.add(p);for(let f of s)if(f.groupIds.length>0){let p=!0;for(let m of f.groupIds)l.has(m)&&(p=!1);p&&i.delete(f)}let c=Array.from(a).filter(f=>f.groupIds.length===0);for(let f of c)i.add(f);let d=Array.from(a).filter(f=>f.groupIds.length>0),u=qf(d,n);for(let[f,p]of Object.entries(u))if(p){let m=br(e,f);if(Am(m,t,r))for(let h of m)i.add(h)}return[...i].filter(f=>!(Y(f)&&f.containerId))},sD=(e,t,n)=>ra(e,vm(e,t,n)),Ce=(e,t)=>e.frameId&&t.get(e.frameId)||null,lD=(e,t)=>{let n=new Set,r=X(e);e=ra(e);for(let a of e)ee(a)&&a.id!==t.id&&n.add(a.id);let o=new Set,i=[];for(let a of e)if(!(ee(a)||a.frameId&&n.has(a.frameId)))if(a.groupIds.length){let s=a.groupIds.at(-1);if(!o.has(s)){o.add(s);let l=br(e,s);if(l.some(c=>vn(c,t,r)))for(let c of l)i.push(c)}}else vn(a,t,r)&&i.push(a);return i},b0=(e,t,n)=>{let r=X(e),o=new Map;for(let l of e.values())l.frameId===n.id&&o.set(l.id,!0);let i=new Set(t.map(l=>l.id)),a=[],s=new Set;for(let l of t)ee(l)&&l.id!==n.id&&s.add(l.id);for(let l of ra(e,t)){if(ee(l)||l.frameId&&s.has(l.frameId))continue;o.has(l.id)||a.push(l);let c=q(l,r);c&&!i.has(c.id)&&!o.has(c.id)&&a.push(c)}for(let l of a)R(l,{frameId:n.id},!1);return e},Sm=(e,t)=>{let n=new Map,r=new Map;for(let o of e)if(o.frameId){n.set(o.id,o);let i=r.get(o.frameId)||[];i.push(o);let a=q(o,t);a&&(n.set(a.id,a),i.push(a)),r.set(o.frameId,i)}for(let[,o]of n)R(o,{frameId:null},!1)},v0=(e,t)=>{let n=ko(e,t.id);return Sm(n,X(e)),e},cD=(e,t,n,r)=>b0(v0(e,n),t,n).slice(),dD=(e,t,n)=>{let r=n.scene.getSelectedElements({selectedElementIds:t.selectedElementIds,elements:e}),o=new Set(r);if(t.editingGroupId)for(let s of r)s.groupIds.length===0?o.add(s):s.groupIds.flatMap(l=>br(e,l)).forEach(l=>o.add(l));let i=new Set,a=X(e);return o.forEach(s=>{s.frameId&&!ee(s)&&!ea(s,a,t)&&i.add(s)}),i.size>0&&Sm(i,a),e},ra=(e,t)=>{let n=new Set,r=t||e;for(let a of r.values()){let s=a.groupIds[a.groupIds.length-1];s&&n.add(s)}let o=new Set;for(let a of n)br(e,a).some(s=>ee(s))&&o.add(a);let i=[];for(let a of r.values())o.has(a.groupIds[a.groupIds.length-1])||i.push(a);return i},Qi=(e,t,n)=>{let r=Y(e)&&Se(e,t)||e;return n.selectedElementIds[r.id]&&n.selectedElementsAreBeingDragged?n.frameToHighlight:Ce(r,t)},ea=(e,t,n)=>{let r=Qi(e,t,n),o=Y(e)&&Se(e,t)||e;if(r){if(!n.selectedElementIds[e.id]||!n.selectedElementsAreBeingDragged)return!0;if(o.groupIds.length===0)return vn(o,r,t);let i=new Set(o.groupIds.flatMap(a=>br(t,a)));if(n.editingGroupId&&n.selectedElementsAreBeingDragged){let a=new Set(lt(t,n));if(n.frameToHighlight!==null)return!0;a.forEach(l=>{i.delete(l)})}for(let a of i)if(ee(a))return!1;for(let a of i)if(vn(a,r,t))return!0}return!1},jp=(e,t)=>e.name===null?jr(e)?`Frame ${t}`:`AI Frame $${t}`:e.name,qp=(e,t)=>hm({elements:e,bounds:t,type:"overlap"}).filter(n=>!n.frameId||n.frameId===t.id);var T0=e=>{let t=new Set;return e.forEach(n=>{ee(n)&&t.add(n.id)}),e.filter(n=>!(n.frameId&&t.has(n.frameId)))},Di=(e,t,n,r=!0)=>{let[o,i,a,s]=G(t,n),l=e.filter(c=>{let[d,u,f,p]=He(c,n),m=Ce(c,n);if(m){let[h,E,x,w]=He(m,n);d=Math.max(h,d),u=Math.max(E,u),f=Math.min(x,f),p=Math.min(w,p)}return c.locked===!1&&c.type!=="selection"&&!be(c)&&o<=d&&i<=u&&a>=f&&s>=p});return l=r?T0(l):l,l=l.filter(c=>{let d=Ce(c,n);return d?vn(c,d,n):!0}),l},xD=(e,t,n,r)=>{let o=new Set(t.map(i=>i.id));return e.filter(i=>{let a=_m(i,n.width,n.height,n,r);return!o.has(i.id)&&a})},Qg=function(){let e=null,t=null,n=null,r=(o,i)=>(n!=null&&o===e&&i.selectedElementIds===t||(n=o.some(a=>i.selectedElementIds[a.id]),e=o,t=i.selectedElementIds),n);return r.clearCache=()=>{e=null,t=null,n=null},r}(),ex=(e,t,n)=>{let r=Array.from(new Set(lt(e,t).map(o=>n(o))));return r.length===1?r[0]:null},lt=(e,t,n)=>{let r=[];for(let o of e.values()){if(t.selectedElementIds[o.id]){r.push(o);continue}if(n?.includeBoundTextElement&&be(o)&&t.selectedElementIds[o?.containerId]){r.push(o);continue}}if(n?.includeElementsInFrames){let o=[];return r.forEach(i=>{ee(i)&&ko(e,i.id).forEach(a=>o.push(a)),o.push(i)}),o}return r},tx=(e,t)=>t.editingElement?[t.editingElement]:lt(e,t,{includeBoundTextElement:!0}),al=(e,t)=>Ut(t.selectedElementIds,e)?t.selectedElementIds:e;var Im=e=>{let t=new Map,n=[];for(let r of e)r.isDeleted||(n.push(r),t.set(r.id,r));return{elementsMap:t,elements:n}},A0=e=>{let t=["includeBoundTextElement","includeElementsInFrames"],n="";for(let r of t)n+=`${r}:${e[r]?"1":"0"}`;return n},Pm=e=>typeof e=="string",_l=class e{static sceneMapByElement=new WeakMap;static sceneMapById=new Map;static mapElementToScene(t,n){Pm(t)?this.sceneMapById.set(t,n):(this.sceneMapByElement.set(t,n),this.sceneMapById.set(t.id,n))}static getScene(t){return Pm(t)?this.sceneMapById.get(t)||null:this.sceneMapByElement.get(t)||null}callbacks=new Set;nonDeletedElements=[];nonDeletedElementsMap=Vt(new Map);elements=[];nonDeletedFramesLikes=[];frames=[];elementsMap=Vt(new Map);selectedElementsCache={selectedElementIds:null,elements:null,cache:new Map};sceneNonce;getSceneNonce(){return this.sceneNonce}getNonDeletedElementsMap(){return this.nonDeletedElementsMap}getElementsIncludingDeleted(){return this.elements}getElementsMapIncludingDeleted(){return this.elementsMap}getNonDeletedElements(){return this.nonDeletedElements}getFramesIncludingDeleted(){return this.frames}getSelectedElements(t){let n=A0(t),r=t?.elements||this.nonDeletedElements;if(this.selectedElementsCache.elements===r&&this.selectedElementsCache.selectedElementIds===t.selectedElementIds){let i=this.selectedElementsCache.cache.get(n);if(i)return i}else t?.elements==null&&this.selectedElementsCache.cache.clear();let o=lt(r,{selectedElementIds:t.selectedElementIds},t);return t?.elements==null&&(this.selectedElementsCache.selectedElementIds=t.selectedElementIds,this.selectedElementsCache.elements=this.nonDeletedElements,this.selectedElementsCache.cache.set(n,o)),o}getNonDeletedFramesLikes(){return this.nonDeletedFramesLikes}getElement(t){return this.elementsMap.get(t)||null}getNonDeletedElement(t){let n=this.getElement(t);return n&&Mm(n)?n:null}mapElements(t){let n=!1,r=this.elements.map(o=>{let i=t(o);return i!==o&&(n=!0),i});return n&&this.replaceAllElements(r),n}replaceAllElements(t){let n=t instanceof Array?t:Array.from(t.values()),r=[];(v.DEV||v.MODE===et.TEST)&&ll(n.map(i=>i.index)),this.elements=Wn(n),this.elementsMap.clear(),this.elements.forEach(i=>{ee(i)&&r.push(i),this.elementsMap.set(i.id,i),e.mapElementToScene(i,this)});let o=Im(this.elements);this.nonDeletedElements=o.elements,this.nonDeletedElementsMap=o.elementsMap,this.frames=r,this.nonDeletedFramesLikes=Im(this.frames).elements,this.triggerUpdate()}triggerUpdate(){this.sceneNonce=Lt();for(let t of Array.from(this.callbacks))t()}onUpdate(t){if(this.callbacks.has(t))throw new Error;return this.callbacks.add(t),()=>{if(!this.callbacks.has(t))throw new Error;this.callbacks.delete(t)}}destroy(){this.elements=[],this.nonDeletedElements=[],this.nonDeletedFramesLikes=[],this.frames=[],this.elementsMap.clear(),this.selectedElementsCache.selectedElementIds=null,this.selectedElementsCache.elements=null,this.selectedElementsCache.cache.clear(),e.sceneMapById.forEach((t,n)=>{t===this&&e.sceneMapById.delete(n)}),this.callbacks.clear()}insertElementAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),t,...this.elements.slice(n)];To(r,X([t])),this.replaceAllElements(r)}insertElementsAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),...t,...this.elements.slice(n)];To(r,X(t)),this.replaceAllElements(r)}insertElement=t=>{let n=t.frameId?this.getElementIndex(t.frameId):this.elements.length;this.insertElementAtIndex(t,n)};insertElements=t=>{let n=t[0].frameId?this.getElementIndex(t[0].frameId):this.elements.length;this.insertElementsAtIndex(t,n)};getElementIndex(t){return this.elements.findIndex(n=>n.id===t)}getContainerElement=t=>t&&t.containerId&&this.getElement(t.containerId)||null},xn=_l;var R=(e,t,n=!0)=>{let r=!1,{points:o,fileId:i}=t;typeof o<"u"&&(t={...Yf(o),...t});for(let a in t){let s=t[a];if(typeof s<"u"){if(e[a]===s&&(typeof s!="object"||s===null||a==="groupIds"||a==="scale"))continue;if(a==="scale"){let l=e[a],c=s;if(l[0]===c[0]&&l[1]===c[1])continue}else if(a==="points"){let l=e[a],c=s;if(l.length===c.length){let d=!1,u=l.length;for(;--u;){let f=l[u],p=c[u];if(f[0]!==p[0]||f[1]!==p[1]){d=!0;break}}if(!d)continue}}e[a]=s,r=!0}}return r&&((typeof t.height<"u"||typeof t.width<"u"||typeof i<"u"||typeof o<"u")&&ue.delete(e),e.version++,e.versionNonce=Lt(),e.updated=zt(),n&&xn.getScene(e)?.triggerUpdate()),e},ut=(e,t,n=!1)=>{let r=!1;for(let o in t){let i=t[o];if(typeof i<"u"){if(e[o]===i&&(typeof i!="object"||i===null))continue;r=!0}}return!r&&!n?e:{...e,...t,updated:zt(),version:e.version+1,versionNonce:Lt()}},yo=(e,t)=>(e.version=(t??e.version)+1,e.versionNonce=Lt(),e.updated=zt(),e);var Co=e=>J(e)||ge(e)?e.points.length<2:e.width===0&&e.height===0,_m=(e,t,n,r,o)=>{let[i,a,s,l]=He(e,o),c=Zr({clientX:r.offsetLeft,clientY:r.offsetTop},r),d=Zr({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return c.x<=s&&c.y<=l&&d.x>=i&&d.y>=a},oa=(e,t,n)=>{let r=Math.abs(t),o=Math.abs(n);if(e==="line"||e==="arrow"||e==="freedraw"){let i=Math.round(Math.atan(o/r)/vt)*vt;i===0?n=0:i===Math.PI/2?t=0:n=r*Math.tan(i)*Math.sign(n)||n}else e!=="selection"&&(n=r*Math.sign(n));return{width:t,height:n}},Hs=(e,t,n,r)=>{let o=n-e,i=r-t,a=Math.round(Math.atan(i/o)/vt)*vt;if(a===0)i=0;else if(a===Math.PI/2)o=0;else{let s=Math.tan(a),l=-1,c=t-s*e,d=-1/s,u=-1,f=r-d*n,p=(l*f-u*c)/(s*u-d*l),m=(c*d-f*s)/(s*u-d*l);o=p-e,i=m-t}return{width:o,height:i}};var bl=e=>{let t={width:e.width,height:e.height,x:e.x,y:e.y};if(e.width<0){let n=Math.abs(e.width);t.width=n,t.x=e.x-n}if(e.height<0){let n=Math.abs(e.height);t.height=n,t.y=e.y-n}return t};g();var Dm={mouse:8,pen:16,touch:28},S0=16,Lm={e:!0,s:!0,n:!0,w:!0};var Cm={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},Il={e:!0,s:!0,n:!0,w:!0},en=(e,t,n,r,o,i,a)=>{let[s,l]=V(e+n/2,t+r/2,o,i,a);return[s-n/2,l-r/2,n,r]},ia=e=>!(e.viewport.isMobile||e.isTouchScreen&&(Ud||Vd)),Pl=e=>ia(e)?Lm:{},aa=([e,t,n,r,o,i],a,s,l,c={},d=4)=>{let u=Dm[l],f=u/s.value,p=u/s.value,m=u/s.value,h=u/s.value,E=n-e,x=r-t,w=d/s.value,y=(u-Wr*2)/(2*s.value),T={nw:c.nw?void 0:en(e-w-m+y,t-w-h+y,f,p,o,i,a),ne:c.ne?void 0:en(n+w-y,t-w-h+y,f,p,o,i,a),sw:c.sw?void 0:en(e-w-m+y,r+w-y,f,p,o,i,a),se:c.se?void 0:en(n+w-y,r+w-y,f,p,o,i,a),rotation:c.rotation?void 0:en(e+E/2-f/2,t-w-h+y-S0/s.value,f,p,o,i,a)},b=5*Dm.mouse/s.value;return Math.abs(E)>b&&(c.n||(T.n=en(e+E/2-f/2,t-w-h+y,f,p,o,i,a)),c.s||(T.s=en(e+E/2-f/2,r+w-y,f,p,o,i,a))),Math.abs(x)>b&&(c.w||(T.w=en(e-w-m+y,t+x/2-p/2,f,p,o,i,a)),c.e||(T.e=en(n+w-y,t+x/2-p/2,f,p,o,i,a))),T},Ml=(e,t,n,r="mouse",o=Lm)=>{if(e.locked)return{};if(e.type==="freedraw"||J(e)){if(e.points.length===2){let[,a]=e.points;a[0]===0||a[1]===0?o=Il:a[0]>0&&a[1]<0?o=Cm:a[0]>0&&a[1]>0?o=Il:a[0]<0&&a[1]>0?o=Cm:a[0]<0&&a[1]<0&&(o=Il)}}else ee(e)&&(o={...o,rotation:!0});let i=J(e)?Wr+8:Wr;return aa(G(e,n,!0),e.angle,t,r,o,i)},KD=(e,t)=>{if(t.editingLinearElement)return!1;if(e.length>1)return!0;let n=e[0];return J(n)?n.points.length>2:!0};g();var Cl=(e,t,n)=>t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3],km=(e,t,n,r,o,i,a,s)=>{if(!n.selectedElementIds[e.id])return!1;let{rotation:l,...c}=Ml(e,i,t,a,Pl(s));if(l&&Cl(l,r,o))return"rotation";let d=Object.keys(c).filter(u=>{let f=c[u];return f?Cl(f,r,o):!1});if(d.length>0)return d[0];if(ia(s)){let[u,f,p,m,h,E]=G(e,t);if(!(J(e)&&e.points.length<=2)){let x=ni/i.value,w=Om([u-x,f-x],[p+x,m+x],[h,E],Pt(e.angle));for(let[y,T]of Object.entries(w))if(Vn([r,o],T,x))return y}}return!1},_0=(e,t,n,r,o,i,a,s)=>e.reduce((l,c)=>{if(l)return l;let d=km(c,a,t,n,r,o,i,s);return d?{element:c,transformHandleType:d}:null},null),I0=([e,t,n,r],o,i,a,s,l)=>{let c=aa([e,t,n,r,(e+n)/2,(t+r)/2],0,a,s,Pl(l)),d=Object.keys(c).find(u=>{let f=c[u];return f&&Cl(f,o,i)});if(d)return d;if(ia(l)){let u=(e+n)/2,f=(t+r)/2,p=ni/a.value,m=Om([e-p,t-p],[n+p,r+p],[u,f],Pt(0));for(let[h,E]of Object.entries(m))if(Vn([o,i],E,p))return h}return!1},Dl=["ns","nesw","ew","nwse"],P0=(e,t)=>{let n=Dl.indexOf(e);if(n>=0){let r=Math.round(t/(Math.PI/4));e=Dl[(n+r)%Dl.length]}return e},M0=e=>{let{element:t,transformHandleType:n}=e,r=t&&Math.sign(t.height)*Math.sign(t.width)===-1,o=null;switch(n){case"n":case"s":o="ns";break;case"w":case"e":o="ew";break;case"nw":case"se":r?o="nesw":o="nwse";break;case"ne":case"sw":r?o="nwse":o="nesw";break;case"rotation":return"grab"}return o&&t&&(o=P0(o,t.angle)),o?`${o}-resize`:""},Om=([e,t],[n,r],o,i)=>{let a=de([e,t],i,o),s=de([n,t],i,o),l=de([e,r],i,o),c=de([n,r],i,o);return{n:[a,s],e:[s,c],s:[c,l],w:[l,a]}};g();var sa=e=>e<0?e+2*Math.PI:e>=2*Math.PI?e-2*Math.PI:e,D0=(e,t,n,r,o,i,a,s,l,c,d)=>{if(n.length===1){let[u]=n;return t==="rotation"?(C0(u,r,s,l,o),Mt(u,r)):Y(u)&&t?(k0(e,u,r,t,i,s,l),Mt(u,r)):t&&O0(e,a,u,r,t,i,s,l),!0}else if(n.length>1){if(t==="rotation")return F0(e,n,r,s,l,o,c,d),!0;if(t)return R0(e,n,r,t,i,a,s,l),!0}return!1},C0=(e,t,n,r,o)=>{let[i,a,s,l]=G(e,t),c=(i+s)/2,d=(a+l)/2,u;ee(e)?u=0:(u=5*Math.PI/2+Math.atan2(r-d,n-c),o&&(u+=vt/2,u-=u%vt),u=sa(u));let f=Xt(e);if(R(e,{angle:u}),f){let p=xn.getScene(e)?.getElement(f);p&&!j(e)&&R(p,{angle:u})}},L0=(e,t,n,r)=>J(e)||ge(e)?{points:bn(0,t,bn(1,n,e.points,r),r)}:{},Ll=(e,t,n)=>{let r=e.width;if(be(e)){let a=Se(e,t);a&&(r=ct(a,e))}let i=e.fontSize*(n/r);return i<ei?null:{size:i}},k0=(e,t,n,r,o,i,a)=>{let[s,l,c,d,u,f]=G(t,n),[p,m]=V(i,a,u,f,-t.angle),h=0,E=0;r!=="e"&&r!=="w"&&(r.includes("e")&&(h=(p-s)/(c-s)),r.includes("w")&&(h=(c-p)/(c-s)),r.includes("n")&&(E=(d-m)/(d-l)),r.includes("s")&&(E=(m-l)/(d-l)));let x=Math.max(h,E);if(x>0){let w=t.width*x,y=t.height*x,T=Ll(t,n,w);if(T===null)return;let b=[s,l],D=[c,d],S=[u,f],A=[s,l];if(["n","w","nw"].includes(r)&&(A=[D[0]-Math.abs(w),D[1]-Math.abs(y)]),r==="ne"){let O=[b[0],D[1]];A=[O[0],O[1]-Math.abs(y)]}if(r==="sw"){let O=[D[0],b[1]];A=[O[0]-Math.abs(w),O[1]]}["s","n"].includes(r)&&(A[0]=S[0]-w/2),["e","w"].includes(r)&&(A[1]=S[1]-y/2),o&&(A[0]=S[0]-Math.abs(w)/2,A[1]=S[1]-Math.abs(y)/2);let I=t.angle,P=re(A,[u,f],I),_=[A[0]+Math.abs(w)/2,A[1]+Math.abs(y)/2],M=re(_,[u,f],I);A=re(P,M,-I);let[k,$]=A;R(t,{fontSize:T.size,width:w,height:y,x:k,y:$})}if(r==="e"||r==="w"){let w=e.get(t.id),[y,T,b,D]=Kt(w,w.width,w.height,!0),S=[y,T],A=[b,D],I=xr(S,A),P=re([i,a],I,-w.angle),[_,,M]=Kt(t,t.width,t.height,!0),k=M-_,$=A[0]-S[0],O=Mf(ce(t))+me*2,F=$/k;r.includes("e")&&(F=(P[0]-S[0])/k),r.includes("w")&&(F=(A[0]-P[0])/k);let L=t.width*F<O?O:t.width*F,C=yn(t.originalText,ce(t),Math.abs(L)),z=Wt(C,ce(t),t.lineHeight),U=z.height,[se,fe,oe,pt]=Kt(w,L,U,!0),Ot=oe-se,Ke=pt-fe,Le=[...S];["n","w","nw"].includes(r)&&(Le=[A[0]-Math.abs(Ot),S[1]]);let mt=w.angle,nn=re(Le,I,mt),we=[Le[0]+Math.abs(Ot)/2,Le[1]+Math.abs(Ke)/2],ke=re(we,I,mt);Le=re(nn,ke,-mt);let Ue={width:Math.abs(L),height:Math.abs(z.height),x:Le[0],y:Le[1],text:C,autoResize:!1};R(t,Ue)}},O0=(e,t,n,r,o,i,a,s)=>{let l=e.get(n.id),[c,d,u,f]=Kt(l,l.width,l.height,!0),p=[c,d],m=[u,f],h=xr(p,m),E=re([a,s],h,-l.angle),[x,w,y,T]=Kt(n,n.width,n.height,!0),b=y-x,D=T-w,S=m[0]-p[0],A=m[1]-p[1],I=S/b,P=A/D,_={},M=q(n,r);o.includes("e")&&(I=(E[0]-p[0])/b),o.includes("s")&&(P=(E[1]-p[1])/D),o.includes("w")&&(I=(m[0]-E[0])/b),o.includes("n")&&(P=(m[1]-E[1])/D);let k=l.width,$=l.height,O=n.width*I,F=n.height*P;if(i&&(O=2*O-k,F=2*F-$),t){let _e=Math.abs(O)/k,Zn=Math.abs(F)/$;if(o.length===1&&(F*=_e,O*=Zn),o.length===2){let Sn=Math.max(_e,Zn);O=k*Sn*Math.sign(O),F=$*Sn*Math.sign(F)}}if(M){let _e=e.get(M.id);if(_e&&(_={fontSize:_e.fontSize}),t){let Zn={...n,width:O,height:F},Sn=Ll(M,r,ct(Zn,M));if(Sn===null)return;_={fontSize:Sn.size}}else{let Zn=Pf(ce(M),M.lineHeight),Sn=_f(M.fontSize,M.lineHeight);O=Math.max(O,Zn),F=Math.max(F,Sn)}}let[L,C,z,U]=Kt(l,O,F,!0),se=z-L,fe=U-C,oe=[...p];if(["n","w","nw"].includes(o)&&(oe=[m[0]-Math.abs(se),m[1]-Math.abs(fe)]),o==="ne"){let _e=[p[0],m[1]];oe=[_e[0],_e[1]-Math.abs(fe)]}if(o==="sw"){let _e=[m[0],p[1]];oe=[_e[0]-Math.abs(se),_e[1]]}t&&(["s","n"].includes(o)&&(oe[0]=h[0]-se/2),["e","w"].includes(o)&&(oe[1]=h[1]-fe/2));let pt=O<0,Ot=F<0;pt&&(o.includes("e")&&(oe[0]-=Math.abs(se)),o.includes("w")&&(oe[0]+=Math.abs(se))),Ot&&(o.includes("s")&&(oe[1]-=Math.abs(fe)),o.includes("n")&&(oe[1]+=Math.abs(fe))),i&&(oe[0]=h[0]-Math.abs(se)/2,oe[1]=h[1]-Math.abs(fe)/2);let Ke=l.angle,Le=re(oe,h,Ke),mt=[oe[0]+Math.abs(se)/2,oe[1]+Math.abs(fe)/2],nn=re(mt,h,Ke);oe=re(Le,nn,-Ke);let we=[...oe],ke=l.x-L,Ue=l.y-C;we[0]+=ke,we[1]+=Ue;let An=we[0],$m=we[1],Bl,Gl;(J(n)||ge(n))&&(Bl=bn(1,F,l.points,!0),Gl=bn(0,O,Bl,!0));let rn={width:Math.abs(O),height:Math.abs(F),x:An,y:$m,points:Gl};if("scale"in n&&"scale"in l&&R(n,{scale:[(Math.sign(z-l.x)||l.scale[0])*l.scale[0],(Math.sign(U-l.y)||l.scale[1])*l.scale[1]]}),j(n)&&M&&t){let _e=rn.width/n.width*M.fontSize;if(_e<ei)return;_.fontSize=_e}rn.width!==0&&rn.height!==0&&Number.isFinite(rn.x)&&Number.isFinite(rn.y)&&(R(n,rn),Mt(n,r,{newSize:{width:rn.width,height:rn.height}}),M&&_!=null&&R(M,{fontSize:_.fontSize}),$n(n,r,o,t))},R0=(e,t,n,r,o,i,a,s)=>{let l=t.reduce((C,z)=>{let U=e.get(z.id);return U&&C.push({orig:U,latest:z}),C},[]),c=l.reduce((C,{orig:z})=>{if(!J(z))return C;let U=Xt(z);if(!U)return C;let se=e.get(U)??null;if(!be(se))return C;let fe=K.getBoundTextElementPosition(z,se,n);return[...C,{...se,...fe}]},[]),{minX:d,minY:u,maxX:f,maxY:p,midX:m,midY:h}=Zf(l.map(({orig:C})=>C).concat(c)),E=f-d,x=p-u,w=r,y={ne:[d,p],se:[d,u],sw:[f,u],nw:[f,p],e:[d,u+x/2],w:[f,u+x/2],n:[d+E/2,p],s:[d+E/2,u]},[T,b]=o?[m,h]:y[w],D=o?2:1,S=Math.max(Math.abs(a-T)/E||0,Math.abs(s-b)/x||0)*D;if(S===0)return;let A=w.includes("e")||w.includes("w")?Math.abs(a-T)/E*D:1,I=w.includes("n")||w.includes("s")?Math.abs(s-b)/x*D:1,P=i||l.some(C=>C.latest.angle!==0||Y(C.latest)||ep(C.latest));P&&(A=S,I=S);let _={ne:[a<T,s>b],se:[a<T,s<b],sw:[a>T,s<b],nw:[a>T,s>b],e:[a<T,!1],w:[a>T,!1],n:[!1,s>b],s:[!1,s<b]},[M,k]=_[w].map(C=>C?-1:1),$=M<0,O=k<0,F=[];for(let{orig:C,latest:z}of l){if(Y(C)&&be(C))continue;let U=C.width*A,se=C.height*I,fe=sa(C.angle*M*k),oe=J(C)||ge(C),pt=C.x-T,Ot=C.y-b,Ke=$&&!oe?U:0,Le=O&&!oe?se:0,mt=T+M*(pt*A+Ke),nn=b+k*(Ot*I+Le),we=L0(C,U*M,se*k,!1),ke={x:mt,y:nn,width:U,height:se,angle:fe,...we};if(di(C)&&(ke.scale=[C.scale[0]*M,C.scale[1]*k]),Y(C)){let An=Ll(C,n,U);if(!An)return;ke.fontSize=An.size}let Ue=e.get(Xt(C)??"");if(Ue)if(P){let An=Ue.fontSize*S;if(An<ei)return;ke.boundTextFontSize=An}else ke.boundTextFontSize=Ue.fontSize;F.push({element:z,update:ke})}let L=F.map(({element:C})=>C);for(let{element:C,update:{boundTextFontSize:z,...U}}of F){let{width:se,height:fe,angle:oe}=U;R(C,U,!1),Mt(C,n,{simultaneouslyUpdated:L,newSize:{width:se,height:fe}});let pt=q(C,n);pt&&z&&(R(pt,{fontSize:z,angle:J(C)?void 0:oe},!1),$n(C,n,r,!0))}xn.getScene(F[0].element)?.triggerUpdate()},F0=(e,t,n,r,o,i,a,s)=>{let l=5*Math.PI/2+Math.atan2(o-s,r-a);i&&(l+=vt/2,l-=l%vt),t.filter(c=>!ee(c)).forEach(c=>{let[d,u,f,p]=G(c,n),m=(d+f)/2,h=(u+p)/2,E=e.get(c.id)?.angle??c.angle,[x,w]=V(m,h,a,s,l+E-c.angle);R(c,{x:c.x+(x-m),y:c.y+(w-h),angle:sa(l+E)},!1),Mt(c,n,{simultaneouslyUpdated:t});let y=q(c,n);y&&!j(c)&&R(y,{x:y.x+(x-m),y:y.y+(w-h),angle:sa(l+E)},!1)}),xn.getScene(t[0])?.triggerUpdate()},N0=(e,t,n,r,o)=>{let[i,a,s,l]=t.length===1?G(t[0],n):De(t),c=(i+s)/2,d=(a+l)/2,u=t.length===1?t[0].angle:0;switch([r,o]=V(r,o,c,d,-u),e){case"n":return V(r-(i+s)/2,o-a,0,0,u);case"s":return V(r-(i+s)/2,o-l,0,0,u);case"w":return V(r-i,o-(a+l)/2,0,0,u);case"e":return V(r-s,o-(a+l)/2,0,0,u);case"nw":return V(r-i,o-a,0,0,u);case"ne":return V(r-s,o-a,0,0,u);case"sw":return V(r-i,o-l,0,0,u);case"se":return V(r-s,o-l,0,0,u);default:return[0,0]}},B0=(e,t)=>{let[,[n,r]]=t.points;return e==="nw"&&(n<0||r<0)||e==="ne"&&n>=0||e==="sw"&&n<=0||e==="se"&&(n>0||r>0)?"end":"origin"};g();var G0=(e,t,n,r,o,i,a)=>{let s=new Set(t),l=t.filter(u=>ee(u)).map(u=>u.id);if(l.length>0)for(let u of o.getNonDeletedElements())u.frameId!==null&&l.includes(u.frameId)&&s.add(u);let c=De(Array.from(s).map(u=>e.originalElements.get(u.id)??u)),d=z0(c,n,i,a);s.forEach(u=>{if(Rm(e,u,d),!j(u)){let f=q(u,o.getNonDeletedElementsMap());f&&Rm(e,f,d)}Mt(u,o.getElementsMapIncludingDeleted(),{simultaneouslyUpdated:Array.from(s)})})},z0=(e,t,n,r)=>{let[o,i]=e,a=o+t.x+n.x,s=i+t.y+n.y;if(n.x===0||n.y===0){let[l,c]=fo(o+t.x,i+t.y,r);n.x===0&&(a=l),n.y===0&&(s=c)}return{x:a-o,y:s-i}},Rm=(e,t,n)=>{let r=e.originalElements.get(t.id)??t,o=r.x+n.x,i=r.y+n.y;R(t,{x:o,y:i})},H0=(e,t,n)=>{let[r,o]=De(e);return[t-r,n-o]},U0=(e,t,n,r,o,i,a,s,l,c,d,u=null)=>{l&&e.type!=="selection"&&(d?s=a/d:(Math.abs(i-r)>Math.abs(o-n)?{width:a,height:s}=oa(t,s,o<n?-a:a):{width:a,height:s}=oa(t,a,i<r?-s:s),s<0&&(s=-s)));let f=o<n?n-a:n,p=i<r?r-s:r;c&&(a+=a,s+=s,f=n-a/2,p=r-s/2),a!==0&&s!==0&&R(e,{x:f+(u?.x??0),y:p+(u?.y??0),width:a,height:s})};g();var V0=(e,t)=>!!(!e.viewModeEnabled&&(e.activeTool.type!=="custom"&&(e.editingElement||e.activeTool.type!=="selection"&&e.activeTool.type!=="eraser"&&e.activeTool.type!=="hand"&&e.activeTool.type!=="laser")||lt(t,e).length));var RC=e=>e.reduce((t,n)=>t+n.version,0),FC=e=>{let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e[n].versionNonce;return t>>>0},NC=e=>{let t=5381;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)+t+r}return t>>>0},af=e=>e.filter(t=>!t.isDeleted&&!Co(t)),vl=e=>e.filter(t=>!t.isDeleted),Mm=e=>!e.isDeleted,Fm=e=>vl(e).map(t=>os(t.type)?{...t,lastCommittedPoint:null}:t),Rp=e=>Fm(e),Ji=e=>Fm(e);var Bm=async e=>{let t;if(e.type===B.png)try{return await(await import("./image-7MVXYJUE.js")).decodePngMetadata(e)}catch(n){throw n.message==="INVALID"?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new qt("Error: cannot restore image")}else if("text"in Blob?t=await e.text():t=await new Promise(n=>{let r=new FileReader;r.readAsText(e,"utf8"),r.onloadend=()=>{r.readyState===FileReader.DONE&&n(r.result)}}),e.type===B.svg)try{return await(await import("./image-7MVXYJUE.js")).decodeSvgMetadata({svg:t})}catch(n){throw n.message==="INVALID"?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new qt("Error: cannot restore image")}return t};var $0=e=>e&&e.name.match(/\.(json|excalidraw|png|svg)$/)?.[1]||null,aL=e=>e==="png"||e==="svg",Lp=e=>{let t=$0(e);return t==="png"||t==="svg"},ca=e=>{let{type:t}=e||{};return!!t&&Object.values(ja).includes(t)},Y0=async(e,t,n,r)=>{let o=await Bm(e),i;try{try{i=JSON.parse(o)}catch(a){throw ca(e)?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):a}if(Op(i))return{type:B.excalidraw,data:Do({elements:Ji(i.elements||[]),appState:{theme:t?.theme,fileHandle:r||e.handle||null,...ai(i.appState||{}),...t?Ps(i.elements||[],t):{}},files:i.files},t,n,{repairBindings:!0,refreshDimensions:!1})};if(ml(i))return{type:B.excalidrawlib,data:i};throw new Error("Error: invalid file")}catch(a){throw a instanceof qt?a:new Error("Error: invalid file")}},kp=async(e,t,n,r)=>{let o=await Y0(e,t,n,r);if(o.type!==B.excalidraw)throw new Error("Error: invalid file");return o.data},W0=(e,t="unpublished")=>{let n=JSON.parse(e);if(!ml(n))throw new Error("Invalid library");let r=n.libraryItems||n.library;return nm(r,t)},sL=async(e,t="unpublished")=>W0(await Bm(e),t),lL=async e=>new Promise(async(t,n)=>{try{ci(e)&&(e=await e),e.toBlob(r=>{if(!r)return n(new Yi("Error: Canvas too big","CANVAS_POSSIBLY_TOO_BIG"));t(r)})}catch(r){n(r)}}),cL=async e=>{try{let t=await window.crypto.subtle.digest("SHA-1",await tn(e));return uu(new Uint8Array(t))}catch(t){return console.error(t),ii(40)}},dL=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let o=r.result;t(o)},r.onerror=o=>n(o),r.readAsDataURL(e)}),uL=(e,t="")=>{let n=e.indexOf(","),r=atob(e.slice(n+1)),o=e.slice(0,n).split(":")[1].split(";")[0],i=new ArrayBuffer(r.length),a=new Uint8Array(i);for(let s=0;s<r.length;s++)a[s]=r.charCodeAt(s);return new File([i],t,{type:o})},fL=async(e,t)=>{if(e.type===B.svg)return e;let[n,r]=await Promise.all([import("./pica-GFNRRI3K.js").then(i=>i.default),import("./image-blob-reduce.esm-2RRQLBYF.js").then(i=>i.default)]),o=r({pica:n({features:["js","wasm"]})});if(t.outputType){let{outputType:i}=t;o._create_blob=function(a){return this.pica.toBlob(a.out_canvas,i,.8).then(s=>(a.out_blob=s,a))}}if(!ca(e))throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"});return new File([await o.toBlob(e,{max:t.maxWidthOrHeight})],e.name,{type:t.outputType||e.type})},pL=(e,t="")=>new File([new TextEncoder().encode(e)],t,{type:B.svg}),mL=async(e,t="")=>{let n;try{n=await fetch(e)}catch{throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"})}if(!n.ok)throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"});let r=await n.blob();if(r.type&&ca(r)){let o=t||r.name||"";return new File([r],o,{type:r.type})}throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"})},hL=async e=>{let t=e.dataTransfer.files.item(0),n=await X0(e);return{file:t?await pl(t):null,fileHandle:n}},X0=async e=>{if(_r)try{return await e.dataTransfer.items[0].getAsFileSystemHandle()||null}catch(t){return console.warn(t.name,t.message),null}return null},Nm=e=>{let t=null,n=`${[...new Uint8Array(e).slice(0,8)].join(" ")} `,r={png:"137 80 78 71 13 10 26 10 ",jpg:"255 216 255 ",gif:"71 73 70 56 57 97 "};return n===r.png?t=B.png:n.startsWith(r.jpg)?t=B.jpg:n.startsWith(r.gif)&&(t=B.gif),t},la=(e,t,n)=>new File([e],n||"",{type:t}),pl=async e=>{if(e.type){if(ca(e)){let t=await tn(e),n=Nm(t);n&&n!==e.type&&(e=la(t,n,e.name))}}else if(e?.name?.endsWith(".excalidrawlib"))e=la(await tn(e),B.excalidrawlib,e.name);else if(e?.name?.endsWith(".excalidraw"))e=la(await tn(e),B.excalidraw,e.name);else{let t=await tn(e),n=Nm(t);n&&(e=la(t,n,e.name))}return e},tn=e=>"arrayBuffer"in e?e.arrayBuffer():new Promise((t,n)=>{let r=new FileReader;r.onload=o=>{if(!o.target?.result)return n(new Error("Couldn't convert blob to ArrayBuffer"));t(o.target.result)},r.readAsArrayBuffer(e)});var kl=e=>new Promise((t,n)=>{let r=typeof e=="string"?new Blob([new TextEncoder().encode(e)]):new Blob([e instanceof Uint8Array?e:new Uint8Array(e)]),o=new FileReader;o.onload=i=>{if(!i.target||typeof i.target.result!="string")return n(new Error("couldn't convert to byte string"));t(i.target.result)},o.readAsBinaryString(r)}),Gm=e=>{let t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let r=0,o=e.length;r<o;r++)n[r]=e.charCodeAt(r);return t},zm=e=>new TextDecoder("utf-8").decode(Gm(e)),Hm=async(e,t=!1)=>t?window.btoa(e):window.btoa(await kl(e)),Um=async(e,t=!1)=>t?window.atob(e):zm(window.atob(e)),Ol=async({text:e,compress:t})=>{let n;if(t!==!1)try{n=await kl((0,da.deflate)(e))}catch(r){console.error("encode: cannot deflate",r)}return{version:"1",encoding:"bstring",compressed:!!n,encoded:n||await kl(e)}},Rl=async e=>{let t;switch(e.encoding){case"bstring":t=e.compressed?e.encoded:await zm(e.encoded);break;default:throw new Error(`decode: unknown encoding "${e.encoding}"`)}return e.compressed?(0,da.inflate)(new Uint8Array(Gm(t)),{to:"string"}):t};var Z0=async e=>{let n=(0,Fl.default)(new Uint8Array(await tn(e))).find(r=>r.name==="tEXt");return n?Nl.default.decode(n.data):null},um=async({blob:e,metadata:t})=>{let n=(0,Fl.default)(new Uint8Array(await tn(e))),r=Nl.default.encode(B.excalidraw,JSON.stringify(await Ol({text:t,compress:!0})));return n.splice(-1,0,r),new Blob([(0,Vm.default)(n)],{type:B.png})},CL=async e=>{let t=await Z0(e);if(t?.keyword===B.excalidraw)try{let n=JSON.parse(t.text);if(!("encoded"in n)){if("type"in n&&n.type===Pe.excalidraw)return t.text;throw new Error("FAILED")}return await Rl(n)}catch(n){throw console.error(n),new Error("FAILED")}throw new Error("INVALID")},LL=async({text:e})=>{let t=await Hm(JSON.stringify(await Ol({text:e})),!0),n="";return n+=`<!-- payload-type:${B.excalidraw} -->`,n+="<!-- payload-version:2 -->",n+="<!-- payload-start -->",n+=t,n+="<!-- payload-end -->",n},kL=async({svg:e})=>{if(e.includes(`payload-type:${B.excalidraw}`)){let t=e.match(/<!-- payload-start -->\s*(.+?)\s*<!-- payload-end -->/);if(!t)throw new Error("INVALID");let o=(e.match(/<!-- payload-version:(\d+) -->/)?.[1]||"1")!=="1";try{let i=await Um(t[1],o),a=JSON.parse(i);if(!("encoded"in a)){if("type"in a&&a.type===Pe.excalidraw)return i;throw new Error("FAILED")}return await Rl(a)}catch(i){throw console.error(i),new Error("FAILED")}}throw new Error("INVALID")};export{On as a,$y as b,Yy as c,jo as d,qo as e,H as f,Wy as g,Xy as h,Zy as i,Ky as j,jy as k,qy as l,Jo as m,nb as n,rb as o,Vd as p,ib as q,ab as r,sb as s,$d as t,Yd as u,lb as v,cb as w,db as x,ub as y,Qo as z,fb as A,pb as B,mb as C,et as D,hb as E,Ee as F,Re as G,xe as H,Tt as I,tt as J,ir as K,ti as L,Wr as M,Eb as N,gb as O,xb as P,wb as Q,yb as R,ja as S,B as T,bb as U,Pe as V,qa as W,vb as X,Tb as Y,Ab as Z,Sb as _,_b as $,Xd as aa,Ib as ba,Pb as ca,ri as da,Mb as ea,Db as fa,Cb as ga,Lb as ha,kb as ia,Ob as ja,Rb as ka,Fb as la,Zd as ma,Ja as na,Nb as oa,Bb as pa,Q as qa,Qa as ra,me as sa,Gt as ta,es as ua,Fe as va,Gb as wa,QE as xa,Qd as ya,zb as za,Hb as Aa,Ub as Ba,eu as Ca,It as Da,ii as Ea,o1 as Fa,i1 as Ga,a1 as Ha,ng as Ia,s1 as Ja,l1 as Ka,ns as La,ce as Ma,lu as Na,cu as Oa,du as Pa,c1 as Qa,d1 as Ra,We as Sa,Xr as Ta,u1 as Ua,Zr as Va,rs as Wa,f1 as Xa,sr as Ya,p1 as Za,m1 as _a,h1 as $a,un as ab,E1 as bb,g1 as cb,x1 as db,w1 as eb,X as fb,y1 as gb,Ht as hb,b1 as ib,v1 as jb,T1 as kb,A1 as lb,ci as mb,S1 as nb,Ut as ob,_1 as pb,Rn as qb,I1 as rb,fu as sb,P1 as tb,M1 as ub,D1 as vb,C1 as wb,L1 as xb,pu as yb,Vt as zb,k1 as Ab,St as Bb,di as Cb,ui as Db,Kr as Eb,rt as Fb,Y as Gb,jr as Hb,mu as Ib,ee as Jb,J as Kb,j as Lb,os as Mb,qr as Nb,sg as Ob,lg as Pb,is as Qb,lr as Rb,be as Sb,fi as Tb,B1 as Ub,G1 as Vb,Lt as Wb,dt as Xb,Wi as Yb,qt as Zb,gp as _b,To as $b,Wn as ac,xn as bc,Yf as cc,re as dc,Be as ec,Dt as fc,fo as gc,Zt as hc,l_ as ic,c_ as jc,Zg as kc,ZT as lc,Kg as mc,jg as nc,Ms as oc,qg as pc,Mi as qc,cA as rc,Ge as sc,dA as tc,uA as uc,fA as vc,Cs as wc,SA as xc,Ls as yc,ks as zc,_A as Ac,IA as Bc,PA as Cc,Ci as Dc,ax as Ec,uo as Fc,Mt as Gc,MA as Hc,DA as Ic,hf as Jc,K as Kc,mo as Lc,bf as Mc,vf as Nc,JA as Oc,Ys as Pc,Xs as Qc,lS as Rc,Af as Sc,Wt as Tc,wr as Uc,_f as Vc,Zs as Wc,yn as Xc,Pf as Yc,Xt as Zc,q as _c,Se as $c,cS as ad,dS as bd,uS as cd,fS as dd,pS as ed,$s as fd,ct as gd,Eo as hd,mS as id,Fi as jd,G as kd,De as ld,t_ as md,Zf as nd,n_ as od,nt as pd,ru as qd,ou as rd,qx as sd,h_ as td,E_ as ud,Jx as vd,g_ as wd,qf as xd,x_ as yd,Qx as zd,br as Ad,w_ as Bd,y_ as Cd,b_ as Dd,v_ as Ed,vr as Fd,I_ as Gd,rp as Hd,op as Id,ip as Jd,fw as Kd,pw as Ld,mw as Md,cp as Nd,xo as Od,q_ as Pd,J_ as Qd,Q_ as Rd,eI as Sd,kt as Td,sl as Ud,tI as Vd,Yn as Wd,xw as Xd,wo as Yd,ww as Zd,nI as _d,Zi as $d,Sr as ae,wp as be,Sp as ce,_p as de,XI as ee,ZI as fe,_r as ge,Cp as he,fl as ie,tm as je,Qw as ke,Do as le,nm as me,Z0 as ne,um as oe,CL as pe,LL as qe,kL as re,$0 as se,aL as te,Lp as ue,ca as ve,Y0 as we,kp as xe,W0 as ye,sL as ze,lL as Ae,cL as Be,dL as Ce,uL as De,fL as Ee,pL as Fe,mL as Ge,hL as He,pl as Ie,Mo as Je,_2 as Ke,I2 as Le,Ow as Me,P2 as Ne,Rw as Oe,Fp as Pe,Np as Qe,k2 as Re,Bp as Se,G2 as Te,z2 as Ue,H2 as Ve,U2 as We,V2 as Xe,Bw as Ye,Gw as Ze,hl as _e,J2 as $e,Q2 as af,gl as bf,zw as cf,sP as df,uP as ef,zp as ff,Hp as gf,Uw as hf,Yp as if,Zp as jf,Kp as kf,zP as lf,sM as mf,a0 as nf,xM as of,wM as pf,lm as qf,yM as rf,bM as sf,dm as tf,Al as uf,p0 as vf,m0 as wf,h0 as xf,CM as yf,pm as zf,x0 as Af,hm as Bf,rD as Cf,vn as Df,oD as Ef,iD as Ff,ko as Gf,wl as Hf,aD as If,sD as Jf,Ce as Kf,lD as Lf,b0 as Mf,Sm as Nf,v0 as Of,cD as Pf,dD as Qf,ea as Rf,jp as Sf,qp as Tf,kx as Uf,MS as Vf,Js as Wf,ue as Xf,R as Yf,ut as Zf,yo as _f,Co as $f,_m as ag,Hs as bg,bl as cg,Pl as dg,aa as eg,Ml as fg,KD as gg,_0 as hg,I0 as ig,M0 as jg,D0 as kg,R0 as lg,N0 as mg,B0 as ng,G0 as og,H0 as pg,U0 as qg,V0 as rg,RC as sg,FC as tg,NC as ug,vl as vg,Mm as wg,T0 as xg,Di as yg,xD as zg,Qg as Ag,ex as Bg,lt as Cg,tx as Dg,al as Eg,Xg as Fg,Ps as Gg,Jg as Hg,JT as Ig};