0;N<T;N++)u=Editor.crcTable[(u^D.charCodeAt(K+N))&255]^u>>>8;return u};Editor.crc32=function(u){for(var D=-1,K=0;K<u.length;K++)D=D>>>8^Editor.crcTable[(D^u.charCodeAt(K))&255];return(D^-1)>>>0};Editor.writeGraphModelToPng=function(u,D,K,T,N){function Q(Z,fa){var aa=ba;ba+=fa;return Z.substring(aa,ba)}function R(Z){Z=Q(Z,4);return Z.charCodeAt(3)+(Z.charCodeAt(2)<<8)+(Z.charCodeAt(1)<<16)+(Z.charCodeAt(0)<<24)}function Y(Z){return String.fromCharCode(Z>>24&255,Z>>16&255,Z>>8&255,Z&255)}u=u.substring(u.indexOf(",")+
1);u=window.atob?atob(u):Base64.decode(u,!0);var ba=0;if(Q(u,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=N&&N();else if(Q(u,4),"IHDR"!=Q(u,4))null!=N&&N();else{Q(u,17);N=u.substring(0,ba);do{var ea=R(u);if("IDAT"==Q(u,4)){N=u.substring(0,ba-8);"pHYs"==D&&"dpi"==K?(K=Math.round(T/.0254),K=Y(K)+Y(K)+String.fromCharCode(1)):K=K+String.fromCharCode(0)+("zTXt"==D?String.fromCharCode(0):"")+T;T=4294967295;T=Editor.updateCRC(T,D,0,4);T=Editor.updateCRC(T,K,0,K.length);N+=Y(K.length)+
D+K+Y(T^4294967295);N+=u.substring(ba-8,u.length);break}N+=u.substring(ba-8,ba-4+ea);Q(u,ea);Q(u,4)}while(ea);return"data:image/png;base64,"+(window.btoa?btoa(N):Base64.encode(N,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://www.diagrams.net/doc/faq/save-file-formats";var d=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(u,D){d.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.