(function(){ shadow$provide[589]=function(ja,N,Ca,w){var m=N(2);!function(G,q){"object"==typeof w&&"object"==typeof Ca?Ca.exports=q(N(14),N(23)):"function"==typeof define&&define.amd?define(["react","react-dom"],q):"object"==typeof w?w.Excalidraw=q(N(14),N(23)):G.Excalidraw=q(G.React,G.ReactDOM)}(self,function(G,q){return function(){function l(u){var g=a[u];if(void 0!==g)return g.exports;g=a[u]={id:u,exports:{}};return r[u](g,g.exports,l),g.exports}var b,h,n,r={7945:function(u,g,e){u.exports=e(1602)},4516:function(u){var g= Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable;u.exports=function(){try{if(!Object.assign)return!1;var x=new String("abc");if(x[5]="de","5"===Object.getOwnPropertyNames(x)[0])return!1;var A={};for(x=0;10>x;x++)A["_"+String.fromCharCode(x)]=x;if("0123456789"!==Object.getOwnPropertyNames(A).map(function(K){return A[K]}).join(""))return!1;var z={};return"abcdefghijklmnopqrst".split("").forEach(function(K){z[K]=K}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({}, z)).join("")}catch(K){return!1}}()?Object.assign:function(x,A){var z;if(null==x)throw new TypeError("Object.assign cannot be called with null or undefined");var K=Object(x);for(var F=1;Fba.length)&&(v=ba.length);for(var D=0,T=Array(v);D{const [ua,za]=ha;ha[0]=(ua-T)*ma-(za-B)*sa+T;ha[1]=(ua-T)*sa+(za-B)*ma+B})}}function Y(ba){const v=ba[0];ba=ba[1];return Math.sqrt(Math.pow(v[0]-ba[0],2)+Math.pow(v[1]-ba[1],2))}function S(ba,v,D,T){const B=v[1]-ba[1];v=ba[0]-v[0];ba=B*ba[0]+v*ba[1];const ma=T[1]-D[1];T=D[0]-T[0];D=ma*D[0]+T*D[1];const sa=B*T-ma*v;return sa?[(T*ba-v*D)/sa,(B*D-ma*ba)/sa]:null}function V(ba,v,D){const T=ba.length;if(3>T)return!1;const B=[Number.MAX_SAFE_INTEGER, D];v=[v,D];D=0;for(let ma=0;ma=Math.min(ba[0],D[0])&&v[1]<=Math.max(ba[1],D[1])&&v[1]>=Math.min(ba[1],D[1])}function M(ba,v,D){ba=(v[1]-ba[1])*(D[0]-v[0])-(v[0]-ba[0])*(D[1]-v[1]);return 0===ba?0:0ua&&(ua=4*ma.strokeWidth);ua=Math.max(ua,.1);ma=[];for(var ha=0;haHa.yminUa.ymin?1:Ha.xUa.x?1:Ha.ymax===Ua.ymax?0:(Ha.ymax-Ua.ymax)/Math.abs(Ha.ymax-Ua.ymax)),!ma.length)return B;let za=[],Aa=ma[0].ymin;for(;za.length||ma.length;){if(ma.length){sa=-1;for(ha=0;haAa);ha++)sa=ha;ma.splice(0,sa+1).forEach(Ha=>{za.push({s:Aa,edge:Ha})})}if(za=za.filter(Ha=>!(Ha.edge.ymax<=Aa)),za.sort((Ha,Ua)=>Ha.edge.x===Ua.edge.x?0:(Ha.edge.x-Ua.edge.x)/ Math.abs(Ha.edge.x-Ua.edge.x)),1=za.length)break;B.push([[Math.round(za[sa].edge.x),Aa],[Math.round(za[ha].edge.x),Aa]])}Aa+=ua;za.forEach(Ha=>{Ha.edge.x+=ua*Ha.edge.islope})}}return B}(ba,v);return T&&(L(ba,D,-T),function(B,ma,sa){const ha=[];B.forEach(ua=>ha.push(...ua));L(ha,ma,sa)}(v,D,-T)),v}function xa(ba){const v=[];a:{var D=ba;for(var T=[];""!==D;){if(!D.match(/^([ \t\r\n,]+)/))if(D.match(/^([aAcChHlLmMqQsStTvVzZ])/))T[T.length]={type:0, text:RegExp.$1};else{if(!D.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)){D=[];break a}T[T.length]={type:1,text:`${parseFloat(RegExp.$1)}`}}D=D.substr(RegExp.$1.length)}D=(T[T.length]={type:2,text:""},T)}T="BOD";let B=0;for(var ma=D[B];2!==ma.type;){let sa=0;const ha=[];if("BOD"===T){if("M"!==ma.text&&"m"!==ma.text)return xa("M0,0"+ba);B++;sa=ck[ma.text];T=ma.text}else 1===ma.type?sa=ck[T]:(B++,sa=ck[ma.text],T=ma.text);if(!(B+saza%2?ua+D:ua+v);ma.push({key:"C",data:ba});v=ba[4];D=ba[5];break;case "Q":ma.push({key:"Q",data:[...ha]});v=ha[2];D=ha[3];break;case "q":ba=ha.map((ua,za)=>za%2?ua+D:ua+v);ma.push({key:"Q",data:ba});v=ba[2];D=ba[3];break;case "A":ma.push({key:"A",data:[...ha]});v=ha[5];D=ha[6];break;case "a":v+=ha[5];D+=ha[6];ma.push({key:"A", data:[ha[0],ha[1],ha[2],ha[3],ha[4],v,D]});break;case "H":ma.push({key:"H",data:[...ha]});v=ha[0];break;case "h":v+=ha[0];ma.push({key:"H",data:[v]});break;case "V":ma.push({key:"V",data:[...ha]});D=ha[0];break;case "v":D+=ha[0];ma.push({key:"V",data:[D]});break;case "S":ma.push({key:"S",data:[...ha]});v=ha[2];D=ha[3];break;case "s":ba=ha.map((ua,za)=>za%2?ua+D:ua+v);ma.push({key:"S",data:ba});v=ba[2];D=ba[3];break;case "T":ma.push({key:"T",data:[...ha]});v=ha[0];D=ha[1];break;case "t":v+=ha[0];D+= ha[1];ma.push({key:"T",data:[v,D]});break;case "Z":case "z":ma.push({key:"Z",data:[]}),v=T,D=B}return ma}function qa(ba){const v=[];var D="";let T=0,B=0,ma=0,sa=0,ha=0,ua=0;for(const {key:Aa,data:Ha}of ba){switch(Aa){case "M":v.push({key:"M",data:[...Ha]});[T,B]=Ha;[ma,sa]=Ha;break;case "C":v.push({key:"C",data:[...Ha]});T=Ha[4];B=Ha[5];ha=Ha[2];ua=Ha[3];break;case "L":v.push({key:"L",data:[...Ha]});[T,B]=Ha;break;case "H":T=Ha[0];v.push({key:"L",data:[T,B]});break;case "V":B=Ha[0];v.push({key:"L", data:[T,B]});break;case "S":var za=ba=0;"C"===D||"S"===D?(ba=T+(T-ha),za=B+(B-ua)):(ba=T,za=B);v.push({key:"C",data:[ba,za,...Ha]});ha=Ha[0];ua=Ha[1];T=Ha[2];B=Ha[3];break;case "T":const [Ua,Ya]=Ha;za=ba=0;"Q"===D||"T"===D?(ba=T+(T-ha),za=B+(B-ua)):(ba=T,za=B);v.push({key:"C",data:[T+2*(ba-T)/3,B+2*(za-B)/3,Ua+2*(ba-Ua)/3,Ya+2*(za-Ya)/3,Ua,Ya]});ha=ba;ua=za;T=Ua;B=Ya;break;case "Q":const [ob,Bb,Rb,hc]=Ha;v.push({key:"C",data:[T+2*(ob-T)/3,B+2*(Bb-B)/3,Rb+2*(ob-Rb)/3,hc+2*(Bb-hc)/3,Rb,hc]});ha=ob; ua=Bb;T=Rb;B=hc;break;case "A":D=Math.abs(Ha[0]);ba=Math.abs(Ha[1]);za=Ha[2];const mc=Ha[3],Tc=Ha[4],Xc=Ha[5],Pc=Ha[6];if(0===D||0===ba)v.push({key:"C",data:[T,B,Xc,Pc,Xc,Pc]}),T=Xc,B=Pc;else if(T!==Xc||B!==Pc)va(T,B,Xc,Pc,D,ba,za,mc,Tc).forEach(function(Zc){v.push({key:"C",data:Zc})}),T=Xc,B=Pc;break;case "Z":v.push({key:"Z",data:[]}),T=ma,B=sa}D=Aa}return v}function ta(ba,v,D){return[ba*Math.cos(D)-v*Math.sin(D),ba*Math.sin(D)+v*Math.cos(D)]}function va(ba,v,D,T,B,ma,sa,ha,ua,za){const Aa=(Ha=sa, Math.PI*Ha/180);var Ha;Ha=[];if(za)[ha,Ua,Ya,ob]=za;else{[ba,v]=ta(ba,v,-Aa);[D,T]=ta(D,T,-Aa);var Ua=(ba-D)/2;var Ya=(v-T)/2;var ob=Ua*Ua/(B*B)+Ya*Ya/(ma*ma);1ha&&(ha= 2*Math.PI+ha);0>Ua&&(Ua=2*Math.PI+Ua);ua&&ha>Ua&&(ha-=2*Math.PI);!ua&&Ua>ha&&(Ua-=2*Math.PI)}if(Math.abs(Ua-ha)>120*Math.PI/180){Bb=Ua;const Rb=D,hc=T;Ua=ua&&Ua>ha?ha+120*Math.PI/180:ha+120*Math.PI/180*-1;Ha=va(D=Ya+B*Math.cos(Ua),T=ob+ma*Math.sin(Ua),Rb,hc,B,ma,sa,0,ua,[Ua,Bb,Ya,ob])}sa=Math.tan((Ua-ha)/4);B=4/3*B*sa;sa*=4/3*ma;ma=[ba,v];ba=[ba+B*Math.sin(ha),v-sa*Math.cos(ha)];v=[D+B*Math.sin(Ua),T-sa*Math.cos(Ua)];D=[D,T];if(ba[0]=2*ma[0]-ba[0],ba[1]=2*ma[1]-ba[1],za)return[ba,v,D].concat(Ha); Ha=[ba,v,D].concat(Ha);za=[];for(D=0;DB;)B+=2*Math.PI,ma+=2*Math.PI;ma-B>2*Math.PI&&(B=0,ma=2*Math.PI);var za=Math.min(2* Math.PI/ua.curveStepCount/2,(ma-B)/2);const Aa=ib(za,ba,v,D,T,B,ma,1,ua);ua.disableMultiStroke||(za=ib(za,ba,v,D,T,B,ma,1.5,ua),Aa.push(...za));return sa&&(ha?Aa.push(...Db(ba,v,ba+D*Math.cos(B),v+T*Math.sin(B),ua),...Db(ba,v,ba+D*Math.cos(ma),v+T*Math.sin(ma),ua)):Aa.push({op:"lineTo",data:[ba,v]},{op:"lineTo",data:[ba+D*Math.cos(B),v+T*Math.sin(B)]})),{type:"path",ops:Aa}}function db(ba,v){const D=[];if(ba.length){const T=v.maxRandomnessOffset||0,B=ba.length;if(2ua?1:500ha&&(Aa=ua/10);ha=Aa/2;ua=.2+.2*Fb(B);let Ha=B.bowing*B.maxRandomnessOffset*(T-v)/200,Ua=B.bowing*B.maxRandomnessOffset*(ba-D)/200;Ha=ic(Ha,B,za);Ua=ic(Ua,B,za);const Ya=[],ob=B.preserveVertices;return ma&&(sa?Ya.push({op:"move",data:[ba+(ob?0:ic(ha,B,za)),v+(ob?0:ic(ha,B,za))]}):Ya.push({op:"move",data:[ba+(ob?0:ic(Aa,B,za)),v+(ob?0:ic(Aa,B,za))]})),sa?Ya.push({op:"bcurveTo",data:[Ha+ba+(D-ba)*ua+ic(ha,B,za),Ua+v+(T-v)*ua+ic(ha,B,za),Ha+ba+2* (D-ba)*ua+ic(ha,B,za),Ua+v+2*(T-v)*ua+ic(ha,B,za),D+(ob?0:ic(ha,B,za)),T+(ob?0:ic(ha,B,za))]}):Ya.push({op:"bcurveTo",data:[Ha+ba+(D-ba)*ua+ic(Aa,B,za),Ua+v+(T-v)*ua+ic(Aa,B,za),Ha+ba+2*(D-ba)*ua+ic(Aa,B,za),Ua+v+2*(T-v)*ua+ic(Aa,B,za),D+(ob?0:ic(Aa,B,za)),T+(ob?0:ic(Aa,B,za))]}),Ya}function Zb(ba,v,D){const T=[];T.push([ba[0][0]+ic(v,D),ba[0][1]+ic(v,D)]);T.push([ba[0][0]+ic(v,D),ba[0][1]+ic(v,D)]);for(let B=1;Bha&&(ha=za,ua=Ya)}return Math.sqrt(ha)>T?(Yb(ba,v,ua+1,T,B),Yb(ba,ua,D,T,B)):(B.length||B.push(ma),B.push(sa)),B}function Ub(ba,v=.15,D){const T=[],B=(ba.length-1)/3;for(let ma=0;ma=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function Mc(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function Td(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);DB){return ba*T(.5-v*(.5-D))}function ze(ba,v){return[ba[0]+v[0],ba[1]+v[1]]}function Ee(ba,v){return[ba[0]-v[0],ba[1]-v[1]]}function xd(ba,v){return[ba[0]*v,ba[1]*v]} function Dd(ba){return[ba[1],-ba[0]]}function Ie(ba,v){return ba[0]===v[0]&&ba[1]===v[1]}function qg(ba,v){ba=Ee(ba,v);return ba[0]*ba[0]+ba[1]*ba[1]}function qf(ba){var v=Math.hypot(ba[0],ba[1]);return[ba[0]/v,ba[1]/v]}function rf(ba,v){return Math.hypot(ba[1]-v[1],ba[0]-v[0])}function hf(ba,v,D){let T=Math.sin(D);D=Math.cos(D);let B=ba[0]-v[0];ba=ba[1]-v[1];return[B*D-ba*T+v[0],B*T+ba*D+v[1]]}function Gf(ba,v,D){return ze(ba,xd(Ee(v,ba),D))}function og(ba,v,D){return ze(ba,xd(v,D))}function Ih(ba, v={}){var D;let {size:T=16,smoothing:B=.5,thinning:ma=.5,simulatePressure:sa=!0,easing:ha=pf=>pf,start:ua={},end:za={},last:Aa=!1}=v,{cap:Ha=!0,taper:Ua=0,easing:Ya=pf=>pf*(2-pf)}=ua,{cap:ob=!0,taper:Bb=0,easing:Rb=pf=>--pf*pf*pf+1}=za;if(0===ba.length)return[];var hc,mc=ba[ba.length-1].runningLength,Tc=Math.pow(T*B,2);v=[];var Xc=[],Pc=ba.slice(0,10).reduce((pf,ye)=>{var ah=ye.pressure;sa&&(ye=Wl(1,ye.distance/T),ah=Wl(1,1-ye),ah=Wl(1,pf+.275*ye*(ah-pf)));return(pf+ah)/2},ba[0].pressure),Zc=ud(T, ma,ba[ba.length-1].pressure,ha);let Bd=ba[0].vector;var Xd=ba[0].point;let kd=Xd;var qd=Xd,Gd=kd,He=!0;for(let pf=0;pfni){Xd=xd(Dd(Bd),Zc);for(let El=1/13,Fl=0;1>=Fl;Fl+=El)Gd=hf(ze(ye,Xd),ye,Gm*-Fl),qd=hf(Ee(ye,Xd),ye,Gm*Fl),Xc.push(Gd),v.push(qd);Xd=qd;kd=Gd}else Gd=xd(Dd(Gf(Ai,ah,ni)),Zc),qd=Ee(ye,Gd),Gd=ze(ye,Gd),((Pc=2>pf||.25>ni)||qg(Xd,qd)>Tc)&&(v.push(qd),Xd=qd),(Pc||qg(kd,Gd)>Tc)&&(Xc.push(Gd),kd=Gd),Pc=Sg,Bd=ah}}D=ba[0];hc=ba[ba.length-1];if((mc=He||2>Xc.length||2>v.length)&&(!Ua&&!Bb||Aa)){v=0;Xc=Ie(D.point,hc.point)?ze(D.point,[1,1]):hc.point;for(qd=0;qdT){v=ud(T,ma,pf,ha);break}}v=og(D.point,Dd(qf(Ee(D.point,Xc))),-(v||Zc));Xc=[];for(let pf=1/13,ye=pf;1>=ye;ye+=pf)Xc.push(hf(v,D.point,2*Gm*ye));return Xc}ba=[];He=[];if(1=ye;ye+=pf){Tc=hf(Gd,D.point,Gm*ye);if(1>rf(Tc,qd))break;ba.push(Tc)}v.shift(); Xc.shift()}}else Ie(Gd,qd)||(Tc=qf(Ee(qd,Gd)),qd=rf(Gd,qd)/2,ba.push(og(D.point,Tc,-qd),og(D.point,Tc,.95*-qd),og(D.point,Tc,.95*qd),og(D.point,Tc,qd)),v.shift(),Xc.shift());D=xd(ze(v[v.length-1],Xc[Xc.length-1]),.5);qd=hc.point;Gd=Dd(qf(Ee(qd,D)));if(ob||Bb)if(Bb||Ua&&mc)He.push(qd.slice(0,2));else{Zc=og(qd,Gd,Zc);for(let pf=1/29,ye=0;1>=ye;ye+=pf)Gd=hf(Zc,qd,3*Gm*ye),He.push(Gd)}else D=Gf(D,qd,.95),Zc*=.95,He.push(og(D,Gd,Zc),og(qd,Gd,Zc),og(qd,Gd,-Zc),og(D,Gd,-Zc))}return v.concat(He,Xc.reverse(), ba)}function Jh(ba,v={}){return Ih(function(D,T={}){var B;let {streamline:ma=.5,size:sa=16,last:ha=!1}=T;if(0===D.length)return[];T=.15+.85*(1-ma);D=Array.isArray(D[0])?D:D.map(({x:Ya,y:ob,pressure:Bb=.5})=>[Ya,ob,Bb]);1===D.length&&D.push([...ze(D[0],[1,1]),D[0][2]||.5]);let ua=[{point:[D[0][0],D[0][1]],pressure:D[0][2]||.25,vector:[1,1],distance:0,runningLength:0}],za=!1,Aa=0,Ha=ua[0],Ua=D.length-1;for(let Ya=1;Ya=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function wb(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D= ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function jd(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D= 0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function Va(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null== D.return||D.return()}finally{if(sa)throw B;}}}}function Cd(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function ne(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function qe(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D= ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function Ye(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D= 0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function Gi(ba, v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);D=ba.length?{done:!0}:{done:!1,value:ba[T++]}},e:function(ha){throw ha;},f:v}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }var B,ma=!0,sa=!1;return{s:function(){D=D.call(ba)},n:function(){var ha=D.next();return ma=ha.done,ha},e:function(ha){sa=!0;B=ha},f:function(){try{ma||null==D.return||D.return()}finally{if(sa)throw B;}}}}function $i(ba,v){(null==v||v>ba.length)&&(v=ba.length);for(var D=0,T=Array(v);Dv.label?1:-1}).filter(function(ba){return 85<=Hk[ba.code]});"production"===yc.Vi.DEVELOPMENT&&bk.unshift({code:"__test__",label:"test language"},{code:"".concat("__test__",".rtl"),label:"‪test language (rtl)‬",rtl:!0});var Cg=Vg,yh={},tg=function(){var ba=(0,ff.Z)(Yd().mark(function T(D){return Yd().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:if(Cg=D,document.documentElement.dir=Cg.rtl?"rtl":"ltr",document.documentElement.lang= Cg.code,!D.code.startsWith("__test__")){B.next=7;break}yh={};B.next=10;break;case 7:return B.next=9,e(788)("./".concat(Cg.code,".json"));case 9:yh=B.sent;case 10:case "end":return B.stop()}},T)}));return function(D){return ba.apply(this,arguments)}}(),zh=function(ba,v){for(var D=0;DY(T)||(T=[v[B][0],T[1]],3D&&ha>D&&T.push({point:ma,distance:sa})}}if(1ha.distance-ua.distance).map(ha=>ha.point);if(V(ba, ...v[0])||D.shift(),V(ba,...v[1])||D.pop(),1>=D.length)return this.midPointInPolygon(ba,v)?[v]:[];v=[v[0],...D,v[1]];D=[];for(T=0;TT&&(T=4*v.strokeWidth);T=Math.max(T,.1);let B=v.fillWeight;0>B&&(B=v.strokeWidth/2);const ma=T/4;for(const za of ba){var sa=Y(za);ba=Math.ceil(sa/T)-1;sa-=ba*T;const Aa=(za[0][0]+za[1][0])/2-T/4,Ha=Math.min(za[0][1],za[1][1]);for(let Ua=0;Uav.dashOffset?0>v.hachureGap?4*v.strokeWidth:v.hachureGap:v.dashOffset,T=0>v.dashGap?0>v.hachureGap?4*v.strokeWidth:v.hachureGap:v.dashGap,B=[];return ba.forEach(ma=>{var sa=Y(ma);const ha=Math.floor(sa/ (D+T));sa=(sa+T-ha*(D+T))/2;let ua=ma[0];var za=ma[1];ua[0]>za[0]&&(ua=ma[1],za=ma[0]);ma=Math.atan((za[1]-ua[1])/(za[0]-ua[0]));for(za=0;zav.hachureGap?4*v.strokeWidth: v.hachureGap,T=0>v.zigzagOffset?D:v.zigzagOffset;ba=ca(ba,v=Object.assign({},v,{hachureGap:D+T}));return{type:"fillSketch",ops:this.zigzagLines(ba,T,v)}}zigzagLines(ba,v,D){const T=[];return ba.forEach(B=>{var ma=Y(B);ma=Math.round(ma/(2*v));let sa=B[0];var ha=B[1];sa[0]>ha[0]&&(sa=B[1],ha=B[0]);B=Math.atan((ha[1]-sa[1])/(ha[0]-sa[0]));for(ha=0;haB;)B+=2*Math.PI,ma+=2*Math.PI;ma-B>2*Math.PI&&(B=0,ma=2*Math.PI);const Aa=(ma-B)/ha.curveStepCount,Ha=[];for(;B<=ma;B+=Aa)Ha.push([ba+D*Math.cos(B),v+ T*Math.sin(B)]);ba=(Ha.push([ba+D*Math.cos(ma),v+T*Math.sin(ma)]),Ha.push([ba,v]),Ib(Ha,ha));sa.call(ua,ba)}return"none"!==ha.stroke&&ua.push(za),this._d("arc",ua,ha)}curve(ba,v){v=this._o(v);const D=[],T=ya(ba,v);v.fill&&"none"!==v.fill&&3<=ba.length&&(ba=Ub(function(B,ma=0){var sa=B.length;if(3>sa)throw Error("A curve must have at least three points.");const ha=[];if(3===sa)ha.push([...B[0]],[...B[1]],[...B[2]],[...B[2]]);else{sa=[];sa.push(B[0],B[0]);for(var ua=1;uaD.simplification),sa=function(ha,ua,za){var Aa=qa(aa(xa(ha)));ha=[];let Ha= [];var Ua=[0,0];let Ya=[];const ob=()=>{4<=Ya.length&&Ha.push(...Ub(Ya,ua));Ya=[]};for(const {key:Bb,data:Rb}of Aa)switch(Bb){case "M":ob();Ha.length&&(ha.push(Ha),Ha=[]);Ua=[Rb[0],Rb[1]];Ha.push(Ua);break;case "L":ob();Ha.push([Rb[0],Rb[1]]);break;case "C":Ya.length||(Aa=Ha.length?Ha[Ha.length-1]:Ua,Ya.push([Aa[0],Aa[1]]));Ya.push([Rb[0],Rb[1]]);Ya.push([Rb[2],Rb[3]]);Ya.push([Rb[4],Rb[5]]);break;case "Z":ob(),Ha.push([Ua[0],Ua[1]])}ob();Ha.length&&(ha.push(Ha),Ha=[]);if(!za)return ha;Ua=[];for(const Bb of ha)ha= Yb(Bb,0,Bb.length,za),ha.length&&Ua.push(ha);return Ua}(ba,1,ma?4-4*D.simplification:(1+D.roughness)/2);if(v)if(D.combineNestedSvgPaths){const ha=[];sa.forEach(ua=>ha.push(...ua));"solid"===D.fillStyle?T.push(db(ha,D)):T.push(Ib(ha,D))}else sa.forEach(ha=>{"solid"===D.fillStyle?T.push(db(ha,D)):T.push(Ib(ha,D))});return B&&(ma?sa.forEach(ha=>{T.push(Da(ha,!1,D))}):T.push(function(ha,ua){ha=qa(aa(xa(ha)));const za=[];let Aa=[0,0],Ha=[0,0];for(const {key:Ua,data:Ya}of ha)switch(Ua){case "M":const ob= 1*(ua.maxRandomnessOffset||0),Bb=ua.preserveVertices;za.push({op:"move",data:Ya.map(Zc=>Zc+(Bb?0:ic(ob,ua)))});Ha=[Ya[0],Ya[1]];Aa=[Ya[0],Ya[1]];break;case "L":za.push(...Db(Ha[0],Ha[1],Ya[0],Ya[1],ua));Ha=[Ya[0],Ya[1]];break;case "C":const [Rb,hc,mc,Tc,Xc,Pc]=Ya;za.push(...La(Rb,hc,mc,Tc,Xc,Pc,Ha,ua));Ha=[Xc,Pc];break;case "Z":za.push(...Db(Ha[0],Ha[1],Aa[0],Aa[1],ua)),Ha=[Aa[0],Aa[1]]}return{type:"path",ops:za}}(ba,D))),this._d("path",T,D)}opsToPath(ba,v){let D="";for(const T of ba.ops)switch(ba= "number"==typeof v&&0<=v?T.data.map(B=>+B.toFixed(v)):T.data,T.op){case "move":D+=`M${ba[0]} ${ba[1]} `;break;case "bcurveTo":D+=`C${ba[0]} ${ba[1]}, ${ba[2]} ${ba[3]}, ${ba[4]} ${ba[5]} `;break;case "lineTo":D+=`L${ba[0]} ${ba[1]} `}return D.trim()}toPaths(ba){var v=ba.sets||[];ba=ba.options||this.defaultOptions;const D=[];for(const T of v){v=null;switch(T.type){case "path":v={d:this.opsToPath(T),stroke:ba.stroke,strokeWidth:ba.strokeWidth,fill:"none"};break;case "fillPath":v={d:this.opsToPath(T), stroke:"none",strokeWidth:0,fill:ba.fill||"none"};break;case "fillSketch":v=this.fillSketch(T,ba)}v&&D.push(v)}return D}fillSketch(ba,v){let D=v.fillWeight;return 0>D&&(D=v.strokeWidth/2),{d:this.opsToPath(ba),stroke:v.fill||"none",strokeWidth:D,fill:"none"}}}class $k{constructor(ba,v){this.canvas=ba;this.ctx=this.canvas.getContext("2d");this.gen=new aj(v)}draw(ba){const v=ba.sets||[],D=ba.options||this.getDefaultOptions(),T=this.ctx;for(const B of v)switch(B.type){case "path":T.save();T.strokeStyle= "none"===D.stroke?"transparent":D.stroke;T.lineWidth=D.strokeWidth;D.strokeLineDash&&T.setLineDash(D.strokeLineDash);D.strokeLineDashOffset&&(T.lineDashOffset=D.strokeLineDashOffset);this._drawToContext(T,B);T.restore();break;case "fillPath":T.save();T.fillStyle=D.fill||"";this._drawToContext(T,B,"curve"===ba.shape||"polygon"===ba.shape?"evenodd":"nonzero");T.restore();break;case "fillSketch":this.fillSketch(T,B,D)}}fillSketch(ba,v,D){let T=D.fillWeight;0>T&&(T=D.strokeWidth/2);ba.save();D.fillLineDash&& ba.setLineDash(D.fillLineDash);D.fillLineDashOffset&&(ba.lineDashOffset=D.fillLineDashOffset);ba.strokeStyle=D.fill||"";ba.lineWidth=T;this._drawToContext(ba,v);ba.restore()}_drawToContext(ba,v,D="nonzero"){ba.beginPath();for(const T of v.ops){const B=T.data;switch(T.op){case "move":ba.moveTo(B[0],B[1]);break;case "bcurveTo":ba.bezierCurveTo(B[0],B[1],B[2],B[3],B[4],B[5]);break;case "lineTo":ba.lineTo(B[0],B[1])}}"fillPath"===v.type?ba.fill(D):ba.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(ba, v,D,T,B){ba=this.gen.line(ba,v,D,T,B);return this.draw(ba),ba}rectangle(ba,v,D,T,B){ba=this.gen.rectangle(ba,v,D,T,B);return this.draw(ba),ba}ellipse(ba,v,D,T,B){ba=this.gen.ellipse(ba,v,D,T,B);return this.draw(ba),ba}circle(ba,v,D,T){ba=this.gen.circle(ba,v,D,T);return this.draw(ba),ba}linearPath(ba,v){ba=this.gen.linearPath(ba,v);return this.draw(ba),ba}polygon(ba,v){ba=this.gen.polygon(ba,v);return this.draw(ba),ba}arc(ba,v,D,T,B,ma,sa=!1,ha){ba=this.gen.arc(ba,v,D,T,B,ma,sa,ha);return this.draw(ba), ba}curve(ba,v){ba=this.gen.curve(ba,v);return this.draw(ba),ba}path(ba,v){ba=this.gen.path(ba,v);return this.draw(ba),ba}}class Hn{constructor(ba,v){this.svg=ba;this.gen=new aj(v)}draw(ba){var v=ba.sets||[];const D=ba.options||this.getDefaultOptions(),T=this.svg.ownerDocument||window.document,B=T.createElementNS("http://www.w3.org/2000/svg","g"),ma=ba.options.fixedDecimalPlaceDigits;for(const sa of v){v=null;switch(sa.type){case "path":v=T.createElementNS("http://www.w3.org/2000/svg","path");v.setAttribute("d", this.opsToPath(sa,ma));v.setAttribute("stroke",D.stroke);v.setAttribute("stroke-width",D.strokeWidth+"");v.setAttribute("fill","none");D.strokeLineDash&&v.setAttribute("stroke-dasharray",D.strokeLineDash.join(" ").trim());D.strokeLineDashOffset&&v.setAttribute("stroke-dashoffset",`${D.strokeLineDashOffset}`);break;case "fillPath":v=T.createElementNS("http://www.w3.org/2000/svg","path");v.setAttribute("d",this.opsToPath(sa,ma));v.setAttribute("stroke","none");v.setAttribute("stroke-width","0");v.setAttribute("fill", D.fill||"");"curve"!==ba.shape&&"polygon"!==ba.shape||v.setAttribute("fill-rule","evenodd");break;case "fillSketch":v=this.fillSketch(T,sa,D)}v&&B.appendChild(v)}return B}fillSketch(ba,v,D){let T=D.fillWeight;0>T&&(T=D.strokeWidth/2);ba=ba.createElementNS("http://www.w3.org/2000/svg","path");return ba.setAttribute("d",this.opsToPath(v,D.fixedDecimalPlaceDigits)),ba.setAttribute("stroke",D.fill||""),ba.setAttribute("stroke-width",T+""),ba.setAttribute("fill","none"),D.fillLineDash&&ba.setAttribute("stroke-dasharray", D.fillLineDash.join(" ").trim()),D.fillLineDashOffset&&ba.setAttribute("stroke-dashoffset",`${D.fillLineDashOffset}`),ba}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(ba,v){return this.gen.opsToPath(ba,v)}line(ba,v,D,T,B){ba=this.gen.line(ba,v,D,T,B);return this.draw(ba)}rectangle(ba,v,D,T,B){ba=this.gen.rectangle(ba,v,D,T,B);return this.draw(ba)}ellipse(ba,v,D,T,B){ba=this.gen.ellipse(ba,v,D,T,B);return this.draw(ba)}circle(ba,v,D,T){ba=this.gen.circle(ba, v,D,T);return this.draw(ba)}linearPath(ba,v){ba=this.gen.linearPath(ba,v);return this.draw(ba)}polygon(ba,v){ba=this.gen.polygon(ba,v);return this.draw(ba)}arc(ba,v,D,T,B,ma,sa=!1,ha){ba=this.gen.arc(ba,v,D,T,B,ma,sa,ha);return this.draw(ba)}curve(ba,v){ba=this.gen.curve(ba,v);return this.draw(ba)}path(ba,v){ba=this.gen.path(ba,v);return this.draw(ba)}}var Bj={canvas:(ba,v)=>new $k(ba,v),svg:(ba,v)=>new Hn(ba,v),generator:ba=>new aj(ba),newSeed:()=>aj.newSeed()};let dk=(ba=21)=>{let v="",D=crypto.getRandomValues(new Uint8Array(ba)); for(;ba--;){let T=63&D[ba];v+=36>T?T.toString(36):62>T?(T-26).toString(36).toUpperCase():63>T?"_":"-"}return v};var Xg=function(ba){return null!=ba&&"text"===ba.type},ki=function(ba){return null!=ba&&"freedraw"===ba.type},Dg=function(ba){return null!=ba&&oj(ba.type)},oj=function(ba){return"arrow"===ba||"line"===ba},Wg=function(ba){return null!=ba&&"arrow"===ba.type},Ze=function(ba){return null!=ba&&("rectangle"===ba.type||"diamond"===ba.type||"ellipse"===ba.type||"text"===ba.type)},Jf=function(ba, v,D,T,B){return[(ba-D)*Math.cos(B)-(v-T)*Math.sin(B)+D,(ba-D)*Math.sin(B)+(v-T)*Math.cos(B)+T]},Df=function(ba,v,D){return Jf(ba[0],ba[1],v[0],v[1],D)},qi=function(ba,v,D,T,B,ma,sa,ha){var ua=Math.cos(T);T=Math.sin(T);return ba.e&&ba.w?v+=B+sa:ba.e?(v+=B*(1+ua),D+=B*T,v+=sa*(1-ua),D+=sa*-T):ba.w&&(v+=B*(1-ua),D+=B*-T,v+=sa*(1+ua),D+=sa*T),ba.n&&ba.s?D+=ma+ha:ba.n?(v+=ma*T,D+=ma*(1-ua),v+=ha*-T,D+=ha*(1+ua)):ba.s&&(v+=ma*-T,D+=ma*(1+ua),v+=ha*T,D+=ha*(1-ua)),[v,D]},qj=function(ba){var v=1T)return!1;var B=[Number.MAX_SAFE_INTEGER,D];v=[v,D];for(var ma=D=0;ma=Math.min(ba[0],D[0])&&v[1]<=Math.max(ba[1],D[1])&&v[1]>=Math.min(ba[1],D[1])},Qi=function(ba,v,D){ba=(v[1]-ba[1])*(D[0]-v[0])-(v[0]-ba[0])*(D[1]-v[1]);return 0===ba?0:0=B;){var Aa=ma(B,0),Ha=ma(B,1);v&&(Ha=da(v(Aa,Ha),2),Aa=Ha[0],Ha=Ha[1]);T.minY=Math.min(T.minY,Ha);T.minX= Math.min(T.minX,Aa);T.maxX=Math.max(T.maxX,Aa);T.maxY=Math.max(T.maxY,Ha);B+=.1}}return T},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[ba.minX,ba.minY,ba.maxX,ba.maxY]},tl=function(ba){var v,D=1/0,T=1/0,B=-1/0,ma=-1/0;ba=Hc(ba);try{for(ba.s();!(v=ba.n()).done;){var sa=da(v.value,2),ha=sa[0],ua=sa[1];D=Math.min(D,ha);T=Math.min(T,ua);B=Math.max(B,ha);ma=Math.max(ma,ua)}}catch(za){ba.e(za)}finally{ba.f()}return[D,T,B,ma]},jf=function(ba){if(2>ba.points.length||!kh.get(ba)){var v=ba.points.reduce(function(D, T){var B=da(T,2);T=B[0];B=B[1];return D.minY=Math.min(D.minY,B),D.minX=Math.min(D.minX,T),D.maxX=Math.max(D.maxX,T),D.maxY=Math.max(D.maxY,B),D},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});ba=[v.minX+ba.x,v.minY+ba.y,v.maxX+ba.x,v.maxY+ba.y]}else v=kh.get(ba),v=Ik(v[0]),v=da(Mh(v),4),ba=[v[0]+ba.x,v[1]+ba.y,v[2]+ba.x,v[3]+ba.y];return ba},gk=function(ba){var v=da(Vf(ba),4),D=v[0],T=v[1];var B=v[2];var ma=v[3],sa=(D+B)/2,ha=(T+ma)/2;if(ki(ba))return B=tl(ba.points.map(function(Ha){Ha=da(Ha,2);return Jf(Ha[0], Ha[1],sa-ba.x,ha-ba.y,ba.angle)})),B=da(B,4),[B[0]+ba.x,B[1]+ba.y,B[2]+ba.x,B[3]+ba.y];if(Dg(ba))B=function(Ha,Ua,Ya){if(2>Ha.points.length||!kh.get(Ha)){var ob=Ha.points.reduce(function(Bb,Rb){var hc=da(Rb,2);Rb=hc[0];hc=hc[1];var mc=da(Jf(Ha.x+Rb,Ha.y+hc,Ua,Ya,Ha.angle),2);return Rb=mc[0],hc=mc[1],Bb.minY=Math.min(Bb.minY,hc),Bb.minX=Math.min(Bb.minX,Rb),Bb.maxX=Math.max(Bb.maxX,Rb),Bb.maxY=Math.max(Bb.maxY,hc),Bb},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[ob.minX,ob.minY,ob.maxX,ob.maxY]}ob= kh.get(Ha);ob=Ik(ob[0]);return Mh(ob,function(Bb,Rb){return Jf(Ha.x+Bb,Ha.y+Rb,Ua,Ya,Ha.angle)})}(ba,sa,ha);else if("diamond"===ba.type){T=da(Jf(sa,T,sa,ha,ba.angle),2);v=T[0];T=T[1];ma=da(Jf(sa,ma,sa,ha,ba.angle),2);var ua=ma[0];ma=ma[1];var za=da(Jf(D,ha,sa,ha,ba.angle),2);D=za[0];za=za[1];var Aa=da(Jf(B,ha,sa,ha,ba.angle),2);B=Aa[0];Aa=Aa[1];B=[Math.min(v,ua,D,B),Math.min(T,ma,za,Aa),Math.max(v,ua,D,B),Math.max(T,ma,za,Aa)]}else"ellipse"===ba.type?(B=(B-D)/2,T=(ma-T)/2,ua=Math.cos(ba.angle),D= Math.sin(ba.angle),v=Math.hypot(B*ua,T*D),B=Math.hypot(T*ua,B*D),B=[sa-v,ha-B,sa+v,ha+B]):(ua=da(Jf(D,T,sa,ha,ba.angle),2),v=ua[0],ua=ua[1],za=da(Jf(D,ma,sa,ha,ba.angle),2),D=za[0],za=za[1],Aa=da(Jf(B,ma,sa,ha,ba.angle),2),ma=Aa[0],Aa=Aa[1],T=da(Jf(B,T,sa,ha,ba.angle),2),B=T[0],T=T[1],B=[Math.min(v,D,ma,B),Math.min(ua,za,Aa,T),Math.max(v,D,ma,B),Math.max(ua,za,Aa,T)]);return B},Bg=function(ba){if(!ba.length)return[0,0,0,0];var v=1/0,D=-1/0,T=1/0,B=-1/0;return ba.forEach(function(ma){ma=da(gk(ma), 4);var sa=ma[1],ha=ma[2],ua=ma[3];v=Math.min(v,ma[0]);T=Math.min(T,sa);D=Math.max(D,ha);B=Math.max(B,ua)}),[v,T,D,B]},Re=function(ba,v,D){if(!Dg(ba)&&!ki(ba))return[ba.x,ba.y,ba.x+v,ba.y+D];v=lm(0,v,lm(1,D,ba.points));ki(ba)?v=tl(v):(D=Bj.generator(),v="sharp"===ba.strokeSharpness?D.linearPath(v,Yf(ba)):D.curve(v,Yf(ba)),v=Ik(v),v=Mh(v));v=da(v,4);return[v[0]+ba.x,v[1]+ba.y,v[2]+ba.x,v[3]+ba.y]},ul=function(ba,v,D){var T=Bj.generator();v="sharp"===D?T.linearPath(v,Yf(ba)):T.curve(v,Yf(ba));v=Ik(v); v=da(Mh(v),4);return[v[0]+ba.x,v[1]+ba.y,v[2]+ba.x,v[3]+ba.y]},mf=JSON.parse('{"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"]}'), $h=function(ba){return[mf.red[ba],mf.pink[ba],mf.grape[ba],mf.violet[ba],mf.indigo[ba],mf.blue[ba],mf.cyan[ba],mf.teal[ba],mf.green[ba],mf.lime[ba],mf.yellow[ba],mf.orange[ba]]},ri={canvasBackground:[mf.white,mf.gray[0],mf.gray[1]].concat(Q($h(0))),elementBackground:["transparent",mf.gray[4],mf.gray[6]].concat(Q($h(6))),elementStroke:[mf.black,mf.gray[8],mf.gray[7]].concat(Q($h(9)))},rh=e(6207),xi=/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),nj=/^Win/.test(window.navigator.platform),Af= xi?"metaKey":"ctrlKey",oh=function(ba){return"ArrowLeft"===ba||"ArrowRight"===ba||"ArrowDown"===ba||"ArrowUp"===ba},Nh=function(ba){return ba.charAt(0).toUpperCase()+ba.slice(1)},Dj=function(ba){return ba instanceof HTMLElement&&"wysiwyg"===ba.dataset.type||ba instanceof HTMLBRElement||ba instanceof HTMLTextAreaElement||ba instanceof HTMLInputElement&&("text"===ba.type||"number"===ba.type)},mm=function(ba){ba=ba.fontFamily;for(var v=0,D=Object.entries(yc.ut);vhc.length)return null;var Xc="start"===mc?1:hc.length-1,Pc=hc[Xc].data,Zc=[Pc[4],Pc[5]],Bd=[Pc[2],Pc[3]],Xd=[Pc[0],Pc[1]];hc=hc[Xc-1];var kd=[0,0];"move"===hc.op?kd=hc.data:"bcurveTo"===hc.op&&(kd=[hc.data[4],hc.data[5]]);Xc=function(pf,ye){return Math.pow(1- pf,3)*Zc[ye]+3*pf*Math.pow(1-pf,2)*Bd[ye]+3*Math.pow(pf,2)*(1-pf)*Xd[ye]+kd[ye]*Math.pow(pf,3)};hc=da("start"===mc?kd:Zc,2);mc=hc[0];hc=hc[1];Pc=[Xc(.3,0),Xc(.3,1)];Xc=Pc[0];Pc=Pc[1];var qd=Math.hypot(mc-Xc,hc-Pc);Xc=(mc-Xc)/qd;Pc=(hc-Pc)/qd;qd={arrow:30,bar:15,dot:15}[Tc];var Gd=0;if("arrow"===Tc){var He=da(Rb.points[Rb.points.length-1],2);Gd=He[0];He=He[1];var Sg=da(1 ma?Math.floor(Math.abs(ba.x-ma))*window.devicePixelRatio*D.value:0;sa=ba.y>sa?Math.floor(Math.abs(ba.y-sa))*window.devicePixelRatio*D.value:0;v.translate(ma,sa)}else T.width=ba.width*window.devicePixelRatio*D.value+B*D.value*2,T.height=ba.height*window.devicePixelRatio*D.value+B*D.value*2;v.save();v.translate(B*D.value,B*D.value);v.scale(window.devicePixelRatio*D.value,window.devicePixelRatio*D.value);B=Bj.canvas(T);D=(Sl(ba,B,v),v.restore(),{element:ba,canvas:T,canvasZoom:D.value,canvasOffsetX:ma, canvasOffsetY:sa});return Xl.set(ba,D),D}return T},Dk=function(ba,v,D,T){v=ba.element;var B="freedraw"===v.type?12*v.strokeWidth:20,ma=da(Vf(v),4),sa=ma[0],ha=ma[1],ua=ma[2];ma=ma[3];ki(v)&&(sa=Math.floor(sa),ua=Math.ceil(ua),ha=Math.floor(ha),ma=Math.ceil(ma));var za=((sa+ua)/2+T.scrollX)*window.devicePixelRatio;T=((ha+ma)/2+T.scrollY)*window.devicePixelRatio;D.save();D.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);D.translate(za,T);D.rotate(v.angle);D.drawImage(ba.canvas,-(ua-sa)/2* window.devicePixelRatio-B*ba.canvasZoom/ba.canvasZoom,-(ma-ha)/2*window.devicePixelRatio-B*ba.canvasZoom/ba.canvasZoom,ba.canvas.width/ba.canvasZoom,ba.canvas.height/ba.canvasZoom);D.restore()},lh=function(ba,v,D,T,B){var ma=v.generator;switch(ba.type){case "selection":D.save();D.translate(ba.x+B.scrollX,ba.y+B.scrollY);D.fillStyle="rgba(0, 0, 255, 0.10)";D.fillRect(0,0,ba.width,ba.height);D.restore();break;case "freedraw":if(hi(ba,ma),T)ba=gh(ba,B),Dk(ba,0,D,B);else{ma=da(Vf(ba),4);var sa=ma[0]; T=ma[1];var ha=ma[2],ua=ma[3];ma=(sa+ha)/2+B.scrollX;B=(T+ua)/2+B.scrollY;sa=(ha-sa)/2-(ba.x-sa);T=(ua-T)/2-(ba.y-T);D.save();D.translate(ma,B);D.rotate(ba.angle);D.translate(-sa,-T);Sl(ba,v,D);D.restore()}break;case "rectangle":case "diamond":case "ellipse":case "line":case "arrow":case "text":(hi(ba,ma),T)?(ba=gh(ba,B),Dk(ba,0,D,B)):(ma=da(Vf(ba),4),sa=ma[0],T=ma[1],ha=ma[2],ua=ma[3],ma=(sa+ha)/2+B.scrollX,B=(T+ua)/2+B.scrollY,sa=(ha-sa)/2-(ba.x-sa),T=(ua-T)/2-(ba.y-T),D.save(),D.translate(ma,B), D.rotate(ba.angle),D.translate(-sa,-T),Sl(ba,v,D),D.restore());break;default:throw Error("Unimplemented type ".concat(ba.type));}},Li=function(ba,v,D){if(void 0===D)return ba.draw(v);v={sets:v.sets,shape:v.shape,options:yg(yg({},v.options),{},{fixedDecimalPlaceDigits:D})};return ba.draw(v)},Bf=function(ba,v,D,T,B){var ma=da(Vf(ba),4),sa=ma[0],ha=ma[1],ua=(ma[2]-sa)/2-(ba.x-sa),za=(ma[3]-ha)/2-(ba.y-ha),Aa=180*ba.angle/Math.PI;ma=v.generator;switch(ba.type){case "selection":throw Error("Selection rendering is not supported for SVG"); case "rectangle":case "diamond":case "ellipse":hi(ba,ma);ma=Li(v,kh.get(ba),yc.zK);sa=ba.opacity/100;1!==sa&&(ma.setAttribute("stroke-opacity","".concat(sa)),ma.setAttribute("fill-opacity","".concat(sa)));ma.setAttribute("stroke-linecap","round");ma.setAttribute("transform","translate(".concat(T||0," ").concat(B||0,") rotate(").concat(Aa," ").concat(ua," ").concat(za,")"));D.appendChild(ma);break;case "line":case "arrow":hi(ba,ma);var Ha=D.ownerDocument.createElementNS("http://www.w3.org/2000/svg", "g"),Ua=ba.opacity/100;Ha.setAttribute("stroke-linecap","round");kh.get(ba).forEach(function(Tc){Tc=Li(v,Tc,yc.zK);1!==Ua&&(Tc.setAttribute("stroke-opacity","".concat(Ua)),Tc.setAttribute("fill-opacity","".concat(Ua)));Tc.setAttribute("transform","translate(".concat(T||0," ").concat(B||0,") rotate(").concat(Aa," ").concat(ua," ").concat(za,")"));"line"===ba.type&&qj(ba.points)&&"transparent"!==ba.backgroundColor&&Tc.setAttribute("fill-rule","evenodd");Ha.appendChild(Tc)});D.appendChild(Ha);break; case "freedraw":xg(ba);sa=ba.opacity/100;ma=D.ownerDocument.createElementNS("http://www.w3.org/2000/svg","g");1!==sa&&(ma.setAttribute("stroke-opacity","".concat(sa)),ma.setAttribute("fill-opacity","".concat(sa)));ma.setAttribute("transform","translate(".concat(T||0," ").concat(B||0,") rotate(").concat(Aa," ").concat(ua," ").concat(za,")"));sa=D.ownerDocument.createElementNS("http://www.w3.org/2000/svg","path");ma.setAttribute("stroke","none");ma.setAttribute("fill",ba.strokeColor);sa.setAttribute("d", Se(ba));ma.appendChild(sa);D.appendChild(ma);break;default:if(!Xg(ba))throw Error("Unimplemented type ".concat(ba.type));sa=ba.opacity/100;ma=D.ownerDocument.createElementNS("http://www.w3.org/2000/svg","g");1!==sa&&(ma.setAttribute("stroke-opacity","".concat(sa)),ma.setAttribute("fill-opacity","".concat(sa)));ma.setAttribute("transform","translate(".concat(T||0," ").concat(B||0,") rotate(").concat(Aa," ").concat(ua," ").concat(za,")"));sa=ba.text.replace(/\r\n?/g,"\n").split("\n");ha=ba.height/sa.length; for(var Ya=ba.height-ba.baseline,ob="center"===ba.textAlign?ba.width/2:"right"===ba.textAlign?ba.width:0,Bb=ik.test(ba.text)?"rtl":"ltr",Rb="center"===ba.textAlign?"middle":"right"===ba.textAlign||"rtl"===Bb?"end":"start",hc=0;hc ba.points.length:0===ba.width&&0===ba.height},mk=function(ba,v,D){var T=Math.abs(v),B=Math.abs(D);"line"===ba||"arrow"===ba||"freedraw"===ba?(ba=Math.round(Math.atan(B/T)/yc.ay)*yc.ay,0===ba?D=0:ba===Math.PI/2?v=0:D=Math.round(T*Math.tan(ba))*Math.sign(D)||D):"selection"!==ba&&(D=T*Math.sign(D));return{width:v,height:D}},Rj=function(ba){var v={width:ba.width,height:ba.height,x:ba.x,y:ba.y};if(0>ba.width){var D=Math.abs(ba.width);v.width=D;v.x=ba.x-D}0>ba.height&&(D=Math.abs(ba.height),v.height=D, v.y=ba.y-D);return v},Pf=function(ba,v,D){D=D.filter(function(T){return T.groupIds.includes(ba)});return 2>D.length?v.selectedGroupIds[ba]||v.editingGroupId===ba?rc(rc({},v),{},{selectedGroupIds:rc(rc({},v.selectedGroupIds),{},X({},ba,!1)),editingGroupId:null}):v:rc(rc({},v),{},{selectedGroupIds:rc(rc({},v.selectedGroupIds),{},X({},ba,!0)),selectedElementIds:rc(rc({},v.selectedElementIds),Object.fromEntries(D.map(function(T){return[T.id,!0]})))})},dh=function(ba,v){return v.groupIds.filter(function(D){return D!== ba.editingGroupId}).find(function(D){return ba.selectedGroupIds[D]})},vi=function(ba){return Object.entries(ba.selectedGroupIds).filter(function(v){v=da(v,2);v[0];return v[1]}).map(function(v){v=da(v,2);var D=v[0];v[1];return D})},Me=function(ba,v){var D=rc(rc({},ba),{},{selectedGroupIds:{}}),T=Sf(v,ba);if(!T.length)return rc(rc({},D),{},{editingGroupId:null});var B;T=kb(T);try{for(T.s();!(B=T.n()).done;){var ma=B.value.groupIds;if(ba.editingGroupId){var sa=ma.indexOf(ba.editingGroupId);-1Pc&&(za.n||(Xc.n=af(sa+Bb/2-Ha/2,ha-Tc-ob+Aa,Ha,Ua,hc,mc,D)),za.s||(Xc.s=af(sa+Bb/2-Ha/2,ma+Tc-Aa,Ha,Ua,hc,mc,D))),Math.abs(Rb)>Pc&&(za.w||(Xc.w=af(sa-Tc-Ya+Aa,ha+Rb/2-Ua/2,Ha,Ua, hc,mc,D)),za.e||(Xc.e=af(ua+Tc-Aa,ha+Rb/2-Ua/2,Ha,Ua,hc,mc,D))),Xc},Tk=function(v,D){var T=2ma[1]?B=Qj:0ma[0]&&0ma[0]&&0>ma[1]&&(B=Uf)}}else"text"===v.type&&(B=Nm);return Jg(Vf(v),v.angle,D,T,B)},th=function(v,D){return[0,0,0,0,D,v,1,0]},uh=function(){var v= 0D||7v[6]?-1:1)/D)},yf=(uh(1,1),uh(1,2),uh(1,3),uh(1,4),uh(1,5),uh(1,6),uh(1,7),function(v,D,T){return Lf([0,T,v,D,0,0,0,0])}),Ci=function(v,D){return T=v,[(B=D)[0]*T[0]+B[2]*T[2]+B[3]*T[3]-B[6]*T[6],B[1]*T[0]+B[0]*T[1]-B[4]*T[2]+B[5]*T[3]+B[2]*T[4]-B[3]*T[5]-B[7]*T[6]-B[6]*T[7],B[2]*T[0]+B[0]*T[2]-B[6]*T[3]+B[3]*T[6],B[3]*T[0]+B[6]*T[2]+B[0]*T[3]-B[2]*T[6],B[4]*T[0]+B[7]*T[3]+B[0]*T[4]+B[3]*T[7],B[5]*T[0]+B[7]*T[2]+B[0]*T[5]+B[2]*T[7],B[6]*T[0]+B[0]*T[6],B[7]*T[0]+B[0]*T[7]];var T,B}, Gh=function(v){v=da(v,2);return[0,0,0,0,v[1],v[0],1,0]},Zh=function(v){return[v[5],v[4]]},Mk=function(v,D){return T=Ug(v,Math.sin(D/2)),B=Math.cos(D/2),"number"==typeof B?[T[0]+B,T[1],T[2],T[3],T[4],T[5],T[6],T[7]]:[T[0]+B[0],T[1]+B[1],T[2]+B[2],T[3]+B[3],T[4]+B[4],T[5]+B[5],T[6]+B[6],T[7]+B[7]];var T,B},Bh=function(v,D){return Lf(Ug(Ug(v,D),uk(v)))},Xi=function(v,D,T,B){var ma=10/D.zoom.value;return!Nk(v,D,[T,B])&&eg(v,[T,B],ma)},Nk=function(v,D,T){D=10/D.zoom.value;if("text"===v.type)var B=yk;else"arrow"=== v.type?B=!1:"freedraw"===v.type?B=!0:(B="transparent"!==v.backgroundColor,B="line"===v.type?B&&qj(v.points):B),B=B?vk:gm;return hj({element:v,point:T,threshold:D,check:B})},eg=function(v,D,T){D=da(D,2);var B=D[0],ma=D[1],sa=da(Vf(v),4);D=sa[0];var ha=sa[1],ua=sa[2];sa=sa[3];B=da(Jf(B,ma,(D+ua)/2,(ha+sa)/2,-v.angle),2);v=B[0];B=B[1];return v>D-T&&vha-T&&Bza?sa:Aaza?ma:ua,Math.hypot(T- ua[1],B-ua[0])v},vk=function(v,D){return v< D},gm=function(v,D){return Math.abs(v)=Ya)ua=[];else{Ya=Math.sqrt(Ya);var ob=ha*za* za-Ua*ua*za-ua*Aa;Aa=Ua*ua*ua-ha*ua*za-za*Aa;ua=[th((ob+za*Ya)/Ha,(Aa-ua*Ya)/Ha),th((ob-za*Ya)/Ha,(Aa+ua*Ya)/Ha)]}}return ua}));break;case "ellipse":sa=Hh(v,B,D)}if(2>sa.length)return[];sa=sa.sort(function(ha,ua){return lk(Ki(ha,T))-lk(Ki(ua,T))});return[sa[0],sa[sa.length-1]]},Sh=function(v){var D=1=ha)return[];ha=Math.sqrt(ha);var ua=-B*B*D*sa;sa*=-v*v*ma;return[th((ua+B*v*ma*ha)/T,(sa-B*v*D*ha)/T),th((ua-B*v*ma*ha)/T,(sa+B*v*D*ha)/T)]},wi=function(v,D,T){var B=Math.sign(D),ma=0,sa=null;return Sh(v,Math.abs(D)).forEach(function(ha){var ua=B*Lf(Ki(ha,T))[1];ua>ma&&(ma=ua,sa=ha)}),sa},tj=function(v,D,T,B){var ma=[0,0];return Ik(v).some(function(sa, ha){ha=sa.op;var ua=sa.data;if("move"===ha)ma=ua;else if("bcurveTo"===ha){sa=[ua[0],ua[1]];ha=[ua[2],ua[3]];ua=[ua[4],ua[5]];var za=ma;return ma=ua,function(Aa,Ha,Ua,Ya,ob,Bb){var Rb=da(ob,2);ob=Rb[0];Rb=Rb[1];for(var hc=function(Pc,Zc){return Math.pow(1-Pc,3)*Ya[Zc]+3*Pc*Math.pow(1-Pc,2)*Ua[Zc]+3*Math.pow(Pc,2)*(1-Pc)*Ha[Zc]+Aa[Zc]*Math.pow(Pc,3)},mc=0;1>=mc;){var Tc=hc(mc,0),Xc=hc(mc,1);if(Math.sqrt(Math.pow(Tc-ob,2)+Math.pow(Xc-Rb,2))=v[0]&&D<=v[0]+v[2]&&T>=v[1]&&T<=v[1]+v[3]},fh=function(v,D,T,B,ma,sa){return v.reduce(function(ha,ua){return ha?ha:(ha=function(za,Aa,Ha,Ua,Ya,ob){if(!Aa.selectedElementIds[za.id])return!1;za=Tk(za,Ya,ob);Aa=za.rotation;var Bb=Za(za,xk);if(Aa&&Sj(Aa,Ha,Ua))return"rotation";za=Object.keys(Bb).filter(function(Rb){Rb=Bb[Rb];return!!Rb&&Sj(Rb,Ha,Ua)});return 0T?D.points.length+T:T;T=da(Vf(D),4);B=D.points[B];return Jf(D.x+B[0],D.y+B[1],(T[0]+T[2])/2,(T[1]+T[3])/2,D.angle)}},{key:"pointFromAbsoluteCoords",value:function(D,T){var B=da(Vf(D),4);T=da(Jf(T[0],T[1],(B[0]+B[2])/2,(B[1]+B[3])/2,-D.angle),2);return[T[0]-D.x,T[1]-D.y]}},{key:"getPointIndexUnderCursor", value:function(D,T,B,ma){D=this.getPointsGlobalCoordinates(D);for(var sa=D.length;-1<--sa;){var ha=D[sa];if(Math.hypot(ha[0]-B,ha[1]-ma)*T.valuev.points.length},yd=function(v){v.forEach(function(D){Wg(D)&&Md(D,null,null)})},hg=function(v,D){return ka(D.getElements(),function(T){return Ze(T)&&Uk(T,v)})},fd=function(v,D,T){var B="start"===T?-1:1;T=-1===B?0:v.points.length-1;B=T-B;T=dd.getPointAtIndexGlobalCoordinates(v,T);B=dd.getPointAtIndexGlobalCoordinates(v,B);a:{v=fm(D);B=Bh(v,Gh(B));v=Bh(v,Gh(T));var ma=Lf(Ki(v,B));v=D.height/D.width;B=D.width/2;var sa=D.height/2,ha=ma[2],ua=ma[3];ma=ma[1];var za=Math.abs(ua), Aa=Math.abs(ha);switch(D.type){case "rectangle":case "text":v=ma/(B*(Aa+v*za));break a;case "diamond":v=za=2*Math.PI?v-2*Math.PI:v},ok=function(v,D,T){return Dg(v)||ki(v)?{points:lm(0,D,lm(1,T,v.points))}:{}},fg=function(v,D,T){D=D/v.width*v.fontSize;if(1>D)return null;v=Vl(v.text,jk({fontSize:D,fontFamily:v.fontFamily}));return{size:D,baseline:v.baseline+(T-v.height)}},Fi=function(v,D,T,B,ma,sa,ha){var ua=da(Re(v,v.width,v.height),4),za= [ua[0],ua[1]],Aa=[ua[2],ua[3]];ua=[(za[0]+Aa[0])/2,(za[1]+Aa[1])/2];var Ha=Df([sa,ha],ua,-v.angle);sa=da(Re(T,T.width,T.height),4);var Ua=sa[2]-sa[0],Ya=sa[3]-sa[1];sa=(Aa[0]-za[0])/Ua;ha=(Aa[1]-za[1])/Ya;B.includes("e")&&(sa=(Ha[0]-za[0])/Ua);B.includes("s")&&(ha=(Ha[1]-za[1])/Ya);B.includes("w")&&(sa=(Aa[0]-Ha[0])/Ua);B.includes("n")&&(ha=(Aa[1]-Ha[1])/Ya);Ha=v.width;Ua=v.height;sa*=T.width;ha*=T.height;if(ma&&(sa=2*sa-Ha,ha=2*ha-Ua),D){Ya=Math.abs(sa)/Ha;var ob=Math.abs(ha)/Ua;if(1===B.length&& (ha*=Ya,sa*=ob),2===B.length)Ya=Math.max(Ya,ob),sa=Ha*Ya*Math.sign(sa),ha=Ua*Ya*Math.sign(ha)}ob=da(Re(v,sa,ha),4);Ha=ob[0];Ua=ob[1];Ya=ob[2]-Ha;ob=ob[3]-Ua;var Bb=[].concat(za);if(["n","w","nw"].includes(B)&&(Bb=[Aa[0]-Math.abs(Ya),Aa[1]-Math.abs(ob)]),"ne"===B)Bb=[za[0],Aa[1]],Bb=[Bb[0],Bb[1]-Math.abs(ob)];"sw"===B&&(za=[Aa[0],za[1]],Bb=[za[0]-Math.abs(Ya),za[1]]);D&&(["s","n"].includes(B)&&(Bb[0]=ua[0]-Ya/2),["e","w"].includes(B)&&(Bb[1]=ua[1]-ob/2));0>sa&&(B.includes("e")&&(Bb[0]-=Math.abs(Ya)), B.includes("w")&&(Bb[0]+=Math.abs(Ya)));0>ha&&(B.includes("s")&&(Bb[1]-=Math.abs(ob)),B.includes("n")&&(Bb[1]+=Math.abs(ob)));ma&&(Bb[0]=ua[0]-Math.abs(Ya)/2,Bb[1]=ua[1]-Math.abs(ob)/2);D=v.angle;B=Df(Bb,ua,D);ua=Df([Bb[0]+Math.abs(Ya)/2,Bb[1]+Math.abs(ob)/2],ua,D);Bb=Df(B,ua,-D);ua=ok(v,sa,ha);D=Q(Bb);D[0]+=v.x-Ha;D[1]+=v.y-Ua;v=hd({width:Math.abs(sa),height:Math.abs(ha),x:D[0],y:D[1]},ua);0!==v.width&&0!==v.height&&Number.isFinite(v.x)&&Number.isFinite(v.y)&&(Di(T,{newSize:{width:v.width,height:v.height}}), ke(T,v))},Hm=function(v,D,T,B){var ma=da(Bg(v),4),sa=ma[0],ha=ma[1],ua=ma[2],za=ma[3];switch(D){case "se":var Aa=Math.max((T-sa)/(ua-sa),(B-ha)/(za-ha));var Ha=function(Ya,ob,Bb){var Rb=da(ob,2);ob=Rb[0];Rb=Rb[1];Bb=da(Bb,2);return{x:Ya.x+(ob-sa)*(Aa-1)+ob-Bb[0],y:Ya.y+(Rb-ha)*(Aa-1)+Rb-Bb[1]}};break;case "nw":Aa=Math.max((ua-T)/(ua-sa),(za-B)/(za-ha));Ha=function(Ya,ob,Bb){var Rb=da(ob,4);ob=Rb[2];Rb=Rb[3];Bb=da(Bb,4);return{x:Ya.x-(ua-ob)*(Aa-1)+ob-Bb[2],y:Ya.y-(za-Rb)*(Aa-1)+Rb-Bb[3]}};break;case "ne":Aa= Math.max((T-sa)/(ua-sa),(za-B)/(za-ha));Ha=function(Ya,ob,Bb){var Rb=da(ob,4);ob=Rb[0];Rb=Rb[3];Bb=da(Bb,4);return{x:Ya.x+(ob-sa)*(Aa-1)+ob-Bb[0],y:Ya.y-(za-Rb)*(Aa-1)+Rb-Bb[3]}};break;case "sw":Aa=Math.max((ua-T)/(ua-sa),(B-ha)/(za-ha)),Ha=function(Ya,ob,Bb){var Rb=da(ob,3);ob=Rb[1];Rb=Rb[2];Bb=da(Bb,3);return{x:Ya.x-(ua-Rb)*(Aa-1)+Rb-Bb[2],y:Ya.y+(ob-ha)*(Aa-1)+ob-Bb[1]}}}if(0(ua=D.height)&&(ua=-ua));ma=maha.width||Aa-Ha>ha.height})(D,0,[T,ma,sa,B])&&(v=function(ha,ua){if(!ha.length)return[0,0,0,0];var za=1/0,Aa=ha[0];return ha.forEach(function(Ha){var Ua=da(gk(Ha),4);Ua=Math.hypot(ua.x-(Ua[0]+Ua[2])/2,ua.y-(Ua[1]+Ua[3])/2);Uaha.points.length)return v=v.filter(function(ua){return ua.id!==ha.id}),{elements:v,appState:mb(mb({},Uo(D,v)),{},{editingLinearElement:null}),commitToHistory:!1};T={startBindingElement:0===B?null:ma,endBindingElement:B===ha.points.length-1?null:sa};return dd.movePoint(ha,B,"delete"),{elements:v,appState:mb(mb({},D),{},{editingLinearElement:mb(mb(mb({},D.editingLinearElement),T),{},{activePointIndex:0za&&(za=ha.length+za);for(za=Math.min(ha.length-1,Math.max(za,0))+1;-1<--za;)if(ua(ha[za],za,ha))return za;return-1}(D,sa,Math.max(0,T-1)):function(ha,ua){var za=2za&&(za=ha.length+za);for(za=Math.min(ha.length,Math.max(za,0))-1;++zaYa&&(ua.style.left="".concat(Ya-Ha,"px"));za=window.innerHeight;Aa+Ua>za&&(ua.style.top="".concat(za-Ua,"px"))}},[sa]),(0,ue.useEffect)(function(){if(ma){var ua=function(za){var Aa;null!==(Aa=ha.current)&&void 0!==Aa&&Aa.contains(za.target)||(0,rh.unstable_batchedUpdates)(function(){return ma(za)})};return document.addEventListener("pointerdown", ua,!1),function(){return document.removeEventListener("pointerdown",ua,!1)}}},[ma]),(0,Ra.jsx)("div",{className:"popover",style:{top:B,left:T},ref:ha,children:D})}),gb=(e(4220),function(v){var D=(new Option).style;return D.color=v,!!D.color}),Ab=[["1","2","3","4","5"],["q","w","e","r","t"],["a","s","d","f","g"]].flat(),Nb=function(v){var D=v.colors,T=v.color,B=v.onChange,ma=v.onClose,sa=v.label,ha=v.showInput,ua=void 0===ha||ha;v=v.type;var za=ce().useRef(),Aa=ce().useRef(),Ha=ce().useRef(),Ua=ce().useRef(); ce().useEffect(function(){Aa.current?Aa.current.focus():Ua.current?Ua.current.focus():Ha.current&&Ha.current.focus()},[]);return(0,Ra.jsxs)("div",{className:"color-picker color-picker-type-".concat(v),role:"dialog","aria-modal":"true","aria-label":Wb("labels.colorPicker"),onKeyDown:function(Ya){if("Tab"===Ya.key){var ob,Bb=document.activeElement;if(Ya.shiftKey)Bb===za.current&&(null===(ob=Ua.current)||void 0===ob||ob.focus(),Ya.preventDefault());else if(Bb===Ua.current){var Rb;null===(Rb=za.current)|| void 0===Rb||Rb.focus();Ya.preventDefault()}}else oh(Ya.key)?(ob=Cg.rtl,Bb=Array.prototype.indexOf.call(Ha.current.children,document.activeElement),-1!==Bb&&(Rb=Ha.current.children.length-(ua?1:0),Ha.current.children[Ya.key===(ob?"ArrowLeft":"ArrowRight")?(Bb+1)%Rb:Ya.key===(ob?"ArrowRight":"ArrowLeft")?(Rb+Bb-1)%Rb:"ArrowDown"===Ya.key?(Bb+5)%Rb:"ArrowUp"===Ya.key?(Rb+Bb-5)%Rb:Bb].focus()),Ya.preventDefault()):Ab.includes(Ya.key.toLowerCase())&&!Dj(Ya.target)?(ob=Ab.indexOf(Ya.key.toLowerCase()), Ha.current.children[ob].focus(),Ya.preventDefault()):"Escape"!==Ya.key&&"Enter"!==Ya.key||(Ya.preventDefault(),ma());Ya.nativeEvent.stopImmediatePropagation();Ya.stopPropagation()},children:[(0,Ra.jsx)("div",{className:"color-picker-triangle color-picker-triangle-shadow"}),(0,Ra.jsx)("div",{className:"color-picker-triangle"}),(0,Ra.jsxs)("div",{className:"color-picker-content",ref:function(Ya){Ya&&(Ha.current=Ya)},tabIndex:0,children:[D.map(function(Ya,ob){var Bb=Ya.replace("#","");return(0,Ra.jsxs)("button", {className:"color-picker-swatch",onClick:function(Rb){Rb.currentTarget.focus();B(Ya)},title:"".concat(Wb("colors.".concat(Bb))).concat(Ri(Ya)?"":" (".concat(Ya,")")," — ").concat(Ab[ob].toUpperCase()),"aria-label":Wb("colors.".concat(Bb)),"aria-keyshortcuts":Ab[ob],style:{color:Ya},ref:function(Rb){Rb&&0===ob&&(za.current=Rb);Rb&&Ya===T&&(Aa.current=Rb)},onFocus:function(){B(Ya)},children:[Ri(Ya)?(0,Ra.jsx)("div",{className:"color-picker-transparent"}):void 0,(0,Ra.jsx)("span",{className:"color-picker-keybinding", children:Ab[ob]})]},Ya)}),ua&&(0,Ra.jsx)(sc,{color:T,label:sa,onChange:function(Ya){B(Ya)},ref:Ua})]})]})},sc=ce().forwardRef(function(v,D){var T=v.color,B=v.onChange;v=v.label;var ma=da(ce().useState(T),2),sa=ma[0],ha=ma[1],ua=ce().useRef(null);ce().useEffect(function(){ha(T)},[T]);ce().useImperativeHandle(D,function(){return ua.current});var za=ce().useCallback(function(Aa){Aa=Aa.toLowerCase();var Ha;(Ha=Ri(Aa)||gb(Aa)?Aa:gb("#".concat(Aa))?"#".concat(Aa):null)&&B(Ha);ha(Aa)},[B]);return(0,Ra.jsxs)("label", {className:"color-input-container",children:[(0,Ra.jsx)("div",{className:"color-picker-hash",children:"#"}),(0,Ra.jsx)("input",{spellCheck:!1,className:"color-picker-input","aria-label":v,onChange:function(Aa){return za(Aa.target.value)},value:(sa||"").replace(/^#/,""),onBlur:function(){return ha(T)},ref:ua})]})}),Fc=function(v){var D=v.type,T=v.color,B=v.onChange,ma=v.label,sa=v.isActive,ha=v.setActive,ua=ce().useRef(null);return(0,Ra.jsxs)("div",{children:[(0,Ra.jsxs)("div",{className:"color-picker-control-container", children:[(0,Ra.jsx)("button",{className:"color-picker-label-swatch","aria-label":ma,style:T?{"--swatch-color":T}:void 0,onClick:function(){return ha(!sa)},ref:ua}),(0,Ra.jsx)(sc,{color:T,label:ma,onChange:function(za){B(za)}})]}),(0,Ra.jsx)(ce().Suspense,{fallback:"",children:sa?(0,Ra.jsx)(Fa,{onCloseRequest:function(za){return za.target!==ua.current&&ha(!1)},children:(0,Ra.jsx)(Nb,{colors:ri[D],color:T||null,onChange:function(za){B(za)},onClose:function(){var za;ha(!1);null===(za=ua.current)||void 0=== za||za.focus()},label:ma,showInput:!1,type:D})}):null})]})};e(7117);var Oc=function(v,D,T){return v.map(function(B){var ma;return D.selectedElementIds[B.id]||B.id===(null===(ma=D.editingElement)||void 0===ma?void 0:ma.id)?T(B):B})},ad=function(v,D,T,B){var ma,sa,ha=D.editingElement;v=oe(v);return null!==(ma=null!==(sa=ha&&T(ha))&&void 0!==sa?sa:vh(v,D)?function(ua,za,Aa){ua=Array.from(new Set(Sf(ua,za).map(function(Ha){return Aa(Ha)})));return 1===ua.length?ua[0]:null}(v,D,T):B)&&void 0!==ma?ma:null}, zd=(we({name:"changeStrokeColor",perform:function(v,D,T){return od(od({},T.currentItemStrokeColor&&{elements:Oc(v,D,function(B){return cf(B,{strokeColor:T.currentItemStrokeColor})})}),{},{appState:od(od({},D),T),commitToHistory:!!T.currentItemStrokeColor})},PanelComponent:function(v){var D=v.elements,T=v.appState,B=v.updateData;return(0,Ra.jsxs)(Ra.Fragment,{children:[(0,Ra.jsx)("h3",{"aria-hidden":"true",children:Wb("labels.stroke")}),(0,Ra.jsx)(Fc,{type:"elementStroke",label:Wb("labels.stroke"), color:ad(D,T,function(ma){return ma.strokeColor},T.currentItemStrokeColor),onChange:function(ma){return B({currentItemStrokeColor:ma})},isActive:"strokeColorPicker"===T.openPopup,setActive:function(ma){return B({openPopup:ma?"strokeColorPicker":null})}})]})}}),we({name:"changeBackgroundColor",perform:function(v,D,T){return od(od({},T.currentItemBackgroundColor&&{elements:Oc(v,D,function(B){return cf(B,{backgroundColor:T.currentItemBackgroundColor})})}),{},{appState:od(od({},D),T),commitToHistory:!!T.currentItemBackgroundColor})}, PanelComponent:function(v){var D=v.elements,T=v.appState,B=v.updateData;return(0,Ra.jsxs)(Ra.Fragment,{children:[(0,Ra.jsx)("h3",{"aria-hidden":"true",children:Wb("labels.background")}),(0,Ra.jsx)(Fc,{type:"elementBackground",label:Wb("labels.background"),color:ad(D,T,function(ma){return ma.backgroundColor},T.currentItemBackgroundColor),onChange:function(ma){return B({currentItemBackgroundColor:ma})},isActive:"backgroundColorPicker"===T.openPopup,setActive:function(ma){return B({openPopup:ma?"backgroundColorPicker": null})}})]})}}),we({name:"changeFillStyle",perform:function(v,D,T){return{elements:Oc(v,D,function(B){return cf(B,{fillStyle:T})}),appState:od(od({},D),{},{currentItemFillStyle:T}),commitToHistory:!0}},PanelComponent:function(v){var D=v.elements,T=v.appState,B=v.updateData;return(0,Ra.jsxs)("fieldset",{children:[(0,Ra.jsx)("legend",{children:Wb("labels.fill")}),(0,Ra.jsx)(la,{options:[{value:"hachure",text:Wb("labels.hachure"),icon:(0,Ra.jsx)(im,{theme:T.theme})},{value:"cross-hatch",text:Wb("labels.crossHatch"), icon:(0,Ra.jsx)(Qm,{theme:T.theme})},{value:"solid",text:Wb("labels.solid"),icon:(0,Ra.jsx)(Cm,{theme:T.theme})}],group:"fill",value:ad(D,T,function(ma){return ma.fillStyle},T.currentItemFillStyle),onChange:function(ma){B(ma)}})]})}}),we({name:"changeStrokeWidth",perform:function(v,D,T){return{elements:Oc(v,D,function(B){return cf(B,{strokeWidth:T})}),appState:od(od({},D),{},{currentItemStrokeWidth:T}),commitToHistory:!0}},PanelComponent:function(v){var D=v.elements,T=v.appState,B=v.updateData;return(0,Ra.jsxs)("fieldset", {children:[(0,Ra.jsx)("legend",{children:Wb("labels.strokeWidth")}),(0,Ra.jsx)(la,{group:"stroke-width",options:[{value:1,text:Wb("labels.thin"),icon:(0,Ra.jsx)(bo,{theme:T.theme,strokeWidth:2})},{value:2,text:Wb("labels.bold"),icon:(0,Ra.jsx)(bo,{theme:T.theme,strokeWidth:6})},{value:4,text:Wb("labels.extraBold"),icon:(0,Ra.jsx)(bo,{theme:T.theme,strokeWidth:10})}],value:ad(D,T,function(ma){return ma.strokeWidth},T.currentItemStrokeWidth),onChange:function(ma){return B(ma)}})]})}}),we({name:"changeSloppiness", perform:function(v,D,T){return{elements:Oc(v,D,function(B){return cf(B,{seed:yl(),roughness:T})}),appState:od(od({},D),{},{currentItemRoughness:T}),commitToHistory:!0}},PanelComponent:function(v){var D=v.elements,T=v.appState,B=v.updateData;return(0,Ra.jsxs)("fieldset",{children:[(0,Ra.jsx)("legend",{children:Wb("labels.sloppiness")}),(0,Ra.jsx)(la,{group:"sloppiness",options:[{value:0,text:Wb("labels.architect"),icon:(0,Ra.jsx)(Zo,{theme:T.theme})},{value:1,text:Wb("labels.artist"),icon:(0,Ra.jsx)(lo, {theme:T.theme})},{value:2,text:Wb("labels.cartoonist"),icon:(0,Ra.jsx)(jm,{theme:T.theme})}],value:ad(D,T,function(ma){return ma.roughness},T.currentItemRoughness),onChange:function(ma){return B(ma)}})]})}}),we({name:"changeStrokeStyle",perform:function(v,D,T){return{elements:Oc(v,D,function(B){return cf(B,{strokeStyle:T})}),appState:od(od({},D),{},{currentItemStrokeStyle:T}),commitToHistory:!0}},PanelComponent:function(v){var D=v.elements,T=v.appState,B=v.updateData;return(0,Ra.jsxs)("fieldset", {children:[(0,Ra.jsx)("legend",{children:Wb("labels.strokeStyle")}),(0,Ra.jsx)(la,{group:"strokeStyle",options:[{value:"solid",text:Wb("labels.strokeStyle_solid"),icon:(0,Ra.jsx)(Bn,{theme:T.theme})},{value:"dashed",text:Wb("labels.strokeStyle_dashed"),icon:(0,Ra.jsx)(co,{theme:T.theme})},{value:"dotted",text:Wb("labels.strokeStyle_dotted"),icon:(0,Ra.jsx)(Fj,{theme:T.theme})}],value:ad(D,T,function(ma){return ma.strokeStyle},T.currentItemStrokeStyle),onChange:function(ma){return B(ma)}})]})}}),we({name:"changeOpacity", perform:function(v,D,T){return{elements:Oc(v,D,function(B){return cf(B,{opacity:T})}),appState:od(od({},D),{},{currentItemOpacity:T}),commitToHistory:!0}},PanelComponent:function(v){var D,T=v.elements,B=v.appState,ma=v.updateData;return(0,Ra.jsxs)("label",{className:"control-label",children:[Wb("labels.opacity"),(0,Ra.jsx)("input",{type:"range",min:"0",max:"100",step:"10",onChange:function(sa){return ma(+sa.target.value)},onWheel:function(sa){sa.stopPropagation();var ha=+sa.target.value;0>sa.deltaY&& 100>ha?ma(ha+10):0=Ua?ua+Ha-Ua:0;Aa=sa+5;Object.assign(ma.style,{top:"".concat(Aa-(Aa+ha>=window.innerHeight?sa-za+ha+10:0),"px"),left:"".concat(ua-Ha,"px")})},onPointerLeave:function(){return re().classList.remove("excalidraw-tooltip--visible")},children:D})};we({name:"changeViewBackgroundColor", perform:function(v,D,T){return{appState:Rd(Rd({},D),T),commitToHistory:!!T.viewBackgroundColor}},PanelComponent:function(v){var D=v.appState,T=v.updateData;return(0,Ra.jsx)("div",{style:{position:"relative"},children:(0,Ra.jsx)(Fc,{label:Wb("labels.canvasBackground"),type:"canvasBackground",color:D.viewBackgroundColor,onChange:function(B){return T({viewBackgroundColor:B})},isActive:"canvasColorPicker"===D.openPopup,setActive:function(B){return T({openPopup:B?"canvasColorPicker":null})},"data-testid":"canvas-background-picker"})})}}); we({name:"clearCanvas",perform:function(v,D){return{elements:v.map(function(T){return cf(T,{isDeleted:!0})}),appState:Rd(Rd({},Ij()),{},{theme:D.theme,elementLocked:D.elementLocked,exportBackground:D.exportBackground,exportEmbedScene:D.exportEmbedScene,gridSize:D.gridSize,showStats:D.showStats,pasteDialog:D.pasteDialog}),commitToHistory:!0}},PanelComponent:function(v){var D=v.updateData;return(0,Ra.jsx)(Ga,{type:"button",icon:be,title:Wb("buttons.clearReset"),"aria-label":Wb("buttons.clearReset"), showAriaLabel:om(),onClick:function(){window.confirm(Wb("alerts.clearReset"))&&D(null)},"data-testid":"clear-canvas-button"})}});we({name:"zoomIn",perform:function(v,D){v=ea(ra(D.zoom.value+yc.V4),D.zoom,{left:D.offsetLeft,top:D.offsetTop},{x:D.width/2,y:D.height/2});return{appState:Rd(Rd({},D),{},{zoom:v}),commitToHistory:!1}},PanelComponent:function(v){var D=v.updateData;return(0,Ra.jsx)(Ga,{type:"button",icon:Ag,title:"".concat(Wb("buttons.zoomIn")," — ").concat(Vd("CtrlOrCmd++")),"aria-label":Wb("buttons.zoomIn"), onClick:function(){D(null)},size:"small"})},keyTest:function(v){return("Equal"===v.code||"NumpadAdd"===v.code)&&(v[Af]||v.shiftKey)}});we({name:"zoomOut",perform:function(v,D){v=ea(ra(D.zoom.value-yc.V4),D.zoom,{left:D.offsetLeft,top:D.offsetTop},{x:D.width/2,y:D.height/2});return{appState:Rd(Rd({},D),{},{zoom:v}),commitToHistory:!1}},PanelComponent:function(v){var D=v.updateData;return(0,Ra.jsx)(Ga,{type:"button",icon:Gg,title:"".concat(Wb("buttons.zoomOut")," — ").concat(Vd("CtrlOrCmd+-")),"aria-label":Wb("buttons.zoomOut"), onClick:function(){D(null)},size:"small"})},keyTest:function(v){return("Minus"===v.code||"NumpadSubtract"===v.code)&&(v[Af]||v.shiftKey)}});we({name:"resetZoom",perform:function(v,D){return{appState:Rd(Rd({},D),{},{zoom:ea(1,D.zoom,{left:D.offsetLeft,top:D.offsetTop},{x:D.width/2,y:D.height/2})}),commitToHistory:!1}},PanelComponent:function(v){var D=v.updateData;v=v.appState;return(0,Ra.jsx)(wf,{label:Wb("buttons.resetZoom"),children:(0,Ra.jsxs)(Ga,{type:"button",className:"reset-zoom-button",title:Wb("buttons.resetZoom"), "aria-label":Wb("buttons.resetZoom"),onClick:function(){D(null)},size:"small",children:[(100*v.zoom.value).toFixed(0),"%"]})})},keyTest:function(v){return("Digit0"===v.code||"Numpad0"===v.code)&&(v[Af]||v.shiftKey)}});var lf=function(v,D,T){v=oe(v);var B=Sf(v,D);T=T&&0za.points.length||Kj(za)?v.filter(function(Ua){return Ua.id!==za.id}):void 0,appState:Ia(Ia({},D),{},{editingLinearElement:null}),commitToHistory:!0}}window.document.activeElement instanceof HTMLElement&&B();if(B=D.multiElement?D.multiElement:"freedraw"===(null===(ma=D.editingElement)||void 0===ma?void 0:ma.type)?D.editingElement:null){"freedraw"!==B.type&&"touch"!==D.lastPointerDownWith&&(ma=B.points, (sa=B.lastCommittedPoint)&&ma[ma.length-1]===sa||ke(B,{points:B.points.slice(0,-1)}));Kj(B)&&(v=v.slice(0,-1));ma=qj(B.points,D.zoom.value);if(("line"===B.type||"freedraw"===B.type)&&ma){var Aa=B.points,Ha=Aa[0];ke(B,{points:Aa.map(function(Ua,Ya){return Ya===Aa.length-1?[Ha[0],Ha[1]]:Ua})})}Wg(B)&&!ma&&1=kd&&qd.y>=He});(ua.forEach(function(kd){try{lh(kd, ma,Ya,Ua,ha)}catch(qd){console.error(qd)}}),D.editingLinearElement)&&(Ha=dd.getElement(D.editingLinearElement.elementId))&&Gk(Ya,D,ha,Ha);if(T)try{lh(T,ma,Ya,Ua,ha)}catch(kd){console.error(kd)}if(D.isBindingEnabled&&D.suggestedBindings.filter(function(kd){return null!=kd}).forEach(function(kd){var qd=Array.isArray(kd)?zq:Mn;Ya.save();Ya.translate(ha.scrollX,ha.scrollY);qd(Ya,kd);Ya.restore()}),Aa&&!D.multiElement&&!D.editingLinearElement){var mc,Tc=v.reduce(function(kd,qd){var Gd=[];if(D.selectedElementIds[qd.id]&& null==dh(D,qd)&&Gd.push(mf.black),ha.remoteSelectedElementIds[qd.id]&&Gd.push.apply(Gd,Q(ha.remoteSelectedElementIds[qd.id].map(function(Sg){return Dm(Sg,D).background}))),Gd.length){var He=da(Vf(qd),4);kd.push({angle:qd.angle,elementX1:He[0],elementY1:He[1],elementX2:He[2],elementY2:He[3],selectionColors:Gd})}return kd},[]);Aa=function(kd){kd=li(v,kd);kd=da(Bg(kd),4);Tc.push({angle:0,elementX1:kd[0],elementX2:kd[2],elementY1:kd[1],elementY2:kd[3],selectionColors:[mf.black]})};Ha=cb(vi(D));try{for(Ha.s();!(mc= Ha.n()).done;)Aa(mc.value)}catch(kd){Ha.e(kd)}finally{Ha.f()}D.editingGroupId&&Aa(D.editingGroupId);Tc.forEach(function(kd){var qd=kd.angle,Gd=kd.elementX1,He=kd.elementY1,Sg=kd.selectionColors,ni=kd.elementX2-Gd;kd=kd.elementY2-He;var Ai=4/ha.zoom.value,pf=8/ha.zoom.value,ye=4/ha.zoom.value;Ya.save();Ya.translate(ha.scrollX,ha.scrollY);Ya.lineWidth=1/ha.zoom.value;for(var ah=Sg.length,Wi=0;WiHa||Ha>ob-9||0>Rb||Rb>Bb-14;Ha=Math.max(Ha,0);Ha=Math.min(Ha,ob-9);Rb=Math.max(Rb,0);Rb=Math.min(Rb,Bb-14);Aa=Dm(Bd,D);mc=Aa.background;Aa=Aa.stroke;Ya.save();Ya.strokeStyle=Aa;Ya.fillStyle=mc;Pc=ha.remotePointerUserStates[Bd]; (Xc||Pc===Ji.AWAY)&&(Ya.globalAlpha=.48);ha.remotePointerButton&&"down"===ha.remotePointerButton[Bd]&&(Ya.beginPath(),Ya.arc(Ha,Rb,15,0,2*Math.PI,!1),Ya.lineWidth=3,Ya.strokeStyle="#ffffff88",Ya.stroke(),Ya.closePath(),Ya.beginPath(),Ya.arc(Ha,Rb,15,0,2*Math.PI,!1),Ya.lineWidth=1,Ya.strokeStyle=Aa,Ya.stroke(),Ya.closePath());Ya.beginPath();Ya.moveTo(Ha,Rb);Ya.lineTo(Ha+1,Rb+14);Ya.lineTo(Ha+4,Rb+9);Ya.lineTo(Ha+9,Rb+10);Ya.lineTo(Ha,Rb);Ya.fill();Ya.stroke();Zc=ha.remotePointerUsernames[Bd];var Xd= "";Pc===Ji.AWAY?Xd=Ln?"⚫️":" (".concat(Ji.AWAY,")"):Pc===Ji.IDLE?Xd=Ln?"\ud83d\udca4":" (".concat(Ji.IDLE,")"):Pc===Ji.ACTIVE&&(Xd=Ln?"\ud83d\udfe2":"");Pc="".concat(Zc?"".concat(Zc," "):"").concat(Xd);!Xc&&Pc&&(Ha+=9,Rb+=14,Xc=Ya.measureText(Pc),Zc=Xc.actualBoundingBoxDescent+Xc.actualBoundingBoxAscent,Ya.fillStyle=Aa,Ya.fillRect(Ha-1,Rb-1,Xc.width+8+2,Zc+8+2),Ya.fillStyle=mc,Ya.fillRect(Ha,Rb,Xc.width+8,Zc+8),Ya.fillStyle=mf.white,Ya.fillText(Pc,Ha+4,Rb+4+Xc.actualBoundingBoxAscent));Ya.restore(); Ya.closePath()}return za&&(hc=sh(v,ob,Bb,ha),Ya.save(),Ya.fillStyle="rgba(0,0,0,0.3)",Ya.strokeStyle="rgba(255,255,255,0.8)",[hc.horizontal,hc.vertical].forEach(function(kd){if(kd){var qd=kd.x,Gd=kd.y,He=kd.width;kd=kd.height;Ya.beginPath();Ya.moveTo(qd+3,Gd);Ya.lineTo(qd+He-3,Gd);Ya.quadraticCurveTo(qd+He,Gd,qd+He,Gd+3);Ya.lineTo(qd+He,Gd+kd-3);Ya.quadraticCurveTo(qd+He,Gd+kd,qd+He-3,Gd+kd);Ya.lineTo(qd+3,Gd+kd);Ya.quadraticCurveTo(qd,Gd+kd,qd,Gd+kd-3);Ya.lineTo(qd,Gd+3);Ya.quadraticCurveTo(qd,Gd, qd+3,Gd);Ya.closePath();Ya.fill();Ya.stroke()}}),Ya.restore()),Ya.restore(),{atLeastOneVisibleElement:0{if("undefined"==typeof self)return!1;if("top"in self&&self!==top)try{top.location}catch{}else if("showOpenFilePicker"in self)return"showOpenFilePicker";return!1})();const ho=nm?e.e(736).then(e.bind(e,6629)):e.e(736).then(e.bind(e,3112));nm?e.e(736).then(e.bind(e,5756)):e.e(736).then(e.bind(e,8396));const To=nm?e.e(736).then(e.bind(e,4868)):e.e(736).then(e.bind(e,6882));var mn=function(v){function D(){var B, ma=0v.points.length?[[0,0],[v.width,v.height]]:v.points;if(0!==sa[0][0]||0!==sa[0][1])ma=dd.getNormalizedPoints(v),sa=ma.points,B=ma.x,ma=ma.y;return In(v,{type:"draw"===v.type?"line":v.type,startBinding:v.startBinding,endBinding:v.endBinding,lastCommittedPoint:null,startArrowhead:D,endArrowhead:T,points:sa,x:B,y:ma});case "ellipse":case "rectangle":case "diamond":return In(v,{})}},sl=function(v, D){var T=D?al(D):null;return(v||[]).reduce(function(B,ma){if("selection"!==ma.type&&!Kj(ma)){var sa=wq(ma);sa&&((ma=null==T?void 0:T[ma.id])&&ma.version>sa.version&&(sa=vg(sa,ma.version)),B.push(sa))}return B},[])},Um=function(v,D){v=v||{};var T,B=Ij(),ma={},sa=Nc(Object.entries(B));try{for(sa.s();!(T=sa.n()).done;){var ha=da(T.value,2),ua=ha[0],za=ha[1],Aa=v[ua],Ha=D?D[ua]:void 0;ma[ua]=void 0!==Aa?Aa:void 0!==Ha?Ha:za}}catch(Ua){sa.e(Ua)}finally{sa.f()}return Ud(Ud({},ma),{},{elementType:Fe[ma.elementType]? ma.elementType:"selection",zoom:"number"==typeof v.zoom?{value:v.zoom,translation:B.zoom.translation}:v.zoom||B.zoom})},Tm=function(v,D,T){return{elements:sl(null==v?void 0:v.elements,T),appState:Um(null==v?void 0:v.appState,D||null)}},ko=function(){var v=(0,ff.Z)(Yd().mark(function B(T){var ma;return Yd().wrap(function(sa){for(;;)switch(sa.prev=sa.next){case 0:if("image/png"!==T.type){sa.next=18;break}return sa.prev=1,sa.next=4,Promise.all([e.e(736),e.e(9)]).then(e.bind(e,8527));case 4:return sa.next= 6,sa.sent.decodePngMetadata(T);case 6:return sa.abrupt("return",sa.sent);case 9:if(sa.prev=9,sa.t0=sa.catch(1),"INVALID"!==sa.t0.message){sa.next=15;break}throw Error(Wb("alerts.imageDoesNotContainScene"));case 15:throw Error(Wb("alerts.cannotRestoreFromImage"));case 16:sa.next=43;break;case 18:if(!("text"in Blob)){sa.next=24;break}return sa.next=21,T.text();case 21:ma=sa.sent;sa.next=27;break;case 24:return sa.next=26,new Promise(function(ha){var ua=new FileReader;ua.readAsText(T,"utf8");ua.onloadend= function(){ua.readyState===FileReader.DONE&&ha(ua.result)}});case 26:ma=sa.sent;case 27:if("image/svg+xml"!==T.type){sa.next=43;break}return sa.prev=28,sa.next=31,Promise.all([e.e(736),e.e(9)]).then(e.bind(e,8527));case 31:return sa.next=33,sa.sent.decodeSvgMetadata({svg:ma});case 33:return sa.abrupt("return",sa.sent);case 36:if(sa.prev=36,sa.t1=sa.catch(28),"INVALID"!==sa.t1.message){sa.next=42;break}throw Error(Wb("alerts.imageDoesNotContainScene"));case 42:throw Error(Wb("alerts.cannotRestoreFromImage")); case 43:return sa.abrupt("return",ma);case 44:case "end":return sa.stop()}},B,null,[[1,9],[28,36]])}));return function(T){return v.apply(this,arguments)}}(),Fp=function(v){var D;return v&&(null===(D=v.name.match(/\.(json|excalidraw|png|svg)$/))||void 0===D?void 0:D[1])||null},Yo=function(v){v=Fp(v);return"png"===v||"svg"===v},vl=function(){var v=(0,ff.Z)(Yd().mark(function sa(T,B,ma){var ha,ua,za;return Yd().wrap(function(Aa){for(;;)switch(Aa.prev=Aa.next){case 0:return Aa.next=2,ko(T);case 2:ha= Aa.sent;Aa.prev=3;var Ha=ua=JSON.parse(ha);if((null==Ha?void 0:Ha.type)===yc.r8.excalidraw&&(!Ha.elements||Array.isArray(Ha.elements)&&(!Ha.appState||"object"===F(Ha.appState)))){Aa.next=7;break}throw Error(Wb("alerts.couldNotLoadInvalidFile"));case 7:return za=Tm({elements:Ml(ua.elements||[]),appState:fe(fe({theme:null==B?void 0:B.theme,fileHandle:T.handle||null},fk(ua.appState||{},"export")),B?Fg(ua.elements||[],B):{})},B,ma),Aa.abrupt("return",za);case 11:throw Aa.prev=11,Aa.t0=Aa.catch(3),console.error(Aa.t0.message), Error(Wb("alerts.couldNotLoadInvalidFile"));case 15:case "end":return Aa.stop()}},sa,null,[[3,11]])}));return function(T,B,ma){return v.apply(this,arguments)}}(),jo=function(){var v=(0,ff.Z)(Yd().mark(function B(T){var ma,sa;return Yd().wrap(function(ha){for(;;)switch(ha.prev=ha.next){case 0:return ha.next=2,ko(T);case 2:if(ma=ha.sent,(sa=JSON.parse(ma)).type===yc.r8.excalidrawLibrary){ha.next=6;break}throw Error(Wb("alerts.couldNotLoadInvalidFile"));case 6:return ha.abrupt("return",sa);case 7:case "end":return ha.stop()}}, B)}));return function(T){return v.apply(this,arguments)}}(),Dp=function(){var v=(0,ff.Z)(Yd().mark(function B(T){return Yd().wrap(function(ma){for(;;)switch(ma.prev=ma.next){case 0:return ma.abrupt("return",new Promise(function(sa,ha){try{T.toBlob(function(ua){if(!ua)return ha(new mn(Wb("canvasError.canvasTooBig"),"CANVAS_POSSIBLY_TOO_BIG"));sa(ua)})}catch(ua){ha(ua)}}));case 1:case "end":return ma.stop()}},B)}));return function(T){return v.apply(this,arguments)}}(),Jn=function(v,D){v={type:yc.r8.excalidraw, version:2,source:yc.pb,elements:Ml(v),appState:fk(D,"export")};return JSON.stringify(v,null,2)},Em=function(){var v=(0,ff.Z)(Yd().mark(function ma(T,B){var sa,ha,ua;return Yd().wrap(function(za){for(;;)switch(za.prev=za.next){case 0:return sa=Jn(T,B),ha=new Blob([sa],{type:yc.LO.excalidraw}),za.next=4,go(ha,{name:B.name,extension:"excalidraw",description:"Excalidraw file",fileHandle:Yo(B.fileHandle)?null:B.fileHandle});case 4:return ua=za.sent,za.abrupt("return",{fileHandle:ua});case 6:case "end":return za.stop()}}, ma)}));return function(T,B){return v.apply(this,arguments)}}(),Cp=function(){var v=(0,ff.Z)(Yd().mark(function ma(T,B){var sa;return Yd().wrap(function(ha){for(;;)switch(ha.prev=ha.next){case 0:return ha.next=2,Bp({description:"Excalidraw files"});case 2:return sa=ha.sent,ha.abrupt("return",vl(sa,T,B));case 4:case "end":return ha.stop()}},ma)}));return function(T,B){return v.apply(this,arguments)}}(),Xo=function(){var v=(0,ff.Z)(Yd().mark(function B(T){var ma,sa,ha;return Yd().wrap(function(ua){for(;;)switch(ua.prev= ua.next){case 0:return ua.next=2,T.loadLibrary();case 2:return ma=ua.sent,sa={type:yc.r8.excalidrawLibrary,version:1,source:yc.pb,library:ma},ha=JSON.stringify(sa,null,2),ua.next=7,go(new Blob([ha],{type:yc.LO.excalidrawlib}),{name:"library",extension:"excalidrawlib",description:"Excalidraw library file"});case 7:case "end":return ua.stop()}},B)}));return function(T){return v.apply(this,arguments)}}(),Ep=function(){var v=(0,ff.Z)(Yd().mark(function B(T){var ma;return Yd().wrap(function(sa){for(;;)switch(sa.prev= sa.next){case 0:return sa.next=2,Bp({description:"Excalidraw library files"});case 2:return ma=sa.sent,sa.next=5,T.importLibrary(ma);case 5:case "end":return sa.stop()}},B)}));return function(T){return v.apply(this,arguments)}}(),Aq=function(v,D,T){var B=T.exportBackground,ma=T.exportPadding;ma=void 0===ma?yc.qy:ma;var sa=T.viewBackgroundColor,ha=3T.length?{type:"NOT_SPREADSHEET",reason:"Less than two rows"}:{type:"VALID_SPREADSHEET",spreadsheet:{title:D?v[0][0]: null,labels:null,values:T}}}var B=vq(v,0)?0:1;if(!vq(v,B))return{type:"NOT_SPREADSHEET",reason:"Value is not numeric"};var ma=(B+1)%2;T=(D=null===So(v[0][B]))?v.slice(1):v;return 2>T.length?{type:"NOT_SPREADSHEET",reason:"Less than 2 rows"}:{type:"VALID_SPREADSHEET",spreadsheet:{title:D?v[0][B]:null,labels:T.map(function(sa){return sa[ma]}),values:T.map(function(sa){return So(sa[B])})}}},pn=ri.elementBackground.slice(2,ri.elementBackground.length),Yl={fillStyle:"hachure",fontFamily:yc.rk,fontSize:yc.n5, opacity:100,roughness:1,strokeColor:ri.elementStroke[0],strokeSharpness:"sharp",strokeStyle:"solid",strokeWidth:1,verticalAlign:"middle"},$o=function(v){return{chartWidth:44*v.values.length+12,chartHeight:280}},H=function(v,D,T,B,ma,sa){var ha=$o(v),ua=ha.chartWidth,za=ha.chartHeight;ha=v.title?Eg(fa(fa({backgroundColor:ma,groupIds:[B]},Yl),{},{text:v.title,x:D+ua/2,y:T-256-24-yc.n5,strokeSharpness:"sharp",strokeStyle:"solid",textAlign:"center"})):null;sa=sa?xf(fa(fa({backgroundColor:ma,groupIds:[B]}, Yl),{},{type:"rectangle",x:D,y:T-za,width:ua,height:za,strokeColor:ri.elementStroke[0],fillStyle:"solid",opacity:6})):null;return[].concat(Q(sa?[sa]:[]),Q(ha?[ha]:[]),Q(function(Aa,Ha,Ua,Ya,ob){var Bb;return(null===(Bb=Aa.labels)||void 0===Bb?void 0:Bb.map(function(Rb,hc){return Eg(fa(fa({groupIds:[Ya],backgroundColor:ob},Yl),{},{text:8sa.length)return{appState:ma,elements:B,commitToHistory:!1};var ha=vi(ma);if(1===ha.length&&(ha=new Set(li(B,ha[0]).map(function(Aa){return Aa.id})),sa=new Set(sa.map(function(Aa){return Aa.id})), (new Set([].concat(Q(Array.from(ha)),Q(Array.from(sa))))).size===ha.size))return{appState:ma,elements:B,commitToHistory:!1};var ua=dk();ha=B.map(function(Aa){if(ma.selectedElementIds[Aa.id]){var Ha=ma.editingGroupId;var Ua=Q(Aa.groupIds);Ha=Ha?Ua.indexOf(Ha):-1;Ua=(Ua.splice(-1za.length?za[0].substring(0,2).toUpperCase():(za[0][0]+za[za.length-1][0]).toUpperCase()}(ha.username);return(0,Ra.jsx)(Cv,{color:ma,border:B,onClick:function(){return sa(ha.pointer)},children:ua})}});var Dv=we({name:"addToLibrary",perform:function(B,ma,sa,ha){var ua=Sf(oe(B),ma);return ha.library.loadLibrary().then(function(za){ha.library.saveLibrary([].concat(Q(za), [ua.map(Wf)]))}),!1},contextItemLabel:"labels.addToLibrary"}),Av=function(B){var ma=new Map;return B.forEach(function(sa){var ha=0===sa.groupIds.length?sa.id:sa.groupIds[sa.groupIds.length-1],ua=ma.get(ha)||[];ma.set(ha,[].concat(Q(ua),[sa]))}),Array.from(ma.values())},Bv=function(B,ma,sa){var ha=sa.axis;sa=sa.position;B=At(B);var ua=da("x"===ha?["minX","maxX"]:["minY","maxY"],2),za=ua[0];ua=ua[1];return Vh(Vh({},{x:0,y:0}),{},X({},ha,"start"===sa?ma[za]-B[za]:"end"===sa?ma[ua]-B[ua]:(ma[za]+ma[ua])/ 2-(B[za]+B[ua])/2))},At=function(B){B=da(Bg(B),4);return{minX:B[0],minY:B[1],maxX:B[2],maxY:B[3]}},Np=function(B,ma){return 1mc){var Tc=ua.findIndex(function(Xd){return Xd[1][Ua]===Rb[Ua]}),Xc=ua.findIndex(function(Xd){return Xd[1][ob]===Rb[ob]}),Pc=(ua[Xc][1][Ya]-ua[Tc][1][Ya])/(ua.length-1),Zc=ua[Tc][1][Ya];return ua.flatMap(function(Xd,kd){var qd=da(Xd,2);Xd=qd[0];qd=qd[1]; var Gd={x:0,y:0};return kd!==Tc&&kd!==Xc&&(Zc+=Pc,Gd[za.axis]=Zc-qd[Ya]),Xd.map(function(He){return cf(He,{x:He.x+Gd.x,y:He.y+Gd.y})})})}var Bd=Rb[Ua];return ua.flatMap(function(Xd){var kd=da(Xd,2);Xd=kd[0];kd=kd[1];var qd={x:0,y:0};return qd[za.axis]=Bd-kd[Ua],Bd+=mc,Bd+=kd[Bb],Xd.map(function(Gd){return cf(Gd,{x:Gd.x+qd.x,y:Gd.y+qd.y})})})}(Sf(oe(B),ma),sa);var ha=al(ma);return B.map(function(ua){return ha[ua.id]||ua})},Kt=(we({name:"distributeHorizontally",perform:function(B,ma){return{appState:ma, elements:Jt(B,ma,{space:"between",axis:"x"}),commitToHistory:!0}},keyTest:function(B){return B.altKey&&"KeyH"===B.code},PanelComponent:function(B){var ma=B.elements,sa=B.appState,ha=B.updateData;return(0,Ra.jsx)(Ga,{hidden:!It(ma,sa),type:"button",icon:(0,Ra.jsx)(Cf,{theme:sa.theme}),onClick:function(){return ha(null)},title:"".concat(Wb("labels.distributeHorizontally")," — ").concat(Vd("Alt+H")),"aria-label":Wb("labels.distributeHorizontally"),visible:vh(oe(ma),sa)})}}),we({name:"distributeVertically", perform:function(B,ma){return{appState:ma,elements:Jt(B,ma,{space:"between",axis:"y"}),commitToHistory:!0}},keyTest:function(B){return B.altKey&&"KeyV"===B.code},PanelComponent:function(B){var ma=B.elements,sa=B.appState,ha=B.updateData;return(0,Ra.jsx)(Ga,{hidden:!It(ma,sa),type:"button",icon:(0,Ra.jsx)(Nn,{theme:sa.theme}),onClick:function(){return ha(null)},title:"".concat(Wb("labels.distributeVertically")," — ").concat(Vd("Alt+V")),"aria-label":Wb("labels.distributeVertically"),visible:vh(oe(ma), sa)})}}),we({name:"flipHorizontal",perform:function(B,ma){return{elements:Mt(B,ma,"horizontal"),appState:ma,commitToHistory:!0}},keyTest:function(B){return B.shiftKey&&"KeyH"===B.code},contextItemLabel:"labels.flipHorizontal",contextItemPredicate:function(B,ma){B=Sf(oe(B),ma);return 1===B.length&&"text"!==B[0].type}})),Lt=we({name:"flipVertical",perform:function(B,ma){return{elements:Mt(B,ma,"vertical"),appState:ma,commitToHistory:!0}},keyTest:function(B){return B.shiftKey&&"KeyV"===B.code},contextItemLabel:"labels.flipVertical", contextItemPredicate:function(B,ma){return 1===Sf(oe(B),ma).length}}),Mt=function(B,ma,sa){var ha=Sf(oe(B),ma);if(1Ha&&(Ha=ee(2*Math.PI+Ha));ke(ua,{angle:Ha});ke(ua,{x:za,y:Aa})}return B},Gv=function(B,ma){var sa=B.x,ha=B.y,ua=B.width,za=B.height,Aa=ee(B.angle), Ha=0;(Dg(B)||ki(B))&&(Ha=2*B.points.reduce(function(Bb,Rb){return Math.max(Bb,Rb[0])},0)-B.width);ke(B,{angle:ee(0)});ma=Tk(B,ma.zoom);var Ua=!0,Ya=0,ob=ma.nw;if(ob||(Ua=!1,ob=ma.ne)){if(Dg(B)){for(ua=1;uaAa&&(Aa=ee(Aa+2*Math.PI));ke(B,{angle:Aa});ke(B,{x:sa+Ha,y:ha});Di(B)}else ke(B,{angle:Aa})}, ts=we({name:"copy",perform:function(B,ma){return fc(oe(B),ma),{commitToHistory:!1}},contextItemLabel:"labels.copy",keyTest:void 0}),Hv=we({name:"cut",perform:function(B,ma,sa,ha){return ts.perform(B,ma,sa,ha),hn.perform(B,ma,sa,ha)},contextItemLabel:"labels.cut",keyTest:function(B){return B[Af]&&"KeyX"===B.code}}),Nt=we({name:"copyAsSvg",perform:function(){var B=(0,ff.Z)(Yd().mark(function Aa(sa,ha,ua,za){var Ha;return Yd().wrap(function(Ua){for(;;)switch(Ua.prev=Ua.next){case 0:if(za.canvas){Ua.next= 2;break}return Ua.abrupt("return",{commitToHistory:!1});case 2:return Ha=Sf(oe(sa),ha),Ua.prev=3,Ua.next=6,uf("clipboard-svg",Ha.length?Ha:oe(sa),ha,ha);case 6:return Ua.abrupt("return",{commitToHistory:!1});case 9:return Ua.prev=9,Ua.t0=Ua.catch(3),console.error(Ua.t0),Ua.abrupt("return",{appState:Id(Id({},ha),{},{errorMessage:Ua.t0.message}),commitToHistory:!1});case 13:case "end":return Ua.stop()}},Aa,null,[[3,9]])}));return function(sa,ha,ua,za){return B.apply(this,arguments)}}(),contextItemLabel:"labels.copyAsSvg"}), Ot=we({name:"copyAsPng",perform:function(){var B=(0,ff.Z)(Yd().mark(function Aa(sa,ha,ua,za){var Ha;return Yd().wrap(function(Ua){for(;;)switch(Ua.prev=Ua.next){case 0:if(za.canvas){Ua.next=2;break}return Ua.abrupt("return",{commitToHistory:!1});case 2:return Ha=Sf(oe(sa),ha),Ua.prev=3,Ua.next=6,uf("clipboard",Ha.length?Ha:oe(sa),ha,ha);case 6:return Ua.abrupt("return",{appState:Id(Id({},ha),{},{toastMessage:Wb("toast.copyToClipboardAsPng",{exportSelection:Ha.length?Wb("toast.selection"):Wb("toast.canvas"), exportColorScheme:ha.exportWithDarkMode?Wb("buttons.darkMode"):Wb("buttons.lightMode")})}),commitToHistory:!1});case 9:return Ua.prev=9,Ua.t0=Ua.catch(3),console.error(Ua.t0),Ua.abrupt("return",{appState:Id(Id({},ha),{},{errorMessage:Ua.t0.message}),commitToHistory:!1});case 13:case "end":return Ua.stop()}},Aa,null,[[3,9]])}));return function(sa,ha,ua,za){return B.apply(this,arguments)}}(),contextItemLabel:"labels.copyAsPng",keyTest:function(B){return"KeyC"===B.code&&B.altKey&&B.shiftKey}}),Pt=we({name:"gridMode", perform:function(B,ma){return Lh("view","mode","grid"),{appState:oi(oi({},ma),{},{gridSize:this.checked(ma)?null:yc.k}),commitToHistory:!1}},checked:function(B){return null!==B.gridSize},contextItemLabel:"labels.showGrid",keyTest:function(B){return B[Af]&&"Quote"===B.code}}),ss=we({name:"zenMode",perform:function(B,ma){return Lh("view","mode","zen"),{appState:Ni(Ni({},ma),{},{zenModeEnabled:!this.checked(ma)}),commitToHistory:!1}},checked:function(B){return B.zenModeEnabled},contextItemLabel:"buttons.zenMode", keyTest:function(B){return!B[Af]&&B.altKey&&"KeyZ"===B.code}}),rs=we({name:"stats",perform:function(B,ma){return{appState:Ck(Ck({},ma),{},{showStats:!this.checked(ma)}),commitToHistory:!1}},checked:function(B){return B.showStats},contextItemLabel:"stats.title",keyTest:function(B){return!B[Af]&&B.altKey&&"Slash"===B.code}}),vt=function(B,ma,sa){if(!(ma.multiElement||ma.resizingElement||ma.editingElement||ma.draggingElement)){sa=sa();if(null===sa)return{commitToHistory:!1};var ha=al(B),ua=sa.elements, za=al(ua);B=B.filter(function(Aa){return!za.hasOwnProperty(Aa.id)});ua=ua.map(function(Aa){return cf(ha[Aa.id]||Aa,Aa)}).concat(B.map(function(Aa){return cf(Aa,{isDeleted:!0})}));return Ll(ua,B),{elements:ua,appState:xh(xh({},ma),sa.appState),commitToHistory:!1,syncHistory:!0}}return{commitToHistory:!1}},vv=function(){function B(ma,sa,ha,ua){var za=this;k(this,B);this.actions={};this.renderAction=function(Aa,Ha){var Ua=za.app.props.UIOptions.canvasActions;if(za.actions[Aa]&&"PanelComponent"in za.actions[Aa]&& (!(Aa in Ua)||Ua[Aa])){var Ya=za.actions[Aa];return(0,Ra.jsx)(Ya.PanelComponent,{elements:za.getElementsIncludingDeleted(),appState:za.getAppState(),updateData:function(ob){za.updater(Ya.perform(za.getElementsIncludingDeleted(),za.getAppState(),ob,za.app))},appProps:za.app.props,data:Ha})}return null};this.updater=function(Aa){if(!(Aa&&"then"in Aa))return ma(Aa);Aa.then(function(Ha){return ma(Ha)})};this.getAppState=sa;this.getElementsIncludingDeleted=ha;this.app=ua}return A(B,[{key:"registerAction", value:function(ma){this.actions[ma.name]=ma}},{key:"registerAll",value:function(ma){var sa=this;ma.forEach(function(ha){return sa.registerAction(ha)})}},{key:"handleKeyDown",value:function(ma){var sa=this,ha=this.app.props.UIOptions.canvasActions,ua=Object.values(this.actions).sort(function(za,Aa){return(Aa.keyPriority||0)-(za.keyPriority||0)}).filter(function(za){return(!(za.name in ha)||ha[za.name])&&za.keyTest&&za.keyTest(ma,sa.getAppState(),sa.getElementsIncludingDeleted())});return 0!==ua.length&& !(this.getAppState().viewModeEnabled&&!Object.values(yc.EH).includes(ua[0].name))&&(ma.preventDefault(),this.updater(ua[0].perform(this.getElementsIncludingDeleted(),this.getAppState(),null,this.app)),!0)}},{key:"executeAction",value:function(ma){this.updater(ma.perform(this.getElementsIncludingDeleted(),this.getAppState(),null,this.app))}}]),B}(),zv=function(){function B(sa){var ha=this;k(this,B);this.libraryCache=null;this.resetLibrary=(0,ff.Z)(Yd().mark(function za(){var Aa,Ha;return Yd().wrap(function(Ua){for(;;)switch(Ua.prev= Ua.next){case 0:return Ua.next=2,null===(Aa=(Ha=ha.app.props).onLibraryChange)||void 0===Aa?void 0:Aa.call(Ha,[]);case 2:ha.libraryCache=[];case 3:case "end":return Ua.stop()}},za)}));this.restoreLibraryItem=function(za){za=oe(sl(za,null));return za.length?za:null};this.loadLibrary=function(){return new Promise(function(){var za=(0,ff.Z)(Yd().mark(function Ua(Ha){var Ya,ob;return Yd().wrap(function(Bb){for(;;)switch(Bb.prev=Bb.next){case 0:if(!ha.libraryCache){Bb.next=2;break}return Bb.abrupt("return", Ha(JSON.parse(JSON.stringify(ha.libraryCache))));case 2:if(Bb.prev=2,Ya=ha.app.libraryItemsFromStorage){Bb.next=6;break}return Bb.abrupt("return",Ha([]));case 6:ob=Ya.reduce(function(Rb,hc){return ha.restoreLibraryItem(hc)&&Rb.push(hc),Rb},[]);ha.libraryCache=JSON.parse(JSON.stringify(ob));Ha(ob);Bb.next=15;break;case 11:Bb.prev=11,Bb.t0=Bb.catch(2),console.error(Bb.t0),Ha([]);case 15:case "end":return Bb.stop()}},Ua,null,[[2,11]])}));return function(Ha){return za.apply(this,arguments)}}())};this.saveLibrary= function(){var za=(0,ff.Z)(Yd().mark(function Ua(Ha){var Ya,ob,Bb,Rb;return Yd().wrap(function(hc){for(;;)switch(hc.prev=hc.next){case 0:return Ya=ha.libraryCache,hc.prev=1,Rb=JSON.stringify(Ha),ha.libraryCache=JSON.parse(Rb),hc.next=6,null===(ob=(Bb=ha.app.props).onLibraryChange)||void 0===ob?void 0:ob.call(Bb,Ha);case 6:hc.next=12;break;case 8:throw hc.prev=8,hc.t0=hc.catch(1),ha.libraryCache=Ya,hc.t0;case 12:case "end":return hc.stop()}},Ua,null,[[1,8]])}));return function(Ha){return za.apply(this, arguments)}}();this.app=sa}var ma;return A(B,[{key:"importLibrary",value:(ma=(0,ff.Z)(Yd().mark(function ua(ha){var za,Aa,Ha,Ua,Ya=this;return Yd().wrap(function(ob){for(;;)switch(ob.prev=ob.next){case 0:return ob.next=2,jo(ha);case 2:if((za=ob.sent)&&za.library){ob.next=5;break}return ob.abrupt("return");case 5:return Aa=function(Bb,Rb){return!Bb.find(function(hc){return hc.length===Rb.length&&hc.every(function(mc,Tc){return mc.id===Rb[Tc].id&&mc.versionNonce===Rb[Tc].versionNonce})})},ob.next=8, this.loadLibrary();case 8:return Ha=ob.sent,Ua=za.library.reduce(function(Bb,Rb){Rb=Ya.restoreLibraryItem(Rb);return Rb&&Aa(Ha,Rb)&&Bb.push(Rb),Bb},[]),ob.next=12,this.saveLibrary([].concat(Q(Ha),Q(Ua)));case 12:case "end":return ob.stop()}},ua,this)})),function(ha){return ma.apply(this,arguments)})}]),B}(),yt=function(B){B=Array.from(B.values());return{x:Ft(B,function(ma){return ma.x})/B.length,y:Ft(B,function(ma){return ma.y})/B.length}},zt=function(B){var ma=da(B,2);B=ma[0];ma=ma[1];return Math.hypot(B.x- ma.x,B.y-ma.y)},Ft=function(B,ma){return B.reduce(function(sa,ha){return sa+ma(ha)},0)},wv=function(){function B(){var ma=this;k(this,B);this.elementCache=new Map;this.recording=!0;this.stateHistory=[];this.redoStack=[];this.lastEntry=null;this.generateEntry=function(sa,ha){return ma.dehydrateHistoryEntry({appState:{selectedElementIds:sa.selectedElementIds,selectedGroupIds:sa.selectedGroupIds,viewBackgroundColor:sa.viewBackgroundColor,editingLinearElement:sa.editingLinearElement,editingGroupId:sa.editingGroupId, name:sa.name},elements:ha.reduce(function(ua,za){if(Dg(za)&&sa.multiElement&&sa.multiElement.id===za.id){if(sa.multiElement&&sa.multiElement.id===za.id&&2>za.points.length)return ua;ua.push(Ol(Ol({},za),{},{points:za.lastCommittedPoint!==za.points[za.points.length-1]?za.points.slice(0,-1):za.points}))}else ua.push(za);return ua},[])})}}return A(B,[{key:"hydrateHistoryEntry",value:function(ma){var sa=this,ha=ma.elements;return{appState:JSON.parse(ma.appState),elements:ha.map(function(ua){var za,Aa= null===(za=sa.elementCache.get(ua.id))||void 0===za?void 0:za.get(ua.versionNonce);if(!Aa)throw Error("Element not found: ".concat(ua.id,":").concat(ua.versionNonce));return Aa})}}},{key:"dehydrateHistoryEntry",value:function(ma){var sa=this,ha=ma.elements;return{appState:JSON.stringify(ma.appState),elements:ha.map(function(ua){sa.elementCache.has(ua.id)||sa.elementCache.set(ua.id,new Map);var za=sa.elementCache.get(ua.id);return za.has(ua.versionNonce)||za.set(ua.versionNonce,Wf(ua)),{id:ua.id,versionNonce:ua.versionNonce}})}}}, {key:"getSnapshotForTest",value:function(){var ma=this;return{recording:this.recording,stateHistory:this.stateHistory.map(function(sa){return ma.hydrateHistoryEntry(sa)}),redoStack:this.redoStack.map(function(sa){return ma.hydrateHistoryEntry(sa)})}}},{key:"clear",value:function(){this.stateHistory.length=0;this.redoStack.length=0;this.lastEntry=null;this.elementCache.clear()}},{key:"shouldCreateEntry",value:function(ma){var sa,ha=this.lastEntry;if(!ha||ma.elements.length!==ha.elements.length)return!0; for(var ua=ma.elements.length-1;-1=ma.length;Tc=Tc||Pc;Rb.push((0,Ra.jsx)(Sc,{children:(0,Ra.jsx)(cv,{elements:ma[Ya+Xc],pendingElements:Pc?za:void 0,onRemoveFromLibrary:sa.bind(null,Ya+Xc),onClick:Pc?ha.bind(null,za):ua.bind(null,ma[Ya+Xc])})},Xc))}mc.push((0,Ra.jsx)(Gc,{align:"center",gap:1,children:Rb},Aa))}return(0,Ra.jsx)(Sc,{align:"start",gap:1,className:"layer-ui__library-items",children:mc})},mv=function(B){var ma=B.onClickOutside,sa=B.onInsertShape, ha=B.pendingElements,ua=B.onAddToLibrary,za=B.theme,Aa=B.setAppState,Ha=B.libraryReturnUrl,Ua=B.focusContainer,Ya=B.library;B=B.id;var ob=(0,ue.useRef)(null);!function(Zc,Bd){(0,ue.useEffect)(function(){var Xd=function(kd){Zc.current&&(kd.target instanceof Element&&(Zc.current.contains(kd.target)||!document.body.contains(kd.target))||Bd(kd))};return document.addEventListener("pointerdown",Xd,!1),function(){document.removeEventListener("pointerdown",Xd)}},[Zc,Bd])}(ob,function(Zc){Zc.target.closest(".ToolIcon_type_button__library")|| ma(Zc)});var Bb=da((0,ue.useState)([]),2),Rb=Bb[0],hc=Bb[1],mc=da((0,ue.useState)("preloading"),2);Bb=mc[0];var Tc=mc[1],Xc=(0,ue.useRef)(null);(0,ue.useEffect)(function(){return Promise.race([new Promise(function(Zc){Xc.current=setTimeout(function(){Zc("loading")},100)}),Ya.loadLibrary().then(function(Zc){hc(Zc);Tc("ready")})]).then(function(Zc){"loading"===Zc&&Tc("loading")}),function(){clearTimeout(Xc.current)}},[Ya]);mc=(0,ue.useCallback)(function(){var Zc=(0,ff.Z)(Yd().mark(function kd(Xd){var qd, Gd;return Yd().wrap(function(He){for(;;)switch(He.prev=He.next){case 0:return He.next=2,Ya.loadLibrary();case 2:qd=He.sent,Gd=qd.filter(function(Sg,ni){return ni!==Xd}),Ya.saveLibrary(Gd).catch(function(Sg){hc(qd);Aa({errorMessage:Wb("alerts.errorRemovingFromLibrary")})}),hc(Gd);case 6:case "end":return He.stop()}},kd)}));return function(Xd){return Zc.apply(this,arguments)}}(),[Ya,Aa]);var Pc=(0,ue.useCallback)(function(){var Zc=(0,ff.Z)(Yd().mark(function kd(Xd){var qd,Gd;return Yd().wrap(function(He){for(;;)switch(He.prev= He.next){case 0:return He.next=2,Ya.loadLibrary();case 2:qd=He.sent,Gd=[].concat(Q(qd),[Xd]),ua(),Ya.saveLibrary(Gd).catch(function(Sg){hc(qd);Aa({errorMessage:Wb("alerts.errorAddingToLibrary")})}),hc(Gd);case 7:case "end":return He.stop()}},kd)}));return function(Xd){return Zc.apply(this,arguments)}}(),[ua,Ya,Aa]);return"preloading"===Bb?null:(0,Ra.jsx)(qn,{padding:1,ref:ob,className:"layer-ui__library",children:"loading"===Bb?(0,Ra.jsx)("div",{className:"layer-ui__library-message",children:Wb("labels.libraryLoadingMessage")}): (0,Ra.jsx)(lv,{libraryItems:Rb,onRemoveFromLibrary:mc,onAddToLibrary:Pc,onInsertShape:sa,pendingElements:ha,setAppState:Aa,setLibraryItems:hc,libraryReturnUrl:Ha,focusContainer:Ua,library:Ya,theme:za,id:B})})},nv=ce().memo(function(B){var ma,sa=B.actionManager,ha=B.appState,ua=B.setAppState,za=B.canvas,Aa=B.elements,Ha=B.onCollabButtonClick,Ua=B.onLockToggle,Ya=B.onInsertElements,ob=B.zenModeEnabled,Bb=B.showExitZenModeBtn,Rb=B.showThemeBtn,hc=B.toggleZenMode,mc=B.isCollaborating,Tc=B.renderTopRightUI, Xc=B.renderCustomFooter,Pc=B.viewModeEnabled,Zc=B.libraryReturnUrl,Bd=B.UIOptions,Xd=B.focusContainer,kd=B.library,qd=B.id;B=om();var Gd=function(){return Bd.canvasActions.export?(0,Ra.jsx)(jv,{elements:Aa,appState:ha,actionManager:sa,exportOpts:Bd.canvasActions.export,canvas:za}):null},He=function(){if(!Bd.canvasActions.saveAsImage)return null;var ye=function(ah){return function(){var Wi=(0,ff.Z)(Yd().mark(function Fl(El){var Mf;return Yd().wrap(function(wg){for(;;)switch(wg.prev=wg.next){case 0:return wg.next= 2,uf(ah,El,ha,{exportBackground:ha.exportBackground,name:ha.name,viewBackgroundColor:ha.viewBackgroundColor}).catch(kk).catch(function(Gl){console.error(Gl);ua({errorMessage:Gl.message})});case 2:Mf=wg.sent,ha.exportEmbedScene&&Mf&&Yo(Mf)&&ua({fileHandle:Mf});case 4:case "end":return wg.stop()}},Fl)}));return function(El){return Wi.apply(this,arguments)}}()};return(0,Ra.jsx)(av,{elements:Aa,appState:ha,actionManager:sa,onExportToPng:ye("png"),onExportToSvg:ye("svg"),onExportToClipboard:ye("clipboard")})}, Sg=function(){return(0,Ra.jsx)("div",{style:{width:".625em"}})},ni=(0,ue.useCallback)(function(ye){ua({isLibraryOpen:!1})},[ua]),Ai=(0,ue.useCallback)(function(){ua({selectedElementIds:{},selectedGroupIds:{}})},[ua]),pf=ha.isLibraryOpen?(0,Ra.jsx)(mv,{pendingElements:Sf(Aa,ha),onClickOutside:ni,onInsertShape:Ya,onAddToLibrary:Ai,setAppState:ua,libraryReturnUrl:Zc,focusContainer:Xd,library:kd,theme:ha.theme,id:qd}):null;Ya=(0,Ra.jsxs)(Ra.Fragment,{children:[ha.isLoading&&(0,Ra.jsx)(Aj,{}),ha.errorMessage&& (0,Ra.jsx)(qv,{message:ha.errorMessage,onClose:function(){return ua({errorMessage:null})}}),ha.showHelpDialog&&(0,Ra.jsx)(hv,{onClose:function(){ua({showHelpDialog:!1})}}),ha.pasteDialog.shown&&(0,Ra.jsx)(Vu,{setAppState:ua,appState:ha,onInsertChart:Ya,onClose:function(){return ua({pasteDialog:{shown:!1,data:null}})}})]});return B?(0,Ra.jsxs)(Ra.Fragment,{children:[Ya,(0,Ra.jsx)(Uu,{appState:ha,elements:Aa,actionManager:sa,libraryMenu:pf,renderJSONExportDialog:Gd,renderImageExportDialog:He,setAppState:ua, onCollabButtonClick:Ha,onLockToggle:Ua,canvas:za,isCollaborating:mc,renderCustomFooter:Xc,viewModeEnabled:Pc,showThemeBtn:Rb})]}):(0,Ra.jsxs)("div",{className:Dc("layer-ui__wrapper",{"disable-pointerEvents":ha.draggingElement||ha.resizingElement||ha.editingElement&&!Xg(ha.editingElement)}),children:[Ya,(ma=wh(ha,Aa),(0,Ra.jsx)(ot,{side:"top",children:(0,Ra.jsxs)("div",{className:"App-menu App-menu_top",children:[(0,Ra.jsxs)(Sc,{gap:4,className:Dc({"disable-pointerEvents":ob}),children:[Pc?(0,Ra.jsx)(oo, {heading:"canvasActions",className:Dc("zen-mode-transition",{"transition-left":ob}),children:(0,Ra.jsx)(qn,{padding:2,style:{zIndex:1},children:(0,Ra.jsx)(Sc,{gap:4,children:(0,Ra.jsxs)(Gc,{gap:1,justifyContent:"space-between",children:[Gd(),He()]})})})}):(0,Ra.jsx)(oo,{heading:"canvasActions",className:Dc("zen-mode-transition",{"transition-left":ob}),children:(0,Ra.jsx)(qn,{padding:2,style:{zIndex:1},children:(0,Ra.jsxs)(Sc,{gap:4,children:[(0,Ra.jsxs)(Gc,{gap:1,justifyContent:"space-between",children:[sa.renderAction("clearCanvas"), (0,Ra.jsx)(Sg,{}),sa.renderAction("loadScene"),Gd(),He(),(0,Ra.jsx)(Sg,{}),Ha&&(0,Ra.jsx)(Et,{isCollaborating:mc,collaboratorCount:ha.collaborators.size,onClick:Ha})]}),(0,Ra.jsx)(ut,{actionManager:sa,appState:ha,setAppState:ua,showThemeBtn:Rb}),ha.fileHandle&&(0,Ra.jsx)(Ra.Fragment,{children:sa.renderAction("saveToActiveFile")})]})})}),ma&&(0,Ra.jsx)(oo,{heading:"selectedShapeActions",className:Dc("zen-mode-transition",{"transition-left":ob}),children:(0,Ra.jsx)(qn,{className:yc.$C.SHAPE_ACTIONS_MENU, padding:2,style:{maxHeight:"".concat(ha.height-(ha.fileHandle?248:200),"px")},children:(0,Ra.jsx)(Gt,{appState:ha,elements:Aa,renderAction:sa.renderAction,elementType:ha.elementType})})})]}),!Pc&&(0,Ra.jsx)(oo,{heading:"shapes",children:function(ye){return(0,Ra.jsxs)(Sc,{gap:4,align:"start",children:[(0,Ra.jsxs)(Gc,{gap:1,children:[(0,Ra.jsx)(qt,{zenModeEnabled:ob,checked:ha.elementLocked,onChange:Ua,title:Wb("toolBar.lock")}),(0,Ra.jsxs)(qn,{padding:1,className:Dc({"zen-mode":ob}),children:[(0,Ra.jsx)(pt, {appState:ha,elements:Aa}),ye,(0,Ra.jsx)(Gc,{gap:1,children:(0,Ra.jsx)(wt,{canvas:za,elementType:ha.elementType,setAppState:ua})})]}),(0,Ra.jsx)(lt,{appState:ha,setAppState:ua})]}),pf]})}}),(0,Ra.jsxs)("div",{className:Dc("layer-ui__wrapper__top-right zen-mode-transition",{"transition-right":ob}),children:[(0,Ra.jsx)(kt,{children:0Aa.clientHeight&&("auto"===Ha||"scroll"===Ha))break a;Aa=Aa.parentElement}Aa=document}this.nearestScrollableContainer=Aa;this.nearestScrollableContainer.addEventListener(yc.Ks.SCROLL,this.onScroll)}window.addEventListener(yc.Ks.RESIZE, this.onResize,!1);window.addEventListener(yc.Ks.UNLOAD,this.onUnload,!1);window.addEventListener(yc.Ks.BLUR,this.onBlur,!1);window.addEventListener(yc.Ks.DRAG_OVER,this.disableEvent,!1);window.addEventListener(yc.Ks.DROP,this.disableEvent,!1)}}},{key:"componentDidUpdate",value:function(Aa,Ha){var Ua,Ya,ob=this;Aa.langCode!==this.props.langCode&&this.updateLanguage();Aa.viewModeEnabled!==this.props.viewModeEnabled&&this.setState({viewModeEnabled:!!this.props.viewModeEnabled});Ha.viewModeEnabled!== this.state.viewModeEnabled&&(this.addEventListeners(),this.deselectElements());Aa.zenModeEnabled!==this.props.zenModeEnabled&&this.setState({zenModeEnabled:!!this.props.zenModeEnabled});Aa.theme!==this.props.theme&&this.props.theme&&this.setState({theme:this.props.theme});Aa.gridModeEnabled!==this.props.gridModeEnabled&&this.setState({gridSize:this.props.gridModeEnabled?yc.k:null});this.props.name&&Aa.name!==this.props.name&&this.setState({name:this.props.name});null===(Ua=this.excalidrawContainerRef.current)|| void 0===Ua||Ua.classList.toggle("theme--dark","dark"===this.state.theme);this.state.editingLinearElement&&!this.state.selectedElementIds[this.state.editingLinearElement.elementId]&&setTimeout(function(){ob.actionManager.executeAction($f)});Aa=Ha.multiElement;Ha.elementType!==this.state.elementType&&null!=Aa&&this.state.isBindingEnabled&&Wg(Aa)&&ng(Aa,this.state,this.scene,Hj(dd.getPointAtIndexGlobalCoordinates(Aa,-1)));var Bb={},Rb={},hc={},mc={},Tc={};this.state.collaborators.forEach(function(Zc, Bd){if(Zc.selectedElementIds)for(var Xd=0,kd=Object.keys(Zc.selectedElementIds);Xdbm&&1!==Pq.value&&(Rt=bm/2*(Pq.value-1)),"translate(".concat(Rt,"px, ").concat(Qv,"px) scale(").concat(Pq.value,") rotate(").concat(Sk,"deg)"));Wv.call(Yp,Vv,{font:Tv,lineHeight:Lm,width:Uv,height:Rv,left:Gl,top:sk, transform:wr,textAlign:Mf,color:wg.strokeColor,opacity:wg.opacity/100,filter:"var(--theme-filter)",maxWidth:"".concat(bm,"px")})}},kd=document.createElement("textarea");kd.dir="auto";kd.tabIndex=0;kd.dataset.type="wysiwyg";kd.wrap="off";Object.assign(kd.style,{position:"absolute",display:"inline-block",minHeight:"1em",backfaceVisibility:"hidden",margin:0,padding:0,border:0,outline:0,resize:"none",background:"transparent",overflow:"hidden",whiteSpace:"pre",zIndex:"var(--zIndex-wysiwyg)"});Xd();mc&& (kd.oninput=function(){mc(Ak(kd.value))});kd.onkeydown=function(Mf){(Mf.stopPropagation(),"Escape"===Mf.key)?(Mf.preventDefault(),pf=!0,ye()):"Enter"===Mf.key&&Mf[Af]?(Mf.preventDefault(),Mf.isComposing||229===Mf.keyCode)||(pf=!0,ye()):("Tab"===Mf.key||Mf[Af]&&("BracketLeft"===Mf.code||"BracketRight"===Mf.code))&&(Mf.preventDefault(),Mf.shiftKey||"BracketLeft"===Mf.code?Sg():He(),kd.dispatchEvent(new Event("input")))};var qd=" ".repeat(4),Gd=new RegExp("^ {1,".concat(4,"}")),He=function(){var Mf= kd.selectionStart,wg=kd.selectionEnd,Gl=ni(),sk=kd.value;Gl.forEach(function(Sk){var bm=sk.slice(0,Sk);Sk=sk.slice(Sk);sk="".concat(bm).concat(qd).concat(Sk)});kd.value=sk;kd.selectionStart=Mf+4;kd.selectionEnd=wg+4*Gl.length},Sg=function(){var Mf=kd.selectionStart,wg=kd.selectionEnd,Gl=ni(),sk=[],Sk=kd.value;Gl.forEach(function(bm){var Lm=Sk.slice(bm,bm+4).match(Gd);if(Lm){var Yp=Sk.slice(0,bm);Lm=Sk.slice(bm+Lm[0].length);Sk="".concat(Yp).concat(Lm);sk.push(bm)}});kd.value=Sk;sk.length&&(Mf>sk[sk.length- 1]?kd.selectionStart=Math.max(Mf-4,sk[sk.length-1]):kd.selectionStart=Mf,kd.selectionEnd=Math.max(kd.selectionStart,wg-4*sk.length))},ni=function(){var Mf=kd.selectionStart,wg=kd.selectionEnd,Gl=kd.value,sk=Gl.slice(0,Mf).match(/[^\n]*$/)[0].length;return Mf-=sk,Gl.slice(Mf,wg).split("\n").reduce(function(Sk,bm,Lm,Yp){return Sk.concat(Lm?Sk[Lm-1]+Yp[Lm-1].length+1:Mf)},[]).reverse()},Ai=function(Mf){Mf.preventDefault();Mf.stopPropagation()},pf=!1,ye=function(){El||(El=!0,kd.onblur=null,kd.oninput= null,kd.onkeydown=null,Fl&&Fl.disconnect(),window.removeEventListener("resize",Xd),window.removeEventListener("wheel",Ai,!0),window.removeEventListener("pointerdown",Wi),window.removeEventListener("pointerup",ah),window.removeEventListener("blur",ye),rk(),kd.remove());Tc({text:Ak(kd.value),viaKeyboard:pf})},ah=function wg(){window.removeEventListener("pointerup",wg);setTimeout(function(){kd.onblur=ye;kd.focus()})},Wi=function(wg){(wg.target instanceof HTMLElement||wg.target instanceof SVGElement)&& wg.target.closest(".".concat(yc.$C.SHAPE_ACTIONS_MENU))&&!Dj(wg.target)&&(kd.onblur=null,window.addEventListener("pointerup",ah),window.addEventListener("blur",ye))},rk=Ph.getScene(Pc).addCallback(function(){Xd();kd.focus()}),El=!1;kd.select();ah();var Fl=null;Zc&&"ResizeObserver"in window?(Fl=new window.ResizeObserver(function(){Xd()})).observe(Zc):window.addEventListener("resize",Xd);window.addEventListener("pointerdown",Wi);window.addEventListener("wheel",Ai,{passive:!1,capture:!0});null==Bd|| Bd.querySelector(".excalidraw-textEditorContainer").appendChild(kd)}({id:Aa.id,appState:this.state,canvas:this.canvas,getViewportCoords:function(Bb,Rb){Bb=hk({sceneX:Bb,sceneY:Rb},Ua.state);return[Bb.x-Ua.state.offsetLeft,Bb.y-Ua.state.offsetTop]},onChange:ag(function(Bb){ob(Bb);!Aa.isDeleted&&Di(Aa)}),onSubmit:ag(function(Bb){var Rb=Bb.text;Bb=Bb.viaKeyboard;var hc=!Rb.trim();ob(Rb,hc);!hc&&Bb&&Ua.setState(function(mc){return{selectedElementIds:Wd(Wd({},mc.selectedElementIds),{},X({},Aa.id,!0))}}); hc&&Ll(Ua.scene.getElements(),[Aa]);hc&&!Ya||Ua.history.resumeRecording();Ua.setState({draggingElement:null,editingElement:null});Ua.state.elementLocked&&si(Ua.canvas,Ua.state.elementType);Ua.focusContainer()}),element:Aa,excalidrawContainer:this.excalidrawContainerRef.current});this.deselectElements();ob(Aa.text)}},{key:"deselectElements",value:function(){this.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null})}},{key:"getTextElementAtPosition",value:function(Aa,Ha){return(Aa= this.getElementAtPosition(Aa,Ha))&&Xg(Aa)&&!Aa.isDeleted?Aa:null}},{key:"getElementAtPosition",value:function(Aa,Ha,Ua){var Ya=this.getElementsAtPosition(Aa,Ha);if(1Ha.length)return!1;var Ua=10/this.state.zoom.value;Ha=da(Bg(Ha),4);var Ya=Ha[1],ob=Ha[2],Bb=Ha[3];return Aa.x>Ha[0]-Ua&&Aa.xYa-Ua&&Aa.yye;var wg=qd.originalElements.get(El.id);Fl=Fl&&wg?wg.x:El.x+Wi;Mf=Mf&&wg?wg.y:El.y+rk}else Fl=El.x+Wi,Mf=El.y+rk;ke(El,{x:Fl,y:Mf});Di(El,{simultaneouslyUpdated:Gd})})}(Aa,Rb,Bb,ob,Ha.scene,Ua.shiftKey,hc[0],hc[1]),Ha.maybeSuggestBindingForAll(Rb),Ua.altKey&&!Aa.hit.hasBeenDuplicated){Aa.hit.hasBeenDuplicated= !0;var mc;hc=[];Ua=[];var Tc=new Map;Rb=new Map;var Xc=Aa.hit.element,Pc=lj(Ha.scene.getElementsIncludingDeleted());try{for(Pc.s();!(mc=Pc.n()).done;){var Zc=mc.value;if(Ha.state.selectedElementIds[Zc.id]||Zc.id===(null==Xc?void 0:Xc.id)&&Aa.hit.wasAddedToSelection){var Bd=Xj(Ha.state.editingGroupId,Tc,Zc),Xd=da(Ch(Aa.origin.x-Aa.drag.offset.x,Aa.origin.y-Aa.drag.offset.y,Ha.state.gridSize),2);ke(Bd,{x:Bd.x+(Xd[0]-Bb),y:Bd.y+(Xd[1]-ob)});hc.push(Bd);Ua.push(Zc);Rb.set(Zc.id,Bd.id)}else hc.push(Zc)}}catch(qd){Pc.e(qd)}finally{Pc.f()}mc= [].concat(hc,Ua);Tj(mc,Ua,Rb,"duplicatesServeAsOld");Ha.scene.replaceAllElements(mc)}return}}if(mc=Ha.state.draggingElement)if("freedraw"===mc.type?(Zc=mc.points,Bd=Ya.x-mc.x,Xd=Ya.y-mc.y,Bb=mc.simulatePressure?mc.pressures:[].concat(Q(mc.pressures),[Ua.pressure]),ke(mc,{points:[].concat(Q(Zc),[[Bd,Xd]]),pressures:Bb})):Dg(mc)?(Aa.drag.hasOccurred=!0,Zc=mc.points,Bd=Bb-mc.x,Xd=ob-mc.y,Ua.shiftKey&&2===Zc.length&&(Xd=mk(Ha.state.elementType,Bd,Xd),Bd=Xd.width,Xd=Xd.height),1===Zc.length?ke(mc,{points:[].concat(Q(Zc), [[Bd,Xd]])}):1=rk&&Ai>=ye})}(Zc,mc);Ha.setState(function(qd){return Me(Wd(Wd({},qd),{},{selectedElementIds:Wd(Wd(Wd({},qd.selectedElementIds),kd.reduce(function(Gd,He){return Gd[He.id]=!0,Gd},{})),Aa.hit.element?X({},Aa.hit.element.id, !kd.length):null)}),Ha.scene.getElements())})}}}})}},{key:"handlePointerMoveOverScrollbars",value:function(Aa,Ha){return Ha.scrollbars.isOverHorizontal?(Aa=Aa.clientX,this.setState({scrollX:this.state.scrollX-(Aa-Ha.lastCoords.x)/this.state.zoom.value}),Ha.lastCoords.x=Aa,!0):Ha.scrollbars.isOverVertical?(Aa=Aa.clientY,this.setState({scrollY:this.state.scrollY-(Aa-Ha.lastCoords.y)/this.state.zoom.value}),Ha.lastCoords.y=Aa,!0):!1}},{key:"onPointerUpFromPointerDownHandler",value:function(Aa){var Ha= this;return ag(function(Ua){var Ya=Ha.state,ob=Ya.draggingElement,Bb=Ya.resizingElement,Rb=Ya.multiElement,hc=Ya.elementType,mc=Ya.elementLocked,Tc=Ya.isResizing;Ya=Ya.isRotating;if(Ha.setState({isResizing:!1,isRotating:!1,resizingElement:null,selectionElement:null,cursorButton:"up",editingElement:Rb||Xg(Ha.state.editingElement)?Ha.state.editingElement:null}),Ha.savePointer(Ua.clientX,Ua.clientY,"up"),Ha.state.editingLinearElement){var Xc=dd.handlePointerUp(Ua,Ha.state.editingLinearElement,Ha.state); Xc!==Ha.state.editingLinearElement&&Ha.setState({editingLinearElement:Xc,suggestedBindings:[]})}if(mo=null,window.removeEventListener(yc.Ks.POINTER_MOVE,Aa.eventListeners.onMove),window.removeEventListener(yc.Ks.POINTER_UP,Aa.eventListeners.onUp),window.removeEventListener(yc.Ks.KEYDOWN,Aa.eventListeners.onKeyDown),window.removeEventListener(yc.Ks.KEYUP,Aa.eventListeners.onKeyUp),"freedraw"===(null==ob?void 0:ob.type))return hc=hh(Ua,Ha.state),Rb=ob.points,mc=hc.x-ob.x,hc=hc.y-ob.y,mc===Rb[0][0]&& hc===Rb[0][1]&&(hc+=1E-4,mc+=1E-4),Ua=ob.simulatePressure?[]:[].concat(Q(ob.pressures),[Ua.pressure]),ke(ob,{points:[].concat(Q(Rb),[[mc,hc]]),pressures:Ua}),void Ha.actionManager.executeAction($f);if(Dg(ob))1=yc.qx?ke(ha,{points:[].concat(Q(hc),[[Bb-Ya,Rb-ob]])}):yi(B.canvas,yc.oc.POINTER):2hc||0>mc)||"ne"===Ya&&0<=hc||"sw"===Ya&&0>=hc||"se"===Ya&&(0ha.points.length?[]:[ua]})};this.handleCanvasRef=function(ha){var ua,za,Aa;null!==ha?(B.canvas=ha,B.rc=Bj.canvas(B.canvas),B.canvas.addEventListener(yc.Ks.WHEEL,B.handleWheel,{passive:!1}),B.canvas.addEventListener(yc.Ks.TOUCH_START,B.onTapStart),B.canvas.addEventListener(yc.Ks.TOUCH_END,B.onTapEnd)):(null===(ua=B.canvas)||void 0===ua||ua.removeEventListener(yc.Ks.WHEEL,B.handleWheel), null===(za=B.canvas)||void 0===za||za.removeEventListener(yc.Ks.TOUCH_START,B.onTapStart),null===(Aa=B.canvas)||void 0===Aa||Aa.removeEventListener(yc.Ks.TOUCH_END,B.onTapEnd))};this.handleAppOnDrop=function(){var ha=(0,ff.Z)(Yd().mark(function Aa(za){var Ha,Ua,Ya,ob,Bb,Rb,hc,mc,Tc,Xc;return Yd().wrap(function(Pc){for(;;)switch(Pc.prev=Pc.next){case 0:if(Pc.prev=0,"image/png"!==(null==(Ya=za.dataTransfer.files[0])?void 0:Ya.type)&&"image/svg+xml"!==(null==Ya?void 0:Ya.type)){Pc.next=21;break}if(!nm){Pc.next= 14;break}return Pc.prev=4,ob=za.dataTransfer.items[0],Pc.next=8,ob.getAsFileSystemHandle();case 8:Ya.handle=Pc.sent;Pc.next=14;break;case 11:Pc.prev=11,Pc.t0=Pc.catch(4),console.warn(Pc.t0.name,Pc.t0.message);case 14:return Pc.next=16,vl(Ya,B.state,B.scene.getElementsIncludingDeleted());case 16:return Bb=Pc.sent,Rb=Bb.elements,hc=Bb.appState,B.syncActionResult({elements:Rb,appState:Wd(Wd({},hc||B.state),{},{isLoading:!1}),commitToHistory:!0}),Pc.abrupt("return");case 21:Pc.next=26;break;case 23:return Pc.prev= 23,Pc.t1=Pc.catch(0),Pc.abrupt("return",B.setState({isLoading:!1,errorMessage:Pc.t1.message}));case 26:if(""===(mc=za.dataTransfer.getData(yc.LO.excalidrawlib))){Pc.next=30;break}return B.addElementsFromPasteOrLibrary({elements:JSON.parse(mc),position:za}),Pc.abrupt("return");case 30:if(!((null==(Tc=null===(Ha=za.dataTransfer)||void 0===Ha?void 0:Ha.files[0])?void 0:Tc.type)===yc.LO.excalidrawlib||null!=Tc&&null!==(Ua=Tc.name)&&void 0!==Ua&&Ua.endsWith(".excalidrawlib"))){Pc.next=35;break}B.library.importLibrary(Tc).then(function(){B.setState({isLibraryOpen:!1}); B.setState({isLibraryOpen:!0})}).catch(function(Zc){return B.setState({isLoading:!1,errorMessage:Zc.message})});Pc.next=49;break;case 35:if(B.setState({isLoading:!0}),!nm){Pc.next=47;break}return Pc.prev=37,Xc=za.dataTransfer.items[0],Pc.next=41,Xc.getAsFileSystemHandle();case 41:Tc.handle=Pc.sent;Pc.next=47;break;case 44:Pc.prev=44,Pc.t2=Pc.catch(37),console.warn(Pc.t2.name,Pc.t2.message);case 47:return Pc.next=49,B.loadFileToCanvas(Tc);case 49:case "end":return Pc.stop()}},Aa,null,[[0,23],[4,11], [37,44]])}));return function(za){return ha.apply(this,arguments)}}();this.loadFileToCanvas=function(ha){vl(ha,B.state,B.scene.getElementsIncludingDeleted()).then(function(ua){return B.syncActionResult({elements:ua.elements,appState:Wd(Wd({},ua.appState||B.state),{},{isLoading:!1}),commitToHistory:!0})}).catch(function(ua){B.setState({isLoading:!1,errorMessage:ua.message})})};this.handleCanvasContextMenu=function(ha){ha.preventDefault();var ua=hh(ha,B.state),za=(ua=B.getElementAtPosition(ua.x,ua.y, {preferSelected:!0}))?"element":"canvas",Aa=B.excalidrawContainerRef.current.getBoundingClientRect(),Ha=ha.clientX-Aa.left,Ua=ha.clientY-Aa.top;ua&&!B.state.selectedElementIds[ua.id]?B.setState({selectedElementIds:X({},ua.id,!0)},function(){B._openContextMenu({top:Ua,left:Ha},za)}):B._openContextMenu({top:Ua,left:Ha},za)};this.maybeDragNewGenericElement=function(ha,ua){var za=B.state.draggingElement,Aa=ha.lastCoords;if(za)if("selection"===za.type)Ok(za,B.state.elementType,ha.origin.x,ha.origin.y, Aa.x,Aa.y,Math.abs(ha.origin.x-Aa.x),Math.abs(ha.origin.y-Aa.y),ua.shiftKey,ua.altKey);else{var Ha=da(Ch(Aa.x,Aa.y,B.state.gridSize),2);Aa=Ha[0];Ha=Ha[1];Ok(za,B.state.elementType,ha.originInGrid.x,ha.originInGrid.y,Aa,Ha,Math.abs(ha.originInGrid.x-Aa),Math.abs(ha.originInGrid.y-Ha),ua.shiftKey,ua.altKey);B.maybeSuggestBindingForAll([za])}};this.maybeHandleResize=function(ha,ua){var za=Sf(B.scene.getElements(),B.state),Aa=ha.resize.handleType;B.setState({isResizing:Aa&&"rotation"!==Aa,isRotating:"rotation"=== Aa});var Ha=ha.lastCoords;Ha=da(Ch(Ha.x-ha.resize.offset.x,Ha.y-ha.resize.offset.y,B.state.gridSize),2);a:{var Ua=ha.resize.arrowDirection,Ya=ua.shiftKey,ob=ua.altKey,Bb=ua.shiftKey;ua=Ha[0];var Rb=Ha[1];Ha=ha.resize.center.x;var hc=ha.resize.center.y;if(1===za.length){Ha=da(za,1)[0];if("rotation"===Aa)Aa=da(Vf(Ha),4),Aa=5*Math.PI/2+Math.atan2(Rb-(Aa[1]+Aa[3])/2,ua-(Aa[0]+Aa[2])/2),Ya&&(Aa+=yc.ay/2,Aa-=Aa%yc.ay),Aa=ee(Aa),ke(Ha,{angle:Aa}),Di(Ha);else if(!Dg(Ha)||2!==Ha.points.length||"nw"!==Aa&& "ne"!==Aa&&"sw"!==Aa&&"se"!==Aa)if(!Xg(Ha)||"nw"!==Aa&&"ne"!==Aa&&"sw"!==Aa&&"se"!==Aa)Aa&&Fi(ha.originalElements.get(Ha.id),Bb,Ha,Aa,ob,ua,Rb);else{Ya=da(Vf(Ha),4);Bb=Ya[0];ha=Ya[1];Ua=Ya[2];Ya=Ya[3];Rb=da(Jf(ua,Rb,(Bb+Ua)/2,(ha+Ya)/2,-Ha.angle),2);ua=Rb[0];Rb=Rb[1];switch(Aa){case "se":var mc=Math.max((ua-Bb)/(Ua-Bb),(Rb-ha)/(Ya-ha));break;case "nw":mc=Math.max((Ua-ua)/(Ua-Bb),(Ya-Rb)/(Ya-ha));break;case "ne":mc=Math.max((ua-Bb)/(Ua-Bb),(Ya-Rb)/(Ya-ha));break;case "sw":mc=Math.max((Ua-ua)/(Ua-Bb), (Rb-ha)/(Ya-ha))}0