G&&(E.filename=G.getTitle());E.pagecount=null!=d.pages?d.pages.length:1;E.page=null!=d.currentPage?d.currentPage.getName():"";E.pagenumber=null!=d.pages&&null!=d.currentPage?mxUtils.indexOf(d.pages,d.currentPage)+1:1;return E};var O=g.getGlobalVariable;g.getGlobalVariable=function(E){var G=d.getCurrentFile();return"filename"==E&&null!=G?G.getTitle():"page"==E&&null!=d.currentPage?d.currentPage.getName():"pagenumber"==E?null!=d.currentPage&&null!=d.pages?mxUtils.indexOf(d.pages,d.currentPage)+1:1:
"pagecount"==E?null!=d.pages?d.pages.length:1:O.apply(this,arguments)};var t=g.labelLinkClicked;g.labelLinkClicked=function(E,G,P){var J=G.getAttribute("href");if(null==J||!g.isCustomLink(J)||!mxEvent.isTouchEvent(P)&&mxEvent.isPopupTrigger(P))t.apply(this,arguments);else{if(!g.isEnabled()||null!=E&&g.isCellLocked(E.cell))g.customLinkClicked(J),g.getRubberband().reset();mxEvent.consume(P)}};this.editor.getOrCreateFilename=function(){var E=d.defaultFilename,G=d.getCurrentFile();null!=G&&(E=null!=G.getTitle()?
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.